diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 06ff12fef..f843f676f 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,5 +1,21 @@ # NetBox v4.1 +## v4.1.9 (2024-12-17) + +### Enhancements + +* [#17215](https://github.com/netbox-community/netbox/issues/17215) - Change the highlighted color of disabled interfaces in interface lists +* [#18224](https://github.com/netbox-community/netbox/issues/18224) - Apply all registered request processors when running custom scripts + +### Bug Fixes + +* [#16757](https://github.com/netbox-community/netbox/issues/16757) - Fix rendering of IP addresses table when assigning an existing IP address to an interface with global HTMX navigation enabled +* [#17868](https://github.com/netbox-community/netbox/issues/17868) - Fix `ZeroDivisionError` exception under specific circumstances when generating a cable trace +* [#18124](https://github.com/netbox-community/netbox/issues/18124) - Enable referencing cable attributes when querying a `cabletermination_set` via the GraphQL API +* [#18230](https://github.com/netbox-community/netbox/issues/18230) - Fix `AttributeError` exception when attempting to edit an IP address assigned to a virtual machine interface + +--- + ## v4.1.8 (2024-12-12) ### Enhancements diff --git a/netbox/dcim/graphql/types.py b/netbox/dcim/graphql/types.py index bce6f06ac..da219c754 100644 --- a/netbox/dcim/graphql/types.py +++ b/netbox/dcim/graphql/types.py @@ -116,7 +116,7 @@ class ModularComponentTemplateType(ComponentTemplateType): filters=CableTerminationFilter ) class CableTerminationType(NetBoxObjectType): - + cable: Annotated["CableType", strawberry.lazy('dcim.graphql.types')] | None termination: Annotated[Union[ Annotated["CircuitTerminationType", strawberry.lazy('circuits.graphql.types')], Annotated["ConsolePortType", strawberry.lazy('dcim.graphql.types')], diff --git a/netbox/dcim/svg/cables.py b/netbox/dcim/svg/cables.py index 4e0f7aea6..58fa27c6b 100644 --- a/netbox/dcim/svg/cables.py +++ b/netbox/dcim/svg/cables.py @@ -362,7 +362,7 @@ class CableTraceSVG: self.cursor += CABLE_HEIGHT # Connector (a Cable or WirelessLink) - if links: + if links and far_ends: obj_list = {end.parent_object for end in far_ends} parent_object_nodes, far_terminations = self.draw_far_objects(obj_list, far_ends) diff --git a/netbox/extras/jobs.py b/netbox/extras/jobs.py index 190166b5b..10d76e3aa 100644 --- a/netbox/extras/jobs.py +++ b/netbox/extras/jobs.py @@ -1,14 +1,14 @@ import logging import traceback -from contextlib import nullcontext +from contextlib import ExitStack from django.db import transaction from django.utils.translation import gettext as _ from core.signals import clear_events from extras.models import Script as ScriptModel -from netbox.context_managers import event_tracking from netbox.jobs import JobRunner +from netbox.registry import registry from utilities.exceptions import AbortScript, AbortTransaction from .utils import is_report @@ -100,5 +100,7 @@ class ScriptJob(JobRunner): # Execute the script. If commit is True, wrap it with the event_tracking context manager to ensure we process # change logging, event rules, etc. - with event_tracking(request) if commit else nullcontext(): + with ExitStack() as stack: + for request_processor in registry['request_processors']: + stack.enter_context(request_processor(request)) self.run_script(script, request, data, commit) diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index f595bf459..c7aeaa8e5 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -361,7 +361,7 @@ class IPAddressForm(TenancyForm, NetBoxModelForm): ): self.initial['primary_for_parent'] = True - if parent and (parent.oob_ip_id == self.instance.pk): + if parent and getattr(parent, 'oob_ip_id', None) == self.instance.pk: self.initial['oob_for_parent'] = True if type(instance.assigned_object) is Interface: diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index cd66ffa0f..cee6eda68 100644 Binary files a/netbox/project-static/dist/netbox.css and b/netbox/project-static/dist/netbox.css differ diff --git a/netbox/project-static/styles/custom/_interfaces.scss b/netbox/project-static/styles/custom/_interfaces.scss index 2c363e7ff..9e6baa7e5 100644 --- a/netbox/project-static/styles/custom/_interfaces.scss +++ b/netbox/project-static/styles/custom/_interfaces.scss @@ -17,7 +17,7 @@ tr[data-virtual=true] { background-color: rgba(map.get($theme-colors, "primary"), 0.15); } tr[data-enabled=disabled] { - background-color: rgba(map.get($theme-colors, "danger"), 0.15); + background-color: rgba($gray-400, 0.15); } // Only show the correct button depending on the cable status diff --git a/netbox/release.yaml b/netbox/release.yaml index f93458475..5055defb3 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.8" +version: "4.1.9" edition: "Community" -published: "2024-12-12" +published: "2024-12-17" diff --git a/netbox/templates/ipam/ipaddress_assign.html b/netbox/templates/ipam/ipaddress_assign.html index d96ad7452..4711b286a 100644 --- a/netbox/templates/ipam/ipaddress_assign.html +++ b/netbox/templates/ipam/ipaddress_assign.html @@ -34,7 +34,7 @@

