diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 14fe6c0b3..f1da08334 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-04 19:11+0000\n" +"POT-Creation-Date: 2024-05-06 17:40+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" @@ -28,9 +28,9 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: account/tables.py:27 templates/account/token.html:23 -#: templates/users/token.html:18 users/forms/bulk_import.py:41 -#: users/forms/model_forms.py:114 +#: account/tables.py:27 templates/account/token.html:22 +#: templates/users/token.html:17 users/forms/bulk_import.py:39 +#: users/forms/model_forms.py:116 msgid "Key" msgstr "Ключ" @@ -38,30 +38,31 @@ msgstr "Ключ" msgid "Write Enabled" msgstr "Запись включена" -#: account/tables.py:34 core/tables/jobs.py:29 extras/choices.py:135 -#: extras/tables/tables.py:474 templates/account/token.html:44 -#: templates/core/configrevision.html:34 -#: templates/core/configrevision_restore.html:12 templates/core/job.html:58 -#: templates/extras/htmx/report_result.html:11 +#: account/tables.py:35 core/tables/jobs.py:29 core/tables/tasks.py:79 +#: extras/choices.py:138 extras/tables/tables.py:499 +#: templates/account/token.html:43 templates/core/configrevision.html:26 +#: templates/core/configrevision_restore.html:12 templates/core/job.html:51 +#: templates/core/rq_task.html:16 templates/core/rq_task.html:73 +#: templates/core/rq_worker.html:14 #: templates/extras/htmx/script_result.html:12 -#: templates/extras/journalentry.html:25 templates/generic/object.html:48 -#: templates/users/token.html:36 +#: templates/extras/journalentry.html:22 templates/generic/object.html:58 +#: templates/users/token.html:35 msgid "Created" msgstr "Создан" -#: account/tables.py:37 templates/account/token.html:48 -#: templates/users/token.html:40 users/forms/bulk_edit.py:97 +#: account/tables.py:39 templates/account/token.html:47 +#: templates/users/token.html:39 users/forms/bulk_edit.py:117 #: users/forms/filtersets.py:137 msgid "Expires" msgstr "Истекает" -#: account/tables.py:40 users/forms/filtersets.py:142 +#: account/tables.py:42 users/forms/filtersets.py:142 msgid "Last Used" msgstr "Последнее использование" -#: account/tables.py:43 templates/account/token.html:56 -#: templates/users/token.html:48 users/forms/bulk_edit.py:102 -#: users/forms/model_forms.py:126 +#: account/tables.py:45 templates/account/token.html:55 +#: templates/users/token.html:47 users/forms/bulk_edit.py:122 +#: users/forms/model_forms.py:128 msgid "Allowed IPs" msgstr "Разрешенные IP-адреса" @@ -76,17 +77,18 @@ msgstr "Ваши настройки были обновлены." msgid "Planned" msgstr "Запланировано" -#: circuits/choices.py:22 netbox/navigation/menu.py:290 +#: circuits/choices.py:22 netbox/navigation/menu.py:289 msgid "Provisioning" msgstr "Ввод в эксплутацию" -#: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 -#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 -#: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:38 -#: users/forms/bulk_edit.py:36 virtualization/choices.py:22 -#: virtualization/choices.py:44 vpn/choices.py:19 wireless/choices.py:25 +#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 +#: dcim/choices.py:103 dcim/choices.py:173 dcim/choices.py:219 +#: dcim/choices.py:1500 dcim/choices.py:1550 extras/tables/tables.py:385 +#: ipam/choices.py:31 ipam/choices.py:49 ipam/choices.py:69 +#: ipam/choices.py:154 templates/extras/configcontext.html:25 +#: templates/users/user.html:37 users/forms/bulk_edit.py:38 +#: virtualization/choices.py:22 virtualization/choices.py:44 vpn/choices.py:19 +#: wireless/choices.py:25 msgid "Active" msgstr "Активный" @@ -104,100 +106,101 @@ msgstr "Вывод из эксплуатации" msgid "Decommissioned" msgstr "Списан" -#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 -#: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 -#: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 -#: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 -#: ipam/filtersets.py:896 virtualization/filtersets.py:45 -#: virtualization/filtersets.py:173 vpn/filtersets.py:330 +#: circuits/filtersets.py:29 circuits/filtersets.py:196 dcim/filtersets.py:97 +#: dcim/filtersets.py:151 dcim/filtersets.py:211 dcim/filtersets.py:297 +#: dcim/filtersets.py:406 dcim/filtersets.py:969 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1822 dcim/filtersets.py:2065 dcim/filtersets.py:2123 +#: ipam/filtersets.py:339 ipam/filtersets.py:945 +#: virtualization/filtersets.py:45 virtualization/filtersets.py:173 +#: vpn/filtersets.py:377 msgid "Region (ID)" msgstr "Регион (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 -#: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 -#: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 -#: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 -#: ipam/filtersets.py:312 ipam/filtersets.py:903 +#: circuits/filtersets.py:36 circuits/filtersets.py:203 dcim/filtersets.py:104 +#: dcim/filtersets.py:157 dcim/filtersets.py:218 dcim/filtersets.py:304 +#: dcim/filtersets.py:413 dcim/filtersets.py:976 dcim/filtersets.py:1302 +#: dcim/filtersets.py:1829 dcim/filtersets.py:2072 dcim/filtersets.py:2130 +#: extras/filtersets.py:461 ipam/filtersets.py:346 ipam/filtersets.py:952 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 -#: vpn/filtersets.py:325 +#: vpn/filtersets.py:372 msgid "Region (slug)" msgstr "Регион (подстрока)" -#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 -#: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 -#: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 -#: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 -#: virtualization/filtersets.py:58 virtualization/filtersets.py:186 +#: circuits/filtersets.py:42 circuits/filtersets.py:209 dcim/filtersets.py:127 +#: dcim/filtersets.py:224 dcim/filtersets.py:310 dcim/filtersets.py:419 +#: dcim/filtersets.py:982 dcim/filtersets.py:1308 dcim/filtersets.py:1835 +#: dcim/filtersets.py:2078 dcim/filtersets.py:2136 ipam/filtersets.py:352 +#: ipam/filtersets.py:958 virtualization/filtersets.py:58 +#: virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "Группа сайтов (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 -#: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 -#: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 -#: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 -#: ipam/filtersets.py:916 virtualization/filtersets.py:65 -#: virtualization/filtersets.py:193 +#: circuits/filtersets.py:49 circuits/filtersets.py:216 dcim/filtersets.py:134 +#: dcim/filtersets.py:231 dcim/filtersets.py:317 dcim/filtersets.py:426 +#: dcim/filtersets.py:989 dcim/filtersets.py:1315 dcim/filtersets.py:1842 +#: dcim/filtersets.py:2085 dcim/filtersets.py:2143 extras/filtersets.py:467 +#: ipam/filtersets.py:359 ipam/filtersets.py:965 +#: virtualization/filtersets.py:65 virtualization/filtersets.py:193 msgid "Site group (slug)" msgstr "Группа сайтов (подстрока)" -#: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 -#: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 -#: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 -#: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 -#: dcim/forms/bulk_import.py:184 dcim/forms/bulk_import.py:257 -#: dcim/forms/bulk_import.py:485 dcim/forms/bulk_import.py:1262 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:84 -#: dcim/forms/filtersets.py:217 dcim/forms/filtersets.py:264 -#: dcim/forms/filtersets.py:373 dcim/forms/filtersets.py:680 -#: dcim/forms/filtersets.py:910 dcim/forms/filtersets.py:934 -#: dcim/forms/filtersets.py:1024 dcim/forms/filtersets.py:1062 -#: dcim/forms/filtersets.py:1468 dcim/forms/filtersets.py:1492 -#: dcim/forms/filtersets.py:1516 dcim/forms/model_forms.py:138 -#: dcim/forms/model_forms.py:167 dcim/forms/model_forms.py:211 -#: dcim/forms/model_forms.py:401 dcim/forms/model_forms.py:637 -#: dcim/forms/object_create.py:390 dcim/tables/devices.py:186 -#: dcim/tables/power.py:26 dcim/tables/power.py:93 dcim/tables/racks.py:62 -#: dcim/tables/racks.py:138 dcim/tables/sites.py:129 extras/filtersets.py:430 -#: ipam/forms/bulk_edit.py:215 ipam/forms/bulk_edit.py:269 -#: ipam/forms/bulk_edit.py:447 ipam/forms/bulk_edit.py:519 -#: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 -#: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 -#: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 -#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 -#: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 -#: templates/circuits/circuittermination_edit.html:20 -#: templates/circuits/inc/circuit_termination.html:33 -#: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 +#: circuits/filtersets.py:54 circuits/forms/bulk_import.py:116 +#: circuits/forms/filtersets.py:48 circuits/forms/filtersets.py:168 +#: circuits/forms/model_forms.py:136 circuits/forms/model_forms.py:152 +#: dcim/forms/bulk_edit.py:167 dcim/forms/bulk_edit.py:239 +#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:771 +#: dcim/forms/bulk_import.py:130 dcim/forms/bulk_import.py:184 +#: dcim/forms/bulk_import.py:257 dcim/forms/bulk_import.py:485 +#: dcim/forms/bulk_import.py:1262 dcim/forms/bulk_import.py:1290 +#: dcim/forms/filtersets.py:85 dcim/forms/filtersets.py:218 +#: dcim/forms/filtersets.py:265 dcim/forms/filtersets.py:374 +#: dcim/forms/filtersets.py:681 dcim/forms/filtersets.py:908 +#: dcim/forms/filtersets.py:932 dcim/forms/filtersets.py:1022 +#: dcim/forms/filtersets.py:1060 dcim/forms/filtersets.py:1468 +#: dcim/forms/filtersets.py:1492 dcim/forms/filtersets.py:1516 +#: dcim/forms/model_forms.py:136 dcim/forms/model_forms.py:164 +#: dcim/forms/model_forms.py:206 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:668 dcim/forms/object_create.py:391 +#: dcim/tables/devices.py:158 dcim/tables/power.py:26 dcim/tables/power.py:93 +#: dcim/tables/racks.py:62 dcim/tables/racks.py:138 dcim/tables/sites.py:129 +#: extras/filtersets.py:477 ipam/forms/bulk_edit.py:216 +#: ipam/forms/bulk_edit.py:270 ipam/forms/bulk_edit.py:448 +#: ipam/forms/bulk_edit.py:522 ipam/forms/bulk_import.py:170 +#: ipam/forms/bulk_import.py:437 ipam/forms/filtersets.py:153 +#: ipam/forms/filtersets.py:230 ipam/forms/filtersets.py:424 +#: ipam/forms/filtersets.py:477 ipam/forms/model_forms.py:203 +#: ipam/forms/model_forms.py:578 ipam/forms/model_forms.py:673 +#: ipam/tables/ip.py:244 ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 +#: templates/circuits/inc/circuit_termination.html:32 +#: templates/dcim/device.html:21 templates/dcim/inc/cable_termination.html:8 #: templates/dcim/inc/cable_termination.html:33 -#: templates/dcim/location.html:40 templates/dcim/powerpanel.html:23 -#: templates/dcim/rack.html:25 templates/dcim/rackreservation.html:31 -#: templates/dcim/site.html:27 templates/ipam/prefix.html:57 -#: templates/ipam/vlan.html:26 templates/ipam/vlan_edit.html:40 -#: templates/virtualization/cluster.html:45 -#: templates/virtualization/virtualmachine.html:96 -#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 -#: virtualization/forms/bulk_edit.py:123 +#: templates/dcim/location.html:37 templates/dcim/powerpanel.html:22 +#: templates/dcim/rack.html:22 templates/dcim/rackreservation.html:28 +#: templates/dcim/site.html:27 templates/ipam/prefix.html:56 +#: templates/ipam/vlan.html:23 templates/ipam/vlan_edit.html:40 +#: templates/virtualization/cluster.html:42 +#: templates/virtualization/virtualmachine.html:91 +#: virtualization/forms/bulk_edit.py:91 virtualization/forms/bulk_edit.py:109 +#: virtualization/forms/bulk_edit.py:124 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 -#: virtualization/forms/filtersets.py:78 -#: virtualization/forms/filtersets.py:144 -#: virtualization/forms/model_forms.py:74 -#: virtualization/forms/model_forms.py:107 -#: virtualization/forms/model_forms.py:174 +#: virtualization/forms/filtersets.py:79 +#: virtualization/forms/filtersets.py:148 +#: virtualization/forms/model_forms.py:71 +#: virtualization/forms/model_forms.py:104 +#: virtualization/forms/model_forms.py:171 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 -#: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:266 +#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118 msgid "Site" msgstr "Сайт" -#: circuits/filtersets.py:60 circuits/filtersets.py:221 -#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 -#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 -#: ipam/filtersets.py:335 ipam/filtersets.py:926 +#: circuits/filtersets.py:60 circuits/filtersets.py:227 +#: circuits/filtersets.py:272 dcim/filtersets.py:241 dcim/filtersets.py:327 +#: dcim/filtersets.py:400 extras/filtersets.py:483 ipam/filtersets.py:238 +#: ipam/filtersets.py:369 ipam/filtersets.py:975 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 -#: vpn/filtersets.py:335 +#: vpn/filtersets.py:382 msgid "Site (slug)" msgstr "Сайт (подстрока)" @@ -205,19 +208,19 @@ msgstr "Сайт (подстрока)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 -#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:28 +#: ipam/forms/model_forms.py:157 ipam/models/asns.py:108 #: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 msgid "ASN" msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 -#: circuits/filtersets.py:154 +#: circuits/filtersets.py:154 ipam/filtersets.py:243 msgid "Provider (ID)" msgstr "Провайдер (ID)" #: circuits/filtersets.py:99 circuits/filtersets.py:126 -#: circuits/filtersets.py:160 +#: circuits/filtersets.py:160 ipam/filtersets.py:249 msgid "Provider (slug)" msgstr "Провайдер (подстрока)" @@ -225,586 +228,605 @@ msgstr "Провайдер (подстрока)" msgid "Provider account (ID)" msgstr "Аккаунт провайдера (ID)" -#: circuits/filtersets.py:170 +#: circuits/filtersets.py:171 +msgid "Provider account (account)" +msgstr "Учетная запись провайдера (учетная запись)" + +#: circuits/filtersets.py:176 msgid "Provider network (ID)" msgstr "Сеть провайдера (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (ID)" msgstr "Тип канала связи (ID)" -#: circuits/filtersets.py:180 +#: circuits/filtersets.py:186 msgid "Circuit type (slug)" msgstr "Тип канала связи (подстрока)" -#: circuits/filtersets.py:215 circuits/filtersets.py:252 -#: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 -#: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 -#: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 -#: ipam/filtersets.py:329 ipam/filtersets.py:920 +#: circuits/filtersets.py:221 circuits/filtersets.py:266 +#: dcim/filtersets.py:235 dcim/filtersets.py:321 dcim/filtersets.py:394 +#: dcim/filtersets.py:993 dcim/filtersets.py:1320 dcim/filtersets.py:1847 +#: dcim/filtersets.py:2089 dcim/filtersets.py:2148 ipam/filtersets.py:232 +#: ipam/filtersets.py:363 ipam/filtersets.py:969 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 -#: vpn/filtersets.py:340 +#: vpn/filtersets.py:387 msgid "Site (ID)" msgstr "Сайт (ID)" -#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 -#: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 -#: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 -#: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 -#: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 -#: netbox/filtersets.py:275 netbox/forms/__init__.py:23 -#: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 -#: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 -#: templates/search.html:7 templates/search.html:26 tenancy/filtersets.py:87 -#: users/filtersets.py:21 users/filtersets.py:37 users/filtersets.py:69 -#: users/filtersets.py:117 utilities/forms/forms.py:99 +#: circuits/filtersets.py:231 circuits/filtersets.py:235 +msgid "Termination A (ID)" +msgstr "Прекращение действия A (ID)" + +#: circuits/filtersets.py:258 core/filtersets.py:73 core/filtersets.py:132 +#: dcim/filtersets.py:693 dcim/filtersets.py:1289 dcim/filtersets.py:2196 +#: extras/filtersets.py:41 extras/filtersets.py:63 extras/filtersets.py:92 +#: extras/filtersets.py:127 extras/filtersets.py:176 extras/filtersets.py:204 +#: extras/filtersets.py:234 extras/filtersets.py:271 extras/filtersets.py:343 +#: extras/filtersets.py:390 extras/filtersets.py:450 extras/filtersets.py:613 +#: extras/filtersets.py:655 extras/filtersets.py:696 +#: ipam/forms/model_forms.py:438 netbox/filtersets.py:275 +#: netbox/forms/__init__.py:22 netbox/forms/base.py:165 +#: templates/htmx/object_selector.html:28 templates/inc/filter_list.html:45 +#: templates/ipam/ipaddress_assign.html:32 templates/search.html:7 +#: templates/search.html:26 tenancy/filtersets.py:100 users/filtersets.py:23 +#: users/filtersets.py:52 users/filtersets.py:92 users/filtersets.py:140 +#: utilities/forms/forms.py:104 msgid "Search" msgstr "Поиск" -#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 -#: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 -#: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 +#: circuits/filtersets.py:262 circuits/forms/bulk_edit.py:168 +#: circuits/forms/model_forms.py:109 circuits/forms/model_forms.py:131 +#: dcim/forms/connections.py:71 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 #: templates/dcim/trace/circuit.html:4 msgid "Circuit" msgstr "Канал связи" -#: circuits/filtersets.py:262 +#: circuits/filtersets.py:276 msgid "ProviderNetwork (ID)" msgstr "Сеть провайдера (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 -#: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 -#: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 +#: circuits/forms/bulk_edit.py:26 circuits/forms/filtersets.py:53 +#: circuits/forms/model_forms.py:27 circuits/tables/providers.py:33 +#: dcim/forms/bulk_edit.py:127 dcim/forms/filtersets.py:188 +#: dcim/forms/model_forms.py:122 dcim/tables/sites.py:94 #: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:219 -#: netbox/navigation/menu.py:160 netbox/navigation/menu.py:163 -#: templates/circuits/provider.html:24 +#: netbox/navigation/menu.py:159 netbox/navigation/menu.py:162 +#: templates/circuits/provider.html:23 msgid "ASNs" msgstr "ASN" -#: circuits/forms/bulk_edit.py:29 circuits/forms/bulk_edit.py:51 -#: circuits/forms/bulk_edit.py:78 circuits/forms/bulk_edit.py:99 -#: circuits/forms/bulk_edit.py:159 core/forms/bulk_edit.py:27 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:71 -#: dcim/forms/bulk_edit.py:90 dcim/forms/bulk_edit.py:149 -#: dcim/forms/bulk_edit.py:190 dcim/forms/bulk_edit.py:208 -#: dcim/forms/bulk_edit.py:336 dcim/forms/bulk_edit.py:371 -#: dcim/forms/bulk_edit.py:386 dcim/forms/bulk_edit.py:445 -#: dcim/forms/bulk_edit.py:484 dcim/forms/bulk_edit.py:514 -#: dcim/forms/bulk_edit.py:538 dcim/forms/bulk_edit.py:608 -#: dcim/forms/bulk_edit.py:657 dcim/forms/bulk_edit.py:709 -#: dcim/forms/bulk_edit.py:732 dcim/forms/bulk_edit.py:780 -#: dcim/forms/bulk_edit.py:850 dcim/forms/bulk_edit.py:903 -#: dcim/forms/bulk_edit.py:938 dcim/forms/bulk_edit.py:978 -#: dcim/forms/bulk_edit.py:1022 dcim/forms/bulk_edit.py:1067 -#: dcim/forms/bulk_edit.py:1094 dcim/forms/bulk_edit.py:1112 -#: dcim/forms/bulk_edit.py:1130 dcim/forms/bulk_edit.py:1148 -#: dcim/forms/bulk_edit.py:1566 extras/forms/bulk_edit.py:36 -#: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:152 -#: extras/forms/bulk_edit.py:182 extras/forms/bulk_edit.py:263 -#: extras/forms/bulk_edit.py:287 extras/forms/bulk_edit.py:301 -#: extras/tables/tables.py:56 ipam/forms/bulk_edit.py:50 -#: ipam/forms/bulk_edit.py:70 ipam/forms/bulk_edit.py:90 -#: ipam/forms/bulk_edit.py:114 ipam/forms/bulk_edit.py:143 -#: ipam/forms/bulk_edit.py:172 ipam/forms/bulk_edit.py:191 -#: ipam/forms/bulk_edit.py:260 ipam/forms/bulk_edit.py:304 -#: ipam/forms/bulk_edit.py:352 ipam/forms/bulk_edit.py:395 -#: ipam/forms/bulk_edit.py:423 ipam/forms/bulk_edit.py:551 -#: ipam/forms/bulk_edit.py:582 templates/account/token.html:36 -#: templates/circuits/circuit.html:60 templates/circuits/circuittype.html:29 -#: templates/circuits/inc/circuit_termination.html:115 -#: templates/circuits/provider.html:34 -#: templates/circuits/providernetwork.html:35 -#: templates/core/datasource.html:55 templates/dcim/cable.html:37 -#: templates/dcim/consoleport.html:47 templates/dcim/consoleserverport.html:47 -#: templates/dcim/device.html:96 templates/dcim/devicebay.html:35 -#: templates/dcim/devicerole.html:33 templates/dcim/devicetype.html:36 -#: templates/dcim/frontport.html:61 templates/dcim/interface.html:70 -#: templates/dcim/inventoryitem.html:61 -#: templates/dcim/inventoryitemrole.html:23 templates/dcim/location.html:36 -#: templates/dcim/manufacturer.html:43 templates/dcim/module.html:71 -#: templates/dcim/modulebay.html:39 templates/dcim/moduletype.html:27 -#: templates/dcim/platform.html:36 templates/dcim/powerfeed.html:43 -#: templates/dcim/poweroutlet.html:43 templates/dcim/powerpanel.html:31 -#: templates/dcim/powerport.html:43 templates/dcim/rack.html:54 -#: templates/dcim/rackreservation.html:69 templates/dcim/rackrole.html:29 -#: templates/dcim/rearport.html:57 templates/dcim/region.html:34 -#: templates/dcim/site.html:60 templates/dcim/sitegroup.html:34 -#: templates/dcim/virtualchassis.html:32 -#: templates/extras/admin/plugins_list.html:26 -#: templates/extras/configcontext.html:22 -#: templates/extras/configtemplate.html:18 -#: templates/extras/customfield.html:35 +#: circuits/forms/bulk_edit.py:30 circuits/forms/bulk_edit.py:52 +#: circuits/forms/bulk_edit.py:79 circuits/forms/bulk_edit.py:100 +#: circuits/forms/bulk_edit.py:160 core/forms/bulk_edit.py:28 +#: core/tables/plugins.py:29 dcim/forms/bulk_create.py:35 +#: dcim/forms/bulk_edit.py:72 dcim/forms/bulk_edit.py:91 +#: dcim/forms/bulk_edit.py:150 dcim/forms/bulk_edit.py:191 +#: dcim/forms/bulk_edit.py:209 dcim/forms/bulk_edit.py:337 +#: dcim/forms/bulk_edit.py:373 dcim/forms/bulk_edit.py:388 +#: dcim/forms/bulk_edit.py:447 dcim/forms/bulk_edit.py:486 +#: dcim/forms/bulk_edit.py:516 dcim/forms/bulk_edit.py:540 +#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_edit.py:665 +#: dcim/forms/bulk_edit.py:717 dcim/forms/bulk_edit.py:740 +#: dcim/forms/bulk_edit.py:788 dcim/forms/bulk_edit.py:858 +#: dcim/forms/bulk_edit.py:911 dcim/forms/bulk_edit.py:946 +#: dcim/forms/bulk_edit.py:986 dcim/forms/bulk_edit.py:1030 +#: dcim/forms/bulk_edit.py:1075 dcim/forms/bulk_edit.py:1102 +#: dcim/forms/bulk_edit.py:1120 dcim/forms/bulk_edit.py:1138 +#: dcim/forms/bulk_edit.py:1156 dcim/forms/bulk_edit.py:1575 +#: extras/forms/bulk_edit.py:36 extras/forms/bulk_edit.py:124 +#: extras/forms/bulk_edit.py:153 extras/forms/bulk_edit.py:183 +#: extras/forms/bulk_edit.py:264 extras/forms/bulk_edit.py:288 +#: extras/forms/bulk_edit.py:302 extras/tables/tables.py:58 +#: ipam/forms/bulk_edit.py:51 ipam/forms/bulk_edit.py:71 +#: ipam/forms/bulk_edit.py:91 ipam/forms/bulk_edit.py:115 +#: ipam/forms/bulk_edit.py:144 ipam/forms/bulk_edit.py:173 +#: ipam/forms/bulk_edit.py:192 ipam/forms/bulk_edit.py:261 +#: ipam/forms/bulk_edit.py:305 ipam/forms/bulk_edit.py:353 +#: ipam/forms/bulk_edit.py:396 ipam/forms/bulk_edit.py:424 +#: ipam/forms/bulk_edit.py:554 ipam/forms/bulk_edit.py:585 +#: templates/account/token.html:35 templates/circuits/circuit.html:59 +#: templates/circuits/circuittype.html:26 +#: templates/circuits/inc/circuit_termination.html:114 +#: templates/circuits/provider.html:33 +#: templates/circuits/providernetwork.html:32 +#: templates/core/datasource.html:54 templates/dcim/cable.html:36 +#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44 +#: templates/dcim/device.html:93 templates/dcim/devicebay.html:32 +#: templates/dcim/devicerole.html:30 templates/dcim/devicetype.html:33 +#: templates/dcim/frontport.html:58 templates/dcim/interface.html:69 +#: templates/dcim/inventoryitem.html:60 +#: templates/dcim/inventoryitemrole.html:22 templates/dcim/location.html:33 +#: templates/dcim/manufacturer.html:40 templates/dcim/module.html:70 +#: templates/dcim/modulebay.html:38 templates/dcim/moduletype.html:26 +#: templates/dcim/platform.html:33 templates/dcim/powerfeed.html:40 +#: templates/dcim/poweroutlet.html:40 templates/dcim/powerpanel.html:30 +#: templates/dcim/powerport.html:40 templates/dcim/rack.html:51 +#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26 +#: templates/dcim/rearport.html:54 templates/dcim/region.html:33 +#: templates/dcim/site.html:59 templates/dcim/sitegroup.html:33 +#: templates/dcim/virtualchassis.html:31 +#: templates/extras/configcontext.html:21 +#: templates/extras/configtemplate.html:17 +#: templates/extras/customfield.html:34 #: templates/extras/dashboard/widget_add.html:14 -#: templates/extras/eventrule.html:24 templates/extras/exporttemplate.html:25 -#: templates/extras/report_list.html:47 templates/extras/savedfilter.html:18 -#: templates/extras/script_list.html:53 templates/extras/tag.html:23 -#: templates/extras/webhook.html:20 templates/generic/bulk_import.html:118 -#: templates/ipam/aggregate.html:44 templates/ipam/asn.html:43 -#: templates/ipam/asnrange.html:39 templates/ipam/fhrpgroup.html:35 -#: templates/ipam/ipaddress.html:58 templates/ipam/iprange.html:70 -#: templates/ipam/prefix.html:82 templates/ipam/rir.html:29 -#: templates/ipam/role.html:29 templates/ipam/routetarget.html:22 -#: templates/ipam/service.html:53 templates/ipam/servicetemplate.html:28 -#: templates/ipam/vlan.html:65 templates/ipam/vlangroup.html:35 -#: templates/ipam/vrf.html:36 templates/tenancy/contact.html:68 -#: templates/tenancy/contactgroup.html:28 -#: templates/tenancy/contactrole.html:23 templates/tenancy/tenant.html:25 -#: templates/tenancy/tenantgroup.html:36 -#: templates/users/objectpermission.html:22 templates/users/token.html:28 -#: templates/virtualization/cluster.html:28 -#: templates/virtualization/clustergroup.html:29 -#: templates/virtualization/clustertype.html:29 -#: templates/virtualization/virtualdisk.html:40 -#: templates/virtualization/virtualmachine.html:34 -#: templates/virtualization/vminterface.html:54 -#: templates/vpn/ikepolicy.html:18 templates/vpn/ikeproposal.html:18 -#: templates/vpn/ipsecpolicy.html:18 templates/vpn/ipsecprofile.html:18 -#: templates/vpn/ipsecprofile.html:43 templates/vpn/ipsecprofile.html:78 -#: templates/vpn/ipsecproposal.html:18 templates/vpn/l2vpn.html:27 -#: templates/vpn/tunnel.html:34 templates/vpn/tunnelgroup.html:33 -#: templates/wireless/wirelesslan.html:27 -#: templates/wireless/wirelesslangroup.html:34 -#: templates/wireless/wirelesslink.html:37 tenancy/forms/bulk_edit.py:31 -#: tenancy/forms/bulk_edit.py:79 tenancy/forms/bulk_edit.py:121 -#: users/forms/bulk_edit.py:62 users/forms/bulk_edit.py:92 -#: virtualization/forms/bulk_edit.py:31 virtualization/forms/bulk_edit.py:45 -#: virtualization/forms/bulk_edit.py:99 virtualization/forms/bulk_edit.py:176 -#: virtualization/forms/bulk_edit.py:227 virtualization/forms/bulk_edit.py:336 -#: vpn/forms/bulk_edit.py:27 vpn/forms/bulk_edit.py:63 -#: vpn/forms/bulk_edit.py:120 vpn/forms/bulk_edit.py:154 -#: vpn/forms/bulk_edit.py:191 vpn/forms/bulk_edit.py:216 -#: vpn/forms/bulk_edit.py:248 vpn/forms/bulk_edit.py:277 -#: wireless/forms/bulk_edit.py:28 wireless/forms/bulk_edit.py:81 -#: wireless/forms/bulk_edit.py:128 +#: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 +#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:47 +#: templates/extras/tag.html:20 templates/extras/webhook.html:17 +#: templates/generic/bulk_import.html:120 templates/ipam/aggregate.html:43 +#: templates/ipam/asn.html:42 templates/ipam/asnrange.html:38 +#: templates/ipam/fhrpgroup.html:34 templates/ipam/ipaddress.html:55 +#: templates/ipam/iprange.html:67 templates/ipam/prefix.html:81 +#: templates/ipam/rir.html:26 templates/ipam/role.html:26 +#: templates/ipam/routetarget.html:21 templates/ipam/service.html:50 +#: templates/ipam/servicetemplate.html:27 templates/ipam/vlan.html:62 +#: templates/ipam/vlangroup.html:34 templates/ipam/vrf.html:33 +#: templates/tenancy/contact.html:67 templates/tenancy/contactgroup.html:25 +#: templates/tenancy/contactrole.html:22 templates/tenancy/tenant.html:24 +#: templates/tenancy/tenantgroup.html:33 templates/users/group.html:21 +#: templates/users/objectpermission.html:21 templates/users/token.html:27 +#: templates/virtualization/cluster.html:25 +#: templates/virtualization/clustergroup.html:26 +#: templates/virtualization/clustertype.html:26 +#: templates/virtualization/virtualdisk.html:39 +#: templates/virtualization/virtualmachine.html:31 +#: templates/virtualization/vminterface.html:51 +#: templates/vpn/ikepolicy.html:17 templates/vpn/ikeproposal.html:17 +#: templates/vpn/ipsecpolicy.html:17 templates/vpn/ipsecprofile.html:17 +#: templates/vpn/ipsecprofile.html:40 templates/vpn/ipsecprofile.html:73 +#: templates/vpn/ipsecproposal.html:17 templates/vpn/l2vpn.html:26 +#: templates/vpn/tunnel.html:33 templates/vpn/tunnelgroup.html:30 +#: templates/wireless/wirelesslan.html:26 +#: templates/wireless/wirelesslangroup.html:33 +#: templates/wireless/wirelesslink.html:34 tenancy/forms/bulk_edit.py:32 +#: tenancy/forms/bulk_edit.py:80 tenancy/forms/bulk_edit.py:122 +#: users/forms/bulk_edit.py:64 users/forms/bulk_edit.py:82 +#: users/forms/bulk_edit.py:112 virtualization/forms/bulk_edit.py:32 +#: virtualization/forms/bulk_edit.py:46 virtualization/forms/bulk_edit.py:100 +#: virtualization/forms/bulk_edit.py:177 virtualization/forms/bulk_edit.py:228 +#: virtualization/forms/bulk_edit.py:337 vpn/forms/bulk_edit.py:28 +#: vpn/forms/bulk_edit.py:64 vpn/forms/bulk_edit.py:121 +#: vpn/forms/bulk_edit.py:155 vpn/forms/bulk_edit.py:190 +#: vpn/forms/bulk_edit.py:215 vpn/forms/bulk_edit.py:247 +#: vpn/forms/bulk_edit.py:274 wireless/forms/bulk_edit.py:29 +#: wireless/forms/bulk_edit.py:82 wireless/forms/bulk_edit.py:129 msgid "Description" msgstr "Описание" -#: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 -#: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 -#: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 -#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 -#: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 -#: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 -#: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 -#: circuits/tables/providers.py:103 templates/circuits/circuit.html:19 -#: templates/circuits/provider.html:20 -#: templates/circuits/provideraccount.html:21 -#: templates/circuits/providernetwork.html:23 +#: circuits/forms/bulk_edit.py:47 circuits/forms/bulk_edit.py:69 +#: circuits/forms/bulk_edit.py:119 circuits/forms/bulk_import.py:34 +#: circuits/forms/bulk_import.py:49 circuits/forms/bulk_import.py:75 +#: circuits/forms/filtersets.py:67 circuits/forms/filtersets.py:85 +#: circuits/forms/filtersets.py:113 circuits/forms/filtersets.py:128 +#: circuits/forms/model_forms.py:45 circuits/forms/model_forms.py:59 +#: circuits/forms/model_forms.py:91 circuits/tables/circuits.py:55 +#: circuits/tables/providers.py:72 circuits/tables/providers.py:103 +#: templates/circuits/circuit.html:18 templates/circuits/provider.html:20 +#: templates/circuits/provideraccount.html:20 +#: templates/circuits/providernetwork.html:20 #: templates/dcim/inc/cable_termination.html:51 msgid "Provider" msgstr "Провайдер" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 -#: templates/circuits/providernetwork.html:31 +#: circuits/forms/bulk_edit.py:76 circuits/forms/filtersets.py:88 +#: templates/circuits/providernetwork.html:28 msgid "Service ID" msgstr "Идентификатор Службы" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 -#: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 -#: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 -#: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 -#: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 -#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 +#: circuits/forms/bulk_edit.py:96 circuits/forms/filtersets.py:104 +#: dcim/forms/bulk_edit.py:205 dcim/forms/bulk_edit.py:502 +#: dcim/forms/bulk_edit.py:702 dcim/forms/bulk_edit.py:1071 +#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1571 +#: dcim/forms/filtersets.py:975 dcim/forms/filtersets.py:1351 +#: dcim/forms/filtersets.py:1372 dcim/tables/devices.py:699 +#: dcim/tables/devices.py:759 dcim/tables/devices.py:986 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 -#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 -#: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 -#: templates/dcim/cable.html:41 templates/dcim/devicerole.html:37 -#: templates/dcim/frontport.html:43 templates/dcim/inventoryitemrole.html:27 -#: templates/dcim/rackrole.html:33 templates/dcim/rearport.html:43 -#: templates/extras/tag.html:29 +#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:260 +#: extras/tables/tables.py:333 templates/circuits/circuittype.html:30 +#: templates/dcim/cable.html:40 templates/dcim/devicerole.html:34 +#: templates/dcim/frontport.html:40 templates/dcim/inventoryitemrole.html:26 +#: templates/dcim/rackrole.html:30 templates/dcim/rearport.html:40 +#: templates/extras/tag.html:26 msgid "Color" msgstr "Цвет" -#: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 -#: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 -#: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 -#: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 -#: dcim/forms/bulk_edit.py:898 dcim/forms/bulk_edit.py:921 -#: dcim/forms/bulk_edit.py:963 dcim/forms/bulk_edit.py:1007 -#: dcim/forms/bulk_edit.py:1058 dcim/forms/bulk_edit.py:1085 +#: circuits/forms/bulk_edit.py:114 circuits/forms/bulk_import.py:88 +#: circuits/forms/filtersets.py:123 core/forms/bulk_edit.py:18 +#: core/forms/filtersets.py:30 core/tables/data.py:20 core/tables/jobs.py:18 +#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:680 +#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:887 +#: dcim/forms/bulk_edit.py:906 dcim/forms/bulk_edit.py:929 +#: dcim/forms/bulk_edit.py:971 dcim/forms/bulk_edit.py:1015 +#: dcim/forms/bulk_edit.py:1066 dcim/forms/bulk_edit.py:1093 #: dcim/forms/bulk_import.py:214 dcim/forms/bulk_import.py:653 #: dcim/forms/bulk_import.py:679 dcim/forms/bulk_import.py:705 #: dcim/forms/bulk_import.py:725 dcim/forms/bulk_import.py:808 #: dcim/forms/bulk_import.py:902 dcim/forms/bulk_import.py:944 #: dcim/forms/bulk_import.py:1161 dcim/forms/bulk_import.py:1327 -#: dcim/forms/filtersets.py:286 dcim/forms/filtersets.py:867 -#: dcim/forms/filtersets.py:967 dcim/forms/filtersets.py:1088 -#: dcim/forms/filtersets.py:1158 dcim/forms/filtersets.py:1180 -#: dcim/forms/filtersets.py:1202 dcim/forms/filtersets.py:1219 -#: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 -#: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 -#: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 +#: dcim/forms/filtersets.py:287 dcim/forms/filtersets.py:866 +#: dcim/forms/filtersets.py:965 dcim/forms/filtersets.py:1086 +#: dcim/forms/filtersets.py:1156 dcim/forms/filtersets.py:1178 +#: dcim/forms/filtersets.py:1200 dcim/forms/filtersets.py:1217 +#: dcim/forms/filtersets.py:1251 dcim/forms/filtersets.py:1346 +#: dcim/forms/filtersets.py:1367 dcim/forms/model_forms.py:643 +#: dcim/forms/model_forms.py:649 dcim/forms/object_import.py:84 +#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145 +#: dcim/tables/devices.py:183 dcim/tables/devices.py:815 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 -#: extras/tables/tables.py:278 extras/tables/tables.py:350 -#: extras/tables/tables.py:448 netbox/tables/tables.py:234 -#: templates/circuits/circuit.html:31 templates/core/datasource.html:39 -#: templates/dcim/cable.html:16 templates/dcim/consoleport.html:39 -#: templates/dcim/consoleserverport.html:39 templates/dcim/frontport.html:39 -#: templates/dcim/interface.html:47 templates/dcim/interface.html:175 -#: templates/dcim/interface.html:323 templates/dcim/powerfeed.html:35 -#: templates/dcim/poweroutlet.html:39 templates/dcim/powerport.html:39 -#: templates/dcim/rack.html:81 templates/dcim/rearport.html:39 -#: templates/extras/eventrule.html:95 templates/virtualization/cluster.html:20 -#: templates/vpn/l2vpn.html:23 -#: templates/wireless/inc/authentication_attrs.html:9 +#: extras/tables/tables.py:283 extras/tables/tables.py:355 +#: extras/tables/tables.py:473 netbox/tables/tables.py:236 +#: templates/circuits/circuit.html:30 templates/core/datasource.html:38 +#: templates/dcim/cable.html:15 templates/dcim/consoleport.html:36 +#: templates/dcim/consoleserverport.html:36 templates/dcim/frontport.html:36 +#: templates/dcim/interface.html:46 templates/dcim/interface.html:169 +#: templates/dcim/interface.html:311 templates/dcim/powerfeed.html:32 +#: templates/dcim/poweroutlet.html:36 templates/dcim/powerport.html:36 +#: templates/dcim/rack.html:76 templates/dcim/rearport.html:36 +#: templates/extras/eventrule.html:80 templates/virtualization/cluster.html:17 +#: templates/vpn/l2vpn.html:22 +#: templates/wireless/inc/authentication_attrs.html:8 #: templates/wireless/inc/wirelesslink_interface.html:14 -#: virtualization/forms/bulk_edit.py:59 virtualization/forms/bulk_import.py:41 -#: virtualization/forms/filtersets.py:53 -#: virtualization/forms/model_forms.py:65 virtualization/tables/clusters.py:66 -#: vpn/forms/bulk_edit.py:267 vpn/forms/bulk_import.py:264 -#: vpn/forms/filtersets.py:214 vpn/forms/model_forms.py:83 -#: vpn/forms/model_forms.py:118 vpn/forms/model_forms.py:232 +#: virtualization/forms/bulk_edit.py:60 virtualization/forms/bulk_import.py:41 +#: virtualization/forms/filtersets.py:54 +#: virtualization/forms/model_forms.py:62 virtualization/tables/clusters.py:66 +#: vpn/forms/bulk_edit.py:264 vpn/forms/bulk_import.py:264 +#: vpn/forms/filtersets.py:217 vpn/forms/model_forms.py:84 +#: vpn/forms/model_forms.py:119 vpn/forms/model_forms.py:231 msgid "Type" msgstr "Тип" -#: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 +#: circuits/forms/bulk_edit.py:124 circuits/forms/bulk_import.py:81 +#: circuits/forms/filtersets.py:136 circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Аккаунт провайдера" -#: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 -#: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 -#: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 -#: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 -#: dcim/forms/bulk_edit.py:646 dcim/forms/bulk_edit.py:678 -#: dcim/forms/bulk_edit.py:805 dcim/forms/bulk_edit.py:1585 -#: dcim/forms/bulk_import.py:87 dcim/forms/bulk_import.py:146 -#: dcim/forms/bulk_import.py:202 dcim/forms/bulk_import.py:450 -#: dcim/forms/bulk_import.py:604 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1322 dcim/forms/bulk_import.py:1386 -#: dcim/forms/filtersets.py:170 dcim/forms/filtersets.py:229 -#: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 -#: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 -#: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 -#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 -#: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 -#: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 -#: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 -#: ipam/forms/bulk_edit.py:541 ipam/forms/bulk_import.py:191 -#: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 -#: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 -#: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 -#: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 -#: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 -#: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 -#: templates/core/datasource.html:47 templates/core/job.html:35 -#: templates/dcim/cable.html:20 templates/dcim/device.html:183 -#: templates/dcim/location.html:48 templates/dcim/module.html:67 -#: templates/dcim/powerfeed.html:39 templates/dcim/rack.html:46 -#: templates/dcim/site.html:43 templates/extras/report_list.html:49 -#: templates/extras/script_list.html:55 templates/ipam/ipaddress.html:40 -#: templates/ipam/iprange.html:57 templates/ipam/prefix.html:74 -#: templates/ipam/vlan.html:51 templates/virtualization/cluster.html:24 -#: templates/virtualization/virtualmachine.html:22 -#: templates/vpn/tunnel.html:26 templates/wireless/wirelesslan.html:23 -#: templates/wireless/wirelesslink.html:20 users/forms/filtersets.py:33 -#: users/forms/model_forms.py:197 virtualization/forms/bulk_edit.py:69 -#: virtualization/forms/bulk_edit.py:117 +#: circuits/forms/bulk_edit.py:132 circuits/forms/bulk_import.py:94 +#: circuits/forms/filtersets.py:147 core/forms/filtersets.py:35 +#: core/forms/filtersets.py:76 core/tables/data.py:23 core/tables/jobs.py:26 +#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:105 +#: dcim/forms/bulk_edit.py:180 dcim/forms/bulk_edit.py:261 +#: dcim/forms/bulk_edit.py:598 dcim/forms/bulk_edit.py:654 +#: dcim/forms/bulk_edit.py:686 dcim/forms/bulk_edit.py:813 +#: dcim/forms/bulk_edit.py:1594 dcim/forms/bulk_import.py:87 +#: dcim/forms/bulk_import.py:146 dcim/forms/bulk_import.py:202 +#: dcim/forms/bulk_import.py:450 dcim/forms/bulk_import.py:604 +#: dcim/forms/bulk_import.py:1155 dcim/forms/bulk_import.py:1322 +#: dcim/forms/bulk_import.py:1386 dcim/forms/filtersets.py:171 +#: dcim/forms/filtersets.py:230 dcim/forms/filtersets.py:282 +#: dcim/forms/filtersets.py:727 dcim/forms/filtersets.py:835 +#: dcim/forms/filtersets.py:869 dcim/forms/filtersets.py:970 +#: dcim/forms/filtersets.py:1081 dcim/tables/devices.py:145 +#: dcim/tables/devices.py:818 dcim/tables/devices.py:1046 +#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:66 +#: dcim/tables/sites.py:82 dcim/tables/sites.py:133 +#: ipam/forms/bulk_edit.py:241 ipam/forms/bulk_edit.py:290 +#: ipam/forms/bulk_edit.py:338 ipam/forms/bulk_edit.py:544 +#: ipam/forms/bulk_import.py:191 ipam/forms/bulk_import.py:256 +#: ipam/forms/bulk_import.py:292 ipam/forms/bulk_import.py:458 +#: ipam/forms/filtersets.py:209 ipam/forms/filtersets.py:274 +#: ipam/forms/filtersets.py:348 ipam/forms/filtersets.py:489 +#: ipam/forms/model_forms.py:457 ipam/tables/ip.py:236 ipam/tables/ip.py:309 +#: ipam/tables/ip.py:359 ipam/tables/ip.py:421 ipam/tables/ip.py:448 +#: ipam/tables/vlans.py:122 ipam/tables/vlans.py:227 +#: templates/circuits/circuit.html:34 templates/core/datasource.html:46 +#: templates/core/job.html:30 templates/core/rq_task.html:81 +#: templates/core/system.html:18 templates/dcim/cable.html:19 +#: templates/dcim/device.html:175 templates/dcim/location.html:45 +#: templates/dcim/module.html:66 templates/dcim/powerfeed.html:36 +#: templates/dcim/rack.html:43 templates/dcim/site.html:42 +#: templates/extras/script_list.html:49 templates/ipam/ipaddress.html:37 +#: templates/ipam/iprange.html:54 templates/ipam/prefix.html:73 +#: templates/ipam/vlan.html:48 templates/virtualization/cluster.html:21 +#: templates/virtualization/virtualmachine.html:19 +#: templates/vpn/tunnel.html:25 templates/wireless/wirelesslan.html:22 +#: templates/wireless/wirelesslink.html:17 users/forms/filtersets.py:33 +#: users/forms/model_forms.py:198 virtualization/forms/bulk_edit.py:70 +#: virtualization/forms/bulk_edit.py:118 #: virtualization/forms/bulk_import.py:54 #: virtualization/forms/bulk_import.py:80 -#: virtualization/forms/filtersets.py:61 -#: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 -#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 -#: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 -#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:48 -#: wireless/forms/filtersets.py:82 wireless/tables/wirelesslan.py:52 +#: virtualization/forms/filtersets.py:62 +#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:39 +#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:47 +#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:43 +#: wireless/forms/bulk_edit.py:105 wireless/forms/bulk_import.py:43 +#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:49 +#: wireless/forms/filtersets.py:83 wireless/tables/wirelesslan.py:52 #: wireless/tables/wirelesslink.py:19 msgid "Status" msgstr "Статус" -#: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 -#: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 -#: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 -#: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 +#: circuits/forms/bulk_edit.py:138 circuits/forms/bulk_import.py:99 +#: circuits/forms/filtersets.py:116 dcim/forms/bulk_edit.py:121 +#: dcim/forms/bulk_edit.py:186 dcim/forms/bulk_edit.py:256 +#: dcim/forms/bulk_edit.py:368 dcim/forms/bulk_edit.py:588 +#: dcim/forms/bulk_edit.py:692 dcim/forms/bulk_edit.py:1599 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 #: dcim/forms/bulk_import.py:195 dcim/forms/bulk_import.py:282 #: dcim/forms/bulk_import.py:424 dcim/forms/bulk_import.py:1167 -#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:165 -#: dcim/forms/filtersets.py:197 dcim/forms/filtersets.py:248 -#: dcim/forms/filtersets.py:333 dcim/forms/filtersets.py:354 -#: dcim/forms/filtersets.py:653 dcim/forms/filtersets.py:826 -#: dcim/forms/filtersets.py:891 dcim/forms/filtersets.py:921 -#: dcim/forms/filtersets.py:1043 dcim/tables/power.py:88 -#: extras/filtersets.py:517 extras/forms/filtersets.py:331 -#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:40 -#: ipam/forms/bulk_edit.py:65 ipam/forms/bulk_edit.py:109 -#: ipam/forms/bulk_edit.py:138 ipam/forms/bulk_edit.py:163 -#: ipam/forms/bulk_edit.py:235 ipam/forms/bulk_edit.py:284 -#: ipam/forms/bulk_edit.py:332 ipam/forms/bulk_edit.py:536 +#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:166 +#: dcim/forms/filtersets.py:198 dcim/forms/filtersets.py:249 +#: dcim/forms/filtersets.py:334 dcim/forms/filtersets.py:355 +#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:827 +#: dcim/forms/filtersets.py:889 dcim/forms/filtersets.py:919 +#: dcim/forms/filtersets.py:1041 dcim/tables/power.py:88 +#: extras/filtersets.py:564 extras/forms/filtersets.py:332 +#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:41 +#: ipam/forms/bulk_edit.py:66 ipam/forms/bulk_edit.py:110 +#: ipam/forms/bulk_edit.py:139 ipam/forms/bulk_edit.py:164 +#: ipam/forms/bulk_edit.py:236 ipam/forms/bulk_edit.py:285 +#: ipam/forms/bulk_edit.py:333 ipam/forms/bulk_edit.py:539 #: ipam/forms/bulk_import.py:37 ipam/forms/bulk_import.py:66 #: ipam/forms/bulk_import.py:94 ipam/forms/bulk_import.py:114 #: ipam/forms/bulk_import.py:134 ipam/forms/bulk_import.py:163 #: ipam/forms/bulk_import.py:249 ipam/forms/bulk_import.py:285 -#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:47 -#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:99 -#: ipam/forms/filtersets.py:119 ipam/forms/filtersets.py:142 -#: ipam/forms/filtersets.py:169 ipam/forms/filtersets.py:256 -#: ipam/forms/filtersets.py:296 ipam/forms/filtersets.py:450 +#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:48 +#: ipam/forms/filtersets.py:68 ipam/forms/filtersets.py:100 +#: ipam/forms/filtersets.py:120 ipam/forms/filtersets.py:143 +#: ipam/forms/filtersets.py:173 ipam/forms/filtersets.py:260 +#: ipam/forms/filtersets.py:303 ipam/forms/filtersets.py:457 #: ipam/tables/ip.py:451 ipam/tables/vlans.py:224 -#: templates/circuits/circuit.html:39 templates/dcim/cable.html:24 -#: templates/dcim/device.html:81 templates/dcim/location.html:52 -#: templates/dcim/powerfeed.html:47 templates/dcim/rack.html:37 -#: templates/dcim/rackreservation.html:56 templates/dcim/site.html:47 -#: templates/dcim/virtualdevicecontext.html:55 -#: templates/ipam/aggregate.html:31 templates/ipam/asn.html:34 -#: templates/ipam/asnrange.html:30 templates/ipam/ipaddress.html:31 -#: templates/ipam/iprange.html:61 templates/ipam/prefix.html:30 -#: templates/ipam/routetarget.html:18 templates/ipam/vlan.html:42 -#: templates/ipam/vrf.html:23 templates/tenancy/tenant.html:17 -#: templates/virtualization/cluster.html:36 -#: templates/virtualization/virtualmachine.html:38 templates/vpn/l2vpn.html:31 -#: templates/vpn/tunnel.html:50 templates/wireless/wirelesslan.html:35 -#: templates/wireless/wirelesslink.html:28 tenancy/forms/forms.py:25 -#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:53 -#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:75 -#: virtualization/forms/bulk_edit.py:154 +#: templates/circuits/circuit.html:38 templates/dcim/cable.html:23 +#: templates/dcim/device.html:78 templates/dcim/location.html:49 +#: templates/dcim/powerfeed.html:44 templates/dcim/rack.html:34 +#: templates/dcim/rackreservation.html:49 templates/dcim/site.html:46 +#: templates/dcim/virtualdevicecontext.html:52 +#: templates/ipam/aggregate.html:30 templates/ipam/asn.html:33 +#: templates/ipam/asnrange.html:29 templates/ipam/ipaddress.html:28 +#: templates/ipam/iprange.html:58 templates/ipam/prefix.html:29 +#: templates/ipam/routetarget.html:17 templates/ipam/vlan.html:39 +#: templates/ipam/vrf.html:20 templates/tenancy/tenant.html:17 +#: templates/virtualization/cluster.html:33 +#: templates/virtualization/virtualmachine.html:35 templates/vpn/l2vpn.html:30 +#: templates/vpn/tunnel.html:49 templates/wireless/wirelesslan.html:34 +#: templates/wireless/wirelesslink.html:25 tenancy/forms/forms.py:25 +#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:52 +#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:76 +#: virtualization/forms/bulk_edit.py:155 #: virtualization/forms/bulk_import.py:66 #: virtualization/forms/bulk_import.py:115 -#: virtualization/forms/filtersets.py:46 -#: virtualization/forms/filtersets.py:101 vpn/forms/bulk_edit.py:58 -#: vpn/forms/bulk_edit.py:272 vpn/forms/bulk_import.py:59 -#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:211 -#: wireless/forms/bulk_edit.py:62 wireless/forms/bulk_edit.py:109 +#: virtualization/forms/filtersets.py:47 +#: virtualization/forms/filtersets.py:105 vpn/forms/bulk_edit.py:59 +#: vpn/forms/bulk_edit.py:269 vpn/forms/bulk_import.py:59 +#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:214 +#: wireless/forms/bulk_edit.py:63 wireless/forms/bulk_edit.py:110 #: wireless/forms/bulk_import.py:55 wireless/forms/bulk_import.py:97 -#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74 +#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75 msgid "Tenant" msgstr "Тенант" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 +#: circuits/forms/bulk_edit.py:143 circuits/forms/filtersets.py:171 msgid "Install date" msgstr "Дата установки" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 +#: circuits/forms/bulk_edit.py:148 circuits/forms/filtersets.py:176 msgid "Termination date" msgstr "Дата отключения" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 +#: circuits/forms/bulk_edit.py:154 circuits/forms/filtersets.py:183 msgid "Commit rate (Kbps)" msgstr "Гарантированная скорость (Кбит/с)" -#: circuits/forms/bulk_edit.py:168 circuits/forms/model_forms.py:111 +#: circuits/forms/bulk_edit.py:169 circuits/forms/model_forms.py:110 msgid "Service Parameters" msgstr "Параметры Службы" -#: circuits/forms/bulk_edit.py:169 circuits/forms/model_forms.py:112 -#: dcim/forms/model_forms.py:141 dcim/forms/model_forms.py:183 -#: dcim/forms/model_forms.py:260 dcim/forms/model_forms.py:679 -#: dcim/forms/model_forms.py:1485 ipam/forms/model_forms.py:61 -#: ipam/forms/model_forms.py:114 ipam/forms/model_forms.py:135 -#: ipam/forms/model_forms.py:159 ipam/forms/model_forms.py:231 -#: ipam/forms/model_forms.py:257 netbox/navigation/menu.py:38 -#: templates/dcim/cable_edit.html:68 templates/dcim/device_edit.html:85 -#: templates/dcim/rack_edit.html:30 templates/ipam/ipaddress_bulk_add.html:27 -#: templates/ipam/ipaddress_edit.html:27 templates/ipam/vlan_edit.html:22 -#: virtualization/forms/model_forms.py:83 -#: virtualization/forms/model_forms.py:225 vpn/forms/bulk_edit.py:77 -#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61 -#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 -#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 +#: circuits/forms/bulk_edit.py:170 circuits/forms/model_forms.py:111 +#: dcim/forms/model_forms.py:138 dcim/forms/model_forms.py:180 +#: dcim/forms/model_forms.py:228 dcim/forms/model_forms.py:267 +#: dcim/forms/model_forms.py:713 dcim/forms/model_forms.py:1636 +#: ipam/forms/model_forms.py:62 ipam/forms/model_forms.py:79 +#: ipam/forms/model_forms.py:113 ipam/forms/model_forms.py:134 +#: ipam/forms/model_forms.py:158 ipam/forms/model_forms.py:230 +#: ipam/forms/model_forms.py:259 ipam/forms/model_forms.py:314 +#: netbox/navigation/menu.py:37 templates/dcim/device_edit.html:85 +#: templates/dcim/htmx/cable_edit.html:72 +#: templates/ipam/ipaddress_bulk_add.html:27 templates/ipam/vlan_edit.html:22 +#: virtualization/forms/model_forms.py:80 +#: virtualization/forms/model_forms.py:222 vpn/forms/bulk_edit.py:78 +#: vpn/forms/filtersets.py:44 vpn/forms/model_forms.py:62 +#: vpn/forms/model_forms.py:147 vpn/forms/model_forms.py:411 +#: wireless/forms/model_forms.py:54 wireless/forms/model_forms.py:163 msgid "Tenancy" msgstr "Аренда" -#: circuits/forms/bulk_import.py:38 circuits/forms/bulk_import.py:53 -#: circuits/forms/bulk_import.py:79 +#: circuits/forms/bulk_import.py:37 circuits/forms/bulk_import.py:52 +#: circuits/forms/bulk_import.py:78 msgid "Assigned provider" msgstr "Назначенный провайдер" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: circuits/forms/bulk_import.py:69 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:232 msgid "RGB color in hexadecimal. Example:" msgstr "Цвет RGB в шестнадцатеричном формате. Пример:" -#: circuits/forms/bulk_import.py:85 +#: circuits/forms/bulk_import.py:84 msgid "Assigned provider account" msgstr "Назначенный аккаунт провайдера" -#: circuits/forms/bulk_import.py:92 +#: circuits/forms/bulk_import.py:91 msgid "Type of circuit" msgstr "Тип канала связи" -#: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 +#: circuits/forms/bulk_import.py:96 dcim/forms/bulk_import.py:89 #: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:204 #: dcim/forms/bulk_import.py:452 dcim/forms/bulk_import.py:606 #: dcim/forms/bulk_import.py:1324 ipam/forms/bulk_import.py:193 #: ipam/forms/bulk_import.py:258 ipam/forms/bulk_import.py:294 #: ipam/forms/bulk_import.py:460 virtualization/forms/bulk_import.py:56 #: virtualization/forms/bulk_import.py:82 vpn/forms/bulk_import.py:39 +#: wireless/forms/bulk_import.py:45 msgid "Operational status" msgstr "Операционный статус" -#: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 +#: circuits/forms/bulk_import.py:103 dcim/forms/bulk_import.py:110 #: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:286 #: dcim/forms/bulk_import.py:428 dcim/forms/bulk_import.py:1171 -#: dcim/forms/bulk_import.py:1319 ipam/forms/bulk_import.py:41 -#: ipam/forms/bulk_import.py:70 ipam/forms/bulk_import.py:98 -#: ipam/forms/bulk_import.py:118 ipam/forms/bulk_import.py:138 -#: ipam/forms/bulk_import.py:167 ipam/forms/bulk_import.py:253 -#: ipam/forms/bulk_import.py:289 ipam/forms/bulk_import.py:455 -#: virtualization/forms/bulk_import.py:70 +#: dcim/forms/bulk_import.py:1319 dcim/forms/bulk_import.py:1383 +#: ipam/forms/bulk_import.py:41 ipam/forms/bulk_import.py:70 +#: ipam/forms/bulk_import.py:98 ipam/forms/bulk_import.py:118 +#: ipam/forms/bulk_import.py:138 ipam/forms/bulk_import.py:167 +#: ipam/forms/bulk_import.py:253 ipam/forms/bulk_import.py:289 +#: ipam/forms/bulk_import.py:455 virtualization/forms/bulk_import.py:70 #: virtualization/forms/bulk_import.py:119 vpn/forms/bulk_import.py:63 #: wireless/forms/bulk_import.py:59 wireless/forms/bulk_import.py:101 msgid "Assigned tenant" msgstr "Назначенный тенант" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 -#: circuits/forms/model_forms.py:143 +#: circuits/forms/bulk_import.py:122 circuits/forms/filtersets.py:144 +#: circuits/forms/model_forms.py:142 msgid "Provider network" msgstr "Сеть провайдера" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 -#: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 -#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 -#: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 +#: circuits/forms/filtersets.py:27 circuits/forms/filtersets.py:115 +#: dcim/forms/bulk_edit.py:248 dcim/forms/bulk_edit.py:346 +#: dcim/forms/bulk_edit.py:580 dcim/forms/bulk_edit.py:627 +#: dcim/forms/bulk_edit.py:780 dcim/forms/bulk_import.py:189 #: dcim/forms/bulk_import.py:263 dcim/forms/bulk_import.py:491 #: dcim/forms/bulk_import.py:1268 dcim/forms/bulk_import.py:1302 -#: dcim/forms/filtersets.py:92 dcim/forms/filtersets.py:245 -#: dcim/forms/filtersets.py:278 dcim/forms/filtersets.py:330 -#: dcim/forms/filtersets.py:381 dcim/forms/filtersets.py:650 -#: dcim/forms/filtersets.py:689 dcim/forms/filtersets.py:890 -#: dcim/forms/filtersets.py:919 dcim/forms/filtersets.py:939 -#: dcim/forms/filtersets.py:1003 dcim/forms/filtersets.py:1033 -#: dcim/forms/filtersets.py:1042 dcim/forms/filtersets.py:1153 -#: dcim/forms/filtersets.py:1175 dcim/forms/filtersets.py:1197 -#: dcim/forms/filtersets.py:1214 dcim/forms/filtersets.py:1234 -#: dcim/forms/filtersets.py:1342 dcim/forms/filtersets.py:1364 -#: dcim/forms/filtersets.py:1385 dcim/forms/filtersets.py:1400 -#: dcim/forms/filtersets.py:1411 dcim/forms/model_forms.py:182 -#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 -#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 +#: dcim/forms/filtersets.py:93 dcim/forms/filtersets.py:246 +#: dcim/forms/filtersets.py:279 dcim/forms/filtersets.py:331 +#: dcim/forms/filtersets.py:382 dcim/forms/filtersets.py:649 +#: dcim/forms/filtersets.py:690 dcim/forms/filtersets.py:888 +#: dcim/forms/filtersets.py:917 dcim/forms/filtersets.py:937 +#: dcim/forms/filtersets.py:1001 dcim/forms/filtersets.py:1031 +#: dcim/forms/filtersets.py:1040 dcim/forms/filtersets.py:1151 +#: dcim/forms/filtersets.py:1173 dcim/forms/filtersets.py:1195 +#: dcim/forms/filtersets.py:1212 dcim/forms/filtersets.py:1232 +#: dcim/forms/filtersets.py:1340 dcim/forms/filtersets.py:1362 +#: dcim/forms/filtersets.py:1383 dcim/forms/filtersets.py:1398 +#: dcim/forms/filtersets.py:1412 dcim/forms/model_forms.py:179 +#: dcim/forms/model_forms.py:211 dcim/forms/model_forms.py:411 +#: dcim/forms/model_forms.py:673 dcim/tables/devices.py:162 #: dcim/tables/power.py:30 dcim/tables/racks.py:58 dcim/tables/racks.py:143 -#: extras/filtersets.py:441 extras/forms/filtersets.py:328 -#: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 -#: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 -#: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 +#: extras/filtersets.py:488 extras/forms/filtersets.py:329 +#: ipam/forms/bulk_edit.py:457 ipam/forms/filtersets.py:172 +#: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:429 +#: ipam/forms/filtersets.py:455 ipam/forms/model_forms.py:590 +#: templates/dcim/device.html:25 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 -#: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 -#: templates/dcim/rack.html:29 templates/dcim/rackreservation.html:35 -#: virtualization/forms/filtersets.py:45 virtualization/forms/filtersets.py:99 -#: wireless/forms/model_forms.py:88 wireless/forms/model_forms.py:128 +#: templates/dcim/location.html:26 templates/dcim/powerpanel.html:26 +#: templates/dcim/rack.html:26 templates/dcim/rackreservation.html:32 +#: virtualization/forms/filtersets.py:46 +#: virtualization/forms/filtersets.py:100 wireless/forms/model_forms.py:87 +#: wireless/forms/model_forms.py:129 msgid "Location" msgstr "Локация" -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 -#: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 -#: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 -#: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 -#: dcim/forms/filtersets.py:408 dcim/forms/filtersets.py:654 -#: dcim/forms/filtersets.py:1004 netbox/navigation/menu.py:45 -#: netbox/navigation/menu.py:47 tenancy/tables/columns.py:70 -#: tenancy/tables/contacts.py:25 tenancy/views.py:18 -#: virtualization/forms/filtersets.py:36 virtualization/forms/filtersets.py:47 -#: virtualization/forms/filtersets.py:102 +#: circuits/forms/filtersets.py:29 circuits/forms/filtersets.py:117 +#: dcim/forms/filtersets.py:137 dcim/forms/filtersets.py:151 +#: dcim/forms/filtersets.py:167 dcim/forms/filtersets.py:199 +#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:335 +#: dcim/forms/filtersets.py:406 dcim/forms/filtersets.py:653 +#: dcim/forms/filtersets.py:1002 netbox/navigation/menu.py:44 +#: netbox/navigation/menu.py:46 tenancy/forms/filtersets.py:42 +#: tenancy/tables/columns.py:70 tenancy/tables/contacts.py:25 +#: tenancy/views.py:19 virtualization/forms/filtersets.py:37 +#: virtualization/forms/filtersets.py:48 +#: virtualization/forms/filtersets.py:106 msgid "Contacts" msgstr "Контакты" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 -#: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 -#: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 -#: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 -#: dcim/forms/filtersets.py:203 dcim/forms/filtersets.py:256 -#: dcim/forms/filtersets.py:359 dcim/forms/filtersets.py:666 -#: dcim/forms/filtersets.py:896 dcim/forms/filtersets.py:926 -#: dcim/forms/filtersets.py:1010 dcim/forms/filtersets.py:1049 +#: circuits/forms/filtersets.py:34 circuits/forms/filtersets.py:154 +#: dcim/forms/bulk_edit.py:111 dcim/forms/bulk_edit.py:223 +#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:92 +#: dcim/forms/filtersets.py:71 dcim/forms/filtersets.py:178 +#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:257 +#: dcim/forms/filtersets.py:360 dcim/forms/filtersets.py:667 +#: dcim/forms/filtersets.py:894 dcim/forms/filtersets.py:924 +#: dcim/forms/filtersets.py:1008 dcim/forms/filtersets.py:1047 #: dcim/forms/filtersets.py:1460 dcim/forms/filtersets.py:1484 -#: dcim/forms/filtersets.py:1508 dcim/forms/model_forms.py:80 -#: dcim/forms/model_forms.py:115 dcim/forms/object_create.py:374 -#: dcim/tables/devices.py:176 dcim/tables/sites.py:85 extras/filtersets.py:408 -#: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 -#: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 -#: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 -#: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 -#: templates/dcim/region.html:26 templates/dcim/site.html:31 -#: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 -#: virtualization/forms/bulk_edit.py:80 virtualization/forms/filtersets.py:58 -#: virtualization/forms/filtersets.py:129 -#: virtualization/forms/model_forms.py:95 vpn/forms/filtersets.py:253 +#: dcim/forms/filtersets.py:1508 dcim/forms/model_forms.py:111 +#: dcim/forms/object_create.py:375 dcim/tables/devices.py:148 +#: dcim/tables/sites.py:85 extras/filtersets.py:455 +#: ipam/forms/bulk_edit.py:206 ipam/forms/bulk_edit.py:438 +#: ipam/forms/bulk_edit.py:512 ipam/forms/filtersets.py:216 +#: ipam/forms/filtersets.py:414 ipam/forms/filtersets.py:463 +#: ipam/forms/model_forms.py:562 templates/dcim/device.html:17 +#: templates/dcim/rack.html:16 templates/dcim/rackreservation.html:22 +#: templates/dcim/region.html:26 templates/dcim/site.html:30 +#: templates/ipam/prefix.html:49 templates/ipam/vlan.html:16 +#: virtualization/forms/bulk_edit.py:81 virtualization/forms/filtersets.py:59 +#: virtualization/forms/filtersets.py:133 +#: virtualization/forms/model_forms.py:92 vpn/forms/filtersets.py:257 msgid "Region" msgstr "Регион" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 -#: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 -#: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 -#: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 -#: dcim/forms/filtersets.py:364 dcim/forms/filtersets.py:671 -#: dcim/forms/filtersets.py:901 dcim/forms/filtersets.py:1015 -#: dcim/forms/filtersets.py:1054 dcim/forms/object_create.py:382 -#: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 -#: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 -#: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 -#: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 -#: virtualization/forms/filtersets.py:134 -#: virtualization/forms/model_forms.py:101 +#: circuits/forms/filtersets.py:39 circuits/forms/filtersets.py:159 +#: dcim/forms/bulk_edit.py:231 dcim/forms/bulk_edit.py:763 +#: dcim/forms/filtersets.py:76 dcim/forms/filtersets.py:183 +#: dcim/forms/filtersets.py:209 dcim/forms/filtersets.py:270 +#: dcim/forms/filtersets.py:365 dcim/forms/filtersets.py:672 +#: dcim/forms/filtersets.py:899 dcim/forms/filtersets.py:1013 +#: dcim/forms/filtersets.py:1052 dcim/forms/object_create.py:383 +#: extras/filtersets.py:472 ipam/forms/bulk_edit.py:211 +#: ipam/forms/bulk_edit.py:445 ipam/forms/bulk_edit.py:517 +#: ipam/forms/filtersets.py:221 ipam/forms/filtersets.py:419 +#: ipam/forms/filtersets.py:468 ipam/forms/model_forms.py:575 +#: virtualization/forms/bulk_edit.py:86 virtualization/forms/filtersets.py:69 +#: virtualization/forms/filtersets.py:138 +#: virtualization/forms/model_forms.py:98 msgid "Site group" msgstr "Группа сайтов" -#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 -#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 -#: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 -#: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 -#: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 -#: dcim/forms/filtersets.py:1044 dcim/forms/filtersets.py:1152 -#: dcim/forms/filtersets.py:1174 dcim/forms/filtersets.py:1196 -#: dcim/forms/filtersets.py:1213 dcim/forms/filtersets.py:1230 -#: dcim/forms/filtersets.py:1341 dcim/forms/filtersets.py:1363 -#: dcim/forms/filtersets.py:1384 dcim/forms/filtersets.py:1399 -#: dcim/forms/filtersets.py:1410 extras/forms/filtersets.py:40 -#: extras/forms/filtersets.py:111 extras/forms/filtersets.py:142 -#: extras/forms/filtersets.py:182 extras/forms/filtersets.py:198 -#: extras/forms/filtersets.py:229 extras/forms/filtersets.py:253 -#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:491 -#: ipam/forms/filtersets.py:98 ipam/forms/filtersets.py:255 -#: ipam/forms/filtersets.py:294 ipam/forms/filtersets.py:368 -#: ipam/forms/filtersets.py:449 ipam/forms/filtersets.py:508 -#: ipam/forms/filtersets.py:526 netbox/tables/tables.py:250 -#: virtualization/forms/filtersets.py:44 -#: virtualization/forms/filtersets.py:100 -#: virtualization/forms/filtersets.py:190 -#: virtualization/forms/filtersets.py:235 vpn/forms/filtersets.py:210 -#: wireless/forms/filtersets.py:33 wireless/forms/filtersets.py:73 +#: circuits/forms/filtersets.py:62 circuits/forms/filtersets.py:80 +#: circuits/forms/filtersets.py:99 circuits/forms/filtersets.py:114 +#: core/forms/filtersets.py:64 dcim/forms/bulk_edit.py:726 +#: dcim/forms/filtersets.py:165 dcim/forms/filtersets.py:197 +#: dcim/forms/filtersets.py:826 dcim/forms/filtersets.py:918 +#: dcim/forms/filtersets.py:1042 dcim/forms/filtersets.py:1150 +#: dcim/forms/filtersets.py:1172 dcim/forms/filtersets.py:1194 +#: dcim/forms/filtersets.py:1211 dcim/forms/filtersets.py:1228 +#: dcim/forms/filtersets.py:1339 dcim/forms/filtersets.py:1361 +#: dcim/forms/filtersets.py:1382 dcim/forms/filtersets.py:1397 +#: dcim/forms/filtersets.py:1410 extras/forms/filtersets.py:43 +#: extras/forms/filtersets.py:112 extras/forms/filtersets.py:143 +#: extras/forms/filtersets.py:183 extras/forms/filtersets.py:199 +#: extras/forms/filtersets.py:230 extras/forms/filtersets.py:254 +#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:488 +#: ipam/forms/filtersets.py:99 ipam/forms/filtersets.py:259 +#: ipam/forms/filtersets.py:300 ipam/forms/filtersets.py:375 +#: ipam/forms/filtersets.py:456 ipam/forms/filtersets.py:515 +#: ipam/forms/filtersets.py:533 netbox/tables/tables.py:252 +#: virtualization/forms/filtersets.py:45 +#: virtualization/forms/filtersets.py:103 +#: virtualization/forms/filtersets.py:194 +#: virtualization/forms/filtersets.py:239 vpn/forms/filtersets.py:213 +#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74 msgid "Attributes" msgstr "Атрибуты" -#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 -#: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 -#: templates/circuits/provideraccount.html:25 +#: circuits/forms/filtersets.py:70 circuits/tables/circuits.py:60 +#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22 +#: templates/circuits/provideraccount.html:24 msgid "Account" msgstr "Аккаунт" -#: circuits/forms/model_forms.py:64 -#: templates/circuits/circuittermination_edit.html:23 -#: templates/circuits/inc/circuit_termination.html:89 -#: templates/circuits/providernetwork.html:18 +#: circuits/forms/model_forms.py:153 +#: templates/circuits/inc/circuit_termination.html:88 +#: templates/circuits/providernetwork.html:17 msgid "Provider Network" msgstr "Сеть провайдера" -#: circuits/forms/model_forms.py:78 templates/circuits/circuittype.html:20 -msgid "Circuit Type" -msgstr "Тип канала связи" +#: circuits/forms/model_forms.py:155 +#: templates/circuits/inc/circuit_termination.html:80 +#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193 +#: templates/dcim/rearport.html:111 +msgid "Circuit Termination" +msgstr "Прекращение цепи" + +#: circuits/forms/model_forms.py:157 +msgid "Termination Details" +msgstr "Сведения об увольнении" #: circuits/models/circuits.py:25 dcim/models/cables.py:67 #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 #: dcim/models/device_components.py:1166 dcim/models/devices.py:469 -#: dcim/models/racks.py:43 extras/models/tags.py:28 +#: dcim/models/racks.py:44 extras/models/tags.py:28 msgid "color" msgstr "цвет" @@ -826,12 +848,12 @@ msgstr "Уникальный ID канала связи" #: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 -#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 -#: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 +#: dcim/models/devices.py:1155 dcim/models/devices.py:1364 +#: dcim/models/power.py:96 dcim/models/racks.py:98 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 #: virtualization/models/clusters.py:74 -#: virtualization/models/virtualmachines.py:82 vpn/models/tunnels.py:40 +#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 #: wireless/models.py:94 wireless/models.py:158 msgid "status" msgstr "статус" @@ -898,15 +920,15 @@ msgstr "ID патч-панели и номера порта(-ов)" #: circuits/models/circuits.py:210 #: dcim/models/device_component_templates.py:61 -#: dcim/models/device_components.py:69 dcim/models/racks.py:537 +#: dcim/models/device_components.py:69 dcim/models/racks.py:538 #: extras/models/configs.py:45 extras/models/configs.py:219 -#: extras/models/customfields.py:122 extras/models/models.py:58 -#: extras/models/models.py:188 extras/models/models.py:426 -#: extras/models/models.py:541 extras/models/staging.py:31 +#: extras/models/customfields.py:123 extras/models/models.py:60 +#: extras/models/models.py:186 extras/models/models.py:424 +#: extras/models/models.py:539 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:274 users/models.py:353 -#: virtualization/models/virtualmachines.py:282 +#: users/models/permissions.py:24 users/models/tokens.py:58 +#: users/models/users.py:33 virtualization/models/virtualmachines.py:284 msgid "description" msgstr "описание" @@ -936,22 +958,23 @@ msgstr "" #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:583 -#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 -#: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 +#: dcim/models/devices.py:1295 dcim/models/devices.py:1360 +#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:63 #: dcim/models/sites.py:138 extras/models/configs.py:36 -#: extras/models/configs.py:215 extras/models/customfields.py:89 -#: extras/models/models.py:53 extras/models/models.py:183 -#: extras/models/models.py:326 extras/models/models.py:422 -#: extras/models/models.py:531 extras/models/models.py:626 -#: extras/models/staging.py:26 ipam/models/asns.py:18 ipam/models/fhrp.py:25 -#: ipam/models/services.py:52 ipam/models/services.py:88 -#: ipam/models/vlans.py:26 ipam/models/vlans.py:164 ipam/models/vrfs.py:22 -#: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 +#: extras/models/configs.py:215 extras/models/customfields.py:90 +#: extras/models/models.py:55 extras/models/models.py:181 +#: extras/models/models.py:324 extras/models/models.py:420 +#: extras/models/models.py:529 extras/models/models.py:624 +#: extras/models/scripts.py:30 extras/models/staging.py:26 +#: ipam/models/asns.py:18 ipam/models/fhrp.py:25 ipam/models/services.py:51 +#: ipam/models/services.py:87 ipam/models/vlans.py:26 ipam/models/vlans.py:164 +#: ipam/models/vrfs.py:22 ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:349 virtualization/models/clusters.py:57 -#: virtualization/models/virtualmachines.py:70 -#: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 +#: users/models/permissions.py:20 users/models/users.py:28 +#: virtualization/models/clusters.py:57 +#: virtualization/models/virtualmachines.py:72 +#: virtualization/models/virtualmachines.py:274 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 #: vpn/models/crypto.py:221 vpn/models/l2vpn.py:22 vpn/models/tunnels.py:35 #: wireless/models.py:50 @@ -963,7 +986,7 @@ msgid "Full name of the provider" msgstr "Полное имя провайдера" #: circuits/models/providers.py:28 dcim/models/devices.py:86 -#: dcim/models/sites.py:149 extras/models/models.py:536 ipam/models/asns.py:23 +#: dcim/models/sites.py:149 extras/models/models.py:534 ipam/models/asns.py:23 #: ipam/models/vlans.py:30 netbox/models/__init__.py:140 #: netbox/models/__init__.py:185 tenancy/models/tenants.py:25 #: tenancy/models/tenants.py:49 vpn/models/l2vpn.py:27 wireless/models.py:55 @@ -1004,76 +1027,77 @@ msgstr "сети провайдера" #: circuits/tables/circuits.py:29 circuits/tables/providers.py:18 #: circuits/tables/providers.py:69 circuits/tables/providers.py:99 -#: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 -#: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 -#: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 -#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 -#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 -#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 -#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 -#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 -#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 -#: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 -#: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 -#: dcim/tables/sites.py:78 dcim/tables/sites.py:125 -#: extras/forms/filtersets.py:190 extras/tables/tables.py:40 -#: extras/tables/tables.py:83 extras/tables/tables.py:115 -#: extras/tables/tables.py:139 extras/tables/tables.py:204 -#: extras/tables/tables.py:251 extras/tables/tables.py:274 -#: extras/tables/tables.py:324 extras/tables/tables.py:376 -#: extras/tables/tables.py:399 ipam/forms/bulk_edit.py:390 -#: ipam/forms/filtersets.py:372 ipam/tables/asn.py:16 ipam/tables/ip.py:85 -#: ipam/tables/ip.py:159 ipam/tables/services.py:15 ipam/tables/services.py:40 +#: core/tables/data.py:16 core/tables/jobs.py:14 core/tables/plugins.py:13 +#: core/tables/tasks.py:11 core/tables/tasks.py:115 +#: dcim/forms/filtersets.py:61 dcim/forms/object_create.py:43 +#: dcim/tables/devices.py:60 dcim/tables/devices.py:97 +#: dcim/tables/devices.py:139 dcim/tables/devices.py:294 +#: dcim/tables/devices.py:376 dcim/tables/devices.py:420 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:524 +#: dcim/tables/devices.py:644 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:776 dcim/tables/devices.py:842 +#: dcim/tables/devices.py:957 dcim/tables/devices.py:977 +#: dcim/tables/devices.py:1006 dcim/tables/devices.py:1036 +#: dcim/tables/devicetypes.py:32 dcim/tables/power.py:22 +#: dcim/tables/power.py:62 dcim/tables/racks.py:23 dcim/tables/racks.py:53 +#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78 +#: dcim/tables/sites.py:125 extras/forms/filtersets.py:191 +#: extras/tables/tables.py:42 extras/tables/tables.py:88 +#: extras/tables/tables.py:120 extras/tables/tables.py:144 +#: extras/tables/tables.py:209 extras/tables/tables.py:256 +#: extras/tables/tables.py:279 extras/tables/tables.py:329 +#: extras/tables/tables.py:381 extras/tables/tables.py:404 +#: ipam/forms/bulk_edit.py:391 ipam/forms/filtersets.py:379 +#: ipam/tables/asn.py:16 ipam/tables/ip.py:85 ipam/tables/ip.py:159 +#: ipam/tables/services.py:15 ipam/tables/services.py:40 #: ipam/tables/vlans.py:64 ipam/tables/vlans.py:110 ipam/tables/vrfs.py:26 -#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:25 -#: templates/circuits/provideraccount.html:29 -#: templates/circuits/providernetwork.html:27 -#: templates/core/datasource.html:35 templates/core/job.html:31 -#: templates/dcim/consoleport.html:31 templates/dcim/consoleserverport.html:31 -#: templates/dcim/devicebay.html:27 templates/dcim/devicerole.html:29 -#: templates/dcim/frontport.html:31 +#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:22 +#: templates/circuits/provideraccount.html:28 +#: templates/circuits/providernetwork.html:24 +#: templates/core/datasource.html:34 templates/core/job.html:26 +#: templates/core/rq_worker.html:43 templates/dcim/consoleport.html:28 +#: templates/dcim/consoleserverport.html:28 templates/dcim/devicebay.html:24 +#: templates/dcim/devicerole.html:26 templates/dcim/frontport.html:28 #: templates/dcim/inc/interface_vlans_table.html:5 -#: templates/dcim/inc/panels/inventory_items.html:10 -#: templates/dcim/interface.html:39 templates/dcim/interface.html:171 -#: templates/dcim/inventoryitem.html:29 -#: templates/dcim/inventoryitemrole.html:19 templates/dcim/location.html:32 -#: templates/dcim/manufacturer.html:39 templates/dcim/modulebay.html:27 -#: templates/dcim/platform.html:32 templates/dcim/poweroutlet.html:31 -#: templates/dcim/powerport.html:31 templates/dcim/rackrole.html:25 -#: templates/dcim/rearport.html:31 templates/dcim/region.html:30 -#: templates/dcim/sitegroup.html:30 -#: templates/dcim/virtualdevicecontext.html:21 -#: templates/extras/admin/plugins_list.html:22 -#: templates/extras/configcontext.html:14 -#: templates/extras/configtemplate.html:14 -#: templates/extras/customfield.html:16 templates/extras/customlink.html:14 -#: templates/extras/eventrule.html:16 templates/extras/exporttemplate.html:21 -#: templates/extras/report_list.html:46 templates/extras/savedfilter.html:14 -#: templates/extras/script_list.html:52 templates/extras/tag.html:17 -#: templates/extras/webhook.html:16 templates/ipam/asnrange.html:16 -#: templates/ipam/fhrpgroup.html:31 templates/ipam/rir.html:25 -#: templates/ipam/role.html:25 templates/ipam/routetarget.html:14 -#: templates/ipam/service.html:27 templates/ipam/servicetemplate.html:16 -#: templates/ipam/vlan.html:38 templates/ipam/vlangroup.html:31 -#: templates/tenancy/contact.html:26 templates/tenancy/contactgroup.html:24 -#: templates/tenancy/contactrole.html:19 templates/tenancy/tenantgroup.html:32 -#: templates/users/group.html:18 templates/users/objectpermission.html:18 -#: templates/virtualization/cluster.html:16 -#: templates/virtualization/clustergroup.html:25 -#: templates/virtualization/clustertype.html:25 -#: templates/virtualization/virtualdisk.html:26 -#: templates/virtualization/virtualmachine.html:18 -#: templates/virtualization/vminterface.html:28 -#: templates/vpn/ikepolicy.html:14 templates/vpn/ikeproposal.html:14 -#: templates/vpn/ipsecpolicy.html:14 templates/vpn/ipsecprofile.html:14 -#: templates/vpn/ipsecprofile.html:39 templates/vpn/ipsecprofile.html:74 -#: templates/vpn/ipsecproposal.html:14 templates/vpn/l2vpn.html:15 -#: templates/vpn/tunnel.html:22 templates/vpn/tunnelgroup.html:29 -#: templates/wireless/wirelesslangroup.html:30 tenancy/tables/contacts.py:19 +#: templates/dcim/inc/panels/inventory_items.html:18 +#: templates/dcim/interface.html:38 templates/dcim/interface.html:165 +#: templates/dcim/inventoryitem.html:28 +#: templates/dcim/inventoryitemrole.html:18 templates/dcim/location.html:29 +#: templates/dcim/manufacturer.html:36 templates/dcim/modulebay.html:26 +#: templates/dcim/platform.html:29 templates/dcim/poweroutlet.html:28 +#: templates/dcim/powerport.html:28 templates/dcim/rackrole.html:22 +#: templates/dcim/rearport.html:28 templates/dcim/region.html:29 +#: templates/dcim/sitegroup.html:29 +#: templates/dcim/virtualdevicecontext.html:18 +#: templates/extras/configcontext.html:13 +#: templates/extras/configtemplate.html:13 +#: templates/extras/customfield.html:13 templates/extras/customlink.html:13 +#: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15 +#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:46 +#: templates/extras/tag.html:14 templates/extras/webhook.html:13 +#: templates/ipam/asnrange.html:15 templates/ipam/fhrpgroup.html:30 +#: templates/ipam/rir.html:22 templates/ipam/role.html:22 +#: templates/ipam/routetarget.html:13 templates/ipam/service.html:24 +#: templates/ipam/servicetemplate.html:15 templates/ipam/vlan.html:35 +#: templates/ipam/vlangroup.html:30 templates/tenancy/contact.html:25 +#: templates/tenancy/contactgroup.html:21 +#: templates/tenancy/contactrole.html:18 templates/tenancy/tenantgroup.html:29 +#: templates/users/group.html:17 templates/users/objectpermission.html:17 +#: templates/virtualization/cluster.html:13 +#: templates/virtualization/clustergroup.html:22 +#: templates/virtualization/clustertype.html:22 +#: templates/virtualization/virtualdisk.html:25 +#: templates/virtualization/virtualmachine.html:15 +#: templates/virtualization/vminterface.html:25 +#: templates/vpn/ikepolicy.html:13 templates/vpn/ikeproposal.html:13 +#: templates/vpn/ipsecpolicy.html:13 templates/vpn/ipsecprofile.html:13 +#: templates/vpn/ipsecprofile.html:36 templates/vpn/ipsecprofile.html:69 +#: templates/vpn/ipsecproposal.html:13 templates/vpn/l2vpn.html:14 +#: templates/vpn/tunnel.html:21 templates/vpn/tunnelgroup.html:26 +#: templates/wireless/wirelesslangroup.html:29 tenancy/tables/contacts.py:19 #: tenancy/tables/contacts.py:41 tenancy/tables/contacts.py:56 #: tenancy/tables/tenants.py:16 tenancy/tables/tenants.py:38 -#: users/tables.py:62 users/tables.py:79 +#: users/tables.py:62 users/tables.py:76 #: virtualization/forms/bulk_create.py:20 #: virtualization/forms/object_create.py:13 #: virtualization/forms/object_create.py:23 @@ -1090,19 +1114,19 @@ msgid "Name" msgstr "Имя" #: circuits/tables/circuits.py:38 circuits/tables/providers.py:45 -#: circuits/tables/providers.py:79 netbox/navigation/menu.py:254 -#: netbox/navigation/menu.py:258 netbox/navigation/menu.py:260 -#: templates/circuits/provider.html:61 -#: templates/circuits/provideraccount.html:46 -#: templates/circuits/providernetwork.html:54 +#: circuits/tables/providers.py:79 netbox/navigation/menu.py:253 +#: netbox/navigation/menu.py:257 netbox/navigation/menu.py:259 +#: templates/circuits/provider.html:57 +#: templates/circuits/provideraccount.html:44 +#: templates/circuits/providernetwork.html:50 msgid "Circuits" msgstr "Каналы связи" -#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:27 +#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:26 msgid "Circuit ID" msgstr "Идентификатор канала связи" -#: circuits/tables/circuits.py:65 wireless/forms/model_forms.py:157 +#: circuits/tables/circuits.py:65 wireless/forms/model_forms.py:160 msgid "Side A" msgstr "Сторона А" @@ -1110,24 +1134,23 @@ msgstr "Сторона А" msgid "Side Z" msgstr "Сторона Z" -#: circuits/tables/circuits.py:72 templates/circuits/circuit.html:56 +#: circuits/tables/circuits.py:72 templates/circuits/circuit.html:55 msgid "Commit Rate" msgstr "Гарантированная скорость" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1019 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 -#: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 -#: extras/tables/tables.py:490 ipam/tables/asn.py:69 ipam/tables/fhrp.py:34 -#: ipam/tables/ip.py:135 ipam/tables/ip.py:272 ipam/tables/ip.py:325 -#: ipam/tables/ip.py:392 ipam/tables/services.py:24 ipam/tables/services.py:54 -#: ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46 ipam/tables/vrfs.py:71 -#: templates/dcim/cable_edit.html:85 templates/generic/bulk_edit.html:102 -#: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 -#: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 -#: virtualization/tables/clusters.py:91 +#: dcim/tables/sites.py:103 extras/tables/tables.py:515 ipam/tables/asn.py:69 +#: ipam/tables/fhrp.py:34 ipam/tables/ip.py:135 ipam/tables/ip.py:272 +#: ipam/tables/ip.py:325 ipam/tables/ip.py:392 ipam/tables/services.py:24 +#: ipam/tables/services.py:54 ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46 +#: ipam/tables/vrfs.py:71 templates/dcim/htmx/cable_edit.html:89 +#: templates/generic/bulk_edit.html:86 templates/inc/panels/comments.html:6 +#: tenancy/tables/contacts.py:68 tenancy/tables/tenants.py:46 +#: utilities/forms/fields/fields.py:29 virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 @@ -1147,11 +1170,17 @@ msgstr "Количество аккаунтов" msgid "ASN Count" msgstr "Количество ASN" +#: core/api/views.py:36 +msgid "This user does not have permission to synchronize this data source." +msgstr "" +"У этого пользователя нет разрешения на синхронизацию этого источника данных." + #: core/choices.py:18 msgid "New" msgstr "Новый" -#: core/choices.py:19 +#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15 +#: templates/core/rq_task.html:77 msgid "Queued" msgstr "В очереди" @@ -1160,51 +1189,71 @@ msgid "Syncing" msgstr "Синхронизируется" #: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41 -#: extras/choices.py:210 templates/core/job.html:75 +#: extras/choices.py:224 templates/core/job.html:68 msgid "Completed" msgstr "Завершено" -#: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 -#: virtualization/choices.py:47 +#: core/choices.py:22 core/choices.py:59 core/constants.py:20 +#: core/tables/tasks.py:34 dcim/choices.py:176 dcim/choices.py:222 +#: dcim/choices.py:1502 extras/choices.py:226 virtualization/choices.py:47 msgid "Failed" msgstr "Неисправно" -#: core/choices.py:35 netbox/navigation/menu.py:330 -#: templates/extras/script/base.html:14 templates/extras/script_list.html:6 -#: templates/extras/script_list.html:20 templates/extras/script_result.html:18 +#: core/choices.py:35 netbox/navigation/menu.py:319 +#: netbox/navigation/menu.py:323 templates/extras/script/base.html:14 +#: templates/extras/script_list.html:7 templates/extras/script_list.html:12 +#: templates/extras/script_result.html:17 msgid "Scripts" msgstr "Скрипты" -#: core/choices.py:36 netbox/navigation/menu.py:324 -#: templates/extras/report/base.html:13 templates/extras/report_list.html:7 -#: templates/extras/report_list.html:12 +#: core/choices.py:36 templates/extras/report/base.html:13 msgid "Reports" msgstr "Отчеты" -#: core/choices.py:54 extras/choices.py:207 +#: core/choices.py:54 extras/choices.py:221 msgid "Pending" msgstr "В ожидании" -#: core/choices.py:55 core/tables/jobs.py:32 extras/choices.py:208 -#: templates/core/job.html:62 +#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32 +#: core/tables/tasks.py:38 extras/choices.py:222 templates/core/job.html:55 msgid "Scheduled" msgstr "Запланировано" -#: core/choices.py:56 extras/choices.py:209 +#: core/choices.py:56 extras/choices.py:223 msgid "Running" msgstr "Исполняется" -#: core/choices.py:58 extras/choices.py:211 +#: core/choices.py:58 extras/choices.py:225 msgid "Errored" msgstr "Ошибка" -#: core/data_backends.py:29 templates/dcim/interface.html:224 +#: core/constants.py:19 core/tables/tasks.py:30 +msgid "Finished" +msgstr "Закончено" + +#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:64 +#: templates/extras/htmx/script_result.html:8 +msgid "Started" +msgstr "Запущено" + +#: core/constants.py:22 core/tables/tasks.py:26 +msgid "Deferred" +msgstr "Отложено" + +#: core/constants.py:24 +msgid "Stopped" +msgstr "Остановлен" + +#: core/constants.py:25 +msgid "Cancelled" +msgstr "Отменено" + +#: core/data_backends.py:29 templates/dcim/interface.html:216 msgid "Local" msgstr "Локальный" -#: core/data_backends.py:47 extras/tables/tables.py:436 -#: templates/account/profile.html:16 templates/users/user.html:18 +#: core/data_backends.py:47 extras/tables/tables.py:461 +#: templates/account/profile.html:15 templates/users/user.html:17 #: users/tables.py:31 msgid "Username" msgstr "Имя пользователя" @@ -1214,7 +1263,7 @@ msgid "Only used for cloning with HTTP(S)" msgstr "Используется только для клонирования по HTTP (S)" #: core/data_backends.py:53 templates/account/base.html:17 -#: templates/account/password.html:11 users/forms/model_forms.py:172 +#: templates/account/password.html:11 users/forms/model_forms.py:174 msgid "Password" msgstr "Пароль" @@ -1235,8 +1284,8 @@ msgstr "ID ключа доступа AWS" msgid "AWS secret access key" msgstr "Секретный ключ доступа AWS" -#: core/filtersets.py:49 extras/filtersets.py:203 extras/filtersets.py:538 -#: extras/filtersets.py:566 +#: core/filtersets.py:49 extras/filtersets.py:245 extras/filtersets.py:585 +#: extras/filtersets.py:617 msgid "Data source (ID)" msgstr "Источник данных (ID)" @@ -1244,207 +1293,207 @@ msgstr "Источник данных (ID)" msgid "Data source (name)" msgstr "Источник данных (имя)" -#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 -#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 -#: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 -#: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 -#: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 -#: extras/tables/tables.py:122 extras/tables/tables.py:211 -#: extras/tables/tables.py:288 templates/core/datasource.html:43 -#: templates/dcim/interface.html:62 templates/extras/customlink.html:18 -#: templates/extras/eventrule.html:20 templates/extras/savedfilter.html:26 -#: templates/users/objectpermission.html:26 -#: templates/virtualization/vminterface.html:32 users/forms/bulk_edit.py:69 -#: users/forms/filtersets.py:71 users/tables.py:86 -#: virtualization/forms/bulk_edit.py:216 -#: virtualization/forms/filtersets.py:207 +#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:40 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1020 +#: dcim/forms/bulk_edit.py:1293 dcim/forms/filtersets.py:1268 +#: dcim/tables/devices.py:549 dcim/tables/devicetypes.py:221 +#: extras/forms/bulk_edit.py:98 extras/forms/bulk_edit.py:162 +#: extras/forms/bulk_edit.py:221 extras/forms/filtersets.py:120 +#: extras/forms/filtersets.py:207 extras/forms/filtersets.py:268 +#: extras/tables/tables.py:127 extras/tables/tables.py:216 +#: extras/tables/tables.py:293 netbox/preferences.py:22 +#: templates/core/datasource.html:42 templates/dcim/interface.html:61 +#: templates/extras/customlink.html:17 templates/extras/eventrule.html:17 +#: templates/extras/savedfilter.html:25 +#: templates/users/objectpermission.html:25 +#: templates/virtualization/vminterface.html:29 users/forms/bulk_edit.py:89 +#: users/forms/filtersets.py:71 users/tables.py:83 +#: virtualization/forms/bulk_edit.py:217 +#: virtualization/forms/filtersets.py:211 msgid "Enabled" msgstr "Включено" -#: core/forms/bulk_edit.py:33 extras/forms/model_forms.py:204 -#: templates/extras/savedfilter.html:57 vpn/forms/filtersets.py:95 -#: vpn/forms/filtersets.py:124 vpn/forms/filtersets.py:148 -#: vpn/forms/filtersets.py:167 vpn/forms/model_forms.py:300 -#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:335 -#: vpn/forms/model_forms.py:356 vpn/forms/model_forms.py:379 +#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:211 +#: templates/extras/savedfilter.html:53 vpn/forms/filtersets.py:97 +#: vpn/forms/filtersets.py:127 vpn/forms/filtersets.py:151 +#: vpn/forms/filtersets.py:170 vpn/forms/model_forms.py:301 +#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:337 +#: vpn/forms/model_forms.py:357 vpn/forms/model_forms.py:380 msgid "Parameters" msgstr "Параметры" -#: core/forms/bulk_edit.py:37 templates/core/datasource.html:69 +#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68 msgid "Ignore rules" msgstr "Правила исключения" -#: core/forms/filtersets.py:26 core/forms/model_forms.py:95 -#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:464 -#: extras/forms/model_forms.py:517 extras/tables/tables.py:149 -#: extras/tables/tables.py:368 extras/tables/tables.py:403 +#: core/forms/filtersets.py:27 core/forms/model_forms.py:97 +#: extras/forms/model_forms.py:174 extras/forms/model_forms.py:457 +#: extras/forms/model_forms.py:511 extras/tables/tables.py:154 +#: extras/tables/tables.py:373 extras/tables/tables.py:408 #: templates/core/datasource.html:31 -#: templates/dcim/device/render_config.html:19 -#: templates/extras/configcontext.html:30 -#: templates/extras/configtemplate.html:22 -#: templates/extras/exporttemplate.html:41 -#: templates/virtualization/virtualmachine/render_config.html:19 +#: templates/dcim/device/render_config.html:18 +#: templates/extras/configcontext.html:29 +#: templates/extras/configtemplate.html:21 +#: templates/extras/exporttemplate.html:35 +#: templates/virtualization/virtualmachine/render_config.html:18 msgid "Data Source" msgstr "Источник данных" -#: core/forms/filtersets.py:51 core/forms/mixins.py:21 +#: core/forms/filtersets.py:52 core/forms/mixins.py:21 msgid "File" msgstr "Файл" -#: core/forms/filtersets.py:56 core/forms/mixins.py:16 -#: extras/forms/filtersets.py:147 extras/forms/filtersets.py:336 +#: core/forms/filtersets.py:57 core/forms/mixins.py:16 +#: extras/forms/filtersets.py:148 extras/forms/filtersets.py:337 #: extras/forms/filtersets.py:422 msgid "Data source" msgstr "Источник данных" -#: core/forms/filtersets.py:64 extras/forms/filtersets.py:449 +#: core/forms/filtersets.py:67 extras/forms/filtersets.py:449 msgid "Creation" msgstr "Создание" -#: core/forms/filtersets.py:70 extras/forms/filtersets.py:473 -#: extras/forms/filtersets.py:519 extras/tables/tables.py:479 -#: templates/core/job.html:25 templates/extras/objectchange.html:56 -#: tenancy/tables/contacts.py:90 vpn/tables/l2vpn.py:59 +#: core/forms/filtersets.py:71 extras/forms/filtersets.py:470 +#: extras/forms/filtersets.py:513 extras/tables/tables.py:183 +#: extras/tables/tables.py:504 templates/core/job.html:20 +#: templates/extras/objectchange.html:51 tenancy/tables/contacts.py:90 +#: vpn/tables/l2vpn.py:59 msgid "Object Type" msgstr "Тип объекта" -#: core/forms/filtersets.py:80 +#: core/forms/filtersets.py:81 msgid "Created after" msgstr "Создано после" -#: core/forms/filtersets.py:85 +#: core/forms/filtersets.py:86 msgid "Created before" msgstr "Создано до" -#: core/forms/filtersets.py:90 +#: core/forms/filtersets.py:91 msgid "Scheduled after" msgstr "Запланировано после" -#: core/forms/filtersets.py:95 +#: core/forms/filtersets.py:96 msgid "Scheduled before" msgstr "Запланировано до" -#: core/forms/filtersets.py:100 +#: core/forms/filtersets.py:101 msgid "Started after" msgstr "Запустилось после" -#: core/forms/filtersets.py:105 +#: core/forms/filtersets.py:106 msgid "Started before" msgstr "Запустилось до" -#: core/forms/filtersets.py:110 +#: core/forms/filtersets.py:111 msgid "Completed after" msgstr "Завершено после" -#: core/forms/filtersets.py:115 +#: core/forms/filtersets.py:116 msgid "Completed before" msgstr "Завершено до" -#: core/forms/filtersets.py:122 dcim/forms/bulk_edit.py:359 -#: dcim/forms/filtersets.py:352 dcim/forms/filtersets.py:396 -#: dcim/forms/model_forms.py:251 extras/forms/filtersets.py:465 -#: extras/forms/filtersets.py:511 templates/dcim/rackreservation.html:65 -#: templates/extras/objectchange.html:40 templates/extras/savedfilter.html:22 -#: templates/users/token.html:22 templates/users/user.html:6 -#: templates/users/user.html:14 users/filtersets.py:74 users/filtersets.py:134 -#: users/forms/filtersets.py:85 users/forms/filtersets.py:126 -#: users/forms/model_forms.py:157 users/forms/model_forms.py:195 -#: users/tables.py:19 +#: core/forms/filtersets.py:123 dcim/forms/bulk_edit.py:361 +#: dcim/forms/filtersets.py:353 dcim/forms/filtersets.py:397 +#: dcim/forms/model_forms.py:258 extras/forms/filtersets.py:465 +#: extras/forms/filtersets.py:508 templates/dcim/rackreservation.html:58 +#: templates/extras/objectchange.html:35 templates/extras/savedfilter.html:21 +#: templates/inc/user_menu.html:15 templates/users/token.html:21 +#: templates/users/user.html:6 templates/users/user.html:14 +#: users/filtersets.py:97 users/filtersets.py:164 users/forms/filtersets.py:85 +#: users/forms/filtersets.py:126 users/forms/model_forms.py:159 +#: users/forms/model_forms.py:196 users/tables.py:19 msgid "User" msgstr "Пользователь" -#: core/forms/model_forms.py:52 core/tables/data.py:46 -#: templates/core/datafile.html:36 templates/extras/report/base.html:33 -#: templates/extras/script/base.html:32 templates/extras/script_result.html:45 +#: core/forms/model_forms.py:54 core/tables/data.py:46 +#: templates/core/datafile.html:27 templates/extras/report/base.html:33 +#: templates/extras/script/base.html:32 msgid "Source" msgstr "Источник" -#: core/forms/model_forms.py:56 +#: core/forms/model_forms.py:58 msgid "Backend Parameters" msgstr "Параметры backend" -#: core/forms/model_forms.py:94 +#: core/forms/model_forms.py:96 msgid "File Upload" msgstr "Загрузка файла" -#: core/forms/model_forms.py:106 +#: core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" msgstr "" "Невозможно загрузить файл и синхронизировать его с существующим файлом" -#: core/forms/model_forms.py:108 +#: core/forms/model_forms.py:110 msgid "Must upload a file or select a data file to sync" msgstr "Необходимо загрузить файл или выбрать файл данных для синхронизации" -#: core/forms/model_forms.py:147 templates/core/configrevision.html:43 -#: templates/dcim/rack_elevation_list.html:6 +#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" msgstr "Фасады стоек" -#: core/forms/model_forms.py:148 dcim/choices.py:1413 -#: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 -#: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 -#: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 +#: core/forms/model_forms.py:157 dcim/choices.py:1413 +#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_edit.py:1250 +#: dcim/forms/bulk_edit.py:1268 dcim/tables/racks.py:89 +#: netbox/navigation/menu.py:275 netbox/navigation/menu.py:279 msgid "Power" msgstr "Мощность" -#: core/forms/model_forms.py:149 netbox/navigation/menu.py:142 -#: templates/core/configrevision.html:79 +#: core/forms/model_forms.py:159 netbox/navigation/menu.py:141 +#: templates/core/inc/config_data.html:37 msgid "IPAM" msgstr "IPAM" -#: core/forms/model_forms.py:150 netbox/navigation/menu.py:218 -#: templates/core/configrevision.html:95 vpn/forms/bulk_edit.py:76 -#: vpn/forms/filtersets.py:42 vpn/forms/model_forms.py:60 -#: vpn/forms/model_forms.py:145 +#: core/forms/model_forms.py:160 netbox/navigation/menu.py:217 +#: templates/core/inc/config_data.html:50 vpn/forms/bulk_edit.py:77 +#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61 +#: vpn/forms/model_forms.py:146 msgid "Security" msgstr "Безопасность" -#: core/forms/model_forms.py:151 templates/core/configrevision.html:107 +#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59 msgid "Banners" msgstr "Баннеры" -#: core/forms/model_forms.py:152 templates/core/configrevision.html:131 +#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "Разбивка на страницы" -#: core/forms/model_forms.py:153 extras/forms/model_forms.py:63 -#: templates/core/configrevision.html:147 +#: core/forms/model_forms.py:163 extras/forms/model_forms.py:67 +#: templates/core/inc/config_data.html:93 msgid "Validation" msgstr "Валидация" -#: core/forms/model_forms.py:154 templates/account/preferences.html:6 -#: templates/core/configrevision.html:175 +#: core/forms/model_forms.py:164 templates/account/preferences.html:6 msgid "User Preferences" msgstr "Пользовательские настройки" -#: core/forms/model_forms.py:155 dcim/forms/filtersets.py:658 -#: templates/core/configrevision.html:193 users/forms/model_forms.py:64 +#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:660 +#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:68 msgid "Miscellaneous" msgstr "Разное" -#: core/forms/model_forms.py:158 +#: core/forms/model_forms.py:169 msgid "Config Revision" msgstr "Ревизия конфигурации" -#: core/forms/model_forms.py:197 +#: core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." msgstr "Этот параметр определен статически и не может быть изменен." -#: core/forms/model_forms.py:205 +#: core/forms/model_forms.py:216 #, python-brace-format msgid "Current value: {value}" msgstr "Текущее значение: {value}" -#: core/forms/model_forms.py:207 +#: core/forms/model_forms.py:218 msgid " (default)" msgstr " (по умолчанию)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 -#: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:249 +#: core/models/jobs.py:50 extras/models/models.py:758 +#: netbox/models/features.py:51 users/models/tokens.py:33 msgid "created" msgstr "создан(а)" @@ -1488,21 +1537,22 @@ msgstr "Ревизия конфигурации #{id}" #: dcim/models/device_components.py:284 dcim/models/device_components.py:313 #: dcim/models/device_components.py:346 dcim/models/device_components.py:464 #: dcim/models/device_components.py:606 dcim/models/device_components.py:971 -#: dcim/models/device_components.py:1045 dcim/models/power.py:101 -#: dcim/models/racks.py:127 extras/models/customfields.py:75 -#: extras/models/search.py:43 virtualization/models/clusters.py:61 +#: dcim/models/device_components.py:1045 dcim/models/power.py:102 +#: dcim/models/racks.py:128 extras/models/customfields.py:76 +#: extras/models/search.py:41 virtualization/models/clusters.py:61 #: vpn/models/l2vpn.py:32 msgid "type" msgstr "тип" -#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 -#: templates/core/datasource.html:59 +#: core/models/data.py:52 extras/choices.py:37 extras/models/models.py:192 +#: extras/tables/tables.py:582 templates/core/datasource.html:58 msgid "URL" msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 -#: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 +#: dcim/models/device_components.py:513 extras/models/models.py:90 +#: extras/models/models.py:329 extras/models/models.py:554 +#: users/models/permissions.py:29 msgid "enabled" msgstr "включен" @@ -1516,7 +1566,7 @@ msgstr "" "Шаблоны (по одному в строке), соответствующие файлам, которые следует " "игнорировать при синхронизации" -#: core/models/data.py:71 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:562 msgid "parameters" msgstr "параметры" @@ -1550,11 +1600,11 @@ msgstr "" "зависимость: " #: core/models/data.py:286 core/models/files.py:31 -#: netbox/models/features.py:58 +#: netbox/models/features.py:57 msgid "last updated" msgstr "последнее обновление" -#: core/models/data.py:296 dcim/models/cables.py:438 +#: core/models/data.py:296 dcim/models/cables.py:442 msgid "path" msgstr "путь" @@ -1586,11 +1636,11 @@ msgstr "файл данных" msgid "data files" msgstr "файлы данных" -#: core/models/data.py:416 +#: core/models/data.py:417 msgid "auto sync record" msgstr "автоматическая синхронизация записи" -#: core/models/data.py:417 +#: core/models/data.py:418 msgid "auto sync records" msgstr "автоматическая синхронизация записей" @@ -1634,7 +1684,7 @@ msgstr "начало" msgid "completed" msgstr "завершено" -#: core/models/jobs.py:91 extras/models/models.py:123 +#: core/models/jobs.py:91 extras/models/models.py:121 #: extras/models/staging.py:87 msgid "data" msgstr "данные" @@ -1671,7 +1721,7 @@ msgstr "" msgid "Is Active" msgstr "Активен" -#: core/tables/data.py:50 templates/core/datafile.html:40 +#: core/tables/data.py:50 templates/core/datafile.html:31 msgid "Path" msgstr "Путь" @@ -1679,20 +1729,21 @@ msgstr "Путь" msgid "Last updated" msgstr "Последнее обновление" -#: core/tables/jobs.py:10 dcim/tables/devicetypes.py:161 -#: extras/tables/tables.py:174 extras/tables/tables.py:345 -#: netbox/tables/tables.py:184 templates/dcim/virtualchassis_edit.html:53 +#: core/tables/jobs.py:10 core/tables/tasks.py:76 +#: dcim/tables/devicetypes.py:161 extras/tables/tables.py:179 +#: extras/tables/tables.py:350 netbox/tables/tables.py:186 +#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73 #: wireless/tables/wirelesslink.py:16 msgid "ID" msgstr "ID" -#: core/tables/jobs.py:21 extras/choices.py:38 extras/tables/tables.py:236 -#: extras/tables/tables.py:282 extras/tables/tables.py:355 -#: extras/tables/tables.py:453 extras/tables/tables.py:484 -#: netbox/tables/tables.py:238 templates/extras/eventrule.html:99 -#: templates/extras/htmx/report_result.html:45 -#: templates/extras/journalentry.html:21 templates/extras/objectchange.html:62 -#: tenancy/tables/contacts.py:93 vpn/tables/l2vpn.py:64 +#: core/tables/jobs.py:21 extras/choices.py:41 extras/tables/tables.py:241 +#: extras/tables/tables.py:287 extras/tables/tables.py:360 +#: extras/tables/tables.py:478 extras/tables/tables.py:509 +#: extras/tables/tables.py:579 netbox/tables/tables.py:240 +#: templates/extras/eventrule.html:84 templates/extras/journalentry.html:18 +#: templates/extras/objectchange.html:57 tenancy/tables/contacts.py:93 +#: vpn/tables/l2vpn.py:64 msgid "Object" msgstr "Объект" @@ -1700,20 +1751,102 @@ msgstr "Объект" msgid "Interval" msgstr "Интервал" -#: core/tables/jobs.py:38 templates/core/job.html:71 -#: templates/extras/htmx/report_result.html:7 -#: templates/extras/htmx/script_result.html:8 -msgid "Started" -msgstr "Запущено" +#: core/tables/plugins.py:16 templates/vpn/ipsecprofile.html:44 +#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172 +#: vpn/tables/crypto.py:61 +msgid "Version" +msgstr "Версия" -#: dcim/api/serializers.py:205 templates/dcim/rack.html:33 -msgid "Facility ID" -msgstr "Идентификатор объекта" +#: core/tables/plugins.py:20 +msgid "Package" +msgstr "Пакет" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 +#: core/tables/plugins.py:23 +msgid "Author" +msgstr "Автор" + +#: core/tables/plugins.py:26 +msgid "Author Email" +msgstr "Почта" + +#: core/tables/plugins.py:33 +msgid "No plugins found" +msgstr "Плагины не найдены" + +#: core/tables/tasks.py:18 +msgid "Oldest Task" +msgstr "Самая старая задача" + +#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:34 +msgid "Workers" +msgstr "Рабочие" + +#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88 +msgid "Host" +msgstr "Хост" + +#: core/tables/tasks.py:50 ipam/forms/filtersets.py:523 +msgid "Port" +msgstr "Порт" + +#: core/tables/tasks.py:54 +msgid "DB" +msgstr "БАЗА ДАННЫХ" + +#: core/tables/tasks.py:58 +msgid "Scheduler PID" +msgstr "PID планировщика" + +#: core/tables/tasks.py:62 +msgid "No queues found" +msgstr "Очереди не найдены" + +#: core/tables/tasks.py:82 +msgid "Enqueued" +msgstr "В очереди" + +#: core/tables/tasks.py:85 +msgid "Ended" +msgstr "Закончено" + +#: core/tables/tasks.py:93 templates/core/rq_task.html:85 +msgid "Callable" +msgstr "Вызываемый" + +#: core/tables/tasks.py:97 +msgid "No tasks found" +msgstr "Задач не найдено" + +#: core/tables/tasks.py:118 templates/core/rq_worker.html:47 +msgid "State" +msgstr "государство" + +#: core/tables/tasks.py:121 templates/core/rq_worker.html:51 +msgid "Birth" +msgstr "Рождение" + +#: core/tables/tasks.py:124 templates/core/rq_worker.html:59 +msgid "PID" +msgstr "ПІД" + +#: core/tables/tasks.py:128 +msgid "No workers found" +msgstr "Работники не найдены" + +#: core/views.py:335 core/views.py:378 core/views.py:401 core/views.py:419 +#: core/views.py:454 +#, python-brace-format +msgid "Job {job_id} not found" +msgstr "Задание {job_id} не найден" + +#: dcim/api/serializers_/devices.py:50 dcim/api/serializers_/devicetypes.py:26 msgid "Position (U)" msgstr "Позиция (U)" +#: dcim/api/serializers_/racks.py:45 templates/dcim/rack.html:30 +msgid "Facility ID" +msgstr "Идентификатор объекта" + #: dcim/choices.py:21 virtualization/choices.py:21 msgid "Staging" msgstr "Подготовка к развертыванию" @@ -1766,7 +1899,7 @@ msgstr "{n} дюймов" msgid "Reserved" msgstr "Зарезервировано" -#: dcim/choices.py:101 templates/dcim/device.html:262 +#: dcim/choices.py:101 templates/dcim/device.html:251 msgid "Available" msgstr "Доступно" @@ -1775,7 +1908,7 @@ msgstr "Доступно" msgid "Deprecated" msgstr "Выведенный(-ая) из использования" -#: dcim/choices.py:114 templates/dcim/rack.html:128 +#: dcim/choices.py:114 templates/dcim/rack.html:123 msgid "Millimeters" msgstr "Миллиметры" @@ -1783,30 +1916,30 @@ msgstr "Миллиметры" msgid "Inches" msgstr "Дюймы" -#: dcim/choices.py:140 dcim/forms/bulk_edit.py:66 dcim/forms/bulk_edit.py:85 -#: dcim/forms/bulk_edit.py:171 dcim/forms/bulk_edit.py:1290 +#: dcim/choices.py:140 dcim/forms/bulk_edit.py:67 dcim/forms/bulk_edit.py:86 +#: dcim/forms/bulk_edit.py:172 dcim/forms/bulk_edit.py:1298 #: dcim/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 #: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:511 #: dcim/forms/bulk_import.py:778 dcim/forms/bulk_import.py:1033 -#: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 -#: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 -#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 -#: dcim/tables/devices.py:964 extras/tables/tables.py:181 +#: dcim/forms/filtersets.py:227 dcim/forms/model_forms.py:73 +#: dcim/forms/model_forms.py:92 dcim/forms/model_forms.py:169 +#: dcim/forms/model_forms.py:1007 dcim/forms/model_forms.py:1446 +#: dcim/forms/object_import.py:176 dcim/tables/devices.py:652 +#: dcim/tables/devices.py:937 extras/tables/tables.py:186 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 -#: templates/dcim/interface.html:105 templates/dcim/interface.html:321 -#: templates/dcim/location.html:44 templates/dcim/region.html:38 -#: templates/dcim/sitegroup.html:38 templates/ipam/service.html:31 -#: templates/tenancy/contactgroup.html:32 -#: templates/tenancy/tenantgroup.html:40 -#: templates/virtualization/vminterface.html:42 -#: templates/wireless/wirelesslangroup.html:38 tenancy/forms/bulk_edit.py:26 -#: tenancy/forms/bulk_edit.py:60 tenancy/forms/bulk_import.py:24 -#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 -#: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 +#: templates/dcim/interface.html:102 templates/dcim/interface.html:309 +#: templates/dcim/location.html:41 templates/dcim/region.html:37 +#: templates/dcim/sitegroup.html:37 templates/ipam/service.html:28 +#: templates/tenancy/contactgroup.html:29 +#: templates/tenancy/tenantgroup.html:37 +#: templates/virtualization/vminterface.html:39 +#: templates/wireless/wirelesslangroup.html:37 tenancy/forms/bulk_edit.py:27 +#: tenancy/forms/bulk_edit.py:61 tenancy/forms/bulk_import.py:24 +#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:25 +#: tenancy/forms/model_forms.py:68 virtualization/forms/bulk_edit.py:207 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 -#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:24 +#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21 msgid "Parent" msgstr "Родитель" @@ -1814,15 +1947,15 @@ msgstr "Родитель" msgid "Child" msgstr "Потомок" -#: dcim/choices.py:155 templates/dcim/device.html:345 -#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:22 -#: templates/dcim/rackreservation.html:84 +#: dcim/choices.py:155 templates/dcim/device.html:331 +#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:20 +#: templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Вид спереди" -#: dcim/choices.py:156 templates/dcim/device.html:351 -#: templates/dcim/rack.html:187 templates/dcim/rack_elevation_list.html:23 -#: templates/dcim/rackreservation.html:90 +#: dcim/choices.py:156 templates/dcim/device.html:337 +#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:21 +#: templates/dcim/rackreservation.html:82 msgid "Rear" msgstr "Вид сзади" @@ -1884,7 +2017,7 @@ msgstr "Проприетарный" #: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 #: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 -#: netbox/navigation/menu.py:188 +#: netbox/navigation/menu.py:187 msgid "Other" msgstr "Другой" @@ -1900,10 +2033,10 @@ msgstr "Физический" msgid "Virtual" msgstr "Виртуальный" -#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 -#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 -#: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1408 +#: dcim/forms/filtersets.py:1231 dcim/forms/model_forms.py:933 +#: dcim/forms/model_forms.py:1341 netbox/navigation/menu.py:127 +#: netbox/navigation/menu.py:131 templates/dcim/interface.html:210 msgid "Wireless" msgstr "Беспроводной" @@ -1911,11 +2044,11 @@ msgstr "Беспроводной" msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" -#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 -#: templates/virtualization/vminterface.html:46 -#: virtualization/forms/bulk_edit.py:211 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1303 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:919 +#: dcim/tables/devices.py:656 templates/dcim/interface.html:106 +#: templates/virtualization/vminterface.html:43 +#: virtualization/forms/bulk_edit.py:212 #: virtualization/forms/bulk_import.py:158 #: virtualization/tables/virtualmachines.py:159 msgid "Bridge" @@ -1941,10 +2074,10 @@ msgstr "Ethernet (объединительная плата)" msgid "Cellular" msgstr "Сотовая связь" -#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 -#: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 -#: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 -#: templates/dcim/virtualchassis_edit.html:55 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:303 +#: dcim/forms/filtersets.py:737 dcim/forms/filtersets.py:874 +#: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:52 +#: templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "Серийный" @@ -1964,7 +2097,7 @@ msgstr "Полу" msgid "Full" msgstr "Полный" -#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:31 wireless/choices.py:480 msgid "Auto" msgstr "Авто" @@ -2013,7 +2146,7 @@ msgstr "Оптоволоконное" msgid "Fiber" msgstr "Волокно" -#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1138 msgid "Connected" msgstr "Подключено" @@ -2021,7 +2154,7 @@ msgstr "Подключено" msgid "Kilometers" msgstr "Километры" -#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:65 msgid "Meters" msgstr "Метры" @@ -2033,12 +2166,12 @@ msgstr "Сантиметры" msgid "Miles" msgstr "Мили" -#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:66 msgid "Feet" msgstr "Футы" -#: dcim/choices.py:1463 templates/dcim/device.html:332 -#: templates/dcim/rack.html:157 +#: dcim/choices.py:1463 templates/dcim/device.html:319 +#: templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Килограммы" @@ -2046,7 +2179,7 @@ msgstr "Килограммы" msgid "Grams" msgstr "Граммы" -#: dcim/choices.py:1465 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:153 msgid "Pounds" msgstr "Фунты" @@ -2080,405 +2213,469 @@ msgstr "Неверный формат MAC-адреса: {value}" msgid "Invalid WWN format: {value}" msgstr "Неверный формат WWN: {value}" -#: dcim/filtersets.py:84 +#: dcim/filtersets.py:85 msgid "Parent region (ID)" msgstr "Родительский регион (ID)" -#: dcim/filtersets.py:90 +#: dcim/filtersets.py:91 msgid "Parent region (slug)" msgstr "Родительский регион (подстрока)" -#: dcim/filtersets.py:101 +#: dcim/filtersets.py:115 msgid "Parent site group (ID)" msgstr "Родительская группа сайтов (ID)" -#: dcim/filtersets.py:107 +#: dcim/filtersets.py:121 msgid "Parent site group (slug)" msgstr "Родительская группа сайтов (подстрока)" -#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:163 ipam/filtersets.py:841 ipam/filtersets.py:979 msgid "Group (ID)" msgstr "Группа (ID)" -#: dcim/filtersets.py:142 +#: dcim/filtersets.py:169 msgid "Group (slug)" msgstr "Группа (подстрока)" -#: dcim/filtersets.py:148 dcim/filtersets.py:153 +#: dcim/filtersets.py:175 dcim/filtersets.py:180 msgid "AS (ID)" msgstr "Автономная система (ID)" -#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 -#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 +#: dcim/filtersets.py:245 +msgid "Parent location (ID)" +msgstr "Местонахождение родителя (ID)" + +#: dcim/filtersets.py:251 +msgid "Parent location (slug)" +msgstr "Местонахождение родителя (пуля)" + +#: dcim/filtersets.py:257 dcim/filtersets.py:333 dcim/filtersets.py:432 +#: dcim/filtersets.py:1005 dcim/filtersets.py:1331 dcim/filtersets.py:2101 msgid "Location (ID)" msgstr "Локация (ID)" -#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 -#: dcim/filtersets.py:1249 extras/filtersets.py:447 +#: dcim/filtersets.py:264 dcim/filtersets.py:340 dcim/filtersets.py:439 +#: dcim/filtersets.py:1337 extras/filtersets.py:494 msgid "Location (slug)" msgstr "Локация (подстрока)" -#: dcim/filtersets.py:317 dcim/filtersets.py:774 dcim/filtersets.py:876 -#: dcim/filtersets.py:1649 ipam/filtersets.py:347 ipam/filtersets.py:459 -#: ipam/filtersets.py:940 virtualization/filtersets.py:210 +#: dcim/filtersets.py:354 dcim/filtersets.py:840 dcim/filtersets.py:942 +#: dcim/filtersets.py:1769 ipam/filtersets.py:381 ipam/filtersets.py:493 +#: ipam/filtersets.py:989 virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Роль (ID)" -#: dcim/filtersets.py:323 dcim/filtersets.py:780 dcim/filtersets.py:882 -#: dcim/filtersets.py:1655 extras/filtersets.py:463 ipam/filtersets.py:353 -#: ipam/filtersets.py:465 ipam/filtersets.py:946 +#: dcim/filtersets.py:360 dcim/filtersets.py:846 dcim/filtersets.py:948 +#: dcim/filtersets.py:1775 extras/filtersets.py:510 ipam/filtersets.py:387 +#: ipam/filtersets.py:499 ipam/filtersets.py:995 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Роль (подстрока)" -#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 -#: dcim/filtersets.py:2043 +#: dcim/filtersets.py:389 dcim/filtersets.py:1010 dcim/filtersets.py:1342 +#: dcim/filtersets.py:2163 msgid "Rack (ID)" msgstr "Стойка (ID)" -#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 -#: extras/filtersets.py:318 extras/filtersets.py:613 +#: dcim/filtersets.py:443 extras/filtersets.py:282 extras/filtersets.py:326 +#: extras/filtersets.py:365 extras/filtersets.py:664 users/filtersets.py:28 msgid "User (ID)" msgstr "Пользователь (ID)" -#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 -#: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 +#: dcim/filtersets.py:449 extras/filtersets.py:288 extras/filtersets.py:332 +#: extras/filtersets.py:371 users/filtersets.py:103 users/filtersets.py:170 msgid "User (name)" msgstr "Пользователь (имя)" -#: dcim/filtersets.py:440 dcim/filtersets.py:567 dcim/filtersets.py:764 -#: dcim/filtersets.py:815 dcim/filtersets.py:855 dcim/filtersets.py:1145 -#: dcim/filtersets.py:1639 +#: dcim/filtersets.py:481 dcim/filtersets.py:620 dcim/filtersets.py:830 +#: dcim/filtersets.py:881 dcim/filtersets.py:921 dcim/filtersets.py:1233 +#: dcim/filtersets.py:1759 msgid "Manufacturer (ID)" msgstr "Производитель (ID)" -#: dcim/filtersets.py:446 dcim/filtersets.py:573 dcim/filtersets.py:770 -#: dcim/filtersets.py:821 dcim/filtersets.py:861 dcim/filtersets.py:1151 -#: dcim/filtersets.py:1645 +#: dcim/filtersets.py:487 dcim/filtersets.py:626 dcim/filtersets.py:836 +#: dcim/filtersets.py:887 dcim/filtersets.py:927 dcim/filtersets.py:1239 +#: dcim/filtersets.py:1765 msgid "Manufacturer (slug)" msgstr "Производитель (подстрока)" -#: dcim/filtersets.py:450 +#: dcim/filtersets.py:491 msgid "Default platform (ID)" msgstr "Платформа по умолчанию (ID)" -#: dcim/filtersets.py:456 +#: dcim/filtersets.py:497 msgid "Default platform (slug)" msgstr "Платформа по умолчанию (подстрока)" -#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Имеет фронтальное изображение" -#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:504 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Имеет изображение сзади" -#: dcim/filtersets.py:468 dcim/filtersets.py:577 dcim/filtersets.py:997 -#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:563 -#: dcim/forms/filtersets.py:775 +#: dcim/filtersets.py:509 dcim/filtersets.py:630 dcim/filtersets.py:1068 +#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:562 +#: dcim/forms/filtersets.py:776 msgid "Has console ports" msgstr "Имеет консольные порты" -#: dcim/filtersets.py:472 dcim/filtersets.py:581 dcim/filtersets.py:1001 -#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:570 -#: dcim/forms/filtersets.py:782 +#: dcim/filtersets.py:513 dcim/filtersets.py:634 dcim/filtersets.py:1072 +#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:569 +#: dcim/forms/filtersets.py:783 msgid "Has console server ports" msgstr "Имеет серверные консольные порты" -#: dcim/filtersets.py:476 dcim/filtersets.py:585 dcim/filtersets.py:1005 -#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:577 -#: dcim/forms/filtersets.py:789 +#: dcim/filtersets.py:517 dcim/filtersets.py:638 dcim/filtersets.py:1076 +#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:576 +#: dcim/forms/filtersets.py:790 msgid "Has power ports" msgstr "Имеет порты питания" -#: dcim/filtersets.py:480 dcim/filtersets.py:589 dcim/filtersets.py:1009 -#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:584 -#: dcim/forms/filtersets.py:796 +#: dcim/filtersets.py:521 dcim/filtersets.py:642 dcim/filtersets.py:1080 +#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:583 +#: dcim/forms/filtersets.py:797 msgid "Has power outlets" msgstr "Имеет розетки" -#: dcim/filtersets.py:484 dcim/filtersets.py:593 dcim/filtersets.py:1013 -#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:591 -#: dcim/forms/filtersets.py:803 +#: dcim/filtersets.py:525 dcim/filtersets.py:646 dcim/filtersets.py:1084 +#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:590 +#: dcim/forms/filtersets.py:804 msgid "Has interfaces" msgstr "Имеет интерфейсы" -#: dcim/filtersets.py:488 dcim/filtersets.py:597 dcim/filtersets.py:1017 -#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:598 -#: dcim/forms/filtersets.py:810 +#: dcim/filtersets.py:529 dcim/filtersets.py:650 dcim/filtersets.py:1088 +#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:597 +#: dcim/forms/filtersets.py:811 msgid "Has pass-through ports" msgstr "Имеет сквозные порты" -#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:533 dcim/filtersets.py:1092 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Имеет отсеки для модулей" -#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:537 dcim/filtersets.py:1096 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Имеет отсеки для устройств" -#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:541 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Имеет инвентарь" -#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 +#: dcim/filtersets.py:698 dcim/filtersets.py:937 dcim/filtersets.py:1363 msgid "Device type (ID)" msgstr "Тип устройства (ID)" -#: dcim/filtersets.py:661 dcim/filtersets.py:1156 +#: dcim/filtersets.py:717 dcim/filtersets.py:1244 msgid "Module type (ID)" msgstr "Тип модуля (ID)" -#: dcim/filtersets.py:760 dcim/filtersets.py:1635 +#: dcim/filtersets.py:752 dcim/filtersets.py:1514 +msgid "Power port (ID)" +msgstr "Порт питания (ID)" + +#: dcim/filtersets.py:826 dcim/filtersets.py:1755 msgid "Parent inventory item (ID)" msgstr "Родительский инвентарь (ID)" -#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 +#: dcim/filtersets.py:869 dcim/filtersets.py:895 dcim/filtersets.py:1064 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Шаблон конфигурации (ID)" -#: dcim/filtersets.py:867 +#: dcim/filtersets.py:933 msgid "Device type (slug)" msgstr "Тип устройства (подстрока)" -#: dcim/filtersets.py:887 +#: dcim/filtersets.py:953 msgid "Parent Device (ID)" msgstr "Родительское устройство (ID)" -#: dcim/filtersets.py:891 virtualization/filtersets.py:220 +#: dcim/filtersets.py:957 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Платформа (ID)" -#: dcim/filtersets.py:897 extras/filtersets.py:474 +#: dcim/filtersets.py:963 extras/filtersets.py:521 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Платформа (подстрока)" -#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 -#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 +#: dcim/filtersets.py:999 dcim/filtersets.py:1326 dcim/filtersets.py:1853 +#: dcim/filtersets.py:2095 dcim/filtersets.py:2154 msgid "Site name (slug)" msgstr "Имя сайта (подстрока)" -#: dcim/filtersets.py:948 +#: dcim/filtersets.py:1015 +msgid "Parent bay (ID)" +msgstr "Родительский ребенок (ID)" + +#: dcim/filtersets.py:1019 msgid "VM cluster (ID)" msgstr "Кластер виртуальных машин (ID)" -#: dcim/filtersets.py:954 +#: dcim/filtersets.py:1025 msgid "Device model (slug)" msgstr "Модель устройства (подстрока)" -#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:1036 dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Полная глубина" -#: dcim/filtersets.py:969 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 -#: dcim/forms/filtersets.py:1285 dcim/models/device_components.py:519 -#: virtualization/filtersets.py:230 virtualization/filtersets.py:297 -#: virtualization/forms/filtersets.py:168 -#: virtualization/forms/filtersets.py:215 +#: dcim/filtersets.py:1040 dcim/forms/common.py:18 +#: dcim/forms/filtersets.py:746 dcim/forms/filtersets.py:1283 +#: dcim/models/device_components.py:519 virtualization/filtersets.py:230 +#: virtualization/filtersets.py:297 virtualization/forms/filtersets.py:172 +#: virtualization/forms/filtersets.py:219 msgid "MAC address" msgstr "MAC-адрес" -#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 -#: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 -#: virtualization/forms/filtersets.py:172 +#: dcim/filtersets.py:1047 dcim/filtersets.py:1201 +#: dcim/forms/filtersets.py:755 dcim/forms/filtersets.py:841 +#: virtualization/filtersets.py:234 virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Имеет основной IP-адрес" -#: dcim/filtersets.py:980 +#: dcim/filtersets.py:1051 msgid "Has an out-of-band IP" msgstr "Имеет внеполосный IP-адрес" -#: dcim/filtersets.py:985 +#: dcim/filtersets.py:1056 msgid "Virtual chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: dcim/filtersets.py:989 +#: dcim/filtersets.py:1060 msgid "Is a virtual chassis member" msgstr "Является членом виртуального шасси" -#: dcim/filtersets.py:1030 +#: dcim/filtersets.py:1101 msgid "OOB IP (ID)" msgstr "Сервисный порт (ID)" -#: dcim/filtersets.py:1162 +#: dcim/filtersets.py:1184 +msgid "VDC (ID)" +msgstr "VDC (ИДЕНТИФИКАТОР)" + +#: dcim/filtersets.py:1189 +msgid "Device model" +msgstr "модель устройства" + +#: dcim/filtersets.py:1194 ipam/filtersets.py:632 vpn/filtersets.py:102 +#: vpn/filtersets.py:420 +msgid "Interface (ID)" +msgstr "Интерфейс (ID)" + +#: dcim/filtersets.py:1250 msgid "Module type (model)" msgstr "Тип модуля (модель)" -#: dcim/filtersets.py:1168 +#: dcim/filtersets.py:1256 msgid "Module Bay (ID)" msgstr "Отсек для модулей (ID)" -#: dcim/filtersets.py:1172 dcim/filtersets.py:1264 ipam/filtersets.py:577 -#: ipam/filtersets.py:807 ipam/filtersets.py:1026 -#: virtualization/filtersets.py:161 vpn/filtersets.py:351 +#: dcim/filtersets.py:1260 dcim/filtersets.py:1352 ipam/filtersets.py:611 +#: ipam/filtersets.py:851 ipam/filtersets.py:1075 +#: virtualization/filtersets.py:161 vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Устройство (ID)" -#: dcim/filtersets.py:1260 +#: dcim/filtersets.py:1348 msgid "Rack (name)" msgstr "Стойка (название)" -#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 -#: ipam/filtersets.py:1032 vpn/filtersets.py:346 +#: dcim/filtersets.py:1358 ipam/filtersets.py:606 ipam/filtersets.py:846 +#: ipam/filtersets.py:1081 vpn/filtersets.py:393 msgid "Device (name)" msgstr "Устройство (имя)" -#: dcim/filtersets.py:1281 +#: dcim/filtersets.py:1369 msgid "Device type (model)" msgstr "Тип устройства (модель)" -#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 +#: dcim/filtersets.py:1374 msgid "Device role (ID)" msgstr "Роль устройства (ID)" -#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 +#: dcim/filtersets.py:1380 msgid "Device role (slug)" msgstr "Роль устройства (подстрока)" -#: dcim/filtersets.py:1297 +#: dcim/filtersets.py:1385 msgid "Virtual Chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 -#: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 +#: dcim/filtersets.py:1391 dcim/forms/filtersets.py:107 +#: dcim/tables/devices.py:211 netbox/navigation/menu.py:66 +#: templates/dcim/device.html:119 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 -#: templates/dcim/virtualchassis_edit.html:25 +#: templates/dcim/virtualchassis_edit.html:24 msgid "Virtual Chassis" msgstr "Виртуальное шасси" -#: dcim/filtersets.py:1335 +#: dcim/filtersets.py:1411 msgid "Module (ID)" msgstr "Модуль (ID)" -#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1418 +msgid "Cable (ID)" +msgstr "Кабель (ID)" + +#: dcim/filtersets.py:1527 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Назначенная VLAN" -#: dcim/filtersets.py:1443 +#: dcim/filtersets.py:1531 msgid "Assigned VID" msgstr "Назначенный VID" -#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 -#: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 -#: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 -#: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 +#: dcim/filtersets.py:1536 dcim/forms/bulk_edit.py:1382 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1326 +#: dcim/forms/model_forms.py:1322 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:618 ipam/filtersets.py:316 ipam/filtersets.py:327 +#: ipam/filtersets.py:483 ipam/filtersets.py:584 ipam/filtersets.py:595 +#: ipam/forms/bulk_edit.py:227 ipam/forms/bulk_edit.py:282 +#: ipam/forms/bulk_edit.py:324 ipam/forms/bulk_import.py:156 #: ipam/forms/bulk_import.py:242 ipam/forms/bulk_import.py:278 -#: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 -#: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 -#: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 -#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 +#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:171 +#: ipam/forms/filtersets.py:302 ipam/forms/model_forms.py:60 +#: ipam/forms/model_forms.py:200 ipam/forms/model_forms.py:245 +#: ipam/forms/model_forms.py:298 ipam/forms/model_forms.py:420 +#: ipam/forms/model_forms.py:434 ipam/forms/model_forms.py:448 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 -#: templates/dcim/interface.html:138 templates/ipam/ipaddress.html:21 -#: templates/ipam/iprange.html:43 templates/ipam/prefix.html:20 -#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:14 -#: templates/virtualization/vminterface.html:50 -#: virtualization/forms/bulk_edit.py:260 +#: templates/dcim/interface.html:133 templates/ipam/ipaddress.html:18 +#: templates/ipam/iprange.html:40 templates/ipam/prefix.html:19 +#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:13 +#: templates/virtualization/vminterface.html:47 +#: virtualization/forms/bulk_edit.py:261 #: virtualization/forms/bulk_import.py:171 -#: virtualization/forms/filtersets.py:220 -#: virtualization/forms/model_forms.py:347 -#: virtualization/models/virtualmachines.py:348 +#: virtualization/forms/filtersets.py:224 +#: virtualization/forms/model_forms.py:344 +#: virtualization/models/virtualmachines.py:350 #: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 -#: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 +#: dcim/filtersets.py:1542 ipam/filtersets.py:322 ipam/filtersets.py:333 +#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (КРАСНЫЙ)" -#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1547 ipam/filtersets.py:1016 vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:594 ipam/filtersets.py:973 -#: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 -#: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 -#: templates/vpn/l2vpntermination.html:15 -#: virtualization/forms/filtersets.py:225 vpn/forms/bulk_import.py:280 -#: vpn/forms/filtersets.py:242 vpn/forms/model_forms.py:408 -#: vpn/forms/model_forms.py:426 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: dcim/filtersets.py:1553 dcim/forms/filtersets.py:1331 +#: dcim/tables/devices.py:566 ipam/filtersets.py:1022 +#: ipam/forms/filtersets.py:506 ipam/tables/vlans.py:133 +#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66 +#: templates/vpn/l2vpntermination.html:12 +#: virtualization/forms/filtersets.py:229 vpn/forms/bulk_import.py:280 +#: vpn/forms/filtersets.py:246 vpn/forms/model_forms.py:409 +#: vpn/forms/model_forms.py:427 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1497 +#: dcim/filtersets.py:1585 msgid "Virtual Chassis Interfaces for Device" msgstr "Интерфейсы виртуального шасси для устройства" -#: dcim/filtersets.py:1502 +#: dcim/filtersets.py:1590 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Интерфейсы виртуального шасси для устройства (ID)" -#: dcim/filtersets.py:1506 +#: dcim/filtersets.py:1594 msgid "Kind of interface" msgstr "Вид интерфейса" -#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1599 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Родительский интерфейс (ID)" -#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1604 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Мостовой интерфейс (ID)" -#: dcim/filtersets.py:1521 +#: dcim/filtersets.py:1609 msgid "LAG interface (ID)" msgstr "Интерфейс LAG (ID)" -#: dcim/filtersets.py:1690 +#: dcim/filtersets.py:1636 dcim/filtersets.py:1648 +#: dcim/forms/filtersets.py:1243 dcim/forms/model_forms.py:1634 +#: templates/dcim/virtualdevicecontext.html:15 +msgid "Virtual Device Context" +msgstr "Виртуальный контекст" + +#: dcim/filtersets.py:1642 +msgid "Virtual Device Context (Identifier)" +msgstr "Контекст виртуального устройства (идентификатор)" + +#: dcim/filtersets.py:1653 templates/wireless/wirelesslan.html:11 +#: wireless/forms/model_forms.py:53 +msgid "Wireless LAN" +msgstr "Беспроводная сеть" + +#: dcim/filtersets.py:1657 dcim/tables/devices.py:605 +msgid "Wireless link" +msgstr "Беспроводная связь" + +#: dcim/filtersets.py:1727 +msgid "Installed module (ID)" +msgstr "Установленный модуль (ID)" + +#: dcim/filtersets.py:1738 +msgid "Installed device (ID)" +msgstr "Установленное устройство (ID)" + +#: dcim/filtersets.py:1744 +msgid "Installed device (name)" +msgstr "Установленное устройство (имя)" + +#: dcim/filtersets.py:1810 msgid "Master (ID)" msgstr "Мастер (удостоверение личности)" -#: dcim/filtersets.py:1696 +#: dcim/filtersets.py:1816 msgid "Master (name)" msgstr "Мастер (имя)" -#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1858 tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Тенант (ID)" -#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1864 extras/filtersets.py:570 tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Тенант (подстрока)" -#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1900 dcim/forms/filtersets.py:988 msgid "Unterminated" msgstr "Нерасторгнутый" -#: dcim/filtersets.py:2038 +#: dcim/filtersets.py:2158 msgid "Power panel (ID)" msgstr "Панель питания (ID)" #: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:410 -#: extras/forms/model_forms.py:453 extras/forms/model_forms.py:504 -#: netbox/forms/base.py:82 netbox/forms/mixins.py:81 -#: netbox/tables/columns.py:448 -#: templates/circuits/inc/circuit_termination.html:119 -#: templates/generic/bulk_edit.html:81 templates/inc/panels/tags.html:5 +#: extras/forms/model_forms.py:446 extras/forms/model_forms.py:498 +#: netbox/forms/base.py:84 netbox/forms/mixins.py:81 +#: netbox/tables/columns.py:458 +#: templates/circuits/inc/circuit_termination.html:118 +#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 #: utilities/forms/fields/fields.py:81 msgid "Tags" msgstr "Теги" -#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 -#: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 -#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 -#: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 -#: templates/dcim/virtualchassis.html:59 -#: templates/dcim/virtualchassis_edit.html:56 +#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1388 +#: dcim/forms/model_forms.py:431 dcim/forms/model_forms.py:486 +#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353 +#: dcim/tables/devices.py:170 dcim/tables/devices.py:702 +#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:42 +#: templates/dcim/device.html:129 templates/dcim/modulebay.html:34 +#: templates/dcim/virtualchassis.html:66 +#: templates/dcim/virtualchassis_edit.html:55 msgid "Position" msgstr "Позиция" @@ -2490,598 +2687,594 @@ msgstr "" "Поддерживаются алфавитно-цифровые диапазоны. (Должно совпадать с количеством" " создаваемых имен.)" -#: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 -#: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 -#: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 +#: dcim/forms/bulk_edit.py:116 dcim/forms/bulk_import.py:99 +#: dcim/forms/model_forms.py:116 dcim/tables/sites.py:89 +#: ipam/filtersets.py:985 ipam/forms/bulk_edit.py:531 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:517 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 -#: templates/dcim/interface.html:294 templates/dcim/site.html:37 -#: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 -#: templates/tenancy/contact.html:22 templates/tenancy/tenant.html:21 +#: templates/dcim/interface.html:284 templates/dcim/site.html:36 +#: templates/ipam/inc/panels/fhrp_groups.html:23 templates/ipam/vlan.html:27 +#: templates/tenancy/contact.html:21 templates/tenancy/tenant.html:20 #: templates/users/group.html:6 templates/users/group.html:14 -#: templates/virtualization/cluster.html:32 templates/vpn/tunnel.html:30 -#: templates/wireless/wirelesslan.html:19 tenancy/forms/bulk_edit.py:42 -#: tenancy/forms/bulk_edit.py:93 tenancy/forms/bulk_import.py:40 -#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:47 -#: tenancy/forms/filtersets.py:77 tenancy/forms/filtersets.py:96 -#: tenancy/forms/model_forms.py:46 tenancy/forms/model_forms.py:102 -#: tenancy/forms/model_forms.py:124 tenancy/tables/contacts.py:60 +#: templates/virtualization/cluster.html:29 templates/vpn/tunnel.html:29 +#: templates/wireless/wirelesslan.html:18 tenancy/forms/bulk_edit.py:43 +#: tenancy/forms/bulk_edit.py:94 tenancy/forms/bulk_import.py:40 +#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:48 +#: tenancy/forms/filtersets.py:78 tenancy/forms/filtersets.py:97 +#: tenancy/forms/model_forms.py:45 tenancy/forms/model_forms.py:97 +#: tenancy/forms/model_forms.py:122 tenancy/tables/contacts.py:60 #: tenancy/tables/contacts.py:107 tenancy/tables/tenants.py:42 -#: users/filtersets.py:42 users/filtersets.py:145 users/forms/filtersets.py:32 +#: users/filtersets.py:57 users/filtersets.py:175 users/forms/filtersets.py:32 #: users/forms/filtersets.py:38 users/forms/filtersets.py:80 -#: virtualization/forms/bulk_edit.py:64 virtualization/forms/bulk_import.py:47 -#: virtualization/forms/filtersets.py:84 -#: virtualization/forms/model_forms.py:69 virtualization/tables/clusters.py:70 -#: vpn/forms/bulk_edit.py:111 vpn/forms/bulk_import.py:158 -#: vpn/forms/filtersets.py:113 vpn/tables/crypto.py:31 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:47 -#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:45 -#: wireless/forms/model_forms.py:41 wireless/tables/wirelesslan.py:48 +#: virtualization/forms/bulk_edit.py:65 virtualization/forms/bulk_import.py:47 +#: virtualization/forms/filtersets.py:85 +#: virtualization/forms/model_forms.py:66 virtualization/tables/clusters.py:70 +#: vpn/forms/bulk_edit.py:112 vpn/forms/bulk_import.py:158 +#: vpn/forms/filtersets.py:116 vpn/tables/crypto.py:31 +#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:48 +#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:46 +#: wireless/forms/model_forms.py:40 wireless/tables/wirelesslan.py:48 msgid "Group" msgstr "Группа" -#: dcim/forms/bulk_edit.py:130 +#: dcim/forms/bulk_edit.py:131 msgid "Contact name" msgstr "Имя контактного лица" -#: dcim/forms/bulk_edit.py:135 +#: dcim/forms/bulk_edit.py:136 msgid "Contact phone" msgstr "Контактный телефон" -#: dcim/forms/bulk_edit.py:141 +#: dcim/forms/bulk_edit.py:142 msgid "Contact E-mail" msgstr "Контактный адрес электронной почты" -#: dcim/forms/bulk_edit.py:144 dcim/forms/bulk_import.py:122 -#: dcim/forms/model_forms.py:131 +#: dcim/forms/bulk_edit.py:145 dcim/forms/bulk_import.py:122 +#: dcim/forms/model_forms.py:127 msgid "Time zone" msgstr "Часовой пояс" -#: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:207 -#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:299 -#: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 -#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 -#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 -#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 -#: dcim/tables/racks.py:69 extras/filtersets.py:457 -#: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 -#: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 +#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:1160 +#: dcim/forms/bulk_edit.py:1548 dcim/forms/bulk_import.py:207 +#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:300 +#: dcim/forms/filtersets.py:705 dcim/forms/filtersets.py:1418 +#: dcim/forms/model_forms.py:219 dcim/forms/model_forms.py:1015 +#: dcim/forms/model_forms.py:1454 dcim/forms/object_import.py:181 +#: dcim/tables/devices.py:174 dcim/tables/devices.py:810 +#: dcim/tables/devices.py:921 dcim/tables/devicetypes.py:300 +#: dcim/tables/racks.py:69 extras/filtersets.py:504 +#: ipam/forms/bulk_edit.py:246 ipam/forms/bulk_edit.py:295 +#: ipam/forms/bulk_edit.py:343 ipam/forms/bulk_edit.py:549 #: ipam/forms/bulk_import.py:196 ipam/forms/bulk_import.py:261 #: ipam/forms/bulk_import.py:297 ipam/forms/bulk_import.py:463 -#: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 -#: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 -#: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 +#: ipam/forms/filtersets.py:236 ipam/forms/filtersets.py:282 +#: ipam/forms/filtersets.py:353 ipam/forms/filtersets.py:497 +#: ipam/forms/model_forms.py:186 ipam/forms/model_forms.py:219 +#: ipam/forms/model_forms.py:248 ipam/forms/model_forms.py:680 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 -#: templates/dcim/device.html:187 -#: templates/dcim/inc/panels/inventory_items.html:12 -#: templates/dcim/interface.html:231 templates/dcim/inventoryitem.html:37 -#: templates/dcim/rack.html:50 templates/ipam/ipaddress.html:44 -#: templates/ipam/iprange.html:53 templates/ipam/prefix.html:78 -#: templates/ipam/role.html:20 templates/ipam/vlan.html:55 -#: templates/virtualization/virtualmachine.html:26 -#: templates/vpn/tunneltermination.html:18 +#: templates/dcim/device.html:179 +#: templates/dcim/inc/panels/inventory_items.html:20 +#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36 +#: templates/dcim/rack.html:47 templates/ipam/ipaddress.html:41 +#: templates/ipam/iprange.html:50 templates/ipam/prefix.html:77 +#: templates/ipam/role.html:19 templates/ipam/vlan.html:52 +#: templates/virtualization/virtualmachine.html:23 +#: templates/vpn/tunneltermination.html:17 #: templates/wireless/inc/wirelesslink_interface.html:20 -#: tenancy/forms/bulk_edit.py:141 tenancy/forms/filtersets.py:106 -#: tenancy/forms/model_forms.py:139 tenancy/tables/contacts.py:102 -#: virtualization/forms/bulk_edit.py:144 +#: tenancy/forms/bulk_edit.py:142 tenancy/forms/filtersets.py:107 +#: tenancy/forms/model_forms.py:137 tenancy/tables/contacts.py:102 +#: virtualization/forms/bulk_edit.py:145 #: virtualization/forms/bulk_import.py:106 -#: virtualization/forms/filtersets.py:153 -#: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 -#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 -#: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 +#: virtualization/forms/filtersets.py:157 +#: virtualization/forms/model_forms.py:195 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:87 +#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:85 +#: vpn/forms/model_forms.py:78 vpn/forms/model_forms.py:113 #: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Роль" -#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:605 -#: dcim/forms/bulk_edit.py:654 templates/dcim/device.html:106 -#: templates/dcim/module.html:75 templates/dcim/modulebay.html:69 -#: templates/dcim/rack.html:58 +#: dcim/forms/bulk_edit.py:274 dcim/forms/bulk_edit.py:610 +#: dcim/forms/bulk_edit.py:662 templates/dcim/device.html:103 +#: templates/dcim/module.html:74 templates/dcim/modulebay.html:66 +#: templates/dcim/rack.html:55 msgid "Serial Number" msgstr "Серийный номер" -#: dcim/forms/bulk_edit.py:276 dcim/forms/filtersets.py:306 -#: dcim/forms/filtersets.py:740 dcim/forms/filtersets.py:880 +#: dcim/forms/bulk_edit.py:277 dcim/forms/filtersets.py:307 +#: dcim/forms/filtersets.py:741 dcim/forms/filtersets.py:878 #: dcim/forms/filtersets.py:1430 msgid "Asset tag" msgstr "Инвентарный номер" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:220 -#: dcim/forms/filtersets.py:291 templates/dcim/rack.html:91 -#: templates/dcim/rack_edit.html:48 +#: dcim/forms/bulk_edit.py:287 dcim/forms/bulk_import.py:220 +#: dcim/forms/filtersets.py:292 templates/dcim/rack.html:86 msgid "Width" msgstr "Ширина" -#: dcim/forms/bulk_edit.py:292 +#: dcim/forms/bulk_edit.py:293 templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "Высота (U)" -#: dcim/forms/bulk_edit.py:297 +#: dcim/forms/bulk_edit.py:298 msgid "Descending units" msgstr "Единицы по убыванию" -#: dcim/forms/bulk_edit.py:300 +#: dcim/forms/bulk_edit.py:301 msgid "Outer width" msgstr "Наружная ширина" -#: dcim/forms/bulk_edit.py:305 +#: dcim/forms/bulk_edit.py:306 msgid "Outer depth" msgstr "Внешняя глубина" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 +#: dcim/forms/bulk_edit.py:311 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Внешний блок" -#: dcim/forms/bulk_edit.py:315 +#: dcim/forms/bulk_edit.py:316 msgid "Mounting depth" msgstr "Глубина крепления" -#: dcim/forms/bulk_edit.py:320 dcim/forms/bulk_edit.py:349 -#: dcim/forms/bulk_edit.py:434 dcim/forms/bulk_edit.py:457 -#: dcim/forms/bulk_edit.py:473 dcim/forms/bulk_edit.py:493 +#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:351 +#: dcim/forms/bulk_edit.py:436 dcim/forms/bulk_edit.py:459 +#: dcim/forms/bulk_edit.py:475 dcim/forms/bulk_edit.py:495 #: dcim/forms/bulk_import.py:332 dcim/forms/bulk_import.py:358 -#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:311 -#: dcim/forms/filtersets.py:335 dcim/forms/filtersets.py:423 +#: dcim/forms/filtersets.py:251 dcim/forms/filtersets.py:312 +#: dcim/forms/filtersets.py:336 dcim/forms/filtersets.py:423 #: dcim/forms/filtersets.py:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:341 -#: dcim/tables/devicetypes.py:103 dcim/tables/modules.py:35 -#: dcim/tables/racks.py:103 extras/forms/bulk_edit.py:45 -#: extras/forms/bulk_edit.py:107 extras/forms/bulk_edit.py:157 -#: extras/forms/bulk_edit.py:277 extras/forms/filtersets.py:60 -#: extras/forms/filtersets.py:133 extras/forms/filtersets.py:220 -#: ipam/forms/bulk_edit.py:187 templates/dcim/device.html:329 -#: templates/dcim/devicetype.html:52 templates/dcim/moduletype.html:31 -#: templates/dcim/rack_edit.html:60 templates/dcim/rack_edit.html:63 -#: templates/extras/configcontext.html:18 templates/extras/customlink.html:26 -#: templates/extras/savedfilter.html:34 templates/ipam/role.html:33 +#: dcim/forms/filtersets.py:604 dcim/forms/model_forms.py:232 +#: dcim/forms/model_forms.py:346 dcim/tables/devicetypes.py:103 +#: dcim/tables/modules.py:35 dcim/tables/racks.py:103 +#: extras/forms/bulk_edit.py:45 extras/forms/bulk_edit.py:108 +#: extras/forms/bulk_edit.py:158 extras/forms/bulk_edit.py:278 +#: extras/forms/filtersets.py:61 extras/forms/filtersets.py:134 +#: extras/forms/filtersets.py:221 ipam/forms/bulk_edit.py:188 +#: templates/dcim/device.html:316 templates/dcim/devicetype.html:49 +#: templates/dcim/moduletype.html:30 templates/extras/configcontext.html:17 +#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33 +#: templates/ipam/role.html:30 msgid "Weight" msgstr "Вес" -#: dcim/forms/bulk_edit.py:325 dcim/forms/filtersets.py:316 +#: dcim/forms/bulk_edit.py:326 dcim/forms/filtersets.py:317 msgid "Max weight" msgstr "Максимальный вес" -#: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:231 +#: dcim/forms/bulk_edit.py:331 dcim/forms/bulk_edit.py:441 +#: dcim/forms/bulk_edit.py:480 dcim/forms/bulk_import.py:231 #: dcim/forms/bulk_import.py:337 dcim/forms/bulk_import.py:363 -#: dcim/forms/filtersets.py:321 dcim/forms/filtersets.py:533 -#: dcim/forms/filtersets.py:609 +#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:533 +#: dcim/forms/filtersets.py:608 msgid "Weight unit" msgstr "Весовая единица" -#: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 +#: dcim/forms/bulk_edit.py:345 dcim/forms/bulk_edit.py:808 #: dcim/forms/bulk_import.py:270 dcim/forms/bulk_import.py:273 #: dcim/forms/bulk_import.py:498 dcim/forms/bulk_import.py:1309 -#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:101 -#: dcim/forms/filtersets.py:339 dcim/forms/filtersets.py:353 -#: dcim/forms/filtersets.py:391 dcim/forms/filtersets.py:699 -#: dcim/forms/filtersets.py:948 dcim/forms/filtersets.py:1080 -#: dcim/forms/model_forms.py:241 dcim/forms/model_forms.py:417 -#: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 -#: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 -#: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 +#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:102 +#: dcim/forms/filtersets.py:340 dcim/forms/filtersets.py:354 +#: dcim/forms/filtersets.py:392 dcim/forms/filtersets.py:700 +#: dcim/forms/filtersets.py:946 dcim/forms/filtersets.py:1078 +#: dcim/forms/model_forms.py:226 dcim/forms/model_forms.py:248 +#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:700 +#: dcim/forms/object_create.py:400 dcim/tables/devices.py:166 +#: dcim/tables/power.py:70 dcim/tables/racks.py:148 +#: ipam/forms/bulk_edit.py:465 ipam/forms/filtersets.py:434 +#: ipam/forms/model_forms.py:601 templates/dcim/device.html:29 #: templates/dcim/inc/cable_termination.html:16 -#: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 -#: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 -#: templates/dcim/rackreservation.html:20 -#: templates/dcim/rackreservation.html:39 -#: virtualization/forms/model_forms.py:116 +#: templates/dcim/powerfeed.html:28 templates/dcim/rack.html:13 +#: templates/dcim/rack/base.html:4 templates/dcim/rackreservation.html:19 +#: templates/dcim/rackreservation.html:36 +#: virtualization/forms/model_forms.py:113 msgid "Rack" msgstr "Стойка" -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:623 -#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332 -#: dcim/forms/filtersets.py:417 dcim/forms/filtersets.py:543 -#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:853 -#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 +#: dcim/forms/bulk_edit.py:349 dcim/forms/bulk_edit.py:628 +#: dcim/forms/filtersets.py:248 dcim/forms/filtersets.py:333 +#: dcim/forms/filtersets.py:416 dcim/forms/filtersets.py:543 +#: dcim/forms/filtersets.py:651 dcim/forms/filtersets.py:853 +#: dcim/forms/model_forms.py:610 dcim/forms/model_forms.py:1524 #: templates/dcim/device_edit.html:20 -#: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" msgstr "Аппаратное обеспечение" -#: dcim/forms/bulk_edit.py:400 dcim/forms/bulk_edit.py:464 -#: dcim/forms/bulk_edit.py:528 dcim/forms/bulk_edit.py:552 -#: dcim/forms/bulk_edit.py:633 dcim/forms/bulk_edit.py:1157 -#: dcim/forms/bulk_edit.py:1544 dcim/forms/bulk_import.py:319 +#: dcim/forms/bulk_edit.py:402 dcim/forms/bulk_edit.py:466 +#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:554 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_edit.py:1165 +#: dcim/forms/bulk_edit.py:1553 dcim/forms/bulk_import.py:319 #: dcim/forms/bulk_import.py:353 dcim/forms/bulk_import.py:395 #: dcim/forms/bulk_import.py:431 dcim/forms/bulk_import.py:1027 #: dcim/forms/filtersets.py:429 dcim/forms/filtersets.py:554 -#: dcim/forms/filtersets.py:631 dcim/forms/filtersets.py:709 +#: dcim/forms/filtersets.py:630 dcim/forms/filtersets.py:710 #: dcim/forms/filtersets.py:858 dcim/forms/filtersets.py:1423 -#: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 -#: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 -#: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 +#: dcim/forms/model_forms.py:281 dcim/forms/model_forms.py:293 +#: dcim/forms/model_forms.py:339 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:1020 dcim/forms/model_forms.py:1459 +#: dcim/forms/object_import.py:187 dcim/tables/devices.py:101 +#: dcim/tables/devices.py:177 dcim/tables/devices.py:924 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 -#: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 -#: templates/dcim/manufacturer.html:34 templates/dcim/modulebay.html:61 -#: templates/dcim/moduletype.html:15 templates/dcim/platform.html:40 +#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44 +#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:58 +#: templates/dcim/moduletype.html:14 templates/dcim/platform.html:37 msgid "Manufacturer" msgstr "Производитель" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 -#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 +#: dcim/forms/bulk_edit.py:407 dcim/forms/bulk_import.py:325 +#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Платформа по умолчанию" -#: dcim/forms/bulk_edit.py:410 dcim/forms/bulk_edit.py:469 -#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:558 +#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:471 +#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:557 msgid "Part number" msgstr "Номер детали" -#: dcim/forms/bulk_edit.py:414 +#: dcim/forms/bulk_edit.py:416 msgid "U height" msgstr "Высота U" -#: dcim/forms/bulk_edit.py:426 +#: dcim/forms/bulk_edit.py:428 msgid "Exclude from utilization" msgstr "Исключить из использования" -#: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 +#: dcim/forms/bulk_edit.py:431 dcim/forms/bulk_edit.py:603 #: dcim/forms/bulk_import.py:525 dcim/forms/filtersets.py:446 -#: dcim/forms/filtersets.py:731 templates/dcim/device.html:100 -#: templates/dcim/devicetype.html:68 +#: dcim/forms/filtersets.py:732 templates/dcim/device.html:97 +#: templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Воздушный поток" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:307 -#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:90 -#: templates/dcim/devicebay.html:59 templates/dcim/module.html:59 +#: dcim/forms/bulk_edit.py:457 dcim/forms/model_forms.py:312 +#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:87 +#: templates/dcim/devicebay.html:52 templates/dcim/module.html:58 msgid "Device Type" msgstr "Тип устройства" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 +#: dcim/forms/bulk_edit.py:494 dcim/forms/model_forms.py:345 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 -#: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 +#: templates/dcim/module.html:62 templates/dcim/modulebay.html:62 #: templates/dcim/moduletype.html:11 msgid "Module Type" msgstr "Тип модуля" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 +#: dcim/forms/bulk_edit.py:508 dcim/models/devices.py:474 msgid "VM role" msgstr "Роль виртуальной машины" -#: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:376 +#: dcim/forms/bulk_edit.py:511 dcim/forms/bulk_edit.py:535 +#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_import.py:376 #: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:402 #: dcim/forms/bulk_import.py:406 dcim/forms/bulk_import.py:531 -#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:620 -#: dcim/forms/filtersets.py:636 dcim/forms/filtersets.py:750 -#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 -#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 +#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:619 +#: dcim/forms/filtersets.py:635 dcim/forms/filtersets.py:751 +#: dcim/forms/model_forms.py:358 dcim/forms/model_forms.py:384 +#: dcim/forms/model_forms.py:495 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 -#: virtualization/forms/filtersets.py:180 -#: virtualization/forms/model_forms.py:218 +#: virtualization/forms/filtersets.py:184 +#: virtualization/forms/model_forms.py:215 msgid "Config template" msgstr "Шаблон конфигурации" -#: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:439 dcim/forms/model_forms.py:783 -#: dcim/forms/model_forms.py:797 extras/filtersets.py:452 +#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:959 +#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:112 +#: dcim/forms/model_forms.py:444 dcim/forms/model_forms.py:817 +#: dcim/forms/model_forms.py:834 extras/filtersets.py:499 msgid "Device type" msgstr "Тип устройства" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 +#: dcim/forms/bulk_edit.py:570 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:117 dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Роль устройства" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 -#: extras/filtersets.py:468 templates/dcim/device.html:191 -#: templates/dcim/platform.html:27 -#: templates/virtualization/virtualmachine.html:30 -#: virtualization/forms/bulk_edit.py:159 +#: dcim/forms/bulk_edit.py:593 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:724 dcim/forms/model_forms.py:394 +#: dcim/forms/model_forms.py:456 dcim/tables/devices.py:187 +#: extras/filtersets.py:515 templates/dcim/device.html:183 +#: templates/dcim/platform.html:26 +#: templates/virtualization/virtualmachine.html:27 +#: virtualization/forms/bulk_edit.py:160 #: virtualization/forms/bulk_import.py:122 -#: virtualization/forms/filtersets.py:164 -#: virtualization/forms/model_forms.py:206 +#: virtualization/forms/filtersets.py:168 +#: virtualization/forms/model_forms.py:203 #: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Платформа" -#: dcim/forms/bulk_edit.py:621 dcim/forms/bulk_edit.py:1171 -#: dcim/forms/bulk_edit.py:1534 dcim/forms/bulk_edit.py:1580 +#: dcim/forms/bulk_edit.py:626 dcim/forms/bulk_edit.py:1179 +#: dcim/forms/bulk_edit.py:1543 dcim/forms/bulk_edit.py:1589 #: dcim/forms/bulk_import.py:586 dcim/forms/bulk_import.py:648 #: dcim/forms/bulk_import.py:674 dcim/forms/bulk_import.py:700 #: dcim/forms/bulk_import.py:720 dcim/forms/bulk_import.py:773 #: dcim/forms/bulk_import.py:891 dcim/forms/bulk_import.py:939 #: dcim/forms/bulk_import.py:956 dcim/forms/bulk_import.py:968 #: dcim/forms/bulk_import.py:1016 dcim/forms/bulk_import.py:1373 -#: dcim/forms/connections.py:23 dcim/forms/filtersets.py:128 -#: dcim/forms/filtersets.py:831 dcim/forms/filtersets.py:964 -#: dcim/forms/filtersets.py:1154 dcim/forms/filtersets.py:1176 -#: dcim/forms/filtersets.py:1198 dcim/forms/filtersets.py:1215 -#: dcim/forms/filtersets.py:1235 dcim/forms/filtersets.py:1343 -#: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 -#: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 +#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:129 +#: dcim/forms/filtersets.py:832 dcim/forms/filtersets.py:962 +#: dcim/forms/filtersets.py:1152 dcim/forms/filtersets.py:1174 +#: dcim/forms/filtersets.py:1196 dcim/forms/filtersets.py:1213 +#: dcim/forms/filtersets.py:1233 dcim/forms/filtersets.py:1341 +#: dcim/forms/filtersets.py:1363 dcim/forms/filtersets.py:1384 +#: dcim/forms/filtersets.py:1399 dcim/forms/filtersets.py:1413 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:562 -#: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 -#: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 +#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:573 +#: dcim/forms/model_forms.py:794 dcim/forms/model_forms.py:1153 +#: dcim/forms/model_forms.py:1608 dcim/forms/object_create.py:257 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 -#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 -#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 -#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 -#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 -#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 -#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 -#: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 -#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 -#: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 -#: templates/dcim/device.html:14 templates/dcim/device.html:128 -#: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 -#: templates/dcim/devicebay.html:55 templates/dcim/frontport.html:23 -#: templates/dcim/interface.html:31 templates/dcim/interface.html:167 -#: templates/dcim/inventoryitem.html:21 templates/dcim/module.html:55 -#: templates/dcim/modulebay.html:21 templates/dcim/poweroutlet.html:23 -#: templates/dcim/powerport.html:23 templates/dcim/rearport.html:23 -#: templates/dcim/virtualchassis.html:58 -#: templates/dcim/virtualchassis_edit.html:52 -#: templates/dcim/virtualdevicecontext.html:25 -#: templates/ipam/ipaddress_edit.html:42 templates/ipam/service_create.html:17 -#: templates/ipam/service_edit.html:16 -#: templates/virtualization/virtualmachine.html:115 -#: templates/vpn/l2vpntermination_edit.html:22 -#: templates/vpn/tunneltermination.html:24 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:290 +#: dcim/tables/devices.py:355 dcim/tables/devices.py:399 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:498 +#: dcim/tables/devices.py:590 dcim/tables/devices.py:692 +#: dcim/tables/devices.py:752 dcim/tables/devices.py:802 +#: dcim/tables/devices.py:862 dcim/tables/devices.py:914 +#: dcim/tables/devices.py:1040 dcim/tables/modules.py:52 +#: extras/forms/filtersets.py:330 ipam/forms/bulk_import.py:303 +#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:539 +#: ipam/forms/model_forms.py:317 ipam/forms/model_forms.py:716 +#: ipam/forms/model_forms.py:749 ipam/forms/model_forms.py:775 +#: ipam/tables/vlans.py:176 templates/dcim/consoleport.html:20 +#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:14 +#: templates/dcim/device.html:128 templates/dcim/device_edit.html:10 +#: templates/dcim/devicebay.html:20 templates/dcim/devicebay.html:48 +#: templates/dcim/frontport.html:20 templates/dcim/interface.html:30 +#: templates/dcim/interface.html:161 templates/dcim/inventoryitem.html:20 +#: templates/dcim/module.html:54 templates/dcim/modulebay.html:20 +#: templates/dcim/poweroutlet.html:20 templates/dcim/powerport.html:20 +#: templates/dcim/rearport.html:20 templates/dcim/virtualchassis.html:65 +#: templates/dcim/virtualchassis_edit.html:51 +#: templates/dcim/virtualdevicecontext.html:22 +#: templates/virtualization/virtualmachine.html:110 +#: templates/vpn/tunneltermination.html:23 #: templates/wireless/inc/wirelesslink_interface.html:6 -#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:136 +#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137 #: virtualization/forms/bulk_import.py:99 -#: virtualization/forms/filtersets.py:124 -#: virtualization/forms/model_forms.py:188 +#: virtualization/forms/filtersets.py:128 +#: virtualization/forms/model_forms.py:185 #: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 -#: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 -#: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 -#: wireless/forms/model_forms.py:100 wireless/forms/model_forms.py:140 -#: wireless/tables/wirelesslan.py:75 +#: vpn/forms/filtersets.py:275 vpn/forms/model_forms.py:90 +#: vpn/forms/model_forms.py:125 vpn/forms/model_forms.py:236 +#: vpn/forms/model_forms.py:453 wireless/forms/model_forms.py:99 +#: wireless/forms/model_forms.py:141 wireless/tables/wirelesslan.py:75 msgid "Device" msgstr "Устройство" -#: dcim/forms/bulk_edit.py:624 netbox/navigation/menu.py:441 -#: templates/extras/dashboard/widget_config.html:7 +#: dcim/forms/bulk_edit.py:629 templates/extras/dashboard/widget_config.html:7 +#: virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "Конфигурация" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 -#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 +#: dcim/forms/bulk_edit.py:643 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:587 dcim/forms/model_forms.py:842 msgid "Module type" msgstr "Тип модуля" -#: dcim/forms/bulk_edit.py:689 dcim/forms/bulk_edit.py:874 -#: dcim/forms/bulk_edit.py:893 dcim/forms/bulk_edit.py:916 -#: dcim/forms/bulk_edit.py:958 dcim/forms/bulk_edit.py:1002 -#: dcim/forms/bulk_edit.py:1053 dcim/forms/bulk_edit.py:1080 -#: dcim/forms/bulk_edit.py:1107 dcim/forms/bulk_edit.py:1125 -#: dcim/forms/bulk_edit.py:1143 dcim/forms/filtersets.py:64 -#: dcim/forms/object_create.py:45 templates/dcim/cable.html:33 -#: templates/dcim/consoleport.html:35 templates/dcim/consoleserverport.html:35 -#: templates/dcim/devicebay.html:31 templates/dcim/frontport.html:35 -#: templates/dcim/inc/panels/inventory_items.html:11 -#: templates/dcim/interface.html:43 templates/dcim/inventoryitem.html:33 -#: templates/dcim/modulebay.html:31 templates/dcim/poweroutlet.html:35 -#: templates/dcim/powerport.html:35 templates/dcim/rearport.html:35 -#: templates/extras/customfield.html:27 templates/generic/bulk_import.html:155 +#: dcim/forms/bulk_edit.py:697 dcim/forms/bulk_edit.py:882 +#: dcim/forms/bulk_edit.py:901 dcim/forms/bulk_edit.py:924 +#: dcim/forms/bulk_edit.py:966 dcim/forms/bulk_edit.py:1010 +#: dcim/forms/bulk_edit.py:1061 dcim/forms/bulk_edit.py:1088 +#: dcim/forms/bulk_edit.py:1115 dcim/forms/bulk_edit.py:1133 +#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:65 +#: dcim/forms/object_create.py:46 templates/dcim/cable.html:32 +#: templates/dcim/consoleport.html:32 templates/dcim/consoleserverport.html:32 +#: templates/dcim/devicebay.html:28 templates/dcim/frontport.html:32 +#: templates/dcim/inc/panels/inventory_items.html:19 +#: templates/dcim/interface.html:42 templates/dcim/inventoryitem.html:32 +#: templates/dcim/modulebay.html:30 templates/dcim/poweroutlet.html:32 +#: templates/dcim/powerport.html:32 templates/dcim/rearport.html:32 +#: templates/extras/customfield.html:26 templates/generic/bulk_import.html:162 msgid "Label" msgstr "Этикетка" -#: dcim/forms/bulk_edit.py:698 dcim/forms/filtersets.py:981 -#: templates/dcim/cable.html:51 +#: dcim/forms/bulk_edit.py:706 dcim/forms/filtersets.py:979 +#: templates/dcim/cable.html:50 msgid "Length" msgstr "Длина" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 -#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:711 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:983 msgid "Length unit" msgstr "Единица длины" -#: dcim/forms/bulk_edit.py:727 templates/dcim/virtualchassis.html:24 +#: dcim/forms/bulk_edit.py:735 templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "Домен" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 +#: dcim/forms/bulk_edit.py:803 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1069 dcim/forms/model_forms.py:695 msgid "Power panel" msgstr "Панель питания" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 -#: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 +#: dcim/forms/bulk_edit.py:825 dcim/forms/bulk_import.py:1332 +#: dcim/forms/filtersets.py:1091 templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Снабжение" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 -#: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 +#: dcim/forms/bulk_edit.py:831 dcim/forms/bulk_import.py:1337 +#: dcim/forms/filtersets.py:1096 templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Фаза" -#: dcim/forms/bulk_edit.py:829 dcim/forms/filtersets.py:1103 -#: templates/dcim/powerfeed.html:94 +#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1101 +#: templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Напряжение" -#: dcim/forms/bulk_edit.py:833 dcim/forms/filtersets.py:1107 -#: templates/dcim/powerfeed.html:98 +#: dcim/forms/bulk_edit.py:841 dcim/forms/filtersets.py:1105 +#: templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Сила тока" -#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1111 +#: dcim/forms/bulk_edit.py:845 dcim/forms/filtersets.py:1109 msgid "Max utilization" msgstr "Максимальное использование" -#: dcim/forms/bulk_edit.py:841 dcim/forms/bulk_edit.py:1200 -#: dcim/forms/bulk_edit.py:1217 dcim/forms/bulk_edit.py:1234 -#: dcim/forms/bulk_edit.py:1252 dcim/forms/bulk_edit.py:1340 -#: dcim/forms/bulk_edit.py:1478 dcim/forms/bulk_edit.py:1495 +#: dcim/forms/bulk_edit.py:849 dcim/forms/bulk_edit.py:1208 +#: dcim/forms/bulk_edit.py:1225 dcim/forms/bulk_edit.py:1242 +#: dcim/forms/bulk_edit.py:1260 dcim/forms/bulk_edit.py:1348 +#: dcim/forms/bulk_edit.py:1487 dcim/forms/bulk_edit.py:1504 msgid "Mark connected" msgstr "Пометить подключенным" -#: dcim/forms/bulk_edit.py:926 +#: dcim/forms/bulk_edit.py:934 msgid "Maximum draw" msgstr "Максимальное потребление" -#: dcim/forms/bulk_edit.py:929 dcim/models/device_component_templates.py:256 +#: dcim/forms/bulk_edit.py:937 dcim/models/device_component_templates.py:256 #: dcim/models/device_components.py:357 msgid "Maximum power draw (watts)" msgstr "Максимальная потребляемая мощность (Вт)" -#: dcim/forms/bulk_edit.py:932 +#: dcim/forms/bulk_edit.py:940 msgid "Allocated draw" msgstr "Выделенная мощность" -#: dcim/forms/bulk_edit.py:935 dcim/models/device_component_templates.py:263 +#: dcim/forms/bulk_edit.py:943 dcim/models/device_component_templates.py:263 #: dcim/models/device_components.py:364 msgid "Allocated power draw (watts)" msgstr "Распределенная потребляемая мощность (Вт)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:731 -#: dcim/forms/model_forms.py:855 dcim/forms/model_forms.py:1083 -#: dcim/forms/model_forms.py:1368 dcim/forms/object_import.py:60 +#: dcim/forms/bulk_edit.py:976 dcim/forms/bulk_import.py:731 +#: dcim/forms/model_forms.py:898 dcim/forms/model_forms.py:1223 +#: dcim/forms/model_forms.py:1511 dcim/forms/object_import.py:55 msgid "Power port" msgstr "Порт питания" -#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 +#: dcim/forms/bulk_edit.py:981 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Фаза электропитания" -#: dcim/forms/bulk_edit.py:1019 dcim/forms/bulk_edit.py:1325 +#: dcim/forms/bulk_edit.py:1027 dcim/forms/bulk_edit.py:1333 msgid "Management only" msgstr "Только управление" -#: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 -#: dcim/forms/object_import.py:95 +#: dcim/forms/bulk_edit.py:1037 dcim/forms/bulk_edit.py:1339 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1292 +#: dcim/forms/object_import.py:90 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 msgid "PoE mode" msgstr "Режим PoE" -#: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 -#: dcim/forms/object_import.py:100 +#: dcim/forms/bulk_edit.py:1043 dcim/forms/bulk_edit.py:1345 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1297 +#: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 msgid "PoE type" msgstr "Тип PoE" -#: dcim/forms/bulk_edit.py:1041 dcim/forms/filtersets.py:1304 -#: dcim/forms/object_import.py:105 +#: dcim/forms/bulk_edit.py:1049 dcim/forms/filtersets.py:1302 +#: dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Роль беспроводной связи" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 -#: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 -#: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 -#: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 -#: templates/dcim/poweroutlet.html:27 templates/dcim/powerport.html:27 -#: templates/dcim/rearport.html:27 +#: dcim/forms/bulk_edit.py:1186 dcim/forms/model_forms.py:609 +#: dcim/forms/model_forms.py:1168 dcim/tables/devices.py:313 +#: templates/dcim/consoleport.html:24 templates/dcim/consoleserverport.html:24 +#: templates/dcim/frontport.html:24 templates/dcim/interface.html:34 +#: templates/dcim/module.html:51 templates/dcim/modulebay.html:54 +#: templates/dcim/poweroutlet.html:24 templates/dcim/powerport.html:24 +#: templates/dcim/rearport.html:24 msgid "Module" msgstr "Модуль" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 -#: templates/dcim/interface.html:113 +#: dcim/forms/bulk_edit.py:1313 dcim/tables/devices.py:661 +#: templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 +#: dcim/forms/bulk_edit.py:1318 dcim/forms/model_forms.py:1250 msgid "Virtual device contexts" msgstr "Виртуальные контексты" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 -#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 -#: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:630 -#: templates/circuits/inc/circuit_termination.html:94 -#: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 +#: dcim/forms/bulk_edit.py:1324 dcim/forms/bulk_import.py:659 +#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1161 +#: dcim/forms/filtersets.py:1183 dcim/forms/filtersets.py:1256 +#: dcim/tables/devices.py:602 +#: templates/circuits/inc/circuit_termination.html:93 +#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 msgid "Speed" msgstr "Скорость" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:830 -#: templates/vpn/ikepolicy.html:26 templates/vpn/ipsecprofile.html:22 -#: templates/vpn/ipsecprofile.html:51 virtualization/forms/bulk_edit.py:232 -#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:145 -#: vpn/forms/bulk_edit.py:233 vpn/forms/bulk_import.py:176 -#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:132 -#: vpn/forms/filtersets.py:175 vpn/forms/filtersets.py:189 +#: dcim/forms/bulk_edit.py:1353 dcim/forms/bulk_import.py:830 +#: templates/vpn/ikepolicy.html:25 templates/vpn/ipsecprofile.html:21 +#: templates/vpn/ipsecprofile.html:48 virtualization/forms/bulk_edit.py:233 +#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:146 +#: vpn/forms/bulk_edit.py:232 vpn/forms/bulk_import.py:176 +#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:135 +#: vpn/forms/filtersets.py:178 vpn/forms/filtersets.py:192 #: vpn/tables/crypto.py:64 vpn/tables/crypto.py:162 msgid "Mode" msgstr "Режим" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1159 -#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:479 -#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:239 -#: virtualization/forms/model_forms.py:324 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1299 +#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:486 +#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 +#: virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "Группа VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 -#: virtualization/forms/model_forms.py:329 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1304 +#: dcim/tables/devices.py:575 virtualization/forms/bulk_edit.py:248 +#: virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN без тегов" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 -#: virtualization/forms/model_forms.py:338 +#: dcim/forms/bulk_edit.py:1377 dcim/forms/model_forms.py:1313 +#: dcim/tables/devices.py:581 virtualization/forms/bulk_edit.py:256 +#: virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "VLAN с тегами" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 +#: dcim/forms/bulk_edit.py:1387 dcim/forms/model_forms.py:1286 msgid "Wireless LAN group" msgstr "Беспроводная группа LAN" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 -#: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 +#: dcim/forms/bulk_edit.py:1392 dcim/forms/model_forms.py:1291 +#: dcim/tables/devices.py:611 netbox/navigation/menu.py:133 +#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Беспроводные LANs" -#: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1192 ipam/forms/bulk_edit.py:270 -#: ipam/forms/bulk_edit.py:361 ipam/forms/filtersets.py:166 -#: templates/dcim/interface.html:126 templates/ipam/prefix.html:96 -#: virtualization/forms/model_forms.py:352 +#: dcim/forms/bulk_edit.py:1401 dcim/forms/filtersets.py:1229 +#: dcim/forms/model_forms.py:1334 ipam/forms/bulk_edit.py:271 +#: ipam/forms/bulk_edit.py:362 ipam/forms/filtersets.py:169 +#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 +#: virtualization/forms/model_forms.py:349 msgid "Addressing" msgstr "Адресация" -#: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 +#: dcim/forms/bulk_edit.py:1402 dcim/forms/filtersets.py:650 +#: dcim/forms/model_forms.py:1335 virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Операция" -#: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 +#: dcim/forms/bulk_edit.py:1403 dcim/forms/filtersets.py:1230 +#: dcim/forms/model_forms.py:932 dcim/forms/model_forms.py:1337 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1194 -#: templates/dcim/interface.html:101 virtualization/forms/bulk_edit.py:266 -#: virtualization/forms/model_forms.py:354 +#: dcim/forms/bulk_edit.py:1404 dcim/forms/model_forms.py:1336 +#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 +#: virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Связанные интерфейсы" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 -#: virtualization/forms/bulk_edit.py:267 -#: virtualization/forms/model_forms.py:355 +#: dcim/forms/bulk_edit.py:1405 dcim/forms/model_forms.py:1338 +#: virtualization/forms/bulk_edit.py:268 +#: virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "Коммутация 802.1Q" -#: dcim/forms/bulk_edit.py:1458 dcim/forms/bulk_edit.py:1460 +#: dcim/forms/bulk_edit.py:1467 dcim/forms/bulk_edit.py:1469 msgid "Interface mode must be specified to assign VLANs" msgstr "Для назначения VLAN необходимо указать режим интерфейса" -#: dcim/forms/bulk_edit.py:1465 dcim/forms/common.py:50 +#: dcim/forms/bulk_edit.py:1474 dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "Интерфейсу доступа нельзя назначать VLAN с тегами." @@ -3153,9 +3346,9 @@ msgstr "Родительское место" msgid "Rack's location (if any)" msgstr "Локация стойки (если есть)" -#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:253 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 -#: templates/dcim/rackreservation.html:52 +#: templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Единицы" @@ -3191,7 +3384,8 @@ msgstr "Единица измерения веса модуля" msgid "Limit platform assignments to this manufacturer" msgstr "Ограничьте назначение платформ этому производителю" -#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 dcim/forms/bulk_import.py:1376 +#: tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Назначенная роль" @@ -3208,25 +3402,25 @@ msgid "Assigned platform" msgstr "Назначенная платформа" #: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 -#: dcim/forms/model_forms.py:468 +#: dcim/forms/model_forms.py:476 msgid "Virtual chassis" msgstr "Виртуальное шасси" -#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:235 extras/filtersets.py:501 -#: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 -#: templates/virtualization/cluster.html:11 -#: templates/virtualization/virtualmachine.html:92 -#: templates/virtualization/virtualmachine.html:102 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:465 +#: dcim/tables/devices.py:207 extras/filtersets.py:548 +#: extras/forms/filtersets.py:331 ipam/forms/bulk_edit.py:479 +#: ipam/forms/model_forms.py:618 templates/dcim/device.html:231 +#: templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:88 +#: templates/virtualization/virtualmachine.html:97 #: virtualization/filtersets.py:157 virtualization/filtersets.py:273 -#: virtualization/forms/bulk_edit.py:128 +#: virtualization/forms/bulk_edit.py:129 #: virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:98 -#: virtualization/forms/filtersets.py:119 -#: virtualization/forms/filtersets.py:196 -#: virtualization/forms/model_forms.py:82 -#: virtualization/forms/model_forms.py:179 +#: virtualization/forms/filtersets.py:99 +#: virtualization/forms/filtersets.py:123 +#: virtualization/forms/filtersets.py:200 +#: virtualization/forms/model_forms.py:79 +#: virtualization/forms/model_forms.py:176 #: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Кластер" @@ -3273,7 +3467,7 @@ msgstr "Направление воздушного потока" msgid "The device in which this module is installed" msgstr "Устройство, в котором установлен данный модуль" -#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:580 msgid "Module bay" msgstr "Отсек для модулей" @@ -3285,7 +3479,7 @@ msgstr "Отсек для модулей, в котором установлен msgid "The type of module" msgstr "Тип модуля" -#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:596 msgid "Replicate components" msgstr "Репликация компонентов" @@ -3297,11 +3491,11 @@ msgstr "" "Автоматическое заполнение компонентов, связанных с этим типом модуля " "(включено по умолчанию)" -#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:602 msgid "Adopt components" msgstr "Принять компоненты" -#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:605 msgid "Adopt already existing components" msgstr "Используйте уже существующие компоненты" @@ -3326,15 +3520,15 @@ msgstr "Локальный порт питания, питающий эту ро msgid "Electrical phase (for three-phase circuits)" msgstr "Электрическая фаза (для трехфазных цепей)" -#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1261 #: virtualization/forms/bulk_import.py:155 -#: virtualization/forms/model_forms.py:308 +#: virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Родительский интерфейс" -#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1269 #: virtualization/forms/bulk_import.py:162 -#: virtualization/forms/model_forms.py:316 +#: virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Мостовой интерфейс" @@ -3358,7 +3552,7 @@ msgstr "Имена VDC разделены запятыми и заключены msgid "Physical medium" msgstr "Физическая среда" -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1263 msgid "Duplex" msgstr "Двухуровневый" @@ -3376,8 +3570,8 @@ msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2) #: dcim/forms/bulk_import.py:840 ipam/forms/bulk_import.py:160 #: ipam/forms/bulk_import.py:246 ipam/forms/bulk_import.py:282 -#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:266 -#: ipam/forms/filtersets.py:322 virtualization/forms/bulk_import.py:175 +#: ipam/forms/filtersets.py:200 ipam/forms/filtersets.py:270 +#: ipam/forms/filtersets.py:329 virtualization/forms/bulk_import.py:175 msgid "Assigned VRF" msgstr "Назначенный VRF" @@ -3394,8 +3588,8 @@ msgstr "Роль беспроводной сети (точка доступа/с msgid "VDC {vdc} is not assigned to device {device}" msgstr "В ПОСТОЯННОГО ТОКА {vdc} не присвоено устройству {device}" -#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:900 -#: dcim/forms/model_forms.py:1376 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:945 +#: dcim/forms/model_forms.py:1519 dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Задний порт" @@ -3408,7 +3602,7 @@ msgstr "Соответствующий задний порт" msgid "Physical medium classification" msgstr "Классификация физических сред" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:823 msgid "Installed device" msgstr "Установленное устройство" @@ -3495,9 +3689,9 @@ msgstr "Сторона {side_upper}: {device} {termination_object} уже под msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} боковое завершение не найдено: {device} {name}" -#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 -#: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:730 +#: dcim/tables/devices.py:1010 templates/dcim/device.html:130 +#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Мастер" @@ -3526,9 +3720,9 @@ msgid "Single or three-phase" msgstr "Однофазный или трехфазный" #: dcim/forms/common.py:24 dcim/models/device_components.py:528 -#: templates/dcim/interface.html:58 -#: templates/virtualization/vminterface.html:58 -#: virtualization/forms/bulk_edit.py:224 +#: templates/dcim/interface.html:57 +#: templates/virtualization/vminterface.html:55 +#: virtualization/forms/bulk_edit.py:225 msgid "MTU" msgstr "MTU" @@ -3561,44 +3755,44 @@ msgstr "" msgid "A {model} named {name} already exists" msgstr "A {model} названный {name} уже существует" -#: dcim/forms/connections.py:45 dcim/tables/power.py:66 -#: templates/dcim/inc/cable_termination.html:37 -#: templates/dcim/powerfeed.html:27 templates/dcim/powerpanel.html:19 +#: dcim/forms/connections.py:48 dcim/forms/model_forms.py:683 +#: dcim/tables/power.py:66 templates/dcim/inc/cable_termination.html:37 +#: templates/dcim/powerfeed.html:24 templates/dcim/powerpanel.html:19 #: templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" msgstr "Панель питания" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 -#: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 +#: dcim/forms/connections.py:57 dcim/forms/model_forms.py:710 +#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 msgid "Power Feed" msgstr "Подача питания" -#: dcim/forms/connections.py:74 +#: dcim/forms/connections.py:79 msgid "Side" msgstr "Сторона" -#: dcim/forms/filtersets.py:141 +#: dcim/forms/filtersets.py:142 msgid "Parent region" msgstr "Родительский регион" -#: dcim/forms/filtersets.py:155 tenancy/forms/bulk_import.py:28 -#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:32 -#: tenancy/forms/filtersets.py:61 wireless/forms/bulk_import.py:25 -#: wireless/forms/filtersets.py:24 +#: dcim/forms/filtersets.py:156 tenancy/forms/bulk_import.py:28 +#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:33 +#: tenancy/forms/filtersets.py:62 wireless/forms/bulk_import.py:25 +#: wireless/forms/filtersets.py:25 msgid "Parent group" msgstr "Родительская группа" -#: dcim/forms/filtersets.py:246 dcim/forms/filtersets.py:331 +#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332 msgid "Function" msgstr "Функция" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 -#: templates/inc/panels/image_attachments.html:5 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:317 +#: templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Изображения" -#: dcim/forms/filtersets.py:419 dcim/forms/filtersets.py:544 -#: dcim/forms/filtersets.py:655 +#: dcim/forms/filtersets.py:421 dcim/forms/filtersets.py:546 +#: dcim/forms/filtersets.py:656 msgid "Components" msgstr "Компоненты" @@ -3606,79 +3800,78 @@ msgstr "Компоненты" msgid "Subdevice role" msgstr "Роль подустройства" -#: dcim/forms/filtersets.py:717 +#: dcim/forms/filtersets.py:718 msgid "Model" msgstr "Модель" -#: dcim/forms/filtersets.py:768 +#: dcim/forms/filtersets.py:762 +msgid "Has an OOB IP" +msgstr "Имеет IP-адрес OOB" + +#: dcim/forms/filtersets.py:769 msgid "Virtual chassis member" msgstr "Элемент виртуального шасси" -#: dcim/forms/filtersets.py:1123 +#: dcim/forms/filtersets.py:1121 msgid "Cabled" msgstr "Кабельный" -#: dcim/forms/filtersets.py:1130 +#: dcim/forms/filtersets.py:1128 msgid "Occupied" msgstr "Занятый" -#: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 -#: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 -#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 -#: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 -#: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 -#: templates/dcim/powerport.html:63 templates/dcim/rearport.html:70 +#: dcim/forms/filtersets.py:1153 dcim/forms/filtersets.py:1175 +#: dcim/forms/filtersets.py:1197 dcim/forms/filtersets.py:1214 +#: dcim/forms/filtersets.py:1234 dcim/tables/devices.py:348 +#: templates/dcim/consoleport.html:55 templates/dcim/consoleserverport.html:55 +#: templates/dcim/frontport.html:69 templates/dcim/interface.html:140 +#: templates/dcim/powerfeed.html:110 templates/dcim/poweroutlet.html:59 +#: templates/dcim/powerport.html:59 templates/dcim/rearport.html:65 msgid "Connection" msgstr "Подключение" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 -#: templates/dcim/virtualdevicecontext.html:16 -msgid "Virtual Device Context" -msgstr "Виртуальный контекст" - -#: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 -#: extras/forms/model_forms.py:557 extras/tables/tables.py:487 -#: templates/extras/journalentry.html:33 +#: dcim/forms/filtersets.py:1246 extras/forms/bulk_edit.py:316 +#: extras/forms/bulk_import.py:242 extras/forms/filtersets.py:476 +#: extras/forms/model_forms.py:554 extras/tables/tables.py:512 +#: templates/extras/journalentry.html:30 msgid "Kind" msgstr "Вид" -#: dcim/forms/filtersets.py:1277 +#: dcim/forms/filtersets.py:1275 msgid "Mgmt only" msgstr "Только менеджмент" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 -#: dcim/models/device_components.py:630 templates/dcim/interface.html:134 +#: dcim/forms/filtersets.py:1287 dcim/forms/model_forms.py:1327 +#: dcim/models/device_components.py:630 templates/dcim/interface.html:129 msgid "WWN" msgstr "Глобальное уникальное имя" -#: dcim/forms/filtersets.py:1309 +#: dcim/forms/filtersets.py:1307 msgid "Wireless channel" msgstr "Беспроводной канал" -#: dcim/forms/filtersets.py:1313 +#: dcim/forms/filtersets.py:1311 msgid "Channel frequency (MHz)" msgstr "Частота канала (МГц)" -#: dcim/forms/filtersets.py:1317 +#: dcim/forms/filtersets.py:1315 msgid "Channel width (MHz)" msgstr "Ширина канала (МГц)" -#: dcim/forms/filtersets.py:1321 templates/dcim/interface.html:86 +#: dcim/forms/filtersets.py:1319 templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Мощность передачи (дБм)" -#: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 -#: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 -#: templates/dcim/frontport.html:84 +#: dcim/forms/filtersets.py:1342 dcim/forms/filtersets.py:1364 +#: dcim/tables/devices.py:320 templates/dcim/cable.html:12 +#: templates/dcim/cable_trace.html:46 templates/dcim/frontport.html:77 +#: templates/dcim/htmx/cable_edit.html:50 #: templates/dcim/inc/connection_endpoints.html:4 -#: templates/dcim/rearport.html:80 templates/dcim/trace/cable.html:7 +#: templates/dcim/rearport.html:73 templates/dcim/trace/cable.html:7 msgid "Cable" msgstr "Кабель" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:933 msgid "Discovered" msgstr "Обнаружено" @@ -3687,20 +3880,28 @@ msgstr "Обнаружено" msgid "A virtual chassis member already exists in position {vc_position}." msgstr "Виртуальный элемент шасси уже находится на месте {vc_position}." -#: dcim/forms/model_forms.py:101 dcim/tables/devices.py:183 -#: templates/dcim/sitegroup.html:26 -msgid "Site Group" -msgstr "Группа сайтов" - -#: dcim/forms/model_forms.py:142 +#: dcim/forms/model_forms.py:139 msgid "Contact Info" msgstr "Контактная информация" -#: dcim/forms/model_forms.py:197 templates/dcim/rackrole.html:20 +#: dcim/forms/model_forms.py:194 templates/dcim/rackrole.html:19 msgid "Rack Role" msgstr "Роль стойки" -#: dcim/forms/model_forms.py:248 +#: dcim/forms/model_forms.py:227 +msgid "Inventory Control" +msgstr "Управление запасами" + +#: dcim/forms/model_forms.py:231 +msgid "Outer Dimensions" +msgstr "Внешние размеры" + +#: dcim/forms/model_forms.py:233 templates/dcim/device.html:307 +#: templates/dcim/rack.html:73 +msgid "Dimensions" +msgstr "Габариты" + +#: dcim/forms/model_forms.py:255 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." @@ -3708,84 +3909,161 @@ msgstr "" "Список числовых идентификаторов, разделенных запятыми. Диапазон можно " "указать с помощью дефиса." -#: dcim/forms/model_forms.py:259 dcim/tables/racks.py:133 +#: dcim/forms/model_forms.py:266 dcim/tables/racks.py:133 msgid "Reservation" msgstr "Резервирование" -#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 +#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:389 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Подстрока" -#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:315 templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "Шасси" -#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:366 templates/dcim/devicerole.html:23 msgid "Device Role" msgstr "Роль устройства" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 +#: dcim/forms/model_forms.py:433 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "Устройство с наименьшим номером, занимаемое устройством" -#: dcim/forms/model_forms.py:476 +#: dcim/forms/model_forms.py:487 msgid "The position in the virtual chassis this device is identified by" msgstr "Положение в виртуальном корпусе этого устройства определяется по" -#: dcim/forms/model_forms.py:480 templates/dcim/device.html:131 -#: templates/dcim/virtualchassis.html:61 -#: templates/dcim/virtualchassis_edit.html:57 -#: templates/ipam/inc/panels/fhrp_groups.html:13 -#: tenancy/forms/bulk_edit.py:146 tenancy/forms/filtersets.py:109 +#: dcim/forms/model_forms.py:491 templates/dcim/device.html:131 +#: templates/dcim/virtualchassis.html:68 +#: templates/dcim/virtualchassis_edit.html:56 +#: templates/ipam/inc/panels/fhrp_groups.html:26 +#: tenancy/forms/bulk_edit.py:147 tenancy/forms/filtersets.py:110 msgid "Priority" msgstr "Приоритет" -#: dcim/forms/model_forms.py:481 +#: dcim/forms/model_forms.py:492 msgid "The priority of the device in the virtual chassis" msgstr "Приоритет устройства в виртуальном шасси" -#: dcim/forms/model_forms.py:585 +#: dcim/forms/model_forms.py:599 msgid "Automatically populate components associated with this module type" msgstr "Автоматическое заполнение компонентов, связанных с этим типом модуля" -#: dcim/forms/model_forms.py:630 +#: dcim/forms/model_forms.py:661 msgid "Maximum length is 32767 (any unit)" msgstr "Максимальная длина 32767 (любая единица измерения)" -#: dcim/forms/model_forms.py:678 +#: dcim/forms/model_forms.py:712 msgid "Characteristics" msgstr "Характеристики" -#: dcim/forms/model_forms.py:1137 -msgid "LAG interface" -msgstr "Интерфейс LAG" +#: dcim/forms/model_forms.py:1032 +msgid "Console port template" +msgstr "Шаблон консольного порта" -#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 +#: dcim/forms/model_forms.py:1040 +msgid "Console server port template" +msgstr "Шаблон порта консольного сервера" + +#: dcim/forms/model_forms.py:1048 +msgid "Front port template" +msgstr "Шаблон переднего порта" + +#: dcim/forms/model_forms.py:1056 +msgid "Interface template" +msgstr "Шаблон интерфейса" + +#: dcim/forms/model_forms.py:1064 +msgid "Power outlet template" +msgstr "Шаблон розетки" + +#: dcim/forms/model_forms.py:1072 +msgid "Power port template" +msgstr "Шаблон порта питания" + +#: dcim/forms/model_forms.py:1080 +msgid "Rear port template" +msgstr "Шаблон заднего порта" + +#: dcim/forms/model_forms.py:1089 dcim/forms/model_forms.py:1332 +#: dcim/forms/model_forms.py:1495 dcim/forms/model_forms.py:1527 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 -#: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 +#: ipam/forms/model_forms.py:278 ipam/forms/model_forms.py:287 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 -#: templates/circuits/inc/circuit_termination.html:78 -#: templates/dcim/frontport.html:113 templates/dcim/interface.html:27 -#: templates/dcim/interface.html:190 templates/dcim/interface.html:322 -#: templates/dcim/inventoryitem_edit.html:54 templates/dcim/rearport.html:109 -#: templates/ipam/fhrpgroupassignment_edit.html:11 -#: templates/virtualization/vminterface.html:19 -#: templates/vpn/tunneltermination.html:32 +#: templates/circuits/inc/circuit_termination.html:77 +#: templates/dcim/frontport.html:106 templates/dcim/interface.html:27 +#: templates/dcim/interface.html:184 templates/dcim/interface.html:310 +#: templates/dcim/rearport.html:102 +#: templates/virtualization/vminterface.html:18 +#: templates/vpn/tunneltermination.html:31 #: templates/wireless/inc/wirelesslink_interface.html:10 #: templates/wireless/wirelesslink.html:10 -#: templates/wireless/wirelesslink.html:49 -#: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 +#: templates/wireless/wirelesslink.html:45 +#: virtualization/forms/model_forms.py:348 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 -#: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 +#: wireless/forms/model_forms.py:113 wireless/forms/model_forms.py:155 msgid "Interface" msgstr "Интерфейс" -#: dcim/forms/model_forms.py:1285 +#: dcim/forms/model_forms.py:1090 dcim/forms/model_forms.py:1528 +#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 +#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112 +msgid "Console Port" +msgstr "Консольный порт" + +#: dcim/forms/model_forms.py:1091 dcim/forms/model_forms.py:1529 +#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 +#: templates/dcim/frontport.html:109 +msgid "Console Server Port" +msgstr "Порт консольного сервера" + +#: dcim/forms/model_forms.py:1092 dcim/forms/model_forms.py:1530 +#: templates/circuits/inc/circuit_termination.html:78 +#: templates/dcim/consoleport.html:76 templates/dcim/consoleserverport.html:77 +#: templates/dcim/frontport.html:17 templates/dcim/frontport.html:115 +#: templates/dcim/interface.html:187 templates/dcim/rearport.html:105 +msgid "Front Port" +msgstr "Передний порт" + +#: dcim/forms/model_forms.py:1093 dcim/forms/model_forms.py:1531 +#: dcim/tables/devices.py:705 +#: templates/circuits/inc/circuit_termination.html:79 +#: templates/dcim/consoleport.html:79 templates/dcim/consoleserverport.html:80 +#: templates/dcim/frontport.html:50 templates/dcim/frontport.html:118 +#: templates/dcim/interface.html:190 templates/dcim/rearport.html:17 +#: templates/dcim/rearport.html:108 +msgid "Rear Port" +msgstr "Задний порт" + +#: dcim/forms/model_forms.py:1094 dcim/forms/model_forms.py:1532 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:505 +#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17 +msgid "Power Port" +msgstr "Порт питания" + +#: dcim/forms/model_forms.py:1095 dcim/forms/model_forms.py:1533 +#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 +msgid "Power Outlet" +msgstr "Розетка питания" + +#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1535 +msgid "Component Assignment" +msgstr "Назначение компонентов" + +#: dcim/forms/model_forms.py:1140 dcim/forms/model_forms.py:1582 +msgid "An InventoryItem can only be assigned to a single component." +msgstr "Инвентарный номер можно присвоить только одному компоненту." + +#: dcim/forms/model_forms.py:1277 +msgid "LAG interface" +msgstr "Интерфейс LAG" + +#: dcim/forms/model_forms.py:1428 msgid "Child Device" msgstr "Дочернее устройство" -#: dcim/forms/model_forms.py:1286 +#: dcim/forms/model_forms.py:1429 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3793,49 +4071,44 @@ msgstr "" "Сначала необходимо создать дочерние устройства и назначить их сайту и стойке" " родительского устройства." -#: dcim/forms/model_forms.py:1328 +#: dcim/forms/model_forms.py:1471 msgid "Console port" msgstr "Консольный порт" -#: dcim/forms/model_forms.py:1336 +#: dcim/forms/model_forms.py:1479 msgid "Console server port" msgstr "Порт консольного сервера" -#: dcim/forms/model_forms.py:1344 +#: dcim/forms/model_forms.py:1487 msgid "Front port" msgstr "Передний порт" -#: dcim/forms/model_forms.py:1360 +#: dcim/forms/model_forms.py:1503 msgid "Power outlet" msgstr "Розетка питания" -#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 -#: templates/dcim/inventoryitem_edit.html:10 +#: dcim/forms/model_forms.py:1523 templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Комплектующие" -#: dcim/forms/model_forms.py:1432 -msgid "An InventoryItem can only be assigned to a single component." -msgstr "Инвентарный номер можно присвоить только одному компоненту." - -#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1596 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Роли комплектующих" -#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 -#: templates/dcim/virtualdevicecontext.html:33 -#: templates/virtualization/virtualmachine.html:51 +#: dcim/forms/model_forms.py:1614 templates/dcim/device.html:187 +#: templates/dcim/virtualdevicecontext.html:30 +#: templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "Основной IPv4" -#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 -#: templates/dcim/virtualdevicecontext.html:44 -#: templates/virtualization/virtualmachine.html:67 +#: dcim/forms/model_forms.py:1623 templates/dcim/device.html:203 +#: templates/dcim/virtualdevicecontext.html:41 +#: templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" msgstr "Основной IPv6" -#: dcim/forms/object_create.py:47 dcim/forms/object_create.py:198 -#: dcim/forms/object_create.py:354 +#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:199 +#: dcim/forms/object_create.py:355 msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" @@ -3843,7 +4116,7 @@ msgstr "" "Поддерживаются алфавитно-цифровые диапазоны. (Количество создаваемых " "объектов должно соответствовать количеству создаваемых объектов.)" -#: dcim/forms/object_create.py:67 +#: dcim/forms/object_create.py:68 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are" @@ -3852,18 +4125,18 @@ msgstr "" "Предоставленный шаблон определяет {value_count} ценности, но {pattern_count}" " ожидаются." -#: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:285 +#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 +#: dcim/tables/devices.py:257 msgid "Rear ports" msgstr "Задние порты" -#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 +#: dcim/forms/object_create.py:111 dcim/forms/object_create.py:272 msgid "Select one rear port assignment for each front port being created." msgstr "" "Выберите одно назначение заднего порта для каждого создаваемого переднего " "порта." -#: dcim/forms/object_create.py:163 +#: dcim/forms/object_create.py:164 #, python-brace-format msgid "" "The number of front port templates to be created ({frontport_count}) must " @@ -3873,7 +4146,7 @@ msgstr "" "должно соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: dcim/forms/object_create.py:250 +#: dcim/forms/object_create.py:251 #, python-brace-format msgid "" "The string {module} will be replaced with the position of the " @@ -3882,7 +4155,7 @@ msgstr "" "Строка {module} будет заменено позицией назначенного модуля, " "если таковая имеется." -#: dcim/forms/object_create.py:319 +#: dcim/forms/object_create.py:320 #, python-brace-format msgid "" "The number of front ports to be created ({frontport_count}) must match the " @@ -3892,17 +4165,17 @@ msgstr "" "соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 -#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 -#: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 +#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1016 +#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53 +#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38 msgid "Members" msgstr "Участники" -#: dcim/forms/object_create.py:417 +#: dcim/forms/object_create.py:418 msgid "Initial position" msgstr "Исходное положение" -#: dcim/forms/object_create.py:420 +#: dcim/forms/object_create.py:421 msgid "" "Position of the first member device. Increases by one for each additional " "member." @@ -3910,12 +4183,12 @@ msgstr "" "Положение первого элементного устройства. Увеличивается на единицу за каждый" " дополнительный элемент." -#: dcim/forms/object_create.py:434 +#: dcim/forms/object_create.py:435 msgid "A position must be specified for the first VC member." msgstr "Должность должна быть указана для первого члена VC." #: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55 -#: dcim/models/device_components.py:63 extras/models/customfields.py:108 +#: dcim/models/device_components.py:63 extras/models/customfields.py:109 msgid "label" msgstr " Метка" @@ -3970,7 +4243,7 @@ msgstr "кабельный терминатор" msgid "cable terminations" msgstr "кабельные терминаторы" -#: dcim/models/cables.py:327 +#: dcim/models/cables.py:331 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " @@ -3979,34 +4252,34 @@ msgstr "" "Обнаружен дубликат увольнения для {app_label}.{model} {termination_id}: " "кабель {cable_pk}" -#: dcim/models/cables.py:337 +#: dcim/models/cables.py:341 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" msgstr "Кабели не могут быть подключены к {type_display} интерфейсов" -#: dcim/models/cables.py:344 +#: dcim/models/cables.py:348 msgid "Circuit terminations attached to a provider network may not be cabled." msgstr "" "Концевые разъемы, подключенные к сети провайдера, могут не подключаться к " "кабелям." -#: dcim/models/cables.py:442 extras/models/configs.py:50 +#: dcim/models/cables.py:446 extras/models/configs.py:50 msgid "is active" msgstr "активен" -#: dcim/models/cables.py:446 +#: dcim/models/cables.py:450 msgid "is complete" msgstr "завершен" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:454 msgid "is split" msgstr "разделен" -#: dcim/models/cables.py:458 +#: dcim/models/cables.py:462 msgid "cable path" msgstr "кабельная трасса" -#: dcim/models/cables.py:459 +#: dcim/models/cables.py:463 msgid "cable paths" msgstr "кабельные трассы" @@ -4141,7 +4414,7 @@ msgstr "шаблоны интерфейсов" #: dcim/models/device_component_templates.py:437 #: dcim/models/device_components.py:805 -#: virtualization/models/virtualmachines.py:398 +#: virtualization/models/virtualmachines.py:400 msgid "An interface cannot be bridged to itself." msgstr "Интерфейс не может быть подключен к самому себе." @@ -4390,22 +4663,22 @@ msgid "wireless LANs" msgstr "беспроводные LANs" #: dcim/models/device_components.py:698 -#: virtualization/models/virtualmachines.py:328 +#: virtualization/models/virtualmachines.py:330 msgid "untagged VLAN" msgstr "VLAN без тегов" #: dcim/models/device_components.py:704 -#: virtualization/models/virtualmachines.py:334 +#: virtualization/models/virtualmachines.py:336 msgid "tagged VLANs" msgstr "VLAN без тегов" #: dcim/models/device_components.py:746 -#: virtualization/models/virtualmachines.py:370 +#: virtualization/models/virtualmachines.py:372 msgid "interface" msgstr "интерфейс" #: dcim/models/device_components.py:747 -#: virtualization/models/virtualmachines.py:371 +#: virtualization/models/virtualmachines.py:373 msgid "interfaces" msgstr "интерфейсы" @@ -4420,7 +4693,7 @@ msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} интерфейсы нельзя пометить как подключенные." #: dcim/models/device_components.py:775 -#: virtualization/models/virtualmachines.py:383 +#: virtualization/models/virtualmachines.py:385 msgid "An interface cannot be its own parent." msgstr "Интерфейс не может быть собственным родителем." @@ -4629,12 +4902,12 @@ msgid "inventory item roles" msgstr "роли комплектующих" #: dcim/models/device_components.py:1230 dcim/models/devices.py:597 -#: dcim/models/devices.py:1178 dcim/models/racks.py:113 +#: dcim/models/devices.py:1163 dcim/models/racks.py:114 msgid "serial number" msgstr "серийный номер" #: dcim/models/device_components.py:1238 dcim/models/devices.py:605 -#: dcim/models/devices.py:1185 dcim/models/racks.py:120 +#: dcim/models/devices.py:1170 dcim/models/racks.py:121 msgid "asset tag" msgstr "инвентарный номер" @@ -4700,7 +4973,7 @@ msgstr "номер модели" msgid "Discrete part number (optional)" msgstr "Дискретный номер детали (опционально)" -#: dcim/models/devices.py:107 dcim/models/racks.py:137 +#: dcim/models/devices.py:107 dcim/models/racks.py:138 msgid "height (U)" msgstr "высота (U)" @@ -4823,7 +5096,7 @@ msgstr "Функция, которую выполняет это устройс msgid "Chassis serial number, assigned by the manufacturer" msgstr "Серийный номер корпуса, присвоенный производителем" -#: dcim/models/devices.py:606 dcim/models/devices.py:1186 +#: dcim/models/devices.py:606 dcim/models/devices.py:1171 msgid "A unique tag used to identify this device" msgstr "Уникальный тег, используемый для идентификации этого устройства" @@ -4835,13 +5108,13 @@ msgstr "положение (U)" msgid "rack face" msgstr "лицевая сторона стойки" -#: dcim/models/devices.py:660 dcim/models/devices.py:1395 -#: virtualization/models/virtualmachines.py:98 +#: dcim/models/devices.py:660 dcim/models/devices.py:1380 +#: virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "основной IPv4" -#: dcim/models/devices.py:668 dcim/models/devices.py:1403 -#: virtualization/models/virtualmachines.py:106 +#: dcim/models/devices.py:668 dcim/models/devices.py:1388 +#: virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "основной IPv6" @@ -4853,81 +5126,81 @@ msgstr "внеполосный IP-адрес" msgid "VC position" msgstr "Позиция VC" -#: dcim/models/devices.py:697 +#: dcim/models/devices.py:696 msgid "Virtual chassis position" msgstr "Положение виртуального шасси" -#: dcim/models/devices.py:700 +#: dcim/models/devices.py:699 msgid "VC priority" msgstr "Приоритет VC" -#: dcim/models/devices.py:704 +#: dcim/models/devices.py:703 msgid "Virtual chassis master election priority" msgstr "Приоритет выбора основного виртуального шасси" -#: dcim/models/devices.py:707 dcim/models/sites.py:207 +#: dcim/models/devices.py:706 dcim/models/sites.py:207 msgid "latitude" msgstr "широта" -#: dcim/models/devices.py:712 dcim/models/devices.py:720 +#: dcim/models/devices.py:711 dcim/models/devices.py:719 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Координата GPS в десятичном формате (xx.yyyyyy)" -#: dcim/models/devices.py:715 dcim/models/sites.py:215 +#: dcim/models/devices.py:714 dcim/models/sites.py:215 msgid "longitude" msgstr "долгота" -#: dcim/models/devices.py:788 +#: dcim/models/devices.py:787 msgid "Device name must be unique per site." msgstr "Имя устройства должно быть уникальным для каждого сайта." -#: dcim/models/devices.py:799 ipam/models/services.py:75 +#: dcim/models/devices.py:798 ipam/models/services.py:74 msgid "device" msgstr "устройство" -#: dcim/models/devices.py:800 +#: dcim/models/devices.py:799 msgid "devices" msgstr "устройства" -#: dcim/models/devices.py:840 +#: dcim/models/devices.py:825 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "Стойка {rack} не принадлежит сайту {site}." -#: dcim/models/devices.py:845 +#: dcim/models/devices.py:830 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "Локация {location} не принадлежит сайту {site}." -#: dcim/models/devices.py:851 +#: dcim/models/devices.py:836 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "Стойка {rack} не принадлежит локации {location}." -#: dcim/models/devices.py:858 +#: dcim/models/devices.py:843 msgid "Cannot select a rack face without assigning a rack." msgstr "Невозможно выбрать лицевую сторону стойки, не выбрав саму стойку." -#: dcim/models/devices.py:862 +#: dcim/models/devices.py:847 msgid "Cannot select a rack position without assigning a rack." msgstr "Невозможно выбрать позицию в стойке, не выбрав саму стойку." -#: dcim/models/devices.py:868 +#: dcim/models/devices.py:853 msgid "Position must be in increments of 0.5 rack units." msgstr "Позиция должна быть указана с шагом 0,5 единицы стойки." -#: dcim/models/devices.py:872 +#: dcim/models/devices.py:857 msgid "Must specify rack face when defining rack position." msgstr "При определении лицевой стороны необходимо указать позицию в стойке." -#: dcim/models/devices.py:880 +#: dcim/models/devices.py:865 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "Тип устройства 0U ({device_type}) не может быть отнесено к стойке." -#: dcim/models/devices.py:891 +#: dcim/models/devices.py:876 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." @@ -4935,7 +5208,7 @@ msgstr "" "Устройствам с указанным в типе свойством \"дочернее\" нельзя выбрать лицевую" " сторону стойки. Этот атрибут указывается для \"родительского\" устройства." -#: dcim/models/devices.py:898 +#: dcim/models/devices.py:883 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." @@ -4943,7 +5216,7 @@ msgstr "" "Типы дочерних устройств нельзя отнести к позиции в стойке. Это атрибут " "родительского устройства." -#: dcim/models/devices.py:912 +#: dcim/models/devices.py:897 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4952,22 +5225,22 @@ msgstr "" "U{position} уже занят или в нем недостаточно места для размещения этого типа" " устройств: {device_type} ({u_height}U)" -#: dcim/models/devices.py:927 +#: dcim/models/devices.py:912 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} не является адресом IPv4." -#: dcim/models/devices.py:936 dcim/models/devices.py:951 +#: dcim/models/devices.py:921 dcim/models/devices.py:936 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "Указанный IP-адрес ({ip}) не назначено этому устройству." -#: dcim/models/devices.py:942 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} не является адресом IPv6." -#: dcim/models/devices.py:969 +#: dcim/models/devices.py:954 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4976,26 +5249,26 @@ msgstr "" "Назначенная платформа ограничена {platform_manufacturer} типы устройств, но " "данный тип устройства относится к {devicetype_manufacturer}." -#: dcim/models/devices.py:980 +#: dcim/models/devices.py:965 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "Назначенный кластер принадлежит другому сайту ({site})" -#: dcim/models/devices.py:988 +#: dcim/models/devices.py:973 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Положение устройства, назначенного виртуальному шасси, должно быть " "определено." -#: dcim/models/devices.py:1193 +#: dcim/models/devices.py:1178 msgid "module" msgstr "модуль" -#: dcim/models/devices.py:1194 +#: dcim/models/devices.py:1179 msgid "modules" msgstr "модули" -#: dcim/models/devices.py:1210 +#: dcim/models/devices.py:1195 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5004,21 +5277,21 @@ msgstr "" "Модуль должен быть установлен в модульном отсеке, принадлежащем назначенному" " устройству ({device})." -#: dcim/models/devices.py:1314 +#: dcim/models/devices.py:1299 msgid "domain" msgstr "Домен" -#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 +#: dcim/models/devices.py:1312 dcim/models/devices.py:1313 msgid "virtual chassis" msgstr "виртуальное шасси" -#: dcim/models/devices.py:1343 +#: dcim/models/devices.py:1328 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Выбранный мастер ({master}) не назначено этому виртуальному шасси." -#: dcim/models/devices.py:1359 +#: dcim/models/devices.py:1344 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5027,40 +5300,41 @@ msgstr "" "Невозможно удалить виртуальное шасси {self}. Существуют интерфейсы-члены, " "которые образуют межкорпусные интерфейсы LAG." -#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1369 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "идентификатор" -#: dcim/models/devices.py:1385 +#: dcim/models/devices.py:1370 msgid "Numeric identifier unique to the parent device" msgstr "Цифровой идентификатор, уникальный для родительского устройства" -#: dcim/models/devices.py:1413 extras/models/models.py:129 -#: extras/models/models.py:724 netbox/models/__init__.py:114 +#: dcim/models/devices.py:1398 extras/models/customfields.py:210 +#: extras/models/models.py:127 extras/models/models.py:722 +#: netbox/models/__init__.py:114 msgid "comments" msgstr "комментарии" -#: dcim/models/devices.py:1429 +#: dcim/models/devices.py:1414 msgid "virtual device context" msgstr "виртуальный контекст" -#: dcim/models/devices.py:1430 +#: dcim/models/devices.py:1415 msgid "virtual device contexts" msgstr "виртуальные контексты" -#: dcim/models/devices.py:1462 +#: dcim/models/devices.py:1447 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} не является IPV{family} адрес." -#: dcim/models/devices.py:1468 +#: dcim/models/devices.py:1453 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Основной IP-адрес должен принадлежать интерфейсу на назначенном устройстве." #: dcim/models/mixins.py:15 extras/models/configs.py:41 -#: extras/models/models.py:343 extras/models/models.py:552 -#: extras/models/search.py:50 ipam/models/ip.py:193 +#: extras/models/models.py:341 extras/models/models.py:550 +#: extras/models/search.py:48 ipam/models/ip.py:193 msgid "weight" msgstr "вес" @@ -5087,43 +5361,43 @@ msgid "" msgstr "" "Локация{location} ({location_site}) находится на другом сайте, чем {site}" -#: dcim/models/power.py:107 +#: dcim/models/power.py:108 msgid "supply" msgstr "запас" -#: dcim/models/power.py:113 +#: dcim/models/power.py:114 msgid "phase" msgstr "фаза" -#: dcim/models/power.py:119 +#: dcim/models/power.py:120 msgid "voltage" msgstr "напряжение" -#: dcim/models/power.py:124 +#: dcim/models/power.py:125 msgid "amperage" msgstr "сила тока" -#: dcim/models/power.py:129 +#: dcim/models/power.py:130 msgid "max utilization" msgstr "максимальное использование" -#: dcim/models/power.py:132 +#: dcim/models/power.py:133 msgid "Maximum permissible draw (percentage)" msgstr "Максимально допустимое потребление (в процентах)" -#: dcim/models/power.py:135 +#: dcim/models/power.py:136 msgid "available power" msgstr "доступная мощность" -#: dcim/models/power.py:163 +#: dcim/models/power.py:164 msgid "power feed" msgstr "подача питания" -#: dcim/models/power.py:164 +#: dcim/models/power.py:165 msgid "power feeds" msgstr "источники питания" -#: dcim/models/power.py:178 +#: dcim/models/power.py:179 #, python-brace-format msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " @@ -5132,97 +5406,97 @@ msgstr "" "Стойка {rack} ({rack_site}) и панель питания {powerpanel} " "({powerpanel_site}) расположены на разных сайтах." -#: dcim/models/power.py:189 +#: dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" msgstr "Напряжение питания переменного тока не может быть отрицательным" -#: dcim/models/racks.py:49 +#: dcim/models/racks.py:50 msgid "rack role" msgstr "назначение стойки" -#: dcim/models/racks.py:50 +#: dcim/models/racks.py:51 msgid "rack roles" msgstr "назначение стоек" -#: dcim/models/racks.py:74 +#: dcim/models/racks.py:75 msgid "facility ID" msgstr "идентификатор объекта" -#: dcim/models/racks.py:75 +#: dcim/models/racks.py:76 msgid "Locally-assigned identifier" msgstr "Локально назначенный идентификатор" -#: dcim/models/racks.py:108 ipam/forms/bulk_import.py:200 +#: dcim/models/racks.py:109 ipam/forms/bulk_import.py:200 #: ipam/forms/bulk_import.py:265 ipam/forms/bulk_import.py:300 #: ipam/forms/bulk_import.py:467 virtualization/forms/bulk_import.py:112 msgid "Functional role" msgstr "Функциональная роль" -#: dcim/models/racks.py:121 +#: dcim/models/racks.py:122 msgid "A unique tag used to identify this rack" msgstr "Инвентарный номер, используемый для идентификации этой стойки" -#: dcim/models/racks.py:132 +#: dcim/models/racks.py:133 msgid "width" msgstr "ширина" -#: dcim/models/racks.py:133 +#: dcim/models/racks.py:134 msgid "Rail-to-rail width" msgstr "Ширина от рельса до рельса" -#: dcim/models/racks.py:139 +#: dcim/models/racks.py:140 msgid "Height in rack units" msgstr "Высота в юнитах стойки" -#: dcim/models/racks.py:143 +#: dcim/models/racks.py:144 msgid "starting unit" msgstr "начальный юнит" -#: dcim/models/racks.py:145 +#: dcim/models/racks.py:146 msgid "Starting unit for rack" msgstr "Начальный юнит для стойки" -#: dcim/models/racks.py:149 +#: dcim/models/racks.py:150 msgid "descending units" msgstr "единицы по убыванию" -#: dcim/models/racks.py:150 +#: dcim/models/racks.py:151 msgid "Units are numbered top-to-bottom" msgstr "Единицы нумеруются сверху вниз" -#: dcim/models/racks.py:153 +#: dcim/models/racks.py:154 msgid "outer width" msgstr "внешняя ширина" -#: dcim/models/racks.py:156 +#: dcim/models/racks.py:157 msgid "Outer dimension of rack (width)" msgstr "Наружный размер стойки (ширина)" -#: dcim/models/racks.py:159 +#: dcim/models/racks.py:160 msgid "outer depth" msgstr "внешняя глубина" -#: dcim/models/racks.py:162 +#: dcim/models/racks.py:163 msgid "Outer dimension of rack (depth)" msgstr "Внешний размер стойки (глубина)" -#: dcim/models/racks.py:165 +#: dcim/models/racks.py:166 msgid "outer unit" msgstr "внешний юнит" -#: dcim/models/racks.py:171 +#: dcim/models/racks.py:172 msgid "max weight" msgstr "максимальный вес" -#: dcim/models/racks.py:174 +#: dcim/models/racks.py:175 msgid "Maximum load capacity for the rack" msgstr "Максимальная грузоподъемность стойки" -#: dcim/models/racks.py:182 +#: dcim/models/racks.py:183 msgid "mounting depth" msgstr "глубина монтажа" -#: dcim/models/racks.py:186 +#: dcim/models/racks.py:187 msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this" " is the distance between the front and rear rails." @@ -5231,29 +5505,29 @@ msgstr "" "четырехстоечных стоек это расстояние между передними и задними " "направляющими." -#: dcim/models/racks.py:220 +#: dcim/models/racks.py:221 msgid "rack" msgstr "стойка" -#: dcim/models/racks.py:221 +#: dcim/models/racks.py:222 msgid "racks" msgstr "стойки" -#: dcim/models/racks.py:236 +#: dcim/models/racks.py:237 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." msgstr "Назначенная локация должна принадлежать родительскому месту ({site})." -#: dcim/models/racks.py:240 +#: dcim/models/racks.py:241 msgid "Must specify a unit when setting an outer width/depth" msgstr "" "При настройке внешней ширины/глубины необходимо указать единицу измерения" -#: dcim/models/racks.py:244 +#: dcim/models/racks.py:245 msgid "Must specify a unit when setting a maximum weight" msgstr "При установке максимального веса необходимо указать единицу измерения" -#: dcim/models/racks.py:254 +#: dcim/models/racks.py:255 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " @@ -5262,7 +5536,7 @@ msgstr "" "Стойка должна иметь высоту не менее {min_height}чтобы разместить, " "установленные в настоящее время устройства." -#: dcim/models/racks.py:261 +#: dcim/models/racks.py:262 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " @@ -5271,30 +5545,30 @@ msgstr "" "Нумерация стоек должна начинаться с {position} или меньше для размещения " "установленных в настоящее время устройств." -#: dcim/models/racks.py:269 +#: dcim/models/racks.py:270 #, python-brace-format msgid "Location must be from the same site, {site}." msgstr "Локация должна быть с того же места, {site}." -#: dcim/models/racks.py:522 +#: dcim/models/racks.py:523 msgid "units" msgstr "юниты" -#: dcim/models/racks.py:548 +#: dcim/models/racks.py:549 msgid "rack reservation" msgstr "Резервирование стойки" -#: dcim/models/racks.py:549 +#: dcim/models/racks.py:550 msgid "rack reservations" msgstr "Резервирование стоек" -#: dcim/models/racks.py:566 +#: dcim/models/racks.py:567 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" msgstr "" "Неверные единицы измерения для стоек высотой{height}U по списку: {unit_list}" -#: dcim/models/racks.py:579 +#: dcim/models/racks.py:580 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" msgstr "Следующие юниты уже зарезервированы: {unit_list}" @@ -5335,11 +5609,11 @@ msgstr "группы мест" msgid "Full name of the site" msgstr "Полное название сайта" -#: dcim/models/sites.py:181 +#: dcim/models/sites.py:181 dcim/models/sites.py:279 msgid "facility" msgstr "объект" -#: dcim/models/sites.py:184 +#: dcim/models/sites.py:184 dcim/models/sites.py:282 msgid "Local facility ID or description" msgstr "Идентификатор или описание местного объекта" @@ -5367,23 +5641,23 @@ msgstr "место" msgid "sites" msgstr "Сайты" -#: dcim/models/sites.py:303 +#: dcim/models/sites.py:309 msgid "A location with this name already exists within the specified site." msgstr "Локация с таким именем уже существует на указанном месте." -#: dcim/models/sites.py:313 +#: dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." msgstr "Локация с этой подстрокой уже существует на указанном сайте." -#: dcim/models/sites.py:316 +#: dcim/models/sites.py:322 msgid "location" msgstr "локация" -#: dcim/models/sites.py:317 +#: dcim/models/sites.py:323 msgid "locations" msgstr "локации" -#: dcim/models/sites.py:331 +#: dcim/models/sites.py:337 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" @@ -5429,109 +5703,102 @@ msgstr "Сайт A" msgid "Site B" msgstr "Сайт B" -#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:18 -#: templates/dcim/consoleserverport.html:75 templates/dcim/frontport.html:119 -#: templates/dcim/inventoryitem_edit.html:39 -msgid "Console Port" -msgstr "Консольный порт" - #: dcim/tables/connections.py:31 dcim/tables/connections.py:50 #: dcim/tables/connections.py:71 #: templates/dcim/inc/connection_endpoints.html:16 msgid "Reachable" msgstr "Доступен" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 -#: templates/dcim/inventoryitem_edit.html:64 -#: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 -msgid "Power Port" -msgstr "Порт питания" - -#: dcim/tables/devices.py:94 dcim/tables/devices.py:139 +#: dcim/tables/devices.py:66 dcim/tables/devices.py:111 #: dcim/tables/racks.py:81 dcim/tables/sites.py:143 -#: netbox/navigation/menu.py:57 netbox/navigation/menu.py:61 -#: netbox/navigation/menu.py:63 virtualization/forms/model_forms.py:125 +#: extras/tables/tables.py:435 netbox/navigation/menu.py:56 +#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62 +#: virtualization/forms/model_forms.py:122 #: virtualization/tables/clusters.py:83 virtualization/views.py:211 msgid "Devices" msgstr "Устройства" -#: dcim/tables/devices.py:99 dcim/tables/devices.py:144 +#: dcim/tables/devices.py:71 dcim/tables/devices.py:116 #: virtualization/tables/clusters.py:88 msgid "VMs" msgstr "Виртуальные машины" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 -#: extras/forms/model_forms.py:515 templates/dcim/device.html:114 +#: dcim/tables/devices.py:105 dcim/tables/devices.py:221 +#: extras/forms/model_forms.py:509 templates/dcim/device.html:111 #: templates/dcim/device/render_config.html:11 -#: templates/dcim/device/render_config.html:15 -#: templates/dcim/devicerole.html:47 templates/dcim/platform.html:44 +#: templates/dcim/device/render_config.html:14 +#: templates/dcim/devicerole.html:44 templates/dcim/platform.html:41 #: templates/extras/configtemplate.html:10 -#: templates/virtualization/virtualmachine.html:47 +#: templates/virtualization/virtualmachine.html:44 #: templates/virtualization/virtualmachine/render_config.html:11 -#: templates/virtualization/virtualmachine/render_config.html:15 +#: templates/virtualization/virtualmachine/render_config.html:14 #: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Шаблон конфигурации" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 -#: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 -#: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 +#: dcim/tables/devices.py:155 templates/dcim/sitegroup.html:26 +msgid "Site Group" +msgstr "Группа сайтов" + +#: dcim/tables/devices.py:192 dcim/tables/devices.py:1051 +#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:304 +#: ipam/forms/model_forms.py:313 ipam/tables/ip.py:352 ipam/tables/ip.py:418 +#: ipam/tables/ip.py:441 templates/ipam/ipaddress.html:11 #: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "IP-адрес" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: dcim/tables/devices.py:196 dcim/tables/devices.py:1055 #: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Адрес IPv4" -#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: dcim/tables/devices.py:200 dcim/tables/devices.py:1059 #: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Адрес IPv6" -#: dcim/tables/devices.py:243 +#: dcim/tables/devices.py:215 msgid "VC Position" msgstr "Позиция VC" -#: dcim/tables/devices.py:246 +#: dcim/tables/devices.py:218 msgid "VC Priority" msgstr "Приоритет VC" -#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:225 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Родительское устройство" -#: dcim/tables/devices.py:258 +#: dcim/tables/devices.py:230 msgid "Position (Device Bay)" msgstr "Положение (отсек для устройств)" -#: dcim/tables/devices.py:267 +#: dcim/tables/devices.py:239 msgid "Console ports" msgstr "Консольные порты" -#: dcim/tables/devices.py:270 +#: dcim/tables/devices.py:242 msgid "Console server ports" msgstr "Порты консольного сервера" -#: dcim/tables/devices.py:273 +#: dcim/tables/devices.py:245 msgid "Power ports" msgstr "Порты питания" -#: dcim/tables/devices.py:276 +#: dcim/tables/devices.py:248 msgid "Power outlets" msgstr "Розетки питания" -#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 -#: dcim/views.py:1930 netbox/navigation/menu.py:82 -#: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 +#: dcim/tables/devices.py:251 dcim/tables/devices.py:1064 +#: dcim/tables/devicetypes.py:125 dcim/views.py:1004 dcim/views.py:1243 +#: dcim/views.py:1929 netbox/navigation/menu.py:81 +#: netbox/navigation/menu.py:237 templates/dcim/device/base.html:37 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 -#: templates/dcim/virtualdevicecontext.html:64 -#: templates/dcim/virtualdevicecontext.html:85 +#: templates/dcim/virtualdevicecontext.html:61 +#: templates/dcim/virtualdevicecontext.html:81 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 #: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 @@ -5539,145 +5806,133 @@ msgstr "Розетки питания" msgid "Interfaces" msgstr "Интерфейсы" -#: dcim/tables/devices.py:282 +#: dcim/tables/devices.py:254 msgid "Front ports" msgstr "Передние порты" -#: dcim/tables/devices.py:288 +#: dcim/tables/devices.py:260 msgid "Device bays" msgstr "Отсеки для устройств" -#: dcim/tables/devices.py:291 +#: dcim/tables/devices.py:263 msgid "Module bays" msgstr "Отсеки для модулей" -#: dcim/tables/devices.py:294 +#: dcim/tables/devices.py:266 msgid "Inventory items" msgstr "Комплектующие" -#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:305 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Модульный отсек" -#: dcim/tables/devices.py:354 +#: dcim/tables/devices.py:326 msgid "Cable Color" msgstr "Цвет кабеля" -#: dcim/tables/devices.py:360 +#: dcim/tables/devices.py:332 msgid "Link Peers" msgstr "Связать узлы" -#: dcim/tables/devices.py:363 +#: dcim/tables/devices.py:335 msgid "Mark Connected" msgstr "Отметить подключение" -#: dcim/tables/devices.py:479 +#: dcim/tables/devices.py:451 msgid "Maximum draw (W)" msgstr "Максимальная потребляемая мощность (Вт)" -#: dcim/tables/devices.py:482 +#: dcim/tables/devices.py:454 msgid "Allocated draw (W)" msgstr "Выделенная мощность (Вт)" -#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 +#: dcim/tables/devices.py:554 ipam/forms/model_forms.py:738 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 -#: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 -#: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 -#: templates/ipam/service.html:43 templates/virtualization/vminterface.html:88 +#: netbox/navigation/menu.py:145 netbox/navigation/menu.py:147 +#: templates/dcim/interface.html:339 templates/ipam/ipaddress_bulk_add.html:15 +#: templates/ipam/service.html:40 templates/virtualization/vminterface.html:85 #: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "IP-адреса" -#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 -#: templates/ipam/inc/panels/fhrp_groups.html:5 +#: dcim/tables/devices.py:560 netbox/navigation/menu.py:189 +#: templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" msgstr "Группы FHRP" -#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 -#: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 -#: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 -#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 -#: vpn/forms/filtersets.py:81 vpn/forms/model_forms.py:59 -#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 +#: dcim/tables/devices.py:572 templates/dcim/interface.html:89 +#: templates/virtualization/vminterface.html:67 templates/vpn/tunnel.html:18 +#: templates/vpn/tunneltermination.html:13 vpn/forms/bulk_edit.py:76 +#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:42 +#: vpn/forms/filtersets.py:82 vpn/forms/model_forms.py:60 +#: vpn/forms/model_forms.py:145 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Туннель" -#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 -#: templates/dcim/interface.html:66 +#: dcim/tables/devices.py:597 dcim/tables/devicetypes.py:224 +#: templates/dcim/interface.html:65 msgid "Management Only" msgstr "Только управление" -#: dcim/tables/devices.py:633 -msgid "Wireless link" -msgstr "Беспроводная связь" - -#: dcim/tables/devices.py:643 +#: dcim/tables/devices.py:615 msgid "VDCs" msgstr "Виртуальные контексты устройств(VDCs)" -#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 -#: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 +#: dcim/tables/devices.py:623 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1079 dcim/views.py:2022 +#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 -#: templates/dcim/inc/panels/inventory_items.html:5 -#: templates/dcim/inventoryitemrole.html:33 +#: templates/dcim/inc/panels/inventory_items.html:6 +#: templates/dcim/inventoryitemrole.html:32 msgid "Inventory Items" msgstr "Предметы инвентаря" -#: dcim/tables/devices.py:732 -#: templates/circuits/inc/circuit_termination.html:80 -#: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 -#: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 -#: templates/dcim/interface.html:196 templates/dcim/inventoryitem_edit.html:69 -#: templates/dcim/rearport.html:18 templates/dcim/rearport.html:115 -msgid "Rear Port" -msgstr "Задний порт" - -#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:870 templates/dcim/modulebay.html:49 msgid "Installed Module" msgstr "Установленный модуль" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Серийный номер модуля" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Тег активов модуля" -#: dcim/tables/devices.py:913 +#: dcim/tables/devices.py:886 msgid "Module Status" msgstr "Состояние модуля" -#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 -#: templates/dcim/inventoryitem.html:41 +#: dcim/tables/devices.py:928 dcim/tables/devicetypes.py:308 +#: templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Компонент" -#: dcim/tables/devices.py:1010 +#: dcim/tables/devices.py:983 msgid "Items" msgstr "Предметы" -#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:72 -#: netbox/navigation/menu.py:74 +#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:71 +#: netbox/navigation/menu.py:73 msgid "Device Types" msgstr "Типы устройств" -#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:75 +#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:74 msgid "Module Types" msgstr "Типы модулей" -#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:379 -#: extras/forms/model_forms.py:423 netbox/navigation/menu.py:66 +#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:380 +#: extras/forms/model_forms.py:416 extras/tables/tables.py:430 +#: netbox/navigation/menu.py:65 msgid "Platforms" msgstr "Платформы" -#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:32 +#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Платформа по умолчанию" -#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:48 +#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Полная глубина" @@ -5689,71 +5944,71 @@ msgstr "Высота U" msgid "Instances" msgstr "Инстансы" -#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 -#: dcim/views.py:1870 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:944 dcim/views.py:1183 +#: dcim/views.py:1869 netbox/navigation/menu.py:84 #: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15 #: templates/dcim/devicetype/base.html:22 templates/dcim/module.html:22 #: templates/dcim/moduletype/base.html:22 msgid "Console Ports" msgstr "Порты консоли" -#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 -#: dcim/views.py:1885 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:959 dcim/views.py:1198 +#: dcim/views.py:1884 netbox/navigation/menu.py:85 #: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22 #: templates/dcim/devicetype/base.html:25 templates/dcim/module.html:25 #: templates/dcim/moduletype/base.html:25 msgid "Console Server Ports" msgstr "Порты консольного сервера" -#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 -#: dcim/views.py:1900 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:974 dcim/views.py:1213 +#: dcim/views.py:1899 netbox/navigation/menu.py:86 #: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29 #: templates/dcim/devicetype/base.html:28 templates/dcim/module.html:28 #: templates/dcim/moduletype/base.html:28 msgid "Power Ports" msgstr "Порты питания" -#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 -#: dcim/views.py:1915 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:989 dcim/views.py:1228 +#: dcim/views.py:1914 netbox/navigation/menu.py:87 #: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36 #: templates/dcim/devicetype/base.html:31 templates/dcim/module.html:31 #: templates/dcim/moduletype/base.html:31 msgid "Power Outlets" msgstr "Розетки питания" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 -#: dcim/views.py:1951 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1019 dcim/views.py:1258 +#: dcim/views.py:1950 netbox/navigation/menu.py:82 #: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 #: templates/dcim/module.html:37 templates/dcim/moduletype/base.html:37 msgid "Front Ports" msgstr "Передние порты" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 -#: dcim/views.py:1966 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1034 dcim/views.py:1273 +#: dcim/views.py:1965 netbox/navigation/menu.py:83 #: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50 #: templates/dcim/devicetype/base.html:40 templates/dcim/module.html:40 #: templates/dcim/moduletype/base.html:40 msgid "Rear Ports" msgstr "Задние порты" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 -#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1064 dcim/views.py:2003 +#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Отсеки для устройств" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 -#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1049 dcim/views.py:1984 +#: netbox/navigation/menu.py:88 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" msgstr "Отсеки для модулей" -#: dcim/tables/power.py:36 netbox/navigation/menu.py:282 -#: templates/core/configrevision.html:59 templates/dcim/powerpanel.html:53 +#: dcim/tables/power.py:36 netbox/navigation/menu.py:281 +#: templates/dcim/powerpanel.html:51 msgid "Power Feeds" msgstr "Источники питания" -#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:106 +#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 msgid "Max Utilization" msgstr "Максимальное использование" @@ -5762,12 +6017,12 @@ msgid "Available Power (VA)" msgstr "Доступная мощность (ВА)" #: dcim/tables/racks.py:29 dcim/tables/sites.py:138 -#: netbox/navigation/menu.py:25 netbox/navigation/menu.py:27 +#: netbox/navigation/menu.py:24 netbox/navigation/menu.py:26 msgid "Racks" msgstr "Стойки" -#: dcim/tables/racks.py:73 templates/dcim/device.html:323 -#: templates/dcim/rack.html:95 +#: dcim/tables/racks.py:73 templates/dcim/device.html:310 +#: templates/dcim/rack.html:90 msgid "Height" msgstr "Высота" @@ -5775,11 +6030,11 @@ msgstr "Высота" msgid "Space" msgstr "Пространство" -#: dcim/tables/racks.py:96 templates/dcim/rack.html:105 +#: dcim/tables/racks.py:96 templates/dcim/rack.html:100 msgid "Outer Width" msgstr "Внешняя ширина" -#: dcim/tables/racks.py:100 templates/dcim/rack.html:115 +#: dcim/tables/racks.py:100 templates/dcim/rack.html:110 msgid "Outer Depth" msgstr "Внешняя глубина" @@ -5788,10 +6043,10 @@ msgid "Max Weight" msgstr "Максимальный вес" #: dcim/tables/sites.py:30 dcim/tables/sites.py:57 -#: extras/forms/filtersets.py:359 extras/forms/model_forms.py:403 -#: ipam/forms/bulk_edit.py:128 ipam/forms/model_forms.py:152 -#: ipam/tables/asn.py:66 netbox/navigation/menu.py:16 -#: netbox/navigation/menu.py:18 +#: extras/forms/filtersets.py:360 extras/forms/model_forms.py:396 +#: ipam/forms/bulk_edit.py:129 ipam/forms/model_forms.py:151 +#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 +#: netbox/navigation/menu.py:17 msgid "Sites" msgstr "Сайты" @@ -5805,273 +6060,276 @@ msgstr "" msgid "Disconnected {count} {type}" msgstr "Отключен {count} {type}" -#: dcim/views.py:696 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Резервирование" -#: dcim/views.py:714 +#: dcim/views.py:714 templates/dcim/location.html:90 +#: templates/dcim/site.html:139 msgid "Non-Racked Devices" msgstr "Устройства без стоек" -#: dcim/views.py:2036 extras/forms/model_forms.py:463 +#: dcim/views.py:2035 extras/forms/model_forms.py:456 #: templates/extras/configcontext.html:10 -#: virtualization/forms/model_forms.py:228 virtualization/views.py:408 +#: virtualization/forms/model_forms.py:225 virtualization/views.py:408 msgid "Config Context" msgstr "Контекст конфигурации" -#: dcim/views.py:2046 virtualization/views.py:418 +#: dcim/views.py:2045 virtualization/views.py:418 msgid "Render Config" msgstr "Конфигурация рендера" -#: dcim/views.py:2974 ipam/tables/ip.py:233 +#: dcim/views.py:2970 ipam/tables/ip.py:233 msgid "Children" msgstr "Потомки" -#: extras/api/customfields.py:92 +#: extras/api/customfields.py:88 #, python-brace-format msgid "Unknown related object(s): {name}" msgstr "Неизвестный связанный объект (ы): {name}" -#: extras/api/serializers.py:154 +#: extras/api/serializers_/customfields.py:74 msgid "Changing the type of custom fields is not supported." msgstr "Изменение типа настраиваемых полей не поддерживается." -#: extras/api/serializers.py:549 extras/api/serializers.py:554 -msgid "Scheduling is not enabled for this report." -msgstr "Для этого отчета планирование отключено." - -#: extras/api/serializers.py:599 extras/api/serializers.py:604 +#: extras/api/serializers_/scripts.py:71 extras/api/serializers_/scripts.py:76 msgid "Scheduling is not enabled for this script." msgstr "Для этого сценария планирование отключено." -#: extras/choices.py:27 extras/forms/misc.py:14 +#: extras/choices.py:30 extras/forms/misc.py:14 msgid "Text" msgstr "Текст" -#: extras/choices.py:28 +#: extras/choices.py:31 msgid "Text (long)" msgstr "Текст (длинный)" -#: extras/choices.py:29 +#: extras/choices.py:32 msgid "Integer" msgstr "Целое число" -#: extras/choices.py:30 +#: extras/choices.py:33 msgid "Decimal" msgstr "Десятичный" -#: extras/choices.py:31 +#: extras/choices.py:34 msgid "Boolean (true/false)" msgstr "Логическое значение (истинно/ложь)" -#: extras/choices.py:32 +#: extras/choices.py:35 msgid "Date" msgstr "Дата" -#: extras/choices.py:33 +#: extras/choices.py:36 msgid "Date & time" msgstr "Дата и время" -#: extras/choices.py:35 +#: extras/choices.py:38 msgid "JSON" msgstr "JSON" -#: extras/choices.py:36 +#: extras/choices.py:39 msgid "Selection" msgstr "Выбор" -#: extras/choices.py:37 +#: extras/choices.py:40 msgid "Multiple selection" msgstr "Множественный выбор" -#: extras/choices.py:39 +#: extras/choices.py:42 msgid "Multiple objects" msgstr "Несколько объектов" -#: extras/choices.py:50 templates/extras/customfield.html:69 vpn/choices.py:20 +#: extras/choices.py:53 netbox/preferences.py:21 +#: templates/extras/customfield.html:66 vpn/choices.py:20 #: wireless/choices.py:27 msgid "Disabled" msgstr "Инвалид" -#: extras/choices.py:51 +#: extras/choices.py:54 msgid "Loose" msgstr "Свободный" -#: extras/choices.py:52 +#: extras/choices.py:55 msgid "Exact" msgstr "Точный" -#: extras/choices.py:63 +#: extras/choices.py:66 msgid "Always" msgstr "Всегда" -#: extras/choices.py:64 +#: extras/choices.py:67 msgid "If set" msgstr "Если установлено" -#: extras/choices.py:65 extras/choices.py:78 +#: extras/choices.py:68 extras/choices.py:81 msgid "Hidden" msgstr "Скрытый" -#: extras/choices.py:76 +#: extras/choices.py:79 msgid "Yes" msgstr "Да" -#: extras/choices.py:77 +#: extras/choices.py:80 msgid "No" msgstr "Нет" -#: extras/choices.py:105 templates/tenancy/contact.html:58 -#: tenancy/forms/bulk_edit.py:117 wireless/forms/model_forms.py:159 +#: extras/choices.py:108 templates/tenancy/contact.html:57 +#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:162 msgid "Link" msgstr "Ссылка" -#: extras/choices.py:119 +#: extras/choices.py:122 msgid "Newest" msgstr "Новейший" -#: extras/choices.py:120 +#: extras/choices.py:123 msgid "Oldest" msgstr "Самый старый" -#: extras/choices.py:136 templates/generic/object.html:51 +#: extras/choices.py:139 templates/generic/object.html:61 msgid "Updated" msgstr "Обновлено" -#: extras/choices.py:137 +#: extras/choices.py:140 msgid "Deleted" msgstr "Удалено" -#: extras/choices.py:154 extras/choices.py:176 +#: extras/choices.py:157 extras/choices.py:181 msgid "Info" msgstr "Информация" -#: extras/choices.py:155 extras/choices.py:175 +#: extras/choices.py:158 extras/choices.py:180 msgid "Success" msgstr "Успех" -#: extras/choices.py:156 extras/choices.py:177 +#: extras/choices.py:159 extras/choices.py:182 msgid "Warning" msgstr "Предупреждение" -#: extras/choices.py:157 +#: extras/choices.py:160 msgid "Danger" msgstr "Опасность" -#: extras/choices.py:174 utilities/choices.py:190 +#: extras/choices.py:178 +msgid "Debug" +msgstr "Отладка" + +#: extras/choices.py:179 netbox/choices.py:104 msgid "Default" msgstr "По умолчанию" -#: extras/choices.py:178 +#: extras/choices.py:183 msgid "Failure" msgstr "Неудача" -#: extras/choices.py:185 +#: extras/choices.py:199 msgid "Hourly" msgstr "Ежечасно" -#: extras/choices.py:186 +#: extras/choices.py:200 msgid "12 hours" msgstr "12 часов" -#: extras/choices.py:187 +#: extras/choices.py:201 msgid "Daily" msgstr "Ежедневно" -#: extras/choices.py:188 +#: extras/choices.py:202 msgid "Weekly" msgstr "Еженедельно" -#: extras/choices.py:189 +#: extras/choices.py:203 msgid "30 days" msgstr "30 дней" -#: extras/choices.py:254 extras/tables/tables.py:291 -#: templates/dcim/virtualchassis_edit.html:108 -#: templates/extras/eventrule.html:51 -#: templates/generic/bulk_add_component.html:56 -#: templates/generic/object_edit.html:29 templates/generic/object_edit.html:70 +#: extras/choices.py:268 extras/tables/tables.py:296 +#: templates/dcim/virtualchassis_edit.html:107 +#: templates/extras/eventrule.html:40 +#: templates/generic/bulk_add_component.html:68 +#: templates/generic/object_edit.html:47 templates/generic/object_edit.html:80 #: templates/ipam/inc/ipaddress_edit_header.html:10 msgid "Create" msgstr "Создайте" -#: extras/choices.py:255 extras/tables/tables.py:294 -#: templates/extras/eventrule.html:55 +#: extras/choices.py:269 extras/tables/tables.py:299 +#: templates/extras/eventrule.html:44 msgid "Update" msgstr "Обновить" -#: extras/choices.py:256 extras/tables/tables.py:297 -#: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/inc/panels/inventory_items.html:29 -#: templates/dcim/moduletype/component_templates.html:24 -#: templates/dcim/powerpanel.html:71 templates/extras/eventrule.html:59 -#: templates/extras/report_list.html:34 templates/extras/script_list.html:33 -#: templates/generic/bulk_delete.html:18 templates/generic/bulk_delete.html:45 -#: templates/generic/object_delete.html:15 templates/htmx/delete_form.html:57 -#: templates/ipam/inc/panels/fhrp_groups.html:35 -#: templates/users/objectpermission.html:49 -#: utilities/templates/buttons/delete.html:9 +#: extras/choices.py:270 extras/tables/tables.py:302 +#: templates/circuits/inc/circuit_termination.html:23 +#: templates/dcim/inc/panels/inventory_items.html:37 +#: templates/dcim/moduletype/component_templates.html:23 +#: templates/dcim/powerpanel.html:66 templates/extras/eventrule.html:48 +#: templates/extras/script_list.html:37 templates/generic/bulk_delete.html:20 +#: templates/generic/bulk_delete.html:66 +#: templates/generic/object_delete.html:19 templates/htmx/delete_form.html:57 +#: templates/ipam/inc/panels/fhrp_groups.html:48 +#: templates/users/objectpermission.html:46 +#: utilities/templates/buttons/delete.html:11 msgid "Delete" msgstr "Удалить" -#: extras/choices.py:280 utilities/choices.py:143 utilities/choices.py:191 +#: extras/choices.py:294 netbox/choices.py:57 netbox/choices.py:105 msgid "Blue" msgstr "Синий" -#: extras/choices.py:281 utilities/choices.py:142 utilities/choices.py:192 +#: extras/choices.py:295 netbox/choices.py:56 netbox/choices.py:106 msgid "Indigo" msgstr "Темно-синий" -#: extras/choices.py:282 utilities/choices.py:140 utilities/choices.py:193 +#: extras/choices.py:296 netbox/choices.py:54 netbox/choices.py:107 msgid "Purple" msgstr "Фиолетовый" -#: extras/choices.py:283 utilities/choices.py:137 utilities/choices.py:194 +#: extras/choices.py:297 netbox/choices.py:51 netbox/choices.py:108 msgid "Pink" msgstr "Розовый" -#: extras/choices.py:284 utilities/choices.py:136 utilities/choices.py:195 +#: extras/choices.py:298 netbox/choices.py:50 netbox/choices.py:109 msgid "Red" msgstr "Красный" -#: extras/choices.py:285 utilities/choices.py:154 utilities/choices.py:196 +#: extras/choices.py:299 netbox/choices.py:68 netbox/choices.py:110 msgid "Orange" msgstr "Оранжевый" -#: extras/choices.py:286 utilities/choices.py:152 utilities/choices.py:197 +#: extras/choices.py:300 netbox/choices.py:66 netbox/choices.py:111 msgid "Yellow" msgstr "Желтый" -#: extras/choices.py:287 utilities/choices.py:149 utilities/choices.py:198 +#: extras/choices.py:301 netbox/choices.py:63 netbox/choices.py:112 msgid "Green" msgstr "Зелёный" -#: extras/choices.py:288 utilities/choices.py:146 utilities/choices.py:199 +#: extras/choices.py:302 netbox/choices.py:60 netbox/choices.py:113 msgid "Teal" msgstr "Cине-зеленый" -#: extras/choices.py:289 utilities/choices.py:145 utilities/choices.py:200 +#: extras/choices.py:303 netbox/choices.py:59 netbox/choices.py:114 msgid "Cyan" msgstr "Голубой" -#: extras/choices.py:290 utilities/choices.py:201 +#: extras/choices.py:304 netbox/choices.py:115 msgid "Gray" msgstr "Серый" -#: extras/choices.py:291 utilities/choices.py:160 utilities/choices.py:202 +#: extras/choices.py:305 netbox/choices.py:74 netbox/choices.py:116 msgid "Black" msgstr "Черный" -#: extras/choices.py:292 utilities/choices.py:161 utilities/choices.py:203 +#: extras/choices.py:306 netbox/choices.py:75 netbox/choices.py:117 msgid "White" msgstr "Белый" -#: extras/choices.py:306 extras/forms/model_forms.py:235 -#: extras/forms/model_forms.py:321 templates/extras/webhook.html:11 +#: extras/choices.py:320 extras/forms/model_forms.py:242 +#: extras/forms/model_forms.py:327 templates/extras/webhook.html:10 msgid "Webhook" msgstr "Вебхук" -#: extras/choices.py:307 templates/extras/script/base.html:29 +#: extras/choices.py:321 extras/forms/model_forms.py:315 +#: templates/extras/script/base.html:29 msgid "Script" msgstr "Сценарий" @@ -6117,26 +6375,26 @@ msgstr "Тип виджета" msgid "Unregistered widget class: {name}" msgstr "Незарегистрированный класс виджета: {name}" -#: extras/dashboard/widgets.py:115 +#: extras/dashboard/widgets.py:126 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} должен определить метод render ()." -#: extras/dashboard/widgets.py:150 +#: extras/dashboard/widgets.py:161 msgid "Note" msgstr "Примечание" -#: extras/dashboard/widgets.py:151 +#: extras/dashboard/widgets.py:162 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Отображает произвольный пользовательский контент. Поддерживается разметка " "Markdown." -#: extras/dashboard/widgets.py:164 +#: extras/dashboard/widgets.py:175 msgid "Object Counts" msgstr "Количество объектов" -#: extras/dashboard/widgets.py:165 +#: extras/dashboard/widgets.py:176 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -6144,223 +6402,228 @@ msgstr "" "Отобразите набор моделей NetBox и количество объектов, созданных для каждого" " типа." -#: extras/dashboard/widgets.py:175 +#: extras/dashboard/widgets.py:186 msgid "Filters to apply when counting the number of objects" msgstr "Фильтры, применяемые при подсчете количества объектов" -#: extras/dashboard/widgets.py:183 +#: extras/dashboard/widgets.py:194 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Неверный формат. Фильтры объектов необходимо передавать в виде словаря." -#: extras/dashboard/widgets.py:211 +#: extras/dashboard/widgets.py:222 msgid "Object List" msgstr "Список объектов" -#: extras/dashboard/widgets.py:212 +#: extras/dashboard/widgets.py:223 msgid "Display an arbitrary list of objects." msgstr "Отобразите произвольный список объектов." -#: extras/dashboard/widgets.py:225 +#: extras/dashboard/widgets.py:236 msgid "The default number of objects to display" msgstr "Количество отображаемых объектов по умолчанию" -#: extras/dashboard/widgets.py:237 +#: extras/dashboard/widgets.py:248 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "Неверный формат. Параметры URL должны быть переданы в виде словаря." -#: extras/dashboard/widgets.py:272 +#: extras/dashboard/widgets.py:283 msgid "RSS Feed" msgstr "RSS-канал" -#: extras/dashboard/widgets.py:277 +#: extras/dashboard/widgets.py:288 msgid "Embed an RSS feed from an external website." msgstr "Вставьте RSS-канал с внешнего веб-сайта." -#: extras/dashboard/widgets.py:284 +#: extras/dashboard/widgets.py:295 msgid "Feed URL" msgstr "URL-адрес ленты" -#: extras/dashboard/widgets.py:289 +#: extras/dashboard/widgets.py:300 msgid "The maximum number of objects to display" msgstr "Максимальное количество отображаемых объектов" -#: extras/dashboard/widgets.py:294 +#: extras/dashboard/widgets.py:305 msgid "How long to stored the cached content (in seconds)" msgstr "Как долго хранить кэшированный контент (в секундах)" -#: extras/dashboard/widgets.py:346 templates/account/base.html:10 -#: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 +#: extras/dashboard/widgets.py:357 templates/account/base.html:10 +#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:30 msgid "Bookmarks" msgstr "Закладки" -#: extras/dashboard/widgets.py:350 +#: extras/dashboard/widgets.py:361 msgid "Show your personal bookmarks" msgstr "Покажите свои личные закладки" -#: extras/events.py:133 +#: extras/events.py:128 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "Неизвестный тип действия для правила события: {action_type}" -#: extras/events.py:181 +#: extras/events.py:176 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "Невозможно импортировать конвейер событий {name} ошибка: {error}" -#: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 +#: extras/filtersets.py:45 +msgid "Script module (ID)" +msgstr "Модуль сценария (ID)" + +#: extras/filtersets.py:249 extras/filtersets.py:589 extras/filtersets.py:621 msgid "Data file (ID)" msgstr "Файл данных (ID)" -#: extras/filtersets.py:479 virtualization/forms/filtersets.py:114 +#: extras/filtersets.py:526 virtualization/forms/filtersets.py:118 msgid "Cluster type" msgstr "Тип кластера" -#: extras/filtersets.py:485 virtualization/filtersets.py:95 +#: extras/filtersets.py:532 virtualization/filtersets.py:95 #: virtualization/filtersets.py:147 msgid "Cluster type (slug)" msgstr "Тип кластера (подстрока)" -#: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 +#: extras/filtersets.py:537 ipam/forms/bulk_edit.py:476 +#: ipam/forms/model_forms.py:615 virtualization/forms/filtersets.py:112 msgid "Cluster group" msgstr "Кластерная группа" -#: extras/filtersets.py:496 virtualization/filtersets.py:136 +#: extras/filtersets.py:543 virtualization/filtersets.py:136 msgid "Cluster group (slug)" msgstr "Группа кластеров (подстрока)" -#: extras/filtersets.py:506 tenancy/forms/forms.py:16 +#: extras/filtersets.py:553 tenancy/forms/forms.py:16 #: tenancy/forms/forms.py:39 msgid "Tenant group" msgstr "Группа тенантов" -#: extras/filtersets.py:512 tenancy/filtersets.py:164 -#: tenancy/filtersets.py:184 +#: extras/filtersets.py:559 tenancy/filtersets.py:189 +#: tenancy/filtersets.py:209 msgid "Tenant group (slug)" msgstr "Группа тенантов (подстрока)" -#: extras/filtersets.py:528 templates/extras/tag.html:12 +#: extras/filtersets.py:575 extras/forms/model_forms.py:374 +#: templates/extras/tag.html:11 msgid "Tag" msgstr "Тег" -#: extras/filtersets.py:534 +#: extras/filtersets.py:581 msgid "Tag (slug)" msgstr "Тег (подстрока)" -#: extras/filtersets.py:594 extras/forms/filtersets.py:438 +#: extras/filtersets.py:645 extras/forms/filtersets.py:438 msgid "Has local config context data" msgstr "Имеет локальные контекстные данные конфигурации" -#: extras/filtersets.py:619 +#: extras/filtersets.py:670 msgid "User name" msgstr "Имя пользователя" -#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:56 +#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:57 msgid "Group name" msgstr "Название группы" -#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:64 -#: extras/tables/tables.py:47 templates/extras/customfield.html:39 -#: templates/generic/bulk_import.html:116 +#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:65 +#: extras/tables/tables.py:49 templates/extras/customfield.html:38 +#: templates/generic/bulk_import.html:118 msgid "Required" msgstr "Требуется" #: extras/forms/bulk_edit.py:53 extras/forms/bulk_import.py:57 -#: extras/forms/filtersets.py:78 extras/models/customfields.py:193 +#: extras/forms/filtersets.py:79 extras/models/customfields.py:194 msgid "UI visible" msgstr "Видимый пользовательский интерфейс" #: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63 -#: extras/forms/filtersets.py:83 extras/models/customfields.py:200 +#: extras/forms/filtersets.py:84 extras/models/customfields.py:201 msgid "UI editable" msgstr "Редактируемый UI" -#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:86 +#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:87 msgid "Is cloneable" msgstr "Можно клонировать" -#: extras/forms/bulk_edit.py:102 extras/forms/filtersets.py:126 +#: extras/forms/bulk_edit.py:103 extras/forms/filtersets.py:127 msgid "New window" msgstr "Новое окно" -#: extras/forms/bulk_edit.py:111 +#: extras/forms/bulk_edit.py:112 msgid "Button class" msgstr "Класс кнопки" -#: extras/forms/bulk_edit.py:128 extras/forms/filtersets.py:164 -#: extras/models/models.py:439 +#: extras/forms/bulk_edit.py:129 extras/forms/filtersets.py:165 +#: extras/models/models.py:437 msgid "MIME type" msgstr "Тип MIME" -#: extras/forms/bulk_edit.py:133 extras/forms/filtersets.py:167 +#: extras/forms/bulk_edit.py:134 extras/forms/filtersets.py:168 msgid "File extension" msgstr "Расширение файла" -#: extras/forms/bulk_edit.py:138 extras/forms/filtersets.py:171 +#: extras/forms/bulk_edit.py:139 extras/forms/filtersets.py:172 msgid "As attachment" msgstr "В качестве вложения" -#: extras/forms/bulk_edit.py:166 extras/forms/filtersets.py:213 -#: extras/tables/tables.py:214 templates/extras/savedfilter.html:30 +#: extras/forms/bulk_edit.py:167 extras/forms/filtersets.py:214 +#: extras/tables/tables.py:219 templates/extras/savedfilter.html:29 msgid "Shared" msgstr "Общий" -#: extras/forms/bulk_edit.py:189 extras/forms/filtersets.py:242 -#: extras/models/models.py:204 +#: extras/forms/bulk_edit.py:190 extras/forms/filtersets.py:243 +#: extras/models/models.py:202 msgid "HTTP method" msgstr "Метод HTTP" -#: extras/forms/bulk_edit.py:193 extras/forms/filtersets.py:236 -#: templates/extras/webhook.html:37 +#: extras/forms/bulk_edit.py:194 extras/forms/filtersets.py:237 +#: templates/extras/webhook.html:30 msgid "Payload URL" msgstr "URL-адрес полезной нагрузки" -#: extras/forms/bulk_edit.py:198 extras/models/models.py:244 +#: extras/forms/bulk_edit.py:199 extras/models/models.py:242 msgid "SSL verification" msgstr "Проверка SSL" -#: extras/forms/bulk_edit.py:201 templates/extras/webhook.html:45 +#: extras/forms/bulk_edit.py:202 templates/extras/webhook.html:38 msgid "Secret" msgstr "Секрет" -#: extras/forms/bulk_edit.py:206 +#: extras/forms/bulk_edit.py:207 msgid "CA file path" msgstr "Путь к файлу CA" -#: extras/forms/bulk_edit.py:225 +#: extras/forms/bulk_edit.py:226 msgid "On create" msgstr "При создании" -#: extras/forms/bulk_edit.py:230 +#: extras/forms/bulk_edit.py:231 msgid "On update" msgstr "При обновлении" -#: extras/forms/bulk_edit.py:235 +#: extras/forms/bulk_edit.py:236 msgid "On delete" msgstr "При удалении" -#: extras/forms/bulk_edit.py:240 +#: extras/forms/bulk_edit.py:241 msgid "On job start" msgstr "При начале работы" -#: extras/forms/bulk_edit.py:245 +#: extras/forms/bulk_edit.py:246 msgid "On job end" msgstr "По окончании работы" -#: extras/forms/bulk_edit.py:282 +#: extras/forms/bulk_edit.py:283 msgid "Is active" msgstr "Активен" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 #: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 -#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 -#: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 -#: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 -#: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 -#: extras/forms/model_forms.py:253 -msgid "Content types" -msgstr "Типы контента" +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:115 +#: extras/forms/filtersets.py:202 extras/forms/model_forms.py:43 +#: extras/forms/model_forms.py:131 extras/forms/model_forms.py:163 +#: extras/forms/model_forms.py:204 extras/forms/model_forms.py:261 +#: extras/forms/model_forms.py:368 users/forms/model_forms.py:276 +msgid "Object types" +msgstr "Типы объектов" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 #: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 @@ -6372,9 +6635,9 @@ msgstr "Один или несколько назначенных типов о msgid "Field data type (e.g. text, integer, etc.)" msgstr "Тип данных поля (например, текст, целое число и т. д.)" -#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:48 -#: extras/forms/filtersets.py:259 extras/forms/model_forms.py:47 -#: extras/forms/model_forms.py:223 tenancy/forms/filtersets.py:91 +#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:186 +#: extras/forms/filtersets.py:260 extras/forms/model_forms.py:230 +#: tenancy/forms/filtersets.py:92 msgid "Object type" msgstr "Тип объекта" @@ -6383,7 +6646,7 @@ msgid "Object type (for object or multi-object fields)" msgstr "" "Тип объекта (для полей объектов или полей, состоящих из нескольких объектов)" -#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:73 +#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:74 msgid "Choice set" msgstr "Набор для выбора" @@ -6413,11 +6676,11 @@ msgstr "" "дополнительными метками, разделенными двоеточием: «Choice1:First Choice, " "Choice2:Second Choice»" -#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +#: extras/forms/bulk_import.py:120 extras/models/models.py:351 msgid "button class" msgstr "класс кнопок" -#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +#: extras/forms/bulk_import.py:123 extras/models/models.py:355 msgid "" "The class of the first link in a group will be used for the dropdown button" msgstr "" @@ -6442,139 +6705,143 @@ msgstr "Вебхук {name} не найден" msgid "Script {name} not found" msgstr "Сценарий {name} не найден" -#: extras/forms/bulk_import.py:242 +#: extras/forms/bulk_import.py:239 msgid "Assigned object type" msgstr "Назначенный тип объекта" -#: extras/forms/bulk_import.py:247 +#: extras/forms/bulk_import.py:244 msgid "The classification of entry" msgstr "Классификация записей" -#: extras/forms/filtersets.py:53 +#: extras/forms/filtersets.py:49 extras/forms/model_forms.py:47 +msgid "Related object type" +msgstr "Тип связанного объекта" + +#: extras/forms/filtersets.py:54 msgid "Field type" msgstr "Тип поля" -#: extras/forms/filtersets.py:97 extras/tables/tables.py:65 -#: templates/generic/bulk_import.html:148 +#: extras/forms/filtersets.py:98 extras/tables/tables.py:70 +#: templates/generic/bulk_import.html:154 msgid "Choices" msgstr "Варианты" -#: extras/forms/filtersets.py:141 extras/forms/filtersets.py:327 -#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:458 -#: templates/core/job.html:86 templates/extras/configcontext.html:86 -#: templates/extras/eventrule.html:111 +#: extras/forms/filtersets.py:142 extras/forms/filtersets.py:328 +#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:451 +#: templates/core/job.html:78 templates/extras/configcontext.html:82 +#: templates/extras/eventrule.html:90 msgid "Data" msgstr "Данные" -#: extras/forms/filtersets.py:152 extras/forms/filtersets.py:341 -#: extras/forms/filtersets.py:427 utilities/choices.py:219 -#: utilities/forms/bulk_import.py:27 +#: extras/forms/filtersets.py:153 extras/forms/filtersets.py:342 +#: extras/forms/filtersets.py:427 netbox/choices.py:133 +#: utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "Файл данных" -#: extras/forms/filtersets.py:185 -msgid "Content type" -msgstr "Тип контента" +#: extras/forms/filtersets.py:161 +msgid "Content types" +msgstr "Типы контента" -#: extras/forms/filtersets.py:232 extras/models/models.py:209 +#: extras/forms/filtersets.py:233 extras/models/models.py:207 msgid "HTTP content type" msgstr "Тип содержимого HTTP" -#: extras/forms/filtersets.py:254 extras/forms/model_forms.py:271 -#: templates/extras/eventrule.html:46 +#: extras/forms/filtersets.py:255 extras/forms/model_forms.py:280 +#: templates/extras/eventrule.html:37 msgid "Events" msgstr "События" -#: extras/forms/filtersets.py:264 +#: extras/forms/filtersets.py:265 msgid "Action type" msgstr "Тип действия" -#: extras/forms/filtersets.py:278 +#: extras/forms/filtersets.py:279 msgid "Object creations" msgstr "Создание объектов" -#: extras/forms/filtersets.py:285 +#: extras/forms/filtersets.py:286 msgid "Object updates" msgstr "Обновления объектов" -#: extras/forms/filtersets.py:292 +#: extras/forms/filtersets.py:293 msgid "Object deletions" msgstr "Удаление объектов" -#: extras/forms/filtersets.py:299 +#: extras/forms/filtersets.py:300 msgid "Job starts" msgstr "Задание начинается" -#: extras/forms/filtersets.py:306 extras/forms/model_forms.py:290 +#: extras/forms/filtersets.py:307 extras/forms/model_forms.py:300 msgid "Job terminations" msgstr "Прекращение работы" -#: extras/forms/filtersets.py:315 +#: extras/forms/filtersets.py:316 msgid "Tagged object type" msgstr "Тип объекта с тегами" -#: extras/forms/filtersets.py:320 +#: extras/forms/filtersets.py:321 msgid "Allowed object type" msgstr "Разрешенный тип объекта" -#: extras/forms/filtersets.py:349 extras/forms/model_forms.py:393 -#: netbox/navigation/menu.py:19 +#: extras/forms/filtersets.py:350 extras/forms/model_forms.py:386 +#: netbox/navigation/menu.py:18 msgid "Regions" msgstr "Регионы" -#: extras/forms/filtersets.py:354 extras/forms/model_forms.py:398 +#: extras/forms/filtersets.py:355 extras/forms/model_forms.py:391 msgid "Site groups" msgstr "Группы сайтов" -#: extras/forms/filtersets.py:364 extras/forms/model_forms.py:408 -#: netbox/navigation/menu.py:21 +#: extras/forms/filtersets.py:365 extras/forms/model_forms.py:401 +#: netbox/navigation/menu.py:20 templates/dcim/site.html:126 msgid "Locations" msgstr "Локации" -#: extras/forms/filtersets.py:369 extras/forms/model_forms.py:413 +#: extras/forms/filtersets.py:370 extras/forms/model_forms.py:406 msgid "Device types" msgstr "Типы устройств" -#: extras/forms/filtersets.py:374 extras/forms/model_forms.py:418 +#: extras/forms/filtersets.py:375 extras/forms/model_forms.py:411 msgid "Roles" msgstr "Роли" -#: extras/forms/filtersets.py:384 extras/forms/model_forms.py:428 +#: extras/forms/filtersets.py:385 extras/forms/model_forms.py:421 msgid "Cluster types" msgstr "Типы кластеров" -#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:433 +#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:426 msgid "Cluster groups" msgstr "Кластерные группы" -#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:438 -#: netbox/navigation/menu.py:243 netbox/navigation/menu.py:245 -#: templates/virtualization/clustertype.html:33 +#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:431 +#: netbox/navigation/menu.py:242 netbox/navigation/menu.py:244 +#: templates/virtualization/clustertype.html:30 #: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 msgid "Clusters" msgstr "Кластеры" -#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:443 +#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:436 msgid "Tenant groups" msgstr "Группы тенантов" -#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:495 +#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:492 msgid "After" msgstr "После" -#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:500 +#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:497 msgid "Before" msgstr "До" -#: extras/forms/filtersets.py:490 extras/tables/tables.py:431 -#: templates/extras/htmx/report_result.html:43 -#: templates/extras/objectchange.html:34 +#: extras/forms/filtersets.py:487 extras/tables/tables.py:456 +#: extras/tables/tables.py:542 extras/tables/tables.py:567 +#: templates/extras/objectchange.html:31 msgid "Time" msgstr "Время" -#: extras/forms/filtersets.py:504 extras/forms/model_forms.py:273 -#: extras/tables/tables.py:445 templates/extras/eventrule.html:90 -#: templates/extras/objectchange.html:50 +#: extras/forms/filtersets.py:501 extras/forms/model_forms.py:284 +#: extras/tables/tables.py:470 templates/extras/eventrule.html:77 +#: templates/extras/objectchange.html:45 msgid "Action" msgstr "Действие" @@ -6583,19 +6850,19 @@ msgid "Type of the related object (for object/multi-object fields only)" msgstr "" "Тип связанного объекта (только для полей объектов/нескольких объектов)" -#: extras/forms/model_forms.py:58 templates/extras/customfield.html:11 +#: extras/forms/model_forms.py:61 templates/extras/customfield.html:10 msgid "Custom Field" msgstr "Настраиваемое Поле" -#: extras/forms/model_forms.py:61 templates/extras/customfield.html:60 +#: extras/forms/model_forms.py:64 templates/extras/customfield.html:58 msgid "Behavior" msgstr "Поведение" -#: extras/forms/model_forms.py:62 +#: extras/forms/model_forms.py:66 msgid "Values" msgstr "Ценности" -#: extras/forms/model_forms.py:71 +#: extras/forms/model_forms.py:75 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." @@ -6603,7 +6870,7 @@ msgstr "" "Тип данных, хранящихся в этом поле. Для полей объектов или полей, состоящих " "из нескольких объектов, выберите соответствующий тип объекта ниже." -#: extras/forms/model_forms.py:74 +#: extras/forms/model_forms.py:78 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." @@ -6611,7 +6878,7 @@ msgstr "" "Это будет отображаться в виде справочного текста для поля формы. " "Поддерживается функция Markdown." -#: extras/forms/model_forms.py:91 +#: extras/forms/model_forms.py:95 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" @@ -6619,15 +6886,15 @@ msgstr "" "Введите по одному варианту в строке. Для каждого варианта можно указать " "дополнительную метку, добавив ее двоеточием. Пример:" -#: extras/forms/model_forms.py:132 templates/extras/customlink.html:10 +#: extras/forms/model_forms.py:138 templates/extras/customlink.html:10 msgid "Custom Link" msgstr "Настраиваемая Ссылка" -#: extras/forms/model_forms.py:133 +#: extras/forms/model_forms.py:140 msgid "Templates" msgstr "Шаблоны" -#: extras/forms/model_forms.py:145 +#: extras/forms/model_forms.py:152 #, python-brace-format msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " @@ -6636,56 +6903,56 @@ msgstr "" "Код Jinja2 шаблона для текста ссылки. Ссылайтесь на объект как {example}. " "Ссылки с пустым текстом отображены не будут." -#: extras/forms/model_forms.py:149 +#: extras/forms/model_forms.py:156 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" "Код Jinja2 шаблона для URL-адреса. Ссылайтесь на объект как {example}." -#: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 +#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:503 msgid "Template code" msgstr "Код шаблона" -#: extras/forms/model_forms.py:166 templates/extras/exporttemplate.html:17 +#: extras/forms/model_forms.py:173 templates/extras/exporttemplate.html:12 msgid "Export Template" msgstr "Шаблон экспорта" -#: extras/forms/model_forms.py:168 +#: extras/forms/model_forms.py:175 msgid "Rendering" msgstr "Рендеринг" -#: extras/forms/model_forms.py:182 extras/forms/model_forms.py:534 +#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:528 msgid "Template content is populated from the remote source selected below." msgstr "" "Содержимое шаблона заполняется из удаленного источника, выбранного ниже." -#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:541 +#: extras/forms/model_forms.py:196 extras/forms/model_forms.py:535 msgid "Must specify either local content or a data file" msgstr "Необходимо указать локальное содержимое или файл данных" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 +#: extras/forms/model_forms.py:210 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Сохраненный фильтр" -#: extras/forms/model_forms.py:236 templates/extras/webhook.html:28 +#: extras/forms/model_forms.py:245 templates/extras/webhook.html:23 msgid "HTTP Request" msgstr "HTTP-запрос" -#: extras/forms/model_forms.py:239 templates/extras/webhook.html:53 +#: extras/forms/model_forms.py:247 templates/extras/webhook.html:44 msgid "SSL" msgstr "SSL" -#: extras/forms/model_forms.py:257 +#: extras/forms/model_forms.py:265 msgid "Action choice" msgstr "Выбор действия" -#: extras/forms/model_forms.py:262 +#: extras/forms/model_forms.py:270 msgid "Enter conditions in JSON format." msgstr "Введите условия в JSON формат." -#: extras/forms/model_forms.py:266 +#: extras/forms/model_forms.py:274 msgid "" "Enter parameters to pass to the action in JSON format." @@ -6693,97 +6960,94 @@ msgstr "" "Введите параметры для перехода к действию в JSON формат." -#: extras/forms/model_forms.py:270 templates/extras/eventrule.html:11 +#: extras/forms/model_forms.py:279 templates/extras/eventrule.html:10 msgid "Event Rule" msgstr "Правило мероприятия" -#: extras/forms/model_forms.py:272 templates/extras/eventrule.html:78 +#: extras/forms/model_forms.py:281 templates/extras/eventrule.html:66 msgid "Conditions" msgstr "условия" -#: extras/forms/model_forms.py:286 +#: extras/forms/model_forms.py:296 msgid "Creations" msgstr "Творения" -#: extras/forms/model_forms.py:287 +#: extras/forms/model_forms.py:297 msgid "Updates" msgstr "Обновления" -#: extras/forms/model_forms.py:288 +#: extras/forms/model_forms.py:298 msgid "Deletions" msgstr "Удаления" -#: extras/forms/model_forms.py:289 +#: extras/forms/model_forms.py:299 msgid "Job executions" msgstr "Выполнение заданий" -#: extras/forms/model_forms.py:375 users/forms/model_forms.py:286 -msgid "Object types" -msgstr "Типы объектов" - -#: extras/forms/model_forms.py:448 netbox/navigation/menu.py:40 +#: extras/forms/model_forms.py:441 netbox/navigation/menu.py:39 #: tenancy/tables/tenants.py:22 msgid "Tenants" msgstr "Тенанты" -#: extras/forms/model_forms.py:465 ipam/forms/filtersets.py:141 -#: ipam/forms/filtersets.py:527 templates/extras/configcontext.html:62 -#: templates/ipam/ipaddress.html:62 templates/ipam/vlan_edit.html:30 -#: tenancy/forms/filtersets.py:86 users/forms/model_forms.py:324 +#: extras/forms/model_forms.py:461 ipam/forms/filtersets.py:142 +#: ipam/forms/filtersets.py:534 ipam/forms/model_forms.py:321 +#: templates/extras/configcontext.html:60 templates/ipam/ipaddress.html:59 +#: templates/ipam/vlan_edit.html:30 tenancy/forms/filtersets.py:87 +#: users/forms/model_forms.py:314 msgid "Assignment" msgstr "Задание" -#: extras/forms/model_forms.py:491 +#: extras/forms/model_forms.py:485 msgid "Data is populated from the remote source selected below." msgstr "Данные заполняются из удаленного источника, выбранного ниже." -#: extras/forms/model_forms.py:497 +#: extras/forms/model_forms.py:491 msgid "Must specify either local data or a data file" msgstr "Необходимо указать локальные данные или файл данных" -#: extras/forms/model_forms.py:516 templates/core/datafile.html:65 +#: extras/forms/model_forms.py:510 templates/core/datafile.html:55 msgid "Content" msgstr "Контент" -#: extras/forms/reports.py:18 extras/forms/scripts.py:24 +#: extras/forms/reports.py:17 extras/forms/scripts.py:23 msgid "Schedule at" msgstr "Расписание на" -#: extras/forms/reports.py:19 +#: extras/forms/reports.py:18 msgid "Schedule execution of report to a set time" msgstr "Запланировать выполнение отчета на установленное время" -#: extras/forms/reports.py:24 extras/forms/scripts.py:30 +#: extras/forms/reports.py:23 extras/forms/scripts.py:29 msgid "Recurs every" msgstr "Повторяется каждый" -#: extras/forms/reports.py:28 +#: extras/forms/reports.py:27 msgid "Interval at which this report is re-run (in minutes)" msgstr "Интервал повторного запуска отчета (в минутах)" -#: extras/forms/reports.py:36 extras/forms/scripts.py:42 +#: extras/forms/reports.py:35 extras/forms/scripts.py:41 #, python-brace-format msgid " (current time: {now})" msgstr " (текущее время: {now})" -#: extras/forms/reports.py:46 extras/forms/scripts.py:52 +#: extras/forms/reports.py:45 extras/forms/scripts.py:51 msgid "Scheduled time must be in the future." msgstr "Запланированное время должно быть в будущем." -#: extras/forms/scripts.py:18 +#: extras/forms/scripts.py:17 msgid "Commit changes" msgstr "Зафиксируйте изменения" -#: extras/forms/scripts.py:19 +#: extras/forms/scripts.py:18 msgid "Commit changes to the database (uncheck for a dry-run)" msgstr "" "Зафиксируйте изменения в базе данных (снимите флажок для пробного запуска)" -#: extras/forms/scripts.py:25 +#: extras/forms/scripts.py:24 msgid "Schedule execution of script to a set time" msgstr "Запланируйте выполнение скрипта на заданное время" -#: extras/forms/scripts.py:34 +#: extras/forms/scripts.py:33 msgid "Interval at which this script is re-run (in minutes)" msgstr "Интервал повторного запуска этого скрипта (в минутах)" @@ -6880,34 +7144,34 @@ msgstr "шаблон конфигурации" msgid "config templates" msgstr "шаблоны конфигураций" -#: extras/models/customfields.py:72 +#: extras/models/customfields.py:73 msgid "The object(s) to which this field applies." msgstr "Объекты, к которым относится это поле." -#: extras/models/customfields.py:79 +#: extras/models/customfields.py:80 msgid "The type of data this custom field holds" msgstr "Тип данных, которые содержит это настраиваемое поле" -#: extras/models/customfields.py:86 +#: extras/models/customfields.py:87 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "Тип объекта NetBox, которому соответствует это поле (для полей объектов)" -#: extras/models/customfields.py:92 +#: extras/models/customfields.py:93 msgid "Internal field name" msgstr "Имя внутреннего поля" -#: extras/models/customfields.py:96 +#: extras/models/customfields.py:97 msgid "Only alphanumeric characters and underscores are allowed." msgstr "Допустимы только буквенно-цифровые символы и символы подчеркивания." -#: extras/models/customfields.py:101 +#: extras/models/customfields.py:102 msgid "Double underscores are not permitted in custom field names." msgstr "" "В именах настраиваемых полей недопустимо использовать два подчеркивания " "подряд (зарезервировано)." -#: extras/models/customfields.py:112 +#: extras/models/customfields.py:113 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -6915,19 +7179,19 @@ msgstr "" "Имя поля, отображаемое пользователям (если оно не указано, будет " "использовано имя поля)" -#: extras/models/customfields.py:116 extras/models/models.py:347 +#: extras/models/customfields.py:117 extras/models/models.py:345 msgid "group name" msgstr "имя группы" -#: extras/models/customfields.py:119 +#: extras/models/customfields.py:120 msgid "Custom fields within the same group will be displayed together" msgstr "Настраиваемые поля в одной группе будут отображаться вместе" -#: extras/models/customfields.py:127 +#: extras/models/customfields.py:128 msgid "required" msgstr "Требуется" -#: extras/models/customfields.py:129 +#: extras/models/customfields.py:130 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -6935,11 +7199,11 @@ msgstr "" "Если это правда, это поле обязательно для создания новых объектов или " "редактирования существующего объекта." -#: extras/models/customfields.py:132 +#: extras/models/customfields.py:133 msgid "search weight" msgstr "вес поиска" -#: extras/models/customfields.py:135 +#: extras/models/customfields.py:136 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -6947,11 +7211,11 @@ msgstr "" "Взвешивание для поиска. Более низкие значения считаются более важными. Поля " "с нулевым весом поиска будут проигнорированы." -#: extras/models/customfields.py:140 +#: extras/models/customfields.py:141 msgid "filter logic" msgstr "логика фильтрации" -#: extras/models/customfields.py:144 +#: extras/models/customfields.py:145 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -6959,11 +7223,11 @@ msgstr "" "Loose соответствует любому экземпляру заданной строки; точно соответствует " "всему полю." -#: extras/models/customfields.py:147 +#: extras/models/customfields.py:148 msgid "default" msgstr "по умолчанию" -#: extras/models/customfields.py:151 +#: extras/models/customfields.py:152 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -6971,35 +7235,35 @@ msgstr "" "Значение по умолчанию для поля (должно быть JSON-значением). Заключайте " "строки в двойные кавычки (например, «Foo»)." -#: extras/models/customfields.py:156 +#: extras/models/customfields.py:157 msgid "display weight" msgstr "вес дисплея" -#: extras/models/customfields.py:157 +#: extras/models/customfields.py:158 msgid "Fields with higher weights appear lower in a form." msgstr "Поля с большим весом отображаются в форме ниже." -#: extras/models/customfields.py:162 +#: extras/models/customfields.py:163 msgid "minimum value" msgstr "минимальное значение" -#: extras/models/customfields.py:163 +#: extras/models/customfields.py:164 msgid "Minimum allowed value (for numeric fields)" msgstr "Минимальное допустимое значение (для числовых полей)" -#: extras/models/customfields.py:168 +#: extras/models/customfields.py:169 msgid "maximum value" msgstr "максимальное значение" -#: extras/models/customfields.py:169 +#: extras/models/customfields.py:170 msgid "Maximum allowed value (for numeric fields)" msgstr "Максимально допустимое значение (для числовых полей)" -#: extras/models/customfields.py:175 +#: extras/models/customfields.py:176 msgid "validation regex" msgstr "регулярное выражение валидации" -#: extras/models/customfields.py:177 +#: extras/models/customfields.py:178 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7010,177 +7274,177 @@ msgstr "" " ^ и $ для принудительного сопоставления всей строки. Например, ^ " "[A-Z]{3}$ ограничит значения ровно тремя заглавными буквами." -#: extras/models/customfields.py:185 +#: extras/models/customfields.py:186 msgid "choice set" msgstr "набор для выбора" -#: extras/models/customfields.py:194 +#: extras/models/customfields.py:195 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Указывает, отображается ли настраиваемое поле в пользовательском интерфейсе" -#: extras/models/customfields.py:201 +#: extras/models/customfields.py:202 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Указывает, можно ли редактировать значение настраиваемого поля в " "пользовательском интерфейсе" -#: extras/models/customfields.py:205 +#: extras/models/customfields.py:206 msgid "is cloneable" msgstr "клонируется" -#: extras/models/customfields.py:206 +#: extras/models/customfields.py:207 msgid "Replicate this value when cloning objects" msgstr "Реплицируйте это значение при клонировании объектов" -#: extras/models/customfields.py:219 +#: extras/models/customfields.py:224 msgid "custom field" msgstr "настраиваемое поле" -#: extras/models/customfields.py:220 +#: extras/models/customfields.py:225 msgid "custom fields" msgstr "настраиваемые поля" -#: extras/models/customfields.py:309 +#: extras/models/customfields.py:314 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Неверное значение по умолчанию»{value}«: {error}" -#: extras/models/customfields.py:316 +#: extras/models/customfields.py:321 msgid "A minimum value may be set only for numeric fields" msgstr "Минимальное значение может быть установлено только для числовых полей" -#: extras/models/customfields.py:318 +#: extras/models/customfields.py:323 msgid "A maximum value may be set only for numeric fields" msgstr "" "Максимальное значение может быть установлено только для числовых полей" -#: extras/models/customfields.py:328 +#: extras/models/customfields.py:333 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "Проверка регулярных выражений поддерживается только для текстовых полей и " "полей URL" -#: extras/models/customfields.py:338 +#: extras/models/customfields.py:343 msgid "Selection fields must specify a set of choices." msgstr "В полях выбора должен быть указан набор вариантов." -#: extras/models/customfields.py:342 +#: extras/models/customfields.py:347 msgid "Choices may be set only on selection fields." msgstr "Варианты могут быть заданы только в полях выбора." -#: extras/models/customfields.py:349 +#: extras/models/customfields.py:354 msgid "Object fields must define an object type." msgstr "Поля объекта должны определять тип объекта." -#: extras/models/customfields.py:354 +#: extras/models/customfields.py:359 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} поля не могут определять тип объекта." -#: extras/models/customfields.py:434 +#: extras/models/customfields.py:439 msgid "True" msgstr "Истина" -#: extras/models/customfields.py:435 +#: extras/models/customfields.py:440 msgid "False" msgstr "Ложь" -#: extras/models/customfields.py:517 +#: extras/models/customfields.py:522 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Значения должны соответствовать этому регулярному вырагу: " "{regex}" -#: extras/models/customfields.py:611 +#: extras/models/customfields.py:616 msgid "Value must be a string." msgstr "Значение должно быть строкой." -#: extras/models/customfields.py:613 +#: extras/models/customfields.py:618 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "Значение должно совпадать с регулярным выраженностью '{regex}'" -#: extras/models/customfields.py:618 +#: extras/models/customfields.py:623 msgid "Value must be an integer." msgstr "Значение должно быть целым числом." -#: extras/models/customfields.py:621 extras/models/customfields.py:636 +#: extras/models/customfields.py:626 extras/models/customfields.py:641 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "Значение должно быть не менее {minimum}" -#: extras/models/customfields.py:625 extras/models/customfields.py:640 +#: extras/models/customfields.py:630 extras/models/customfields.py:645 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "Значение не должно превышать {maximum}" -#: extras/models/customfields.py:633 +#: extras/models/customfields.py:638 msgid "Value must be a decimal." msgstr "Значение должно быть десятичным." -#: extras/models/customfields.py:645 +#: extras/models/customfields.py:650 msgid "Value must be true or false." msgstr "Значение должно быть истинным или ложным." -#: extras/models/customfields.py:653 +#: extras/models/customfields.py:658 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "Значения дат должны быть в формате ISO 8601 (YYYY-MM-DD)." -#: extras/models/customfields.py:662 +#: extras/models/customfields.py:667 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Значения даты и времени должны быть в формате ISO 8601 (YYYY-MM-DD " "HH:MM:SS)." -#: extras/models/customfields.py:669 +#: extras/models/customfields.py:674 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Неверный выбор ({value}2) для выбора набора {choiceset}." -#: extras/models/customfields.py:679 +#: extras/models/customfields.py:684 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Неверный выбор (ы){value}2) для выбора набора {choiceset}." -#: extras/models/customfields.py:688 +#: extras/models/customfields.py:693 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "Значение должно быть идентификатором объекта, а не {type}" -#: extras/models/customfields.py:694 +#: extras/models/customfields.py:699 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "Значение должно быть списком идентификаторов объектов, а не {type}" -#: extras/models/customfields.py:698 +#: extras/models/customfields.py:703 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "Обнаружен неправильный идентификатор объекта: {id}" -#: extras/models/customfields.py:701 +#: extras/models/customfields.py:706 msgid "Required field cannot be empty." msgstr "Обязательное поле не может быть пустым." -#: extras/models/customfields.py:720 +#: extras/models/customfields.py:725 msgid "Base set of predefined choices (optional)" msgstr "Базовый набор предопределенных вариантов (опционально)" -#: extras/models/customfields.py:732 +#: extras/models/customfields.py:737 msgid "Choices are automatically ordered alphabetically" msgstr "Варианты автоматически упорядочены в алфавитном порядке" -#: extras/models/customfields.py:739 +#: extras/models/customfields.py:744 msgid "custom field choice set" msgstr "набор вариантов для настраиваемых полей" -#: extras/models/customfields.py:740 +#: extras/models/customfields.py:745 msgid "custom field choice sets" msgstr "наборы вариантов для настраиваемых полей" -#: extras/models/customfields.py:776 +#: extras/models/customfields.py:781 msgid "Must define base or extra choices." msgstr "Должен определить базовые или дополнительные варианты." @@ -7200,80 +7464,80 @@ msgstr "панель управления" msgid "dashboards" msgstr "панели управления" -#: extras/models/models.py:49 +#: extras/models/models.py:51 msgid "object types" msgstr "типы объектов" -#: extras/models/models.py:50 +#: extras/models/models.py:52 msgid "The object(s) to which this rule applies." msgstr "Объект (объекты), к которым применяется данное правило." -#: extras/models/models.py:63 +#: extras/models/models.py:65 msgid "on create" msgstr "при создании" -#: extras/models/models.py:65 +#: extras/models/models.py:67 msgid "Triggers when a matching object is created." msgstr "Срабатывает при создании совпадающего объекта." -#: extras/models/models.py:68 +#: extras/models/models.py:70 msgid "on update" msgstr "при обновлении" -#: extras/models/models.py:70 +#: extras/models/models.py:72 msgid "Triggers when a matching object is updated." msgstr "Срабатывает при обновлении совпадающего объекта." -#: extras/models/models.py:73 +#: extras/models/models.py:75 msgid "on delete" msgstr "при удалении" -#: extras/models/models.py:75 +#: extras/models/models.py:77 msgid "Triggers when a matching object is deleted." msgstr "Срабатывает при удалении совпадающего объекта." -#: extras/models/models.py:78 +#: extras/models/models.py:80 msgid "on job start" msgstr "при начале работы" -#: extras/models/models.py:80 +#: extras/models/models.py:82 msgid "Triggers when a job for a matching object is started." msgstr "Срабатывает при запуске задания для совпадающего объекта." -#: extras/models/models.py:83 +#: extras/models/models.py:85 msgid "on job end" msgstr "по окончании работы" -#: extras/models/models.py:85 +#: extras/models/models.py:87 msgid "Triggers when a job for a matching object terminates." msgstr "Срабатывает, когда задание на совпадающий объект завершается." -#: extras/models/models.py:92 +#: extras/models/models.py:94 msgid "conditions" msgstr "условия" -#: extras/models/models.py:95 +#: extras/models/models.py:97 msgid "" "A set of conditions which determine whether the event will be generated." msgstr "Набор условий, определяющих, будет ли создано событие." -#: extras/models/models.py:103 +#: extras/models/models.py:105 msgid "action type" msgstr "тип действия" -#: extras/models/models.py:126 +#: extras/models/models.py:124 msgid "Additional data to pass to the action object" msgstr "Дополнительные данные для передачи объекту действия" -#: extras/models/models.py:138 +#: extras/models/models.py:136 msgid "event rule" msgstr "правило события" -#: extras/models/models.py:139 +#: extras/models/models.py:137 msgid "event rules" msgstr "правила мероприятия" -#: extras/models/models.py:155 +#: extras/models/models.py:153 msgid "" "At least one event type must be selected: create, update, delete, job start," " and/or job end." @@ -7281,7 +7545,7 @@ msgstr "" "Необходимо выбрать хотя бы один тип события: создание, обновление, удаление," " начало задания и/или завершение задания." -#: extras/models/models.py:196 +#: extras/models/models.py:194 msgid "" "This URL will be called using the HTTP method defined when the webhook is " "called. Jinja2 template processing is supported with the same context as the" @@ -7291,7 +7555,7 @@ msgstr "" "вызове веб-хука. Обработка шаблона Jinja2 поддерживается в том же контексте," " что и тело запроса." -#: extras/models/models.py:211 +#: extras/models/models.py:209 msgid "" "The complete list of official content types is available здесь." -#: extras/models/models.py:216 +#: extras/models/models.py:214 msgid "additional headers" msgstr "дополнительные заголовки" -#: extras/models/models.py:219 +#: extras/models/models.py:217 msgid "" "User-supplied HTTP headers to be sent with the request in addition to the " "HTTP content type. Headers should be defined in the format Name: " @@ -7317,11 +7581,11 @@ msgstr "" "быть определены в формате Название: Значение. Обработка шаблона" " Jinja2 поддерживается в том же контексте, что и тело запроса (см. ниже)." -#: extras/models/models.py:225 +#: extras/models/models.py:223 msgid "body template" msgstr "шаблон тела" -#: extras/models/models.py:228 +#: extras/models/models.py:226 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " @@ -7333,11 +7597,11 @@ msgstr "" "event, model, timestamp, " "username, request_id, и data." -#: extras/models/models.py:234 +#: extras/models/models.py:232 msgid "secret" msgstr "секретный" -#: extras/models/models.py:238 +#: extras/models/models.py:236 msgid "" "When provided, the request will include a X-Hook-Signature " "header containing a HMAC hex digest of the payload body using the secret as " @@ -7348,15 +7612,15 @@ msgstr "" " нагрузки в формате HMAC, в котором в качестве ключа используется секрет. " "Секрет не передается в запросе." -#: extras/models/models.py:245 +#: extras/models/models.py:243 msgid "Enable SSL certificate verification. Disable with caution!" msgstr "Включите проверку сертификата SSL. Отключайте с осторожностью!" -#: extras/models/models.py:251 templates/extras/webhook.html:62 +#: extras/models/models.py:249 templates/extras/webhook.html:51 msgid "CA File Path" msgstr "Путь к файлу CA" -#: extras/models/models.py:253 +#: extras/models/models.py:251 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to" " use the system defaults." @@ -7364,63 +7628,63 @@ msgstr "" "Конкретный файл сертификата CA, используемый для проверки SSL. Оставьте поле" " пустым, чтобы использовать системные настройки по умолчанию." -#: extras/models/models.py:264 +#: extras/models/models.py:262 msgid "webhook" msgstr "вебхук" -#: extras/models/models.py:265 +#: extras/models/models.py:263 msgid "webhooks" msgstr "вебхуки" -#: extras/models/models.py:283 +#: extras/models/models.py:281 msgid "Do not specify a CA certificate file if SSL verification is disabled." msgstr "Не указывайте файл сертификата CA, если проверка SSL отключена." -#: extras/models/models.py:323 +#: extras/models/models.py:321 msgid "The object type(s) to which this link applies." msgstr "Тип (ы) объекта, к которому относится эта ссылка." -#: extras/models/models.py:335 +#: extras/models/models.py:333 msgid "link text" msgstr "текст ссылки" -#: extras/models/models.py:336 +#: extras/models/models.py:334 msgid "Jinja2 template code for link text" msgstr "Код Jinja2 шаблона для текста ссылки" -#: extras/models/models.py:339 +#: extras/models/models.py:337 msgid "link URL" msgstr "URL-адрес ссылки" -#: extras/models/models.py:340 +#: extras/models/models.py:338 msgid "Jinja2 template code for link URL" msgstr "Код Jinja2 шаблона для URL-адреса" -#: extras/models/models.py:350 +#: extras/models/models.py:348 msgid "Links with the same group will appear as a dropdown menu" msgstr "Ссылки с той же группой появятся в выпадающем меню" -#: extras/models/models.py:360 +#: extras/models/models.py:358 msgid "new window" msgstr "новое окно" -#: extras/models/models.py:362 +#: extras/models/models.py:360 msgid "Force link to open in a new window" msgstr "Принудительно открыть ссылку в новом окне" -#: extras/models/models.py:371 +#: extras/models/models.py:369 msgid "custom link" msgstr "настраиваемая ссылка" -#: extras/models/models.py:372 +#: extras/models/models.py:370 msgid "custom links" msgstr "настраиваемые ссылки" -#: extras/models/models.py:419 +#: extras/models/models.py:417 msgid "The object type(s) to which this template applies." msgstr "Тип (типы) объектов, к которым применим этот шаблон." -#: extras/models/models.py:432 +#: extras/models/models.py:430 msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." @@ -7428,144 +7692,148 @@ msgstr "" "Код Jinja2 шаблона. Список экспортируемых объектов передается в виде " "контекстной переменной с именем queryset." -#: extras/models/models.py:440 +#: extras/models/models.py:438 msgid "Defaults to text/plain; charset=utf-8" msgstr "По умолчанию текстовый/обычный; кодировка=utf-8" -#: extras/models/models.py:443 +#: extras/models/models.py:441 msgid "file extension" msgstr "расширение файла" -#: extras/models/models.py:446 +#: extras/models/models.py:444 msgid "Extension to append to the rendered filename" msgstr "Расширение для добавления к отображаемому имени файла" -#: extras/models/models.py:449 +#: extras/models/models.py:447 msgid "as attachment" msgstr "в качестве вложения" -#: extras/models/models.py:451 +#: extras/models/models.py:449 msgid "Download file as attachment" msgstr "Загрузить файл в виде вложения" -#: extras/models/models.py:460 +#: extras/models/models.py:458 msgid "export template" msgstr "шаблон экспорта" -#: extras/models/models.py:461 +#: extras/models/models.py:459 msgid "export templates" msgstr "шаблоны экспорта" -#: extras/models/models.py:478 +#: extras/models/models.py:476 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." msgstr "«{name}\"— зарезервированное имя. Пожалуйста, выберите другое имя." -#: extras/models/models.py:528 +#: extras/models/models.py:526 msgid "The object type(s) to which this filter applies." msgstr "Тип (типы) объектов, к которым применяется этот фильтр." -#: extras/models/models.py:560 +#: extras/models/models.py:558 msgid "shared" msgstr "общий" -#: extras/models/models.py:573 +#: extras/models/models.py:571 msgid "saved filter" msgstr "сохраненный фильтр" -#: extras/models/models.py:574 +#: extras/models/models.py:572 msgid "saved filters" msgstr "сохраненные фильтры" -#: extras/models/models.py:592 +#: extras/models/models.py:590 msgid "Filter parameters must be stored as a dictionary of keyword arguments." msgstr "" "Параметры фильтра должны храниться в виде словаря аргументов ключевых слов." -#: extras/models/models.py:620 +#: extras/models/models.py:618 msgid "image height" msgstr "высота изображения" -#: extras/models/models.py:623 +#: extras/models/models.py:621 msgid "image width" msgstr "ширина изображения" -#: extras/models/models.py:640 +#: extras/models/models.py:638 msgid "image attachment" msgstr "прикрепить изображение" -#: extras/models/models.py:641 +#: extras/models/models.py:639 msgid "image attachments" msgstr "прикрепленные изображения" -#: extras/models/models.py:655 +#: extras/models/models.py:653 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." msgstr "Вложенные изображения нельзя присвоить этому типу объекта ({type})." -#: extras/models/models.py:718 +#: extras/models/models.py:716 msgid "kind" msgstr "добрый" -#: extras/models/models.py:732 +#: extras/models/models.py:730 msgid "journal entry" msgstr "запись в журнале" -#: extras/models/models.py:733 +#: extras/models/models.py:731 msgid "journal entries" msgstr "записи в журнале" -#: extras/models/models.py:748 +#: extras/models/models.py:746 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." msgstr "Ведение журнала не поддерживается для этого типа объектов ({type})." -#: extras/models/models.py:790 +#: extras/models/models.py:788 msgid "bookmark" msgstr "закладка" -#: extras/models/models.py:791 +#: extras/models/models.py:789 msgid "bookmarks" msgstr "закладки" -#: extras/models/models.py:804 +#: extras/models/models.py:802 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." msgstr "Закладки нельзя присвоить этому типу объекта ({type})." -#: extras/models/reports.py:46 -msgid "report module" -msgstr "модуль отчетов" +#: extras/models/scripts.py:42 +msgid "is executable" +msgstr "является исполняемым" -#: extras/models/reports.py:47 -msgid "report modules" -msgstr "модули отчетов" +#: extras/models/scripts.py:64 +msgid "script" +msgstr "сценарий" -#: extras/models/scripts.py:46 +#: extras/models/scripts.py:65 +msgid "scripts" +msgstr "сценарии" + +#: extras/models/scripts.py:110 msgid "script module" msgstr "скриптовый модуль" -#: extras/models/scripts.py:47 +#: extras/models/scripts.py:111 msgid "script modules" msgstr "скриптовые модули" -#: extras/models/search.py:24 +#: extras/models/search.py:22 msgid "timestamp" msgstr "отметка времени" -#: extras/models/search.py:39 +#: extras/models/search.py:37 msgid "field" msgstr "сфера" -#: extras/models/search.py:47 +#: extras/models/search.py:45 msgid "value" msgstr "значение" -#: extras/models/search.py:58 +#: extras/models/search.py:56 msgid "cached value" msgstr "кэшированное значение" -#: extras/models/search.py:59 +#: extras/models/search.py:57 msgid "cached values" msgstr "кэшированные значения" @@ -7605,147 +7873,222 @@ msgstr "помеченный товар" msgid "tagged items" msgstr "помеченные товары" -#: extras/scripts.py:360 -msgid "The script must define a run() method." -msgstr "Скрипт должен определять метод run ()." - -#: extras/scripts.py:371 +#: extras/scripts.py:439 msgid "Script Data" msgstr "Данные сценария" -#: extras/scripts.py:375 +#: extras/scripts.py:443 msgid "Script Execution Parameters" msgstr "Параметры выполнения сценария" -#: extras/signals.py:121 +#: extras/scripts.py:662 +msgid "Database changes have been reverted automatically." +msgstr "Изменения в базе данных были автоматически отменены." + +#: extras/scripts.py:675 +msgid "Script aborted with error: " +msgstr "Скрипт прерван с ошибкой: " + +#: extras/scripts.py:685 +msgid "An exception occurred: " +msgstr "Возникло исключение: " + +#: extras/scripts.py:688 +msgid "Database changes have been reverted due to error." +msgstr "Изменения в базе данных отменены из-за ошибки." + +#: extras/signals.py:146 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "Удаление предотвращается правилом защиты: {message}" -#: extras/tables/tables.py:44 extras/tables/tables.py:119 -#: extras/tables/tables.py:143 extras/tables/tables.py:208 -#: extras/tables/tables.py:285 -msgid "Content Types" -msgstr "Типы контента" - -#: extras/tables/tables.py:50 -msgid "Visible" -msgstr "Видимый" - -#: extras/tables/tables.py:53 -msgid "Editable" -msgstr "Редактируемый" - -#: extras/tables/tables.py:60 templates/extras/customfield.html:48 -msgid "Choice Set" -msgstr "Набор для выбора" - -#: extras/tables/tables.py:68 -msgid "Is Cloneable" -msgstr "Можно ли клонировать" - -#: extras/tables/tables.py:98 -msgid "Count" -msgstr "Сосчитайте" - -#: extras/tables/tables.py:101 -msgid "Order Alphabetically" -msgstr "Упорядочить в алфавитном порядке" - -#: extras/tables/tables.py:125 templates/extras/customlink.html:34 -msgid "New Window" -msgstr "Новое окно" - -#: extras/tables/tables.py:146 -msgid "As Attachment" -msgstr "В качестве вложения" - -#: extras/tables/tables.py:153 extras/tables/tables.py:372 -#: extras/tables/tables.py:407 templates/core/datafile.html:32 -#: templates/dcim/device/render_config.html:23 -#: templates/extras/configcontext.html:40 -#: templates/extras/configtemplate.html:32 -#: templates/extras/exporttemplate.html:51 -#: templates/generic/bulk_import.html:30 -#: templates/virtualization/virtualmachine/render_config.html:23 -msgid "Data File" -msgstr "Файл данных" - -#: extras/tables/tables.py:158 extras/tables/tables.py:384 -#: extras/tables/tables.py:412 -msgid "Synced" -msgstr "Синхронизировано" - -#: extras/tables/tables.py:178 -msgid "Content Type" -msgstr "Тип контента" - -#: extras/tables/tables.py:185 -msgid "Image" -msgstr "Изображение" - -#: extras/tables/tables.py:190 -msgid "Size (Bytes)" -msgstr "Размер (байты)" - -#: extras/tables/tables.py:233 extras/tables/tables.py:331 -#: templates/extras/customfield.html:96 templates/extras/eventrule.html:32 -#: templates/users/objectpermission.html:68 users/tables.py:83 +#: extras/tables/tables.py:46 extras/tables/tables.py:124 +#: extras/tables/tables.py:148 extras/tables/tables.py:213 +#: extras/tables/tables.py:238 extras/tables/tables.py:290 +#: extras/tables/tables.py:336 templates/extras/customfield.html:93 +#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64 +#: users/tables.py:80 msgid "Object Types" msgstr "Типы объектов" -#: extras/tables/tables.py:255 +#: extras/tables/tables.py:52 +msgid "Visible" +msgstr "Видимый" + +#: extras/tables/tables.py:55 +msgid "Editable" +msgstr "Редактируемый" + +#: extras/tables/tables.py:61 +msgid "Related Object Type" +msgstr "Тип связанного объекта" + +#: extras/tables/tables.py:65 templates/extras/customfield.html:47 +msgid "Choice Set" +msgstr "Набор для выбора" + +#: extras/tables/tables.py:73 +msgid "Is Cloneable" +msgstr "Можно ли клонировать" + +#: extras/tables/tables.py:103 +msgid "Count" +msgstr "Сосчитайте" + +#: extras/tables/tables.py:106 +msgid "Order Alphabetically" +msgstr "Упорядочить в алфавитном порядке" + +#: extras/tables/tables.py:130 templates/extras/customlink.html:33 +msgid "New Window" +msgstr "Новое окно" + +#: extras/tables/tables.py:151 +msgid "As Attachment" +msgstr "В качестве вложения" + +#: extras/tables/tables.py:158 extras/tables/tables.py:377 +#: extras/tables/tables.py:412 templates/core/datafile.html:24 +#: templates/dcim/device/render_config.html:22 +#: templates/extras/configcontext.html:39 +#: templates/extras/configtemplate.html:31 +#: templates/extras/exporttemplate.html:45 +#: templates/generic/bulk_import.html:35 +#: templates/virtualization/virtualmachine/render_config.html:22 +msgid "Data File" +msgstr "Файл данных" + +#: extras/tables/tables.py:163 extras/tables/tables.py:389 +#: extras/tables/tables.py:417 +msgid "Synced" +msgstr "Синхронизировано" + +#: extras/tables/tables.py:190 +msgid "Image" +msgstr "Изображение" + +#: extras/tables/tables.py:195 +msgid "Size (Bytes)" +msgstr "Размер (байты)" + +#: extras/tables/tables.py:260 msgid "SSL Validation" msgstr "Валидация SSL" -#: extras/tables/tables.py:300 +#: extras/tables/tables.py:305 msgid "Job Start" msgstr "Начало работы" -#: extras/tables/tables.py:303 +#: extras/tables/tables.py:308 msgid "Job End" msgstr "Завершение задания" -#: extras/tables/tables.py:441 templates/account/profile.html:20 -#: templates/users/user.html:22 +#: extras/tables/tables.py:425 netbox/navigation/menu.py:64 +#: templates/dcim/devicerole.html:8 +msgid "Device Roles" +msgstr "Роли устройств" + +#: extras/tables/tables.py:440 netbox/navigation/menu.py:234 +#: netbox/navigation/menu.py:236 virtualization/views.py:186 +msgid "Virtual Machines" +msgstr "Виртуальные машины" + +#: extras/tables/tables.py:466 templates/account/profile.html:19 +#: templates/users/user.html:21 msgid "Full Name" msgstr "Полное имя" -#: extras/tables/tables.py:458 templates/extras/objectchange.html:72 +#: extras/tables/tables.py:483 templates/extras/objectchange.html:67 msgid "Request ID" msgstr "Идентификатор запроса" -#: extras/tables/tables.py:495 +#: extras/tables/tables.py:520 msgid "Comments (Short)" msgstr "Комментарии (короткие)" -#: extras/validators.py:15 +#: extras/tables/tables.py:539 extras/tables/tables.py:561 +msgid "Line" +msgstr "Линия" + +#: extras/tables/tables.py:546 extras/tables/tables.py:571 +#: extras/tables/tables.py:575 +msgid "Level" +msgstr "Уровень" + +#: extras/tables/tables.py:549 extras/tables/tables.py:585 +msgid "Message" +msgstr "Сообщение" + +#: extras/tables/tables.py:553 extras/tables/tables.py:589 +#: netbox/tables/tables.py:261 +msgid "No results found" +msgstr "Результаты не найдены" + +#: extras/tables/tables.py:564 +msgid "Method" +msgstr "Метод" + +#: extras/validators.py:16 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Убедитесь, что это значение равно %(limit_value)s." -#: extras/validators.py:26 +#: extras/validators.py:27 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Убедитесь, что это значение не равно %(limit_value)s." -#: extras/validators.py:37 +#: extras/validators.py:38 msgid "This field must be empty." msgstr "Это поле должно быть пустым." -#: extras/validators.py:52 +#: extras/validators.py:53 msgid "This field must not be empty." msgstr "Это поле не должно быть пустым." -#: extras/validators.py:121 +#: extras/validators.py:95 +msgid "Validation rules must be passed as a dictionary" +msgstr "Правила валидации должны быть переданы в виде словаря" + +#: extras/validators.py:120 +#, python-brace-format +msgid "Custom validation failed for {attribute}: {exception}" +msgstr "Пользовательская проверка не удалась для {attribute}: {exception}" + +#: extras/validators.py:140 +#, python-brace-format +msgid "Invalid attribute \"{name}\" for request" +msgstr "Неверный атрибут»{name}\"по запросу" + +#: extras/validators.py:157 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Недопустимый атрибут \"{name}\" для {model}" -#: extras/views.py:880 +#: extras/views.py:889 msgid "Your dashboard has been reset." msgstr "Панель управления была перезагружена." +#: extras/views.py:935 +msgid "Added widget: " +msgstr "Добавлен виджет: " + +#: extras/views.py:976 +msgid "Updated widget: " +msgstr "Обновленный виджет: " + +#: extras/views.py:1012 +msgid "Deleted widget: " +msgstr "Удаленный виджет: " + +#: extras/views.py:1014 +msgid "Error deleting widget: " +msgstr "Ошибка при удалении виджета: " + +#: extras/views.py:1081 +msgid "Unable to run script: RQ worker process not running." +msgstr "Невозможно запустить скрипт: рабочий процесс RQ не запущен." + #: ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." msgstr "Введите действительный адрес IPv4 или IPv6 с дополнительной маской." @@ -7764,7 +8107,7 @@ msgstr "Введите действительный префикс и маску msgid "Invalid IP prefix format: {data}" msgstr "Неверный формат IP-префикса: {data}" -#: ipam/api/views.py:383 +#: ipam/api/views.py:358 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" msgstr "Недостаточно места для размещения запрошенных размеров префиксов" @@ -7814,142 +8157,162 @@ msgstr "Обычный текст" msgid "Invalid IP address format: {address}" msgstr "Неверный формат IP-адреса: {address}" -#: ipam/filtersets.py:47 vpn/filtersets.py:276 +#: ipam/filtersets.py:48 vpn/filtersets.py:323 msgid "Import target" msgstr "Цель импорта" -#: ipam/filtersets.py:53 vpn/filtersets.py:282 +#: ipam/filtersets.py:54 vpn/filtersets.py:329 msgid "Import target (name)" msgstr "Цель импорта (имя)" -#: ipam/filtersets.py:58 vpn/filtersets.py:287 +#: ipam/filtersets.py:59 vpn/filtersets.py:334 msgid "Export target" msgstr "Цель экспорта" -#: ipam/filtersets.py:64 vpn/filtersets.py:293 +#: ipam/filtersets.py:65 vpn/filtersets.py:340 msgid "Export target (name)" msgstr "Цель экспорта (имя)" -#: ipam/filtersets.py:85 +#: ipam/filtersets.py:86 msgid "Importing VRF" msgstr "Импорт VRF" -#: ipam/filtersets.py:91 +#: ipam/filtersets.py:92 msgid "Import VRF (RD)" msgstr "Импорт VRF (RD)" -#: ipam/filtersets.py:96 +#: ipam/filtersets.py:97 msgid "Exporting VRF" msgstr "Экспорт VRF" -#: ipam/filtersets.py:102 +#: ipam/filtersets.py:103 msgid "Export VRF (RD)" msgstr "Экспорт VRF (RD)" -#: ipam/filtersets.py:132 ipam/filtersets.py:247 ipam/forms/model_forms.py:229 +#: ipam/filtersets.py:108 +msgid "Importing L2VPN" +msgstr "Импорт L2VPN" + +#: ipam/filtersets.py:114 +msgid "Importing L2VPN (identifier)" +msgstr "Импорт L2VPN (идентификатор)" + +#: ipam/filtersets.py:119 +msgid "Exporting L2VPN" +msgstr "Экспорт L2VPN" + +#: ipam/filtersets.py:125 +msgid "Exporting L2VPN (identifier)" +msgstr "Экспорт L2VPN (идентификатор)" + +#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:227 #: ipam/tables/ip.py:211 templates/ipam/prefix.html:12 msgid "Prefix" msgstr "Префикс" -#: ipam/filtersets.py:136 ipam/filtersets.py:175 ipam/filtersets.py:198 +#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221 msgid "RIR (ID)" msgstr "RIR (ID)" -#: ipam/filtersets.py:142 ipam/filtersets.py:181 ipam/filtersets.py:204 +#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227 msgid "RIR (slug)" msgstr "RIR (подстрока)" -#: ipam/filtersets.py:251 +#: ipam/filtersets.py:285 msgid "Within prefix" msgstr "В префиксе" -#: ipam/filtersets.py:255 +#: ipam/filtersets.py:289 msgid "Within and including prefix" msgstr "В префиксе и включительно" -#: ipam/filtersets.py:259 +#: ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" msgstr "Префиксы, содержащие этот префикс или IP-адрес" -#: ipam/filtersets.py:270 ipam/filtersets.py:538 ipam/forms/bulk_edit.py:326 -#: ipam/forms/filtersets.py:191 ipam/forms/filtersets.py:317 +#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:327 +#: ipam/forms/filtersets.py:195 ipam/forms/filtersets.py:324 msgid "Mask length" msgstr "Длина маски" -#: ipam/filtersets.py:339 vpn/filtersets.py:399 +#: ipam/filtersets.py:373 vpn/filtersets.py:446 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: ipam/filtersets.py:343 vpn/filtersets.py:394 +#: ipam/filtersets.py:377 vpn/filtersets.py:441 msgid "VLAN number (1-4094)" msgstr "Номер VLAN (1-4094)" -#: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 -#: tenancy/forms/bulk_edit.py:112 +#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567 +#: ipam/forms/model_forms.py:452 templates/tenancy/contact.html:53 +#: tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "Адрес" -#: ipam/filtersets.py:445 +#: ipam/filtersets.py:479 msgid "Ranges which contain this prefix or IP" msgstr "Диапазоны, содержащие этот префикс или IP-адрес" -#: ipam/filtersets.py:473 ipam/filtersets.py:529 +#: ipam/filtersets.py:507 ipam/filtersets.py:563 msgid "Parent prefix" msgstr "Родительский префикс" -#: ipam/filtersets.py:582 ipam/filtersets.py:812 ipam/filtersets.py:1042 -#: vpn/filtersets.py:357 +#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1091 +#: vpn/filtersets.py:404 msgid "Virtual machine (name)" msgstr "Виртуальная машина (имя)" -#: ipam/filtersets.py:587 ipam/filtersets.py:817 ipam/filtersets.py:1036 +#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1085 #: virtualization/filtersets.py:278 virtualization/filtersets.py:317 -#: vpn/filtersets.py:362 +#: vpn/filtersets.py:409 msgid "Virtual machine (ID)" msgstr "Виртуальная машина (ID)" -#: ipam/filtersets.py:593 vpn/filtersets.py:97 vpn/filtersets.py:368 +#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:415 msgid "Interface (name)" msgstr "Интерфейс (имя)" -#: ipam/filtersets.py:598 vpn/filtersets.py:102 vpn/filtersets.py:373 -msgid "Interface (ID)" -msgstr "Интерфейс (ID)" - -#: ipam/filtersets.py:604 vpn/filtersets.py:108 vpn/filtersets.py:379 +#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:426 msgid "VM interface (name)" msgstr "Интерфейс виртуальной машины (имя)" -#: ipam/filtersets.py:609 vpn/filtersets.py:113 +#: ipam/filtersets.py:643 vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "Интерфейс виртуальной машины (ID)" -#: ipam/filtersets.py:614 +#: ipam/filtersets.py:648 msgid "FHRP group (ID)" msgstr "FHRP группа (ID)" -#: ipam/filtersets.py:618 +#: ipam/filtersets.py:652 msgid "Is assigned to an interface" msgstr "Присваивается интерфейсу" -#: ipam/filtersets.py:622 +#: ipam/filtersets.py:656 msgid "Is assigned" msgstr "Назначено" -#: ipam/filtersets.py:1047 +#: ipam/filtersets.py:668 +msgid "Service (ID)" +msgstr "Услуга (ID)" + +#: ipam/filtersets.py:673 +msgid "NAT inside IP address (ID)" +msgstr "Внутренний IP-адрес (ID) NAT" + +#: ipam/filtersets.py:1096 msgid "IP address (ID)" msgstr "IP-адрес (ID)" -#: ipam/filtersets.py:1053 ipam/models/ip.py:787 +#: ipam/filtersets.py:1102 ipam/models/ip.py:787 msgid "IP address" msgstr "IP-адрес" -#: ipam/filtersets.py:1079 +#: ipam/filtersets.py:1131 msgid "Primary IPv4 (ID)" msgstr "Основной IPv4 (ID)" -#: ipam/filtersets.py:1084 +#: ipam/filtersets.py:1136 msgid "Primary IPv6 (ID)" msgstr "Основной IPv6 (ID)" @@ -7978,116 +8341,116 @@ msgstr "Введите действительный адрес IPv4 или IPv6 msgid "CIDR mask (e.g. /24) is required." msgstr "Требуется маска CIDR (например, /24)." -#: ipam/forms/bulk_create.py:14 +#: ipam/forms/bulk_create.py:13 msgid "Address pattern" msgstr "Шаблон адреса" -#: ipam/forms/bulk_edit.py:47 +#: ipam/forms/bulk_edit.py:48 msgid "Enforce unique space" msgstr "Обеспечить уникальное пространство" -#: ipam/forms/bulk_edit.py:85 +#: ipam/forms/bulk_edit.py:86 msgid "Is private" msgstr "Является частным" -#: ipam/forms/bulk_edit.py:106 ipam/forms/bulk_edit.py:135 -#: ipam/forms/bulk_edit.py:160 ipam/forms/bulk_import.py:88 +#: ipam/forms/bulk_edit.py:107 ipam/forms/bulk_edit.py:136 +#: ipam/forms/bulk_edit.py:161 ipam/forms/bulk_import.py:88 #: ipam/forms/bulk_import.py:108 ipam/forms/bulk_import.py:128 -#: ipam/forms/filtersets.py:109 ipam/forms/filtersets.py:124 -#: ipam/forms/filtersets.py:147 ipam/forms/model_forms.py:93 -#: ipam/forms/model_forms.py:108 ipam/forms/model_forms.py:130 -#: ipam/forms/model_forms.py:148 ipam/models/asns.py:31 +#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125 +#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:94 +#: ipam/forms/model_forms.py:107 ipam/forms/model_forms.py:129 +#: ipam/forms/model_forms.py:147 ipam/models/asns.py:31 #: ipam/models/asns.py:103 ipam/models/ip.py:70 ipam/models/ip.py:89 #: ipam/tables/asn.py:20 ipam/tables/asn.py:45 -#: templates/ipam/aggregate.html:19 templates/ipam/asn.html:28 -#: templates/ipam/asnrange.html:20 templates/ipam/rir.html:20 +#: templates/ipam/aggregate.html:18 templates/ipam/asn.html:27 +#: templates/ipam/asnrange.html:19 templates/ipam/rir.html:19 msgid "RIR" msgstr "RIR" -#: ipam/forms/bulk_edit.py:168 +#: ipam/forms/bulk_edit.py:169 msgid "Date added" msgstr "Дата добавления" -#: ipam/forms/bulk_edit.py:229 +#: ipam/forms/bulk_edit.py:230 msgid "Prefix length" msgstr "Длина префикса" -#: ipam/forms/bulk_edit.py:252 ipam/forms/filtersets.py:236 -#: templates/ipam/prefix.html:86 +#: ipam/forms/bulk_edit.py:253 ipam/forms/filtersets.py:240 +#: templates/ipam/prefix.html:85 msgid "Is a pool" msgstr "Это пул" -#: ipam/forms/bulk_edit.py:257 ipam/forms/bulk_edit.py:301 -#: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 +#: ipam/forms/bulk_edit.py:258 ipam/forms/bulk_edit.py:302 +#: ipam/forms/filtersets.py:247 ipam/forms/filtersets.py:286 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" msgstr "Считать полностью использованным" -#: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 +#: ipam/forms/bulk_edit.py:350 ipam/models/ip.py:771 msgid "DNS name" msgstr "DNS-имя" -#: ipam/forms/bulk_edit.py:370 ipam/forms/bulk_edit.py:569 +#: ipam/forms/bulk_edit.py:371 ipam/forms/bulk_edit.py:572 #: ipam/forms/bulk_import.py:393 ipam/forms/bulk_import.py:477 -#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:376 -#: ipam/forms/filtersets.py:511 templates/ipam/fhrpgroup.html:23 -#: templates/ipam/inc/panels/fhrp_groups.html:11 -#: templates/ipam/service.html:35 templates/ipam/servicetemplate.html:20 +#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:383 +#: ipam/forms/filtersets.py:518 templates/ipam/fhrpgroup.html:22 +#: templates/ipam/inc/panels/fhrp_groups.html:24 +#: templates/ipam/service.html:32 templates/ipam/servicetemplate.html:19 msgid "Protocol" msgstr "протокол" -#: ipam/forms/bulk_edit.py:377 ipam/forms/filtersets.py:383 -#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:27 +#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:390 +#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 msgid "Group ID" msgstr "Идентификатор группы" -#: ipam/forms/bulk_edit.py:382 ipam/forms/filtersets.py:388 -#: wireless/forms/bulk_edit.py:67 wireless/forms/bulk_edit.py:114 +#: ipam/forms/bulk_edit.py:383 ipam/forms/filtersets.py:395 +#: wireless/forms/bulk_edit.py:68 wireless/forms/bulk_edit.py:115 #: wireless/forms/bulk_import.py:62 wireless/forms/bulk_import.py:65 #: wireless/forms/bulk_import.py:104 wireless/forms/bulk_import.py:107 -#: wireless/forms/filtersets.py:53 wireless/forms/filtersets.py:87 +#: wireless/forms/filtersets.py:54 wireless/forms/filtersets.py:88 msgid "Authentication type" msgstr "Тип аутентификации" -#: ipam/forms/bulk_edit.py:387 ipam/forms/filtersets.py:392 +#: ipam/forms/bulk_edit.py:388 ipam/forms/filtersets.py:399 msgid "Authentication key" msgstr "Ключ аутентификации" -#: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 -#: templates/ipam/fhrpgroup.html:51 +#: ipam/forms/bulk_edit.py:405 ipam/forms/filtersets.py:376 +#: ipam/forms/model_forms.py:463 netbox/navigation/menu.py:369 +#: templates/ipam/fhrpgroup.html:49 #: templates/wireless/inc/authentication_attrs.html:5 -#: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 -#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75 -#: wireless/forms/model_forms.py:56 wireless/forms/model_forms.py:161 +#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:138 +#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76 +#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:164 msgid "Authentication" msgstr "аутентификация" -#: ipam/forms/bulk_edit.py:414 +#: ipam/forms/bulk_edit.py:415 msgid "Minimum child VLAN VID" msgstr "Минимальное количество VLAN VID для детей" -#: ipam/forms/bulk_edit.py:420 +#: ipam/forms/bulk_edit.py:421 msgid "Maximum child VLAN VID" msgstr "Максимальный ID дочерней VLAN" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 +#: ipam/forms/bulk_edit.py:429 ipam/forms/model_forms.py:557 msgid "Scope type" msgstr "Тип прицела" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 -#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 +#: ipam/forms/bulk_edit.py:491 ipam/forms/model_forms.py:632 +#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38 msgid "Scope" msgstr "Область применения" -#: ipam/forms/bulk_edit.py:560 +#: ipam/forms/bulk_edit.py:563 msgid "Site & Group" msgstr "Сайт и группа" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 -#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 -#: ipam/tables/services.py:49 templates/ipam/service.html:39 -#: templates/ipam/servicetemplate.html:24 +#: ipam/forms/bulk_edit.py:577 ipam/forms/model_forms.py:696 +#: ipam/forms/model_forms.py:728 ipam/tables/services.py:19 +#: ipam/tables/services.py:49 templates/ipam/service.html:36 +#: templates/ipam/servicetemplate.html:23 msgid "Ports" msgstr "Порты" @@ -8108,15 +8471,15 @@ msgstr "Назначенный RIR" msgid "VLAN's group (if any)" msgstr "Группа VLAN (если есть)" -#: ipam/forms/bulk_import.py:184 ipam/forms/model_forms.py:219 +#: ipam/forms/bulk_import.py:184 ipam/forms/model_forms.py:216 #: ipam/models/vlans.py:214 ipam/tables/ip.py:254 -#: templates/ipam/prefix.html:61 templates/ipam/vlan.html:13 +#: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 -#: templates/vpn/l2vpntermination_edit.html:17 -#: templates/wireless/wirelesslan.html:31 vpn/forms/bulk_import.py:304 -#: vpn/forms/filtersets.py:280 vpn/forms/model_forms.py:433 -#: wireless/forms/bulk_edit.py:54 wireless/forms/bulk_import.py:48 -#: wireless/forms/model_forms.py:49 wireless/models.py:101 +#: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 +#: vpn/forms/filtersets.py:284 vpn/forms/model_forms.py:433 +#: vpn/forms/model_forms.py:452 wireless/forms/bulk_edit.py:55 +#: wireless/forms/bulk_import.py:48 wireless/forms/model_forms.py:48 +#: wireless/models.py:101 msgid "VLAN" msgstr "VLAN" @@ -8125,14 +8488,14 @@ msgid "Parent device of assigned interface (if any)" msgstr "Родительское устройство назначенного интерфейса (если есть)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 -#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 -#: virtualization/forms/bulk_edit.py:325 +#: ipam/forms/model_forms.py:722 virtualization/filtersets.py:284 +#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:200 +#: virtualization/forms/bulk_edit.py:326 #: virtualization/forms/bulk_import.py:146 #: virtualization/forms/bulk_import.py:207 -#: virtualization/forms/filtersets.py:204 -#: virtualization/forms/filtersets.py:240 -#: virtualization/forms/model_forms.py:291 vpn/forms/bulk_import.py:93 +#: virtualization/forms/filtersets.py:208 +#: virtualization/forms/filtersets.py:244 +#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93 #: vpn/forms/bulk_import.py:290 msgid "Virtual machine" msgstr "Виртуальная машина" @@ -8203,144 +8566,151 @@ msgstr "Требуется, если не назначено устройств msgid "{ip} is not assigned to this device/VM." msgstr "{ip} не назначено этому устройству/виртуальной машине." -#: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 +#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:61 +#: netbox/navigation/menu.py:176 vpn/forms/model_forms.py:410 msgid "Route Targets" msgstr "Цели маршрута" -#: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 +#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:48 +#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397 msgid "Import targets" msgstr "Цели импорта" -#: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 +#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:53 +#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402 msgid "Export targets" msgstr "Экспортные цели" -#: ipam/forms/filtersets.py:72 +#: ipam/forms/filtersets.py:73 msgid "Imported by VRF" msgstr "Импортировано компанией VRF" -#: ipam/forms/filtersets.py:77 +#: ipam/forms/filtersets.py:78 msgid "Exported by VRF" msgstr "Экспортируется компанией VRF" -#: ipam/forms/filtersets.py:86 ipam/tables/ip.py:89 templates/ipam/rir.html:33 +#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30 msgid "Private" msgstr "Частное" -#: ipam/forms/filtersets.py:104 ipam/forms/filtersets.py:186 -#: ipam/forms/filtersets.py:261 ipam/forms/filtersets.py:312 +#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:190 +#: ipam/forms/filtersets.py:265 ipam/forms/filtersets.py:319 msgid "Address family" msgstr "Семейство адресов" -#: ipam/forms/filtersets.py:118 templates/ipam/asnrange.html:26 +#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25 msgid "Range" msgstr "Ассортимент" -#: ipam/forms/filtersets.py:127 +#: ipam/forms/filtersets.py:128 msgid "Start" msgstr "Начало" -#: ipam/forms/filtersets.py:131 +#: ipam/forms/filtersets.py:132 msgid "End" msgstr "Конец" -#: ipam/forms/filtersets.py:181 +#: ipam/forms/filtersets.py:185 msgid "Search within" msgstr "Поиск внутри" -#: ipam/forms/filtersets.py:202 ipam/forms/filtersets.py:328 +#: ipam/forms/filtersets.py:206 ipam/forms/filtersets.py:335 msgid "Present in VRF" msgstr "Присутствует в VRF" -#: ipam/forms/filtersets.py:297 +#: ipam/forms/filtersets.py:304 msgid "Device/VM" msgstr "Устройство/виртуальная машина" -#: ipam/forms/filtersets.py:333 +#: ipam/forms/filtersets.py:314 +msgid "Parent Prefix" +msgstr "Родительский префикс" + +#: ipam/forms/filtersets.py:340 msgid "Assigned Device" msgstr "Назначенное устройство" -#: ipam/forms/filtersets.py:338 +#: ipam/forms/filtersets.py:345 msgid "Assigned VM" msgstr "назначенная виртуальная машина" -#: ipam/forms/filtersets.py:352 +#: ipam/forms/filtersets.py:359 msgid "Assigned to an interface" msgstr "Назначено интерфейсу" -#: ipam/forms/filtersets.py:359 templates/ipam/ipaddress.html:54 +#: ipam/forms/filtersets.py:366 templates/ipam/ipaddress.html:51 msgid "DNS Name" msgstr "DNS-имя" -#: ipam/forms/filtersets.py:401 ipam/forms/filtersets.py:494 -#: ipam/models/vlans.py:156 templates/ipam/vlan.html:34 +#: ipam/forms/filtersets.py:408 ipam/forms/filtersets.py:501 +#: ipam/models/vlans.py:156 templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "VLAN ID" -#: ipam/forms/filtersets.py:433 +#: ipam/forms/filtersets.py:440 msgid "Minimum VID" msgstr "Минимальный VID" -#: ipam/forms/filtersets.py:439 +#: ipam/forms/filtersets.py:446 msgid "Maximum VID" msgstr "Максимальное значение VID" -#: ipam/forms/filtersets.py:516 -msgid "Port" -msgstr "Порт" - -#: ipam/forms/filtersets.py:537 ipam/tables/vlans.py:191 -#: templates/ipam/ipaddress_edit.html:47 templates/ipam/service_create.html:22 -#: templates/ipam/service_edit.html:21 -#: templates/virtualization/virtualdisk.html:22 -#: templates/virtualization/virtualmachine.html:13 -#: templates/virtualization/vminterface.html:24 -#: templates/vpn/l2vpntermination_edit.html:27 -#: templates/vpn/tunneltermination.html:26 -#: virtualization/forms/filtersets.py:189 -#: virtualization/forms/filtersets.py:234 -#: virtualization/forms/model_forms.py:223 +#: ipam/forms/filtersets.py:544 ipam/forms/model_forms.py:318 +#: ipam/forms/model_forms.py:750 ipam/forms/model_forms.py:776 +#: ipam/tables/vlans.py:191 templates/virtualization/virtualdisk.html:21 +#: templates/virtualization/virtualmachine.html:12 +#: templates/virtualization/vminterface.html:21 +#: templates/vpn/tunneltermination.html:25 +#: virtualization/forms/filtersets.py:193 +#: virtualization/forms/filtersets.py:238 +#: virtualization/forms/model_forms.py:220 #: virtualization/tables/virtualmachines.py:128 #: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 -#: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 -#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 +#: vpn/forms/filtersets.py:293 vpn/forms/model_forms.py:160 +#: vpn/forms/model_forms.py:171 vpn/forms/model_forms.py:273 +#: vpn/forms/model_forms.py:454 msgid "Virtual Machine" msgstr "Виртуальная машина" -#: ipam/forms/model_forms.py:113 ipam/tables/ip.py:116 -#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:39 +#: ipam/forms/model_forms.py:78 templates/ipam/routetarget.html:10 +msgid "Route Target" +msgstr "Цель маршрута" + +#: ipam/forms/model_forms.py:112 ipam/tables/ip.py:116 +#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 msgid "Aggregate" msgstr "агрегат" -#: ipam/forms/model_forms.py:134 templates/ipam/asnrange.html:12 +#: ipam/forms/model_forms.py:133 templates/ipam/asnrange.html:12 msgid "ASN Range" msgstr "Диапазон ASN" -#: ipam/forms/model_forms.py:230 +#: ipam/forms/model_forms.py:229 msgid "Site/VLAN Assignment" msgstr "Назначение сайта/VLAN" -#: ipam/forms/model_forms.py:256 templates/ipam/iprange.html:11 +#: ipam/forms/model_forms.py:257 templates/ipam/iprange.html:10 msgid "IP Range" msgstr "Диапазон IP-адресов" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 -#: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 +#: ipam/forms/model_forms.py:293 ipam/forms/model_forms.py:319 +#: ipam/forms/model_forms.py:462 templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" msgstr "Группа компаний FHRP" -#: ipam/forms/model_forms.py:300 +#: ipam/forms/model_forms.py:308 msgid "Make this the primary IP for the device/VM" msgstr "Сделайте этот IP-адрес основным для устройства/виртуальной машины" -#: ipam/forms/model_forms.py:351 +#: ipam/forms/model_forms.py:323 +msgid "NAT IP (Inside)" +msgstr "IP-адрес NAT (внутренний)" + +#: ipam/forms/model_forms.py:373 msgid "An IP address can only be assigned to a single object." msgstr "IP-адрес можно присвоить только одному объекту." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 +#: ipam/forms/model_forms.py:379 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8348,32 +8718,32 @@ msgstr "" "Невозможно переназначить IP-адрес, если он назначен основным IP-адресом " "родительского объекта" -#: ipam/forms/model_forms.py:367 +#: ipam/forms/model_forms.py:389 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" "В качестве основных IP-адресов можно назначить только IP-адреса, назначенные" " интерфейсу." -#: ipam/forms/model_forms.py:442 +#: ipam/forms/model_forms.py:464 msgid "Virtual IP Address" msgstr "Виртуальный IP-адрес" -#: ipam/forms/model_forms.py:523 +#: ipam/forms/model_forms.py:549 msgid "Assignment already exists" msgstr "Задание уже существует" -#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 +#: ipam/forms/model_forms.py:628 ipam/forms/model_forms.py:670 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Группа VLAN" -#: ipam/forms/model_forms.py:603 +#: ipam/forms/model_forms.py:629 msgid "Child VLANs" msgstr "Детские сети VLAN" -#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 +#: ipam/forms/model_forms.py:701 ipam/forms/model_forms.py:733 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8381,15 +8751,32 @@ msgstr "" "Список одного или нескольких номеров портов, разделенных запятыми. Диапазон " "можно указать с помощью дефиса." -#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:706 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Шаблон Службы" -#: ipam/forms/model_forms.py:728 +#: ipam/forms/model_forms.py:753 +msgid "Port(s)" +msgstr "Порт(ы)" + +#: ipam/forms/model_forms.py:754 ipam/forms/model_forms.py:782 +#: templates/ipam/service.html:21 +msgid "Service" +msgstr "Служба" + +#: ipam/forms/model_forms.py:767 msgid "Service template" msgstr "Шаблон службы" -#: ipam/forms/model_forms.py:758 +#: ipam/forms/model_forms.py:779 +msgid "From Template" +msgstr "Из шаблона" + +#: ipam/forms/model_forms.py:780 +msgid "Custom" +msgstr "Настраиваемый" + +#: ipam/forms/model_forms.py:810 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8426,7 +8813,7 @@ msgstr "16- или 32-разрядный номер автономной сис msgid "group ID" msgstr "идентификатор группы" -#: ipam/models/fhrp.py:30 ipam/models/services.py:22 +#: ipam/models/fhrp.py:30 ipam/models/services.py:21 msgid "protocol" msgstr "протокол" @@ -8466,7 +8853,7 @@ msgstr "частного" msgid "IP space managed by this RIR is considered private" msgstr "IP-пространство, управляемое этим RIR, считается частным" -#: ipam/models/ip.py:71 netbox/navigation/menu.py:170 +#: ipam/models/ip.py:71 netbox/navigation/menu.py:169 msgid "RIRs" msgstr "RIR's" @@ -8637,7 +9024,7 @@ msgstr "Рабочий статус этого IP-адреса" msgid "The functional role of this IP" msgstr "Функциональная роль этого IP" -#: ipam/models/ip.py:764 templates/ipam/ipaddress.html:75 +#: ipam/models/ip.py:764 templates/ipam/ipaddress.html:72 msgid "NAT (inside)" msgstr "NAT (внутри)" @@ -8649,7 +9036,7 @@ msgstr "IP-адрес, для которого этот адрес являет msgid "Hostname or FQDN (not case-sensitive)" msgstr "Имя хоста или полное доменное имя (без учета регистра)" -#: ipam/models/ip.py:788 ipam/models/services.py:94 +#: ipam/models/ip.py:788 ipam/models/services.py:93 msgid "IP addresses" msgstr "IP-адреса" @@ -8679,36 +9066,36 @@ msgstr "Дубликат IP-адреса обнаружен в {table}: {ipaddre msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Только адресам IPv6 можно присвоить статус SLAAC" -#: ipam/models/services.py:33 +#: ipam/models/services.py:32 msgid "port numbers" msgstr "номера портов" -#: ipam/models/services.py:59 +#: ipam/models/services.py:58 msgid "service template" msgstr "шаблон службы" -#: ipam/models/services.py:60 +#: ipam/models/services.py:59 msgid "service templates" msgstr "шаблоны служб" -#: ipam/models/services.py:95 +#: ipam/models/services.py:94 msgid "The specific IP addresses (if any) to which this service is bound" msgstr "Конкретные IP-адреса (если есть), к которым привязана эта служба" -#: ipam/models/services.py:102 +#: ipam/models/services.py:101 msgid "service" msgstr "служба" -#: ipam/models/services.py:103 +#: ipam/models/services.py:102 msgid "services" msgstr "службы" -#: ipam/models/services.py:117 +#: ipam/models/services.py:116 msgid "" "A service cannot be associated with both a device and a virtual machine." msgstr "Службу нельзя связать как с устройством, так и с виртуальной машиной." -#: ipam/models/services.py:119 +#: ipam/models/services.py:118 msgid "" "A service must be associated with either a device or a virtual machine." msgstr "Служба должна быть связана с устройством или виртуальной машиной." @@ -8768,8 +9155,8 @@ msgid "The primary function of this VLAN" msgstr "Основная функция этой VLAN" #: ipam/models/vlans.py:215 ipam/tables/ip.py:175 ipam/tables/vlans.py:78 -#: ipam/views.py:960 netbox/navigation/menu.py:181 -#: netbox/navigation/menu.py:183 +#: ipam/views.py:959 netbox/navigation/menu.py:180 +#: netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLAN" @@ -8805,8 +9192,8 @@ msgstr "создайте уникальное пространство" msgid "Prevent duplicate prefixes/IP addresses within this VRF" msgstr "Предотвращение дублирования префиксов/IP-адресов в этом VRF" -#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:174 -#: netbox/navigation/menu.py:176 +#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:173 +#: netbox/navigation/menu.py:175 msgid "VRFs" msgstr "VRF" @@ -8834,8 +9221,8 @@ msgstr "Количество сайтов" msgid "Provider Count" msgstr "Количество провайдеров" -#: ipam/tables/ip.py:94 netbox/navigation/menu.py:167 -#: netbox/navigation/menu.py:169 +#: ipam/tables/ip.py:94 netbox/navigation/menu.py:166 +#: netbox/navigation/menu.py:168 msgid "Aggregates" msgstr "Агрегаты" @@ -8844,19 +9231,19 @@ msgid "Added" msgstr "Добавлено" #: ipam/tables/ip.py:127 ipam/tables/ip.py:165 ipam/tables/vlans.py:138 -#: ipam/views.py:349 netbox/navigation/menu.py:153 -#: netbox/navigation/menu.py:155 templates/ipam/vlan.html:87 +#: ipam/views.py:349 netbox/navigation/menu.py:152 +#: netbox/navigation/menu.py:154 templates/ipam/vlan.html:84 msgid "Prefixes" msgstr "Префиксы" #: ipam/tables/ip.py:130 ipam/tables/ip.py:267 ipam/tables/ip.py:320 -#: ipam/tables/vlans.py:82 templates/dcim/device.html:263 -#: templates/ipam/aggregate.html:25 templates/ipam/iprange.html:32 -#: templates/ipam/prefix.html:100 +#: ipam/tables/vlans.py:82 templates/dcim/device.html:252 +#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29 +#: templates/ipam/prefix.html:106 msgid "Utilization" msgstr "Использование" -#: ipam/tables/ip.py:170 netbox/navigation/menu.py:149 +#: ipam/tables/ip.py:170 netbox/navigation/menu.py:148 msgid "IP Ranges" msgstr "Диапазоны IP-адресов" @@ -8864,7 +9251,7 @@ msgstr "Диапазоны IP-адресов" msgid "Prefix (Flat)" msgstr "Префикс (плоский)" -#: ipam/tables/ip.py:224 templates/dcim/rack_edit.html:52 +#: ipam/tables/ip.py:224 msgid "Depth" msgstr "Глубина" @@ -8892,8 +9279,8 @@ msgstr "NAT (за пределами сети)" msgid "Assigned" msgstr "Назначено" -#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:19 -#: vpn/forms/filtersets.py:235 +#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:16 +#: vpn/forms/filtersets.py:240 msgid "Assigned Object" msgstr "Назначенный объект" @@ -8954,23 +9341,23 @@ msgstr "Дочерние префиксы" msgid "Child Ranges" msgstr "Детские диапазоны" -#: ipam/views.py:888 +#: ipam/views.py:887 msgid "Related IPs" msgstr "Связанные IP-адреса" -#: ipam/views.py:1117 +#: ipam/views.py:1115 msgid "Device Interfaces" msgstr "Интерфейсы устройств" -#: ipam/views.py:1135 +#: ipam/views.py:1133 msgid "VM Interfaces" msgstr "Интерфейсы виртуальных машин" -#: netbox/api/fields.py:62 +#: netbox/api/fields.py:63 msgid "This field may not be blank." msgstr "Это поле не может быть пустым." -#: netbox/api/fields.py:66 +#: netbox/api/fields.py:68 msgid "" "Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " "or list." @@ -8978,60 +9365,116 @@ msgstr "" "Значение должно быть передано напрямую (например, «foo»: 123); не " "используйте словарь или список." -#: netbox/api/fields.py:86 +#: netbox/api/fields.py:89 #, python-brace-format msgid "{value} is not a valid choice." msgstr "{value} не является правильным выбором." -#: netbox/api/fields.py:99 +#: netbox/api/fields.py:102 #, python-brace-format msgid "Invalid content type: {content_type}" msgstr "Неверный тип контента: {content_type}" -#: netbox/api/fields.py:100 +#: netbox/api/fields.py:103 msgid "Invalid value. Specify a content type as '.'." msgstr "" "Неверное значение. Укажите тип контента как '.'." -#: netbox/api/serializers/nested.py:35 -#, python-brace-format -msgid "Related object not found using the provided attributes: {params}" -msgstr "" -"Связанный объект не найден с использованием предоставленных атрибутов: " -"{params}" - -#: netbox/api/serializers/nested.py:38 -#, python-brace-format -msgid "Multiple objects match the provided attributes: {params}" -msgstr "Предоставленным атрибутам соответствуют несколько объектов: {params}" - -#: netbox/api/serializers/nested.py:50 -#, python-brace-format -msgid "" -"Related objects must be referenced by numeric ID or by dictionary of " -"attributes. Received an unrecognized value: {value}" -msgstr "" -"На связанные объекты следует ссылаться с помощью числового идентификатора " -"или словаря атрибутов. Получено нераспознанное значение: {value}" - -#: netbox/api/serializers/nested.py:59 -#, python-brace-format -msgid "Related object not found using the provided numeric ID: {id}" -msgstr "" -"Связанный объект не найден с использованием предоставленного числового " -"идентификатора: {id}" - -#: netbox/authentication.py:137 +#: netbox/authentication/__init__.py:138 #, python-brace-format msgid "Invalid permission {permission} for model {model}" msgstr "Неверное разрешение {permission} для модели {model}" +#: netbox/choices.py:49 +msgid "Dark Red" +msgstr "Темно-красный" + +#: netbox/choices.py:52 +msgid "Rose" +msgstr "Роза" + +#: netbox/choices.py:53 +msgid "Fuchsia" +msgstr "Фуксия" + +#: netbox/choices.py:55 +msgid "Dark Purple" +msgstr "Темно-фиолетовый" + +#: netbox/choices.py:58 +msgid "Light Blue" +msgstr "Светло-синий" + +#: netbox/choices.py:61 +msgid "Aqua" +msgstr "Бирюзовый" + +#: netbox/choices.py:62 +msgid "Dark Green" +msgstr "Темно-зеленый" + +#: netbox/choices.py:64 +msgid "Light Green" +msgstr "Светло-зеленый" + +#: netbox/choices.py:65 +msgid "Lime" +msgstr "Лайм" + +#: netbox/choices.py:67 +msgid "Amber" +msgstr "Янтарь" + +#: netbox/choices.py:69 +msgid "Dark Orange" +msgstr "Темно-оранжевый" + +#: netbox/choices.py:70 +msgid "Brown" +msgstr "Коричневый" + +#: netbox/choices.py:71 +msgid "Light Grey" +msgstr "Светло-серый" + +#: netbox/choices.py:72 +msgid "Grey" +msgstr "Серый" + +#: netbox/choices.py:73 +msgid "Dark Grey" +msgstr "Темно-серый" + +#: netbox/choices.py:131 +msgid "Direct" +msgstr "Прямой" + +#: netbox/choices.py:132 +msgid "Upload" +msgstr "Загрузить" + +#: netbox/choices.py:144 netbox/choices.py:158 +msgid "Auto-detect" +msgstr "Автоматическое обнаружение" + +#: netbox/choices.py:159 +msgid "Comma" +msgstr "Запятая" + +#: netbox/choices.py:160 +msgid "Semicolon" +msgstr "Точка с запятой" + +#: netbox/choices.py:161 +msgid "Tab" +msgstr "Вкладка" + #: netbox/config/__init__.py:67 #, python-brace-format msgid "Invalid configuration parameter: {item}" msgstr "Неверный параметр конфигурации: {item}" -#: netbox/config/parameters.py:22 templates/core/configrevision.html:111 +#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 msgid "Login banner" msgstr "Баннер для входа" @@ -9039,7 +9482,7 @@ msgstr "Баннер для входа" msgid "Additional content to display on the login page" msgstr "Дополнительный контент для отображения на странице входа" -#: netbox/config/parameters.py:33 templates/core/configrevision.html:115 +#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 msgid "Maintenance banner" msgstr "Баннер технического обслуживания" @@ -9047,7 +9490,7 @@ msgstr "Баннер технического обслуживания" msgid "Additional content to display when in maintenance mode" msgstr "Дополнительный контент для отображения в режиме обслуживания" -#: netbox/config/parameters.py:44 templates/core/configrevision.html:119 +#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 msgid "Top banner" msgstr "Верхний баннер" @@ -9056,7 +9499,7 @@ msgid "Additional content to display at the top of every page" msgstr "" "Дополнительный контент для отображения в верхней части каждой страницы" -#: netbox/config/parameters.py:55 templates/core/configrevision.html:123 +#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 msgid "Bottom banner" msgstr "Нижний баннер" @@ -9072,7 +9515,7 @@ msgstr "Уникальное в глобальном масштабе IP-про msgid "Enforce unique IP addressing within the global table" msgstr "Обеспечьте уникальную IP-адресацию в глобальной таблице" -#: netbox/config/parameters.py:75 templates/core/configrevision.html:87 +#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 msgid "Prefer IPv4" msgstr "Предпочитаю IPv4" @@ -9121,7 +9564,7 @@ msgstr "Максимальное использование Powerfeed" msgid "Default max utilization for powerfeeds" msgstr "Максимальное использование по умолчанию для Powerfeeds" -#: netbox/config/parameters.py:123 templates/core/configrevision.html:99 +#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 msgid "Allowed URL schemes" msgstr "Разрешенные схемы URL-адресов" @@ -9138,7 +9581,7 @@ msgstr "Размер страницы по умолчанию" msgid "Maximum page size" msgstr "Максимальный размер страницы" -#: netbox/config/parameters.py:150 templates/core/configrevision.html:151 +#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 msgid "Custom validators" msgstr "Настраиваемые валидаторы" @@ -9146,7 +9589,7 @@ msgstr "Настраиваемые валидаторы" msgid "Custom validation rules (JSON)" msgstr "Настраиваемые правила проверки (JSON)" -#: netbox/config/parameters.py:160 templates/core/configrevision.html:161 +#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 msgid "Protection rules" msgstr "Правила защиты" @@ -9154,7 +9597,7 @@ msgstr "Правила защиты" msgid "Deletion protection rules (JSON)" msgstr "Правила защиты от удаления (JSON)" -#: netbox/config/parameters.py:172 +#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 msgid "Default preferences" msgstr "Настройки по умолчанию" @@ -9162,7 +9605,7 @@ msgstr "Настройки по умолчанию" msgid "Default preferences for new users" msgstr "Настройки по умолчанию для новых пользователей" -#: netbox/config/parameters.py:181 templates/core/configrevision.html:197 +#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 msgid "Maintenance mode" msgstr "Режим обслуживания" @@ -9170,7 +9613,7 @@ msgstr "Режим обслуживания" msgid "Enable maintenance mode" msgstr "Включить режим обслуживания" -#: netbox/config/parameters.py:188 templates/core/configrevision.html:201 +#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 msgid "GraphQL enabled" msgstr "GraphQL включен" @@ -9178,7 +9621,7 @@ msgstr "GraphQL включен" msgid "Enable the GraphQL API" msgstr "Включите API GraphQL" -#: netbox/config/parameters.py:195 templates/core/configrevision.html:205 +#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137 msgid "Changelog retention" msgstr "Хранение журнала изменений" @@ -9197,7 +9640,7 @@ msgstr "" "Количество дней для хранения истории результатов работы (нулевое значение не" " ограничено)" -#: netbox/config/parameters.py:209 templates/core/configrevision.html:213 +#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145 msgid "Maps URL" msgstr "URL-адрес карты" @@ -9205,39 +9648,43 @@ msgstr "URL-адрес карты" msgid "Base URL for mapping geographic locations" msgstr "Базовый URL-адрес для картографирования географических местоположений" -#: netbox/forms/__init__.py:13 +#: netbox/forms/__init__.py:12 msgid "Partial match" msgstr "Частичное совпадение" -#: netbox/forms/__init__.py:14 +#: netbox/forms/__init__.py:13 msgid "Exact match" msgstr "Точное совпадение" -#: netbox/forms/__init__.py:15 +#: netbox/forms/__init__.py:14 msgid "Starts with" msgstr "Начинается с" -#: netbox/forms/__init__.py:16 +#: netbox/forms/__init__.py:15 msgid "Ends with" msgstr "Заканчивается на" -#: netbox/forms/__init__.py:17 +#: netbox/forms/__init__.py:16 msgid "Regex" msgstr "Regex" -#: netbox/forms/__init__.py:35 +#: netbox/forms/__init__.py:34 msgid "Object type(s)" msgstr "Тип (ы) объекта" -#: netbox/forms/base.py:77 -msgid "Id" -msgstr "Я" +#: netbox/forms/base.py:88 +msgid "" +"Tag slugs separated by commas, encased with double quotes (e.g. " +"\"tag1,tag2,tag3\")" +msgstr "" +"Метки тегов разделены запятыми и заключены в двойные кавычки (например, " +"«tag1, tag2, tag3\")" -#: netbox/forms/base.py:116 +#: netbox/forms/base.py:118 msgid "Add tags" msgstr "Добавить теги" -#: netbox/forms/base.py:121 +#: netbox/forms/base.py:123 msgid "Remove tags" msgstr "Удалить теги" @@ -9246,395 +9693,382 @@ msgstr "Удалить теги" msgid "{class_name} must specify a model class." msgstr "{class_name} необходимо указать класс модели." -#: netbox/models/features.py:278 +#: netbox/models/features.py:277 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." msgstr "Неизвестное имя поля '{name}' в данных для настраиваемых полей." -#: netbox/models/features.py:284 +#: netbox/models/features.py:283 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" msgstr "Неверное значение для настраиваемого поля '{name}': {error}" -#: netbox/models/features.py:291 +#: netbox/models/features.py:290 #, python-brace-format msgid "Missing required custom field '{name}'." msgstr "Отсутствует обязательное настраиваемое поле '{name}'." -#: netbox/models/features.py:438 +#: netbox/models/features.py:441 msgid "Remote data source" msgstr "Удаленный источник данных" -#: netbox/models/features.py:448 +#: netbox/models/features.py:451 msgid "data path" msgstr "путь к данным" -#: netbox/models/features.py:452 +#: netbox/models/features.py:455 msgid "Path to remote file (relative to data source root)" msgstr "Путь к удаленному файлу (относительно корня источника данных)" -#: netbox/models/features.py:455 +#: netbox/models/features.py:458 msgid "auto sync enabled" msgstr "автоматическая синхронизация включена" -#: netbox/models/features.py:457 +#: netbox/models/features.py:460 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Включить автоматическую синхронизацию данных при обновлении файла данных" -#: netbox/models/features.py:460 +#: netbox/models/features.py:463 msgid "date synced" msgstr "дата синхронизирована" -#: netbox/models/features.py:554 +#: netbox/models/features.py:557 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} должен реализовать метод sync_data ()." -#: netbox/navigation/menu.py:12 +#: netbox/navigation/menu.py:11 msgid "Organization" msgstr "Организация" -#: netbox/navigation/menu.py:20 +#: netbox/navigation/menu.py:19 msgid "Site Groups" msgstr "Группы сайтов" -#: netbox/navigation/menu.py:28 +#: netbox/navigation/menu.py:27 msgid "Rack Roles" msgstr "Роли стоек" -#: netbox/navigation/menu.py:32 +#: netbox/navigation/menu.py:31 msgid "Elevations" msgstr "Возвышения" -#: netbox/navigation/menu.py:41 +#: netbox/navigation/menu.py:40 msgid "Tenant Groups" msgstr "Группы тенантов" -#: netbox/navigation/menu.py:48 +#: netbox/navigation/menu.py:47 msgid "Contact Groups" msgstr "Контактные группы" -#: netbox/navigation/menu.py:49 templates/tenancy/contactrole.html:8 +#: netbox/navigation/menu.py:48 templates/tenancy/contactrole.html:8 msgid "Contact Roles" msgstr "Роли контактов" -#: netbox/navigation/menu.py:50 +#: netbox/navigation/menu.py:49 msgid "Contact Assignments" msgstr "Назначения контактов" -#: netbox/navigation/menu.py:64 +#: netbox/navigation/menu.py:63 msgid "Modules" msgstr "Модули" -#: netbox/navigation/menu.py:65 templates/dcim/devicerole.html:8 -msgid "Device Roles" -msgstr "Роли устройств" - -#: netbox/navigation/menu.py:68 templates/dcim/device.html:162 +#: netbox/navigation/menu.py:67 templates/dcim/device.html:157 #: templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Виртуальные контексты" -#: netbox/navigation/menu.py:76 +#: netbox/navigation/menu.py:75 msgid "Manufacturers" msgstr "Производители" -#: netbox/navigation/menu.py:80 +#: netbox/navigation/menu.py:79 msgid "Device Components" msgstr "Компоненты устройства" -#: netbox/navigation/menu.py:92 templates/dcim/inventoryitemrole.html:8 +#: netbox/navigation/menu.py:91 templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" msgstr "Роли предметов" -#: netbox/navigation/menu.py:99 netbox/navigation/menu.py:103 +#: netbox/navigation/menu.py:98 netbox/navigation/menu.py:102 msgid "Connections" msgstr "Подключения" -#: netbox/navigation/menu.py:105 +#: netbox/navigation/menu.py:104 msgid "Cables" msgstr "Кабели" -#: netbox/navigation/menu.py:106 +#: netbox/navigation/menu.py:105 msgid "Wireless Links" msgstr "Беспроводные каналы" -#: netbox/navigation/menu.py:109 +#: netbox/navigation/menu.py:108 msgid "Interface Connections" msgstr "Интерфейсные подключения" -#: netbox/navigation/menu.py:114 +#: netbox/navigation/menu.py:113 msgid "Console Connections" msgstr "Консольные подключения" -#: netbox/navigation/menu.py:119 +#: netbox/navigation/menu.py:118 msgid "Power Connections" msgstr "Подключения кабелей питания" -#: netbox/navigation/menu.py:135 +#: netbox/navigation/menu.py:134 msgid "Wireless LAN Groups" msgstr "Группы WLAN" -#: netbox/navigation/menu.py:156 +#: netbox/navigation/menu.py:155 msgid "Prefix & VLAN Roles" msgstr "Роли префиксов и VLAN" -#: netbox/navigation/menu.py:162 +#: netbox/navigation/menu.py:161 msgid "ASN Ranges" msgstr "Диапазоны ASN" -#: netbox/navigation/menu.py:184 +#: netbox/navigation/menu.py:183 msgid "VLAN Groups" msgstr "Группы VLAN" -#: netbox/navigation/menu.py:191 +#: netbox/navigation/menu.py:190 msgid "Service Templates" msgstr "Шаблоны Служб" -#: netbox/navigation/menu.py:192 templates/dcim/device.html:304 -#: templates/ipam/ipaddress.html:122 -#: templates/virtualization/virtualmachine.html:157 +#: netbox/navigation/menu.py:191 templates/dcim/device.html:294 +#: templates/ipam/ipaddress.html:118 +#: templates/virtualization/virtualmachine.html:150 msgid "Services" msgstr "Службы" -#: netbox/navigation/menu.py:199 +#: netbox/navigation/menu.py:198 msgid "VPN" msgstr "VPN" -#: netbox/navigation/menu.py:203 netbox/navigation/menu.py:205 +#: netbox/navigation/menu.py:202 netbox/navigation/menu.py:204 #: vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "Туннели" -#: netbox/navigation/menu.py:206 templates/vpn/tunnelgroup.html:8 +#: netbox/navigation/menu.py:205 templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" msgstr "Группы туннелей" -#: netbox/navigation/menu.py:207 +#: netbox/navigation/menu.py:206 msgid "Tunnel Terminations" msgstr "Окончание туннелей" -#: netbox/navigation/menu.py:211 netbox/navigation/menu.py:213 +#: netbox/navigation/menu.py:210 netbox/navigation/menu.py:212 #: vpn/models/l2vpn.py:64 msgid "L2VPNs" msgstr "L2VPN" -#: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 +#: netbox/navigation/menu.py:213 templates/vpn/l2vpn.html:56 +#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Соединения" -#: netbox/navigation/menu.py:220 +#: netbox/navigation/menu.py:219 msgid "IKE Proposals" msgstr "Предложения IKE" -#: netbox/navigation/menu.py:221 templates/vpn/ikeproposal.html:42 +#: netbox/navigation/menu.py:220 templates/vpn/ikeproposal.html:41 msgid "IKE Policies" msgstr "Политики IKE" -#: netbox/navigation/menu.py:222 +#: netbox/navigation/menu.py:221 msgid "IPSec Proposals" msgstr "Предложения IPsec" -#: netbox/navigation/menu.py:223 templates/vpn/ipsecproposal.html:38 +#: netbox/navigation/menu.py:222 templates/vpn/ipsecproposal.html:37 msgid "IPSec Policies" msgstr "Политики IPsec" -#: netbox/navigation/menu.py:224 templates/vpn/ikepolicy.html:39 -#: templates/vpn/ipsecpolicy.html:26 +#: netbox/navigation/menu.py:223 templates/vpn/ikepolicy.html:38 +#: templates/vpn/ipsecpolicy.html:25 msgid "IPSec Profiles" msgstr "Профили IPsec" -#: netbox/navigation/menu.py:231 templates/dcim/device_edit.html:78 +#: netbox/navigation/menu.py:230 templates/dcim/device_edit.html:78 msgid "Virtualization" msgstr "Виртуализация" -#: netbox/navigation/menu.py:235 netbox/navigation/menu.py:237 -#: virtualization/views.py:186 -msgid "Virtual Machines" -msgstr "Виртуальные машины" - -#: netbox/navigation/menu.py:239 -#: templates/virtualization/virtualmachine.html:177 +#: netbox/navigation/menu.py:238 +#: templates/virtualization/virtualmachine.html:170 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 #: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Виртуальные диски" -#: netbox/navigation/menu.py:246 +#: netbox/navigation/menu.py:245 msgid "Cluster Types" msgstr "Типы кластеров" -#: netbox/navigation/menu.py:247 +#: netbox/navigation/menu.py:246 msgid "Cluster Groups" msgstr "Группы кластеров" -#: netbox/navigation/menu.py:261 +#: netbox/navigation/menu.py:260 msgid "Circuit Types" msgstr "Типы каналов связи" -#: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267 +#: netbox/navigation/menu.py:264 netbox/navigation/menu.py:266 msgid "Providers" msgstr "Провайдеры" -#: netbox/navigation/menu.py:268 templates/circuits/provider.html:53 +#: netbox/navigation/menu.py:267 templates/circuits/provider.html:51 msgid "Provider Accounts" msgstr "Аккаунты провайдеров" -#: netbox/navigation/menu.py:269 +#: netbox/navigation/menu.py:268 msgid "Provider Networks" msgstr "Сети провайдеров" -#: netbox/navigation/menu.py:283 +#: netbox/navigation/menu.py:282 msgid "Power Panels" msgstr "Панели питания" -#: netbox/navigation/menu.py:294 +#: netbox/navigation/menu.py:293 msgid "Configurations" msgstr "Конфигурации" -#: netbox/navigation/menu.py:296 +#: netbox/navigation/menu.py:295 msgid "Config Contexts" msgstr "Контексты конфигурации" -#: netbox/navigation/menu.py:297 +#: netbox/navigation/menu.py:296 msgid "Config Templates" msgstr "Шаблоны конфигурации" -#: netbox/navigation/menu.py:304 netbox/navigation/menu.py:308 +#: netbox/navigation/menu.py:303 netbox/navigation/menu.py:307 msgid "Customization" msgstr "Настройка" -#: netbox/navigation/menu.py:310 -#: templates/circuits/circuittermination_edit.html:53 -#: templates/dcim/cable_edit.html:77 templates/dcim/device_edit.html:103 -#: templates/dcim/inventoryitem_edit.html:102 templates/dcim/rack_edit.html:81 +#: netbox/navigation/menu.py:309 templates/dcim/device_edit.html:103 +#: templates/dcim/htmx/cable_edit.html:81 #: templates/dcim/virtualchassis_add.html:31 -#: templates/dcim/virtualchassis_edit.html:41 -#: templates/generic/bulk_edit.html:92 templates/htmx/form.html:32 -#: templates/inc/panels/custom_fields.html:7 -#: templates/ipam/ipaddress_bulk_add.html:35 -#: templates/ipam/ipaddress_edit.html:88 templates/ipam/service_create.html:75 -#: templates/ipam/service_edit.html:62 templates/ipam/vlan_edit.html:63 -#: templates/tenancy/contactassignment_edit.html:31 -#: templates/vpn/l2vpntermination_edit.html:51 +#: templates/dcim/virtualchassis_edit.html:40 +#: templates/generic/bulk_edit.html:76 templates/htmx/form.html:19 +#: templates/inc/filter_list.html:30 templates/inc/panels/custom_fields.html:7 +#: templates/ipam/ipaddress_bulk_add.html:35 templates/ipam/vlan_edit.html:63 msgid "Custom Fields" msgstr "Настраиваемые Поля" -#: netbox/navigation/menu.py:311 +#: netbox/navigation/menu.py:310 msgid "Custom Field Choices" msgstr "Варианты для Настраиваемых Полей" -#: netbox/navigation/menu.py:312 +#: netbox/navigation/menu.py:311 msgid "Custom Links" msgstr "Настраиваемые Ссылки" -#: netbox/navigation/menu.py:313 +#: netbox/navigation/menu.py:312 msgid "Export Templates" msgstr "Шаблоны экспорта" -#: netbox/navigation/menu.py:314 +#: netbox/navigation/menu.py:313 msgid "Saved Filters" msgstr "Сохраненные фильтры" -#: netbox/navigation/menu.py:316 +#: netbox/navigation/menu.py:315 msgid "Image Attachments" msgstr "Прикрепленные Изображения" -#: netbox/navigation/menu.py:320 -msgid "Reports & Scripts" -msgstr "Отчеты и сценарии" - -#: netbox/navigation/menu.py:340 +#: netbox/navigation/menu.py:333 msgid "Operations" msgstr "Операции" -#: netbox/navigation/menu.py:344 +#: netbox/navigation/menu.py:337 msgid "Integrations" msgstr "Интеграции" -#: netbox/navigation/menu.py:346 +#: netbox/navigation/menu.py:339 msgid "Data Sources" msgstr "Источники данных" -#: netbox/navigation/menu.py:347 +#: netbox/navigation/menu.py:340 msgid "Event Rules" msgstr "Правила мероприятия" -#: netbox/navigation/menu.py:348 +#: netbox/navigation/menu.py:341 msgid "Webhooks" msgstr "Вебхуки" -#: netbox/navigation/menu.py:352 netbox/navigation/menu.py:356 +#: netbox/navigation/menu.py:345 netbox/navigation/menu.py:349 #: netbox/views/generic/feature_views.py:151 #: templates/extras/report/base.html:37 templates/extras/script/base.html:36 msgid "Jobs" msgstr "Задачи" -#: netbox/navigation/menu.py:362 +#: netbox/navigation/menu.py:355 msgid "Logging" msgstr "Ведение журнала" -#: netbox/navigation/menu.py:364 +#: netbox/navigation/menu.py:357 msgid "Journal Entries" msgstr "Записи в журнале" -#: netbox/navigation/menu.py:365 templates/extras/objectchange.html:8 +#: netbox/navigation/menu.py:358 templates/extras/objectchange.html:8 #: templates/extras/objectchange_list.html:4 msgid "Change Log" msgstr "Журнал изменений" -#: netbox/navigation/menu.py:372 templates/inc/profile_button.html:18 +#: netbox/navigation/menu.py:365 templates/inc/user_menu.html:11 msgid "Admin" msgstr "Администратор" -#: netbox/navigation/menu.py:381 templates/users/group.html:27 -#: users/forms/model_forms.py:243 users/forms/model_forms.py:256 -#: users/forms/model_forms.py:310 users/tables.py:105 +#: netbox/navigation/menu.py:373 templates/users/group.html:29 +#: users/forms/model_forms.py:236 users/forms/model_forms.py:248 +#: users/forms/model_forms.py:300 users/tables.py:102 msgid "Users" msgstr "Пользователи" -#: netbox/navigation/menu.py:404 users/forms/model_forms.py:183 -#: users/forms/model_forms.py:196 users/forms/model_forms.py:315 -#: users/tables.py:35 users/tables.py:109 +#: netbox/navigation/menu.py:392 users/forms/model_forms.py:185 +#: users/forms/model_forms.py:197 users/forms/model_forms.py:305 +#: users/tables.py:35 users/tables.py:106 msgid "Groups" msgstr "Группы" -#: netbox/navigation/menu.py:426 templates/account/base.html:21 -#: templates/inc/profile_button.html:39 +#: netbox/navigation/menu.py:411 templates/account/base.html:21 +#: templates/inc/user_menu.html:36 msgid "API Tokens" msgstr "Токены API" -#: netbox/navigation/menu.py:433 users/forms/model_forms.py:189 -#: users/forms/model_forms.py:198 users/forms/model_forms.py:249 -#: users/forms/model_forms.py:257 +#: netbox/navigation/menu.py:417 users/forms/model_forms.py:191 +#: users/forms/model_forms.py:199 users/forms/model_forms.py:242 +#: users/forms/model_forms.py:249 msgid "Permissions" msgstr "Разрешения" -#: netbox/navigation/menu.py:445 -msgid "Current Config" -msgstr "Текущая конфигурация" +#: netbox/navigation/menu.py:424 netbox/navigation/menu.py:428 +#: templates/core/system.html:7 +msgid "System" +msgstr "система" -#: netbox/navigation/menu.py:451 -msgid "Config Revisions" -msgstr "Ревизии конфигурации" +#: netbox/navigation/menu.py:432 +msgid "Configuration History" +msgstr "История конфигурации" -#: netbox/navigation/menu.py:491 templates/500.html:35 -#: templates/account/preferences.html:29 +#: netbox/navigation/menu.py:437 templates/core/rq_task.html:8 +#: templates/core/rq_task_list.html:22 +msgid "Background Tasks" +msgstr "Фоновые задачи" + +#: netbox/navigation/menu.py:475 templates/500.html:35 +#: templates/account/preferences.html:22 templates/core/system.html:76 msgid "Plugins" msgstr "Плагины" -#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69 msgid "Permissions must be passed as a tuple or list." msgstr "Разрешения должны передаваться в виде кортежа или списка." -#: netbox/plugins/navigation.py:50 +#: netbox/plugins/navigation.py:51 msgid "Buttons must be passed as a tuple or list." msgstr "Кнопки должны передаваться в виде кортежа или списка." -#: netbox/plugins/navigation.py:72 +#: netbox/plugins/navigation.py:73 msgid "Button color must be a choice within ButtonColorChoices." msgstr "Цвет кнопки должен быть выбран в ButtonColorChoices." @@ -9686,54 +10120,60 @@ msgid "extra_context must be a dictionary" msgstr "extra_context должен быть словарём" #: netbox/preferences.py:19 -msgid "Color mode" -msgstr "Цветовой режим" +msgid "HTMX Navigation" +msgstr "Навигация по HTMX" -#: netbox/preferences.py:21 -msgid "Light" -msgstr "Светлая" +#: netbox/preferences.py:24 +msgid "Enable dynamic UI navigation" +msgstr "Включить динамическую навигацию пользовательского интерфейса" -#: netbox/preferences.py:22 -msgid "Dark" -msgstr "Тёмная" - -#: netbox/preferences.py:27 +#: netbox/preferences.py:29 msgid "Language" msgstr "Язык" #: netbox/preferences.py:34 +msgid "Forces UI translation to the specified language." +msgstr "Принудительно переводит пользовательский интерфейс на указанный язык." + +#: netbox/preferences.py:37 msgid "Page length" msgstr "Длина страницы" -#: netbox/preferences.py:36 +#: netbox/preferences.py:39 msgid "The default number of objects to display per page" msgstr "Количество объектов, отображаемых на странице по умолчанию" -#: netbox/preferences.py:40 +#: netbox/preferences.py:43 msgid "Paginator placement" msgstr "Размещение пагинатора" -#: netbox/preferences.py:42 +#: netbox/preferences.py:45 msgid "Bottom" msgstr "Внизу" -#: netbox/preferences.py:43 +#: netbox/preferences.py:46 msgid "Top" msgstr "Вверху" -#: netbox/preferences.py:44 +#: netbox/preferences.py:47 msgid "Both" msgstr "Вверху и внизу" -#: netbox/preferences.py:46 +#: netbox/preferences.py:50 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" "Где элементы управления пагинатором будут отображаться относительно таблицы" -#: netbox/preferences.py:52 +#: netbox/preferences.py:55 msgid "Data format" msgstr "Формат данных" +#: netbox/preferences.py:60 +msgid "The preferred syntax for displaying generic data within the UI" +msgstr "" +"Предпочтительный синтаксис для отображения общих данных в пользовательском " +"интерфейсе" + #: netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" @@ -9747,63 +10187,59 @@ msgstr "Невозможно добавить магазины в реестр msgid "Cannot delete stores from registry" msgstr "Невозможно удалить магазины из реестра" -#: netbox/settings.py:724 +#: netbox/settings.py:706 msgid "English" msgstr "Английский" -#: netbox/settings.py:725 +#: netbox/settings.py:707 msgid "Spanish" msgstr "Испанский" -#: netbox/settings.py:726 +#: netbox/settings.py:708 msgid "French" msgstr "Французский" -#: netbox/settings.py:727 +#: netbox/settings.py:709 msgid "Japanese" msgstr "Японский" -#: netbox/settings.py:728 +#: netbox/settings.py:710 msgid "Portuguese" msgstr "Португальский" -#: netbox/settings.py:729 +#: netbox/settings.py:711 msgid "Russian" msgstr "Русский" -#: netbox/settings.py:730 +#: netbox/settings.py:712 msgid "Turkish" msgstr "Турецкий" -#: netbox/tables/columns.py:175 +#: netbox/tables/columns.py:185 msgid "Toggle all" msgstr "Переключить все" -#: netbox/tables/columns.py:277 templates/inc/profile_button.html:56 +#: netbox/tables/columns.py:287 msgid "Toggle Dropdown" msgstr "Переключить выпадающий список" -#: netbox/tables/columns.py:542 templates/core/job.html:40 +#: netbox/tables/columns.py:552 templates/core/job.html:35 msgid "Error" msgstr "Ошибка" -#: netbox/tables/tables.py:243 templates/generic/bulk_import.html:115 +#: netbox/tables/tables.py:245 templates/generic/bulk_import.html:117 msgid "Field" msgstr "Поле" -#: netbox/tables/tables.py:246 +#: netbox/tables/tables.py:248 msgid "Value" msgstr "Ценность" -#: netbox/tables/tables.py:259 -msgid "No results found" -msgstr "Результаты не найдены" - #: netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" msgstr "Фиктивный плагин" -#: netbox/views/generic/bulk_views.py:397 +#: netbox/views/generic/bulk_views.py:405 #, python-brace-format msgid "Row {i}: Object with ID {id} does not exist" msgstr "Ряд {i}: Объект с идентификатором {id} не существует" @@ -9861,7 +10297,7 @@ msgstr "Полное исключение приведено ниже" msgid "Python version" msgstr "Версия для Python" -#: templates/500.html:34 +#: templates/500.html:34 templates/core/system.html:31 msgid "NetBox version" msgstr "Версия NetBox" @@ -9885,13 +10321,13 @@ msgstr "на GitHub" msgid "Home Page" msgstr "Домашняя страница" -#: templates/account/base.html:7 templates/inc/profile_button.html:24 -#: vpn/forms/bulk_edit.py:256 vpn/forms/filtersets.py:186 -#: vpn/forms/model_forms.py:378 +#: templates/account/base.html:7 templates/inc/user_menu.html:27 +#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189 +#: vpn/forms/model_forms.py:379 msgid "Profile" msgstr "Профиль" -#: templates/account/base.html:13 templates/inc/profile_button.html:34 +#: templates/account/base.html:13 templates/inc/user_menu.html:33 msgid "Preferences" msgstr "Настройки" @@ -9899,62 +10335,62 @@ msgstr "Настройки" msgid "Change Password" msgstr "Изменить пароль" -#: templates/account/password.html:17 templates/account/preferences.html:82 -#: templates/core/configrevision_restore.html:80 +#: templates/account/password.html:17 templates/account/preferences.html:77 +#: templates/core/configrevision_restore.html:63 #: templates/dcim/devicebay_populate.html:34 -#: templates/dcim/virtualchassis_add_member.html:24 -#: templates/dcim/virtualchassis_edit.html:104 -#: templates/extras/object_journal.html:26 templates/extras/script.html:36 -#: templates/generic/bulk_add_component.html:55 -#: templates/generic/bulk_delete.html:46 templates/generic/bulk_edit.html:125 -#: templates/generic/bulk_import.html:53 templates/generic/bulk_import.html:75 -#: templates/generic/bulk_import.html:97 templates/generic/bulk_remove.html:42 -#: templates/generic/bulk_rename.html:44 -#: templates/generic/confirmation_form.html:20 -#: templates/generic/object_edit.html:76 templates/htmx/delete_form.html:53 +#: templates/dcim/virtualchassis_add_member.html:26 +#: templates/dcim/virtualchassis_edit.html:103 +#: templates/extras/object_journal.html:26 templates/extras/script.html:37 +#: templates/generic/bulk_add_component.html:67 +#: templates/generic/bulk_delete.html:65 templates/generic/bulk_edit.html:106 +#: templates/generic/bulk_import.html:56 templates/generic/bulk_import.html:78 +#: templates/generic/bulk_import.html:100 +#: templates/generic/bulk_remove.html:62 templates/generic/bulk_rename.html:63 +#: templates/generic/confirmation_form.html:19 +#: templates/generic/object_edit.html:72 templates/htmx/delete_form.html:53 #: templates/htmx/delete_form.html:55 templates/ipam/ipaddress_assign.html:31 #: templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" msgstr "Отменить" -#: templates/account/password.html:18 templates/account/preferences.html:83 +#: templates/account/password.html:18 templates/account/preferences.html:78 #: templates/dcim/devicebay_populate.html:35 -#: templates/dcim/virtualchassis_add_member.html:26 -#: templates/dcim/virtualchassis_edit.html:106 +#: templates/dcim/virtualchassis_add_member.html:28 +#: templates/dcim/virtualchassis_edit.html:105 #: templates/extras/dashboard/widget_add.html:26 #: templates/extras/dashboard/widget_config.html:19 #: templates/extras/object_journal.html:27 -#: templates/generic/object_edit.html:66 +#: templates/generic/object_edit.html:75 #: utilities/templates/helpers/applied_filters.html:16 #: utilities/templates/helpers/table_config_form.html:40 msgid "Save" msgstr "Сохранить" -#: templates/account/preferences.html:41 +#: templates/account/preferences.html:34 msgid "Table Configurations" msgstr "Конфигурации таблиц" -#: templates/account/preferences.html:46 +#: templates/account/preferences.html:39 msgid "Clear table preferences" msgstr "Очистить настройки таблицы" -#: templates/account/preferences.html:53 +#: templates/account/preferences.html:47 msgid "Toggle All" msgstr "Переключить все" -#: templates/account/preferences.html:55 +#: templates/account/preferences.html:49 msgid "Table" msgstr "Таблица" -#: templates/account/preferences.html:56 +#: templates/account/preferences.html:50 msgid "Ordering" msgstr "Заказ" -#: templates/account/preferences.html:57 +#: templates/account/preferences.html:51 msgid "Columns" msgstr "Колонны" -#: templates/account/preferences.html:76 templates/dcim/cable_trace.html:113 +#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113 #: templates/extras/object_configcontext.html:55 msgid "None found" msgstr "Ничего не найдено" @@ -9967,54 +10403,55 @@ msgstr "Профиль пользователя" msgid "Account Details" msgstr "Сведения об учетной записи" -#: templates/account/profile.html:30 templates/tenancy/contact.html:44 -#: templates/users/user.html:26 tenancy/forms/bulk_edit.py:108 +#: templates/account/profile.html:29 templates/tenancy/contact.html:43 +#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109 msgid "Email" msgstr "Электронная почта" -#: templates/account/profile.html:34 templates/users/user.html:30 +#: templates/account/profile.html:33 templates/users/user.html:29 msgid "Account Created" msgstr "Учетная запись создана" -#: templates/account/profile.html:38 templates/users/user.html:34 +#: templates/account/profile.html:37 templates/users/user.html:33 msgid "Last Login" msgstr "Последний вход в систему" -#: templates/account/profile.html:42 templates/users/user.html:46 +#: templates/account/profile.html:41 templates/users/user.html:45 msgid "Superuser" msgstr "Суперпользователь" -#: templates/account/profile.html:46 -msgid "Admin Access" -msgstr "Доступ администратора" +#: templates/account/profile.html:45 templates/inc/user_menu.html:13 +#: templates/users/user.html:41 +msgid "Staff" +msgstr "Персонал" -#: templates/account/profile.html:55 templates/users/objectpermission.html:86 -#: templates/users/user.html:55 +#: templates/account/profile.html:53 templates/users/objectpermission.html:82 +#: templates/users/user.html:53 msgid "Assigned Groups" msgstr "Назначенные группы" -#: templates/account/profile.html:60 +#: templates/account/profile.html:58 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 -#: templates/dcim/devicebay.html:66 -#: templates/dcim/inc/panels/inventory_items.html:37 -#: templates/dcim/interface.html:306 templates/dcim/modulebay.html:79 -#: templates/extras/configcontext.html:73 templates/extras/eventrule.html:84 -#: templates/extras/htmx/script_result.html:54 +#: templates/dcim/devicebay.html:59 +#: templates/dcim/inc/panels/inventory_items.html:45 +#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:76 +#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:72 +#: templates/extras/htmx/script_result.html:56 #: templates/extras/object_configcontext.html:28 -#: templates/extras/objectchange.html:128 -#: templates/extras/objectchange.html:145 templates/extras/webhook.html:79 -#: templates/extras/webhook.html:91 templates/inc/panel_table.html:12 +#: templates/extras/objectchange.html:123 +#: templates/extras/objectchange.html:141 templates/extras/webhook.html:67 +#: templates/extras/webhook.html:79 templates/inc/panel_table.html:13 #: templates/inc/panels/comments.html:12 -#: templates/ipam/inc/panels/fhrp_groups.html:43 templates/users/group.html:32 -#: templates/users/group.html:42 templates/users/objectpermission.html:81 -#: templates/users/objectpermission.html:91 templates/users/user.html:60 -#: templates/users/user.html:70 +#: templates/ipam/inc/panels/fhrp_groups.html:56 templates/users/group.html:34 +#: templates/users/group.html:44 templates/users/objectpermission.html:77 +#: templates/users/objectpermission.html:87 templates/users/user.html:58 +#: templates/users/user.html:68 msgid "None" msgstr "Нет" -#: templates/account/profile.html:70 templates/users/user.html:80 +#: templates/account/profile.html:68 templates/users/user.html:78 msgid "Recent Activity" msgstr "Недавняя активность" @@ -10028,12 +10465,12 @@ msgstr "Мои токены API" msgid "Token" msgstr "Токен" -#: templates/account/token.html:40 templates/users/token.html:32 -#: users/forms/bulk_edit.py:87 +#: templates/account/token.html:39 templates/users/token.html:31 +#: users/forms/bulk_edit.py:107 msgid "Write enabled" msgstr "Запись включена" -#: templates/account/token.html:52 templates/users/token.html:44 +#: templates/account/token.html:51 templates/users/token.html:43 msgid "Last used" msgstr "Последний раз использованный" @@ -10041,77 +10478,51 @@ msgstr "Последний раз использованный" msgid "Add a Token" msgstr "Добавить токен" -#: templates/admin/index.html:10 -msgid "System" -msgstr "система" - -#: templates/admin/index.html:14 -msgid "Background Tasks" -msgstr "Фоновые задачи" - -#: templates/admin/index.html:19 -msgid "Installed plugins" -msgstr "Установленные плагины" - -#: templates/base/base.html:28 templates/extras/admin/plugins_list.html:8 -#: templates/home.html:24 +#: templates/base/base.html:18 templates/home.html:27 msgid "Home" msgstr "Главная" -#: templates/base/layout.html:27 templates/base/layout.html:37 -#: templates/login.html:34 -msgid "NetBox logo" -msgstr "Логотип NetBox" - -#: templates/base/layout.html:76 -msgid "Debug mode is enabled" -msgstr "Включен режим отладки" - -#: templates/base/layout.html:77 -msgid "" -"Performance may be limited. Debugging should never be enabled on a " -"production system" -msgstr "" -"Производительность может быть ограничена. В производственной системе ни в " -"коем случае нельзя включать отладку" - -#: templates/base/layout.html:83 -msgid "Maintenance Mode" -msgstr "Режим обслуживания" - -#: templates/base/layout.html:134 -msgid "Docs" -msgstr "Документы" - -#: templates/base/layout.html:139 templates/rest_framework/api.html:10 -msgid "REST API" -msgstr "REST API" - -#: templates/base/layout.html:144 -msgid "REST API documentation" -msgstr "Документация по REST API" - -#: templates/base/layout.html:150 -msgid "GraphQL API" -msgstr "API GraphQL" - -#: templates/base/layout.html:156 -msgid "Source Code" -msgstr "Исходный код" - -#: templates/base/layout.html:161 -msgid "Community" -msgstr "Сообщество" - -#: templates/base/sidenav.html:12 templates/base/sidenav.html:17 +#: templates/base/layout.html:32 msgid "NetBox Logo" msgstr "Логотип NetBox" -#: templates/circuits/circuit.html:48 +#: templates/base/layout.html:56 +msgid "Enable dark mode" +msgstr "Включить темный режим" + +#: templates/base/layout.html:59 +msgid "Enable light mode" +msgstr "Включить режим освещения" + +#: templates/base/layout.html:145 +msgid "Docs" +msgstr "Документы" + +#: templates/base/layout.html:151 templates/rest_framework/api.html:10 +msgid "REST API" +msgstr "REST API" + +#: templates/base/layout.html:157 +msgid "REST API documentation" +msgstr "Документация по REST API" + +#: templates/base/layout.html:164 +msgid "GraphQL API" +msgstr "API GraphQL" + +#: templates/base/layout.html:171 +msgid "Source Code" +msgstr "Исходный код" + +#: templates/base/layout.html:177 +msgid "Community" +msgstr "Сообщество" + +#: templates/circuits/circuit.html:47 msgid "Install Date" msgstr "Дата установки" -#: templates/circuits/circuit.html:52 +#: templates/circuits/circuit.html:51 msgid "Termination Date" msgstr "Дата увольнения" @@ -10132,85 +10543,75 @@ msgstr "Сторона" msgid "Z side" msgstr "Сторона Z" -#: templates/circuits/circuittermination_edit.html:9 -#: templates/circuits/inc/circuit_termination.html:81 -#: templates/dcim/frontport.html:128 templates/dcim/interface.html:199 -#: templates/dcim/rearport.html:118 -msgid "Circuit Termination" -msgstr "Прекращение цепи" - -#: templates/circuits/circuittermination_edit.html:41 -msgid "Termination Details" -msgstr "Сведения об увольнении" - #: templates/circuits/circuittype.html:10 msgid "Add Circuit" msgstr "Добавить канал связи" -#: templates/circuits/inc/circuit_termination.html:9 +#: templates/circuits/circuittype.html:19 +msgid "Circuit Type" +msgstr "Тип канала связи" + +#: templates/circuits/inc/circuit_termination.html:6 +#: templates/circuits/inc/circuit_termination.html:41 +#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 +#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77 +msgid "Termination" +msgstr "Прекращение" + +#: templates/circuits/inc/circuit_termination.html:10 #: templates/dcim/devicetype/component_templates.html:33 #: templates/dcim/manufacturer.html:11 -#: templates/dcim/moduletype/component_templates.html:30 -#: templates/generic/bulk_add_component.html:8 -#: templates/users/objectpermission.html:41 +#: templates/dcim/moduletype/component_templates.html:29 +#: templates/generic/bulk_add_component.html:22 +#: templates/users/objectpermission.html:38 #: utilities/templates/buttons/add.html:4 #: utilities/templates/helpers/table_config_form.html:20 msgid "Add" msgstr "Добавить" -#: templates/circuits/inc/circuit_termination.html:14 -#: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/inc/panels/inventory_items.html:24 -#: templates/dcim/moduletype/component_templates.html:21 -#: templates/dcim/powerpanel.html:61 templates/generic/object_edit.html:29 +#: templates/circuits/inc/circuit_termination.html:15 +#: templates/circuits/inc/circuit_termination.html:62 +#: templates/dcim/inc/panels/inventory_items.html:32 +#: templates/dcim/moduletype/component_templates.html:20 +#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:32 +#: templates/generic/object_edit.html:47 #: templates/ipam/inc/ipaddress_edit_header.html:10 -#: templates/ipam/inc/panels/fhrp_groups.html:30 +#: templates/ipam/inc/panels/fhrp_groups.html:43 #: utilities/templates/buttons/edit.html:3 msgid "Edit" msgstr "Редактировать" -#: templates/circuits/inc/circuit_termination.html:17 +#: templates/circuits/inc/circuit_termination.html:18 msgid "Swap" msgstr "Обмен" -#: templates/circuits/inc/circuit_termination.html:26 -#, python-format -msgid "Termination %(side)s" -msgstr "Окончания %(side)s" - -#: templates/circuits/inc/circuit_termination.html:42 -#: templates/dcim/cable.html:70 templates/dcim/cable.html:76 -#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:76 -msgid "Termination" -msgstr "Прекращение" - -#: templates/circuits/inc/circuit_termination.html:46 -#: templates/dcim/consoleport.html:62 templates/dcim/consoleserverport.html:62 -#: templates/dcim/powerfeed.html:122 +#: templates/circuits/inc/circuit_termination.html:45 +#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60 +#: templates/dcim/powerfeed.html:114 msgid "Marked as connected" msgstr "Отмечено как подключенное" -#: templates/circuits/inc/circuit_termination.html:48 +#: templates/circuits/inc/circuit_termination.html:47 msgid "to" msgstr "к" +#: templates/circuits/inc/circuit_termination.html:57 #: templates/circuits/inc/circuit_termination.html:58 -#: templates/circuits/inc/circuit_termination.html:59 -#: templates/dcim/frontport.html:87 +#: templates/dcim/frontport.html:80 #: templates/dcim/inc/connection_endpoints.html:7 -#: templates/dcim/interface.html:160 templates/dcim/rearport.html:83 +#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76 msgid "Trace" msgstr "Следить" -#: templates/circuits/inc/circuit_termination.html:62 +#: templates/circuits/inc/circuit_termination.html:61 msgid "Edit cable" msgstr "Редактирование кабеля" -#: templates/circuits/inc/circuit_termination.html:67 +#: templates/circuits/inc/circuit_termination.html:66 msgid "Remove cable" msgstr "Извлеките кабель" -#: templates/circuits/inc/circuit_termination.html:68 +#: templates/circuits/inc/circuit_termination.html:67 #: templates/dcim/bulk_disconnect.html:5 #: templates/dcim/device/consoleports.html:12 #: templates/dcim/device/consoleserverports.html:12 @@ -10218,40 +10619,32 @@ msgstr "Извлеките кабель" #: templates/dcim/device/interfaces.html:16 #: templates/dcim/device/poweroutlets.html:12 #: templates/dcim/device/powerports.html:12 -#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:66 +#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:61 msgid "Disconnect" msgstr "Отключить" -#: templates/circuits/inc/circuit_termination.html:75 -#: templates/dcim/consoleport.html:71 templates/dcim/consoleserverport.html:71 -#: templates/dcim/frontport.html:109 templates/dcim/interface.html:186 -#: templates/dcim/interface.html:206 templates/dcim/powerfeed.html:136 -#: templates/dcim/poweroutlet.html:75 templates/dcim/poweroutlet.html:76 -#: templates/dcim/powerport.html:77 templates/dcim/rearport.html:105 +#: templates/circuits/inc/circuit_termination.html:74 +#: templates/dcim/consoleport.html:69 templates/dcim/consoleserverport.html:70 +#: templates/dcim/frontport.html:102 templates/dcim/interface.html:180 +#: templates/dcim/interface.html:200 templates/dcim/powerfeed.html:127 +#: templates/dcim/poweroutlet.html:71 templates/dcim/poweroutlet.html:72 +#: templates/dcim/powerport.html:73 templates/dcim/rearport.html:98 msgid "Connect" msgstr "Подключить" -#: templates/circuits/inc/circuit_termination.html:79 -#: templates/dcim/consoleport.html:78 templates/dcim/consoleserverport.html:78 -#: templates/dcim/frontport.html:18 templates/dcim/frontport.html:122 -#: templates/dcim/interface.html:193 templates/dcim/inventoryitem_edit.html:49 -#: templates/dcim/rearport.html:112 -msgid "Front Port" -msgstr "Передний порт" - -#: templates/circuits/inc/circuit_termination.html:97 +#: templates/circuits/inc/circuit_termination.html:96 msgid "Downstream" msgstr "Ниже по течению" -#: templates/circuits/inc/circuit_termination.html:98 +#: templates/circuits/inc/circuit_termination.html:97 msgid "Upstream" msgstr "Вверх по течению" -#: templates/circuits/inc/circuit_termination.html:107 +#: templates/circuits/inc/circuit_termination.html:106 msgid "Cross-Connect" msgstr "Кросс-коннект" -#: templates/circuits/inc/circuit_termination.html:111 +#: templates/circuits/inc/circuit_termination.html:110 msgid "Patch Panel/Port" msgstr "Патч-панель/порт" @@ -10263,90 +10656,50 @@ msgstr "Добавить канал связи" msgid "Provider Account" msgstr "Учетная запись поставщика" -#: templates/core/configrevision.html:47 -msgid "Default unit height" -msgstr "Высота юнита по умолчанию" +#: templates/core/configrevision.html:35 +msgid "Configuration Data" +msgstr "Конфигурационные данные" -#: templates/core/configrevision.html:51 -msgid "Default unit width" -msgstr "Ширина юнита по умолчанию" - -#: templates/core/configrevision.html:63 -msgid "Default voltage" -msgstr "Напряжение по умолчанию" - -#: templates/core/configrevision.html:67 -msgid "Default amperage" -msgstr "Сила тока по умолчанию" - -#: templates/core/configrevision.html:71 -msgid "Default max utilization" -msgstr "Максимальное использование по умолчанию" - -#: templates/core/configrevision.html:83 -msgid "Enforce global unique" -msgstr "Обеспечьте глобальную уникальность" - -#: templates/core/configrevision.html:135 -msgid "Paginate count" -msgstr "Количество страниц" - -#: templates/core/configrevision.html:139 -msgid "Max page size" -msgstr "Максимальный размер страницы" - -#: templates/core/configrevision.html:179 -msgid "Default user preferences" -msgstr "Пользовательские настройки по умолчанию" - -#: templates/core/configrevision.html:209 -msgid "Job retention" -msgstr "Сохранение рабочих мест" - -#: templates/core/configrevision.html:221 +#: templates/core/configrevision.html:40 msgid "Comment" msgstr "Комментарий" #: templates/core/configrevision_restore.html:8 -#: templates/core/configrevision_restore.html:43 -#: templates/core/configrevision_restore.html:79 +#: templates/core/configrevision_restore.html:25 +#: templates/core/configrevision_restore.html:64 msgid "Restore" msgstr "Восстановить" -#: templates/core/configrevision_restore.html:21 -msgid "Config revisions" -msgstr "Ревизии конфигурации" - -#: templates/core/configrevision_restore.html:54 +#: templates/core/configrevision_restore.html:36 msgid "Parameter" msgstr "Параметр" -#: templates/core/configrevision_restore.html:55 +#: templates/core/configrevision_restore.html:37 msgid "Current Value" msgstr "Текущее значение" -#: templates/core/configrevision_restore.html:56 +#: templates/core/configrevision_restore.html:38 msgid "New Value" msgstr "Новое значение" -#: templates/core/configrevision_restore.html:66 +#: templates/core/configrevision_restore.html:50 msgid "Changed" msgstr "Изменено" -#: templates/core/datafile.html:47 +#: templates/core/datafile.html:38 msgid "Last Updated" msgstr "Последнее обновление" -#: templates/core/datafile.html:51 templates/ipam/iprange.html:28 -#: templates/virtualization/virtualdisk.html:30 +#: templates/core/datafile.html:42 templates/ipam/iprange.html:25 +#: templates/virtualization/virtualdisk.html:29 msgid "Size" msgstr "Размер" -#: templates/core/datafile.html:52 +#: templates/core/datafile.html:43 msgid "bytes" msgstr "байтов" -#: templates/core/datafile.html:55 +#: templates/core/datafile.html:46 msgid "SHA256 Hash" msgstr "Хэш SHA256" @@ -10355,96 +10708,295 @@ msgstr "Хэш SHA256" msgid "Sync" msgstr "Синхронизация" -#: templates/core/datasource.html:51 +#: templates/core/datasource.html:50 msgid "Last synced" msgstr "Последняя синхронизация" -#: templates/core/datasource.html:86 +#: templates/core/datasource.html:84 msgid "Backend" msgstr "Серверная часть" -#: templates/core/datasource.html:102 +#: templates/core/datasource.html:99 msgid "No parameters defined" msgstr "Параметры не определены" -#: templates/core/datasource.html:118 +#: templates/core/datasource.html:114 msgid "Files" msgstr "файлы" -#: templates/core/job.html:21 +#: templates/core/inc/config_data.html:7 +msgid "Rack elevations" +msgstr "Высота стеллажей" + +#: templates/core/inc/config_data.html:10 +msgid "Default unit height" +msgstr "Высота юнита по умолчанию" + +#: templates/core/inc/config_data.html:14 +msgid "Default unit width" +msgstr "Ширина юнита по умолчанию" + +#: templates/core/inc/config_data.html:20 +msgid "Power feeds" +msgstr "Источники питания" + +#: templates/core/inc/config_data.html:23 +msgid "Default voltage" +msgstr "Напряжение по умолчанию" + +#: templates/core/inc/config_data.html:27 +msgid "Default amperage" +msgstr "Сила тока по умолчанию" + +#: templates/core/inc/config_data.html:31 +msgid "Default max utilization" +msgstr "Максимальное использование по умолчанию" + +#: templates/core/inc/config_data.html:40 +msgid "Enforce global unique" +msgstr "Обеспечьте глобальную уникальность" + +#: templates/core/inc/config_data.html:83 +msgid "Paginate count" +msgstr "Количество страниц" + +#: templates/core/inc/config_data.html:87 +msgid "Max page size" +msgstr "Максимальный размер страницы" + +#: templates/core/inc/config_data.html:114 +msgid "User preferences" +msgstr "Пользовательские предпочтения" + +#: templates/core/inc/config_data.html:141 +msgid "Job retention" +msgstr "Сохранение рабочих мест" + +#: templates/core/job.html:17 templates/core/rq_task.html:12 +#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 msgid "Job" msgstr "Задание" -#: templates/core/job.html:45 templates/extras/journalentry.html:29 +#: templates/core/job.html:40 templates/extras/journalentry.html:26 msgid "Created By" msgstr "Создано" -#: templates/core/job.html:54 +#: templates/core/job.html:48 msgid "Scheduling" msgstr "Планирование" -#: templates/core/job.html:66 +#: templates/core/job.html:59 #, python-format msgid "every %(interval)s minutes" msgstr "каждый %(interval)s протокол" +#: templates/core/rq_queue_list.html:5 templates/core/rq_queue_list.html:13 +#: templates/core/rq_task_list.html:14 templates/core/rq_worker.html:7 +msgid "Background Queues" +msgstr "Фоновые очереди" + +#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 +#: templates/core/rq_worker_list.html:44 templates/core/rq_worker_list.html:45 +#: templates/extras/script_result.html:49 +#: templates/extras/script_result.html:51 +#: templates/inc/table_controls_htmx.html:18 +#: templates/inc/table_controls_htmx.html:20 +msgid "Configure Table" +msgstr "Настроить таблицу" + +#: templates/core/rq_task.html:29 +msgid "Stop" +msgstr "Стоп" + +#: templates/core/rq_task.html:34 +msgid "Requeue" +msgstr "Запросить" + +#: templates/core/rq_task.html:39 +msgid "Enqueue" +msgstr "Поставить в очередь" + +#: templates/core/rq_task.html:61 +msgid "Queue" +msgstr "Очередь" + +#: templates/core/rq_task.html:65 +msgid "Timeout" +msgstr "Тайм-аут" + +#: templates/core/rq_task.html:69 +msgid "Result TTL" +msgstr "Результат TTL" + +#: templates/core/rq_task.html:89 +msgid "Meta" +msgstr "Мета" + +#: templates/core/rq_task.html:93 +msgid "Arguments" +msgstr "Аргументы" + +#: templates/core/rq_task.html:97 +msgid "Keyword Arguments" +msgstr "Аргументы ключевых слов" + +#: templates/core/rq_task.html:103 +msgid "Depends on" +msgstr "Зависит от" + +#: templates/core/rq_task.html:109 +msgid "Exception" +msgstr "Исключение" + +#: templates/core/rq_task_list.html:28 +msgid "tasks in " +msgstr "задачи в " + +#: templates/core/rq_task_list.html:33 +msgid "Queued Jobs" +msgstr "Задания в очереди" + +#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:68 +#, python-format +msgid "" +"Select all %(count)s %(object_type_plural)s matching query" +msgstr "" +"Выберите все %(count)s %(object_type_plural)s " +"соответствующий запрос" + +#: templates/core/rq_worker.html:10 +msgid "Worker Info" +msgstr "Информация о работнике" + +#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 +msgid "Worker" +msgstr "Рабочий" + +#: templates/core/rq_worker.html:55 +msgid "Queues" +msgstr "Очереди" + +#: templates/core/rq_worker.html:63 +msgid "Curent Job" +msgstr "Текущая работа" + +#: templates/core/rq_worker.html:67 +msgid "Successful job count" +msgstr "Количество успешных заданий" + +#: templates/core/rq_worker.html:71 +msgid "Failed job count" +msgstr "Количество невыполненных заданий" + +#: templates/core/rq_worker.html:75 +msgid "Total working time" +msgstr "Общее рабочее время" + +#: templates/core/rq_worker.html:76 +msgid "seconds" +msgstr "секунды" + +#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 +msgid "Background Workers" +msgstr "Работники фоновых служб" + +#: templates/core/rq_worker_list.html:27 +msgid "Workers in " +msgstr "Рабочие в " + +#: templates/core/system.html:11 utilities/templates/buttons/export.html:4 +msgid "Export" +msgstr "Экспорт" + +#: templates/core/system.html:28 +msgid "System Status" +msgstr "Состояние системы" + +#: templates/core/system.html:35 +msgid "Django version" +msgstr "Версия для Django" + +#: templates/core/system.html:39 +msgid "PotsgreSQL version" +msgstr "Версия PostgreSQL" + +#: templates/core/system.html:43 +msgid "Database name" +msgstr "Имя базы данных" + +#: templates/core/system.html:47 +msgid "Database size" +msgstr "Размер базы данных" + +#: templates/core/system.html:52 +msgid "Unavailable" +msgstr "Недоступно" + +#: templates/core/system.html:57 +msgid "RQ workers" +msgstr "Работники RQ" + +#: templates/core/system.html:60 +msgid "default queue" +msgstr "очередь по умолчанию" + +#: templates/core/system.html:64 +msgid "System time" +msgstr "Системное время" + +#: templates/core/system.html:86 +msgid "Current Configuration" +msgstr "Текущая конфигурация" + #: templates/dcim/bulk_disconnect.html:9 #, python-format msgid "" "Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?" msgstr "Вы действительно хотите отключить их? %(count)s %(obj_type_plural)s?" -#: templates/dcim/cable_edit.html:12 -msgid "A Side" -msgstr "Сторона «А»" - -#: templates/dcim/cable_edit.html:29 -msgid "B Side" -msgstr "Сторона «Б»" - -#: templates/dcim/cable_trace.html:6 +#: templates/dcim/cable_trace.html:10 #, python-format msgid "Cable Trace for %(object_type)s %(object)s" msgstr "Трассировка кабелей для %(object_type)s %(object)s" -#: templates/dcim/cable_trace.html:21 templates/dcim/inc/rack_elevation.html:7 +#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7 msgid "Download SVG" msgstr "Загрузить SVG" -#: templates/dcim/cable_trace.html:27 +#: templates/dcim/cable_trace.html:30 msgid "Asymmetric Path" msgstr "Асимметричный путь" -#: templates/dcim/cable_trace.html:28 +#: templates/dcim/cable_trace.html:31 msgid "The nodes below have no links and result in an asymmetric path" msgstr "" "Приведенные ниже узлы не имеют ссылок и обеспечивают асимметричный путь" -#: templates/dcim/cable_trace.html:35 +#: templates/dcim/cable_trace.html:38 msgid "Path split" msgstr "Разделение путей" -#: templates/dcim/cable_trace.html:36 +#: templates/dcim/cable_trace.html:39 msgid "Select a node below to continue" msgstr "Выберите узел ниже, чтобы продолжить" -#: templates/dcim/cable_trace.html:52 +#: templates/dcim/cable_trace.html:55 msgid "Trace Completed" msgstr "Трассировка завершена" -#: templates/dcim/cable_trace.html:55 +#: templates/dcim/cable_trace.html:58 msgid "Total segments" msgstr "Всего сегментов" -#: templates/dcim/cable_trace.html:59 +#: templates/dcim/cable_trace.html:62 msgid "Total length" msgstr "Общая длина" -#: templates/dcim/cable_trace.html:74 +#: templates/dcim/cable_trace.html:77 msgid "No paths found" msgstr "Пути не найдены" -#: templates/dcim/cable_trace.html:83 +#: templates/dcim/cable_trace.html:85 msgid "Related Paths" msgstr "Связанные пути" @@ -10468,100 +11020,90 @@ msgstr "Неполный" msgid "Rename Selected" msgstr "Переименовать выбранное" -#: templates/dcim/consoleport.html:67 templates/dcim/consoleserverport.html:67 -#: templates/dcim/frontport.html:105 templates/dcim/interface.html:182 -#: templates/dcim/poweroutlet.html:73 templates/dcim/powerport.html:73 +#: templates/dcim/consoleport.html:65 templates/dcim/consoleserverport.html:66 +#: templates/dcim/frontport.html:98 templates/dcim/interface.html:176 +#: templates/dcim/poweroutlet.html:69 templates/dcim/powerport.html:69 msgid "Not Connected" msgstr "Не подключено" -#: templates/dcim/consoleport.html:75 templates/dcim/consoleserverport.html:18 -#: templates/dcim/frontport.html:116 templates/dcim/inventoryitem_edit.html:44 -msgid "Console Server Port" -msgstr "Порт консольного сервера" +#: templates/dcim/device.html:33 +msgid "Highlight device in rack" +msgstr "Выделите устройство в стойке" -#: templates/dcim/device.html:35 -msgid "Highlight device" -msgstr "Выделите устройство" - -#: templates/dcim/device.html:57 +#: templates/dcim/device.html:54 msgid "Not racked" msgstr "Не в стойке" -#: templates/dcim/device.html:64 templates/dcim/site.html:96 +#: templates/dcim/device.html:61 templates/dcim/site.html:93 msgid "GPS Coordinates" msgstr "Координаты GPS" -#: templates/dcim/device.html:70 templates/dcim/site.html:102 +#: templates/dcim/device.html:67 templates/dcim/site.html:99 msgid "Map It" msgstr "Нанесите на карту" -#: templates/dcim/device.html:110 templates/dcim/inventoryitem.html:57 -#: templates/dcim/module.html:79 templates/dcim/modulebay.html:73 -#: templates/dcim/rack.html:62 +#: templates/dcim/device.html:107 templates/dcim/inventoryitem.html:56 +#: templates/dcim/module.html:78 templates/dcim/modulebay.html:70 +#: templates/dcim/rack.html:59 msgid "Asset Tag" msgstr "Тег актива" -#: templates/dcim/device.html:153 +#: templates/dcim/device.html:122 msgid "View Virtual Chassis" msgstr "Смотреть виртуальное шасси" -#: templates/dcim/device.html:170 +#: templates/dcim/device.html:161 msgid "Create VDC" msgstr "Создайте VDC" -#: templates/dcim/device.html:179 templates/dcim/device_edit.html:64 -#: virtualization/forms/model_forms.py:226 +#: templates/dcim/device.html:172 templates/dcim/device_edit.html:64 +#: virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Управление" -#: templates/dcim/device.html:200 templates/dcim/device.html:216 -#: templates/virtualization/virtualmachine.html:56 -#: templates/virtualization/virtualmachine.html:72 +#: templates/dcim/device.html:192 templates/dcim/device.html:208 +#: templates/virtualization/virtualmachine.html:53 +#: templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT для" -#: templates/dcim/device.html:202 templates/dcim/device.html:218 -#: templates/virtualization/virtualmachine.html:58 -#: templates/virtualization/virtualmachine.html:74 +#: templates/dcim/device.html:194 templates/dcim/device.html:210 +#: templates/virtualization/virtualmachine.html:55 +#: templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "КОТ" -#: templates/dcim/device.html:254 templates/dcim/rack.html:70 +#: templates/dcim/device.html:244 templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Использование энергии" -#: templates/dcim/device.html:259 +#: templates/dcim/device.html:248 msgid "Input" msgstr "Ввод" -#: templates/dcim/device.html:260 +#: templates/dcim/device.html:249 msgid "Outlets" msgstr "Торговые точки" -#: templates/dcim/device.html:261 +#: templates/dcim/device.html:250 msgid "Allocated" msgstr "Выделено" -#: templates/dcim/device.html:270 templates/dcim/device.html:272 -#: templates/dcim/device.html:288 templates/dcim/powerfeed.html:70 +#: templates/dcim/device.html:260 templates/dcim/device.html:262 +#: templates/dcim/device.html:278 templates/dcim/powerfeed.html:67 msgid "VA" msgstr "ВА" -#: templates/dcim/device.html:282 +#: templates/dcim/device.html:272 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Ножка" -#: templates/dcim/device.html:312 -#: templates/virtualization/virtualmachine.html:165 +#: templates/dcim/device.html:298 +#: templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Добавить службу" -#: templates/dcim/device.html:319 templates/dcim/rack.html:77 -#: templates/dcim/rack_edit.html:38 -msgid "Dimensions" -msgstr "Габариты" - #: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 #: templates/dcim/devicetype/base.html:18 templates/dcim/module.html:18 #: templates/dcim/moduletype/base.html:18 @@ -10602,12 +11144,12 @@ msgstr "Скрыть виртуальное" msgid "Hide Disconnected" msgstr "Скрыть отключено" -#: templates/dcim/device/interfaces.html:28 +#: templates/dcim/device/interfaces.html:27 msgid "Add Interfaces" msgstr "Добавить интерфейсы" #: templates/dcim/device/inventory.html:10 -#: templates/dcim/inc/panels/inventory_items.html:46 +#: templates/dcim/inc/panels/inventory_items.html:10 msgid "Add Inventory Item" msgstr "Добавить инвентарь" @@ -10632,23 +11174,23 @@ msgstr "Добавить задние порты" msgid "Config" msgstr "Конфигурация" -#: templates/dcim/device/render_config.html:37 -#: templates/virtualization/virtualmachine/render_config.html:37 +#: templates/dcim/device/render_config.html:35 +#: templates/virtualization/virtualmachine/render_config.html:35 msgid "Context Data" msgstr "Контекстные данные" -#: templates/dcim/device/render_config.html:57 -#: templates/virtualization/virtualmachine/render_config.html:57 -msgid "Download" -msgstr "Скачать" - -#: templates/dcim/device/render_config.html:60 -#: templates/virtualization/virtualmachine/render_config.html:60 +#: templates/dcim/device/render_config.html:53 +#: templates/virtualization/virtualmachine/render_config.html:53 msgid "Rendered Config" msgstr "Отображенная конфигурация" -#: templates/dcim/device/render_config.html:65 -#: templates/virtualization/virtualmachine/render_config.html:65 +#: templates/dcim/device/render_config.html:55 +#: templates/virtualization/virtualmachine/render_config.html:55 +msgid "Download" +msgstr "Скачать" + +#: templates/dcim/device/render_config.html:61 +#: templates/virtualization/virtualmachine/render_config.html:61 msgid "No configuration template found" msgstr "Шаблон конфигурации не найден" @@ -10661,7 +11203,7 @@ msgstr "Родительский залив" msgid "Regenerate Slug" msgstr "Сгенерировать подстроку" -#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:7 +#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21 #: utilities/templates/helpers/table_config_form.html:23 msgid "Remove" msgstr "Удалить" @@ -10671,35 +11213,21 @@ msgid "Local Config Context Data" msgstr "Контекстные данные локальной конфигурации" #: templates/dcim/device_list.html:82 -#: templates/dcim/moduletype/component_templates.html:18 -#: templates/generic/bulk_rename.html:34 +#: templates/dcim/moduletype/component_templates.html:17 +#: templates/generic/bulk_rename.html:57 #: templates/virtualization/virtualmachine/interfaces.html:11 #: templates/virtualization/virtualmachine/virtual_disks.html:11 msgid "Rename" msgstr "Переименовать" -#: templates/dcim/devicebay.html:18 +#: templates/dcim/devicebay.html:17 msgid "Device Bay" msgstr "Отсек для устройств" -#: templates/dcim/devicebay.html:48 +#: templates/dcim/devicebay.html:43 msgid "Installed Device" msgstr "Вставленное устройство" -#: templates/dcim/devicebay_delete.html:6 -#, python-format -msgid "Delete device bay %(devicebay)s?" -msgstr "Удалить отсек для устройств %(devicebay)s?" - -#: templates/dcim/devicebay_delete.html:11 -#, python-format -msgid "" -"Are you sure you want to delete this device bay from " -"%(device)s?" -msgstr "" -"Вы действительно хотите удалить этот отсек для устройства из " -"%(device)s?" - #: templates/dcim/devicebay_depopulate.html:6 #, python-format msgid "Remove %(device)s from %(device_bay)s?" @@ -10726,61 +11254,65 @@ msgstr "залив" msgid "Add Device" msgstr "Добавить устройство" -#: templates/dcim/devicerole.html:43 +#: templates/dcim/devicerole.html:40 msgid "VM Role" msgstr "Роль виртуальной машины" -#: templates/dcim/devicetype.html:21 templates/dcim/moduletype.html:19 +#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:18 msgid "Model Name" msgstr "Название модели" -#: templates/dcim/devicetype.html:28 templates/dcim/moduletype.html:23 +#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:22 msgid "Part Number" msgstr "Номер детали" -#: templates/dcim/devicetype.html:40 -msgid "Height (U" -msgstr "Высота (U" - -#: templates/dcim/devicetype.html:44 +#: templates/dcim/devicetype.html:41 msgid "Exclude From Utilization" msgstr "Исключить из использования" -#: templates/dcim/devicetype.html:62 +#: templates/dcim/devicetype.html:59 msgid "Parent/Child" msgstr "Родитель/ребенок" -#: templates/dcim/devicetype.html:74 +#: templates/dcim/devicetype.html:71 msgid "Front Image" msgstr "Изображение спереди" -#: templates/dcim/devicetype.html:86 +#: templates/dcim/devicetype.html:83 msgid "Rear Image" msgstr "Изображение сзади" -#: templates/dcim/frontport.html:57 +#: templates/dcim/frontport.html:54 msgid "Rear Port Position" msgstr "Положение заднего порта" -#: templates/dcim/frontport.html:79 templates/dcim/interface.html:150 -#: templates/dcim/poweroutlet.html:67 templates/dcim/powerport.html:67 -#: templates/dcim/rearport.html:75 +#: templates/dcim/frontport.html:72 templates/dcim/interface.html:144 +#: templates/dcim/poweroutlet.html:63 templates/dcim/powerport.html:63 +#: templates/dcim/rearport.html:68 msgid "Marked as Connected" msgstr "Отмечено как подключенное" -#: templates/dcim/frontport.html:93 templates/dcim/rearport.html:89 +#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 msgid "Connection Status" msgstr "Состояние подключения" +#: templates/dcim/htmx/cable_edit.html:10 +msgid "A Side" +msgstr "Сторона «А»" + +#: templates/dcim/htmx/cable_edit.html:30 +msgid "B Side" +msgstr "Сторона «Б»" + #: templates/dcim/inc/cable_termination.html:65 msgid "No termination" msgstr "Без окончания" -#: templates/dcim/inc/cable_toggle_buttons.html:4 +#: templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" msgstr "Отметить как запланированное" -#: templates/dcim/inc/cable_toggle_buttons.html:8 +#: templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" msgstr "Отметить как установленное" @@ -10797,7 +11329,7 @@ msgid "Path Endpoints" msgstr "Конечные точки пути" #: templates/dcim/inc/endpoint_connection.html:8 -#: templates/dcim/powerfeed.html:128 templates/dcim/rearport.html:101 +#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 msgid "Not connected" msgstr "Не подключено" @@ -10822,114 +11354,104 @@ msgstr "Очистить все" msgid "Add Child Interface" msgstr "Добавить дочерний интерфейс" -#: templates/dcim/interface.html:51 +#: templates/dcim/interface.html:50 msgid "Speed/Duplex" msgstr "Скорость/дуплекс" -#: templates/dcim/interface.html:74 +#: templates/dcim/interface.html:73 msgid "PoE Mode" msgstr "Режим PoE" -#: templates/dcim/interface.html:78 +#: templates/dcim/interface.html:77 msgid "PoE Type" msgstr "Тип PoE" -#: templates/dcim/interface.html:82 -#: templates/virtualization/vminterface.html:66 +#: templates/dcim/interface.html:81 +#: templates/virtualization/vminterface.html:63 msgid "802.1Q Mode" msgstr "Режим 802.1Q" -#: templates/dcim/interface.html:130 -#: templates/virtualization/vminterface.html:62 +#: templates/dcim/interface.html:125 +#: templates/virtualization/vminterface.html:59 msgid "MAC Address" msgstr "MAC-адрес" -#: templates/dcim/interface.html:157 +#: templates/dcim/interface.html:151 msgid "Wireless Link" msgstr "Беспроводная связь" -#: templates/dcim/interface.html:226 vpn/choices.py:55 +#: templates/dcim/interface.html:218 vpn/choices.py:55 msgid "Peer" msgstr "Peer" -#: templates/dcim/interface.html:238 +#: templates/dcim/interface.html:230 #: templates/wireless/inc/wirelesslink_interface.html:26 msgid "Channel" msgstr "Канал" -#: templates/dcim/interface.html:247 +#: templates/dcim/interface.html:239 #: templates/wireless/inc/wirelesslink_interface.html:32 msgid "Channel Frequency" msgstr "Частота канала" -#: templates/dcim/interface.html:250 templates/dcim/interface.html:258 -#: templates/dcim/interface.html:269 templates/dcim/interface.html:277 +#: templates/dcim/interface.html:242 templates/dcim/interface.html:250 +#: templates/dcim/interface.html:261 templates/dcim/interface.html:269 msgid "MHz" msgstr "МГц" -#: templates/dcim/interface.html:266 +#: templates/dcim/interface.html:258 #: templates/wireless/inc/wirelesslink_interface.html:42 msgid "Channel Width" msgstr "Ширина канала" -#: templates/dcim/interface.html:295 templates/wireless/wirelesslan.html:15 -#: templates/wireless/wirelesslink.html:24 wireless/forms/bulk_edit.py:59 -#: wireless/forms/bulk_edit.py:101 wireless/forms/filtersets.py:39 -#: wireless/forms/filtersets.py:79 wireless/models.py:81 +#: templates/dcim/interface.html:285 templates/wireless/wirelesslan.html:14 +#: templates/wireless/wirelesslink.html:21 wireless/forms/bulk_edit.py:60 +#: wireless/forms/bulk_edit.py:102 wireless/forms/filtersets.py:40 +#: wireless/forms/filtersets.py:80 wireless/models.py:81 #: wireless/models.py:155 wireless/tables/wirelesslan.py:44 msgid "SSID" msgstr "SSID" -#: templates/dcim/interface.html:316 +#: templates/dcim/interface.html:305 msgid "LAG Members" msgstr "Члены LAG" -#: templates/dcim/interface.html:335 +#: templates/dcim/interface.html:323 msgid "No member interfaces" msgstr "Нет интерфейсов участников" -#: templates/dcim/interface.html:359 templates/ipam/fhrpgroup.html:80 +#: templates/dcim/interface.html:343 templates/ipam/fhrpgroup.html:73 #: templates/ipam/iprange/ip_addresses.html:7 #: templates/ipam/prefix/ip_addresses.html:7 -#: templates/virtualization/vminterface.html:96 +#: templates/virtualization/vminterface.html:89 msgid "Add IP Address" msgstr "Добавить IP-адрес" -#: templates/dcim/inventoryitem.html:25 +#: templates/dcim/inventoryitem.html:24 msgid "Parent Item" msgstr "Родительский товар" -#: templates/dcim/inventoryitem.html:49 +#: templates/dcim/inventoryitem.html:48 msgid "Part ID" msgstr "Номер модели" -#: templates/dcim/inventoryitem_bulk_delete.html:5 -msgid "This will also delete all child inventory items of those listed" -msgstr "" -"Это также приведет к удалению всего детского инвентаря из перечисленных" - -#: templates/dcim/inventoryitem_edit.html:33 -msgid "Component Assignment" -msgstr "Назначение компонентов" - -#: templates/dcim/inventoryitem_edit.html:59 -#: templates/dcim/poweroutlet.html:18 templates/dcim/powerport.html:81 -msgid "Power Outlet" -msgstr "Розетка питания" - #: templates/dcim/location.html:17 msgid "Add Child Location" msgstr "Добавить дочернюю локацию" -#: templates/dcim/location.html:76 +#: templates/dcim/location.html:58 templates/dcim/site.html:55 +msgid "Facility" +msgstr "Объект" + +#: templates/dcim/location.html:77 msgid "Child Locations" msgstr "Дочерние локации" -#: templates/dcim/location.html:84 templates/dcim/site.html:137 +#: templates/dcim/location.html:81 templates/dcim/site.html:130 msgid "Add a Location" msgstr "Добавить локацию" -#: templates/dcim/location.html:98 templates/dcim/site.html:151 +#: templates/dcim/location.html:94 templates/dcim/site.html:143 msgid "Add a Device" msgstr "Добавить устройство" @@ -10941,113 +11463,101 @@ msgstr "Добавить тип устройства" msgid "Add Module Type" msgstr "Добавить тип модуля" -#: templates/dcim/powerfeed.html:56 +#: templates/dcim/powerfeed.html:53 msgid "Connected Device" msgstr "Подключенное устройство" -#: templates/dcim/powerfeed.html:66 +#: templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" msgstr "Использование (распределенное)" -#: templates/dcim/powerfeed.html:85 +#: templates/dcim/powerfeed.html:80 msgid "Electrical Characteristics" msgstr "Электрические характеристики" -#: templates/dcim/powerfeed.html:95 +#: templates/dcim/powerfeed.html:88 msgctxt "Abbreviation for volts" msgid "V" msgstr "V" -#: templates/dcim/powerfeed.html:99 +#: templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" msgstr "A" -#: templates/dcim/poweroutlet.html:51 +#: templates/dcim/poweroutlet.html:48 msgid "Feed Leg" msgstr "Фаза электропитания" -#: templates/dcim/powerpanel.html:77 +#: templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" msgstr "Добавить каналы питания" -#: templates/dcim/powerport.html:47 +#: templates/dcim/powerport.html:44 msgid "Maximum Draw" msgstr "Максимальное потребление" -#: templates/dcim/powerport.html:51 +#: templates/dcim/powerport.html:48 msgid "Allocated Draw" msgstr "Выделенная мощность" -#: templates/dcim/rack.html:66 +#: templates/dcim/rack.html:63 msgid "Space Utilization" msgstr "Использование пространства" -#: templates/dcim/rack.html:96 +#: templates/dcim/rack.html:91 msgid "descending" msgstr "по убыванию" -#: templates/dcim/rack.html:96 +#: templates/dcim/rack.html:91 msgid "ascending" msgstr "по возрастанию" -#: templates/dcim/rack.html:99 +#: templates/dcim/rack.html:94 msgid "Starting Unit" msgstr "Начальный юнит" -#: templates/dcim/rack.html:125 +#: templates/dcim/rack.html:120 msgid "Mounting Depth" msgstr "Глубина монтажа" -#: templates/dcim/rack.html:135 +#: templates/dcim/rack.html:130 msgid "Rack Weight" msgstr "Вес стойки" -#: templates/dcim/rack.html:145 templates/dcim/rack_edit.html:67 +#: templates/dcim/rack.html:140 msgid "Maximum Weight" msgstr "Максимальный вес" -#: templates/dcim/rack.html:155 +#: templates/dcim/rack.html:150 msgid "Total Weight" msgstr "Общий вес" -#: templates/dcim/rack.html:173 templates/dcim/rack_elevation_list.html:16 +#: templates/dcim/rack.html:167 templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Изображения и лейблы" -#: templates/dcim/rack.html:174 templates/dcim/rack_elevation_list.html:17 +#: templates/dcim/rack.html:168 templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Только изображения" -#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:18 +#: templates/dcim/rack.html:169 templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Только лейблы" -#: templates/dcim/rack/reservations.html:9 +#: templates/dcim/rack/reservations.html:8 msgid "Add reservation" msgstr "Добавить бронирование" -#: templates/dcim/rack_edit.html:21 -msgid "Inventory Control" -msgstr "Управление запасами" - -#: templates/dcim/rack_edit.html:45 -msgid "Outer Dimensions" -msgstr "Внешние размеры" - -#: templates/dcim/rack_edit.html:56 templates/dcim/rack_edit.html:71 -msgid "Unit" -msgstr "Юнит" - #: templates/dcim/rack_elevation_list.html:12 msgid "View List" msgstr "Показать список" -#: templates/dcim/rack_elevation_list.html:27 +#: templates/dcim/rack_elevation_list.html:25 msgid "Sort By" msgstr "Сортировать по" -#: templates/dcim/rack_elevation_list.html:77 +#: templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" msgstr "Стойки не найдены" @@ -11055,7 +11565,7 @@ msgstr "Стойки не найдены" msgid "View Elevations" msgstr "Просмотр высот" -#: templates/dcim/rackreservation.html:47 +#: templates/dcim/rackreservation.html:42 msgid "Reservation Details" msgstr "Сведения о бронировании" @@ -11063,7 +11573,7 @@ msgstr "Сведения о бронировании" msgid "Add Rack" msgstr "Добавить стойку" -#: templates/dcim/rearport.html:53 +#: templates/dcim/rearport.html:50 msgid "Positions" msgstr "Позиции" @@ -11071,58 +11581,54 @@ msgstr "Позиции" msgid "Add Site" msgstr "Добавить сайт" -#: templates/dcim/region.html:56 +#: templates/dcim/region.html:55 msgid "Child Regions" msgstr "Дочерние регионы" -#: templates/dcim/region.html:64 +#: templates/dcim/region.html:59 msgid "Add Region" msgstr "Добавить регион" -#: templates/dcim/site.html:56 -msgid "Facility" -msgstr "Объект" - -#: templates/dcim/site.html:64 +#: templates/dcim/site.html:63 msgid "Time Zone" msgstr "Часовой пояс" -#: templates/dcim/site.html:67 +#: templates/dcim/site.html:66 msgid "UTC" msgstr "UTC" -#: templates/dcim/site.html:68 +#: templates/dcim/site.html:67 msgid "Site time" msgstr "Время работы сайта" -#: templates/dcim/site.html:75 +#: templates/dcim/site.html:74 msgid "Physical Address" msgstr "Физический адрес" -#: templates/dcim/site.html:81 +#: templates/dcim/site.html:80 msgid "Map" msgstr "Карта" -#: templates/dcim/site.html:92 +#: templates/dcim/site.html:89 msgid "Shipping Address" msgstr "Адрес доставки" -#: templates/dcim/sitegroup.html:56 templates/tenancy/contactgroup.html:49 -#: templates/tenancy/tenantgroup.html:58 -#: templates/wireless/wirelesslangroup.html:56 +#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46 +#: templates/tenancy/tenantgroup.html:55 +#: templates/wireless/wirelesslangroup.html:55 msgid "Child Groups" msgstr "Дочерние группы" -#: templates/dcim/sitegroup.html:64 +#: templates/dcim/sitegroup.html:59 msgid "Add Site Group" msgstr "Добавить группу сайтов" #: templates/dcim/trace/attachment.html:5 -#: templates/extras/exporttemplate.html:37 +#: templates/extras/exporttemplate.html:31 msgid "Attachment" msgstr "Вложение" -#: templates/dcim/virtualchassis.html:86 +#: templates/dcim/virtualchassis.html:57 msgid "Add Member" msgstr "Добавить участника" @@ -11130,25 +11636,32 @@ msgstr "Добавить участника" msgid "Member Devices" msgstr "Устройства для участников" -#: templates/dcim/virtualchassis_add_member.html:6 +#: templates/dcim/virtualchassis_add_member.html:10 #, python-format msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" msgstr "Добавить нового участника в виртуальное шасси %(virtual_chassis)s" -#: templates/dcim/virtualchassis_add_member.html:17 +#: templates/dcim/virtualchassis_add_member.html:19 msgid "Add New Member" msgstr "Добавить нового участника" -#: templates/dcim/virtualchassis_add_member.html:25 -msgid "Add Another" -msgstr "Добавить еще" +#: templates/dcim/virtualchassis_add_member.html:27 +#: templates/generic/object_edit.html:78 +#: templates/users/objectpermission.html:31 users/forms/filtersets.py:68 +#: users/forms/model_forms.py:312 +msgid "Actions" +msgstr "Действия" + +#: templates/dcim/virtualchassis_add_member.html:29 +msgid "Save & Add Another" +msgstr "Сохранить и добавить еще" #: templates/dcim/virtualchassis_edit.html:7 #, python-format msgid "Editing Virtual Chassis %(name)s" msgstr "Редактирование виртуального корпуса %(name)s" -#: templates/dcim/virtualchassis_edit.html:54 +#: templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" msgstr "Стойка/Юнит" @@ -11165,7 +11678,7 @@ msgstr "" "Вы действительно хотите удалить %(device)s из виртуального " "шасси %(name)s?" -#: templates/dcim/virtualdevicecontext.html:29 templates/vpn/l2vpn.html:19 +#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 msgid "Identifier" msgstr "Идентификатор" @@ -11271,39 +11784,15 @@ msgstr "" "можете проверить это, подключившись к базе данных NetBox, и отправив запрос " "на ВЫБЕРИТЕ ВЕРСИЮ ()." -#: templates/extras/admin/plugins_list.html:4 -#: templates/extras/admin/plugins_list.html:9 -#: templates/extras/admin/plugins_list.html:13 -msgid "Installed Plugins" -msgstr "Установленные плагины" - -#: templates/extras/admin/plugins_list.html:23 -msgid "Package Name" -msgstr "Имя пакета" - -#: templates/extras/admin/plugins_list.html:24 -msgid "Author" -msgstr "Автор" - -#: templates/extras/admin/plugins_list.html:25 -msgid "Author Email" -msgstr "Почта" - -#: templates/extras/admin/plugins_list.html:27 -#: templates/vpn/ipsecprofile.html:47 vpn/forms/bulk_edit.py:140 -#: vpn/forms/bulk_import.py:172 vpn/tables/crypto.py:61 -msgid "Version" -msgstr "Версия" - -#: templates/extras/configcontext.html:46 -#: templates/extras/configtemplate.html:38 -#: templates/extras/exporttemplate.html:57 +#: templates/extras/configcontext.html:45 +#: templates/extras/configtemplate.html:37 +#: templates/extras/exporttemplate.html:51 msgid "The data file associated with this object has been deleted" msgstr "Файл данных, связанный с этим объектом, был удален" -#: templates/extras/configcontext.html:55 -#: templates/extras/configtemplate.html:47 -#: templates/extras/exporttemplate.html:66 +#: templates/extras/configcontext.html:54 +#: templates/extras/configtemplate.html:46 +#: templates/extras/exporttemplate.html:60 msgid "Data Synced" msgstr "Синхронизация данных" @@ -11313,81 +11802,81 @@ msgstr "Синхронизация данных" msgid "Sync Data" msgstr "Синхронизация данных" -#: templates/extras/configtemplate.html:58 +#: templates/extras/configtemplate.html:56 msgid "Environment Parameters" msgstr "Параметры окружающей среды" -#: templates/extras/configtemplate.html:69 -#: templates/extras/exporttemplate.html:88 +#: templates/extras/configtemplate.html:67 +#: templates/extras/exporttemplate.html:79 msgid "Template" msgstr "Шаблон" -#: templates/extras/customfield.html:31 templates/extras/customlink.html:22 +#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 msgid "Group Name" msgstr "Название группы" -#: templates/extras/customfield.html:43 +#: templates/extras/customfield.html:42 msgid "Cloneable" msgstr "Клонируемый" -#: templates/extras/customfield.html:53 +#: templates/extras/customfield.html:52 msgid "Default Value" msgstr "Значение по умолчанию" -#: templates/extras/customfield.html:64 +#: templates/extras/customfield.html:61 msgid "Search Weight" msgstr "Вес поиска" -#: templates/extras/customfield.html:74 +#: templates/extras/customfield.html:71 msgid "Filter Logic" msgstr "Логика фильтрации" -#: templates/extras/customfield.html:78 +#: templates/extras/customfield.html:75 msgid "Display Weight" msgstr "Вес дисплея" -#: templates/extras/customfield.html:82 +#: templates/extras/customfield.html:79 msgid "UI Visible" msgstr "Видимый пользовательский интерфейс" -#: templates/extras/customfield.html:86 +#: templates/extras/customfield.html:83 msgid "UI Editable" msgstr "Редактируемый UI" -#: templates/extras/customfield.html:108 +#: templates/extras/customfield.html:103 msgid "Validation Rules" msgstr "Правила валидации" -#: templates/extras/customfield.html:112 +#: templates/extras/customfield.html:106 msgid "Minimum Value" msgstr "Минимальное значение" -#: templates/extras/customfield.html:116 +#: templates/extras/customfield.html:110 msgid "Maximum Value" msgstr "Максимальное значение" -#: templates/extras/customfield.html:120 +#: templates/extras/customfield.html:114 msgid "Regular Expression" msgstr "Регулярное выражение" -#: templates/extras/customlink.html:30 +#: templates/extras/customlink.html:29 msgid "Button Class" msgstr "Класс кнопок" -#: templates/extras/customlink.html:41 templates/extras/exporttemplate.html:73 -#: templates/extras/savedfilter.html:41 +#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66 +#: templates/extras/savedfilter.html:39 msgid "Assigned Models" msgstr "Назначенные модели" -#: templates/extras/customlink.html:57 +#: templates/extras/customlink.html:53 msgid "Link Text" msgstr "Текст ссылки" -#: templates/extras/customlink.html:65 +#: templates/extras/customlink.html:61 msgid "Link URL" msgstr "URL-адрес ссылки" -#: templates/extras/dashboard/reset.html:4 templates/home.html:63 +#: templates/extras/dashboard/reset.html:4 templates/home.html:66 msgid "Reset Dashboard" msgstr "Сбросить панель управления" @@ -11415,7 +11904,7 @@ msgstr "Добавить виджет" msgid "No bookmarks have been added yet." msgstr "Пока не добавлено ни одной закладки." -#: templates/extras/dashboard/widgets/objectcounts.html:15 +#: templates/extras/dashboard/widgets/objectcounts.html:10 msgid "No permission" msgstr "Нет прав" @@ -11439,72 +11928,39 @@ msgstr "Возникла проблема при загрузке RSS-канал msgid "HTTP" msgstr "HTTP" -#: templates/extras/eventrule.html:63 +#: templates/extras/eventrule.html:52 msgid "Job start" msgstr "Начало работы" -#: templates/extras/eventrule.html:67 +#: templates/extras/eventrule.html:56 msgid "Job end" msgstr "Завершение задания" -#: templates/extras/exporttemplate.html:29 +#: templates/extras/exporttemplate.html:23 msgid "MIME Type" msgstr "Тип MIME" -#: templates/extras/exporttemplate.html:33 +#: templates/extras/exporttemplate.html:27 msgid "File Extension" msgstr "Расширение файла" -#: templates/extras/htmx/report_result.html:9 #: templates/extras/htmx/script_result.html:10 msgid "Scheduled for" msgstr "Запланировано на" -#: templates/extras/htmx/report_result.html:14 #: templates/extras/htmx/script_result.html:15 msgid "Duration" msgstr "Продолжительность" -#: templates/extras/htmx/report_result.html:20 -msgid "Report Methods" -msgstr "Методы отчета" +#: templates/extras/htmx/script_result.html:23 +msgid "Test Summary" +msgstr "Сводка теста" -#: templates/extras/htmx/report_result.html:38 -msgid "Report Results" -msgstr "Результаты отчета" +#: templates/extras/htmx/script_result.html:43 +msgid "Log" +msgstr "Журнал" -#: templates/extras/htmx/report_result.html:44 -#: templates/extras/htmx/script_result.html:26 -msgid "Level" -msgstr "Уровень" - -#: templates/extras/htmx/report_result.html:46 -#: templates/extras/htmx/script_result.html:27 -msgid "Message" -msgstr "Сообщение" - -#: templates/extras/htmx/script_result.html:21 -msgid "Script Log" -msgstr "Журнал сценариев" - -#: templates/extras/htmx/script_result.html:25 -msgid "Line" -msgstr "Линия" - -#: templates/extras/htmx/script_result.html:38 -msgid "No log output" -msgstr "Нет вывода журнала" - -#: templates/extras/htmx/script_result.html:46 -msgid "Exec Time" -msgstr "Время работы" - -#: templates/extras/htmx/script_result.html:46 -msgctxt "Unit of time" -msgid "seconds" -msgstr "секунды" - -#: templates/extras/htmx/script_result.html:50 +#: templates/extras/htmx/script_result.html:52 msgid "Output" msgstr "Вывод" @@ -11516,7 +11972,7 @@ msgstr "Загрузка" msgid "Results pending" msgstr "Результаты ожидаются" -#: templates/extras/journalentry.html:16 +#: templates/extras/journalentry.html:15 msgid "Journal Entry" msgstr "Запись в журнале" @@ -11551,129 +12007,96 @@ msgstr "Локальный контекст конфигурации перез msgid "Source Contexts" msgstr "Исходные контексты" -#: templates/extras/object_journal.html:18 +#: templates/extras/object_journal.html:17 msgid "New Journal Entry" msgstr "Новая запись в журнале" -#: templates/extras/objectchange.html:29 -#: templates/users/objectpermission.html:45 +#: templates/extras/objectchange.html:28 +#: templates/users/objectpermission.html:42 msgid "Change" msgstr "Изменить" -#: templates/extras/objectchange.html:84 +#: templates/extras/objectchange.html:78 msgid "Difference" msgstr "Разница" -#: templates/extras/objectchange.html:87 +#: templates/extras/objectchange.html:81 msgid "Previous" msgstr "Предыдущий" -#: templates/extras/objectchange.html:90 +#: templates/extras/objectchange.html:84 msgid "Next" msgstr "Следующий" -#: templates/extras/objectchange.html:98 +#: templates/extras/objectchange.html:92 msgid "Object Created" msgstr "Объект создан" -#: templates/extras/objectchange.html:100 +#: templates/extras/objectchange.html:94 msgid "Object Deleted" msgstr "Объект удален" -#: templates/extras/objectchange.html:102 +#: templates/extras/objectchange.html:96 msgid "No Changes" msgstr "Без изменений" -#: templates/extras/objectchange.html:117 +#: templates/extras/objectchange.html:110 msgid "Pre-Change Data" msgstr "Данные перед изменением" -#: templates/extras/objectchange.html:126 +#: templates/extras/objectchange.html:121 msgid "Warning: Comparing non-atomic change to previous change record" msgstr "" "Предупреждение: сравнение неатомарного изменения с предыдущей записью " "изменений" -#: templates/extras/objectchange.html:136 +#: templates/extras/objectchange.html:130 msgid "Post-Change Data" msgstr "Данные после изменений" -#: templates/extras/objectchange.html:157 +#: templates/extras/objectchange.html:153 #, python-format msgid "See All %(count)s Changes" msgstr "Показать все %(count)s Изменения" -#: templates/extras/report.html:14 -msgid "This report is invalid and cannot be run." -msgstr "Этот отчет недействителен и не может быть запущен." - -#: templates/extras/report.html:23 templates/extras/report_list.html:88 -msgid "Run Again" -msgstr "Повторить" - -#: templates/extras/report.html:25 templates/extras/report_list.html:90 -msgid "Run Report" -msgstr "Запустить отчет" - -#: templates/extras/report.html:36 -msgid "Last run" -msgstr "Последний запуск" - #: templates/extras/report/base.html:30 msgid "Report" msgstr "Отчет" -#: templates/extras/report_list.html:48 templates/extras/script_list.html:54 -msgid "Last Run" -msgstr "Последний запуск" - -#: templates/extras/report_list.html:70 templates/extras/script_list.html:77 -msgid "Never" -msgstr "Никогда" - -#: templates/extras/report_list.html:75 -msgid "Report has no test methods" -msgstr "В отчете нет методов тестирования" - -#: templates/extras/report_list.html:76 -msgid "Invalid" -msgstr "Недействительный" - -#: templates/extras/report_list.html:125 -msgid "No Reports Found" -msgstr "Отчеты не найдены" - -#: templates/extras/report_list.html:128 -#, python-format -msgid "" -"Get started by creating a report from " -"an uploaded file or data source." -msgstr "" -"Начните с создание отчета из " -"загруженного файла или источника данных." - -#: templates/extras/script.html:13 +#: templates/extras/script.html:14 msgid "You do not have permission to run scripts" msgstr "У вас нет разрешения на запуск скриптов" -#: templates/extras/script.html:37 +#: templates/extras/script.html:40 templates/extras/script.html:44 +#: templates/extras/script_list.html:88 msgid "Run Script" msgstr "Запустить скрипт" -#: templates/extras/script_list.html:44 -#, python-format -msgid "" -"Script file at %(file_path)s could not be " -"loaded." -msgstr "" -"Файл сценария по адресу %(file_path)s не удалось" -" загрузить." +#: templates/extras/script/jobs.html:16 +msgid "Script no longer exists in the source file." +msgstr "Скрипт больше не существует в исходном файле." -#: templates/extras/script_list.html:91 +#: templates/extras/script_list.html:48 +msgid "Last Run" +msgstr "Последний запуск" + +#: templates/extras/script_list.html:63 +msgid "Script is no longer present in the source file" +msgstr "Скрипт больше не присутствует в исходном файле" + +#: templates/extras/script_list.html:76 +msgid "Never" +msgstr "Никогда" + +#: templates/extras/script_list.html:86 +msgid "Run Again" +msgstr "Повторить" + +#: templates/extras/script_list.html:140 msgid "No Scripts Found" msgstr "Скрипты не найдены" -#: templates/extras/script_list.html:94 +#: templates/extras/script_list.html:143 #, python-format msgid "" "Get started by creating a script from " @@ -11682,121 +12105,121 @@ msgstr "" "Начните с создание сценария из " "загруженного файла или источника данных." -#: templates/extras/script_result.html:42 -msgid "Log" -msgstr "Журнал" +#: templates/extras/script_result.html:35 +#: templates/generic/object_list.html:50 templates/search.html:13 +msgid "Results" +msgstr "Результаты" -#: templates/extras/tag.html:35 +#: templates/extras/tag.html:32 msgid "Tagged Items" msgstr "Элементы с тэгом" -#: templates/extras/tag.html:47 +#: templates/extras/tag.html:43 msgid "Allowed Object Types" msgstr "Разрешенные типы объектов" -#: templates/extras/tag.html:56 +#: templates/extras/tag.html:51 msgid "Any" msgstr "Любое" -#: templates/extras/tag.html:63 +#: templates/extras/tag.html:57 msgid "Tagged Item Types" msgstr "Типы товаров с тегами" -#: templates/extras/tag.html:89 +#: templates/extras/tag.html:81 msgid "Tagged Objects" msgstr "Объекты с тегами" -#: templates/extras/webhook.html:33 +#: templates/extras/webhook.html:26 msgid "HTTP Method" msgstr "Метод HTTP" -#: templates/extras/webhook.html:41 +#: templates/extras/webhook.html:34 msgid "HTTP Content Type" msgstr "Тип содержимого HTTP" -#: templates/extras/webhook.html:58 +#: templates/extras/webhook.html:47 msgid "SSL Verification" msgstr "Проверка SSL" -#: templates/extras/webhook.html:73 +#: templates/extras/webhook.html:61 msgid "Additional Headers" msgstr "Дополнительные заголовки" -#: templates/extras/webhook.html:85 +#: templates/extras/webhook.html:73 msgid "Body Template" msgstr "Шаблон тела запроса" -#: templates/generic/bulk_add_component.html:15 +#: templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" msgstr "Массовое создание" -#: templates/generic/bulk_add_component.html:20 -#: templates/generic/bulk_edit.html:28 +#: templates/generic/bulk_add_component.html:34 +#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33 msgid "Selected Objects" msgstr "Выбранные объекты" -#: templates/generic/bulk_add_component.html:46 +#: templates/generic/bulk_add_component.html:58 msgid "to Add" msgstr "добавить" -#: templates/generic/bulk_delete.html:24 +#: templates/generic/bulk_delete.html:27 +msgid "Bulk Delete" +msgstr "Массовое удаление" + +#: templates/generic/bulk_delete.html:49 msgid "Confirm Bulk Deletion" msgstr "Подтвердить массовое удаление" -#: templates/generic/bulk_delete.html:26 -msgctxt "Noun" -msgid "Warning" -msgstr "Предупреждение" - -#: templates/generic/bulk_delete.html:27 +#: templates/generic/bulk_delete.html:50 #, python-format msgid "" "The following operation will delete %(count)s " -"%(type_plural)s. Please carefully review the objects to be deleted and " -"confirm below." +"%(type_plural)s. Please carefully review the selected objects and confirm " +"this action." msgstr "" "Следующая операция удалит %(count)s %(type_plural)s. " -"Пожалуйста, внимательно просмотрите объекты, которые необходимо удалить, и " -"подтвердите их ниже." +"Пожалуйста, внимательно просмотрите выбранные объекты и подтвердите это " +"действие." -#: templates/generic/bulk_edit.html:16 templates/generic/object_edit.html:17 +#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 msgid "Editing" msgstr "Редактирование" -#: templates/generic/bulk_edit.html:23 +#: templates/generic/bulk_edit.html:28 msgid "Bulk Edit" msgstr "Массовое редактирование" -#: templates/generic/bulk_edit.html:124 templates/generic/bulk_rename.html:42 +#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66 msgid "Apply" msgstr "Подать заявку" -#: templates/generic/bulk_import.html:14 +#: templates/generic/bulk_import.html:19 msgid "Bulk Import" msgstr "Массовый импорт" -#: templates/generic/bulk_import.html:20 +#: templates/generic/bulk_import.html:25 msgid "Direct Import" msgstr "Прямой импорт" -#: templates/generic/bulk_import.html:25 +#: templates/generic/bulk_import.html:30 msgid "Upload File" msgstr "Загрузить файл" -#: templates/generic/bulk_import.html:51 templates/generic/bulk_import.html:73 -#: templates/generic/bulk_import.html:95 +#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80 +#: templates/generic/bulk_import.html:102 msgid "Submit" msgstr "Отправить" -#: templates/generic/bulk_import.html:110 +#: templates/generic/bulk_import.html:113 msgid "Field Options" msgstr "Опции полей" -#: templates/generic/bulk_import.html:117 +#: templates/generic/bulk_import.html:119 msgid "Accessor" msgstr "Аксессор" -#: templates/generic/bulk_import.html:154 +#: templates/generic/bulk_import.html:161 msgid "Import Value" msgstr "Стоимость импорта" @@ -11824,46 +12247,47 @@ msgstr "" "Например, %(example)s будет идентифицировать VRF по индикатору " "маршрута." -#: templates/generic/bulk_remove.html:13 +#: templates/generic/bulk_remove.html:28 +msgid "Bulk Remove" +msgstr "Массовое удаление" + +#: templates/generic/bulk_remove.html:42 msgid "Confirm Bulk Removal" msgstr "Подтвердите массовое удаление" -#: templates/generic/bulk_remove.html:15 +#: templates/generic/bulk_remove.html:43 #, python-format msgid "" -"Warning: The following operation will remove %(count)s " -"%(obj_type_plural)s from %(parent_obj)s." -msgstr "" -"Предупреждение: Следующая операция приведет к удалению " -"%(count)s %(obj_type_plural)s из %(parent_obj)s." - -#: templates/generic/bulk_remove.html:21 -#, python-format -msgid "" -"Please carefully review the %(obj_type_plural)s to be removed and confirm " -"below." +"The following operation will remove %(count)s %(obj_type_plural)s from " +"%(parent_obj)s. Please carefully review the %(obj_type_plural)s to be " +"removed and confirm below." msgstr "" +"Следующая операция удалит %(count)s %(obj_type_plural)s из %(parent_obj)s. " "Пожалуйста, внимательно ознакомьтесь с %(obj_type_plural)s должно быть " "удалено и подтверждено ниже." -#: templates/generic/bulk_remove.html:38 +#: templates/generic/bulk_remove.html:64 #, python-format -msgid "Delete these %(count)s %(obj_type_plural)s" +msgid "Remove these %(count)s %(obj_type_plural)s" msgstr "Удалите эти %(count)s %(obj_type_plural)s" -#: templates/generic/bulk_rename.html:7 +#: templates/generic/bulk_rename.html:20 msgid "Renaming" msgstr "Переименование" -#: templates/generic/bulk_rename.html:16 +#: templates/generic/bulk_rename.html:27 +msgid "Bulk Rename" +msgstr "Массовое переименование" + +#: templates/generic/bulk_rename.html:39 msgid "Current Name" msgstr "Текущее имя" -#: templates/generic/bulk_rename.html:17 +#: templates/generic/bulk_rename.html:40 msgid "New Name" msgstr "Новое имя" -#: templates/generic/bulk_rename.html:40 +#: templates/generic/bulk_rename.html:64 #: utilities/templates/widgets/markdown_input.html:11 msgid "Preview" msgstr "Предварительный просмотр" @@ -11872,83 +12296,76 @@ msgstr "Предварительный просмотр" msgid "Are you sure" msgstr "Вы уверены" -#: templates/generic/confirmation_form.html:19 +#: templates/generic/confirmation_form.html:20 msgid "Confirm" msgstr "Подтвердить" -#: templates/generic/object.html:51 -msgid "ago" -msgstr "тому назад" - -#: templates/generic/object_children.html:27 +#: templates/generic/object_children.html:47 #: utilities/templates/buttons/bulk_edit.html:4 msgid "Edit Selected" msgstr "Изменить выбранное" -#: templates/generic/object_children.html:41 +#: templates/generic/object_children.html:61 #: utilities/templates/buttons/bulk_delete.html:4 msgid "Delete Selected" msgstr "Удалить выбранное" -#: templates/generic/object_edit.html:19 +#: templates/generic/object_edit.html:24 #, python-format msgid "Add a new %(object_type)s" msgstr "Добавить новое %(object_type)s" -#: templates/generic/object_edit.html:47 +#: templates/generic/object_edit.html:35 msgid "View model documentation" msgstr "Смотреть документацию по модели" -#: templates/generic/object_edit.html:48 +#: templates/generic/object_edit.html:36 msgid "Help" msgstr "Помощь" -#: templates/generic/object_edit.html:73 +#: templates/generic/object_edit.html:83 msgid "Create & Add Another" msgstr "Создайте и добавьте еще" -#: templates/generic/object_list.html:48 templates/search.html:13 -msgid "Results" -msgstr "Результаты" - -#: templates/generic/object_list.html:54 +#: templates/generic/object_list.html:57 msgid "Filters" msgstr "Фильтры" -#: templates/generic/object_list.html:94 +#: templates/generic/object_list.html:96 #, python-format msgid "" -"Select all %(count)s %(object_type_plural)s matching query" +"Select all %(count)s " +"%(object_type_plural)s matching query" msgstr "" -"Выберите все %(count)s %(object_type_plural)s " -"соответствующий запрос" +"Выберите все %(count)s " +"%(object_type_plural)s соответствующий запрос" -#: templates/home.html:12 +#: templates/home.html:15 msgid "New Release Available" msgstr "Доступен новый релиз" -#: templates/home.html:14 +#: templates/home.html:16 msgid "is available" msgstr "доступен" -#: templates/home.html:17 +#: templates/home.html:18 msgctxt "Document title" msgid "Upgrade Instructions" msgstr "Инструкции по обновлению" -#: templates/home.html:37 +#: templates/home.html:40 msgid "Unlock Dashboard" msgstr "Разблокируйте панель управления" -#: templates/home.html:46 +#: templates/home.html:49 msgid "Lock Dashboard" msgstr "Заблокировать панель управления" -#: templates/home.html:57 +#: templates/home.html:60 msgid "Add Widget" msgstr "Добавить виджет" -#: templates/home.html:60 +#: templates/home.html:63 msgid "Save Layout" msgstr "Сохранить макет" @@ -11973,12 +12390,12 @@ msgstr "В результате этого действия следующие msgid "Select" msgstr "Выберите" -#: templates/inc/filter_list.html:50 +#: templates/inc/filter_list.html:42 #: utilities/templates/helpers/table_config_form.html:39 msgid "Reset" msgstr "Сбросить" -#: templates/inc/missing_prerequisites.html:7 +#: templates/inc/missing_prerequisites.html:8 #, python-format msgid "" "Before you can add a %(model)s you must first create a " @@ -11987,15 +12404,23 @@ msgstr "" "Прежде чем вы сможете добавить %(model)s вы должны сначала создать " "%(prerequisite_model)s." -#: templates/inc/paginator.html:38 templates/inc/paginator_htmx.html:53 -msgid "Per Page" -msgstr "На страницу" +#: templates/inc/paginator.html:14 +msgid "Page selection" +msgstr "Выбор страницы" -#: templates/inc/paginator.html:49 templates/inc/paginator_htmx.html:69 +#: templates/inc/paginator.html:74 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" msgstr "показывая %(start)s-%(end)s из %(total)s" +#: templates/inc/paginator.html:81 +msgid "Pagination options" +msgstr "Варианты разбиения на страницы" + +#: templates/inc/paginator.html:85 +msgid "Per Page" +msgstr "На страницу" + #: templates/inc/panels/image_attachments.html:10 msgid "Attach an image" msgstr "Прикрепите изображение" @@ -12008,33 +12433,28 @@ msgstr "Связанные объекты" msgid "No tags assigned" msgstr "Теги не назначены" -#: templates/inc/profile_button.html:12 templates/inc/profile_button.html:62 -msgid "Dark Mode" -msgstr "Темная тема" - -#: templates/inc/profile_button.html:45 -msgid "Log Out" -msgstr "Выйти" - -#: templates/inc/profile_button.html:53 -msgid "Log In" -msgstr "Войти" - -#: templates/inc/sync_warning.html:7 +#: templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" msgstr "Данные не синхронизированы с вышестоящим файлом" -#: templates/inc/table_controls_htmx.html:16 -#: templates/inc/table_controls_htmx.html:18 -msgid "Configure Table" -msgstr "Настроить таблицу" +#: templates/inc/user_menu.html:23 +msgid "Django Admin" +msgstr "Администратор Джанго" -#: templates/ipam/aggregate.html:15 templates/ipam/ipaddress.html:17 -#: templates/ipam/iprange.html:16 templates/ipam/prefix.html:16 +#: templates/inc/user_menu.html:40 +msgid "Log Out" +msgstr "Выйти" + +#: templates/inc/user_menu.html:47 templates/login.html:36 +msgid "Log In" +msgstr "Войти" + +#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 +#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 msgid "Family" msgstr "Семейство" -#: templates/ipam/aggregate.html:40 +#: templates/ipam/aggregate.html:39 msgid "Date Added" msgstr "Дата добавления" @@ -12043,26 +12463,22 @@ msgstr "Дата добавления" msgid "Add Prefix" msgstr "Добавить префикс" -#: templates/ipam/asn.html:24 +#: templates/ipam/asn.html:23 msgid "AS Number" msgstr "Номер AS" -#: templates/ipam/fhrpgroup.html:55 +#: templates/ipam/fhrpgroup.html:52 msgid "Authentication Type" msgstr "Тип аутентификации" -#: templates/ipam/fhrpgroup.html:59 +#: templates/ipam/fhrpgroup.html:56 msgid "Authentication Key" msgstr "Ключ аутентификации" -#: templates/ipam/fhrpgroup.html:72 +#: templates/ipam/fhrpgroup.html:69 msgid "Virtual IP Addresses" msgstr "Виртуальные IP-адреса" -#: templates/ipam/fhrpgroupassignment_edit.html:8 -msgid "FHRP Group Assignment" -msgstr "Групповое назначение FHRP" - #: templates/ipam/inc/ipaddress_edit_header.html:19 msgid "Assign IP" msgstr "Назначить IP-адрес" @@ -12071,18 +12487,18 @@ msgstr "Назначить IP-адрес" msgid "Bulk Create" msgstr "Массовое создание" -#: templates/ipam/inc/panels/fhrp_groups.html:12 -msgid "Virtual IPs" -msgstr "Виртуальные IP-адреса" - -#: templates/ipam/inc/panels/fhrp_groups.html:52 +#: templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" msgstr "Создать группу" -#: templates/ipam/inc/panels/fhrp_groups.html:57 +#: templates/ipam/inc/panels/fhrp_groups.html:15 msgid "Assign Group" msgstr "Назначить группу" +#: templates/ipam/inc/panels/fhrp_groups.html:25 +msgid "Virtual IPs" +msgstr "Виртуальные IP-адреса" + #: templates/ipam/inc/toggle_available.html:7 msgid "Show Assigned" msgstr "Показать назначенное" @@ -12095,12 +12511,12 @@ msgstr "Показать доступные" msgid "Show All" msgstr "Показать все" -#: templates/ipam/ipaddress.html:26 templates/ipam/iprange.html:48 -#: templates/ipam/prefix.html:25 +#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45 +#: templates/ipam/prefix.html:24 msgid "Global" msgstr "Глобальный" -#: templates/ipam/ipaddress.html:88 +#: templates/ipam/ipaddress.html:85 msgid "NAT (outside)" msgstr "NAT (снаружи)" @@ -12120,59 +12536,51 @@ msgstr "Результаты поиска" msgid "Bulk Add IP Addresses" msgstr "Массовое добавление IP-адресов" -#: templates/ipam/ipaddress_edit.html:35 -msgid "Interface Assignment" -msgstr "Назначение интерфейса" - -#: templates/ipam/ipaddress_edit.html:74 -msgid "NAT IP (Inside" -msgstr "NAT IP (внутренний" - -#: templates/ipam/iprange.html:20 +#: templates/ipam/iprange.html:17 msgid "Starting Address" msgstr "Начальный адрес" -#: templates/ipam/iprange.html:24 +#: templates/ipam/iprange.html:21 msgid "Ending Address" msgstr "Конечный адрес" -#: templates/ipam/iprange.html:36 templates/ipam/prefix.html:104 +#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110 msgid "Marked fully utilized" msgstr "Отмечено как полностью использованное" -#: templates/ipam/prefix.html:112 -msgid "Child IPs" -msgstr "Зависимые IP-адреса" - -#: templates/ipam/prefix.html:120 -msgid "Available IPs" -msgstr "Доступные IP-адреса" - -#: templates/ipam/prefix.html:132 -msgid "First available IP" -msgstr "Первый доступный IP-адрес" - -#: templates/ipam/prefix.html:151 +#: templates/ipam/prefix.html:99 msgid "Addressing Details" msgstr "Детали адресации" -#: templates/ipam/prefix.html:181 +#: templates/ipam/prefix.html:118 +msgid "Child IPs" +msgstr "Зависимые IP-адреса" + +#: templates/ipam/prefix.html:126 +msgid "Available IPs" +msgstr "Доступные IP-адреса" + +#: templates/ipam/prefix.html:138 +msgid "First available IP" +msgstr "Первый доступный IP-адрес" + +#: templates/ipam/prefix.html:179 msgid "Prefix Details" msgstr "Детали префикса" -#: templates/ipam/prefix.html:187 +#: templates/ipam/prefix.html:185 msgid "Network Address" msgstr "Сетевой адрес" -#: templates/ipam/prefix.html:191 +#: templates/ipam/prefix.html:189 msgid "Network Mask" msgstr "Сетевая маска" -#: templates/ipam/prefix.html:195 +#: templates/ipam/prefix.html:193 msgid "Wildcard Mask" msgstr "Обратная маска" -#: templates/ipam/prefix.html:199 +#: templates/ipam/prefix.html:197 msgid "Broadcast Address" msgstr "Адрес вещания" @@ -12196,44 +12604,23 @@ msgstr "Максимальная длина" msgid "Add Aggregate" msgstr "Добавить агрегат" -#: templates/ipam/routetarget.html:10 -msgid "Route Target" -msgstr "Цель маршрута" - -#: templates/ipam/routetarget.html:40 +#: templates/ipam/routetarget.html:38 msgid "Importing VRFs" msgstr "Импорт VRF" -#: templates/ipam/routetarget.html:49 +#: templates/ipam/routetarget.html:44 msgid "Exporting VRFs" msgstr "Экспорт VRF" -#: templates/ipam/routetarget.html:60 +#: templates/ipam/routetarget.html:52 msgid "Importing L2VPNs" msgstr "Импорт L2VPN" -#: templates/ipam/routetarget.html:69 +#: templates/ipam/routetarget.html:58 msgid "Exporting L2VPNs" msgstr "Экспорт L2VPN" -#: templates/ipam/service.html:22 templates/ipam/service_create.html:8 -#: templates/ipam/service_edit.html:8 -msgid "Service" -msgstr "Служба" - -#: templates/ipam/service_create.html:43 -msgid "From Template" -msgstr "Из шаблона" - -#: templates/ipam/service_create.html:48 -msgid "Custom" -msgstr "Настраиваемый" - -#: templates/ipam/service_edit.html:37 -msgid "Port(s)" -msgstr "Порт(ы)" - -#: templates/ipam/vlan.html:95 +#: templates/ipam/vlan.html:88 msgid "Add a Prefix" msgstr "Добавить префикс" @@ -12241,34 +12628,35 @@ msgstr "Добавить префикс" msgid "Add VLAN" msgstr "Добавить VLAN" -#: templates/ipam/vlangroup.html:43 +#: templates/ipam/vlangroup.html:42 msgid "Permitted VIDs" msgstr "Разрешенные VID" -#: templates/ipam/vrf.html:19 +#: templates/ipam/vrf.html:16 msgid "Route Distinguisher" msgstr "RD" -#: templates/ipam/vrf.html:32 +#: templates/ipam/vrf.html:29 msgid "Unique IP Space" msgstr "Уникальное IP-пространство" -#: templates/login.html:20 +#: templates/login.html:14 +msgid "NetBox logo" +msgstr "Логотип NetBox" + +#: templates/login.html:27 #: utilities/templates/form_helpers/render_errors.html:7 msgid "Errors" msgstr "Ошибки" -#: templates/login.html:48 +#: templates/login.html:53 msgid "Sign In" msgstr "Войти" -#: templates/login.html:54 -msgid "Or use a single sign-on (SSO) provider" -msgstr "Или воспользуйтесь услугой единого входа (SSO)" - -#: templates/login.html:68 -msgid "Toggle Color Mode" -msgstr "Переключить цветовой режим" +#: templates/login.html:61 +msgctxt "Denotes an alternative option" +msgid "Or" +msgstr "Или" #: templates/media_failure.html:7 msgid "Static Media Failure - NetBox" @@ -12322,41 +12710,37 @@ msgstr "" "Нажмите здесь чтобы снова попытаться загрузить " "NetBox." -#: templates/tenancy/contact.html:18 tenancy/filtersets.py:136 -#: tenancy/forms/bulk_edit.py:136 tenancy/forms/filtersets.py:101 -#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:109 -#: tenancy/forms/model_forms.py:132 tenancy/tables/contacts.py:98 +#: templates/tenancy/contact.html:18 tenancy/filtersets.py:148 +#: tenancy/forms/bulk_edit.py:137 tenancy/forms/filtersets.py:102 +#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:106 +#: tenancy/forms/model_forms.py:130 tenancy/tables/contacts.py:98 msgid "Contact" msgstr "Связаться" -#: templates/tenancy/contact.html:30 tenancy/forms/bulk_edit.py:98 +#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99 msgid "Title" msgstr "Заголовок" -#: templates/tenancy/contact.html:34 tenancy/forms/bulk_edit.py:103 +#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104 #: tenancy/tables/contacts.py:64 msgid "Phone" msgstr "Телефон" -#: templates/tenancy/contact.html:86 tenancy/tables/contacts.py:73 +#: templates/tenancy/contact.html:84 tenancy/tables/contacts.py:73 msgid "Assignments" msgstr "Задания" -#: templates/tenancy/contactassignment_edit.html:12 -msgid "Contact Assignment" -msgstr "Назначение контакта" - -#: templates/tenancy/contactgroup.html:19 tenancy/forms/forms.py:66 -#: tenancy/forms/model_forms.py:76 +#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66 +#: tenancy/forms/model_forms.py:75 msgid "Contact Group" msgstr "Контактная группа" -#: templates/tenancy/contactgroup.html:57 +#: templates/tenancy/contactgroup.html:50 msgid "Add Contact Group" msgstr "Добавить контактную группу" -#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:141 -#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:90 +#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:153 +#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Роль контакта" @@ -12368,16 +12752,16 @@ msgstr "Добавить контакт" msgid "Add Tenant" msgstr "Добавить тенант" -#: templates/tenancy/tenantgroup.html:27 tenancy/forms/model_forms.py:31 +#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:32 #: tenancy/tables/columns.py:51 tenancy/tables/columns.py:61 msgid "Tenant Group" msgstr "Группа тенантов" -#: templates/tenancy/tenantgroup.html:66 +#: templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" msgstr "Добавить группу тенантов" -#: templates/users/group.html:37 templates/users/user.html:65 +#: templates/users/group.html:39 templates/users/user.html:63 msgid "Assigned Permissions" msgstr "Назначенные разрешения" @@ -12386,49 +12770,40 @@ msgstr "Назначенные разрешения" msgid "Permission" msgstr "Разрешение" -#: templates/users/objectpermission.html:33 users/forms/filtersets.py:68 -#: users/forms/model_forms.py:322 -msgid "Actions" -msgstr "Действия" - -#: templates/users/objectpermission.html:37 +#: templates/users/objectpermission.html:34 msgid "View" msgstr "Вид" -#: templates/users/objectpermission.html:56 users/forms/model_forms.py:325 +#: templates/users/objectpermission.html:52 users/forms/model_forms.py:315 msgid "Constraints" msgstr "Ограничения" -#: templates/users/objectpermission.html:76 +#: templates/users/objectpermission.html:72 msgid "Assigned Users" msgstr "Назначенные пользователи" -#: templates/users/user.html:42 -msgid "Staff" -msgstr "Персонал" - -#: templates/virtualization/cluster.html:56 +#: templates/virtualization/cluster.html:52 msgid "Allocated Resources" msgstr "Выделенные ресурсы" -#: templates/virtualization/cluster.html:60 -#: templates/virtualization/virtualmachine.html:128 +#: templates/virtualization/cluster.html:55 +#: templates/virtualization/virtualmachine.html:121 msgid "Virtual CPUs" msgstr "Виртуальные процессоры" -#: templates/virtualization/cluster.html:64 -#: templates/virtualization/virtualmachine.html:132 +#: templates/virtualization/cluster.html:59 +#: templates/virtualization/virtualmachine.html:125 msgid "Memory" msgstr "Память" -#: templates/virtualization/cluster.html:74 -#: templates/virtualization/virtualmachine.html:143 +#: templates/virtualization/cluster.html:69 +#: templates/virtualization/virtualmachine.html:136 msgid "Disk Space" msgstr "Дисковое пространство" -#: templates/virtualization/cluster.html:77 -#: templates/virtualization/virtualdisk.html:33 -#: templates/virtualization/virtualmachine.html:147 +#: templates/virtualization/cluster.html:72 +#: templates/virtualization/virtualdisk.html:32 +#: templates/virtualization/virtualmachine.html:140 msgctxt "Abbreviation for gigabyte" msgid "GB" msgstr "ГБ" @@ -12463,14 +12838,14 @@ msgstr "Добавить устройства" msgid "Add Cluster" msgstr "Добавить кластер" -#: templates/virtualization/clustergroup.html:20 -#: virtualization/forms/model_forms.py:51 +#: templates/virtualization/clustergroup.html:19 +#: virtualization/forms/model_forms.py:50 msgid "Cluster Group" msgstr "Кластерная группа" -#: templates/virtualization/clustertype.html:20 -#: templates/virtualization/virtualmachine.html:111 -#: virtualization/forms/model_forms.py:35 +#: templates/virtualization/clustertype.html:19 +#: templates/virtualization/virtualmachine.html:106 +#: virtualization/forms/model_forms.py:36 msgid "Cluster Type" msgstr "Тип кластера" @@ -12478,37 +12853,37 @@ msgstr "Тип кластера" msgid "Virtual Disk" msgstr "Виртуальный диск" -#: templates/virtualization/virtualmachine.html:124 -#: virtualization/forms/bulk_edit.py:189 -#: virtualization/forms/model_forms.py:227 +#: templates/virtualization/virtualmachine.html:118 +#: virtualization/forms/bulk_edit.py:190 +#: virtualization/forms/model_forms.py:224 msgid "Resources" msgstr "Ресурсы" -#: templates/virtualization/virtualmachine.html:185 +#: templates/virtualization/virtualmachine.html:174 msgid "Add Virtual Disk" msgstr "Добавить виртуальный диск" -#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:35 +#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 #: vpn/tables/crypto.py:166 msgid "IKE Policy" msgstr "Политика IKE" -#: templates/vpn/ikepolicy.html:22 +#: templates/vpn/ikepolicy.html:21 msgid "IKE Version" msgstr "Версия IKE" -#: templates/vpn/ikepolicy.html:30 +#: templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" msgstr "Pre-Shared ключ" -#: templates/vpn/ikepolicy.html:34 -#: templates/wireless/inc/authentication_attrs.html:21 +#: templates/vpn/ikepolicy.html:33 +#: templates/wireless/inc/authentication_attrs.html:20 msgid "Show Secret" msgstr "Показать секрет" -#: templates/vpn/ikepolicy.html:59 templates/vpn/ipsecpolicy.html:47 -#: templates/vpn/ipsecprofile.html:55 templates/vpn/ipsecprofile.html:82 -#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 +#: templates/vpn/ikepolicy.html:57 templates/vpn/ipsecpolicy.html:45 +#: templates/vpn/ipsecprofile.html:52 templates/vpn/ipsecprofile.html:77 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:352 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Предложения" @@ -12517,49 +12892,49 @@ msgstr "Предложения" msgid "IKE Proposal" msgstr "Предложение IKE" -#: templates/vpn/ikeproposal.html:22 vpn/forms/bulk_edit.py:96 -#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:98 +#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97 +#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:101 msgid "Authentication method" msgstr "Метод аутентификации" -#: templates/vpn/ikeproposal.html:26 templates/vpn/ipsecproposal.html:22 -#: vpn/forms/bulk_edit.py:101 vpn/forms/bulk_edit.py:173 +#: templates/vpn/ikeproposal.html:25 templates/vpn/ipsecproposal.html:21 +#: vpn/forms/bulk_edit.py:102 vpn/forms/bulk_edit.py:172 #: vpn/forms/bulk_import.py:149 vpn/forms/bulk_import.py:195 -#: vpn/forms/filtersets.py:103 vpn/forms/filtersets.py:151 +#: vpn/forms/filtersets.py:106 vpn/forms/filtersets.py:154 msgid "Encryption algorithm" msgstr "Алгоритм шифрования" -#: templates/vpn/ikeproposal.html:30 templates/vpn/ipsecproposal.html:26 -#: vpn/forms/bulk_edit.py:106 vpn/forms/bulk_edit.py:178 +#: templates/vpn/ikeproposal.html:29 templates/vpn/ipsecproposal.html:25 +#: vpn/forms/bulk_edit.py:107 vpn/forms/bulk_edit.py:177 #: vpn/forms/bulk_import.py:153 vpn/forms/bulk_import.py:200 -#: vpn/forms/filtersets.py:108 vpn/forms/filtersets.py:156 +#: vpn/forms/filtersets.py:111 vpn/forms/filtersets.py:159 msgid "Authentication algorithm" msgstr "Алгоритм аутентификации" -#: templates/vpn/ikeproposal.html:34 +#: templates/vpn/ikeproposal.html:33 msgid "DH group" msgstr "Группа DH" -#: templates/vpn/ikeproposal.html:38 templates/vpn/ipsecproposal.html:30 -#: vpn/forms/bulk_edit.py:183 vpn/models/crypto.py:146 +#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29 +#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146 msgid "SA lifetime (seconds)" msgstr "Срок службы SA (в секундах)" -#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:70 +#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 #: vpn/tables/crypto.py:170 msgid "IPSec Policy" msgstr "Политика IPsec" -#: templates/vpn/ipsecpolicy.html:22 vpn/forms/bulk_edit.py:211 +#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 #: vpn/models/crypto.py:193 msgid "PFS group" msgstr "Группа PFS" -#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:53 +#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54 msgid "IPSec Profile" msgstr "Профиль IPsec" -#: templates/vpn/ipsecprofile.html:94 vpn/tables/crypto.py:137 +#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 msgid "PFS Group" msgstr "Группа компаний PFS" @@ -12567,40 +12942,36 @@ msgstr "Группа компаний PFS" msgid "IPSec Proposal" msgstr "Предложение IPsec" -#: templates/vpn/ipsecproposal.html:34 vpn/forms/bulk_edit.py:187 +#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 #: vpn/models/crypto.py:152 msgid "SA lifetime (KB)" msgstr "Срок службы (КБ)" -#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:10 +#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 msgid "L2VPN Attributes" msgstr "Атрибуты L2VPN" -#: templates/vpn/l2vpn.html:65 templates/vpn/tunnel.html:81 +#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76 msgid "Add a Termination" msgstr "Добавить окончание" -#: templates/vpn/l2vpntermination_edit.html:9 -msgid "L2VPN Termination" -msgstr "L2VPN окончания" - #: templates/vpn/tunnel.html:9 msgid "Add Termination" msgstr "Добавить окончание" -#: templates/vpn/tunnel.html:38 vpn/forms/bulk_edit.py:48 -#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:56 +#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49 +#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:57 msgid "Encapsulation" msgstr "Инкапсуляция" -#: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 -#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 +#: templates/vpn/tunnel.html:41 vpn/forms/bulk_edit.py:55 +#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:64 #: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "Профиль IPsec" -#: templates/vpn/tunnel.html:46 vpn/forms/bulk_edit.py:68 -#: vpn/forms/filtersets.py:67 +#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 +#: vpn/forms/filtersets.py:68 msgid "Tunnel ID" msgstr "Идентификатор туннеля" @@ -12608,8 +12979,8 @@ msgstr "Идентификатор туннеля" msgid "Add Tunnel" msgstr "Добавить туннель" -#: templates/vpn/tunnelgroup.html:24 vpn/forms/model_forms.py:35 -#: vpn/forms/model_forms.py:48 +#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 +#: vpn/forms/model_forms.py:49 msgid "Tunnel Group" msgstr "Туннельная группа" @@ -12617,21 +12988,21 @@ msgstr "Туннельная группа" msgid "Tunnel Termination" msgstr "Окончание Туннеля" -#: templates/vpn/tunneltermination.html:36 vpn/forms/bulk_import.py:107 -#: vpn/forms/model_forms.py:101 vpn/forms/model_forms.py:137 -#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 +#: templates/vpn/tunneltermination.html:35 vpn/forms/bulk_import.py:107 +#: vpn/forms/model_forms.py:102 vpn/forms/model_forms.py:138 +#: vpn/forms/model_forms.py:247 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "Внешний IP-адрес" -#: templates/vpn/tunneltermination.html:53 +#: templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" msgstr "Конечные Точки" -#: templates/wireless/inc/authentication_attrs.html:13 +#: templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" msgstr "Шифр" -#: templates/wireless/inc/authentication_attrs.html:17 +#: templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" msgstr "PSK" @@ -12641,11 +13012,7 @@ msgctxt "Abbreviation for megahertz" msgid "MHz" msgstr "МГц" -#: templates/wireless/wirelesslan.html:11 wireless/forms/model_forms.py:54 -msgid "Wireless LAN" -msgstr "Беспроводная сеть" - -#: templates/wireless/wirelesslan.html:59 +#: templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" msgstr "Подключенные интерфейсы" @@ -12654,15 +13021,15 @@ msgid "Add Wireless LAN" msgstr "Добавить беспроводную локальную сеть" #: templates/wireless/wirelesslangroup.html:26 -#: wireless/forms/model_forms.py:27 +#: wireless/forms/model_forms.py:28 msgid "Wireless LAN Group" msgstr "Группа беспроводных локальных сетей" -#: templates/wireless/wirelesslangroup.html:64 +#: templates/wireless/wirelesslangroup.html:59 msgid "Add Wireless LAN Group" msgstr "Добавить группу беспроводной локальной сети" -#: templates/wireless/wirelesslink.html:16 +#: templates/wireless/wirelesslink.html:14 msgid "Link Properties" msgstr "Свойства ссылки" @@ -12674,43 +13041,59 @@ msgstr "Третичный" msgid "Inactive" msgstr "Неактивный" -#: tenancy/filtersets.py:29 tenancy/filtersets.py:55 tenancy/filtersets.py:98 +#: tenancy/filtersets.py:29 +msgid "Parent contact group (ID)" +msgstr "Контактная группа родителей (ID)" + +#: tenancy/filtersets.py:35 +msgid "Parent contact group (slug)" +msgstr "Контактная группа родителей (slug)" + +#: tenancy/filtersets.py:41 tenancy/filtersets.py:68 tenancy/filtersets.py:111 msgid "Contact group (ID)" msgstr "Контактная группа (ID)" -#: tenancy/filtersets.py:35 tenancy/filtersets.py:62 tenancy/filtersets.py:105 +#: tenancy/filtersets.py:48 tenancy/filtersets.py:75 tenancy/filtersets.py:118 msgid "Contact group (slug)" msgstr "Группа контактов (подстрока)" -#: tenancy/filtersets.py:92 +#: tenancy/filtersets.py:105 msgid "Contact (ID)" msgstr "Контактное лицо (ID)" -#: tenancy/filtersets.py:109 +#: tenancy/filtersets.py:122 msgid "Contact role (ID)" msgstr "Роль контакта (ID)" -#: tenancy/filtersets.py:115 +#: tenancy/filtersets.py:128 msgid "Contact role (slug)" msgstr "Роль контакта (подстрока)" -#: tenancy/filtersets.py:147 +#: tenancy/filtersets.py:159 msgid "Contact group" msgstr "Контактная группа" -#: tenancy/filtersets.py:158 tenancy/filtersets.py:177 +#: tenancy/filtersets.py:170 +msgid "Parent tenant group (ID)" +msgstr "Родительская группа арендаторов (ID)" + +#: tenancy/filtersets.py:176 +msgid "Parent tenant group (slug)" +msgstr "Родительская группа арендаторов (slug)" + +#: tenancy/filtersets.py:182 tenancy/filtersets.py:202 msgid "Tenant group (ID)" msgstr "Группа тенантов (ID)" -#: tenancy/filtersets.py:210 +#: tenancy/filtersets.py:235 msgid "Tenant Group (ID)" msgstr "Группа тенантов (ID)" -#: tenancy/filtersets.py:217 +#: tenancy/filtersets.py:242 msgid "Tenant Group (slug)" msgstr "Группа тенантов (подстрока)" -#: tenancy/forms/bulk_edit.py:65 +#: tenancy/forms/bulk_edit.py:66 msgid "Desciption" msgstr "Описание" @@ -12819,27 +13202,31 @@ msgstr "Контактная ссылка" msgid "Contact Description" msgstr "Описание контакта" -#: users/filtersets.py:48 users/filtersets.py:151 +#: users/filtersets.py:33 users/filtersets.py:68 +msgid "Permission (ID)" +msgstr "Разрешение (ID)" + +#: users/filtersets.py:63 users/filtersets.py:181 msgid "Group (name)" msgstr "Группа (название)" -#: users/forms/bulk_edit.py:24 +#: users/forms/bulk_edit.py:26 msgid "First name" msgstr "Имя" -#: users/forms/bulk_edit.py:29 +#: users/forms/bulk_edit.py:31 msgid "Last name" msgstr "Фамилия" -#: users/forms/bulk_edit.py:41 +#: users/forms/bulk_edit.py:43 msgid "Staff status" msgstr "Статус персонала" -#: users/forms/bulk_edit.py:46 +#: users/forms/bulk_edit.py:48 msgid "Superuser status" msgstr "Статус суперпользователя" -#: users/forms/bulk_import.py:43 +#: users/forms/bulk_import.py:41 msgid "If no key is provided, one will be generated automatically." msgstr "Если ключ не указан, он будет сгенерирован автоматически." @@ -12851,27 +13238,27 @@ msgstr "Является ли персонал" msgid "Is Superuser" msgstr "Является суперпользователем" -#: users/forms/filtersets.py:92 users/tables.py:89 +#: users/forms/filtersets.py:92 users/tables.py:86 msgid "Can View" msgstr "Может просматривать" -#: users/forms/filtersets.py:99 users/tables.py:92 +#: users/forms/filtersets.py:99 users/tables.py:89 msgid "Can Add" msgstr "Можно добавить" -#: users/forms/filtersets.py:106 users/tables.py:95 +#: users/forms/filtersets.py:106 users/tables.py:92 msgid "Can Change" msgstr "Может измениться" -#: users/forms/filtersets.py:113 users/tables.py:98 +#: users/forms/filtersets.py:113 users/tables.py:95 msgid "Can Delete" msgstr "Можно удалить" -#: users/forms/model_forms.py:58 +#: users/forms/model_forms.py:66 msgid "User Interface" msgstr "Пользовательский интерфейс" -#: users/forms/model_forms.py:116 +#: users/forms/model_forms.py:118 msgid "" "Keys must be at least 40 characters in length. Be sure to record " "your key prior to submitting this form, as it may no longer be " @@ -12881,7 +13268,7 @@ msgstr "" "свой ключ до отправки этой формы, так как после создания токена она" " может быть недоступна." -#: users/forms/model_forms.py:128 +#: users/forms/model_forms.py:130 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -12891,33 +13278,33 @@ msgstr "" "поле пустым, чтобы не было ограничений. Пример: 10.1.1.0/24, " "192.168.10.16/32, 2001:DB8:1::/64" -#: users/forms/model_forms.py:177 +#: users/forms/model_forms.py:179 msgid "Confirm password" msgstr "Подтвердите пароль" -#: users/forms/model_forms.py:180 +#: users/forms/model_forms.py:182 msgid "Enter the same password as before, for verification." msgstr "Введите тот же пароль, что и раньше, для проверки." -#: users/forms/model_forms.py:238 +#: users/forms/model_forms.py:231 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Пароли не совпадают! Пожалуйста, проверьте введенные данные и попробуйте " "снова." -#: users/forms/model_forms.py:304 +#: users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Дополнительные действия" -#: users/forms/model_forms.py:307 +#: users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Действия, предпринятые в дополнение к перечисленным выше" -#: users/forms/model_forms.py:323 +#: users/forms/model_forms.py:313 msgid "Objects" msgstr "Объекты" -#: users/forms/model_forms.py:335 +#: users/forms/model_forms.py:325 msgid "" "JSON expression of a queryset filter that will return only permitted " "objects. Leave null to match all objects of this type. A list of multiple " @@ -12927,80 +13314,78 @@ msgstr "" "Оставьте значение null для соответствия всем объектам этого типа. Список из " "нескольких объектов приведет к логической операции ИЛИ." -#: users/forms/model_forms.py:373 +#: users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Должно быть выбрано хотя бы одно действие." -#: users/forms/model_forms.py:386 -msgid "Constraints are not supported for this object type." -msgstr "Ограничения для этого типа объектов не поддерживаются." - -#: users/forms/model_forms.py:396 +#: users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Неверный фильтр для {model}: {error}" -#: users/models.py:55 -msgid "user" -msgstr "пользователя" +#: users/models/permissions.py:39 +msgid "The list of actions granted by this permission" +msgstr "Список действий, предусмотренных этим разрешением" -#: users/models.py:56 -msgid "users" -msgstr "пользователей" +#: users/models/permissions.py:44 +msgid "constraints" +msgstr "ограничения" -#: users/models.py:67 -msgid "A user with this username already exists." -msgstr "Пользователь с таким именем уже существует." +#: users/models/permissions.py:45 +msgid "" +"Queryset filter matching the applicable objects of the selected type(s)" +msgstr "" +"Фильтр Queryset, соответствующий применимым объектам выбранного типа (типов)" -#: users/models.py:79 vpn/models/crypto.py:42 -msgid "group" -msgstr "группа" +#: users/models/permissions.py:52 +msgid "permission" +msgstr "разрешение" -#: users/models.py:80 -msgid "groups" -msgstr "групп" +#: users/models/permissions.py:53 users/models/users.py:47 +msgid "permissions" +msgstr "разрешения" -#: users/models.py:107 users/models.py:108 +#: users/models/preferences.py:30 users/models/preferences.py:31 msgid "user preferences" msgstr "пользовательские настройки" -#: users/models.py:175 +#: users/models/preferences.py:98 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "Ключ '{path}'является листовым узлом; не может назначать новые ключи" -#: users/models.py:187 +#: users/models/preferences.py:110 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Ключ '{path}'— словарь; не может присвоить значение, отличное от словаря" -#: users/models.py:253 +#: users/models/tokens.py:37 msgid "expires" msgstr "истекает" -#: users/models.py:258 +#: users/models/tokens.py:42 msgid "last used" msgstr "последний раз использованный" -#: users/models.py:263 +#: users/models/tokens.py:47 msgid "key" msgstr "ключ" -#: users/models.py:269 +#: users/models/tokens.py:53 msgid "write enabled" msgstr "запись включена" -#: users/models.py:271 +#: users/models/tokens.py:55 msgid "Permit create/update/delete operations using this key" msgstr "" "Разрешить операции создания/обновления/удаления с использованием этого ключа" -#: users/models.py:282 +#: users/models/tokens.py:66 msgid "allowed IPs" msgstr "разрешенные IP-адреса" -#: users/models.py:284 +#: users/models/tokens.py:68 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -13009,130 +13394,96 @@ msgstr "" "поле пустым, чтобы не было ограничений. Пример: «10.1.1.0/24, " "192.168.10.16/32, 2001:DB8:1::/64»" -#: users/models.py:296 +#: users/models/tokens.py:76 msgid "token" msgstr "токен" -#: users/models.py:297 +#: users/models/tokens.py:77 msgid "tokens" msgstr "токены" -#: users/models.py:378 -msgid "The list of actions granted by this permission" -msgstr "Список действий, предусмотренных этим разрешением" +#: users/models/users.py:57 vpn/models/crypto.py:42 +msgid "group" +msgstr "группа" -#: users/models.py:383 -msgid "constraints" -msgstr "ограничения" +#: users/models/users.py:58 users/models/users.py:77 +msgid "groups" +msgstr "групп" -#: users/models.py:384 -msgid "" -"Queryset filter matching the applicable objects of the selected type(s)" -msgstr "" -"Фильтр Queryset, соответствующий применимым объектам выбранного типа (типов)" +#: users/models/users.py:92 +msgid "user" +msgstr "пользователя" -#: users/models.py:391 -msgid "permission" -msgstr "разрешение" +#: users/models/users.py:93 +msgid "users" +msgstr "пользователей" -#: users/models.py:392 -msgid "permissions" -msgstr "разрешения" +#: users/models/users.py:104 +msgid "A user with this username already exists." +msgstr "Пользователь с таким именем уже существует." -#: users/tables.py:101 +#: users/tables.py:98 msgid "Custom Actions" msgstr "Настраиваемые Действия" -#: utilities/choices.py:16 +#: utilities/api.py:153 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "" +"Связанный объект не найден с использованием предоставленных атрибутов: " +"{params}" + +#: utilities/api.py:156 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Предоставленным атрибутам соответствуют несколько объектов: {params}" + +#: utilities/api.py:168 +#, python-brace-format +msgid "" +"Related objects must be referenced by numeric ID or by dictionary of " +"attributes. Received an unrecognized value: {value}" +msgstr "" +"На связанные объекты следует ссылаться с помощью числового идентификатора " +"или словаря атрибутов. Получено нераспознанное значение: {value}" + +#: utilities/api.py:177 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" +"Связанный объект не найден с использованием предоставленного числового " +"идентификатора: {id}" + +#: utilities/choices.py:19 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" msgstr "{name} имеет определенный ключ, но CHOICES не является списком" -#: utilities/choices.py:135 -msgid "Dark Red" -msgstr "Темно-красный" +#: utilities/conversion.py:19 +msgid "Weight must be a positive number" +msgstr "Вес должен быть положительным числом" -#: utilities/choices.py:138 -msgid "Rose" -msgstr "Роза" +#: utilities/conversion.py:21 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Неверное значение '{weight}'для веса (должно быть число)" -#: utilities/choices.py:139 -msgid "Fuchsia" -msgstr "Фуксия" +#: utilities/conversion.py:32 utilities/conversion.py:62 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "" +"Неизвестная единица {unit}. Должно быть одно из следующих: {valid_units}" -#: utilities/choices.py:141 -msgid "Dark Purple" -msgstr "Темно-фиолетовый" +#: utilities/conversion.py:45 +msgid "Length must be a positive number" +msgstr "Длина должна быть положительным числом" -#: utilities/choices.py:144 -msgid "Light Blue" -msgstr "Светло-синий" +#: utilities/conversion.py:47 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Неверное значение '{length}'для длины (должно быть число)" -#: utilities/choices.py:147 -msgid "Aqua" -msgstr "Бирюзовый" - -#: utilities/choices.py:148 -msgid "Dark Green" -msgstr "Темно-зеленый" - -#: utilities/choices.py:150 -msgid "Light Green" -msgstr "Светло-зеленый" - -#: utilities/choices.py:151 -msgid "Lime" -msgstr "Лайм" - -#: utilities/choices.py:153 -msgid "Amber" -msgstr "Янтарь" - -#: utilities/choices.py:155 -msgid "Dark Orange" -msgstr "Темно-оранжевый" - -#: utilities/choices.py:156 -msgid "Brown" -msgstr "Коричневый" - -#: utilities/choices.py:157 -msgid "Light Grey" -msgstr "Светло-серый" - -#: utilities/choices.py:158 -msgid "Grey" -msgstr "Серый" - -#: utilities/choices.py:159 -msgid "Dark Grey" -msgstr "Темно-серый" - -#: utilities/choices.py:217 -msgid "Direct" -msgstr "Прямой" - -#: utilities/choices.py:218 -msgid "Upload" -msgstr "Загрузить" - -#: utilities/choices.py:230 utilities/choices.py:244 -msgid "Auto-detect" -msgstr "Автоматическое обнаружение" - -#: utilities/choices.py:245 -msgid "Comma" -msgstr "Запятая" - -#: utilities/choices.py:246 -msgid "Semicolon" -msgstr "Точка с запятой" - -#: utilities/choices.py:247 -msgid "Tab" -msgstr "Вкладка" - -#: utilities/error_handlers.py:20 +#: utilities/error_handlers.py:31 #, python-brace-format msgid "" "Unable to delete {objects}. {count} dependent objects were " @@ -13141,15 +13492,15 @@ msgstr "" "Невозможно удалить {objects}. {count} найдены зависимые " "объекты: " -#: utilities/error_handlers.py:22 +#: utilities/error_handlers.py:33 msgid "More than 50" msgstr "Более 50" -#: utilities/fields.py:96 +#: utilities/fields.py:80 msgid "Custom queryset can't be used for this lookup." msgstr "Настраиваемый набор запросов нельзя использовать для этого поиска." -#: utilities/fields.py:162 +#: utilities/fields.py:146 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -13158,7 +13509,7 @@ msgstr "" "%s(%r) недействителен. Параметр to_model для CounterCacheField должен быть " "строкой в формате app.model" -#: utilities/fields.py:172 +#: utilities/fields.py:156 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -13167,36 +13518,36 @@ msgstr "" "%s(%r) недействителен. Параметр to_field для CounterCacheField должен быть " "строкой в формате «поле»" -#: utilities/forms/bulk_import.py:24 +#: utilities/forms/bulk_import.py:23 msgid "Enter object data in CSV, JSON or YAML format." msgstr "Введите объектные данные в формате CSV, JSON или YAML." -#: utilities/forms/bulk_import.py:37 +#: utilities/forms/bulk_import.py:36 msgid "CSV delimiter" msgstr "CSV-разделитель" -#: utilities/forms/bulk_import.py:38 +#: utilities/forms/bulk_import.py:37 msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "Символ, ограничивающий поля CSV. Применяется только к формату CSV." -#: utilities/forms/bulk_import.py:52 +#: utilities/forms/bulk_import.py:51 msgid "Form data must be empty when uploading/selecting a file." msgstr "При загрузке/выборе файла данные формы должны быть пустыми." -#: utilities/forms/bulk_import.py:81 +#: utilities/forms/bulk_import.py:80 #, python-brace-format msgid "Unknown data format: {format}" msgstr "Неизвестный формат данных: {format}" -#: utilities/forms/bulk_import.py:101 +#: utilities/forms/bulk_import.py:100 msgid "Unable to detect data format. Please specify." msgstr "Не удалось определить формат данных. Пожалуйста, укажите." -#: utilities/forms/bulk_import.py:124 +#: utilities/forms/bulk_import.py:123 msgid "Invalid CSV delimiter" msgstr "Неверный разделитель CSV" -#: utilities/forms/bulk_import.py:168 +#: utilities/forms/bulk_import.py:167 msgid "" "Invalid YAML data. Data must be in the form of multiple documents, or a " "single document comprising a list of dictionaries." @@ -13280,24 +13631,31 @@ msgstr "" msgid "MAC address must be in EUI-48 format" msgstr "MAC-адрес должен быть в формате EUI-48" -#: utilities/forms/forms.py:53 +#: utilities/forms/forms.py:52 msgid "Use regular expressions" msgstr "Используйте регулярные выражения" -#: utilities/forms/forms.py:87 +#: utilities/forms/forms.py:75 +msgid "" +"Numeric ID of an existing object to update (if not creating a new object)" +msgstr "" +"Цифровой идентификатор существующего объекта для обновления (если не " +"создается новый объект)" + +#: utilities/forms/forms.py:92 #, python-brace-format msgid "Unrecognized header: {name}" msgstr "Неизвестный заголовок: {name}" -#: utilities/forms/forms.py:113 +#: utilities/forms/forms.py:118 msgid "Available Columns" msgstr "Доступные столбцы" -#: utilities/forms/forms.py:121 +#: utilities/forms/forms.py:126 msgid "Selected Columns" msgstr "Выбранные столбцы" -#: utilities/forms/mixins.py:101 +#: utilities/forms/mixins.py:44 msgid "" "This object has been modified since the form was rendered. Please consult " "the object's change log for details." @@ -13371,7 +13729,7 @@ msgstr "" "Отсутствует обязательное значение для статического параметра запроса: " "'{static_params}'" -#: utilities/permissions.py:40 +#: utilities/permissions.py:39 #, python-brace-format msgid "" "Invalid permission name: {name}. Must be in the format " @@ -13385,7 +13743,7 @@ msgstr "" msgid "Unknown app_label/model_name for {name}" msgstr "Неизвестное app_label/имя_модели для {name}" -#: utilities/request.py:33 +#: utilities/request.py:76 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "Неверный IP-адрес установлен для {header}: {ip}" @@ -13411,10 +13769,6 @@ msgstr "Закладка" msgid "Clone" msgstr "Клонировать" -#: utilities/templates/buttons/export.html:4 -msgid "Export" -msgstr "Экспорт" - #: utilities/templates/buttons/export.html:7 msgid "Current View" msgstr "Текущий вид" @@ -13431,15 +13785,15 @@ msgstr "Добавить шаблон экспорта" msgid "Import" msgstr "Импорт" -#: utilities/templates/form_helpers/render_field.html:36 +#: utilities/templates/form_helpers/render_field.html:39 msgid "Copy to clipboard" msgstr "Скопировать в буфер обмена" -#: utilities/templates/form_helpers/render_field.html:52 +#: utilities/templates/form_helpers/render_field.html:55 msgid "This field is required" msgstr "Это поле обязательно" -#: utilities/templates/form_helpers/render_field.html:65 +#: utilities/templates/form_helpers/render_field.html:68 msgid "Set Null" msgstr "Установить значение Null" @@ -13471,68 +13825,28 @@ msgstr "Ничего не назначено" msgid "Write" msgstr "Текст" -#: utilities/templates/widgets/markdown_input.html:20 -msgid "Testing" -msgstr "Тестирование" - -#: utilities/testing/views.py:625 +#: utilities/testing/views.py:633 msgid "The test must define csv_update_data." msgstr "Тест должен определить csv_update_data." -#: utilities/utils.py:310 -msgid "Length must be a positive number" -msgstr "Длина должна быть положительным числом" - -#: utilities/utils.py:312 -#, python-brace-format -msgid "Invalid value '{length}' for length (must be a number)" -msgstr "Неверное значение '{length}'для длины (должно быть число)" - -#: utilities/utils.py:317 utilities/utils.py:350 -#, python-brace-format -msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" -msgstr "" -"Неизвестная единица {unit}. Должно быть одно из следующих: {valid_units}" - -#: utilities/utils.py:334 -#, python-brace-format -msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." -msgstr "" -"Неизвестная единица {unit}. Должно быть «км», «м», «см», «ми», «фут» или " -"«дюйм»." - -#: utilities/utils.py:343 -msgid "Weight must be a positive number" -msgstr "Вес должен быть положительным числом" - -#: utilities/utils.py:345 -#, python-brace-format -msgid "Invalid value '{weight}' for weight (must be a number)" -msgstr "Неверное значение '{weight}'для веса (должно быть число)" - -#: utilities/utils.py:363 -#, python-brace-format -msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." -msgstr "Неизвестная единица {unit}. Должно быть «кг», «г», «фунт», «унция»." - #: utilities/validators.py:65 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "{value} не является допустимым регулярным выражением." -#: utilities/views.py:38 +#: utilities/views.py:40 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" "{self.__class__.__name__} должен реализовать функцию get_required_permission" " ()" -#: utilities/views.py:74 +#: utilities/views.py:76 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} должен реализовать функцию get_required_permission ()" -#: utilities/views.py:98 +#: utilities/views.py:100 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -13562,21 +13876,21 @@ msgstr "Кластерная группа (ID)" msgid "Cluster (ID)" msgstr "Кластер (ID)" -#: virtualization/forms/bulk_edit.py:165 -#: virtualization/models/virtualmachines.py:113 +#: virtualization/forms/bulk_edit.py:166 +#: virtualization/models/virtualmachines.py:115 msgid "vCPUs" msgstr "Виртуальные процессоры" -#: virtualization/forms/bulk_edit.py:169 +#: virtualization/forms/bulk_edit.py:170 msgid "Memory (MB)" msgstr "Память (МБ)" -#: virtualization/forms/bulk_edit.py:173 +#: virtualization/forms/bulk_edit.py:174 msgid "Disk (GB)" msgstr "Диск (ГБ)" -#: virtualization/forms/bulk_edit.py:333 -#: virtualization/forms/filtersets.py:243 +#: virtualization/forms/bulk_edit.py:334 +#: virtualization/forms/filtersets.py:247 msgid "Size (GB)" msgstr "Размер (ГБ)" @@ -13596,7 +13910,7 @@ msgstr "Назначенный кластер" msgid "Assigned device within cluster" msgstr "Назначенное устройство в кластере" -#: virtualization/forms/model_forms.py:156 +#: virtualization/forms/model_forms.py:153 #, python-brace-format msgid "" "{device} belongs to a different site ({device_site}) than the cluster " @@ -13605,21 +13919,21 @@ msgstr "" "{device} принадлежит другому сайту ({device_site}), чем кластер " "({cluster_site})" -#: virtualization/forms/model_forms.py:195 +#: virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" msgstr "" "Дополнительно подключите эту виртуальную машину к определенному хост-" "устройству в кластере." -#: virtualization/forms/model_forms.py:224 +#: virtualization/forms/model_forms.py:221 msgid "Site/Cluster" msgstr "Сайт/кластер" -#: virtualization/forms/model_forms.py:247 +#: virtualization/forms/model_forms.py:244 msgid "Disk size is managed via the attachment of virtual disks." msgstr "Размер диска регулируется путем вложения виртуальных дисков." -#: virtualization/forms/model_forms.py:375 +#: virtualization/forms/model_forms.py:372 msgid "Disk" msgstr "Диск" @@ -13656,48 +13970,48 @@ msgstr "" "{count} устройства назначены в качестве хостов для этого кластера, но их нет" " на сайте {site}" -#: virtualization/models/virtualmachines.py:121 +#: virtualization/models/virtualmachines.py:123 msgid "memory (MB)" msgstr "память (МБ)" -#: virtualization/models/virtualmachines.py:126 +#: virtualization/models/virtualmachines.py:128 msgid "disk (GB)" msgstr "диск (ГБ)" -#: virtualization/models/virtualmachines.py:159 +#: virtualization/models/virtualmachines.py:161 msgid "Virtual machine name must be unique per cluster." msgstr "Имя виртуальной машины должно быть уникальным для каждого кластера." -#: virtualization/models/virtualmachines.py:162 +#: virtualization/models/virtualmachines.py:164 msgid "virtual machine" msgstr "виртуальная машина" -#: virtualization/models/virtualmachines.py:163 +#: virtualization/models/virtualmachines.py:165 msgid "virtual machines" msgstr "виртуальные машины" -#: virtualization/models/virtualmachines.py:177 +#: virtualization/models/virtualmachines.py:179 msgid "A virtual machine must be assigned to a site and/or cluster." msgstr "Виртуальная машина должна быть назначена сайту и/или кластеру." -#: virtualization/models/virtualmachines.py:184 +#: virtualization/models/virtualmachines.py:186 #, python-brace-format msgid "" "The selected cluster ({cluster}) is not assigned to this site ({site})." msgstr "Выбранный кластер ({cluster}) не относится к этому сайту ({site})." -#: virtualization/models/virtualmachines.py:191 +#: virtualization/models/virtualmachines.py:193 msgid "Must specify a cluster when assigning a host device." msgstr "При назначении хост-устройства необходимо указать кластер." -#: virtualization/models/virtualmachines.py:196 +#: virtualization/models/virtualmachines.py:198 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." msgstr "" "Выбранное устройство ({device}) не относится к этому кластеру ({cluster})." -#: virtualization/models/virtualmachines.py:208 +#: virtualization/models/virtualmachines.py:210 #, python-brace-format msgid "" "The specified disk size ({size}) must match the aggregate size of assigned " @@ -13706,18 +14020,18 @@ msgstr "" "Указанный размер диска ({size}) должен соответствовать совокупному размеру " "назначенных виртуальных дисков ({total_size})." -#: virtualization/models/virtualmachines.py:222 +#: virtualization/models/virtualmachines.py:224 #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" msgstr "" "Должен быть IPV{family} адрес. ({ip} является IP-адресом{version} адрес.)" -#: virtualization/models/virtualmachines.py:231 +#: virtualization/models/virtualmachines.py:233 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." msgstr "Указанный IP-адрес ({ip}) не назначено этой виртуальной машине." -#: virtualization/models/virtualmachines.py:389 +#: virtualization/models/virtualmachines.py:391 #, python-brace-format msgid "" "The selected parent interface ({parent}) belongs to a different virtual " @@ -13726,7 +14040,7 @@ msgstr "" "Выбранный родительский интерфейс ({parent}) принадлежит другой виртуальной " "машине ({virtual_machine})." -#: virtualization/models/virtualmachines.py:404 +#: virtualization/models/virtualmachines.py:406 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different virtual " @@ -13735,7 +14049,7 @@ msgstr "" "Выбранный интерфейс моста ({bridge}) принадлежит другой виртуальной машине " "({virtual_machine})." -#: virtualization/models/virtualmachines.py:415 +#: virtualization/models/virtualmachines.py:417 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -13744,15 +14058,15 @@ msgstr "" "VLAN без тегов ({untagged_vlan}) должна принадлежать тому же сайту, что и " "родительская виртуальная машина интерфейса, или она должна быть глобальной." -#: virtualization/models/virtualmachines.py:427 +#: virtualization/models/virtualmachines.py:429 msgid "size (GB)" msgstr "размер (ГБ)" -#: virtualization/models/virtualmachines.py:431 +#: virtualization/models/virtualmachines.py:433 msgid "virtual disk" msgstr "виртуальный диск" -#: virtualization/models/virtualmachines.py:432 +#: virtualization/models/virtualmachines.py:434 msgid "virtual disks" msgstr "виртуальные диски" @@ -13858,57 +14172,57 @@ msgstr "Туннель (название)" msgid "Outside IP (ID)" msgstr "Внешний IP-адрес (ID)" -#: vpn/filtersets.py:235 +#: vpn/filtersets.py:130 vpn/filtersets.py:153 vpn/filtersets.py:282 msgid "IKE policy (ID)" msgstr "Политика IKE (ID)" -#: vpn/filtersets.py:241 +#: vpn/filtersets.py:136 vpn/filtersets.py:159 vpn/filtersets.py:288 msgid "IKE policy (name)" msgstr "Политика IKE (название)" -#: vpn/filtersets.py:245 +#: vpn/filtersets.py:215 vpn/filtersets.py:292 msgid "IPSec policy (ID)" msgstr "Политика IPsec (ID)" -#: vpn/filtersets.py:251 +#: vpn/filtersets.py:221 vpn/filtersets.py:298 msgid "IPSec policy (name)" msgstr "Политика IPsec (имя)" -#: vpn/filtersets.py:320 +#: vpn/filtersets.py:367 msgid "L2VPN (slug)" msgstr "L2VPN (подстрока)" -#: vpn/filtersets.py:384 +#: vpn/filtersets.py:431 msgid "VM Interface (ID)" msgstr "Интерфейс виртуальной машины (ID)" -#: vpn/filtersets.py:390 +#: vpn/filtersets.py:437 msgid "VLAN (name)" msgstr "VLAN (название)" -#: vpn/forms/bulk_edit.py:44 vpn/forms/bulk_import.py:42 -#: vpn/forms/filtersets.py:53 +#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 +#: vpn/forms/filtersets.py:54 msgid "Tunnel group" msgstr "Группа туннелей" -#: vpn/forms/bulk_edit.py:116 vpn/models/crypto.py:47 +#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47 msgid "SA lifetime" msgstr "Время жизни SA" -#: vpn/forms/bulk_edit.py:150 wireless/forms/bulk_edit.py:78 -#: wireless/forms/bulk_edit.py:125 wireless/forms/filtersets.py:63 -#: wireless/forms/filtersets.py:97 +#: vpn/forms/bulk_edit.py:151 wireless/forms/bulk_edit.py:79 +#: wireless/forms/bulk_edit.py:126 wireless/forms/filtersets.py:64 +#: wireless/forms/filtersets.py:98 msgid "Pre-shared key" msgstr "Предварительный общий ключ" -#: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 +#: vpn/forms/bulk_edit.py:237 vpn/forms/bulk_import.py:239 +#: vpn/forms/filtersets.py:199 vpn/forms/model_forms.py:370 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "Политика IKE" -#: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 +#: vpn/forms/bulk_edit.py:242 vpn/forms/bulk_import.py:244 +#: vpn/forms/filtersets.py:204 vpn/forms/model_forms.py:374 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Политика IPsec" @@ -13979,45 +14293,45 @@ msgstr "Каждое оконечное устройство должно ука msgid "Cannot assign both an interface and a VLAN." msgstr "Невозможно назначить одновременно интерфейс и VLAN." -#: vpn/forms/filtersets.py:127 +#: vpn/forms/filtersets.py:130 msgid "IKE version" msgstr "Версия IKE" -#: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 +#: vpn/forms/filtersets.py:142 vpn/forms/filtersets.py:175 +#: vpn/forms/model_forms.py:298 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Предложение" -#: vpn/forms/filtersets.py:247 +#: vpn/forms/filtersets.py:251 msgid "Assigned Object Type" msgstr "Назначенный тип объекта" -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:95 vpn/forms/model_forms.py:130 +#: vpn/forms/model_forms.py:240 vpn/tables/tunnels.py:91 msgid "Tunnel interface" msgstr "Туннельный интерфейс" -#: vpn/forms/model_forms.py:147 +#: vpn/forms/model_forms.py:150 msgid "First Termination" msgstr "Первая точка" -#: vpn/forms/model_forms.py:151 +#: vpn/forms/model_forms.py:153 msgid "Second Termination" msgstr "Вторая точка" -#: vpn/forms/model_forms.py:198 +#: vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." msgstr "Этот параметр необходим при определении точки." -#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356 msgid "Policy" msgstr "Политика" -#: vpn/forms/model_forms.py:475 +#: vpn/forms/model_forms.py:487 msgid "A termination must specify an interface or VLAN." msgstr "В терминации должен быть указан интерфейс или VLAN." -#: vpn/forms/model_forms.py:477 +#: vpn/forms/model_forms.py:489 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -14206,10 +14520,6 @@ msgstr "Родитель объекта" msgid "Object Site" msgstr "Сайт объекта" -#: vpn/tables/tunnels.py:88 -msgid "Host" -msgstr "Хост" - #: wireless/choices.py:11 msgid "Access point" msgstr "Точка доступа" @@ -14230,10 +14540,10 @@ msgstr "Персонал WPA (PSK)" msgid "WPA Enterprise" msgstr "Предприятие WPA" -#: wireless/forms/bulk_edit.py:72 wireless/forms/bulk_edit.py:119 +#: wireless/forms/bulk_edit.py:73 wireless/forms/bulk_edit.py:120 #: wireless/forms/bulk_import.py:68 wireless/forms/bulk_import.py:71 #: wireless/forms/bulk_import.py:110 wireless/forms/bulk_import.py:113 -#: wireless/forms/filtersets.py:58 wireless/forms/filtersets.py:92 +#: wireless/forms/filtersets.py:59 wireless/forms/filtersets.py:93 msgid "Authentication cipher" msgstr "Шифр аутентификации" @@ -14249,7 +14559,7 @@ msgstr "Интерфейс A" msgid "Interface B" msgstr "Интерфейс B" -#: wireless/forms/model_forms.py:158 +#: wireless/forms/model_forms.py:161 msgid "Side B" msgstr "Сторона B"