diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index 62c33b424..f8c7f7e9b 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -15,7 +15,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.2.3 + placeholder: v4.2.4 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 0fa8b4084..1789d27aa 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -27,7 +27,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.2.3 + placeholder: v4.2.4 validations: required: true - type: dropdown diff --git a/.tx/config b/.tx/config index 342331d4e..b0562b978 100755 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://app.transifex.com -[o:netbox-community:p:netbox:r:9cbf4fcf95b3d92e4ebbf1a5e5d1caee] +[o:netbox-community:p:netbox:r:034999968a7366ba27a8bdf1ab63bf42] file_filter = netbox/translations//LC_MESSAGES/django.po source_file = netbox/translations/en/LC_MESSAGES/django.po type = PO diff --git a/docs/development/release-checklist.md b/docs/development/release-checklist.md index c74fcf8f6..5b31a6391 100644 --- a/docs/development/release-checklist.md +++ b/docs/development/release-checklist.md @@ -8,6 +8,8 @@ This documentation describes the process of packaging and publishing a new NetBo While major releases generally introduce some very substantial change to the application, they are typically treated the same as minor version increments for the purpose of release packaging. +For patch releases (e.g. upgrading from v4.2.2 to v4.2.3), begin at the [patch releases](#patch-releases) heading below. For minor or major releases, complete the entire checklist. + ## Minor Version Releases ### Address Constrained Dependencies @@ -85,7 +87,20 @@ In cases where upgrading a dependency to its most recent release is breaking, it ### Update UI Dependencies -Check whether any UI dependencies (JavaScript packages, fonts, etc.) need to be updated by running `yarn outdated` from within the `project-static/` directory. [Upgrade these dependencies](./web-ui.md#updating-dependencies) as necessary, then run `yarn bundle` to generate the necessary files for distribution. +Check whether any UI dependencies (JavaScript packages, fonts, etc.) need to be updated by running `yarn outdated` from within the `project-static/` directory. [Upgrade these dependencies](./web-ui.md#updating-dependencies) as necessary, then run `yarn bundle` to generate the necessary files for distribution: + +``` +$ yarn bundle +yarn run v1.22.19 +$ node bundle.js +✅ Bundled source file 'styles/external.scss' to 'netbox-external.css' +✅ Bundled source file 'styles/netbox.scss' to 'netbox.css' +✅ Bundled source file 'styles/svg/rack_elevation.scss' to 'rack_elevation.css' +✅ Bundled source file 'styles/svg/cable_trace.scss' to 'cable_trace.css' +✅ Bundled source file 'index.ts' to 'netbox.js' +✅ Copied graphiql files +Done in 1.00s. +``` ### Rebuild the Device Type Definition Schema @@ -116,9 +131,12 @@ Then, compile these portable (`.po`) files for use in the application: ### Update Version and Changelog -* Update the version and published date in `release.yaml` with the current version & date. Add a designation (e.g.g `beta1`) if applicable. +* Update the version number and date in `netbox/release.yaml`. Add or remove the designation (e.g. `beta1`) if applicable. * Update the example version numbers in the feature request and bug report templates under `.github/ISSUE_TEMPLATES/`. -* Replace the "FUTURE" placeholder in the release notes with the current date. +* Add a section for this release at the top of the changelog page for the minor version (e.g. `docs/release-notes/version-4.2.md`) listing all relevant changes made in this release. + +!!! tip + Put yourself in the shoes of the user when recording change notes. Focus on the effect that each change has for the end user, rather than the specific bits of code that were modified in a PR. Ensure that each message conveys meaning absent context of the initial feature request or bug report. Remember to include key words or phrases (such as exception names) that can be easily searched. ### Submit a Pull Request @@ -126,6 +144,9 @@ Commit the above changes and submit a pull request titled **"Release vX.Y.Z"** t Once CI has completed and a colleague has reviewed the PR, merge it. This effects a new release in the `main` branch. +!!! warning + To ensure a streamlined review process, the pull request for a release **must** be limited to the changes outlined in this document. A release PR must never include functional changes to the application: Any unrelated "cleanup" needs to be captured in a separate PR prior to the release being shipped. + ### Create a New Release Create a [new release](https://github.com/netbox-community/netbox/releases/new) on GitHub with the following parameters. diff --git a/docs/development/style-guide.md b/docs/development/style-guide.md index 9d6630de0..d7a7ad9da 100644 --- a/docs/development/style-guide.md +++ b/docs/development/style-guide.md @@ -22,7 +22,7 @@ NetBox generally follows the [Django style guide](https://docs.djangoproject.com ### Linting -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: +The [ruff](https://docs.astral.sh/ruff/) linter is used to enforce code style, and is run automatically by [pre-commit](./getting-started.md#5-install-pre-commit). To invoke `ruff` manually, run: ``` ruff check netbox/ diff --git a/docs/development/translations.md b/docs/development/translations.md index de8545b97..81b80662f 100644 --- a/docs/development/translations.md +++ b/docs/development/translations.md @@ -30,7 +30,7 @@ To download translated strings automatically, you'll need to: 1. Install the [Transifex CLI client](https://github.com/transifex/cli) 2. Generate a [Transifex API token](https://app.transifex.com/user/settings/api/) -Once you have the client set up, run the following command: +Once you have the client set up, run the following command from the project root (e.g. `/opt/netbox/`): ```no-highlight TX_TOKEN=$TOKEN tx pull @@ -46,6 +46,9 @@ Once retrieved, the updated strings need to be compiled into new `.mo` files so Once any new `.mo` files have been generated, they need to be committed and pushed back up to GitHub. (Again, this is typically done as part of publishing a new NetBox release.) +!!! tip + Run `git status` to check that both `*.mo` & `*.po` files have been updated as expected. + ## Proposing New Languages If you'd like to add support for a new language to NetBox, the first step is to [submit a GitHub issue](https://github.com/netbox-community/netbox/issues/new?assignees=&labels=type%3A+translation&projects=&template=translation.yaml) to capture the proposal. While we'd like to add as many languages as possible, we do need to limit the rate at which new languages are added. New languages will be selected according to community interest and the number of volunteers who sign up as translators. diff --git a/docs/integrations/rest-api.md b/docs/integrations/rest-api.md index 215b561a7..e0d2c445f 100644 --- a/docs/integrations/rest-api.md +++ b/docs/integrations/rest-api.md @@ -2,7 +2,7 @@ ## What is a REST API? -REST stands for [representational state transfer](https://en.wikipedia.org/wiki/Representational_state_transfer). It's a particular type of API which employs HTTP requests and [JavaScript Object Notation (JSON)](https://www.json.org/) to facilitate create, retrieve, update, and delete (CRUD) operations on objects within an application. Each type of operation is associated with a particular HTTP verb: +REST stands for [representational state transfer](https://en.wikipedia.org/wiki/REST). It's a particular type of API which employs HTTP requests and [JavaScript Object Notation (JSON)](https://www.json.org/) to facilitate create, retrieve, update, and delete (CRUD) operations on objects within an application. Each type of operation is associated with a particular HTTP verb: * `GET`: Retrieve an object or list of objects * `POST`: Create an object diff --git a/docs/release-notes/version-4.2.md b/docs/release-notes/version-4.2.md index c6c99be7f..5612bfca7 100644 --- a/docs/release-notes/version-4.2.md +++ b/docs/release-notes/version-4.2.md @@ -1,5 +1,32 @@ # NetBox v4.2 +## v4.2.4 (2025-02-21) + +### Enhancements + +* [#17309](https://github.com/netbox-community/netbox/issues/17309) - Omit empty counts in related object tables +* [#18277](https://github.com/netbox-community/netbox/issues/18277) - Improve multi-table inheritance in serialization of change-logged models +* [#18286](https://github.com/netbox-community/netbox/issues/18286) - Add more job duration choices +* [#18357](https://github.com/netbox-community/netbox/issues/18357) - Display author name in plugin list for locally installed plugins +* [#18408](https://github.com/netbox-community/netbox/issues/18408) - Add Paused status for virtual machines +* [#18584](https://github.com/netbox-community/netbox/issues/18584) - Add rack type column to manufacturer list + +### Bug Fixes + +* [#17436](https://github.com/netbox-community/netbox/issues/17436) - Fix {module} replacement in module bays +* [#18013](https://github.com/netbox-community/netbox/issues/18013) - Limit object type to selected object in change log filter +* [#18241](https://github.com/netbox-community/netbox/issues/18241) - Default logging level of custom scripts changed to INFO +* [#18247](https://github.com/netbox-community/netbox/issues/18247) - Fix visibility of disabled cable paths in dark mode +* [#18480](https://github.com/netbox-community/netbox/issues/18480) - Clean data passed to script in runscript command +* [#18555](https://github.com/netbox-community/netbox/issues/18555) - Add default get_absolute_url method to plugin models +* [#18585](https://github.com/netbox-community/netbox/issues/18585) - Fix filtering circuits by location +* [#18593](https://github.com/netbox-community/netbox/issues/18593) - Fix "Create & Add Another" IP Address workflow +* [#18594](https://github.com/netbox-community/netbox/issues/18594) - Enable sorting by ASN count on site and provider lists +* [#18619](https://github.com/netbox-community/netbox/issues/18619) - Ensure shift-click selection selects only visible list items +* [#18674](https://github.com/netbox-community/netbox/issues/18674) - Preserve form values when selecting speed on circuit termination + +--- + ## v4.2.3 (2025-02-04) ### Enhancements diff --git a/mkdocs.yml b/mkdocs.yml index a5b2d5355..ffa9b6ba4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -64,6 +64,8 @@ markdown_extensions: format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tabbed: alternate_style: true +not_in_nav: | + /index.md nav: - Introduction: 'introduction.md' - Features: diff --git a/netbox/circuits/filtersets.py b/netbox/circuits/filtersets.py index 964f69f83..188b5343e 100644 --- a/netbox/circuits/filtersets.py +++ b/netbox/circuits/filtersets.py @@ -234,6 +234,11 @@ class CircuitFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilte to_field_name='slug', label=_('Site (slug)'), ) + location_id = django_filters.ModelMultipleChoiceFilter( + field_name='terminations___location', + label=_('Location (ID)'), + queryset=Location.objects.all(), + ) termination_a_id = django_filters.ModelMultipleChoiceFilter( queryset=CircuitTermination.objects.all(), label=_('Termination A (ID)'), diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index aefc62655..297af5e71 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -126,7 +126,7 @@ class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFi 'type_id', 'status', 'install_date', 'termination_date', 'commit_rate', 'distance', 'distance_unit', name=_('Attributes') ), - FieldSet('region_id', 'site_group_id', 'site_id', name=_('Location')), + FieldSet('region_id', 'site_group_id', 'site_id', 'location_id', name=_('Location')), FieldSet('tenant_group_id', 'tenant_id', name=_('Tenant')), FieldSet('contact', 'contact_role', 'contact_group', name=_('Contacts')), ) @@ -181,6 +181,11 @@ class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFi }, label=_('Site') ) + location_id = DynamicModelMultipleChoiceField( + queryset=Location.objects.all(), + required=False, + label=_('Location') + ) install_date = forms.DateField( label=_('Install date'), required=False, diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index 9c7714153..8f5df7eb1 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -349,9 +349,8 @@ class CircuitTermination( def clean(self): super().clean() - # Must define either site *or* provider network if self.termination is None: - raise ValidationError(_("A circuit termination must attach to termination.")) + raise ValidationError(_("A circuit termination must attach to a terminating object.")) def save(self, *args, **kwargs): # Cache objects associated with the terminating object (for filtering) diff --git a/netbox/circuits/tables/providers.py b/netbox/circuits/tables/providers.py index d70c77e9c..c7eba9012 100644 --- a/netbox/circuits/tables/providers.py +++ b/netbox/circuits/tables/providers.py @@ -33,7 +33,6 @@ class ProviderTable(ContactsColumnMixin, NetBoxTable): verbose_name=_('ASNs') ) asn_count = columns.LinkedCountColumn( - accessor=tables.A('asns__count'), viewname='ipam:asn_list', url_params={'provider_id': 'pk'}, verbose_name=_('ASN Count') diff --git a/netbox/circuits/tests/test_filtersets.py b/netbox/circuits/tests/test_filtersets.py index b32abd34e..91077ee64 100644 --- a/netbox/circuits/tests/test_filtersets.py +++ b/netbox/circuits/tests/test_filtersets.py @@ -3,8 +3,10 @@ from django.test import TestCase from circuits.choices import * from circuits.filtersets import * from circuits.models import * -from dcim.choices import InterfaceTypeChoices -from dcim.models import Cable, Device, DeviceRole, DeviceType, Interface, Manufacturer, Region, Site, SiteGroup +from dcim.choices import InterfaceTypeChoices, LocationStatusChoices +from dcim.models import ( + Cable, Device, DeviceRole, DeviceType, Interface, Location, Manufacturer, Region, Site, SiteGroup +) from ipam.models import ASN, RIR from netbox.choices import DistanceUnitChoices from tenancy.models import Tenant, TenantGroup @@ -225,6 +227,17 @@ class CircuitTestCase(TestCase, ChangeLoggedFilterSetTests): ) ProviderNetwork.objects.bulk_create(provider_networks) + locations = ( + Location.objects.create( + site=sites[0], name='Test Location 1', slug='test-location-1', + status=LocationStatusChoices.STATUS_ACTIVE, + ), + Location.objects.create( + site=sites[1], name='Test Location 2', slug='test-location-2', + status=LocationStatusChoices.STATUS_ACTIVE, + ), + ) + circuits = ( Circuit( provider=providers[0], @@ -305,7 +318,9 @@ class CircuitTestCase(TestCase, ChangeLoggedFilterSetTests): circuit_terminations = (( CircuitTermination(circuit=circuits[0], termination=sites[0], term_side='A'), + CircuitTermination(circuit=circuits[0], termination=locations[0], term_side='Z'), CircuitTermination(circuit=circuits[1], termination=sites[1], term_side='A'), + CircuitTermination(circuit=circuits[1], termination=locations[1], term_side='Z'), CircuitTermination(circuit=circuits[2], termination=sites[2], term_side='A'), CircuitTermination(circuit=circuits[3], termination=provider_networks[0], term_side='A'), CircuitTermination(circuit=circuits[4], termination=provider_networks[1], term_side='A'), @@ -395,6 +410,11 @@ class CircuitTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'site': [sites[0].slug, sites[1].slug]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_location(self): + location_ids = Location.objects.values_list('id', flat=True)[:2] + params = {'location_id': location_ids} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_tenant(self): tenants = Tenant.objects.all()[:2] params = {'tenant_id': [tenants[0].pk, tenants[1].pk]} diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 3bd81c33a..07c1113bd 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -4,6 +4,7 @@ from django.shortcuts import get_object_or_404, redirect, render from django.utils.translation import gettext_lazy as _ from dcim.views import PathTraceView +from ipam.models import ASN from netbox.views import generic from tenancy.views import ObjectContactsView from utilities.forms import ConfirmationForm @@ -20,7 +21,8 @@ from .models import * @register_model_view(Provider, 'list', path='', detail=False) class ProviderListView(generic.ObjectListView): queryset = Provider.objects.annotate( - count_circuits=count_related(Circuit, 'provider') + count_circuits=count_related(Circuit, 'provider'), + asn_count=count_related(ASN, 'providers'), ) filterset = filtersets.ProviderFilterSet filterset_form = forms.ProviderFilterForm diff --git a/netbox/core/choices.py b/netbox/core/choices.py index 442acc26b..6603a7d4f 100644 --- a/netbox/core/choices.py +++ b/netbox/core/choices.py @@ -81,8 +81,10 @@ class JobIntervalChoices(ChoiceSet): CHOICES = ( (INTERVAL_MINUTELY, _('Minutely')), (INTERVAL_HOURLY, _('Hourly')), + (INTERVAL_HOURLY * 12, _('12 hours')), (INTERVAL_DAILY, _('Daily')), (INTERVAL_WEEKLY, _('Weekly')), + (INTERVAL_DAILY * 30, _('30 days')), ) diff --git a/netbox/core/forms/filtersets.py b/netbox/core/forms/filtersets.py index ab4b869b7..f9564a76f 100644 --- a/netbox/core/forms/filtersets.py +++ b/netbox/core/forms/filtersets.py @@ -62,6 +62,7 @@ class DataFileFilterForm(NetBoxModelFilterSetForm): class JobFilterForm(SavedFiltersMixin, FilterForm): + model = Job fieldsets = ( FieldSet('q', 'filter_id'), FieldSet('object_type', 'status', name=_('Attributes')), @@ -162,6 +163,7 @@ class ObjectChangeFilterForm(SavedFiltersMixin, FilterForm): class ConfigRevisionFilterForm(SavedFiltersMixin, FilterForm): + model = ConfigRevision fieldsets = ( FieldSet('q', 'filter_id'), ) diff --git a/netbox/core/plugins.py b/netbox/core/plugins.py index eee24efe1..86b0d333a 100644 --- a/netbox/core/plugins.py +++ b/netbox/core/plugins.py @@ -66,6 +66,7 @@ class Plugin: release_recent_history: list[PluginVersion] = field(default_factory=list) is_local: bool = False # extra field for locally installed plugins is_installed: bool = False + failed_to_load: bool = False installed_version: str = '' netbox_min_version: str = '' netbox_max_version: str = '' @@ -86,6 +87,13 @@ def get_local_plugins(plugins=None): if plugin_config.release_track: installed_version = f'{installed_version}-{plugin_config.release_track}' + if plugin_config.author: + author = PluginAuthor( + name=plugin_config.author, + ) + else: + author = None + local_plugins[plugin_config.name] = Plugin( config_name=plugin_config.name, title_short=plugin_config.verbose_name, @@ -94,6 +102,8 @@ def get_local_plugins(plugins=None): description_short=plugin_config.description, is_local=True, is_installed=plugin_name in registry['plugins']['installed'], + failed_to_load=plugin_name not in registry['plugins']['installed'], + author=author, installed_version=installed_version, netbox_min_version=plugin_config.min_version, netbox_max_version=plugin_config.max_version, diff --git a/netbox/core/views.py b/netbox/core/views.py index 1f8bff923..6b4f2274a 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -166,7 +166,7 @@ class DataFileBulkDeleteView(generic.BulkDeleteView): @register_model_view(Job, 'list', path='', detail=False) class JobListView(generic.ObjectListView): - queryset = Job.objects.all() + queryset = Job.objects.defer('data') filterset = filtersets.JobFilterSet filterset_form = forms.JobFilterForm table = tables.JobTable @@ -183,12 +183,12 @@ class JobView(generic.ObjectView): @register_model_view(Job, 'delete') class JobDeleteView(generic.ObjectDeleteView): - queryset = Job.objects.all() + queryset = Job.objects.defer('data') @register_model_view(Job, 'bulk_delete', path='delete', detail=False) class JobBulkDeleteView(generic.BulkDeleteView): - queryset = Job.objects.all() + queryset = Job.objects.defer('data') filterset = filtersets.JobFilterSet table = tables.JobTable diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 60c3c4d38..fcb3c7e50 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1193,6 +1193,7 @@ class DeviceFilterSet( return queryset return queryset.filter( Q(name__icontains=value) | + Q(virtual_chassis__name__icontains=value) | Q(serial__icontains=value.strip()) | Q(inventoryitems__serial__icontains=value.strip()) | Q(asset_tag__icontains=value.strip()) | diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index da5a45f15..e50804df8 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -1411,7 +1411,7 @@ class InterfaceBulkEditForm( form_from_model(Interface, [ 'label', 'type', 'parent', 'bridge', 'lag', 'speed', 'duplex', 'wwn', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', - 'wireless_lans' + 'wireless_lans', 'vlan_translation_policy' ]) ): enabled = forms.NullBooleanField( @@ -1564,7 +1564,9 @@ class InterfaceBulkEditForm( FieldSet('vdcs', 'mtu', 'tx_power', 'enabled', 'mgmt_only', 'mark_connected', name=_('Operation')), FieldSet('poe_mode', 'poe_type', name=_('PoE')), FieldSet('parent', 'bridge', 'lag', name=_('Related Interfaces')), - FieldSet('mode', 'vlan_group', 'untagged_vlan', 'qinq_svlan', name=_('802.1Q Switching')), + FieldSet( + 'mode', 'vlan_group', 'untagged_vlan', 'qinq_svlan', 'vlan_translation_policy', name=_('802.1Q Switching') + ), FieldSet( TabbedGroups( FieldSet('tagged_vlans', name=_('Assignment')), @@ -1579,7 +1581,7 @@ class InterfaceBulkEditForm( nullable_fields = ( 'module', 'label', 'parent', 'bridge', 'lag', 'speed', 'duplex', 'wwn', 'vdcs', 'mtu', 'description', 'poe_mode', 'poe_type', 'mode', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', - 'untagged_vlan', 'tagged_vlans', 'qinq_svlan', 'vrf', 'wireless_lans' + 'untagged_vlan', 'tagged_vlans', 'qinq_svlan', 'vrf', 'wireless_lans', 'vlan_translation_policy', ) def __init__(self, *args, **kwargs): diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 37b8afd17..4dbceb4f5 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -303,7 +303,7 @@ class RackTypeFilterForm(RackBaseFilterForm): model = RackType fieldsets = ( FieldSet('q', 'filter_id', 'tag'), - FieldSet('form_factor', 'width', 'u_height', name=_('Rack Type')), + FieldSet('manufacturer_id', 'form_factor', 'width', 'u_height', name=_('Rack Type')), FieldSet('starting_unit', 'desc_units', name=_('Numbering')), FieldSet('weight', 'max_weight', 'weight_unit', name=_('Weight')), ) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 2acd98801..a4da28803 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -802,14 +802,10 @@ class Device( verbose_name_plural = _('devices') def __str__(self): - if self.name and self.asset_tag: - return f'{self.name} ({self.asset_tag})' - elif self.name: - return self.name - elif self.virtual_chassis and self.asset_tag: - return f'{self.virtual_chassis.name}:{self.vc_position} ({self.asset_tag})' - elif self.virtual_chassis: - return f'{self.virtual_chassis.name}:{self.vc_position} ({self.pk})' + if self.label and self.asset_tag: + return f'{self.label} ({self.asset_tag})' + elif self.label: + return self.label elif self.device_type and self.asset_tag: return f'{self.device_type.manufacturer} {self.device_type.model} ({self.asset_tag})' elif self.device_type: @@ -1073,14 +1069,22 @@ class Device( device.location = self.location device.save() + @property + def label(self): + """ + Return the device name if set; otherwise return a generated name if available. + """ + if self.name: + return self.name + if self.virtual_chassis: + return f'{self.virtual_chassis.name}:{self.vc_position}' + @property def identifier(self): """ Return the device name if set; otherwise return the Device's primary key as {pk} """ - if self.name is not None: - return self.name - return '{{{}}}'.format(self.pk) + return self.label or '{{{}}}'.format(self.pk) @property def primary_ip(self): @@ -1298,6 +1302,7 @@ class Module(PrimaryModel, ConfigContextModel): else: # ModuleBays must be saved individually for MPTT for instance in create_instances: + instance.name = instance.name.replace(MODULE_TOKEN, str(self.module_bay.position)) instance.save() update_fields = ['module'] diff --git a/netbox/dcim/search.py b/netbox/dcim/search.py index b964421de..964880990 100644 --- a/netbox/dcim/search.py +++ b/netbox/dcim/search.py @@ -44,6 +44,7 @@ class DeviceIndex(SearchIndex): ('asset_tag', 50), ('serial', 60), ('name', 100), + ('virtual_chassis', 200), ('description', 500), ('comments', 5000), ) diff --git a/netbox/dcim/svg/racks.py b/netbox/dcim/svg/racks.py index 94dbeeac2..de695664a 100644 --- a/netbox/dcim/svg/racks.py +++ b/netbox/dcim/svg/racks.py @@ -30,10 +30,8 @@ STROKE_RESERVED = '#4d4dff' def get_device_name(device): - if device.virtual_chassis: - name = f'{device.virtual_chassis.name}:{device.vc_position}' - elif device.name: - name = device.name + if device.label: + name = device.label else: name = str(device.device_type) if device.devicebay_count: diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index d4f2f74b3..25875d7bb 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -143,6 +143,7 @@ class PlatformTable(NetBoxTable): class DeviceTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.TemplateColumn( verbose_name=_('Name'), + accessor=Accessor('label'), template_code=DEVICE_LINK, linkify=True ) @@ -671,7 +672,7 @@ class InterfaceTable(BaseInterfaceTable, ModularDeviceComponentTable, PathEndpoi 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'description', 'mark_connected', 'cable', 'cable_color', 'wireless_link', 'wireless_lans', 'link_peer', 'connection', 'tags', 'vdcs', 'vrf', 'l2vpn', 'tunnel', 'ip_addresses', 'fhrp_groups', 'untagged_vlan', 'tagged_vlans', - 'qinq_svlan', 'inventory_items', 'created', 'last_updated', + 'qinq_svlan', 'inventory_items', 'created', 'last_updated', 'vlan_translation_policy' ) default_columns = ('pk', 'name', 'device', 'label', 'enabled', 'type', 'description') diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index a7f8f08e8..91f9f3b47 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -31,6 +31,11 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable): verbose_name=_('Name'), linkify=True ) + racktype_count = columns.LinkedCountColumn( + viewname='dcim:racktype_list', + url_params={'manufacturer_id': 'pk'}, + verbose_name=_('Rack Types') + ) devicetype_count = columns.LinkedCountColumn( viewname='dcim:devicetype_list', url_params={'manufacturer_id': 'pk'}, @@ -58,12 +63,12 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = models.Manufacturer fields = ( - 'pk', 'id', 'name', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', 'platform_count', - 'description', 'slug', 'tags', 'contacts', 'actions', 'created', 'last_updated', + 'pk', 'id', 'name', 'racktype_count', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', + 'platform_count', 'description', 'slug', 'tags', 'contacts', 'actions', 'created', 'last_updated', ) default_columns = ( - 'pk', 'name', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', 'platform_count', - 'description', 'slug', + 'pk', 'name', 'racktype_count', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', + 'platform_count', 'description', 'slug', ) diff --git a/netbox/dcim/tables/sites.py b/netbox/dcim/tables/sites.py index 77844f086..e8cb9140e 100644 --- a/netbox/dcim/tables/sites.py +++ b/netbox/dcim/tables/sites.py @@ -94,7 +94,6 @@ class SiteTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): verbose_name=_('ASNs') ) asn_count = columns.LinkedCountColumn( - accessor=tables.A('asns__count'), viewname='ipam:asn_list', url_params={'site_id': 'pk'}, verbose_name=_('ASN Count') diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py index 4b51cd06a..1c526649b 100644 --- a/netbox/dcim/tables/template_code.py +++ b/netbox/dcim/tables/template_code.py @@ -159,8 +159,8 @@ CONSOLEPORT_BUTTONS = """ {% endif %} {% elif perms.dcim.add_cable %} - - + + - -
-
-
{{ context_data|pprint }}
-
-
- - - - - - -
-
- {% if config_template %} - {% if rendered_config %} -
-

- {% trans "Rendered Config" %} - - {% trans "Download" %} - -

-
{{ rendered_config }}
-
- {% else %} -
-

{% trans "Error rendering template" %}

- {% trans error_message %} -
- {% endif %} - {% else %} -
- {% trans "No configuration template has been assigned for this device." %} -
- {% endif %} -
-
-{% endblock %} diff --git a/netbox/templates/extras/inc/format_toggle.html b/netbox/templates/extras/inc/format_toggle.html index 175811611..68c855d53 100644 --- a/netbox/templates/extras/inc/format_toggle.html +++ b/netbox/templates/extras/inc/format_toggle.html @@ -1,4 +1,4 @@
- JSON - YAML + JSON + YAML
diff --git a/netbox/templates/extras/script_result.html b/netbox/templates/extras/script_result.html index 18a28998f..4630640a7 100644 --- a/netbox/templates/extras/script_result.html +++ b/netbox/templates/extras/script_result.html @@ -53,7 +53,7 @@

{% trans "Tagged Item Types" %}

