From a7ba181fcbf768496cec76f6f49f64a0656a2f99 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 6 Jan 2025 10:39:52 -0500 Subject: [PATCH] Release v4.1.11 --- .../ISSUE_TEMPLATE/01-feature_request.yaml | 2 +- .github/ISSUE_TEMPLATE/02-bug_report.yaml | 2 +- base_requirements.txt | 2 +- docs/release-notes/version-4.1.md | 12 + netbox/release.yaml | 4 +- netbox/translations/ru/LC_MESSAGES/django.mo | Bin 296938 -> 301883 bytes netbox/translations/ru/LC_MESSAGES/django.po | 244 ++++++++++-------- requirements.txt | 12 +- 8 files changed, 153 insertions(+), 125 deletions(-) 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 65ede0d43ad754ab9da9b2b12e0340b2a9c3f444..4b62c2a5b1419eab25391b91fe2a9bd4a23066ac 100644 GIT binary patch delta 69906 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 S^UF-Z|9v+-SEC)NQ~xg!VuU;Z delta 66900 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 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