diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 44c797241..8fc9bc205 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -1,7 +1,7 @@ --- name: 🐛 Bug Report description: Report a reproducible bug in the current release of NetBox -labels: ["type: bug", "needs triage"] +labels: ["type: bug", "status: needs triage"] body: - type: markdown attributes: @@ -26,7 +26,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v3.7.4 + placeholder: v3.7.6 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/documentation_change.yaml b/.github/ISSUE_TEMPLATE/documentation_change.yaml index 0f80f1716..b5a970782 100644 --- a/.github/ISSUE_TEMPLATE/documentation_change.yaml +++ b/.github/ISSUE_TEMPLATE/documentation_change.yaml @@ -1,7 +1,7 @@ --- name: 📖 Documentation Change description: Suggest an addition or modification to the NetBox documentation -labels: ["type: documentation", "needs triage"] +labels: ["type: documentation", "status: needs triage"] body: - type: dropdown attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index a550bff57..3e7372484 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -1,7 +1,7 @@ --- name: ✨ Feature Request description: Propose a new NetBox feature or enhancement -labels: ["type: feature", "needs triage"] +labels: ["type: feature", "status: needs triage"] body: - type: markdown attributes: @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.7.4 + placeholder: v3.7.6 validations: required: true - type: dropdown diff --git a/.github/workflows/auto-assign-issue.yml b/.github/workflows/auto-assign-issue.yml index 20e054806..e32e23c84 100644 --- a/.github/workflows/auto-assign-issue.yml +++ b/.github/workflows/auto-assign-issue.yml @@ -13,8 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: pozil/auto-assign-issue@v1 - if: "contains(github.event.issue.labels.*.name, 'type: bug') || contains(github.event.issue.labels.*.name, 'type: feature')" + if: "contains(github.event.issue.labels.*.name, 'status: needs triage')" with: - assignees: abhi1693,arthanson,DanSheps,jeffgdotorg,jeremystretch + # Weighted assignments + assignees: arthanson:3, jeffgdotorg:3, jeremystretch:3, abhi1693, DanSheps numOfAssignee: 1 abortIfPreviousAssignees: true diff --git a/docs/_theme/main.html b/docs/_theme/main.html index 3ff44b9cb..4dfc4e14e 100644 --- a/docs/_theme/main.html +++ b/docs/_theme/main.html @@ -2,8 +2,8 @@ {% block site_meta %} {{ super() }} - {# Disable search indexing unless we're building for ReadTheDocs (see #10496) #} - {% if page.canonical_url != 'https://docs.netbox.dev/' %} + {# Disable search indexing unless we're building for ReadTheDocs #} + {% if not config.extra.readthedocs %} {% endif %} {% endblock %} diff --git a/docs/configuration/security.md b/docs/configuration/security.md index a21b82a04..45d5bed3f 100644 --- a/docs/configuration/security.md +++ b/docs/configuration/security.md @@ -181,6 +181,30 @@ The view name or URL to which a user is redirected after logging out. --- +## SECURE_HSTS_INCLUDE_SUBDOMAINS + +Default: False + +If true, the `includeSubDomains` directive will be included in the HTTP Strict Transport Security (HSTS) header. This directive instructs the browser to apply the HSTS policy to all subdomains of the current domain. + +--- + +## SECURE_HSTS_PRELOAD + +Default: False + +If true, the `preload` directive will be included in the HTTP Strict Transport Security (HSTS) header. This directive instructs the browser to preload the site in HTTPS. Browsers that use the HSTS preload list will force the site to be accessed via HTTPS even if the user types HTTP in the address bar. + +--- + +## SECURE_HSTS_SECONDS + +Default: 0 + +If set to a non-zero integer value, the SecurityMiddleware sets the HTTP Strict Transport Security (HSTS) header on all responses that do not already have it. This will instruct the browser that the website must be accessed via HTTPS, blocking any HTTP request. + +--- + ## SECURE_SSL_REDIRECT Default: False diff --git a/docs/configuration/system.md b/docs/configuration/system.md index 8a86e9ac3..d0814bca6 100644 --- a/docs/configuration/system.md +++ b/docs/configuration/system.md @@ -16,10 +16,7 @@ BASE_PATH = 'netbox/' Default: `en-us` (US English) -Defines the default preferred language/locale for requests that do not specify one. This is used to alter e.g. the display of dates and numbers to fit the user's locale. See [this list](http://www.i18nguy.com/unicode/language-identifiers.html) of standard language codes. (This parameter maps to Django's [`LANGUAGE_CODE`](https://docs.djangoproject.com/en/stable/ref/settings/#language-code) internal setting.) - -!!! note - Altering this parameter will *not* change the language used in NetBox. We hope to provide translation support in a future NetBox release. +Defines the default preferred language/locale for requests that do not specify one. (This parameter maps to Django's [`LANGUAGE_CODE`](https://docs.djangoproject.com/en/stable/ref/settings/#language-code) internal setting.) --- diff --git a/docs/integrations/rest-api.md b/docs/integrations/rest-api.md index 437f652b7..1ba00958f 100644 --- a/docs/integrations/rest-api.md +++ b/docs/integrations/rest-api.md @@ -85,13 +85,19 @@ Each model generally has two views associated with it: a list view and a detail * `/api/dcim/devices/` - List existing devices or create a new device * `/api/dcim/devices/123/` - Retrieve, update, or delete the device with ID 123 -Lists of objects can be filtered using a set of query parameters. For example, to find all interfaces belonging to the device with ID 123: +Lists of objects can be filtered and ordered using a set of query parameters. For example, to find all interfaces belonging to the device with ID 123: ``` GET /api/dcim/interfaces/?device_id=123 ``` -See the [filtering documentation](../reference/filtering.md) for more details. +An optional `ordering` parameter can be used to define how to sort the results. Building off the previous example, to sort all the interfaces in reverse order of creation (newest to oldest) for a device with ID 123: + +``` +GET /api/dcim/interfaces/?device_id=123&ordering=-created +``` + +See the [filtering documentation](../reference/filtering.md) for more details on topics related to filtering, ordering and lookup expressions. ## Serialization diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index c6deb5958..9aa75ce4a 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -3,6 +3,9 @@ !!! tip "Plugins Development Tutorial" Just getting started with plugins? Check out our [**NetBox Plugin Tutorial**](https://github.com/netbox-community/netbox-plugin-tutorial) on GitHub! This in-depth guide will walk you through the process of creating an entire plugin from scratch. It even includes a companion [demo plugin repo](https://github.com/netbox-community/netbox-plugin-demo) to ensure you can jump in at any step along the way. This will get you up and running with plugins in no time! +!!! tip "Plugin Certification Program" + NetBox Labs offers a [**Plugin Certification Program**](https://github.com/netbox-community/netbox/wiki/Plugin-Certification-Program) for plugin developers interested in establishing a co-maintainer relationship. The program aims to assure ongoing compatibility, maintainability, and commercial supportability of key plugins. + NetBox can be extended to support additional data models and functionality through the use of plugins. A plugin is essentially a self-contained [Django app](https://docs.djangoproject.com/en/stable/) which gets installed alongside NetBox to provide custom functionality. Multiple plugins can be installed in a single NetBox instance, and each plugin can be enabled and configured independently. !!! info "Django Development" diff --git a/docs/plugins/development/views.md b/docs/plugins/development/views.md index 1730b0ebd..3c13a6fcb 100644 --- a/docs/plugins/development/views.md +++ b/docs/plugins/development/views.md @@ -157,7 +157,7 @@ These views are provided to enable or enhance certain NetBox model features, suc ### Additional Tabs -Plugins can "attach" a custom view to a core NetBox model by registering it with `register_model_view()`. To include a tab for this view within the NetBox UI, declare a TabView instance named `tab`: +Plugins can "attach" a custom view to a core NetBox model by registering it with `register_model_view()`. To include a tab for this view within the NetBox UI, declare a TabView instance named `tab`, and add it to the template context dict: ```python from dcim.models import Site @@ -173,6 +173,16 @@ class MyView(generic.ObjectView): badge=lambda obj: Stuff.objects.filter(site=obj).count(), permission='myplugin.view_stuff' ) + + def get(self, request, pk): + ... + return render( + request, + "myplugin/mytabview.html", + context={ + "tab": self.tab, + }, + ) ``` ::: utilities.views.register_model_view diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 39314187b..0f502c5d8 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -2,6 +2,8 @@ Plugins are packaged [Django](https://docs.djangoproject.com/) apps that can be installed alongside NetBox to provide custom functionality not present in the core application. Plugins can introduce their own models and views, but cannot interfere with existing components. A NetBox user may opt to install plugins provided by the community or build his or her own. +Please see the documented instructions for [installing a plugin](./installation.md) to get started. + ## Capabilities The NetBox plugin architecture allows for the following: @@ -23,122 +25,3 @@ Either by policy or by technical limitation, the interaction of plugins with Net * **Override core templates.** Plugins can inject additional content where supported, but may not manipulate or remove core content. * **Modify core settings.** A configuration registry is provided for plugins, however they cannot alter or delete the core configuration. * **Disable core components.** Plugins are not permitted to disable or hide core NetBox components. - -## Installing Plugins - -The instructions below detail the process for installing and enabling a NetBox plugin. - -### Install Package - -Download and install the plugin package per its installation instructions. Plugins published via PyPI are typically installed using pip. Be sure to install the plugin within NetBox's virtual environment. - -```no-highlight -$ source /opt/netbox/venv/bin/activate -(venv) $ pip install -``` - -Alternatively, you may wish to install the plugin manually by running `python setup.py install`. If you are developing a plugin and want to install it only temporarily, run `python setup.py develop` instead. - -### Enable the Plugin - -In `configuration.py`, add the plugin's name to the `PLUGINS` list: - -```python -PLUGINS = [ - 'plugin_name', -] -``` - -### Configure Plugin - -If the plugin requires any configuration, define it in `configuration.py` under the `PLUGINS_CONFIG` parameter. The available configuration parameters should be detailed in the plugin's README file. - -```no-highlight -PLUGINS_CONFIG = { - 'plugin_name': { - 'foo': 'bar', - 'buzz': 'bazz' - } -} -``` - -### Run Database Migrations - -If the plugin introduces new database models, run the provided schema migrations: - -```no-highlight -(venv) $ cd /opt/netbox/netbox/ -(venv) $ python3 manage.py migrate -``` - -### Collect Static Files - -Plugins may package static files to be served directly by the HTTP front end. Ensure that these are copied to the static root directory with the `collectstatic` management command: - -```no-highlight -(venv) $ cd /opt/netbox/netbox/ -(venv) $ python3 manage.py collectstatic -``` - -### Restart WSGI Service - -Restart the WSGI service and RQ workers to load the new plugin: - -```no-highlight -# sudo systemctl restart netbox netbox-rq -``` - -## Removing Plugins - -Follow these steps to completely remove a plugin. - -### Update Configuration - -Remove the plugin from the `PLUGINS` list in `configuration.py`. Also remove any relevant configuration parameters from `PLUGINS_CONFIG`. - -### Remove the Python Package - -Use `pip` to remove the installed plugin: - -```no-highlight -$ source /opt/netbox/venv/bin/activate -(venv) $ pip uninstall -``` - -### Restart WSGI Service - -Restart the WSGI service: - -```no-highlight -# sudo systemctl restart netbox -``` - -### Drop Database Tables - -!!! note - This step is necessary only for plugin which have created one or more database tables (generally through the introduction of new models). Check your plugin's documentation if unsure. - -Enter the PostgreSQL database shell to determine if the plugin has created any SQL tables. Substitute `pluginname` in the example below for the name of the plugin being removed. (You can also run the `\dt` command without a pattern to list _all_ tables.) - -```no-highlight -netbox=> \dt pluginname_* - List of relations - List of relations - Schema | Name | Type | Owner ---------+----------------+-------+-------- - public | pluginname_foo | table | netbox - public | pluginname_bar | table | netbox -(2 rows) -``` - -!!! warning - Exercise extreme caution when removing tables. Users are strongly encouraged to perform a backup of their database immediately before taking these actions. - -Drop each of the listed tables to remove it from the database: - -```no-highlight -netbox=> DROP TABLE pluginname_foo; -DROP TABLE -netbox=> DROP TABLE pluginname_bar; -DROP TABLE -``` diff --git a/docs/plugins/installation.md b/docs/plugins/installation.md new file mode 100644 index 000000000..ffea5d42d --- /dev/null +++ b/docs/plugins/installation.md @@ -0,0 +1,68 @@ +# Installing a Plugin + +!!! warning + The instructions below detail the general process for installing and configuring a NetBox plugin. However, each plugin is different and may require additional tasks or modifications to the steps below. Always consult the documentation for a specific plugin **before** attempting to install it. + +## Install the Python Package + +Download and install the plugin's Python package per its installation instructions. Plugins published via PyPI are typically installed using the [`pip`](https://packaging.python.org/en/latest/tutorials/installing-packages/) command line utility. Be sure to install the plugin within NetBox's virtual environment. + +```no-highlight +$ source /opt/netbox/venv/bin/activate +(venv) $ pip install +``` + +Alternatively, you may wish to install the plugin manually by running `python setup.py install`. If you are developing a plugin and want to install it only temporarily, run `python setup.py develop` instead. + +## Enable the Plugin + +In `configuration.py`, add the plugin's name to the `PLUGINS` list: + +```python +PLUGINS = [ + # ... + 'plugin_name', +] +``` + +## Configure the Plugin + +If the plugin requires any configuration, define it in `configuration.py` under the `PLUGINS_CONFIG` parameter. The available configuration parameters should be detailed in the plugin's `README` file or other documentation. + +```no-highlight +PLUGINS_CONFIG = { + 'plugin_name': { + 'foo': 'bar', + 'buzz': 'bazz' + } +} +``` + +## Run Database Migrations + +If the plugin introduces new database models, run the provided schema migrations: + +```no-highlight +(venv) $ cd /opt/netbox/netbox/ +(venv) $ python3 manage.py migrate +``` + +!!! tip + It's okay to run the `migrate` management command even if the plugin does not include any migration files. + +## Collect Static Files + +Plugins may package static resources like images or scripts to be served directly by the HTTP front end. Ensure that these are copied to the static root directory with the `collectstatic` management command: + +```no-highlight +(venv) $ cd /opt/netbox/netbox/ +(venv) $ python3 manage.py collectstatic +``` + +### Restart WSGI Service + +Finally, restart the WSGI service and RQ workers to load the new plugin: + +```no-highlight +# sudo systemctl restart netbox netbox-rq +``` diff --git a/docs/plugins/removal.md b/docs/plugins/removal.md new file mode 100644 index 000000000..f5e81bdc0 --- /dev/null +++ b/docs/plugins/removal.md @@ -0,0 +1,72 @@ +# Removing a Plugin + +!!! warning + The instructions below detail the general process for removing a NetBox plugin. However, each plugin is different and may require additional tasks or modifications to the steps below. Always consult the documentation for a specific plugin **before** attempting to remove it. + +## Disable the Plugin + +Disable the plugin by removing it from the `PLUGINS` list in `configuration.py`. + +## Remove its Configuration + +Delete the plugin's entry (if any) in the `PLUGINS_CONFIG` dictionary in `configuration.py`. + +!!! tip + If there's a chance you may reinstall the plugin, consider commenting out any configuration parameters instead of deleting them. + +## Re-index Search Entries + +Run the `reindex` management command to reindex the global search engine. This will remove any stale entries pertaining to objects provided by the plugin. + +```no-highlight +$ cd /opt/netbox/netbox/ +$ source /opt/netbox/venv/bin/activate +(venv) $ python3 manage.py reindex +``` + +## Uninstall its Python Package + +Use `pip` to remove the installed plugin: + +```no-highlight +$ source /opt/netbox/venv/bin/activate +(venv) $ pip uninstall +``` + +## Restart WSGI Service + +Restart the WSGI service: + +```no-highlight +# sudo systemctl restart netbox +``` + +## Drop Database Tables + +!!! note + This step is necessary only for plugins which have created one or more database tables (generally through the introduction of new models). Check your plugin's documentation if unsure. + +Enter the PostgreSQL database shell (`manage.py dbshell`) to determine if the plugin has created any SQL tables. Substitute `pluginname` in the example below for the name of the plugin being removed. (You can also run the `\dt` command without a pattern to list _all_ tables.) + +```no-highlight +netbox=> \dt pluginname_* + List of relations + List of relations + Schema | Name | Type | Owner +--------+----------------+-------+-------- + public | pluginname_foo | table | netbox + public | pluginname_bar | table | netbox +(2 rows) +``` + +!!! warning + Exercise extreme caution when removing tables. Users are strongly encouraged to perform a backup of their database immediately before taking these actions. + +Drop each of the listed tables to remove it from the database: + +```no-highlight +netbox=> DROP TABLE pluginname_foo; +DROP TABLE +netbox=> DROP TABLE pluginname_bar; +DROP TABLE +``` diff --git a/docs/release-notes/version-3.7.md b/docs/release-notes/version-3.7.md index 0e4bcfc5b..64fdc7dfe 100644 --- a/docs/release-notes/version-3.7.md +++ b/docs/release-notes/version-3.7.md @@ -1,11 +1,51 @@ # NetBox v3.7 -## v3.7.5 (FUTURE) +## v3.7.7 (FUTURE) + +--- + +## v3.7.6 (2024-04-22) + +### Enhancements + +* [#14690](https://github.com/netbox-community/netbox/issues/14690) - Improve rendering of JSON data in configuration form +* [#15427](https://github.com/netbox-community/netbox/issues/15427) - Enable compatibility with non-Amazon S3 providers for remote data sources +* [#15640](https://github.com/netbox-community/netbox/issues/15640) - Add global search support for L2VPN identifiers +* [#15644](https://github.com/netbox-community/netbox/issues/15644) - Introduce new configuration parameters for enabling HTTP Strict Transport Security (HSTS) + +### Bug Fixes + +* [#15541](https://github.com/netbox-community/netbox/issues/15541) - Restore ability to modify assigned component template when adding/modifying an inventory item template +* [#15582](https://github.com/netbox-community/netbox/issues/15582) - Fix permission constraints for synchronization of remote data sources +* [#15588](https://github.com/netbox-community/netbox/issues/15588) - Correct OpenAPI schema definitions for read-only fields which may return null values +* [#15635](https://github.com/netbox-community/netbox/issues/15635) - Extend plugin removal instruction to include reindexing the global search cache +* [#15654](https://github.com/netbox-community/netbox/issues/15654) - Fix `AttributeError` exception when attempting to save an incomplete tunnel termination +* [#15668](https://github.com/netbox-community/netbox/issues/15668) - Fix permission required to display virtual disks tab on virtual machine UI view +* [#15685](https://github.com/netbox-community/netbox/issues/15685) - Allow filtering cables by decimal values using UI filter form +* [#15761](https://github.com/netbox-community/netbox/issues/15761) - Add missing `ike_policy` & `ike_policy_id` filters for IKE proposals +* [#15771](https://github.com/netbox-community/netbox/issues/15771) - Include `id` in list of supported fields for all bulk import forms +* [#15790](https://github.com/netbox-community/netbox/issues/15790) - Fix live preview support for EventRule comments + +--- + +## v3.7.5 (2024-04-04) + +### Enhancements + +* [#14707](https://github.com/netbox-community/netbox/issues/14707) - Clarify interface designation when creating tunnel terminations +* [#15039](https://github.com/netbox-community/netbox/issues/15039) - Allow API tokens to be cloned ### Bug Fixes * [#14799](https://github.com/netbox-community/netbox/issues/14799) - Avoid caching modified reports & scripts +* [#15029](https://github.com/netbox-community/netbox/issues/15029) - Raise a clean validation error when attempting to make duplicate FHRP group assignments +* [#15102](https://github.com/netbox-community/netbox/issues/15102) - Fix usage of selector widget for form fields referencing users/groups +* [#15435](https://github.com/netbox-community/netbox/issues/15435) - Correct permissions name to allow adding a module bay to a device via the UI * [#15502](https://github.com/netbox-community/netbox/issues/15502) - Fix KeyError exception when modifying an IP address assigned to a virtual machine +* [#15597](https://github.com/netbox-community/netbox/issues/15597) - Restore help modal for `button_class` field on custom link bulk import form +* [#15598](https://github.com/netbox-community/netbox/issues/15598) - Fix exception when creating a device from a device type with one or more child inventory items +* [#15608](https://github.com/netbox-community/netbox/issues/15608) - Avoid caching values of null fields in search index +* [#15609](https://github.com/netbox-community/netbox/issues/15609) - Fix filtering of the providers list by assigned ASN --- diff --git a/mkdocs.yml b/mkdocs.yml index 7d586355f..6f7ea7045 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,6 +42,7 @@ plugins: show_root_toc_entry: false show_source: false extra: + readthedocs: !ENV READTHEDOCS social: - icon: fontawesome/brands/github link: https://github.com/netbox-community/netbox @@ -128,7 +129,9 @@ nav: - Synchronized Data: 'integrations/synchronized-data.md' - Prometheus Metrics: 'integrations/prometheus-metrics.md' - Plugins: - - Using Plugins: 'plugins/index.md' + - About Plugins: 'plugins/index.md' + - Installing a Plugin: 'plugins/installation.md' + - Removing a Plugin: 'plugins/removal.md' - Developing Plugins: - Getting Started: 'plugins/development/index.md' - Models: 'plugins/development/models.md' diff --git a/netbox/circuits/filtersets.py b/netbox/circuits/filtersets.py index cbf1fb82d..a1fc8661a 100644 --- a/netbox/circuits/filtersets.py +++ b/netbox/circuits/filtersets.py @@ -64,6 +64,12 @@ class ProviderFilterSet(NetBoxModelFilterSet, ContactModelFilterSet): queryset=ASN.objects.all(), label=_('ASN (ID)'), ) + asn = django_filters.ModelMultipleChoiceFilter( + field_name='asns__asn', + queryset=ASN.objects.all(), + to_field_name='asn', + label=_('ASN'), + ) class Meta: model = Provider diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index 01445ff6f..b2426e928 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -25,7 +25,7 @@ class ProviderFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): fieldsets = ( FieldSet('q', 'filter_id', 'tag'), FieldSet('region_id', 'site_group_id', 'site_id', name=_('Location')), - FieldSet('asn', name=_('ASN')), + FieldSet('asn_id', name=_('ASN')), FieldSet('contact', 'contact_role', 'contact_group', name=_('Contacts')), ) region_id = DynamicModelMultipleChoiceField( @@ -47,10 +47,6 @@ class ProviderFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): }, label=_('Site') ) - asn = forms.IntegerField( - required=False, - label=_('ASN (legacy)') - ) asn_id = DynamicModelMultipleChoiceField( queryset=ASN.objects.all(), required=False, diff --git a/netbox/circuits/tests/test_filtersets.py b/netbox/circuits/tests/test_filtersets.py index bbd2438d7..0480439eb 100644 --- a/netbox/circuits/tests/test_filtersets.py +++ b/netbox/circuits/tests/test_filtersets.py @@ -90,10 +90,12 @@ class ProviderTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'description': ['foobar1', 'foobar2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_asn_id(self): # ASN object assignment + def test_asn(self): asns = ASN.objects.all()[:2] params = {'asn_id': [asns[0].pk, asns[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'asn': [asns[0].asn, asns[1].asn]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) def test_region(self): regions = Region.objects.all()[:2] diff --git a/netbox/core/api/views.py b/netbox/core/api/views.py index 3fddfd691..6338523d2 100644 --- a/netbox/core/api/views.py +++ b/netbox/core/api/views.py @@ -1,5 +1,5 @@ from django.shortcuts import get_object_or_404 - +from django.utils.translation import gettext_lazy as _ from rest_framework.decorators import action from rest_framework.exceptions import PermissionDenied from rest_framework.response import Response @@ -30,10 +30,11 @@ class DataSourceViewSet(NetBoxModelViewSet): """ Enqueue a job to synchronize the DataSource. """ - if not request.user.has_perm('core.sync_datasource'): - raise PermissionDenied("Syncing data sources requires the core.sync_datasource permission.") - datasource = get_object_or_404(DataSource, pk=pk) + + if not request.user.has_perm('core.sync_datasource', obj=datasource): + raise PermissionDenied(_("This user does not have permission to synchronize this data source.")) + datasource.enqueue_sync_job(request) serializer = serializers.DataSourceSerializer(datasource, context={'request': request}) diff --git a/netbox/core/data_backends.py b/netbox/core/data_backends.py index 15891a6f5..2d3a7d8c8 100644 --- a/netbox/core/data_backends.py +++ b/netbox/core/data_backends.py @@ -149,7 +149,8 @@ class S3Backend(DataBackend): region_name=self._region_name, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, - config=self.config + config=self.config, + endpoint_url=self._endpoint_url ) bucket = s3.Bucket(self._bucket_name) @@ -176,6 +177,11 @@ class S3Backend(DataBackend): url_path = urlparse(self.url).path.lstrip('/') return url_path.split('/')[0] + @property + def _endpoint_url(self): + url_path = urlparse(self.url) + return url_path._replace(params="", fragment="", query="", path="").geturl() + @property def _remote_path(self): url_path = urlparse(self.url).path.lstrip('/') diff --git a/netbox/core/forms/model_forms.py b/netbox/core/forms/model_forms.py index cbca0737a..a05377597 100644 --- a/netbox/core/forms/model_forms.py +++ b/netbox/core/forms/model_forms.py @@ -3,6 +3,7 @@ import json from django import forms from django.conf import settings +from django.forms.fields import JSONField as _JSONField from django.utils.translation import gettext_lazy as _ from core.forms.mixins import SyncedDataMixin @@ -12,7 +13,7 @@ from netbox.forms import NetBoxModelForm from netbox.registry import registry from netbox.utils import get_data_backend_choices from utilities.forms import get_field_value -from utilities.forms.fields import CommentField +from utilities.forms.fields import CommentField, JSONField from utilities.forms.rendering import FieldSet from utilities.forms.widgets import HTMXSelect @@ -133,6 +134,9 @@ class ConfigFormMetaclass(forms.models.ModelFormMetaclass): 'help_text': param.description, } field_kwargs.update(**param.field_kwargs) + if param.field is _JSONField: + # Replace with our own JSONField to get pretty JSON in config editor + param.field = JSONField param_fields[param.name] = param.field(**field_kwargs) attrs.update(param_fields) diff --git a/netbox/dcim/api/serializers_/device_components.py b/netbox/dcim/api/serializers_/device_components.py index 87d142978..fd32d95d0 100644 --- a/netbox/dcim/api/serializers_/device_components.py +++ b/netbox/dcim/api/serializers_/device_components.py @@ -347,7 +347,7 @@ class InventoryItemSerializer(NetBoxModelSerializer): required=False, allow_null=True ) - component = serializers.SerializerMethodField(read_only=True) + component = serializers.SerializerMethodField(read_only=True, allow_null=True) _depth = serializers.IntegerField(source='level', read_only=True) class Meta: diff --git a/netbox/dcim/api/serializers_/devices.py b/netbox/dcim/api/serializers_/devices.py index 303c35532..7d1601882 100644 --- a/netbox/dcim/api/serializers_/devices.py +++ b/netbox/dcim/api/serializers_/devices.py @@ -53,7 +53,7 @@ class DeviceSerializer(NetBoxModelSerializer): ) status = ChoiceField(choices=DeviceStatusChoices, required=False) airflow = ChoiceField(choices=DeviceAirflowChoices, allow_blank=True, required=False) - primary_ip = IPAddressSerializer(nested=True, read_only=True) + primary_ip = IPAddressSerializer(nested=True, read_only=True, allow_null=True) primary_ip4 = IPAddressSerializer(nested=True, required=False, allow_null=True) primary_ip6 = IPAddressSerializer(nested=True, required=False, allow_null=True) oob_ip = IPAddressSerializer(nested=True, required=False, allow_null=True) @@ -101,7 +101,7 @@ class DeviceSerializer(NetBoxModelSerializer): class DeviceWithConfigContextSerializer(DeviceSerializer): - config_context = serializers.SerializerMethodField(read_only=True) + config_context = serializers.SerializerMethodField(read_only=True, allow_null=True) class Meta(DeviceSerializer.Meta): fields = [ diff --git a/netbox/dcim/api/serializers_/devicetype_components.py b/netbox/dcim/api/serializers_/devicetype_components.py index 259a5df27..ca737ce38 100644 --- a/netbox/dcim/api/serializers_/devicetype_components.py +++ b/netbox/dcim/api/serializers_/devicetype_components.py @@ -307,7 +307,7 @@ class InventoryItemTemplateSerializer(ValidatedModelSerializer): required=False, allow_null=True ) - component = serializers.SerializerMethodField(read_only=True) + component = serializers.SerializerMethodField(read_only=True, allow_null=True) _depth = serializers.IntegerField(source='level', read_only=True) class Meta: diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index d49973082..5a64cad02 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -1373,14 +1373,14 @@ class VirtualDeviceContextImportForm(NetBoxModelImportForm): label=_('Device'), queryset=Device.objects.all(), to_field_name='name', - help_text='Assigned role' + help_text=_('Assigned role') ) tenant = CSVModelChoiceField( label=_('Tenant'), queryset=Tenant.objects.all(), required=False, to_field_name='name', - help_text='Assigned tenant' + help_text=_('Assigned tenant') ) status = CSVChoiceField( label=_('Status'), diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 4e8e3491c..21854b53f 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -975,9 +975,9 @@ class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): label=_('Color'), required=False ) - length = forms.IntegerField( + length = forms.DecimalField( label=_('Length'), - required=False + required=False, ) length_unit = forms.ChoiceField( label=_('Length unit'), diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index 3559aabc6..511e0039e 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -13,8 +13,7 @@ from netbox.forms import NetBoxModelForm from tenancy.forms import TenancyForm from utilities.forms import add_blank_choice from utilities.forms.fields import ( - CommentField, ContentTypeChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, JSONField, - NumericArrayField, SlugField, + CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, JSONField, NumericArrayField, SlugField, ) from utilities.forms.rendering import FieldSet, InlineFields, TabbedGroups from utilities.forms.widgets import APISelect, ClearableFileInput, HTMXSelect, NumberWithOptions, SelectWithPK @@ -1003,15 +1002,62 @@ class InventoryItemTemplateForm(ComponentTemplateForm): queryset=Manufacturer.objects.all(), required=False ) - component_type = ContentTypeChoiceField( - queryset=ContentType.objects.all(), - limit_choices_to=MODULAR_COMPONENT_TEMPLATE_MODELS, + # Assigned component selectors + consoleporttemplate = DynamicModelChoiceField( + queryset=ConsolePortTemplate.objects.all(), required=False, - widget=forms.HiddenInput + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Console port template') ) - component_id = forms.IntegerField( + consoleserverporttemplate = DynamicModelChoiceField( + queryset=ConsoleServerPortTemplate.objects.all(), required=False, - widget=forms.HiddenInput + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Console server port template') + ) + frontporttemplate = DynamicModelChoiceField( + queryset=FrontPortTemplate.objects.all(), + required=False, + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Front port template') + ) + interfacetemplate = DynamicModelChoiceField( + queryset=InterfaceTemplate.objects.all(), + required=False, + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Interface template') + ) + poweroutlettemplate = DynamicModelChoiceField( + queryset=PowerOutletTemplate.objects.all(), + required=False, + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Power outlet template') + ) + powerporttemplate = DynamicModelChoiceField( + queryset=PowerPortTemplate.objects.all(), + required=False, + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Power port template') + ) + rearporttemplate = DynamicModelChoiceField( + queryset=RearPortTemplate.objects.all(), + required=False, + query_params={ + 'device_type_id': '$device_type' + }, + label=_('Rear port template') ) fieldsets = ( @@ -1025,9 +1071,52 @@ class InventoryItemTemplateForm(ComponentTemplateForm): model = InventoryItemTemplate fields = [ 'device_type', 'parent', 'name', 'label', 'role', 'manufacturer', 'part_id', 'description', - 'component_type', 'component_id', ] + def __init__(self, *args, **kwargs): + instance = kwargs.get('instance') + initial = kwargs.get('initial', {}).copy() + component_type = initial.get('component_type') + component_id = initial.get('component_id') + + # Used for picking the default active tab for component selection + self.no_component = True + + if instance: + # When editing set the initial value for component selection + for component_model in ContentType.objects.filter(MODULAR_COMPONENT_TEMPLATE_MODELS): + if type(instance.component) is component_model.model_class(): + initial[component_model.model] = instance.component + self.no_component = False + break + elif component_type and component_id: + # When adding the InventoryItem from a component page + if content_type := ContentType.objects.filter(MODULAR_COMPONENT_TEMPLATE_MODELS).filter(pk=component_type).first(): + if component := content_type.model_class().objects.filter(pk=component_id).first(): + initial[content_type.model] = component + self.no_component = False + + kwargs['initial'] = initial + + super().__init__(*args, **kwargs) + + def clean(self): + super().clean() + + # Handle object assignment + selected_objects = [ + field for field in ( + 'consoleporttemplate', 'consoleserverporttemplate', 'frontporttemplate', 'interfacetemplate', + 'poweroutlettemplate', 'powerporttemplate', 'rearporttemplate' + ) if self.cleaned_data[field] + ] + if len(selected_objects) > 1: + raise forms.ValidationError(_("An InventoryItem can only be assigned to a single component.")) + elif selected_objects: + self.instance.component = self.cleaned_data[selected_objects[0]] + else: + self.instance.component = None + # # Device components diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 1687298c8..abc9e0b08 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -981,17 +981,16 @@ class Device( bulk_create: If True, bulk_create() will be called to create all components in a single query (default). Otherwise, save() will be called on each instance individually. """ - components = [obj.instantiate(device=self) for obj in queryset] - if not components: - return - - # Set default values for any applicable custom fields model = queryset.model.component_model - if cf_defaults := CustomField.objects.get_defaults_for_model(model): - for component in components: - component.custom_field_data = cf_defaults if bulk_create: + components = [obj.instantiate(device=self) for obj in queryset] + if not components: + return + # Set default values for any applicable custom fields + if cf_defaults := CustomField.objects.get_defaults_for_model(model): + for component in components: + component.custom_field_data = cf_defaults model.objects.bulk_create(components) # Manually send the post_save signal for each of the newly created components for component in components: @@ -1004,7 +1003,11 @@ class Device( update_fields=None ) else: - for component in components: + for obj in queryset: + component = obj.instantiate(device=self) + # Set default values for any applicable custom fields + if cf_defaults := CustomField.objects.get_defaults_for_model(model): + component.custom_field_data = cf_defaults component.save() def save(self, *args, **kwargs): diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 120bbcb59..8968f8c52 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1655,6 +1655,7 @@ class InventoryItemTemplateCreateView(generic.ComponentCreateView): queryset = InventoryItemTemplate.objects.all() form = forms.InventoryItemTemplateCreateForm model_form = forms.InventoryItemTemplateForm + template_name = 'dcim/inventoryitemtemplate_edit.html' def alter_object(self, instance, request): # Set component (if any) @@ -1672,6 +1673,7 @@ class InventoryItemTemplateCreateView(generic.ComponentCreateView): class InventoryItemTemplateEditView(generic.ObjectEditView): queryset = InventoryItemTemplate.objects.all() form = forms.InventoryItemTemplateForm + template_name = 'dcim/inventoryitemtemplate_edit.html' @register_model_view(InventoryItemTemplate, 'delete') diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index d0114077a..c09eed3da 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -116,6 +116,12 @@ class CustomLinkImportForm(CSVModelForm): queryset=ObjectType.objects.with_feature('custom_links'), help_text=_("One or more assigned object types") ) + button_class = CSVChoiceField( + label=_('button class'), + required=False, + choices=CustomLinkButtonClassChoices, + help_text=_('The class of the first link in a group will be used for the dropdown button') + ) class Meta: model = CustomLink diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py index b08f3d43c..229d94232 100644 --- a/netbox/extras/forms/model_forms.py +++ b/netbox/extras/forms/model_forms.py @@ -273,6 +273,7 @@ class EventRuleForm(NetBoxModelForm): required=False, help_text=_('Enter parameters to pass to the action in JSON format.') ) + comments = CommentField() fieldsets = ( FieldSet('name', 'description', 'object_types', 'enabled', 'tags', name=_('Event Rule')), diff --git a/netbox/ipam/api/serializers_/ip.py b/netbox/ipam/api/serializers_/ip.py index e5fa81314..7c53d68ca 100644 --- a/netbox/ipam/api/serializers_/ip.py +++ b/netbox/ipam/api/serializers_/ip.py @@ -100,7 +100,7 @@ class AvailablePrefixSerializer(serializers.Serializer): """ family = serializers.IntegerField(read_only=True) prefix = serializers.CharField(read_only=True) - vrf = VRFSerializer(nested=True, read_only=True) + vrf = VRFSerializer(nested=True, read_only=True, allow_null=True) def to_representation(self, instance): if self.context.get('vrf'): @@ -183,7 +183,7 @@ class AvailableIPSerializer(serializers.Serializer): """ family = serializers.IntegerField(read_only=True) address = serializers.CharField(read_only=True) - vrf = VRFSerializer(nested=True, read_only=True) + vrf = VRFSerializer(nested=True, read_only=True, allow_null=True) description = serializers.CharField(required=False) def to_representation(self, instance): diff --git a/netbox/ipam/api/serializers_/vlans.py b/netbox/ipam/api/serializers_/vlans.py index a400f949b..f35d294cf 100644 --- a/netbox/ipam/api/serializers_/vlans.py +++ b/netbox/ipam/api/serializers_/vlans.py @@ -82,7 +82,7 @@ class AvailableVLANSerializer(serializers.Serializer): Representation of a VLAN which does not exist in the database. """ vid = serializers.IntegerField(read_only=True) - group = VLANGroupSerializer(nested=True, read_only=True) + group = VLANGroupSerializer(nested=True, read_only=True, allow_null=True) def to_representation(self, instance): return { diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index 0db9576f1..1282cec25 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -533,6 +533,24 @@ class FHRPGroupAssignmentForm(forms.ModelForm): for ipaddress in ipaddresses: self.fields['group'].widget.add_query_param('related_ip', ipaddress.pk) + def clean_group(self): + group = self.cleaned_data['group'] + + conflicting_assignments = FHRPGroupAssignment.objects.filter( + interface_type=self.instance.interface_type, + interface_id=self.instance.interface_id, + group=group + ) + if self.instance.id: + conflicting_assignments = conflicting_assignments.exclude(id=self.instance.id) + + if conflicting_assignments.exists(): + raise forms.ValidationError( + _('Assignment already exists') + ) + + return group + class VLANGroupForm(NetBoxModelForm): scope_type = ContentTypeChoiceField( diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index d177ce1d8..21cdf891d 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -74,17 +74,12 @@ class NetBoxModelImportForm(CSVModelForm, NetBoxModelForm): """ Base form for creating a NetBox objects from CSV data. Used for bulk importing. """ - id = forms.IntegerField( - label=_('Id'), - required=False, - help_text='Numeric ID of an existing object to update (if not creating a new object)' - ) tags = CSVModelMultipleChoiceField( label=_('Tags'), queryset=Tag.objects.all(), required=False, to_field_name='slug', - help_text='Tag slugs separated by commas, encased with double quotes (e.g. "tag1,tag2,tag3")' + help_text=_('Tag slugs separated by commas, encased with double quotes (e.g. "tag1,tag2,tag3")') ) def _get_custom_fields(self, content_type): diff --git a/netbox/netbox/search/__init__.py b/netbox/netbox/search/__init__.py index 76898be13..a024f93ea 100644 --- a/netbox/netbox/search/__init__.py +++ b/netbox/netbox/search/__init__.py @@ -80,9 +80,10 @@ class SearchIndex: @staticmethod def get_field_value(instance, field_name): """ - Return the value of the specified model field as a string. + Return the value of the specified model field as a string (or None). """ - return str(getattr(instance, field_name)) + if value := getattr(instance, field_name): + return str(value) @classmethod def get_category(cls): diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index bb3c2b448..30c0fba53 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -139,6 +139,9 @@ RQ_RETRY_MAX = getattr(configuration, 'RQ_RETRY_MAX', 0) SCRIPTS_ROOT = getattr(configuration, 'SCRIPTS_ROOT', os.path.join(BASE_DIR, 'scripts')).rstrip('/') SEARCH_BACKEND = getattr(configuration, 'SEARCH_BACKEND', 'netbox.search.backends.CachedValueSearchBackend') SECRET_KEY = getattr(configuration, 'SECRET_KEY') # Required +SECURE_HSTS_INCLUDE_SUBDOMAINS = getattr(configuration, 'SECURE_HSTS_INCLUDE_SUBDOMAINS', False) +SECURE_HSTS_PRELOAD = getattr(configuration, 'SECURE_HSTS_PRELOAD', False) +SECURE_HSTS_SECONDS = getattr(configuration, 'SECURE_HSTS_SECONDS', 0) SECURE_SSL_REDIRECT = getattr(configuration, 'SECURE_SSL_REDIRECT', False) SENTRY_DSN = getattr(configuration, 'SENTRY_DSN', None) SENTRY_ENABLED = getattr(configuration, 'SENTRY_ENABLED', False) diff --git a/netbox/templates/dcim/device/base.html b/netbox/templates/dcim/device/base.html index fd0557fd0..9a2286e40 100644 --- a/netbox/templates/dcim/device/base.html +++ b/netbox/templates/dcim/device/base.html @@ -42,7 +42,7 @@ {% if perms.dcim.add_rearport %}
  • {% trans "Rear Ports" %}
  • {% endif %} - {% if perms.dcim.add_devicebay %} + {% if perms.dcim.add_modulebay %}
  • {% trans "Module Bays" %}
  • {% endif %} {% if perms.dcim.add_devicebay %} diff --git a/netbox/templates/dcim/inventoryitemtemplate_edit.html b/netbox/templates/dcim/inventoryitemtemplate_edit.html new file mode 100644 index 000000000..d3ac58e25 --- /dev/null +++ b/netbox/templates/dcim/inventoryitemtemplate_edit.html @@ -0,0 +1,104 @@ +{% extends 'generic/object_edit.html' %} +{% load static %} +{% load form_helpers %} +{% load helpers %} +{% load i18n %} + +{% block form %} +
    +
    +
    {% trans "Inventory Item" %}
    +
    + {% render_field form.device_type %} + {% render_field form.parent %} + {% render_field form.name %} + {% render_field form.label %} + {% render_field form.role %} + {% render_field form.description %} +
    + +
    +
    +
    {% trans "Hardware" %}
    +
    + {% render_field form.manufacturer %} + {% render_field form.part_id %} +
    + +
    +
    +
    {% trans "Component Assignment" %}
    +
    +
    + +
    +
    +
    + {% render_field form.consoleporttemplate %} +
    +
    + {% render_field form.consoleserverporttemplate %} +
    +
    + {% render_field form.frontporttemplate %} +
    +
    + {% render_field form.interfacetemplate %} +
    +
    + {% render_field form.poweroutlettemplate %} +
    +
    + {% render_field form.powerporttemplate %} +
    +
    + {% render_field form.rearporttemplate %} +
    +
    +
    + + {% if form.custom_fields %} +
    +
    +
    {% trans "Custom Fields" %}
    +
    + {% render_custom_fields form %} +
    + {% endif %} +{% endblock %} diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 80d8b317a..dfb5a7a59 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -60,8 +60,8 @@ msgid "Your preferences have been updated." msgstr "" #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "" @@ -71,8 +71,8 @@ msgid "Provisioning" msgstr "" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -81,7 +81,7 @@ msgid "Active" msgstr "" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "" @@ -94,7 +94,7 @@ msgstr "" msgid "Decommissioned" msgstr "" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -103,7 +103,7 @@ msgstr "" msgid "Region (ID)" msgstr "" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -113,7 +113,7 @@ msgstr "" msgid "Region (slug)" msgstr "" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -121,7 +121,7 @@ msgstr "" msgid "Site group (ID)" msgstr "" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -131,7 +131,7 @@ msgid "Site group (slug)" msgstr "" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -154,8 +154,8 @@ msgstr "" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 ipam/tables/vlans.py:114 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 ipam/tables/vlans.py:114 #: ipam/tables/vlans.py:216 templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 #: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 @@ -172,13 +172,13 @@ msgstr "" #: virtualization/forms/model_forms.py:74 #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -190,33 +190,39 @@ msgstr "" msgid "ASN (ID)" msgstr "" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" msgstr "" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 dcim/filtersets.py:209 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 dcim/filtersets.py:209 #: dcim/filtersets.py:284 dcim/filtersets.py:357 dcim/filtersets.py:927 #: dcim/filtersets.py:1232 dcim/filtersets.py:1727 dcim/filtersets.py:1969 #: dcim/filtersets.py:2028 ipam/filtersets.py:209 ipam/filtersets.py:329 @@ -225,13 +231,13 @@ msgstr "" msgid "Site (ID)" msgstr "" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -241,7 +247,7 @@ msgstr "" msgid "Search" msgstr "" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -249,11 +255,11 @@ msgstr "" msgid "Circuit" msgstr "" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -360,8 +366,8 @@ msgstr "" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -373,18 +379,18 @@ msgstr "" msgid "Provider" msgstr "" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -396,7 +402,7 @@ msgid "Color" msgstr "" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -415,7 +421,7 @@ msgstr "" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -440,12 +446,12 @@ msgid "Type" msgstr "" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -459,8 +465,8 @@ msgstr "" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -468,7 +474,7 @@ msgstr "" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -487,7 +493,7 @@ msgstr "" #: virtualization/forms/bulk_edit.py:117 virtualization/forms/bulk_import.py:54 #: virtualization/forms/bulk_import.py:80 virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -498,7 +504,7 @@ msgid "Status" msgstr "" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -554,15 +560,15 @@ msgstr "" msgid "Tenant" msgstr "" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "" @@ -595,7 +601,7 @@ msgstr "" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "" @@ -631,12 +637,12 @@ msgstr "" msgid "Assigned tenant" msgstr "" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -660,7 +666,7 @@ msgstr "" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 templates/dcim/location.html:27 #: templates/dcim/powerpanel.html:27 templates/dcim/rack.html:29 @@ -670,13 +676,7 @@ msgstr "" msgid "Location" msgstr "" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -689,7 +689,7 @@ msgstr "" msgid "Contacts" msgstr "" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -704,7 +704,7 @@ msgstr "" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -714,7 +714,7 @@ msgstr "" msgid "Region" msgstr "" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -724,19 +724,15 @@ msgstr "" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -761,7 +757,7 @@ msgstr "" msgid "Attributes" msgstr "" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -782,7 +778,7 @@ msgstr "" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "" @@ -804,8 +800,8 @@ msgid "Unique circuit ID" msgstr "" #: circuits/models/circuits.py:67 core/models/data.py:55 core/models/jobs.py:85 -#: dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -883,7 +879,7 @@ msgstr "" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "" @@ -909,8 +905,8 @@ msgstr "" #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -923,7 +919,7 @@ msgstr "" #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -981,13 +977,13 @@ msgstr "" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1050,9 +1046,9 @@ msgstr "" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1087,7 +1083,7 @@ msgstr "" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1099,7 +1095,7 @@ msgstr "" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1136,7 +1132,7 @@ msgid "Completed" msgstr "" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "" @@ -1218,7 +1214,7 @@ msgstr "" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1352,7 +1348,7 @@ msgstr "" msgid "Rack Elevations" msgstr "" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1413,7 +1409,7 @@ msgstr "" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "" @@ -1471,7 +1467,7 @@ msgstr "" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "" @@ -1681,7 +1677,7 @@ msgid "Staging" msgstr "" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "" @@ -1741,7 +1737,7 @@ msgstr "" msgid "Millimeters" msgstr "" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "" @@ -1753,8 +1749,8 @@ msgstr "" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1766,7 +1762,7 @@ msgstr "" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "" @@ -1815,7 +1811,7 @@ msgstr "" msgid "Side to rear" msgstr "" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "" @@ -1843,8 +1839,8 @@ msgstr "" msgid "Proprietary" msgstr "" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "" @@ -1857,177 +1853,177 @@ msgstr "" msgid "Physical" msgstr "" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "" @@ -2304,7 +2300,7 @@ msgid "Virtual Chassis (ID)" msgstr "" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2328,7 +2324,7 @@ msgstr "" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2336,8 +2332,8 @@ msgstr "" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2350,7 +2346,7 @@ msgstr "" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "" @@ -2364,7 +2360,7 @@ msgid "L2VPN (ID)" msgstr "" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2435,7 +2431,7 @@ msgstr "" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2452,7 +2448,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 ipam/filtersets.py:936 #: ipam/forms/bulk_edit.py:528 ipam/forms/bulk_import.py:444 -#: ipam/forms/model_forms.py:509 ipam/tables/fhrp.py:67 +#: ipam/forms/model_forms.py:495 ipam/tables/fhrp.py:67 #: ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2502,8 +2498,8 @@ msgstr "" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 ipam/forms/bulk_edit.py:245 #: ipam/forms/bulk_edit.py:294 ipam/forms/bulk_edit.py:342 #: ipam/forms/bulk_edit.py:546 ipam/forms/bulk_import.py:196 @@ -2512,7 +2508,7 @@ msgstr "" #: ipam/forms/filtersets.py:278 ipam/forms/filtersets.py:346 #: ipam/forms/filtersets.py:490 ipam/forms/model_forms.py:187 #: ipam/forms/model_forms.py:222 ipam/forms/model_forms.py:249 -#: ipam/forms/model_forms.py:647 ipam/tables/ip.py:257 ipam/tables/ip.py:313 +#: ipam/forms/model_forms.py:651 ipam/tables/ip.py:257 ipam/tables/ip.py:313 #: ipam/tables/ip.py:363 ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 #: templates/dcim/inc/panels/inventory_items.html:12 @@ -2529,7 +2525,7 @@ msgstr "" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2623,7 +2619,7 @@ msgstr "" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2655,7 +2651,7 @@ msgstr "" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2702,7 +2698,7 @@ msgstr "" msgid "Module Type" msgstr "" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "" @@ -2734,13 +2730,15 @@ msgstr "" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "" @@ -2764,16 +2762,16 @@ msgstr "" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2795,7 +2793,7 @@ msgstr "" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2934,7 +2932,7 @@ msgid "Wireless role" msgstr "" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2943,7 +2941,7 @@ msgstr "" msgid "Module" msgstr "" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "" @@ -2955,7 +2953,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -2980,13 +2978,13 @@ msgid "VLAN group" msgstr "" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "" @@ -2996,7 +2994,7 @@ msgid "Wireless LAN group" msgstr "" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "" @@ -3167,9 +3165,9 @@ msgid "Virtual chassis" msgstr "" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3179,7 +3177,7 @@ msgstr "" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "" @@ -3356,7 +3354,7 @@ msgstr "" msgid "Physical medium classification" msgstr "" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "" @@ -3444,7 +3442,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "" @@ -3566,7 +3564,7 @@ msgstr "" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3580,7 +3578,7 @@ msgid "Virtual Device Context" msgstr "" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3612,7 +3610,7 @@ msgid "Transmit power (dBm)" msgstr "" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3620,7 +3618,7 @@ msgstr "" msgid "Cable" msgstr "" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "" @@ -3665,7 +3663,7 @@ msgstr "" msgid "Device Role" msgstr "" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "" @@ -3716,9 +3714,7 @@ msgstr "" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "" @@ -3789,7 +3785,7 @@ msgid "" msgstr "" #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "" @@ -3818,7 +3814,7 @@ msgid "" "selected number of rear port positions ({rearport_count})." msgstr "" -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4501,13 +4497,13 @@ msgstr "" msgid "inventory item roles" msgstr "" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "" @@ -4555,7 +4551,7 @@ msgstr "" msgid "manufacturers" msgstr "" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "" @@ -4563,11 +4559,11 @@ msgstr "" msgid "default platform" msgstr "" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "" @@ -4601,7 +4597,7 @@ msgid "" "device type is neither a parent nor a child." msgstr "" -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "" @@ -4613,289 +4609,289 @@ msgstr "" msgid "device types" msgstr "" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "" -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate " "a height of {height}U" msgstr "" -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "" -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "" -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "" -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "" -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "" -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "" -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "" -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "" -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "" -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "" -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "" -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " "accommodate this device type: {device_type} ({u_height}U)" msgstr "" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "" -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "" -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " "but this device's type belongs to {devicetype_manufacturer}." msgstr "" -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "" -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" @@ -5269,7 +5265,7 @@ msgstr "" msgid "Reachable" msgstr "" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 templates/dcim/poweroutlet.html:47 #: templates/dcim/powerport.html:18 msgid "Power Port" @@ -5288,7 +5284,7 @@ msgstr "" msgid "VMs" msgstr "" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5297,62 +5293,62 @@ msgstr "" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5362,53 +5358,53 @@ msgstr "" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5417,12 +5413,12 @@ msgstr "" msgid "IP Addresses" msgstr "" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5431,20 +5427,20 @@ msgstr "" msgid "Tunnel" msgstr "" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5453,7 +5449,7 @@ msgstr "" msgid "Inventory Items" msgstr "" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5462,28 +5458,28 @@ msgstr "" msgid "Rear Port" msgstr "" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "" @@ -6041,7 +6037,7 @@ msgid "Cluster type (slug)" msgstr "" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "" @@ -6170,8 +6166,8 @@ msgid "Is active" msgstr "" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6180,8 +6176,8 @@ msgid "Content types" msgstr "" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "" @@ -6225,29 +6221,38 @@ msgid "" "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" msgstr "" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "" @@ -7129,15 +7134,6 @@ msgstr "" msgid "Links with the same group will appear as a dropdown menu" msgstr "" -#: extras/models/models.py:353 -msgid "button class" -msgstr "" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" - #: extras/models/models.py:360 msgid "new window" msgstr "" @@ -7321,7 +7317,7 @@ msgid "staged changes" msgstr "" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "" #: extras/models/tags.py:49 @@ -7620,7 +7616,7 @@ msgid "VLAN number (1-4094)" msgstr "" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "" @@ -7789,7 +7785,7 @@ msgid "Authentication key" msgstr "" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -7806,11 +7802,11 @@ msgstr "" msgid "Maximum child VLAN VID" msgstr "" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "" @@ -7819,8 +7815,8 @@ msgstr "" msgid "Site & Group" msgstr "" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -7859,7 +7855,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8034,8 +8030,8 @@ msgstr "" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8058,7 +8054,7 @@ msgstr "" msgid "IP Range" msgstr "" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "" @@ -8071,7 +8067,7 @@ msgstr "" msgid "An IP address can only be assigned to a single object." msgstr "" -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8082,45 +8078,39 @@ msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "" - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "" - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." msgstr "" -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8280,12 +8270,12 @@ msgstr "" msgid "Cannot create prefix with /0 mask." msgstr "" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "" @@ -8378,12 +8368,22 @@ msgstr "" msgid "Cannot create IP address with /0 mask." msgstr "" -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "" + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "" @@ -9141,7 +9141,7 @@ msgstr "" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "" @@ -10054,7 +10054,7 @@ msgstr "" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" +msgid "every %(interval)s minutes" msgstr "" #: templates/dcim/bulk_disconnect.html:9 @@ -12525,95 +12525,95 @@ msgstr "" msgid "Invalid filter for {model}: {error}" msgstr "" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "" -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " "no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" msgstr "" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "" -#: users/models.py:379 +#: users/models.py:384 msgid "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "" @@ -12860,43 +12860,50 @@ msgid "" "the object's change log for details." msgstr "" -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "" -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "" -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "" @@ -13502,6 +13509,11 @@ msgstr "" msgid "Assigned Object Type" msgstr "" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "" diff --git a/netbox/translations/es/LC_MESSAGES/django.mo b/netbox/translations/es/LC_MESSAGES/django.mo index 6ea16e7ff..ef13cd45b 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 66c0bad1f..65ebd312d 100644 --- a/netbox/translations/es/LC_MESSAGES/django.po +++ b/netbox/translations/es/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n" @@ -63,8 +63,8 @@ msgid "Your preferences have been updated." msgstr "Se han actualizado tus preferencias." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planificado" @@ -74,8 +74,8 @@ msgid "Provisioning" msgstr "Aprovisionamiento" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -84,7 +84,7 @@ msgid "Active" msgstr "Activo" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Desconectado" @@ -97,7 +97,7 @@ msgstr "Desaprovisionamiento" msgid "Decommissioned" msgstr "Desmantelado" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -106,7 +106,7 @@ msgstr "Desmantelado" msgid "Region (ID)" msgstr "Región (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -116,7 +116,7 @@ msgstr "Región (ID)" msgid "Region (slug)" msgstr "Región (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -124,7 +124,7 @@ msgstr "Región (slug)" msgid "Site group (ID)" msgstr "Grupo de sitios (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -134,7 +134,7 @@ msgid "Site group (slug)" msgstr "Grupo de sitios (slug)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -157,8 +157,8 @@ msgstr "Grupo de sitios (slug)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -180,13 +180,13 @@ msgstr "Grupo de sitios (slug)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "Sitio" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -198,33 +198,39 @@ msgstr "Sitio (babosa)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "Proveedor (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "Proveedor (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "Proveedor (babosa)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "Cuenta de proveedor (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "Red de proveedores (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "Tipo de circuito (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "Tipo de circuito (slug)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -234,13 +240,13 @@ msgstr "Tipo de circuito (slug)" msgid "Site (ID)" msgstr "Sitio (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -250,7 +256,7 @@ msgstr "Sitio (ID)" msgid "Search" msgstr "Búsqueda" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -258,11 +264,11 @@ msgstr "Búsqueda" msgid "Circuit" msgstr "Circuito" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "Red de proveedores (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -373,8 +379,8 @@ msgstr "Descripción" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -386,18 +392,18 @@ msgstr "Descripción" msgid "Provider" msgstr "Proveedor" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "ID de servicio" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -409,7 +415,7 @@ msgid "Color" msgstr "Color" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -428,7 +434,7 @@ msgstr "Color" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -453,12 +459,12 @@ msgid "Type" msgstr "Tipo" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "Cuenta de proveedor" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -472,8 +478,8 @@ msgstr "Cuenta de proveedor" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -481,7 +487,7 @@ msgstr "Cuenta de proveedor" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -502,7 +508,7 @@ msgstr "Cuenta de proveedor" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -513,7 +519,7 @@ msgid "Status" msgstr "Estado" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -571,15 +577,15 @@ msgstr "Estado" msgid "Tenant" msgstr "Inquilino" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "Fecha de instalación" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "Fecha de terminación" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "Velocidad de confirmación (Kbps)" @@ -612,7 +618,7 @@ msgstr "Proveedor asignado" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "Color RGB en hexadecimal. Ejemplo:" @@ -648,12 +654,12 @@ msgstr "Estado operativo" msgid "Assigned tenant" msgstr "Inquilino asignado" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "Red de proveedores" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -677,7 +683,7 @@ msgstr "Red de proveedores" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -687,13 +693,7 @@ msgstr "Red de proveedores" msgid "Location" msgstr "Ubicación" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -706,7 +706,7 @@ msgstr "ASN" msgid "Contacts" msgstr "Contactos" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -721,7 +721,7 @@ msgstr "Contactos" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -731,7 +731,7 @@ msgstr "Contactos" msgid "Region" msgstr "Región" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -741,19 +741,15 @@ msgstr "Región" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "Grupo de sitios" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (legado)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -779,7 +775,7 @@ msgstr "ASN (legado)" msgid "Attributes" msgstr "Atributos" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -800,7 +796,7 @@ msgstr "Tipo de circuito" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "color" @@ -822,8 +818,8 @@ msgid "Unique circuit ID" msgstr "ID de circuito único" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -902,7 +898,7 @@ msgstr "ID del panel de conexiones y números de puerto" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "descripción" @@ -932,8 +928,8 @@ msgstr "" #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -946,7 +942,7 @@ msgstr "" #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1004,13 +1000,13 @@ msgstr "redes de proveedores" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1076,9 +1072,9 @@ msgstr "redes de proveedores" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1113,7 +1109,7 @@ msgstr "Tasa de compromiso" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1125,7 +1121,7 @@ msgstr "Tasa de compromiso" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1162,7 +1158,7 @@ msgid "Completed" msgstr "Completado" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "Falló" @@ -1244,7 +1240,7 @@ msgstr "Fuente de datos (nombre)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1381,7 +1377,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevaciones de estanterías" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1442,7 +1438,7 @@ msgstr " (predeterminado)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "creado" @@ -1500,7 +1496,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "habilitado" @@ -1718,7 +1714,7 @@ msgid "Staging" msgstr "Puesta en escena" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Desmantelamiento" @@ -1778,7 +1774,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "Pulgadas" @@ -1790,8 +1786,8 @@ msgstr "Pulgadas" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1804,7 +1800,7 @@ msgstr "Pulgadas" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "Padre" @@ -1853,7 +1849,7 @@ msgstr "De derecha a izquierda" msgid "Side to rear" msgstr "De lado a atrás" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "Pasivo" @@ -1881,8 +1877,8 @@ msgstr "Internacional/ITA" msgid "Proprietary" msgstr "Proprietario" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "Otros" @@ -1895,177 +1891,177 @@ msgstr "ITA/Internacional" msgid "Physical" msgstr "Físico" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "Virtual" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "inalámbrico" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "Interfaces virtuales" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "puente" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "Grupo de agregación de enlaces (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "Ethernet (fijo)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "Ethernet (placa base)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "Celular" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "serie" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "Coaxial" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "Apilamiento" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "Mitad" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "Lleno" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "Acceso" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Etiquetado" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "Etiquetado (Todos)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "Estándar IEEE" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "Pasivo 24 V (2 pares)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "Pasivo de 24 V (4 pares)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "Pasivo 48 V (2 pares)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "Pasivo de 48 V (4 pares)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "Cobre" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "Fibra óptica" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "Fibra" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "Conectado" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "Kilómetros" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "Medidores" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "Centímetros" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "Millas" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "Pies" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "Kilogramos" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "Gramos" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "Libras" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "Onzas" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "Redundante" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "Monofásico" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "Trifásico" @@ -2342,7 +2338,7 @@ msgid "Virtual Chassis (ID)" msgstr "Chasis virtual (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2366,7 +2362,7 @@ msgstr "VID asignado" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2374,8 +2370,8 @@ msgstr "VID asignado" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2388,7 +2384,7 @@ msgstr "VID asignado" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2402,7 +2398,7 @@ msgid "L2VPN (ID)" msgstr "L2VPN (ID)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2473,7 +2469,7 @@ msgstr "Etiquetas" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2492,7 +2488,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2542,8 +2538,8 @@ msgstr "Zona horaria" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2552,7 +2548,7 @@ msgstr "Zona horaria" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2570,7 +2566,7 @@ msgstr "Zona horaria" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2664,7 +2660,7 @@ msgstr "Unidad de peso" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2697,7 +2693,7 @@ msgstr "Hardware" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2744,7 +2740,7 @@ msgstr "Tipo de dispositivo" msgid "Module Type" msgstr "Tipo de módulo" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "Función de máquina virtual" @@ -2776,13 +2772,15 @@ msgstr "Función del dispositivo" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Plataforma" @@ -2806,16 +2804,16 @@ msgstr "Plataforma" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2837,7 +2835,7 @@ msgstr "Plataforma" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2977,7 +2975,7 @@ msgid "Wireless role" msgstr "Función inalámbrica" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2986,7 +2984,7 @@ msgstr "Función inalámbrica" msgid "Module" msgstr "Módulo" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DESFASE" @@ -2998,7 +2996,7 @@ msgstr "Contextos de dispositivos virtuales" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3023,13 +3021,13 @@ msgid "VLAN group" msgstr "Grupo de VLAN" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN sin etiquetar" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN etiquetadas" @@ -3039,7 +3037,7 @@ msgid "Wireless LAN group" msgstr "Grupo LAN inalámbrico" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "LAN inalámbricas" @@ -3211,9 +3209,9 @@ msgid "Virtual chassis" msgstr "Chasis virtual" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3225,7 +3223,7 @@ msgstr "Chasis virtual" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Clúster" @@ -3408,7 +3406,7 @@ msgstr "Puerto trasero correspondiente" msgid "Physical medium classification" msgstr "Clasificación de medios físicos" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "Dispositivo instalado" @@ -3496,7 +3494,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} no se encontró la terminación lateral: {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Maestro" @@ -3622,7 +3620,7 @@ msgstr "Ocupado" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3636,7 +3634,7 @@ msgid "Virtual Device Context" msgstr "Contexto de dispositivo virtual" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3668,7 +3666,7 @@ msgid "Transmit power (dBm)" msgstr "Potencia de transmisión (dBm)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3676,7 +3674,7 @@ msgstr "Potencia de transmisión (dBm)" msgid "Cable" msgstr "Cable" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "Descubierto" @@ -3723,7 +3721,7 @@ msgstr "Chasis" msgid "Device Role" msgstr "Función del dispositivo" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "La unidad con el número más bajo ocupado por el dispositivo" @@ -3776,9 +3774,7 @@ msgstr "Interfaz LAG" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interfaz" @@ -3855,7 +3851,7 @@ msgstr "" "{pattern_count} se esperan." #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "Puertos traseros" @@ -3894,7 +3890,7 @@ msgstr "" "coincidir con el número seleccionado de posiciones de los puertos traseros " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4638,13 +4634,13 @@ msgstr "rol de artículo de inventario" msgid "inventory item roles" msgstr "roles de artículos de inventario" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "número de serie" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "etiqueta de activo" @@ -4695,7 +4691,7 @@ msgstr "fabricante" msgid "manufacturers" msgstr "fabricantes" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "modelo" @@ -4703,11 +4699,11 @@ msgstr "modelo" msgid "default platform" msgstr "plataforma predeterminada" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "número de pieza" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "Número de pieza discreto (opcional)" @@ -4746,7 +4742,7 @@ msgstr "" "compartimentos para dispositivos. Déjelo en blanco si este tipo de " "dispositivo no es para padres ni para niños." -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "flujo de aire" @@ -4758,11 +4754,11 @@ msgstr "tipo de dispositivo" msgid "device types" msgstr "tipos de dispositivos" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "La altura en U debe ser en incrementos de 0,5 unidades de bastidor." -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" @@ -4771,7 +4767,7 @@ msgstr "" "Dispositivo {device} en un estante {rack} no tiene espacio suficiente para " "acomodar una altura de {height}U" -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4781,7 +4777,7 @@ msgstr "" "href=\"{url}\">{racked_instance_count} instancias ya está montado dentro" " de bastidores." -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." @@ -4790,155 +4786,155 @@ msgstr "" "asociadas a este dispositivo antes de desclasificarlo como dispositivo " "principal." -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "Los tipos de dispositivos secundarios deben ser 0U." -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "tipo de módulo" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "tipos de módulos" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "Se pueden asignar máquinas virtuales a esta función" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "rol del dispositivo" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "funciones del dispositivo" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" "Si lo desea, limite esta plataforma a dispositivos de un fabricante " "determinado." -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "plataforma" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "plataformas" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "La función que cumple este dispositivo" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "Número de serie del chasis, asignado por el fabricante" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "Una etiqueta única que se utiliza para identificar este dispositivo" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "posición (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "cara del estante" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "IPv4 principal" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "IPv6 principal" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "IP fuera de banda" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "Posición VC" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "Posición virtual del chasis" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "Prioridad VC" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "Prioridad de elección del maestro del chasis virtual" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "latitud" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Coordenada GPS en formato decimal (xx.aaaaa)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "longitud" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "El nombre del dispositivo debe ser único por sitio." -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "dispositivo" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "dispositivos" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Estante {rack} no pertenece al sitio {site}." -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "Ubicación {location} no pertenece al sitio {site}." -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "Estante {rack} no pertenece a la ubicación {location}." -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "No se puede seleccionar una cara de bastidor sin asignar un bastidor." -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "" "No se puede seleccionar una posición de cremallera sin asignar una " "cremallera." -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "La posición debe estar en incrementos de 0,5 unidades de estante." -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "" "Debe especificar la cara de la cremallera al definir la posición de la " "cremallera." -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." @@ -4946,7 +4942,7 @@ msgstr "" "Un tipo de dispositivo 0U ({device_type}) no se puede asignar a una posición" " de estantería." -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." @@ -4954,7 +4950,7 @@ msgstr "" "Los tipos de dispositivos secundarios no se pueden asignar a la cara de un " "bastidor. Este es un atributo del dispositivo principal." -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." @@ -4962,7 +4958,7 @@ msgstr "" "Los tipos de dispositivos secundarios no se pueden asignar a una posición de" " bastidor. Este es un atributo del dispositivo principal." -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4971,23 +4967,23 @@ msgstr "" "U{position} ya está ocupado o no tiene espacio suficiente para este tipo de " "dispositivo: {device_type} ({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} no es una dirección IPv4." -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" "La dirección IP especificada ({ip}) no está asignado a este dispositivo." -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} no es una dirección IPv6." -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4997,25 +4993,25 @@ msgstr "" "dispositivos, pero el tipo de este dispositivo pertenece a " "{devicetype_manufacturer}." -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "El clúster asignado pertenece a un sitio diferente ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Un dispositivo asignado a un chasis virtual debe tener su posición definida." -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "módulo" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "módulos" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5024,22 +5020,22 @@ msgstr "" "El módulo debe instalarse en un compartimiento de módulos que pertenezca al " "dispositivo asignado ({device})." -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "dominio" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "chasis virtual" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "El maestro seleccionado ({master}) no está asignado a este chasis virtual." -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5048,33 +5044,33 @@ msgstr "" "No se puede eliminar el chasis virtual {self}. Hay interfaces miembros que " "forman interfaces LAG entre chasis." -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificador" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "Identificador numérico exclusivo del dispositivo principal" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "comentarios" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "contexto de dispositivo virtual" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "contextos de dispositivos virtuales" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} no es un IPv{family} dirección." -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "La dirección IP principal debe pertenecer a una interfaz del dispositivo " @@ -5465,7 +5461,7 @@ msgstr "Puerto de consola" msgid "Reachable" msgstr "Accesible" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5484,7 +5480,7 @@ msgstr "Dispositivos" msgid "VMs" msgstr "VM" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5493,62 +5489,62 @@ msgstr "VM" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Plantilla de configuración" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "Dirección IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Dirección IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Dirección IPv6" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "Posición VC" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "Prioridad VC" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Dispositivo principal" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "Posición (bahía de dispositivos)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "Puertos de consola" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "Puertos de servidor de consola" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "Puertos de alimentación" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "tomas de corriente" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5558,53 +5554,53 @@ msgstr "tomas de corriente" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Interfaces" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "Puertos frontales" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "Compartimentos para dispositivos" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "Bahías de módulos" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "Artículos de inventario" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Bahía de módulos" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "Color del cable" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "Vincula a tus compañeros" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "Marcar conectado" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "Consumo máximo (W)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "Sorteo asignado (W)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5613,12 +5609,12 @@ msgstr "Sorteo asignado (W)" msgid "IP Addresses" msgstr "Direcciones IP" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Grupos FHRP" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5627,20 +5623,20 @@ msgstr "Grupos FHRP" msgid "Tunnel" msgstr "Túnel" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Solo administración" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "Enlace inalámbrico" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5649,7 +5645,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "Artículos de inventario" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5658,28 +5654,28 @@ msgstr "Artículos de inventario" msgid "Rear Port" msgstr "Puerto trasero" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Módulo instalado" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "Serie del módulo" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "Etiqueta de activo del módulo" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "Estado del módulo" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Componente" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "Artículos" @@ -6244,7 +6240,7 @@ msgid "Cluster type (slug)" msgstr "Tipo de clúster (babosa)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "Grupo de clústeres" @@ -6375,8 +6371,8 @@ msgid "Is active" msgstr "Está activo" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6385,8 +6381,8 @@ msgid "Content types" msgstr "Tipos de contenido" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "Uno o más tipos de objetos asignados" @@ -6434,29 +6430,39 @@ msgstr "" " opcionales separadas por dos puntos: «Choice1:First Choice, Choice2:Second " "Choice»" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "clase de botones" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" +"La clase del primer enlace de un grupo se usará para el botón desplegable" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "Objeto de acción" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "Nombre o script del webhook como ruta punteada module.Class" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "Webhook {name} no se encontró" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "Guión {name} no se encontró" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "Tipo de objeto asignado" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "La clasificación de entrada" @@ -7422,16 +7428,6 @@ msgstr "Código de plantilla Jinja2 para la URL del enlace" msgid "Links with the same group will appear as a dropdown menu" msgstr "Los enlaces con el mismo grupo aparecerán en un menú desplegable" -#: extras/models/models.py:353 -msgid "button class" -msgstr "clase de botones" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" -"La clase del primer enlace de un grupo se usará para el botón desplegable" - #: extras/models/models.py:360 msgid "new window" msgstr "ventana nueva" @@ -7621,7 +7617,7 @@ msgid "staged changes" msgstr "cambios por etapas" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "Los tipos de objeto a los que se puede aplicar esta etiqueta." #: extras/models/tags.py:49 @@ -7922,7 +7918,7 @@ msgid "VLAN number (1-4094)" msgstr "Número de VLAN (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "Dirección" @@ -8091,7 +8087,7 @@ msgid "Authentication key" msgstr "Clave de autenticación" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -8108,11 +8104,11 @@ msgstr "VLAN (VID) secundaria mínima" msgid "Maximum child VLAN VID" msgstr "VLAN (VID) secundaria máxima" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "Tipo de ámbito" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "Alcance" @@ -8121,8 +8117,8 @@ msgstr "Alcance" msgid "Site & Group" msgstr "Sitio y grupo" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -8162,7 +8158,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "Dispositivo principal de la interfaz asignada (si existe)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8340,8 +8336,8 @@ msgstr "Puerto" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8364,7 +8360,7 @@ msgstr "Asignación de sitio/VLAN" msgid "IP Range" msgstr "Rango de IP" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "Grupo FHRP" @@ -8377,7 +8373,7 @@ msgstr "Haga que esta sea la IP principal del dispositivo/VM" msgid "An IP address can only be assigned to a single object." msgstr "Solo se puede asignar una dirección IP a un único objeto." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8392,34 +8388,25 @@ msgstr "" "Solo las direcciones IP asignadas a una interfaz se pueden designar como IP " "principales." -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "{ip} es un ID de red, que no puede asignarse a una interfaz." - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "" -"{ip} es una dirección de transmisión, que puede no estar asignada a una " -"interfaz." - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "Dirección IP virtual" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "La asignación ya existe" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Grupo VLAN" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "VLAN secundarias" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8427,15 +8414,15 @@ msgstr "" "Lista separada por comas de uno o más números de puerto. Se puede " "especificar un rango mediante un guión." -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Plantilla de servicio" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "Plantilla de servicio" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8603,12 +8590,12 @@ msgstr "prefijos" msgid "Cannot create prefix with /0 mask." msgstr "No se puede crear un prefijo con la máscara /0." -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "tabla global" @@ -8705,12 +8692,25 @@ msgstr "direcciones IP" msgid "Cannot create IP address with /0 mask." msgstr "No se puede crear una dirección IP con la máscara /0." -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "{ip} es un ID de red, que no puede asignarse a una interfaz." + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" +"{ip} es una dirección de transmisión, que puede no estar asignada a una " +"interfaz." + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "Se encontró una dirección IP duplicada en {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Solo a las direcciones IPv6 se les puede asignar el estado SLAAC" @@ -9504,7 +9504,7 @@ msgstr "Máquinas virtuales" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Discos virtuales" @@ -10431,8 +10431,8 @@ msgstr "Programación" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "cada %(interval)s segundos" +msgid "every %(interval)s minutes" +msgstr "cada %(interval)s minutos" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -12994,68 +12994,68 @@ msgstr "Este tipo de objeto no admite restricciones." msgid "Invalid filter for {model}: {error}" msgstr "Filtro no válido para {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "usuario" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "usuarios" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "Ya existe un usuario con este nombre de usuario." -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "grupo" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "grupos" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "preferencias de usuario" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "Clave '{path}'es un nodo de hoja; no se pueden asignar claves nuevas" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Clave '{path}'es un diccionario; no puede asignar un valor que no sea de " "diccionario" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "caduca" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "utilizado por última vez" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "clave" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "escritura habilitada" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "" "Permitir operaciones de creación/actualización/eliminación con esta clave" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "IP permitidas" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -13064,34 +13064,34 @@ msgstr "" "blanco para que no haya restricciones. Por ejemplo: «10.1.1.0/24, " "192.168.10.16/32, 2001:DB 8:1: :/64\"" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "simbólico" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "fichas" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "La lista de acciones concedidas por este permiso" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "restricciones" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" "Filtro Queryset que coincide con los objetos aplicables de los tipos " "seleccionados" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "permiso" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "permisos" @@ -13366,47 +13366,56 @@ msgstr "" "Este objeto se ha modificado desde que se renderizó el formulario. Consulte " "el registro de cambios del objeto para obtener más información." -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "Gama»{value}«no es válido." -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" +"Intervalo no válido: valor final ({end}) debe ser mayor que el valor inicial" +" ({begin})." + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "Cabecera de columna duplicada o conflictiva para»{field}»" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "Cabecera de columna duplicada o conflictiva para»{header}»" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" "Fila {row}: Esperado {count_expected} columnas pero encontradas " "{count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "Encabezado de columna inesperado»{field}«encontrado." -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "Columna»{field}\"no es un objeto relacionado; no puede usar puntos" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" "Atributo de objeto relacionado no válido para la columna»{field}«: " "{to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "Encabezado de columna obligatorio»{header}«no se encontró." @@ -14048,6 +14057,11 @@ msgstr "Propuesta" msgid "Assigned Object Type" msgstr "Tipo de objeto asignado" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "Interfaz de túnel" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "Primera rescisión" diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo index 234a12ba9..4bb44f73d 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 374b65e7e..cc489f360 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # Translators: # Jonathan Senecal, 2024 # Jeremy Stretch, 2024 +# Quentin Laurent, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Quentin Laurent, 2024\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,8 +65,8 @@ msgid "Your preferences have been updated." msgstr "Vos préférences ont été mises à jour." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planifié" @@ -75,8 +76,8 @@ msgid "Provisioning" msgstr "Approvisionnement" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -85,7 +86,7 @@ msgid "Active" msgstr "Actif" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Hors ligne" @@ -98,7 +99,7 @@ msgstr "Déprovisionnement" msgid "Decommissioned" msgstr "Mis hors service" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -107,7 +108,7 @@ msgstr "Mis hors service" msgid "Region (ID)" msgstr "Région (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -117,7 +118,7 @@ msgstr "Région (ID)" msgid "Region (slug)" msgstr "Région (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -125,7 +126,7 @@ msgstr "Région (slug)" msgid "Site group (ID)" msgstr "Groupe de sites (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -135,7 +136,7 @@ msgid "Site group (slug)" msgstr "Groupe de sites (slug)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -158,8 +159,8 @@ msgstr "Groupe de sites (slug)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -181,13 +182,13 @@ msgstr "Groupe de sites (slug)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "Site" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -199,33 +200,39 @@ msgstr "Site (slug)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "Fournisseur (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "Fournisseur (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "Fournisseur (slug)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "Compte fournisseur (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "Réseau fournisseur (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "Type de circuit (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "Type de circuit (slug)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -235,13 +242,13 @@ msgstr "Type de circuit (slug)" msgid "Site (ID)" msgstr "Site (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -251,7 +258,7 @@ msgstr "Site (ID)" msgid "Search" msgstr "Rechercher" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -259,11 +266,11 @@ msgstr "Rechercher" msgid "Circuit" msgstr "Circuit" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "Réseau fournisseur (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -374,8 +381,8 @@ msgstr "Description" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -387,18 +394,18 @@ msgstr "Description" msgid "Provider" msgstr "Prestataire" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "Identifiant du service" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -410,7 +417,7 @@ msgid "Color" msgstr "Couleur" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -429,7 +436,7 @@ msgstr "Couleur" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -454,12 +461,12 @@ msgid "Type" msgstr "Type" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "Identifiant de compte du prestataire" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -473,8 +480,8 @@ msgstr "Identifiant de compte du prestataire" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -482,7 +489,7 @@ msgstr "Identifiant de compte du prestataire" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -503,7 +510,7 @@ msgstr "Identifiant de compte du prestataire" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -514,7 +521,7 @@ msgid "Status" msgstr "Statut" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -572,15 +579,15 @@ msgstr "Statut" msgid "Tenant" msgstr "Locataire" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "Date d'installation" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "Date de résiliation" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "Débit engagé (Kbits/s)" @@ -613,7 +620,7 @@ msgstr "Prestataire assigné" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "Couleur RVB en hexadécimal. Exemple :" @@ -649,12 +656,12 @@ msgstr "État opérationnel" msgid "Assigned tenant" msgstr "Locataire assigné" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "Réseau de fournisseurs" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -678,7 +685,7 @@ msgstr "Réseau de fournisseurs" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -688,13 +695,7 @@ msgstr "Réseau de fournisseurs" msgid "Location" msgstr "Emplacement" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -707,7 +708,7 @@ msgstr "ASN" msgid "Contacts" msgstr "Contacts" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -722,7 +723,7 @@ msgstr "Contacts" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -732,7 +733,7 @@ msgstr "Contacts" msgid "Region" msgstr "Région" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -742,19 +743,15 @@ msgstr "Région" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "Groupe de sites" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (ancien)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -780,7 +777,7 @@ msgstr "ASN (ancien)" msgid "Attributes" msgstr "Attributs" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -801,7 +798,7 @@ msgstr "Type de circuit" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "couleur" @@ -823,8 +820,8 @@ msgid "Unique circuit ID" msgstr "ID de circuit unique" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -903,7 +900,7 @@ msgstr "ID du panneau de raccordement et numéro (s) de port" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "description" @@ -933,8 +930,8 @@ msgstr "" #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -947,7 +944,7 @@ msgstr "" #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1005,13 +1002,13 @@ msgstr "réseaux de fournisseurs" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1077,9 +1074,9 @@ msgstr "réseaux de fournisseurs" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1114,7 +1111,7 @@ msgstr "Taux d'engagement" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1126,7 +1123,7 @@ msgstr "Taux d'engagement" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1163,7 +1160,7 @@ msgid "Completed" msgstr "Terminé" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "Échoué" @@ -1245,7 +1242,7 @@ msgstr "Source de données (nom)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1384,7 +1381,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Élévations des rayonnages" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1446,7 +1443,7 @@ msgstr " (par défaut)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "créé" @@ -1504,7 +1501,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "activé" @@ -1723,7 +1720,7 @@ msgid "Staging" msgstr "Mise en scène" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Démantèlement" @@ -1783,7 +1780,7 @@ msgstr "Obsolète" msgid "Millimeters" msgstr "Millimètres" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "Pouces" @@ -1795,8 +1792,8 @@ msgstr "Pouces" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1809,7 +1806,7 @@ msgstr "Pouces" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "Parent" @@ -1858,7 +1855,7 @@ msgstr "De droite à gauche" msgid "Side to rear" msgstr "D'un côté à l'arrière" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "Passif" @@ -1886,8 +1883,8 @@ msgstr "International/ITA" msgid "Proprietary" msgstr "Propriétaire" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "Autres" @@ -1900,177 +1897,177 @@ msgstr "ITA/International" msgid "Physical" msgstr "Physique" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "Virtuel" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Sans fil" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "Interfaces virtuelles" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "Passerelle" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "Groupe d'agrégation de liens (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "Ethernet (fixe)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "Ethernet (modulaire)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "Ethernet (panneau arrière)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "Cellulaire" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "Série" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "Coaxiale" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "Empilage" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "La moitié" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "Complet" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "Automatique" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "Accès" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Tagué" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "Tagué (Tous)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "Norme IEEE" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "24 V passif (2 paires)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "24 V passif (4 paires)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "48 V passif (2 paires)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "48 V passif (4 paires)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "Cuivre" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "fibre optique" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "Fibre" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "Connecté" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "Kilomètres" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "Compteurs" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "Centimètres" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "Miles" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "Pieds" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "Kilogrammes" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "Grammes" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "Livres" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "Onces" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "Primaire" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "Redondant" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "Monophasé" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "Triphasé" @@ -2347,7 +2344,7 @@ msgid "Virtual Chassis (ID)" msgstr "Châssis virtuel (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2371,7 +2368,7 @@ msgstr "VID attribué" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2379,8 +2376,8 @@ msgstr "VID attribué" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2393,7 +2390,7 @@ msgstr "VID attribué" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2407,7 +2404,7 @@ msgid "L2VPN (ID)" msgstr "L2VPN (IDENTIFIANT)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2478,7 +2475,7 @@ msgstr "Balises" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2497,7 +2494,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2547,8 +2544,8 @@ msgstr "Fuseau horaire" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2557,7 +2554,7 @@ msgstr "Fuseau horaire" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2575,7 +2572,7 @@ msgstr "Fuseau horaire" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2669,7 +2666,7 @@ msgstr "Unité de poids" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2702,7 +2699,7 @@ msgstr "Matériel" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2749,7 +2746,7 @@ msgstr "Type d'appareil" msgid "Module Type" msgstr "Type de module" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "rôle de machine virtuelle" @@ -2781,13 +2778,15 @@ msgstr "Rôle de l'appareil" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Plateforme" @@ -2811,16 +2810,16 @@ msgstr "Plateforme" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2842,7 +2841,7 @@ msgstr "Plateforme" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2982,7 +2981,7 @@ msgid "Wireless role" msgstr "Rôle sans fil" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2991,7 +2990,7 @@ msgstr "Rôle sans fil" msgid "Module" msgstr "Modules" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DÉCALAGE" @@ -3003,7 +3002,7 @@ msgstr "Contextes des appareils virtuels" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3028,13 +3027,13 @@ msgid "VLAN group" msgstr "groupe VLAN" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN non balisé" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN balisés" @@ -3044,7 +3043,7 @@ msgid "Wireless LAN group" msgstr "Groupe LAN sans fil" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Réseaux locaux sans fil" @@ -3216,9 +3215,9 @@ msgid "Virtual chassis" msgstr "Châssis virtuel" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3230,7 +3229,7 @@ msgstr "Châssis virtuel" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Cluster" @@ -3412,7 +3411,7 @@ msgstr "Port arrière correspondant" msgid "Physical medium classification" msgstr "Classification des supports physiques" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "Appareil installé" @@ -3500,7 +3499,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminaison latérale introuvable : {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Maître" @@ -3627,7 +3626,7 @@ msgstr "Occupé" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3641,7 +3640,7 @@ msgid "Virtual Device Context" msgstr "Contexte du périphérique virtuel" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3673,7 +3672,7 @@ msgid "Transmit power (dBm)" msgstr "Puissance de transmission (dBm)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3681,7 +3680,7 @@ msgstr "Puissance de transmission (dBm)" msgid "Cable" msgstr "câble" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "Découvert" @@ -3718,7 +3717,7 @@ msgstr "Réservation" #: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" -msgstr "limace" +msgstr "Identifiant" #: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" @@ -3728,7 +3727,7 @@ msgstr "Châssis" msgid "Device Role" msgstr "Rôle de l'appareil" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "L'unité la moins numérotée occupée par l'appareil" @@ -3780,9 +3779,7 @@ msgstr "Interface LAG" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interface" @@ -3859,7 +3856,7 @@ msgstr "" "sont attendus." #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "Ports arrière" @@ -3897,7 +3894,7 @@ msgstr "" "Le nombre de ports frontaux à créer ({frontport_count}) doit correspondre au" " nombre sélectionné de positions des ports arrière ({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4643,13 +4640,13 @@ msgstr "rôle des articles d'inventaire" msgid "inventory item roles" msgstr "rôles des articles d'inventaire" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "numéro de série" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "étiquette d'actif" @@ -4699,7 +4696,7 @@ msgstr "fabricant" msgid "manufacturers" msgstr "fabricants" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "modèle" @@ -4707,11 +4704,11 @@ msgstr "modèle" msgid "default platform" msgstr "plateforme par défaut" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "numéro de pièce" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "Numéro de pièce discret (facultatif)" @@ -4749,7 +4746,7 @@ msgstr "" "pour appareils. Laissez ce champ vide si ce type d'appareil n'est ni un " "parent ni un enfant." -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "débit d'air" @@ -4761,12 +4758,12 @@ msgstr "type d'appareil" msgid "device types" msgstr "types d'appareils" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "" "La hauteur en U doit être exprimée par incréments de 0,5 unité de rack." -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" @@ -4775,7 +4772,7 @@ msgstr "" "Appareil {device} en rack {rack} ne dispose pas de suffisamment d'espace " "pour accueillir une hauteur de {height}U" -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4785,7 +4782,7 @@ msgstr "" "href=\"{url}\">{racked_instance_count} les instances déjà monté dans des" " racks." -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." @@ -4793,153 +4790,153 @@ msgstr "" "Vous devez supprimer tous les modèles de baies d'appareils associés à cet " "appareil avant de le déclassifier en tant qu'appareil parent." -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "Les types d'appareils pour enfants doivent être 0U." -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "type de module" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "types de modules" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "Des machines virtuelles peuvent être affectées à ce rôle" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "rôle de l'appareil" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "rôles des appareils" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" "Limitez éventuellement cette plate-forme aux appareils d'un certain " "fabricant" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "plateforme" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "plateformes" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "La fonction de cet appareil" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "Numéro de série du châssis, attribué par le fabricant" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "Un tag unique utilisé pour identifier cet appareil" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "position (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "face du rack" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "IPv4 principal" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "IPv6 principal" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "IP hors bande" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "Position en VC" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "Position virtuelle du châssis" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "Priorité VC" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "Priorité d'élection principale du châssis virtuel" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "latitude" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Coordonnées GPS au format décimal (xx.yyyyyy)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "longitude" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "Le nom de l'appareil doit être unique par site." -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "appareil" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "appareils" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Étagère {rack} n'appartient pas au site {site}." -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "Emplacement {location} n'appartient pas au site {site}." -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "Étagère {rack} n'appartient pas au lieu {location}." -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "Impossible de sélectionner une face de rack sans attribuer un rack." -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "" "Impossible de sélectionner une position de rack sans attribuer un rack." -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "La position doit être exprimée par incréments de 0,5 unité de rack." -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "" "Doit spécifier la face du rack lors de la définition de la position du rack." -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." @@ -4947,7 +4944,7 @@ msgstr "" "Un appareil de type 0U ({device_type}) ne peut pas être attribué à une " "position de rack." -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." @@ -4955,7 +4952,7 @@ msgstr "" "Les types d'appareils pour enfants ne peuvent pas être attribués à une face " "de rack. Il s'agit d'un attribut de l'appareil parent." -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." @@ -4963,7 +4960,7 @@ msgstr "" "Les types d'appareils pour enfants ne peuvent pas être affectés à une " "position en rack. Il s'agit d'un attribut de l'appareil parent." -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4972,22 +4969,22 @@ msgstr "" "U{position} est déjà occupé ou ne dispose pas de suffisamment d'espace pour " "accueillir ce type d'appareil : {device_type} ({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} n'est pas une adresse IPv4." -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "L'adresse IP spécifiée ({ip}) n'est pas attribué à cet appareil." -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} n'est pas une adresse IPv6." -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4997,25 +4994,25 @@ msgstr "" "d'appareils, mais le type de cet appareil appartient à " "{devicetype_manufacturer}." -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "Le cluster attribué appartient à un autre site ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "La position d'un appareil affecté à un châssis virtuel doit être définie." -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "module" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "modules" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5024,22 +5021,22 @@ msgstr "" "Le module doit être installé dans une baie de modules appartenant au " "périphérique attribué ({device})." -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "domaine" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "châssis virtuel" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Le master sélectionné ({master}) n'est pas attribué à ce châssis virtuel." -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5048,33 +5045,33 @@ msgstr "" "Impossible de supprimer le châssis virtuel {self}. Il existe des interfaces " "membres qui forment des interfaces LAG inter-châssis." -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificateur" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "Identifiant numérique propre à l'appareil parent" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "commentaires" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "contexte du périphérique virtuel" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "contextes de périphériques virtuels" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} n'est pas un IPV{family} adresse." -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "L'adresse IP principale doit appartenir à une interface sur l'appareil " @@ -5465,7 +5462,7 @@ msgstr "Port de console" msgid "Reachable" msgstr "Joignable" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5484,7 +5481,7 @@ msgstr "Appareils" msgid "VMs" msgstr "machines virtuelles" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5493,62 +5490,62 @@ msgstr "machines virtuelles" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Modèle de configuration" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "Adresse IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Adresse IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Adresse IPv6" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "Position en VC" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "Priorité VC" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Appareil parent" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "Position (baie de l'appareil)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "Ports de console" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "Ports du serveur de consoles" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "Ports d'alimentation" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "Prises de courant" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5558,53 +5555,53 @@ msgstr "Prises de courant" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Interfaces" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "Ports avant" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "Baies pour appareils" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "Baies pour modules" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "Articles d'inventaire" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Module Bay" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "Couleur du câble" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "Lier les pairs" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "Marquer comme connecté" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "Tirage maximal (W)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "Tirage alloué (W)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5613,12 +5610,12 @@ msgstr "Tirage alloué (W)" msgid "IP Addresses" msgstr "Adresses IP" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Groupes FHRP" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5627,20 +5624,20 @@ msgstr "Groupes FHRP" msgid "Tunnel" msgstr "Tunnel" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Gestion uniquement" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "Liaison sans fil" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5649,7 +5646,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "Articles d'inventaire" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5658,28 +5655,28 @@ msgstr "Articles d'inventaire" msgid "Rear Port" msgstr "Port arrière" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Module installé" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "Série du module" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "Étiquette d'actif du module" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "État du module" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Composant" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "Objets" @@ -5817,7 +5814,7 @@ msgstr "Poids maximum" #: ipam/tables/asn.py:66 netbox/navigation/menu.py:16 #: netbox/navigation/menu.py:18 msgid "Sites" -msgstr "Des sites" +msgstr "Sites" #: dcim/tests/test_api.py:49 msgid "Test case must set peer_termination_type" @@ -6249,7 +6246,7 @@ msgid "Cluster type (slug)" msgstr "Type de cluster (slug)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "Groupe de clusters" @@ -6380,8 +6377,8 @@ msgid "Is active" msgstr "Est actif" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6390,8 +6387,8 @@ msgid "Content types" msgstr "Types de contenu" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "Un ou plusieurs types d'objets attribués" @@ -6438,29 +6435,39 @@ msgstr "" "virgules avec des libellés facultatifs séparés par deux points : " "« Choice1:First Choice, Choice2:Second Choice »" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "classe de boutons" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" +"La classe du premier lien d'un groupe sera utilisée pour le bouton déroulant" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "Objet d'action" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "Nom du webhook ou script sous forme de chemin pointillé module.Class" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "Webhook {name} introuvable" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "Scénario {name} introuvable" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "Type d'objet attribué" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "La classification de l'entrée" @@ -7432,16 +7439,6 @@ msgstr "Code modèle Jinja2 pour l'URL du lien" msgid "Links with the same group will appear as a dropdown menu" msgstr "Les liens avec le même groupe apparaîtront dans un menu déroulant" -#: extras/models/models.py:353 -msgid "button class" -msgstr "classe de boutons" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" -"La classe du premier lien d'un groupe sera utilisée pour le bouton déroulant" - #: extras/models/models.py:360 msgid "new window" msgstr "nouvelle fenêtre" @@ -7634,7 +7631,7 @@ msgid "staged changes" msgstr "modifications échelonnées" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "Le ou les types d'objets auxquels cette balise peut être appliquée." #: extras/models/tags.py:49 @@ -7935,7 +7932,7 @@ msgid "VLAN number (1-4094)" msgstr "Numéro de VLAN (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "Adresse" @@ -8104,7 +8101,7 @@ msgid "Authentication key" msgstr "Clé d'authentification" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -8121,11 +8118,11 @@ msgstr "VID VLAN minimum pour enfants" msgid "Maximum child VLAN VID" msgstr "VID VLAN maximum pour enfants" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "Type de portée" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "Champ" @@ -8134,8 +8131,8 @@ msgstr "Champ" msgid "Site & Group" msgstr "Site et groupe" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -8175,7 +8172,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "Appareil parent auquel est attribuée l'interface (le cas échéant)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8354,8 +8351,8 @@ msgstr "Port" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8378,7 +8375,7 @@ msgstr "Affectation de site/VLAN" msgid "IP Range" msgstr "Plage IP" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "Groupe FHRP" @@ -8392,7 +8389,7 @@ msgstr "" msgid "An IP address can only be assigned to a single object." msgstr "Une adresse IP ne peut être attribuée qu'à un seul objet." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8407,36 +8404,25 @@ msgstr "" "Seules les adresses IP attribuées à une interface peuvent être désignées " "comme adresses IP principales." -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "" -"{ip} est un identifiant réseau, qui ne peut pas être attribué à une " -"interface." - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "" -"{ip} est une adresse de diffusion, qui ne peut pas être attribuée à une " -"interface." - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "Adresse IP virtuelle" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "L'affectation existe déjà" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Groupe VLAN" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "VLAN pour enfants" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8444,15 +8430,15 @@ msgstr "" "Liste séparée par des virgules d'un ou de plusieurs numéros de port. Une " "plage peut être spécifiée à l'aide d'un trait d'union." -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Modèle de service" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "Modèle de service" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8621,12 +8607,12 @@ msgstr "préfixes" msgid "Cannot create prefix with /0 mask." msgstr "Impossible de créer un préfixe avec le masque /0." -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "tableau global" @@ -8725,12 +8711,27 @@ msgstr "Adresses IP" msgid "Cannot create IP address with /0 mask." msgstr "Impossible de créer une adresse IP avec le masque /0." -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "" +"{ip} est un identifiant réseau, qui ne peut pas être attribué à une " +"interface." + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" +"{ip} est une adresse de diffusion, qui ne peut pas être attribuée à une " +"interface." + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "Adresse IP dupliquée trouvée dans {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Seules les adresses IPv6 peuvent se voir attribuer le statut SLAAC" @@ -9522,7 +9523,7 @@ msgstr "Machines virtuelles" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Disques virtuels" @@ -10451,8 +10452,8 @@ msgstr "Planification" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "chaque %(interval)s secondes" +msgid "every %(interval)s minutes" +msgstr "chaque %(interval)s minutes" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -13014,70 +13015,70 @@ msgstr "Les contraintes ne sont pas prises en charge pour ce type d'objet." msgid "Invalid filter for {model}: {error}" msgstr "Filtre non valide pour {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "utilisateur" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "utilisateurs" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "Un utilisateur avec ce nom d'utilisateur existe déjà." -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "groupe" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "groupes" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "préférences de l'utilisateur" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "" "Clé '{path}'est un nœud feuille ; impossible d'attribuer de nouvelles clés" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Clé '{path}'est un dictionnaire ; impossible d'attribuer une valeur autre " "que celle du dictionnaire" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "expire" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "utilisé pour la dernière fois" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "clé" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "écriture activée" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "" "Autoriser les opérations de création/mise à jour/suppression à l'aide de " "cette clé" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "adresses IP autorisées" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -13086,34 +13087,34 @@ msgstr "" "Laissez ce champ vide pour éviter toute restriction. Par exemple : " "« 10.1.1.0/24, 192.168.10.16/32, 2001 : DB 8:1 : /64 »" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "jeton" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "jetons" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "La liste des actions accordées par cette autorisation" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "entraves" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" "Filtre Queryset correspondant aux objets applicables du ou des types " "sélectionnés" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "autorisation" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "autorisations" @@ -13355,7 +13356,7 @@ msgstr "" #: utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" -msgstr "Raccourci unique et convivial pour les URL" +msgstr "Identifiant unique utilisable dans les URL" #: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." @@ -13392,47 +13393,56 @@ msgstr "" "Cet objet a été modifié depuis le rendu du formulaire. Consultez le journal " "des modifications de l'objet pour plus de détails." -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "Gamme »{value}« n'est pas valide." -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" +"Plage non valide : valeur de fin ({end}) doit être supérieur à la valeur de " +"départ ({begin})." + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "En-tête de colonne dupliqué ou en conflit pour »{field}«" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "En-tête de colonne dupliqué ou en conflit pour »{header}«" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" "Rangée {row}: Prévu {count_expected} colonnes mais trouvées {count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "En-tête de colonne inattendu »{field}« trouvé." -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" "Colonne »{field}« n'est pas un objet apparenté ; ne peut pas utiliser de " "points" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" "Attribut d'objet associé non valide pour la colonne »{field}« : {to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "En-tête de colonne obligatoire »{header}« introuvable." @@ -14073,6 +14083,11 @@ msgstr "Proposition" msgid "Assigned Object Type" msgstr "Type d'objet attribué" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "Interface de tunnel" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "Première résiliation" diff --git a/netbox/translations/ja/LC_MESSAGES/django.mo b/netbox/translations/ja/LC_MESSAGES/django.mo index c190f234c..da77c423a 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 14ecb3cb8..34193822c 100644 --- a/netbox/translations/ja/LC_MESSAGES/django.po +++ b/netbox/translations/ja/LC_MESSAGES/django.po @@ -5,17 +5,17 @@ # # Translators: # Tatsuya Ueda , 2024 -# teapot, 2024 # Jeremy Stretch, 2024 +# teapot, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: teapot, 2024\n" "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,8 +65,8 @@ msgid "Your preferences have been updated." msgstr "設定が更新されました。" #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "計画中" @@ -76,8 +76,8 @@ msgid "Provisioning" msgstr "開通" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -86,7 +86,7 @@ msgid "Active" msgstr "アクティブ" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "オフライン" @@ -99,7 +99,7 @@ msgstr "解約" msgid "Decommissioned" msgstr "廃止" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -108,7 +108,7 @@ msgstr "廃止" msgid "Region (ID)" msgstr "リージョン (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -118,7 +118,7 @@ msgstr "リージョン (ID)" msgid "Region (slug)" msgstr "リージョン (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -126,7 +126,7 @@ msgstr "リージョン (slug)" msgid "Site group (ID)" msgstr "サイトグループ (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -136,7 +136,7 @@ msgid "Site group (slug)" msgstr "サイトグループ (slug)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -159,8 +159,8 @@ msgstr "サイトグループ (slug)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -182,13 +182,13 @@ msgstr "サイトグループ (slug)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "サイト" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -200,33 +200,39 @@ msgstr "サイト (slug)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "プロバイダ (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "プロバイダ (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "プロバイダ (slug)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "プロバイダアカウント (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "プロバイダネットワーク (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "回線タイプ (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "回線タイプ (slug)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -236,13 +242,13 @@ msgstr "回線タイプ (slug)" msgid "Site (ID)" msgstr "サイト (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -252,7 +258,7 @@ msgstr "サイト (ID)" msgid "Search" msgstr "検索" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -260,11 +266,11 @@ msgstr "検索" msgid "Circuit" msgstr "回線" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "プロバイダネットワーク (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -375,8 +381,8 @@ msgstr "説明" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -388,18 +394,18 @@ msgstr "説明" msgid "Provider" msgstr "プロバイダ" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "サービス ID" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -411,7 +417,7 @@ msgid "Color" msgstr "色" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -430,7 +436,7 @@ msgstr "色" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -455,12 +461,12 @@ msgid "Type" msgstr "タイプ" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "プロバイダアカウント" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -474,8 +480,8 @@ msgstr "プロバイダアカウント" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -483,7 +489,7 @@ msgstr "プロバイダアカウント" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -504,7 +510,7 @@ msgstr "プロバイダアカウント" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -515,7 +521,7 @@ msgid "Status" msgstr "ステータス" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -573,15 +579,15 @@ msgstr "ステータス" msgid "Tenant" msgstr "テナント" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "開通日" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "終了日" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "保証帯域 (Kbps)" @@ -614,7 +620,7 @@ msgstr "割当プロバイダ" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "16 進数の RGB カラーコード。例:" @@ -650,12 +656,12 @@ msgstr "運用状況" msgid "Assigned tenant" msgstr "割当テナント" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "プロバイダネットワーク" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -679,7 +685,7 @@ msgstr "プロバイダネットワーク" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -689,13 +695,7 @@ msgstr "プロバイダネットワーク" msgid "Location" msgstr "ロケーション" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -708,7 +708,7 @@ msgstr "ASN" msgid "Contacts" msgstr "連絡先" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -723,7 +723,7 @@ msgstr "連絡先" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -733,7 +733,7 @@ msgstr "連絡先" msgid "Region" msgstr "リージョン" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -743,19 +743,15 @@ msgstr "リージョン" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "サイトグループ" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (レガシー)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -781,7 +777,7 @@ msgstr "ASN (レガシー)" msgid "Attributes" msgstr "属性" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -802,7 +798,7 @@ msgstr "回線タイプ" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "色" @@ -824,8 +820,8 @@ msgid "Unique circuit ID" msgstr "一意な回線 ID" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -904,7 +900,7 @@ msgstr "パッチパネル ID とポート番号" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "説明" @@ -930,8 +926,8 @@ msgstr "回線終端をサイトとプロバイダーネットワークの両方 #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -944,7 +940,7 @@ msgstr "回線終端をサイトとプロバイダーネットワークの両方 #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1002,13 +998,13 @@ msgstr "プロバイダネットワーク" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1074,9 +1070,9 @@ msgstr "プロバイダネットワーク" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1111,7 +1107,7 @@ msgstr "保証帯域" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1123,7 +1119,7 @@ msgstr "保証帯域" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1160,7 +1156,7 @@ msgid "Completed" msgstr "完了" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "失敗" @@ -1242,7 +1238,7 @@ msgstr "データソース (名前)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1377,7 +1373,7 @@ msgstr "同期するファイルをアップロードするか、データファ msgid "Rack Elevations" msgstr "ラック図" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1438,7 +1434,7 @@ msgstr " (デフォルト)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "作成日時" @@ -1496,7 +1492,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "有効" @@ -1707,7 +1703,7 @@ msgid "Staging" msgstr "ステージング" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "廃止" @@ -1767,7 +1763,7 @@ msgstr "廃止済" msgid "Millimeters" msgstr "ミリメートル" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "インチ" @@ -1779,8 +1775,8 @@ msgstr "インチ" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1793,7 +1789,7 @@ msgstr "インチ" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "親" @@ -1842,7 +1838,7 @@ msgstr "右から左" msgid "Side to rear" msgstr "側面から背面" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "パッシブ" @@ -1870,8 +1866,8 @@ msgstr "International/ITA" msgid "Proprietary" msgstr "独自規格" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "その他" @@ -1884,177 +1880,177 @@ msgstr "ITA/International" msgid "Physical" msgstr "物理" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "仮想" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "無線" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "仮想インタフェース" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "ブリッジ" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "リンクアグリゲーション (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "イーサネット (固定)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "イーサネット (モジュール)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "イーサネット (バックプレーン)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "セルラー" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "シリアル" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "同軸" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "スタック" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "半二重" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "全二重" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "自動" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "アクセス" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "タグ付き" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "タグ付き (全て)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "IEEE スタンダード" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "パッシブ 24V (2 ペア)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "パッシブ 24V (4ペア)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "パッシブ 48V (2 ペア)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "パッシブ 48V (4ペア)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "カッパー" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "光ファイバー" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "ファイバー" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "接続済" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "キロメートル" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "メートル" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "センチメートル" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "マイル" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "フィート" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "キログラム" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "グラム" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "ポンド" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "オンス" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "プライマリ" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "冗長" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "単相" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "三相" @@ -2331,7 +2327,7 @@ msgid "Virtual Chassis (ID)" msgstr "バーチャルシャーシ (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2355,7 +2351,7 @@ msgstr "割当 VID" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2363,8 +2359,8 @@ msgstr "割当 VID" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2377,7 +2373,7 @@ msgstr "割当 VID" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2391,7 +2387,7 @@ msgid "L2VPN (ID)" msgstr "L2VPN (ID)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2462,7 +2458,7 @@ msgstr "タグ" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2479,7 +2475,7 @@ msgstr "英数字の範囲が使用できます。(作成する名前の数と #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2529,8 +2525,8 @@ msgstr "タイムゾーン" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2539,7 +2535,7 @@ msgstr "タイムゾーン" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2557,7 +2553,7 @@ msgstr "タイムゾーン" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2651,7 +2647,7 @@ msgstr "重量単位" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2684,7 +2680,7 @@ msgstr "ハードウェア" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2731,7 +2727,7 @@ msgstr "デバイスタイプ" msgid "Module Type" msgstr "モジュールタイプ" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "仮想マシンのロール" @@ -2763,13 +2759,15 @@ msgstr "デバイスロール" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "プラットフォーム" @@ -2793,16 +2791,16 @@ msgstr "プラットフォーム" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2824,7 +2822,7 @@ msgstr "プラットフォーム" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2964,7 +2962,7 @@ msgid "Wireless role" msgstr "無線ロール" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2973,7 +2971,7 @@ msgstr "無線ロール" msgid "Module" msgstr "モジュール" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "LAG" @@ -2985,7 +2983,7 @@ msgstr "仮想デバイスコンテキスト" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3010,13 +3008,13 @@ msgid "VLAN group" msgstr "VLAN グループ" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "タグなし VLAN" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "タグ付き VLAN" @@ -3026,7 +3024,7 @@ msgid "Wireless LAN group" msgstr "無線 LAN グループ" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "無線 LAN" @@ -3197,9 +3195,9 @@ msgid "Virtual chassis" msgstr "バーチャルシャーシ" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3211,7 +3209,7 @@ msgstr "バーチャルシャーシ" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "クラスタ" @@ -3388,7 +3386,7 @@ msgstr "対応する背面ポート" msgid "Physical medium classification" msgstr "物理媒体の分類" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "取付済みデバイス" @@ -3476,7 +3474,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} サイドターミネーションが見つかりません: {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "マスター" @@ -3598,7 +3596,7 @@ msgstr "専有済" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3612,7 +3610,7 @@ msgid "Virtual Device Context" msgstr "仮想デバイスコンテキスト" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3644,7 +3642,7 @@ msgid "Transmit power (dBm)" msgstr "送信出力 (dBm)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3652,7 +3650,7 @@ msgstr "送信出力 (dBm)" msgid "Cable" msgstr "ケーブル" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "自動検出" @@ -3697,7 +3695,7 @@ msgstr "シャーシ" msgid "Device Role" msgstr "デバイスロール" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "デバイスが使用している最も小さいユニット番号" @@ -3748,9 +3746,7 @@ msgstr "LAG インタフェース" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "インタフェース" @@ -3821,7 +3817,7 @@ msgid "" msgstr "パターンは {value_count} 個の値を示す範囲を指定しますが、 {pattern_count} 個の値が必要です。" #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "背面ポート" @@ -3853,7 +3849,7 @@ msgid "" msgstr "" "前面ポートの数 ({frontport_count}) は選択した背面ポートの数 ({rearport_count}) と一致する必要があります。" -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4545,13 +4541,13 @@ msgstr "在庫品目ロール" msgid "inventory item roles" msgstr "在庫品目ロール" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "シリアル番号" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "アセットタグ" @@ -4599,7 +4595,7 @@ msgstr "メーカ" msgid "manufacturers" msgstr "メーカ" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "型" @@ -4607,11 +4603,11 @@ msgstr "型" msgid "default platform" msgstr "デフォルトプラットフォーム" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "パーツ番号" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "個別の部品番号 (オプション)" @@ -4645,7 +4641,7 @@ msgid "" "device type is neither a parent nor a child." msgstr "親デバイスはデバイスベイに子デバイスを収納します。このデバイスタイプが親でも子供でもない場合は、空白のままにしてください。" -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "エアフロー" @@ -4657,18 +4653,18 @@ msgstr "デバイスタイプ" msgid "device types" msgstr "デバイスタイプ" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "U の高さは 0.5 ラック単位でなければなりません。" -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" msgstr "ラック内 {rack} のデバイス {device} は高さ{height}Uに対応する十分なスペースが有りません " -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4677,173 +4673,173 @@ msgstr "" "高さは 0U にできません: {racked_instance_count} インスタンス " "がラックに取り付け済みです。" -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "このデバイスを親デバイスとして分類解除する前に、このデバイスに関連付けられているすべてのデバイスベイテンプレートを削除する必要があります。" -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "子デバイスタイプは 0U でなければなりません。" -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "モジュールタイプ" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "モジュールタイプ" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "仮想マシンをこのロールに割り当てることができます" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "デバイスロール" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "デバイスロール" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "オプションで、このプラットフォームを特定のメーカのデバイスに限定できます" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "プラットフォーム" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "プラットフォーム" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "このデバイスが果たす機能" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "製造元によって割当られた、シャーシのシリアル番号" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "このデバイスを識別するために使用される一意のタグ" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "ポジション (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "ラックフェイス" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "プライマリ IPv4" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "プライマリ IPv6" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "out-of-band IP" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "VCポジション" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "バーチャルシャーシポジション" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "VC プライオリティ" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "バーチャルシャーシのマスター選択優先順位" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "緯度" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "10 進数形式の GPS 座標 (xx.yyyyyy)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "経度" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "デバイス名はサイトごとに一意である必要があります。" -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "デバイス" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "デバイス" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "ラック {rack} はサイト{site}に属していません 。" -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "ロケーション {location} はサイト{site}に属していません 。" -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "ラック {rack} はロケーション{location}に属していません 。" -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "ラックを割り当てないとラックフェースは選択できません。" -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "ラックを割り当てないとラックポジションを選択できません。" -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "ポジションは 0.5 ラックユニット単位で入力する必要があります。" -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "ラックの位置を定義するときは、ラックの面を指定する必要があります。" -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "0U デバイスタイプ ({device_type}) をラックポジションに割り当てることはできません。" -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "子デバイスタイプをラックフェースに割り当てることはできません。これは親デバイスの属性です。" -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "子デバイスタイプをラックポジションに割り当てることはできません。これは親デバイスの属性です。" -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4852,22 +4848,22 @@ msgstr "" "U{position} が既に占有されているか、このデバイスタイプを収容するのに十分なスペースがありません: {device_type} " "({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} は IPv4 アドレスではありません。" -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "指定された IP アドレス ({ip}) はこのデバイスに割り当てられていません。" -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} IPv6 アドレスではありません。" -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4876,78 +4872,78 @@ msgstr "" "割当られたプラットフォームは{platform_manufacturer} のデバイスタイプに限定されます 。しかし、このデバイスのタイプは " "{devicetype_manufacturer}に属します。" -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "割当クラスタは別のサイトに属しています ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "仮想シャーシに割当られたデバイスには、その位置が定義されている必要があります。" -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "モジュール" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "モジュール" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "モジュールは、割当デバイスに属するモジュールベイ内に取り付ける必要があります ({device})。" -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "ドメイン" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "バーチャルシャーシ" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "選択したマスター ({master}) はこの仮想シャーシに割り当てられていません。" -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "バーチャルシャーシ{self}を削除できません 。クロスシャーシ LAG インタフェースを形成するメンバーインタフェースがあります。" -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "識別子" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "親デバイスに固有の数値識別子" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "コメント" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "仮想デバイスコンテキスト" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "仮想デバイスコンテキスト" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip}は IPv{family}アドレスではありません。" -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "プライマリ IP アドレスは、割当デバイスのインタフェースに属している必要があります。" @@ -5322,7 +5318,7 @@ msgstr "コンソールポート" msgid "Reachable" msgstr "到達可能" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5341,7 +5337,7 @@ msgstr "デバイス" msgid "VMs" msgstr "仮想マシン" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5350,62 +5346,62 @@ msgstr "仮想マシン" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "設定テンプレート" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "IP アドレス" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "IPv4 アドレス" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "IPv6 アドレス" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "VC ポジション" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "VC プライオリティ" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "親デバイス" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "位置 (デバイスベイ)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "コンソールポート" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "コンソールサーバポート" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "電源ポート" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "電源コンセント" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5415,53 +5411,53 @@ msgstr "電源コンセント" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "インタフェース" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "前面ポート" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "デバイスベイ" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "モジュールベイ" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "在庫品目" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "モジュールベイ" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "ケーブル色" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "対向" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "接続済みとしてマークする" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "最大電力 (W)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "割当電力 (W)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5470,12 +5466,12 @@ msgstr "割当電力 (W)" msgid "IP Addresses" msgstr "IP アドレス" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "FHRP グループ" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5484,20 +5480,20 @@ msgstr "FHRP グループ" msgid "Tunnel" msgstr "トンネル" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "管理のみ" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "無線リンク" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5506,7 +5502,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "在庫品目" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5515,28 +5511,28 @@ msgstr "在庫品目" msgid "Rear Port" msgstr "背面ポート" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "取付済みモジュール" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "モジュールシリアル番号" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "モジュール資産タグ" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "モジュールステータス" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "構成要素" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "アイテム" @@ -6094,7 +6090,7 @@ msgid "Cluster type (slug)" msgstr "クラスタタイプ (slug)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "クラスタグループ" @@ -6225,8 +6221,8 @@ msgid "Is active" msgstr "有効" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6235,8 +6231,8 @@ msgid "Content types" msgstr "コンテンツタイプ" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "1 つ以上の割当オブジェクトタイプ" @@ -6278,33 +6274,44 @@ msgstr "定義済みの選択肢の基本セット (存在する場合)" msgid "" "Quoted string of comma-separated field choices with optional labels " "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" -msgstr "カンマで区切られたフィールド選択肢とコロンで区切られたオプションのラベルを引用符で囲んだ文字列:「選択肢1:第一選択、選択肢2:第二選択」" +msgstr "" +"引用符で囲んだ、カンマ区切りの選択肢。コロン区切りでラベル設定可能: \"choice1:First Choice,choice2:Second " +"Choice\"" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "ボタンクラス" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "グループ内の最初のリンクのクラスがドロップダウンボタンに使用されます" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "アクションオブジェクト" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" -msgstr "ドットパス形式のウェブフック名またはスクリプト module.Class" +msgstr "ドットパス形式 (module.Class) のウェブフック名またはスクリプト" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "ウェブフック {name} 見つかりません" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "スクリプト {name} 見つかりません" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "割当オブジェクトタイプ" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" -msgstr "エントリーの分類" +msgstr "エントリの分類" #: extras/forms/filtersets.py:53 msgid "Field type" @@ -6320,7 +6327,7 @@ msgstr "選択肢" #: templates/core/job.html:86 templates/extras/configcontext.html:86 #: templates/extras/eventrule.html:111 msgid "Data" -msgstr "[データ]" +msgstr "データ" #: extras/forms/filtersets.py:152 extras/forms/filtersets.py:341 #: extras/forms/filtersets.py:427 utilities/choices.py:219 @@ -6330,11 +6337,11 @@ msgstr "データファイル" #: extras/forms/filtersets.py:185 msgid "Content type" -msgstr "コンテンツタイプ" +msgstr "Content type" #: extras/forms/filtersets.py:232 extras/models/models.py:209 msgid "HTTP content type" -msgstr "HTTP コンテンツタイプ" +msgstr "HTTP content type" #: extras/forms/filtersets.py:254 extras/forms/model_forms.py:271 #: templates/extras/eventrule.html:46 @@ -6359,7 +6366,7 @@ msgstr "オブジェクト削除" #: extras/forms/filtersets.py:299 msgid "Job starts" -msgstr "ジョブ開始" +msgstr "ジョブの開始" #: extras/forms/filtersets.py:306 extras/forms/model_forms.py:290 msgid "Job terminations" @@ -6416,11 +6423,11 @@ msgstr "テナントグループ" #: extras/forms/filtersets.py:454 extras/forms/filtersets.py:495 msgid "After" -msgstr "後" +msgstr "以降" #: extras/forms/filtersets.py:459 extras/forms/filtersets.py:500 msgid "Before" -msgstr "変更前" +msgstr "以前" #: extras/forms/filtersets.py:490 extras/tables/tables.py:431 #: templates/extras/htmx/report_result.html:43 @@ -6448,26 +6455,25 @@ msgstr "動作" #: extras/forms/model_forms.py:62 msgid "Values" -msgstr "価値" +msgstr "値" #: extras/forms/model_forms.py:71 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." -msgstr "" -"このフィールドに保存されているデータのタイプ。オブジェクト/マルチオブジェクトフィールドの場合は、関連するオブジェクトタイプを以下から選択してください。" +msgstr "このフィールドのタイプ。オブジェクト/マルチオブジェクトフィールドの場合は、関連するオブジェクトタイプを以下から選択してください。" #: extras/forms/model_forms.py:74 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." -msgstr "これはフォームフィールドのヘルプテキストとして表示されます。Markdown はサポートされています。" +msgstr "これはフォームフィールドのヘルプテキストとして表示されます。Markdown がサポートされています。" #: extras/forms/model_forms.py:91 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" -msgstr "1 行に 1 つの選択肢を入力します。各選択肢にコロンを付けることでオプションのラベルを指定できます。例:" +msgstr "1 行に 1 つの選択肢を入力します。必要に応じて、各選択肢にコロンを付けることで、ラベルを指定できます。例:" #: extras/forms/model_forms.py:132 templates/extras/customlink.html:10 msgid "Custom Link" @@ -6506,7 +6512,7 @@ msgstr "レンダリング" #: extras/forms/model_forms.py:182 extras/forms/model_forms.py:534 msgid "Template content is populated from the remote source selected below." -msgstr "テンプレートコンテンツは、以下で選択したリモートソースから入力されます。" +msgstr "選択したリモートソースから、テンプレートコンテンツが入力されます。" #: extras/forms/model_forms.py:189 extras/forms/model_forms.py:541 msgid "Must specify either local content or a data file" @@ -6527,17 +6533,17 @@ msgstr "SSL" #: extras/forms/model_forms.py:257 msgid "Action choice" -msgstr "アクション選択" +msgstr "スクリプト" #: extras/forms/model_forms.py:262 msgid "Enter conditions in JSON format." -msgstr "に条件を入力 JSON フォーマット。" +msgstr "JSON フォーマットで条件を入力。" #: extras/forms/model_forms.py:266 msgid "" "Enter parameters to pass to the action in JSON format." -msgstr "アクションに渡すパラメータを入力してください JSON フォーマット。" +msgstr "JSON フォーマットでアクションに渡すパラメータを入力してください。" #: extras/forms/model_forms.py:270 templates/extras/eventrule.html:11 msgid "Event Rule" @@ -6549,11 +6555,11 @@ msgstr "条件" #: extras/forms/model_forms.py:286 msgid "Creations" -msgstr "クリエーション" +msgstr "作成" #: extras/forms/model_forms.py:287 msgid "Updates" -msgstr "アップデート" +msgstr "更新" #: extras/forms/model_forms.py:288 msgid "Deletions" @@ -6577,7 +6583,7 @@ msgstr "テナント" #: templates/ipam/ipaddress.html:62 templates/ipam/vlan_edit.html:30 #: tenancy/forms/filtersets.py:86 users/forms/model_forms.py:324 msgid "Assignment" -msgstr "アサイメント" +msgstr "割当" #: extras/forms/model_forms.py:491 msgid "Data is populated from the remote source selected below." @@ -6589,28 +6595,28 @@ msgstr "ローカルデータまたはデータファイルのいずれかを指 #: extras/forms/model_forms.py:516 templates/core/datafile.html:65 msgid "Content" -msgstr "[コンテンツ]" +msgstr "コンテンツ" #: extras/forms/reports.py:18 extras/forms/scripts.py:24 msgid "Schedule at" -msgstr "のスケジュール" +msgstr "スケジュール" #: extras/forms/reports.py:19 msgid "Schedule execution of report to a set time" -msgstr "レポートの実行を設定された時間にスケジュールする" +msgstr "レポートの実行をスケジュールする" #: extras/forms/reports.py:24 extras/forms/scripts.py:30 msgid "Recurs every" -msgstr "毎回繰り返す" +msgstr "繰り返す" #: extras/forms/reports.py:28 msgid "Interval at which this report is re-run (in minutes)" -msgstr "このレポートが再実行される間隔 (分単位)" +msgstr "実行される間隔 (分)" #: extras/forms/reports.py:36 extras/forms/scripts.py:42 #, python-brace-format msgid " (current time: {now})" -msgstr " (現在の時刻: {now})" +msgstr " (現在時刻: {now})" #: extras/forms/reports.py:46 extras/forms/scripts.py:52 msgid "Scheduled time must be in the future." @@ -6622,23 +6628,23 @@ msgstr "変更をコミット" #: extras/forms/scripts.py:19 msgid "Commit changes to the database (uncheck for a dry-run)" -msgstr "変更をデータベースにコミットする (ドライランの場合はチェックを外す)" +msgstr "変更をDBにコミットする (dry runの場合はチェックを外す)" #: extras/forms/scripts.py:25 msgid "Schedule execution of script to a set time" -msgstr "設定した時間にスクリプトの実行をスケジュールする" +msgstr "スクリプトの実行をスケジュールする" #: extras/forms/scripts.py:34 msgid "Interval at which this script is re-run (in minutes)" -msgstr "このスクリプトが再実行される間隔 (分単位)" +msgstr "実行される間隔 (分単位)" #: extras/management/commands/reindex.py:66 msgid "No indexers found!" -msgstr "インデクサーが見つかりません!" +msgstr "indexerが見つかりません" #: extras/models/change_logging.py:24 msgid "time" -msgstr "時間" +msgstr "時刻" #: extras/models/change_logging.py:37 msgid "user name" @@ -6658,7 +6664,7 @@ msgstr "変更前データ" #: extras/models/change_logging.py:87 msgid "post-change data" -msgstr "変更後のデータ" +msgstr "変更後データ" #: extras/models/change_logging.py:101 msgid "object change" @@ -6666,12 +6672,12 @@ msgstr "オブジェクト変更" #: extras/models/change_logging.py:102 msgid "object changes" -msgstr "オブジェクトの変更" +msgstr "オブジェクト変更" #: extras/models/change_logging.py:118 #, python-brace-format msgid "Change logging is not supported for this object type ({type})." -msgstr "このオブジェクトタイプでは変更ログはサポートされていません ({type})。" +msgstr "このオブジェクトタイプ ({type}) では変更ログはサポートされていません。" #: extras/models/configs.py:130 msgid "config context" @@ -6679,7 +6685,7 @@ msgstr "コンフィグコンテキスト" #: extras/models/configs.py:131 msgid "config contexts" -msgstr "設定コンテキスト" +msgstr "コンフィグコンテキスト" #: extras/models/configs.py:149 extras/models/configs.py:205 msgid "JSON data must be in object form. Example:" @@ -6689,7 +6695,7 @@ msgstr "JSON データはオブジェクト形式である必要があります msgid "" "Local config context data takes precedence over source contexts in the final" " rendered config context" -msgstr "ローカル構成コンテキストデータは、最終的にレンダリングされた構成コンテキストのソースコンテキストよりも優先されます" +msgstr "最終的なコンフィグコンテキストでは、ローカルコンフィグコンテキストが優先されます。" #: extras/models/configs.py:224 msgid "template code" @@ -6709,9 +6715,9 @@ msgid "" "href=\"https://jinja.palletsprojects.com/en/3.1.x/api/#jinja2.Environment\">additional" " parameters to pass when constructing the Jinja2 environment." msgstr "" -"任意 追加パラメータ" -" Jinja2 環境を構築するときに渡されます。" +" はJinja2 環境を構築するときに渡されます。" #: extras/models/configs.py:240 msgid "config template" @@ -6739,7 +6745,7 @@ msgstr "内部フィールド名" #: extras/models/customfields.py:96 msgid "Only alphanumeric characters and underscores are allowed." -msgstr "英数字とアンダースコアのみを使用できます。" +msgstr "英数字とアンダースコアのみ使用できます。" #: extras/models/customfields.py:101 msgid "Double underscores are not permitted in custom field names." @@ -6749,7 +6755,7 @@ msgstr "カスタムフィールド名には二重アンダースコアを使用 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" -msgstr "ユーザに表示されるフィールドの名前 (指定しない場合は、「フィールドの名前が使用されます)」" +msgstr "表示されるフィールド名 (指定しない場合は、フィールド名が使用されます)" #: extras/models/customfields.py:116 extras/models/models.py:347 msgid "group name" @@ -6767,17 +6773,17 @@ msgstr "必須" msgid "" "If true, this field is required when creating new objects or editing an " "existing object." -msgstr "true の場合、新しいオブジェクトを作成したり、既存のオブジェクトを編集したりするときに、このフィールドは必須です。" +msgstr "true の場合、オブジェクトを作成・編集する際に、このフィールドは必須です。" #: extras/models/customfields.py:132 msgid "search weight" -msgstr "検索ウェイト" +msgstr "検索優先度" #: extras/models/customfields.py:135 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." -msgstr "検索用の重み付け。値が小さいほど重要であると見なされます。検索ウェイトが 0 のフィールドは無視されます。" +msgstr "検索用の重み付け。値が小さいほど優先されます。検索優先度が 0 のフィールドは無視されます。" #: extras/models/customfields.py:140 msgid "filter logic" @@ -6787,7 +6793,7 @@ msgstr "フィルターロジック" msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." -msgstr "Loose は指定した文字列の任意のインスタンスと一致し、exact はフィールド全体と一致します。" +msgstr "Loose は指定した文字列が含まれる場合に一致し、exact はフィールド全体と一致します。" #: extras/models/customfields.py:147 msgid "default" @@ -6801,11 +6807,11 @@ msgstr "フィールドのデフォルト値 (JSON 値である必要があり #: extras/models/customfields.py:156 msgid "display weight" -msgstr "ディスプレイ重量" +msgstr "表示優先度" #: extras/models/customfields.py:157 msgid "Fields with higher weights appear lower in a form." -msgstr "重みが大きいフィールドは、フォームの下位に表示されます。" +msgstr "値が大きいフィールドは、フォームの下に表示されます。" #: extras/models/customfields.py:162 msgid "minimum value" @@ -6825,7 +6831,7 @@ msgstr "最大許容値 (数値フィールド用)" #: extras/models/customfields.py:175 msgid "validation regex" -msgstr "検証正規表現" +msgstr "バリデーション正規表現" #: extras/models/customfields.py:177 #, python-brace-format @@ -6835,11 +6841,11 @@ msgid "" "values to exactly three uppercase letters." msgstr "" "テキストフィールド値に適用する正規表現。^ と $ を使用して文字列全体を強制的に一致させます。例えば、 ^ " -"[アルファベット順]{3}$ 値をちょうど 3 文字の大文字に制限します。" +"[A-Z]{3}$ は値を3 字の大文字に制限します。" #: extras/models/customfields.py:185 msgid "choice set" -msgstr "チョイスセット" +msgstr "選択肢" #: extras/models/customfields.py:194 msgid "Specifies whether the custom field is displayed in the UI" @@ -6851,11 +6857,11 @@ msgstr "カスタムフィールド値を UI で編集できるかどうかを #: extras/models/customfields.py:205 msgid "is cloneable" -msgstr "クローン可能" +msgstr "複製可能" #: extras/models/customfields.py:206 msgid "Replicate this value when cloning objects" -msgstr "オブジェクトのクローニング時にこの値を複製する" +msgstr "オブジェクトの複製時にこの値を複製する" #: extras/models/customfields.py:219 msgid "custom field" @@ -6868,7 +6874,7 @@ msgstr "カスタムフィールド" #: extras/models/customfields.py:309 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" -msgstr "デフォルト値が無効です」{value}「: {error}" +msgstr "デフォルト値が無効です \"{value}\": {error}" #: extras/models/customfields.py:316 msgid "A minimum value may be set only for numeric fields" @@ -6902,7 +6908,7 @@ msgstr "{type} フィールドはオブジェクトタイプを定義できま #: extras/models/customfields.py:434 msgid "True" -msgstr "本当" +msgstr "真" #: extras/models/customfields.py:435 msgid "False" @@ -6911,7 +6917,7 @@ msgstr "偽" #: extras/models/customfields.py:517 #, python-brace-format msgid "Values must match this regex: {regex}" -msgstr "値は次の正規表現と一致する必要があります。 {regex}" +msgstr "値は次の正規表現とマッチする必要があります。 {regex}" #: extras/models/customfields.py:611 msgid "Value must be a string." @@ -6920,7 +6926,7 @@ msgstr "値は文字列でなければなりません。" #: extras/models/customfields.py:613 #, python-brace-format msgid "Value must match regex '{regex}'" -msgstr "値は正規表現 'と一致する必要があります{regex}'" +msgstr "値は正規表現 '{regex}'と一致する必要があります" #: extras/models/customfields.py:618 msgid "Value must be an integer." @@ -6929,16 +6935,16 @@ msgstr "値は整数でなければなりません。" #: extras/models/customfields.py:621 extras/models/customfields.py:636 #, python-brace-format msgid "Value must be at least {minimum}" -msgstr "値は少なくとも次の値でなければなりません {minimum}" +msgstr "値は {minimum} 以上でなければなりません" #: extras/models/customfields.py:625 extras/models/customfields.py:640 #, python-brace-format msgid "Value must not exceed {maximum}" -msgstr "値を超えてはいけません {maximum}" +msgstr "値は {maximum} を超えてはいけません" #: extras/models/customfields.py:633 msgid "Value must be a decimal." -msgstr "値は10進数でなければなりません。" +msgstr "値は実数でなければなりません。" #: extras/models/customfields.py:645 msgid "Value must be true or false." @@ -6950,27 +6956,27 @@ msgstr "日付値は ISO 8601 フォーマット (YYYY-MM-DD) である必要が #: extras/models/customfields.py:662 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." -msgstr "日付と時刻の値は ISO 8601 フォーマット (YYYY-MM-DD HH: MM: SS) である必要があります。" +msgstr "日付と時刻の値は ISO 8601 フォーマット (YYYY-MM-DD HH:MM:SS) である必要があります。" #: extras/models/customfields.py:669 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." -msgstr "選択が無効です ({value}) チョイスセット用 {choiceset}。" +msgstr "{value}は選択肢 {choiceset} に含まれていません。" #: extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." -msgstr "選択が無効です ({value}) チョイスセット用 {choiceset}。" +msgstr "{value}は選択肢 {choiceset} に含まれていません。" #: extras/models/customfields.py:688 #, python-brace-format msgid "Value must be an object ID, not {type}" -msgstr "値はオブジェクトIDでなければならず、そうではありません {type}" +msgstr "{type}ではなく、オブジェクトIDを指定してください" #: extras/models/customfields.py:694 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" -msgstr "値はオブジェクト ID のリストでなければならず、そうではありません {type}" +msgstr "{type} ではなくオブジェクト ID のリストを入力してください" #: extras/models/customfields.py:698 #, python-brace-format @@ -6991,11 +6997,11 @@ msgstr "選択肢は自動的にアルファベット順に並べられます" #: extras/models/customfields.py:739 msgid "custom field choice set" -msgstr "カスタムフィールド選択セット" +msgstr "カスタムフィールド選択肢" #: extras/models/customfields.py:740 msgid "custom field choice sets" -msgstr "カスタムフィールド選択セット" +msgstr "カスタムフィールド選択肢" #: extras/models/customfields.py:776 msgid "Must define base or extra choices." @@ -7007,7 +7013,7 @@ msgstr "レイアウト" #: extras/models/dashboard.py:23 msgid "config" -msgstr "設定する" +msgstr "設定" #: extras/models/dashboard.py:28 msgid "dashboard" @@ -7094,7 +7100,7 @@ msgstr "イベントルール" msgid "" "At least one event type must be selected: create, update, delete, job start," " and/or job end." -msgstr "少なくとも 1 つのイベントタイプ (作成、更新、削除、ジョブの開始、ジョブの終了) を選択する必要があります。" +msgstr "少なくとも 1 つのイベントタイプを選択する必要があります。 : 作成、更新、削除、ジョブの開始、ジョブの終了" #: extras/models/models.py:196 msgid "" @@ -7140,13 +7146,13 @@ msgid "" "username, request_id, and data." msgstr "" "カスタムリクエストボディ用の Jinja2 テンプレート。空欄の場合は、変更を表す JSON " -"オブジェクトが含まれます。利用可能なコンテキストデータには以下が含まれます。 出来事、 " -"タイムスタンプユーザ名リクエスト ID、および " -"データ。" +"オブジェクトが含まれます。利用可能なコンテキストデータには以下が含まれます。 event, " +"model, timestamp, username, " +"request_id, and data." #: extras/models/models.py:234 msgid "secret" -msgstr "秘密" +msgstr "シークレット" #: extras/models/models.py:238 msgid "" @@ -7154,8 +7160,8 @@ 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 "" -"提供された場合、リクエストには以下が含まれます X フック-シグネチャー シークレットをキーとして使用したペイロード本体の " -"HMAC 16 進ダイジェストを含むヘッダー。シークレットはリクエストでは送信されません。" +"提供された場合、リクエストにはシークレットをキーとして使用したペイロード本体のHMAC 16 進ダイジェストを含むX-Hook-" +"Signature ヘッダー が含まれます 。シークレットはリクエストでは送信されません。" #: extras/models/models.py:245 msgid "Enable SSL certificate verification. Disable with caution!" @@ -7207,15 +7213,6 @@ msgstr "リンク URL の Jinja2 テンプレートコード" msgid "Links with the same group will appear as a dropdown menu" msgstr "同じグループのリンクはドロップダウンメニューとして表示されます" -#: extras/models/models.py:353 -msgid "button class" -msgstr "ボタンクラス" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "グループ内の最初のリンクのクラスがドロップダウンボタンに使用されます" - #: extras/models/models.py:360 msgid "new window" msgstr "新しいウィンドウ" @@ -7241,12 +7238,12 @@ msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." msgstr "" -"Jinja2 テンプレートコード。エクスポートされるオブジェクトのリストは、という名前のコンテキスト変数として渡されます。 " -"クエリーセット。" +"Jinja2 テンプレートコード。エクスポートされるオブジェクトのリストは、 " +"クエリーセットという名前のコンテキスト変数として渡されます。" #: extras/models/models.py:440 msgid "Defaults to text/plain; charset=utf-8" -msgstr "デフォルトは テキスト/プレーン; 文字セット=utf-8" +msgstr "デフォルトは text/plain; charset=utf-8" #: extras/models/models.py:443 msgid "file extension" @@ -7262,20 +7259,20 @@ msgstr "添付ファイルとして" #: extras/models/models.py:451 msgid "Download file as attachment" -msgstr "ファイルを添付ファイルとしてダウンロード" +msgstr "ファイルを直接ダウンロードする" #: extras/models/models.py:460 msgid "export template" -msgstr "テンプレートをエクスポート" +msgstr "エクスポートテンプレート" #: extras/models/models.py:461 msgid "export templates" -msgstr "テンプレートをエクスポートする" +msgstr "エクスポートテンプレート" #: extras/models/models.py:478 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." -msgstr "「{name}「は予約名です。別の名前を選択してください。" +msgstr "\"{name}\"は予約されています。別の名前を選択してください。" #: extras/models/models.py:528 msgid "The object type(s) to which this filter applies." @@ -7287,19 +7284,19 @@ msgstr "共有した" #: extras/models/models.py:573 msgid "saved filter" -msgstr "保存済みフィルター" +msgstr "保存済みフィルタ" #: extras/models/models.py:574 msgid "saved filters" -msgstr "保存済みフィルター" +msgstr "保存済みフィルタ" #: extras/models/models.py:592 msgid "Filter parameters must be stored as a dictionary of keyword arguments." -msgstr "フィルターパラメータは、キーワード引数の辞書として保存する必要があります。" +msgstr "フィルタパラメータは、キーワード引数の辞書として保存する必要があります。" #: extras/models/models.py:620 msgid "image height" -msgstr "画像の高さ" +msgstr "画像高さ" #: extras/models/models.py:623 msgid "image width" @@ -7307,16 +7304,16 @@ msgstr "画像幅" #: extras/models/models.py:640 msgid "image attachment" -msgstr "画像添付" +msgstr "添付画像" #: extras/models/models.py:641 msgid "image attachments" -msgstr "画像添付ファイル" +msgstr "添付画像" #: extras/models/models.py:655 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." -msgstr "このオブジェクトタイプにはイメージ添付ファイルを割り当てることができません ({type})。" +msgstr "このオブジェクトタイプ ({type})には添付画像を割り当てることができません。" #: extras/models/models.py:718 msgid "kind" @@ -7333,7 +7330,7 @@ msgstr "ジャーナルエントリ" #: extras/models/models.py:748 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." -msgstr "このオブジェクトタイプではジャーナリングはサポートされていません ({type})。" +msgstr "このオブジェクトタイプ({type})ではジャーナリングはサポートされていません 。" #: extras/models/models.py:790 msgid "bookmark" @@ -7346,7 +7343,7 @@ msgstr "ブックマーク" #: extras/models/models.py:804 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." -msgstr "このオブジェクトタイプにはブックマークを割り当てられません ({type})。" +msgstr "このオブジェクトタイプ ({type})にはブックマークを割り当てられません。" #: extras/models/reports.py:46 msgid "report module" @@ -7382,7 +7379,7 @@ msgstr "キャッシュ値" #: extras/models/search.py:59 msgid "cached values" -msgstr "キャッシュされた値" +msgstr "キャッシュ値" #: extras/models/staging.py:44 msgid "branch" @@ -7390,7 +7387,7 @@ msgstr "ブランチ" #: extras/models/staging.py:45 msgid "branches" -msgstr "枝" +msgstr "ブランチ" #: extras/models/staging.py:97 msgid "staged change" @@ -7398,15 +7395,15 @@ msgstr "段階的変更" #: extras/models/staging.py:98 msgid "staged changes" -msgstr "段階的な変更" +msgstr "段階的変更" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "このタグを適用できるオブジェクトタイプ。" #: extras/models/tags.py:49 msgid "tag" -msgstr "鬼ごっこ" +msgstr "タグ" #: extras/models/tags.py:50 msgid "tags" @@ -7430,7 +7427,7 @@ msgstr "スクリプトデータ" #: extras/scripts.py:375 msgid "Script Execution Parameters" -msgstr "スクリプト実行パラメーター" +msgstr "スクリプト実行パラメータ" #: extras/signals.py:121 #, python-brace-format @@ -7441,7 +7438,7 @@ msgstr "削除は保護ルールによって禁止されています。 {message #: extras/tables/tables.py:143 extras/tables/tables.py:208 #: extras/tables/tables.py:285 msgid "Content Types" -msgstr "コンテンツタイプ" +msgstr "コンテントタイプ" #: extras/tables/tables.py:50 msgid "Visible" @@ -7457,7 +7454,7 @@ msgstr "チョイスセット" #: extras/tables/tables.py:68 msgid "Is Cloneable" -msgstr "クローニング可能" +msgstr "複製可能" #: extras/tables/tables.py:98 msgid "Count" @@ -7469,7 +7466,7 @@ msgstr "アルファベット順に並べる" #: extras/tables/tables.py:125 templates/extras/customlink.html:34 msgid "New Window" -msgstr "[新規ウィンドウ]" +msgstr "新規ウィンドウ" #: extras/tables/tables.py:146 msgid "As Attachment" @@ -7493,11 +7490,11 @@ msgstr "同期済み" #: extras/tables/tables.py:178 msgid "Content Type" -msgstr "コンテンツタイプ" +msgstr "コンテントタイプ" #: extras/tables/tables.py:185 msgid "Image" -msgstr "[イメージ]" +msgstr "画像" #: extras/tables/tables.py:190 msgid "Size (Bytes)" @@ -7537,12 +7534,12 @@ msgstr "コメント (ショート)" #: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." -msgstr "この値が次の値と等しいことを確認してください %(limit_value)s。" +msgstr "%(limit_value)sと等しいことを確認する 。" #: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." -msgstr "この値が等しくないことを確認してください %(limit_value)s。" +msgstr "%(limit_value)sと等しくないことを確認する。" #: extras/validators.py:37 msgid "This field must be empty." @@ -7555,7 +7552,7 @@ msgstr "このフィールドは空であってはなりません。" #: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" -msgstr "属性が無効です」{name}「用 {model}" +msgstr "{model}において{name}属性は無効です" #: extras/views.py:880 msgid "Your dashboard has been reset." @@ -7563,7 +7560,7 @@ msgstr "ダッシュボードがリセットされました。" #: ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." -msgstr "オプションのマスクを使用して有効な IPv4 または IPv6 アドレスを入力します。" +msgstr "有効な IPv4 または IPv6 アドレスを入力してください。(サブネットマスクが使用可能)" #: ipam/api/field_serializers.py:24 #, python-brace-format @@ -7594,7 +7591,7 @@ msgstr "DHCP" #: ipam/choices.py:73 msgid "SLAAC" -msgstr "スラーク" +msgstr "SLAAC" #: ipam/choices.py:89 msgid "Loopback" @@ -7668,7 +7665,7 @@ msgstr "プレフィックス" #: ipam/filtersets.py:136 ipam/filtersets.py:175 ipam/filtersets.py:198 msgid "RIR (ID)" -msgstr "リル (アイディー)" +msgstr "RIR (ID)" #: ipam/filtersets.py:142 ipam/filtersets.py:181 ipam/filtersets.py:204 msgid "RIR (slug)" @@ -7684,7 +7681,7 @@ msgstr "プレフィックス内およびプレフィックスを含む" #: ipam/filtersets.py:259 msgid "Prefixes which contain this prefix or IP" -msgstr "このプレフィックスまたは IP を含むプレフィックス" +msgstr "このプレフィックス / IP を含むプレフィックス" #: ipam/filtersets.py:270 ipam/filtersets.py:538 ipam/forms/bulk_edit.py:326 #: ipam/forms/filtersets.py:191 ipam/forms/filtersets.py:317 @@ -7700,14 +7697,14 @@ msgid "VLAN number (1-4094)" msgstr "VLAN 番号 (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" -msgstr "住所" +msgstr "アドレス" #: ipam/filtersets.py:445 msgid "Ranges which contain this prefix or IP" -msgstr "このプレフィックスまたは IP を含む範囲" +msgstr "このプレフィックス / IP を含む範囲" #: ipam/filtersets.py:473 ipam/filtersets.py:529 msgid "Parent prefix" @@ -7746,11 +7743,11 @@ msgstr "FHRP グループ (ID)" #: ipam/filtersets.py:618 msgid "Is assigned to an interface" -msgstr "インタフェースに割り当てられている" +msgstr "インタフェースに割り当てられているか" #: ipam/filtersets.py:622 msgid "Is assigned" -msgstr "割り当てられている" +msgstr "割当済みか" #: ipam/filtersets.py:1047 msgid "IP address (ID)" @@ -7817,7 +7814,7 @@ msgstr "非公開です" #: templates/ipam/aggregate.html:19 templates/ipam/asn.html:28 #: templates/ipam/asnrange.html:20 templates/ipam/rir.html:20 msgid "RIR" -msgstr "リル" +msgstr "RIR" #: ipam/forms/bulk_edit.py:168 msgid "Date added" @@ -7869,7 +7866,7 @@ msgid "Authentication key" msgstr "認証キー" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -7884,13 +7881,13 @@ msgstr "子 VLAN VID の最小値" #: ipam/forms/bulk_edit.py:420 msgid "Maximum child VLAN VID" -msgstr "子 VLAN VID の最大数" +msgstr "子 VLAN VID の最大値" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "スコープタイプ" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "スコープ" @@ -7899,8 +7896,8 @@ msgstr "スコープ" msgid "Site & Group" msgstr "サイトとグループ" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -7908,11 +7905,11 @@ msgstr "ポート" #: ipam/forms/bulk_import.py:47 msgid "Import route targets" -msgstr "ルートターゲットをインポート" +msgstr "インポートルートターゲット" #: ipam/forms/bulk_import.py:53 msgid "Export route targets" -msgstr "ルートターゲットをエクスポートする" +msgstr "エクスポートルートターゲット" #: ipam/forms/bulk_import.py:91 ipam/forms/bulk_import.py:111 #: ipam/forms/bulk_import.py:131 @@ -7940,7 +7937,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "割当インタフェースの親デバイス (存在する場合)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8115,8 +8112,8 @@ msgstr "ポート" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8139,7 +8136,7 @@ msgstr "サイト/VLAN 割り当て" msgid "IP Range" msgstr "IP アドレス範囲" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "FHRP グループ" @@ -8152,7 +8149,7 @@ msgstr "これをデバイス/仮想マシンのプライマリIPにする" msgid "An IP address can only be assigned to a single object." msgstr "IP アドレスは 1 つのオブジェクトにのみ割り当てることができます。" -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8163,46 +8160,39 @@ msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "プライマリ IP として指定できるのは、インタフェースに割当 IP アドレスのみです。" -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "{ip} はネットワーク ID で、インタフェースに割り当てることはできません。" - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "{ip} はブロードキャストアドレスで、インタフェースに割り当てることはできません。" - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "仮想 IP アドレス" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "アサインメントは既に存在します" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "VLAN グループ" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "子 VLAN" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." msgstr "1 つ以上のポート番号をカンマで区切ったリスト。範囲はハイフンを使用して指定できます。" -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "サービステンプレート" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "サービステンプレート" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "サービステンプレートを使用しない場合は、名前、プロトコル、およびポートを指定する必要があります。" @@ -8362,12 +8352,12 @@ msgstr "プレフィックス" msgid "Cannot create prefix with /0 mask." msgstr "/0 マスクではプレフィックスを作成できません。" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "グローバルテーブル" @@ -8460,12 +8450,23 @@ msgstr "IP アドレス" msgid "Cannot create IP address with /0 mask." msgstr "/0 マスクで IP アドレスを作成することはできません。" -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "{ip} はネットワーク ID で、インタフェースに割り当てることはできません。" + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "{ip} はブロードキャストアドレスで、インタフェースに割り当てることはできません。" + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "重複した IP アドレスが見つかりました {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "SLAAC ステータスを割り当てることができるのは IPv6 アドレスのみです" @@ -9224,7 +9225,7 @@ msgstr "[仮想マシン]" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "仮想ディスク" @@ -10140,8 +10141,8 @@ msgstr "スケジューリング" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "ごと %(interval)s 秒" +msgid "every %(interval)s minutes" +msgstr "ごと %(interval)s 分" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -12651,65 +12652,65 @@ msgstr "このオブジェクトタイプでは制約はサポートされてい msgid "Invalid filter for {model}: {error}" msgstr "のフィルタが無効です {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "ユーザ" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "ユーザ" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "このユーザ名のユーザはすでに存在します。" -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "グループ" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "グループ" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "ユーザプリファレンス" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "キー '{path}'はリーフノードです。新しいキーを割り当てることはできません" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "キー '{path}'はディクショナリです。ディクショナリ以外の値は割り当てられません" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "期限切れ" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "最終使用日" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "キー" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "書き込み有効" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "このキーを使用して作成/更新/削除操作を許可する" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "許可された IP" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -12718,32 +12719,32 @@ msgstr "" "ネットワーク。制限がない場合は空白のままにしてください。例:10.1.1.0/24、192.168.10.16/32、2001: DB 8:1:: " "/64\"" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "トークン" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "トークン" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "この権限によって付与されたアクションのリスト" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "制約" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "選択したタイプの該当するオブジェクトに一致するクエリーセットフィルタ" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "許可" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "許可" @@ -13000,43 +13001,50 @@ msgid "" "the object's change log for details." msgstr "このオブジェクトは、フォームがレンダリングされてから変更されました。詳細については、オブジェクトの変更ログを参照してください。" -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "レンジ」{value}「は無効です。" -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "範囲が無効です:終了値 ({end}) は開始値 () より大きくなければなりません{begin})。" + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "「」の列ヘッダーが重複しているか、重複しています{field}」" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "「」の列ヘッダーが重複しているか、重複しています{header}」" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "行 {row}: 期待 {count_expected} 列が見つかりましたが {count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "予期しない列ヘッダー」{field}「が見つかりました。" -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "コラム」{field}\"は関連オブジェクトではありません。ドットは使用できません" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "列 \"の関連オブジェクト属性が無効です{field}「: {to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "必須の列ヘッダー」{header}「が見つかりません。" @@ -13648,6 +13656,11 @@ msgstr "提案" msgid "Assigned Object Type" msgstr "割当オブジェクトタイプ" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "トンネルインターフェイス" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "1 回目の解約" diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index 04bb56897..ad8ae9463 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 6ee21865d..5e6b470e5 100644 --- a/netbox/translations/pt/LC_MESSAGES/django.po +++ b/netbox/translations/pt/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" @@ -64,8 +64,8 @@ msgid "Your preferences have been updated." msgstr "Suas preferências foram atualizadas." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planejado" @@ -75,8 +75,8 @@ msgid "Provisioning" msgstr "Provisionamento" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -85,7 +85,7 @@ msgid "Active" msgstr "Ativo" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Off-line" @@ -98,7 +98,7 @@ msgstr "Desprovisionamento" msgid "Decommissioned" msgstr "Desativado" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -107,7 +107,7 @@ msgstr "Desativado" msgid "Region (ID)" msgstr "Região (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -117,7 +117,7 @@ msgstr "Região (ID)" msgid "Region (slug)" msgstr "Região (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -125,7 +125,7 @@ msgstr "Região (slug)" msgid "Site group (ID)" msgstr "Grupo de sites (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -135,7 +135,7 @@ msgid "Site group (slug)" msgstr "Grupo de sites (slug)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -158,8 +158,8 @@ msgstr "Grupo de sites (slug)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -181,13 +181,13 @@ msgstr "Grupo de sites (slug)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "Site" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -199,33 +199,39 @@ msgstr "Site (slug)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "Provedor (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "Provedor (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "Provedor (slug)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "Conta do provedor (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "Rede do provedor (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "Tipo de circuito (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "Tipo de circuito (slug)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -235,13 +241,13 @@ msgstr "Tipo de circuito (slug)" msgid "Site (ID)" msgstr "Site (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -251,7 +257,7 @@ msgstr "Site (ID)" msgid "Search" msgstr "Busca" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -259,11 +265,11 @@ msgstr "Busca" msgid "Circuit" msgstr "Circuito" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "Rede do provedor (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -374,8 +380,8 @@ msgstr "Descrição" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -387,18 +393,18 @@ msgstr "Descrição" msgid "Provider" msgstr "Provedor" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "ID do serviço" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -410,7 +416,7 @@ msgid "Color" msgstr "Cor" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -429,7 +435,7 @@ msgstr "Cor" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -454,12 +460,12 @@ msgid "Type" msgstr "Tipo" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "Conta do provedor" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -473,8 +479,8 @@ msgstr "Conta do provedor" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -482,7 +488,7 @@ msgstr "Conta do provedor" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -503,7 +509,7 @@ msgstr "Conta do provedor" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -514,7 +520,7 @@ msgid "Status" msgstr "Status" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -572,15 +578,15 @@ msgstr "Status" msgid "Tenant" msgstr "Inquilino" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "Data de instalação" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "Data de rescisão" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "Taxa de confirmação (Kbps)" @@ -613,7 +619,7 @@ msgstr "Provedor atribuído" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "Cor RGB em hexadecimal. Exemplo:" @@ -649,12 +655,12 @@ msgstr "Status operacional" msgid "Assigned tenant" msgstr "Inquilino designado" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "Rede de provedores" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -678,7 +684,7 @@ msgstr "Rede de provedores" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -688,13 +694,7 @@ msgstr "Rede de provedores" msgid "Location" msgstr "Localização" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -707,7 +707,7 @@ msgstr "ASN" msgid "Contacts" msgstr "Contatos" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -722,7 +722,7 @@ msgstr "Contatos" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -732,7 +732,7 @@ msgstr "Contatos" msgid "Region" msgstr "Região" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -742,19 +742,15 @@ msgstr "Região" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "Grupo de sites" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (legado)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -780,7 +776,7 @@ msgstr "ASN (legado)" msgid "Attributes" msgstr "Atributos" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -801,7 +797,7 @@ msgstr "Tipo de circuito" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "cor" @@ -823,8 +819,8 @@ msgid "Unique circuit ID" msgstr "ID de circuito exclusivo" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -903,7 +899,7 @@ msgstr "ID do painel de patch e número (s) de porta" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "descrição" @@ -933,8 +929,8 @@ msgstr "" #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -947,7 +943,7 @@ msgstr "" #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1005,13 +1001,13 @@ msgstr "redes de provedores" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1077,9 +1073,9 @@ msgstr "redes de provedores" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1114,7 +1110,7 @@ msgstr "Taxa de comprometimento" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1126,7 +1122,7 @@ msgstr "Taxa de comprometimento" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1163,7 +1159,7 @@ msgid "Completed" msgstr "Concluído" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "Falhou" @@ -1245,7 +1241,7 @@ msgstr "Fonte de dados (nome)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1384,7 +1380,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevações da cremalheira" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1445,7 +1441,7 @@ msgstr " (padrão)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "criada" @@ -1503,7 +1499,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "permitido" @@ -1720,7 +1716,7 @@ msgid "Staging" msgstr "Encenação" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Descomissionamento" @@ -1780,7 +1776,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "Polegadas" @@ -1792,8 +1788,8 @@ msgstr "Polegadas" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1806,7 +1802,7 @@ msgstr "Polegadas" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "Pai" @@ -1855,7 +1851,7 @@ msgstr "Da direita para a esquerda" msgid "Side to rear" msgstr "De lado para trás" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "Passivo" @@ -1883,8 +1879,8 @@ msgstr "Internacional/ITA" msgid "Proprietary" msgstr "Proprietário" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "Outros" @@ -1897,177 +1893,177 @@ msgstr "ITA/Internacional" msgid "Physical" msgstr "Físico" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "Virtual" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Sem fio" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "Interfaces virtuais" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "Ponte" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "Grupo de agregação de links (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "Ethernet (fixa)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "Ethernet (painel traseiro)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "Celular" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "Serial" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "Coaxial" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "Empilhamento" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "Metade" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "Completo" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "Automático" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "Acesso" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Marcado" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "Marcado (Todos)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "Padrão IEEE" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "24V passivo (2 pares)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "24V passivo (4 pares)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "48V passivo (2 pares)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "48V passivo (4 pares)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "Cobre" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "Fibra óptica" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "Fibra" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "Conectado" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "Quilômetros" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "Metros" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "Centímetros" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "Miles" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "Pés" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "Quilogramas" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "Gramas" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "Libras" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "Onças" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "Primário" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "Redundante" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "Fase única" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "Trifásico" @@ -2344,7 +2340,7 @@ msgid "Virtual Chassis (ID)" msgstr "Chassi virtual (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2368,7 +2364,7 @@ msgstr "VID atribuído" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2376,8 +2372,8 @@ msgstr "VID atribuído" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2390,7 +2386,7 @@ msgstr "VID atribuído" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2404,7 +2400,7 @@ msgid "L2VPN (ID)" msgstr "L2VPN (ID)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2475,7 +2471,7 @@ msgstr "Etiquetas" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2494,7 +2490,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2544,8 +2540,8 @@ msgstr "Fuso horário" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2554,7 +2550,7 @@ msgstr "Fuso horário" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2572,7 +2568,7 @@ msgstr "Fuso horário" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2666,7 +2662,7 @@ msgstr "Unidade de peso" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2699,7 +2695,7 @@ msgstr "Hardware" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2746,7 +2742,7 @@ msgstr "Tipo de dispositivo" msgid "Module Type" msgstr "Tipo de módulo" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "Função da VM" @@ -2778,13 +2774,15 @@ msgstr "Função do dispositivo" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Plataforma" @@ -2808,16 +2806,16 @@ msgstr "Plataforma" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2839,7 +2837,7 @@ msgstr "Plataforma" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2979,7 +2977,7 @@ msgid "Wireless role" msgstr "Função sem fio" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2988,7 +2986,7 @@ msgstr "Função sem fio" msgid "Module" msgstr "Módulo" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DEFASAGEM" @@ -3000,7 +2998,7 @@ msgstr "Contextos de dispositivos virtuais" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3025,13 +3023,13 @@ msgid "VLAN group" msgstr "Grupo de VLAN" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN sem etiqueta" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLANs marcadas" @@ -3041,7 +3039,7 @@ msgid "Wireless LAN group" msgstr "Grupo de LAN sem fio" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "LANs sem fio" @@ -3212,9 +3210,9 @@ msgid "Virtual chassis" msgstr "Chassi virtual" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3226,7 +3224,7 @@ msgstr "Chassi virtual" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Cluster" @@ -3407,7 +3405,7 @@ msgstr "Porta traseira correspondente" msgid "Physical medium classification" msgstr "Classificação física do meio" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "Dispositivo instalado" @@ -3495,7 +3493,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminação lateral não encontrada: {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Dominar" @@ -3621,7 +3619,7 @@ msgstr "Ocupado" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3635,7 +3633,7 @@ msgid "Virtual Device Context" msgstr "Contexto do dispositivo virtual" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3667,7 +3665,7 @@ msgid "Transmit power (dBm)" msgstr "Potência de transmissão (dBm)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3675,7 +3673,7 @@ msgstr "Potência de transmissão (dBm)" msgid "Cable" msgstr "Cabo" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "Descoberto" @@ -3722,7 +3720,7 @@ msgstr "Chassi" msgid "Device Role" msgstr "Função do dispositivo" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "A unidade de menor número ocupada pelo dispositivo" @@ -3774,9 +3772,7 @@ msgstr "Interface LAG" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interface" @@ -3853,7 +3849,7 @@ msgstr "" " esperados." #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "Portas traseiras" @@ -3892,7 +3888,7 @@ msgstr "" "corresponder ao número selecionado de posições da porta traseira " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4630,13 +4626,13 @@ msgstr "função do item de inventário" msgid "inventory item roles" msgstr "funções do item de inventário" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "número de série" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "etiqueta de ativo" @@ -4686,7 +4682,7 @@ msgstr "fabricante" msgid "manufacturers" msgstr "fabricantes" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "modelo" @@ -4694,11 +4690,11 @@ msgstr "modelo" msgid "default platform" msgstr "plataforma padrão" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "número da peça" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "Número de peça discreto (opcional)" @@ -4736,7 +4732,7 @@ msgstr "" " dispositivos. Deixe em branco se esse tipo de dispositivo não for pai nem " "filho." -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "fluxo de ar" @@ -4748,11 +4744,11 @@ msgstr "tipo de dispositivo" msgid "device types" msgstr "tipos de dispositivos" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "A altura U deve estar em incrementos de 0,5 unidades de rack." -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" @@ -4761,7 +4757,7 @@ msgstr "" "Dispositivo {device} na prateleira {rack} não tem espaço suficiente para " "acomodar uma altura de {height}U" -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4771,7 +4767,7 @@ msgstr "" "href=\"{url}\">{racked_instance_count} instâncias já montado dentro de " "racks." -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." @@ -4780,151 +4776,151 @@ msgstr "" "associados a esse dispositivo antes de desclassificá-lo como dispositivo " "principal." -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "Os tipos de dispositivos infantis devem ser 0U." -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "tipo de módulo" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "tipos de módulo" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "Máquinas virtuais podem ser atribuídas a essa função" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "função do dispositivo" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "funções do dispositivo" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" "Opcionalmente, limite essa plataforma a dispositivos de um determinado " "fabricante" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "plataforma" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "plataformas" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "A função que este dispositivo serve" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "Número de série do chassi, atribuído pelo fabricante" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "Uma tag exclusiva usada para identificar esse dispositivo" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "posição (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "face de cremalheira" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "IPv4 primário" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "IPv6 primário" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "IP fora de banda" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "Posição VC" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "Posição do chassi virtual" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "Prioridade VC" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "Prioridade de eleição do mestre do chassi virtual" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "latitude" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Coordenada GPS em formato decimal (xx.yyyyyy)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "longitude" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "O nome do dispositivo deve ser exclusivo por site." -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "dispositivo" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "dispositivos" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Rack {rack} não pertence ao site {site}." -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "Localização {location} não pertence ao site {site}." -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "Rack {rack} não pertence à localização {location}." -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "Não é possível selecionar uma face de rack sem atribuir um rack." -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "Não é possível selecionar uma posição de rack sem atribuir um rack." -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "A posição deve estar em incrementos de 0,5 unidades de rack." -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "Deve especificar a face do rack ao definir a posição do rack." -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." @@ -4932,7 +4928,7 @@ msgstr "" "Um tipo de dispositivo 0U ({device_type}) não pode ser atribuído a uma " "posição de rack." -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." @@ -4940,7 +4936,7 @@ msgstr "" "Os tipos de dispositivos secundários não podem ser atribuídos a uma face de " "rack. Esse é um atributo do dispositivo principal." -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." @@ -4948,7 +4944,7 @@ msgstr "" "Os tipos de dispositivos infantis não podem ser atribuídos a uma posição de " "rack. Esse é um atributo do dispositivo principal." -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4957,23 +4953,23 @@ msgstr "" "U{position} já está ocupado ou não tem espaço suficiente para acomodar este " "tipo de dispositivo: {device_type} ({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} não é um endereço IPv4." -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" "O endereço IP especificado ({ip}) não está atribuído a este dispositivo." -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} não é um endereço IPv6." -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4983,25 +4979,25 @@ msgstr "" "dispositivo, mas o tipo desse dispositivo pertence a " "{devicetype_manufacturer}." -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "O cluster atribuído pertence a um site diferente ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Um dispositivo atribuído a um chassi virtual deve ter sua posição definida." -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "módulo" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "módulos" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5010,22 +5006,22 @@ msgstr "" "O módulo deve ser instalado dentro de um compartimento de módulo pertencente" " ao dispositivo atribuído ({device})." -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "dominar" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "chassi virtual" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "O mestre selecionado ({master}) não está atribuído a esse chassi virtual." -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5034,33 +5030,33 @@ msgstr "" "Não é possível excluir o chassi virtual {self}. Existem interfaces de " "membros que formam interfaces LAG entre chassis." -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificador" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "Identificador numérico exclusivo para o dispositivo principal" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "comentários" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "contexto de dispositivo virtual" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "contextos de dispositivos virtuais" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} não é um IPv{family} endereço." -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "O endereço IP principal deve pertencer a uma interface no dispositivo " @@ -5447,7 +5443,7 @@ msgstr "Porta de console" msgid "Reachable" msgstr "Acessível" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5466,7 +5462,7 @@ msgstr "Dispositivos" msgid "VMs" msgstr "VMs" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5475,62 +5471,62 @@ msgstr "VMs" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Modelo de configuração" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "Endereço IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Endereço IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Endereço IPv6" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "Posição VC" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "Prioridade VC" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Dispositivo principal" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "Posição (compartimento do dispositivo)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "Portas de console" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "Portas do servidor de console" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "Portas de alimentação" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "Tomadas elétricas" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5540,53 +5536,53 @@ msgstr "Tomadas elétricas" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Interfaces" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "Portas frontais" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "Compartimentos para dispositivos" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "Compartimentos de módulos" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "Itens de inventário" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Compartimento do módulo" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "Cor do cabo" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "Vincular pares" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "Marcar Conectado" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "Consumo máximo (W)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "Sorteio alocado (W)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5595,12 +5591,12 @@ msgstr "Sorteio alocado (W)" msgid "IP Addresses" msgstr "Endereços IP" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Grupos FHRP" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5609,20 +5605,20 @@ msgstr "Grupos FHRP" msgid "Tunnel" msgstr "Túnel" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Somente gerenciamento" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "Link sem fio" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "VDCs" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5631,7 +5627,7 @@ msgstr "VDCs" msgid "Inventory Items" msgstr "Itens de inventário" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5640,28 +5636,28 @@ msgstr "Itens de inventário" msgid "Rear Port" msgstr "Porta traseira" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Módulo instalado" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "Módulo serial" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "Etiqueta de ativo do módulo" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "Status do módulo" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Parte" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "Itens" @@ -6229,7 +6225,7 @@ msgid "Cluster type (slug)" msgstr "Tipo de cluster (slug)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "Grupo de clusters" @@ -6360,8 +6356,8 @@ msgid "Is active" msgstr "Está ativo" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6370,8 +6366,8 @@ msgid "Content types" msgstr "Tipos de conteúdo" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "Um ou mais tipos de objetos atribuídos" @@ -6418,29 +6414,39 @@ msgstr "" "opcionais separados por dois pontos: “Choice1:First Choice, Choice2:Second " "Choice”" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "classe de botão" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" +"A classe do primeiro link em um grupo será usada para o botão suspenso" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "Objeto de ação" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "Nome do webhook ou script como caminho pontilhado module.Class" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "Webhook {name} não encontrado" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "Roteiro {name} não encontrado" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "Tipo de objeto atribuído" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "A classificação da entrada" @@ -7397,16 +7403,6 @@ msgstr "Código de modelo Jinja2 para URL do link" msgid "Links with the same group will appear as a dropdown menu" msgstr "Links com o mesmo grupo aparecerão como um menu suspenso" -#: extras/models/models.py:353 -msgid "button class" -msgstr "classe de botão" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" -"A classe do primeiro link em um grupo será usada para o botão suspenso" - #: extras/models/models.py:360 msgid "new window" msgstr "nova janela" @@ -7598,7 +7594,7 @@ msgid "staged changes" msgstr "mudanças encenadas" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "O (s) tipo (s) de objeto aos quais essa tag pode ser aplicada." #: extras/models/tags.py:49 @@ -7899,7 +7895,7 @@ msgid "VLAN number (1-4094)" msgstr "Número da VLAN (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "Endereço" @@ -8068,7 +8064,7 @@ msgid "Authentication key" msgstr "Chave de autenticação" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -8085,11 +8081,11 @@ msgstr "VLAN infantil mínima VID" msgid "Maximum child VLAN VID" msgstr "VLAN infantil máximo VID" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "Tipo de escopo" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "Escopo" @@ -8098,8 +8094,8 @@ msgstr "Escopo" msgid "Site & Group" msgstr "Site e grupo" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -8139,7 +8135,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "Dispositivo principal da interface atribuída (se houver)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8317,8 +8313,8 @@ msgstr "Porto" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8341,7 +8337,7 @@ msgstr "Atribuição de site/VLAN" msgid "IP Range" msgstr "Intervalo de IP" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "Grupo FHRP" @@ -8354,7 +8350,7 @@ msgstr "Torne esse o IP primário do dispositivo/VM" msgid "An IP address can only be assigned to a single object." msgstr "Um endereço IP só pode ser atribuído a um único objeto." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8369,34 +8365,25 @@ msgstr "" "Somente endereços IP atribuídos a uma interface podem ser designados como " "IPs primários." -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "{ip} é uma ID de rede, que não pode ser atribuída a uma interface." - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "" -"{ip} é um endereço de transmissão, que não pode ser atribuído a uma " -"interface." - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "Endereço IP virtual" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "A atribuição já existe" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Grupo VLAN" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "VLANs secundários" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8404,15 +8391,15 @@ msgstr "" "Lista separada por vírgula de um ou mais números de porta. Um intervalo pode" " ser especificado usando um hífen." -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Modelo de serviço" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "Modelo de serviço" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8579,12 +8566,12 @@ msgstr "prefixos" msgid "Cannot create prefix with /0 mask." msgstr "Não é possível criar prefixo com a máscara /0." -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "tabela global" @@ -8680,12 +8667,25 @@ msgstr "Endereços IP" msgid "Cannot create IP address with /0 mask." msgstr "Não é possível criar endereço IP com máscara /0." -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "{ip} é uma ID de rede, que não pode ser atribuída a uma interface." + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" +"{ip} é um endereço de transmissão, que não pode ser atribuído a uma " +"interface." + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "Endereço IP duplicado encontrado em {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Somente endereços IPv6 podem receber o status SLAAC" @@ -9468,7 +9468,7 @@ msgstr "Máquinas virtuais" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Discos virtuais" @@ -10393,8 +10393,8 @@ msgstr "Agendamento" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "cada %(interval)s segundos" +msgid "every %(interval)s minutes" +msgstr "cada %(interval)s ata" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -12948,67 +12948,67 @@ msgstr "As restrições não são suportadas para esse tipo de objeto." msgid "Invalid filter for {model}: {error}" msgstr "Filtro inválido para {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "usuária" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "usuários" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "Já existe um usuário com esse nome de usuário." -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "grupo" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "grupos" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "preferências do usuário" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "Chave '{path}'é um nó de folha; não é possível atribuir novas chaves" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Chave '{path}'é um dicionário; não pode atribuir um valor que não seja do " "dicionário" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "expira" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "usado pela última vez" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "chave" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "gravação habilitada" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "Permitir operações de criação/atualização/exclusão usando essa chave" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "IPs permitidos" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -13016,34 +13016,34 @@ msgstr "" "Redes IPv4/IPv6 permitidas de onde o token pode ser usado. Deixe em branco " "sem restrições. Ex: “10.1.1.0/24, 192.168.10.16/32, 2001:DB 8:1: :/64\"" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "ficha" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "tokens" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "A lista de ações concedidas por essa permissão" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "restrições" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" "Filtro do conjunto de consultas que corresponde aos objetos aplicáveis do " "(s) tipo (s) selecionado (s)" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "permissão" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "permissões" @@ -13317,46 +13317,55 @@ msgstr "" "Esse objeto foi modificado desde que o formulário foi renderizado. Consulte " "o registro de alterações do objeto para obter detalhes." -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "Alcance”{value}“é inválido." -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" +"Intervalo inválido: valor final ({end}) deve ser maior que o valor inicial " +"({begin})." + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "Cabeçalho de coluna duplicado ou conflitante para”{field}“" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "Cabeçalho de coluna duplicado ou conflitante para”{header}“" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" "Linha {row}: Esperado {count_expected} colunas, mas encontradas " "{count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "Cabeçalho de coluna inesperado”{field}“encontrado." -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "Coluna”{field}“não é um objeto relacionado; não pode usar pontos" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" "Atributo de objeto relacionado inválido para a coluna”{field}“: {to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "Cabeçalho de coluna obrigatório”{header}“não encontrado." @@ -13994,6 +14003,11 @@ msgstr "Proposta" msgid "Assigned Object Type" msgstr "Tipo de objeto atribuído" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "Interface de túnel" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "Primeira rescisão" diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index fd43bbda3..cf0d2757c 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 268a9fe36..14fe6c0b3 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -5,9 +5,12 @@ # # Translators: # Vladyslav V. Prodan, 2024 -# Nikita Vokhmintsev, 2024 -# Artem Kotik, 2024 +# Madi Tuleu, 2024 # Stavr Ognev, 2024 +# nvoff, 2024 +# Михаил Башкиров, 2024 +# Сергей Стрельцов, 2024 +# Artem Kotik, 2024 # Jeremy Stretch, 2024 # #, fuzzy @@ -15,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" @@ -54,7 +57,7 @@ msgstr "Истекает" #: account/tables.py:40 users/forms/filtersets.py:142 msgid "Last Used" -msgstr "Последний раз использовался" +msgstr "Последнее использование" #: account/tables.py:43 templates/account/token.html:56 #: templates/users/token.html:48 users/forms/bulk_edit.py:102 @@ -67,19 +70,19 @@ msgid "Your preferences have been updated." msgstr "Ваши настройки были обновлены." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Запланировано" #: circuits/choices.py:22 netbox/navigation/menu.py:290 msgid "Provisioning" -msgstr "Выделение ресурсов" +msgstr "Ввод в эксплутацию" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -88,20 +91,20 @@ msgid "Active" msgstr "Активный" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Оффлайн" #: circuits/choices.py:25 msgid "Deprovisioning" -msgstr "Выделение резервов" +msgstr "Вывод из эксплуатации" #: circuits/choices.py:26 msgid "Decommissioned" msgstr "Списан" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -110,7 +113,7 @@ msgstr "Списан" msgid "Region (ID)" msgstr "Регион (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -120,7 +123,7 @@ msgstr "Регион (ID)" msgid "Region (slug)" msgstr "Регион (подстрока)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -128,7 +131,7 @@ msgstr "Регион (подстрока)" msgid "Site group (ID)" msgstr "Группа сайтов (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -138,7 +141,7 @@ msgid "Site group (slug)" msgstr "Группа сайтов (подстрока)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -161,8 +164,8 @@ msgstr "Группа сайтов (подстрока)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -184,13 +187,13 @@ msgstr "Группа сайтов (подстрока)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "Сайт" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -202,33 +205,39 @@ msgstr "Сайт (подстрока)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "Провайдер (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "Провайдер (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "Провайдер (подстрока)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "Аккаунт провайдера (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "Сеть провайдера (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "Тип канала связи (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "Тип канала связи (подстрока)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -238,13 +247,13 @@ msgstr "Тип канала связи (подстрока)" msgid "Site (ID)" msgstr "Сайт (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -254,7 +263,7 @@ msgstr "Сайт (ID)" msgid "Search" msgstr "Поиск" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -262,11 +271,11 @@ msgstr "Поиск" msgid "Circuit" msgstr "Канал связи" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "Сеть провайдера (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -377,8 +386,8 @@ msgstr "Описание" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -390,18 +399,18 @@ msgstr "Описание" msgid "Provider" msgstr "Провайдер" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "Идентификатор Службы" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -413,7 +422,7 @@ msgid "Color" msgstr "Цвет" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -432,7 +441,7 @@ msgstr "Цвет" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -457,12 +466,12 @@ msgid "Type" msgstr "Тип" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "Аккаунт провайдера" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -476,8 +485,8 @@ msgstr "Аккаунт провайдера" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -485,7 +494,7 @@ msgstr "Аккаунт провайдера" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -506,7 +515,7 @@ msgstr "Аккаунт провайдера" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -517,7 +526,7 @@ msgid "Status" msgstr "Статус" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -575,15 +584,15 @@ msgstr "Статус" msgid "Tenant" msgstr "Тенант" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "Дата установки" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "Дата отключения" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "Гарантированная скорость (Кбит/с)" @@ -616,7 +625,7 @@ msgstr "Назначенный провайдер" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "Цвет RGB в шестнадцатеричном формате. Пример:" @@ -652,12 +661,12 @@ msgstr "Операционный статус" msgid "Assigned tenant" msgstr "Назначенный тенант" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "Сеть провайдера" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -681,7 +690,7 @@ msgstr "Сеть провайдера" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -691,13 +700,7 @@ msgstr "Сеть провайдера" msgid "Location" msgstr "Локация" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -710,7 +713,7 @@ msgstr "ASN" msgid "Contacts" msgstr "Контакты" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -725,7 +728,7 @@ msgstr "Контакты" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -735,7 +738,7 @@ msgstr "Контакты" msgid "Region" msgstr "Регион" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -745,19 +748,15 @@ msgstr "Регион" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "Группа сайтов" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (устаревшая версия)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -783,7 +782,7 @@ msgstr "ASN (устаревшая версия)" msgid "Attributes" msgstr "Атрибуты" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -804,7 +803,7 @@ msgstr "Тип канала связи" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "цвет" @@ -819,15 +818,15 @@ msgstr "типы каналов связи" #: circuits/models/circuits.py:46 msgid "circuit ID" -msgstr "идентификатор канала связи" +msgstr "Идентификатор канала связи" #: circuits/models/circuits.py:47 msgid "Unique circuit ID" -msgstr "Уникальный идентификатор канала связи" +msgstr "Уникальный ID канала связи" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -843,7 +842,7 @@ msgstr "установлен" #: circuits/models/circuits.py:87 msgid "terminates" -msgstr "завершен" +msgstr "разобран" #: circuits/models/circuits.py:92 msgid "commit rate (Kbps)" @@ -883,11 +882,11 @@ msgstr "Скорость отдачи, если она отличается от #: circuits/models/circuits.py:200 msgid "cross-connect ID" -msgstr "идентификатор кросс-соединения" +msgstr "ID кросс-соединения" #: circuits/models/circuits.py:201 msgid "ID of the local cross-connect" -msgstr "Идентификатор локального кросс-соединения" +msgstr "ID локального кросс-соединения" #: circuits/models/circuits.py:206 msgid "patch panel/port(s)" @@ -895,7 +894,7 @@ msgstr "патч-панель или порт(ы)" #: circuits/models/circuits.py:207 msgid "Patch panel ID and port number(s)" -msgstr "Идентификатор патч-панели и номера портов" +msgstr "ID патч-панели и номера порта(-ов)" #: circuits/models/circuits.py:210 #: dcim/models/device_component_templates.py:61 @@ -906,7 +905,7 @@ msgstr "Идентификатор патч-панели и номера пор #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "описание" @@ -923,8 +922,8 @@ msgstr "точки подключения канала связи" msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -"Терминатор канала должен быть подключен либо к сайту, либо к сети " -"поставщика." +"Оконечное устройство канала должно быть подключено либо к узлу, либо к сети " +"провайдера." #: circuits/models/circuits.py:239 msgid "" @@ -936,8 +935,8 @@ msgstr "" #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -950,7 +949,7 @@ msgstr "" #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1008,13 +1007,13 @@ msgstr "сети провайдера" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1080,9 +1079,9 @@ msgstr "сети провайдера" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1117,7 +1116,7 @@ msgstr "Гарантированная скорость" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1129,7 +1128,7 @@ msgstr "Гарантированная скорость" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1166,7 +1165,7 @@ msgid "Completed" msgstr "Завершено" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "Неисправно" @@ -1212,7 +1211,7 @@ msgstr "Имя пользователя" #: core/data_backends.py:49 core/data_backends.py:55 msgid "Only used for cloning with HTTP(S)" -msgstr "Используется только для клонирования с помощью HTTP (S)" +msgstr "Используется только для клонирования по HTTP (S)" #: core/data_backends.py:53 templates/account/base.html:17 #: templates/account/password.html:11 users/forms/model_forms.py:172 @@ -1230,7 +1229,7 @@ msgstr "Не удалось получить удаленные данные ({n #: core/data_backends.py:118 msgid "AWS access key ID" -msgstr "Идентификатор ключа доступа AWS" +msgstr "ID ключа доступа AWS" #: core/data_backends.py:122 msgid "AWS secret access key" @@ -1248,7 +1247,7 @@ msgstr "Источник данных (имя)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1364,7 +1363,7 @@ msgstr "Источник" #: core/forms/model_forms.py:56 msgid "Backend Parameters" -msgstr "Параметры бэкенда" +msgstr "Параметры backend" #: core/forms/model_forms.py:94 msgid "File Upload" @@ -1384,7 +1383,7 @@ msgstr "Необходимо загрузить файл или выбрать msgid "Rack Elevations" msgstr "Фасады стоек" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1445,7 +1444,7 @@ msgstr " (по умолчанию)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "создан(а)" @@ -1503,7 +1502,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "включен" @@ -1536,7 +1535,7 @@ msgstr "источники данных" #: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" -msgstr "Неизвестный тип бэкэнда: {type}" +msgstr "Неизвестный тип backend: {type}" #: core/models/data.py:180 msgid "Cannot initiate sync; syncing already in progress." @@ -1589,7 +1588,7 @@ msgstr "файлы данных" #: core/models/data.py:416 msgid "auto sync record" -msgstr "запись автоматической синхронизации" +msgstr "автоматическая синхронизация записи" #: core/models/data.py:417 msgid "auto sync records" @@ -1609,11 +1608,11 @@ msgstr "Путь к файлу относительно указанного к #: core/models/files.py:61 msgid "managed file" -msgstr "управляемый файл" +msgstr "Настраиваемый файл" #: core/models/files.py:62 msgid "managed files" -msgstr "управляемые файлы" +msgstr "Настраиваемые файлы" #: core/models/jobs.py:54 msgid "scheduled" @@ -1646,26 +1645,26 @@ msgstr "ошибка" #: core/models/jobs.py:101 msgid "job ID" -msgstr "идентификатор задания" +msgstr "идентификатор задачи" #: core/models/jobs.py:112 msgid "job" -msgstr "задание" +msgstr "задача" #: core/models/jobs.py:113 msgid "jobs" -msgstr " задания" +msgstr " задачи" #: core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." -msgstr "Задания нельзя присвоить этому типу объектов ({type})." +msgstr "Нельзя присвоить задачи этому типу объектов ({type})." #: core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" -"Неверный статус для увольнения с работы. Возможны следующие варианты: " +"Неверный статус для завершения задачи. Возможны следующие варианты: " "{choices}" #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 @@ -1720,7 +1719,7 @@ msgid "Staging" msgstr "Подготовка к развертыванию" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Вывод из эксплуатации" @@ -1774,13 +1773,13 @@ msgstr "Доступно" #: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51 #: ipam/choices.py:71 ipam/choices.py:156 wireless/choices.py:28 msgid "Deprecated" -msgstr "Устарело" +msgstr "Выведенный(-ая) из использования" #: dcim/choices.py:114 templates/dcim/rack.html:128 msgid "Millimeters" msgstr "Миллиметры" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "Дюймы" @@ -1792,8 +1791,8 @@ msgstr "Дюймы" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1806,7 +1805,7 @@ msgstr "Дюймы" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "Родитель" @@ -1819,13 +1818,13 @@ msgstr "Потомок" #: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:22 #: templates/dcim/rackreservation.html:84 msgid "Front" -msgstr "Передняя" +msgstr "Вид спереди" #: dcim/choices.py:156 templates/dcim/device.html:351 #: templates/dcim/rack.html:187 templates/dcim/rack_elevation_list.html:23 #: templates/dcim/rackreservation.html:90 msgid "Rear" -msgstr "Задняя" +msgstr "Вид сзади" #: dcim/choices.py:175 dcim/choices.py:221 virtualization/choices.py:46 msgid "Staged" @@ -1855,7 +1854,7 @@ msgstr "Справа налево" msgid "Side to rear" msgstr "Бок назад" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "Пассивный" @@ -1877,14 +1876,14 @@ msgstr "Калифорнийский стиль" #: dcim/choices.py:496 msgid "International/ITA" -msgstr "Международная/ITA" +msgstr "ITA/Международный" #: dcim/choices.py:526 dcim/choices.py:755 msgid "Proprietary" msgstr "Проприетарный" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "Другой" @@ -1897,177 +1896,177 @@ msgstr "ITA/Международный" msgid "Physical" msgstr "Физический" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "Виртуальный" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Беспроводной" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "Мост" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "Группа агрегации линков (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "Ethernet (фиксированный)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "Ethernet (модульный)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "Ethernet (объединительная плата)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "Сотовая связь" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "Серийный" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "Коаксиальный" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "Стекирование" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "Полу" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "Полный" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "Авто" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "Доступ" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Тегированный" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "Тегированный (все)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "Стандарт IEEE" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "Пассивный режим 24 В (2 пары)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "Пассивное напряжение 24 В (4 пары)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "Пассивное напряжение 48 В (2 пары)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "Пассивное напряжение 48 В (4 пары)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "Медь" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "Оптоволоконное" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "Волокно" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "Подключено" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "Километры" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "Метры" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "Сантиметры" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "Мили" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "Футы" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "Килограммы" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "Граммы" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "Фунты" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "Унции" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" -msgstr "Начальное" +msgstr "Основной" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "Резервный" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "Однофазный" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "Трехфазный" @@ -2316,7 +2315,7 @@ msgstr "Отсек для модулей (ID)" #: ipam/filtersets.py:807 ipam/filtersets.py:1026 #: virtualization/filtersets.py:161 vpn/filtersets.py:351 msgid "Device (ID)" -msgstr "Устройство (идентификатор)" +msgstr "Устройство (ID)" #: dcim/filtersets.py:1260 msgid "Rack (name)" @@ -2344,7 +2343,7 @@ msgid "Virtual Chassis (ID)" msgstr "Виртуальное шасси (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2354,7 +2353,7 @@ msgstr "Виртуальное шасси" #: dcim/filtersets.py:1335 msgid "Module (ID)" -msgstr "Модуль (идентификатор)" +msgstr "Модуль (ID)" #: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 @@ -2368,7 +2367,7 @@ msgstr "Назначенный VID" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2376,8 +2375,8 @@ msgstr "Назначенный VID" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2390,7 +2389,7 @@ msgstr "Назначенный VID" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2401,10 +2400,10 @@ msgstr "VRF (КРАСНЫЙ)" #: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" -msgstr "L2VPN (ИДЕНТИФИКАТОР)" +msgstr "L2VPN (ID)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2416,11 +2415,11 @@ msgstr "L2VPN" #: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" -msgstr "Интерфейсы виртуального корпуса для устройства" +msgstr "Интерфейсы виртуального шасси для устройства" #: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" -msgstr "Интерфейсы виртуального корпуса для устройства (ID)" +msgstr "Интерфейсы виртуального шасси для устройства (ID)" #: dcim/filtersets.py:1506 msgid "Kind of interface" @@ -2475,7 +2474,7 @@ msgstr "Теги" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2494,7 +2493,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2544,8 +2543,8 @@ msgstr "Часовой пояс" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2554,7 +2553,7 @@ msgstr "Часовой пояс" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2572,7 +2571,7 @@ msgstr "Часовой пояс" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2666,7 +2665,7 @@ msgstr "Весовая единица" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2699,7 +2698,7 @@ msgstr "Аппаратное обеспечение" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2746,7 +2745,7 @@ msgstr "Тип устройства" msgid "Module Type" msgstr "Тип модуля" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "Роль виртуальной машины" @@ -2778,13 +2777,15 @@ msgstr "Роль устройства" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Платформа" @@ -2808,16 +2809,16 @@ msgstr "Платформа" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2839,7 +2840,7 @@ msgstr "Платформа" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2951,7 +2952,7 @@ msgstr "Порт питания" #: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" -msgstr "Подача питании" +msgstr "Фаза электропитания" #: dcim/forms/bulk_edit.py:1019 dcim/forms/bulk_edit.py:1325 msgid "Management only" @@ -2979,7 +2980,7 @@ msgid "Wireless role" msgstr "Роль беспроводной связи" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2988,10 +2989,10 @@ msgstr "Роль беспроводной связи" msgid "Module" msgstr "Модуль" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" -msgstr "Группа объединения каналов(LAG)" +msgstr "LAG" #: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" @@ -3000,7 +3001,7 @@ msgstr "Виртуальные контексты" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3025,13 +3026,13 @@ msgid "VLAN group" msgstr "Группа VLAN" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN без тегов" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN с тегами" @@ -3041,7 +3042,7 @@ msgid "Wireless LAN group" msgstr "Беспроводная группа LAN" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Беспроводные LANs" @@ -3150,7 +3151,7 @@ msgstr "Родительское место" #: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" -msgstr "Местоположение стойки (если есть)" +msgstr "Локация стойки (если есть)" #: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 @@ -3212,9 +3213,9 @@ msgid "Virtual chassis" msgstr "Виртуальное шасси" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3226,7 +3227,7 @@ msgstr "Виртуальное шасси" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Кластер" @@ -3236,7 +3237,7 @@ msgstr "Кластер виртуализации" #: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" -msgstr "Назначенное местоположение (если есть)" +msgstr "Назначенная локация (если есть)" #: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" @@ -3339,7 +3340,7 @@ msgstr "Мостовой интерфейс" #: dcim/forms/bulk_import.py:792 msgid "Lag" -msgstr "Группа объединения каналов(LAG)" +msgstr "Lag" #: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" @@ -3407,7 +3408,7 @@ msgstr "Соответствующий задний порт" msgid "Physical medium classification" msgstr "Классификация физических сред" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "Установленное устройство" @@ -3495,7 +3496,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} боковое завершение не найдено: {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Мастер" @@ -3623,7 +3624,7 @@ msgstr "Занятый" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3634,10 +3635,10 @@ msgstr "Подключение" #: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" -msgstr "Контекст виртуального устройства" +msgstr "Виртуальный контекст" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3669,7 +3670,7 @@ msgid "Transmit power (dBm)" msgstr "Мощность передачи (дБм)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3677,7 +3678,7 @@ msgstr "Мощность передачи (дБм)" msgid "Cable" msgstr "Кабель" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "Обнаружено" @@ -3704,8 +3705,8 @@ msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." msgstr "" -"Список идентификаторов числовых единиц, разделенных запятыми. Диапазон можно" -" указать с помощью дефиса." +"Список числовых идентификаторов, разделенных запятыми. Диапазон можно " +"указать с помощью дефиса." #: dcim/forms/model_forms.py:259 dcim/tables/racks.py:133 msgid "Reservation" @@ -3724,7 +3725,7 @@ msgstr "Шасси" msgid "Device Role" msgstr "Роль устройства" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "Устройство с наименьшим номером, занимаемое устройством" @@ -3775,9 +3776,7 @@ msgstr "Интерфейс LAG" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Интерфейс" @@ -3817,7 +3816,7 @@ msgstr "Комплектующие" #: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." -msgstr "InventoryItem можно присвоить только одному компоненту." +msgstr "Инвентарный номер можно присвоить только одному компоненту." #: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" @@ -3854,7 +3853,7 @@ msgstr "" " ожидаются." #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "Задние порты" @@ -3893,11 +3892,11 @@ msgstr "" "соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" -msgstr "Члены" +msgstr "Участники" #: dcim/forms/object_create.py:417 msgid "Initial position" @@ -3957,7 +3956,7 @@ msgstr "Несовместимые типы терминации: {type_a} а т #: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." -msgstr "Терминалы A и B не могут подключаться к одному и тому же объекту." +msgstr "Окончания A и B не могут подключаться к одному и тому же объекту." #: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" @@ -4068,7 +4067,7 @@ msgstr "максимальное потребление" #: dcim/models/device_component_templates.py:259 #: dcim/models/device_components.py:360 msgid "allocated draw" -msgstr "назначенное потребление" +msgstr "выделенное потребление" #: dcim/models/device_component_templates.py:269 msgid "power port template" @@ -4083,8 +4082,7 @@ msgstr "шаблоны портов питания" #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" -"Выделенная ничья не может превышать максимальное количество розыгрышей " -"({maximum_draw}Ж)." +"Выделенная мощность не может превышать максимальную ({maximum_draw}Вт)." #: dcim/models/device_component_templates.py:321 #: dcim/models/device_components.py:478 @@ -4238,12 +4236,12 @@ msgstr "" #: dcim/models/device_component_templates.py:742 #: dcim/models/device_components.py:1224 msgid "part ID" -msgstr "идентификатор детали" +msgstr "номер модели" #: dcim/models/device_component_templates.py:744 #: dcim/models/device_components.py:1226 msgid "Manufacturer-assigned part identifier" -msgstr "Идентификатор детали, присвоенный производителем" +msgstr "Номер модели, присвоенный производителем" #: dcim/models/device_component_templates.py:761 msgid "inventory item template" @@ -4520,7 +4518,7 @@ msgstr "" #: dcim/models/device_components.py:886 msgid "Cannot specify custom frequency with channel selected." -msgstr "Невозможно указать собственную частоту при выбранном канале." +msgstr "Невозможно указать произвольную частоту для выбранного канала." #: dcim/models/device_components.py:892 msgid "Channel width may be set only on wireless interfaces." @@ -4529,7 +4527,7 @@ msgstr "" #: dcim/models/device_components.py:894 msgid "Cannot specify custom width with channel selected." -msgstr "Невозможно указать произвольную ширину при выбранном канале." +msgstr "Невозможно указать произвольную ширину полосы для выбранного канала." #: dcim/models/device_components.py:902 #, python-brace-format @@ -4630,13 +4628,13 @@ msgstr "роль комплектующего" msgid "inventory item roles" msgstr "роли комплектующих" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "серийный номер" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "инвентарный номер" @@ -4654,11 +4652,11 @@ msgstr "Этот элемент был обнаружен автоматичес #: dcim/models/device_components.py:1262 msgid "inventory item" -msgstr "комплектующее" +msgstr "элемент инвентаря" #: dcim/models/device_components.py:1263 msgid "inventory items" -msgstr "комплектующие" +msgstr "элементы инвентаря" #: dcim/models/device_components.py:1274 msgid "Cannot assign self as parent." @@ -4671,7 +4669,7 @@ msgstr "" #: dcim/models/device_components.py:1288 msgid "Cannot move an inventory item with dependent children" -msgstr "Невозможно переместить инвентарь вместе с детьми-иждивенцами" +msgstr "Невозможно переместить инвентарь вместе с дочерней зависимостью" #: dcim/models/device_components.py:1296 msgid "Cannot assign inventory item to component on another device" @@ -4686,7 +4684,7 @@ msgstr "производитель" msgid "manufacturers" msgstr "производители" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "модель" @@ -4694,11 +4692,11 @@ msgstr "модель" msgid "default platform" msgstr "платформа по умолчанию" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" -msgstr "номер детали" +msgstr "номер модели" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "Дискретный номер детали (опционально)" @@ -4736,9 +4734,9 @@ msgstr "" "устройств. Оставьте поле пустым, если этот тип устройства не относится ни к " "родительскому, ни к дочернему." -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" -msgstr "направление воздушного потока" +msgstr "воздушный поток" #: dcim/models/devices.py:204 msgid "device type" @@ -4748,11 +4746,11 @@ msgstr "тип устройства" msgid "device types" msgstr "типы устройств" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." -msgstr "Высоту в U нужно указывать с шагом 0.5 юнитов стойки." +msgstr "Высоту в юнитах нужно указывать с шагом 0.5 юнита." -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" @@ -4761,7 +4759,7 @@ msgstr "" "Устройству {device} в стойке {rack} для размещения на высоте {height}U не " "хватет свободных юнитов." -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4771,7 +4769,7 @@ msgstr "" "href=\"{url}\">{racked_instance_count} экземпляр(ов) уже смонтированых в" " стойках." -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." @@ -4779,157 +4777,157 @@ msgstr "" "Необходимо удалить все шаблоны отсеков устройств, связанные с этим " "устройством, прежде чем рассекретить его как родительское устройство." -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "Типы дочерних устройств должны быть 0U." -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "тип модуля" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "типы модулей" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "Эта роль может быть назначена виртуальным машинам." -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "роль устройства" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "роли устройств" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" "Опционально ограничьте эту платформу устройствами определенного " "производителя" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" -msgstr "платформы" - -#: dcim/models/devices.py:516 -msgid "platforms" msgstr "платформ" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:518 +msgid "platforms" +msgstr "платформы" + +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "Функция, которую выполняет это устройство" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "Серийный номер корпуса, присвоенный производителем" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "Уникальный тег, используемый для идентификации этого устройства" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "положение (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "лицевая сторона стойки" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "основной IPv4" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "основной IPv6" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "внеполосный IP-адрес" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "Позиция VC" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "Положение виртуального шасси" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "Приоритет VC" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "Приоритет выбора основного виртуального шасси" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "широта" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Координата GPS в десятичном формате (xx.yyyyyy)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "долгота" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "Имя устройства должно быть уникальным для каждого сайта." -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "устройство" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" -msgstr "приборы" +msgstr "устройства" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Стойка {rack} не принадлежит сайту {site}." -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." -msgstr "Местоположение {location} не принадлежит сайту {site}." +msgstr "Локация {location} не принадлежит сайту {site}." -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "Стойка {rack} не принадлежит расположению {location}." +msgstr "Стойка {rack} не принадлежит локации {location}." -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "Невозможно выбрать лицевую сторону стойки, не выбрав саму стойку." -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "Невозможно выбрать позицию в стойке, не выбрав саму стойку." -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "Позиция должна быть указана с шагом 0,5 единицы стойки." -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "При определении лицевой стороны необходимо указать позицию в стойке." -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "Тип устройства 0U ({device_type}) не может быть отнесено к стойке." -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." @@ -4937,15 +4935,15 @@ msgstr "" "Устройствам с указанным в типе свойством \"дочернее\" нельзя выбрать лицевую" " сторону стойки. Этот атрибут указывается для \"родительского\" устройства." -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "" -"Типы детских устройств нельзя отнести к позиции в стойке. Это атрибут " +"Типы дочерних устройств нельзя отнести к позиции в стойке. Это атрибут " "родительского устройства." -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4954,22 +4952,22 @@ msgstr "" "U{position} уже занят или в нем недостаточно места для размещения этого типа" " устройств: {device_type} ({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} не является адресом IPv4." -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "Указанный IP-адрес ({ip}) не назначено этому устройству." -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} не является адресом IPv6." -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4978,26 +4976,26 @@ msgstr "" "Назначенная платформа ограничена {platform_manufacturer} типы устройств, но " "данный тип устройства относится к {devicetype_manufacturer}." -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "Назначенный кластер принадлежит другому сайту ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Положение устройства, назначенного виртуальному шасси, должно быть " "определено." -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "модуль" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "модули" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5006,21 +5004,21 @@ msgstr "" "Модуль должен быть установлен в модульном отсеке, принадлежащем назначенному" " устройству ({device})." -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "Домен" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "виртуальное шасси" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Выбранный мастер ({master}) не назначено этому виртуальному шасси." -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5029,33 +5027,33 @@ msgstr "" "Невозможно удалить виртуальное шасси {self}. Существуют интерфейсы-члены, " "которые образуют межкорпусные интерфейсы LAG." -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "идентификатор" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "Цифровой идентификатор, уникальный для родительского устройства" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "комментарии" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "виртуальный контекст" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "виртуальные контексты" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} не является IPV{family} адрес." -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Основной IP-адрес должен принадлежать интерфейсу на назначенном устройстве." @@ -5087,8 +5085,7 @@ msgstr "панели питания" msgid "" "Location {location} ({location_site}) is in a different site than {site}" msgstr "" -"Местоположение {location} ({location_site}) находится на другом сайте, чем " -"{site}" +"Локация{location} ({location_site}) находится на другом сайте, чем {site}" #: dcim/models/power.py:107 msgid "supply" @@ -5271,8 +5268,8 @@ msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -"Нумерация стеллажей должна начинаться с {position} или меньше для размещения" -" установленных в настоящее время устройств." +"Нумерация стоек должна начинаться с {position} или меньше для размещения " +"установленных в настоящее время устройств." #: dcim/models/racks.py:269 #, python-brace-format @@ -5281,7 +5278,7 @@ msgstr "Локация должна быть с того же места, {site} #: dcim/models/racks.py:522 msgid "units" -msgstr "единиц" +msgstr "юниты" #: dcim/models/racks.py:548 msgid "rack reservation" @@ -5300,7 +5297,7 @@ msgstr "" #: dcim/models/racks.py:579 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" -msgstr "Следующие номера уже зарезервированы: {unit_list}" +msgstr "Следующие юниты уже зарезервированы: {unit_list}" #: dcim/models/sites.py:49 msgid "A top-level region with this name already exists." @@ -5368,7 +5365,7 @@ msgstr "место" #: dcim/models/sites.py:239 msgid "sites" -msgstr "места" +msgstr "Сайты" #: dcim/models/sites.py:303 msgid "A location with this name already exists within the specified site." @@ -5390,16 +5387,15 @@ msgstr "локации" #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" -"Местонахождение родителя ({parent}) должен принадлежать тому же сайту " -"({site})." +"Локация родителя ({parent}) должен принадлежать тому же сайту ({site})." #: dcim/tables/cables.py:54 msgid "Termination A" -msgstr "Прекращение A" +msgstr "Окончание A" #: dcim/tables/cables.py:59 msgid "Termination B" -msgstr "Прекращение В" +msgstr "Окончание В" #: dcim/tables/cables.py:65 wireless/tables/wirelesslink.py:22 msgid "Device A" @@ -5411,19 +5407,19 @@ msgstr "Устройство B" #: dcim/tables/cables.py:77 msgid "Location A" -msgstr "Местоположение A" +msgstr "Локация A" #: dcim/tables/cables.py:83 msgid "Location B" -msgstr "Местоположение B" +msgstr "Локация B" #: dcim/tables/cables.py:89 msgid "Rack A" -msgstr "Стеллаж A" +msgstr "Стойка A" #: dcim/tables/cables.py:95 msgid "Rack B" -msgstr "Стеллаж B" +msgstr "Стойка B" #: dcim/tables/cables.py:101 msgid "Site A" @@ -5445,7 +5441,7 @@ msgstr "Консольный порт" msgid "Reachable" msgstr "Доступен" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5464,7 +5460,7 @@ msgstr "Устройства" msgid "VMs" msgstr "Виртуальные машины" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5473,62 +5469,62 @@ msgstr "Виртуальные машины" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Шаблон конфигурации" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "IP-адрес" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Адрес IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Адрес IPv6" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "Позиция VC" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "Приоритет VC" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Родительское устройство" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "Положение (отсек для устройств)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "Консольные порты" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "Порты консольного сервера" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "Порты питания" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "Розетки питания" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5538,53 +5534,53 @@ msgstr "Розетки питания" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Интерфейсы" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "Передние порты" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "Отсеки для устройств" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "Отсеки для модулей" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "Комплектующие" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Модульный отсек" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "Цвет кабеля" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "Связать узлы" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "Отметить подключение" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "Максимальная потребляемая мощность (Вт)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "Выделенная мощность (Вт)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5593,12 +5589,12 @@ msgstr "Выделенная мощность (Вт)" msgid "IP Addresses" msgstr "IP-адреса" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Группы FHRP" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5607,20 +5603,20 @@ msgstr "Группы FHRP" msgid "Tunnel" msgstr "Туннель" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Только управление" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "Беспроводная связь" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "Виртуальные контексты устройств(VDCs)" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5629,7 +5625,7 @@ msgstr "Виртуальные контексты устройств(VDCs)" msgid "Inventory Items" msgstr "Предметы инвентаря" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5638,28 +5634,28 @@ msgstr "Предметы инвентаря" msgid "Rear Port" msgstr "Задний порт" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Установленный модуль" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "Серийный номер модуля" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "Тег активов модуля" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "Состояние модуля" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Компонент" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "Предметы" @@ -5777,7 +5773,7 @@ msgstr "Высота" #: dcim/tables/racks.py:85 msgid "Space" -msgstr "Космос" +msgstr "Пространство" #: dcim/tables/racks.py:96 templates/dcim/rack.html:105 msgid "Outer Width" @@ -5797,7 +5793,7 @@ msgstr "Максимальный вес" #: ipam/tables/asn.py:66 netbox/navigation/menu.py:16 #: netbox/navigation/menu.py:18 msgid "Sites" -msgstr "ЦОД" +msgstr "Сайты" #: dcim/tests/test_api.py:49 msgid "Test case must set peer_termination_type" @@ -5882,7 +5878,7 @@ msgstr "JSON" #: extras/choices.py:36 msgid "Selection" -msgstr "Отбор" +msgstr "Выбор" #: extras/choices.py:37 msgid "Multiple selection" @@ -6226,7 +6222,7 @@ msgid "Cluster type (slug)" msgstr "Тип кластера (подстрока)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "Кластерная группа" @@ -6278,7 +6274,7 @@ msgstr "Видимый пользовательский интерфейс" #: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63 #: extras/forms/filtersets.py:83 extras/models/customfields.py:200 msgid "UI editable" -msgstr "Редактируемый пользовательский интерфейс" +msgstr "Редактируемый UI" #: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:86 msgid "Is cloneable" @@ -6357,8 +6353,8 @@ msgid "Is active" msgstr "Активен" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6367,8 +6363,8 @@ msgid "Content types" msgstr "Типы контента" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "Один или несколько назначенных типов объектов" @@ -6417,29 +6413,40 @@ msgstr "" "дополнительными метками, разделенными двоеточием: «Choice1:First Choice, " "Choice2:Second Choice»" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "класс кнопок" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" +"Класс первой ссылки в группе будет использоваться для кнопки раскрывающегося" +" списка" + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "Объект действия" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "Имя веб-хука или скрипт в виде пунктирного пути module.Class" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "Вебхук {name} не найден" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "Сценарий {name} не найден" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "Назначенный тип объекта" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "Классификация записей" @@ -6522,7 +6529,7 @@ msgstr "Группы сайтов" #: extras/forms/filtersets.py:364 extras/forms/model_forms.py:408 #: netbox/navigation/menu.py:21 msgid "Locations" -msgstr "Местоположения" +msgstr "Локации" #: extras/forms/filtersets.py:369 extras/forms/model_forms.py:413 msgid "Device types" @@ -6897,7 +6904,8 @@ msgstr "Допустимы только буквенно-цифровые сим #: extras/models/customfields.py:101 msgid "Double underscores are not permitted in custom field names." msgstr "" -"В именах настраиваемых полей недопустимо использовать двойное подчеркивание." +"В именах настраиваемых полей недопустимо использовать два подчеркивания " +"подряд (зарезервировано)." #: extras/models/customfields.py:112 msgid "" @@ -7321,10 +7329,9 @@ msgid "" "username, request_id, and data." msgstr "" "Шаблон Jinja2 для настраиваемого тела запроса. Если поле пусто, будет " -"добавлен объект JSON, представляющий изменение. Доступные контекстные данные" -" включают: событие, модель, отметка " -"времени, имя пользователя, идентификатор " -"запроса, и данные." +"добавлен объект JSON с изменениями. Доступные контекстные данные включают: " +"event, model, timestamp, " +"username, request_id, и data." #: extras/models/models.py:234 msgid "secret" @@ -7393,17 +7400,6 @@ msgstr "Код Jinja2 шаблона для URL-адреса" msgid "Links with the same group will appear as a dropdown menu" msgstr "Ссылки с той же группой появятся в выпадающем меню" -#: extras/models/models.py:353 -msgid "button class" -msgstr "класс кнопок" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" -"Класс первой ссылки в группе будет использоваться для кнопки раскрывающегося" -" списка" - #: extras/models/models.py:360 msgid "new window" msgstr "новое окно" @@ -7496,11 +7492,11 @@ msgstr "ширина изображения" #: extras/models/models.py:640 msgid "image attachment" -msgstr "вложение изображения" +msgstr "прикрепить изображение" #: extras/models/models.py:641 msgid "image attachments" -msgstr "вложения изображений" +msgstr "прикрепленные изображения" #: extras/models/models.py:655 #, python-brace-format @@ -7590,7 +7586,7 @@ msgid "staged changes" msgstr "поэтапные изменения" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "Тип (ы) объекта, к которому можно применить этот тег." #: extras/models/tags.py:49 @@ -7889,7 +7885,7 @@ msgid "VLAN number (1-4094)" msgstr "Номер VLAN (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "Адрес" @@ -7931,7 +7927,7 @@ msgstr "Интерфейс виртуальной машины (ID)" #: ipam/filtersets.py:614 msgid "FHRP group (ID)" -msgstr "Группа FHRP (идентификатор)" +msgstr "FHRP группа (ID)" #: ipam/filtersets.py:618 msgid "Is assigned to an interface" @@ -8006,7 +8002,7 @@ msgstr "Является частным" #: templates/ipam/aggregate.html:19 templates/ipam/asn.html:28 #: templates/ipam/asnrange.html:20 templates/ipam/rir.html:20 msgid "RIR" -msgstr "ВСАДНИКИ" +msgstr "RIR" #: ipam/forms/bulk_edit.py:168 msgid "Date added" @@ -8019,7 +8015,7 @@ msgstr "Длина префикса" #: ipam/forms/bulk_edit.py:252 ipam/forms/filtersets.py:236 #: templates/ipam/prefix.html:86 msgid "Is a pool" -msgstr "Это бассейн" +msgstr "Это пул" #: ipam/forms/bulk_edit.py:257 ipam/forms/bulk_edit.py:301 #: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 @@ -8058,7 +8054,7 @@ msgid "Authentication key" msgstr "Ключ аутентификации" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -8073,13 +8069,13 @@ msgstr "Минимальное количество VLAN VID для детей" #: ipam/forms/bulk_edit.py:420 msgid "Maximum child VLAN VID" -msgstr "Максимальное количество идентификаторов VLAN для детей" +msgstr "Максимальный ID дочерней VLAN" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "Тип прицела" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "Область применения" @@ -8088,8 +8084,8 @@ msgstr "Область применения" msgid "Site & Group" msgstr "Сайт и группа" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -8129,7 +8125,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "Родительское устройство назначенного интерфейса (если есть)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8179,16 +8175,12 @@ msgstr "Тип прицела (приложение и модель)" #: ipam/forms/bulk_import.py:418 #, python-brace-format msgid "Minimum child VLAN VID (default: {minimum})" -msgstr "" -"Минимальное количество идентификаторов VLAN для детей (по умолчанию): " -"{minimum})" +msgstr "Минимальный ID дочерней VLAN (по умолчанию: {minimum})" #: ipam/forms/bulk_import.py:424 #, python-brace-format msgid "Maximum child VLAN VID (default: {maximum})" -msgstr "" -"Максимальное количество идентификаторов VLAN для детей (по умолчанию): " -"{maximum})" +msgstr "Максимальный ID дочерней VLAN (по умолчанию: {maximum})" #: ipam/forms/bulk_import.py:448 msgid "Assigned VLAN group" @@ -8249,7 +8241,7 @@ msgstr "Ассортимент" #: ipam/forms/filtersets.py:127 msgid "Start" -msgstr "Начните" +msgstr "Начало" #: ipam/forms/filtersets.py:131 msgid "End" @@ -8286,7 +8278,7 @@ msgstr "DNS-имя" #: ipam/forms/filtersets.py:401 ipam/forms/filtersets.py:494 #: ipam/models/vlans.py:156 templates/ipam/vlan.html:34 msgid "VLAN ID" -msgstr "ИДЕНТИФИКАТОР КЛАНА" +msgstr "VLAN ID" #: ipam/forms/filtersets.py:433 msgid "Minimum VID" @@ -8311,8 +8303,8 @@ msgstr "Порт" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8335,7 +8327,7 @@ msgstr "Назначение сайта/VLAN" msgid "IP Range" msgstr "Диапазон IP-адресов" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "Группа компаний FHRP" @@ -8348,7 +8340,7 @@ msgstr "Сделайте этот IP-адрес основным для устр msgid "An IP address can only be assigned to a single object." msgstr "IP-адрес можно присвоить только одному объекту." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8363,34 +8355,25 @@ msgstr "" "В качестве основных IP-адресов можно назначить только IP-адреса, назначенные" " интерфейсу." -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "" -"{ip} это сетевой идентификатор, который не может быть присвоен интерфейсу." - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "" -"{ip} это широковещательный адрес, который может не быть присвоен интерфейсу." - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "Виртуальный IP-адрес" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "Задание уже существует" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Группа VLAN" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "Детские сети VLAN" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8398,15 +8381,15 @@ msgstr "" "Список одного или нескольких номеров портов, разделенных запятыми. Диапазон " "можно указать с помощью дефиса." -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Шаблон Службы" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "Шаблон службы" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8415,7 +8398,7 @@ msgstr "" #: ipam/models/asns.py:34 msgid "start" -msgstr "начните" +msgstr "Начало" #: ipam/models/asns.py:51 msgid "ASN range" @@ -8485,7 +8468,7 @@ msgstr "IP-пространство, управляемое этим RIR, счи #: ipam/models/ip.py:71 netbox/navigation/menu.py:170 msgid "RIRs" -msgstr "РИР" +msgstr "RIR's" #: ipam/models/ip.py:83 msgid "IPv4 or IPv6 network" @@ -8555,7 +8538,7 @@ msgstr "Основная функция этого префикса" #: ipam/models/ip.py:264 msgid "is a pool" -msgstr "это бассейн" +msgstr "это пул" #: ipam/models/ip.py:266 msgid "All IP addresses within this prefix are considered usable" @@ -8573,12 +8556,12 @@ msgstr "префиксы" msgid "Cannot create prefix with /0 mask." msgstr "Невозможно создать префикс с маской /0." -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "глобальная таблица" @@ -8674,12 +8657,25 @@ msgstr "IP-адреса" msgid "Cannot create IP address with /0 mask." msgstr "Невозможно создать IP-адрес с маской /0." -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "" +"{ip} это идентификатор сети, который не может быть присвоен интерфейсу." + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" +"{ip} это широковещательный адрес, который может не быть присвоен интерфейсу." + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "Дубликат IP-адреса обнаружен в {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Только адресам IPv6 можно присвоить статус SLAAC" @@ -8719,19 +8715,19 @@ msgstr "Служба должна быть связана с устройств #: ipam/models/vlans.py:49 msgid "minimum VLAN ID" -msgstr "минимальный идентификатор VLAN" +msgstr "минимальный VLAN ID" #: ipam/models/vlans.py:55 msgid "Lowest permissible ID of a child VLAN" -msgstr "Наименьший допустимый идентификатор дочерней VLAN" +msgstr "Наименьший допустимый ID дочерней VLAN" #: ipam/models/vlans.py:58 msgid "maximum VLAN ID" -msgstr "максимальный идентификатор VLAN" +msgstr "максимальный VLAN ID" #: ipam/models/vlans.py:64 msgid "Highest permissible ID of a child VLAN" -msgstr "Максимально допустимый идентификатор детской VLAN" +msgstr "Максимально допустимый ID дочерней VLAN" #: ipam/models/vlans.py:85 msgid "VLAN groups" @@ -8761,7 +8757,7 @@ msgstr "Группа VLAN (опционально)" #: ipam/models/vlans.py:161 msgid "Numeric VLAN ID (1-4094)" -msgstr "Цифровой идентификатор VLAN (1-4094)" +msgstr "Цифровой VLAN ID (1-4094)" #: ipam/models/vlans.py:179 msgid "Operational status of this VLAN" @@ -8874,7 +8870,7 @@ msgstr "Глубина" #: ipam/tables/ip.py:261 msgid "Pool" -msgstr "Бассейн" +msgstr "Пул" #: ipam/tables/ip.py:264 ipam/tables/ip.py:317 msgid "Marked Utilized" @@ -8908,7 +8904,7 @@ msgstr "Тип прицела" #: ipam/tables/vlans.py:107 ipam/tables/vlans.py:210 #: templates/dcim/inc/interface_vlans_table.html:4 msgid "VID" -msgstr "ВИДЕО" +msgstr "VID" #: ipam/tables/vrfs.py:30 msgid "RD" @@ -9086,21 +9082,20 @@ msgstr "Предпочитайте адреса IPv4, а не IPv6" #: netbox/config/parameters.py:84 msgid "Rack unit height" -msgstr "Высота стеллажа" +msgstr "Высота стойки" #: netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" msgstr "" -"Высота единиц измерения по умолчанию для визуализированных высот стеллажей" +"Высота единиц измерения по умолчанию для визуализированных высот стоек" #: netbox/config/parameters.py:91 msgid "Rack unit width" -msgstr "Ширина стеллажа" +msgstr "Ширина стойки" #: netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" -msgstr "" -"Ширина единиц измерения по умолчанию для визуализированных высот стеллажей" +msgstr "Ширина юнита по умолчанию для визуализированных высот стоек" #: netbox/config/parameters.py:100 msgid "Powerfeed voltage" @@ -9254,7 +9249,7 @@ msgstr "{class_name} необходимо указать класс модели #: netbox/models/features.py:278 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." -msgstr "Неизвестное имя поля '{name}'в данных произвольных полей." +msgstr "Неизвестное имя поля '{name}' в данных для настраиваемых полей." #: netbox/models/features.py:284 #, python-brace-format @@ -9339,7 +9334,7 @@ msgstr "Роли устройств" #: netbox/navigation/menu.py:68 templates/dcim/device.html:162 #: templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" -msgstr "Контексты виртуальных устройств" +msgstr "Виртуальные контексты" #: netbox/navigation/menu.py:76 msgid "Manufacturers" @@ -9351,7 +9346,7 @@ msgstr "Компоненты устройства" #: netbox/navigation/menu.py:92 templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" -msgstr "Роли предметов инвентаря" +msgstr "Роли предметов" #: netbox/navigation/menu.py:99 netbox/navigation/menu.py:103 msgid "Connections" @@ -9371,15 +9366,15 @@ msgstr "Интерфейсные подключения" #: netbox/navigation/menu.py:114 msgid "Console Connections" -msgstr "Подключения к консоли" +msgstr "Консольные подключения" #: netbox/navigation/menu.py:119 msgid "Power Connections" -msgstr "Подключения питания" +msgstr "Подключения кабелей питания" #: netbox/navigation/menu.py:135 msgid "Wireless LAN Groups" -msgstr "Группы беспроводных локальных сетей" +msgstr "Группы WLAN" #: netbox/navigation/menu.py:156 msgid "Prefix & VLAN Roles" @@ -9410,7 +9405,7 @@ msgstr "VPN" #: netbox/navigation/menu.py:203 netbox/navigation/menu.py:205 #: vpn/tables/tunnels.py:24 msgid "Tunnels" -msgstr "Тоннели" +msgstr "Туннели" #: netbox/navigation/menu.py:206 templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" @@ -9423,12 +9418,12 @@ msgstr "Окончание туннелей" #: netbox/navigation/menu.py:211 netbox/navigation/menu.py:213 #: vpn/models/l2vpn.py:64 msgid "L2VPNs" -msgstr "VPN-сервисы L2P" +msgstr "L2VPN" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 #: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" -msgstr "Прекращения" +msgstr "Соединения" #: netbox/navigation/menu.py:220 msgid "IKE Proposals" @@ -9464,7 +9459,7 @@ msgstr "Виртуальные машины" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Виртуальные диски" @@ -9474,19 +9469,19 @@ msgstr "Типы кластеров" #: netbox/navigation/menu.py:247 msgid "Cluster Groups" -msgstr "Кластерные группы" +msgstr "Группы кластеров" #: netbox/navigation/menu.py:261 msgid "Circuit Types" -msgstr "Типы цепей" +msgstr "Типы каналов связи" #: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267 msgid "Providers" -msgstr "Поставщики" +msgstr "Провайдеры" #: netbox/navigation/menu.py:268 templates/circuits/provider.html:53 msgid "Provider Accounts" -msgstr "Учетные записи поставщиков" +msgstr "Аккаунты провайдеров" #: netbox/navigation/menu.py:269 msgid "Provider Networks" @@ -9546,7 +9541,7 @@ msgstr "Сохраненные фильтры" #: netbox/navigation/menu.py:316 msgid "Image Attachments" -msgstr "Вложения изображений" +msgstr "Прикрепленные Изображения" #: netbox/navigation/menu.py:320 msgid "Reports & Scripts" @@ -9576,7 +9571,7 @@ msgstr "Вебхуки" #: netbox/views/generic/feature_views.py:151 #: templates/extras/report/base.html:37 templates/extras/script/base.html:36 msgid "Jobs" -msgstr "Вакансии" +msgstr "Задачи" #: netbox/navigation/menu.py:362 msgid "Logging" @@ -9819,7 +9814,7 @@ msgstr "Журнал изменений" #: netbox/views/generic/feature_views.py:91 msgid "Journal" -msgstr "журнал" +msgstr "Журнал" #: netbox/views/generic/object_views.py:105 #, python-brace-format @@ -10090,7 +10085,7 @@ msgstr "Документы" #: templates/base/layout.html:139 templates/rest_framework/api.html:10 msgid "REST API" -msgstr "ОСТАЛЬНОЕ API" +msgstr "REST API" #: templates/base/layout.html:144 msgid "REST API documentation" @@ -10150,7 +10145,7 @@ msgstr "Сведения об увольнении" #: templates/circuits/circuittype.html:10 msgid "Add Circuit" -msgstr "Добавить цепь" +msgstr "Добавить канал связи" #: templates/circuits/inc/circuit_termination.html:9 #: templates/dcim/devicetype/component_templates.html:33 @@ -10181,7 +10176,7 @@ msgstr "Обмен" #: templates/circuits/inc/circuit_termination.html:26 #, python-format msgid "Termination %(side)s" -msgstr "Прекращение %(side)s" +msgstr "Окончания %(side)s" #: templates/circuits/inc/circuit_termination.html:42 #: templates/dcim/cable.html:70 templates/dcim/cable.html:76 @@ -10262,7 +10257,7 @@ msgstr "Патч-панель/порт" #: templates/circuits/provider.html:11 msgid "Add circuit" -msgstr "Добавить цепь" +msgstr "Добавить канал связи" #: templates/circuits/provideraccount.html:17 msgid "Provider Account" @@ -10270,11 +10265,11 @@ msgstr "Учетная запись поставщика" #: templates/core/configrevision.html:47 msgid "Default unit height" -msgstr "Высота единицы измерения по умолчанию" +msgstr "Высота юнита по умолчанию" #: templates/core/configrevision.html:51 msgid "Default unit width" -msgstr "Ширина блока по умолчанию" +msgstr "Ширина юнита по умолчанию" #: templates/core/configrevision.html:63 msgid "Default voltage" @@ -10390,8 +10385,8 @@ msgstr "Планирование" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "каждый %(interval)s секунды" +msgid "every %(interval)s minutes" +msgstr "каждый %(interval)s протокол" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -10645,7 +10640,7 @@ msgstr "Контекстные данные" #: templates/dcim/device/render_config.html:57 #: templates/virtualization/virtualmachine/render_config.html:57 msgid "Download" -msgstr "Загрузить" +msgstr "Скачать" #: templates/dcim/device/render_config.html:60 #: templates/virtualization/virtualmachine/render_config.html:60 @@ -10689,7 +10684,7 @@ msgstr "Отсек для устройств" #: templates/dcim/devicebay.html:48 msgid "Installed Device" -msgstr "Установленное устройство" +msgstr "Вставленное устройство" #: templates/dcim/devicebay_delete.html:6 #, python-format @@ -10745,7 +10740,7 @@ msgstr "Номер детали" #: templates/dcim/devicetype.html:40 msgid "Height (U" -msgstr "Высота (U)" +msgstr "Высота (U" #: templates/dcim/devicetype.html:44 msgid "Exclude From Utilization" @@ -10757,7 +10752,7 @@ msgstr "Родитель/ребенок" #: templates/dcim/devicetype.html:74 msgid "Front Image" -msgstr "Изображение на передней панели" +msgstr "Изображение спереди" #: templates/dcim/devicetype.html:86 msgid "Rear Image" @@ -10779,7 +10774,7 @@ msgstr "Состояние подключения" #: templates/dcim/inc/cable_termination.html:65 msgid "No termination" -msgstr "Без увольнения" +msgstr "Без окончания" #: templates/dcim/inc/cable_toggle_buttons.html:4 msgid "Mark Planned" @@ -10804,7 +10799,7 @@ msgstr "Конечные точки пути" #: templates/dcim/inc/endpoint_connection.html:8 #: templates/dcim/powerfeed.html:128 templates/dcim/rearport.html:101 msgid "Not connected" -msgstr "Не подключен" +msgstr "Не подключено" #: templates/dcim/inc/interface_vlans_table.html:6 msgid "Untagged" @@ -10855,7 +10850,7 @@ msgstr "Беспроводная связь" #: templates/dcim/interface.html:226 vpn/choices.py:55 msgid "Peer" -msgstr "сверстник" +msgstr "Peer" #: templates/dcim/interface.html:238 #: templates/wireless/inc/wirelesslink_interface.html:26 @@ -10883,7 +10878,7 @@ msgstr "Ширина канала" #: wireless/forms/filtersets.py:79 wireless/models.py:81 #: wireless/models.py:155 wireless/tables/wirelesslan.py:44 msgid "SSID" -msgstr "СКАЗАЛ" +msgstr "SSID" #: templates/dcim/interface.html:316 msgid "LAG Members" @@ -10906,7 +10901,7 @@ msgstr "Родительский товар" #: templates/dcim/inventoryitem.html:49 msgid "Part ID" -msgstr "Идентификатор детали" +msgstr "Номер модели" #: templates/dcim/inventoryitem_bulk_delete.html:5 msgid "This will also delete all child inventory items of those listed" @@ -10924,15 +10919,15 @@ msgstr "Розетка питания" #: templates/dcim/location.html:17 msgid "Add Child Location" -msgstr "Добавить местоположение ребенка" +msgstr "Добавить дочернюю локацию" #: templates/dcim/location.html:76 msgid "Child Locations" -msgstr "Местонахождение детей" +msgstr "Дочерние локации" #: templates/dcim/location.html:84 templates/dcim/site.html:137 msgid "Add a Location" -msgstr "Добавить местоположение" +msgstr "Добавить локацию" #: templates/dcim/location.html:98 templates/dcim/site.html:151 msgid "Add a Device" @@ -10970,7 +10965,7 @@ msgstr "A" #: templates/dcim/poweroutlet.html:51 msgid "Feed Leg" -msgstr "Кормовая ножка" +msgstr "Фаза электропитания" #: templates/dcim/powerpanel.html:77 msgid "Add Power Feeds" @@ -10978,11 +10973,11 @@ msgstr "Добавить каналы питания" #: templates/dcim/powerport.html:47 msgid "Maximum Draw" -msgstr "Максимальная ничья" +msgstr "Максимальное потребление" #: templates/dcim/powerport.html:51 msgid "Allocated Draw" -msgstr "Распределенная ничья" +msgstr "Выделенная мощность" #: templates/dcim/rack.html:66 msgid "Space Utilization" @@ -10990,7 +10985,7 @@ msgstr "Использование пространства" #: templates/dcim/rack.html:96 msgid "descending" -msgstr "спускаясь" +msgstr "по убыванию" #: templates/dcim/rack.html:96 msgid "ascending" @@ -10998,7 +10993,7 @@ msgstr "по возрастанию" #: templates/dcim/rack.html:99 msgid "Starting Unit" -msgstr "Пусковой блок" +msgstr "Начальный юнит" #: templates/dcim/rack.html:125 msgid "Mounting Depth" @@ -11018,7 +11013,7 @@ msgstr "Общий вес" #: templates/dcim/rack.html:173 templates/dcim/rack_elevation_list.html:16 msgid "Images and Labels" -msgstr "Изображения и этикетки" +msgstr "Изображения и лейблы" #: templates/dcim/rack.html:174 templates/dcim/rack_elevation_list.html:17 msgid "Images only" @@ -11026,7 +11021,7 @@ msgstr "Только изображения" #: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:18 msgid "Labels only" -msgstr "Только этикетки" +msgstr "Только лейблы" #: templates/dcim/rack/reservations.html:9 msgid "Add reservation" @@ -11042,7 +11037,7 @@ msgstr "Внешние размеры" #: templates/dcim/rack_edit.html:56 templates/dcim/rack_edit.html:71 msgid "Unit" -msgstr "Единица" +msgstr "Юнит" #: templates/dcim/rack_elevation_list.html:12 msgid "View List" @@ -11078,7 +11073,7 @@ msgstr "Добавить сайт" #: templates/dcim/region.html:56 msgid "Child Regions" -msgstr "Детские регионы" +msgstr "Дочерние регионы" #: templates/dcim/region.html:64 msgid "Add Region" @@ -11106,7 +11101,7 @@ msgstr "Физический адрес" #: templates/dcim/site.html:81 msgid "Map" -msgstr "карта" +msgstr "Карта" #: templates/dcim/site.html:92 msgid "Shipping Address" @@ -11116,7 +11111,7 @@ msgstr "Адрес доставки" #: templates/tenancy/tenantgroup.html:58 #: templates/wireless/wirelesslangroup.html:56 msgid "Child Groups" -msgstr "Детские группы" +msgstr "Дочерние группы" #: templates/dcim/sitegroup.html:64 msgid "Add Site Group" @@ -11155,7 +11150,7 @@ msgstr "Редактирование виртуального корпуса %(n #: templates/dcim/virtualchassis_edit.html:54 msgid "Rack/Unit" -msgstr "Стойка/блок" +msgstr "Стойка/Юнит" #: templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" @@ -11292,7 +11287,7 @@ msgstr "Автор" #: templates/extras/admin/plugins_list.html:25 msgid "Author Email" -msgstr "Электронная почта автора" +msgstr "Почта" #: templates/extras/admin/plugins_list.html:27 #: templates/vpn/ipsecprofile.html:47 vpn/forms/bulk_edit.py:140 @@ -11357,7 +11352,7 @@ msgstr "Видимый пользовательский интерфейс" #: templates/extras/customfield.html:86 msgid "UI Editable" -msgstr "Редактируемый пользовательский интерфейс" +msgstr "Редактируемый UI" #: templates/extras/customfield.html:108 msgid "Validation Rules" @@ -11422,15 +11417,15 @@ msgstr "Пока не добавлено ни одной закладки." #: templates/extras/dashboard/widgets/objectcounts.html:15 msgid "No permission" -msgstr "Нет разрешения" +msgstr "Нет прав" #: templates/extras/dashboard/widgets/objectlist.html:6 msgid "No permission to view this content" -msgstr "Нет разрешения на просмотр этого контента" +msgstr "Нет прав на просмотр этого контента" #: templates/extras/dashboard/widgets/objectlist.html:10 msgid "Unable to load content. Invalid view name" -msgstr "Невозможно загрузить содержимое. Неверное имя представления" +msgstr "Невозможно загрузить содержимое. Неверное имя" #: templates/extras/dashboard/widgets/rssfeed.html:12 msgid "No content found" @@ -11486,7 +11481,7 @@ msgstr "Уровень" #: templates/extras/htmx/report_result.html:46 #: templates/extras/htmx/script_result.html:27 msgid "Message" -msgstr "Послание" +msgstr "Сообщение" #: templates/extras/htmx/script_result.html:21 msgid "Script Log" @@ -11571,7 +11566,7 @@ msgstr "Разница" #: templates/extras/objectchange.html:87 msgid "Previous" -msgstr "Предыдущее" +msgstr "Предыдущий" #: templates/extras/objectchange.html:90 msgid "Next" @@ -11614,7 +11609,7 @@ msgstr "Этот отчет недействителен и не может бы #: templates/extras/report.html:23 templates/extras/report_list.html:88 msgid "Run Again" -msgstr "Беги снова" +msgstr "Повторить" #: templates/extras/report.html:25 templates/extras/report_list.html:90 msgid "Run Report" @@ -11622,7 +11617,7 @@ msgstr "Запустить отчет" #: templates/extras/report.html:36 msgid "Last run" -msgstr "Последний забег" +msgstr "Последний запуск" #: templates/extras/report/base.html:30 msgid "Report" @@ -11630,7 +11625,7 @@ msgstr "Отчет" #: templates/extras/report_list.html:48 templates/extras/script_list.html:54 msgid "Last Run" -msgstr "Последний забег" +msgstr "Последний запуск" #: templates/extras/report_list.html:70 templates/extras/script_list.html:77 msgid "Never" @@ -11659,7 +11654,7 @@ msgstr "" #: templates/extras/script.html:13 msgid "You do not have permission to run scripts" -msgstr "У вас нет разрешения на запуск сценариев" +msgstr "У вас нет разрешения на запуск скриптов" #: templates/extras/script.html:37 msgid "Run Script" @@ -11676,7 +11671,7 @@ msgstr "" #: templates/extras/script_list.html:91 msgid "No Scripts Found" -msgstr "Сценарии не найдены" +msgstr "Скрипты не найдены" #: templates/extras/script_list.html:94 #, python-format @@ -11689,11 +11684,11 @@ msgstr "" #: templates/extras/script_result.html:42 msgid "Log" -msgstr "журнал" +msgstr "Журнал" #: templates/extras/tag.html:35 msgid "Tagged Items" -msgstr "Помеченные товары" +msgstr "Элементы с тэгом" #: templates/extras/tag.html:47 msgid "Allowed Object Types" @@ -11729,7 +11724,7 @@ msgstr "Дополнительные заголовки" #: templates/extras/webhook.html:85 msgid "Body Template" -msgstr "Шаблон тела" +msgstr "Шаблон тела запроса" #: templates/generic/bulk_add_component.html:15 msgid "Bulk Creation" @@ -11826,8 +11821,8 @@ msgid "" "%(example)s would identify a VRF by its route distinguisher." msgstr "" "На связанные объекты можно ссылаться с помощью любого уникального атрибута. " -"Например, %(example)s будет идентифицировать VRF по " -"идентификатору маршрута." +"Например, %(example)s будет идентифицировать VRF по индикатору " +"маршрута." #: templates/generic/bulk_remove.html:13 msgid "Confirm Bulk Removal" @@ -12015,11 +12010,11 @@ msgstr "Теги не назначены" #: templates/inc/profile_button.html:12 templates/inc/profile_button.html:62 msgid "Dark Mode" -msgstr "Темный режим" +msgstr "Темная тема" #: templates/inc/profile_button.html:45 msgid "Log Out" -msgstr "Выйти из системы" +msgstr "Выйти" #: templates/inc/profile_button.html:53 msgid "Log In" @@ -12131,7 +12126,7 @@ msgstr "Назначение интерфейса" #: templates/ipam/ipaddress_edit.html:74 msgid "NAT IP (Inside" -msgstr "NAT IP (внутренний)" +msgstr "NAT IP (внутренний" #: templates/ipam/iprange.html:20 msgid "Starting Address" @@ -12175,7 +12170,7 @@ msgstr "Сетевая маска" #: templates/ipam/prefix.html:195 msgid "Wildcard Mask" -msgstr "Маска подстановочных знаков" +msgstr "Обратная маска" #: templates/ipam/prefix.html:199 msgid "Broadcast Address" @@ -12211,7 +12206,7 @@ msgstr "Импорт VRF" #: templates/ipam/routetarget.html:49 msgid "Exporting VRFs" -msgstr "Экспорт файлов VRF" +msgstr "Экспорт VRF" #: templates/ipam/routetarget.html:60 msgid "Importing L2VPNs" @@ -12248,11 +12243,11 @@ msgstr "Добавить VLAN" #: templates/ipam/vlangroup.html:43 msgid "Permitted VIDs" -msgstr "Разрешенные видео" +msgstr "Разрешенные VID" #: templates/ipam/vrf.html:19 msgid "Route Distinguisher" -msgstr "Дифференцировщик маршрута" +msgstr "RD" #: templates/ipam/vrf.html:32 msgid "Unique IP Space" @@ -12277,11 +12272,11 @@ msgstr "Переключить цветовой режим" #: templates/media_failure.html:7 msgid "Static Media Failure - NetBox" -msgstr "Сбой статического носителя - NetBox" +msgstr "Ошибка статичных медиа - NetBox" #: templates/media_failure.html:21 msgid "Static Media Failure" -msgstr "Сбой статического носителя" +msgstr "Ошибка статичных медиа" #: templates/media_failure.html:23 msgid "The following static media file failed to load" @@ -12297,9 +12292,9 @@ msgid "" " This installs the most recent iteration of each static file into the static" " root path." msgstr "" -"manage.py собирает статические данные был запущен во время " -"последнего обновления. При этом последняя итерация каждого статического " -"файла устанавливается в статический корневой путь." +"manage.py collectstatic была запущен во время последнего " +"обновления. При этом последняя итерация каждого статического файла " +"устанавливается в статический корневой путь." #: templates/media_failure.html:35 #, python-format @@ -12308,10 +12303,8 @@ msgid "" "the STATIC_ROOT path. Refer to the " "installation documentation for further guidance." msgstr "" -"Служба HTTP (например, nginx или Apache) настроена на обслуживание файлов из" -" СТАТИЧЕСКИЙ КОРЕНЬ путь. Обратитесь к документация по установке для получения " -"дополнительных рекомендаций." +"Служба HTTP (например, nginx или Apache) настроена на обслуживание файлов из STATIC_ROOT\n" +" путь. Обратитесь к документация по установке для получения дополнительных рекомендаций." #: templates/media_failure.html:47 #, python-format @@ -12438,7 +12431,7 @@ msgstr "Дисковое пространство" #: templates/virtualization/virtualmachine.html:147 msgctxt "Abbreviation for gigabyte" msgid "GB" -msgstr "ГИГАБАЙТ" +msgstr "ГБ" #: templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" @@ -12506,7 +12499,7 @@ msgstr "Версия IKE" #: templates/vpn/ikepolicy.html:30 msgid "Pre-Shared Key" -msgstr "Предварительный общий ключ" +msgstr "Pre-Shared ключ" #: templates/vpn/ikepolicy.html:34 #: templates/wireless/inc/authentication_attrs.html:21 @@ -12585,15 +12578,15 @@ msgstr "Атрибуты L2VPN" #: templates/vpn/l2vpn.html:65 templates/vpn/tunnel.html:81 msgid "Add a Termination" -msgstr "Добавить увольнение" +msgstr "Добавить окончание" #: templates/vpn/l2vpntermination_edit.html:9 msgid "L2VPN Termination" -msgstr "Прекращение действия L2VPN" +msgstr "L2VPN окончания" #: templates/vpn/tunnel.html:9 msgid "Add Termination" -msgstr "Добавить прекращение" +msgstr "Добавить окончание" #: templates/vpn/tunnel.html:38 vpn/forms/bulk_edit.py:48 #: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:56 @@ -12622,7 +12615,7 @@ msgstr "Туннельная группа" #: templates/vpn/tunneltermination.html:10 msgid "Tunnel Termination" -msgstr "Прекращение туннеля" +msgstr "Окончание Туннеля" #: templates/vpn/tunneltermination.html:36 vpn/forms/bulk_import.py:107 #: vpn/forms/model_forms.py:101 vpn/forms/model_forms.py:137 @@ -12632,7 +12625,7 @@ msgstr "Внешний IP-адрес" #: templates/vpn/tunneltermination.html:53 msgid "Peer Terminations" -msgstr "Прекращение контрактов со стороны коллег" +msgstr "Конечные Точки" #: templates/wireless/inc/authentication_attrs.html:13 msgid "Cipher" @@ -12640,7 +12633,7 @@ msgstr "Шифр" #: templates/wireless/inc/authentication_attrs.html:17 msgid "PSK" -msgstr "ПСК" +msgstr "PSK" #: templates/wireless/inc/wirelesslink_interface.html:35 #: templates/wireless/inc/wirelesslink_interface.html:45 @@ -12675,7 +12668,7 @@ msgstr "Свойства ссылки" #: tenancy/choices.py:19 msgid "Tertiary" -msgstr "Высшее образование" +msgstr "Третичный" #: tenancy/choices.py:20 msgid "Inactive" @@ -12743,7 +12736,7 @@ msgstr "контактные роли" #: tenancy/models/contacts.py:68 msgid "title" -msgstr "титул" +msgstr "название" #: tenancy/models/contacts.py:73 msgid "phone" @@ -12751,7 +12744,7 @@ msgstr "телефон" #: tenancy/models/contacts.py:78 msgid "email" -msgstr "письмо" +msgstr "email" #: tenancy/models/contacts.py:87 msgid "link" @@ -12896,7 +12889,7 @@ msgid "" msgstr "" "Разрешенные сети IPv4/IPv6, из которых можно использовать токен. Оставьте " "поле пустым, чтобы не было ограничений. Пример: 10.1.1.0/24, " -"192.168.10.16/32, 2001 год: дБ 8:1:/64" +"192.168.10.16/32, 2001:DB8:1::/64" #: users/forms/model_forms.py:177 msgid "Confirm password" @@ -12947,102 +12940,102 @@ msgstr "Ограничения для этого типа объектов не msgid "Invalid filter for {model}: {error}" msgstr "Неверный фильтр для {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "пользователя" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "пользователей" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "Пользователь с таким именем уже существует." -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "группа" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "групп" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "пользовательские настройки" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "Ключ '{path}'является листовым узлом; не может назначать новые ключи" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Ключ '{path}'— словарь; не может присвоить значение, отличное от словаря" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "истекает" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "последний раз использованный" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "ключ" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "запись включена" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "" "Разрешить операции создания/обновления/удаления с использованием этого ключа" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "разрешенные IP-адреса" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" msgstr "" "Разрешенные сети IPv4/IPv6, из которых можно использовать токен. Оставьте " "поле пустым, чтобы не было ограничений. Пример: «10.1.1.0/24, " -"192.168.10.16/32, 2001: БД 8:1: /64»" +"192.168.10.16/32, 2001:DB8:1::/64»" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "токен" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "токены" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "Список действий, предусмотренных этим разрешением" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "ограничения" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" "Фильтр Queryset, соответствующий применимым объектам выбранного типа (типов)" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "разрешение" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "разрешения" @@ -13065,7 +13058,7 @@ msgstr "Роза" #: utilities/choices.py:139 msgid "Fuchsia" -msgstr "фуксия" +msgstr "Фуксия" #: utilities/choices.py:141 msgid "Dark Purple" @@ -13077,7 +13070,7 @@ msgstr "Светло-синий" #: utilities/choices.py:147 msgid "Aqua" -msgstr "вода" +msgstr "Бирюзовый" #: utilities/choices.py:148 msgid "Dark Green" @@ -13093,7 +13086,7 @@ msgstr "Лайм" #: utilities/choices.py:153 msgid "Amber" -msgstr "янтарь" +msgstr "Янтарь" #: utilities/choices.py:155 msgid "Dark Orange" @@ -13101,7 +13094,7 @@ msgstr "Темно-оранжевый" #: utilities/choices.py:156 msgid "Brown" -msgstr "коричневый" +msgstr "Коричневый" #: utilities/choices.py:157 msgid "Light Grey" @@ -13312,45 +13305,54 @@ msgstr "" "Этот объект был изменен с момента визуализации формы. Подробности см. в " "журнале изменений объекта." -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "Ассортимент»{value}\"недействительно." -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" +"Неверный диапазон: конечное значение ({end}) должно быть больше начального " +"значения ({begin})." + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "Повторяющийся или конфликтующий заголовок столбца для»{field}»" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "Повторяющийся или конфликтующий заголовок столбца для»{header}»" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" "Ряд {row}: Ожидается {count_expected} столбцы, но найдены {count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "Неожиданный заголовок столбца»{field}«найдено." -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" "Столбец»{field}\"не является родственным объектом; нельзя использовать точки" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "Неверный атрибут связанного объекта для столбца»{field}«: {to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "Обязательный заголовок столбца»{header}\"не найден." @@ -13407,7 +13409,7 @@ msgstr "Закладка" #: utilities/templates/buttons/clone.html:4 msgid "Clone" -msgstr "Клон" +msgstr "Клонировать" #: utilities/templates/buttons/export.html:4 msgid "Export" @@ -13467,7 +13469,7 @@ msgstr "Ничего не назначено" #: utilities/templates/widgets/markdown_input.html:6 msgid "Write" -msgstr "Напишите" +msgstr "Текст" #: utilities/templates/widgets/markdown_input.html:20 msgid "Testing" @@ -13768,19 +13770,19 @@ msgstr "IP-адрес в IP-адресе" #: vpn/choices.py:34 msgid "GRE" -msgstr "СЕРЫЙ" +msgstr "GRE" #: vpn/choices.py:56 msgid "Hub" -msgstr "хаб" +msgstr "Hub" #: vpn/choices.py:57 msgid "Spoke" -msgstr "Говорил" +msgstr "Spoke" #: vpn/choices.py:80 msgid "Aggressive" -msgstr "агрессивный" +msgstr "Агрессивный" #: vpn/choices.py:81 msgid "Main" @@ -13788,7 +13790,7 @@ msgstr "Главная" #: vpn/choices.py:92 msgid "Pre-shared keys" -msgstr "Предварительно общие ключи" +msgstr "PSK" #: vpn/choices.py:93 msgid "Certificates" @@ -13891,7 +13893,7 @@ msgstr "Группа туннелей" #: vpn/forms/bulk_edit.py:116 vpn/models/crypto.py:47 msgid "SA lifetime" -msgstr "На всю жизнь" +msgstr "Время жизни SA" #: vpn/forms/bulk_edit.py:150 wireless/forms/bulk_edit.py:78 #: wireless/forms/bulk_edit.py:125 wireless/forms/filtersets.py:63 @@ -13966,7 +13968,7 @@ msgstr "Назначенный интерфейс (устройство или #: vpn/forms/bulk_import.py:334 msgid "Cannot import device and VM interface terminations simultaneously." msgstr "" -"Невозможно одновременно импортировать терминалы интерфейса устройства и " +"Невозможно одновременно сетевые окончания интерфейса устройства и " "виртуальной машины." #: vpn/forms/bulk_import.py:336 @@ -13990,17 +13992,22 @@ msgstr "Предложение" msgid "Assigned Object Type" msgstr "Назначенный тип объекта" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "Туннельный интерфейс" + #: vpn/forms/model_forms.py:147 msgid "First Termination" -msgstr "Первое увольнение" +msgstr "Первая точка" #: vpn/forms/model_forms.py:151 msgid "Second Termination" -msgstr "Второе расторжение" +msgstr "Вторая точка" #: vpn/forms/model_forms.py:198 msgid "This parameter is required when defining a termination." -msgstr "Этот параметр необходим при определении прекращения." +msgstr "Этот параметр необходим при определении точки." #: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" @@ -14102,11 +14109,11 @@ msgstr "Профили IPsec" #: vpn/models/l2vpn.py:116 msgid "L2VPN termination" -msgstr "Завершение работы L2VPN" +msgstr "L2VPN соединение" #: vpn/models/l2vpn.py:117 msgid "L2VPN terminations" -msgstr "Прекращения работы L2VPN" +msgstr "L2VPN соединения" #: vpn/models/l2vpn.py:135 #, python-brace-format @@ -14140,7 +14147,7 @@ msgstr "идентификатор туннеля" #: vpn/models/tunnels.py:94 msgid "tunnel" -msgstr "тоннель" +msgstr "туннель" #: vpn/models/tunnels.py:95 msgid "tunnels" @@ -14156,7 +14163,7 @@ msgstr "завершение туннеля" #: vpn/models/tunnels.py:157 msgid "tunnel terminations" -msgstr "терминалы туннелей" +msgstr "точки подключения туннеля" #: vpn/models/tunnels.py:174 #, python-brace-format @@ -14197,11 +14204,11 @@ msgstr "Родитель объекта" #: vpn/tables/l2vpn.py:74 msgid "Object Site" -msgstr "Объектный сайт" +msgstr "Сайт объекта" #: vpn/tables/tunnels.py:88 msgid "Host" -msgstr "Хозяин" +msgstr "Хост" #: wireless/choices.py:11 msgid "Access point" @@ -14209,7 +14216,7 @@ msgstr "Точка доступа" #: wireless/choices.py:12 msgid "Station" -msgstr "станция" +msgstr "Станция" #: wireless/choices.py:467 msgid "Open" @@ -14264,19 +14271,19 @@ msgstr "беспроводная локальная сеть" #: wireless/models.py:143 msgid "interface A" -msgstr "интерфейс A" +msgstr "Интерфейс A" #: wireless/models.py:150 msgid "interface B" -msgstr "интерфейс B" +msgstr "Интерфейс B" #: wireless/models.py:198 msgid "wireless link" -msgstr "беспроводная связь" +msgstr "беспроводное соединение" #: wireless/models.py:199 msgid "wireless links" -msgstr "беспроводные ссылки" +msgstr "беспроводные соединения" #: wireless/models.py:216 wireless/models.py:222 #, python-brace-format diff --git a/netbox/translations/tr/LC_MESSAGES/django.mo b/netbox/translations/tr/LC_MESSAGES/django.mo index f6d54ea9a..7e2a0e4b9 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 ce0eeec33..f5dcbcac7 100644 --- a/netbox/translations/tr/LC_MESSAGES/django.po +++ b/netbox/translations/tr/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-21 19:48+0000\n" +"POT-Creation-Date: 2024-04-04 19:11+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n" @@ -64,8 +64,8 @@ msgid "Your preferences have been updated." msgstr "Tercihleriniz güncellendi." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 -#: dcim/choices.py:1495 dcim/choices.py:1545 virtualization/choices.py:20 +#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1425 +#: dcim/choices.py:1501 dcim/choices.py:1551 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planlanan" @@ -75,8 +75,8 @@ msgid "Provisioning" msgstr "Tedarik" #: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 -#: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 +#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 +#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 #: templates/extras/configcontext.html:26 templates/users/user.html:38 #: users/forms/bulk_edit.py:36 virtualization/choices.py:22 @@ -85,7 +85,7 @@ msgid "Active" msgstr "Aktif" #: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1493 dcim/choices.py:1546 virtualization/choices.py:24 +#: dcim/choices.py:1499 dcim/choices.py:1552 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Çevrim dışı" @@ -98,7 +98,7 @@ msgstr "Hazırlıktan Kaldırma" msgid "Decommissioned" msgstr "Hizmet dışı bırakıldı" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:124 +#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 #: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 #: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 #: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 @@ -107,7 +107,7 @@ msgstr "Hizmet dışı bırakıldı" msgid "Region (ID)" msgstr "Bölge (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:130 +#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 #: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 #: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 #: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 @@ -117,7 +117,7 @@ msgstr "Bölge (ID)" msgid "Region (slug)" msgstr "Bölge (kısa ad)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:198 +#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 #: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 #: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 #: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 @@ -125,7 +125,7 @@ msgstr "Bölge (kısa ad)" msgid "Site group (ID)" msgstr "Site grubu (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:205 +#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 #: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 #: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 #: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 @@ -135,7 +135,7 @@ msgid "Site group (slug)" msgstr "Site grubu (kısa ad)" #: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 #: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 #: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 #: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 @@ -158,8 +158,8 @@ msgstr "Site grubu (kısa ad)" #: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 #: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 #: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:548 -#: ipam/forms/model_forms.py:640 ipam/tables/ip.py:244 +#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 +#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 #: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 #: templates/circuits/circuittermination_edit.html:20 #: templates/circuits/inc/circuit_termination.html:33 @@ -181,13 +181,13 @@ msgstr "Site grubu (kısa ad)" #: virtualization/forms/model_forms.py:107 #: virtualization/forms/model_forms.py:174 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:53 vpn/forms/filtersets.py:262 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 #: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 msgid "Site" msgstr "Site" -#: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: circuits/filtersets.py:60 circuits/filtersets.py:221 +#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 #: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 @@ -199,33 +199,39 @@ msgstr "Site (kısa ad)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:87 circuits/filtersets.py:114 -#: circuits/filtersets.py:148 -msgid "Provider (ID)" -msgstr "Sağlayıcı (ID)" +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 +#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 #: circuits/filtersets.py:154 +msgid "Provider (ID)" +msgstr "Sağlayıcı (ID)" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 msgid "Provider (slug)" msgstr "Sağlayıcı (kısa ad)" -#: circuits/filtersets.py:159 +#: circuits/filtersets.py:165 msgid "Provider account (ID)" msgstr "Sağlayıcı hesabı (ID)" -#: circuits/filtersets.py:164 +#: circuits/filtersets.py:170 msgid "Provider network (ID)" msgstr "Sağlayıcı ağı (ID)" -#: circuits/filtersets.py:168 +#: circuits/filtersets.py:174 msgid "Circuit type (ID)" msgstr "Devre tipi (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (slug)" msgstr "Devre tipi (kısa ad)" -#: circuits/filtersets.py:209 circuits/filtersets.py:246 +#: circuits/filtersets.py:215 circuits/filtersets.py:252 #: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 #: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 #: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 @@ -235,13 +241,13 @@ msgstr "Devre tipi (kısa ad)" msgid "Site (ID)" msgstr "Site (ID)" -#: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 +#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 #: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 #: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 #: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 #: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 #: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:430 +#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 #: netbox/filtersets.py:275 netbox/forms/__init__.py:23 #: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 #: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 @@ -251,7 +257,7 @@ msgstr "Site (ID)" msgid "Search" msgstr "Arama" -#: circuits/filtersets.py:242 circuits/forms/bulk_edit.py:167 +#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 #: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 #: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 @@ -259,11 +265,11 @@ msgstr "Arama" msgid "Circuit" msgstr "Devre" -#: circuits/filtersets.py:256 +#: circuits/filtersets.py:262 msgid "ProviderNetwork (ID)" msgstr "Sağlayıcı Ağı (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:56 +#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 #: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 #: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 #: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 @@ -374,8 +380,8 @@ msgstr "Açıklama" #: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 #: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 +#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 #: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 #: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 #: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 @@ -387,18 +393,18 @@ msgstr "Açıklama" msgid "Provider" msgstr "Sağlayıcı" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 +#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 #: templates/circuits/providernetwork.html:31 msgid "Service ID" msgstr "Servis ID" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 +#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 #: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 #: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 #: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 #: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 -#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 #: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 #: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 @@ -410,7 +416,7 @@ msgid "Color" msgstr "Renk" #: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:17 +#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 #: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 #: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 #: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 @@ -429,7 +435,7 @@ msgstr "Renk" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 #: extras/tables/tables.py:278 extras/tables/tables.py:350 #: extras/tables/tables.py:448 netbox/tables/tables.py:234 @@ -454,12 +460,12 @@ msgid "Type" msgstr "Tür" #: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:97 +#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 msgid "Provider account" msgstr "Sağlayıcı hesabı" #: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:34 +#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 #: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 #: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 #: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 @@ -473,8 +479,8 @@ msgstr "Sağlayıcı hesabı" #: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 #: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 #: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:841 -#: dcim/tables/devices.py:1069 dcim/tables/modules.py:69 +#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 +#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 #: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 #: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 #: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 @@ -482,7 +488,7 @@ msgstr "Sağlayıcı hesabı" #: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 #: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 #: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:449 +#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 #: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 #: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 #: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 @@ -503,7 +509,7 @@ msgstr "Sağlayıcı hesabı" #: virtualization/forms/bulk_import.py:80 #: virtualization/forms/filtersets.py:61 #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 #: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 #: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 @@ -514,7 +520,7 @@ msgid "Status" msgstr "Durum" #: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:119 dcim/forms/bulk_edit.py:120 +#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 #: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 @@ -572,15 +578,15 @@ msgstr "Durum" msgid "Tenant" msgstr "Kiracı" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 msgid "Install date" msgstr "Yükleme tarihi" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 msgid "Termination date" msgstr "Fesih tarihi" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 msgid "Commit rate (Kbps)" msgstr "Taahhüt oranı (Kbps)" @@ -613,7 +619,7 @@ msgstr "Atanan sağlayıcı" #: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 msgid "RGB color in hexadecimal. Example:" msgstr "Onaltılık değerde RGB rengi. Örnek:" @@ -649,12 +655,12 @@ msgstr "Operasyonel durum" msgid "Assigned tenant" msgstr "Atanan kiracı" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:147 +#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 #: circuits/forms/model_forms.py:143 msgid "Provider network" msgstr "Sağlayıcı ağı" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 #: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 #: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 #: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 @@ -678,7 +684,7 @@ msgstr "Sağlayıcı ağı" #: extras/filtersets.py:441 extras/forms/filtersets.py:328 #: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 #: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:560 +#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 #: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 #: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 @@ -688,13 +694,7 @@ msgstr "Sağlayıcı ağı" msgid "Location" msgstr "Konum" -#: circuits/forms/filtersets.py:27 ipam/forms/model_forms.py:158 -#: ipam/models/asns.py:108 ipam/models/asns.py:125 ipam/tables/asn.py:41 -#: templates/ipam/asn.html:20 -msgid "ASN" -msgstr "ASN" - -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:120 +#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 #: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 #: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 #: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 @@ -707,7 +707,7 @@ msgstr "ASN" msgid "Contacts" msgstr "İletişim" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:157 +#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 #: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 #: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 #: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 @@ -722,7 +722,7 @@ msgstr "İletişim" #: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 #: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 #: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:532 templates/dcim/device.html:18 +#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 #: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 #: templates/dcim/region.html:26 templates/dcim/site.html:31 #: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 @@ -732,7 +732,7 @@ msgstr "İletişim" msgid "Region" msgstr "Bölge" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:162 +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 #: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 #: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 #: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 @@ -742,19 +742,15 @@ msgstr "Bölge" #: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 #: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 #: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:545 +#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 #: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 #: virtualization/forms/filtersets.py:134 #: virtualization/forms/model_forms.py:101 msgid "Site group" msgstr "Site grubu" -#: circuits/forms/filtersets.py:51 -msgid "ASN (legacy)" -msgstr "ASN (eski)" - -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 +#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 #: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 #: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 #: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 @@ -780,7 +776,7 @@ msgstr "ASN (eski)" msgid "Attributes" msgstr "Öznitellikler" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:60 +#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 #: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 #: templates/circuits/provideraccount.html:25 msgid "Account" @@ -801,7 +797,7 @@ msgstr "Devre Tipi" #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:467 +#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 #: dcim/models/racks.py:43 extras/models/tags.py:28 msgid "color" msgstr "renk" @@ -823,8 +819,8 @@ msgid "Unique circuit ID" msgstr "Benzersiz devre ID" #: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 -#: dcim/models/devices.py:1165 dcim/models/devices.py:1374 +#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 +#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 @@ -903,7 +899,7 @@ msgstr "Yama paneli kimliği ve bağlantı noktası numaraları" #: extras/models/models.py:541 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:273 users/models.py:348 +#: users/models.py:274 users/models.py:353 #: virtualization/models/virtualmachines.py:282 msgid "description" msgstr "açıklama" @@ -930,8 +926,8 @@ msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." #: circuits/models/providers.py:22 circuits/models/providers.py:66 #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:581 -#: dcim/models/devices.py:1305 dcim/models/devices.py:1370 +#: dcim/models/device_components.py:54 dcim/models/devices.py:583 +#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 #: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 #: dcim/models/sites.py:138 extras/models/configs.py:36 #: extras/models/configs.py:215 extras/models/customfields.py:89 @@ -944,7 +940,7 @@ msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." #: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:344 virtualization/models/clusters.py:57 +#: users/models.py:349 virtualization/models/clusters.py:57 #: virtualization/models/virtualmachines.py:70 #: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 @@ -1002,13 +998,13 @@ msgstr "sağlayıcı ağları" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 -#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 -#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 -#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 -#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 -#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 -#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 +#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 +#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 +#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 +#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 +#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 #: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 #: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 #: dcim/tables/sites.py:78 dcim/tables/sites.py:125 @@ -1074,9 +1070,9 @@ msgstr "sağlayıcı ağları" #: virtualization/forms/object_create.py:23 #: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 #: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:45 -#: virtualization/tables/virtualmachines.py:119 -#: virtualization/tables/virtualmachines.py:172 vpn/tables/crypto.py:18 +#: virtualization/tables/virtualmachines.py:54 +#: virtualization/tables/virtualmachines.py:132 +#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 #: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 #: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 #: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 @@ -1111,7 +1107,7 @@ msgstr "Taahhüt Oranı" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1042 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 #: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 @@ -1123,7 +1119,7 @@ msgstr "Taahhüt Oranı" #: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 #: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 #: virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:68 vpn/tables/crypto.py:37 +#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 @@ -1160,7 +1156,7 @@ msgid "Completed" msgstr "Tamamlandı" #: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 +#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" msgstr "Başarısız" @@ -1242,7 +1238,7 @@ msgstr "Veri kaynağı (isim)" #: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 #: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 #: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 #: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 #: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 #: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 @@ -1379,7 +1375,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Raf Yükseltmeleri" -#: core/forms/model_forms.py:148 dcim/choices.py:1407 +#: core/forms/model_forms.py:148 dcim/choices.py:1413 #: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 #: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 #: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 @@ -1440,7 +1436,7 @@ msgstr " (varsayılan)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:248 +#: netbox/models/features.py:52 users/models.py:249 msgid "created" msgstr "oluşturulan" @@ -1498,7 +1494,7 @@ msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 +#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 msgid "enabled" msgstr "etkin" @@ -1714,7 +1710,7 @@ msgid "Staging" msgstr "Sahneleme" #: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1420 virtualization/choices.py:23 +#: dcim/choices.py:1426 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Hizmetten çıkarma" @@ -1774,7 +1770,7 @@ msgstr "Kullanımdan kaldırıldı" msgid "Millimeters" msgstr "Milimetre" -#: dcim/choices.py:115 dcim/choices.py:1442 +#: dcim/choices.py:115 dcim/choices.py:1448 msgid "Inches" msgstr "İnç" @@ -1786,8 +1782,8 @@ msgstr "İnç" #: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 #: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 #: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 -#: dcim/tables/devices.py:960 extras/tables/tables.py:181 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 +#: dcim/tables/devices.py:964 extras/tables/tables.py:181 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 #: templates/dcim/interface.html:105 templates/dcim/interface.html:321 #: templates/dcim/location.html:44 templates/dcim/region.html:38 @@ -1800,7 +1796,7 @@ msgstr "İnç" #: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 #: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:142 wireless/forms/bulk_edit.py:23 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 #: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 msgid "Parent" msgstr "Ebeveyn" @@ -1849,7 +1845,7 @@ msgstr "Sağdan sola" msgid "Side to rear" msgstr "Yandan arkaya" -#: dcim/choices.py:198 dcim/choices.py:1215 +#: dcim/choices.py:198 dcim/choices.py:1221 msgid "Passive" msgstr "Pasif" @@ -1877,8 +1873,8 @@ msgstr "Uluslararası/ITA" msgid "Proprietary" msgstr "Tescilli" -#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1131 -#: dcim/choices.py:1133 dcim/choices.py:1338 dcim/choices.py:1340 +#: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 +#: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 #: netbox/navigation/menu.py:188 msgid "Other" msgstr "Diğer" @@ -1891,177 +1887,177 @@ msgstr "ITA/Uluslararası" msgid "Physical" msgstr "Fiziksel" -#: dcim/choices.py:795 dcim/choices.py:949 +#: dcim/choices.py:795 dcim/choices.py:952 msgid "Virtual" msgstr "Sanal" -#: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 #: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 #: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Kablosuz" -#: dcim/choices.py:947 +#: dcim/choices.py:950 msgid "Virtual interfaces" msgstr "Sanal arayüzler" -#: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 #: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 +#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:146 +#: virtualization/tables/virtualmachines.py:159 msgid "Bridge" msgstr "Köprü" -#: dcim/choices.py:951 +#: dcim/choices.py:954 msgid "Link Aggregation Group (LAG)" msgstr "Bağlantı Toplama Grubu (LAG)" -#: dcim/choices.py:955 +#: dcim/choices.py:958 msgid "Ethernet (fixed)" msgstr "Ethernet (sabit)" -#: dcim/choices.py:969 +#: dcim/choices.py:972 msgid "Ethernet (modular)" msgstr "Ethernet (modüler)" -#: dcim/choices.py:1005 +#: dcim/choices.py:1008 msgid "Ethernet (backplane)" msgstr "Ethernet (arka panel)" -#: dcim/choices.py:1033 +#: dcim/choices.py:1036 msgid "Cellular" msgstr "Hücresel" -#: dcim/choices.py:1080 dcim/forms/filtersets.py:302 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 #: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 #: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 #: templates/dcim/virtualchassis_edit.html:55 msgid "Serial" msgstr "Seri" -#: dcim/choices.py:1095 +#: dcim/choices.py:1101 msgid "Coaxial" msgstr "Koaksiyel" -#: dcim/choices.py:1112 +#: dcim/choices.py:1118 msgid "Stacking" msgstr "İstifleme" -#: dcim/choices.py:1162 +#: dcim/choices.py:1168 msgid "Half" msgstr "Yarım" -#: dcim/choices.py:1163 +#: dcim/choices.py:1169 msgid "Full" msgstr "Dolu" -#: dcim/choices.py:1164 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 msgid "Auto" msgstr "Oto" -#: dcim/choices.py:1175 +#: dcim/choices.py:1181 msgid "Access" msgstr "Erişim" -#: dcim/choices.py:1176 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 +#: dcim/choices.py:1182 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Etiketlenmiş" -#: dcim/choices.py:1177 +#: dcim/choices.py:1183 msgid "Tagged (All)" msgstr "Etiketlenmiş (Tümü)" -#: dcim/choices.py:1206 +#: dcim/choices.py:1212 msgid "IEEE Standard" msgstr "IEEE Standardı" -#: dcim/choices.py:1217 +#: dcim/choices.py:1223 msgid "Passive 24V (2-pair)" msgstr "Pasif 24V (2 çift)" -#: dcim/choices.py:1218 +#: dcim/choices.py:1224 msgid "Passive 24V (4-pair)" msgstr "Pasif 24V (4 çift)" -#: dcim/choices.py:1219 +#: dcim/choices.py:1225 msgid "Passive 48V (2-pair)" msgstr "Pasif 48V (2 çift)" -#: dcim/choices.py:1220 +#: dcim/choices.py:1226 msgid "Passive 48V (4-pair)" msgstr "Pasif 48V (4 çift)" -#: dcim/choices.py:1282 dcim/choices.py:1378 +#: dcim/choices.py:1288 dcim/choices.py:1384 msgid "Copper" msgstr "Bakır" -#: dcim/choices.py:1305 +#: dcim/choices.py:1311 msgid "Fiber Optic" msgstr "Fiber Optik" -#: dcim/choices.py:1394 +#: dcim/choices.py:1400 msgid "Fiber" msgstr "Elyaf" -#: dcim/choices.py:1418 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 msgid "Connected" msgstr "Bağlı" -#: dcim/choices.py:1437 +#: dcim/choices.py:1443 msgid "Kilometers" msgstr "Kilometre" -#: dcim/choices.py:1438 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 msgid "Meters" msgstr "Sayaçlar" -#: dcim/choices.py:1439 +#: dcim/choices.py:1445 msgid "Centimeters" msgstr "Santimetre" -#: dcim/choices.py:1440 +#: dcim/choices.py:1446 msgid "Miles" msgstr "Mil" -#: dcim/choices.py:1441 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 msgid "Feet" msgstr "Ayaklar" -#: dcim/choices.py:1457 templates/dcim/device.html:332 +#: dcim/choices.py:1463 templates/dcim/device.html:332 #: templates/dcim/rack.html:157 msgid "Kilograms" msgstr "Kilogram" -#: dcim/choices.py:1458 +#: dcim/choices.py:1464 msgid "Grams" msgstr "Gramlar" -#: dcim/choices.py:1459 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:158 msgid "Pounds" msgstr "Pound'lar" -#: dcim/choices.py:1460 +#: dcim/choices.py:1466 msgid "Ounces" msgstr "ons" -#: dcim/choices.py:1506 tenancy/choices.py:17 +#: dcim/choices.py:1512 tenancy/choices.py:17 msgid "Primary" msgstr "Birincil" -#: dcim/choices.py:1507 +#: dcim/choices.py:1513 msgid "Redundant" msgstr "Yedekli" -#: dcim/choices.py:1528 +#: dcim/choices.py:1534 msgid "Single phase" msgstr "Tek fazlı" -#: dcim/choices.py:1529 +#: dcim/choices.py:1535 msgid "Three-phase" msgstr "Üç fazlı" @@ -2338,7 +2334,7 @@ msgid "Virtual Chassis (ID)" msgstr "Sanal Kasa (ID)" #: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 +#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 @@ -2362,7 +2358,7 @@ msgstr "Atanmış VID" #: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 #: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2370,8 +2366,8 @@ msgstr "Atanmış VID" #: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 #: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 #: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:412 -#: ipam/forms/model_forms.py:426 ipam/forms/model_forms.py:440 +#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 +#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 @@ -2384,7 +2380,7 @@ msgstr "Atanmış VID" #: virtualization/forms/filtersets.py:220 #: virtualization/forms/model_forms.py:347 #: virtualization/models/virtualmachines.py:348 -#: virtualization/tables/virtualmachines.py:123 +#: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" @@ -2398,7 +2394,7 @@ msgid "L2VPN (ID)" msgstr "L2VPN (KİMLİĞİ)" #: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:590 ipam/filtersets.py:973 +#: dcim/tables/devices.py:594 ipam/filtersets.py:973 #: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 #: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 #: templates/vpn/l2vpntermination.html:15 @@ -2469,7 +2465,7 @@ msgstr "Etiketler" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 #: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 #: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 #: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 #: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 #: templates/dcim/virtualchassis.html:59 @@ -2488,7 +2484,7 @@ msgstr "" #: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 #: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 #: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:509 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 #: templates/dcim/interface.html:294 templates/dcim/site.html:37 #: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 @@ -2538,8 +2534,8 @@ msgstr "Saat dilimi" #: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 #: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 #: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 +#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 #: dcim/tables/racks.py:69 extras/filtersets.py:457 #: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 #: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 @@ -2548,7 +2544,7 @@ msgstr "Saat dilimi" #: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 #: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 #: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:647 +#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 #: templates/dcim/device.html:187 @@ -2566,7 +2562,7 @@ msgstr "Saat dilimi" #: virtualization/forms/bulk_import.py:106 #: virtualization/forms/filtersets.py:153 #: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 #: vpn/tables/tunnels.py:82 @@ -2660,7 +2656,7 @@ msgstr "Ağırlık birimi" #: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 #: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 #: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:30 +#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 #: templates/dcim/inc/cable_termination.html:16 #: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 #: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 @@ -2693,7 +2689,7 @@ msgstr "Donanım" #: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 #: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 #: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 #: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 @@ -2740,7 +2736,7 @@ msgstr "Aygıt Türü" msgid "Module Type" msgstr "Modül Türü" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:472 +#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 msgid "VM role" msgstr "VM rolü" @@ -2772,13 +2768,15 @@ msgstr "Aygıt rolü" #: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 #: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 -#: templates/dcim/device.html:191 templates/dcim/platform.html:27 +#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 +#: extras/filtersets.py:468 templates/dcim/device.html:191 +#: templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 #: virtualization/forms/bulk_import.py:122 #: virtualization/forms/filtersets.py:164 #: virtualization/forms/model_forms.py:206 +#: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Platform" @@ -2802,16 +2800,16 @@ msgstr "Platform" #: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 #: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 -#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 -#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 -#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 -#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 -#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 +#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 +#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 +#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 +#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 +#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 #: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 #: templates/dcim/device.html:14 templates/dcim/device.html:128 #: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 @@ -2833,7 +2831,7 @@ msgstr "Platform" #: virtualization/forms/bulk_import.py:99 #: virtualization/forms/filtersets.py:124 #: virtualization/forms/model_forms.py:188 -#: virtualization/tables/virtualmachines.py:61 vpn/choices.py:44 +#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 #: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 #: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 @@ -2973,7 +2971,7 @@ msgid "Wireless role" msgstr "Kablosuz rolü" #: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 #: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 #: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 #: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 @@ -2982,7 +2980,7 @@ msgstr "Kablosuz rolü" msgid "Module" msgstr "Modül" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "GECİKME" @@ -2994,7 +2992,7 @@ msgstr "Sanal cihaz bağlamları" #: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 #: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:626 +#: dcim/tables/devices.py:630 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" @@ -3019,13 +3017,13 @@ msgid "VLAN group" msgstr "VLAN grubu" #: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 +#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "Etiketsiz VLAN" #: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 +#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "Etiketli VLAN'lar" @@ -3035,7 +3033,7 @@ msgid "Wireless LAN group" msgstr "Kablosuz LAN grubu" #: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 +#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Kablosuz LAN'lar" @@ -3206,9 +3204,9 @@ msgid "Virtual chassis" msgstr "Sanal şasi" #: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:231 extras/filtersets.py:501 +#: dcim/tables/devices.py:235 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 +#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 #: templates/virtualization/cluster.html:11 #: templates/virtualization/virtualmachine.html:92 #: templates/virtualization/virtualmachine.html:102 @@ -3220,7 +3218,7 @@ msgstr "Sanal şasi" #: virtualization/forms/filtersets.py:196 #: virtualization/forms/model_forms.py:82 #: virtualization/forms/model_forms.py:179 -#: virtualization/tables/virtualmachines.py:57 +#: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Küme" @@ -3401,7 +3399,7 @@ msgstr "İlgili arka bağlantı noktası" msgid "Physical medium classification" msgstr "Fiziksel ortam sınıflandırması" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 msgid "Installed device" msgstr "Yüklü cihaz" @@ -3489,7 +3487,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} yan sonlandırma bulunamadı: {device} {name}" #: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 +#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Usta" @@ -3615,7 +3613,7 @@ msgstr "işgal" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 #: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 #: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 #: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 @@ -3629,7 +3627,7 @@ msgid "Virtual Device Context" msgstr "Sanal Aygıt Bağlamı" #: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:239 extras/forms/filtersets.py:479 +#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 #: extras/forms/model_forms.py:557 extras/tables/tables.py:487 #: templates/extras/journalentry.html:33 msgid "Kind" @@ -3661,7 +3659,7 @@ msgid "Transmit power (dBm)" msgstr "İletim gücü (dBm)" #: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:344 templates/dcim/cable.html:12 +#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 #: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 #: templates/dcim/frontport.html:84 #: templates/dcim/inc/connection_endpoints.html:4 @@ -3669,7 +3667,7 @@ msgstr "İletim gücü (dBm)" msgid "Cable" msgstr "Kablo" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 msgid "Discovered" msgstr "Keşfedildi" @@ -3716,7 +3714,7 @@ msgstr "Şasi" msgid "Device Role" msgstr "Aygıt Rolü" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "Cihazın kullandığı en düşük numaralı birim" @@ -3767,9 +3765,7 @@ msgstr "LAG arayüzü" #: templates/wireless/wirelesslink.html:10 #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 -#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Arayüz" @@ -3846,7 +3842,7 @@ msgstr "" "bekleniyor." #: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:281 +#: dcim/tables/devices.py:285 msgid "Rear ports" msgstr "Arka bağlantı noktaları" @@ -3883,7 +3879,7 @@ msgstr "" "Oluşturulacak ön bağlantı noktalarının sayısı ({frontport_count}) seçilen " "arka port konumu sayısıyla eşleşmelidir ({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -4592,13 +4588,13 @@ msgstr "envanter kalemi rolü" msgid "inventory item roles" msgstr "envanter kalemi rolleri" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:595 -#: dcim/models/devices.py:1173 dcim/models/racks.py:113 +#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 +#: dcim/models/devices.py:1178 dcim/models/racks.py:113 msgid "serial number" msgstr "seri numarası" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:603 -#: dcim/models/devices.py:1180 dcim/models/racks.py:120 +#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 +#: dcim/models/devices.py:1185 dcim/models/racks.py:120 msgid "asset tag" msgstr "varlık etiketi" @@ -4646,7 +4642,7 @@ msgstr "üretici firma" msgid "manufacturers" msgstr "üreticiler" -#: dcim/models/devices.py:82 dcim/models/devices.py:381 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 msgid "model" msgstr "model" @@ -4654,11 +4650,11 @@ msgstr "model" msgid "default platform" msgstr "varsayılan platform" -#: dcim/models/devices.py:98 dcim/models/devices.py:385 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "parça numarası" -#: dcim/models/devices.py:101 dcim/models/devices.py:388 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "Ayrık parça numarası (isteğe bağlı)" @@ -4694,7 +4690,7 @@ msgstr "" "Ana cihazlar, alt aygıtları cihaz yuvalarında barındırır. Bu cihaz türü " "ebeveyn veya çocuk değilse boş bırakın." -#: dcim/models/devices.py:128 dcim/models/devices.py:647 +#: dcim/models/devices.py:128 dcim/models/devices.py:649 msgid "airflow" msgstr "hava akımı" @@ -4706,11 +4702,11 @@ msgstr "cihaz tipi" msgid "device types" msgstr "cihaz türleri" -#: dcim/models/devices.py:289 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "U yüksekliği 0,5 raf ünitesi artışlarla olmalıdır." -#: dcim/models/devices.py:306 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" @@ -4719,7 +4715,7 @@ msgstr "" "Aygıt {device} rafta {rack} bir yüksekliği barındırmak için yeterli alana " "sahip değildir {height}U" -#: dcim/models/devices.py:321 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " @@ -4729,7 +4725,7 @@ msgstr "" "href=\"{url}\">{racked_instance_count} örnekler zaten raflara monte " "edilmiştir." -#: dcim/models/devices.py:330 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." @@ -4737,164 +4733,164 @@ msgstr "" "Ana aygıt olarak sınıflandırmadan önce bu aygıtla ilişkili tüm aygıt yuvası " "şablonlarını silmeniz gerekir." -#: dcim/models/devices.py:336 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "Çocuk cihaz türleri 0U olmalıdır." -#: dcim/models/devices.py:404 +#: dcim/models/devices.py:405 msgid "module type" msgstr "modül tipi" -#: dcim/models/devices.py:405 +#: dcim/models/devices.py:406 msgid "module types" msgstr "modül türleri" -#: dcim/models/devices.py:473 +#: dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" msgstr "Sanal makineler bu role atanabilir" -#: dcim/models/devices.py:485 +#: dcim/models/devices.py:487 msgid "device role" msgstr "cihaz rolü" -#: dcim/models/devices.py:486 +#: dcim/models/devices.py:488 msgid "device roles" msgstr "cihaz rolleri" -#: dcim/models/devices.py:503 +#: dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" "İsteğe bağlı olarak bu platformu belirli bir üreticinin cihazlarıyla " "sınırlayın" -#: dcim/models/devices.py:515 +#: dcim/models/devices.py:517 msgid "platform" msgstr "platform" -#: dcim/models/devices.py:516 +#: dcim/models/devices.py:518 msgid "platforms" msgstr "platformlar" -#: dcim/models/devices.py:564 +#: dcim/models/devices.py:566 msgid "The function this device serves" msgstr "Bu cihazın hizmet ettiği işlev" -#: dcim/models/devices.py:596 +#: dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" msgstr "Üretici tarafından atanan şasi seri numarası" -#: dcim/models/devices.py:604 dcim/models/devices.py:1181 +#: dcim/models/devices.py:606 dcim/models/devices.py:1186 msgid "A unique tag used to identify this device" msgstr "Bu cihazı tanımlamak için kullanılan benzersiz bir etiket" -#: dcim/models/devices.py:631 +#: dcim/models/devices.py:633 msgid "position (U)" msgstr "pozisyon (U)" -#: dcim/models/devices.py:638 +#: dcim/models/devices.py:640 msgid "rack face" msgstr "raf yüzü" -#: dcim/models/devices.py:658 dcim/models/devices.py:1390 +#: dcim/models/devices.py:660 dcim/models/devices.py:1395 #: virtualization/models/virtualmachines.py:98 msgid "primary IPv4" msgstr "birincil IPv4" -#: dcim/models/devices.py:666 dcim/models/devices.py:1398 +#: dcim/models/devices.py:668 dcim/models/devices.py:1403 #: virtualization/models/virtualmachines.py:106 msgid "primary IPv6" msgstr "birincil IPv6" -#: dcim/models/devices.py:674 +#: dcim/models/devices.py:676 msgid "out-of-band IP" msgstr "bant dışı IP" -#: dcim/models/devices.py:691 +#: dcim/models/devices.py:693 msgid "VC position" msgstr "VC pozisyonu" -#: dcim/models/devices.py:695 +#: dcim/models/devices.py:697 msgid "Virtual chassis position" msgstr "Sanal şasi konumu" -#: dcim/models/devices.py:698 +#: dcim/models/devices.py:700 msgid "VC priority" msgstr "VC önceliği" -#: dcim/models/devices.py:702 +#: dcim/models/devices.py:704 msgid "Virtual chassis master election priority" msgstr "Sanal şasi ana seçim önceliği" -#: dcim/models/devices.py:705 dcim/models/sites.py:207 +#: dcim/models/devices.py:707 dcim/models/sites.py:207 msgid "latitude" msgstr "enlem" -#: dcim/models/devices.py:710 dcim/models/devices.py:718 +#: dcim/models/devices.py:712 dcim/models/devices.py:720 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Ondalık formatta GPS koordinatı (xx.yyyyyy)" -#: dcim/models/devices.py:713 dcim/models/sites.py:215 +#: dcim/models/devices.py:715 dcim/models/sites.py:215 msgid "longitude" msgstr "boylam" -#: dcim/models/devices.py:786 +#: dcim/models/devices.py:788 msgid "Device name must be unique per site." msgstr "Aygıt adı site başına benzersiz olmalıdır." -#: dcim/models/devices.py:797 ipam/models/services.py:75 +#: dcim/models/devices.py:799 ipam/models/services.py:75 msgid "device" msgstr "cihaz" -#: dcim/models/devices.py:798 +#: dcim/models/devices.py:800 msgid "devices" msgstr "cihazlar" -#: dcim/models/devices.py:838 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Raf {rack} siteye ait değil {site}." -#: dcim/models/devices.py:843 +#: dcim/models/devices.py:845 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "{location} Konum {site} adlı siteye ait değil." -#: dcim/models/devices.py:849 +#: dcim/models/devices.py:851 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "{rack} rafı {location} adlı konuma ait değil." -#: dcim/models/devices.py:856 +#: dcim/models/devices.py:858 msgid "Cannot select a rack face without assigning a rack." msgstr "Bir raf atamadan raf yüzü seçilemez." -#: dcim/models/devices.py:860 +#: dcim/models/devices.py:862 msgid "Cannot select a rack position without assigning a rack." msgstr "Bir raf atamadan raf konumu seçilemez." -#: dcim/models/devices.py:866 +#: dcim/models/devices.py:868 msgid "Position must be in increments of 0.5 rack units." msgstr "Konum 0,5 raf ünitesinin artışlarında olmalıdır." -#: dcim/models/devices.py:870 +#: dcim/models/devices.py:872 msgid "Must specify rack face when defining rack position." msgstr "Raf konumunu tanımlarken raf yüzü belirtilmelidir." -#: dcim/models/devices.py:878 +#: dcim/models/devices.py:880 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "Bir 0U cihaz tipi ({device_type}) bir raf konumuna atanamaz." -#: dcim/models/devices.py:889 +#: dcim/models/devices.py:891 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" "Alt aygıt türleri bir raf yüzüne atanamaz. Bu, ana cihazın bir özelliğidir." -#: dcim/models/devices.py:896 +#: dcim/models/devices.py:898 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." @@ -4902,7 +4898,7 @@ msgstr "" "Alt aygıt türleri bir raf konumuna atanamaz. Bu, ana aygıtın bir " "özelliğidir." -#: dcim/models/devices.py:910 +#: dcim/models/devices.py:912 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4911,22 +4907,22 @@ msgstr "" "U{position} zaten işgal edilmiş veya bu cihaz tipini barındırmak için " "yeterli alana sahip değil: {device_type} ({u_height}U)" -#: dcim/models/devices.py:925 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} Bu bir IPv4 adresi değildir." -#: dcim/models/devices.py:934 dcim/models/devices.py:949 +#: dcim/models/devices.py:936 dcim/models/devices.py:951 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "Belirtilen IP adresi ({ip}) bu cihaza atanmamıştır." -#: dcim/models/devices.py:940 +#: dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} Bu bir IPv6 adresi değildir." -#: dcim/models/devices.py:967 +#: dcim/models/devices.py:969 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4935,45 +4931,45 @@ msgstr "" "Atanan platform aşağıdakilerle sınırlıdır {platform_manufacturer} cihaz " "türleri, ancak bu cihazın türü şunlara aittir {devicetype_manufacturer}." -#: dcim/models/devices.py:978 +#: dcim/models/devices.py:980 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "Atanan küme farklı bir siteye aittir ({site})" -#: dcim/models/devices.py:986 +#: dcim/models/devices.py:988 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "Sanal bir kasaya atanan bir aygıtın konumu tanımlanmış olmalıdır." -#: dcim/models/devices.py:1188 +#: dcim/models/devices.py:1193 msgid "module" msgstr "modül" -#: dcim/models/devices.py:1189 +#: dcim/models/devices.py:1194 msgid "modules" msgstr "modülleri" -#: dcim/models/devices.py:1205 +#: dcim/models/devices.py:1210 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "Modül, atanan cihaza ait bir modül bölmesine kurulmalıdır ({device})." -#: dcim/models/devices.py:1309 +#: dcim/models/devices.py:1314 msgid "domain" msgstr "domain" -#: dcim/models/devices.py:1322 dcim/models/devices.py:1323 +#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 msgid "virtual chassis" msgstr "sanal kasa" -#: dcim/models/devices.py:1338 +#: dcim/models/devices.py:1343 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Seçilen usta ({master}) bu sanal kasaya atanmamıştır." -#: dcim/models/devices.py:1354 +#: dcim/models/devices.py:1359 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -4982,33 +4978,33 @@ msgstr "" "Sanal kasa silinemiyor {self}. Çapraz şasi LAG arabirimleri oluşturan üye " "arayüzleri vardır." -#: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "belirlemek" -#: dcim/models/devices.py:1380 +#: dcim/models/devices.py:1385 msgid "Numeric identifier unique to the parent device" msgstr "Ana aygıta benzersiz sayısal tanımlayıcı" -#: dcim/models/devices.py:1408 extras/models/models.py:129 +#: dcim/models/devices.py:1413 extras/models/models.py:129 #: extras/models/models.py:724 netbox/models/__init__.py:114 msgid "comments" msgstr "yorumlar" -#: dcim/models/devices.py:1424 +#: dcim/models/devices.py:1429 msgid "virtual device context" msgstr "sanal cihaz bağlamı" -#: dcim/models/devices.py:1425 +#: dcim/models/devices.py:1430 msgid "virtual device contexts" msgstr "sanal cihaz bağlamları" -#: dcim/models/devices.py:1457 +#: dcim/models/devices.py:1462 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} IPV değil{family} adres." -#: dcim/models/devices.py:1463 +#: dcim/models/devices.py:1468 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "Birincil IP adresi, atanan cihazdaki bir arayüze ait olmalıdır." @@ -5390,7 +5386,7 @@ msgstr "Konsol Bağlantı Noktası" msgid "Reachable" msgstr "Ulaşılabilir" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5409,7 +5405,7 @@ msgstr "Aygıtlar" msgid "VMs" msgstr "Sanal Makineler" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:245 +#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 #: extras/forms/model_forms.py:515 templates/dcim/device.html:114 #: templates/dcim/device/render_config.html:11 #: templates/dcim/device/render_config.html:15 @@ -5418,62 +5414,62 @@ msgstr "Sanal Makineler" #: templates/virtualization/virtualmachine.html:47 #: templates/virtualization/virtualmachine/render_config.html:11 #: templates/virtualization/virtualmachine/render_config.html:15 -#: virtualization/tables/virtualmachines.py:93 +#: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Yapılandırma Şablonu" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 #: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 #: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 -#: virtualization/tables/virtualmachines.py:81 +#: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "IP Adresi" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: virtualization/tables/virtualmachines.py:72 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "IPv4 Adresi" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 -#: virtualization/tables/virtualmachines.py:76 +#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "IPv6 Adresi" -#: dcim/tables/devices.py:239 +#: dcim/tables/devices.py:243 msgid "VC Position" msgstr "VC Pozisyonu" -#: dcim/tables/devices.py:242 +#: dcim/tables/devices.py:246 msgid "VC Priority" msgstr "VC Önceliği" -#: dcim/tables/devices.py:249 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Ebeveyn Aygıtı" -#: dcim/tables/devices.py:254 +#: dcim/tables/devices.py:258 msgid "Position (Device Bay)" msgstr "Konum (Aygıt Yuvası)" -#: dcim/tables/devices.py:263 +#: dcim/tables/devices.py:267 msgid "Console ports" msgstr "Konsol bağlantı noktaları" -#: dcim/tables/devices.py:266 +#: dcim/tables/devices.py:270 msgid "Console server ports" msgstr "Konsol sunucusu bağlantı noktaları" -#: dcim/tables/devices.py:269 +#: dcim/tables/devices.py:273 msgid "Power ports" msgstr "Güç bağlantı noktaları" -#: dcim/tables/devices.py:272 +#: dcim/tables/devices.py:276 msgid "Power outlets" msgstr "Elektrik prizleri" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 #: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 #: dcim/views.py:1930 netbox/navigation/menu.py:82 #: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 @@ -5483,53 +5479,53 @@ msgstr "Elektrik prizleri" #: templates/dcim/virtualdevicecontext.html:85 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:87 virtualization/views.py:368 +#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 #: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Arayüzler" -#: dcim/tables/devices.py:278 +#: dcim/tables/devices.py:282 msgid "Front ports" msgstr "Ön bağlantı noktaları" -#: dcim/tables/devices.py:284 +#: dcim/tables/devices.py:288 msgid "Device bays" msgstr "Aygıt yuvaları" -#: dcim/tables/devices.py:287 +#: dcim/tables/devices.py:291 msgid "Module bays" msgstr "Modül bölmeleri" -#: dcim/tables/devices.py:290 +#: dcim/tables/devices.py:294 msgid "Inventory items" msgstr "Envanter kalemleri" -#: dcim/tables/devices.py:329 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Modül Yuvası" -#: dcim/tables/devices.py:350 +#: dcim/tables/devices.py:354 msgid "Cable Color" msgstr "Kablo Rengi" -#: dcim/tables/devices.py:356 +#: dcim/tables/devices.py:360 msgid "Link Peers" msgstr "Meslektaşları Bağla" -#: dcim/tables/devices.py:359 +#: dcim/tables/devices.py:363 msgid "Mark Connected" msgstr "Bağlı İşaretle" -#: dcim/tables/devices.py:475 +#: dcim/tables/devices.py:479 msgid "Maximum draw (W)" msgstr "Maksimum çekim (W)" -#: dcim/tables/devices.py:478 +#: dcim/tables/devices.py:482 msgid "Allocated draw (W)" msgstr "Tahsis edilen çekiliş (W)" -#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 #: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 #: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 @@ -5538,12 +5534,12 @@ msgstr "Tahsis edilen çekiliş (W)" msgid "IP Addresses" msgstr "IP Adresleri" -#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "FHRP Grupları" -#: dcim/tables/devices.py:596 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 #: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 #: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 #: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 @@ -5552,20 +5548,20 @@ msgstr "FHRP Grupları" msgid "Tunnel" msgstr "Tünel" -#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Yalnızca Yönetim" -#: dcim/tables/devices.py:629 +#: dcim/tables/devices.py:633 msgid "Wireless link" msgstr "Kablosuz bağlantı" -#: dcim/tables/devices.py:639 +#: dcim/tables/devices.py:643 msgid "VDCs" msgstr "VDC'ler" -#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 #: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 @@ -5574,7 +5570,7 @@ msgstr "VDC'ler" msgid "Inventory Items" msgstr "Envanter Öğeleri" -#: dcim/tables/devices.py:728 +#: dcim/tables/devices.py:732 #: templates/circuits/inc/circuit_termination.html:80 #: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 #: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 @@ -5583,28 +5579,28 @@ msgstr "Envanter Öğeleri" msgid "Rear Port" msgstr "Arka Bağlantı Noktası" -#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Yüklü Modül" -#: dcim/tables/devices.py:896 +#: dcim/tables/devices.py:900 msgid "Module Serial" msgstr "Modül Seri" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:904 msgid "Module Asset Tag" msgstr "Modül Varlık Etiketi" -#: dcim/tables/devices.py:909 +#: dcim/tables/devices.py:913 msgid "Module Status" msgstr "Modül Durumu" -#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Bileşen" -#: dcim/tables/devices.py:1006 +#: dcim/tables/devices.py:1010 msgid "Items" msgstr "Öğeler" @@ -6167,7 +6163,7 @@ msgid "Cluster type (slug)" msgstr "Küme tipi (kısa ad)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 +#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 msgid "Cluster group" msgstr "Küme grubu" @@ -6298,8 +6294,8 @@ msgid "Is active" msgstr "Aktif" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 -#: extras/forms/bulk_import.py:177 extras/forms/filtersets.py:114 +#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 #: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 #: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 #: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 @@ -6308,8 +6304,8 @@ msgid "Content types" msgstr "İçerik türleri" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 -#: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 +#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "Bir veya daha fazla atanmış nesne türü" @@ -6356,29 +6352,39 @@ msgstr "" "seçeneklerinin alıntılanmış dizesi: “Seçim1:First Choice, Choice2:Second " "Choice”" -#: extras/forms/bulk_import.py:182 +#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +msgid "button class" +msgstr "düğme sınıfı" + +#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" +"Bir gruptaki ilk bağlantının sınıfı açılır düğme için kullanılacaktır." + +#: extras/forms/bulk_import.py:188 msgid "Action object" msgstr "Eylem nesnesi" -#: extras/forms/bulk_import.py:184 +#: extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" msgstr "Noktalı yol olarak Webhook adı veya komut dosyası module.Class" -#: extras/forms/bulk_import.py:205 +#: extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" msgstr "Web kancası {name} bulunamadı" -#: extras/forms/bulk_import.py:214 +#: extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" msgstr "Senaryo {name} bulunamadı" -#: extras/forms/bulk_import.py:236 +#: extras/forms/bulk_import.py:242 msgid "Assigned object type" msgstr "Atanan nesne türü" -#: extras/forms/bulk_import.py:241 +#: extras/forms/bulk_import.py:247 msgid "The classification of entry" msgstr "Girişin sınıflandırılması" @@ -7325,16 +7331,6 @@ msgstr "Bağlantı URL'si için Jinja2 şablon kodu" msgid "Links with the same group will appear as a dropdown menu" msgstr "Aynı gruba sahip bağlantılar açılır menü olarak görünecektir" -#: extras/models/models.py:353 -msgid "button class" -msgstr "düğme sınıfı" - -#: extras/models/models.py:357 -msgid "" -"The class of the first link in a group will be used for the dropdown button" -msgstr "" -"Bir gruptaki ilk bağlantının sınıfı açılır düğme için kullanılacaktır." - #: extras/models/models.py:360 msgid "new window" msgstr "yeni pencere" @@ -7522,7 +7518,7 @@ msgid "staged changes" msgstr "aşamalı değişiklikler" #: extras/models/tags.py:40 -msgid "The object type(s) to which this this tag can be applied." +msgid "The object type(s) to which this tag can be applied." msgstr "Bu etiketin uygulanabileceği nesne türü (ler) dir." #: extras/models/tags.py:49 @@ -7821,7 +7817,7 @@ msgid "VLAN number (1-4094)" msgstr "VLAN numarası (1-4094)" #: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:444 templates/tenancy/contact.html:54 +#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 #: tenancy/forms/bulk_edit.py:112 msgid "Address" msgstr "Adres" @@ -7990,7 +7986,7 @@ msgid "Authentication key" msgstr "Kimlik doğrulama anahtarı" #: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:455 netbox/navigation/menu.py:376 +#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 #: templates/ipam/fhrpgroup.html:51 #: templates/wireless/inc/authentication_attrs.html:5 #: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 @@ -8007,11 +8003,11 @@ msgstr "Minimum çocuk VLAN VID" msgid "Maximum child VLAN VID" msgstr "Maksimum çocuk VLAN VID" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:527 +#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 msgid "Scope type" msgstr "Kapsam türü" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:600 +#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 #: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 msgid "Scope" msgstr "Kapsam" @@ -8020,8 +8016,8 @@ msgstr "Kapsam" msgid "Site & Group" msgstr "Site ve Grup" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:663 -#: ipam/forms/model_forms.py:697 ipam/tables/services.py:19 +#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 +#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 #: ipam/tables/services.py:49 templates/ipam/service.html:39 #: templates/ipam/servicetemplate.html:24 msgid "Ports" @@ -8061,7 +8057,7 @@ msgid "Parent device of assigned interface (if any)" msgstr "Atanan arayüzün ana cihazı (varsa)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:691 virtualization/filtersets.py:284 +#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 #: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 #: virtualization/forms/bulk_edit.py:325 #: virtualization/forms/bulk_import.py:146 @@ -8237,8 +8233,8 @@ msgstr "Liman" #: virtualization/forms/filtersets.py:189 #: virtualization/forms/filtersets.py:234 #: virtualization/forms/model_forms.py:223 -#: virtualization/tables/virtualmachines.py:115 -#: virtualization/tables/virtualmachines.py:168 vpn/choices.py:45 +#: virtualization/tables/virtualmachines.py:128 +#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 #: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 #: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" @@ -8261,7 +8257,7 @@ msgstr "Site/VLAN Ataması" msgid "IP Range" msgstr "IP Aralığı" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:454 +#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 #: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 msgid "FHRP Group" msgstr "FHRP Grubu" @@ -8274,7 +8270,7 @@ msgstr "Bunu cihaz/VM için birincil IP yapın" msgid "An IP address can only be assigned to a single object." msgstr "IP adresi yalnızca tek bir nesneye atanabilir." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:877 +#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8287,32 +8283,25 @@ msgid "" msgstr "" "Yalnızca bir arayüze atanan IP adresleri birincil IP olarak belirlenebilir." -#: ipam/forms/model_forms.py:373 -#, python-brace-format -msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "{ip} bir arayüze atanamayacak bir ağ kimliğidir." - -#: ipam/forms/model_forms.py:379 -#, python-brace-format -msgid "" -"{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "{ip} bir arayüze atanamayacak bir yayın adresidir." - -#: ipam/forms/model_forms.py:456 +#: ipam/forms/model_forms.py:442 msgid "Virtual IP Address" msgstr "Sanal IP Adresi" -#: ipam/forms/model_forms.py:598 ipam/forms/model_forms.py:637 +#: ipam/forms/model_forms.py:523 +msgid "Assignment already exists" +msgstr "Atama zaten var" + +#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "VLAN Grubu" -#: ipam/forms/model_forms.py:599 +#: ipam/forms/model_forms.py:603 msgid "Child VLANs" msgstr "Çocuk VLAN'ları" -#: ipam/forms/model_forms.py:668 ipam/forms/model_forms.py:702 +#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8320,15 +8309,15 @@ msgstr "" "Bir veya daha fazla bağlantı noktası numarasının virgülle ayrılmış listesi. " "Bir aralık bir tire kullanılarak belirtilebilir." -#: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Hizmet Şablonu" -#: ipam/forms/model_forms.py:724 +#: ipam/forms/model_forms.py:728 msgid "Service template" msgstr "Hizmet şablonu" -#: ipam/forms/model_forms.py:754 +#: ipam/forms/model_forms.py:758 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8494,12 +8483,12 @@ msgstr "önekleri" msgid "Cannot create prefix with /0 mask." msgstr "/0 maskesi ile önek oluşturulamıyor." -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:323 ipam/models/ip.py:854 +#: ipam/models/ip.py:323 ipam/models/ip.py:873 msgid "global table" msgstr "küresel tablo" @@ -8594,12 +8583,23 @@ msgstr "IP adresleri" msgid "Cannot create IP address with /0 mask." msgstr "/0 maskesi ile IP adresi oluşturulamıyor." -#: ipam/models/ip.py:856 +#: ipam/models/ip.py:850 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "{ip} bir arayüze atanamayacak bir ağ kimliğidir." + +#: ipam/models/ip.py:861 +#, python-brace-format +msgid "" +"{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "{ip} bir arayüze atanamayacak bir yayın adresidir." + +#: ipam/models/ip.py:875 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "Yinelenen IP adresi şurada bulundu {table}: {ipaddress}" -#: ipam/models/ip.py:883 +#: ipam/models/ip.py:902 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Yalnızca IPv6 adreslerine SLAAC durumu atanabilir" @@ -9375,7 +9375,7 @@ msgstr "Sanal Makineler" #: templates/virtualization/virtualmachine.html:177 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:90 virtualization/views.py:389 +#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Sanal Diskler" @@ -10299,8 +10299,8 @@ msgstr "Çizelgeleme" #: templates/core/job.html:66 #, python-format -msgid "every %(interval)s seconds" -msgstr "her bir %(interval)s saniyeler" +msgid "every %(interval)s minutes" +msgstr "her bir %(interval)s dakikalar" #: templates/dcim/bulk_disconnect.html:9 #, python-format @@ -12852,66 +12852,66 @@ msgstr "Bu nesne türü için kısıtlamalar desteklenmez." msgid "Invalid filter for {model}: {error}" msgstr "Geçersiz filtre {model}: {error}" -#: users/models.py:54 +#: users/models.py:55 msgid "user" msgstr "kullanıcı" -#: users/models.py:55 +#: users/models.py:56 msgid "users" msgstr "kullanıcıları" -#: users/models.py:66 +#: users/models.py:67 msgid "A user with this username already exists." msgstr "Bu kullanıcı adına sahip bir kullanıcı zaten var." -#: users/models.py:78 vpn/models/crypto.py:42 +#: users/models.py:79 vpn/models/crypto.py:42 msgid "group" msgstr "grup" -#: users/models.py:79 +#: users/models.py:80 msgid "groups" msgstr "gruplar" -#: users/models.py:106 users/models.py:107 +#: users/models.py:107 users/models.py:108 msgid "user preferences" msgstr "kullanıcı tercihleri" -#: users/models.py:174 +#: users/models.py:175 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "Anahtar '{path}'bir yaprak düğümüdür; yeni anahtarlar atanamıyor" -#: users/models.py:186 +#: users/models.py:187 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "Anahtar '{path}'bir sözlüktür; sözlük dışı bir değer atayamaz" -#: users/models.py:252 +#: users/models.py:253 msgid "expires" msgstr "süresi dolmak" -#: users/models.py:257 +#: users/models.py:258 msgid "last used" msgstr "son kullanılan" -#: users/models.py:262 +#: users/models.py:263 msgid "key" msgstr "anahtar" -#: users/models.py:268 +#: users/models.py:269 msgid "write enabled" msgstr "yazma etkin" -#: users/models.py:270 +#: users/models.py:271 msgid "Permit create/update/delete operations using this key" msgstr "" "Bu anahtarı kullanarak oluşturma/güncelleme/silme işlemlerine izin verin" -#: users/models.py:281 +#: users/models.py:282 msgid "allowed IPs" msgstr "izin verilen IP'ler" -#: users/models.py:283 +#: users/models.py:284 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -12920,32 +12920,32 @@ msgstr "" "olmadan boş bırakın. Örn: “10.1.1.0/24, 192.168.10.16/32, 2001: DB 8:1: " ":/64\"" -#: users/models.py:291 +#: users/models.py:296 msgid "token" msgstr "jeton" -#: users/models.py:292 +#: users/models.py:297 msgid "tokens" msgstr "jetonlar" -#: users/models.py:373 +#: users/models.py:378 msgid "The list of actions granted by this permission" msgstr "Bu izin tarafından verilen eylemlerin listesi" -#: users/models.py:378 +#: users/models.py:383 msgid "constraints" msgstr "kısıtlamaları" -#: users/models.py:379 +#: users/models.py:384 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" msgstr "Seçili türlerin uygulanabilir nesneleriyle eşleşen Queryset filtresi" -#: users/models.py:386 +#: users/models.py:391 msgid "permission" msgstr "izin" -#: users/models.py:387 +#: users/models.py:392 msgid "permissions" msgstr "izinler" @@ -13215,44 +13215,53 @@ msgstr "" "Bu nesne, form oluşturulduğundan beri değiştirildi. Ayrıntılar için lütfen " "nesnenin değişiklik günlüğüne bakın." -#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 -#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "Menzil”{value}“geçersiz." -#: utilities/forms/utils.py:225 +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" +"Geçersiz aralık: Bitiş değeri ({end}) başlangıç değerinden büyük olmalıdır " +"({begin})." + +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "Yinelenen veya çakışan sütun başlığı”{field}“" -#: utilities/forms/utils.py:231 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "Yinelenen veya çakışan sütun başlığı”{header}“" -#: utilities/forms/utils.py:240 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" "Satır {row}: Bekleniyor {count_expected} sütunlar ama bulundu {count_found}" -#: utilities/forms/utils.py:263 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "Beklenmeyen sütun başlığı”{field}“bulundu." -#: utilities/forms/utils.py:265 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "Sütun”{field}“ilgili bir nesne değildir; nokta kullanamaz" -#: utilities/forms/utils.py:269 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "Sütun için geçersiz ilgili nesne özniteliği”{field}“: {to_field}" -#: utilities/forms/utils.py:277 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "Gerekli sütun başlığı”{header}“Bulunamadı." @@ -13882,6 +13891,11 @@ msgstr "Teklif" msgid "Assigned Object Type" msgstr "Atanan Nesne Türü" +#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +msgid "Tunnel interface" +msgstr "Tünel arayüzü" + #: vpn/forms/model_forms.py:147 msgid "First Termination" msgstr "İlk Fesih" diff --git a/netbox/users/forms/filtersets.py b/netbox/users/forms/filtersets.py index 2d5644b98..382a1821f 100644 --- a/netbox/users/forms/filtersets.py +++ b/netbox/users/forms/filtersets.py @@ -13,8 +13,8 @@ from utilities.forms.widgets import DateTimePicker __all__ = ( 'GroupFilterForm', 'ObjectPermissionFilterForm', - 'UserFilterForm', 'TokenFilterForm', + 'UserFilterForm', ) diff --git a/netbox/utilities/forms/forms.py b/netbox/utilities/forms/forms.py index 9747de001..0b92ce7b3 100644 --- a/netbox/utilities/forms/forms.py +++ b/netbox/utilities/forms/forms.py @@ -69,6 +69,12 @@ class CSVModelForm(forms.ModelForm): """ ModelForm used for the import of objects in CSV format. """ + id = forms.IntegerField( + label=_('ID'), + required=False, + help_text=_('Numeric ID of an existing object to update (if not creating a new object)') + ) + def __init__(self, *args, headers=None, **kwargs): self.headers = headers or {} super().__init__(*args, **kwargs) diff --git a/netbox/utilities/testing/base.py b/netbox/utilities/testing/base.py index 7b77165b2..397d830db 100644 --- a/netbox/utilities/testing/base.py +++ b/netbox/utilities/testing/base.py @@ -14,7 +14,7 @@ from core.models import ObjectType from users.models import ObjectPermission from utilities.object_types import object_type_identifier from utilities.permissions import resolve_permission_type -from .utils import extract_form_failures +from .utils import DUMMY_CF_DATA, extract_form_failures __all__ = ( 'ModelTestCase', @@ -169,8 +169,12 @@ class ModelTestCase(TestCase): model_dict = self.model_to_dict(instance, fields=fields, api=api) # Omit any dictionary keys which are not instance attributes or have been excluded - relevant_data = { + model_data = { k: v for k, v in data.items() if hasattr(instance, k) and k not in exclude } - self.assertDictEqual(model_dict, relevant_data) + self.assertDictEqual(model_dict, model_data) + + # Validate any custom field data, if present + if getattr(instance, 'custom_field_data', None): + self.assertDictEqual(instance.custom_field_data, DUMMY_CF_DATA) diff --git a/netbox/utilities/testing/utils.py b/netbox/utilities/testing/utils.py index fd6d72e27..59bce2b7c 100644 --- a/netbox/utilities/testing/utils.py +++ b/netbox/utilities/testing/utils.py @@ -1,3 +1,4 @@ +import json import logging import re from contextlib import contextmanager @@ -6,8 +7,10 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Permission from django.utils.text import slugify +from core.models import ObjectType from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site -from extras.models import Tag +from extras.choices import CustomFieldTypeChoices +from extras.models import CustomField, Tag from virtualization.models import Cluster, ClusterType, VirtualMachine @@ -102,3 +105,42 @@ def disable_warnings(logger_name): logger.setLevel(logging.ERROR) yield logger.setLevel(current_level) + + +# +# Custom field testing +# + +DUMMY_CF_DATA = { + 'text_field': 'foo123', + 'integer_field': 456, + 'decimal_field': 456.12, + 'boolean_field': True, + 'json_field': {'abc': 123}, +} + + +def add_custom_field_data(form_data, model): + """ + Create some custom fields for the model and add a value for each to the form data. + + Args: + form_data: The dictionary of form data to be updated + model: The model of the object the form seeks to create or modify + """ + object_type = ObjectType.objects.get_for_model(model) + custom_fields = ( + CustomField(type=CustomFieldTypeChoices.TYPE_TEXT, name='text_field', default='foo'), + CustomField(type=CustomFieldTypeChoices.TYPE_INTEGER, name='integer_field', default=123), + CustomField(type=CustomFieldTypeChoices.TYPE_DECIMAL, name='decimal_field', default=123.45), + CustomField(type=CustomFieldTypeChoices.TYPE_BOOLEAN, name='boolean_field', default=False), + CustomField(type=CustomFieldTypeChoices.TYPE_JSON, name='json_field', default='{"x": "y"}'), + ) + CustomField.objects.bulk_create(custom_fields) + for cf in custom_fields: + cf.object_types.set([object_type]) + + form_data.update({ + f'cf_{k}': v if type(v) is str else json.dumps(v) + for k, v in DUMMY_CF_DATA.items() + }) diff --git a/netbox/utilities/testing/views.py b/netbox/utilities/testing/views.py index 8ca6e535f..54e190026 100644 --- a/netbox/utilities/testing/views.py +++ b/netbox/utilities/testing/views.py @@ -12,10 +12,10 @@ from core.models import ObjectType from extras.choices import ObjectChangeActionChoices from extras.models import ObjectChange from netbox.choices import CSVDelimiterChoices, ImportFormatChoices -from netbox.models.features import ChangeLoggingMixin +from netbox.models.features import ChangeLoggingMixin, CustomFieldsMixin from users.models import ObjectPermission from .base import ModelTestCase -from .utils import disable_warnings, post_data +from .utils import add_custom_field_data, disable_warnings, post_data __all__ = ( 'ModelViewTestCase', @@ -27,7 +27,6 @@ __all__ = ( # UI Tests # - class ModelViewTestCase(ModelTestCase): """ Base TestCase for model views. Subclass to test individual views. @@ -167,6 +166,10 @@ class ViewTestCases: # Try GET with model-level permission self.assertHttpStatus(self.client.get(self._get_url('add')), 200) + # Add custom field data if the model supports it + if issubclass(self.model, CustomFieldsMixin): + add_custom_field_data(self.form_data, self.model) + # Try POST with model-level permission initial_count = self._get_queryset().count() request = { @@ -266,6 +269,10 @@ class ViewTestCases: # Try GET with model-level permission self.assertHttpStatus(self.client.get(self._get_url('edit', instance)), 200) + # Add custom field data if the model supports it + if issubclass(self.model, CustomFieldsMixin): + add_custom_field_data(self.form_data, self.model) + # Try POST with model-level permission request = { 'path': self._get_url('edit', instance), diff --git a/netbox/virtualization/api/serializers_/virtualmachines.py b/netbox/virtualization/api/serializers_/virtualmachines.py index 689ed3179..fb2ed0479 100644 --- a/netbox/virtualization/api/serializers_/virtualmachines.py +++ b/netbox/virtualization/api/serializers_/virtualmachines.py @@ -37,7 +37,7 @@ class VirtualMachineSerializer(NetBoxModelSerializer): role = DeviceRoleSerializer(nested=True, required=False, allow_null=True) tenant = TenantSerializer(nested=True, required=False, allow_null=True) platform = PlatformSerializer(nested=True, required=False, allow_null=True) - primary_ip = IPAddressSerializer(nested=True, read_only=True) + primary_ip = IPAddressSerializer(nested=True, read_only=True, allow_null=True) primary_ip4 = IPAddressSerializer(nested=True, required=False, allow_null=True) primary_ip6 = IPAddressSerializer(nested=True, required=False, allow_null=True) config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None) diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 7300635ac..1ddd2c92d 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -388,7 +388,7 @@ class VirtualMachineVirtualDisksView(generic.ObjectChildrenView): tab = ViewTab( label=_('Virtual Disks'), badge=lambda obj: obj.virtual_disk_count, - permission='virtualization.view_virtual_disk', + permission='virtualization.view_virtualdisk', weight=500 ) actions = { diff --git a/netbox/vpn/api/serializers_/tunnels.py b/netbox/vpn/api/serializers_/tunnels.py index b561f696a..7146f964d 100644 --- a/netbox/vpn/api/serializers_/tunnels.py +++ b/netbox/vpn/api/serializers_/tunnels.py @@ -108,6 +108,8 @@ class TunnelTerminationSerializer(NetBoxModelSerializer): @extend_schema_field(serializers.JSONField(allow_null=True)) def get_termination(self, obj): + if not obj.termination: + return None serializer = get_serializer_for_model(obj.termination) context = {'request': self.context['request']} return serializer(obj.termination, nested=True, context=context).data diff --git a/netbox/vpn/filtersets.py b/netbox/vpn/filtersets.py index 970f68795..3f8b2ee78 100644 --- a/netbox/vpn/filtersets.py +++ b/netbox/vpn/filtersets.py @@ -147,6 +147,17 @@ class IKEProposalFilterSet(NetBoxModelFilterSet): group = django_filters.MultipleChoiceFilter( choices=DHGroupChoices ) + ike_policy_id = django_filters.ModelMultipleChoiceFilter( + field_name='ike_policies', + queryset=IKEPolicy.objects.all(), + label=_('IKE policy (ID)'), + ) + ike_policy = django_filters.ModelMultipleChoiceFilter( + field_name='ike_policies__name', + queryset=IKEPolicy.objects.all(), + to_field_name='name', + label=_('IKE policy (name)'), + ) class Meta: model = IKEProposal diff --git a/netbox/vpn/forms/model_forms.py b/netbox/vpn/forms/model_forms.py index eb2f839d5..a17ca9a5e 100644 --- a/netbox/vpn/forms/model_forms.py +++ b/netbox/vpn/forms/model_forms.py @@ -92,7 +92,7 @@ class TunnelCreateForm(TunnelForm): termination1_termination = DynamicModelChoiceField( queryset=Interface.objects.all(), required=False, - label=_('Interface'), + label=_('Tunnel interface'), query_params={ 'device_id': '$termination1_parent', } @@ -127,7 +127,7 @@ class TunnelCreateForm(TunnelForm): termination2_termination = DynamicModelChoiceField( queryset=Interface.objects.all(), required=False, - label=_('Interface'), + label=_('Tunnel interface'), query_params={ 'device_id': '$termination2_parent', } @@ -237,7 +237,7 @@ class TunnelTerminationForm(NetBoxModelForm): ) termination = DynamicModelChoiceField( queryset=Interface.objects.all(), - label=_('Interface'), + label=_('Tunnel interface'), query_params={ 'device_id': '$parent', } diff --git a/netbox/vpn/search.py b/netbox/vpn/search.py index 066bc68bb..c1914dc22 100644 --- a/netbox/vpn/search.py +++ b/netbox/vpn/search.py @@ -75,6 +75,7 @@ class L2VPNIndex(SearchIndex): fields = ( ('name', 100), ('slug', 110), + ('identifier', 200), ('description', 500), ('comments', 5000), ) diff --git a/netbox/vpn/tables/tunnels.py b/netbox/vpn/tables/tunnels.py index bc591c1e6..cf4230652 100644 --- a/netbox/vpn/tables/tunnels.py +++ b/netbox/vpn/tables/tunnels.py @@ -88,7 +88,7 @@ class TunnelTerminationTable(TenancyColumnsMixin, NetBoxTable): verbose_name=_('Host') ) termination = tables.Column( - verbose_name=_('Interface'), + verbose_name=_('Tunnel interface'), linkify=True ) ip_addresses = tables.ManyToManyColumn( diff --git a/netbox/vpn/tests/test_filtersets.py b/netbox/vpn/tests/test_filtersets.py index d2b893766..0b9c79420 100644 --- a/netbox/vpn/tests/test_filtersets.py +++ b/netbox/vpn/tests/test_filtersets.py @@ -385,6 +385,13 @@ class IKEProposalTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'sa_lifetime': [1000, 2000]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_ike_policy(self): + ike_policies = IKEPolicy.objects.all()[:2] + params = {'ike_policy_id': [ike_policies[0].pk, ike_policies[1].pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'ike_policy': [ike_policies[0].name, ike_policies[1].name]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class IKEPolicyTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = IKEPolicy.objects.all() diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py index c0e2dfb54..38bc37360 100644 --- a/netbox/wireless/forms/bulk_import.py +++ b/netbox/wireless/forms/bulk_import.py @@ -42,7 +42,7 @@ class WirelessLANImportForm(NetBoxModelImportForm): status = CSVChoiceField( label=_('Status'), choices=WirelessLANStatusChoices, - help_text='Operational status' + help_text=_('Operational status') ) vlan = CSVModelChoiceField( label=_('VLAN'), diff --git a/requirements.txt b/requirements.txt index 033ed862a..009e9251d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,9 @@ -Django==5.0.3 +Django==5.0.4 django-cors-headers==4.3.1 django-debug-toolbar==4.3.0 django-filter==24.2 django-htmx==1.17.3 +django-graphiql-debug-toolbar==0.2.0 django-mptt==0.16.0 django-pglocks==1.0.4 django-prometheus==2.3.1 @@ -16,11 +17,11 @@ djangorestframework==3.15.1 drf-spectacular==0.27.2 drf-spectacular-sidecar==2024.4.1 feedparser==6.0.11 -gunicorn==21.2.0 +gunicorn==22.0.0 Jinja2==3.1.3 Markdown==3.6 -mkdocs-material==9.5.17 -mkdocstrings[python-legacy]==0.24.2 +mkdocs-material==9.5.18 +mkdocstrings[python-legacy]==0.24.3 netaddr==1.2.1 nh3==0.2.17 Pillow==10.3.0 @@ -29,8 +30,8 @@ PyYAML==6.0.1 requests==2.31.0 social-auth-app-django==5.4.0 social-auth-core[openidconnect]==4.5.3 -strawberry-graphql==0.224.1 -strawberry-graphql-django==0.37.0 +strawberry-graphql==0.227.2 +strawberry-graphql-django==0.34.0 svgwrite==1.4.3 -tablib==3.6.0 +tablib==3.6.1 tzdata==2024.1