{% trans "Search Results" %}

- {% render_table table 'inc/table.html' %} + {% render_table table 'inc/table_htmx.html' %}
diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 9bb609694..5f49057fb 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-12-12 05:02+0000\n" +"POT-Creation-Date: 2024-12-13 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -145,7 +145,7 @@ msgstr "" #: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021 #: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903 #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 -#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 +#: netbox/ipam/filtersets.py:341 netbox/ipam/filtersets.py:961 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" @@ -157,8 +157,8 @@ msgstr "" #: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028 #: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910 #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 -#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 -#: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 +#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:348 +#: netbox/ipam/filtersets.py:968 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "" @@ -168,8 +168,8 @@ msgstr "" #: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477 #: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381 #: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159 -#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:352 -#: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58 +#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:354 +#: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "" @@ -180,7 +180,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388 #: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166 #: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515 -#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:979 +#: netbox/ipam/filtersets.py:361 netbox/ipam/filtersets.py:981 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" @@ -250,8 +250,8 @@ msgstr "" #: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229 #: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242 #: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458 -#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 -#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 +#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:240 +#: netbox/ipam/filtersets.py:371 netbox/ipam/filtersets.py:991 #: netbox/virtualization/filtersets.py:75 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" @@ -270,13 +270,13 @@ msgstr "" #: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122 #: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283 -#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243 +#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:245 msgid "Provider (ID)" msgstr "" #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 -#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249 +#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:251 msgid "Provider (slug)" msgstr "" @@ -305,8 +305,8 @@ msgstr "" #: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045 #: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928 #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 -#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 -#: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 +#: netbox/ipam/filtersets.py:234 netbox/ipam/filtersets.py:365 +#: netbox/ipam/filtersets.py:985 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "" @@ -1081,7 +1081,7 @@ msgstr "" #: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118 #: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117 #: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 -#: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493 +#: netbox/ipam/filtersets.py:1001 netbox/ipam/forms/bulk_edit.py:493 #: netbox/ipam/forms/bulk_import.py:460 netbox/ipam/forms/model_forms.py:561 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122 #: netbox/ipam/tables/vlans.py:226 @@ -2891,7 +2891,7 @@ msgid "Parent site group (slug)" msgstr "" #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 -#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 +#: netbox/ipam/filtersets.py:843 netbox/ipam/filtersets.py:995 msgid "Group (ID)" msgstr "" @@ -2949,15 +2949,15 @@ msgstr "" #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 -#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 -#: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210 +#: netbox/ipam/filtersets.py:383 netbox/ipam/filtersets.py:495 +#: netbox/ipam/filtersets.py:1005 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "" #: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898 #: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856 -#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:387 -#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 +#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:389 +#: netbox/ipam/filtersets.py:501 netbox/ipam/filtersets.py:1011 #: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "" @@ -3155,7 +3155,7 @@ msgstr "" msgid "Device model" msgstr "" -#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:634 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "" @@ -3169,8 +3169,8 @@ msgid "Module bay (ID)" msgstr "" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 -#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/ipam/filtersets.py:613 netbox/ipam/filtersets.py:853 +#: netbox/ipam/filtersets.py:1117 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "" @@ -3179,8 +3179,8 @@ msgstr "" msgid "Rack (name)" msgstr "" -#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:608 +#: netbox/ipam/filtersets.py:848 netbox/ipam/filtersets.py:1123 #: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "" @@ -3232,9 +3232,9 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:913 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1385 #: netbox/dcim/models/device_components.py:711 -#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:316 -#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 -#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595 +#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:318 +#: netbox/ipam/filtersets.py:329 netbox/ipam/filtersets.py:485 +#: netbox/ipam/filtersets.py:586 netbox/ipam/filtersets.py:597 #: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298 #: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157 #: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279 @@ -3261,19 +3261,19 @@ msgstr "" msgid "VRF" msgstr "" -#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:322 -#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 -#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 +#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:324 +#: netbox/ipam/filtersets.py:335 netbox/ipam/filtersets.py:491 +#: netbox/ipam/filtersets.py:592 netbox/ipam/filtersets.py:603 msgid "VRF (RD)" msgstr "" -#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 +#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1032 #: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "" #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 -#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036 +#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1038 #: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 #: netbox/templates/vpn/l2vpntermination.html:12 @@ -9010,129 +9010,129 @@ msgstr "" msgid "Exporting L2VPN (identifier)" msgstr "" -#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281 +#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:283 #: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212 #: netbox/templates/ipam/prefix.html:12 msgid "Prefix" msgstr "" #: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 -#: netbox/ipam/filtersets.py:221 +#: netbox/ipam/filtersets.py:223 msgid "RIR (ID)" msgstr "" #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 -#: netbox/ipam/filtersets.py:227 +#: netbox/ipam/filtersets.py:229 msgid "RIR (slug)" msgstr "" -#: netbox/ipam/filtersets.py:285 +#: netbox/ipam/filtersets.py:287 msgid "Within prefix" msgstr "" -#: netbox/ipam/filtersets.py:289 +#: netbox/ipam/filtersets.py:291 msgid "Within and including prefix" msgstr "" -#: netbox/ipam/filtersets.py:293 +#: netbox/ipam/filtersets.py:295 msgid "Prefixes which contain this prefix or IP" msgstr "" -#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 +#: netbox/ipam/filtersets.py:306 netbox/ipam/filtersets.py:574 #: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196 #: netbox/ipam/forms/filtersets.py:331 msgid "Mask length" msgstr "" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 +#: netbox/ipam/filtersets.py:375 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 +#: netbox/ipam/filtersets.py:379 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "" -#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475 -#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:496 +#: netbox/ipam/filtersets.py:473 netbox/ipam/filtersets.py:477 +#: netbox/ipam/filtersets.py:569 netbox/ipam/forms/model_forms.py:496 #: netbox/templates/tenancy/contact.html:53 #: netbox/tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "" -#: netbox/ipam/filtersets.py:479 +#: netbox/ipam/filtersets.py:481 msgid "Ranges which contain this prefix or IP" msgstr "" -#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563 +#: netbox/ipam/filtersets.py:509 netbox/ipam/filtersets.py:565 msgid "Parent prefix" msgstr "" -#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:618 netbox/ipam/filtersets.py:858 +#: netbox/ipam/filtersets.py:1133 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "" -#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/ipam/filtersets.py:623 netbox/ipam/filtersets.py:863 +#: netbox/ipam/filtersets.py:1127 netbox/virtualization/filtersets.py:282 #: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "" -#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 +#: netbox/ipam/filtersets.py:629 netbox/vpn/filtersets.py:97 #: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "" -#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 +#: netbox/ipam/filtersets.py:640 netbox/vpn/filtersets.py:108 #: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "" -#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 +#: netbox/ipam/filtersets.py:645 netbox/vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "" -#: netbox/ipam/filtersets.py:648 +#: netbox/ipam/filtersets.py:650 msgid "FHRP group (ID)" msgstr "" -#: netbox/ipam/filtersets.py:652 +#: netbox/ipam/filtersets.py:654 msgid "Is assigned to an interface" msgstr "" -#: netbox/ipam/filtersets.py:656 +#: netbox/ipam/filtersets.py:658 msgid "Is assigned" msgstr "" -#: netbox/ipam/filtersets.py:668 +#: netbox/ipam/filtersets.py:670 msgid "Service (ID)" msgstr "" -#: netbox/ipam/filtersets.py:673 +#: netbox/ipam/filtersets.py:675 msgid "NAT inside IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +#: netbox/ipam/filtersets.py:1043 netbox/ipam/forms/bulk_import.py:322 msgid "Assigned interface" msgstr "" -#: netbox/ipam/filtersets.py:1046 +#: netbox/ipam/filtersets.py:1048 msgid "Assigned VM interface" msgstr "" -#: netbox/ipam/filtersets.py:1136 +#: netbox/ipam/filtersets.py:1138 msgid "IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1144 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "" -#: netbox/ipam/filtersets.py:1167 +#: netbox/ipam/filtersets.py:1169 msgid "Primary IPv4 (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1172 +#: netbox/ipam/filtersets.py:1174 msgid "Primary IPv6 (ID)" msgstr "" diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index 644e274a4..e6d410f9a 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 aa6fa39b2..496b8dda1 100644 --- a/netbox/translations/pt/LC_MESSAGES/django.po +++ b/netbox/translations/pt/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-12 05:02+0000\n" +"POT-Creation-Date: 2024-12-13 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Fabricio Maciel, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" @@ -154,7 +154,7 @@ msgstr "Inativo" #: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021 #: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903 #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 -#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 +#: netbox/ipam/filtersets.py:341 netbox/ipam/filtersets.py:961 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" @@ -166,8 +166,8 @@ msgstr "Região (ID)" #: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028 #: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910 #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 -#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 -#: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 +#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:348 +#: netbox/ipam/filtersets.py:968 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Região (slug)" @@ -177,8 +177,8 @@ msgstr "Região (slug)" #: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477 #: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381 #: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159 -#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:352 -#: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58 +#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:354 +#: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "Grupo de sites (ID)" @@ -189,7 +189,7 @@ msgstr "Grupo de sites (ID)" #: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388 #: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166 #: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515 -#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:979 +#: netbox/ipam/filtersets.py:361 netbox/ipam/filtersets.py:981 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" @@ -259,8 +259,8 @@ msgstr "Site" #: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229 #: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242 #: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458 -#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 -#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 +#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:240 +#: netbox/ipam/filtersets.py:371 netbox/ipam/filtersets.py:991 #: netbox/virtualization/filtersets.py:75 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" @@ -279,13 +279,13 @@ msgstr "ASN" #: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122 #: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283 -#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243 +#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:245 msgid "Provider (ID)" msgstr "Provedor (ID)" #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 -#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249 +#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:251 msgid "Provider (slug)" msgstr "Provedor (slug)" @@ -314,8 +314,8 @@ msgstr "Tipo de circuito (slug)" #: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045 #: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928 #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 -#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 -#: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 +#: netbox/ipam/filtersets.py:234 netbox/ipam/filtersets.py:365 +#: netbox/ipam/filtersets.py:985 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Site (ID)" @@ -1104,7 +1104,7 @@ msgstr "Atribuição" #: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118 #: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117 #: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 -#: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493 +#: netbox/ipam/filtersets.py:1001 netbox/ipam/forms/bulk_edit.py:493 #: netbox/ipam/forms/bulk_import.py:460 netbox/ipam/forms/model_forms.py:561 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122 #: netbox/ipam/tables/vlans.py:226 @@ -2944,7 +2944,7 @@ msgid "Parent site group (slug)" msgstr "Grupo de sites principais (slug)" #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 -#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 +#: netbox/ipam/filtersets.py:843 netbox/ipam/filtersets.py:995 msgid "Group (ID)" msgstr "Grupo (ID)" @@ -3002,15 +3002,15 @@ msgstr "Tipo de rack (ID)" #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 -#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 -#: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210 +#: netbox/ipam/filtersets.py:383 netbox/ipam/filtersets.py:495 +#: netbox/ipam/filtersets.py:1005 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Função (ID)" #: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898 #: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856 -#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:387 -#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 +#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:389 +#: netbox/ipam/filtersets.py:501 netbox/ipam/filtersets.py:1011 #: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Função (slug)" @@ -3208,7 +3208,7 @@ msgstr "Contexto de Dispositivo Virtual (ID)" msgid "Device model" msgstr "Modelo de dispositivo" -#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:634 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interface (ID)" @@ -3222,8 +3222,8 @@ msgid "Module bay (ID)" msgstr "Compartimento de módulo (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 -#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/ipam/filtersets.py:613 netbox/ipam/filtersets.py:853 +#: netbox/ipam/filtersets.py:1117 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Dispositivo (ID)" @@ -3232,8 +3232,8 @@ msgstr "Dispositivo (ID)" msgid "Rack (name)" msgstr "Rack (nome)" -#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:608 +#: netbox/ipam/filtersets.py:848 netbox/ipam/filtersets.py:1123 #: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Dispositivo (nome)" @@ -3285,9 +3285,9 @@ msgstr "VLAN ID Designada " #: netbox/dcim/forms/bulk_import.py:913 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1385 #: netbox/dcim/models/device_components.py:711 -#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:316 -#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 -#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595 +#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:318 +#: netbox/ipam/filtersets.py:329 netbox/ipam/filtersets.py:485 +#: netbox/ipam/filtersets.py:586 netbox/ipam/filtersets.py:597 #: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298 #: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157 #: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279 @@ -3314,19 +3314,19 @@ msgstr "VLAN ID Designada " msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:322 -#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 -#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 +#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:324 +#: netbox/ipam/filtersets.py:335 netbox/ipam/filtersets.py:491 +#: netbox/ipam/filtersets.py:592 netbox/ipam/filtersets.py:603 msgid "VRF (RD)" msgstr "VRF (RD)" -#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 +#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1032 #: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 -#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036 +#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1038 #: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 #: netbox/templates/vpn/l2vpntermination.html:12 @@ -4229,7 +4229,7 @@ msgstr "Nome da função designada" #: netbox/dcim/forms/bulk_import.py:264 msgid "Rack type model" -msgstr "" +msgstr "Modelo do tipo de rack" #: netbox/dcim/forms/bulk_import.py:292 netbox/dcim/forms/bulk_import.py:435 #: netbox/dcim/forms/bulk_import.py:605 @@ -4238,11 +4238,12 @@ msgstr "Direção do fluxo de ar" #: netbox/dcim/forms/bulk_import.py:324 msgid "Width must be set if not specifying a rack type." -msgstr "" +msgstr "A largura deve ser definida se um tipo de rack não for especificado." #: netbox/dcim/forms/bulk_import.py:326 msgid "U height must be set if not specifying a rack type." msgstr "" +"A altura em U deve ser definida se um tipo de rack não for especificado." #: netbox/dcim/forms/bulk_import.py:334 msgid "Parent site" @@ -4907,6 +4908,11 @@ msgid "" "present, will be automatically replaced with the position value when " "creating a new module." msgstr "" +"Intervalos alfanuméricos são suportados para criação em massa. Casos e tipos" +" mistos dentro de um único intervalo não são suportados (exemplo: " +"[ge,xe]-0/0/[0-9]). O token {module}, se presente," +" será automaticamente substituído pelo valor da posição ao criar um novo " +"módulo." #: netbox/dcim/forms/model_forms.py:1094 msgid "Console port template" @@ -6498,7 +6504,7 @@ msgstr "função do rack" #: netbox/dcim/models/racks.py:231 msgid "rack roles" -msgstr "funções de rack" +msgstr "funções do rack" #: netbox/dcim/models/racks.py:274 msgid "facility ID" @@ -9346,129 +9352,129 @@ msgstr "Exportando L2VPN" msgid "Exporting L2VPN (identifier)" msgstr "Exportando L2VPN (identificador)" -#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281 +#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:283 #: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212 #: netbox/templates/ipam/prefix.html:12 msgid "Prefix" msgstr "Prefixo" #: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 -#: netbox/ipam/filtersets.py:221 +#: netbox/ipam/filtersets.py:223 msgid "RIR (ID)" msgstr "RIR (ID)" #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 -#: netbox/ipam/filtersets.py:227 +#: netbox/ipam/filtersets.py:229 msgid "RIR (slug)" msgstr "RIR (slug)" -#: netbox/ipam/filtersets.py:285 +#: netbox/ipam/filtersets.py:287 msgid "Within prefix" msgstr "Dentro do prefixo" -#: netbox/ipam/filtersets.py:289 +#: netbox/ipam/filtersets.py:291 msgid "Within and including prefix" msgstr "Dentro e incluindo o prefixo" -#: netbox/ipam/filtersets.py:293 +#: netbox/ipam/filtersets.py:295 msgid "Prefixes which contain this prefix or IP" msgstr "Prefixos que contêm este prefixo ou IP" -#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 +#: netbox/ipam/filtersets.py:306 netbox/ipam/filtersets.py:574 #: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196 #: netbox/ipam/forms/filtersets.py:331 msgid "Mask length" msgstr "Tamanho da máscara" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 +#: netbox/ipam/filtersets.py:375 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 +#: netbox/ipam/filtersets.py:379 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Número da VLAN (1-4094)" -#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475 -#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:496 +#: netbox/ipam/filtersets.py:473 netbox/ipam/filtersets.py:477 +#: netbox/ipam/filtersets.py:569 netbox/ipam/forms/model_forms.py:496 #: netbox/templates/tenancy/contact.html:53 #: netbox/tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "Endereço" -#: netbox/ipam/filtersets.py:479 +#: netbox/ipam/filtersets.py:481 msgid "Ranges which contain this prefix or IP" msgstr "Faixas que contêm este prefixo ou IP" -#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563 +#: netbox/ipam/filtersets.py:509 netbox/ipam/filtersets.py:565 msgid "Parent prefix" msgstr "Prefixo pai" -#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:618 netbox/ipam/filtersets.py:858 +#: netbox/ipam/filtersets.py:1133 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Máquina virtual (nome)" -#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/ipam/filtersets.py:623 netbox/ipam/filtersets.py:863 +#: netbox/ipam/filtersets.py:1127 netbox/virtualization/filtersets.py:282 #: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Máquina virtual (ID)" -#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 +#: netbox/ipam/filtersets.py:629 netbox/vpn/filtersets.py:97 #: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interface (nome)" -#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 +#: netbox/ipam/filtersets.py:640 netbox/vpn/filtersets.py:108 #: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interface da VM (nome)" -#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 +#: netbox/ipam/filtersets.py:645 netbox/vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "Interface da VM (ID)" -#: netbox/ipam/filtersets.py:648 +#: netbox/ipam/filtersets.py:650 msgid "FHRP group (ID)" msgstr "Grupo FHRP (ID)" -#: netbox/ipam/filtersets.py:652 +#: netbox/ipam/filtersets.py:654 msgid "Is assigned to an interface" msgstr "Está associado a uma interface" -#: netbox/ipam/filtersets.py:656 +#: netbox/ipam/filtersets.py:658 msgid "Is assigned" msgstr "Está associado" -#: netbox/ipam/filtersets.py:668 +#: netbox/ipam/filtersets.py:670 msgid "Service (ID)" msgstr "Serviço (ID)" -#: netbox/ipam/filtersets.py:673 +#: netbox/ipam/filtersets.py:675 msgid "NAT inside IP address (ID)" msgstr "NAT dentro do endereço IP (ID)" -#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +#: netbox/ipam/filtersets.py:1043 netbox/ipam/forms/bulk_import.py:322 msgid "Assigned interface" msgstr "Interface associada" -#: netbox/ipam/filtersets.py:1046 +#: netbox/ipam/filtersets.py:1048 msgid "Assigned VM interface" msgstr "Interface de VM atribuída" -#: netbox/ipam/filtersets.py:1136 +#: netbox/ipam/filtersets.py:1138 msgid "IP address (ID)" msgstr "Endereço IP (ID)" -#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1144 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "Endereço IP" -#: netbox/ipam/filtersets.py:1167 +#: netbox/ipam/filtersets.py:1169 msgid "Primary IPv4 (ID)" msgstr "IPv4 Primário (ID)" -#: netbox/ipam/filtersets.py:1172 +#: netbox/ipam/filtersets.py:1174 msgid "Primary IPv6 (ID)" msgstr "IPv6 Primário (ID)" @@ -9692,11 +9698,12 @@ msgstr "Tornar este o IP primário do dispositivo associado" #: netbox/ipam/forms/bulk_import.py:330 msgid "Is out-of-band" -msgstr "" +msgstr "É out-of-band" #: netbox/ipam/forms/bulk_import.py:331 msgid "Designate this as the out-of-band IP address for the assigned device" msgstr "" +"Designar este como endereço IP out-f-band para o dispositvo associado." #: netbox/ipam/forms/bulk_import.py:371 msgid "No device or virtual machine specified; cannot set as primary IP" @@ -9707,10 +9714,11 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:375 msgid "No device specified; cannot set as out-of-band IP" msgstr "" +"Nenhum dispositivo especificado; não pode ser definido como IP out-of-band" #: netbox/ipam/forms/bulk_import.py:379 msgid "Cannot set out-of-band IP for virtual machines" -msgstr "" +msgstr "Não é possível definir IP out-of-band para máquinas virtuais" #: netbox/ipam/forms/bulk_import.py:383 msgid "No interface specified; cannot set as primary IP" @@ -9720,6 +9728,7 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:387 msgid "No interface specified; cannot set as out-of-band IP" msgstr "" +"Nenhuma interface especificada; não pode ser definido como IP out-of-band" #: netbox/ipam/forms/bulk_import.py:422 msgid "Auth type" @@ -9896,7 +9905,7 @@ msgstr "Torne este o IP primário do dispositivo/VM" #: netbox/ipam/forms/model_forms.py:314 msgid "Make this the out-of-band IP for the device" -msgstr "" +msgstr "Definir este como endereço IP out-of-band para o dispositivo" #: netbox/ipam/forms/model_forms.py:329 msgid "NAT IP (Inside)" @@ -9909,10 +9918,12 @@ msgstr "Um endereço IP só pode ser atribuído a um único objeto." #: netbox/ipam/forms/model_forms.py:398 msgid "Cannot reassign primary IP address for the parent device/VM" msgstr "" +"Não é possível reatribuir o endereço primário para o dispositivo/VM pai" #: netbox/ipam/forms/model_forms.py:402 msgid "Cannot reassign out-of-Band IP address for the parent device" msgstr "" +"Não é possível reatribuir o endereço IP out-of-band para o dispositivo pai" #: netbox/ipam/forms/model_forms.py:412 msgid "" @@ -9926,6 +9937,8 @@ msgid "" "Only IP addresses assigned to a device interface can be designated as the " "out-of-band IP for a device." msgstr "" +"Somente endereços IP atribuídos para uma interface podem ser designados como" +" IP out-of-band para o dispositivo." #: netbox/ipam/forms/model_forms.py:508 msgid "Virtual IP Address" @@ -10327,12 +10340,12 @@ msgstr "Não é possível definir scope_id sem scope_type." #: netbox/ipam/models/vlans.py:105 #, python-brace-format msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" -msgstr "" +msgstr "VLAN ID inicial no intervalo {value} não pode ser menor que {minimum}" #: netbox/ipam/models/vlans.py:111 #, python-brace-format msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" -msgstr "" +msgstr "VLAN ID final no intervalo {value} não pode ser maior que {maximum}" #: netbox/ipam/models/vlans.py:118 #, python-brace-format @@ -10340,6 +10353,8 @@ msgid "" "Ending VLAN ID in range must be greater than or equal to the starting VLAN " "ID ({range})" msgstr "" +"VLAN ID final do intervalo deve ser maior ou igual à VLAN ID inicial " +"({range})" #: netbox/ipam/models/vlans.py:124 msgid "Ranges cannot overlap." @@ -11007,7 +11022,7 @@ msgstr "Atribuições dos Contatos" #: netbox/netbox/navigation/menu.py:50 msgid "Rack Roles" -msgstr "Funções de Rack" +msgstr "Funções do Rack" #: netbox/netbox/navigation/menu.py:54 msgid "Elevations" @@ -12701,11 +12716,11 @@ msgstr "Baixar" #: netbox/templates/dcim/device/render_config.html:64 #: netbox/templates/virtualization/virtualmachine/render_config.html:64 msgid "Error rendering template" -msgstr "" +msgstr "Erro ao renderizar o modelo" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "" +msgstr "Nenhum modelo de configuração foi atribuído para este dispositivo." #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -14388,6 +14403,7 @@ msgstr "Adicionar Disco Virtual" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." msgstr "" +"Nenhum modelo de configuração foi atribuído para esta máquina virtual." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15464,12 +15480,12 @@ msgstr "Memória (MB)" #: netbox/virtualization/forms/bulk_edit.py:174 msgid "Disk (MB)" -msgstr "" +msgstr "Disco (MB)" #: netbox/virtualization/forms/bulk_edit.py:334 #: netbox/virtualization/forms/filtersets.py:251 msgid "Size (MB)" -msgstr "" +msgstr "Tamanho (MB)" #: netbox/virtualization/forms/bulk_import.py:44 msgid "Type of cluster" @@ -15680,19 +15696,19 @@ msgstr "GRE" #: netbox/vpn/choices.py:39 msgid "WireGuard" -msgstr "" +msgstr "WireGuard" #: netbox/vpn/choices.py:40 msgid "OpenVPN" -msgstr "" +msgstr "OpenVPN" #: netbox/vpn/choices.py:41 msgid "L2TP" -msgstr "" +msgstr "L2TP" #: netbox/vpn/choices.py:42 msgid "PPTP" -msgstr "" +msgstr "PPTP" #: netbox/vpn/choices.py:64 msgid "Hub" diff --git a/requirements.txt b/requirements.txt index fb2a81dfa..08d06210c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,10 +20,10 @@ feedparser==6.0.11 gunicorn==23.0.0 Jinja2==3.1.4 Markdown==3.7 -mkdocs-material==9.5.48 +mkdocs-material==9.5.49 mkdocstrings[python-legacy]==0.27.0 netaddr==1.3.0 -nh3==0.2.19 +nh3==0.2.20 Pillow==11.0.0 psycopg[c,pool]==3.2.3 PyYAML==6.0.2 @@ -31,8 +31,8 @@ requests==2.32.3 rq==2.0 social-auth-app-django==5.4.2 social-auth-core==4.5.4 -strawberry-graphql==0.253.1 -strawberry-graphql-django==0.51.0 +strawberry-graphql==0.254.0 +strawberry-graphql-django==0.52.0 svgwrite==1.4.3 tablib==3.7.0 tzdata==2024.2