diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index f486791e127..cb39ae9be9b 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.1.10 + placeholder: v4.1.11 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 2e15c36cbc9..e42ff304536 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -39,7 +39,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.1.10 + placeholder: v4.1.11 validations: required: true - type: dropdown diff --git a/base_requirements.txt b/base_requirements.txt index 3e5bcb0db92..2348599627c 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -101,7 +101,7 @@ netaddr nh3 # Fork of PIL (Python Imaging Library) for image processing -# https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst +# https://github.com/python-pillow/Pillow/releases Pillow # PostgreSQL database adapter for Python diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index e68aa2344be..9a2f79ece50 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,5 +1,17 @@ # NetBox v4.1 +## v4.1.11 (2025-01-06) + +### Bug Fixes + +* [#17771](https://github.com/netbox-community/netbox/issues/17771) - Fix duplicate entries appearing on VLAN list when filtering by interface assignment +* [#18222](https://github.com/netbox-community/netbox/issues/18222) - Pass event rule action data to webhooks as context data +* [#18263](https://github.com/netbox-community/netbox/issues/18263) - Fix recalculation of cable paths when modifying cable terminations via the REST API +* [#18271](https://github.com/netbox-community/netbox/issues/18271) - Require only encryption _or_ authentication algorithm when creating an IPSec proposal via the REST API +* [#18289](https://github.com/netbox-community/netbox/issues/18289) - Enable ordering modules and module types by created & last updated times + +--- + ## v4.1.10 (2024-12-23) ### Bug Fixes diff --git a/netbox/release.yaml b/netbox/release.yaml index e96c80cfa57..7126342db25 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.10" +version: "4.1.11" edition: "Community" -published: "2024-12-23" +published: "2025-01-06" diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index 65ede0d43ad..4b62c2a5b14 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 da90e8efcbe..2cb2074cd42 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -11,17 +11,18 @@ # stavr666, 2024 # Alexander Ryazanov (alryaz) , 2024 # Vladyslav V. Prodan, 2024 -# Artem Kotik, 2024 # Jeremy Stretch, 2024 +# Michail Tatarinov, 2024 +# Artem Kotik, 2025 # #, fuzzy 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: 2025-01-04 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Artem Kotik, 2025\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -157,7 +158,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)" @@ -169,8 +170,8 @@ msgstr "Регион (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 "Регион (подстрока)" @@ -180,8 +181,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 "Группа сайтов (ID)" @@ -192,7 +193,7 @@ msgstr "Группа сайтов (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)" @@ -262,8 +263,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)" @@ -282,13 +283,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 "Провайдер (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 "Провайдер (подстрока)" @@ -317,8 +318,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 "Сайт (ID)" @@ -672,7 +673,7 @@ msgstr "Аккаунт провайдера" #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 -#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:70 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:256 netbox/ipam/forms/bulk_edit.py:306 @@ -1107,7 +1108,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 @@ -1547,7 +1548,7 @@ msgstr "Гарантированная скорость" #: netbox/circuits/tables/providers.py:82 #: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 #: netbox/dcim/tables/devicetypes.py:92 netbox/dcim/tables/modules.py:29 -#: netbox/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 +#: netbox/dcim/tables/modules.py:73 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 #: netbox/dcim/tables/sites.py:108 netbox/extras/tables/tables.py:582 @@ -1955,7 +1956,7 @@ msgstr "Фасады стоек" #: netbox/dcim/forms/bulk_edit.py:1390 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 msgid "Power" -msgstr "Мощность" +msgstr "Электропитание" #: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:154 #: netbox/templates/core/inc/config_data.html:37 @@ -2945,7 +2946,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 "Группа (ID)" @@ -3003,15 +3004,15 @@ msgstr "Тип стойки (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 "Роль (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 "Роль (подстрока)" @@ -3209,7 +3210,7 @@ msgstr "VDC (ID)" 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 "Интерфейс (ID)" @@ -3223,8 +3224,8 @@ msgid "Module bay (ID)" msgstr "Отсек для модулей (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 -#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py: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 "Устройство (ID)" @@ -3233,8 +3234,8 @@ msgstr "Устройство (ID)" 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 "Устройство (имя)" @@ -3286,9 +3287,9 @@ msgstr "Назначенный VID" #: 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 @@ -3315,19 +3316,19 @@ msgstr "Назначенный VID" 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 @@ -3421,7 +3422,7 @@ msgstr "Нерасторгнутый" #: netbox/dcim/filtersets.py:2239 msgid "Power panel (ID)" -msgstr "Панель питания (ID)" +msgstr "Распределительный щит (ID)" #: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:401 #: netbox/extras/forms/model_forms.py:567 @@ -3489,7 +3490,7 @@ msgstr "Часовой пояс" #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 #: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 #: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 -#: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 +#: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:61 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 #: netbox/templates/dcim/inventoryitem.html:44 @@ -3740,7 +3741,7 @@ msgid "Device Type" msgstr "Тип устройства" #: netbox/dcim/forms/bulk_edit.py:598 netbox/dcim/forms/model_forms.py:401 -#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 +#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:66 #: netbox/templates/dcim/module.html:65 #: netbox/templates/dcim/modulebay.html:66 #: netbox/templates/dcim/moduletype.html:22 @@ -3848,7 +3849,7 @@ msgstr "Кластер" #: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 #: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 #: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 -#: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 +#: netbox/dcim/tables/modules.py:53 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:505 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:323 #: netbox/ipam/forms/model_forms.py:712 netbox/ipam/forms/model_forms.py:745 @@ -3946,7 +3947,7 @@ msgstr "Домен" #: netbox/dcim/forms/bulk_edit.py:920 netbox/dcim/forms/bulk_import.py:1367 #: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/model_forms.py:750 msgid "Power panel" -msgstr "Панель питания" +msgstr "Распределительный щит" #: netbox/dcim/forms/bulk_edit.py:942 netbox/dcim/forms/bulk_import.py:1403 #: netbox/dcim/forms/filtersets.py:1180 @@ -4096,15 +4097,15 @@ msgstr "VLAN без тегов" #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" -msgstr "VLAN с тегами" +msgstr "Тегированные VLAN-ы" #: netbox/dcim/forms/bulk_edit.py:1511 msgid "Add tagged VLANs" -msgstr "" +msgstr "Добавить тегированные VLAN-ы" #: netbox/dcim/forms/bulk_edit.py:1520 msgid "Remove tagged VLANs" -msgstr "" +msgstr "Удалить тегированные VLAN-ы" #: netbox/dcim/forms/bulk_edit.py:1536 netbox/dcim/forms/model_forms.py:1348 msgid "Wireless LAN group" @@ -4152,7 +4153,7 @@ msgstr "Коммутация 802.1Q" #: netbox/dcim/forms/bulk_edit.py:1558 msgid "Add/Remove" -msgstr "" +msgstr "Добавить/удалить" #: netbox/dcim/forms/bulk_edit.py:1617 netbox/dcim/forms/bulk_edit.py:1619 msgid "Interface mode must be specified to assign VLANs" @@ -4230,7 +4231,7 @@ msgstr "Название назначенной роли" #: netbox/dcim/forms/bulk_import.py:264 msgid "Rack type model" -msgstr "" +msgstr "Модель типа стойки" #: netbox/dcim/forms/bulk_import.py:292 netbox/dcim/forms/bulk_import.py:435 #: netbox/dcim/forms/bulk_import.py:605 @@ -4239,11 +4240,11 @@ msgstr "Направление воздушного потока" #: netbox/dcim/forms/bulk_import.py:324 msgid "Width must be set if not specifying a rack type." -msgstr "" +msgstr "Если не указан тип стойки, необходимо задать ширину." #: netbox/dcim/forms/bulk_import.py:326 msgid "U height must be set if not specifying a rack type." -msgstr "" +msgstr "Если не указан тип стойки, необходимо задать высоту в юнитах." #: netbox/dcim/forms/bulk_import.py:334 msgid "Parent site" @@ -4596,7 +4597,7 @@ msgstr "Имя родительского сайта" #: netbox/dcim/forms/bulk_import.py:1370 msgid "Upstream power panel" -msgstr "Панель питания в восходящем направлении" +msgstr "Распределительный щит" #: netbox/dcim/forms/bulk_import.py:1400 msgid "Primary or redundant" @@ -4684,13 +4685,13 @@ msgstr "A {model} названный {name} уже существует" #: netbox/templates/dcim/powerpanel.html:19 #: netbox/templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" -msgstr "Панель питания" +msgstr "Распределительный щит" #: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:765 #: netbox/templates/dcim/powerfeed.html:21 #: netbox/templates/dcim/powerport.html:80 msgid "Power Feed" -msgstr "Подача питания" +msgstr "Кабель питания" #: netbox/dcim/forms/connections.py:81 msgid "Side" @@ -4905,6 +4906,10 @@ msgid "" "present, will be automatically replaced with the position value when " "creating a new module." msgstr "" +"Для массового создания поддерживаются алфавитно-цифровые диапазоны. " +"Смешанные имена и номера в одном диапазоне не поддерживаются (например: " +"[ge, xe]-0/0/[0-9]). Переменная {module} будет " +"автоматически заменена значением позиции при создании нового модуля." #: netbox/dcim/forms/model_forms.py:1094 msgid "Console port template" @@ -5629,7 +5634,7 @@ msgstr "VLAN без тегов" #: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" -msgstr "VLAN без тегов" +msgstr "тегированные VLAN" #: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 @@ -6325,11 +6330,11 @@ msgstr "При установке веса необходимо указать #: netbox/dcim/models/power.py:55 msgid "power panel" -msgstr "панель питания" +msgstr "распределительный щит" #: netbox/dcim/models/power.py:56 msgid "power panels" -msgstr "панели питания" +msgstr "распределительный щиты" #: netbox/dcim/models/power.py:70 #, python-brace-format @@ -6369,11 +6374,11 @@ msgstr "доступная мощность" #: netbox/dcim/models/power.py:164 msgid "power feed" -msgstr "подача питания" +msgstr "Кабель питания" #: netbox/dcim/models/power.py:165 msgid "power feeds" -msgstr "источники питания" +msgstr "кабели питания" #: netbox/dcim/models/power.py:179 #, python-brace-format @@ -6381,7 +6386,7 @@ msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -"Стойка {rack} ({rack_site}) и панель питания {powerpanel} " +"Стойка {rack} ({rack_site}) и распределительный щит {powerpanel} " "({powerpanel_site}) расположены на разных сайтах." #: netbox/dcim/models/power.py:190 @@ -6821,7 +6826,7 @@ msgstr "Отсеки для модулей" msgid "Inventory items" msgstr "Комплектующие" -#: netbox/dcim/tables/devices.py:305 netbox/dcim/tables/modules.py:56 +#: netbox/dcim/tables/devices.py:305 netbox/dcim/tables/modules.py:57 #: netbox/templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Модульный отсек" @@ -7040,7 +7045,7 @@ msgstr "Отсеки для модулей" #: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:297 #: netbox/templates/dcim/powerpanel.html:51 msgid "Power Feeds" -msgstr "Источники питания" +msgstr "Кабели питания" #: netbox/dcim/tables/power.py:80 netbox/templates/dcim/powerfeed.html:99 msgid "Max Utilization" @@ -7550,12 +7555,12 @@ msgstr "Закладки" msgid "Show your personal bookmarks" msgstr "Покажите свои личные закладки" -#: netbox/extras/events.py:147 +#: netbox/extras/events.py:151 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "Неизвестный тип действия для правила события: {action_type}" -#: netbox/extras/events.py:192 +#: netbox/extras/events.py:196 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "Невозможно импортировать конвейер событий {name} ошибка: {error}" @@ -9326,129 +9331,129 @@ msgstr "Экспорт L2VPN" msgid "Exporting L2VPN (identifier)" msgstr "Экспорт L2VPN (идентификатор)" -#: 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 "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 (подстрока)" -#: 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 "Префиксы, содержащие этот префикс или 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 "Длина маски" -#: 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 "Номер 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 "Адрес" -#: netbox/ipam/filtersets.py:479 +#: netbox/ipam/filtersets.py:481 msgid "Ranges which contain this prefix or IP" msgstr "Диапазоны, содержащие этот префикс или 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 "Родительский префикс" -#: 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 "Виртуальная машина (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 "Интерфейс (имя)" -#: 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 "Интерфейс виртуальной машины (ID)" -#: netbox/ipam/filtersets.py:648 +#: netbox/ipam/filtersets.py:650 msgid "FHRP group (ID)" msgstr "FHRP группа (ID)" -#: 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 "Сервис (ID)" -#: netbox/ipam/filtersets.py:673 +#: netbox/ipam/filtersets.py:675 msgid "NAT inside IP address (ID)" msgstr "Внутренний NAT 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 "Назначенный интерфейс" -#: 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 "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 "IP-адрес" -#: netbox/ipam/filtersets.py:1167 +#: netbox/ipam/filtersets.py:1169 msgid "Primary IPv4 (ID)" msgstr "Основной IPv4 (ID)" -#: netbox/ipam/filtersets.py:1172 +#: netbox/ipam/filtersets.py:1174 msgid "Primary IPv6 (ID)" msgstr "Основной IPv6 (ID)" @@ -9672,11 +9677,11 @@ msgstr "Сделайте этот IP-адрес основным для назн #: netbox/ipam/forms/bulk_import.py:330 msgid "Is out-of-band" -msgstr "" +msgstr "Внеполосный IP-адрес" #: netbox/ipam/forms/bulk_import.py:331 msgid "Designate this as the out-of-band IP address for the assigned device" -msgstr "" +msgstr "Назначьте это как внеполосный IP-адрес для указанного устройства" #: netbox/ipam/forms/bulk_import.py:371 msgid "No device or virtual machine specified; cannot set as primary IP" @@ -9686,11 +9691,11 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:375 msgid "No device specified; cannot set as out-of-band IP" -msgstr "" +msgstr "Устройство не указано; невозможно установить как внеполосный IP-адрес" #: netbox/ipam/forms/bulk_import.py:379 msgid "Cannot set out-of-band IP for virtual machines" -msgstr "" +msgstr "Невозможно установить внеполосный IP-адрес для виртуальных машин" #: netbox/ipam/forms/bulk_import.py:383 msgid "No interface specified; cannot set as primary IP" @@ -9699,7 +9704,7 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:387 msgid "No interface specified; cannot set as out-of-band IP" -msgstr "" +msgstr "Интерфейс не указан; невозможно установить как внеполосный IP-адрес" #: netbox/ipam/forms/bulk_import.py:422 msgid "Auth type" @@ -9812,7 +9817,7 @@ msgstr "DNS-имя" #: netbox/ipam/views.py:971 netbox/netbox/navigation/menu.py:193 #: netbox/netbox/navigation/menu.py:195 msgid "VLANs" -msgstr "VLAN" +msgstr "VLAN-ы" #: netbox/ipam/forms/filtersets.py:457 msgid "Contains VLAN ID" @@ -9876,7 +9881,7 @@ msgstr "Сделайте этот IP-адрес основным для устр #: netbox/ipam/forms/model_forms.py:314 msgid "Make this the out-of-band IP for the device" -msgstr "" +msgstr "Назначить внеполосным IP-адресом устройства" #: netbox/ipam/forms/model_forms.py:329 msgid "NAT IP (Inside)" @@ -9889,10 +9894,13 @@ msgstr "IP-адрес можно присвоить только одному о #: netbox/ipam/forms/model_forms.py:398 msgid "Cannot reassign primary IP address for the parent device/VM" msgstr "" +"Невозможно переназначить основной IP-адрес родительского " +"устройства/виртуальной машины" #: netbox/ipam/forms/model_forms.py:402 msgid "Cannot reassign out-of-Band IP address for the parent device" msgstr "" +"Невозможно переназначить внеполосный IP-адрес родительскому устройству" #: netbox/ipam/forms/model_forms.py:412 msgid "" @@ -9906,6 +9914,8 @@ msgid "" "Only IP addresses assigned to a device interface can be designated as the " "out-of-band IP for a device." msgstr "" +"В качестве внеполосного IP-адреса устройства можно указать только IP-адреса," +" назначенные интерфейсу устройства." #: netbox/ipam/forms/model_forms.py:508 msgid "Virtual IP Address" @@ -10304,11 +10314,15 @@ msgstr "Невозможно установить scope_id без scope_type." #, python-brace-format msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" msgstr "" +"Начальный идентификатор VLAN в диапазоне ({value}) не может быть меньше " +"{minimum}" #: netbox/ipam/models/vlans.py:111 #, python-brace-format msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" msgstr "" +"Последний идентификатор VLAN в диапазоне ({value}) не может превышать " +"{maximum}" #: netbox/ipam/models/vlans.py:118 #, python-brace-format @@ -10316,6 +10330,8 @@ msgid "" "Ending VLAN ID in range must be greater than or equal to the starting VLAN " "ID ({range})" msgstr "" +"Последний идентификатор VLAN в диапазоне должен быть больше или равен " +"начальному идентификатору VLAN ({range})" #: netbox/ipam/models/vlans.py:124 msgid "Ranges cannot overlap." @@ -11169,7 +11185,7 @@ msgstr "Сети провайдеров" #: netbox/netbox/navigation/menu.py:298 msgid "Power Panels" -msgstr "Панели питания" +msgstr "Распределительный щиты" #: netbox/netbox/navigation/menu.py:309 msgid "Configurations" @@ -12109,7 +12125,7 @@ msgstr "Ширина юнита по умолчанию" #: netbox/templates/core/inc/config_data.html:20 msgid "Power feeds" -msgstr "Источники питания" +msgstr "Кабели питания" #: netbox/templates/core/inc/config_data.html:23 msgid "Default voltage" @@ -12684,11 +12700,11 @@ msgstr "Скачать" #: netbox/templates/dcim/device/render_config.html:64 #: netbox/templates/virtualization/virtualmachine/render_config.html:64 msgid "Error rendering template" -msgstr "" +msgstr "Ошибка при отображении шаблона" #: netbox/templates/dcim/device/render_config.html:70 msgid "No configuration template has been assigned for this device." -msgstr "" +msgstr "Для этого устройства не назначен шаблон конфигурации." #: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" @@ -12842,7 +12858,7 @@ msgstr "Без тегов" #: netbox/templates/dcim/inc/interface_vlans_table.html:37 msgid "No VLANs Assigned" -msgstr "VLAN не назначены" +msgstr "VLAN-ы не назначены" #: netbox/templates/dcim/inc/interface_vlans_table.html:44 #: netbox/templates/ipam/prefix_list.html:16 @@ -13013,7 +13029,7 @@ msgstr "Фаза электропитания" #: netbox/templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" -msgstr "Добавить каналы питания" +msgstr "Добавить кабели питания" #: netbox/templates/dcim/powerport.html:44 msgid "Maximum Draw" @@ -13555,7 +13571,7 @@ msgstr "Повторить" #: netbox/templates/extras/script_list.html:133 #, python-format msgid "Could not load scripts from module %(module)s" -msgstr "" +msgstr "Не удалось загрузить скрипты из модуля %(module)s" #: netbox/templates/extras/script_list.html:141 msgid "No Scripts Found" @@ -14369,7 +14385,7 @@ msgstr "Добавить виртуальный диск" #: netbox/templates/virtualization/virtualmachine/render_config.html:70 msgid "No configuration template has been assigned for this virtual machine." -msgstr "" +msgstr "Для этой виртуальной машины не назначен шаблон конфигурации." #: netbox/templates/vpn/ikepolicy.html:10 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 @@ -15448,12 +15464,12 @@ msgstr "Память (МБ)" #: netbox/virtualization/forms/bulk_edit.py:174 msgid "Disk (MB)" -msgstr "" +msgstr "Диск (МБ)" #: netbox/virtualization/forms/bulk_edit.py:334 #: netbox/virtualization/forms/filtersets.py:251 msgid "Size (MB)" -msgstr "" +msgstr "Размер (МБ)" #: netbox/virtualization/forms/bulk_import.py:44 msgid "Type of cluster" @@ -15664,19 +15680,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 08d06210ca3..88d642d793b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,28 +11,28 @@ django-redis==5.4.0 django-rich==1.13.0 django-rq==3.0 django-taggit==6.1.0 -django-tables2==2.7.0 +django-tables2==2.7.5 django-timezone-field==7.0 djangorestframework==3.15.2 drf-spectacular==0.28.0 drf-spectacular-sidecar==2024.12.1 feedparser==6.0.11 gunicorn==23.0.0 -Jinja2==3.1.4 +Jinja2==3.1.5 Markdown==3.7 mkdocs-material==9.5.49 mkdocstrings[python-legacy]==0.27.0 netaddr==1.3.0 nh3==0.2.20 -Pillow==11.0.0 +Pillow==11.1.0 psycopg[c,pool]==3.2.3 PyYAML==6.0.2 requests==2.32.3 -rq==2.0 +rq==2.1.0 social-auth-app-django==5.4.2 social-auth-core==4.5.4 -strawberry-graphql==0.254.0 -strawberry-graphql-django==0.52.0 +strawberry-graphql==0.256.1 +strawberry-graphql-django==0.53.1 svgwrite==1.4.3 tablib==3.7.0 tzdata==2024.2