- + - - - + {% with viewname=object_type.content_type.model_class|validated_viewname:"list" %} + {% if viewname %} + + {{ object_type.content_type.name|bettertitle }} + {{ object_type.item_count }} + + {% else %} +
  • + {{ object_type.content_type.name|bettertitle }} + {{ object_type.item_count }} +
  • + {% endif %} + {% endwith %} {% endfor %} -
    {{ object_type.content_type.name|bettertitle }} - {% with viewname=object_type.content_type.model_class|validated_viewname:"list" %} - {% if viewname %} - {{ object_type.item_count }} - {% else %} - {{ object_type.item_count }} - {% endif %} - {% endwith %} -
    +
    {% plugin_right_page object %} @@ -79,7 +80,7 @@

    {% trans "Tagged Objects" %}

    -
    +
    {% render_table taggeditem_table 'inc/table.html' %} {% include 'inc/paginator.html' with paginator=taggeditem_table.paginator page=taggeditem_table.page %}
    diff --git a/netbox/templates/inc/panels/related_objects.html b/netbox/templates/inc/panels/related_objects.html index 15dbf6036..c013c14c5 100644 --- a/netbox/templates/inc/panels/related_objects.html +++ b/netbox/templates/inc/panels/related_objects.html @@ -19,6 +19,8 @@ {% endif %} {% endwith %} + {% empty %} + {% trans "None" %} {% endfor %}
    diff --git a/netbox/templates/virtualization/virtualmachine/render_config.html b/netbox/templates/virtualization/virtualmachine/render_config.html deleted file mode 100644 index fa6f1723b..000000000 --- a/netbox/templates/virtualization/virtualmachine/render_config.html +++ /dev/null @@ -1,75 +0,0 @@ -{% extends 'virtualization/virtualmachine/base.html' %} -{% load static %} -{% load i18n %} - -{% block title %}{{ object }} - {% trans "Config" %}{% endblock %} - -{% block content %} -
    -
    -
    -

    {% trans "Config Template" %}

    - - - - - - - - - - - - - -
    {% trans "Config Template" %}{{ config_template|linkify|placeholder }}
    {% trans "Data Source" %}{{ config_template.data_file.source|linkify|placeholder }}
    {% trans "Data File" %}{{ config_template.data_file|linkify|placeholder }}
    -
    -
    -
    -
    -
    -
    -
    -

    - -

    -
    -
    -
    {{ context_data|pprint }}
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - {% if config_template %} - {% if rendered_config %} -
    -

    - {% trans "Rendered Config" %} - - {% trans "Download" %} - -

    -
    {{ rendered_config }}
    -
    - {% else %} -
    -

    {% trans "Error rendering template" %}

    - {% trans error_message %} -
    - {% endif %} - {% else %} -
    - {% trans "No configuration template has been assigned for this virtual machine." %} -
    - {% endif %} -
    -
    -{% endblock %} diff --git a/netbox/translations/cs/LC_MESSAGES/django.mo b/netbox/translations/cs/LC_MESSAGES/django.mo index 964d8f54c..ddb972342 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 2a5e42b12..fdd9a8b88 100644 --- a/netbox/translations/cs/LC_MESSAGES/django.po +++ b/netbox/translations/cs/LC_MESSAGES/django.po @@ -4,10 +4,10 @@ # FIRST AUTHOR , YEAR. # # Translators: -# czarnian, 2024 -# Jeremy Stretch, 2024 # Pavel Valach, 2024 # Matěj Gordon, 2025 +# czarnian, 2025 +# Jeremy Stretch, 2025 # #, fuzzy msgid "" @@ -16,7 +16,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Matěj Gordon, 2025\n" +"Last-Translator: Jeremy Stretch, 2025\n" "Language-Team: Czech (https://app.transifex.com/netbox-community/teams/178115/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,7 +64,7 @@ msgstr "Naposledy použitý" #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 #: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" -msgstr "Povolené IP adresy" +msgstr "Povolené adresy IP" #: netbox/account/views.py:114 #, python-brace-format @@ -179,7 +179,7 @@ msgstr "Region (zkratka)" #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" -msgstr "Skupina stránek (ID)" +msgstr "Skupina míst (ID)" #: netbox/circuits/filtersets.py:51 netbox/circuits/filtersets.py:218 #: netbox/dcim/filtersets.py:135 netbox/dcim/filtersets.py:232 @@ -191,7 +191,7 @@ msgstr "Skupina stránek (ID)" #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" -msgstr "Skupina stránek (slug)" +msgstr "Skupina míst (zkratka)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 @@ -252,7 +252,7 @@ msgstr "Skupina stránek (slug)" #: netbox/vpn/forms/filtersets.py:266 netbox/wireless/forms/model_forms.py:76 #: netbox/wireless/forms/model_forms.py:118 msgid "Site" -msgstr "Stránky" +msgstr "Místo" #: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229 #: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242 @@ -262,7 +262,7 @@ msgstr "Stránky" #: netbox/virtualization/filtersets.py:75 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" -msgstr "Místo (slug)" +msgstr "Místo (zkratka)" #: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" @@ -316,7 +316,7 @@ msgstr "Typ okruhu (URL zkratka)" #: netbox/ipam/filtersets.py:985 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" -msgstr "Stránky (ID)" +msgstr "Místo (ID)" #: netbox/circuits/filtersets.py:233 netbox/circuits/filtersets.py:237 msgid "Termination A (ID)" @@ -371,15 +371,15 @@ msgstr "Síť poskytovatele (ID)" #: netbox/circuits/filtersets.py:335 msgid "Circuit (ID)" -msgstr "Obvod (ID)" +msgstr "Okruh (ID)" #: netbox/circuits/filtersets.py:341 msgid "Circuit (CID)" -msgstr "Obvod (CID)" +msgstr "Okruh (CID)" #: netbox/circuits/filtersets.py:345 msgid "Circuit group (ID)" -msgstr "Skupina obvodů (ID)" +msgstr "Skupina okruhů (ID)" #: netbox/circuits/filtersets.py:351 msgid "Circuit group (slug)" @@ -804,7 +804,7 @@ msgstr "Datum ukončení" #: netbox/circuits/forms/bulk_edit.py:158 #: netbox/circuits/forms/filtersets.py:186 msgid "Commit rate (Kbps)" -msgstr "Rychlost odevzdání (Kbps)" +msgstr "Smluvní rychlost (Kbps)" #: netbox/circuits/forms/bulk_edit.py:173 #: netbox/circuits/forms/model_forms.py:112 @@ -1042,7 +1042,7 @@ msgstr "Region" #: netbox/virtualization/forms/filtersets.py:138 #: netbox/virtualization/forms/model_forms.py:98 msgid "Site group" -msgstr "Skupina stránek" +msgstr "Skupina míst" #: netbox/circuits/forms/filtersets.py:65 #: netbox/circuits/forms/filtersets.py:83 @@ -1160,19 +1160,19 @@ msgstr "barva" #: netbox/circuits/models/circuits.py:36 msgid "circuit type" -msgstr "typ obvodu" +msgstr "typ okruhu" #: netbox/circuits/models/circuits.py:37 msgid "circuit types" -msgstr "typy obvodů" +msgstr "typy okruhů" #: netbox/circuits/models/circuits.py:48 msgid "circuit ID" -msgstr "ID obvodu" +msgstr "ID okruhu" #: netbox/circuits/models/circuits.py:49 msgid "Unique circuit ID" -msgstr "Jedinečné ID obvodu" +msgstr "Jedinečné ID okruhu" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 #: netbox/core/models/jobs.py:85 netbox/dcim/models/cables.py:49 @@ -1194,11 +1194,11 @@ msgstr "nainstalován" #: netbox/circuits/models/circuits.py:89 msgid "terminates" -msgstr "ukončí" +msgstr "končí" #: netbox/circuits/models/circuits.py:94 msgid "commit rate (Kbps)" -msgstr "rychlost odevzdání (Kbps)" +msgstr "smluvní rychlost (Kbps)" #: netbox/circuits/models/circuits.py:95 msgid "Committed rate" @@ -1214,11 +1214,11 @@ msgstr "okruhy" #: netbox/circuits/models/circuits.py:170 msgid "circuit group" -msgstr "skupina obvodů" +msgstr "skupina okruhů" #: netbox/circuits/models/circuits.py:171 msgid "circuit groups" -msgstr "skupiny obvodů" +msgstr "skupiny okruhů" #: netbox/circuits/models/circuits.py:195 netbox/ipam/models/fhrp.py:93 #: netbox/tenancy/models/contacts.py:134 @@ -1227,7 +1227,7 @@ msgstr "přednost" #: netbox/circuits/models/circuits.py:213 msgid "Circuit group assignment" -msgstr "Přiřazení skupiny obvodů" +msgstr "Přiřazení skupiny okruhů" #: netbox/circuits/models/circuits.py:214 msgid "Circuit group assignments" @@ -1235,7 +1235,7 @@ msgstr "Přiřazení skupin obvodů" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "zakončení" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1297,14 +1297,11 @@ msgstr "zakončení okruhů" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Zakončení okruhu se musí připojit buď k místu, nebo k síti poskytovatele." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Zakončení okruhu se nemůže připojit jak k síti webu, tak k síti " -"poskytovatele." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -1534,7 +1531,7 @@ msgstr "Strana Z" #: netbox/circuits/tables/circuits.py:77 #: netbox/templates/circuits/circuit.html:55 msgid "Commit Rate" -msgstr "Míra odevzdání" +msgstr "Smluvní rychlost" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 @@ -1563,7 +1560,7 @@ msgstr "Míra odevzdání" #: netbox/vpn/tables/tunnels.py:61 netbox/wireless/tables/wirelesslan.py:27 #: netbox/wireless/tables/wirelesslan.py:58 msgid "Comments" -msgstr "Komentář" +msgstr "Komentáře" #: netbox/circuits/tables/circuits.py:86 #: netbox/templates/tenancy/contact.html:84 @@ -1586,12 +1583,12 @@ msgstr "Počet ASN" #: netbox/circuits/views.py:331 #, python-brace-format msgid "No terminations have been defined for circuit {circuit}." -msgstr "Pro obvod nebyla definována žádná zakončení {circuit}." +msgstr "Pro okruh {circuit} nebyla definována žádná zakončení ." #: netbox/circuits/views.py:380 #, python-brace-format msgid "Swapped terminations for circuit {circuit}." -msgstr "Vyměněné zakončení pro obvod {circuit}." +msgstr "Vyměněná zakončení pro okruh {circuit}." #: netbox/core/api/views.py:39 msgid "This user does not have permission to synchronize this data source." @@ -1620,7 +1617,7 @@ msgstr "Dokončeno" #: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 #: netbox/dcim/choices.py:1609 netbox/virtualization/choices.py:47 msgid "Failed" -msgstr "Neuspěl" +msgstr "Selhalo" #: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:335 #: netbox/netbox/navigation/menu.py:339 @@ -1647,7 +1644,7 @@ msgstr "Naplánováno" #: netbox/core/choices.py:56 msgid "Running" -msgstr "Běh" +msgstr "Běží" #: netbox/core/choices.py:58 msgid "Errored" @@ -1656,7 +1653,7 @@ msgstr "Chyba" #: netbox/core/choices.py:87 netbox/core/tables/plugins.py:63 #: netbox/templates/generic/object.html:61 msgid "Updated" -msgstr "aktualizováno" +msgstr "Aktualizováno" #: netbox/core/choices.py:88 msgid "Deleted" @@ -1725,7 +1722,7 @@ msgstr "Tajný přístupový klíč AWS" #: netbox/core/events.py:27 msgid "Object created" -msgstr "Vytvořený objekt" +msgstr "Objekt vytvořen" #: netbox/core/events.py:28 msgid "Object updated" @@ -1737,7 +1734,7 @@ msgstr "Objekt odstraněn" #: netbox/core/events.py:30 msgid "Job started" -msgstr "Práce byla zahájena" +msgstr "Úloha zahájena" #: netbox/core/events.py:31 msgid "Job completed" @@ -1850,7 +1847,7 @@ msgstr "Vytvořeno po" #: netbox/core/forms/filtersets.py:89 msgid "Created before" -msgstr "Vytvořeno dříve" +msgstr "Vytvořeno před" #: netbox/core/forms/filtersets.py:94 msgid "Scheduled after" @@ -1858,7 +1855,7 @@ msgstr "Naplánováno po" #: netbox/core/forms/filtersets.py:99 msgid "Scheduled before" -msgstr "Naplánováno dříve" +msgstr "Naplánováno před" #: netbox/core/forms/filtersets.py:104 msgid "Started after" @@ -1866,7 +1863,7 @@ msgstr "Začalo po" #: netbox/core/forms/filtersets.py:109 msgid "Started before" -msgstr "Začalo dříve" +msgstr "Začalo před" #: netbox/core/forms/filtersets.py:114 msgid "Completed after" @@ -1905,7 +1902,7 @@ msgstr "Po" #: netbox/core/forms/filtersets.py:144 netbox/extras/forms/filtersets.py:450 msgid "Before" -msgstr "Dříve" +msgstr "Před" #: netbox/core/forms/filtersets.py:148 netbox/core/tables/change_logging.py:29 #: netbox/extras/forms/model_forms.py:396 @@ -1941,7 +1938,7 @@ msgstr "" #: netbox/core/forms/model_forms.py:153 #: netbox/templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" -msgstr "Výšky stojanů" +msgstr "Přehled stojanů" #: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1520 #: netbox/dcim/forms/bulk_edit.py:984 netbox/dcim/forms/bulk_edit.py:1372 @@ -2259,16 +2256,16 @@ msgstr "ID úlohy" #: netbox/core/models/jobs.py:112 msgid "job" -msgstr "práce" +msgstr "úloha" #: netbox/core/models/jobs.py:113 msgid "jobs" -msgstr "pracovní místa" +msgstr "úlohy" #: netbox/core/models/jobs.py:136 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." -msgstr "K tomuto typu objektu nelze přiřadit úlohy ({type})." +msgstr "K tomuto typu objektu ({type}) nelze přiřadit úlohy." #: netbox/core/models/jobs.py:190 #, python-brace-format @@ -2278,7 +2275,7 @@ msgstr "Neplatný stav pro ukončení úlohy. Možnosti jsou: {choices}" #: netbox/core/models/jobs.py:221 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." -msgstr "enqueue () nelze volat s hodnotami pro schedule_at a instant." +msgstr "enqueue() nelze volat s hodnotami pro schedule_at a ihned zároveň." #: netbox/core/signals.py:126 #, python-brace-format @@ -2396,7 +2393,7 @@ msgstr "Hostitel" #: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:535 msgid "Port" -msgstr "Přístav" +msgstr "Port" #: netbox/core/tables/tasks.py:54 msgid "DB" @@ -2445,7 +2442,7 @@ msgstr "Nebyli nalezeni žádní pracovníci" #: netbox/core/views.py:90 #, python-brace-format msgid "Queued job #{id} to sync {datasource}" -msgstr "Úloha ve frontě #{id} synchronizovat {datasource}" +msgstr "Úloha #{id} k synchronizaci {datasource} zařazena do fronty." #: netbox/core/views.py:319 #, python-brace-format @@ -2455,12 +2452,12 @@ msgstr "Obnovená revize konfigurace #{id}" #: netbox/core/views.py:412 netbox/core/views.py:455 netbox/core/views.py:531 #, python-brace-format msgid "Job {job_id} not found" -msgstr "Práce {job_id} nenalezeno" +msgstr "Úloha {job_id} nenalezena" #: netbox/core/views.py:463 #, python-brace-format msgid "Job {id} has been deleted." -msgstr "Práce {id} byl vymazán." +msgstr "Úloha {id} byla vymazána." #: netbox/core/views.py:465 #, python-brace-format @@ -2470,22 +2467,22 @@ msgstr "Chyba při mazání úlohy {id}: {error}" #: netbox/core/views.py:478 netbox/core/views.py:496 #, python-brace-format msgid "Job {id} not found." -msgstr "Práce {id} nenalezeno." +msgstr "Úloha {id} nenalezena." #: netbox/core/views.py:484 #, python-brace-format msgid "Job {id} has been re-enqueued." -msgstr "Práce {id} byla znovu zařazena do fronty." +msgstr "Úloha {id} byla znovu zařazena do fronty." #: netbox/core/views.py:519 #, python-brace-format msgid "Job {id} has been enqueued." -msgstr "Práce {id} byl zařazen do fronty." +msgstr "Úloha {id} byla zařazena do fronty." #: netbox/core/views.py:538 #, python-brace-format msgid "Job {id} has been stopped." -msgstr "Práce {id} byl zastaven." +msgstr "Úloha {id} byla zastavena." #: netbox/core/views.py:540 #, python-brace-format @@ -2535,7 +2532,7 @@ msgstr "4-sloupový rám" #: netbox/dcim/choices.py:67 msgid "4-post cabinet" -msgstr "4-sloupová skříňka" +msgstr "4-sloupová skříň" #: netbox/dcim/choices.py:68 msgid "Wall-mounted frame" @@ -2547,7 +2544,7 @@ msgstr "Nástěnný rám (vertikální)" #: netbox/dcim/choices.py:70 msgid "Wall-mounted cabinet" -msgstr "Nástěnná skříňka" +msgstr "Nástěnná skříň" #: netbox/dcim/choices.py:71 msgid "Wall-mounted cabinet (vertical)" @@ -2582,7 +2579,7 @@ msgstr "Milimetry" #: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1555 msgid "Inches" -msgstr "palce" +msgstr "Palce" #: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 #: netbox/dcim/choices.py:254 @@ -2679,12 +2676,12 @@ msgstr "Zdola nahoru" #: netbox/dcim/choices.py:214 msgid "Top to bottom" -msgstr "Nahoru dolů" +msgstr "Shora dolů" #: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 #: netbox/dcim/choices.py:1305 msgid "Passive" -msgstr "pasivní" +msgstr "Pasivní" #: netbox/dcim/choices.py:216 msgid "Mixed" @@ -2802,17 +2799,17 @@ msgstr "Auto" #: netbox/dcim/choices.py:1265 msgid "Access" -msgstr "Přístup" +msgstr "Přístupový" #: netbox/dcim/choices.py:1266 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" +msgstr "Značkovaný" #: netbox/dcim/choices.py:1267 msgid "Tagged (All)" -msgstr "Označeno (Vše)" +msgstr "Značkovaný (Vše)" #: netbox/dcim/choices.py:1296 msgid "IEEE Standard" @@ -2888,7 +2885,7 @@ msgstr "Gramy" #: netbox/dcim/choices.py:1572 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" -msgstr "libry" +msgstr "Libry" #: netbox/dcim/choices.py:1573 msgid "Ounces" @@ -2896,7 +2893,7 @@ msgstr "Unce" #: netbox/dcim/choices.py:1620 msgid "Redundant" -msgstr "Redundantní" +msgstr "Zdvojený" #: netbox/dcim/choices.py:1641 msgid "Single phase" @@ -2922,15 +2919,15 @@ msgstr "Nadřazená oblast (ID)" #: netbox/dcim/filtersets.py:92 msgid "Parent region (slug)" -msgstr "Nadřazená oblast (URL zkratka)" +msgstr "Nadřazená oblast (zkratka)" #: netbox/dcim/filtersets.py:116 msgid "Parent site group (ID)" -msgstr "Nadřazená skupina webů (ID)" +msgstr "Nadřazená skupina míst (ID)" #: netbox/dcim/filtersets.py:122 msgid "Parent site group (slug)" -msgstr "Nadřazená skupina stránek (slimák)" +msgstr "Nadřazená skupina míst (zkratka)" #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 #: netbox/ipam/filtersets.py:843 netbox/ipam/filtersets.py:995 @@ -4231,7 +4228,7 @@ msgstr "Šířka musí být nastavena, pokud není zadán typ stojanu." #: netbox/dcim/forms/bulk_import.py:326 msgid "U height must be set if not specifying a rack type." -msgstr "" +msgstr "Pokud není zadán typ stojanu, musí být nastavena výška U." #: netbox/dcim/forms/bulk_import.py:334 msgid "Parent site" @@ -4890,6 +4887,11 @@ msgid "" "present, will be automatically replaced with the position value when " "creating a new module." msgstr "" +"Pro hromadné vytváření jsou podporovány alfanumerické rozsahy. Smíšené " +"případy a typy v rámci jednoho rozsahu nejsou podporovány (příklad: " +"[ge, xe] -0/0/ [0-9]). Žeton {module}, pokud je " +"přítomen, bude automaticky nahrazen hodnotou pozice při vytváření nového " +"modulu." #: netbox/dcim/forms/model_forms.py:1094 msgid "Console port template" @@ -9595,11 +9597,11 @@ msgstr "Nastavte to jako primární IP pro přiřazené zařízení" #: netbox/ipam/forms/bulk_import.py:330 msgid "Is out-of-band" -msgstr "" +msgstr "Je mimo pásmo" #: netbox/ipam/forms/bulk_import.py:331 msgid "Designate this as the out-of-band IP address for the assigned device" -msgstr "" +msgstr "Určete tuto adresu jako mimopásmovou IP adresu přiřazeného zařízení" #: netbox/ipam/forms/bulk_import.py:371 msgid "No device or virtual machine specified; cannot set as primary IP" @@ -9609,11 +9611,11 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:375 msgid "No device specified; cannot set as out-of-band IP" -msgstr "" +msgstr "Není určeno žádné zařízení; nelze nastavit jako IP mimo pásmo" #: netbox/ipam/forms/bulk_import.py:379 msgid "Cannot set out-of-band IP for virtual machines" -msgstr "" +msgstr "Nelze nastavit IP mimo pásmo pro virtuální počítače" #: netbox/ipam/forms/bulk_import.py:383 msgid "No interface specified; cannot set as primary IP" @@ -9621,7 +9623,7 @@ msgstr "Není určeno žádné rozhraní; nelze nastavit jako primární IP" #: netbox/ipam/forms/bulk_import.py:387 msgid "No interface specified; cannot set as out-of-band IP" -msgstr "" +msgstr "Není určeno žádné rozhraní; nelze nastavit jako IP mimo pásmo" #: netbox/ipam/forms/bulk_import.py:422 msgid "Auth type" @@ -9780,7 +9782,7 @@ msgstr "Řada ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Přiřazení webu/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -9798,7 +9800,7 @@ msgstr "Nastavte z něj primární IP pro zařízení/virtuální počítač" #: netbox/ipam/forms/model_forms.py:314 msgid "Make this the out-of-band IP for the device" -msgstr "" +msgstr "Nastavte z tohoto pole IP mimo pásmo zařízení" #: netbox/ipam/forms/model_forms.py:329 msgid "NAT IP (Inside)" @@ -9811,10 +9813,12 @@ msgstr "IP adresu lze přiřadit pouze jednomu objektu." #: netbox/ipam/forms/model_forms.py:398 msgid "Cannot reassign primary IP address for the parent device/VM" msgstr "" +"Nelze znovu přiřadit primární adresu IP pro nadřazené zařízení/virtuální " +"počítač" #: netbox/ipam/forms/model_forms.py:402 msgid "Cannot reassign out-of-Band IP address for the parent device" -msgstr "" +msgstr "Nelze znovu přiřadit IP adresu mimo pásmo pro nadřazené zařízení" #: netbox/ipam/forms/model_forms.py:412 msgid "" @@ -9827,6 +9831,8 @@ msgid "" "Only IP addresses assigned to a device interface can be designated as the " "out-of-band IP for a device." msgstr "" +"Pouze IP adresy přiřazené k rozhraní zařízení mohou být označeny jako IP " +"adresy mimo pásmo zařízení." #: netbox/ipam/forms/model_forms.py:508 msgid "Virtual IP Address" @@ -10220,12 +10226,12 @@ msgstr "Nelze nastavit scope_id bez scope_type." #: netbox/ipam/models/vlans.py:105 #, python-brace-format msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" -msgstr "" +msgstr "Spuštění VLAN ID v dosahu ({value}) nemůže být menší než {minimum}" #: netbox/ipam/models/vlans.py:111 #, python-brace-format msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" -msgstr "" +msgstr "Ukončení VLAN ID v rozsahu ({value}) nesmí překročit {maximum}" #: netbox/ipam/models/vlans.py:118 #, python-brace-format @@ -10233,6 +10239,8 @@ msgid "" "Ending VLAN ID in range must be greater than or equal to the starting VLAN " "ID ({range})" msgstr "" +"Koncové ID VLAN v rozsahu musí být větší nebo roven počátečnímu ID VLAN " +"({range})" #: netbox/ipam/models/vlans.py:124 msgid "Ranges cannot overlap." @@ -12587,7 +12595,7 @@ msgstr "Chyba při vykreslování šablony" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Pro toto zařízení nebyla přiřazena žádná konfigurační šablona." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13852,7 +13860,7 @@ msgstr "Centrum nápovědy" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Správce Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14266,7 +14274,6 @@ msgstr "Přidat virtuální disk" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Pro tento virtuální počítač nebyla přiřazena žádná konfigurační šablona." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15365,7 +15372,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} patří k jinému webu ({device_site}) než cluster ({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16098,7 +16104,7 @@ msgstr "bezdrátové spoje" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "Při nastavování bezdrátové vzdálenosti je nutné zadat jednotku" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/da/LC_MESSAGES/django.mo b/netbox/translations/da/LC_MESSAGES/django.mo index 2988b90ff..993b688e4 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 1b48b5849..bb8f0a346 100644 --- a/netbox/translations/da/LC_MESSAGES/django.po +++ b/netbox/translations/da/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ # Translators: # Jeff Gehlbach, 2024 # ch, 2024 -# Frederik Spang Thomsen , 2024 +# Frederik Spang , 2024 # Jeremy Stretch, 2025 # #, fuzzy @@ -1235,7 +1235,7 @@ msgstr "Kredsløbsgruppeopgaver" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "opsigelse" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1297,15 +1297,11 @@ msgstr "kredsløbsafslutninger" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"En kredsløbsafslutning skal tilsluttes enten et websted eller et " -"udbydernetværk." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"En kredsløbsafslutning kan ikke knyttes til både et websted og et " -"udbydernetværk." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9803,7 +9799,7 @@ msgstr "ASN-rækkevidde" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Websted/VLAN-tildeling" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12635,7 +12631,7 @@ msgstr "Fejl ved gengivelse af skabelon" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Der er ikke tildelt nogen konfigurationsskabelon til denne enhed." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13903,7 +13899,7 @@ msgstr "Hjælpecenter" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Django Admin" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14317,8 +14313,6 @@ msgstr "Tilføj virtuel disk" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Der er ikke tildelt nogen konfigurationsskabelon til denne virtuelle " -"maskine." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15421,7 +15415,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} tilhører et andet sted ({device_site}) end klyngen ({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16151,7 +16144,7 @@ msgstr "trådløse links" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "Skal angive en enhed, når du indstiller en trådløs afstand" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo index aa2135609..69d6143e4 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 5faf9b341..be453b8cf 100644 --- a/netbox/translations/de/LC_MESSAGES/django.po +++ b/netbox/translations/de/LC_MESSAGES/django.po @@ -5,13 +5,13 @@ # # Translators: # Martin R, 2024 -# Niklas, 2024 # fepilins, 2024 # Steffen, 2024 # haagehan, 2024 +# Jeremy Stretch, 2024 # Robin Reinhardt, 2024 -# Jeremy Stretch, 2025 # chbally, 2025 +# Niklas, 2025 # #, fuzzy msgid "" @@ -20,7 +20,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: chbally, 2025\n" +"Last-Translator: Niklas, 2025\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" @@ -1240,7 +1240,7 @@ msgstr "Transportnetzzuweisungen" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "Abschlusspunkt" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1303,15 +1303,11 @@ msgstr "Transportnetzabschlusspunkte" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Ein Leitungsabschluss muss entweder an einen Standort oder an ein " -"Providernetzwerk angeschlossen werden." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Ein Leitungsabschluss kann nicht sowohl an einen Standort als auch an ein " -"Providernetzwerk angeschlossen werden." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -8438,8 +8434,7 @@ msgstr "Gewicht anzeigen" #: netbox/extras/models/customfields.py:173 msgid "Fields with higher weights appear lower in a form." -msgstr "" -"Felder mit höheren Gewichten werden in einem Formular niedriger angezeigt." +msgstr "Höher gewichtete Felder werden im Formular weiter unten angezeigt." #: netbox/extras/models/customfields.py:178 msgid "minimum value" @@ -9531,7 +9526,7 @@ msgstr "Dienst (ID)" #: netbox/ipam/filtersets.py:675 msgid "NAT inside IP address (ID)" -msgstr "NAT innerhalb der IP-Adresse (ID)" +msgstr "NAT inside IP-Adresse (ID)" #: netbox/ipam/filtersets.py:1043 netbox/ipam/forms/bulk_import.py:322 msgid "Assigned interface" @@ -9959,7 +9954,7 @@ msgstr "Ziel der Route" #: netbox/templates/ipam/aggregate.html:11 #: netbox/templates/ipam/prefix.html:38 msgid "Aggregate" -msgstr "Aggregat" +msgstr "Aggregieren" #: netbox/ipam/forms/model_forms.py:135 netbox/templates/ipam/asnrange.html:12 msgid "ASN Range" @@ -9967,7 +9962,7 @@ msgstr "ASN-Bereich" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Standort-/VLAN-Zuweisung" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -10095,9 +10090,7 @@ msgstr "ASN-Bereiche" #: netbox/ipam/models/asns.py:72 #, python-brace-format msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." -msgstr "" -"ASN wird gestartet ({start}) muss niedriger sein als das Ende der ASN " -"({end})." +msgstr "Der ASN ({start}) muss niedriger sein als das letzte ASN ({end})." #: netbox/ipam/models/asns.py:104 msgid "Regional Internet Registry responsible for this AS number space" @@ -10171,7 +10164,7 @@ msgstr "Aggregat" #: netbox/ipam/models/ip.py:116 msgid "aggregates" -msgstr "Aggregate" +msgstr "aggregiert" #: netbox/ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." @@ -10227,7 +10220,8 @@ msgstr "ist ein Pool" #: netbox/ipam/models/ip.py:267 msgid "All IP addresses within this prefix are considered usable" msgstr "" -"Alle IP-Adressen innerhalb dieses Prefixes werden als nutzbar betrachtet" +"Alle IP-Adressen (inklusive Netzwerk- und Broadcast-Adresse) innerhalb " +"dieses Prefixes werden als nutzbar betrachtet" #: netbox/ipam/models/ip.py:270 netbox/ipam/models/ip.py:537 msgid "mark utilized" @@ -10503,7 +10497,7 @@ msgstr "einzigartigen Raum erzwingen" #: netbox/ipam/models/vrfs.py:43 msgid "Prevent duplicate prefixes/IP addresses within this VRF" -msgstr "Vermeiden Sie doppelte Präfixe/IP-Adressen in diesem VRF" +msgstr "Vermeiden Sie doppelte Präfixe/IP-Adressen in dieser VRF" #: netbox/ipam/models/vrfs.py:63 netbox/netbox/navigation/menu.py:186 #: netbox/netbox/navigation/menu.py:188 @@ -10524,7 +10518,7 @@ msgstr "Routenziele" #: netbox/ipam/tables/asn.py:52 msgid "ASDOT" -msgstr "ALS PUNKT" +msgstr "ASDOT" #: netbox/ipam/tables/asn.py:57 msgid "Site Count" @@ -11552,7 +11546,7 @@ msgstr "" #: netbox/netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" -msgstr "Ungültiger Shop: {key}" +msgstr "Ungültiger Store: {key}" #: netbox/netbox/registry.py:17 msgid "Cannot add stores to registry after initialization" @@ -12431,7 +12425,7 @@ msgstr "Warteschlange" #: netbox/templates/core/rq_task.html:65 msgid "Timeout" -msgstr "Auszeit" +msgstr "Timeout" #: netbox/templates/core/rq_task.html:69 msgid "Result TTL" @@ -12501,7 +12495,7 @@ msgstr "Anzahl fehlgeschlagener Jobs" #: netbox/templates/core/rq_worker.html:75 msgid "Total working time" -msgstr "Gesamtarbeitszeit" +msgstr "Gesamtlaufzeit" #: netbox/templates/core/rq_worker.html:76 msgid "seconds" @@ -12827,7 +12821,7 @@ msgstr "Fehler beim Rendern der Vorlage" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Diesem Gerät wurde keine Konfigurationsvorlage zugewiesen." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14098,7 +14092,7 @@ msgstr "Hilfecenter" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Django-Administrator" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14513,7 +14507,6 @@ msgstr "Virtuelles Laufwerk hinzufügen" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Für diese virtuelle Maschine wurde keine Konfigurationsvorlage zugewiesen." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -14540,11 +14533,11 @@ msgstr "Secret anzeigen" #: netbox/vpn/forms/model_forms.py:316 netbox/vpn/forms/model_forms.py:352 #: netbox/vpn/tables/crypto.py:68 netbox/vpn/tables/crypto.py:134 msgid "Proposals" -msgstr "Vorschläge" +msgstr "Proposals" #: netbox/templates/vpn/ikeproposal.html:10 msgid "IKE Proposal" -msgstr "IKE-Vorschlag" +msgstr "IKE- Proposal" #: netbox/templates/vpn/ikeproposal.html:21 netbox/vpn/forms/bulk_edit.py:97 #: netbox/vpn/forms/bulk_import.py:145 netbox/vpn/forms/filtersets.py:101 @@ -14575,7 +14568,7 @@ msgstr "DH-Gruppe" #: netbox/templates/vpn/ipsecproposal.html:29 #: netbox/vpn/forms/bulk_edit.py:182 netbox/vpn/models/crypto.py:146 msgid "SA lifetime (seconds)" -msgstr "SA-Lebensdauer (Sekunden)" +msgstr "SA-Gültigkeitsdauer (Sekunden)" #: netbox/templates/vpn/ipsecpolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:66 netbox/vpn/tables/crypto.py:170 @@ -14660,7 +14653,7 @@ msgstr "Peer-Abschlusspunkt" #: netbox/templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" -msgstr "Chiffre" +msgstr "Verschlüsselungsalgorithmus" #: netbox/templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" @@ -15638,8 +15631,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} gehört zu einer anderen Seite ({device_site}) als der Cluster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -15977,7 +15968,7 @@ msgstr "SA-Lebendauer" #: netbox/wireless/forms/filtersets.py:64 #: netbox/wireless/forms/filtersets.py:98 msgid "Pre-shared key" -msgstr "Vorab geteilter Schlüssel (Pre-shared key)" +msgstr "Vorab geteilter Schlüssel (PSK)" #: netbox/vpn/forms/bulk_edit.py:237 netbox/vpn/forms/bulk_import.py:239 #: netbox/vpn/forms/filtersets.py:199 netbox/vpn/forms/model_forms.py:370 @@ -15993,7 +15984,7 @@ msgstr "IPSec-Richtlinie" #: netbox/vpn/forms/bulk_import.py:50 msgid "Tunnel encapsulation" -msgstr "Tunnelkapselung" +msgstr "Tunnel Encapsulation" #: netbox/vpn/forms/bulk_import.py:83 msgid "Operational role" @@ -16140,7 +16131,7 @@ msgstr "Vorschläge" #: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:39 msgid "pre-shared key" -msgstr "vorab geteilter Schlüssel" +msgstr "vorab geteilter Schlüssel (PSK)" #: netbox/vpn/models/crypto.py:105 msgid "IKE policies" @@ -16273,7 +16264,7 @@ msgstr "SA-Lebensdauer" #: netbox/vpn/tables/crypto.py:71 msgid "Pre-shared Key" -msgstr "Vorab geteilter Schlüssel" +msgstr "Vorab geteilter Schlüssel (PSK)" #: netbox/vpn/tables/crypto.py:103 msgid "SA Lifetime (Seconds)" @@ -16390,7 +16381,6 @@ msgstr "Funkverbindungen" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"Beim Einstellen einer Funkreichweite muss eine Einheit angegeben werden" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 357406505..650140c41 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: 2025-02-01 05:01+0000\n" +"POT-Creation-Date: 2025-02-25 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,7 +28,7 @@ msgstr "" msgid "Write Enabled" msgstr "" -#: netbox/account/tables.py:35 netbox/core/choices.py:100 +#: netbox/account/tables.py:35 netbox/core/choices.py:102 #: netbox/core/tables/jobs.py:29 netbox/core/tables/tasks.py:79 #: netbox/extras/tables/tables.py:335 netbox/extras/tables/tables.py:566 #: netbox/templates/account/token.html:43 @@ -87,7 +87,7 @@ msgstr "" #: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1534 #: netbox/dcim/choices.py:1592 netbox/dcim/choices.py:1642 #: netbox/dcim/choices.py:1664 netbox/virtualization/choices.py:20 -#: netbox/virtualization/choices.py:45 netbox/vpn/choices.py:18 +#: netbox/virtualization/choices.py:46 netbox/vpn/choices.py:18 msgid "Planned" msgstr "" @@ -104,7 +104,7 @@ msgstr "" #: netbox/ipam/choices.py:69 netbox/ipam/choices.py:154 #: netbox/templates/extras/configcontext.html:25 #: netbox/templates/users/user.html:37 netbox/users/forms/bulk_edit.py:38 -#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:44 +#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:19 netbox/wireless/choices.py:25 msgid "Active" msgstr "" @@ -112,7 +112,7 @@ msgstr "" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 #: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1590 #: netbox/dcim/choices.py:1643 netbox/dcim/choices.py:1662 -#: netbox/virtualization/choices.py:24 netbox/virtualization/choices.py:43 +#: netbox/virtualization/choices.py:24 netbox/virtualization/choices.py:44 msgid "Offline" msgstr "" @@ -158,7 +158,7 @@ msgid "Spoke" msgstr "" #: netbox/circuits/filtersets.py:37 netbox/circuits/filtersets.py:204 -#: netbox/circuits/filtersets.py:279 netbox/dcim/base_filtersets.py:22 +#: netbox/circuits/filtersets.py:284 netbox/dcim/base_filtersets.py:22 #: netbox/dcim/filtersets.py:99 netbox/dcim/filtersets.py:153 #: netbox/dcim/filtersets.py:213 netbox/dcim/filtersets.py:334 #: netbox/dcim/filtersets.py:465 netbox/dcim/filtersets.py:1022 @@ -170,7 +170,7 @@ msgid "Region (ID)" msgstr "" #: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 -#: netbox/circuits/filtersets.py:286 netbox/dcim/base_filtersets.py:29 +#: netbox/circuits/filtersets.py:291 netbox/dcim/base_filtersets.py:29 #: netbox/dcim/filtersets.py:106 netbox/dcim/filtersets.py:159 #: netbox/dcim/filtersets.py:220 netbox/dcim/filtersets.py:341 #: netbox/dcim/filtersets.py:472 netbox/dcim/filtersets.py:1029 @@ -182,7 +182,7 @@ msgid "Region (slug)" msgstr "" #: netbox/circuits/filtersets.py:50 netbox/circuits/filtersets.py:217 -#: netbox/circuits/filtersets.py:292 netbox/dcim/base_filtersets.py:35 +#: netbox/circuits/filtersets.py:297 netbox/dcim/base_filtersets.py:35 #: netbox/dcim/filtersets.py:129 netbox/dcim/filtersets.py:226 #: netbox/dcim/filtersets.py:347 netbox/dcim/filtersets.py:478 #: netbox/dcim/filtersets.py:1035 netbox/dcim/filtersets.py:1382 @@ -193,7 +193,7 @@ msgid "Site group (ID)" msgstr "" #: netbox/circuits/filtersets.py:57 netbox/circuits/filtersets.py:224 -#: netbox/circuits/filtersets.py:299 netbox/dcim/base_filtersets.py:42 +#: netbox/circuits/filtersets.py:304 netbox/dcim/base_filtersets.py:42 #: netbox/dcim/filtersets.py:136 netbox/dcim/filtersets.py:233 #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:485 #: netbox/dcim/filtersets.py:1042 netbox/dcim/filtersets.py:1389 @@ -205,7 +205,7 @@ msgstr "" #: netbox/circuits/filtersets.py:62 netbox/circuits/forms/filtersets.py:59 #: netbox/circuits/forms/filtersets.py:182 -#: netbox/circuits/forms/filtersets.py:235 +#: netbox/circuits/forms/filtersets.py:240 #: netbox/circuits/tables/circuits.py:129 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:333 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:891 netbox/dcim/forms/bulk_import.py:133 @@ -223,7 +223,7 @@ msgstr "" #: netbox/dcim/forms/object_create.py:383 netbox/dcim/tables/devices.py:163 #: netbox/dcim/tables/power.py:26 netbox/dcim/tables/power.py:93 #: netbox/dcim/tables/racks.py:121 netbox/dcim/tables/racks.py:206 -#: netbox/dcim/tables/sites.py:134 netbox/extras/filtersets.py:525 +#: netbox/dcim/tables/sites.py:133 netbox/extras/filtersets.py:525 #: netbox/ipam/forms/bulk_edit.py:468 netbox/ipam/forms/bulk_import.py:452 #: netbox/ipam/forms/filtersets.py:155 netbox/ipam/forms/filtersets.py:229 #: netbox/ipam/forms/filtersets.py:435 netbox/ipam/forms/filtersets.py:530 @@ -252,7 +252,7 @@ msgid "Site" msgstr "" #: netbox/circuits/filtersets.py:68 netbox/circuits/filtersets.py:235 -#: netbox/circuits/filtersets.py:310 netbox/dcim/base_filtersets.py:53 +#: netbox/circuits/filtersets.py:315 netbox/dcim/base_filtersets.py:53 #: netbox/dcim/filtersets.py:243 netbox/dcim/filtersets.py:364 #: netbox/dcim/filtersets.py:459 netbox/extras/filtersets.py:531 #: netbox/ipam/filtersets.py:243 netbox/ipam/filtersets.py:958 @@ -272,31 +272,31 @@ msgid "ASN" msgstr "" #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 -#: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:333 -#: netbox/circuits/filtersets.py:401 netbox/circuits/filtersets.py:477 -#: netbox/circuits/filtersets.py:545 netbox/ipam/filtersets.py:248 +#: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:338 +#: netbox/circuits/filtersets.py:406 netbox/circuits/filtersets.py:482 +#: netbox/circuits/filtersets.py:550 netbox/ipam/filtersets.py:248 msgid "Provider (ID)" msgstr "" #: netbox/circuits/filtersets.py:107 netbox/circuits/filtersets.py:134 -#: netbox/circuits/filtersets.py:168 netbox/circuits/filtersets.py:339 -#: netbox/circuits/filtersets.py:483 netbox/circuits/filtersets.py:551 +#: netbox/circuits/filtersets.py:168 netbox/circuits/filtersets.py:344 +#: netbox/circuits/filtersets.py:488 netbox/circuits/filtersets.py:556 #: netbox/ipam/filtersets.py:254 msgid "Provider (slug)" msgstr "" -#: netbox/circuits/filtersets.py:173 netbox/circuits/filtersets.py:488 -#: netbox/circuits/filtersets.py:556 +#: netbox/circuits/filtersets.py:173 netbox/circuits/filtersets.py:493 +#: netbox/circuits/filtersets.py:561 msgid "Provider account (ID)" msgstr "" -#: netbox/circuits/filtersets.py:179 netbox/circuits/filtersets.py:494 -#: netbox/circuits/filtersets.py:562 +#: netbox/circuits/filtersets.py:179 netbox/circuits/filtersets.py:499 +#: netbox/circuits/filtersets.py:567 msgid "Provider account (account)" msgstr "" -#: netbox/circuits/filtersets.py:184 netbox/circuits/filtersets.py:498 -#: netbox/circuits/filtersets.py:567 +#: netbox/circuits/filtersets.py:184 netbox/circuits/filtersets.py:503 +#: netbox/circuits/filtersets.py:572 msgid "Provider network (ID)" msgstr "" @@ -308,7 +308,7 @@ msgstr "" msgid "Circuit type (slug)" msgstr "" -#: netbox/circuits/filtersets.py:229 netbox/circuits/filtersets.py:304 +#: netbox/circuits/filtersets.py:229 netbox/circuits/filtersets.py:309 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:237 #: netbox/dcim/filtersets.py:358 netbox/dcim/filtersets.py:453 #: netbox/dcim/filtersets.py:1046 netbox/dcim/filtersets.py:1394 @@ -319,12 +319,20 @@ msgstr "" msgid "Site (ID)" msgstr "" -#: netbox/circuits/filtersets.py:239 netbox/circuits/filtersets.py:243 +#: netbox/circuits/filtersets.py:239 netbox/circuits/filtersets.py:321 +#: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:259 +#: netbox/dcim/filtersets.py:370 netbox/dcim/filtersets.py:491 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1405 +#: netbox/dcim/filtersets.py:2305 +msgid "Location (ID)" +msgstr "" + +#: netbox/circuits/filtersets.py:244 netbox/circuits/filtersets.py:248 msgid "Termination A (ID)" msgstr "" -#: netbox/circuits/filtersets.py:268 netbox/circuits/filtersets.py:370 -#: netbox/circuits/filtersets.py:532 netbox/core/filtersets.py:77 +#: netbox/circuits/filtersets.py:273 netbox/circuits/filtersets.py:375 +#: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:77 #: netbox/core/filtersets.py:136 netbox/core/filtersets.py:173 #: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1363 #: netbox/dcim/filtersets.py:2400 netbox/extras/filtersets.py:41 @@ -348,12 +356,12 @@ msgstr "" msgid "Search" msgstr "" -#: netbox/circuits/filtersets.py:272 netbox/circuits/forms/bulk_edit.py:195 +#: netbox/circuits/filtersets.py:277 netbox/circuits/forms/bulk_edit.py:195 #: netbox/circuits/forms/bulk_edit.py:284 #: netbox/circuits/forms/bulk_import.py:128 -#: netbox/circuits/forms/filtersets.py:218 -#: netbox/circuits/forms/filtersets.py:245 -#: netbox/circuits/forms/filtersets.py:291 +#: netbox/circuits/forms/filtersets.py:223 +#: netbox/circuits/forms/filtersets.py:250 +#: netbox/circuits/forms/filtersets.py:296 #: netbox/circuits/forms/model_forms.py:139 #: netbox/circuits/forms/model_forms.py:162 #: netbox/circuits/forms/model_forms.py:262 @@ -367,64 +375,57 @@ msgstr "" msgid "Circuit" msgstr "" -#: netbox/circuits/filtersets.py:316 netbox/dcim/base_filtersets.py:59 -#: netbox/dcim/filtersets.py:259 netbox/dcim/filtersets.py:370 -#: netbox/dcim/filtersets.py:491 netbox/dcim/filtersets.py:1058 -#: netbox/dcim/filtersets.py:1405 netbox/dcim/filtersets.py:2305 -msgid "Location (ID)" -msgstr "" - -#: netbox/circuits/filtersets.py:323 netbox/dcim/base_filtersets.py:66 +#: netbox/circuits/filtersets.py:328 netbox/dcim/base_filtersets.py:66 #: netbox/dcim/filtersets.py:266 netbox/dcim/filtersets.py:377 #: netbox/dcim/filtersets.py:498 netbox/dcim/filtersets.py:1411 #: netbox/extras/filtersets.py:542 msgid "Location (slug)" msgstr "" -#: netbox/circuits/filtersets.py:328 +#: netbox/circuits/filtersets.py:333 msgid "ProviderNetwork (ID)" msgstr "" -#: netbox/circuits/filtersets.py:376 +#: netbox/circuits/filtersets.py:381 msgid "Circuit (CID)" msgstr "" -#: netbox/circuits/filtersets.py:381 +#: netbox/circuits/filtersets.py:386 msgid "Circuit (ID)" msgstr "" -#: netbox/circuits/filtersets.py:386 +#: netbox/circuits/filtersets.py:391 msgid "Virtual circuit (CID)" msgstr "" -#: netbox/circuits/filtersets.py:391 netbox/dcim/filtersets.py:1848 +#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1848 msgid "Virtual circuit (ID)" msgstr "" -#: netbox/circuits/filtersets.py:396 +#: netbox/circuits/filtersets.py:401 msgid "Provider (name)" msgstr "" -#: netbox/circuits/filtersets.py:405 +#: netbox/circuits/filtersets.py:410 msgid "Circuit group (ID)" msgstr "" -#: netbox/circuits/filtersets.py:411 +#: netbox/circuits/filtersets.py:416 msgid "Circuit group (slug)" msgstr "" -#: netbox/circuits/filtersets.py:502 +#: netbox/circuits/filtersets.py:507 msgid "Virtual circuit type (ID)" msgstr "" -#: netbox/circuits/filtersets.py:508 +#: netbox/circuits/filtersets.py:513 msgid "Virtual circuit type (slug)" msgstr "" -#: netbox/circuits/filtersets.py:536 netbox/circuits/forms/bulk_edit.py:355 +#: netbox/circuits/filtersets.py:541 netbox/circuits/forms/bulk_edit.py:355 #: netbox/circuits/forms/bulk_import.py:249 -#: netbox/circuits/forms/filtersets.py:367 -#: netbox/circuits/forms/filtersets.py:373 +#: netbox/circuits/forms/filtersets.py:372 +#: netbox/circuits/forms/filtersets.py:378 #: netbox/circuits/forms/model_forms.py:343 #: netbox/circuits/forms/model_forms.py:358 #: netbox/circuits/tables/virtual_circuits.py:88 @@ -433,7 +434,7 @@ msgstr "" msgid "Virtual circuit" msgstr "" -#: netbox/circuits/filtersets.py:572 netbox/dcim/filtersets.py:1268 +#: netbox/circuits/filtersets.py:577 netbox/dcim/filtersets.py:1268 #: netbox/dcim/filtersets.py:1633 netbox/ipam/filtersets.py:601 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" @@ -472,8 +473,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1106 netbox/dcim/forms/bulk_edit.py:1150 #: netbox/dcim/forms/bulk_edit.py:1195 netbox/dcim/forms/bulk_edit.py:1222 #: netbox/dcim/forms/bulk_edit.py:1240 netbox/dcim/forms/bulk_edit.py:1258 -#: netbox/dcim/forms/bulk_edit.py:1276 netbox/dcim/forms/bulk_edit.py:1744 -#: netbox/dcim/forms/bulk_edit.py:1785 netbox/extras/forms/bulk_edit.py:39 +#: netbox/dcim/forms/bulk_edit.py:1276 netbox/dcim/forms/bulk_edit.py:1746 +#: netbox/dcim/forms/bulk_edit.py:1787 netbox/extras/forms/bulk_edit.py:39 #: netbox/extras/forms/bulk_edit.py:149 netbox/extras/forms/bulk_edit.py:178 #: netbox/extras/forms/bulk_edit.py:208 netbox/extras/forms/bulk_edit.py:256 #: netbox/extras/forms/bulk_edit.py:274 netbox/extras/forms/bulk_edit.py:298 @@ -581,7 +582,7 @@ msgstr "" #: netbox/virtualization/forms/bulk_edit.py:82 #: netbox/virtualization/forms/bulk_edit.py:159 #: netbox/virtualization/forms/bulk_edit.py:210 -#: netbox/virtualization/forms/bulk_edit.py:319 +#: netbox/virtualization/forms/bulk_edit.py:327 #: netbox/vpn/forms/bulk_edit.py:28 netbox/vpn/forms/bulk_edit.py:64 #: netbox/vpn/forms/bulk_edit.py:121 netbox/vpn/forms/bulk_edit.py:155 #: netbox/vpn/forms/bulk_edit.py:190 netbox/vpn/forms/bulk_edit.py:215 @@ -600,20 +601,20 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:96 #: netbox/circuits/forms/filtersets.py:124 #: netbox/circuits/forms/filtersets.py:142 -#: netbox/circuits/forms/filtersets.py:219 -#: netbox/circuits/forms/filtersets.py:263 -#: netbox/circuits/forms/filtersets.py:286 -#: netbox/circuits/forms/filtersets.py:324 -#: netbox/circuits/forms/filtersets.py:332 -#: netbox/circuits/forms/filtersets.py:368 -#: netbox/circuits/forms/filtersets.py:391 +#: netbox/circuits/forms/filtersets.py:224 +#: netbox/circuits/forms/filtersets.py:268 +#: netbox/circuits/forms/filtersets.py:291 +#: netbox/circuits/forms/filtersets.py:329 +#: netbox/circuits/forms/filtersets.py:337 +#: netbox/circuits/forms/filtersets.py:373 +#: netbox/circuits/forms/filtersets.py:396 #: netbox/circuits/forms/model_forms.py:60 #: netbox/circuits/forms/model_forms.py:76 #: netbox/circuits/forms/model_forms.py:110 #: netbox/circuits/tables/circuits.py:57 netbox/circuits/tables/circuits.py:112 #: netbox/circuits/tables/circuits.py:196 -#: netbox/circuits/tables/providers.py:72 -#: netbox/circuits/tables/providers.py:103 +#: netbox/circuits/tables/providers.py:71 +#: netbox/circuits/tables/providers.py:102 #: netbox/circuits/tables/virtual_circuits.py:46 #: netbox/circuits/tables/virtual_circuits.py:93 #: netbox/templates/circuits/circuit.html:18 @@ -637,14 +638,14 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:112 #: netbox/circuits/forms/bulk_edit.py:303 #: netbox/circuits/forms/filtersets.py:115 -#: netbox/circuits/forms/filtersets.py:315 netbox/dcim/forms/bulk_edit.py:210 +#: netbox/circuits/forms/filtersets.py:320 netbox/dcim/forms/bulk_edit.py:210 #: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:822 #: netbox/dcim/forms/bulk_edit.py:1191 netbox/dcim/forms/bulk_edit.py:1218 -#: netbox/dcim/forms/bulk_edit.py:1740 netbox/dcim/forms/filtersets.py:1065 +#: netbox/dcim/forms/bulk_edit.py:1742 netbox/dcim/forms/filtersets.py:1065 #: netbox/dcim/forms/filtersets.py:1323 netbox/dcim/forms/filtersets.py:1460 #: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/tables/devices.py:737 #: netbox/dcim/tables/devices.py:793 netbox/dcim/tables/devices.py:1034 -#: netbox/dcim/tables/devicetypes.py:251 netbox/dcim/tables/devicetypes.py:266 +#: netbox/dcim/tables/devicetypes.py:256 netbox/dcim/tables/devicetypes.py:271 #: 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 @@ -663,7 +664,7 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:94 #: netbox/circuits/forms/bulk_import.py:221 #: netbox/circuits/forms/filtersets.py:137 -#: netbox/circuits/forms/filtersets.py:353 +#: netbox/circuits/forms/filtersets.py:358 #: netbox/circuits/tables/circuits.py:65 netbox/circuits/tables/circuits.py:200 #: netbox/circuits/tables/virtual_circuits.py:58 #: netbox/core/forms/bulk_edit.py:18 netbox/core/forms/filtersets.py:33 @@ -725,7 +726,7 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/bulk_import.py:214 #: netbox/circuits/forms/filtersets.py:150 -#: netbox/circuits/forms/filtersets.py:340 +#: netbox/circuits/forms/filtersets.py:345 #: netbox/circuits/forms/model_forms.py:116 #: netbox/circuits/forms/model_forms.py:330 #: netbox/templates/circuits/virtualcircuit.html:31 @@ -738,14 +739,14 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:100 #: netbox/circuits/forms/bulk_import.py:227 #: netbox/circuits/forms/filtersets.py:161 -#: netbox/circuits/forms/filtersets.py:356 netbox/core/forms/filtersets.py:38 -#: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 +#: netbox/circuits/forms/filtersets.py:361 netbox/core/forms/filtersets.py:38 +#: netbox/core/forms/filtersets.py:80 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 #: netbox/dcim/forms/bulk_edit.py:110 netbox/dcim/forms/bulk_edit.py:185 #: netbox/dcim/forms/bulk_edit.py:355 netbox/dcim/forms/bulk_edit.py:709 #: netbox/dcim/forms/bulk_edit.py:774 netbox/dcim/forms/bulk_edit.py:806 -#: netbox/dcim/forms/bulk_edit.py:933 netbox/dcim/forms/bulk_edit.py:1721 -#: netbox/dcim/forms/bulk_edit.py:1763 netbox/dcim/forms/bulk_import.py:90 +#: netbox/dcim/forms/bulk_edit.py:933 netbox/dcim/forms/bulk_edit.py:1723 +#: netbox/dcim/forms/bulk_edit.py:1765 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:532 netbox/dcim/forms/bulk_import.py:686 #: netbox/dcim/forms/bulk_import.py:1137 netbox/dcim/forms/bulk_import.py:1326 @@ -758,7 +759,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:848 netbox/dcim/tables/devices.py:982 #: netbox/dcim/tables/devices.py:1094 netbox/dcim/tables/modules.py:70 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:125 -#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 +#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:137 #: netbox/ipam/forms/bulk_edit.py:240 netbox/ipam/forms/bulk_edit.py:290 #: netbox/ipam/forms/bulk_edit.py:338 netbox/ipam/forms/bulk_edit.py:490 #: netbox/ipam/forms/bulk_import.py:188 netbox/ipam/forms/bulk_import.py:256 @@ -815,11 +816,11 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:170 #: netbox/circuits/forms/bulk_import.py:232 #: netbox/circuits/forms/filtersets.py:130 -#: netbox/circuits/forms/filtersets.py:272 -#: netbox/circuits/forms/filtersets.py:326 netbox/dcim/forms/bulk_edit.py:126 +#: netbox/circuits/forms/filtersets.py:277 +#: netbox/circuits/forms/filtersets.py:331 netbox/dcim/forms/bulk_edit.py:126 #: netbox/dcim/forms/bulk_edit.py:191 netbox/dcim/forms/bulk_edit.py:350 #: netbox/dcim/forms/bulk_edit.py:470 netbox/dcim/forms/bulk_edit.py:699 -#: netbox/dcim/forms/bulk_edit.py:812 netbox/dcim/forms/bulk_edit.py:1768 +#: netbox/dcim/forms/bulk_edit.py:812 netbox/dcim/forms/bulk_edit.py:1770 #: netbox/dcim/forms/bulk_import.py:109 netbox/dcim/forms/bulk_import.py:154 #: netbox/dcim/forms/bulk_import.py:243 netbox/dcim/forms/bulk_import.py:358 #: netbox/dcim/forms/bulk_import.py:506 netbox/dcim/forms/bulk_import.py:1338 @@ -829,8 +830,8 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:723 netbox/dcim/forms/filtersets.py:917 #: netbox/dcim/forms/filtersets.py:979 netbox/dcim/forms/filtersets.py:1009 #: netbox/dcim/forms/filtersets.py:1131 netbox/dcim/tables/power.py:88 -#: netbox/extras/filtersets.py:612 netbox/extras/forms/filtersets.py:323 -#: netbox/extras/forms/filtersets.py:396 netbox/ipam/forms/bulk_edit.py:46 +#: netbox/extras/filtersets.py:612 netbox/extras/forms/filtersets.py:330 +#: netbox/extras/forms/filtersets.py:403 netbox/ipam/forms/bulk_edit.py:46 #: netbox/ipam/forms/bulk_edit.py:71 netbox/ipam/forms/bulk_edit.py:115 #: netbox/ipam/forms/bulk_edit.py:144 netbox/ipam/forms/bulk_edit.py:169 #: netbox/ipam/forms/bulk_edit.py:235 netbox/ipam/forms/bulk_edit.py:285 @@ -885,22 +886,22 @@ msgid "Tenant" msgstr "" #: netbox/circuits/forms/bulk_edit.py:159 -#: netbox/circuits/forms/filtersets.py:185 +#: netbox/circuits/forms/filtersets.py:190 msgid "Install date" msgstr "" #: netbox/circuits/forms/bulk_edit.py:164 -#: netbox/circuits/forms/filtersets.py:190 +#: netbox/circuits/forms/filtersets.py:195 msgid "Termination date" msgstr "" #: netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/filtersets.py:197 +#: netbox/circuits/forms/filtersets.py:202 msgid "Commit rate (Kbps)" msgstr "" #: netbox/circuits/forms/bulk_edit.py:176 -#: netbox/circuits/forms/filtersets.py:203 +#: netbox/circuits/forms/filtersets.py:208 #: netbox/circuits/forms/model_forms.py:136 #: netbox/templates/circuits/circuit.html:38 #: netbox/templates/wireless/wirelesslink.html:38 @@ -913,7 +914,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:181 #: netbox/circuits/forms/bulk_import.py:105 #: netbox/circuits/forms/bulk_import.py:108 -#: netbox/circuits/forms/filtersets.py:207 +#: netbox/circuits/forms/filtersets.py:212 #: netbox/wireless/forms/bulk_edit.py:137 #: netbox/wireless/forms/bulk_import.py:121 #: netbox/wireless/forms/bulk_import.py:124 @@ -931,9 +932,9 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:91 #: netbox/circuits/forms/filtersets.py:110 #: netbox/circuits/forms/filtersets.py:127 -#: netbox/circuits/forms/filtersets.py:310 -#: netbox/circuits/forms/filtersets.py:325 netbox/core/forms/filtersets.py:67 -#: netbox/core/forms/filtersets.py:135 netbox/dcim/forms/bulk_edit.py:846 +#: netbox/circuits/forms/filtersets.py:315 +#: netbox/circuits/forms/filtersets.py:330 netbox/core/forms/filtersets.py:68 +#: netbox/core/forms/filtersets.py:136 netbox/dcim/forms/bulk_edit.py:846 #: netbox/dcim/forms/filtersets.py:173 netbox/dcim/forms/filtersets.py:205 #: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:1008 #: netbox/dcim/forms/filtersets.py:1132 netbox/dcim/forms/filtersets.py:1240 @@ -942,10 +943,10 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:1446 netbox/dcim/forms/filtersets.py:1470 #: netbox/dcim/forms/filtersets.py:1494 netbox/dcim/forms/filtersets.py:1512 #: netbox/dcim/forms/filtersets.py:1528 netbox/extras/forms/bulk_edit.py:90 -#: netbox/extras/forms/filtersets.py:44 netbox/extras/forms/filtersets.py:134 -#: netbox/extras/forms/filtersets.py:165 netbox/extras/forms/filtersets.py:205 -#: netbox/extras/forms/filtersets.py:221 netbox/extras/forms/filtersets.py:252 -#: netbox/extras/forms/filtersets.py:276 netbox/extras/forms/filtersets.py:441 +#: netbox/extras/forms/filtersets.py:45 netbox/extras/forms/filtersets.py:137 +#: netbox/extras/forms/filtersets.py:169 netbox/extras/forms/filtersets.py:210 +#: netbox/extras/forms/filtersets.py:227 netbox/extras/forms/filtersets.py:258 +#: netbox/extras/forms/filtersets.py:282 netbox/extras/forms/filtersets.py:449 #: netbox/ipam/forms/filtersets.py:101 netbox/ipam/forms/filtersets.py:269 #: netbox/ipam/forms/filtersets.py:310 netbox/ipam/forms/filtersets.py:385 #: netbox/ipam/forms/filtersets.py:470 netbox/ipam/forms/filtersets.py:483 @@ -995,7 +996,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:218 #: netbox/circuits/forms/bulk_import.py:133 -#: netbox/circuits/forms/filtersets.py:220 +#: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:173 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -1014,8 +1015,8 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:233 netbox/dcim/forms/bulk_edit.py:969 #: netbox/dcim/forms/bulk_edit.py:1333 netbox/dcim/forms/bulk_edit.py:1350 #: netbox/dcim/forms/bulk_edit.py:1367 netbox/dcim/forms/bulk_edit.py:1385 -#: netbox/dcim/forms/bulk_edit.py:1480 netbox/dcim/forms/bulk_edit.py:1650 -#: netbox/dcim/forms/bulk_edit.py:1667 +#: netbox/dcim/forms/bulk_edit.py:1480 netbox/dcim/forms/bulk_edit.py:1652 +#: netbox/dcim/forms/bulk_edit.py:1669 msgid "Mark connected" msgstr "" @@ -1035,7 +1036,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:289 #: netbox/circuits/forms/bulk_import.py:188 -#: netbox/circuits/forms/filtersets.py:299 +#: netbox/circuits/forms/filtersets.py:304 #: netbox/circuits/tables/circuits.py:207 netbox/dcim/forms/model_forms.py:562 #: netbox/templates/circuits/circuitgroupassignment.html:34 #: netbox/templates/dcim/device.html:133 @@ -1049,9 +1050,9 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:321 #: netbox/circuits/forms/bulk_import.py:208 #: netbox/circuits/forms/filtersets.py:158 -#: netbox/circuits/forms/filtersets.py:258 -#: netbox/circuits/forms/filtersets.py:348 -#: netbox/circuits/forms/filtersets.py:386 +#: netbox/circuits/forms/filtersets.py:263 +#: netbox/circuits/forms/filtersets.py:353 +#: netbox/circuits/forms/filtersets.py:391 #: netbox/circuits/forms/model_forms.py:325 #: netbox/circuits/tables/virtual_circuits.py:51 #: netbox/circuits/tables/virtual_circuits.py:99 @@ -1060,16 +1061,16 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:365 #: netbox/circuits/forms/bulk_import.py:254 -#: netbox/circuits/forms/filtersets.py:376 +#: netbox/circuits/forms/filtersets.py:381 #: netbox/circuits/forms/model_forms.py:365 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/bulk_edit.py:1280 netbox/dcim/forms/bulk_edit.py:1711 +#: netbox/dcim/forms/bulk_edit.py:1280 netbox/dcim/forms/bulk_edit.py:1713 #: netbox/dcim/forms/bulk_import.py:255 netbox/dcim/forms/bulk_import.py:1106 #: netbox/dcim/forms/filtersets.py:368 netbox/dcim/forms/filtersets.py:778 #: netbox/dcim/forms/filtersets.py:1539 netbox/dcim/forms/model_forms.py:256 #: netbox/dcim/forms/model_forms.py:1090 netbox/dcim/forms/model_forms.py:1559 #: netbox/dcim/forms/object_import.py:182 netbox/dcim/tables/devices.py:179 #: netbox/dcim/tables/devices.py:840 netbox/dcim/tables/devices.py:966 -#: netbox/dcim/tables/devicetypes.py:306 netbox/dcim/tables/racks.py:128 +#: netbox/dcim/tables/devicetypes.py:311 netbox/dcim/tables/racks.py:128 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:245 #: netbox/ipam/forms/bulk_edit.py:295 netbox/ipam/forms/bulk_edit.py:343 #: netbox/ipam/forms/bulk_edit.py:495 netbox/ipam/forms/bulk_import.py:193 @@ -1214,7 +1215,8 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:38 #: netbox/circuits/forms/filtersets.py:129 -#: netbox/circuits/forms/filtersets.py:240 +#: netbox/circuits/forms/filtersets.py:187 +#: netbox/circuits/forms/filtersets.py:245 #: netbox/circuits/tables/circuits.py:144 netbox/dcim/forms/bulk_edit.py:342 #: netbox/dcim/forms/bulk_edit.py:450 netbox/dcim/forms/bulk_edit.py:691 #: netbox/dcim/forms/bulk_edit.py:746 netbox/dcim/forms/bulk_edit.py:900 @@ -1236,7 +1238,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:478 netbox/dcim/forms/model_forms.py:739 #: netbox/dcim/tables/devices.py:167 netbox/dcim/tables/power.py:30 #: netbox/dcim/tables/racks.py:117 netbox/dcim/tables/racks.py:211 -#: netbox/extras/filtersets.py:536 netbox/extras/forms/filtersets.py:320 +#: netbox/extras/filtersets.py:536 netbox/extras/forms/filtersets.py:327 #: netbox/ipam/forms/filtersets.py:234 netbox/ipam/forms/filtersets.py:417 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/forms/filtersets.py:507 #: netbox/templates/dcim/device.html:26 @@ -1270,7 +1272,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:45 #: netbox/circuits/forms/filtersets.py:168 -#: netbox/circuits/forms/filtersets.py:225 +#: netbox/circuits/forms/filtersets.py:230 #: netbox/circuits/tables/circuits.py:139 netbox/dcim/forms/bulk_edit.py:116 #: netbox/dcim/forms/bulk_edit.py:317 netbox/dcim/forms/bulk_edit.py:875 #: netbox/dcim/forms/bulk_import.py:95 netbox/dcim/forms/filtersets.py:74 @@ -1298,7 +1300,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:50 #: netbox/circuits/forms/filtersets.py:173 -#: netbox/circuits/forms/filtersets.py:230 netbox/dcim/forms/bulk_edit.py:325 +#: netbox/circuits/forms/filtersets.py:235 netbox/dcim/forms/bulk_edit.py:325 #: netbox/dcim/forms/bulk_edit.py:883 netbox/dcim/forms/filtersets.py:79 #: netbox/dcim/forms/filtersets.py:191 netbox/dcim/forms/filtersets.py:217 #: netbox/dcim/forms/filtersets.py:348 netbox/dcim/forms/filtersets.py:431 @@ -1315,7 +1317,7 @@ msgid "Site group" msgstr "" #: netbox/circuits/forms/filtersets.py:81 netbox/circuits/tables/circuits.py:62 -#: netbox/circuits/tables/providers.py:66 +#: netbox/circuits/tables/providers.py:65 #: netbox/circuits/tables/virtual_circuits.py:55 #: netbox/circuits/tables/virtual_circuits.py:103 #: netbox/templates/circuits/circuit.html:22 @@ -1323,11 +1325,11 @@ msgstr "" msgid "Account" msgstr "" -#: netbox/circuits/forms/filtersets.py:248 +#: netbox/circuits/forms/filtersets.py:253 msgid "Term Side" msgstr "" -#: netbox/circuits/forms/filtersets.py:281 netbox/dcim/forms/bulk_edit.py:1570 +#: netbox/circuits/forms/filtersets.py:286 netbox/dcim/forms/bulk_edit.py:1572 #: netbox/extras/forms/model_forms.py:582 netbox/ipam/forms/filtersets.py:144 #: netbox/ipam/forms/filtersets.py:598 netbox/ipam/forms/model_forms.py:329 #: netbox/templates/dcim/macaddress.html:25 @@ -1338,11 +1340,11 @@ msgstr "" msgid "Assignment" msgstr "" -#: netbox/circuits/forms/filtersets.py:296 +#: netbox/circuits/forms/filtersets.py:301 #: netbox/circuits/forms/model_forms.py:252 #: netbox/circuits/tables/circuits.py:191 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_import.py:102 netbox/dcim/forms/model_forms.py:120 -#: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 +#: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:489 #: netbox/ipam/filtersets.py:968 netbox/ipam/forms/bulk_edit.py:477 #: netbox/ipam/forms/bulk_import.py:459 netbox/ipam/forms/model_forms.py:563 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:91 @@ -1430,7 +1432,7 @@ msgstr "" #: netbox/core/models/jobs.py:85 netbox/dcim/models/cables.py:49 #: netbox/dcim/models/device_components.py:1281 #: netbox/dcim/models/devices.py:645 netbox/dcim/models/devices.py:1177 -#: netbox/dcim/models/devices.py:1404 netbox/dcim/models/power.py:94 +#: netbox/dcim/models/devices.py:1405 netbox/dcim/models/power.py:94 #: netbox/dcim/models/racks.py:288 netbox/dcim/models/sites.py:154 #: netbox/dcim/models/sites.py:270 netbox/ipam/models/ip.py:237 #: netbox/ipam/models/ip.py:508 netbox/ipam/models/ip.py:729 @@ -1535,8 +1537,8 @@ msgstr "" #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 #: netbox/extras/models/models.py:511 netbox/extras/models/notifications.py:131 #: netbox/extras/models/staging.py:32 netbox/extras/models/tags.py:32 -#: netbox/ipam/models/vlans.py:358 netbox/netbox/models/__init__.py:114 -#: netbox/netbox/models/__init__.py:149 netbox/netbox/models/__init__.py:195 +#: netbox/ipam/models/vlans.py:358 netbox/netbox/models/__init__.py:115 +#: netbox/netbox/models/__init__.py:150 netbox/netbox/models/__init__.py:196 #: netbox/users/models/permissions.py:24 netbox/users/models/tokens.py:57 #: netbox/users/models/users.py:33 #: netbox/virtualization/models/virtualmachines.py:276 @@ -1551,8 +1553,8 @@ msgstr "" msgid "circuit terminations" msgstr "" -#: netbox/circuits/models/circuits.py:354 -msgid "A circuit termination must attach to termination." +#: netbox/circuits/models/circuits.py:353 +msgid "A circuit termination must attach to a terminating object." msgstr "" #: netbox/circuits/models/providers.py:21 @@ -1561,7 +1563,7 @@ msgstr "" #: netbox/core/models/jobs.py:46 #: netbox/dcim/models/device_component_templates.py:43 #: netbox/dcim/models/device_components.py:52 netbox/dcim/models/devices.py:589 -#: netbox/dcim/models/devices.py:1336 netbox/dcim/models/devices.py:1399 +#: netbox/dcim/models/devices.py:1337 netbox/dcim/models/devices.py:1400 #: netbox/dcim/models/power.py:38 netbox/dcim/models/power.py:89 #: netbox/dcim/models/racks.py:257 netbox/dcim/models/sites.py:142 #: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215 @@ -1574,8 +1576,8 @@ msgstr "" #: netbox/ipam/models/services.py:51 netbox/ipam/models/services.py:84 #: netbox/ipam/models/vlans.py:37 netbox/ipam/models/vlans.py:199 #: netbox/ipam/models/vlans.py:337 netbox/ipam/models/vrfs.py:20 -#: netbox/ipam/models/vrfs.py:75 netbox/netbox/models/__init__.py:141 -#: netbox/netbox/models/__init__.py:185 netbox/tenancy/models/contacts.py:58 +#: netbox/ipam/models/vrfs.py:75 netbox/netbox/models/__init__.py:142 +#: netbox/netbox/models/__init__.py:186 netbox/tenancy/models/contacts.py:58 #: netbox/tenancy/models/tenants.py:19 netbox/tenancy/models/tenants.py:42 #: netbox/users/models/permissions.py:20 netbox/users/models/users.py:28 #: netbox/virtualization/models/clusters.py:52 @@ -1596,8 +1598,8 @@ msgstr "" #: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:88 #: netbox/dcim/models/racks.py:137 netbox/dcim/models/sites.py:149 #: netbox/extras/models/models.py:506 netbox/ipam/models/asns.py:23 -#: netbox/ipam/models/vlans.py:42 netbox/netbox/models/__init__.py:145 -#: netbox/netbox/models/__init__.py:190 netbox/tenancy/models/tenants.py:25 +#: netbox/ipam/models/vlans.py:42 netbox/netbox/models/__init__.py:146 +#: netbox/netbox/models/__init__.py:191 netbox/tenancy/models/tenants.py:25 #: netbox/tenancy/models/tenants.py:47 netbox/vpn/models/l2vpn.py:27 #: netbox/wireless/models.py:59 msgid "slug" @@ -1666,8 +1668,8 @@ msgstr "" #: netbox/circuits/tables/circuits.py:30 netbox/circuits/tables/circuits.py:168 #: netbox/circuits/tables/providers.py:18 -#: netbox/circuits/tables/providers.py:69 -#: netbox/circuits/tables/providers.py:99 +#: netbox/circuits/tables/providers.py:68 +#: netbox/circuits/tables/providers.py:98 #: netbox/circuits/tables/virtual_circuits.py:18 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:44 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 @@ -1681,12 +1683,12 @@ msgstr "" #: netbox/dcim/tables/devices.py:872 netbox/dcim/tables/devices.py:941 #: netbox/dcim/tables/devices.py:1006 netbox/dcim/tables/devices.py:1025 #: netbox/dcim/tables/devices.py:1054 netbox/dcim/tables/devices.py:1084 -#: netbox/dcim/tables/devicetypes.py:31 netbox/dcim/tables/devicetypes.py:222 +#: netbox/dcim/tables/devicetypes.py:31 netbox/dcim/tables/devicetypes.py:227 #: 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 -#: netbox/dcim/tables/sites.py:78 netbox/dcim/tables/sites.py:130 -#: netbox/extras/forms/filtersets.py:213 netbox/extras/tables/tables.py:58 +#: netbox/dcim/tables/sites.py:78 netbox/dcim/tables/sites.py:129 +#: netbox/extras/forms/filtersets.py:218 netbox/extras/tables/tables.py:58 #: netbox/extras/tables/tables.py:122 netbox/extras/tables/tables.py:155 #: netbox/extras/tables/tables.py:180 netbox/extras/tables/tables.py:246 #: netbox/extras/tables/tables.py:361 netbox/extras/tables/tables.py:378 @@ -1787,8 +1789,8 @@ msgid "Name" msgstr "" #: netbox/circuits/tables/circuits.py:39 netbox/circuits/tables/circuits.py:174 -#: netbox/circuits/tables/providers.py:45 -#: netbox/circuits/tables/providers.py:79 +#: netbox/circuits/tables/providers.py:44 +#: netbox/circuits/tables/providers.py:78 #: netbox/circuits/tables/virtual_circuits.py:27 #: netbox/netbox/navigation/menu.py:274 netbox/netbox/navigation/menu.py:278 #: netbox/netbox/navigation/menu.py:280 @@ -1820,15 +1822,15 @@ msgstr "" msgid "Commit Rate" msgstr "" -#: netbox/circuits/tables/circuits.py:84 netbox/circuits/tables/providers.py:48 -#: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 +#: netbox/circuits/tables/circuits.py:84 netbox/circuits/tables/providers.py:47 +#: netbox/circuits/tables/providers.py:81 +#: netbox/circuits/tables/providers.py:106 #: netbox/circuits/tables/virtual_circuits.py:68 -#: netbox/dcim/tables/devices.py:1067 netbox/dcim/tables/devicetypes.py:92 +#: netbox/dcim/tables/devices.py:1067 netbox/dcim/tables/devicetypes.py:97 #: netbox/dcim/tables/modules.py:29 netbox/dcim/tables/modules.py:73 #: netbox/dcim/tables/power.py:39 netbox/dcim/tables/power.py:96 #: netbox/dcim/tables/racks.py:84 netbox/dcim/tables/racks.py:144 -#: netbox/dcim/tables/racks.py:224 netbox/dcim/tables/sites.py:108 +#: netbox/dcim/tables/racks.py:224 netbox/dcim/tables/sites.py:107 #: netbox/extras/tables/tables.py:582 netbox/ipam/tables/asn.py:69 #: netbox/ipam/tables/fhrp.py:34 netbox/ipam/tables/ip.py:82 #: netbox/ipam/tables/ip.py:226 netbox/ipam/tables/ip.py:281 @@ -1889,7 +1891,7 @@ msgstr "" msgid "Account Count" msgstr "" -#: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100 +#: netbox/circuits/tables/providers.py:38 netbox/dcim/tables/sites.py:99 msgid "ASN Count" msgstr "" @@ -1903,7 +1905,7 @@ msgstr "" #: netbox/circuits/tables/virtual_circuits.py:109 #: netbox/dcim/forms/bulk_edit.py:745 netbox/dcim/forms/bulk_edit.py:1299 -#: netbox/dcim/forms/bulk_edit.py:1706 netbox/dcim/forms/bulk_edit.py:1758 +#: netbox/dcim/forms/bulk_edit.py:1708 netbox/dcim/forms/bulk_edit.py:1760 #: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:730 #: netbox/dcim/forms/bulk_import.py:756 netbox/dcim/forms/bulk_import.py:782 #: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:858 @@ -1930,7 +1932,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:786 netbox/dcim/tables/devices.py:832 #: netbox/dcim/tables/devices.py:891 netbox/dcim/tables/devices.py:959 #: netbox/dcim/tables/devices.py:1088 netbox/dcim/tables/modules.py:53 -#: netbox/extras/forms/filtersets.py:321 netbox/ipam/forms/bulk_import.py:303 +#: netbox/extras/forms/filtersets.py:328 netbox/ipam/forms/bulk_import.py:303 #: netbox/ipam/forms/bulk_import.py:540 netbox/ipam/forms/filtersets.py:603 #: netbox/ipam/forms/model_forms.py:325 netbox/ipam/forms/model_forms.py:754 #: netbox/ipam/forms/model_forms.py:787 netbox/ipam/forms/model_forms.py:813 @@ -1971,12 +1973,12 @@ msgstr "" msgid "Device" msgstr "" -#: netbox/circuits/views.py:353 +#: netbox/circuits/views.py:355 #, python-brace-format msgid "No terminations have been defined for circuit {circuit}." msgstr "" -#: netbox/circuits/views.py:402 +#: netbox/circuits/views.py:404 #, python-brace-format msgid "Swapped terminations for circuit {circuit}." msgstr "" @@ -2007,7 +2009,7 @@ msgstr "" #: netbox/core/constants.py:20 netbox/core/tables/tasks.py:34 #: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 #: netbox/dcim/choices.py:1593 netbox/dcim/choices.py:1666 -#: netbox/virtualization/choices.py:47 +#: netbox/virtualization/choices.py:48 msgid "Failed" msgstr "" @@ -2046,24 +2048,32 @@ msgstr "" msgid "Minutely" msgstr "" -#: netbox/core/choices.py:83 netbox/extras/choices.py:186 +#: netbox/core/choices.py:83 msgid "Hourly" msgstr "" -#: netbox/core/choices.py:84 netbox/extras/choices.py:188 +#: netbox/core/choices.py:84 +msgid "12 hours" +msgstr "" + +#: netbox/core/choices.py:85 msgid "Daily" msgstr "" -#: netbox/core/choices.py:85 netbox/extras/choices.py:189 +#: netbox/core/choices.py:86 msgid "Weekly" msgstr "" -#: netbox/core/choices.py:101 netbox/core/tables/plugins.py:63 +#: netbox/core/choices.py:87 +msgid "30 days" +msgstr "" + +#: netbox/core/choices.py:103 netbox/core/tables/plugins.py:63 #: netbox/templates/generic/object.html:61 msgid "Updated" msgstr "" -#: netbox/core/choices.py:102 +#: netbox/core/choices.py:104 msgid "Deleted" msgstr "" @@ -2179,10 +2189,10 @@ msgstr "" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1140 #: netbox/dcim/forms/bulk_edit.py:1418 netbox/dcim/forms/filtersets.py:1375 -#: netbox/dcim/tables/devices.py:566 netbox/dcim/tables/devicetypes.py:226 +#: netbox/dcim/tables/devices.py:566 netbox/dcim/tables/devicetypes.py:231 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 -#: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 -#: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 +#: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:145 +#: netbox/extras/forms/filtersets.py:235 netbox/extras/forms/filtersets.py:300 #: netbox/extras/tables/tables.py:162 netbox/extras/tables/tables.py:253 #: netbox/extras/tables/tables.py:415 netbox/netbox/preferences.py:22 #: netbox/templates/core/datasource.html:42 @@ -2218,11 +2228,10 @@ msgstr "" #: netbox/extras/forms/model_forms.py:632 netbox/extras/tables/tables.py:191 #: netbox/extras/tables/tables.py:483 netbox/extras/tables/tables.py:518 #: netbox/templates/core/datasource.html:31 -#: netbox/templates/dcim/device/render_config.html:18 #: netbox/templates/extras/configcontext.html:29 #: netbox/templates/extras/configtemplate.html:21 #: netbox/templates/extras/exporttemplate.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:18 +#: netbox/templates/extras/object_render_config.html:19 msgid "Data Source" msgstr "" @@ -2231,17 +2240,17 @@ msgid "File" msgstr "" #: netbox/core/forms/filtersets.py:60 netbox/core/forms/mixins.py:16 -#: netbox/extras/forms/filtersets.py:170 netbox/extras/forms/filtersets.py:328 -#: netbox/extras/forms/filtersets.py:413 +#: netbox/extras/forms/filtersets.py:174 netbox/extras/forms/filtersets.py:335 +#: netbox/extras/forms/filtersets.py:421 msgid "Data source" msgstr "" -#: netbox/core/forms/filtersets.py:70 netbox/extras/forms/filtersets.py:440 +#: netbox/core/forms/filtersets.py:71 netbox/extras/forms/filtersets.py:448 msgid "Creation" msgstr "" -#: netbox/core/forms/filtersets.py:74 netbox/core/forms/filtersets.py:160 -#: netbox/extras/forms/filtersets.py:461 netbox/extras/tables/tables.py:220 +#: netbox/core/forms/filtersets.py:75 netbox/core/forms/filtersets.py:161 +#: netbox/extras/forms/filtersets.py:469 netbox/extras/tables/tables.py:220 #: netbox/extras/tables/tables.py:294 netbox/extras/tables/tables.py:326 #: netbox/extras/tables/tables.py:571 netbox/templates/core/job.html:38 #: netbox/templates/core/objectchange.html:52 @@ -2249,42 +2258,42 @@ msgstr "" msgid "Object Type" msgstr "" -#: netbox/core/forms/filtersets.py:84 +#: netbox/core/forms/filtersets.py:85 msgid "Created after" msgstr "" -#: netbox/core/forms/filtersets.py:89 +#: netbox/core/forms/filtersets.py:90 msgid "Created before" msgstr "" -#: netbox/core/forms/filtersets.py:94 +#: netbox/core/forms/filtersets.py:95 msgid "Scheduled after" msgstr "" -#: netbox/core/forms/filtersets.py:99 +#: netbox/core/forms/filtersets.py:100 msgid "Scheduled before" msgstr "" -#: netbox/core/forms/filtersets.py:104 +#: netbox/core/forms/filtersets.py:105 msgid "Started after" msgstr "" -#: netbox/core/forms/filtersets.py:109 +#: netbox/core/forms/filtersets.py:110 msgid "Started before" msgstr "" -#: netbox/core/forms/filtersets.py:114 +#: netbox/core/forms/filtersets.py:115 msgid "Completed after" msgstr "" -#: netbox/core/forms/filtersets.py:119 +#: netbox/core/forms/filtersets.py:120 msgid "Completed before" msgstr "" -#: netbox/core/forms/filtersets.py:126 netbox/core/forms/filtersets.py:155 +#: netbox/core/forms/filtersets.py:127 netbox/core/forms/filtersets.py:156 #: netbox/dcim/forms/bulk_edit.py:465 netbox/dcim/forms/filtersets.py:419 #: netbox/dcim/forms/filtersets.py:463 netbox/dcim/forms/model_forms.py:324 -#: netbox/extras/forms/filtersets.py:456 netbox/extras/forms/filtersets.py:475 +#: netbox/extras/forms/filtersets.py:464 netbox/extras/forms/filtersets.py:484 #: netbox/extras/tables/tables.py:302 netbox/extras/tables/tables.py:342 #: netbox/templates/core/objectchange.html:36 #: netbox/templates/dcim/rackreservation.html:58 @@ -2298,21 +2307,21 @@ msgstr "" msgid "User" msgstr "" -#: netbox/core/forms/filtersets.py:134 netbox/core/tables/change_logging.py:15 +#: netbox/core/forms/filtersets.py:135 netbox/core/tables/change_logging.py:15 #: netbox/extras/tables/tables.py:609 netbox/extras/tables/tables.py:646 #: netbox/templates/core/objectchange.html:32 msgid "Time" msgstr "" -#: netbox/core/forms/filtersets.py:139 netbox/extras/forms/filtersets.py:445 +#: netbox/core/forms/filtersets.py:140 netbox/extras/forms/filtersets.py:453 msgid "After" msgstr "" -#: netbox/core/forms/filtersets.py:144 netbox/extras/forms/filtersets.py:450 +#: netbox/core/forms/filtersets.py:145 netbox/extras/forms/filtersets.py:458 msgid "Before" msgstr "" -#: netbox/core/forms/filtersets.py:148 netbox/core/tables/change_logging.py:29 +#: netbox/core/forms/filtersets.py:149 netbox/core/tables/change_logging.py:29 #: netbox/extras/forms/model_forms.py:396 #: netbox/templates/core/objectchange.html:46 #: netbox/templates/extras/eventrule.html:71 @@ -2377,7 +2386,7 @@ msgid "Pagination" msgstr "" #: netbox/core/forms/model_forms.py:163 netbox/extras/forms/bulk_edit.py:92 -#: netbox/extras/forms/filtersets.py:47 netbox/extras/forms/model_forms.py:116 +#: netbox/extras/forms/filtersets.py:48 netbox/extras/forms/model_forms.py:116 #: netbox/extras/forms/model_forms.py:129 #: netbox/templates/core/inc/config_data.html:93 msgid "Validation" @@ -2728,7 +2737,7 @@ msgid "Last updated" msgstr "" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:169 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:192 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 netbox/wireless/tables/wirelesslink.py:16 @@ -2920,7 +2929,7 @@ msgstr "" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 #: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1535 #: netbox/dcim/choices.py:1667 netbox/virtualization/choices.py:23 -#: netbox/virtualization/choices.py:48 +#: netbox/virtualization/choices.py:49 msgid "Decommissioning" msgstr "" @@ -3052,7 +3061,7 @@ msgid "Rear" msgstr "" #: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 -#: netbox/dcim/choices.py:1665 netbox/virtualization/choices.py:46 +#: netbox/dcim/choices.py:1665 netbox/virtualization/choices.py:47 msgid "Staged" msgstr "" @@ -3133,7 +3142,7 @@ msgid "Virtual" msgstr "" #: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1099 -#: netbox/dcim/forms/bulk_edit.py:1576 netbox/dcim/forms/filtersets.py:1335 +#: netbox/dcim/forms/bulk_edit.py:1578 netbox/dcim/forms/filtersets.py:1335 #: netbox/dcim/forms/model_forms.py:1007 netbox/dcim/forms/model_forms.py:1445 #: netbox/netbox/navigation/menu.py:146 netbox/netbox/navigation/menu.py:150 #: netbox/templates/dcim/interface.html:267 @@ -3532,7 +3541,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1104 netbox/dcim/forms/filtersets.py:819 #: netbox/dcim/forms/filtersets.py:1390 netbox/dcim/forms/filtersets.py:1586 #: netbox/dcim/forms/filtersets.py:1591 netbox/dcim/forms/model_forms.py:1762 -#: netbox/dcim/models/devices.py:1500 netbox/dcim/models/devices.py:1521 +#: netbox/dcim/models/devices.py:1501 netbox/dcim/models/devices.py:1522 #: netbox/virtualization/filtersets.py:196 #: netbox/virtualization/filtersets.py:268 #: netbox/virtualization/forms/filtersets.py:177 @@ -3735,6 +3744,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:568 #: netbox/ipam/forms/filtersets.py:489 netbox/ipam/forms/model_forms.py:704 #: netbox/templates/ipam/vlantranslationpolicy.html:11 +#: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:373 msgid "VLAN Translation Policy" msgstr "" @@ -3845,10 +3855,10 @@ msgstr "" msgid "Power panel (ID)" msgstr "" -#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:401 +#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:408 #: netbox/extras/forms/model_forms.py:567 #: netbox/extras/forms/model_forms.py:619 netbox/netbox/forms/base.py:86 -#: netbox/netbox/forms/mixins.py:81 netbox/netbox/tables/columns.py:481 +#: netbox/netbox/forms/mixins.py:91 netbox/netbox/tables/columns.py:481 #: netbox/templates/circuits/inc/circuit_termination.html:32 #: netbox/templates/generic/bulk_edit.html:65 #: netbox/templates/inc/panels/tags.html:5 @@ -3860,7 +3870,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:498 netbox/dcim/forms/model_forms.py:557 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:345 netbox/dcim/tables/devices.py:175 -#: netbox/dcim/tables/devices.py:740 netbox/dcim/tables/devicetypes.py:248 +#: netbox/dcim/tables/devices.py:740 netbox/dcim/tables/devicetypes.py:253 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3894,7 +3904,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:228 netbox/dcim/forms/bulk_edit.py:504 #: netbox/dcim/forms/bulk_edit.py:568 netbox/dcim/forms/bulk_edit.py:641 #: netbox/dcim/forms/bulk_edit.py:665 netbox/dcim/forms/bulk_edit.py:758 -#: netbox/dcim/forms/bulk_edit.py:1285 netbox/dcim/forms/bulk_edit.py:1716 +#: netbox/dcim/forms/bulk_edit.py:1285 netbox/dcim/forms/bulk_edit.py:1718 #: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:395 #: netbox/dcim/forms/bulk_import.py:429 netbox/dcim/forms/bulk_import.py:477 #: netbox/dcim/forms/bulk_import.py:513 netbox/dcim/forms/bulk_import.py:1112 @@ -3907,8 +3917,8 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:445 netbox/dcim/forms/model_forms.py:1095 #: netbox/dcim/forms/model_forms.py:1564 netbox/dcim/forms/object_import.py:188 #: netbox/dcim/tables/devices.py:107 netbox/dcim/tables/devices.py:182 -#: netbox/dcim/tables/devices.py:969 netbox/dcim/tables/devicetypes.py:80 -#: netbox/dcim/tables/devicetypes.py:310 netbox/dcim/tables/modules.py:20 +#: netbox/dcim/tables/devices.py:969 netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:315 netbox/dcim/tables/modules.py:20 #: netbox/dcim/tables/modules.py:61 netbox/dcim/tables/racks.py:58 #: netbox/dcim/tables/racks.py:131 netbox/templates/dcim/devicetype.html:14 #: netbox/templates/dcim/inventoryitem.html:48 @@ -3972,12 +3982,12 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:489 netbox/dcim/forms/filtersets.py:595 #: netbox/dcim/forms/filtersets.py:614 netbox/dcim/forms/filtersets.py:675 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:306 -#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:111 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:171 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 -#: netbox/extras/forms/filtersets.py:64 netbox/extras/forms/filtersets.py:156 -#: netbox/extras/forms/filtersets.py:243 netbox/ipam/forms/bulk_edit.py:193 +#: netbox/extras/forms/filtersets.py:65 netbox/extras/forms/filtersets.py:159 +#: netbox/extras/forms/filtersets.py:249 netbox/ipam/forms/bulk_edit.py:193 #: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:47 netbox/templates/dcim/rack.html:81 @@ -4102,12 +4112,12 @@ msgstr "" msgid "U height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/tables/devicetypes.py:102 +#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/tables/devicetypes.py:107 msgid "Exclude from utilization" msgstr "" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/model_forms.py:377 -#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:82 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 msgid "Device Type" msgstr "" @@ -4174,7 +4184,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:734 netbox/dcim/forms/bulk_import.py:544 #: netbox/dcim/forms/filtersets.py:729 netbox/dcim/forms/filtersets.py:899 #: netbox/dcim/forms/model_forms.py:533 netbox/dcim/tables/devices.py:212 -#: netbox/extras/filtersets.py:596 netbox/extras/forms/filtersets.py:322 +#: netbox/extras/filtersets.py:596 netbox/extras/forms/filtersets.py:329 #: netbox/ipam/forms/filtersets.py:418 netbox/ipam/forms/filtersets.py:450 #: netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 @@ -4447,26 +4457,26 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1566 netbox/dcim/forms/model_forms.py:1437 #: netbox/templates/dcim/interface.html:105 -#: netbox/virtualization/forms/bulk_edit.py:249 +#: netbox/virtualization/forms/bulk_edit.py:254 #: netbox/virtualization/forms/model_forms.py:380 msgid "Related Interfaces" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1567 netbox/dcim/forms/model_forms.py:1441 -#: netbox/virtualization/forms/bulk_edit.py:250 +#: netbox/dcim/forms/bulk_edit.py:1568 netbox/dcim/forms/model_forms.py:1441 +#: netbox/virtualization/forms/bulk_edit.py:257 #: netbox/virtualization/forms/model_forms.py:383 msgid "802.1Q Switching" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1571 +#: netbox/dcim/forms/bulk_edit.py:1573 msgid "Add/Remove" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1630 netbox/dcim/forms/bulk_edit.py:1632 +#: netbox/dcim/forms/bulk_edit.py:1632 netbox/dcim/forms/bulk_edit.py:1634 msgid "Interface mode must be specified to assign VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1637 netbox/dcim/forms/common.py:51 +#: netbox/dcim/forms/bulk_edit.py:1639 netbox/dcim/forms/common.py:51 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" @@ -4839,7 +4849,7 @@ msgstr "" #: netbox/virtualization/filtersets.py:254 #: netbox/virtualization/filtersets.py:305 #: netbox/virtualization/forms/bulk_edit.py:182 -#: netbox/virtualization/forms/bulk_edit.py:308 +#: netbox/virtualization/forms/bulk_edit.py:316 #: netbox/virtualization/forms/bulk_import.py:152 #: netbox/virtualization/forms/bulk_import.py:213 #: netbox/virtualization/forms/filtersets.py:217 @@ -5109,7 +5119,7 @@ msgid "Connection" msgstr "" #: netbox/dcim/forms/filtersets.py:1353 netbox/extras/forms/bulk_edit.py:326 -#: netbox/extras/forms/bulk_import.py:247 netbox/extras/forms/filtersets.py:464 +#: netbox/extras/forms/bulk_import.py:247 netbox/extras/forms/filtersets.py:472 #: netbox/extras/forms/model_forms.py:675 netbox/extras/tables/tables.py:579 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" @@ -6371,12 +6381,12 @@ msgstr "" msgid "rack face" msgstr "" -#: netbox/dcim/models/devices.py:663 netbox/dcim/models/devices.py:1420 +#: netbox/dcim/models/devices.py:663 netbox/dcim/models/devices.py:1421 #: netbox/virtualization/models/virtualmachines.py:95 msgid "primary IPv4" msgstr "" -#: netbox/dcim/models/devices.py:671 netbox/dcim/models/devices.py:1428 +#: netbox/dcim/models/devices.py:671 netbox/dcim/models/devices.py:1429 #: netbox/virtualization/models/virtualmachines.py:103 msgid "primary IPv6" msgstr "" @@ -6539,68 +6549,68 @@ msgid "" "device ({device})." msgstr "" -#: netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1342 msgid "domain" msgstr "" -#: netbox/dcim/models/devices.py:1354 netbox/dcim/models/devices.py:1355 +#: netbox/dcim/models/devices.py:1355 netbox/dcim/models/devices.py:1356 msgid "virtual chassis" msgstr "" -#: netbox/dcim/models/devices.py:1367 +#: netbox/dcim/models/devices.py:1368 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: netbox/dcim/models/devices.py:1383 +#: netbox/dcim/models/devices.py:1384 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: netbox/dcim/models/devices.py:1409 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1410 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "" -#: netbox/dcim/models/devices.py:1410 +#: netbox/dcim/models/devices.py:1411 msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1438 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1439 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 -#: netbox/netbox/models/__init__.py:119 +#: netbox/netbox/models/__init__.py:120 msgid "comments" msgstr "" -#: netbox/dcim/models/devices.py:1454 +#: netbox/dcim/models/devices.py:1455 msgid "virtual device context" msgstr "" -#: netbox/dcim/models/devices.py:1455 +#: netbox/dcim/models/devices.py:1456 msgid "virtual device contexts" msgstr "" -#: netbox/dcim/models/devices.py:1484 +#: netbox/dcim/models/devices.py:1485 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: netbox/dcim/models/devices.py:1490 +#: netbox/dcim/models/devices.py:1491 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" -#: netbox/dcim/models/devices.py:1522 +#: netbox/dcim/models/devices.py:1523 msgid "MAC addresses" msgstr "" -#: netbox/dcim/models/devices.py:1551 +#: netbox/dcim/models/devices.py:1552 msgid "" "Cannot unassign MAC Address while it is designated as the primary MAC for an " "object" msgstr "" -#: netbox/dcim/models/devices.py:1555 +#: netbox/dcim/models/devices.py:1556 msgid "" "Cannot reassign MAC Address while it is designated as the primary MAC for an " "object" @@ -6975,13 +6985,13 @@ msgid "Reachable" msgstr "" #: netbox/dcim/tables/devices.py:69 netbox/dcim/tables/devices.py:117 -#: netbox/dcim/tables/racks.py:149 netbox/dcim/tables/sites.py:105 -#: netbox/dcim/tables/sites.py:148 netbox/extras/tables/tables.py:545 +#: netbox/dcim/tables/racks.py:149 netbox/dcim/tables/sites.py:104 +#: netbox/dcim/tables/sites.py:147 netbox/extras/tables/tables.py:545 #: netbox/netbox/navigation/menu.py:69 netbox/netbox/navigation/menu.py:73 #: netbox/netbox/navigation/menu.py:75 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:87 -#: netbox/virtualization/views.py:218 +#: netbox/virtualization/views.py:216 msgid "Devices" msgstr "" @@ -6992,14 +7002,12 @@ msgstr "" #: netbox/dcim/tables/devices.py:111 netbox/dcim/tables/devices.py:226 #: netbox/extras/forms/model_forms.py:630 netbox/templates/dcim/device.html:112 -#: netbox/templates/dcim/device/render_config.html:11 -#: netbox/templates/dcim/device/render_config.html:14 #: netbox/templates/dcim/devicerole.html:44 #: netbox/templates/dcim/platform.html:41 #: netbox/templates/extras/configtemplate.html:10 +#: netbox/templates/extras/object_render_config.html:12 +#: netbox/templates/extras/object_render_config.html:15 #: netbox/templates/virtualization/virtualmachine.html:48 -#: netbox/templates/virtualization/virtualmachine/render_config.html:11 -#: netbox/templates/virtualization/virtualmachine/render_config.html:14 #: netbox/virtualization/tables/virtualmachines.py:77 msgid "Config Template" msgstr "" @@ -7057,7 +7065,7 @@ msgid "Power outlets" msgstr "" #: netbox/dcim/tables/devices.py:256 netbox/dcim/tables/devices.py:1112 -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1144 +#: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1144 #: netbox/dcim/views.py:1388 netbox/dcim/views.py:2139 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:258 #: netbox/templates/dcim/device/base.html:37 @@ -7070,7 +7078,7 @@ msgstr "" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:71 -#: netbox/virtualization/views.py:383 netbox/wireless/tables/wirelesslan.py:63 +#: netbox/virtualization/views.py:381 netbox/wireless/tables/wirelesslan.py:63 msgid "Interfaces" msgstr "" @@ -7095,8 +7103,8 @@ msgstr "" msgid "Module Bay" msgstr "" -#: netbox/dcim/tables/devices.py:327 netbox/dcim/tables/devicetypes.py:47 -#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1219 +#: netbox/dcim/tables/devices.py:327 netbox/dcim/tables/devicetypes.py:52 +#: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1219 #: netbox/dcim/views.py:2237 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -7154,7 +7162,7 @@ msgstr "" msgid "Tunnel" msgstr "" -#: netbox/dcim/tables/devices.py:625 netbox/dcim/tables/devicetypes.py:229 +#: netbox/dcim/tables/devices.py:625 netbox/dcim/tables/devicetypes.py:234 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "" @@ -7183,7 +7191,7 @@ msgstr "" msgid "Module Status" msgstr "" -#: netbox/dcim/tables/devices.py:973 netbox/dcim/tables/devicetypes.py:314 +#: netbox/dcim/tables/devices.py:973 netbox/dcim/tables/devicetypes.py:319 #: netbox/templates/dcim/inventoryitem.html:44 msgid "Component" msgstr "" @@ -7192,41 +7200,46 @@ msgstr "" msgid "Items" msgstr "" -#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:60 +#: netbox/netbox/navigation/menu.py:62 +msgid "Rack Types" +msgstr "" + +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:47 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:57 netbox/extras/forms/filtersets.py:378 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "" -#: netbox/dcim/tables/devicetypes.py:84 +#: netbox/dcim/tables/devicetypes.py:89 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "" -#: netbox/dcim/tables/devicetypes.py:88 +#: netbox/dcim/tables/devicetypes.py:93 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "" -#: netbox/dcim/tables/devicetypes.py:98 +#: netbox/dcim/tables/devicetypes.py:103 msgid "U Height" msgstr "" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:118 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:1084 +#: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1084 #: netbox/dcim/views.py:1328 netbox/dcim/views.py:2075 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -7237,7 +7250,7 @@ msgstr "" msgid "Console Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:1099 +#: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1099 #: netbox/dcim/views.py:1343 netbox/dcim/views.py:2091 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -7248,7 +7261,7 @@ msgstr "" msgid "Console Server Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1114 +#: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1114 #: netbox/dcim/views.py:1358 netbox/dcim/views.py:2107 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -7259,7 +7272,7 @@ msgstr "" msgid "Power Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1129 +#: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1129 #: netbox/dcim/views.py:1373 netbox/dcim/views.py:2123 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -7270,7 +7283,7 @@ msgstr "" msgid "Power Outlets" msgstr "" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1159 +#: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1159 #: netbox/dcim/views.py:1403 netbox/dcim/views.py:2161 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -7280,7 +7293,7 @@ msgstr "" msgid "Front Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1174 +#: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1174 #: netbox/dcim/views.py:1418 netbox/dcim/views.py:2177 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -7291,7 +7304,7 @@ msgstr "" msgid "Rear Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1204 +#: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1204 #: netbox/dcim/views.py:2217 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -7299,7 +7312,7 @@ msgstr "" msgid "Device Bays" msgstr "" -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1189 +#: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1189 #: netbox/dcim/views.py:1433 netbox/dcim/views.py:2197 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7323,7 +7336,7 @@ msgstr "" msgid "Available Power (VA)" msgstr "" -#: netbox/dcim/tables/racks.py:30 netbox/dcim/tables/sites.py:143 +#: netbox/dcim/tables/racks.py:30 netbox/dcim/tables/sites.py:142 #: netbox/netbox/navigation/menu.py:43 netbox/netbox/navigation/menu.py:47 #: netbox/netbox/navigation/menu.py:49 msgid "Racks" @@ -7354,7 +7367,7 @@ msgid "Space" msgstr "" #: netbox/dcim/tables/sites.py:30 netbox/dcim/tables/sites.py:57 -#: netbox/extras/forms/filtersets.py:351 netbox/extras/forms/model_forms.py:517 +#: netbox/extras/forms/filtersets.py:358 netbox/extras/forms/model_forms.py:517 #: netbox/ipam/forms/bulk_edit.py:134 netbox/ipam/forms/model_forms.py:159 #: netbox/ipam/tables/asn.py:66 netbox/netbox/navigation/menu.py:15 #: netbox/netbox/navigation/menu.py:17 @@ -7365,16 +7378,16 @@ msgstr "" msgid "Test case must set peer_termination_type" msgstr "" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:137 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "" -#: netbox/dcim/views.py:826 netbox/netbox/navigation/menu.py:51 +#: netbox/dcim/views.py:825 netbox/netbox/navigation/menu.py:51 msgid "Reservations" msgstr "" -#: netbox/dcim/views.py:845 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:844 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "" @@ -7382,50 +7395,45 @@ msgstr "" #: netbox/dcim/views.py:2250 netbox/extras/forms/model_forms.py:577 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:232 -#: netbox/virtualization/views.py:424 +#: netbox/virtualization/views.py:422 msgid "Config Context" msgstr "" -#: netbox/dcim/views.py:2260 netbox/virtualization/views.py:434 +#: netbox/dcim/views.py:2260 netbox/virtualization/views.py:432 msgid "Render Config" msgstr "" -#: netbox/dcim/views.py:2295 netbox/virtualization/views.py:469 -#, python-brace-format -msgid "An error occurred while rendering the template: {error}" -msgstr "" - -#: netbox/dcim/views.py:2313 netbox/extras/tables/tables.py:550 +#: netbox/dcim/views.py:2273 netbox/extras/tables/tables.py:550 #: netbox/netbox/navigation/menu.py:255 netbox/netbox/navigation/menu.py:257 -#: netbox/virtualization/views.py:192 +#: netbox/virtualization/views.py:190 msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:3146 +#: netbox/dcim/views.py:3106 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3187 +#: netbox/dcim/views.py:3147 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3303 netbox/ipam/tables/ip.py:180 +#: netbox/dcim/views.py:3263 netbox/ipam/tables/ip.py:180 msgid "Children" msgstr "" -#: netbox/dcim/views.py:3770 +#: netbox/dcim/views.py:3730 #, python-brace-format msgid "Added member {device}" msgstr "" -#: netbox/dcim/views.py:3819 +#: netbox/dcim/views.py:3779 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: netbox/dcim/views.py:3832 +#: netbox/dcim/views.py:3792 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" @@ -7544,15 +7552,15 @@ msgstr "" msgid "Alphabetical (Z-A)" msgstr "" -#: netbox/extras/choices.py:144 netbox/extras/choices.py:167 +#: netbox/extras/choices.py:144 netbox/extras/choices.py:165 msgid "Info" msgstr "" -#: netbox/extras/choices.py:145 netbox/extras/choices.py:168 +#: netbox/extras/choices.py:145 netbox/extras/choices.py:166 msgid "Success" msgstr "" -#: netbox/extras/choices.py:146 netbox/extras/choices.py:169 +#: netbox/extras/choices.py:146 netbox/extras/choices.py:167 msgid "Warning" msgstr "" @@ -7560,27 +7568,15 @@ msgstr "" msgid "Danger" msgstr "" -#: netbox/extras/choices.py:165 +#: netbox/extras/choices.py:164 msgid "Debug" msgstr "" -#: netbox/extras/choices.py:166 netbox/netbox/choices.py:103 -msgid "Default" -msgstr "" - -#: netbox/extras/choices.py:170 +#: netbox/extras/choices.py:168 msgid "Failure" msgstr "" -#: netbox/extras/choices.py:187 -msgid "12 hours" -msgstr "" - -#: netbox/extras/choices.py:190 -msgid "30 days" -msgstr "" - -#: netbox/extras/choices.py:226 +#: netbox/extras/choices.py:213 #: netbox/templates/dcim/virtualchassis_edit.html:107 #: netbox/templates/generic/bulk_add_component.html:68 #: netbox/templates/generic/object_edit.html:47 @@ -7590,11 +7586,11 @@ msgstr "" msgid "Create" msgstr "" -#: netbox/extras/choices.py:227 +#: netbox/extras/choices.py:214 msgid "Update" msgstr "" -#: netbox/extras/choices.py:228 +#: netbox/extras/choices.py:215 #: netbox/templates/circuits/inc/circuit_termination.html:23 #: netbox/templates/dcim/inc/panels/inventory_items.html:37 #: netbox/templates/dcim/powerpanel.html:66 @@ -7609,82 +7605,82 @@ msgstr "" msgid "Delete" msgstr "" -#: netbox/extras/choices.py:252 netbox/netbox/choices.py:59 +#: netbox/extras/choices.py:239 netbox/netbox/choices.py:59 #: netbox/netbox/choices.py:104 msgid "Blue" msgstr "" -#: netbox/extras/choices.py:253 netbox/netbox/choices.py:58 +#: netbox/extras/choices.py:240 netbox/netbox/choices.py:58 #: netbox/netbox/choices.py:105 msgid "Indigo" msgstr "" -#: netbox/extras/choices.py:254 netbox/netbox/choices.py:56 +#: netbox/extras/choices.py:241 netbox/netbox/choices.py:56 #: netbox/netbox/choices.py:106 msgid "Purple" msgstr "" -#: netbox/extras/choices.py:255 netbox/netbox/choices.py:53 +#: netbox/extras/choices.py:242 netbox/netbox/choices.py:53 #: netbox/netbox/choices.py:107 msgid "Pink" msgstr "" -#: netbox/extras/choices.py:256 netbox/netbox/choices.py:52 +#: netbox/extras/choices.py:243 netbox/netbox/choices.py:52 #: netbox/netbox/choices.py:108 msgid "Red" msgstr "" -#: netbox/extras/choices.py:257 netbox/netbox/choices.py:70 +#: netbox/extras/choices.py:244 netbox/netbox/choices.py:70 #: netbox/netbox/choices.py:109 msgid "Orange" msgstr "" -#: netbox/extras/choices.py:258 netbox/netbox/choices.py:68 +#: netbox/extras/choices.py:245 netbox/netbox/choices.py:68 #: netbox/netbox/choices.py:110 msgid "Yellow" msgstr "" -#: netbox/extras/choices.py:259 netbox/netbox/choices.py:65 +#: netbox/extras/choices.py:246 netbox/netbox/choices.py:65 #: netbox/netbox/choices.py:111 msgid "Green" msgstr "" -#: netbox/extras/choices.py:260 netbox/netbox/choices.py:62 +#: netbox/extras/choices.py:247 netbox/netbox/choices.py:62 #: netbox/netbox/choices.py:112 msgid "Teal" msgstr "" -#: netbox/extras/choices.py:261 netbox/netbox/choices.py:61 +#: netbox/extras/choices.py:248 netbox/netbox/choices.py:61 #: netbox/netbox/choices.py:113 msgid "Cyan" msgstr "" -#: netbox/extras/choices.py:262 netbox/netbox/choices.py:114 +#: netbox/extras/choices.py:249 netbox/netbox/choices.py:114 msgid "Gray" msgstr "" -#: netbox/extras/choices.py:263 netbox/netbox/choices.py:76 +#: netbox/extras/choices.py:250 netbox/netbox/choices.py:76 #: netbox/netbox/choices.py:115 msgid "Black" msgstr "" -#: netbox/extras/choices.py:264 netbox/netbox/choices.py:77 +#: netbox/extras/choices.py:251 netbox/netbox/choices.py:77 #: netbox/netbox/choices.py:116 msgid "White" msgstr "" -#: netbox/extras/choices.py:279 netbox/extras/forms/model_forms.py:353 +#: netbox/extras/choices.py:266 netbox/extras/forms/model_forms.py:353 #: netbox/extras/forms/model_forms.py:430 #: netbox/templates/extras/webhook.html:10 msgid "Webhook" msgstr "" -#: netbox/extras/choices.py:280 netbox/extras/forms/model_forms.py:418 +#: netbox/extras/choices.py:267 netbox/extras/forms/model_forms.py:418 #: netbox/templates/extras/script/base.html:29 msgid "Script" msgstr "" -#: netbox/extras/choices.py:281 +#: netbox/extras/choices.py:268 msgid "Notification" msgstr "" @@ -7859,60 +7855,60 @@ msgstr "" msgid "Tag (slug)" msgstr "" -#: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:429 +#: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:437 msgid "Has local config context data" msgstr "" -#: netbox/extras/forms/bulk_edit.py:35 netbox/extras/forms/filtersets.py:60 +#: netbox/extras/forms/bulk_edit.py:35 netbox/extras/forms/filtersets.py:61 msgid "Group name" msgstr "" -#: netbox/extras/forms/bulk_edit.py:43 netbox/extras/forms/filtersets.py:68 +#: netbox/extras/forms/bulk_edit.py:43 netbox/extras/forms/filtersets.py:69 #: netbox/extras/tables/tables.py:65 #: netbox/templates/extras/customfield.html:38 #: netbox/templates/generic/bulk_import.html:118 msgid "Required" msgstr "" -#: netbox/extras/forms/bulk_edit.py:48 netbox/extras/forms/filtersets.py:75 +#: netbox/extras/forms/bulk_edit.py:48 netbox/extras/forms/filtersets.py:76 msgid "Must be unique" msgstr "" #: netbox/extras/forms/bulk_edit.py:61 netbox/extras/forms/bulk_import.py:60 -#: netbox/extras/forms/filtersets.py:89 +#: netbox/extras/forms/filtersets.py:90 #: netbox/extras/models/customfields.py:209 msgid "UI visible" msgstr "" #: netbox/extras/forms/bulk_edit.py:66 netbox/extras/forms/bulk_import.py:66 -#: netbox/extras/forms/filtersets.py:94 +#: netbox/extras/forms/filtersets.py:95 #: netbox/extras/models/customfields.py:216 msgid "UI editable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:71 netbox/extras/forms/filtersets.py:97 +#: netbox/extras/forms/bulk_edit.py:71 netbox/extras/forms/filtersets.py:98 msgid "Is cloneable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:76 netbox/extras/forms/filtersets.py:104 +#: netbox/extras/forms/bulk_edit.py:76 netbox/extras/forms/filtersets.py:105 msgid "Minimum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:108 +#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:109 msgid "Maximum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:84 netbox/extras/forms/filtersets.py:112 +#: netbox/extras/forms/bulk_edit.py:84 netbox/extras/forms/filtersets.py:113 msgid "Validation regex" msgstr "" -#: netbox/extras/forms/bulk_edit.py:91 netbox/extras/forms/filtersets.py:46 +#: netbox/extras/forms/bulk_edit.py:91 netbox/extras/forms/filtersets.py:47 #: netbox/extras/forms/model_forms.py:76 #: netbox/templates/extras/customfield.html:70 msgid "Behavior" msgstr "" -#: netbox/extras/forms/bulk_edit.py:128 netbox/extras/forms/filtersets.py:149 +#: netbox/extras/forms/bulk_edit.py:128 netbox/extras/forms/filtersets.py:152 msgid "New window" msgstr "" @@ -7920,31 +7916,31 @@ msgstr "" msgid "Button class" msgstr "" -#: netbox/extras/forms/bulk_edit.py:154 netbox/extras/forms/filtersets.py:187 +#: netbox/extras/forms/bulk_edit.py:154 netbox/extras/forms/filtersets.py:191 #: netbox/extras/models/models.py:409 msgid "MIME type" msgstr "" -#: netbox/extras/forms/bulk_edit.py:159 netbox/extras/forms/filtersets.py:190 +#: netbox/extras/forms/bulk_edit.py:159 netbox/extras/forms/filtersets.py:194 msgid "File extension" msgstr "" -#: netbox/extras/forms/bulk_edit.py:164 netbox/extras/forms/filtersets.py:194 +#: netbox/extras/forms/bulk_edit.py:164 netbox/extras/forms/filtersets.py:198 msgid "As attachment" msgstr "" -#: netbox/extras/forms/bulk_edit.py:192 netbox/extras/forms/filtersets.py:236 +#: netbox/extras/forms/bulk_edit.py:192 netbox/extras/forms/filtersets.py:242 #: netbox/extras/tables/tables.py:256 #: netbox/templates/extras/savedfilter.html:29 msgid "Shared" msgstr "" -#: netbox/extras/forms/bulk_edit.py:215 netbox/extras/forms/filtersets.py:265 +#: netbox/extras/forms/bulk_edit.py:215 netbox/extras/forms/filtersets.py:271 #: netbox/extras/models/models.py:174 msgid "HTTP method" msgstr "" -#: netbox/extras/forms/bulk_edit.py:219 netbox/extras/forms/filtersets.py:259 +#: netbox/extras/forms/bulk_edit.py:219 netbox/extras/forms/filtersets.py:265 #: netbox/templates/extras/webhook.html:30 msgid "Payload URL" msgstr "" @@ -7973,8 +7969,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:37 netbox/extras/forms/bulk_import.py:118 #: netbox/extras/forms/bulk_import.py:139 #: netbox/extras/forms/bulk_import.py:162 -#: netbox/extras/forms/bulk_import.py:186 netbox/extras/forms/filtersets.py:137 -#: netbox/extras/forms/filtersets.py:224 netbox/extras/forms/model_forms.py:47 +#: netbox/extras/forms/bulk_import.py:186 netbox/extras/forms/filtersets.py:140 +#: netbox/extras/forms/filtersets.py:230 netbox/extras/forms/model_forms.py:47 #: netbox/extras/forms/model_forms.py:205 #: netbox/extras/forms/model_forms.py:237 #: netbox/extras/forms/model_forms.py:278 @@ -7995,8 +7991,8 @@ msgstr "" msgid "Field data type (e.g. text, integer, etc.)" msgstr "" -#: netbox/extras/forms/bulk_import.py:47 netbox/extras/forms/filtersets.py:208 -#: netbox/extras/forms/filtersets.py:281 netbox/extras/forms/model_forms.py:304 +#: netbox/extras/forms/bulk_import.py:47 netbox/extras/forms/filtersets.py:213 +#: netbox/extras/forms/filtersets.py:287 netbox/extras/forms/model_forms.py:304 #: netbox/extras/forms/model_forms.py:341 netbox/tenancy/forms/filtersets.py:92 msgid "Object type" msgstr "" @@ -8005,7 +8001,7 @@ msgstr "" msgid "Object type (for object or multi-object fields)" msgstr "" -#: netbox/extras/forms/bulk_import.py:53 netbox/extras/forms/filtersets.py:84 +#: netbox/extras/forms/bulk_import.py:53 netbox/extras/forms/filtersets.py:85 msgid "Choice set" msgstr "" @@ -8097,87 +8093,87 @@ msgstr "" msgid "Group names separated by commas, encased with double quotes" msgstr "" -#: netbox/extras/forms/filtersets.py:52 netbox/extras/forms/model_forms.py:56 +#: netbox/extras/forms/filtersets.py:53 netbox/extras/forms/model_forms.py:56 msgid "Related object type" msgstr "" -#: netbox/extras/forms/filtersets.py:57 +#: netbox/extras/forms/filtersets.py:58 msgid "Field type" msgstr "" -#: netbox/extras/forms/filtersets.py:120 netbox/extras/forms/model_forms.py:157 +#: netbox/extras/forms/filtersets.py:122 netbox/extras/forms/model_forms.py:157 #: netbox/extras/tables/tables.py:91 #: netbox/templates/generic/bulk_import.html:154 msgid "Choices" msgstr "" -#: netbox/extras/forms/filtersets.py:164 netbox/extras/forms/filtersets.py:319 -#: netbox/extras/forms/filtersets.py:408 netbox/extras/forms/model_forms.py:572 +#: netbox/extras/forms/filtersets.py:168 netbox/extras/forms/filtersets.py:326 +#: netbox/extras/forms/filtersets.py:416 netbox/extras/forms/model_forms.py:572 #: netbox/templates/core/job.html:96 netbox/templates/extras/eventrule.html:84 msgid "Data" msgstr "" -#: netbox/extras/forms/filtersets.py:175 netbox/extras/forms/filtersets.py:333 -#: netbox/extras/forms/filtersets.py:418 netbox/netbox/choices.py:132 +#: netbox/extras/forms/filtersets.py:179 netbox/extras/forms/filtersets.py:340 +#: netbox/extras/forms/filtersets.py:426 netbox/netbox/choices.py:132 #: netbox/utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "" -#: netbox/extras/forms/filtersets.py:183 +#: netbox/extras/forms/filtersets.py:187 msgid "Content types" msgstr "" -#: netbox/extras/forms/filtersets.py:255 netbox/extras/models/models.py:179 +#: netbox/extras/forms/filtersets.py:261 netbox/extras/models/models.py:179 msgid "HTTP content type" msgstr "" -#: netbox/extras/forms/filtersets.py:286 +#: netbox/extras/forms/filtersets.py:292 msgid "Event type" msgstr "" -#: netbox/extras/forms/filtersets.py:291 +#: netbox/extras/forms/filtersets.py:297 msgid "Action type" msgstr "" -#: netbox/extras/forms/filtersets.py:307 +#: netbox/extras/forms/filtersets.py:313 msgid "Tagged object type" msgstr "" -#: netbox/extras/forms/filtersets.py:312 +#: netbox/extras/forms/filtersets.py:318 msgid "Allowed object type" msgstr "" -#: netbox/extras/forms/filtersets.py:341 netbox/extras/forms/model_forms.py:507 +#: netbox/extras/forms/filtersets.py:348 netbox/extras/forms/model_forms.py:507 #: netbox/netbox/navigation/menu.py:18 msgid "Regions" msgstr "" -#: netbox/extras/forms/filtersets.py:346 netbox/extras/forms/model_forms.py:512 +#: netbox/extras/forms/filtersets.py:353 netbox/extras/forms/model_forms.py:512 msgid "Site groups" msgstr "" -#: netbox/extras/forms/filtersets.py:356 netbox/extras/forms/model_forms.py:522 +#: netbox/extras/forms/filtersets.py:363 netbox/extras/forms/model_forms.py:522 #: netbox/netbox/navigation/menu.py:20 netbox/templates/dcim/site.html:127 msgid "Locations" msgstr "" -#: netbox/extras/forms/filtersets.py:361 netbox/extras/forms/model_forms.py:527 +#: netbox/extras/forms/filtersets.py:368 netbox/extras/forms/model_forms.py:527 msgid "Device types" msgstr "" -#: netbox/extras/forms/filtersets.py:366 netbox/extras/forms/model_forms.py:532 +#: netbox/extras/forms/filtersets.py:373 netbox/extras/forms/model_forms.py:532 msgid "Roles" msgstr "" -#: netbox/extras/forms/filtersets.py:376 netbox/extras/forms/model_forms.py:542 +#: netbox/extras/forms/filtersets.py:383 netbox/extras/forms/model_forms.py:542 msgid "Cluster types" msgstr "" -#: netbox/extras/forms/filtersets.py:381 netbox/extras/forms/model_forms.py:547 +#: netbox/extras/forms/filtersets.py:388 netbox/extras/forms/model_forms.py:547 msgid "Cluster groups" msgstr "" -#: netbox/extras/forms/filtersets.py:386 netbox/extras/forms/model_forms.py:552 +#: netbox/extras/forms/filtersets.py:393 netbox/extras/forms/model_forms.py:552 #: netbox/netbox/navigation/menu.py:263 netbox/netbox/navigation/menu.py:265 #: netbox/templates/virtualization/clustertype.html:30 #: netbox/virtualization/tables/clusters.py:23 @@ -8185,7 +8181,7 @@ msgstr "" msgid "Clusters" msgstr "" -#: netbox/extras/forms/filtersets.py:391 netbox/extras/forms/model_forms.py:557 +#: netbox/extras/forms/filtersets.py:398 netbox/extras/forms/model_forms.py:557 msgid "Tenant groups" msgstr "" @@ -9255,12 +9251,11 @@ msgstr "" #: netbox/extras/tables/tables.py:195 netbox/extras/tables/tables.py:487 #: netbox/extras/tables/tables.py:522 netbox/templates/core/datafile.html:24 -#: netbox/templates/dcim/device/render_config.html:22 #: netbox/templates/extras/configcontext.html:39 #: netbox/templates/extras/configtemplate.html:31 #: netbox/templates/extras/exporttemplate.html:45 +#: netbox/templates/extras/object_render_config.html:23 #: netbox/templates/generic/bulk_import.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:22 msgid "Data File" msgstr "" @@ -9351,27 +9346,32 @@ msgstr "" msgid "Invalid attribute \"{name}\" for {model}" msgstr "" -#: netbox/extras/views.py:1029 +#: netbox/extras/views.py:933 +#, python-brace-format +msgid "An error occurred while rendering the template: {error}" +msgstr "" + +#: netbox/extras/views.py:1085 msgid "Your dashboard has been reset." msgstr "" -#: netbox/extras/views.py:1075 +#: netbox/extras/views.py:1131 msgid "Added widget: " msgstr "" -#: netbox/extras/views.py:1116 +#: netbox/extras/views.py:1172 msgid "Updated widget: " msgstr "" -#: netbox/extras/views.py:1152 +#: netbox/extras/views.py:1208 msgid "Deleted widget: " msgstr "" -#: netbox/extras/views.py:1154 +#: netbox/extras/views.py:1210 msgid "Error deleting widget: " msgstr "" -#: netbox/extras/views.py:1244 +#: netbox/extras/views.py:1300 msgid "Unable to run script: RQ worker process not running." msgstr "" @@ -9940,7 +9940,7 @@ msgstr "" #: netbox/ipam/forms/filtersets.py:419 netbox/ipam/models/vlans.py:273 #: netbox/ipam/tables/ip.py:122 netbox/ipam/tables/vlans.py:51 -#: netbox/ipam/views.py:1035 netbox/netbox/navigation/menu.py:199 +#: netbox/ipam/views.py:1036 netbox/netbox/navigation/menu.py:199 #: netbox/netbox/navigation/menu.py:201 msgid "VLANs" msgstr "" @@ -10652,15 +10652,15 @@ msgstr "" msgid "Child Ranges" msgstr "" -#: netbox/ipam/views.py:957 +#: netbox/ipam/views.py:958 msgid "Related IPs" msgstr "" -#: netbox/ipam/views.py:1314 +#: netbox/ipam/views.py:1315 msgid "Device Interfaces" msgstr "" -#: netbox/ipam/views.py:1332 +#: netbox/ipam/views.py:1333 msgid "VM Interfaces" msgstr "" @@ -10766,6 +10766,10 @@ msgstr "" msgid "Dark Grey" msgstr "" +#: netbox/netbox/choices.py:103 netbox/templates/extras/script_result.html:56 +msgid "Default" +msgstr "" + #: netbox/netbox/choices.py:130 msgid "Direct" msgstr "" @@ -11143,10 +11147,6 @@ msgstr "" msgid "Elevations" msgstr "" -#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 -msgid "Rack Types" -msgstr "" - #: netbox/netbox/navigation/menu.py:76 msgid "Modules" msgstr "" @@ -11285,7 +11285,7 @@ msgstr "" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:74 -#: netbox/virtualization/views.py:405 +#: netbox/virtualization/views.py:403 msgid "Virtual Disks" msgstr "" @@ -11957,6 +11957,7 @@ msgstr "" #: netbox/templates/extras/webhook.html:75 #: netbox/templates/inc/panel_table.html:13 #: netbox/templates/inc/panels/comments.html:10 +#: netbox/templates/inc/panels/related_objects.html:23 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:56 #: netbox/templates/users/group.html:34 netbox/templates/users/group.html:44 #: netbox/templates/users/objectpermission.html:77 @@ -12838,35 +12839,6 @@ msgstr "" msgid "Add Rear Ports" msgstr "" -#: netbox/templates/dcim/device/render_config.html:5 -#: netbox/templates/virtualization/virtualmachine/render_config.html:5 -msgid "Config" -msgstr "" - -#: netbox/templates/dcim/device/render_config.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:35 -msgid "Context Data" -msgstr "" - -#: netbox/templates/dcim/device/render_config.html:55 -#: netbox/templates/virtualization/virtualmachine/render_config.html:55 -msgid "Rendered Config" -msgstr "" - -#: netbox/templates/dcim/device/render_config.html:57 -#: netbox/templates/virtualization/virtualmachine/render_config.html:57 -msgid "Download" -msgstr "" - -#: netbox/templates/dcim/device/render_config.html:64 -#: netbox/templates/virtualization/virtualmachine/render_config.html:64 -msgid "Error rendering template" -msgstr "" - -#: netbox/templates/dcim/device/render_config.html:70 -msgid "No configuration template has been assigned for this device." -msgstr "" - #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" msgstr "" @@ -13666,6 +13638,30 @@ msgstr "" msgid "New Journal Entry" msgstr "" +#: netbox/templates/extras/object_render_config.html:6 +msgid "Config" +msgstr "" + +#: netbox/templates/extras/object_render_config.html:36 +msgid "Context Data" +msgstr "" + +#: netbox/templates/extras/object_render_config.html:56 +msgid "Rendered Config" +msgstr "" + +#: netbox/templates/extras/object_render_config.html:58 +msgid "Download" +msgstr "" + +#: netbox/templates/extras/object_render_config.html:65 +msgid "Error rendering template" +msgstr "" + +#: netbox/templates/extras/object_render_config.html:71 +msgid "No configuration template has been assigned." +msgstr "" + #: netbox/templates/extras/report/base.html:30 msgid "Report" msgstr "" @@ -13750,7 +13746,7 @@ msgstr "" msgid "Tagged Item Types" msgstr "" -#: netbox/templates/extras/tag.html:81 +#: netbox/templates/extras/tag.html:82 msgid "Tagged Objects" msgstr "" @@ -14514,10 +14510,6 @@ msgstr "" msgid "Add Virtual Disk" msgstr "" -#: netbox/templates/virtualization/virtualmachine/render_config.html:70 -msgid "No configuration template has been assigned for this virtual machine." -msgstr "" - #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 msgid "IKE Policy" @@ -15487,6 +15479,10 @@ msgid "" "be used on views which define a base queryset" msgstr "" +#: netbox/virtualization/choices.py:50 +msgid "Paused" +msgstr "" + #: netbox/virtualization/filtersets.py:45 msgid "Parent group (ID)" msgstr "" @@ -15518,7 +15514,7 @@ msgstr "" msgid "Disk (MB)" msgstr "" -#: netbox/virtualization/forms/bulk_edit.py:316 +#: netbox/virtualization/forms/bulk_edit.py:324 #: netbox/virtualization/forms/filtersets.py:256 msgid "Size (MB)" msgstr "" @@ -15694,12 +15690,12 @@ msgstr "" msgid "virtual disks" msgstr "" -#: netbox/virtualization/views.py:291 +#: netbox/virtualization/views.py:289 #, python-brace-format msgid "Added {count} devices to cluster {cluster}" msgstr "" -#: netbox/virtualization/views.py:326 +#: netbox/virtualization/views.py:324 #, python-brace-format msgid "Removed {count} devices from cluster {cluster}" msgstr "" diff --git a/netbox/translations/es/LC_MESSAGES/django.mo b/netbox/translations/es/LC_MESSAGES/django.mo index 34276d700..29c90fab3 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 ac64fe203..484bfc5da 100644 --- a/netbox/translations/es/LC_MESSAGES/django.po +++ b/netbox/translations/es/LC_MESSAGES/django.po @@ -25,7 +25,7 @@ msgstr "" #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 #: netbox/users/forms/model_forms.py:112 msgid "Key" -msgstr "Llave" +msgstr "Clave" #: netbox/account/tables.py:31 netbox/users/forms/filtersets.py:132 msgid "Write Enabled" @@ -61,7 +61,7 @@ msgstr "Utilizado por última vez" #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 #: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" -msgstr "IPs permitidas" +msgstr "IP permitidas" #: netbox/account/views.py:114 #, python-brace-format @@ -117,7 +117,7 @@ msgstr "Activo" #: netbox/dcim/choices.py:1659 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" -msgstr "Desconectado" +msgstr "Fuera de línea" #: netbox/circuits/choices.py:25 msgid "Deprovisioning" @@ -125,7 +125,7 @@ msgstr "Desaprovisionamiento" #: netbox/circuits/choices.py:26 msgid "Decommissioned" -msgstr "Desmantelado" +msgstr "Retirado" #: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1619 #: netbox/tenancy/choices.py:17 @@ -167,7 +167,7 @@ msgstr "Región (ID)" #: netbox/ipam/filtersets.py:968 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" -msgstr "Región (slug)" +msgstr "Región (babosa)" #: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 #: netbox/dcim/filtersets.py:128 netbox/dcim/filtersets.py:225 @@ -261,7 +261,7 @@ msgstr "Sitio" #: netbox/virtualization/filtersets.py:75 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" -msgstr "Sitio (babosa)" +msgstr "Sitio (slug)" #: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" @@ -284,7 +284,7 @@ msgstr "Proveedor (ID)" #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 #: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:251 msgid "Provider (slug)" -msgstr "Proveedor (babosa)" +msgstr "Proveedor (slug)" #: netbox/circuits/filtersets.py:167 msgid "Provider account (ID)" @@ -394,7 +394,7 @@ msgstr "Grupo de circuitos (slug)" #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:175 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" -msgstr "ASNs" +msgstr "ASN" #: netbox/circuits/forms/bulk_edit.py:34 netbox/circuits/forms/bulk_edit.py:56 #: netbox/circuits/forms/bulk_edit.py:83 @@ -1234,7 +1234,7 @@ msgstr "Asignaciones de grupos de circuitos" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "terminación" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1296,15 +1296,11 @@ msgstr "terminaciones de circuitos" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Una terminación de circuito debe conectarse a un sitio o a una red de " -"proveedores." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Una terminación de circuito no puede conectarse tanto a un sitio como a una " -"red de proveedores." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9913,7 +9909,7 @@ msgstr "Gama ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Asignación de sitio/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12769,7 +12765,6 @@ msgstr "Error al renderizar la plantilla" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." msgstr "" -"No se ha asignado ninguna plantilla de configuración para este dispositivo." #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14039,7 +14034,7 @@ msgstr "Centro de ayuda" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Administrador de Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14454,8 +14449,6 @@ msgstr "Agregar disco virtual" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"No se ha asignado ninguna plantilla de configuración para esta máquina " -"virtual." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15576,8 +15569,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} pertenece a un sitio diferente ({device_site}) que el clúster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16317,7 +16308,7 @@ msgstr "enlaces inalámbricos" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "Debe especificar una unidad al configurar una distancia inalámbrica" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo index 1627fe766..a11e5aecf 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 3a698dc00..d11763d39 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -11,8 +11,10 @@ # Jean Benoit , 2024 # thomas rivemale, 2024 # Jeff Gehlbach, 2024 -# Jeremy Stretch, 2024 # marcpaulchand , 2025 +# Jeremy Stretch, 2025 +# Mathieu, 2025 +# Étienne Brunel, 2025 # #, fuzzy msgid "" @@ -21,7 +23,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: marcpaulchand , 2025\n" +"Last-Translator: Étienne Brunel, 2025\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -935,7 +937,7 @@ msgstr "État opérationnel" #: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59 #: netbox/wireless/forms/bulk_import.py:101 msgid "Assigned tenant" -msgstr "Locataire associé" +msgstr "Entité associée" #: netbox/circuits/forms/bulk_import.py:120 #: netbox/templates/circuits/inc/circuit_termination.html:6 @@ -1242,7 +1244,7 @@ msgstr "Assignations de groupes de circuits" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "résiliation" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1304,15 +1306,11 @@ msgstr "terminaisons de circuits" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Une terminaison de circuit doit être connectée à un site ou à un réseau " -"fournisseur." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Une terminaison de circuit ne peut pas être connectée à la fois à un site et" -" à un réseau fournisseur." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -3205,7 +3203,7 @@ msgstr "Est un membre virtuel du châssis" #: netbox/dcim/filtersets.py:1164 msgid "OOB IP (ID)" -msgstr "ASTUCE SUR L'EMPLOI (ID)" +msgstr "GESTION HORS BANDE (ID)" #: netbox/dcim/filtersets.py:1168 msgid "Has virtual device context" @@ -3334,7 +3332,7 @@ msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1032 #: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" -msgstr "L2VPN (IDENTIFIANT)" +msgstr "L2VPN (ID)" #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 #: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1038 @@ -3380,7 +3378,7 @@ msgstr "Contexte du périphérique virtuel" #: netbox/dcim/filtersets.py:1719 msgid "Virtual Device Context (Identifier)" -msgstr "Contexte du périphérique virtuel (identifiant)" +msgstr "Contexte du périphérique virtuel (Identifiant)" #: netbox/dcim/filtersets.py:1730 #: netbox/templates/wireless/wirelesslan.html:11 @@ -3418,12 +3416,12 @@ msgstr "Master (nom)" #: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" -msgstr "Locataire (ID)" +msgstr "Entité (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 #: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" -msgstr "Locataire (slug)" +msgstr "Entité (slug)" #: netbox/dcim/filtersets.py:1981 netbox/dcim/forms/filtersets.py:1077 msgid "Unterminated" @@ -3474,7 +3472,7 @@ msgstr "Téléphone de contact" #: netbox/dcim/forms/bulk_edit.py:144 msgid "Contact E-mail" -msgstr "Adresse électronique de contact" +msgstr "Adresse mail de contact" #: netbox/dcim/forms/bulk_edit.py:147 netbox/dcim/forms/bulk_import.py:123 #: netbox/dcim/forms/model_forms.py:128 @@ -3691,7 +3689,7 @@ msgstr "Étiquette d'actif" #: netbox/templates/dcim/moduletype.html:41 netbox/templates/dcim/rack.html:65 #: netbox/templates/dcim/racktype.html:28 msgid "Airflow" -msgstr "Débit d'air" +msgstr "Flux d'air" #: netbox/dcim/forms/bulk_edit.py:446 netbox/dcim/forms/bulk_edit.py:925 #: netbox/dcim/forms/bulk_import.py:344 netbox/dcim/forms/bulk_import.py:347 @@ -3732,7 +3730,7 @@ msgstr "Plateforme par défaut" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:570 #: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/filtersets.py:622 msgid "Part number" -msgstr "Numéro de pièce" +msgstr "Référence de pièce" #: netbox/dcim/forms/bulk_edit.py:515 msgid "U height" @@ -4233,7 +4231,7 @@ msgstr "Unité de poids de la baie" #: netbox/dcim/forms/bulk_import.py:245 msgid "Name of assigned tenant" -msgstr "Nom du locataire associé" +msgstr "Nom de l'entité associée" #: netbox/dcim/forms/bulk_import.py:257 msgid "Name of assigned role" @@ -4250,11 +4248,11 @@ msgstr "Direction du flux d'air" #: netbox/dcim/forms/bulk_import.py:324 msgid "Width must be set if not specifying a rack type." -msgstr "" +msgstr "La largeur doit être définie si aucun type de rack n'est spécifié." #: netbox/dcim/forms/bulk_import.py:326 msgid "U height must be set if not specifying a rack type." -msgstr "" +msgstr "La hauteur U doit être définie si aucun type de rack n'est spécifié." #: netbox/dcim/forms/bulk_import.py:334 msgid "Parent site" @@ -4340,7 +4338,7 @@ msgstr "Baie attribuée (le cas échéant)" #: netbox/dcim/forms/bulk_import.py:582 msgid "Face" -msgstr "Visage" +msgstr "Orientation" #: netbox/dcim/forms/bulk_import.py:585 msgid "Mounted rack face" @@ -4427,11 +4425,11 @@ msgstr "Interface pour les parents" #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" -msgstr "Interface pontée" +msgstr "Interface switchée" #: netbox/dcim/forms/bulk_import.py:869 msgid "Lag" -msgstr "Retard" +msgstr "Lag" #: netbox/dcim/forms/bulk_import.py:873 msgid "Parent LAG interface" @@ -4460,7 +4458,7 @@ msgstr "Mode PoE" #: netbox/dcim/forms/bulk_import.py:901 msgid "Poe type" -msgstr "Type de poteau" +msgstr "Type de POE" #: netbox/dcim/forms/bulk_import.py:910 #: netbox/virtualization/forms/bulk_import.py:168 @@ -4919,6 +4917,11 @@ msgid "" "present, will be automatically replaced with the position value when " "creating a new module." msgstr "" +"Les plages alphanumériques sont prises en charge pour la création en masse. " +"Les mélanges de casses ou de types au sein d'une même plage ne sont pas pris" +" en charge (exemple : [ge,xe]-0/0/[0-9]). Le jeton " +"{module}, s'il est présent, sera automatiquement remplacé par " +"la valeur de position lors de la création d'un nouveau module." #: netbox/dcim/forms/model_forms.py:1094 msgid "Console port template" @@ -7624,7 +7627,7 @@ msgstr "Type de cluster (slug)" #: netbox/extras/filtersets.py:601 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" -msgstr "Groupe de locataires" +msgstr "Groupe d'entitées" #: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 #: netbox/tenancy/filtersets.py:208 @@ -7988,7 +7991,7 @@ msgstr "Clusters" #: netbox/extras/forms/filtersets.py:391 #: netbox/extras/forms/model_forms.py:557 msgid "Tenant groups" -msgstr "Groupes de locataires" +msgstr "Groupes d'entitées" #: netbox/extras/forms/model_forms.py:49 msgid "The type(s) of object that have this custom field" @@ -8149,7 +8152,7 @@ msgstr "Groupe de notifications" #: netbox/extras/forms/model_forms.py:562 netbox/netbox/navigation/menu.py:26 #: netbox/tenancy/tables/tenants.py:22 msgid "Tenants" -msgstr "Locataires" +msgstr "Entité" #: netbox/extras/forms/model_forms.py:606 msgid "Data is populated from the remote source selected below." @@ -8434,8 +8437,8 @@ msgid "" msgstr "" "Expression régulière à appliquer aux valeurs des champs de texte. Utilisez ^" " et $ pour forcer la mise en correspondance de la chaîne entière. Par " -"exemple, ^ [DE A À Z]{3}$ limitera les valeurs à exactement " -"trois lettres majuscules." +"exemple, ^[A-Z]{3}$ limitera les valeurs à exactement trois " +"lettres majuscules." #: netbox/extras/models/customfields.py:201 msgid "choice set" @@ -8740,10 +8743,9 @@ msgid "" msgstr "" "Modèle Jinja2 pour un corps de requête personnalisé. Si ce champ est vide, " "un objet JSON représentant la modification sera inclus. Les données " -"contextuelles disponibles incluent : événement, " -"modèle, horodatage, nom " -"d'utilisateur, identifiant_demande, et " -"données." +"contextuelles disponibles incluent : event, model," +" timestamp, username, request_id, et " +"data." #: netbox/extras/models/models.py:204 msgid "secret" @@ -8755,10 +8757,10 @@ msgid "" "header containing a HMAC hex digest of the payload body using the secret as " "the key. The secret is not transmitted in the request." msgstr "" -"Lorsqu'elle sera fournie, la demande comprendra un Signature " -"X-Hook en-tête contenant un condensé hexadécimal HMAC du corps de la " -"charge utile en utilisant le secret comme clé. Le secret n'est pas transmis " -"dans la demande." +"Lorsqu'elle sera fournie, la demande comprendra un X-Hook-" +"Signature en-tête contenant un condensé hexadécimal HMAC du corps de " +"la charge utile en utilisant le secret comme clé. Le secret n'est pas " +"transmis dans la demande." #: netbox/extras/models/models.py:215 msgid "Enable SSL certificate verification. Disable with caution!" @@ -8841,13 +8843,11 @@ msgid "" "context variable named queryset." msgstr "" "Code du modèle Jinja2. La liste des objets exportés est transmise sous forme" -" de variable de contexte nommée ensemble de requêtes." +" de variable de contexte nommée queryset." #: netbox/extras/models/models.py:410 msgid "Defaults to text/plain; charset=utf-8" -msgstr "" -"La valeur par défaut est texte/plain ; jeu de caractères = " -"utf-8" +msgstr "La valeur par défaut est text/plain; charset=utf-8" #: netbox/extras/models/models.py:413 msgid "file extension" @@ -9743,11 +9743,11 @@ msgstr "Faites-en l'adresse IP principale de l'appareil attribué" #: netbox/ipam/forms/bulk_import.py:330 msgid "Is out-of-band" -msgstr "" +msgstr "Est hors bande" #: netbox/ipam/forms/bulk_import.py:331 msgid "Designate this as the out-of-band IP address for the assigned device" -msgstr "" +msgstr "Désignez-le comme adresse IP hors bande pour l'appareil attribué" #: netbox/ipam/forms/bulk_import.py:371 msgid "No device or virtual machine specified; cannot set as primary IP" @@ -9758,10 +9758,13 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:375 msgid "No device specified; cannot set as out-of-band IP" msgstr "" +"Aucun appareil n'a été spécifié ; impossible de le définir comme IP hors " +"bande" #: netbox/ipam/forms/bulk_import.py:379 msgid "Cannot set out-of-band IP for virtual machines" msgstr "" +"Impossible de définir une adresse IP hors bande pour les machines virtuelles" #: netbox/ipam/forms/bulk_import.py:383 msgid "No interface specified; cannot set as primary IP" @@ -9772,6 +9775,7 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:387 msgid "No interface specified; cannot set as out-of-band IP" msgstr "" +"Aucune interface spécifiée ; impossible de définir comme IP hors bande" #: netbox/ipam/forms/bulk_import.py:422 msgid "Auth type" @@ -9930,7 +9934,7 @@ msgstr "Plage ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Affectation de site/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -9949,7 +9953,7 @@ msgstr "" #: netbox/ipam/forms/model_forms.py:314 msgid "Make this the out-of-band IP for the device" -msgstr "" +msgstr "Choisissez cette adresse IP hors bande pour l'appareil" #: netbox/ipam/forms/model_forms.py:329 msgid "NAT IP (Inside)" @@ -9962,10 +9966,12 @@ msgstr "Une adresse IP ne peut être attribuée qu'à un seul objet." #: netbox/ipam/forms/model_forms.py:398 msgid "Cannot reassign primary IP address for the parent device/VM" msgstr "" +"Impossible de réattribuer l'adresse IP principale à l'appareil parent/à la " +"machine virtuelle" #: netbox/ipam/forms/model_forms.py:402 msgid "Cannot reassign out-of-Band IP address for the parent device" -msgstr "" +msgstr "Impossible de réattribuer l'adresse IP hors bande à l'appareil parent" #: netbox/ipam/forms/model_forms.py:412 msgid "" @@ -9979,6 +9985,8 @@ msgid "" "Only IP addresses assigned to a device interface can be designated as the " "out-of-band IP for a device." msgstr "" +"Seules les adresses IP attribuées à l'interface d'un appareil peuvent être " +"désignées comme IP hors bande pour un appareil." #: netbox/ipam/forms/model_forms.py:508 msgid "Virtual IP Address" @@ -10389,11 +10397,14 @@ msgstr "Impossible de définir scope_id sans scope_type." #, python-brace-format msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" msgstr "" +"ID de VLAN de démarrage dans la plage ({value}) ne peut pas être inférieur à" +" {minimum}" #: netbox/ipam/models/vlans.py:111 #, python-brace-format msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" msgstr "" +"Fin de l'ID VLAN dans la plage ({value}) ne peut pas dépasser {maximum}" #: netbox/ipam/models/vlans.py:118 #, python-brace-format @@ -10401,6 +10412,8 @@ msgid "" "Ending VLAN ID in range must be greater than or equal to the starting VLAN " "ID ({range})" msgstr "" +"L'ID VLAN final dans la plage doit être supérieur ou égal à l'ID VLAN de " +"départ ({range})" #: netbox/ipam/models/vlans.py:124 msgid "Ranges cannot overlap." @@ -12787,7 +12800,7 @@ msgstr "Télécharger" #: netbox/templates/dcim/device/render_config.html:64 #: netbox/templates/virtualization/virtualmachine/render_config.html:64 msgid "Error rendering template" -msgstr "" +msgstr "Erreur lors du rendu du modèle" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." @@ -13322,8 +13335,8 @@ msgstr "" "installation de NetBox. Ces paquets sont répertoriés dans " "requirements.txt et local_requirements.txt, et " "sont normalement installés dans le cadre du processus d'installation ou de " -"mise à jour. Pour vérifier les paquets installés, exécutez Pip " -"Freeze depuis la console et comparez la sortie à la liste des paquets" +"mise à jour. Pour vérifier les paquets installés, exécutez pip " +"freeze depuis la console et comparez la sortie à la liste des paquets" " requis." #: netbox/templates/exceptions/import_error.html:20 @@ -13661,7 +13674,7 @@ msgstr "Exécutez à nouveau" #: netbox/templates/extras/script_list.html:133 #, python-format msgid "Could not load scripts from module %(module)s" -msgstr "" +msgstr "Impossible de charger les scripts depuis le module %(module)s" #: netbox/templates/extras/script_list.html:141 msgid "No Scripts Found" @@ -14063,7 +14076,7 @@ msgstr "Centre d'aide" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Administrateur Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14900,7 +14913,7 @@ msgid "" msgstr "" "Réseaux IPv4/IPv6 autorisés à partir desquels le jeton peut être utilisé. " "Laissez ce champ vide pour éviter toute restriction. Exemple : " -"10.1.1.0/24 192.168.10,16/32 2001 : db 8:1 : /64" +"10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64" #: netbox/users/forms/model_forms.py:175 msgid "Confirm password" @@ -15192,7 +15205,7 @@ msgid "" "1-5,20-30" msgstr "" "Spécifiez une ou plusieurs plages numériques séparées par des virgules. " -"Exemple : 1 à 5, 20 à 30" +"Exemple : 1-5,20-30" #: netbox/utilities/forms/fields/array.py:47 #, python-brace-format @@ -15594,8 +15607,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} appartient à un autre site ({device_site}) puis le cluster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16338,7 +16349,6 @@ msgstr "liaisons sans fil" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"Vous devez spécifier une unité lors du réglage d'une distance sans fil" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/it/LC_MESSAGES/django.mo b/netbox/translations/it/LC_MESSAGES/django.mo index 4d0136d1a..70dc73ff3 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 3e8dffd16..5ca09b38e 100644 --- a/netbox/translations/it/LC_MESSAGES/django.po +++ b/netbox/translations/it/LC_MESSAGES/django.po @@ -1237,7 +1237,7 @@ msgstr "Assegnazioni di gruppi di circuiti" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "fine" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1299,15 +1299,11 @@ msgstr "terminazioni del circuito" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Una terminazione di circuito deve essere collegata a un sito o alla rete di " -"un provider." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Una terminazione di circuito non può essere collegata sia a un sito che alla" -" rete di un provider." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9936,7 +9932,7 @@ msgstr "Gamma ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Assegnazione sito/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12797,8 +12793,6 @@ msgstr "Errore nel rendering del modello" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." msgstr "" -"Non è stato assegnato alcun modello di configurazione per questo " -"dispositivo." #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14070,7 +14064,7 @@ msgstr "Centro assistenza" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Amministratore Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14485,8 +14479,6 @@ msgstr "Aggiungi disco virtuale" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Non è stato assegnato alcun modello di configurazione per questa macchina " -"virtuale." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15600,8 +15592,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} appartiene a un sito diverso ({device_site}) rispetto al cluster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16344,7 +16334,6 @@ msgstr "collegamenti wireless" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"È necessario specificare un'unità quando si imposta una distanza wireless" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/ja/LC_MESSAGES/django.mo b/netbox/translations/ja/LC_MESSAGES/django.mo index 09ec7de69..cd9706cf0 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 87140691a..6c20b3128 100644 --- a/netbox/translations/ja/LC_MESSAGES/django.po +++ b/netbox/translations/ja/LC_MESSAGES/django.po @@ -5,8 +5,8 @@ # # Translators: # Tatsuya Ueda , 2024 -# teapot, 2024 -# Jeremy Stretch, 2025 +# Jeremy Stretch, 2024 +# teapot, 2025 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2025\n" +"Last-Translator: teapot, 2025\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" @@ -1234,7 +1234,7 @@ msgstr "割当回線グループ" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "終了" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1295,12 +1295,12 @@ msgstr "回線終端" #: netbox/circuits/models/circuits.py:308 msgid "" "A circuit termination must attach to either a site or a provider network." -msgstr "回線終端は、サイトまたはプロバイダーネットワークに接続する必要があります。" +msgstr "" #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." -msgstr "回線終端をサイトとプロバイダーネットワークの両方に接続することはできません。" +msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -1565,7 +1565,7 @@ msgstr "コメント" #: netbox/templates/tenancy/contact.html:84 #: netbox/tenancy/tables/contacts.py:73 msgid "Assignments" -msgstr "アサイメント" +msgstr "割当" #: netbox/circuits/tables/providers.py:23 msgid "Accounts" @@ -1660,7 +1660,7 @@ msgstr "削除" #: netbox/core/constants.py:19 netbox/core/tables/tasks.py:30 msgid "Finished" -msgstr "終了しました" +msgstr "終了済" #: netbox/core/constants.py:21 netbox/core/tables/jobs.py:38 #: netbox/templates/core/job.html:82 @@ -1670,15 +1670,15 @@ msgstr "開始日時" #: netbox/core/constants.py:22 netbox/core/tables/tasks.py:26 msgid "Deferred" -msgstr "延期" +msgstr "延期済" #: netbox/core/constants.py:24 msgid "Stopped" -msgstr "停止しました" +msgstr "停止済" #: netbox/core/constants.py:25 msgid "Cancelled" -msgstr "キャンセルされました" +msgstr "キャンセル済" #: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:88 @@ -1923,7 +1923,7 @@ msgstr "バックエンド設定" #: netbox/core/forms/model_forms.py:96 msgid "File Upload" -msgstr "ファイルのアップロード" +msgstr "アップロード" #: netbox/core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" @@ -1972,7 +1972,7 @@ msgstr "ページネーション" #: netbox/extras/forms/model_forms.py:129 #: netbox/templates/core/inc/config_data.html:93 msgid "Validation" -msgstr "バリデーション" +msgstr "検証" #: netbox/core/forms/model_forms.py:164 #: netbox/templates/account/preferences.html:6 @@ -2045,7 +2045,7 @@ msgstr "このオブジェクトタイプ ({type}) では変更ログはサポ #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 msgid "created" -msgstr "作成日時" +msgstr "作成" #: netbox/core/models/config.py:22 msgid "comment" @@ -2380,7 +2380,7 @@ msgstr "最も古いタスク" #: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:39 msgid "Workers" -msgstr "労働者" +msgstr "ワーカー" #: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88 msgid "Host" @@ -2939,7 +2939,7 @@ msgstr "AS (ID)" #: netbox/dcim/filtersets.py:246 msgid "Parent location (ID)" -msgstr "親の場所 (ID)" +msgstr "親のロケーション (ID)" #: netbox/dcim/filtersets.py:252 msgid "Parent location (slug)" @@ -3052,7 +3052,7 @@ msgstr "電源コンセントがある" #: netbox/dcim/filtersets.py:1147 netbox/dcim/forms/filtersets.py:559 #: netbox/dcim/forms/filtersets.py:655 netbox/dcim/forms/filtersets.py:876 msgid "Has interfaces" -msgstr "インタフェースがある" +msgstr "インタフェースを持つ" #: netbox/dcim/filtersets.py:587 netbox/dcim/filtersets.py:708 #: netbox/dcim/filtersets.py:1151 netbox/dcim/forms/filtersets.py:566 @@ -3121,7 +3121,7 @@ msgstr "サイト名 (slug)" #: netbox/dcim/filtersets.py:1067 msgid "Parent bay (ID)" -msgstr "ペアレントベイ (ID)" +msgstr "親ベイ (ID)" #: netbox/dcim/filtersets.py:1071 msgid "VM cluster (ID)" @@ -3368,11 +3368,11 @@ msgstr "親モジュールベイ (ID)" #: netbox/dcim/filtersets.py:1808 msgid "Installed module (ID)" -msgstr "インストール済みモジュール (ID)" +msgstr "インストール済モジュール (ID)" #: netbox/dcim/filtersets.py:1819 msgid "Installed device (ID)" -msgstr "インストール済みデバイス (ID)" +msgstr "インストール済デバイス (ID)" #: netbox/dcim/filtersets.py:1825 msgid "Installed device (name)" @@ -4728,7 +4728,7 @@ msgstr "クラスタグループ" #: netbox/dcim/forms/filtersets.py:1210 msgid "Cabled" -msgstr "ケーブル接続済" +msgstr "配線済" #: netbox/dcim/forms/filtersets.py:1217 msgid "Occupied" @@ -6820,7 +6820,7 @@ msgstr "奥行きをすべて利用する" #: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" -msgstr "U 高さ" +msgstr "ユニット数" #: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 @@ -7895,7 +7895,7 @@ msgstr "テンプレートコード" #: netbox/extras/forms/model_forms.py:247 #: netbox/templates/extras/exporttemplate.html:12 msgid "Export Template" -msgstr "テンプレートをエクスポート" +msgstr "エクスポートテンプレート" #: netbox/extras/forms/model_forms.py:249 msgid "Rendering" @@ -8204,7 +8204,7 @@ msgstr "最大許容値 (数値フィールド用)" #: netbox/extras/models/customfields.py:191 msgid "validation regex" -msgstr "バリデーション正規表現" +msgstr "検証正規表現" #: netbox/extras/models/customfields.py:193 #, python-brace-format @@ -9071,11 +9071,11 @@ msgstr "スタンダード" #: netbox/ipam/choices.py:120 msgid "CheckPoint" -msgstr "チェックポイント" +msgstr "CheckPoint" #: netbox/ipam/choices.py:123 msgid "Cisco" -msgstr "シスコ" +msgstr "Cisco" #: netbox/ipam/choices.py:137 msgid "Plaintext" @@ -9295,7 +9295,7 @@ msgstr "重複を禁止する" #: netbox/ipam/forms/bulk_edit.py:88 msgid "Is private" -msgstr "非公開です" +msgstr "非公開" #: netbox/ipam/forms/bulk_edit.py:109 netbox/ipam/forms/bulk_edit.py:138 #: netbox/ipam/forms/bulk_edit.py:163 netbox/ipam/forms/bulk_import.py:89 @@ -9472,7 +9472,7 @@ msgstr "割当インタフェースの親VM (存在する場合)" #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" -msgstr "プライマリか" +msgstr "プライマリ" #: netbox/ipam/forms/bulk_import.py:326 msgid "Make this the primary IP for the assigned device" @@ -9663,7 +9663,7 @@ msgstr "ASN レンジ" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "サイト/VLAN 割り当て" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -10243,7 +10243,7 @@ msgstr "NAT (アウトサイド)" #: netbox/ipam/tables/ip.py:393 msgid "Assigned" -msgstr "割当済み" +msgstr "割当済" #: netbox/ipam/tables/ip.py:429 netbox/templates/vpn/l2vpntermination.html:16 #: netbox/vpn/forms/filtersets.py:240 @@ -10498,7 +10498,7 @@ msgstr "グローバルテーブル内で一意の IP アドレスを強制す #: netbox/netbox/config/parameters.py:75 #: netbox/templates/core/inc/config_data.html:44 msgid "Prefer IPv4" -msgstr "IPv4 を優先する" +msgstr "IPv4 を優先" #: netbox/netbox/config/parameters.py:77 msgid "Prefer IPv4 addresses over IPv6" @@ -10982,7 +10982,7 @@ msgstr "エクスポートテンプレート" #: netbox/netbox/navigation/menu.py:329 msgid "Saved Filters" -msgstr "保存済みフィルタ" +msgstr "保存済フィルタ" #: netbox/netbox/navigation/menu.py:331 msgid "Image Attachments" @@ -11006,7 +11006,7 @@ msgstr "イベントルール" #: netbox/netbox/navigation/menu.py:357 msgid "Webhooks" -msgstr "ウェブフック" +msgstr "Webhooks" #: netbox/netbox/navigation/menu.py:361 netbox/netbox/navigation/menu.py:365 #: netbox/netbox/views/generic/feature_views.py:153 @@ -11201,7 +11201,7 @@ msgstr "デンマーク語" #: netbox/netbox/settings.py:762 msgid "German" -msgstr "ドイツ人" +msgstr "ドイツ語" #: netbox/netbox/settings.py:763 msgid "English" @@ -11899,7 +11899,7 @@ msgstr "ユーザープリファレンス" #: netbox/templates/core/inc/config_data.html:141 msgid "Job retention" -msgstr "仕事の維持" +msgstr "ジョブの維持" #: netbox/templates/core/job.html:35 netbox/templates/core/rq_task.html:12 #: netbox/templates/core/rq_task.html:49 netbox/templates/core/rq_task.html:58 @@ -11959,7 +11959,7 @@ msgstr "警告:非アトミックな変更と以前の変更レコードの比 #: netbox/templates/core/objectchange.html:131 msgid "Post-Change Data" -msgstr "変更後のデータ" +msgstr "変更後データ" #: netbox/templates/core/objectchange.html:162 #, python-format @@ -12144,11 +12144,11 @@ msgstr "システムステータス" #: netbox/templates/core/system.html:31 msgid "NetBox release" -msgstr "ネットボックスリリース" +msgstr "NetBoxリリース" #: netbox/templates/core/system.html:44 msgid "Django version" -msgstr "ジャンゴバージョン" +msgstr "Djangoバージョン" #: netbox/templates/core/system.html:48 msgid "PostgreSQL version" @@ -12313,7 +12313,7 @@ msgstr "用の NAT" #: netbox/templates/virtualization/virtualmachine.html:59 #: netbox/templates/virtualization/virtualmachine.html:75 msgid "NAT" -msgstr "ナット" +msgstr "NAT" #: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:73 msgid "Power Utilization" @@ -12441,11 +12441,11 @@ msgstr "エラーレンダリングテンプレート" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "このデバイスには設定テンプレートが割り当てられていません。" +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" -msgstr "ペアレントベイ" +msgstr "親ベイ" #: netbox/templates/dcim/device_edit.html:48 #: netbox/utilities/templates/form_helpers/render_field.html:22 @@ -12475,7 +12475,7 @@ msgstr "デバイスベイ" #: netbox/templates/dcim/devicebay.html:43 msgid "Installed Device" -msgstr "取付済みデバイス" +msgstr "取付済デバイス" #: netbox/templates/dcim/devicebay_depopulate.html:6 #, python-format @@ -12561,15 +12561,15 @@ msgstr "B サイド" #: netbox/templates/dcim/inc/cable_termination.html:65 msgid "No termination" -msgstr "終了なし" +msgstr "未終端" #: netbox/templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" -msgstr "マーク・プランド" +msgstr "計画中とマークする" #: netbox/templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" -msgstr "取付済みとマークする" +msgstr "取付済とマークする" #: netbox/templates/dcim/inc/connection_endpoints.html:13 msgid "Path Status" @@ -12688,7 +12688,7 @@ msgstr "チャンネル幅" #: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:82 #: netbox/wireless/models.py:156 netbox/wireless/tables/wirelesslan.py:44 msgid "SSID" -msgstr "言った" +msgstr "SSID" #: netbox/templates/dcim/interface.html:305 msgid "LAG Members" @@ -13273,7 +13273,7 @@ msgstr "スクリプトはソースファイルに存在しなくなりました #: netbox/templates/extras/script_list.html:47 msgid "Last Run" -msgstr "ラストラン" +msgstr "最終実行" #: netbox/templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" @@ -13285,7 +13285,7 @@ msgstr "決して" #: netbox/templates/extras/script_list.html:85 msgid "Run Again" -msgstr "もう一度実行" +msgstr "再実行" #: netbox/templates/extras/script_list.html:133 #, python-format @@ -13317,7 +13317,7 @@ msgstr "ログ閾値" #: netbox/templates/extras/script_result.html:56 msgid "All" -msgstr "[すべて]" +msgstr "すべて" #: netbox/templates/extras/tag.html:32 msgid "Tagged Items" @@ -13557,7 +13557,7 @@ msgstr "新しいリリースが入手可能" #: netbox/templates/home.html:16 msgid "is available" -msgstr "利用可能です" +msgstr "利用可能" #: netbox/templates/home.html:18 msgctxt "Document title" @@ -13570,7 +13570,7 @@ msgstr "ダッシュボードのロック解除" #: netbox/templates/home.html:49 msgid "Lock Dashboard" -msgstr "ロックダッシュボード" +msgstr "ダッシュボードのロック" #: netbox/templates/home.html:60 msgid "Add Widget" @@ -13685,7 +13685,7 @@ msgstr "ヘルプセンター" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "ジャンゴ管理者" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14094,7 +14094,7 @@ msgstr "仮想ディスクを追加" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "このVMには構成テンプレートが割り当てられていません。" +msgstr "" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -14251,7 +14251,7 @@ msgstr "PSK" #: netbox/templates/wireless/inc/wirelesslink_interface.html:45 msgctxt "Abbreviation for megahertz" msgid "MHz" -msgstr "メガヘルツ" +msgstr "MHz" #: netbox/templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" @@ -14454,7 +14454,7 @@ msgstr "通知グループ (ID)" #: netbox/users/forms/bulk_edit.py:26 msgid "First name" -msgstr "ファーストネーム" +msgstr "名前" #: netbox/users/forms/bulk_edit.py:31 msgid "Last name" @@ -14474,11 +14474,11 @@ msgstr "キーが指定されていない場合は、キーが自動的に生成 #: netbox/users/forms/filtersets.py:51 netbox/users/tables.py:42 msgid "Is Staff" -msgstr "スタッフですか" +msgstr "スタッフ" #: netbox/users/forms/filtersets.py:58 netbox/users/tables.py:45 msgid "Is Superuser" -msgstr "スーパーユーザですか" +msgstr "スーパーユーザ" #: netbox/users/forms/filtersets.py:91 netbox/users/tables.py:86 msgid "Can View" @@ -15156,7 +15156,7 @@ msgstr "シリアル番号" msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" -msgstr "{device} 別のサイトに属している ({device_site}) よりもクラスタ ({cluster_site})" +msgstr "" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -15572,11 +15572,11 @@ msgstr "トンネルインターフェイス" #: netbox/vpn/forms/model_forms.py:150 msgid "First Termination" -msgstr "1 回目の解約" +msgstr "1 回目の終端" #: netbox/vpn/forms/model_forms.py:153 msgid "Second Termination" -msgstr "2 回目の終了" +msgstr "2 回目の終端" #: netbox/vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." @@ -15605,7 +15605,7 @@ msgstr "認証アルゴリズム" #: netbox/vpn/models/crypto.py:44 msgid "Diffie-Hellman group ID" -msgstr "ディフィー・ヘルマングループ ID" +msgstr "Diffie-Hellmanグループ ID" #: netbox/vpn/models/crypto.py:50 msgid "Security association lifetime (in seconds)" @@ -15613,11 +15613,11 @@ msgstr "セキュリティアソシエーションの有効期間 (秒単位)" #: netbox/vpn/models/crypto.py:59 msgid "IKE proposal" -msgstr "イケアの提案" +msgstr "IKEプロポザール" #: netbox/vpn/models/crypto.py:60 msgid "IKE proposals" -msgstr "IKEの提案" +msgstr "IKEプロポザール" #: netbox/vpn/models/crypto.py:76 msgid "version" @@ -15875,7 +15875,7 @@ msgstr "無線リンク" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "ワイヤレス距離を設定するときは単位を指定する必要があります" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/nl/LC_MESSAGES/django.mo b/netbox/translations/nl/LC_MESSAGES/django.mo index 0b5dc9bc8..20bb66a54 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 c68fcf6dc..84052a119 100644 --- a/netbox/translations/nl/LC_MESSAGES/django.po +++ b/netbox/translations/nl/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ # deku_m, 2024 # Peter Mulder , 2024 # Sebastian Berm, 2024 -# Jorg de Jong, 2025 # Jeremy Stretch, 2025 +# Jorg de Jong, 2025 # #, fuzzy msgid "" @@ -18,7 +18,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2025\n" +"Last-Translator: Jorg de Jong, 2025\n" "Language-Team: Dutch (https://app.transifex.com/netbox-community/teams/178115/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1239,7 +1239,7 @@ msgstr "Circuitgroeptoewijzingen" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "beëindiging" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1301,15 +1301,11 @@ msgstr "circuitafsluitingen" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Een circuitafsluiting moet verbonden zijn met een site of een netwerk van " -"een provider." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Een circuitafsluiting kan niet worden aangesloten op zowel een site als een " -"netwerk van een provider." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -7744,7 +7740,7 @@ msgstr "CA-bestandspad" #: netbox/extras/forms/bulk_edit.py:253 netbox/extras/forms/bulk_import.py:192 #: netbox/extras/forms/model_forms.py:377 msgid "Event types" -msgstr "Soorten evenementen" +msgstr "Soorten gebeurtenis" #: netbox/extras/forms/bulk_edit.py:293 msgid "Is active" @@ -7835,7 +7831,7 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:193 msgid "The event type(s) which will trigger this rule" -msgstr "Het (de) evenementtype (s) dat deze regel activeert" +msgstr "Het (de) gebeurtenistype (s) dat deze regel activeert" #: netbox/extras/forms/bulk_import.py:196 msgid "Action object" @@ -7927,7 +7923,7 @@ msgstr "HTTP-inhoudstype" #: netbox/extras/forms/filtersets.py:286 msgid "Event type" -msgstr "Soort evenement" +msgstr "Soort gebeurtenis" #: netbox/extras/forms/filtersets.py:291 msgid "Action type" @@ -8680,7 +8676,7 @@ msgstr "regel van het evenement" #: netbox/extras/models/models.py:117 msgid "event rules" -msgstr "regels voor evenementen" +msgstr "regels voor gebeurtenissen" #: netbox/extras/models/models.py:166 msgid "" @@ -8731,11 +8727,8 @@ msgid "" "event, model, timestamp, " "username, request_id, and data." msgstr "" -"Jinja2-sjabloon voor een aangepaste hoofdtekst van de aanvraag. Indien leeg," -" wordt een JSON-object toegevoegd dat de wijziging voorstelt. De beschikbare" -" contextgegevens omvatten: evenement, model-, " -"tijdstempel, gebruikersnaam, " -"aanvraag_id, en gegevens." +"Jinja2-sjabloon voor een aangepaste hoofdtekst van de aanvraag. Indien leeg, wordt een JSON-object toegevoegd dat de wijziging voorstelt. De beschikbare contextgegevens omvatten: gebeurtenis\n" +", model-, tijdstempel, gebruikersnaam, aanvraag_id, en gegevens." #: netbox/extras/models/models.py:204 msgid "secret" @@ -8949,7 +8942,7 @@ msgstr "lezen" #: netbox/extras/models/notifications.py:66 msgid "event" -msgstr "evenement" +msgstr "gebeurtenis" #: netbox/extras/models/notifications.py:84 msgid "notification" @@ -9180,7 +9173,7 @@ msgstr "SSL-validatie" #: netbox/extras/tables/tables.py:418 #: netbox/templates/extras/eventrule.html:37 msgid "Event Types" -msgstr "Soorten evenementen" +msgstr "Soorten gebeurtenissen" #: netbox/extras/tables/tables.py:535 netbox/netbox/navigation/menu.py:77 #: netbox/templates/dcim/devicerole.html:8 @@ -9919,7 +9912,7 @@ msgstr "ASN-assortiment" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Site/VLAN-toewijzing" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12772,7 +12765,7 @@ msgstr "Sjabloon voor weergave van fouten" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Er is geen configuratiesjabloon toegewezen voor dit apparaat." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14044,7 +14037,7 @@ msgstr "Helpcentrum" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Django-beheerder" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14459,7 +14452,6 @@ msgstr "Virtuele schijf toevoegen" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Er is geen configuratiesjabloon toegewezen voor deze virtuele machine." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15574,8 +15566,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} behoort tot een andere site ({device_site}) dan het cluster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16317,7 +16307,6 @@ msgstr "draadloze verbindingen" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"Moet een eenheid specificeren bij het instellen van een draadloze afstand" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/pl/LC_MESSAGES/django.mo b/netbox/translations/pl/LC_MESSAGES/django.mo index 035533187..d3624c438 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 5eb68b319..484c8e829 100644 --- a/netbox/translations/pl/LC_MESSAGES/django.po +++ b/netbox/translations/pl/LC_MESSAGES/django.po @@ -1237,7 +1237,7 @@ msgstr "Przydziały grup obwodowych" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "wypowiedzenie" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1298,14 +1298,12 @@ msgstr "zakończenia obwodu" #: netbox/circuits/models/circuits.py:308 msgid "" "A circuit termination must attach to either a site or a provider network." -msgstr "Zakończenie obwodu musi być podłączone do witryny lub sieci dostawcy." +msgstr "" #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Zakończenie obwodu nie może połączyć się zarówno z witryną, jak i siecią " -"dostawcy." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9846,7 +9844,7 @@ msgstr "Zakres ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Przypisanie witryny/sieci VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12686,7 +12684,7 @@ msgstr "Szablon renderowania błędu" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Dla tego urządzenia nie przypisano szablonu konfiguracji." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13954,7 +13952,7 @@ msgstr "Centrum pomocy" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Administrator Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14368,7 +14366,7 @@ msgstr "Dodaj dysk wirtualny" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "Dla tej maszyny wirtualnej nie przypisano szablonu konfiguracji." +msgstr "" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15480,7 +15478,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} należy do innej strony ({device_site}) niż klaster ({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16217,7 +16214,6 @@ msgstr "łącza bezprzewodowe" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"Należy określić jednostkę podczas ustawiania odległości bezprzewodowej" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index b5d32e4cd..f93fb1c97 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 71250e297..6baf2419d 100644 --- a/netbox/translations/pt/LC_MESSAGES/django.po +++ b/netbox/translations/pt/LC_MESSAGES/django.po @@ -6,8 +6,8 @@ # Translators: # Renato Almeida de Oliveira, 2023 # Fer22f , 2024 -# Jeremy Stretch, 2025 -# Fabricio Maciel, 2025 +# Jeremy Stretch, 2024 +# Fabricio Maciel, 2024 # #, fuzzy msgid "" @@ -16,7 +16,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Fabricio Maciel, 2025\n" +"Last-Translator: Fabricio Maciel, 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" @@ -1237,7 +1237,7 @@ msgstr "Atribuições do grupo de circuitos" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "terminação" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1299,15 +1299,11 @@ msgstr "terminações dos circuitos" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Uma terminação de circuito deve ser conectada a um site ou a uma rede de " -"provedor." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Uma terminação de circuito não pode ser conectada a um site e a uma rede de " -"provedor ao mesmo tempo." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9886,7 +9882,7 @@ msgstr "Intervalo de ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Atribuição de site/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12719,7 +12715,7 @@ msgstr "Erro ao renderizar o modelo" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Nenhum modelo de configuração foi atribuído para este dispositivo." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13988,7 +13984,7 @@ msgstr "Centro de ajuda" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Administrador do Django" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14402,7 +14398,6 @@ msgstr "Adicionar Disco Virtual" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" -"Nenhum modelo de configuração foi atribuído para esta máquina virtual." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15512,8 +15507,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} pertence a um site diferente ({device_site}) do que o cluster " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16248,7 +16241,7 @@ msgstr "links wireless" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "É necessário especificar uma unidade ao definir uma distância sem fio" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index d64540464..8bd637287 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 7980f7202..b05f7a990 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -11,9 +11,9 @@ # stavr666, 2024 # Alexander Ryazanov (alryaz) , 2024 # Vladyslav V. Prodan, 2024 -# Jeremy Stretch, 2024 # Artem Kotik, 2025 # Michail Tatarinov, 2025 +# Jeremy Stretch, 2025 # #, fuzzy msgid "" @@ -22,7 +22,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Michail Tatarinov, 2025\n" +"Last-Translator: Jeremy Stretch, 2025\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" @@ -64,7 +64,7 @@ msgstr "Истекает" #: netbox/account/tables.py:42 netbox/users/forms/filtersets.py:141 msgid "Last Used" -msgstr "Последнее использование" +msgstr "Последний раз использованный" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 @@ -75,7 +75,7 @@ msgstr "Разрешенные IP-адреса" #: netbox/account/views.py:114 #, python-brace-format msgid "Logged in as {user}." -msgstr "Вошел(-ла) в систему как {user}." +msgstr "Вошел в систему как {user}." #: netbox/account/views.py:164 msgid "You have logged out." @@ -83,11 +83,13 @@ msgstr "Вы вышли из системы." #: netbox/account/views.py:216 msgid "Your preferences have been updated." -msgstr "Ваши настройки были обновлены." +msgstr "Ваши предпочтения обновлены." #: netbox/account/views.py:239 msgid "LDAP-authenticated user credentials cannot be changed within NetBox." -msgstr "Учетные данные доменных пользователей нельзя изменить в NetBox." +msgstr "" +"Учетные данные пользователя, аутентифицированные по протоколу LDAP, нельзя " +"изменить в NetBox." #: netbox/account/views.py:254 msgid "Your password has been changed successfully." @@ -104,7 +106,7 @@ msgstr "Запланировано" #: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:305 msgid "Provisioning" -msgstr "Эксплутация" +msgstr "Выделение ресурсов" #: netbox/circuits/choices.py:23 netbox/core/tables/tasks.py:22 #: netbox/dcim/choices.py:22 netbox/dcim/choices.py:103 @@ -124,11 +126,11 @@ msgstr "Активный" #: netbox/dcim/choices.py:1659 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" -msgstr "Оффлайн" +msgstr "Не в сети" #: netbox/circuits/choices.py:25 msgid "Deprovisioning" -msgstr "Вывод из эксплуатации" +msgstr "Выделение резервов" #: netbox/circuits/choices.py:26 msgid "Decommissioned" @@ -137,7 +139,7 @@ msgstr "Списан" #: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1619 #: netbox/tenancy/choices.py:17 msgid "Primary" -msgstr "Основной" +msgstr "Начальное" #: netbox/circuits/choices.py:91 netbox/ipam/choices.py:90 #: netbox/tenancy/choices.py:18 @@ -146,7 +148,7 @@ msgstr "Вторичный" #: netbox/circuits/choices.py:92 netbox/tenancy/choices.py:19 msgid "Tertiary" -msgstr "Третичный" +msgstr "Высшее образование" #: netbox/circuits/choices.py:93 netbox/tenancy/choices.py:20 msgid "Inactive" @@ -174,7 +176,7 @@ msgstr "Регион (ID)" #: netbox/ipam/filtersets.py:968 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" -msgstr "Регион (подстрока)" +msgstr "Регион (пуля)" #: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 #: netbox/dcim/filtersets.py:128 netbox/dcim/filtersets.py:225 @@ -197,7 +199,7 @@ msgstr "Группа сайтов (ID)" #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" -msgstr "Группа сайтов (подстрока)" +msgstr "Группа сайтов (слизень)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 @@ -1241,7 +1243,7 @@ msgstr "Назначения групп каналов связи" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "завершение" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1303,15 +1305,11 @@ msgstr "точки подключения канала связи" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Оконечное устройство канала должно быть подключено либо к узлу, либо к сети " -"провайдера." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Терминатор канала не может быть подключен как к сайту, так и к сети " -"поставщика." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9863,7 +9861,7 @@ msgstr "Диапазон ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Назначение сайта/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12704,7 +12702,7 @@ msgstr "Ошибка при отображении шаблона" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Для этого устройства не назначен шаблон конфигурации." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13973,7 +13971,7 @@ msgstr "Справочный центр" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Администратор Джанго" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14385,7 +14383,7 @@ msgstr "Добавить виртуальный диск" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "Для этой виртуальной машины не назначен шаблон конфигурации." +msgstr "" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15497,8 +15495,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} принадлежит другому сайту ({device_site}), чем кластер " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16234,7 +16230,6 @@ msgstr "беспроводные соединения" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -"При настройке беспроводного расстояния необходимо указать единицу измерения" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/tr/LC_MESSAGES/django.mo b/netbox/translations/tr/LC_MESSAGES/django.mo index fa94a7573..c10c3adff 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 f5af5eed0..f13bec2f9 100644 --- a/netbox/translations/tr/LC_MESSAGES/django.po +++ b/netbox/translations/tr/LC_MESSAGES/django.po @@ -1236,7 +1236,7 @@ msgstr "Devre grubu atamaları" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "sonlandırma" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1298,12 +1298,11 @@ msgstr "devre sonlandırmaları" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Bir devre sonlandırma, bir siteye veya bir sağlayıcı ağına bağlanmalıdır." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." -msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." +msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9794,7 +9793,7 @@ msgstr "ASN Aralığı" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Site/VLAN Ataması" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12617,7 +12616,7 @@ msgstr "Hata oluşturma şablonu" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Bu aygıt için herhangi bir yapılandırma şablonu atanmadı." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13883,7 +13882,7 @@ msgstr "Yardım Merkezi" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Django Yöneticisi" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14296,7 +14295,7 @@ msgstr "Sanal Disk Ekle" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "Bu sanal makine için herhangi bir yapılandırma şablonu atanmadı." +msgstr "" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15393,7 +15392,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} farklı bir siteye aittir ({device_site}) kümeden ({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16125,7 +16123,7 @@ msgstr "kablosuz bağlantılar" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "Kablosuz mesafeyi ayarlarken bir birim belirtmelisiniz" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/uk/LC_MESSAGES/django.mo b/netbox/translations/uk/LC_MESSAGES/django.mo index f3c93f2d0..fae713608 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 7b9ad8767..4f7bf0cba 100644 --- a/netbox/translations/uk/LC_MESSAGES/django.po +++ b/netbox/translations/uk/LC_MESSAGES/django.po @@ -5,8 +5,8 @@ # # Translators: # Volodymyr Pidgornyi, 2024 +# Jeremy Stretch, 2024 # Vladyslav V. Prodan, 2024 -# Jeremy Stretch, 2025 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2025\n" +"Last-Translator: Vladyslav V. Prodan, 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/netbox-community/teams/178115/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1235,7 +1235,7 @@ msgstr "Призначення групи каналів зв'язку" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "припинення" +msgstr "" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1298,14 +1298,11 @@ msgstr "кінці каналу зв'язку" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Припинення схеми повинно приєднатися або до сайту, або до мережі провайдера." #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -"Припинення схеми не може приєднатися як до сайту, так і до мережі " -"провайдера." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -9862,7 +9859,7 @@ msgstr "Діапазон ASN" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "Призначення сайту/VLAN" +msgstr "" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12692,7 +12689,7 @@ msgstr "Помилка візуалізації шаблону" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "Для цього пристрою не призначено жодного шаблону конфігурації." +msgstr "" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -13958,7 +13955,7 @@ msgstr "Довідковий центр" #: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" -msgstr "Джанго Адміністратор" +msgstr "" #: netbox/templates/inc/user_menu.html:61 msgid "Log Out" @@ -14371,7 +14368,7 @@ msgstr "Додати віртуальний диск" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "Жоден шаблон конфігурації не призначено для цієї віртуальної машини." +msgstr "" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15478,8 +15475,6 @@ msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -"{device} належить до іншого сайту ({device_site}) ніж кластер " -"({cluster_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" @@ -16218,7 +16213,7 @@ msgstr "бездротові канали зв'язку" #: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" -msgstr "Необхідно вказати одиницю при установці бездротової відстані" +msgstr "" #: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format diff --git a/netbox/translations/zh/LC_MESSAGES/django.mo b/netbox/translations/zh/LC_MESSAGES/django.mo index c61e80243..97ea60b7f 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 81fdaaa67..7f7c92e84 100644 --- a/netbox/translations/zh/LC_MESSAGES/django.po +++ b/netbox/translations/zh/LC_MESSAGES/django.po @@ -15,6 +15,7 @@ # 闻寄云, 2024 # luo jiyin, 2024 # Jeremy Stretch, 2025 +# yawei jia, 2025 # #, fuzzy msgid "" @@ -23,7 +24,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2025\n" +"Last-Translator: yawei jia, 2025\n" "Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1242,7 +1243,7 @@ msgstr "电路组分配" #: netbox/circuits/models/circuits.py:240 msgid "termination" -msgstr "终止" +msgstr "终端" #: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" @@ -1303,12 +1304,12 @@ msgstr "线路接入" #: netbox/circuits/models/circuits.py:308 msgid "" "A circuit termination must attach to either a site or a provider network." -msgstr "电路终端必须连接到站点或提供商网络。" +msgstr "电路终端必须连接到站点或服务提供商网络。" #: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." -msgstr "电路终端不能同时连接到站点和提供商网络。" +msgstr "电路终端不能同时连接到站点和服务提供商网络。" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 @@ -1741,11 +1742,11 @@ msgstr "对象已删除" #: netbox/core/events.py:30 msgid "Job started" -msgstr "工作已开始" +msgstr "作业已开始" #: netbox/core/events.py:31 msgid "Job completed" -msgstr "任务已完成" +msgstr "作业已完成" #: netbox/core/events.py:32 msgid "Job failed" @@ -9638,7 +9639,7 @@ msgstr "ASN范围" #: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" -msgstr "站点/VLAN 分配" +msgstr "站点/VLAN 关联" #: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" @@ -12414,7 +12415,7 @@ msgstr "渲染模板时出错" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "尚未为此设备分配任何配置模板。" +msgstr "尚未为该设备分配配置模板。" #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14051,7 +14052,7 @@ msgstr "增加虚拟硬盘" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "尚未为此虚拟机分配任何配置模板。" +msgstr "尚未为该虚拟机分配配置模板。" #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15100,7 +15101,7 @@ msgstr "序列号" msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" -msgstr "{device} 属于另一个站点 ({device_site}) 而不是集群 ({cluster_site})" +msgstr "{device} 属于与集群 ({cluster_site}) 不同的站点 ({device_site})" #: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" diff --git a/netbox/utilities/serialization.py b/netbox/utilities/serialization.py index af1169e97..f402a30eb 100644 --- a/netbox/utilities/serialization.py +++ b/netbox/utilities/serialization.py @@ -29,7 +29,7 @@ def serialize_object(obj, resolve_tags=True, extra=None, exclude=None): exclude = exclude or [] # Include custom_field_data as "custom_fields" - if hasattr(obj, 'custom_field_data'): + if 'custom_field_data' in data: data['custom_fields'] = data.pop('custom_field_data') # Resolve any assigned tags to their names. Check for tags cached on the instance; diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index b3334ca87..b9a5f85fb 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -196,7 +196,10 @@ class GetRelatedModelsMixin: ] related_models.extend(extra) - return sorted(related_models, key=lambda x: x[0].model._meta.verbose_name.lower()) + return sorted( + filter(lambda qs: qs[0].exists(), related_models), + key=lambda qs: qs[0].model._meta.verbose_name.lower(), + ) class ViewTab: diff --git a/netbox/virtualization/choices.py b/netbox/virtualization/choices.py index f8ec42171..b60a6e1ff 100644 --- a/netbox/virtualization/choices.py +++ b/netbox/virtualization/choices.py @@ -38,6 +38,7 @@ class VirtualMachineStatusChoices(ChoiceSet): STATUS_STAGED = 'staged' STATUS_FAILED = 'failed' STATUS_DECOMMISSIONING = 'decommissioning' + STATUS_PAUSED = 'paused' CHOICES = [ (STATUS_OFFLINE, _('Offline'), 'gray'), @@ -46,4 +47,5 @@ class VirtualMachineStatusChoices(ChoiceSet): (STATUS_STAGED, _('Staged'), 'blue'), (STATUS_FAILED, _('Failed'), 'red'), (STATUS_DECOMMISSIONING, _('Decommissioning'), 'yellow'), + (STATUS_PAUSED, _('Paused'), 'orange'), ] diff --git a/netbox/virtualization/forms/bulk_edit.py b/netbox/virtualization/forms/bulk_edit.py index 3b5bf6c03..80b665047 100644 --- a/netbox/virtualization/forms/bulk_edit.py +++ b/netbox/virtualization/forms/bulk_edit.py @@ -6,7 +6,7 @@ from dcim.constants import INTERFACE_MTU_MAX, INTERFACE_MTU_MIN from dcim.forms.mixins import ScopedBulkEditForm from dcim.models import Device, DeviceRole, Platform, Site from extras.models import ConfigTemplate -from ipam.models import VLAN, VLANGroup, VRF +from ipam.models import VLAN, VLANGroup, VLANTranslationPolicy, VRF from netbox.forms import NetBoxModelBulkEditForm from tenancy.models import Tenant from utilities.forms import BulkRenameForm, add_blank_choice @@ -242,15 +242,23 @@ class VMInterfaceBulkEditForm(NetBoxModelBulkEditForm): required=False, label=_('VRF') ) + vlan_translation_policy = DynamicModelChoiceField( + queryset=VLANTranslationPolicy.objects.all(), + required=False, + label=_('VLAN Translation Policy') + ) model = VMInterface fieldsets = ( FieldSet('mtu', 'enabled', 'vrf', 'description'), FieldSet('parent', 'bridge', name=_('Related Interfaces')), - FieldSet('mode', 'vlan_group', 'untagged_vlan', 'tagged_vlans', name=_('802.1Q Switching')), + FieldSet( + 'mode', 'vlan_group', 'untagged_vlan', 'tagged_vlans', 'vlan_translation_policy', + name=_('802.1Q Switching') + ), ) nullable_fields = ( - 'parent', 'bridge', 'mtu', 'vrf', 'description', + 'parent', 'bridge', 'mtu', 'vrf', 'description', 'vlan_translation_policy', ) def __init__(self, *args, **kwargs): diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index 335d1de7d..20cfdd6d1 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -122,7 +122,7 @@ class VMInterfaceTable(BaseInterfaceTable): fields = ( 'pk', 'id', 'name', 'virtual_machine', 'enabled', 'mtu', 'mode', 'description', 'tags', 'vrf', 'primary_mac_address', 'l2vpn', 'tunnel', 'ip_addresses', 'fhrp_groups', 'untagged_vlan', 'tagged_vlans', - 'qinq_svlan', 'created', 'last_updated', + 'qinq_svlan', 'created', 'last_updated', 'vlan_translation_policy', ) default_columns = ('pk', 'name', 'virtual_machine', 'enabled', 'description') diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 7682d0fc8..343d346e4 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -1,17 +1,15 @@ from django.contrib import messages from django.db import transaction from django.db.models import Prefetch, Sum -from django.http import HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse from django.utils.translation import gettext_lazy as _ -from jinja2.exceptions import TemplateError from dcim.filtersets import DeviceFilterSet from dcim.forms import DeviceFilterForm from dcim.models import Device from dcim.tables import DeviceTable -from extras.views import ObjectConfigContextView +from extras.views import ObjectConfigContextView, ObjectRenderConfigView from ipam.models import IPAddress from ipam.tables import InterfaceVLANTable, VLANTranslationRuleTable from netbox.constants import DEFAULT_ACTION_PERMISSIONS @@ -427,54 +425,14 @@ class VirtualMachineConfigContextView(ObjectConfigContextView): @register_model_view(VirtualMachine, 'render-config') -class VirtualMachineRenderConfigView(generic.ObjectView): +class VirtualMachineRenderConfigView(ObjectRenderConfigView): queryset = VirtualMachine.objects.all() - template_name = 'virtualization/virtualmachine/render_config.html' + base_template = 'virtualization/virtualmachine/base.html' tab = ViewTab( label=_('Render Config'), - weight=2100 + weight=2100, ) - def get(self, request, **kwargs): - instance = self.get_object(**kwargs) - context = self.get_extra_context(request, instance) - - # If a direct export has been requested, return the rendered template content as a - # downloadable file. - if request.GET.get('export'): - content = context['rendered_config'] or context['error_message'] - response = HttpResponse(content, content_type='text') - filename = f"{instance.name or 'config'}.txt" - response['Content-Disposition'] = f'attachment; filename="{filename}"' - return response - - return render(request, self.get_template_name(), { - 'object': instance, - 'tab': self.tab, - **context, - }) - - def get_extra_context(self, request, instance): - # Compile context data - context_data = instance.get_config_context() - context_data.update({'virtualmachine': instance}) - - # Render the config template - rendered_config = None - error_message = None - if config_template := instance.get_config_template(): - try: - rendered_config = config_template.render(context=context_data) - except TemplateError as e: - error_message = _("An error occurred while rendering the template: {error}").format(error=e) - - return { - 'config_template': config_template, - 'context_data': context_data, - 'rendered_config': rendered_config, - 'error_message': error_message, - } - @register_model_view(VirtualMachine, 'add', detail=False) @register_model_view(VirtualMachine, 'edit') diff --git a/netbox/vpn/models/tunnels.py b/netbox/vpn/models/tunnels.py index 714024a81..9372bd535 100644 --- a/netbox/vpn/models/tunnels.py +++ b/netbox/vpn/models/tunnels.py @@ -6,7 +6,7 @@ from django.urls import reverse from django.utils.translation import gettext_lazy as _ from netbox.models import ChangeLoggedModel, OrganizationalModel, PrimaryModel -from netbox.models.features import CustomFieldsMixin, CustomLinksMixin, TagsMixin +from netbox.models.features import ContactsMixin, CustomFieldsMixin, CustomLinksMixin, TagsMixin from vpn.choices import * __all__ = ( @@ -16,7 +16,7 @@ __all__ = ( ) -class TunnelGroup(OrganizationalModel): +class TunnelGroup(ContactsMixin, OrganizationalModel): """ An administrative grouping of Tunnels. This can be used to correlate peer-to-peer tunnels which form a mesh, for example. @@ -27,7 +27,7 @@ class TunnelGroup(OrganizationalModel): verbose_name_plural = _('tunnel groups') -class Tunnel(PrimaryModel): +class Tunnel(ContactsMixin, PrimaryModel): name = models.CharField( verbose_name=_('name'), max_length=100, diff --git a/netbox/vpn/views.py b/netbox/vpn/views.py index 3372e9412..bbed677c2 100644 --- a/netbox/vpn/views.py +++ b/netbox/vpn/views.py @@ -68,6 +68,11 @@ class TunnelGroupBulkDeleteView(generic.BulkDeleteView): table = tables.TunnelGroupTable +@register_model_view(TunnelGroup, 'contacts') +class TunnelGroupContactsView(ObjectContactsView): + queryset = TunnelGroup.objects.all() + + # # Tunnels # @@ -132,6 +137,11 @@ class TunnelBulkDeleteView(generic.BulkDeleteView): table = tables.TunnelTable +@register_model_view(Tunnel, 'contacts') +class TunnelContactsView(ObjectContactsView): + queryset = Tunnel.objects.all() + + # # Tunnel terminations # diff --git a/requirements.txt b/requirements.txt index cb62f6e6f..a01479311 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,14 @@ -Django==5.1.5 -django-cors-headers==4.6.0 +Django==5.1.6 +django-cors-headers==4.7.0 django-debug-toolbar==5.0.1 -django-filter==24.3 -django-htmx==1.21.0 +django-filter==25.1 +django-htmx==1.22.0 django-graphiql-debug-toolbar==0.2.0 django-mptt==0.16.0 django-pglocks==1.0.4 django-prometheus==2.3.1 django-redis==5.4.0 -django-rich==1.13.0 +django-rich==1.14.0 django-rq==3.0 django-taggit==6.1.0 django-tables2==2.7.5 @@ -20,7 +20,7 @@ feedparser==6.0.11 gunicorn==23.0.0 Jinja2==3.1.5 Markdown==3.7 -mkdocs-material==9.6.2 +mkdocs-material==9.6.5 mkdocstrings[python-legacy]==0.27.0 netaddr==1.3.0 nh3==0.2.20 @@ -29,9 +29,9 @@ psycopg[c,pool]==3.2.4 PyYAML==6.0.2 requests==2.32.3 rq==2.1.0 -social-auth-app-django==5.4.2 -social-auth-core==4.5.4 -strawberry-graphql==0.258.0 +social-auth-app-django==5.4.3 +social-auth-core==4.5.6 +strawberry-graphql==0.260.2 strawberry-graphql-django==0.52.0 svgwrite==1.4.3 tablib==3.8.0