From cb05288c4da2c5527b864d257f8fc95cfca9db3b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 21 Feb 2024 15:24:50 -0500 Subject: [PATCH] Update translations --- README.md | 2 +- netbox/translations/es/LC_MESSAGES/django.mo | Bin 199963 -> 218182 bytes netbox/translations/es/LC_MESSAGES/django.po | 1926 +++++++++++----- netbox/translations/fr/LC_MESSAGES/django.mo | Bin 201271 -> 220002 bytes netbox/translations/fr/LC_MESSAGES/django.po | 1934 +++++++++++----- netbox/translations/ja/LC_MESSAGES/django.mo | Bin 215103 -> 234165 bytes netbox/translations/ja/LC_MESSAGES/django.po | 2167 +++++++++++------- netbox/translations/pt/LC_MESSAGES/django.mo | Bin 197267 -> 215341 bytes netbox/translations/pt/LC_MESSAGES/django.po | 1919 +++++++++++----- netbox/translations/ru/LC_MESSAGES/django.mo | Bin 255729 -> 276912 bytes netbox/translations/ru/LC_MESSAGES/django.po | 1924 ++++++++++------ netbox/translations/tr/LC_MESSAGES/django.mo | Bin 193457 -> 209700 bytes netbox/translations/tr/LC_MESSAGES/django.po | 1848 ++++++++++----- 13 files changed, 7775 insertions(+), 3945 deletions(-) diff --git a/README.md b/README.md index f166919c4..a81e41854 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ License Contributors GitHub stars - Languages supported + Languages supported CI status

diff --git a/netbox/translations/es/LC_MESSAGES/django.mo b/netbox/translations/es/LC_MESSAGES/django.mo index 045f3bb1f14b1b4c39b51ccd2d1b90150223c7fa..6ea16e7ff15ea4a5230ee891d1ee6250df9eb88e 100644 GIT binary patch delta 76286 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 ZKs{BwSUVNPEA!u3lKZM;)vumr_&?aJmrMWv delta 59475 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 BTwwqJ diff --git a/netbox/translations/es/LC_MESSAGES/django.po b/netbox/translations/es/LC_MESSAGES/django.po index ab29885cb..66c0bad1f 100644 --- a/netbox/translations/es/LC_MESSAGES/django.po +++ b/netbox/translations/es/LC_MESSAGES/django.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2023 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2023\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -60,7 +60,7 @@ msgstr "IPs permitidas" #: account/views.py:197 msgid "Your preferences have been updated." -msgstr "" +msgstr "Se han actualizado tus preferencias." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 #: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 @@ -77,7 +77,7 @@ msgstr "Aprovisionamiento" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -97,37 +97,37 @@ msgstr "Desaprovisionamiento" msgid "Decommissioned" msgstr "Desmantelado" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "Región (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "Región (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "Grupo de sitios (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -138,9 +138,9 @@ msgstr "Grupo de sitios (slug)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -148,7 +148,7 @@ msgstr "Grupo de sitios (slug)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -170,8 +170,8 @@ msgstr "Grupo de sitios (slug)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -186,8 +186,8 @@ msgid "Site" msgstr "Sitio" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -225,9 +225,9 @@ msgid "Circuit type (slug)" msgstr "Tipo de circuito (slug)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -235,7 +235,7 @@ msgid "Site (ID)" msgstr "Sitio (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -359,13 +359,14 @@ msgstr "ASNs" #: 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: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 +#: 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 msgid "Description" msgstr "Descripción" @@ -395,8 +396,8 @@ msgstr "ID de servicio" #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -415,11 +416,11 @@ msgstr "Color" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -427,7 +428,7 @@ msgstr "Color" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -464,34 +465,34 @@ msgstr "Cuenta de proveedor" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -503,7 +504,7 @@ msgstr "Cuenta de proveedor" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -517,9 +518,9 @@ msgstr "Estado" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -588,8 +589,8 @@ msgstr "Parámetros de servicio" #: 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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -599,7 +600,7 @@ msgstr "Parámetros de servicio" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "Arrendamiento" @@ -609,9 +610,9 @@ msgstr "Arrendamiento" msgid "Assigned provider" msgstr "Proveedor asignado" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "Color RGB en hexadecimal. Ejemplo:" @@ -624,9 +625,9 @@ msgid "Type of circuit" msgstr "Tipo de circuito" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -634,9 +635,9 @@ msgid "Operational status" msgstr "Estado operativo" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -655,9 +656,9 @@ msgstr "Red de proveedores" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -670,8 +671,8 @@ msgstr "Red de proveedores" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -820,7 +821,7 @@ msgstr "ID de circuito" msgid "Unique circuit ID" msgstr "ID de circuito único" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -914,8 +915,22 @@ msgstr "terminación de circuito" msgid "circuit terminations" msgstr "terminaciones de circuitos" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "" +"Una terminación de circuito debe conectarse a un sitio o a una red de " +"proveedores." + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "" +"Una terminación de circuito no puede conectarse tanto a un sitio como a una " +"red de proveedores." + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -989,13 +1004,13 @@ msgstr "redes de proveedores" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1098,7 +1113,7 @@ msgstr "Tasa de compromiso" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1112,7 +1127,7 @@ msgstr "Tasa de compromiso" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "Comentarios" @@ -1204,6 +1219,11 @@ msgstr "Contraseña" msgid "Branch" msgstr "Rama" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "Fallo al obtener datos remotos ({name}): {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "ID de clave de acceso de AWS" @@ -1221,16 +1241,31 @@ msgstr "Fuente de datos (ID)" msgid "Data source (name)" msgstr "Fuente de datos (nombre)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "Haga valer un espacio único" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +msgid "Enabled" +msgstr "Habilitado" #: 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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "Parámetros" @@ -1251,25 +1286,6 @@ msgstr "Ignorar las reglas" msgid "Data Source" msgstr "Fuente de datos" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "Habilitado" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "Expediente" @@ -1350,6 +1366,16 @@ msgstr "Parámetros de backend" msgid "File Upload" msgstr "Carga de archivos" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "" +"No se puede cargar un archivo y sincronizarlo desde un archivo existente" + +#: core/forms/model_forms.py:108 +msgid "Must upload a file or select a data file to sync" +msgstr "" +"Debe cargar un archivo o seleccionar un archivo de datos para sincronizarlo" + #: core/forms/model_forms.py:147 templates/core/configrevision.html:43 #: templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" @@ -1414,7 +1440,7 @@ msgstr "Valor actual: {value}" msgid " (default)" msgstr " (predeterminado)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1449,7 +1475,7 @@ msgstr "Configuración actual" msgid "Config revision #{id}" msgstr "Revisión de configuración #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1467,90 +1493,103 @@ msgstr "Revisión de configuración #{id}" msgid "type" msgstr "tipo" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "habilitado" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "ignorar reglas" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" "Patrones (uno por línea) que coinciden con los archivos para ignorarlos al " "sincronizar" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "parámetros" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "sincronizado por última vez" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "fuente de datos" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "fuentes de datos" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "Tipo de backend desconocido: {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "" +"No se puede iniciar la sincronización; la sincronización ya está en curso." + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" +"Se ha producido un error al inicializar el backend. Es necesario instalar " +"una dependencia: " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "última actualización" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "ruta" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "Ruta del archivo relativa a la raíz de la fuente de datos" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "tamaño" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "picadillo" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "La longitud debe ser de 64 caracteres hexadecimales." -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "Hash SHA256 de los datos del archivo" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "archivo de datos" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "archivos de datos" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "registro de sincronización automática" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "sincronización automática de registros" @@ -1620,6 +1659,13 @@ msgstr "trabajos" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "No se pueden asignar trabajos a este tipo de objeto ({type})." +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "" +"Estado no válido para la terminación del trabajo. Las opciones son: " +"{choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "Está activo" @@ -1663,7 +1709,7 @@ msgstr "Empezado" msgid "Facility ID" msgstr "ID de la instalación" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "Posición (U)" @@ -1739,13 +1785,13 @@ msgstr "Pulgadas" #: 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1854,8 +1900,8 @@ msgid "Virtual" msgstr "Virtual" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "inalámbrico" @@ -1865,8 +1911,8 @@ msgid "Virtual interfaces" msgstr "Interfaces virtuales" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -2023,200 +2069,210 @@ msgstr "Monofásico" msgid "Three-phase" msgstr "Trifásico" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "Formato de dirección MAC no válido: {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "Formato WWN no válido: {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "Región principal (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "Región principal (babosa)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "Grupo de sitio principal (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "Grupo de sitios principal (slug)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "Grupo (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "Grupo (babosa)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "COMO (ID)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "Ubicación (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "Ubicación (babosa)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "Función (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Rol (babosa)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "Rack (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "Usuario (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "Usuario (nombre)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "Fabricante (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "Fabricante (babosa)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "Plataforma predeterminada (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "Plataforma predeterminada (slug)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Tiene una imagen frontal" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Tiene una imagen trasera" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "Tiene puertos de consola" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "Tiene puertos de servidor de consola" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "Tiene puertos de alimentación" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "Tiene tomas de corriente" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "Tiene interfaces" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "Tiene puertos de paso" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Tiene compartimentos para módulos" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Tiene compartimentos para dispositivos" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Tiene artículos de inventario" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "Tipo de dispositivo (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "Tipo de módulo (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "Artículo del inventario principal (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Plantilla de configuración (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "Tipo de dispositivo (slug)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "Dispositivo principal (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Plataforma (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Plataforma (babosa)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "Nombre del sitio (slug)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "Clúster de máquinas virtuales (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "Modelo de dispositivo (slug)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "Es de profundidad total" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2224,68 +2280,68 @@ msgstr "Es de profundidad total" msgid "MAC address" msgstr "Dirección MAC" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "Tiene una IP principal" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "Tiene una IP fuera de banda" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "Chasis virtual (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "Es un miembro del chasis virtual" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "LOB VIP (ID)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "Tipo de módulo (modelo)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "Bahía de módulos (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "Dispositivo (ID)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "Rack (nombre)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "Dispositivo (nombre)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "Tipo de dispositivo (modelo)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "Función del dispositivo (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "Función del dispositivo (slug)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "Chasis virtual (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2294,23 +2350,23 @@ msgstr "Chasis virtual (ID)" msgid "Virtual Chassis" msgstr "Chasis virtual" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "Módulo (ID)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN asignada" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "VID asignado" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2336,77 +2392,77 @@ msgstr "VID asignado" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (ROJO)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de chasis virtuales para dispositivos" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de chasis virtuales para dispositivos (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "Tipo de interfaz" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interfaz principal (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interfaz puenteada (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "Interfaz LAG (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "Maestro (ID)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "Maestro (nombre)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "Inquilino (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "Inquilino (babosa)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "Inacabado" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 msgid "Power panel (ID)" msgstr "Panel de alimentación (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:79 +#: 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 @@ -2415,9 +2471,9 @@ msgid "Tags" msgstr "Etiquetas" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2457,9 +2513,9 @@ msgstr "" #: 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 -#: 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 +#: 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 msgid "Group" msgstr "Grupo" @@ -2481,13 +2537,13 @@ msgid "Time zone" msgstr "Zona horaria" #: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2517,7 +2573,7 @@ msgstr "Zona horaria" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Rol" @@ -2534,7 +2590,7 @@ msgstr "Número de serie" msgid "Asset tag" msgstr "Etiqueta de activo" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2556,7 +2612,7 @@ msgstr "Anchura exterior" msgid "Outer depth" msgstr "Profundidad exterior" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Unidad exterior" @@ -2567,11 +2623,11 @@ msgstr "Profundidad de montaje" #: 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2590,22 +2646,22 @@ msgid "Max weight" msgstr "Peso máximo" #: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "Unidad de peso" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2622,7 +2678,7 @@ msgstr "Estante" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2631,17 +2687,17 @@ msgstr "Hardware" #: 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2650,7 +2706,7 @@ msgstr "Hardware" msgid "Manufacturer" msgstr "fabricante" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "Plataforma predeterminada" @@ -2669,19 +2725,19 @@ msgid "Exclude from utilization" msgstr "Excluir de la utilización" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "Flujo de aire" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2693,13 +2749,13 @@ msgid "VM role" msgstr "Función de máquina virtual" #: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2707,20 +2763,20 @@ msgid "Config template" msgstr "Plantilla de configuración" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "Función del dispositivo" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2732,12 +2788,12 @@ msgstr "Plataforma" #: 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2746,17 +2802,17 @@ msgstr "Plataforma" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2795,8 +2851,8 @@ msgstr "Dispositivo" msgid "Configuration" msgstr "Configuración" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "Tipo de módulo" @@ -2822,8 +2878,8 @@ msgstr "Etiqueta" msgid "Length" msgstr "Longitud" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "Unidad de longitud" @@ -2831,17 +2887,17 @@ msgstr "Unidad de longitud" msgid "Domain" msgstr "Dominio" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "Panel de alimentación" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "Suministro" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "Fase" @@ -2885,13 +2941,13 @@ msgstr "Sorteo asignado" msgid "Allocated power draw (watts)" msgstr "Consumo de energía asignado (vatios)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "Puerto de alimentación" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Pierna de alimentación" @@ -2900,7 +2956,7 @@ msgid "Management only" msgstr "Solo administración" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2908,7 +2964,7 @@ msgid "PoE mode" msgstr "Modo PoE" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2920,8 +2976,8 @@ msgstr "Tipo de PoE" msgid "Wireless role" msgstr "Función inalámbrica" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2930,25 +2986,25 @@ msgstr "Función inalámbrica" msgid "Module" msgstr "Módulo" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DESFASE" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "Contextos de dispositivos virtuales" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "Velocidad" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2959,37 +3015,37 @@ msgstr "Velocidad" msgid "Mode" msgstr "Modo" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "Grupo de VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN sin etiquetar" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN etiquetadas" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "Grupo LAN inalámbrico" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "LAN inalámbricas" #: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -2997,22 +3053,22 @@ msgid "Addressing" msgstr "Dirigiéndose" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "Operación" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "Interfaces relacionadas" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3047,8 +3103,8 @@ msgstr "Grupo asignado" msgid "available options" msgstr "opciones disponibles" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3062,99 +3118,99 @@ msgstr "Ubicación de los padres" msgid "Location not found." msgstr "No se encontró la ubicación." -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "Nombre del inquilino asignado" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "Nombre de la función asignada" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "Tipo de bastidor" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "Ancho de raíl a raíl (en pulgadas)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "Unidad para dimensiones exteriores" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "Unidad para pesas de cremallera" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "Sitio para padres" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "Ubicación del bastidor (si existe)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "Unidades" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "Lista separada por comas de números de unidades individuales" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "El fabricante que produce este tipo de dispositivo" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "" "La plataforma predeterminada para dispositivos de este tipo (opcional)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "Peso del dispositivo" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "Unidad para el peso del dispositivo" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "Peso del módulo" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "Unidad para el peso del módulo" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "Limite las asignaciones de plataforma a este fabricante" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Función asignada" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "Fabricante del tipo de dispositivo" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "Modelo de tipo de dispositivo" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Plataforma asignada" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "Chasis virtual" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3173,65 +3229,65 @@ msgstr "Chasis virtual" msgid "Cluster" msgstr "Clúster" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "Clúster de virtualización" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "Ubicación asignada (si la hay)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "Bastidor asignado (si lo hay)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "Cara" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "Cara de bastidor montada" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "Dispositivo principal (para dispositivos infantiles)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "Compartimento para dispositivos" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Compartimento de dispositivos en el que está instalado este dispositivo " "(para dispositivos infantiles)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Dirección del flujo de aire" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" msgstr "El dispositivo en el que está instalado este módulo" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "Compartimento de módulos" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" msgstr "El compartimiento del módulo en el que está instalado este módulo" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "El tipo de módulo" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "Replicar componentes" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3239,217 +3295,233 @@ msgstr "" "Rellenar automáticamente los componentes asociados a este tipo de módulo " "(activado de forma predeterminada)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "Adopte componentes" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "Adopte los componentes ya existentes" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "Tipo de puerto" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "Velocidad de puerto en bps" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "Tipo de toma" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "Puerto de alimentación local que alimenta esta toma" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "Retraso de alimentación" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "Fase eléctrica (para circuitos trifásicos)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "Interfaz principal" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "Interfaz puenteada" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Retraso" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "Interfaz LAG principal" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "VDC" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "Los nombres de los VDC están separados por comas y entre comillas dobles. " "Ejemplo:" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "Medio físico" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "Dúplex" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "Modo Poe" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "Tipo de Poe" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Modo operativo IEEE 802.1Q (para interfaces L2)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "VRF asignado" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "Rol RF" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "Función inalámbrica (AP/estación)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "VDC {vdc} no está asignado al dispositivo {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 msgid "Rear port" msgstr "Puerto trasero" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "Puerto trasero correspondiente" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "Clasificación de medios físicos" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" msgstr "Dispositivo instalado" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" msgstr "Dispositivo infantil instalado en esta bahía" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "No se encontró el dispositivo infantil." -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "Artículo del inventario principal" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "Tipo de componente" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "Tipo de componente" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "Nombre del componente" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "Nombre del componente" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "No se encontró el componente: {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "Dispositivo del lado A" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "Nombre del dispositivo" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "Tipo de lado A" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "Tipo de terminación" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "Nombre de la cara A" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "Nombre de terminación" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "Dispositivo Side B" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "Tipo de lado B" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "Nombre de la cara B" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Estado de conexión" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "Lado {side_upper}: {device} {termination_object} ya está conectado" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} no se encontró la terminación lateral: {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Maestro" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "Dispositivo maestro" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "Nombre del sitio principal" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "Panel de alimentación ascendente" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "Primario o redundante" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "Tipo de alimentación (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "Monofásico o trifásico" @@ -3494,7 +3566,7 @@ msgstr "UN {model} llamado {name} ya existe" msgid "Power Panel" msgstr "Panel de alimentación" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "Alimentación eléctrica" @@ -3518,7 +3590,7 @@ msgstr "Grupo de padres" msgid "Function" msgstr "Función" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "Imágenes" @@ -3550,7 +3622,7 @@ msgstr "Ocupado" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3558,7 +3630,7 @@ msgstr "Ocupado" msgid "Connection" msgstr "Conexión" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "Contexto de dispositivo virtual" @@ -3574,7 +3646,7 @@ msgstr "Amable" msgid "Mgmt only" msgstr "Solo administración" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "WWN" @@ -3604,7 +3676,7 @@ msgstr "Potencia de transmisión (dBm)" msgid "Cable" msgstr "Cable" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" msgstr "Descubierto" @@ -3638,29 +3710,29 @@ msgstr "" msgid "Reservation" msgstr "Reservación" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Babosa" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "Chasis" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "Función del dispositivo" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "La unidad con el número más bajo ocupado por el dispositivo" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "" "La posición en el chasis virtual por la que se identifica este dispositivo" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3668,28 +3740,28 @@ msgstr "" msgid "Priority" msgstr "Prioridad" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "La prioridad del dispositivo en el chasis virtual" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "" "Rellenar automáticamente los componentes asociados a este tipo de módulo" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "La longitud máxima es 32767 (cualquier unidad)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "Características" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "Interfaz LAG" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3705,17 +3777,17 @@ msgstr "Interfaz LAG" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interfaz" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "Dispositivo infantil" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3723,42 +3795,42 @@ msgstr "" "Los dispositivos secundarios primero deben crearse y asignarse al sitio y al" " rack del dispositivo principal." -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "Puerto de consola" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "Puerto de servidor de consola" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "Puerto frontal" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "toma de corriente" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "Artículo de inventario" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "Un InventoryItem solo se puede asignar a un único componente." -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Función del artículo de inventario" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "IPv4 principal" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3822,7 +3894,7 @@ msgstr "" "coincidir con el número seleccionado de posiciones de los puertos traseros " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3865,39 +3937,78 @@ msgstr "cable" msgid "cables" msgstr "cables" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "Debe especificar una unidad al configurar la longitud de un cable" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "Debe definir las terminaciones A y B al crear un cable nuevo." + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "" +"No se pueden conectar diferentes tipos de terminaciones al mismo extremo del" +" cable." + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "Tipos de terminación incompatibles: {type_a} y {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "Las terminaciones A y B no pueden conectarse al mismo objeto." -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "fin" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "terminación de cable" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "terminaciones de cables" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" +"Se encontró una terminación duplicada para {app_label}.{model} " +"{termination_id}: cable {cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "Los cables no se pueden terminar en {type_display} interfaz" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "" +"Es posible que las terminaciones de circuito conectadas a la red de un " +"proveedor no estén cableadas." + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "está activo" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "está completo" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "está dividido" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "ruta de cable" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "rutas de cable" @@ -4830,10 +4941,10 @@ msgstr "" #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." +"A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -"Un tipo de dispositivo U0 ({device_type}) no se puede asignar a una posición" -" de cremallera." +"Un tipo de dispositivo 0U ({device_type}) no se puede asignar a una posición" +" de estantería." #: dcim/models/devices.py:889 msgid "" @@ -5354,7 +5465,7 @@ msgstr "Puerto de consola" msgid "Reachable" msgstr "Accesible" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5386,7 +5497,7 @@ msgstr "VM" msgid "Config Template" msgstr "Plantilla de configuración" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5394,12 +5505,12 @@ msgstr "Plantilla de configuración" msgid "IP Address" msgstr "Dirección IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "Dirección IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "Dirección IPv6" @@ -5437,9 +5548,9 @@ msgstr "Puertos de alimentación" msgid "Power outlets" msgstr "tomas de corriente" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5485,52 +5596,52 @@ msgstr "Vincula a tus compañeros" msgid "Mark Connected" msgstr "Marcar conectado" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" msgstr "Consumo máximo (W)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" msgstr "Sorteo asignado (W)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "Direcciones IP" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Grupos FHRP" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Túnel" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Solo administración" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "Enlace inalámbrico" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5538,7 +5649,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "Artículos de inventario" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5547,28 +5658,28 @@ msgstr "Artículos de inventario" msgid "Rear Port" msgstr "Puerto trasero" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Módulo instalado" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" msgstr "Serie del módulo" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "Etiqueta de activo del módulo" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "Estado del módulo" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Componente" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "Artículos" @@ -5602,60 +5713,60 @@ msgstr "Altura en U" msgid "Instances" msgstr "Instancias" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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 "Puertos de consola" -#: dcim/tables/devicetypes.py:116 dcim/views.py:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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 "Puertos de servidor de consola" -#: dcim/tables/devicetypes.py:119 dcim/views.py:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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 "Puertos de alimentación" -#: dcim/tables/devicetypes.py:122 dcim/views.py:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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 "Tomas de corriente" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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 "Puertos frontales" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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 "Puertos traseros" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Bahías de dispositivos" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5708,33 +5819,54 @@ msgstr "Peso máximo" msgid "Sites" msgstr "Sitios" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "El caso de prueba debe establecer peer_termination_type" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Desconectado {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" msgstr "Reservaciones" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "Dispositivos no rakeados" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "Contexto de configuración" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" msgstr "Configuración de renderizado" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "Niños" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "Objeto (s) relacionado (s) desconocido (s): {name}" + +#: extras/api/serializers.py:154 +msgid "Changing the type of custom fields is not supported." +msgstr "No se admite cambiar el tipo de campos personalizados." + +#: extras/api/serializers.py:549 extras/api/serializers.py:554 +msgid "Scheduling is not enabled for this report." +msgstr "La programación no está habilitada para este informe." + +#: extras/api/serializers.py:599 extras/api/serializers.py:604 +msgid "Scheduling is not enabled for this script." +msgstr "La programación no está habilitada para este script." + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "Texto" @@ -5893,7 +6025,6 @@ msgstr "Actualización" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5967,23 +6098,65 @@ msgstr "Webhook" msgid "Script" msgstr "Guión" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "Operador desconocido: {op}. Debe ser uno de: {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "Tipo de valor no admitido: {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "Tipo no válido para {op} operación: {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "El conjunto de reglas debe ser un diccionario, no {ruleset}." + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "" +"El conjunto de reglas debe tener exactamente un operador lógico (encontrado " +"{ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "Tipo de lógica no válido: {logic} (debe ser '{op_and}'o'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "Tipo de widget" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "Clase de widget no registrada: {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} debe definir un método render ()." + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "Nota" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Muestra contenido personalizado arbitrario. Markdown es compatible." -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "Recuentos de objetos" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -5991,51 +6164,72 @@ msgstr "" "Muestre un conjunto de modelos de NetBox y el número de objetos creados para" " cada tipo." -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "Filtros para aplicar al contar el número de objetos" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "" +"Formato no válido. Los filtros de objetos se deben pasar como un " +"diccionario." + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "Lista de objetos" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "Muestra una lista arbitraria de objetos." -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" msgstr "El número predeterminado de objetos que se van a mostrar" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "" +"Formato no válido. Los parámetros de URL se deben pasar como un diccionario." + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "Fuente RSS" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "Inserte una fuente RSS desde un sitio web externo." -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "URL del feed" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "El número máximo de objetos que se van a mostrar" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" msgstr "Cuánto tiempo se debe almacenar el contenido en caché (en segundos)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "Marcadores" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" msgstr "Muestra tus marcadores personales" +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "Tipo de acción desconocido para una regla de evento: {action_type}" + +#: extras/events.py:181 +#, python-brace-format +msgid "Cannot import events pipeline {name} error: {error}" +msgstr "No se puede importar la canalización de eventos {name} error: {error}" + #: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 msgid "Data file (ID)" msgstr "Archivo de datos (ID)" @@ -6248,6 +6442,16 @@ msgstr "Objeto de acción" msgid "Webhook name or script as dotted path module.Class" msgstr "Nombre o script del webhook como ruta punteada module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "Webhook {name} no se encontró" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "Guión {name} no se encontró" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Tipo de objeto asignado" @@ -6438,12 +6642,17 @@ msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" +"Código de plantilla Jinja2 para el texto del enlace. Haga referencia al " +"objeto como {example}. Los enlaces que se muestren como texto vacío no se " +"mostrarán." #: extras/forms/model_forms.py:149 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" +"Código de plantilla Jinja2 para la URL del enlace. Haga referencia al objeto" +" como {example}." #: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 msgid "Template code" @@ -6467,7 +6676,7 @@ msgstr "" msgid "Must specify either local content or a data file" msgstr "Debe especificar el contenido local o un archivo de datos" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Filtro guardado" @@ -6594,6 +6803,10 @@ msgstr "Programe la ejecución del script a una hora determinada" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalo en el que se vuelve a ejecutar este script (en minutos)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "¡No se encontró ningún indexador!" + #: extras/models/change_logging.py:24 msgid "time" msgstr "tiempo" @@ -7427,7 +7640,19 @@ msgstr "artículo etiquetado" msgid "tagged items" msgstr "artículos etiquetados" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "El script debe definir un método run ()." + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "Datos del script" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "Parámetros de ejecución del script" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "La eliminación se impide mediante una regla de protección: {message}" @@ -7529,28 +7754,28 @@ msgstr "ID de solicitud" msgid "Comments (Short)" msgstr "Comentarios (cortos)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Asegúrese de que este valor sea igual a %(limit_value)s." -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Asegúrese de que este valor no sea igual %(limit_value)s." -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "Este campo debe estar vacío." -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "Este campo no debe estar vacío." -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" -msgstr "" +msgstr "Atributo no válido»{name}«para {model}" #: extras/views.py:880 msgid "Your dashboard has been reset." @@ -7575,6 +7800,12 @@ msgstr "" msgid "Invalid IP prefix format: {data}" msgstr "Formato de prefijo IP no válido: {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "" +"No hay suficiente espacio disponible para los tamaños de prefijo solicitados" + #: ipam/choices.py:30 msgid "Container" msgstr "Contenedor" @@ -7615,6 +7846,11 @@ msgstr "Cisco" msgid "Plaintext" msgstr "Texto plano" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "Formato de dirección IP no válido: {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "Objetivo de importación" @@ -7754,10 +7990,39 @@ msgstr "IPv4 principal (ID)" msgid "Primary IPv6 (ID)" msgstr "IPv6 principal (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "Introduzca una dirección IPv4 o IPv6 válida (sin máscara)." + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "Formato de dirección IPv4/IPv6 no válido: {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "Este campo requiere una dirección IP sin máscara." + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "Especifique una dirección IPv4 o IPv6 válida." + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "Introduzca una dirección IPv4 o IPv6 válida (con máscara CIDR)." + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "Se requiere una máscara CIDR (por ejemplo, /24)." + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "Patrón de direcciones" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "Haga valer un espacio único" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "Es privado" @@ -7793,7 +8058,7 @@ msgstr "Es una piscina" #: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" -msgstr "" +msgstr "Tratar como si se hubiera utilizado por completo" #: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 msgid "DNS name" @@ -7886,7 +8151,7 @@ msgstr "Grupo de VLAN (si lo hay)" #: 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:427 +#: 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 msgid "VLAN" @@ -7976,17 +8241,17 @@ msgid "{ip} is not assigned to this device/VM." msgstr "{ip} no está asignado a este dispositivo/máquina virtual." #: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 msgid "Route Targets" msgstr "Objetivos de ruta" #: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 msgid "Import targets" msgstr "Importar objetivos" #: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "Objetivos de exportación" @@ -8078,7 +8343,7 @@ msgstr "Puerto" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" msgstr "Máquina virtual" @@ -8170,6 +8435,13 @@ msgstr "Plantilla de servicio" msgid "Service template" msgstr "Plantilla de servicio" +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "" +"Debe especificar el nombre, el protocolo y los puertos si no utiliza una " +"plantilla de servicio." + #: ipam/models/asns.py:34 msgid "start" msgstr "comienzo" @@ -8690,6 +8962,29 @@ msgstr "Objetivos de importación" msgid "Export Targets" msgstr "Objetivos de exportación" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "{prefix} no es un prefijo válido. ¿Querías decir {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "La longitud del prefijo debe ser inferior o igual a %(limit_value)s." + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "La longitud del prefijo debe ser mayor o igual a %(limit_value)s." + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" +"Solo se permiten caracteres alfanuméricos, asteriscos, guiones, puntos y " +"guiones bajos en los nombres DNS" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "Prefijos infantiles" @@ -8702,14 +8997,81 @@ msgstr "Rangos infantiles" msgid "Related IPs" msgstr "IPs relacionadas" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "Interfaces de dispositivos" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "Interfaces de VM" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "Es posible que este campo no esté en blanco." + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" +"El valor debe pasarse directamente (por ejemplo, «foo»: 123); no utilice un " +"diccionario o una lista." + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} no es una opción válida." + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "Tipo de contenido no válido: {content_type}" + +#: netbox/api/fields.py:100 +msgid "Invalid value. Specify a content type as '.'." +msgstr "" +"Valor no válido. Especifique un tipo de contenido como " +"'.'." + +#: netbox/api/serializers/nested.py:35 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "" +"No se encontró el objeto relacionado con los atributos proporcionados: " +"{params}" + +#: netbox/api/serializers/nested.py:38 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Varios objetos coinciden con los atributos proporcionados: {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 "" +"Se debe hacer referencia a los objetos relacionados mediante un " +"identificador numérico o un diccionario de atributos. Recibió un valor no " +"reconocido: {value}" + +#: netbox/api/serializers/nested.py:59 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" +"No se encontró el objeto relacionado con el identificador numérico " +"proporcionado: {id}" + +#: netbox/authentication.py:137 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "Permiso no válido {permission} para modelo {model}" + +#: netbox/config/__init__.py:67 +#, python-brace-format +msgid "Invalid configuration parameter: {item}" +msgstr "Parámetro de configuración no válido: {item}" + #: netbox/config/parameters.py:22 templates/core/configrevision.html:111 msgid "Login banner" msgstr "banner de inicio de sesión" @@ -8923,32 +9285,57 @@ msgstr "Añadir etiquetas" msgid "Remove tags" msgstr "Eliminar etiquetas" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} debe especificar una clase modelo." + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "Nombre de campo desconocido '{name}'en datos de campo personalizados." + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "Valor no válido para el campo personalizado '{name}': {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "Falta el campo personalizado obligatorio '{name}'." + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "Fuente de datos remota" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "ruta de datos" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "Ruta al archivo remoto (relativa a la raíz de la fuente de datos)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "sincronización automática habilitada" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Habilitar la sincronización automática de datos cuando se actualiza el " "archivo de datos" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "fecha sincronizada" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} debe implementar un método sync_data ()." + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "Organización" @@ -9079,7 +9466,7 @@ msgid "L2VPNs" msgstr "VPNs L2" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Terminaciones" @@ -9284,21 +9671,79 @@ msgstr "Revisiones de configuración" msgid "Plugins" msgstr "Plugins" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "Los permisos se deben pasar en forma de tupla o lista." + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "Los botones se deben pasar como una tupla o una lista." + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "El color del botón debe ser una opción dentro de ButtonColorChoices." + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "" +"Clase PluginTemplateExtension {template_extension} ¡se aprobó como " +"instancia!" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} ¡no es una subclase de " +"NetBox.Plugins.PluginTemplateExtension!" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "" +"Clase PluginTemplateExtension {template_extension} ¡no define un modelo " +"válido!" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} debe ser una instancia de netbox.plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} debe ser una instancia de netbox.plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "{button} debe ser una instancia de netbox.plugins.PluginMenuButton" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "extra_context debe ser un diccionario" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "Modo de color" #: netbox/preferences.py:21 msgid "Light" -msgstr "" +msgstr "Luz" #: netbox/preferences.py:22 msgid "Dark" -msgstr "" +msgstr "Oscuro" #: netbox/preferences.py:27 msgid "Language" -msgstr "" +msgstr "Idioma" #: netbox/preferences.py:34 msgid "Page length" @@ -9314,15 +9759,15 @@ msgstr "Colocación del paginador" #: netbox/preferences.py:42 msgid "Bottom" -msgstr "" +msgstr "Parte inferior" #: netbox/preferences.py:43 msgid "Top" -msgstr "" +msgstr "Parte superior" #: netbox/preferences.py:44 msgid "Both" -msgstr "" +msgstr "Ambos" #: netbox/preferences.py:46 msgid "Where the paginator controls will be displayed relative to a table" @@ -9333,33 +9778,46 @@ msgstr "" msgid "Data format" msgstr "Formato de datos" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "Tienda no válida: {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "No se pueden agregar tiendas al registro después de la inicialización" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "No se pueden eliminar las tiendas del registro" + +#: netbox/settings.py:724 msgid "English" -msgstr "" +msgstr "Inglés" + +#: netbox/settings.py:725 +msgid "Spanish" +msgstr "española" + +#: netbox/settings.py:726 +msgid "French" +msgstr "francesa" #: netbox/settings.py:727 -msgid "Spanish" -msgstr "" +msgid "Japanese" +msgstr "japonés" #: netbox/settings.py:728 -msgid "French" -msgstr "" +msgid "Portuguese" +msgstr "portugués" #: netbox/settings.py:729 -msgid "Japanese" -msgstr "" +msgid "Russian" +msgstr "rusa" #: netbox/settings.py:730 -msgid "Portuguese" -msgstr "" - -#: netbox/settings.py:731 -msgid "Russian" -msgstr "" - -#: netbox/settings.py:732 msgid "Turkish" -msgstr "" +msgstr "turca" #: netbox/tables/columns.py:175 msgid "Toggle all" @@ -9389,6 +9847,11 @@ msgstr "No se han encontrado resultados" msgid "Dummy Plugin" msgstr "Plugin ficticio" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "Fila {i}: Objeto con ID {id} no existe" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "Registro de cambios" @@ -9397,6 +9860,19 @@ msgstr "Registro de cambios" msgid "Journal" msgstr "diario" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} debe implementar get_children ()" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" +"Se ha producido un error al cargar la configuración del panel. Se está " +"utilizando un panel predeterminado." + #: templates/403.html:4 msgid "Access Denied" msgstr "Acceso denegado" @@ -9457,7 +9933,7 @@ msgstr "Página de inicio" #: 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "Perfil" @@ -9546,20 +10022,24 @@ msgstr "Correo electrónico" msgid "Account Created" msgstr "Cuenta creada" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "Último inicio de sesión" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "Superusuario" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "Acceso de administrador" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "Grupos asignados" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9575,12 +10055,12 @@ msgstr "Grupos asignados" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "Ninguna" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "Actividad reciente" @@ -9714,7 +10194,7 @@ msgid "Add Circuit" msgstr "Agregar circuito" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9726,7 +10206,6 @@ msgstr "Añadir" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -10240,7 +10719,6 @@ msgid "Local Config Context Data" msgstr "Datos de contexto de configuración local" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -11952,7 +12430,7 @@ msgstr "Grupo de inquilinos" msgid "Add Tenant Group" msgstr "Agregar grupo de inquilinos" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "Permisos asignados" @@ -11978,7 +12456,7 @@ msgstr "Restricciones" msgid "Assigned Users" msgstr "Usuarios asignados" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "Personal" @@ -12083,7 +12561,7 @@ msgstr "Mostrar secreto" #: 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Propuestas" @@ -12170,7 +12648,7 @@ msgstr "Encapsulación" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "Perfil IPSec" @@ -12194,7 +12672,7 @@ msgstr "Terminación del túnel" #: 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "IP externa" @@ -12507,7 +12985,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "Debe seleccionarse al menos una acción." -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "Este tipo de objeto no admite restricciones." + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtro no válido para {model}: {error}" @@ -12719,6 +13201,11 @@ msgstr "" msgid "More than 50" msgstr "Más de 50" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "" +"El conjunto de consultas personalizado no se puede usar para esta búsqueda." + #: utilities/fields.py:162 #, python-format msgid "" @@ -12750,6 +13237,17 @@ msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" "El carácter que delimita los campos CSV. Se aplica solo al formato CSV." +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "" +"Los datos del formulario deben estar vacíos al cargar o seleccionar un " +"archivo." + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "Formato de datos desconocido: {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "No se pudo detectar el formato de los datos. Especifique." @@ -12833,13 +13331,13 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "Abreviatura única compatible con URL" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" "Introduzca los datos de contexto en JSON " "formato." -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "La dirección MAC debe estar en formato EUI-48" @@ -12868,6 +13366,90 @@ msgstr "" "Este objeto se ha modificado desde que se renderizó el formulario. Consulte " "el registro de cambios del objeto para obtener más información." +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "Gama»{value}«no es válido." + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "Cabecera de columna duplicada o conflictiva para»{field}»" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "Cabecera de columna duplicada o conflictiva para»{header}»" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" +"Fila {row}: Esperado {count_expected} columnas pero encontradas " +"{count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "Encabezado de columna inesperado»{field}«encontrado." + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "Columna»{field}\"no es un objeto relacionado; no puede usar puntos" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "" +"Atributo de objeto relacionado no válido para la columna»{field}«: " +"{to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "Encabezado de columna obligatorio»{header}«no se encontró." + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" +"Falta el valor requerido para el parámetro de consulta dinámica: " +"'{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "" +"Falta el valor requerido para el parámetro de consulta estática: " +"'{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "" +"Nombre de permiso no válido: {name}. Debe estar en el formato " +"._" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "App_label/model_name desconocido para {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "Dirección IP no válida establecida para {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "" +"Una columna denominada {name} ya está definido para la tabla {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "No definido" @@ -12948,6 +13530,70 @@ msgstr "Escribe" msgid "Testing" msgstr "Probando" +#: utilities/testing/views.py:625 +msgid "The test must define csv_update_data." +msgstr "La prueba debe definir csv_update_data." + +#: utilities/utils.py:310 +msgid "Length must be a positive number" +msgstr "La longitud debe ser un número positivo" + +#: utilities/utils.py:312 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Valor no válido '{length}'para la longitud (debe ser un número)" + +#: utilities/utils.py:317 utilities/utils.py:350 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "" +"Unidad desconocida {unit}. Debe ser uno de los siguientes: {valid_units}" + +#: utilities/utils.py:334 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." +msgstr "" +"Unidad desconocida {unit}. Debe ser «km», «m», «cm», «mi», «ft» o «in»." + +#: utilities/utils.py:343 +msgid "Weight must be a positive number" +msgstr "El peso debe ser un número positivo" + +#: utilities/utils.py:345 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Valor no válido '{weight}'para el peso (debe ser un número)" + +#: utilities/utils.py:363 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." +msgstr "Unidad desconocida {unit}. Debe ser «kg», «g», «lb», «oz»." + +#: utilities/validators.py:65 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "{value} no es una expresión regular válida." + +#: utilities/views.py:38 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "{self.__class__.__name__} debe implementar get_required_permission ()" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} debe implementar get_required_permission ()" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} no tiene ningún conjunto de consultas definido. " +"ObjectPermissionRequiredMixin solo se puede usar en vistas que definan un " +"conjunto de consultas base" + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "Grupo de padres (ID)" @@ -13312,13 +13958,13 @@ msgid "Pre-shared key" msgstr "Clave previamente compartida" #: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "Política de IKE" #: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Política IPSec" @@ -13394,7 +14040,7 @@ msgid "IKE version" msgstr "Versión IKE" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Propuesta" @@ -13414,15 +14060,15 @@ msgstr "Segunda terminación" msgid "This parameter is required when defining a termination." msgstr "Este parámetro es obligatorio para definir una terminación." -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "Política" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "Una terminación debe especificar una interfaz o VLAN." -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -13471,11 +14117,11 @@ msgstr "Políticas de IKE" #: vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" -msgstr "" +msgstr "El modo es necesario para la versión IKE seleccionada" #: vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" -msgstr "" +msgstr "El modo no se puede usar para la versión IKE seleccionada" #: vpn/models/crypto.py:136 msgid "encryption" @@ -13612,7 +14258,7 @@ msgstr "Objeto principal" msgid "Object Site" msgstr "Sitio del objeto" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "Anfitrión" @@ -13695,3 +14341,13 @@ msgstr "enlaces inalámbricos" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} no es una interfaz inalámbrica." + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "Valor de canal no válido: {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "Atributo de canal no válido: {name}" diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo index 409639fc6a2895f1df179ea3ee77b0efdee1f5d3..234a12ba9719719879dc2b6181f28054329d2887 100644 GIT binary patch delta 76840 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%0D7=z-uJ^(VZ3y}) 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 JW{yYb{{S#RC>;O* delta 59449 zcmXWkd7zEO|G@EcuVl^IVhPv2?_2hL-$V8#TSAhOQaNO)EJa0yR6>hVq*5s=gd$r= zr4&jO-=xs?eZSAl@At=RW}fGn`OIf#o^$R+-|yeL;_c-*lSlGhwjja(J(@j{xE5dO zkw_HDl}I#v$<{>T^`nVISzLqMlK2uE;xX)i#lKG^Zp2$~IDU>X+1IdM2< z!SP7! zi5w>qiS9TUZ^3og8cY0`NQ}gru|*=8NbF4&2;!$iq6QcGM(1L0>YK1O7Cf0qw8bvy zfKSHycX&DV@;@gM?XenG!+Wqgz7jox_LJvSur-!v{KUN!%HqoCE-z631Dj*U>5%fF zSep8?m>sub7Tkl`@Jq~$KVT+2iCOU%%!z-X_htGecm*cy=$hD20eocd(&&w~(T*CU zH@1p)#~jpeL_4|#P4NWu{uj`huSTC+i{8Hp^W$fj55J4;=YA#s-tZp{xiH6>Fylh# zj4H)?D>O5`FgFf~j>qEE???Mt9@}3>``d(O;PY7j8V%qS+TXuP3b`p{I~y#BK3E>z zEZ4>MvFK7vj@Rd*9Xx|(?B&@0Mr{8mw(pGX2V(ni%)|X>(Q%V${|g=EMLW6{y`eOk zvO4j4``F$SJ+33rncas5JS*0p!o1X1q8V8q+c%?2vIh&|x1pX)T%_QQS$+!x=0_td ziw0B|-PKJoAGVJ6!FtrkU>#hERq>lxzv3LrN4+JwS8hWCy&LWSLCo&?f09Bz8lFc7 zdJCP|26Sz=qZv6Bum6o6qx9cH=5pdd>es~jo#=p5F)u!ZPGm6}@N)F|Bbdwc{}YA$ z_@@n+<9rCH5H_V=89i=e(M-+8NAU@K7AyRbNL-1ZqWydq{T-jCp7qZ};(A<(J@6uW zS~_1~{he`73P#uu>)PXcd#a!vS!f^vArkS@zB^l4$Z_QbV84y zYyD*O#pwFzw!g{04;-RFe?dD;|0gU(ZnRz$4X7fT;(F*(bc)yepnGHlUX2rD{bBSC z`3$M$k#tH&r10=x!d2b}$SF;b?R-eTtrz{b+!P(Sg5> z*MC7X^as|*M5Yi>1N6SGXukua!?6kDC&pO7SI`WcMrU>rUF#f|g?b4zfLds(>!TU! ziVn~p4PaDkzXR=WN_1{?QS=2&`rtYWcKi|A;Wn&*`=kG%kypqZtd6GgIyA-Y(7nP3Uvuun|tgiufirz@wSdl8GV|id>$S`m)#n-IYVI1U`ta{VFVlzoL5}f0ne= zSFO=lmHJy)8&6;#yf$lEq9)#nb@62^i{D4HXG=@H=xSt3rlr2~-AscKFF`Y~0!`f- zbOs-wGu(n6pWWzY`wko9c{CHXvWF#Th@OJhXnS9DNr#{rzXPwq`;!#vQCNh|WIy`g zWjVr(3ZMgaMmrja&TIsF-y$@y)#wtwg9g4a`Wd<>zC`=^0X@Fw;`L;D&Ja;>fd4=zlr>N2_gXaY3Yf+7Uz36} zXn|pZj$fOj($Tkkttueo)?{IVYK6F(I)5%taGeCj85cftd1|n`eF1m9Y>!(osaYH zfPc}TIr4{r3#0W)vEC4U<8_Mlq4D}1Xh74^K%YW8ej#3e3(e40^!Z)r{m0M=Ud+$= zw~+nHaARRK6D861%IHiQqifkN+7C_fE$G_bjjs7zG>}EH{Y7-Z4e|P(c>PGcemWU% zNL&>w(5>jMo`$~A=AfC}icV-Z`urjE`QxFUOq`1iiEF|Q zxzJ5g7#*MldVXu6r=(-NemxpkAGG7K=u+K-4mdN`A4Ug!3R8On4fHKco&SyThVAi& zgJ_2*V*9yRPb&~MQ7$aY^-^e{9np@vqt6XN1G^O+csjaQ9*x(RqMsS7u&C$%X9~_V zTfy)^Ve|_|c{I{0v0gXU8%A5919wIdmj^{M*qG8r)=ep);9>F3H>I47Q{99Y*gvi>Y^dk?<*ZEn07k)$n?B#?!DWE=0dA zZ^e=LEgERsWYO?(+8b-oFcDkf%jhvWi>_&fV&Q@6m_fZ6R=^=>2IgXIToA8+iZ118 zG_!x88A{6tdnFG#vEBWdQlI}6T${mY9FDn&xXKwVER7D4_g?&{MZ6b% z{zYtvYtR9IMQ3~t?I*2lxGyKVX|F2F`OlzGga&^KZj5%=2Yp}$`evIK+ZUogT787A z@gFqhEz5f-$sA4<%6>Arofy@=dCT@=Y05c7}Z!6w`=kW#{m8=v7_z?YB?+?>Hy(>O z{DzgNr&SG+S3zf151m1m*xnEAXhghzCz`=I=zY(loA5PsbFPc+@1qmhj#)hayD6B8 zL-E29^nv5iU!#9U6V*b;+0f^5p#xqS>lx^T%3uYog)YG$^wf+(1A7`%zyDiC!4B5g zfbXLj_zc}N7tw*rRS(Co3bv-+09~5X(G0Xl zk7=?e1!pu0z42BwkUP;eo`Xib2%X_8(RZ*6^{wbkenI>B7ab^5-B7;*OH_J19E z3Ys8GolK0UkWRy$=#1{hYWM{DCfkMvavTld96E!{W;JX zUxl`}MKje6Q|JE%3U)9Y4P?9*a7y$MbfBfNz8by%eRM`U&^_@r`uth+{Qrxtao+l& zzcSI<=yNSGX~#Fj3nSu%391A;`Z8X>fOeRv9q%{b{JSYG(y$y84bxJ8=J9Ex9~Gj7@<9HVjQ zOrJ*sd=;JXM)dhz=uE#ym-5eOmX_hUYtW1p$E=QDB{tNJH?%~*j(3jrQD_S9i0xC* z4wj&M<0Uk6Z%02u*Lo+q2linFJcRFKrdA<9i6ZFrl4$0tpqsNnd(OXW*pY@h zI1sHbK;K|5pbx%_9=9!MK%b#YvKtNfYxMq~(EYtg{VcSwdp z&3Hp2wBy$C#_QvagV2F)Mt|U#hz9fsmdAzYbDPirK0^cF8{5B$^^<6Zen&U;#bj(K z-!WXMf`01NL_6q;E=@l);?d|#Cg62A8C}A+(SbLjU%9rR0e_3b@E6R$>pO+xcRRYt zlS?Sr;d=Ce577ZXM+5ja`ZHFdejYt$B|3+nnChT=B8dk02D&NV$JA1xnc9s8dNBGe zvJ}b0j}#2xcTBAvcA}oCOZei@4NdLD=rk-v{SkD4b?CtBqaVfg&(KuwMmO6R=pH!{ z>ld+_=RbSba6TKLGai9v;I`;gbkod7H|J6`1FvIg+>B=KXEdM-=#2ly3Ye)|m|zt& zGj*e_F{kIhXKWaPse#b}rbZW_?}wMrOl(94_%zn{q5&Ls=w_LU&h#NPpn0)*AaAmyyHoAl##p`>~ z{*OdY$M#EThAvOu5IW9}c32eqV1-zpjt(#n-4oBD9lnWX=wq~_PtlYfLNoYt^dg#} zti8hh`Oy9fp{F5Pk%I5`#^@SN#WA=XYhd2q;q$vCR;PY9md91-hsYOL7jyIp-y>RJ zW$JgJ?}cS(zz5LNaSRRkr_i2EoR1Be`i2|xpff0n&aiT<*G405i7rhq^i=dmU&-TR zeHNOjXVE2Hhh}san&EQ&!u_={hv&Z|1qbYnuH8*&gcH%dFddD27MkLR(HGXUm^zkd ziZ`NrWP5Z!x>vqM13rQ2cq(516;t2;FH&$#vi1)aL(23PYueU>&xEDI!BurYEO~D(NpebI3M*IQ#;K%69_MrED9otVu zFGjNr3@N?}y}vlxPbD;?)zQ7v82#aPnaBW^kQ?>z91ET}(iGGLPcP3u{ zE7r3OiUXqq6-OslCE5fXxGVapHwo=$;h<#r99~9)soaYWm}zk6C?8rchHl0x=-Stb z^(JV*ZO}c?Iocb|zz{T`TVnepbV;XUM_iet;K1jw9+tW>tkFR94~eFtDcpo+WD7db zK6HlPpiA~Ex<}H6gaL|U2K5$bAj7Z)-Wq)a%TQ1LNx>Nu9U3-IX>^A5(a2k%*Sn&p zp;xRAKvOsj4P;!bPmRt+19~d@4jRap@%ph~GI5rIsr?%r=(1tq#vJHzyc(TxnP@fi zIMzo4Y>X~Z2Q;9*u|5JFa02>1n1c56cx+#amwWzSiVd%$DSi)4>2|ckuhFm9KcO@F z2g_lR;UU$n(O+DQ#F97@E8)v{J03&>?Jy!7>)vQUqc9KSCni(yygm|LfrY5Qhwh03 zXeRR9l$L0Q8Q27eU`t#U{Slo&rIEq<=tSD06X=IdXdL<}crPYBhmTQkGrWREx({8F z@6ZQ+ivErckhnQq&xLk;b+lr%X|yN0mqwwR`F3=#tVK`3$2W8S-QCA&a1DP(2fT=` zUFK2YLnse6qTT|%J{5g#F8Zc?6b*PeI^ZkV1K&jZ$v!$fcNNyAUK|~-*J#dvO$sAu zaCa|4*Yep|{{Zc9GaC6$G<8SN4$h-9xok{WqB7`jM(Uuc?}-LF65V{apn*K)HC~9`xDvbK>*xb%w}f4v4Sn#6=+)6;(Q?u1(fa7AYJmpQKDKv3mps`!UPz)d zpN^(<85+nsG=LA#3~faN_zc~&U!Z&D6jsLz*bOU;4bR_;W^N`L$P;KkOObJsiRBbr zqqoqt{SfVNCz_eVvHhpm{yTbq+O6UKoM^xW(B~?k&()3BTcH7TL!TQG+i$_tpa0!W z!7mDP(2iE3OR*kZ<89G{(G&6dc{Je6$p})MC z`uV>g1uqmw*SrEclUiu%n#SwhqJ7aB4Mj6`8+zYVG=N9Z2`rE8Z^ZV^v3>yEJ3o%+ z{QKZPu_4#(A<|N4Aob9hwLnwa745hew!smxeKk&}{wDertNtBfLXFVl+8X`lGXVYU zm=do~zk~DdrkG2E$Ky$KfT!aPuf+B@(SY7XGqV{DXm|7=nu#OmeZQjpUO?~9G$H(w zD>r(5AUg4pNeX=_+>LgyABW&E^u^TX&hV4UJ?N|Y1+;@r=rP)XzG!x%FPZCHo)d!lRO^^@q@|BeQnepmRSkq=#}nrMof zq64=?@9T^PJP^&?FeEd{#Aph3I1&9+n}OHi7IfGDiw1c4-D&(?Vg430y7q_A)MiWy z*DIj|H9`C9g7a}eynY59IQ^cGnQWNb&;M!^eDgI$XD|@$cr^OJM6~0{=qY&^9pH)B zz5-p#H_;hyMUUHVERV<0esbR%_SV(W(pbpzUyFh>?SdYkUg#R#j1G7Q7Q_3n1wM@# zcoa)v`h6kbvgiw^COVNe=<_|$)DJ)>G87H;c1)fB`zRQ|jCjM`SbsXY0-f=z=q7p( z?O+p{sU7G52jcaw(Lj!(ft*L5PoErqub2mYzQbhBzccMggAPUm8I5*)JDS=g`ofqO z+gHZ+wXyx<*#0H@+q2_nKSD-W5ji&Z6+VRimbAMrJ%r+%Vuqql@{aA0BjD-&9`Mv?&EVst?JFx@xsc2?) z#_M08Gx-`F=v4F~dRnqf4S^Lx`zwX+g^E}SYoQZK-bkS=g*oV_;5ziiUFd@c(EyI1 zo3q0GVKX+w=G6P6GkzxeI+~FWu_}HV>wlsBWu6uS&WU6=nJ7fTnUzKNKvi@G_0f(y zp#u+$^>Ju`Q=_xcjvtHH7sd8fXlB--nfeG_+CAtV`3B2){x4B*?Tb$j9hE^Jtc*U; zAlfEg?;fxBjqM|&cf{*c(7p2jIzoMBr zA5F{%_vJv_uR%9o2{cnR;`Nqj2D_sD--re_8ht_Cg{go4Gnax9Jr-|x5`ADrY<~@% z$vQN!4QQYrqXU1A?&@#R0FI+SxcrGtvHHyLM>*rsOdLS(KRuK4Z$!VvhX2sD&HO;P zAs2f6N_61jXdva#`>LTG)kBx8Nxa@E)_bCBKNS7>VLY0V*W>jMAK-ktOFyTf2L6YB zVW{z7m|;6KRXx$qh*4+&5269hLkD;Q`{Byip8im{FB_W4yy(D%(dQ~*>Q$YjVCvhT z$FCz+!x6Fl3ABSH=z}ZK0A7vtH_&Z}N4ui|3`1vn8#=%wG!yru13iFS@G-28eddPUKO1LK--7O~jt_?nC9wnb%~;s; zpXZVAy}uI9rrr}5;ZgLD;qILmuD^{A@E!UMDc}6?F7JS&sNaSDe&7du97{hM{{GOr z*ns*;EN1&-;k#lhOje;`7zKZa`xvI)+2|(x3(H}p$3wj*`g8nDd>FUj4D7KWEio7m zqt7*17zQ4L&U`WYKG=m7FzXZHn^DatIRF0mJb;F#m_+NFuq1wuCGhem!_3R$4b=Og z_pQZ_xF2uD;!lNtAu%6^Q9p)vVY@})JL5-a>a#Bn^&1v*{(I1{lm>4+hdwxFNm}Y( zv+qGuTKDNNgS*jGzJX2f435OAOT!!PNxYr<-`Et#JrjPLz6Q-?(PzVHYJ-l~H%VbC zg?(5adp;L_rc2^->RYiZj$RgCOdHVm#6I+e^b7KqP2_k!d|jWvJbb&|hGV&Y2Aku+ z6=8{=L&y0Nomeu{$}p2w*qMeIcr)%tcX#6#!ftPmp6f2rKIjW)DEeZ#89k8G=l6e@ftSA+es@zgIshxu{#bNl^b~qL zuX!oFc&nqWB`xO&F}k+faXg+w`yKI0$i!`EfOnx2c@UE|DJ-Jk40fTPe*2<7qnj=5)$qAp7|lp^ zbg5cn26jZhQr&{SNoS$IW?zi{Q2I8Sfdl9ge2ZrEmsdIeemGpB!BnQL4rW8!^P(9k zfOb#{4WKes!sh6o{oIO9-~n_g=b+CmMEBM*G_W=3z#pOaeZHFWf04qMG&sP%*TT%c zMmzW(&B(7f88g2ge!(yuz5YP-vFJ0=RoH^-Z=-?zg)U`cO*r0{q3s=#6pW-R+F@Tz zty!$!hGyoz*ggYOKMBR_E73RNS~N4+)`sgv(Iu*du62Dh^&Qdv`l5RwIV9dN9^LiR z;|))u5kDJU9(@tb)GKJ z!3SPLZ`_EbaX(hTOXwab{bq=~A-airpeel(eQ(@~K7T*Dluw}jK96SPjac7|-nSpi zdHzpQaDaSog$T=|DQb>(+!qbxmgtjMhx*6p0GH4Xv%eksDTdXk*TKqo6M703#Ouq^ z47`V_pZ`CmP>zOA(Hnn92hOxUv|o+xg(m1gEzl+Djox<``huE`cKj0hJz-6(pT!!~ zFQ9v;;yYm}YrPZCe*+p!S#!J-JL3-Af(LQlyWvx8>I-KdC>Z` z=+cxx2dsuJSv@r1*63#Mvw`z(!!0!Uz?A62XeO4RYqu)4Z;0+d|A^)g*2Z(_8?XHP zp`TW0Al+lVPxK~q6Hh=hdT)|~GnsppM$R1(`YJRj=qit`W8CVP3Vk1 zMF&2J26z(f_iwbHOq)UgdC=2U6jT5Gk2(}gVY5^NUl!4s^+0#~NVJ3d&>74^XYeHY z+;g%0B{XAiqxWx(?fcOCkD?R#8GY`o?VkS&6pT3S!!WZe(U}!RXHXvPxEh+uCebcv zrUu3OxLBWp_BS65WI4KYYtZ-1C+I|uVA7eMrr;|#@liO(MbMcyKvUZljkrJB@i6qc ziD*Z&(Ey)92YfNMzlqNLWAypY(17=&_Z|O;^Y2>xMuVFy`^TZflIXzI(Hk3~Yu+Bs zOb_(kKPa{ji|u1${ciO6Y3TEh#Oq69`wQsvZ+x5#k*%k}$Tr0r_r&_wXh*-GOK~w? zPizhu$bn|67`b5Qj&r*n}MeA5pXc?ErNEt>Lo z(GIqu0qjH1`%h>fr(^pCbj`2W68b5HK34&~FIk&{Z?b0S67)w0nt*P$`_RnHMb~mE z`rr$({stQ026O@+p%dB@{R&fSjSl=9x_ACT0_X34ZVerlL2s;qcGv_Ruoe1XXEZZ? z(6t*J+lNQTq0irg2K*rUK6om&uR;S~j|R9oCFgHfyl^Ob4Bh2t(MU6W5(2me4X6Y< z(~9Wz`sfmLMmO_NG?VwB8GIZaaCvk!8t8iU{BNOPWP34nF42KbqicE|Q=1Q+d171W zI5T?xRp@;s(d%W=3|2z>t$_~M7!9NY+J8?>+VMaNIvjmq4BF9M=#BTG56+DBd9nUf z^m%lES249Y(V1_H?T2FfaWr%1Vm*C3=ieLiY!4~UKyh&n`+?C>2`((i=!#680*#02kWC5>JZxp zpqaP{P4)QLei!;4xj(u9o#>0`{TuLd&;KVBjCdECssreZkD)i7LudRi8c>#9VW6C7 zhxyPc*B!uKr7JzR--e22c7v2G@!51 z=Z?qgr_liaL7z+iJS^oEXl4qc*NdS6mHM3XZ$p)MLrruh_0XBLMkDPJuMdswH=_Yg zjP)cM$lU1T=o@h{+TSzio_ZzL*Q4WZ`JD6bKs#u#gG2F#Z_)PC=s=e+HKW~eMra2G z(U}xQXIKu?u?pH>_1J!0tT#qCd8=6Oo1|a|H=>b_MhCtN-8?hVHGT>W$p3D;)ilYORMUP!o^!zqKKh`*Gf62tx6rAZvbf$l!1LWBoIxdRVtD<|MQLJ~2 z_CDY$)25gF#?e|MB=dV?&z%L50Bo~rc7N5tP@KYRu zHNOZy#V(9)NB6|vSP8Qn2+!BT)(2TXh)Eg7cN(+{H2uHxS0A0?2PvxNlVPbJ!mS2d>ecj+f)B7+UUEq#J$uX#AcZJ zXj@zhfGNZsM8f(mi&Z^KW4(4erX9&=<#RXv*I}AJ`DxjvlK6 z=yTu2`l(nyk8ak)iEwIiq2I2{pznod(U#~qZITq&D~S&1G3kVhL zKRA>_Q{N07;CeLW!_XN`jP*s)S22V3P3ZGS(dRFrOPb@CFv0xj^(yEoYlF%96sA&W zh#RmjUX1nXzlILRq5<5A2J{em3KpZ8S%Ge{chRNXj%D#%bSbl(37fJgda6pJ&sRCa z`M;IIb@9TB=y6+ve&~FFrs@FRfIp)%YIZgZ*bWV#H#)Oh&_HKmM|=v);|VmtJpW5e z?8ajFIiCF==ifEk^jq*S8u9PA3v-+cf5dVa$5C(pdzis{==)+bI+Gn}2KS>csJ!Px z0DZ9z^%t-P9>Jzw|068X^+^iv(J&O9S+PGuhh@>v`ReHTuY&e7!3J!22UO0;ebj4rc*YHKrmFDO zZ$@7t z##$ZQccS+lkM*?w!m%od#c9t#18$CHqBFL_;pm=Oh3=&+d=#0Pe3*1?%2IH~bj-~W1p z1_#`TZSWH`!rbZUsg#yN2d*D&h0d%iw#0?#%)dgH;zx9Vi)cT2GNq?J6-#3V^-Ab{ zoiZiU!||ZOwHc2di)rzOC!#N*9laObjc&^0=*R7Ow8Ou#BIdd*J@xkk>Z22z6ulq4 zZx))FCCONL30;b}&`q-ieeiQ^hX=6%7SEiX`U?vK&`r1&>)=szDGFR3?1SV z4)4d(S<+K~y#FG)gvoqa(^FrSx}gs|iKaA1w)E7StSeTd{#0}acBlRqcEv8)!_qv9 z&S(|76zkCmY)1FiXXxoUfqswp5BvN1UouD7bW_k9AHwqZJlerdbVhJ&GL%}tC7(KrW&<9tcGkPEWey{@_ z;5Zu4-_bm|!u_StC8>iR$Kf~wAHWCkirnd`7uQ0(nfj-g`tN_%&J)(YQM4mg;)Z_c zhs=Z61Rq9s{Vw#FUYR#!s0bQZ>1acAb9P53G8Ems6XNw*==0BE>hJ%(Ou;pK9i8!p z=yohc{Q!2uzcBSBHDBnU2f9Q9(C3Dun|M5$p{Zyf3(!DTVCoHvzE5`KvemMF%I>26ZX-=W{r56n5MA!K0STB$ES2NlU zeU%SF`bqL%sSK%`hNk8*bSBHu&+Sd|`Zw|VFX+twjn@kn3K^?|2GSf|qK;@Feb9i% zpqp+68u-(g;phK43J&}Qx+W*k&3FNQAZOtaU@7#$TIl^9(EIzx`q)@cqR-7o2Yw07 z>__PHd(e#hga!Tl|CfTBsKB-1m0KK5(I|9xPe3=5lukoaJTG2fgr;}}8sPfazAe`G zq0jw*26z@LVwR#|yqZNh|E8)L4W_&g`i; zZ}f}C&1j%wWBo2P1NTK|pi45hSTYor&|vCTp~r7+^n>UQG(!iX$IzMmhA!QI=mfH6 zgn+L_>s8SSwutq9=$^PW)*nn#XiCEp^gZwmI^(* z{TOecz8ih>l`WB;`Uz_k-b4K`X5bAaL*U7Y6inR|bPeaD8F&s|vscl8Hls^&5Ka9r z=nJM$snB69tV_KodOYW%&%cOn!j0&r`wD&TB3|eD&tEz{{9KP6xiBWy---1vu{7;v z%A}|M(rHIDwO?TcJcC`aP}%U!Xf(E`z6sp}Im(4hUWHYtS4KBse@y-Ne;=gKhK5J6 z1|CLJdPVurK_N5)rO;DR7oA!2Snq>oY*=(0x+m^MmuLpM*&aimUlx58^Lzf+Q*d{G zhOYI|=p}EUp1(r4UKYLH5M8RC=nH5#df!CshqKZCencnsH=6R66~p}lu^RPpnELyF z&rz_0FVF!_qHCC5DGXEu?XWW1QFAl{{n1zS?dbjU(12E<{k@O3;T|+YEh>kMc0re@ zPi4-(7nalDCV3rQg3r)Y{fA!9UL|yRHCnHLE>RuyxfbaCgRl&aLXY!&^!_K&rC5%> zKh~mwUZ|2xPyG)HWUm^I*AO(aS=bA|K#yDHYT?CH1AUQn!`|2j?RYKP;U+APd(r#; zMgzU9dI%^lUPrwER>yA1cwrhgq+u4ic|Ji?yc^woKcX|d6t8El5dzMIzA@`yCG3d~ zct865BUlGlVki6thhW8;A#=%xDR{15MkC&Y&S)FD)(4_zu`TuNwbE0+x$KVa>R#9l zN5uMibO}B|-v_^;X(-Kjr|4e)n- z5UX96p8D^Cy@Q>p7pWIAFa}-o+32}{6rIo#bdM}YPt7KDGw;SCe*Pb)UfqEj1j z{@rX3#D)dvOctYSz8by$GrAWppaXSm90uxvX5i*npMfo?FG7#m5j5aynuLsH;ArZ# z(0-n6!uj{c7in;YN3j@Qh&L2ynx6XmeHrM?ZotwwI@af-Gg^tx_!ab+u8;MPWBv13 zKa6Jl1R6kEvRNo(L-#;lw4;*fjaAXLZja7nAbQ_T=o;RQRdE*j2MX`vbo>CPVT=jb?Hla(^O^psrHGSsg_>pjq8I}yv_0(2=q zKsWah^cN3*pl{kjt>XFbMWHMW6VMbrjm7a@H1e;}nIDUuMLYf*ozbjlZRocQxtg55{-B+x(S~}A6$pda5K6I zzd@h>6&>(WtY>Z)Hf>&X%?qK|tD^nXZx=uR+tc8tx&htgL(w%KgZ1%F^uaY~$~T|` ze~5Op7k&PFH1IR%DftJTK<@V8{u1c@HPL`twCDW$hU!g&9gIaEya!V=M>~8rwy#F- z-xRMOKs!7cuU|wnn4?4JuMoNvWzhlKV+Ib2*QX>YIN)4N$7j$~F2gRk8Y|X`>9y} z2R#+}x`a1nEp&HxK<^)pF3BWxugpd>_)K&yy2-bo?~|R#5+@V;Lm_b_Uib;!{b$g? z&Z7@z=^8rD9W99tP!}DzeXRG3jzt5RiteQa=xKTe4d4h~k^20PH=IM)?jLkbb9M_$ zaV`1+DHrQa(a(yG=ogovXi8V0nRp!yd`oOUh;HKVu^tw=KHT36Q~&;d2nF9*_hAKG ziO=93^t|8JJw4GBS7U8FgJrRFkMz_Z*LOk#d>4n}UL22gdWK)+zJ!ga|B41$>4p$! zT}&ErM+&~tZo~|nif)c&(e-EwccG``5IW%T=s)O;uj&={NLlp$cIfHpj&8ymV?Bw! zKj!v|pZ_aqFtT;%+H6G6`BrqzKE=J5y?6L>`3;t*ep#OoNELjPdTSh*#_##iey-~m zmb3{PVCPsLj4t7={W$++D9oh6OuQOz{3yCV-gpAtg#TbW%-lcJyP%t_7rGfoV|$#8 zPGCC@$6eSNYYj+G?8j;7G4Gum7z)GC2gaehc>;P0W}*YkK{w~K=;nM4ozX`0oxdm6 zvkeM?6h`l_f@Y!-x+E=QduMcMk^?BDB1g~vWHdDopbsuZ16mQ=-$M7sPIQ1D;`QIq z_d%w?;rSxyeYMaDv_~g25FKY25_ppTG+GE?1v=n*bT4d-?udR7uYZSixc(#BVbL2y z=1QTT@8!|JI-yJ2AD!uKXv&k=5@%!T@Big$}q8@4&6->1Z%K1UNi;8`^#!`u*VrO#SbFt)k!z-i#ME#`?$T+V4ao zKZ361pXi$`$B6J@)CvuFF1nW%L|;VveGd(MOKjhd)u{hCg7fcM7q}@bK}mGL^5`qG zKKkGU^o27$x&%%2x>(qC4u2HW7!6=3mce__HC={<@H2FVKcai%3>v_N*nat#uq3(A{*whL zxce)jDXEUmpfNgw_GsjN(TE>IkKY<})BS{=`!i@i*=`BPF*h2>mFR@7jrEFX|22_s z+sQ-|3hsga=zuq&kxfMR!mQZ780~0PY=1Y_KSl39jHB_F*xqMsSjv&;=Dio~e*qfU z3QV2oN6ai~bP3h;FXjw}ybqpnIe)w#E)v3m?VV_zAYc?&HEAL_USSaE_x( zS>d+uRqQ70=J{Vw!QGyHeE76$g`KHSM>DVwJ+H@N{io=~X!hH~eTC7$DxquNG}hap z85n@}b0<2XNtkr)=2LJ}twK}zF}l_V@OJziU9*vQgiUq_T7LvxlEr9hUyk*6(Y>)9 zP4#Z{#dZjN?)O+vOyK=u#d< zPsbn8B6o)STjDLW55wzm@12}~Q&W0k_~z0Wtq(>!x*HwvVJwHs&`f=b?B2u=@p|H} zuy?LRXI=qay6Wit&ExgH=y4nuot%t?IcRDYp{HRbx`u1w^>?uf^=)V>|HK-Y|LzcQ zYxMXHLNhlUJ7o9+c1 zgL|+!HoiAK(G#a)H9UyjG3$L{;Qna;L(#zQLMQk@O3vS63T~d)(4WKc)Ne(P>sRPnU(Ft}!y@QrtsXy98lW?7i{952U7}v-LThFN{2o1)*{8&T&`new?YK#_HJaK^=pN`D>m#GLqo-&xnu+@{X{zT_FvZWK53WNy z+Kj#*K9BX2m^#1cz=^4$o&|j_Kbq>2=m6KndK;`sy+78$c~~7knacUkpm31}*S668 z;Z@lZS5kin4Y1m@kh13Jr(B=t9q1-~1U(fiFatltX83))UTS*yX}UgkpnVp4{trwi zwcRL`pAlwoPjogqlf~#RejT0pc66XG&^_}%tb}=Hh9zl)o{kP^;Ju@x;`Mvc%*{gg z!2Dz^ycpdWJ%D!f3wFUv=o_#71K~K1LO0hlX!{H35`2O#L41^(W{HXD{A{U!ehXdMM1SFZQB75?$L(*bYBOcXh#8Vbc~vGu0mL?*=rW zL1^a2p__RQ7We!=6L0tsOLJi_x~3P@KSJ7B6ht9Yrn(7wlz&)`a-iQY9 zKDz6-#`+HQzI~}W=l|Py;iu^T&>3Dr2h27nq&k1JFxH^GBpToiSQ7hTDy3-Vo75a3+4=Zf64jb6qorFF&54~>@n(3A3DR?_c!5ep=GyV=8@FKcqc^(Vx<7v04m1sYZXP@eqX!8kVBx zbR$;7EoeZ0pqnP~RG48lG_V5bc`p;&o5uDo*o5{0*a)AF*S|tPynaU4KJy|1WBfz` z3a)t*G=Lk>f&0hy5wZO~G_}*vOw2}8{v@`*7w|efg$7(|ap<=){zbhdj>e`-!USHy zq?_+u3hv6?=%zV}@8LN#wXZ!L0{Rq9=@;lG%(67>jbi9?ZP1zZK?4|rPHaM~&x!Q~ z=y85!Dd*oAd`N>c-;Jj90J;Qc(HR$iCOl9c4Y)B@!5-*9)6nBP2VI(H(Y0QUmGE8c zhCiZ9Qt#RDzL@A&EmOIQ24}h+?O;E;1mB|po1Fj<0blIPIWZ9r4K4_o6YG<7wW1>2wl^hf&{hfZK3 z8qf?h@WruxJ=*Wq*q;1`f{|RpGMMf85NS0upgQQeZ-Cy{1YPUS(ZQHHR%iw%qkCWx z8tAL&j6cG;PAMVGYk3t?0DLEC3x0nh)B6kMysi(%lau^H9kXh%cQKyE`*e^+!C zI(`&>D+V?}4WBPPD^WSPY-W zviLq4*l~2`r_lhiprXX5og&`hN#UkM#tiO#ezcEFlA0KI-UeiN_v zdNr*1t!RcOqN$x3eFP2kNp$H}pc8lpz5f&R6dgbVOMXqknVyIZ7tsu4S{-I|B^ppE z^uBRuPE@#`1U*x^(l=j4ebmo=iMVVGa%J(1@D79%k49 z4Wv7Ie1@R|C((iCqceXMOXFKu1HVQykb6zoOV^_HI_MI$K%eW5ssH_t{uDe$L($DQ zIyxhD179@I4pzqc8)!=3MfbusG|;2y0KdiS>1)H@%7gY_8XdTDtk=QRzyE7YVGtKO z#~W6oo9JycBOjw{w-a50uhC6=1`YVKH$p~=qVJLV==HAX_2Kb)GG1Sd)oEXY$x0M{ zpy2V!vo6fEFxpW$bl}F(PH4yd(am~WtUrWqwx!XvXoj|;6WEV#x+BqJXhwft$N4`` z;ZGVm;V*B7KUiq+R(j$o>JzXH=6*Z;%Cr}Drv4)O5m{`{{6?xubK{iW0k z?}Q&pPhd^zdEX72wiQ;U{=mDO|Jy0NNrS&kD*s-3;%OX%O)>k1@IVK2)6GS{V!ecQ z@OyOk7koc_=^TU=sV~4X_#xKCpU_j3@j-gxIUIveV6NoG@SSWWdSkv#p`-TbKvU2G z-oYyPAG*t{d>D?^jcDd(qp$2Q(bMo(wD?D1=54Sq?f0OWJAl_?@;rrmDYX4K`~~DK zIEH$$&EcO)%s~gpza@Nyx)EK1H_#5#w}!9b18_9;A8;{t`6S$T3jK0ge_QxP#$;?s zeHTvg{O8{uzTZENk8|NK?1=MrgulV`4Vsx7KMm*qDZHQhDx8Z|K1)w6)duWB{U7`g zJM9chn|oI{rqj^Vumm&kE!@DrKTRB@V1$qF4x8x^IzZ+V|FLHw%?)woku&o@<_N|7E7e@qg1T-|270R7VYmIbj=^Y z*|-$bvBG!ZG*m_=!uS8!&@MD2dSgd!9FDHxS~SIP;SKmcx@WFD8UiYaet1N)~-=F^%#tQ|%55Homfez3MOJaX?iKd`yyezhFiXOvKv}gSx zd{L>44%`-z4qbPo(e-w(Ig?)jfc!5Q3xrhFzk<0WVS&toh61P$bhV__|;Vtwje z(7iGXUDI_~3lGQk+{eSFtB1X5Z-xf82vh(4&!rTMY$f`Nd=1?L+tD8$zd~nt0o}bt zPJ~lX8r?JX(ZD-kHM|iG>`^R%J23;#qTeU-{urLi_>uGPajH&(o250niwB?qj7C#= zA3D%{bf9JE4A)~J`~}^lS$_%xl|}Dsi@vf4Mi*fl>IcyNi=Iq|fvcSiZ>~1jhzopd>GBlNi+kQeh%iquGI6R_YFe>z8!u30W{T{a5dKEcrN`VyfOFx8eUi#XF`9&(0-CH zQ!w(^(E&H29e#oico02K-=Q=61zobVv!Q-9daNp-OVk2QZ4b2H5wU$jtj|QhNiD#( zp8quzJXV*`4hsA)3|t<4;naw>LL=^trgR{>2Zmrxd;%-ur)c08(ZJJx3#TbJy0@-I zm!K48@%%T5H?%>|W#?G$jdm~y-JE04Pq%64eT&h6SH${TXuz9d`#yAH$I#80el9#; zJX#M+dH%amF!DRG3NA-ey$?Ncx8Iwl*NW8EN9cVqe7d}S=I2hYcqnkC;`H-0+=zSH?=W0aTp?hL5x|i-o1A7P! zbTJy(^7EX316W0aGyVX5U@!W>_viz^qXYeezT-3h5dz4IzMzVt_ccH>(h?n@3mWhZ z=$em<&PF%k%0D>&M*2~_@vG>0G?3hXh6jtG1Jy@U*DJP<#M0EKVOe|$?RXCw&@bp- z`2*cMi3?$(1<(mrO2&r9Xvf#b3q#QkCZIE!j0QRb&D2t?fNQZLeuJ)Uwu@mC7DJb= z20D>8m}0bnUZT3aKxO*2|+y z)f64DBRXJD^fcUzoQ`DTK?(-2GT!iBtbdM1ehf|3?`SG7|0@iX2OXd=dc7@FU$9d3>%b+u9ga+OY z4WKusUR>ym$Do;+6ulpPZWgBg`yUG_IM52T<9E;wccXja+vsoT5@h~2m>cb=V6-&a zPjz&LtxMu*4taafG@8UJ$rGbpT}!A-Fhtsh5Ic=>-}4_u25TnP=V4m!hD(d*GA z8H5IO7n+Ib@%n5u15cs>K8sFl-G9mOUGEbb+|{3<5${D`9N(ZB`4f#e7dypGRRtZW zZmhRJJM4&lcN`S24?~w=T&zzh&Sv(1NsWx8z<2FE}$vS zmKFvmik_BAXnzf3y+gd-5AFBn*nTe>XmSn(Q!^h;*;8l-&!QQ44c+D2(Sc9I>wm`j z<>}%1YtSVthMuO{Xu$Q*fjgj?9EkQm0hw4bF`a@lc_iMj9DVS;Sl@{bd<;$H`PiN* zQ|P!5x~7%UC259ctP|Q#Z?ykW=$=W&_BmM6^S_jWGyf>wupJ%f0J2J#0w zK$gowdp@+iC_2Nc=pJc}4%h`<^ZsZiN5uANnELsD9tAsCioS4OL%%qDiq7C9+VNlL z3n*XaFyjj7scDQEH~^jLWc2yR(9Ens1KNTHvI|{;Lzp`MKgJ7xpqWTq9wN_zK5!+P zfuiVIRzL@8ga&jydi+MAGoFTSu6eP(0DYq_Lnrb+n&JJI^Yf39d{2WZ{a?KBH@f+< zX9*pbLhFst`+K3Ab_6=Jv1q0yqBDL79pGtnLaWfFTpR1_(f&4ONrs5Nq`{e-MQ4~b zYnWkSw1aBs64gZqYKz|2H(tLbw%>sUHWLltVf4NwXvSVc1Ku3nnT!_>peZ|rp5wFV zfQf7&^1Nsu*I;TXV!Z-7V0APz_0SZzMfcJmbP4Z41DO%)Pofh^E~8+_>(C{5FS->C zU=RA>_vj4HqXTBo9s_S1sz`_pf?%H;D_qMycySu%{wXX4gbC`4Axo@pEYYkKX`OkdcIUpPau(EIgtnin> z$_x%DdNetPI+Ul@lJs%9HFGRu+4Ol>r~Ha%11I@>Opv zAE)bc!yH(7XzF66-U=)H-LbBp{~wMc1hdpG!pf6m71s5v#maMHht^MEWuXgLS>!HO z7W;secf)9Lq6Ye7WnfN?1J%~R%1t%HMpnk@g3}JW3mb$@7uV@}DYXx_8u3Z2~Br+zCe|vdWAXQ`~WGvQD;0u6@c`UM#i^0ILkXDk%MkTq&fZHB^TNYRaCX`$N zJt7C0^9ntT{{m}ccSqu6hIl*!`e8FOxF|Y+*UIKXa#lK#1LT&nOgbeSMqMN|1Cqco znY_FlcU+e%LT>{-&?3!k&{LlR*O9(D^mBe*^OH9!2_X|H31Bq~t%t}hRUqif;5jT~ zVLwthi5;QKRMSCO>Fo?=i1yaT@@0af7<`^mh3B6`dMiNQ5=V{FUU6slanFmbiv|kqkAl~jAfkkipXz0sLMbRZ?N0o zSR>0ypWOdNZIt)bVHDglMw{}}AW}$igIHj>`m*mMde(v+O)eG*`JMik$*=O@x`;Bk=IAYqV5#o(JSQI){|?+SnG;w3 z|3x(l<@9~^IdNNxOUc~_c$S8`)MAs*PfjG6E||+>(eEtR4oq3_-RSE9HVxS3=xvsG zM$Ij;z!X6jl8EdFIUn8~P0-J1D5qJe#Pb2UWe}v(&}?8DC|PM;`UV4f)7PH(CiOu2 zE7O|+ynNnw6MO`f6KY9jvm_`*5TD@Tur_!4fQ!)IsC~C;n#dR zj+5JhPA7K*GG91?sO3RFGvpBX)-3fG9A)tbxKE*W8yr2T$CB^=i7ZDGLe?B@0P%3* zPyhjtyX8B1kv8OGGO!WDL}EiWfLdd)%ZR&DyN?#qUiqAV4Y5cimN`d08@&&)qvYrB zit9DbV7SORYyoYMcqUD)7`ll;n@j5n;8O2bMf)GAYU*hrL4iXn2FCu0fyPeB=z>`Z+cUI+Ef?h9{)C6?%%eB=JNV%R+RFp?t^6 zCFzx9zAn-V+!F97h_`qw8wpQMogyr2k zFHOxYeW^7i-a|e6Ulc zn9tiC%XNXa)OztS?15P1DLpyWU(Ap*;6^L)P|b%&K^<$sj%CStTJMeRPEQ2&#PXpk z2@QPj%q8iy`8A7V!;iyIkyL8M9|BnjbtlS8X#WvQhdg4T)b!V<-a!xXf!aL=w_xUP zy5hp=dj5s#HFbwLTzxldO>QC|I)R#7-ZS_D@ev3UFyJ<7d(@Z0kqJx*@<(YZixoM^ z;Cu8`M2AMDB3(ZhlYl~8w#^4gVj2tL4+a!Rm)WM)mqiMxe~=!xbRsvG-b8v*$&cW4 z6~NS`_6g2L_~IEN)%;tyDzNwsdiUspy~s@gr61 zStZF1ZV){kiFbo}hb^Vgli1i23|vG{Rcht1<#qY>^n7HvKY7>Vzn4N%h~2V)(`_Tj z3$PiDGpKn3p6Ui*ACedO!qA#JRN~b5^}+9#)2Rf)pMsc|UmTsaPfCY)soZg#!Z86* z%*@~nx=3Fo?MVGI;3r(!dHkN}6XL^qni*-&~pR76aHl7 z&H&a^rbu4q*9E+g;z7uHoy9Q(D^io@4h#xsa8Z1DdBQC_8TJ^JmnLS?pNjfgw3jZi zgPf-&vo@ z$<5V)`QZBjVmEOOYMt*e&RlP1LDskk{#BiFj z(hwbB5PBT_8(>C&c~OzX5EVqrvOs2RPa(zcPhZ+7h-0E2pf$EAdA`N=A9>&rWt5jH zME-%~0~=S?=JOD@rm+VEBgsu59!|U-%tCB(^0mnAMcq=51FS_wV!|7bTCmpB(36Xv z2iQVU5XTv6k>v==ab+S8uwNOlOP313`p_g2#)A9szkoT!kTxvU7=krAP%!fqyPVu{ zy)nsmCBKSTUJ%?0=Mp%&(mO?dRp?Jas8pu0moC!<|0IoRiI<}9X(-FkmiWDOP$_ap zA-qnUANvqnnG-I?f6PGsFodHS2l`3elsFN!74+049tzia2V{o{8oE9gmMsVzT`7s= z06viR^0bzO`VFlch(*>xEi#gt$T@U0xozNjf@#EkH70jS2+3!Hvk7(#VFZ{0*zITt z*d}N-`ES#gAj=6T0Kis~2c#J}qc$qy0aB+Q_ycG&hMfb?U*>VV#fp3+Cz6b%>*IS- zb4xrh4>@{1mO4j18kjNiWm_17hEot}Kp{x|U~b}~5=t#Uwc_MN4yZL)`U3cokd@YTv=^0zXZblaB?9QISlNKw8rH06-#uc^OoYrj^7Av_4mD zY)J2r7kNt025=M6Z*l;7o07W*<{sKWaYgAJ%hDxXUCf_OLnlcG5meO?*_94y@84p z;Xs+?@sCZzI&_T|0sx123>^Sb35b?K@!NXLXR|H?x=lW($11iPtLl zB7@Q}Xa%*laP>f|>cj2FoXAcTx|5uTt%2>Jq)+t*P6HBYNYg=T{Um0wQTUa~O=a*X z#RSqng?KKynMJPZAQu5|g5mr~Z5+$D$NIQ_Y=XiZ0=LA|+mLuFz%A%R{NLpNFfx(&`!=tg<`O9A*tn%G{x$-sZ4bJ%R! z8elK{%ev4LVow>t2}e`^OP62IfL8#v>T*MfbI^O4cqKD7Qmaf(WHp+Ad9L^WZVdYk z=x@kUq9*~ZqTwV1YJ;gs+)W$zkaNo-7Rp8bhUR|JTbKA2fW7$r$n)2I97*8!gFj3c zt;kYk$ZZ1~Sw*ks6$z2q#JAihpt&4PEpJ207-bx-u{X%&mam1=;FvUstYd&keHU?}W zKLF4G3daEz!cUBU6I+x8FQD_t57lAA@ITNyjb%c}nc%7mIbx7cOKu4^2D$3mGnm1Z zndKpoj-Gm&wYt$qz@PE|X5e9M%)?D2VL(mAT%zZM-dYVX@u=N}cp%JYJlN-v>qWf% z|J;~Brl2#u{5YW&o3Wk9@2P3_`bAcSez}gT%{iJG<^=DL z4gx!$T2b&7sSVV6C1Mk<`Z}p0y-VQB8#UOGg`S~N_Y>(DLQ%f+9|JoLTY%=b0FFWS z2R#L_IE(b8wwT&YY)f6N75;nmuTc{@!=U%{7h`x_db8sHe`3qGGd42#B&XT0s8J9! z)~0$aaFLTV(%NZiH5ph0@|M)b>CI(g_%h;x8sDU69qN|2^gUpXNIQDdV_iQ<%6vx` zhGivr29nq44;uIAX=;%#OY8+EE`zT@k_Z1Q!{krVY(fj@pz;h6*+*|Z`m%tx@w;*h zueDYXTQmyh$V@$Q9YlVBViL^77AFp&L4@x@I|f4JmPyo0Gi*EgTAXw(i>$yG8LLa= z2P1M!Zz3wMgy_!%^s{6y-vb&(dte{=1%z^!HYL&(FayTuoN z6YN)NUBK?AJ}m}&wI>k`;60Er*ldBG;yrP1Ksji91!*qg&eT3IWC{LVdV1rZ*9Bg| zvjIN_x(WPGxF&+%ht7gW%_>8%1zBo6kLV*4<#m|~>%7Ymg|OK_;0Xyhb{{(zeU z6lsDTLBUf-Qva^?`5xO()Lakj3NV%68p0w?@T)=K&kaO_tA+AiA~y@{060FdM35Jc ze-RoA(;)JQ&6A=gjr(=bU`Qw7Cqvtz#UZOkb0_+aq9XIr!t}kP7F&n)!~OtY2y7m` zfr?<75W6Kr-Y?#e{LBJv0SVs|B@oa`60d2P36aP$aP7d2!(T|B$Qdvvu`AFqEZ$cK z#KixkgRhhOLhpRAvCuN)!{E&7evPOqkMC{0P9YUpqyxks55ZIx+e_0H9gr6MM&h&( z?jhGhZ}B-c46R4rqP`TK#q_>rXa}9Kl6fMokAFTIT-SknX%tCFLkn`JvG6$l=*_gm zPXkdchP=}rKEZIbQt~?BMO;5Cg&jfj9C{Zq=L+23+>AkAbop@-ljKH{Ng#_YQ;>u@ zC@SJ(1Myw0Nv;&lv%oLYflVOnf*ylwk{)ISJ$+cD0`V>ItHD1aR~o-0enWWn$e)ux zq76b^hr(Fm4-%;4CU>9f-B11+i>6@cI{XCGGqY45YL|%9FzhrowUA@o(v13JhW4i~ z2>ftx-q;xA56HjaBIyXaQ|N#;C6|!Xj7CL%lS`$9&4`OIpgB3WTm^sK9bnf`D~h!T*LsB=WUhVNQm1Kyy$jdV#DX9u$@Kv0uz;@;^ws+*i~U5tIrbjf0>TFjoJVd2wi0C7Ax;dJTjJux zgKs2tkyBvW6Q4%kz~7jBCi$y}3l-3eC6+@X5{&(ah0dWV8FrRhU-Aac-N`N1n-FY9 z$i9Hj$TA}N(G+m*2m1vpABik-)#($tMqC<|?}N81}c8ozH1qGlogZvfh z3m_C3p~JH<@DRgKP(KfT1Nmr>HX+xOcr5rj_+AXQsJ+E^kZ%gciC+Uha=UIF2XH+S zdBAk1_)Le@BECRef!b9ae1f>RE;@_)Tn3DUG(fpV5~rZwpSUu`{Fp&rP<#^lrM;*#IN z(yQqciNMxjiCy#*#*Tw`qZjvIoMI@A6Cg}UvH-=5#EOz&NwPtu7xJ5?EZOP+5l!gQlw$WkP08PcuNMkDMplYyxdY^8V|(i<^An470e6D|C+SUwbx<#XKErJz z03?`NdF|^aU#1+V=^IU4|E}BC1lvMuLh{LDL5b@! zFd-Zwsdb6r#QnkDp)ZT(r2dVivSA}fP#C9=c`dd(s>1|yk;W4qP1!kZGU|O4A4+dp za)HEk@i#*%@=$w5E7wcvN8ox(euUmYd}@Y#nmQB$k#5>toI-DaImnfvu`0wDuzkS| zprwg|x zw@qHFXocD|R01e+AA&@5Ujz76SX45TuZH>(hlBOe1%J{nGM3z5dMgsAC;y4uFc$ly zm<90l#lK4LB)B4L^QHs3p9R7JMgV9DU;{RtHjQMFKwYF5xeky&haexr^3W&pD9Skc z3l_cvdP;w+H$An%-2#7tzLeB|MJ*rc7)N0-x|2;iMkO7ixW;norvsb{Ey@C$!8D*I zG7bNy4lkm^zJd8i7p+Zy7H|pZ6&VS35cV7P3);ig!{gr-q8)-jhSTKDmQS^5hYrZX z2?m1`@nS%H>R<57=#r1=5$OkRqUI9nqLTlKAI89J^!-iUskMyqFWXg`rc>Aru#cWZ zn%1BTsb!#Hisr+Kv!dUr{b6VYT~zQx;Oec5EC3_2j<};9;ttr1#B&&4f?7_L^Yb`T zc);l@>E;_`J5HGv!mc#WK);fzPp$^UXTg=ACh{1KPF#ujkJMST3%S}1>gREonAA4W zdlatKXenwZPJI)Y7fb8!gkk1m+B&igaw&FPi8PL$>-+OdG!{Oz}+7017Pb-e?_h$KU7IGQhUj5bYW;(1}2B}6S!b7Ulg+%E+6vm z$nVyHsfpe47uXMQM7{;+4@p8mt4Vr6x)r-kn{g5OClnTNub)1W_43oeloS{J{Ie48Q~+eM%oImK^mQ(YvHAdpQA zeuKTqQZG=MH-R@<&`jVEll%NNJUyHq4;eW`U<>>o+Y0W%vA;_qn3^yx8x@0 zWX?`7E$MOH|9gf_CwURnN;bWMikv3Dk%nfFio_(IOf2#h%w)~`kedkM3*zSFE1-kO z&4hEGV!m;ZCd6aV%q+AUd^h*k|3a9W#CTL>6o8d9c7!MuTh`N|x9|fYI!IpRF1iFi zh||6#-%W3;3Hb=}$KZR$z_f~&9+5I=MX*2Qzp|!;yeGqYL;eYHE5NbwTi}1w?Q1|( zOqaV%JsUmQv5m18bvYqE%nhX{u7SS@j$ialKn)I*8my;wMrQkIBO|40Nw62DqVSVVvfGXXM-=^K9r!m3HuHMf$9McXQZrnAj zmm`hS_Wn^uU`*@oSR<`ne2P)rX?>Y)jIjTnVN5q{d!}*Bu$s;>GTCG27$*&D^*p1r z@F(4?n^~W^Rd$(y5+B(9@;xtoQBb;Uh z`?i55%UtGMi@$T-!w$@2E^yif3Ya+z zdwoH3rMJDSxS7PXGX?UC0`0tI%m+?8sDgRU%j#LxTx|PSGZ)0SiZwU$+E<&K`AQRi`o2%rLw+O zuYu-idwHa3m|h{l5y4ihA!ZJ1`w(-XciDEG!+KjOhM9$}1jEeI)}~=*bL-e}v%589 zgqgsaGSbXs1&uT}THi;R4Xo><&FuER?so?o892J8PCTaf7#6GW!1T1?y=Y2G-I3g zr`u+4(;9x?EN@@9Zx%7FZjV^>&m%M39`o3Y>uo=HVe-yD>y^1ChCSeu`P;`%WH^%> z)&|p=-=1VT+ef$4#B%O5?W1v=4GpWbuQRW`#Mima+iI4`Inqv&*coKnU6VRTI_(@O zouv%xb}DB|>#D!Ah*dPenbn>g;Ee8NpH1&f=w&y};!GbsPIpJ8&{iRx9kn`#g><*i v<#zt@w!am04vJ+jD((Ch&l+3TS=GK@&$-#OE;exXvc@-bzPFY)cDDW>7Jdj$ diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po index 1230d8beb..374b65e7e 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -4,17 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2023 # Jonathan Senecal, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jonathan Senecal, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,7 +61,7 @@ msgstr "IP autorisées" #: account/views.py:197 msgid "Your preferences have been updated." -msgstr "" +msgstr "Vos préférences ont été mises à jour." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 #: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 @@ -78,7 +78,7 @@ msgstr "Approvisionnement" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -98,37 +98,37 @@ msgstr "Déprovisionnement" msgid "Decommissioned" msgstr "Mis hors service" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "Région (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "Région (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "Groupe de sites (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -139,9 +139,9 @@ msgstr "Groupe de sites (slug)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -149,7 +149,7 @@ msgstr "Groupe de sites (slug)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -171,8 +171,8 @@ msgstr "Groupe de sites (slug)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -187,8 +187,8 @@ msgid "Site" msgstr "Site" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -226,9 +226,9 @@ msgid "Circuit type (slug)" msgstr "Type de circuit (slug)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -236,7 +236,7 @@ msgid "Site (ID)" msgstr "Site (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -360,13 +360,14 @@ msgstr "Numéros d'AS" #: 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: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 +#: 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 msgid "Description" msgstr "Description" @@ -396,8 +397,8 @@ msgstr "Identifiant du service" #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -416,11 +417,11 @@ msgstr "Couleur" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -428,7 +429,7 @@ msgstr "Couleur" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -465,34 +466,34 @@ msgstr "Identifiant de compte du prestataire" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -504,7 +505,7 @@ msgstr "Identifiant de compte du prestataire" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -518,9 +519,9 @@ msgstr "Statut" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -589,8 +590,8 @@ msgstr "Paramètres du service" #: 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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -600,7 +601,7 @@ msgstr "Paramètres du service" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "Utilisateur" @@ -610,9 +611,9 @@ msgstr "Utilisateur" msgid "Assigned provider" msgstr "Prestataire assigné" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "Couleur RVB en hexadécimal. Exemple :" @@ -625,9 +626,9 @@ msgid "Type of circuit" msgstr "Type de circuit" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -635,9 +636,9 @@ msgid "Operational status" msgstr "État opérationnel" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -656,9 +657,9 @@ msgstr "Réseau de fournisseurs" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -671,8 +672,8 @@ msgstr "Réseau de fournisseurs" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -821,7 +822,7 @@ msgstr "identifiant du circuit" msgid "Unique circuit ID" msgstr "ID de circuit unique" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -915,8 +916,22 @@ msgstr "terminaison du circuit" msgid "circuit terminations" msgstr "terminaisons de circuits" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "" +"Une terminaison de circuit doit être connectée à un site ou à un réseau " +"fournisseur." + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "" +"Une terminaison de circuit ne peut pas être connectée à la fois à un site et" +" à un réseau fournisseur." + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -990,13 +1005,13 @@ msgstr "réseaux de fournisseurs" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1099,7 +1114,7 @@ msgstr "Taux d'engagement" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1113,7 +1128,7 @@ msgstr "Taux d'engagement" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "Commentaires" @@ -1205,6 +1220,11 @@ msgstr "Mot de passe" msgid "Branch" msgstr "Succursale" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "La récupération des données distantes a échoué ({name}) : {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "ID de clé d'accès AWS" @@ -1222,16 +1242,31 @@ msgstr "Source de données (ID)" msgid "Data source (name)" msgstr "Source de données (nom)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "Renforcez un espace unique" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +msgid "Enabled" +msgstr "Activé" #: 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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "Paramètres" @@ -1252,25 +1287,6 @@ msgstr "Ignorer les règles" msgid "Data Source" msgstr "Source de données" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "Activé" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "Dossier" @@ -1351,6 +1367,18 @@ msgstr "Paramètres du backend" msgid "File Upload" msgstr "Téléversement de fichiers" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "" +"Impossible de charger un fichier et de le synchroniser à partir d'un fichier" +" existant" + +#: core/forms/model_forms.py:108 +msgid "Must upload a file or select a data file to sync" +msgstr "" +"Vous devez télécharger un fichier ou sélectionner un fichier de données à " +"synchroniser" + #: core/forms/model_forms.py:147 templates/core/configrevision.html:43 #: templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" @@ -1416,7 +1444,7 @@ msgstr "Valeur actuelle : {value}" msgid " (default)" msgstr " (par défaut)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1451,7 +1479,7 @@ msgstr "Configuration actuelle" msgid "Config revision #{id}" msgstr "Révision de configuration #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1469,90 +1497,104 @@ msgstr "Révision de configuration #{id}" msgid "type" msgstr "type" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "activé" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "ignorer les règles" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" "Modèles (un par ligne) correspondant aux fichiers à ignorer lors de la " "synchronisation" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "paramètres" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "dernière synchronisation" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "source de données" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "sources de données" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "Type de backend inconnu : {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "" +"Impossible de lancer la synchronisation ; la synchronisation est déjà en " +"cours." + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" +"Une erreur s'est produite lors de l'initialisation du backend. Une " +"dépendance doit être installée : " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "dernière mise à jour" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "chemin" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "Chemin du fichier par rapport à la racine de la source de données" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "taille" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "hachage" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "La longueur doit être de 64 caractères hexadécimaux." -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "Hachage SHA256 des données du fichier" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "fichier de données" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "fichiers de données" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "enregistrement de synchronisation automatique" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "enregistrements de synchronisation automatique" @@ -1622,6 +1664,13 @@ msgstr "emplois" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Les tâches ne peuvent pas être attribuées à ce type d'objet ({type})." +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "" +"Statut non valide pour la cessation d'emploi. Les choix sont les suivants : " +"{choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "Est actif" @@ -1665,7 +1714,7 @@ msgstr "Commencé" msgid "Facility ID" msgstr "ID de l'établissement" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "Position (U)" @@ -1741,13 +1790,13 @@ msgstr "Pouces" #: 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1856,8 +1905,8 @@ msgid "Virtual" msgstr "Virtuel" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Sans fil" @@ -1867,8 +1916,8 @@ msgid "Virtual interfaces" msgstr "Interfaces virtuelles" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -2025,200 +2074,210 @@ msgstr "Monophasé" msgid "Three-phase" msgstr "Triphasé" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "Format d'adresse MAC non valide : {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "Format WWN non valide : {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "Région parente (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "Région parente (limace)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "Groupe de sites parent (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "Groupe de sites parents (slug)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "Groupe (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "Groupe (limace)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "COMME (ID)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "Lieu (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "Emplacement (limace)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "Rôle (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Rôle (limace)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "Étagère (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "Utilisateur (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "Utilisateur (nom)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "Fabricant (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "Fabricant (limace)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "Plateforme par défaut (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "Plateforme par défaut (slug)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Possède une image frontale" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Possède une image arrière" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "Possède des ports de console" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "Possède des ports de serveur de console" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "Possède des ports d'alimentation" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "Dispose de prises de courant" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "Possède des interfaces" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "Possède des ports d'intercommunication" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Dispose de baies pour modules" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Dispose de baies pour appareils" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Possède des articles en inventaire" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "Type d'appareil (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "Type de module (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "Article d'inventaire parent (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Modèle de configuration (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "Type d'appareil (slug)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "Appareil parent (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Plateforme (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Plateforme (slug)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "Nom du site (slug)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "Cluster de machines virtuelles (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "Modèle d'appareil (slug)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "Est en pleine profondeur" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2226,68 +2285,68 @@ msgstr "Est en pleine profondeur" msgid "MAC address" msgstr "Adresse MAC" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "Possède une adresse IP principale" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "Possède une adresse IP hors bande" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "Châssis virtuel (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "Est un membre virtuel du châssis" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "ASTUCE SUR L'EMPLOI (ID)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "Type de module (modèle)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "Module Bay (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "Appareil (ID)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "Rack (nom)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "Appareil (nom)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "Type d'appareil (modèle)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "Rôle de l'appareil (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "Rôle de l'appareil (slug)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "Châssis virtuel (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2296,23 +2355,23 @@ msgstr "Châssis virtuel (ID)" msgid "Virtual Chassis" msgstr "Châssis virtuel" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "Module (ID)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN attribué" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "VID attribué" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: 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 @@ -2338,77 +2397,77 @@ msgstr "VID attribué" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (RD)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (IDENTIFIANT)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de châssis virtuelles pour appareils" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de châssis virtuel pour le périphérique (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "Type d'interface" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interface parent (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interface pontée (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "Maître (ID)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "Master (nom)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "Locataire (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "Locataire (limace)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "Non terminé" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 msgid "Power panel (ID)" msgstr "Panneau d'alimentation (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:79 +#: 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 @@ -2417,9 +2476,9 @@ msgid "Tags" msgstr "Balises" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2459,9 +2518,9 @@ msgstr "" #: 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 -#: 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 +#: 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 msgid "Group" msgstr "Groupe" @@ -2483,13 +2542,13 @@ msgid "Time zone" msgstr "Fuseau horaire" #: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2519,7 +2578,7 @@ msgstr "Fuseau horaire" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Rôle" @@ -2536,7 +2595,7 @@ msgstr "Numéro de série" msgid "Asset tag" msgstr "Étiquette d'actif" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2558,7 +2617,7 @@ msgstr "Largeur extérieure" msgid "Outer depth" msgstr "Profondeur extérieure" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Unité extérieure" @@ -2569,11 +2628,11 @@ msgstr "Profondeur de montage" #: 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2592,22 +2651,22 @@ msgid "Max weight" msgstr "Poids maximum" #: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "Unité de poids" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2624,7 +2683,7 @@ msgstr "Étagère" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2633,17 +2692,17 @@ msgstr "Matériel" #: 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2652,7 +2711,7 @@ msgstr "Matériel" msgid "Manufacturer" msgstr "Fabricant" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "Plateforme par défaut" @@ -2671,19 +2730,19 @@ msgid "Exclude from utilization" msgstr "Exclure de l'utilisation" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "Débit d'air" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "Type d'appareil" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2695,13 +2754,13 @@ msgid "VM role" msgstr "rôle de machine virtuelle" #: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2709,20 +2768,20 @@ msgid "Config template" msgstr "Modèle de configuration" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "Type d'appareil" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "Rôle de l'appareil" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2734,12 +2793,12 @@ msgstr "Plateforme" #: 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2748,17 +2807,17 @@ msgstr "Plateforme" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2797,8 +2856,8 @@ msgstr "Appareil" msgid "Configuration" msgstr "Configuration" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "Type de module" @@ -2824,8 +2883,8 @@ msgstr "Libellé" msgid "Length" msgstr "Longueur" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "Unité de longueur" @@ -2833,17 +2892,17 @@ msgstr "Unité de longueur" msgid "Domain" msgstr "Domaine" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "panneau d'alimentation" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "Approvisionnement" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "Phase" @@ -2887,13 +2946,13 @@ msgstr "Tirage au sort attribué" msgid "Allocated power draw (watts)" msgstr "Consommation électrique allouée (watts)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "port d'alimentation" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Patte d'alimentation" @@ -2902,7 +2961,7 @@ msgid "Management only" msgstr "Gestion uniquement" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2910,7 +2969,7 @@ msgid "PoE mode" msgstr "Mode PoE" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2922,8 +2981,8 @@ msgstr "Type PoE" msgid "Wireless role" msgstr "Rôle sans fil" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2932,25 +2991,25 @@ msgstr "Rôle sans fil" msgid "Module" msgstr "Modules" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DÉCALAGE" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "Contextes des appareils virtuels" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "Vitesse" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2961,37 +3020,37 @@ msgstr "Vitesse" msgid "Mode" msgstr "Mode" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "groupe VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN non balisé" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN balisés" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "Groupe LAN sans fil" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Réseaux locaux sans fil" #: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -2999,22 +3058,22 @@ msgid "Addressing" msgstr "Adressage" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "Fonctionnement" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "Interfaces associées" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3050,8 +3109,8 @@ msgstr "Groupe assigné" msgid "available options" msgstr "options disponibles" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3065,98 +3124,98 @@ msgstr "Emplacement du parent" msgid "Location not found." msgstr "Emplacement introuvable." -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "Nom du locataire assigné" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "Nom du rôle attribué" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "Type de rack" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "Largeur rail à rail (en pouces)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "Unité pour les dimensions extérieures" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "Unité pour supports de pesage" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "Site parent" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "Emplacement du rack (le cas échéant)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "Unités" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "Liste de numéros d'unités individuels séparés par des virgules" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "Le fabricant qui produit ce type d'appareil" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "Plateforme par défaut pour les appareils de ce type (facultatif)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "Poids de l'appareil" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "Unité de poids de l'appareil" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "Poids du module" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "Unité pour le poids du module" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "Limiter les attributions de plateforme à ce fabricant" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Rôle assigné" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "Fabricant du type d'appareil" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "Type d'appareil et modèle" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Plateforme attribuée" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "Châssis virtuel" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3175,65 +3234,65 @@ msgstr "Châssis virtuel" msgid "Cluster" msgstr "Cluster" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "Cluster de virtualisation" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "Emplacement attribué (le cas échéant)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "Rack assigné (le cas échéant)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "Visage" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "Face du rack montée" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "Appareil parent (pour les appareils pour enfants)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "Baie pour appareils" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Baie d'appareils dans laquelle cet appareil est installé (pour les appareils" " pour enfants)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Direction du flux d'air" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" msgstr "L'appareil sur lequel ce module est installé" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "Baie modulaire" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" msgstr "La baie du module dans laquelle ce module est installé" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "Le type de module" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "Répliquer les composants" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3241,216 +3300,232 @@ msgstr "" "Remplir automatiquement les composants associés à ce type de module (activé " "par défaut)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "Adoptez des composants" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "Adoptez des composants déjà existants" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "Type de port" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "Vitesse du port en bits/s" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "Type de prise" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "Port d'alimentation local qui alimente cette prise" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "Retard d'alimentation" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "Phase électrique (pour circuits triphasés)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "Interface pour les parents" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "Interface pontée" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Retard" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "Interface LAG parent" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "VDC" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "Noms de VDC séparés par des virgules, entre guillemets doubles. Exemple :" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "Support physique" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "Duplex" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "Mode PoE" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "Type de poteau" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "VRF attribué" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "Rôle RF" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "Rôle sans fil (AP/station)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "VDC {vdc} n'est pas attribué à l'appareil {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 msgid "Rear port" msgstr "Port arrière" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "Port arrière correspondant" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "Classification des supports physiques" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" msgstr "Appareil installé" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" msgstr "Appareil pour enfant installé dans cette baie" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "Appareil pour enfant introuvable." -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "Article d'inventaire parent" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "Type de composant" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "Type de composant" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "Nom du composant" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "Nom du composant" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "Composant introuvable : {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "Appareil côté A" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "Nom de l'appareil" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "Côté A type" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "Type de terminaison" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "Nom de la face A" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "Nom de résiliation" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "Appareil Side B" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "Type de face B" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "Nom de la face B" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "État de la connexion" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "Côté {side_upper}: {device} {termination_object} est déjà connecté" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} terminaison latérale introuvable : {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Maître" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "Appareil principal" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "Nom du site parent" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "Panneau d'alimentation en amont" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "Principal ou redondant" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "Type d'alimentation (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "Monophasé ou triphasé" @@ -3496,7 +3571,7 @@ msgstr "UN {model} nommé {name} existe déjà" msgid "Power Panel" msgstr "Panneau d'alimentation" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "Alimentation" @@ -3520,7 +3595,7 @@ msgstr "Groupe de parents" msgid "Function" msgstr "Fonction" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "Des images" @@ -3552,7 +3627,7 @@ msgstr "Occupé" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3560,7 +3635,7 @@ msgstr "Occupé" msgid "Connection" msgstr "Connexion" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "Contexte du périphérique virtuel" @@ -3576,7 +3651,7 @@ msgstr "Type" msgid "Mgmt only" msgstr "Gestion uniquement" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "WWN" @@ -3606,7 +3681,7 @@ msgstr "Puissance de transmission (dBm)" msgid "Cable" msgstr "câble" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" msgstr "Découvert" @@ -3640,29 +3715,29 @@ msgstr "" msgid "Reservation" msgstr "Réservation" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "limace" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "Châssis" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "Rôle de l'appareil" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "L'unité la moins numérotée occupée par l'appareil" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "" "La position dans le châssis virtuel par laquelle cet appareil est identifié" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3670,27 +3745,27 @@ msgstr "" msgid "Priority" msgstr "Priorité" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "La priorité de l'appareil dans le châssis virtuel" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "Remplir automatiquement les composants associés à ce type de module" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "La longueur maximale est de 32 767 (n'importe quelle unité)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "Caractéristiques" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "Interface LAG" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3706,17 +3781,17 @@ msgstr "Interface LAG" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interface" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "Appareil pour enfants" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3724,42 +3799,42 @@ msgstr "" "Les appareils enfants doivent d'abord être créés et affectés au site et au " "rack de l'appareil parent." -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "Port de console" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "Port du serveur de console" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "Port avant" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "prise de courant" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "Article d'inventaire" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "Un article d'inventaire ne peut être attribué qu'à un seul composant." -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rôle de l'article d'inventaire" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "IPv4 principal" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3822,7 +3897,7 @@ msgstr "" "Le nombre de ports frontaux à créer ({frontport_count}) doit correspondre au" " nombre sélectionné de positions des ports arrière ({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3865,39 +3940,81 @@ msgstr "câble" msgid "cables" msgstr "câbles" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "" +"Vous devez spécifier une unité lors du réglage de la longueur du câble" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "" +"Vous devez définir les terminaisons A et B lors de la création d'un nouveau " +"câble." + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "" +"Impossible de connecter différents types de terminaisons à la même extrémité" +" du câble." + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "Types de terminaison incompatibles : {type_a} et {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "Les terminaisons A et B ne peuvent pas se connecter au même objet." -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "fin" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "terminaison de câble" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "terminaisons de câble" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" +"Un doublon de résiliation a été trouvé pour {app_label}.{model} " +"{termination_id}: câble {cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "Les câbles ne peuvent pas être raccordés à {type_display} interfaces" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "" +"Les terminaisons de circuit connectées au réseau d'un fournisseur peuvent ne" +" pas être câblées." + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "est actif" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "est terminé" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "est divisé" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "chemin de câble" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "chemins de câbles" @@ -4825,9 +4942,9 @@ msgstr "" #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." +"A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -"Un type d'appareil U0 ({device_type}) ne peut pas être affecté à une " +"Un appareil de type 0U ({device_type}) ne peut pas être attribué à une " "position de rack." #: dcim/models/devices.py:889 @@ -5348,7 +5465,7 @@ msgstr "Port de console" msgid "Reachable" msgstr "Joignable" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5380,7 +5497,7 @@ msgstr "machines virtuelles" msgid "Config Template" msgstr "Modèle de configuration" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5388,12 +5505,12 @@ msgstr "Modèle de configuration" msgid "IP Address" msgstr "Adresse IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "Adresse IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "Adresse IPv6" @@ -5431,9 +5548,9 @@ msgstr "Ports d'alimentation" msgid "Power outlets" msgstr "Prises de courant" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5479,52 +5596,52 @@ msgstr "Lier les pairs" msgid "Mark Connected" msgstr "Marquer comme connecté" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" msgstr "Tirage maximal (W)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" msgstr "Tirage alloué (W)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "Adresses IP" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Groupes FHRP" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Tunnel" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Gestion uniquement" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "Liaison sans fil" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5532,7 +5649,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "Articles d'inventaire" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5541,28 +5658,28 @@ msgstr "Articles d'inventaire" msgid "Rear Port" msgstr "Port arrière" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Module installé" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" msgstr "Série du module" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "Étiquette d'actif du module" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "État du module" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Composant" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "Objets" @@ -5596,60 +5713,60 @@ msgstr "Hauteur en U" msgid "Instances" msgstr "Instances" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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 "Ports de console" -#: dcim/tables/devicetypes.py:116 dcim/views.py:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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 "Ports du serveur de consoles" -#: dcim/tables/devicetypes.py:119 dcim/views.py:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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 "Ports d'alimentation" -#: dcim/tables/devicetypes.py:122 dcim/views.py:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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 "Prises de courant" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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 "Ports avant" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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 "Ports arrière" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Baies pour appareils" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5702,33 +5819,55 @@ msgstr "Poids maximum" msgid "Sites" msgstr "Des sites" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "Le scénario de test doit définir peer_termination_type" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Déconnecté {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" msgstr "Réservations" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "Appareils non rackés" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "Contexte de configuration" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" msgstr "Configuration du rendu" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "Enfants" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "Objet associé inconnu: {name}" + +#: extras/api/serializers.py:154 +msgid "Changing the type of custom fields is not supported." +msgstr "" +"La modification du type de champs personnalisés n'est pas prise en charge." + +#: extras/api/serializers.py:549 extras/api/serializers.py:554 +msgid "Scheduling is not enabled for this report." +msgstr "La planification n'est pas activée pour ce rapport." + +#: extras/api/serializers.py:599 extras/api/serializers.py:604 +msgid "Scheduling is not enabled for this script." +msgstr "La planification n'est pas activée pour ce script." + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "Texte" @@ -5887,7 +6026,6 @@ msgstr "Mise à jour" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5961,24 +6099,67 @@ msgstr "Webhook" msgid "Script" msgstr "Scénario" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "Opérateur inconnu : {op}. Doit être l'un des suivants : {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "Type de valeur non pris en charge : {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "Type non valide pour {op} opération : {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "L'ensemble de règles doit être un dictionnaire, pas {ruleset}." + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "" +"L'ensemble de règles doit avoir exactement un opérateur logique (trouvé " +"{ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "" +"Type de logique non valide : {logic} (doit être '{op_and}'ou'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "Type de widget" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "Classe de widget non enregistrée : {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} doit définir une méthode render ()." + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "Remarque" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Affichez du contenu personnalisé arbitraire. Markdown est pris en charge." -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "Nombre d'objets" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -5986,51 +6167,74 @@ msgstr "" "Affichez un ensemble de modèles NetBox et le nombre d'objets créés pour " "chaque type." -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "Filtres à appliquer lors du comptage du nombre d'objets" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "" +"Format non valide. Les filtres d'objets doivent être transmis sous forme de " +"dictionnaire." + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "Liste d'objets" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "Afficher une liste arbitraire d'objets." -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" msgstr "Le nombre d'objets à afficher par défaut" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "" +"Format non valide. Les paramètres d'URL doivent être transmis sous forme de " +"dictionnaire." + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "Fil RSS" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "Intégrez un flux RSS provenant d'un site Web externe." -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "URL du flux" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "Le nombre maximum d'objets à afficher" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" msgstr "Durée de conservation du contenu mis en cache (en secondes)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "Signets" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" msgstr "Afficher vos favoris personnels" +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "Type d'action inconnu pour une règle d'événement : {action_type}" + +#: extras/events.py:181 +#, python-brace-format +msgid "Cannot import events pipeline {name} error: {error}" +msgstr "" +"Impossible d'importer le pipeline d'événements {name} erreur : {error}" + #: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 msgid "Data file (ID)" msgstr "Fichier de données (ID)" @@ -6242,6 +6446,16 @@ msgstr "Objet d'action" msgid "Webhook name or script as dotted path module.Class" msgstr "Nom du webhook ou script sous forme de chemin pointillé module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "Webhook {name} introuvable" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "Scénario {name} introuvable" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Type d'objet attribué" @@ -6433,12 +6647,16 @@ msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" +"Code modèle Jinja2 pour le texte du lien. Référencez l'objet comme " +"{example}. Les liens qui s'affichent sous forme de texte vide ne seront pas " +"affichés." #: extras/forms/model_forms.py:149 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" +"Code modèle Jinja2 pour l'URL du lien. Référencez l'objet comme {example}." #: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 msgid "Template code" @@ -6462,7 +6680,7 @@ msgstr "" msgid "Must specify either local content or a data file" msgstr "Doit spécifier un contenu local ou un fichier de données" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Filtre enregistré" @@ -6588,6 +6806,10 @@ msgstr "Planifier l'exécution du script à une heure définie" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalle auquel ce script est réexécuté (en minutes)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "Aucun indexeur n'a été trouvé !" + #: extras/models/change_logging.py:24 msgid "time" msgstr "temps" @@ -7431,7 +7653,19 @@ msgstr "article étiqueté" msgid "tagged items" msgstr "articles étiquetés" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "Le script doit définir une méthode run ()." + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "Données de script" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "Paramètres d'exécution du script" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "La suppression est empêchée par une règle de protection : {message}" @@ -7533,28 +7767,28 @@ msgstr "ID de demande" msgid "Comments (Short)" msgstr "Commentaires (courts)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Assurez-vous que cette valeur est égale à %(limit_value)s." -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Assurez-vous que cette valeur n'est pas égale %(limit_value)s." -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "Ce champ doit être vide." -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "Ce champ ne doit pas être vide." -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" -msgstr "" +msgstr "Attribut non valide »{name}« pour {model}" #: extras/views.py:880 msgid "Your dashboard has been reset." @@ -7578,6 +7812,13 @@ msgstr "Entrez un préfixe IPv4 ou IPv6 valide et un masque en notation CIDR." msgid "Invalid IP prefix format: {data}" msgstr "Format de préfixe IP non valide : {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "" +"L'espace disponible est insuffisant pour prendre en charge la ou les tailles" +" de préfixe demandées" + #: ipam/choices.py:30 msgid "Container" msgstr "Récipient" @@ -7618,6 +7859,11 @@ msgstr "Cisco" msgid "Plaintext" msgstr "Texte brut" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "Format d'adresse IP non valide : {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "Objectif d'importation" @@ -7757,10 +8003,39 @@ msgstr "IPv4 principal (ID)" msgid "Primary IPv6 (ID)" msgstr "IPv6 principal (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "Entrez une adresse IPv4 ou IPv6 valide (sans masque)." + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "Format d'adresse IPv4/IPv6 non valide : {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "Ce champ nécessite une adresse IP sans masque." + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "Spécifiez une adresse IPv4 ou IPv6 valide." + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "Entrez une adresse IPv4 ou IPv6 valide (avec masque CIDR)." + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "Un masque CIDR (par exemple /24) est requis." + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "Modèle d'adresse" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "Renforcez un espace unique" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "Est privé" @@ -7796,7 +8071,7 @@ msgstr "C'est une piscine" #: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" -msgstr "" +msgstr "Traiter comme s'il avait été pleinement utilisé" #: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 msgid "DNS name" @@ -7889,7 +8164,7 @@ msgstr "Le groupe du VLAN (le cas échéant)" #: 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:427 +#: 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 msgid "VLAN" @@ -7980,17 +8255,17 @@ msgid "{ip} is not assigned to this device/VM." msgstr "{ip} n'est pas attribué à cet appareil/à cette machine virtuelle." #: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 msgid "Route Targets" msgstr "Cibles de l'itinéraire" #: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 msgid "Import targets" msgstr "Cibles d'importation" #: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "Objectifs d'exportation" @@ -8082,7 +8357,7 @@ msgstr "Port" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" msgstr "Machine virtuelle" @@ -8177,6 +8452,13 @@ msgstr "Modèle de service" msgid "Service template" msgstr "Modèle de service" +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "" +"Vous devez spécifier le nom, le protocole et le ou les ports si vous " +"n'utilisez pas de modèle de service." + #: ipam/models/asns.py:34 msgid "start" msgstr "démarrer" @@ -8699,6 +8981,31 @@ msgstr "Cibles d'importation" msgid "Export Targets" msgstr "Objectifs d'exportation" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "{prefix} n'est pas un préfixe valide. Vouliez-vous dire {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "" +"La longueur du préfixe doit être inférieure ou égale à %(limit_value)s." + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "" +"La longueur du préfixe doit être supérieure ou égale à %(limit_value)s." + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" +"Seuls les caractères alphanumériques, les astérisques, les tirets, les " +"points et les traits de soulignement sont autorisés dans les noms DNS" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "Préfixes pour enfants" @@ -8711,14 +9018,77 @@ msgstr "Plages pour enfants" msgid "Related IPs" msgstr "IP associées" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "Interfaces des appareils" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "Interfaces de machines virtuelles" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "Ce champ n'est peut-être pas vide." + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" +"La valeur doit être transmise directement (par exemple « foo » : 123) ; " +"n'utilisez pas de dictionnaire ni de liste." + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} n'est pas un choix valable." + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "Type de contenu non valide : {content_type}" + +#: netbox/api/fields.py:100 +msgid "Invalid value. Specify a content type as '.'." +msgstr "" +"Valeur non valide. Spécifiez un type de contenu comme " +"«.'." + +#: netbox/api/serializers/nested.py:35 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "Objet associé introuvable à l'aide des attributs fournis : {params}" + +#: netbox/api/serializers/nested.py:38 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Plusieurs objets correspondent aux attributs fournis : {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 "" +"Les objets associés doivent être référencés par un identifiant numérique ou " +"par un dictionnaire d'attributs. A reçu une valeur non reconnue : {value}" + +#: netbox/api/serializers/nested.py:59 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" +"Objet associé introuvable à l'aide de l'identifiant numérique fourni : {id}" + +#: netbox/authentication.py:137 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "Autorisation non valide {permission} pour modèle {model}" + +#: netbox/config/__init__.py:67 +#, python-brace-format +msgid "Invalid configuration parameter: {item}" +msgstr "Paramètre de configuration non valide : {item}" + #: netbox/config/parameters.py:22 templates/core/configrevision.html:111 msgid "Login banner" msgstr "Bannière de connexion" @@ -8930,34 +9300,60 @@ msgstr "Ajouter des tags" msgid "Remove tags" msgstr "Supprimer les tags" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} doit spécifier une classe de modèle." + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "" +"Nom de champ inconnu '{name}'dans les données de champs personnalisés." + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "Valeur non valide pour le champ personnalisé '{name}« : {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "Champ personnalisé obligatoire manquant '{name}'." + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "Source de données distante" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "chemin de données" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "" "Chemin vers le fichier distant (par rapport à la racine de la source de " "données)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "synchronisation automatique activée" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Activer la synchronisation automatique des données lors de la mise à jour du" " fichier de données" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "date de synchronisation" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} doit implémenter une méthode sync_data ()." + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "Organisation" @@ -9088,7 +9484,7 @@ msgid "L2VPNs" msgstr "VPN L2" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Résiliations" @@ -9293,21 +9689,80 @@ msgstr "Révisions de configuration" msgid "Plugins" msgstr "Plug-ins" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "" +"Les autorisations doivent être transmises sous forme de tuple ou de liste." + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "Les boutons doivent être transmis sous forme de tuple ou de liste." + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "La couleur du bouton doit être sélectionnée dans ButtonColorChoices." + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "" +"Classe PluginTemplateExtension {template_extension} a été transmis en tant " +"qu'instance !" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} n'est pas une sous-classe de " +"Netbox.Plugins.PluginTemplateExtension !" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "" +"Classe PluginTemplateExtension {template_extension} ne définit pas de modèle" +" valide !" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} doit être une instance de Netbox.Plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} doit être une instance de Netbox.Plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "{button} doit être une instance de Netbox.Plugins.PluginMenuButton" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "extra_context doit être un dictionnaire" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "Mode couleur" #: netbox/preferences.py:21 msgid "Light" -msgstr "" +msgstr "Lumière" #: netbox/preferences.py:22 msgid "Dark" -msgstr "" +msgstr "Sombre" #: netbox/preferences.py:27 msgid "Language" -msgstr "" +msgstr "Langue" #: netbox/preferences.py:34 msgid "Page length" @@ -9323,15 +9778,15 @@ msgstr "Emplacement du paginateur" #: netbox/preferences.py:42 msgid "Bottom" -msgstr "" +msgstr "En bas" #: netbox/preferences.py:43 msgid "Top" -msgstr "" +msgstr "Haut" #: netbox/preferences.py:44 msgid "Both" -msgstr "" +msgstr "Les deux" #: netbox/preferences.py:46 msgid "Where the paginator controls will be displayed relative to a table" @@ -9342,33 +9797,46 @@ msgstr "" msgid "Data format" msgstr "Format des données" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "Boutique non valide : {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "Impossible d'ajouter des magasins au registre après l'initialisation" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "Impossible de supprimer des magasins du registre" + +#: netbox/settings.py:724 msgid "English" -msgstr "" +msgstr "Anglais" + +#: netbox/settings.py:725 +msgid "Spanish" +msgstr "espagnol" + +#: netbox/settings.py:726 +msgid "French" +msgstr "français" #: netbox/settings.py:727 -msgid "Spanish" -msgstr "" +msgid "Japanese" +msgstr "japonais" #: netbox/settings.py:728 -msgid "French" -msgstr "" +msgid "Portuguese" +msgstr "portugais" #: netbox/settings.py:729 -msgid "Japanese" -msgstr "" +msgid "Russian" +msgstr "russe" #: netbox/settings.py:730 -msgid "Portuguese" -msgstr "" - -#: netbox/settings.py:731 -msgid "Russian" -msgstr "" - -#: netbox/settings.py:732 msgid "Turkish" -msgstr "" +msgstr "Turc" #: netbox/tables/columns.py:175 msgid "Toggle all" @@ -9398,6 +9866,11 @@ msgstr "Aucun résultat trouvé" msgid "Dummy Plugin" msgstr "Plugin Dummy" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "Rangée {i}: Objet avec identifiant {id} n'existe pas" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "Journal des modifications" @@ -9406,6 +9879,19 @@ msgstr "Journal des modifications" msgid "Journal" msgstr "Journal" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} doit implémenter get_children ()" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" +"Une erreur s'est produite lors du chargement de la configuration du tableau " +"de bord. Un tableau de bord par défaut est utilisé." + #: templates/403.html:4 msgid "Access Denied" msgstr "Accès refusé" @@ -9467,7 +9953,7 @@ msgstr "Page d'accueil" #: 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "Profil" @@ -9556,20 +10042,24 @@ msgstr "Courrier électronique" msgid "Account Created" msgstr "Compte créé" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "Dernière connexion" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "Superutilisateur" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "Accès administrateur" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "Groupes assignés" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9585,12 +10075,12 @@ msgstr "Groupes assignés" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "Aucune" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "Activité récente" @@ -9724,7 +10214,7 @@ msgid "Add Circuit" msgstr "Ajouter un circuit" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9736,7 +10226,6 @@ msgstr "Ajouter" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -10249,7 +10738,6 @@ msgid "Local Config Context Data" msgstr "Données contextuelles de configuration locales" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -11963,7 +12451,7 @@ msgstr "Groupe de locataires" msgid "Add Tenant Group" msgstr "Ajouter un groupe de locataires" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "Autorisations attribuées" @@ -11989,7 +12477,7 @@ msgstr "Contraintes" msgid "Assigned Users" msgstr "Utilisateurs assignés" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "Le personnel" @@ -12094,7 +12582,7 @@ msgstr "Afficher le secret" #: 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Propositions" @@ -12181,7 +12669,7 @@ msgstr "Encapsulation" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "profil IPSec" @@ -12205,7 +12693,7 @@ msgstr "Terminaison du tunnel" #: 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "IP externe" @@ -12517,7 +13005,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "Au moins une action doit être sélectionnée." -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "Les contraintes ne sont pas prises en charge pour ce type d'objet." + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtre non valide pour {model}: {error}" @@ -12731,6 +13223,12 @@ msgstr "" msgid "More than 50" msgstr "Plus de 50" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "" +"Le jeu de requêtes personnalisé ne peut pas être utilisé pour cette " +"recherche." + #: utilities/fields.py:162 #, python-format msgid "" @@ -12763,6 +13261,17 @@ msgstr "" "Le caractère qui délimite les champs CSV. S'applique uniquement au format " "CSV." +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "" +"Les données du formulaire doivent être vides lors du chargement/de la " +"sélection d'un fichier." + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "Format de données inconnu : {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "Impossible de détecter le format des données. Veuillez préciser." @@ -12848,13 +13357,13 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "Raccourci unique et convivial pour les URL" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" "Entrez les données contextuelles dans JSON" " format." -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "L'adresse MAC doit être au format EUI-48" @@ -12883,6 +13392,89 @@ msgstr "" "Cet objet a été modifié depuis le rendu du formulaire. Consultez le journal " "des modifications de l'objet pour plus de détails." +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "Gamme »{value}« n'est pas valide." + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "En-tête de colonne dupliqué ou en conflit pour »{field}«" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "En-tête de colonne dupliqué ou en conflit pour »{header}«" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" +"Rangée {row}: Prévu {count_expected} colonnes mais trouvées {count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "En-tête de colonne inattendu »{field}« trouvé." + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "" +"Colonne »{field}« n'est pas un objet apparenté ; ne peut pas utiliser de " +"points" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "" +"Attribut d'objet associé non valide pour la colonne »{field}« : {to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "En-tête de colonne obligatoire »{header}« introuvable." + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" +"Valeur requise manquante pour le paramètre de requête dynamique : " +"'{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "" +"Valeur requise manquante pour le paramètre de requête statique : " +"'{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "" +"Nom d'autorisation non valide : {name}. Doit être dans le format " +"._" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "App_label/model_name inconnu pour {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "Adresse IP non valide définie pour {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "Une colonne nommée {name} est déjà défini pour la table {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "Non défini" @@ -12963,6 +13555,70 @@ msgstr "Écrivez" msgid "Testing" msgstr "Tests" +#: utilities/testing/views.py:625 +msgid "The test must define csv_update_data." +msgstr "Le test doit définir csv_update_data." + +#: utilities/utils.py:310 +msgid "Length must be a positive number" +msgstr "La longueur doit être un nombre positif" + +#: utilities/utils.py:312 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Valeur non valide '{length}'pour la longueur (doit être un chiffre)" + +#: 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é inconnue {unit}. Doit être l'un des suivants : {valid_units}" + +#: utilities/utils.py:334 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." +msgstr "" +"Unité inconnue {unit}. Doit être « km », « m », « cm », « mi », « ft » ou " +"« in »." + +#: utilities/utils.py:343 +msgid "Weight must be a positive number" +msgstr "Le poids doit être un nombre positif" + +#: utilities/utils.py:345 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Valeur non valide '{weight}'pour le poids (doit être un chiffre)" + +#: utilities/utils.py:363 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." +msgstr "Unité inconnue {unit}. Doit être de « kg », « g », « lb », « oz »." + +#: utilities/validators.py:65 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "{value} n'est pas une expression régulière valide." + +#: utilities/views.py:38 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "{self.__class__.__name__} doit implémenter get_required_permission()" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} doit implémenter get_required_permission()" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} n'a aucun ensemble de requêtes défini. " +"ObjectPermissionRequiredMixin ne peut être utilisé que sur les vues qui " +"définissent un ensemble de requêtes de base" + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "Groupe de parents (ID)" @@ -13327,13 +13983,13 @@ msgid "Pre-shared key" msgstr "Clé pré-partagée" #: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "Politique IKE" #: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Politique IPSec" @@ -13409,7 +14065,7 @@ msgid "IKE version" msgstr "Version IKE" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Proposition" @@ -13429,15 +14085,15 @@ msgstr "Deuxième résiliation" msgid "This parameter is required when defining a termination." msgstr "Ce paramètre est obligatoire lors de la définition d'une terminaison." -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "Politique" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "Une terminaison doit spécifier une interface ou un VLAN." -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -13486,11 +14142,11 @@ msgstr "Politiques IKE" #: vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" -msgstr "" +msgstr "Le mode est requis pour la version IKE sélectionnée" #: vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" -msgstr "" +msgstr "Le mode ne peut pas être utilisé pour la version IKE sélectionnée" #: vpn/models/crypto.py:136 msgid "encryption" @@ -13628,7 +14284,7 @@ msgstr "Parent de l'objet" msgid "Object Site" msgstr "Site de l'objet" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "Hôte" @@ -13711,3 +14367,13 @@ msgstr "liens sans fil" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} n'est pas une interface sans fil." + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "Valeur de canal non valide : {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "Attribut de chaîne non valide : {name}" diff --git a/netbox/translations/ja/LC_MESSAGES/django.mo b/netbox/translations/ja/LC_MESSAGES/django.mo index 5575a6ea853cfe36652d128efc1c1e755dbff249..c190f234c9e29fce5fe4612e92ab9ca67ebe8213 100644 GIT binary patch delta 78471 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%0Ad9TQiK-(XUx%dA>5`I8j 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 Vp%@1j`PX+WlE;rlXAPKY{6CUnejfk; delta 63334 zcmXus2i%X<-@x(TeN$#+B%!Qq*<`OWLPSOyD4CTcQ7XUCQb{2#8d8c>MpKDOTiR(C zlKd-?1{u%i^E=S!lj)Dc z@l1RHFTvtFGMTP81xMq0JSCIOWa|E6B9j@1O>kxS6P`uB{LW0KIbMd{aS7VtACYhQ zzZA$c>_Pd>*a$zt##r#zWDB&N(cuGFhyF94lBk7;!kWLO5%$K;lwXNX`5LT&|6)-* z;rBG9b+8Ee#&`s_!2;L`3u6~7j=j-(=Y%6LYeSbt!4x!qJr=~-SPJLiG58o(z?adz z@&%rNd$By0*_CFZJ|0EBDcW%-G?3m{2nWUWp}Uy>k`!D*fnJMNoQ1CKe6*p3;W8{n z{zbH*4d@haMC%_$M}FiV>As?9{qk4_PsGyLGRk}Y!Teic5CtW0I6C49=!mY5{6chQ zp2m{+Qur=bCI1!L&VeW|ygRj59-V<&k#B|ua0=Sqz$^(HJU_e)4P+X+S?-APH?b7? z&(Z5U&<6fNXDokDDldkXS3t{aM0tZKZ-+-y-W}~XJ2)YPfq!4rY{LA4#hHf5#}O81DcKQ>U*#> zJ`k?JR^;En7I+97V)MNzKLYEMUx4nFchEpTLfiiVi+cY5AYsG*p&ga@D@9xuUE8YY zl%0ZJ?~fj%v(c%(5QpHUk^cbg@JnAKR{uA((=zOZ3n?Fl{qPX>$G-d0X?YB@j%YavBV2_o z@MZLY^JnB6?N1M+QCO4mJFykMfF8F!xB&k~M?UwzG*kDZ&yk1Gz491dhO4kI);PfY zcPBCVKzfO+!?Vd(JD4`hwc)Mkl-(OX66MR$hSx;-+vrSuj1K5$bglmgGlx?C=&;Hm z=HD9{QJ`JW2G2&9VpQZOp}Thmx>R?fOYvx2UxDtCwO9@}MSeS;K>i=Jy>f@s($+xt zR?94j3M9@(r~V2wkSEd2vp)O;k0bvR+QDITWaTn>xxi|M&Cv4BSRVVKoAe?y;7M_P zI@TbcokQYW5--GsWAgHHBdmem*eW~~U4lO7NCu-Fj7B%>G&~09p)<5JuCI;qFVK3w zMLv_CtC!7`BjK~VE;{v%(M{7HjrbJwE!YPK;T$xOo#+hhMVIEt0(rTaD~q;Q2i=T~ z(2iT8OVl&U&&4{P{|j>oo^sJ+b+KhQ939E+;a%v|E24k61UI4)XNsj6D1y$^ zG3W@Yp(Ct=9=B%bTAzyTaWFa)_n=Gg5av!rl&?jX^vx^@*J?8!i`&sh>mhU`EsLic zM`LsH*PtD)L_2s59of5R2ZzwWN*|S$@OU)v>R}@^pmu0G*={5}&x4}ENHn0!(Y2q3 zF2yV~z|}Ym-^UB_q!M|#C)^x7hx`h3=8h_v0x1_(MW1-}(ZG9SBl^z_BvGG&o6xCU z9TnD~BY7Pi*$3!Iwx9v-LZ|RxTrYWa>bN?(dFzKw&=I!`JEH^Xg>2&`Bw7tdXv0RQWdc!PqhVDa`ZYg@-E8$1zh<`%c-5cf~o63(y+o>F8>yxlzt0?Fe z`TpSr;dr#espyQ|i8l0DTwjIG$a*xOPtZ;HGx|XL1D(mb<^prdk*PlZJdj$>bV|1y$M`v(n7`K; z{aEacj`R}rhAjF4F$M{3|xZ z!&wr3MmMaSm;0?$cQn!!=w4WlP4EZof@P|t<1`pu+qsx~9$*#nOR+A#hwl2nu{j=! z>&>dBr5u3HY<4IKr)Vs?X|6)2CL0y*K-c{Ka0%M+s>r{D&fuHqp7}KV7VTg=djD>8 z<_?A>tL4hGnW`k*Oediow@w!_J)?XO+R%mA5igDF&!AKIGCJkIMtP=s`Zg?%)hTa` z1~33^|9o@_CgjRFe>cR1JJE&~MTO_krFjR9d?_cn1D|CHFzps zj|Tn@x;H*W_rR}FetZpP((_-Ngbg-Cr?4G*V^{Q4^o{%_=;pi3>2tgW8qoRZ$j71qO-2Kp8|4q6 z_bo#=>q@MLKcV-Rs-2E$1+>3G=z!0y&H1;Xu@qSG3UmsmVimj*{polK+Td$w{om2e zx-ZHPqd#)htCOA&Bhe{ej{d~70d4miwBv2)BY97qY)TZWn;NKu{tP$>ox*dlJB~%C zdKG%!UqK&0pP&sDu9rGE9$z3|0~_Oa*Z_~NpFX)dpbxA`*b!G{N%#}ZUbN!LC*@@( z;z%5bU!xs0X^=)T3LW`WbVS#qQ-2#8$Xs-nKaTG57o+@rH1Hp>68?k!q?Ik(FimL_ z^q90m8$1o|=!_^Ih@OTE!mH64nTH1Q0D9kJ=*%rgA51T!0lgpjZ_z-1LzW_&$#0Yj zjz({+f!^2*z426Z%?8Bv;aH#i1avPvh>mP2I)HUi{yy5y7jgY(bT1r4>y>TnX5{=; zA>rn$fnI2Uj-)j@vQFqsoEGJM(E0yv{6X}-BF$1D$D#wPjNW%* zGtR%8s38T%VJmbk&qSwq47!FB!s+P9=b*>*RUC`2hYgyifbT^&>qBV3FQNgzinjM2 z8pzkpIsaDpAquvm`TwC2?nbBdKv<+j3alJ@y>eI=9Y}L@#yX%KbVaAUCmO(cXnSL# zd{QG8Z4;}fvQDG5!3RZ_3&>8wXuK$XT^bk6-V^2-_`N}~5wL_4gBE?rY}2HVE-gDE}_Xe~bKKw4)Mj(`&mT+Fo1qBepMk zeLULUwdhjLZX56aITZN*UWjg%&Db0dV;gMVF71iSa54ES@hm*PeQJ0TdTeK)9n3`E zs`sON>ANWZ37z_XqP#!{&c7or+98ebI5g5a=m=V%Q`Ix_gVFlq&>6WF-PNw!{KacVsvm{*O9cV+pp(8nj22!wNvJ`s#gs>qx(vFeu7y04nUb+Gs zVitV|JdL*Zd|ZD69Z2>A5;puTIyJweBi|qSlAY2yuZWE(Z;X!Q0(3K7f(9}T9r0Xj zh6}=v&;X9?oZ2aY{$z9_R`L9IB{7A9QRv!lK^rJ?O8Q-Gd#p`<68e$)Aoj-B(Ev)H znwR@it(rKT{MG2lzei6~$u4O|I-`O1LPtIX%lQ7kgoGoWhOX)S@G*2MpF^i^9Xi5| zk^eldZ$-a~e~WyPu4yLApyid(``e&hb8pW$|Bv)c9Xy4u z(JFLCHlTsLhfd+=Xh2)hdV8@29@#79+hJ+)ebD4rHJ z*x{p5VHtYE^XSyC3Ew~i*@%wdt8iOf{~dD=7_?r2(^I{p(GDx1KbX`;1M8S2QHMk~ z^v283K&}mEpd*#;8GK}URizcd52!%8x^*zBc-VY#H`KpBKZ> zy*3H6b}&5(W}*Sy6+VK_$O?2sYtV+@jQr5>Bfkd?_;obkuj2ZVgVL!fi?-7M-8;>& zKDNR-I5Mu^ktN~O&PM}z7>)38%sqPJ`UZ6BKaA@?paK0F?vL`qXQde{i?&-8ZLdBK z#+H$vgSMZ2fP|amX|%!D(JA`~o%%1)Dc+8*-M?X>!D+_Iq4lev4c10aM=SK%-wR!` z*?2LoL|@C5&(6K(vzdM*8dGo+IyEn%FPW`)G9GtMI$nM8B=XbI=fpE;z}wK%vIhz#lOpgtOKn_QmrcM1t3?uV|`2=thYMW5BzMgAUirk+BdjIW_n`VBh8 zEzV2zJEQrt(GEwVOLqkt;0@^Bn1cm8|M!q^iWi{g`zbVl=h02M5nanK!Y$}t`3((t zFXrRExPAcbxX_TaB;~?dXg@8{Pp}@CtxV$LsBjy0B)<@SqJ4)>UCE*83+Z??uqJ2+ z-O=lV&@~=`?tz=bd(nDJ(HVXb4fuWZzK@2+`~Ul>xHB&73kwZP6^}uuv^qKy4bg^L zqf^=e-8;R|pN1!41DuWCw-%kTcQMy78rb*4vMKRKop!t(pl5jV+Mc4k+$e)fzJOJGT=Y}KE85loz z#ffFIuHqa@df{rctGwaqx4=!%MY$N;<7{-!K0xQ-6SUfBzy}Ez%Ux}yR1LKkH)+V1Gc zPej|9fj$6kN84GHjSEkri}ifu*P>JW4mzb@pbhRsXXbBoM8!s>Z>W0cQuarGwJ`~+ z<2!&T_}@EvT0+t8UfVN7186E?sOI37>M zXTrbG0kj^Q?2Zm(AUc3C$bhn$sU&<4-hv*yhta+85*q1`=#u=7&cNSc{za+b66p0x zXu~Ilt-{{naC9$SiEid;c(fmH>qt0tAECSZPjn6cMLR5Xaay}F*o6EE*be)m*Jq>m z-H$#SA3_6KiFWuB_Q%)JJy8CVbYFFBPXC#PBDAC3k(3Eg~GW7bG-AYsF^&^4QnHn142xEjyEwP^j4 zm!@5REP7wX@Wk+>utnG*?2c~ozGxt4UCQ~lf%7PE%}2(CS?I{;pi}w`8pvyC0PmwS z^eH-}U!m>%gl^v7(Y;e}eEKjbg?-7Ng0^!PI)e|6=lmPdGZfh1^Js^!pbc+A*Z3>6 z!R_b_{TbzXm!qF20#%4))!l zv|g>t(>GNMbScK6^(RF>i(SdzgwEIp=m5Ts{BM!pj~v%*ruf9vKvlHCx?z(jZ;h_m zDd^Omj!xa+xIQ+#939a$=uF*$*1Hc4U>Q1qSEBs=Tsi0O+bGzDZl25)>Be$sz83mm zX@>^V4;|UL=#-8@8y=6{FdOA>;q~M{K)0LJG@wt=nfVqC=$G&hbSC~m>lK=u+AW3FuY}p&Bx;ke!en&Hrs3H* z2W{XtyZ{fP52#^RrXN}6p^xl!=>1=!r)Vp>iGM*KKnJ3{;#KLGS4Hc0zl!tk2>Vgs zhzG@m3(y8Gj`D1j--0bDpBKIt*Yl^OwLc0CxFS};dgxO1LT7j|+VOd4y-`y*|3*BS z0;ld;bZV|gH`5*10UyAY_#L`QkG(ntSQ*!nZ-TD%UD{o7{Vz0- z{b(R1uJeA*UquqFDX4=sa3MO1 zcI31aSamGu`L9F5-Pr&==S|RtJB9tw5e`Q?9*vG*B02-pqI@>iC4YbTCOV+q=nVgd zwp(m^x~~#uYfw;^gd;u!ow9Qxe|~r|dd??fZu3R?-Pn`zMd%Fu9@qay2XYV%u=tE* z1@u_gMgwazgY$2LT_|u<^uqc$03FG6tcA(iz@4?B~; z79H`r@FTS2E!Yr$y`IfrL8Ti~gEi5JPeP}-4LY*!n42MV1m~a)k3&1oM*dDTz(wIQ zG|<&?eNB|VkM{GKH#${Y(Y4)!ZjwV-6D!`B*1j{^P&f3(-e~=E!_jelVqCvE%4ddm z#r22Lfjy26Ec+}8cke54;S+ST{Sf(|&>7l;c6a~{r0`A2lIYBo3#+2_>PNmMy7^8) zXX?zjJ_4D+Z00f&b}$`{>^AgCbuYRZpF#s#9oJt(>%ST0AEG1q3=QmCG=Obr$A6&h zWNuCY9EsL1kF7laRY-KC;A|X@_oFj%7`^eBnJKV}XudYO#tkBWa$IkR2G9fTpf6f) zFnZqw=+cdj>yylT{-=^~58Q_SU~xaXxxTal?nHO%zt{w8-;zEc&Ot{y0iCg_=sROB z8o&xPpcm2h*Wo$1Daz~J8sGm-NI0df(T-0=ZybO=GS5YqU_5#ZufRq)JIdFg_isS& z+k^)2dE~!CA8V(%bVU)3-y0O4mzSC6`R`4l0R>yJ4VJzuJ;QsW zACKeE>$A{b=Dv)chP~(}JaK*mhUTYYdwd#i$KUY=y!P(A%rGo)PpWqzHt_u4MZ%H4 zf&PZ$AFPXw?@gad=c2zKxDh+zB9Jd0{fGH3$0h_f%NBSci{-~`_U;K_Fx*oB6KFd z!46pdq4XDn&q5z?>+y1|@i6DVBZ+%ST#R3#YuIg3I!@!!4rkyrJb-m@>LclAyvK1d z`CWJh&Rd)wOh2K|i38{ZsobM1K_0)5KtJDKdMv%%c0b1XA4fs?CFy;A6S~Ilq8;Tw zo<>$59mzQCjZfhiJc#b@QBS1ZemQ!suMDT-5#(<}pDT0FW4sW3H$43W?|(168WrC~ zpHv^B<)5O*>-+FmEJ1!B+Hm2esi6|+F+KsSU{h?4{liX1(FlDEI+SA^$5nwT)J#wQP=E$+tqwufyCXMDL%C?uGj!{}?(mE2I1+ zbSXB(^{>$<bkjVH2J#$w!zOeue1X>AhSuAQHL%F@ z>E+cB-2-Q%fnSE+Hxr%F`RMZ_yO@LxJddvB`)I?P(HYqh`F&`;A}^$O#0h8z-OvDs zpdC%d+=B`0l3x^V#1`cLMcZ%qVy?YxrUMBZ>W_`^BILo4S%98`cjNk(=nVW3{)@HA zXI@J6>YyFBM9X`kdto9P_?76A%tGre$KyT!>qyw}cj$-1_Q=;*lh*7cbn^^D&;6Ki zJUU~OaT3nJcX2;{fg4^)W0lQx7KLKJ<+Kfhz2+oZ7_@0yA^Hk9<;*;(EFC4GqVz1`xm2p ztv6cX9khW@(TIOUp9g!Qyx=>jqf%&q$A`6|ym8nL-Q}mDfu4)DKOPO}YILC2$Mx)7 z5{_gEx|?4{r}9&D3V%a8JQx;wHw9WMJOQ17dYC(wXh&VpCGCy5&4-SBFxu`Aq&`3Y zk+9-5QQuaL?JC;B;S=bMtI&#Tqx?OzgU`?rZA0t*5&8cjUua`0FO6>ILF+!)@5HaG`e+egsApF{(F4m~xm$Mw&m{5!PX|IqvYLi;)L1J1vZ zl=>hwa6J05sf#{%I-*lI2(32)?dUSJfvM;KW}-{95UsZo-5YDs8T$ZT+HcXox1sI) zmW{;zxKLv`gd%MSe7T-xPF4uaEpp^uD?1eT$fOjXdpWyzZ(tcFd9IikJ89Xqa&}52Gksn^!vYk zROo_6I1s(@9CR&5q7hGs>sO)yT^sqE;`(jqK<1zWc@PbBd0c-v%3nhR{LsAb|IH*E z!S?Vs^oh6^ZSY?-kRv`$`BG@0C!ifwNAGVO*IPz;7qp`@F*hL04G6t|0_M*DWD<^W z8v2WZo6rVtiSj!me>b|zABg-abS7Rx1APMx=p%IRe2?y#J!l|Dev&#af%aGC6VAUk z97lo2u2xiNhc?_9-L<{Y8_o-dNBNk@PeD7l4n1}^qsR9i^riMR8sJ-Kf1jfDwtT|* zw}U+t*g%0#lf}?YQU;xgO6b&8M+0eyHrN~;X=ik#1JDk}pzThM{LScIm>>B^!&O-l zt+=or`{I8%5KsRs{rY?{o=pB*?1smDo_;-d9{Sb$K)430li!TB@Bog&6Te7*b>lW{ zLVj0RZFAZa*#RW#b72_Tz%0Cg-_@?by5!4#l}6YBdy?;mx8egh1M7aBm$?a_LYJ(? zH|Y%)D%YB!Z`yKHb>_xur z_bKwpcp3TWI2iY$f%N_%FEbZE#|LrjkLj1&MYp8#$#@>+#kTrebk5%x5^X8?AS|{m zFLMX^?syu0iNmq_Pw6+8H(_`3|DeaJ&dI|kj&mtz5(fo|TL(9L-V zTK^Grb1n;C#H7-=^!ZR9?XY2#cR)`=C$z)f=r`o~ zQ9cE&e^Xq)8*7nY`ajOU=ln{zhYQRD2z6`0FVD2OE(u_j_u% z8yetw;Ux6_+2K=Y02{-tQNAxr!j8-DN;kB|Gsq7{8(bRYuSb4M4Ft%CldR@X53b9pNFgVujr)-xfW`XJHk*1a0v4xV{+eXdT+{ z_i=q!Tt8w@3aBdjz-orx-xsN$&5R=9T24*{nMcEC(UELGXJRuN;BNG^9Q9|iTR06n zQ@$qhhtNIIa&Nk?1KQ3x=w_XWr9J=CNO+9qp^-g+j%aoG33@8_pbh?w26hmA;2ix| zy8j+@1{Q@Y(M|RmUWi|z_jUL?1=J6#dj7|eFrquK8ZN~1aUB{+wSUr$o$xL4{c$5! z`ZsOXomhqZG5b=!1#TmMK90t&`_rTPX>Q#kpAHD zQuK-UM&yq=m>RkOAEkT@I&&otrG{&uGui|#Z;Ml~9}dNh*auHK%=z~je(mA(&rf%u zYdnI-j7~$RY+?9Jl)oN+k8alg!sGK&{SN5N^^5#v=s>SW_rN^#zU6t@{M^)UqQGbQ zH&OBD$p3@B_w)19jU~_#)k5pHLp$n@HaH6HXeRo6xECG3yXb(v#TK{^-SmyJ1@d#x z_#tQmFQN^8jdrvjc}-@HE|_eNmYQMe7Q{}1-YLPzB1{`fvS zkc1a@qY>sEnL0QgbDIUd-a7I<&?)STZrZWoWVGJ(aeZEtFArY|-$LtsinO22Y$IWV z|4Rj#f`#&P52Rw)pYjUW0WU>6d>S3;%i$*UcR*Xvr8*epMGB{OE1@&n9Nmpca71pA=^;2}y6gw(5A6job9*x&V{`T* zrL9{cKbzbA*%E1uzrxeFP@!ag?vv?4^qKxLUV?|QFJ5wVer6WFir3@mrP3+-7~Lx; zmCnyxhnJxBe@6$v}d?zP$|R-$cu@`MGblThNhxj?T3UIg z(;kb~YlNeu~mdB=s zJD}f+z0ln~6K!}Ix=G(akJ;O3N1M@s{10vSFSLHPSozf8iD<>fSQt-5pJ1n>Uqn;U zx7`zX3pPG3KhqIk#w+k3+QH=&QU}+DbI}LV6X^9XunYc(ELApBt7012sBj!w@d|Vb zv*<`}3m2fL<4G)s>(QCnjNbQs_zPO^Pjp~~E2Yy?5nZa*Slsjf00}EB%N6iD8!Scs zJ9%u>-+jBUxLHfHjea&y!1M7wycQ3jpKwzurx}}x1~xzPE73K76&?9!=y7jVh4b$epH9LK z&qf2e1fBAU;q~Z9=Aj)ekNnGV{WG+KpKv7p7x@dSrhu+QH}MT<`yZk0Z?4MuclYj~ zK#NvOH`GTPY=w5*Cmf9iIxVixi}I!D6u*vk@FV8hMcXM_J(X8M^R>cu)w3y*Gbym6 z;ZgA#bn0iI9nOmKhtLL=gs(*TCz1aOZRd}$$cZVCYT>Eq^^svV8yD^gUqVOlO}G`E z@}20E?Lz}7QX@4~84a*yq}qI=+4wEn&5{ZFIyUybtY$C20(9zr85TQl8w68d^Q z1>N04&^1_0XAWiC*u3268?gg;$~X--HG<51oMr!ly9z`@gj$oT3fk*HK}2m{%t? zR0^HC6VQelV@>Q7*GHp)UlHDk2DUu%o6vs#7v|OF-Q)Q`mV{F~27RC3hIX_JjeKpC zzl{aS|BR0C*Kj|2o(tDYfmT9irVe_4BedhzXuD^G!!h^%pA;2tiwld;PpN04e0`LE z5$=rggJGHaX^+%FXXaG&y!S_6Y7e0u|Aj75;gix#RXK_C-U^7-LI zIF9^M9E8U;NZ$pQp&hKordXt5y00DDUbnC}+U@}K2|5BD;H-w6f2aIj3VhqWfKJsf z=-M5Q@~Vwe#Qo3)#$kP&j}7p3^u9fDy>R1{Z-lnKlelAJ?O{|q8%1&mR`>l&;fKocl{(h4QHS~c5g)Q+lkKX?#O5V zi-P>-sX}q|{a+^XmCzfiqYa;gz8zbm0rWy2P#1)kp(DL6oQt0K$Iuyl6}|7rWH$2; z32!*6MY>QWY=M^dLcer|Mt%Xhxt>Nx_8+>oaIT#5 zcTCF^StGPUKXgxA8s3gJv>XlSbsU4AqxCzsN;7jF`otTHPW1-#%jbO@iTlxZ&TpLp zo{YzM{%<1T4GYmJUW|U{uRurkIl3pd$Mq6z(h^ie13C%qpd&ifOYjn0hyJFdLEChF zG+Mq1y{}z6&c9ErGf3F+#pnpGLO-28MSqg{1)b6Y?NbLG!@=l?CZL<`X6%h0qwQ7g zke~Z|#SPFsbw65vF&e;29XS71+(>~l@D(~`KcXWq*)c6eW%PP`w7d&;!~r+}=c66} zir(L*Q@U>qdf(0HeY4R4KNzm*l+DlmE7vcgVx!I}vXjwIr5 zk~-*%W%Kwg8TO(4l2cP)ub_LSOqbN&wRk%DA8{f!%yvybku1i!6#R#N)6MRd9u!A) zPg8a#`otQ8MevF+i+-NZL`Sw74fI2-jensta>8lpLDdU=@LY{9MfT}PY(Pi)H9BQG zBEJh=s{`oyE!iX0YaF&m_exLn`Y?2}P7jx&r|Dy~2gG!A zB#Y3^w>I32zAN^i51{6~@^gP+(GAUC6kdz|TreB`CVUL5;~Q~(2l|!0A9KI|J4C{% zD0O-od9APkTCq90d0L?}bQ&Iw1JRio73EXHo6!36;`-vqKabADTi5}&V|mYi&EDxP z)&cEc9{QSm7@g7=(Ez_jXJ9uvmCgF3NAGBK#wO#XI2R3|z!~X>+cM}3jlf(zbP48S z)(6CsB%G@4*bWQ!O$~HLEA~V8#6{?cC&cv|!n?vp!)MWY8_)r5MmOzGaeY^KxNm&_ zm+Y4!Ym9buI@&;g^w(^o(A_*CuHTRMkY9xNW1BNmz+YfP@;{>;9@{^inyTna>Lj$h zExNQ_`*Z#+=s|&z_D84ce00h$$1*q*ozjJIeRk}!ZVXhWBy9p8w)Toy$BMRZqhLifaW^xPL7m}agiy1DwG_m4w=b#r}` zuR-toD)I-=rOj3xl%~8HI@N8$u4sk6XnmF0=dbYDY08d6A2hRqt{{bE8 zACW)eoYd|yX#Lvi`EO66KlVpolTV1&MXNd+Z_dm(2kF|Ff~vSeV^Ark6n*&0vf=5kza*& z{5AS=`5o<`!H6`#=4iWp(PKFZoq_Ch61kTRx&$vq{%dq*{=^Hg8}ZA+|A`8n7eZ^jSkKeIM2%o?4a`x_1~h52LhbAR)p2R7t} z={N~jqDxd~Y<})vvGvF41Au1$sjtbjn7cYj{2SX*DmdzlP4(X7u&E7hRItm!$jJpzWNE-aj65zyG_Agy(%0 z`V~6|k7u|4h;E|8@Vv;c3BN`=_z!Kj z*yI#YY4qJt4t>PeLi_79ne*=mhf&~-W6=>zK^vGFFkj(edM&J9PROE4Z?ni-M5H?BX4{vzSI$R7xgyed5>jz-&U ziLP~bw4L+uD4dMWVD<(QR@{n?;7@c{XQrenYJkhgo{o)iAG*8iU7fBEMFX9RK1c3E zr}zo&68Fb_gr>3><9u7vI6JxQY=YJ^)8+a+)i0*+O&?VW1Zoc2cqVdkCiCro0 zjGb{N+RpoEz~6_zqV4QMKX3|MmjWt{xj+A}PQnUZ!anH82BTATDY|A0(RaZz^a=PO zI>P_Z`emo3-vQMP&k1isznES@1Kf)SSZF%u-)DGP5;jm1ZLlp`VF3C==LP80kBjoD zXuVsbd~uYoMmt!K9=A`?`+th-yV1Z8;aON`2It?+GJQshZ~@*&{u8vJao4BU>olxG z{vLEGUPA-;4sGxs^gLI)A(eMR2XJ;c3Z43i=s;#f`P>^~jUJ-FC0LGj{5%%LchM1i zhIaHL8gTI&(@Ul%dfzZ?gk#Z7cz={H!XD(G#P;}4l()Dk1=KN1!if5y$7Luw!ingT z+=0HYAB+6@xc&t?;y=-uD1CFX9(v!Y;n{c{`SEdmH~Q^YbY|L1+1ez$;dIO$FLdfI zM`z-?xIQ<0BCfw0zK;g{W#s?DbI9l4l3r#*a1;6EcrIRhYx<4ISIEnb|9J0h>3e@J zx+%WF%dq*Z^io-ZBgvP&J^c#hYV<+#Jv#OOpaaO8oo3)zG~X!lUBjX1l3s~^#?Q#f z`M;ZlYqks>@k+FT4dK_}ZgixD?nr;=Tpi6njt%gQ$p48R(~@_lC2EG&I};7~QnbIT z@I?C0Tt~vGf7AkeHu7JgBi)IvasHfiV@34mglcGm_0T12j();*M%%d%{brnrb#Mi? z!mrWIddytTzZJTY@Y8A>j>4bNnK*r3YG4@pAi5ddbkCt3eujSQZHe;AccoL(9=$#W z4P+7;@cn4Ji=+JcyEy-j>>COk$zM_7Fgj(W=cn=p=nS<)r>=Y02OYpbtc+99WBLGk zY~MjU{0v>v9dZ3oSm$oeza90zJ5?Bu=5Guag=^73zY70EH)ZjA(%0-3M4y_gi~{Acmo>1{pi{~j=t|Vq9e>(nCc&oHrN!$<3rdB zOFfY8AA;V05xQh|gm=gF2ao|~Gs{vU^DMf?uSSJU;WttK3%b_(&|O~j!BqbgG~hGQ zsU3#S)KzH5x1l4Ri@rq{pf9JTIXQo8Ncg^gAHDHIw1cgYKjNWOULNhB9(oE+MFSol zUXHdi1D(;EqI@B`*2^RR8u|$S7#n&1{~+PFT-Arul#N1n@ong_dmjD3_z9oK+KW=h zKcEf&f&LJB#3L!dN@xeo(E!gx>kY>acqJO(3z!{4;sX*xu;t=({_n=I|gc4xxdUSdxAmzY=SczYAUSwP-sV(2@Qa{)2PU zh5}C~%Y@a@8=Howp&brIKPtzd_gxv@jMl#geU3bZ2J|611K);!DE(&&Jd-Yz3+tep zt}WKbzGwqe(S~nDpAQeCkJ$Io&9@uf6GyK|_3Gd(@*S`%ZbW}?P;?e_h4-x5IrD zXpz;agX7RAS_8C$F5!h}2Q$#Aogcms*T2H*l<$l3m|c#=t!F5LhKUdThST&8=t~sUQ7YKfqox+ zi>F|pm(r(Ob}k9u?;oO5UT{r{tRlL(YM>4Fi1IObGWpBVz?PvSe8@N6taeiYi! zRhV0nZ~?kGpAP>*18nnNdih+9-uEzaYO%Oz+qJcN$;_z%(y)J4~>71}^Y zbOz2q*YECs*sa|6Ya9=paQa%&Y821SM8R^a+Ias9Tq zz6c%RQ*nKLT>l6S^k=lg-_ef#MVGSFhv`&RLEkZrG56p9YDdBmpN0l9FuXXNj!ykO z=%0SAit-Q9Q?VTlXg~VMJ?f)0Gbf^fbPRi-?e|9m8v7CFzaWXLC@_GjQSnyv8GaW! z#Y^M*n`lR$pfj@_`{3U=0K0yiK3o=HWAf!bNi)(NtC8=6_A?>Oe!}^;;5G{E=w5UR zpG7-*IoyOk{SC-%cn0}K-=~k+ zX=wX9(04%I5BZrz*buXONPJA9KW_Ljz5gq0$>Pf>mBu5`X;;;M^WDF_w*;A3veX);=9r>EH1}~ z$bX9yaccID{LEb>{=^|Tb9b8B9e57;)_c;F&Bt5G@5jsW#y`_@U_VYK|LETQ%oaTU zuQW56ztfs`#dVYq#n-XQKl!=;*!?yc`iO>MV>`MLiOqf^m6(e_YUirdkT&@XT_mO7jUG6ioU{~bQ!`5(!Lle@lX zUa}N=uFHq@&{NPJeUkM=mufh=$!vi9Q#;LmNJ+U<#la`T**Lc626s{KkaS(M^9p=6?QP zM#7P-MR(;^^oGOe?{dl?Q6TrkYJrY$U^pBd>3DRcQ_%Zo;aGeEi(%O#Q-@XXH1dri zKLvAt|Nj;eHt-M{@hbFd_8s&=voZ1qa2)wep#r%dE-yvT{RxE&G9l!xR|#kwpvSex#~~2GR+gszGQ#qtL0o2z{VT!20+s z`tI0*HL+;1w1kb(8M_Ewk}J^}y9I4$Ua@Sda6bh`_IS7ktCRl#U5Y(uAjOKOjw_-8 z4nZ57h$V0;+RiNWXTyik`(8x{xCssDe|TOVpJv%87+4}TG(5ZnZD2Ak!}-YR%XBW8 zI_QE1b{0Ca%OXDmyOCdj&e%3Iz#TXq_h3OBesn6&jwa#zdIH+eb>SQ=M1FDPpG0S5 zZREG$Eb@D?EKV;~AosO8^bo0K62D%NMfrDuM<4WhQXEO~*c%FNq6~>`cb_+U! z`@#p%Pq0Pkh?Yh9v*=R1h~BpeUEA-mA#O)My~>p-ko)4f27RP2$3cGoe@&t*1x?Eq z$o=itDcF(x3s?{Lp$*nJCY}5GXkgRO8M^@u=x#KChtWN-0zKAmpr2a5pzTyBS0MLc zQWY!Gf2KK!D%cmTI02jEBWMF(hKJCGs~?+efqrhE77jxLnT!TDEu4$a?4wu(*JJLF z?J)P}f0fIpj=F^xqc_}%J#aY=#D8%p_Bk$f@HD!X>(Mp-9DPFWLeKZ96;eR6&?UMX zoq^@y>I$5HAGK>J@CS>(@Hi}8F+Eu7qf&LdO@#G|8g_yahi!fpbdv&?;$9yn^k>A41P@+p1}% zPD2A7fgam2Xh%0=QJjswyzUEEhVN#h!WMM%{1zTWM{rcNR9+=)gg)syqOal6*a26g zORyIW?5OJL{tDqqXh0pqZs;D!_9o#c(yifZ=+y2*Umg`tObyjS18j|U)FaA=qa98{ zJD7oP!doIgFT5We(4z2Jq`hqBZ4z#_&1eIAqr!iYFHs|PcnsQ6gRl)6PShibmT|XPkZP1un}7S6m(Obj?VDK zSrXoGIeM;V#D!&O#498JYWOC)DL10;h9ANsPD7oD=R&<2O1^{zkznjYnI&~_e={2DaCkI;I*p?m9KPR?KD zM(IK)v|?Yh;Y*@?N_b0@-xn@HXJ$1T*sEvyK#4`M2QWD7Ypn%s?BM zi+-FgL}y?b+Ti-|Q?#L<(HZzXEYvIoTm^0Cr0`_))O14I8`+HWZvfX&;0SL+zi947 zJ9-LjU_JVM|6cf2l>ZX`iSGV`XnT3hQwOEcrK}b9iSo&4z_YTEcnrPqRkY(x=*YIj z^nAWoeAL$QGO4)bc@jbvTI2g$p`2R{2Ukdq74>2IbAP- zewx)n>vcjK=#7554M79GI-DNPMBBL|^7o;EJ&g3r`A><=Mzq20=vVFEXoE+!OfRRh zXudYOb`8<`UBUrTJ_4QctHVd4{5>>~AH)A)?(hHpMZyQd5v`K7(1uS#BOM%GjCPz2 z??U&=vTz;R!Ds0G-=hKViu~Wo6!Jw zg#V%SOSDP%mq+ibjke!D92VE7W7Y`gM8Uo2=6E99fOhaBT5m7f!GGZqZPWFV=pL#T zwn5wJACAY|=|Ue+_l7UD<^0>h7ZljRPBgz8y`f;cG?G&2ja9>r==GuD#psM(g$6hi z9r@hwi70tk!EqZ@H^g%Qf4Rm;v zPYP$C_3wy$_AwHUbQK!m>)|(O1Am2uJEjgQqElQO4X6n^!d6%Vd&c$4(15N+m+s~$ zUxLo~3Z(sP<~b5Z{7$$Loso~wXZ3Gk=}sx2lfxcp;OB*xpaESQ*RK!nj`F2wKr7Jx z)?!hA{(p^xuiuT~Pq_;`%h4Gq+&OhrF{~H1L9h433vmcujj!YR*x{7)d&7sZFZq2q z5qq9mAon}rb=bu7U#m;{HQU+Pko-*a*J>}~jd&RSRm+WC)6aZmyQS;H(9QZ7_QBQI z8VhzWko(VdlFa?@Hhyt*7pb?7pe=^JhW~rPUncRtY$Y=5^8T-}vjC6kdiwv~bE8;* zBv_E(?(QC}xJ!Tl!QCyykPs~BL4&&lzql4kkpiWKQlLPWO`ue8T8g}%vwN22_y6_z zzwbQH*_ku*o$t&!cdu+V1m59l?@~#a`dJIoSnDsmUGsxrPk@bQx)0w(@@I2E-(xpa z2NrolPCzQYR$x|fmugL}54MttG}F$5{U1W&KoU!kVAsWx&>I+;NeE}$29p!a3KEMk zFGu%Ly1*m+iNtH`75xE5eKJ-u)1_>ADZZL_?I7lX@CrsXMg|}DpD(od881IJfq0Yd zPUX!ZiSL$egDBL60!p&zqE$&&^1`KT^T?~NeM$IQX#XNsS%3!HGQQRv_0YFzW;FO~ zk-R+7Mfu+nZ0RUkjHI3r++?f-SeE3MV5WfW#au~4aK~t_0@%9b`9qpWb6*JMe&5b7G~) zkHNk}A-CjW-i}x%V%<~u`vN$m^NY~Xes7L{0LCPW@wX*yEwPn^QfLpuEqNi_uL`o_ zHF^bA!0rN|el)LS7x5D=)7Fi`>MEB9yjxy_kI?fax`|&rIsWUJ&sp ze}g7IiM@x>nUSC|O4TH%7fn3HuVf;+qx1U9B%DG=7~KJk*TofR5Y04#xEl>f?O#jR zHNjnEl+>$ihMis8d@p5d3fDk%3c3}8uas?H!KGv!wvqzyyyyAD`BSbFy8GWK)S86B zdhUZB3(ze+>3X`Jk6}A^fxm!n1f;RL0N=#hPG}5Y_y32ig)cpM#qgHKzNN1JWib5d zo^MS*OIv(jGUJiXmcYtC(o`AZUf8uYYBiWgkWFXKuXxx-gWZB}5?CdZ!KN@@2seML z*49J&gJ}2)c~$X6^6j`S3&R`71cs8XBy?s4k0D%-Zyh8`>O*jxWF^(mUV6)UQg{Ab zcq`bSTw&*{`bVrvT9B7P+mrOp>|#DkUH@;9yh4-igYXQap8{)OBBTk-TQElA{+Th3 zaSl@cM!7AN=8rS3fbWS;)_IroYJu81fa|FJYW^p&R@AJa{{M|>tgbbQN-j{W6e9zG zbtL>kbE8Q9lA%P<+)|h6d_78D$yD>^y67%)3$p!gIi!ti#0TkJ>j-ykb^c$Yfp&}m z*wYwFYN6Xv^nhz>JEZ+TQZP6EE%^B+)^?w~Md;J`{)BKbMPJ}k@|R25iW4uRiz-)9 znwZNX?=vFT@}lH2qamOXdIg2B&yeVr+7ze^c@>R+#r9PKTO2?r`cM4z89l(gAh!<< z-*zXXJK^I`LfbmgT%mvbk+$*xr{HKpU?K&}>F(c>U}xlo{8#<{xR1?m+}K`|^8kA@ z{vcM(m)o{VV3kBUUtKTF^daa-VI}*(<^jh~U~NBTDZA^E|Dw|BN%r zK*r)!5(7ajBhfXrEvLaDy2(H=`M_tU(0d4X(2SBV(2dYZy4jz=Yy#Vfd4FsN4P*mv z&~RDwe)6lLBM0(wNs}m|)g(1xo)f@j?EVnMlC*~LBlBkvd7=-~ppt#y)b|H7@n^zr z3+}pJkXl?_u%7sOGj@QP%v?zU7Bo<;{|QO|CgC*JjN(-Q{*1i=(%mGVg2XMy$X$)U zHx2tUnrQNh;QJBd4`ti7<7=T8m;>x9@(<_+A9~T^UOPzmP!Ct>PD20 zAAmZgB3rkLF$nTth?Hc6I6t}l@U=q6Xl&6`e7&{pk*eA6;lGN13iv zkiS1}`x)Y;fF7V7n#c#Rl3IGZT{G9~NXTmHxZ6L7dFNEk?x#o*9ZaIhbb5DAQX{n- zQTKln!ch=ZWJOM)sJC932MIswCO&H4LVbwdQSb(~516}flp$VD{@ zPW>&2L_HtIqW+=~U#QqNlkR$ZPo=Au;QzlOa)iq=YPzw zRR+A1LfKf!WlgB!MVR|3BbE5-L-;|j-W}?NksF?z)W}b4Fg#NjGu7w6Oaunv9Epx( zbOXds(rsQe6Nb*pP@n6S^ubOo^&!cwo9;rhF^t=+ehIjEVq4H%iT?oSR=8WClUPi9 z8nx8I)$!+d$ZS99Z7&XZ8Np3@SANmeeu8)_gl8ZaN`dZri@TAl#K5nEvA3yy{mohA<*C;y6d5l0E2L5X4d_3;wj&K_tDQDgK`dTQt6d6jCw;-)@SR zz&?zxJo97v5TMEd$#~FKPmDe+thh z$6GBX5~GR^&Q?{m9L4tqh18GMd+E-rk$3>I0nBegycEn-=1Z{iflWh0Zb^e*$u+$L z%J!z#Xgxmyeksj6uRjau>K-IBa0ciVtT5|cu|Dve*sYu)5-P5z}W z+=h5jh@TT*OU?ite~*4o-g4qOXrLl`Gj&Sv|4-O*laP;*n__{=33#SH*3N3Ycxj@n zx}jhS^n_$EL&+o>D42EUj_3c+s>cgs191I&v>64=C~xn7Y1q{Y6D z|Dh&7gsp_HfNbR;{RH7t>|_XrYK#lPsf_k^&u!t4dN*cp4l@XT{MK*(?1+B%{q(o|Mr0~q^= zpU2+|Ul>IE-$S-7jO8>EL0)$JX~1HGo+M`}4i;&6f?blww!$&e}8O@VH7|21T{AWFwL0_F#>6Tl24{yn)P(f80E;D!=+ z%Wiy?885;1!9QO8Rp*Qp$OJ(V!0YHL3k4DYxn&go<`i1UXpFx(7$x<{Yll4@qT!66 z!JP-gZ)V&6qyZ&9;FD5u4P0nE_IJJIh`t1=q(Caf8Cq+Ee*#P;vG?ls)h~f5`Hfh( z>VOf<*bYX?Sj};pl_;5y-l`1Ui82eSJoT3Uk=M}>&s9kfi~+m`yDs2pmcLiQkox#K zkR*wxVYv}t|G>ABCVqC2IdP+SoeiJCxTYJLrL_~lOGdcc;5)2Nxg3zKNd>6I{56I9 zGnABOE+}$TV>0VvMez-ynRNKar&^iHX+e&X5n!9@*m}Ktm6?wv_o0eMLeNdE97)8v z7|;g|Jcv$D6OoYp1W^=+A((kVbS_91XF=NA!d-@~co9GLrzh4|bO zN6dNrr|Ff3L9j#HzfiC1M4$vK!grouFeQ0PZ;6KpQ8J#IIoh{D{ZU#Aa=6xu(0^d}4 z`hm&KaEk}_mtaG6qbUS>Vdr)NSpRt@T`AlZ$5#*qL-Ly@$Oh>uhLUOELiA1qLHLS! zWtyx@ZdG!kXl4`sFPUeB=at3=;`>N`OZ>OMEP#7A^KJNBt4rP%0w#gRkQ~J6AaNVS zO8$l@8cbbc-;#Ko(E+>?ZyLJ*Udd1R)W1k5j4gFM4D5QwW4M;-X2xOP0b_xwLrv%L z{{fJVB1+N{@CVdLH}EI^Ab?8BYZ7HA6F)%%W7PzyOYwO$8wa)+&E|mT7QCkwH}aNP z4hH{*gnu-^{g(VT>c1SAhEvH!UGORT9Z4JT4*;A8Lca6k_ve}8TLspacn=!8$XpWt zhPXvDt10Z3FTmty&hLcT1i3wlzXZ>}C2`6#=2g@!ZxEgS0m*&>BhY(E3?k?jf!&sg z`st*SED$Q;U#-~MgHJ7^$z6c&v38!sj;82Iy}KoJ@%HE>c$&Fyd3SYS2fCmxFj13x zUs@d0JN7Z~?KPodP^sTDuMXx5?7xXm zW4=`{a(pVR^ZkDm^5JBi(t#Ny6oj}L{ugxHhoLUh>TByvy0K%}<-jdsK9sFo&FBDr zKRzW1*h-#LbP`k(qf~StgJj3p;uI-;lP6JUaU=QYAfR&WSR}b))0E20w7UMiI z{uz~1#!%!X@ymK;=a`>n5x39<^kN31GsC0$`JLRO;O|n;Es;xbUe@3+yd?l!p+G(w znTozc^4DZ%!#)i51G+SrVfeZ-p9xtV8k`Hh4?M>hv*0PtypFEopuuqFSHPygrzA5Y zi~7p*5kylV_!-h^XtylYt8&kk{sQa^aO)w9rnr(_G^Bogr3pSIwHU)`;w`wgx|lP- zODvcQdJ=$cpss(}A!wwxq%d}0lF~D8id~d~N?JqMn&z(KZ-U(zawP)7el&6dpOVqK ziF67Bz7!l1+X2r4Vui2|k(*4;SJ=hXN1n#6T$?w6AGAGEukKfTf!HAwUQJ^iAneCb zas<+=#D?klN-+G}KwD${O(}Ma`7BkOu@>7C-vf5_2J>&2D~UYFB!qyECb>+YDZUx_ zlniDS2S~byofcmy;$JI2BbivT-ia^KGnl(&kY2zWayRN?DwYe5PVg&P==?8dFctym zNx~hP=*|2H^ZJYq5c2;v+7>{vfuW>3yWkB;TgE5sm*o8p?v##K)`eYYFuGVVeJFd9UJT{Os(Mm|#5EoUi|U$0d8?&@ME@hb@j|0z}c3_K6uJ*ju(tZrf{ z^AF_Shx;J-@#^}2j^I}Wx}o2Z^sR294& z?*Q$@jzKR#-~60J0@8;O1mO*G>wynvo(Y_ik-AaWjGxVsdkx=YuxGS$Ad9=GZY*x` zBdDYUBR~_4N9O^Pi9&1eH`JJEBxl3kNMW@}D|v~fNQ{~wzhWm5Q!=02>TrC6T^*lD zwUEeR1eKg(`|7()=WC>1!3IsDoCP2m!u(gTtC<%DGld5KWcaboZYc|97#Oz{)Ul!3 zcUI4^ajporZoQznaQ#JtRls$n zp;~(93geFjoDY3nJ^$?iQ~|(WIG&+@(F9BJR|U97ce@UMac!$&C&6B0z6Bjh6DrhR zH&X(xy!d-id?nj`0e?KY3!Hsv#9JSNYLNsA0e(&LX2unQvzX5TxPw>^-E{?gltjCfExm3;O@F{%OTGsU7J{@Cqcl89vg6y$B9wI2Z%k!hpvEu6D!TsC4j+vu zlm+KDbQAOvo%AF6I;-%&r{oekg<{Frbs+4rTdzIwYql9Pg67~fT5+Zm=_Z54bQ;W`E;LgVkN&;M!YvItJM zq{FyH(j^kA0sNa$m3U(sRI;DgMVD!t#g_gKt_%%!Lr>8=x0uz%6RVA{D0(6O0bu5n z`v$HR#C_p?ppJh@0B-3F@H+wvbg@Rn3e$CC{Nd=9dNpU6XNO$LYY4v}XRprr4u2O{ z$aWOpNMdEde4v553?&uNd5E=C`#%=q{&ZyOMk-+|iPpvXLr{V-#^tsZCvh8gT}TIz zt7Iq*ZA3pM_c{%%W~^s^oH0@ttpxTvIC~L`flo=~dYt3*WIM#!aE^jxfiuj72K^NT zkD-wf?A#@E5RJK|Fqp6KHHE97ZuU>D6=o+~ zMyNjOg8d$e0BVjKosPd79{2kg2bH%{rl^==H;PEY1jDZZTI zPbqSg`3r0%Uo+nfuUjJTGnuW6RM6z{=&bt9n2@UAQ?kZDY(h2=(x*D_YZ{NmujF^^ z!W4;P{zMIYZJ9rEMqMvzoujBbPyNcn*O1%;-~;KmXt#vw2GqQh?!E@wRvp{Yh3Dy& zXV6XFR?NsY-HfuM^f3=3Z!Gu>bH{rEGc7!x-swfxZwXYdZn^S8Z=i zwS_8mf-a)$cQkWDH>T!G7{B6MOTLAj4{UF}xU%a0f0JNebR#+{58w@B4uy)~TccN! z6~af@AtX1Tcnp|qY72GYVY;E)a46Xfb}0q_)Qv1AevMd8I3w^Y$wjVn{b>lU)QKBu z<{QR#J$FHQ+R;fNx*_GC4X!goNog8389U(WiSF!jJ6}hGxuf%c!!wT6*8+Dz*SF25 zlk)_Ar8_0x>mr+U_qEXji3O3E1^v5@FM;?Z_&cf~1rDLVCAN_f2hM{c#~5c>%qnyZ z#&huAXeEAWSpPdF%Sbpy6YUs1C~^w2GWfowa7la*0Ka0cWD36F`uMp#T>rtGg{K92 z2*oC2F9+X5FK8+L5zG_yE)>zbo1i}b&j$1s-CSvaegG5DO6~(33E3a4Gy_Ge>g{fe zuLi4i%OP?{Ft$-(KKb9F{Ta*QX%FZs_|(#z+ys1)Z8XV6z#}MjnMRJ_^JAV>H&KSn zijYrdew_F>#7mR>ka;Pc-x7QXoe^u#{}l3++a603`0^ARnKOv^1FWBPDm#LqpJOMP5$pJ_cDV7es6<}4yD`Ktits^O|PR;|F zlJ6*z0(o8R2<%df(KK+3kp%Vw^GVom^r}C>t7IXZIkY`cJx{j)w3vhnG*OAbImTLw z#zUawp4L8kC*G3N1>YWuD;Y!nZww`U(93Ahi?}*h|AKd|E9895Py8kM*NIOf-+4XV z4Dfft>2dzSI0tCE?)oVH*}AY|c!b{EGXjB;ps{@aKK#3Re!uSG+`!aS=$N|x5V&iD26?3=bqSzjW zMS)+5JqP!W;Ex*f74{c;K_%4lRDa030DOWjM=&1SEw@N|Mibc}X@`HEUa^WVXH2J= zrW8_giFhdr*V2o~i$9UP0E*ow?gh^S=H1|^$FRV+QO8J0CP1EgwL>+*cEIzn=K}sl z(&Zt-siGPtU^asRBs%Tx3ywmWsM7yOW4JheB(LkLi!IZ@}6s`pPADw@~ z8^=W^+ev5%aJ?qYNCQgp0WOMvu_oEV{C9|Mf*XNWQWD=I7BL>4c%7&G`I!%A{>0rd zzFOLTOpd4e6{5Qs6#+h`f%b|B(s#_4LAVinIrv!SL0jiRdJ7 zQ`m{$;95cMN;t~ls|4-}c4Lk0O*}-M|BEn`bfSU104lqtws|C6*S1oViT9@PZ3r$w z+yU%!^i+H$8A`S?e~e#Ab+{+8kU!vG0#{`)#o(CBT>TvPN8--&KODyd0DA!sM!Tg3 z#t#77kmQzIB)R32Hj0p!ou=L~aubh(V-JlyWEZ+x03Wd zM3YEdMxZ$JHYCl%p6o2PulsMi%!Tcqmlf^HEX?pcWZ|^uRrf7?u{5`wm&pi{mopjD zWPD~LM4JA_S?L{M43ok&VJTr#%vxS6*_X!>x?leYQmFpV5!kSRuXqry` z)zUb6u(h$@khj|ynPfm)BezU!Yiy9y+8Kjn&Gtrf>C?ezDHnGz0_4<=Mxboak?8tP zMkU#(vr)uybT%S{RXWu0_LOyd8A(>A-o{Q}pW$J>2Zi+uA7zakVgw3#YM9a4YCqiY zGpt1;41YsDA4zW0QN~AMbscNW^{|>xGS2#1wWk^P4C~1ZBQTA;H_OOp)mUKEFy))Y z#&qlT5@WGpSxb%chShC_@uwlTtupFL|3ssM6`g3DHLdt{#xrkg{Whaa>z($-M5T>Ue@3fMq6R^KW$_+2fjC2NskZ4Xs^-XVZ(=wwx)kD0?fs$L>KePl7$D}iMc|yEM{hx zKKVq240Y`>2kbE$?6EU#?aKtqhhZYC3=S|e%Dtv&EZca9E^?%o$Yc3>iNl6<$y=l| z@+Qxo;n=m@9=+HeGus}$+RYH>m_E%Oy**j3lXf3bz%x3=9y3cO6cK@W?NQPH|0KCG zgUD&s@fC#)uSdt{q#WNR!{W^%R$?0Q&hW8EFLfl$am+CT}_87|^yV)MQFI4W%B#vjron(*QYL7W=k2z_NS@8Je zaYy``P%9?0=;a$|kBN62Uucislzb@89(^+TVBF)qN3E0~QQ9!=QM0Wqxx~UWBKDZI zrLgcdWZz0=X1V6B2uv4TWYVYsqr)SL(z?7;NEEd)6cxqHz^;#HY;(+7oV;PBW5$tC zn>`xxUGm{w5oGl(Axemh_Shw=o!D6VvOQU~KwchbHjwv9iQd_qp=0*gZE7X4`+|$4 ztXy5%5q;chUs_ZbvOzhHb;EKZi=0tTl<>93Y56~&Lzqp}zxGgT3}WE&v@-DTtlQctlYK4G(#rU7H_V`APJl zQJ(PSelW)))UX=mHNWZ8rp#4!qJeeLqv|$`r2SKtD3vDJ6<+}8IV5J;RjMS zMCARq)Tj`VQ~6hfh}@bgi~J@;6tQ|V68=U8wsxOAcCFgl*tk$RqOr(fEp05)5=q`X zD>*LV@uujM{cA!c|4(@x*E!g^srcHo#pPs&!^#eAQxkGJheUOG3_O6e{d7`~6U?BtYV zzvcYrBD>YRr)V$Abya+^35qi2aA@$PKH*~r^bU^*{`_|1d=H*9l51{6@RRLJRrbSP zqHrdA^fnG}@TC6X1N!wJ9nsz@J)Rc4iGJ@w*y2j!z+2qGD=#(gTz%2Yx!_d#WR2n-Qql7 zdB?4CzT?=|>tlq!^>&PSEi&6e}R$tDh`Ou<3J39p?4+nEkfo*lCV6du)!lRRHv5vr~d7Qu)76KG*dq^$~Tmr9MMf zCx|Tn(vf_Izqsq<`o9s8P*f)5HnUpu=Zgp-Yb_F9qDd>6cLck%YLUn-8!Z;^<*Fqj zK`xM@zx-vX7%yw)6Pe}xWg?r*xPoi7wOouS#O0X{aKs~!awXo;&ExhF^j%A_);w@h3uDyDPZ8@OWf z9@}T#UM)g|EW1t=v{tMa$=-6&c5ziM+94kCF5?{K;>e|B5yaM%ouYv7SNE}*d%1r+ z=57|Z(XlhZCP&;6{_&TvARhIX5i-KM{ z#Q(Dskap7GVZFngn-nZVD{!_-@;D%( zjI>>oS4KHDY<{xX3bp1O?o+7hWs>VbRBsSB{8M z){dj1qha|T7rz^_(BVDCQgE446@#VU3*J?kQ$&b<7P9)Kh-uzjy?0r^{w{hbjvcN$ ztJU(EC~wHq&qYuL$H{5jGxTXPX~=+~J@gegW!?$(aHO8{{^N$MulFVW9CM-_anm_- z+?Vl+W`Jz@Qus*E7o5kcoxqgE+Z^*OT1?)tR_(-+8IGM&u6iNz6`JHe*CK-dmr|wD zMsq68espx>qeHXg$roa+oL@xvm)Q=lV^5;G_UqI4^Sf4^t)K5W?%U0Ozmsph6ur2) zaF36($82;O>Qb#9J8HZVWu^a9QN}v|N-XEivx1YQ#yc_J8uYgaFyz|z-12zoYFM>C z3jW$Q*J^9>Co$HrS_sq6l-^$E40+YdoS4PNb6Cp$b+)c9opK-{IdNsE74K~>gkaizq%LkQ0Mf?yrE_mtDT?uz3JuH zJd1}utF*t_-{iLLy5^|GSgW#_iCk0~n%T_Yx;CdFn`SrrSt5sd#gGSrL`K0=ck~D| zTY=99%XQu0^1@9d)swq=QkLm=7};f5Q<23dii-;;$Qs!&r&-UBZGUw9WXd8Qs+ZYe zyjW6{u+HT)KMLs?Y*vtO^O%vou3LhBA7!&-uo)Q81Au2GOU{!WMwRFUgWA!nhz)` zCCnx2!76GSkDMnr3qFIDG&g(7S5?`@E#=LvhJ07iY$oU47U|@&ie_;cS;?$wy{c$- zHRP~7eE8~7#Y{3}i)vxRK2K!U>gK0^xgg4%HOw02{~NE~#;Rxi zN#wr))~FihA40Y&WoAp;WAudKJoZyL$%?COdYV>JJ+qC;%9ezf6FJl8IrHOWRESw# z?hG;88cFhp5VL?R*vLF3pEfeHb2Sei+&9AF&mVah`O37{Ph;xC$(EhYy}#Pyj-{*{M9E2bqkuegikS#j`Bb^-ySp5xf1=nE@w9}^I5N( zn6(XgshL?)?&)u4m6KYSRiwRzSwnVcX;xOxnAV(@tdBbu?sXmW%?AI5>eJn9t=<|5+03$*qq|vJot&HOF?@{U!x9g8YN;|P%DO6qe#|3m1`Nv>0y*H=2jU@G$A7lj$F=u-OxE>R2t_N{j%J!t>mD^?a z9=w_Fj4%)WzfZ&RVIPspIx^A>FuWXbTRAV~tx@K1YxQVzh++ASHES92Y$6x7UgOL; z8K!OFPUSelVN=gcmfv`@py}nhdC8iS%+n2=PcxgG7fWt-Y)XQs&7R)wYt@2S)89kZk2kZ(%W-BaYgW8@K@@>+tg{K;Sv)4k re|{5A>Kis>z~BiH!HmIx diff --git a/netbox/translations/ja/LC_MESSAGES/django.po b/netbox/translations/ja/LC_MESSAGES/django.po index 85ef0a6bb..14ecb3cb8 100644 --- a/netbox/translations/ja/LC_MESSAGES/django.po +++ b/netbox/translations/ja/LC_MESSAGES/django.po @@ -4,18 +4,18 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2024 # Tatsuya Ueda , 2024 # teapot, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: teapot, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,7 +79,7 @@ msgstr "開通" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -99,37 +99,37 @@ msgstr "解約" msgid "Decommissioned" msgstr "廃止" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "リージョン (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "リージョン (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "サイトグループ (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -140,9 +140,9 @@ msgstr "サイトグループ (slug)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -150,7 +150,7 @@ msgstr "サイトグループ (slug)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -172,8 +172,8 @@ msgstr "サイトグループ (slug)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -188,8 +188,8 @@ msgid "Site" msgstr "サイト" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -227,9 +227,9 @@ msgid "Circuit type (slug)" msgstr "回線タイプ (slug)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -237,7 +237,7 @@ msgid "Site (ID)" msgstr "サイト (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -361,13 +361,14 @@ msgstr "ASN" #: 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: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 +#: 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 msgid "Description" msgstr "説明" @@ -397,8 +398,8 @@ msgstr "サービス ID" #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -417,11 +418,11 @@ msgstr "色" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -429,7 +430,7 @@ msgstr "色" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -466,34 +467,34 @@ msgstr "プロバイダアカウント" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -505,7 +506,7 @@ msgstr "プロバイダアカウント" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -519,9 +520,9 @@ msgstr "ステータス" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -590,8 +591,8 @@ 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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -601,7 +602,7 @@ msgstr "サービス情報" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "テナンシー" @@ -611,9 +612,9 @@ msgstr "テナンシー" msgid "Assigned provider" msgstr "割当プロバイダ" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "16 進数の RGB カラーコード。例:" @@ -626,9 +627,9 @@ msgid "Type of circuit" msgstr "回線のタイプ" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -636,9 +637,9 @@ msgid "Operational status" msgstr "運用状況" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -657,9 +658,9 @@ msgstr "プロバイダネットワーク" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -672,8 +673,8 @@ msgstr "プロバイダネットワーク" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -822,7 +823,7 @@ msgstr "回線 ID" msgid "Unique circuit ID" msgstr "一意な回線 ID" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -916,8 +917,18 @@ msgstr "回線終端" msgid "circuit terminations" msgstr "回線終端" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "回線終端は、サイトまたはプロバイダーネットワークに接続する必要があります。" + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "回線終端をサイトとプロバイダーネットワークの両方に接続することはできません。" + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -991,13 +1002,13 @@ msgstr "プロバイダネットワーク" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1100,7 +1111,7 @@ msgstr "保証帯域" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1114,7 +1125,7 @@ msgstr "保証帯域" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "コメント" @@ -1206,6 +1217,11 @@ msgstr "パスワード" msgid "Branch" msgstr "ブランチ" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "リモートデータの取得に失敗しました ({name}): {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "AWS アクセスキー ID" @@ -1223,16 +1239,31 @@ msgstr "データソース (ID)" msgid "Data source (name)" msgstr "データソース (名前)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "IPアドレスの重複を禁止する" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "パラメータ" @@ -1253,25 +1284,6 @@ msgstr "ignoreルール" msgid "Data Source" msgstr "データソース" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "有効" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "ファイル" @@ -1352,6 +1364,14 @@ msgstr "バックエンド設定" msgid "File Upload" msgstr "ファイルのアップロード" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "ファイルをアップロードして既存のファイルから同期することはできません" + +#: core/forms/model_forms.py:108 +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 msgid "Rack Elevations" @@ -1416,7 +1436,7 @@ msgstr "現在の値: {value}" msgid " (default)" msgstr " (デフォルト)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1451,7 +1471,7 @@ msgstr "現在の設定" msgid "Config revision #{id}" msgstr "設定履歴 #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1469,88 +1489,98 @@ msgstr "設定履歴 #{id}" msgid "type" msgstr "タイプ" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "有効" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "ignoreルール" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "同期時に除外するファイル名のパターン (1 行に 1 つ)" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "パラメータ" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "最終同期日時" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "データソース" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "データソース" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "不明なバックエンドタイプ: {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "同期を開始できません。同期はすでに進行中です。" + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "バックエンドの初期化中にエラーが発生しました。依存関係をインストールする必要があります。 " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "最終更新日時" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "パス" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "データソースのルートを基準にしたファイルパス" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "サイズ" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "ハッシュ" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "64 桁の 16 進数でなければなりません。" -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "ファイルデータの SHA256 ハッシュ" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "データファイル" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "データファイル" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "自動同期レコード" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "自動同期レコード" @@ -1620,6 +1650,11 @@ msgstr "ジョブ" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "このオブジェクトタイプにはジョブを割り当てられません ({type})。" +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "ジョブ終了のステータスが無効です。選択肢は以下のとおりです。 {choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "有効" @@ -1663,7 +1698,7 @@ msgstr "開始日時" msgid "Facility ID" msgstr "ファシリティ ID" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "ポジション (U)" @@ -1739,13 +1774,13 @@ 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1854,8 +1889,8 @@ msgid "Virtual" msgstr "仮想" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "無線" @@ -1865,8 +1900,8 @@ msgid "Virtual interfaces" msgstr "仮想インタフェース" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -2023,200 +2058,210 @@ msgstr "単相" msgid "Three-phase" msgstr "三相" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "MAC アドレス形式が無効です: {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "WWN 形式が無効です: {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "親リージョン (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "親リージョン (slug)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "親サイトグループ (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "親サイトグループ (slug)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "グループ (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "グループ (slug)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "AS (ID)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "ロケーション (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "ロケーション (slug)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "ロール (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "ロール (slug)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "ラック (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "ユーザ (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "ユーザ (名前)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "メーカ (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "メーカ (slug)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "デフォルトプラットフォーム (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "デフォルトプラットフォーム (slug)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "正面画像がある" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "背面画像がある" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "コンソールポートがある" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "コンソールサーバポートがある" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "電源ポートがある" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "電源コンセントがある" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "インタフェースがある" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "パススルーポートがある" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "モジュールベイがある" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "デバイスベイがある" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "在庫品目がある" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "デバイスタイプ (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "モジュールタイプ (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "親在庫品目 (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "設定テンプレート (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "デバイスタイプ (slug)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "親デバイス (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "プラットフォーム (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "プラットフォーム (slug)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "サイト名 (slug)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "VM クラスタ (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "デバイスモデル (slug)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "奥行きをすべて使うか" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2224,68 +2269,68 @@ msgstr "奥行きをすべて使うか" msgid "MAC address" msgstr "MAC アドレス" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "プライマリ IP がある" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "帯域外 IP がある" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "バーチャルシャーシ (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "バーチャルシャーシのメンバーか" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "OOB IP (ID)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "モジュールタイプ (モデル)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "モジュールベイ (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "デバイス (ID)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "ラック (名前)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "デバイス (名前)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "デバイスタイプ (モデル)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "デバイスロール (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "デバイスロール (slug)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "バーチャルシャーシ (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2294,23 +2339,23 @@ msgstr "バーチャルシャーシ (ID)" msgid "Virtual Chassis" msgstr "バーチャルシャーシ" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "モジュール (ID)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "割当 VLAN" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "割当 VID" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 #: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 #: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 @@ -2336,77 +2381,77 @@ msgstr "割当 VID" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (RD)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "バーチャルシャーシインタフェース" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "バーチャルシャーシインタフェース (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "インタフェースの種類" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "親インタフェース (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "ブリッジインタフェース (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "LAG インタフェース (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "マスター (ID)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "マスター (名前)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "テナント (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "テナント (slug)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "未終端" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 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:79 +#: 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 @@ -2415,9 +2460,9 @@ msgid "Tags" msgstr "タグ" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2455,9 +2500,9 @@ msgstr "英数字の範囲が使用できます。(作成する名前の数と #: 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 -#: 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 +#: 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 msgid "Group" msgstr "グループ" @@ -2479,13 +2524,13 @@ 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:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2515,7 +2560,7 @@ msgstr "タイムゾーン" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "ロール" @@ -2532,7 +2577,7 @@ msgstr "シリアル番号" msgid "Asset tag" msgstr "アセットタグ" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2554,7 +2599,7 @@ msgstr "外形の幅" msgid "Outer depth" msgstr "外形の奥行" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "外形の単位" @@ -2565,11 +2610,11 @@ 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2588,22 +2633,22 @@ 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:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "重量単位" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2620,7 +2665,7 @@ msgstr "ラック" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2629,17 +2674,17 @@ 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2648,7 +2693,7 @@ msgstr "ハードウェア" msgid "Manufacturer" msgstr "メーカ" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "デフォルトプラットフォーム" @@ -2667,19 +2712,19 @@ msgid "Exclude from utilization" msgstr "ラック利用率に含めない" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "エアフロー" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "デバイスタイプ" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2691,13 +2736,13 @@ 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:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2705,20 +2750,20 @@ msgid "Config template" msgstr "設定テンプレート" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "デバイスタイプ" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "デバイスロール" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2730,12 +2775,12 @@ 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2744,17 +2789,17 @@ msgstr "プラットフォーム" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2793,8 +2838,8 @@ msgstr "デバイス" msgid "Configuration" msgstr "設定" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "モジュールタイプ" @@ -2820,8 +2865,8 @@ msgstr "ラベル" msgid "Length" msgstr "長さ" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "長さの単位" @@ -2829,17 +2874,17 @@ msgstr "長さの単位" msgid "Domain" msgstr "ドメイン" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "電源盤" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "供給電源" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "電力相" @@ -2883,13 +2928,13 @@ msgstr "割当電力" msgid "Allocated power draw (watts)" msgstr "割当消費電力 (ワット)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "電源ポート" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "供給端子" @@ -2898,7 +2943,7 @@ msgid "Management only" msgstr "管理のみ" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2906,7 +2951,7 @@ msgid "PoE mode" msgstr "PoE モード" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2918,8 +2963,8 @@ msgstr "PoE タイプ" msgid "Wireless role" msgstr "無線ロール" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2928,25 +2973,25 @@ msgstr "無線ロール" msgid "Module" msgstr "モジュール" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "LAG" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "仮想デバイスコンテキスト" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "速度" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2957,37 +3002,37 @@ msgstr "速度" msgid "Mode" msgstr "モード" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "VLAN グループ" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "タグなし VLAN" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "タグ付き VLAN" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "無線 LAN グループ" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "無線 LAN" #: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -2995,22 +3040,22 @@ msgid "Addressing" msgstr "アドレス" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "オペレーション" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "関連インタフェース" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3045,8 +3090,8 @@ msgstr "割当グループ" msgid "available options" msgstr "使用可能なオプション" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3060,98 +3105,98 @@ msgstr "親ロケーション" msgid "Location not found." msgstr "ロケーションが見つかりません。" -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "割当テナント名" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "割当ロール名" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "ラックタイプ" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "レール間の幅 (インチ)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "外形寸法の単位" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "重量の単位" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "親サイト" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "ラックのロケーション (存在する場合)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "単位" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "カンマ区切りのユニット番号" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "製造メーカ" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "デフォルトのプラットフォーム (オプション)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "デバイス重量" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "デバイス重量の単位" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "モジュール重量" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "モジュール重量の単位" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "プラットフォーム割り当てをこのメーカに限定する" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "割当ロール" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "デバイスタイプメーカ" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "デバイスタイプモデル" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "割当プラットフォーム" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "バーチャルシャーシ" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3170,277 +3215,293 @@ msgstr "バーチャルシャーシ" msgid "Cluster" msgstr "クラスタ" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "仮想化クラスタ" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "割当ロケーション (存在する場合)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "割当ラック (存在する場合)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "面" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "ラック取付面" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "親デバイス (子デバイス用)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "デバイスベイ" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" -msgstr "設置されているデバイスベイ (子デバイス用)" +msgstr "取付られているデバイスベイ (子デバイス用)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "エアフロー" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" -msgstr "挿入されているデバイス" +msgstr "取付られているデバイス" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "モジュールベイ" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" -msgstr "挿入されているモジュールベイ" +msgstr "取付られているモジュールベイ" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "モジュールタイプ" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "構成要素を複製" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" msgstr "関連する構成要素を自動的に登録 (デフォルト)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "既存の構成要素を採用" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "既存の構成要素を採用" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "ポートタイプ" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "ポート速度 (bps)" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "コンセントタイプ" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "このコンセントに給電する電源ポート" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "フィードラグ" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "電気位相 (三相回路用)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "親インタフェース" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "ブリッジインタフェース" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Lag" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "親 LAG インタフェース" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "VDC" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "VDC 名をコンマで区切り、二重引用符で囲みます。例:" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "物理媒体" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "デュプレックス" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "PoEモード" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "PoEタイプ" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "IEEE 802.1Q モード(L2 インタフェース用)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "割当 VRF" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "RF ロール" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "無線ロール (AP/ステーション)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "VDC {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 msgid "Rear port" msgstr "背面ポート" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "対応する背面ポート" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "物理媒体の分類" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" -msgstr "挿入済みデバイス" +msgstr "取付済みデバイス" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" -msgstr "このベイ内に挿入された子デバイス" +msgstr "このベイ内に取付された子デバイス" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "子デバイスが見つかりません。" -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "親在庫品目" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "構成要素タイプ" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "構成要素タイプ" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "コンポーネント名" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "構成要素名" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "コンポーネントが見つかりません: {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "サイド A デバイス" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "デバイス名" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "サイド A タイプ" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "終了タイプ" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "サイド A 名" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "終端名" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "サイド B デバイス" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "サイド B タイプ" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "サイド B 名" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "接続ステータス" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "サイド {side_upper}: {device} {termination_object} は既に接続されています" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} サイドターミネーションが見つかりません: {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "マスター" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "マスターデバイス" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "親サイトの名前" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "上流電源盤" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "プライマリまたは冗長" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "電源タイプ (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "単相または三相" @@ -3481,7 +3542,7 @@ msgstr "{model} {name} は既に存在しています" msgid "Power Panel" msgstr "電源盤" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "電源タップ" @@ -3505,7 +3566,7 @@ msgstr "親グループ" msgid "Function" msgstr "機能" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "画像" @@ -3537,7 +3598,7 @@ msgstr "専有済" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3545,7 +3606,7 @@ msgstr "専有済" msgid "Connection" msgstr "接続" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "仮想デバイスコンテキスト" @@ -3561,7 +3622,7 @@ msgstr "種類" msgid "Mgmt only" msgstr "管理のみ" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "WWN" @@ -3591,9 +3652,9 @@ msgstr "送信出力 (dBm)" msgid "Cable" msgstr "ケーブル" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" -msgstr "発見された" +msgstr "自動検出" #: dcim/forms/formsets.py:20 #, python-brace-format @@ -3623,28 +3684,28 @@ msgstr "カンマ区切りのユニット ID 。範囲はハイフンを使用 msgid "Reservation" msgstr "予約" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Slug" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "シャーシ" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "デバイスロール" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "デバイスが使用している最も小さいユニット番号" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "仮想シャーシ内の位置" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3652,27 +3713,27 @@ msgstr "仮想シャーシ内の位置" msgid "Priority" msgstr "優先度" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "仮想シャーシ内の優先度" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "このモジュールタイプに関連する構成要素を自動的に入力する" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "最大長は32767です (任意の単位)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "特性" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "LAG インタフェース" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3688,58 +3749,58 @@ msgstr "LAG インタフェース" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "インタフェース" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "子デバイス" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." msgstr "まず子デバイスを作成し、親デバイスのサイトとラックに割り当てる必要があります。" -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "コンソールポート" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "コンソールサーバポート" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "前面ポート" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "電源コンセント" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "在庫品目" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "在庫品目は1つの構成要素にのみ割り当てることができます。" -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "在庫品目ロール" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "プライマリ IPv4" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3792,7 +3853,7 @@ msgid "" msgstr "" "前面ポートの数 ({frontport_count}) は選択した背面ポートの数 ({rearport_count}) と一致する必要があります。" -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3800,17 +3861,17 @@ msgstr "メンバー" #: dcim/forms/object_create.py:417 msgid "Initial position" -msgstr "初期位置" +msgstr "初期ポジション" #: dcim/forms/object_create.py:420 msgid "" "Position of the first member device. Increases by one for each additional " "member." -msgstr "最初のメンバーの位置。メンバーが増えるごとに 1 ずつ増えます。" +msgstr "最初のメンバーのポジション。メンバーが増えるごとに 1 ずつ増えます。" #: dcim/forms/object_create.py:434 msgid "A position must be specified for the first VC member." -msgstr "最初の VC メンバーの位置を指定する必要があります。" +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 @@ -3833,39 +3894,72 @@ msgstr "ケーブル" msgid "cables" msgstr "ケーブル" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "ケーブル長を設定するときは単位を指定する必要があります" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "新しいケーブルを作成するときは、A 終端と B 終端を定義する必要があります。" + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "ケーブルの同じ端に異なる終端タイプを接続することはできません。" + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "互換性のない終端タイプ: {type_a} そして {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "A 端子と B 端子を同じオブジェクトに接続することはできません。" -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "端" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "ケーブル終端" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "ケーブル終端" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "の重複終了が見つかりました {app_label}。{model} {termination_id}: ケーブル {cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "ケーブルは終端できません {type_display} インターフェース" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "プロバイダーネットワークに接続されている回線終端はケーブル接続できない場合があります。" + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "アクティブ" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "完了" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "分割" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "ケーブル経路" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "ケーブル経路" @@ -4050,7 +4144,7 @@ msgstr "位置" #: dcim/models/device_component_templates.py:639 #: dcim/models/device_components.py:1098 msgid "Identifier to reference when renaming installed components" -msgstr "インストール済み構成要素名を変更する際に参照する識別子" +msgstr "取付済み構成要素名を変更する際に参照する識別子" #: dcim/models/device_component_templates.py:645 msgid "module bay template" @@ -4299,7 +4393,7 @@ msgid "" "not part of virtual chassis {virtual_chassis}." msgstr "" "選択したブリッジインタフェース ({interface}) が属する " -"{device}は、バーチャルシャーシ{virtual_chassis}には含まれていません。 。" +"{device}は、バーチャルシャーシ{virtual_chassis}には含まれていません。 " #: dcim/models/device_components.py:829 msgid "Virtual interfaces cannot have a parent LAG interface." @@ -4321,7 +4415,7 @@ msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" " virtual chassis {virtual_chassis}." msgstr "" -"選択した LAG インタフェース ({lag}) に属する {device}、これはバーチャルシャーシには含まれていません " +"選択した LAG インタフェース ({lag}) が属する {device}は、バーチャルシャーシには含まれていません " "{virtual_chassis}。" #: dcim/models/device_components.py:857 @@ -4366,8 +4460,7 @@ msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent device, or it must be global." msgstr "" -"タグが付いていない VLAN ({untagged_vlan}) " -"はインタフェースの親デバイスと同じサイトに属しているか、またはグローバルである必要があります。" +"タグ無し VLAN ({untagged_vlan}) はインタフェースの親デバイスと同じサイトに属しているか、グローバルである必要があります。" #: dcim/models/device_components.py:991 msgid "Mapped position on corresponding rear port" @@ -4392,7 +4485,7 @@ msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" " {positions} positions." msgstr "" -"背面ポートの位置が無効です ({rear_port_position}): 背面ポート {name} しかない {positions} ポジション。" +"背面ポートの位置 ({rear_port_position}) が無効です: 背面ポート {name} は {positions} 箇所しかありません。" #: dcim/models/device_components.py:1060 msgid "Number of front ports which may be mapped" @@ -4411,7 +4504,7 @@ msgstr "背面ポート" msgid "" "The number of positions cannot be less than the number of mapped front ports" " ({frontport_count})" -msgstr "位置の数は、マップされた前面ポートの数より少なくすることはできません ({frontport_count})" +msgstr "ポジションの数は、マップされた前面ポートの数より少なくすることはできません ({frontport_count})" #: dcim/models/device_components.py:1104 msgid "module bay" @@ -4432,17 +4525,17 @@ msgstr "デバイスベイ" #: dcim/models/device_components.py:1137 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." -msgstr "このタイプのデバイス ({device_type}) はデバイスベイをサポートしていません。" +msgstr "このタイプ ({device_type}) のデバイスは、デバイスベイをサポートしていません。" #: dcim/models/device_components.py:1143 msgid "Cannot install a device into itself." -msgstr "デバイスをそれ自体にインストールすることはできません。" +msgstr "デバイスをそれ自体に挿入することはできません。" #: dcim/models/device_components.py:1151 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." -msgstr "指定されたデバイスはインストールできません。デバイスは既にインストールされています {bay}。" +msgstr "指定されたデバイスは取付できません。デバイスは既に {bay} に取付られています 。" #: dcim/models/device_components.py:1172 msgid "inventory item role" @@ -4450,7 +4543,7 @@ msgstr "在庫品目ロール" #: dcim/models/device_components.py:1173 msgid "inventory item roles" -msgstr "在庫品目のロール" +msgstr "在庫品目ロール" #: dcim/models/device_components.py:1230 dcim/models/devices.py:595 #: dcim/models/devices.py:1173 dcim/models/racks.py:113 @@ -4464,11 +4557,11 @@ msgstr "アセットタグ" #: dcim/models/device_components.py:1239 msgid "A unique tag used to identify this item" -msgstr "この商品を識別するために使用される一意のタグ" +msgstr "この部品を識別するために使用される一意のタグ" #: dcim/models/device_components.py:1242 msgid "discovered" -msgstr "発見された" +msgstr "自動検出" #: dcim/models/device_components.py:1244 msgid "This item was automatically discovered" @@ -4492,7 +4585,7 @@ msgstr "親在庫品目は同じデバイスに属していません。" #: dcim/models/device_components.py:1288 msgid "Cannot move an inventory item with dependent children" -msgstr "子が扶養されている在庫品目は移動できません" +msgstr "子を持つ在庫品目は移動できません" #: dcim/models/device_components.py:1296 msgid "Cannot assign inventory item to component on another device" @@ -4528,7 +4621,7 @@ msgstr "高さ (U)" #: dcim/models/devices.py:111 msgid "exclude from utilization" -msgstr "利用から除外" +msgstr "使用率から除外" #: dcim/models/devices.py:112 msgid "Devices of this type are excluded when calculating rack utilization." @@ -4536,7 +4629,7 @@ msgstr "このタイプのデバイスは、ラック使用率の計算時に除 #: dcim/models/devices.py:116 msgid "is full depth" -msgstr "全深度です" +msgstr "奥行きをすべて利用する" #: dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." @@ -4554,7 +4647,7 @@ msgstr "親デバイスはデバイスベイに子デバイスを収納します #: dcim/models/devices.py:128 dcim/models/devices.py:647 msgid "airflow" -msgstr "気流" +msgstr "エアフロー" #: dcim/models/devices.py:204 msgid "device type" @@ -4566,14 +4659,14 @@ msgstr "デバイスタイプ" #: dcim/models/devices.py:289 msgid "U height must be in increments of 0.5 rack units." -msgstr "U の高さは 0.5 ラック単位単位でなければなりません。" +msgstr "U の高さは 0.5 ラック単位でなければなりません。" #: dcim/models/devices.py:306 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" -msgstr "[デバイス] {device} ラック内 {rack} 高さに対応する十分なスペースがない {height}U" +msgstr "ラック内 {rack} のデバイス {device} は高さ{height}Uに対応する十分なスペースが有りません " #: dcim/models/devices.py:321 #, python-brace-format @@ -4581,8 +4674,8 @@ msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -"0U 高さを設定できません:見つかりました {racked_instance_count} インスタンス " -"すでにラックに取り付けられています。" +"高さは 0U にできません: {racked_instance_count} インスタンス " +"がラックに取り付け済みです。" #: dcim/models/devices.py:330 msgid "" @@ -4632,7 +4725,7 @@ msgstr "このデバイスが果たす機能" #: dcim/models/devices.py:596 msgid "Chassis serial number, assigned by the manufacturer" -msgstr "製造元によって割当シャーシのシリアル番号" +msgstr "製造元によって割当られた、シャーシのシリアル番号" #: dcim/models/devices.py:604 dcim/models/devices.py:1181 msgid "A unique tag used to identify this device" @@ -4658,7 +4751,7 @@ msgstr "プライマリ IPv6" #: dcim/models/devices.py:674 msgid "out-of-band IP" -msgstr "アウトオブバンド IP" +msgstr "out-of-band IP" #: dcim/models/devices.py:691 msgid "VC position" @@ -4666,7 +4759,7 @@ msgstr "VCポジション" #: dcim/models/devices.py:695 msgid "Virtual chassis position" -msgstr "バーチャルシャーシの位置" +msgstr "バーチャルシャーシポジション" #: dcim/models/devices.py:698 msgid "VC priority" @@ -4683,7 +4776,7 @@ msgstr "緯度" #: dcim/models/devices.py:710 dcim/models/devices.py:718 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" -msgstr "10 進数形式の GPS 座標 (xx.yyyyy)" +msgstr "10 進数形式の GPS 座標 (xx.yyyyyy)" #: dcim/models/devices.py:713 dcim/models/sites.py:215 msgid "longitude" @@ -4695,7 +4788,7 @@ msgstr "デバイス名はサイトごとに一意である必要があります #: dcim/models/devices.py:797 ipam/models/services.py:75 msgid "device" -msgstr "端末" +msgstr "デバイス" #: dcim/models/devices.py:798 msgid "devices" @@ -4704,17 +4797,17 @@ msgstr "デバイス" #: dcim/models/devices.py:838 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." -msgstr "ラック {rack} サイトに属していません {site}。" +msgstr "ラック {rack} はサイト{site}に属していません 。" #: dcim/models/devices.py:843 #, python-brace-format msgid "Location {location} does not belong to site {site}." -msgstr "ロケーション {location} サイトに属していません {site}。" +msgstr "ロケーション {location} はサイト{site}に属していません 。" #: dcim/models/devices.py:849 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "ラック {rack} ロケーションには属さない {location}。" +msgstr "ラック {rack} はロケーション{location}に属していません 。" #: dcim/models/devices.py:856 msgid "Cannot select a rack face without assigning a rack." @@ -4722,11 +4815,11 @@ msgstr "ラックを割り当てないとラックフェースは選択できま #: dcim/models/devices.py:860 msgid "Cannot select a rack position without assigning a rack." -msgstr "ラックを割り当てないとラックの位置を選択できません。" +msgstr "ラックを割り当てないとラックポジションを選択できません。" #: dcim/models/devices.py:866 msgid "Position must be in increments of 0.5 rack units." -msgstr "位置は 0.5 ラックユニット単位で入力する必要があります。" +msgstr "ポジションは 0.5 ラックユニット単位で入力する必要があります。" #: dcim/models/devices.py:870 msgid "Must specify rack face when defining rack position." @@ -4735,8 +4828,8 @@ msgstr "ラックの位置を定義するときは、ラックの面を指定す #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." -msgstr "U0 デバイスタイプ ({device_type}) をラックポジションに割り当てることはできません。" +"A 0U device type ({device_type}) cannot be assigned to a rack position." +msgstr "0U デバイスタイプ ({device_type}) をラックポジションに割り当てることはできません。" #: dcim/models/devices.py:889 msgid "" @@ -4756,8 +4849,8 @@ msgid "" "U{position} is already occupied or does not have sufficient space to " "accommodate this device type: {device_type} ({u_height}U)" msgstr "" -"あなた{position} が既に占有されているか、このデバイスタイプを収容するのに十分なスペースがない: {device_type} " -"({u_height}あなた)" +"U{position} が既に占有されているか、このデバイスタイプを収容するのに十分なスペースがありません: {device_type} " +"({u_height}U)" #: dcim/models/devices.py:925 #, python-brace-format @@ -4780,8 +4873,8 @@ msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " "but this device's type belongs to {devicetype_manufacturer}." msgstr "" -"割り当てられるプラットフォームは次のものに限定されます {platform_manufacturer} デバイスタイプ。ただし、このデバイスのタイプは " -"{devicetype_manufacturer}。" +"割当られたプラットフォームは{platform_manufacturer} のデバイスタイプに限定されます 。しかし、このデバイスのタイプは " +"{devicetype_manufacturer}に属します。" #: dcim/models/devices.py:978 #, python-brace-format @@ -4790,7 +4883,7 @@ msgstr "割当クラスタは別のサイトに属しています ({site})" #: dcim/models/devices.py:986 msgid "A device assigned to a virtual chassis must have its position defined." -msgstr "仮想シャーシに割当デバイスには、その位置が定義されている必要があります。" +msgstr "仮想シャーシに割当られたデバイスには、その位置が定義されている必要があります。" #: dcim/models/devices.py:1188 msgid "module" @@ -4826,11 +4919,11 @@ msgstr "選択したマスター ({master}) はこの仮想シャーシに割り msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." -msgstr "バーチャルシャーシを削除できません {self}。クロスシャーシ LAG インタフェースを形成するメンバーインタフェースがあります。" +msgstr "バーチャルシャーシ{self}を削除できません 。クロスシャーシ LAG インタフェースを形成するメンバーインタフェースがあります。" #: dcim/models/devices.py:1379 vpn/models/l2vpn.py:37 msgid "identifier" -msgstr "識別" +msgstr "識別子" #: dcim/models/devices.py:1380 msgid "Numeric identifier unique to the parent device" @@ -4852,7 +4945,7 @@ msgstr "仮想デバイスコンテキスト" #: dcim/models/devices.py:1457 #, python-brace-format msgid "{ip} is not an IPv{family} address." -msgstr "{ip} IPvではありません{family} 住所。" +msgstr "{ip}は IPv{family}アドレスではありません。" #: dcim/models/devices.py:1463 msgid "Primary IP address must belong to an interface on the assigned device." @@ -4884,7 +4977,7 @@ msgstr "電源盤" #, python-brace-format msgid "" "Location {location} ({location_site}) is in a different site than {site}" -msgstr "ロケーション {location} ({location_site}) はとは別のサイトにあります {site}" +msgstr "ロケーション {location} ({location_site}) は{site}とは別のサイトにあります " #: dcim/models/power.py:107 msgid "supply" @@ -4908,7 +5001,7 @@ msgstr "最大使用率" #: dcim/models/power.py:132 msgid "Maximum permissible draw (percentage)" -msgstr "最大許容抽選 (パーセンテージ)" +msgstr "最大許容電力 (パーセンテージ)" #: dcim/models/power.py:135 msgid "available power" @@ -4948,7 +5041,7 @@ msgstr "ファシリティ ID" #: dcim/models/racks.py:75 msgid "Locally-assigned identifier" -msgstr "ローカルに割当識別子" +msgstr "ローカル識別子" #: dcim/models/racks.py:108 ipam/forms/bulk_import.py:200 #: ipam/forms/bulk_import.py:265 ipam/forms/bulk_import.py:300 @@ -4966,23 +5059,23 @@ msgstr "幅" #: dcim/models/racks.py:133 msgid "Rail-to-rail width" -msgstr "レール・トゥ・レールの幅" +msgstr "レール間の幅" #: dcim/models/racks.py:139 msgid "Height in rack units" -msgstr "ラック単位の高さ" +msgstr "ラックユニットの高さ" #: dcim/models/racks.py:143 msgid "starting unit" -msgstr "始動ユニット" +msgstr "開始ユニット" #: dcim/models/racks.py:145 msgid "Starting unit for rack" -msgstr "ラック用始動ユニット" +msgstr "ラック用開始ユニット" #: dcim/models/racks.py:149 msgid "descending units" -msgstr "降順単位" +msgstr "降順" #: dcim/models/racks.py:150 msgid "Units are numbered top-to-bottom" @@ -4998,7 +5091,7 @@ msgstr "ラックの外形寸法(幅)" #: dcim/models/racks.py:159 msgid "outer depth" -msgstr "外形の深さ" +msgstr "外形の奥行" #: dcim/models/racks.py:162 msgid "Outer dimension of rack (depth)" @@ -5006,7 +5099,7 @@ msgstr "ラックの外形寸法(奥行き)" #: dcim/models/racks.py:165 msgid "outer unit" -msgstr "アウターユニット" +msgstr "外形の単位" #: dcim/models/racks.py:171 msgid "max weight" @@ -5018,7 +5111,7 @@ msgstr "ラックの最大積載量" #: dcim/models/racks.py:182 msgid "mounting depth" -msgstr "取り付け深さ" +msgstr "取り付け奥行き" #: dcim/models/racks.py:186 msgid "" @@ -5037,7 +5130,7 @@ msgstr "ラック" #: dcim/models/racks.py:236 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." -msgstr "割当ロケーションは親サイトに属している必要があります ({site})。" +msgstr "割当ロケーションは親サイト ({site}) に属している必要があります。" #: dcim/models/racks.py:240 msgid "Must specify a unit when setting an outer width/depth" @@ -5045,26 +5138,26 @@ msgstr "外形の幅/奥行きを設定する場合は単位を指定する必 #: dcim/models/racks.py:244 msgid "Must specify a unit when setting a maximum weight" -msgstr "最大重量を設定するときは単位を指定する必要があります" +msgstr "最大重量を設定する場合は単位を指定する必要があります" #: dcim/models/racks.py:254 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." -msgstr "ラックは少なくとも必要です {min_height}現在インストールされているデバイスを収納するには十分な高さがあります。" +msgstr "現在取付られているデバイスを収納するには、ラックは少なくとも{min_height} U 必要です 。" #: dcim/models/racks.py:261 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." -msgstr "ラックユニット番号は次の文字で始まる必要があります {position} 現在インストールされているデバイスを収納するにはそれ以下。" +msgstr "現在取付られているデバイスを収納するには、ラックユニット番号は {position} 以下で始まる必要があります 。" #: dcim/models/racks.py:269 #, python-brace-format msgid "Location must be from the same site, {site}." -msgstr "ロケーションは同じサイトのものでなければなりません。 {site}。" +msgstr "ロケーションは同じサイト {site} のものでなければなりません。 。" #: dcim/models/racks.py:522 msgid "units" @@ -5081,20 +5174,20 @@ msgstr "ラック予約" #: dcim/models/racks.py:566 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" -msgstr "のユニットが無効です {height}U ラック: {unit_list}" +msgstr " {height}U ラックのユニットが無効です: {unit_list}" #: dcim/models/racks.py:579 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" -msgstr "次のユニットはすでに予約されています。 {unit_list}" +msgstr "次のユニットはすでに予約されています: {unit_list}" #: dcim/models/sites.py:49 msgid "A top-level region with this name already exists." -msgstr "同じ名前のトップレベルリージョンが既に存在します。" +msgstr "同名のトップレベルリージョンが存在します。" #: dcim/models/sites.py:59 msgid "A top-level region with this slug already exists." -msgstr "このslugを含むトップレベルリージョンは既に存在します。" +msgstr "このslugを含むトップレベルリージョンは存在します。" #: dcim/models/sites.py:62 msgid "region" @@ -5106,11 +5199,11 @@ msgstr "リージョン" #: dcim/models/sites.py:102 msgid "A top-level site group with this name already exists." -msgstr "同じ名前のトップレベルサイトグループが既に存在しています。" +msgstr "同名のトップレベルサイトグループが存在します。" #: dcim/models/sites.py:112 msgid "A top-level site group with this slug already exists." -msgstr "このslugを含むトップレベルのサイトグループが既に存在しています。" +msgstr "このslugを含むトップレベルサイトグループが存在します。" #: dcim/models/sites.py:115 msgid "site group" @@ -5158,11 +5251,11 @@ msgstr "サイト" #: dcim/models/sites.py:303 msgid "A location with this name already exists within the specified site." -msgstr "この名前のロケーションは、指定されたサイト内に既に存在します。" +msgstr "この名前のロケーションは、サイト内に存在します。" #: dcim/models/sites.py:313 msgid "A location with this slug already exists within the specified site." -msgstr "このslugのあるロケーションは、指定されたサイト内にすでに存在します。" +msgstr "このslugのロケーションは、サイト内に存在します。" #: dcim/models/sites.py:316 msgid "location" @@ -5175,15 +5268,15 @@ msgstr "ロケーション" #: dcim/models/sites.py:331 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." -msgstr "親のロケーション ({parent}) は同じサイトに属している必要があります ({site})。" +msgstr "親のロケーション ({parent}) は同じサイト ({site}) に属している必要があります。" #: dcim/tables/cables.py:54 msgid "Termination A" -msgstr "ターミネーション A" +msgstr "終端 A" #: dcim/tables/cables.py:59 msgid "Termination B" -msgstr "ターミネーション B" +msgstr "終端 B" #: dcim/tables/cables.py:65 wireless/tables/wirelesslink.py:22 msgid "Device A" @@ -5229,7 +5322,7 @@ msgstr "コンソールポート" msgid "Reachable" msgstr "到達可能" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5261,7 +5354,7 @@ msgstr "仮想マシン" msgid "Config Template" msgstr "設定テンプレート" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5269,12 +5362,12 @@ msgstr "設定テンプレート" msgid "IP Address" msgstr "IP アドレス" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "IPv4 アドレス" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "IPv6 アドレス" @@ -5312,9 +5405,9 @@ msgstr "電源ポート" msgid "Power outlets" msgstr "電源コンセント" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5350,62 +5443,62 @@ msgstr "モジュールベイ" #: dcim/tables/devices.py:350 msgid "Cable Color" -msgstr "ケーブルカラー" +msgstr "ケーブル色" #: dcim/tables/devices.py:356 msgid "Link Peers" -msgstr "リンクピア" +msgstr "対向" #: dcim/tables/devices.py:359 msgid "Mark Connected" msgstr "接続済みとしてマークする" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" -msgstr "最大引き込み (W)" +msgstr "最大電力 (W)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" -msgstr "割り当て済み消費電力 (W)" +msgstr "割当電力 (W)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "IP アドレス" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "FHRP グループ" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "トンネル" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "管理のみ" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "無線リンク" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5413,7 +5506,7 @@ msgstr "VDC" msgid "Inventory Items" msgstr "在庫品目" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5422,28 +5515,28 @@ msgstr "在庫品目" msgid "Rear Port" msgstr "背面ポート" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" -msgstr "インストール済みモジュール" +msgstr "取付済みモジュール" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" -msgstr "モジュールシリアル" +msgstr "モジュールシリアル番号" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "モジュール資産タグ" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "モジュールステータス" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" -msgstr "[構成要素]" +msgstr "構成要素" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "アイテム" @@ -5467,70 +5560,70 @@ msgstr "デフォルトプラットフォーム" #: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:48 msgid "Full Depth" -msgstr "フルデプス" +msgstr "奥行きをすべて利用する" #: dcim/tables/devicetypes.py:98 msgid "U Height" -msgstr "U ハイト" +msgstr "U 高さ" #: dcim/tables/devicetypes.py:110 dcim/tables/modules.py:26 msgid "Instances" msgstr "インスタンス" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 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:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5565,11 +5658,11 @@ msgstr "スペース" #: dcim/tables/racks.py:96 templates/dcim/rack.html:105 msgid "Outer Width" -msgstr "外形の幅" +msgstr "外形幅" #: dcim/tables/racks.py:100 templates/dcim/rack.html:115 msgid "Outer Depth" -msgstr "外形の深さ" +msgstr "外形奥行" #: dcim/tables/racks.py:108 msgid "Max Weight" @@ -5583,33 +5676,54 @@ msgstr "最大重量" msgid "Sites" msgstr "サイト" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "テストケースは peer_termination_type を設定する必要があります" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "切断されました {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" -msgstr "ご予約" +msgstr "予約" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "ラック搭載でないデバイス" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "コンフィグコンテキスト" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" -msgstr "レンダー設定" +msgstr "レンダーコンフィグ" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "子ども" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "不明な関連オブジェクト: {name}" + +#: extras/api/serializers.py:154 +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 +msgid "Scheduling is not enabled for this script." +msgstr "このスクリプトではスケジューリングが有効になっていません。" + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "テキスト" @@ -5624,11 +5738,11 @@ msgstr "整数" #: extras/choices.py:30 msgid "Decimal" -msgstr "十進法" +msgstr "実数" #: extras/choices.py:31 msgid "Boolean (true/false)" -msgstr "ブーリアン (真/偽)" +msgstr "真偽値 (true/false)" #: extras/choices.py:32 msgid "Date" @@ -5644,7 +5758,7 @@ msgstr "JSON" #: extras/choices.py:36 msgid "Selection" -msgstr "セレクション" +msgstr "選択" #: extras/choices.py:37 msgid "Multiple selection" @@ -5652,7 +5766,7 @@ msgstr "複数選択" #: extras/choices.py:39 msgid "Multiple objects" -msgstr "複数のオブジェクト" +msgstr "複数オブジェクト" #: extras/choices.py:50 templates/extras/customfield.html:69 vpn/choices.py:20 #: wireless/choices.py:27 @@ -5698,15 +5812,15 @@ msgstr "最新" #: extras/choices.py:120 msgid "Oldest" -msgstr "最も古い" +msgstr "最古" #: extras/choices.py:136 templates/generic/object.html:51 msgid "Updated" -msgstr "更新済み" +msgstr "更新済" #: extras/choices.py:137 msgid "Deleted" -msgstr "削除済み" +msgstr "削除済" #: extras/choices.py:154 extras/choices.py:176 msgid "Info" @@ -5734,15 +5848,15 @@ msgstr "失敗" #: extras/choices.py:185 msgid "Hourly" -msgstr "1 時間ごと" +msgstr "毎時" #: extras/choices.py:186 msgid "12 hours" -msgstr "12 時間" +msgstr "12 時間毎" #: extras/choices.py:187 msgid "Daily" -msgstr "デイリー" +msgstr "毎日" #: extras/choices.py:188 msgid "Weekly" @@ -5750,7 +5864,7 @@ msgstr "毎週" #: extras/choices.py:189 msgid "30 days" -msgstr "30 日間" +msgstr "30 日毎" #: extras/choices.py:254 extras/tables/tables.py:291 #: templates/dcim/virtualchassis_edit.html:108 @@ -5768,7 +5882,6 @@ msgstr "更新" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5787,15 +5900,15 @@ msgstr "青" #: extras/choices.py:281 utilities/choices.py:142 utilities/choices.py:192 msgid "Indigo" -msgstr "インディゴ" +msgstr "藍" #: extras/choices.py:282 utilities/choices.py:140 utilities/choices.py:193 msgid "Purple" -msgstr "紫の" +msgstr "紫" #: extras/choices.py:283 utilities/choices.py:137 utilities/choices.py:194 msgid "Pink" -msgstr "ピンク" +msgstr "桃" #: extras/choices.py:284 utilities/choices.py:136 utilities/choices.py:195 msgid "Red" @@ -5803,11 +5916,11 @@ msgstr "赤" #: extras/choices.py:285 utilities/choices.py:154 utilities/choices.py:196 msgid "Orange" -msgstr "オレンジ" +msgstr "橙" #: extras/choices.py:286 utilities/choices.py:152 utilities/choices.py:197 msgid "Yellow" -msgstr "黄色" +msgstr "黄" #: extras/choices.py:287 utilities/choices.py:149 utilities/choices.py:198 msgid "Green" @@ -5815,99 +5928,157 @@ msgstr "緑" #: extras/choices.py:288 utilities/choices.py:146 utilities/choices.py:199 msgid "Teal" -msgstr "ティール" +msgstr "青緑" #: extras/choices.py:289 utilities/choices.py:145 utilities/choices.py:200 msgid "Cyan" -msgstr "シアン" +msgstr "水" #: extras/choices.py:290 utilities/choices.py:201 msgid "Gray" -msgstr "グレー" +msgstr "灰" #: extras/choices.py:291 utilities/choices.py:160 utilities/choices.py:202 msgid "Black" -msgstr "ブラック" +msgstr "黒" #: extras/choices.py:292 utilities/choices.py:161 utilities/choices.py:203 msgid "White" -msgstr "ホワイト" +msgstr "白" #: extras/choices.py:306 extras/forms/model_forms.py:235 #: extras/forms/model_forms.py:321 templates/extras/webhook.html:11 msgid "Webhook" -msgstr "ウェブフック" +msgstr "Webhook" #: extras/choices.py:307 templates/extras/script/base.html:29 msgid "Script" msgstr "スクリプト" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "不明なオペレータ: {op}。次のいずれかでなければなりません。 {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "サポートされていない値のタイプ: {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "のタイプが無効です {op} オペレーション: {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "ルールセットは辞書でなければならず、辞書であってはなりません {ruleset}。" + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "ルールセットには論理演算子 (見つかりました) が 1 つだけ必要です {ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "ロジックタイプが無効です: {logic} ('でなければなりません{op_and}'または'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "ウィジェットタイプ" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "未登録のウィジェットクラス: {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} render () メソッドを定義する必要があります。" + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "メモ" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." -msgstr "任意のカスタムコンテンツを表示します。Markdown はサポートされています。" +msgstr "任意のカスタムコンテンツを表示します。Markdown がサポートされています。" -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "オブジェクト数" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "NetBox モデルのセットと、各タイプで作成されたオブジェクトの数を表示します。" -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "オブジェクトの数をカウントするときに適用するフィルター" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "形式が無効です。オブジェクトフィルターはディクショナリとして渡さなければなりません。" + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "オブジェクトリスト" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "任意のオブジェクトリストを表示します。" -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" -msgstr "表示するデフォルトのオブジェクト数" +msgstr "デフォルトで表示するオブジェクト数" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "形式が無効です。URL パラメータはディクショナリとして渡さなければなりません。" + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "RSS フィード" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "外部 Web サイトの RSS フィードを埋め込みます。" -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "フィード URL" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "表示するオブジェクトの最大数" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" -msgstr "キャッシュされたコンテンツを保存する時間 (秒単位)" +msgstr "キャッシュされたコンテンツを保存する時間 (秒)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "ブックマーク" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" -msgstr "個人用のブックマークを表示" +msgstr "個人用のブックマークを表示する" + +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "イベントルールのアクションタイプが不明です: {action_type}" + +#: extras/events.py:181 +#, 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 msgid "Data file (ID)" @@ -5915,21 +6086,21 @@ msgstr "データファイル (ID)" #: extras/filtersets.py:479 virtualization/forms/filtersets.py:114 msgid "Cluster type" -msgstr "クラスタータイプ" +msgstr "クラスタタイプ" #: extras/filtersets.py:485 virtualization/filtersets.py:95 #: virtualization/filtersets.py:147 msgid "Cluster type (slug)" -msgstr "クラスタータイプ (slug)" +msgstr "クラスタタイプ (slug)" #: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 #: ipam/forms/model_forms.py:585 virtualization/forms/filtersets.py:108 msgid "Cluster group" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: extras/filtersets.py:496 virtualization/filtersets.py:136 msgid "Cluster group (slug)" -msgstr "クラスターグループ (slug)" +msgstr "クラスタグループ (slug)" #: extras/filtersets.py:506 tenancy/forms/forms.py:16 #: tenancy/forms/forms.py:39 @@ -5951,7 +6122,7 @@ msgstr "タグ (slug)" #: extras/filtersets.py:594 extras/forms/filtersets.py:438 msgid "Has local config context data" -msgstr "ローカル設定コンテキストデータがある" +msgstr "ローカル設定コンテキストがある" #: extras/filtersets.py:619 msgid "User name" @@ -5970,16 +6141,16 @@ msgstr "必須" #: extras/forms/bulk_edit.py:53 extras/forms/bulk_import.py:57 #: extras/forms/filtersets.py:78 extras/models/customfields.py:193 msgid "UI visible" -msgstr "UI が表示される" +msgstr "UI で表示される" #: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63 #: extras/forms/filtersets.py:83 extras/models/customfields.py:200 msgid "UI editable" -msgstr "UI は編集可能" +msgstr "UI で編集可能" #: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:86 msgid "Is cloneable" -msgstr "クローン可能" +msgstr "複製可能" #: extras/forms/bulk_edit.py:102 extras/forms/filtersets.py:126 msgid "New window" @@ -5992,7 +6163,7 @@ msgstr "ボタンクラス" #: extras/forms/bulk_edit.py:128 extras/forms/filtersets.py:164 #: extras/models/models.py:439 msgid "MIME type" -msgstr "マイムタイプ" +msgstr "MIMEタイプ" #: extras/forms/bulk_edit.py:133 extras/forms/filtersets.py:167 msgid "File extension" @@ -6051,7 +6222,7 @@ msgstr "ジョブ終了時" #: extras/forms/bulk_edit.py:282 msgid "Is active" -msgstr "アクティブです" +msgstr "有効" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 #: extras/forms/bulk_import.py:130 extras/forms/bulk_import.py:153 @@ -6067,7 +6238,7 @@ msgstr "コンテンツタイプ" #: extras/forms/bulk_import.py:132 extras/forms/bulk_import.py:155 #: extras/forms/bulk_import.py:179 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" -msgstr "1 つまたは複数の割当オブジェクトタイプ" +msgstr "1 つ以上の割当オブジェクトタイプ" #: extras/forms/bulk_import.py:41 msgid "Field data type (e.g. text, integer, etc.)" @@ -6085,23 +6256,23 @@ msgstr "オブジェクトタイプ (オブジェクトフィールドまたは #: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:73 msgid "Choice set" -msgstr "チョイスセット" +msgstr "選択肢" #: extras/forms/bulk_import.py:54 msgid "Choice set (for selection fields)" -msgstr "選択肢セット (選択フィールド用)" +msgstr "選択肢 (選択フィールド用)" #: extras/forms/bulk_import.py:60 msgid "Whether the custom field is displayed in the UI" -msgstr "カスタムフィールドが UI に表示されるかどうか" +msgstr "カスタムフィールドが UI上に表示されるかどうか" #: extras/forms/bulk_import.py:66 msgid "Whether the custom field is editable in the UI" -msgstr "カスタムフィールドが UI で編集可能かどうか" +msgstr "カスタムフィールドが UI上で編集可能かどうか" #: extras/forms/bulk_import.py:82 msgid "The base set of predefined choices to use (if any)" -msgstr "使用する定義済みの選択肢の基本セット (存在する場合)" +msgstr "定義済みの選択肢の基本セット (存在する場合)" #: extras/forms/bulk_import.py:88 msgid "" @@ -6117,6 +6288,16 @@ msgstr "アクションオブジェクト" msgid "Webhook name or script as dotted path module.Class" msgstr "ドットパス形式のウェブフック名またはスクリプト module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "ウェブフック {name} 見つかりません" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "スクリプト {name} 見つかりません" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "割当オブジェクトタイプ" @@ -6216,11 +6397,11 @@ msgstr "ロール" #: extras/forms/filtersets.py:384 extras/forms/model_forms.py:428 msgid "Cluster types" -msgstr "クラスタータイプ" +msgstr "クラスタタイプ" #: extras/forms/filtersets.py:390 extras/forms/model_forms.py:433 msgid "Cluster groups" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: extras/forms/filtersets.py:395 extras/forms/model_forms.py:438 #: netbox/navigation/menu.py:243 netbox/navigation/menu.py:245 @@ -6302,12 +6483,14 @@ msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" +"リンクテキストの Jinja2 テンプレートコード。オブジェクトを次のように参照します。 " +"{example}。空のテキストとしてレンダリングされるリンクは表示されません。" #: extras/forms/model_forms.py:149 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." -msgstr "" +msgstr "リンク URL の Jinja2 テンプレートコード。オブジェクトを次のように参照します。 {example}。" #: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 msgid "Template code" @@ -6329,7 +6512,7 @@ msgstr "テンプレートコンテンツは、以下で選択したリモート msgid "Must specify either local content or a data file" msgstr "ローカルコンテンツまたはデータファイルのいずれかを指定する必要があります" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "保存済みフィルター" @@ -6449,6 +6632,10 @@ msgstr "設定した時間にスクリプトの実行をスケジュールする msgid "Interval at which this script is re-run (in minutes)" msgstr "このスクリプトが再実行される間隔 (分単位)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "インデクサーが見つかりません!" + #: extras/models/change_logging.py:24 msgid "time" msgstr "時間" @@ -7233,7 +7420,19 @@ msgstr "タグ付きアイテム" msgid "tagged items" msgstr "タグ付きアイテム" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "スクリプトは run () メソッドを定義する必要があります。" + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "スクリプトデータ" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "スクリプト実行パラメーター" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "削除は保護ルールによって禁止されています。 {message}" @@ -7335,25 +7534,25 @@ msgstr "リクエスト ID" msgid "Comments (Short)" msgstr "コメント (ショート)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "この値が次の値と等しいことを確認してください %(limit_value)s。" -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "この値が等しくないことを確認してください %(limit_value)s。" -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "このフィールドは空でなければなりません。" -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "このフィールドは空であってはなりません。" -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "属性が無効です」{name}「用 {model}" @@ -7380,6 +7579,11 @@ msgstr "有効な IPv4 または IPv6 プレフィックスとマスクを CIDR msgid "Invalid IP prefix format: {data}" msgstr "IP プレフィックス形式が無効です: {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "要求されたプレフィックスサイズを収容するにはスペースが足りません" + #: ipam/choices.py:30 msgid "Container" msgstr "コンテナ" @@ -7420,6 +7624,11 @@ msgstr "シスコ" msgid "Plaintext" msgstr "プレーンテキスト" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "IP アドレス形式が無効です: {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "インポート対象" @@ -7559,10 +7768,39 @@ msgstr "プライマリ IPv4 (ID)" msgid "Primary IPv6 (ID)" msgstr "プライマリ IPv6 (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "有効な IPv4 または IPv6 アドレス (マスクなし) を入力します。" + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "IPv4/IPv6 アドレスの形式が無効です: {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "このフィールドには、マスクなしの IP アドレスが必要です。" + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "有効な IPv4 または IPv6 アドレスを指定してください。" + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "有効な IPv4 または IPv6 アドレス (CIDR マスク付き) を入力します。" + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "CIDR マスク (例:/24) が必要です。" + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "アドレスパターン" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "IPアドレスの重複を禁止する" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "非公開です" @@ -7598,7 +7836,7 @@ msgstr "プールです" #: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" -msgstr "" +msgstr "すべて使用済として扱う" #: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 msgid "DNS name" @@ -7691,7 +7929,7 @@ msgstr "VLAN のグループ (存在する場合)" #: 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:427 +#: 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 msgid "VLAN" @@ -7712,7 +7950,7 @@ msgstr "割当インタフェースの親デバイス (存在する場合)" #: virtualization/forms/model_forms.py:291 vpn/forms/bulk_import.py:93 #: vpn/forms/bulk_import.py:290 msgid "Virtual machine" -msgstr "[仮想マシン]" +msgstr "仮想マシン" #: ipam/forms/bulk_import.py:314 msgid "Parent VM of assigned interface (if any)" @@ -7778,17 +8016,17 @@ msgid "{ip} is not assigned to this device/VM." msgstr "{ip} このデバイス/VM には割り当てられていません。" #: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 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:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 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:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "エクスポートターゲット" @@ -7880,9 +8118,9 @@ msgstr "ポート" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" -msgstr "[仮想マシン]" +msgstr "仮想マシン" #: ipam/forms/model_forms.py:113 ipam/tables/ip.py:116 #: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:39 @@ -7964,6 +8202,11 @@ msgstr "サービステンプレート" msgid "Service template" msgstr "サービステンプレート" +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "サービステンプレートを使用しない場合は、名前、プロトコル、およびポートを指定する必要があります。" + #: ipam/models/asns.py:34 msgid "start" msgstr "開始" @@ -8463,6 +8706,27 @@ msgstr "インポートターゲット" msgid "Export Targets" msgstr "エクスポートターゲット" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "{prefix} は有効なプレフィックスではありません。もしかして? {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "プレフィックスの長さは以下でなければなりません %(limit_value)s。" + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "プレフィックス長は以下以上でなければなりません %(limit_value)s。" + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "DNS 名に使用できるのは、英数字、アスタリスク、ハイフン、ピリオド、およびアンダースコアのみです。" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "子プレフィックス" @@ -8475,14 +8739,70 @@ msgstr "子レンジ" msgid "Related IPs" msgstr "関連IPアドレス" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "デバイスインタフェース" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "VM インタフェース" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "このフィールドは空白であってはなりません。" + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "値は直接渡す必要があります (例:「foo」: 123)。辞書やリストは使用しないでください。" + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} は有効な選択肢ではありません。" + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "コンテンツタイプが無効です: {content_type}" + +#: netbox/api/fields.py:100 +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 "関連オブジェクトは、数値 ID または属性の辞書で参照する必要があります。認識できない値を受け取りました: {value}" + +#: netbox/api/serializers/nested.py:59 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "指定された数値 ID を使用しても関連オブジェクトが見つかりません: {id}" + +#: netbox/authentication.py:137 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "権限が無効です {permission} モデル用 {model}" + +#: 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 msgid "Login banner" msgstr "ログインバナー" @@ -8687,30 +9007,55 @@ msgstr "タグを追加" msgid "Remove tags" msgstr "タグを削除する" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} モデルクラスを指定する必要があります。" + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "不明なフィールド名 '{name}'はカスタムフィールドデータにあります。" + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "カスタムフィールド 'の値が無効です{name}': {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "必須カスタムフィールド 'が見つかりません{name}'。" + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "リモートデータソース" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "データパス" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "リモートファイルへのパス (データソースルートからの相対パス)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "自動同期が有効" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "データファイルの更新時にデータの自動同期を有効にする" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "日付が同期されました" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} sync_data () メソッドを実装する必要があります。" + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "組織" @@ -8725,7 +9070,7 @@ msgstr "ラックロール" #: netbox/navigation/menu.py:32 msgid "Elevations" -msgstr "標高" +msgstr "ラック図" #: netbox/navigation/menu.py:41 msgid "Tenant Groups" @@ -8841,7 +9186,7 @@ msgid "L2VPNs" msgstr "L2 VPN" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "ターミネーション" @@ -8885,11 +9230,11 @@ msgstr "仮想ディスク" #: netbox/navigation/menu.py:246 msgid "Cluster Types" -msgstr "クラスタータイプ" +msgstr "クラスタタイプ" #: netbox/navigation/menu.py:247 msgid "Cluster Groups" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: netbox/navigation/menu.py:261 msgid "Circuit Types" @@ -9046,6 +9391,60 @@ msgstr "設定リビジョン" msgid "Plugins" msgstr "プラグイン" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "権限はタプルまたはリストとして渡す必要があります。" + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "ボタンはタプルまたはリストとして渡す必要があります。" + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "ボタンの色はButtonColorChoices内で選択する必要があります。" + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "プラグインテンプレート拡張クラス {template_extension} インスタンスとして渡されました!" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} Netbox.plugins.Plugins.PluginTemplate Extension " +"のサブクラスではありません!" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "プラグインテンプレート拡張クラス {template_extension} 有効なモデルが定義されていません!" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} netbox.Plugins.PluginMenuItem のインスタンスでなければなりません" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} netbox.Plugins.PluginMenuItem のインスタンスでなければなりません" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "{button} Netbox.Plugins.Plugin.MenuButton のインスタンスでなければなりません" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "エクストラコンテキストはディクショナリでなければなりません" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "カラーモード" @@ -9094,31 +9493,44 @@ msgstr "ページネーターコントロールがテーブルを基準にして msgid "Data format" msgstr "データ形式" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "ストアが無効です: {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "初期化後にストアをレジストリに追加できない" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "レジストリからストアを削除できません" + +#: netbox/settings.py:724 msgid "English" msgstr "英語" -#: netbox/settings.py:727 +#: netbox/settings.py:725 msgid "Spanish" msgstr "スペイン語" -#: netbox/settings.py:728 +#: netbox/settings.py:726 msgid "French" msgstr "フランス語" -#: netbox/settings.py:729 +#: netbox/settings.py:727 msgid "Japanese" msgstr "日本語" -#: netbox/settings.py:730 +#: netbox/settings.py:728 msgid "Portuguese" msgstr "ポルトガル語" -#: netbox/settings.py:731 +#: netbox/settings.py:729 msgid "Russian" msgstr "ロシア語" -#: netbox/settings.py:732 +#: netbox/settings.py:730 msgid "Turkish" msgstr "トルコ語" @@ -9150,6 +9562,11 @@ msgstr "結果が見つかりません" msgid "Dummy Plugin" msgstr "ダミープラグイン" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "行 {i}: ID を持つオブジェクト {id} 存在しない" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "変更ログ" @@ -9158,6 +9575,17 @@ msgstr "変更ログ" msgid "Journal" msgstr "ジャーナル" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} get_children () を実装する必要があります" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "ダッシュボードの設定をロード中にエラーが発生しました。既定のダッシュボードが使用中です。" + #: templates/403.html:4 msgid "Access Denied" msgstr "アクセス拒否" @@ -9196,7 +9624,7 @@ msgstr "ネットボックスバージョン" #: templates/500.html:36 msgid "None installed" -msgstr "インストールなし" +msgstr "取付なし" #: templates/500.html:39 msgid "If further assistance is required, please post to the" @@ -9216,7 +9644,7 @@ 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "プロフィール" @@ -9244,7 +9672,7 @@ msgstr "パスワードを変更" #: templates/htmx/delete_form.html:55 templates/ipam/ipaddress_assign.html:31 #: templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" -msgstr "[キャンセル]" +msgstr "キャンセル" #: templates/account/password.html:18 templates/account/preferences.html:83 #: templates/dcim/devicebay_populate.html:35 @@ -9305,20 +9733,24 @@ msgstr "電子メール" msgid "Account Created" msgstr "アカウントが作成されました" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "最終ログイン" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "スーパーユーザ" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "管理者アクセス" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "割当グループ" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9334,12 +9766,12 @@ msgstr "割当グループ" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "[なし]" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "最近のアクティビティ" @@ -9376,7 +9808,7 @@ msgstr "バックグラウンドタスク" #: templates/admin/index.html:19 msgid "Installed plugins" -msgstr "インストール済みプラグイン" +msgstr "取付済みプラグイン" #: templates/base/base.html:28 templates/extras/admin/plugins_list.html:8 #: templates/home.html:24 @@ -9408,7 +9840,7 @@ msgstr "ドキュメント" #: templates/base/layout.html:139 templates/rest_framework/api.html:10 msgid "REST API" -msgstr "レスト API" +msgstr "REST API" #: templates/base/layout.html:144 msgid "REST API documentation" @@ -9420,7 +9852,7 @@ msgstr "GraphQL API" #: templates/base/layout.html:156 msgid "Source Code" -msgstr "[ソースコード]" +msgstr "ソースコード" #: templates/base/layout.html:161 msgid "Community" @@ -9471,7 +9903,7 @@ msgid "Add Circuit" msgstr "回線を追加" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9483,7 +9915,6 @@ msgstr "追加" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -9629,7 +10060,7 @@ msgstr "仕事の維持" #: templates/core/configrevision.html:221 msgid "Comment" -msgstr "[コメント]" +msgstr "コメント" #: templates/core/configrevision_restore.html:8 #: templates/core/configrevision_restore.html:43 @@ -9883,7 +10314,7 @@ msgstr "サービスを追加" #: templates/dcim/device.html:319 templates/dcim/rack.html:77 #: templates/dcim/rack_edit.html:38 msgid "Dimensions" -msgstr "ディメンション" +msgstr "寸法" #: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 #: templates/dcim/devicetype/base.html:18 templates/dcim/module.html:18 @@ -9994,7 +10425,6 @@ msgid "Local Config Context Data" msgstr "ローカル設定コンテキストデータ" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -10008,7 +10438,7 @@ msgstr "デバイスベイ" #: templates/dcim/devicebay.html:48 msgid "Installed Device" -msgstr "インストール済みデバイス" +msgstr "取付済みデバイス" #: templates/dcim/devicebay_delete.html:6 #, python-format @@ -10104,7 +10534,7 @@ msgstr "マーク・プランド" #: templates/dcim/inc/cable_toggle_buttons.html:8 msgid "Mark Installed" -msgstr "インストール済みとマークする" +msgstr "取付済みとマークする" #: templates/dcim/inc/connection_endpoints.html:13 msgid "Path Status" @@ -10374,7 +10804,7 @@ msgstr "ラックが見つかりません" #: templates/dcim/rack_list.html:8 msgid "View Elevations" -msgstr "標高を表示" +msgstr "ラック図を表示" #: templates/dcim/rackreservation.html:47 msgid "Reservation Details" @@ -10507,9 +10937,9 @@ msgid "" "pip freeze from the console and compare the output to the list " "of required packages." msgstr "" -"この NetBox のインストールには、必要な Python パッケージが 1 " -"つ以上欠けている可能性があります。これらのパッケージは、に一覧表示されています。 requirements.txt そして " -"local_requirements.txt、通常はインストールまたはアップグレードプロセスの一部としてインストールされます。インストールされたパッケージを確認するには、以下を実行します。" +"この NetBox の取付には、必要な Python パッケージが 1 つ以上欠けている可能性があります。これらのパッケージは、に一覧表示されています。" +" requirements.txt そして " +"local_requirements.txt、通常は取付またはアップグレードプロセスの一部として取付されます。取付されたパッケージを確認するには、以下を実行します。" " ピップフリーズ コンソールから、出力を必要なパッケージのリストと比較します。" #: templates/exceptions/import_error.html:20 @@ -10582,7 +11012,7 @@ msgstr "" #: templates/extras/admin/plugins_list.html:9 #: templates/extras/admin/plugins_list.html:13 msgid "Installed Plugins" -msgstr "インストール済みプラグイン" +msgstr "取付済みプラグイン" #: templates/extras/admin/plugins_list.html:23 msgid "Package Name" @@ -11403,7 +11833,7 @@ msgstr "IP アドレスを選択" #: templates/ipam/ipaddress_assign.html:39 msgid "Search Results" -msgstr "[検索結果]" +msgstr "検索結果" #: templates/ipam/ipaddress_bulk_add.html:6 msgid "Bulk Add IP Addresses" @@ -11415,7 +11845,7 @@ msgstr "インタフェース割り当て" #: templates/ipam/ipaddress_edit.html:74 msgid "NAT IP (Inside" -msgstr "NAT IP (インサイド)" +msgstr "NAT IP (インサイド" #: templates/ipam/iprange.html:20 msgid "Starting Address" @@ -11479,7 +11909,7 @@ msgstr "最大深度" #: templates/ipam/prefix_list.html:28 msgid "Max Length" -msgstr "[最大長]" +msgstr "最大長" #: templates/ipam/rir.html:10 msgid "Add Aggregate" @@ -11663,7 +12093,7 @@ msgstr "テナントグループ" msgid "Add Tenant Group" msgstr "テナントグループの追加" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "割当権限" @@ -11675,7 +12105,7 @@ msgstr "許可" #: templates/users/objectpermission.html:33 users/forms/filtersets.py:68 #: users/forms/model_forms.py:322 msgid "Actions" -msgstr "[アクション]" +msgstr "アクション" #: templates/users/objectpermission.html:37 msgid "View" @@ -11689,7 +12119,7 @@ msgstr "制約" msgid "Assigned Users" msgstr "割当ユーザ" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "スタッフ" @@ -11747,18 +12177,18 @@ msgstr "デバイスを追加" #: templates/virtualization/clustergroup.html:10 #: templates/virtualization/clustertype.html:10 msgid "Add Cluster" -msgstr "[クラスタを追加]" +msgstr "クラスタを追加" #: templates/virtualization/clustergroup.html:20 #: virtualization/forms/model_forms.py:51 msgid "Cluster Group" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: templates/virtualization/clustertype.html:20 #: templates/virtualization/virtualmachine.html:111 #: virtualization/forms/model_forms.py:35 msgid "Cluster Type" -msgstr "クラスタータイプ" +msgstr "クラスタタイプ" #: templates/virtualization/virtualdisk.html:18 msgid "Virtual Disk" @@ -11794,7 +12224,7 @@ 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "提案" @@ -11881,7 +12311,7 @@ msgstr "カプセル化" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "IPsec プロファイル" @@ -11905,7 +12335,7 @@ 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "外部IP" @@ -11998,7 +12428,7 @@ msgstr "テナントグループ (slug)" #: tenancy/forms/bulk_edit.py:65 msgid "Desciption" -msgstr "[説明]" +msgstr "説明" #: tenancy/forms/bulk_import.py:101 msgid "Assigned contact" @@ -12212,7 +12642,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "少なくとも 1 つのアクションを選択する必要があります。" -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "このオブジェクトタイプでは制約はサポートされていません。" + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "のフィルタが無効です {model}: {error}" @@ -12281,7 +12715,7 @@ msgid "" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" msgstr "" "トークンを使用できる許可された IPv4/IPv6 " -"ネットワーク。制限がない場合は空白のままにしてください。例:「10.1.1.0/24、192.168.10.16/32、2001: DB 8:1:: " +"ネットワーク。制限がない場合は空白のままにしてください。例:10.1.1.0/24、192.168.10.16/32、2001: DB 8:1:: " "/64\"" #: users/models.py:291 @@ -12392,7 +12826,7 @@ msgstr "アップロード" #: utilities/choices.py:230 utilities/choices.py:244 msgid "Auto-detect" -msgstr "[自動検出]" +msgstr "自動検出" #: utilities/choices.py:245 msgid "Comma" @@ -12417,6 +12851,10 @@ msgstr "削除できません {objects}。 {count} 依存オブ msgid "More than 50" msgstr "50 個以上" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "カスタムクエリセットはこの検索には使用できません。" + #: utilities/fields.py:162 #, python-format msgid "" @@ -12446,6 +12884,15 @@ msgstr "CSV デリミター" msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "CSV フィールドを区切る文字。CSV 形式にのみ適用されます。" +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "ファイルをアップロード/選択するときは、フォームデータを空にする必要があります。" + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "不明なデータ形式: {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "データ形式を検出できません。指定してください。" @@ -12522,11 +12969,11 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "URL に対応したユニークな省略記法" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "にコンテキストデータを入力してください JSON フォーマット。" -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "MAC アドレスは EUI-48 形式である必要があります" @@ -12553,6 +13000,79 @@ msgid "" "the object's change log for details." msgstr "このオブジェクトは、フォームがレンダリングされてから変更されました。詳細については、オブジェクトの変更ログを参照してください。" +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "レンジ」{value}「は無効です。" + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "「」の列ヘッダーが重複しているか、重複しています{field}」" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "「」の列ヘッダーが重複しているか、重複しています{header}」" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "行 {row}: 期待 {count_expected} 列が見つかりましたが {count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "予期しない列ヘッダー」{field}「が見つかりました。" + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "コラム」{field}\"は関連オブジェクトではありません。ドットは使用できません" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "列 \"の関連オブジェクト属性が無効です{field}「: {to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "必須の列ヘッダー」{header}「が見つかりません。" + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "動的クエリパラメータに必要な値が見つかりません:'{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "静的クエリパラメータに必要な値が見つかりません:'{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "権限名が無効です: {name}。次の形式である必要があります _" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "のアプリケーションラベル/モデル名が不明です {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "に設定された IP アドレスが無効です {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "という名前の列 {name} テーブルには既に定義されています {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "未定義" @@ -12571,7 +13091,7 @@ msgstr "クローン" #: utilities/templates/buttons/export.html:4 msgid "Export" -msgstr "[エクスポート]" +msgstr "エクスポート" #: utilities/templates/buttons/export.html:7 msgid "Current View" @@ -12633,6 +13153,67 @@ msgstr "書き込み" msgid "Testing" msgstr "テスト" +#: utilities/testing/views.py:625 +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}。「km」、「m」、「cm」、「mi」、「ft」、または「in」でなければなりません。" + +#: 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}。「kg」、「g」、「ポンド」、「オンス」でなければなりません。" + +#: utilities/validators.py:65 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "{value} は有効な正規表現ではありません。" + +#: utilities/views.py:38 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "{self.__class__.__name__} get_required_permission () を実装する必要があります" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} get_required_permission () を実装する必要があります" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} クエリセットが定義されていません。ObjectPermissionRequiredMixin " +"は、基本クエリセットを定義するビューでのみ使用できます。" + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "親グループ (ID)" @@ -12643,11 +13224,11 @@ msgstr "親グループ (slug)" #: virtualization/filtersets.py:89 virtualization/filtersets.py:141 msgid "Cluster type (ID)" -msgstr "クラスタータイプ (ID)" +msgstr "クラスタタイプ (ID)" #: virtualization/filtersets.py:130 msgid "Cluster group (ID)" -msgstr "クラスターグループ (ID)" +msgstr "クラスタグループ (ID)" #: virtualization/filtersets.py:151 virtualization/filtersets.py:267 msgid "Cluster (ID)" @@ -12673,11 +13254,11 @@ msgstr "サイズ (GB)" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" -msgstr "クラスターのタイプ" +msgstr "クラスタのタイプ" #: virtualization/forms/bulk_import.py:51 msgid "Assigned cluster group" -msgstr "割当クラスターグループ" +msgstr "割当クラスタグループ" #: virtualization/forms/bulk_import.py:96 msgid "Assigned cluster" @@ -12720,11 +13301,11 @@ msgstr "クラスタタイプ" #: virtualization/models/clusters.py:45 msgid "cluster group" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: virtualization/models/clusters.py:46 msgid "cluster groups" -msgstr "クラスターグループ" +msgstr "クラスタグループ" #: virtualization/models/clusters.py:121 msgid "cluster" @@ -12732,7 +13313,7 @@ msgstr "集まる" #: virtualization/models/clusters.py:122 msgid "clusters" -msgstr "クラスター" +msgstr "クラスタ" #: virtualization/models/clusters.py:141 #, python-brace-format @@ -12751,7 +13332,7 @@ msgstr "ディスク (GB)" #: virtualization/models/virtualmachines.py:159 msgid "Virtual machine name must be unique per cluster." -msgstr "仮想マシン名はクラスターごとに一意である必要があります。" +msgstr "仮想マシン名はクラスタごとに一意である必要があります。" #: virtualization/models/virtualmachines.py:162 msgid "virtual machine" @@ -12773,13 +13354,13 @@ msgstr "選択したクラスタ ({cluster}) はこのサイトに割り当て #: virtualization/models/virtualmachines.py:191 msgid "Must specify a cluster when assigning a host device." -msgstr "ホストデバイスを割り当てるときは、クラスターを指定する必要があります。" +msgstr "ホストデバイスを割り当てるときは、クラスタを指定する必要があります。" #: virtualization/models/virtualmachines.py:196 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." -msgstr "選択したデバイス ({device}) はこのクラスターに割り当てられていません ({cluster})。" +msgstr "選択したデバイス ({device}) はこのクラスタに割り当てられていません ({cluster})。" #: virtualization/models/virtualmachines.py:208 #, python-brace-format @@ -12979,13 +13560,13 @@ 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:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: 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:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "IPsec ポリシー" @@ -13059,7 +13640,7 @@ msgid "IKE version" msgstr "IKE バージョン" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "提案" @@ -13079,15 +13660,15 @@ msgstr "2 回目の終了" msgid "This parameter is required when defining a termination." msgstr "このパラメータは、終端を定義する場合に必要です。" -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "ポリシー" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "終端にはインタフェースまたは VLAN を指定する必要があります。" -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "終端には、1 つの終端オブジェクト(インタフェースまたは VLAN)しか設定できません。" @@ -13274,7 +13855,7 @@ msgstr "オブジェクト親" msgid "Object Site" msgstr "オブジェクトサイト" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "ホスト" @@ -13288,7 +13869,7 @@ msgstr "ステーション" #: wireless/choices.py:467 msgid "Open" -msgstr "[開く]" +msgstr "開く" #: wireless/choices.py:469 msgid "WPA Personal (PSK)" @@ -13357,3 +13938,13 @@ msgstr "無線リンク" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} 無線インタフェースではありません。" + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "チャンネル値が無効です: {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "チャンネル属性が無効です: {name}" diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index 37ca47826664f8c55eeb2380dc7a816b5f33420b..04bb568977f28a30425777b14a7f8ccb5b9fc289 100644 GIT binary patch delta 76241 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 DJ71ZN delta 59452 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, YEAR. # # Translators: -# Jeremy Stretch, 2023 # Renato Almeida de Oliveira, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Renato Almeida de Oliveira, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,7 +61,7 @@ msgstr "IPs permitidos" #: account/views.py:197 msgid "Your preferences have been updated." -msgstr "" +msgstr "Suas preferências foram atualizadas." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 #: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1419 @@ -78,7 +78,7 @@ msgstr "Provisionamento" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -98,37 +98,37 @@ msgstr "Desprovisionamento" msgid "Decommissioned" msgstr "Desativado" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "Região (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "Região (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "Grupo de sites (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -139,9 +139,9 @@ msgstr "Grupo de sites (slug)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -149,7 +149,7 @@ msgstr "Grupo de sites (slug)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -171,8 +171,8 @@ msgstr "Grupo de sites (slug)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -187,8 +187,8 @@ msgid "Site" msgstr "Site" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -226,9 +226,9 @@ msgid "Circuit type (slug)" msgstr "Tipo de circuito (slug)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -236,7 +236,7 @@ msgid "Site (ID)" msgstr "Site (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -360,13 +360,14 @@ msgstr "ASNs" #: 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: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 +#: 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 msgid "Description" msgstr "Descrição" @@ -396,8 +397,8 @@ msgstr "ID do serviço" #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -416,11 +417,11 @@ msgstr "Cor" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -428,7 +429,7 @@ msgstr "Cor" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -465,34 +466,34 @@ msgstr "Conta do provedor" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -504,7 +505,7 @@ msgstr "Conta do provedor" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -518,9 +519,9 @@ msgstr "Status" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -589,8 +590,8 @@ msgstr "Parâmetros de serviço" #: 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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -600,7 +601,7 @@ msgstr "Parâmetros de serviço" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "Locação" @@ -610,9 +611,9 @@ msgstr "Locação" msgid "Assigned provider" msgstr "Provedor atribuído" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "Cor RGB em hexadecimal. Exemplo:" @@ -625,9 +626,9 @@ msgid "Type of circuit" msgstr "Tipo de circuito" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -635,9 +636,9 @@ msgid "Operational status" msgstr "Status operacional" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -656,9 +657,9 @@ msgstr "Rede de provedores" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -671,8 +672,8 @@ msgstr "Rede de provedores" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -821,7 +822,7 @@ msgstr "ID do circuito" msgid "Unique circuit ID" msgstr "ID de circuito exclusivo" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -915,8 +916,22 @@ msgstr "terminação do circuito" msgid "circuit terminations" msgstr "terminações de circuito" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "" +"Uma terminação de circuito deve ser conectada a um site ou a uma rede de " +"provedor." + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "" +"Uma terminação de circuito não pode ser conectada a um site e a uma rede de " +"provedor." + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -990,13 +1005,13 @@ msgstr "redes de provedores" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1099,7 +1114,7 @@ msgstr "Taxa de comprometimento" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1113,7 +1128,7 @@ msgstr "Taxa de comprometimento" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "Comentários" @@ -1205,6 +1220,11 @@ msgstr "Senha" msgid "Branch" msgstr "Filial" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "Falha na obtenção de dados remotos ({name}): {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "ID da chave de acesso da AWS" @@ -1222,16 +1242,31 @@ msgstr "Fonte de dados (ID)" msgid "Data source (name)" msgstr "Fonte de dados (nome)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "Imponha um espaço exclusivo" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +msgid "Enabled" +msgstr "Habilitado" #: 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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "Parâmetros" @@ -1252,25 +1287,6 @@ msgstr "Ignorar regras" msgid "Data Source" msgstr "Fonte de dados" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "Habilitado" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "Arquivo" @@ -1351,6 +1367,18 @@ msgstr "Parâmetros de back-end" msgid "File Upload" msgstr "Upload de arquivo" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "" +"Não é possível carregar um arquivo e sincronizar a partir de um arquivo " +"existente" + +#: core/forms/model_forms.py:108 +msgid "Must upload a file or select a data file to sync" +msgstr "" +"É necessário carregar um arquivo ou selecionar um arquivo de dados para " +"sincronizar" + #: core/forms/model_forms.py:147 templates/core/configrevision.html:43 #: templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" @@ -1415,7 +1443,7 @@ msgstr "Valor atual: {value}" msgid " (default)" msgstr " (padrão)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1450,7 +1478,7 @@ msgstr "Configuração atual" msgid "Config revision #{id}" msgstr "Revisão de configuração #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1468,90 +1496,104 @@ msgstr "Revisão de configuração #{id}" msgid "type" msgstr "tipo" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "permitido" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "ignorar regras" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" "Padrões (um por linha) de arquivos correspondentes a serem ignorados ao " "sincronizar" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "parâmetros" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "sincronizado pela última vez" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "fonte de dados" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "fontes de dados" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "Tipo de back-end desconhecido: {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "" +"Não é possível iniciar a sincronização; a sincronização já está em " +"andamento." + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" +"Houve um erro ao inicializar o back-end. Uma dependência precisa ser " +"instalada: " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "última atualização" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "caminho" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "Caminho do arquivo relativo à raiz da fonte de dados" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "tamanho" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "jogo da velha" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "O comprimento deve ser de 64 caracteres hexadecimais." -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "Hash SHA256 dos dados do arquivo" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "arquivo de dados" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "arquivos de dados" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "registro de sincronização automática" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "registros de sincronização automática" @@ -1621,6 +1663,11 @@ msgstr "empregos" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Os trabalhos não podem ser atribuídos a esse tipo de objeto ({type})." +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "Status inválido para rescisão do trabalho. As opções são: {choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "Está ativo" @@ -1664,7 +1711,7 @@ msgstr "Iniciado" msgid "Facility ID" msgstr "ID da instalação" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "Posição (U)" @@ -1740,13 +1787,13 @@ msgstr "Polegadas" #: 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1855,8 +1902,8 @@ msgid "Virtual" msgstr "Virtual" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Sem fio" @@ -1866,8 +1913,8 @@ msgid "Virtual interfaces" msgstr "Interfaces virtuais" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -2024,200 +2071,210 @@ msgstr "Fase única" msgid "Three-phase" msgstr "Trifásico" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "Formato de endereço MAC inválido: {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "Formato WWN inválido: {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "Região principal (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "Região parental (lesma)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "Grupo de sites principais (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "Grupo de sites principais (slug)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "Grupo (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "Grupo (slug)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "COMO (ID)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "Localização (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "Localização (slug)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "Função (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Papel (slug)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "Prateleira (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "Usuário (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "Usuário (nome)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "Fabricante (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "Fabricante (slug)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "Plataforma padrão (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "Plataforma padrão (slug)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Tem uma imagem frontal" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Tem uma imagem traseira" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "Tem portas de console" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "Tem portas de servidor de console" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "Tem portas de alimentação" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "Tem tomadas elétricas" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "Tem interfaces" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "Tem portas de passagem" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Tem compartimentos de módulos" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Tem compartimentos para dispositivos" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Tem itens de inventário" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "Tipo de dispositivo (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "Tipo de módulo (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "Item do inventário principal (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Modelo de configuração (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "Tipo de dispositivo (slug)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "Dispositivo principal (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Plataforma (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Plataforma (slug)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "Nome do site (slug)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "Cluster de VMs (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "Modelo do dispositivo (slug)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "É de profundidade total" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2225,68 +2282,68 @@ msgstr "É de profundidade total" msgid "MAC address" msgstr "Endereço MAC" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "Tem um IP primário" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "Tem um IP fora de banda" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "Chassi virtual (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "É membro do chassi virtual" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "COTOB IP (ID)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "Tipo de módulo (modelo)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "Compartimento do módulo (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "Dispositivo (ID)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "Rack (nome)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "Dispositivo (nome)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "Tipo de dispositivo (modelo)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "Função do dispositivo (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "Função do dispositivo (slug)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "Chassi virtual (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2295,23 +2352,23 @@ msgstr "Chassi virtual (ID)" msgid "Virtual Chassis" msgstr "Chassi virtual" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "Módulo (ID)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN atribuída" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "VID atribuído" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: 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 @@ -2337,77 +2394,77 @@ msgstr "VID atribuído" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (VERMELHO)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de chassi virtual para dispositivo" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de chassi virtual para dispositivo (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "Tipo de interface" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interface principal (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interface interligada (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "Mestre (ID)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "Mestre (nome)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "Inquilino (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "Inquilino (lesma)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "Não terminado" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 msgid "Power panel (ID)" msgstr "Painel de alimentação (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:79 +#: 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 @@ -2416,9 +2473,9 @@ msgid "Tags" msgstr "Etiquetas" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2458,9 +2515,9 @@ msgstr "" #: 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 -#: 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 +#: 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 msgid "Group" msgstr "Grupo" @@ -2482,13 +2539,13 @@ msgid "Time zone" msgstr "Fuso horário" #: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2518,7 +2575,7 @@ msgstr "Fuso horário" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Função" @@ -2535,7 +2592,7 @@ msgstr "Número de série" msgid "Asset tag" msgstr "Etiqueta de ativo" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2557,7 +2614,7 @@ msgstr "Largura externa" msgid "Outer depth" msgstr "Profundidade externa" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Unidade externa" @@ -2568,11 +2625,11 @@ msgstr "Profundidade de montagem" #: 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2591,22 +2648,22 @@ msgid "Max weight" msgstr "Peso máximo" #: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "Unidade de peso" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2623,7 +2680,7 @@ msgstr "Rack" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2632,17 +2689,17 @@ msgstr "Hardware" #: 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2651,7 +2708,7 @@ msgstr "Hardware" msgid "Manufacturer" msgstr "Fabricante" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "Plataforma padrão" @@ -2670,19 +2727,19 @@ msgid "Exclude from utilization" msgstr "Excluir da utilização" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "Fluxo de ar" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2694,13 +2751,13 @@ msgid "VM role" msgstr "Função da VM" #: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2708,20 +2765,20 @@ msgid "Config template" msgstr "Modelo de configuração" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "Função do dispositivo" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2733,12 +2790,12 @@ msgstr "Plataforma" #: 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2747,17 +2804,17 @@ msgstr "Plataforma" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2796,8 +2853,8 @@ msgstr "Dispositivo" msgid "Configuration" msgstr "Configuração" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "Tipo de módulo" @@ -2823,8 +2880,8 @@ msgstr "Rótulo" msgid "Length" msgstr "Comprimento" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "Unidade de comprimento" @@ -2832,17 +2889,17 @@ msgstr "Unidade de comprimento" msgid "Domain" msgstr "Domínio" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "Painel de alimentação" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "Fornecimento" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "Estágio" @@ -2886,13 +2943,13 @@ msgstr "Sorteio alocado" msgid "Allocated power draw (watts)" msgstr "Consumo de energia alocado (watts)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "Porta de alimentação" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Perna de alimentação" @@ -2901,7 +2958,7 @@ msgid "Management only" msgstr "Somente gerenciamento" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2909,7 +2966,7 @@ msgid "PoE mode" msgstr "Modo PoE" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2921,8 +2978,8 @@ msgstr "Tipo PoE" msgid "Wireless role" msgstr "Função sem fio" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2931,25 +2988,25 @@ msgstr "Função sem fio" msgid "Module" msgstr "Módulo" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "DEFASAGEM" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "Contextos de dispositivos virtuais" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "Rapidez" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2960,37 +3017,37 @@ msgstr "Rapidez" msgid "Mode" msgstr "Modo" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "Grupo de VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN sem etiqueta" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLANs marcadas" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "Grupo de LAN sem fio" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "LANs sem fio" #: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -2998,22 +3055,22 @@ msgid "Addressing" msgstr "Endereçando" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "Operação" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "Interfaces relacionadas" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3048,8 +3105,8 @@ msgstr "Grupo atribuído" msgid "available options" msgstr "opções disponíveis" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3063,98 +3120,98 @@ msgstr "Localização dos pais" msgid "Location not found." msgstr "Localização não encontrada." -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "Nome do inquilino designado" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "Nome da função atribuída" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "Tipo de rack" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "Largura de trilho a trilho (em polegadas)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "Unidade para dimensões externas" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "Unidade para pesos de rack" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "Site principal" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "Localização do rack (se houver)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "Unidades" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "Lista separada por vírgula de números de unidades individuais" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "O fabricante que produz esse tipo de dispositivo" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "A plataforma padrão para dispositivos desse tipo (opcional)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "Peso do dispositivo" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "Unidade para peso do dispositivo" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "Peso do módulo" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "Unidade para peso do módulo" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "Limitar as atribuições de plataforma a este fabricante" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Função atribuída" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "Fabricante do tipo de dispositivo" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "Tipo de dispositivo: modelo" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Plataforma atribuída" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "Chassi virtual" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3173,65 +3230,65 @@ msgstr "Chassi virtual" msgid "Cluster" msgstr "Cluster" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "Cluster de virtualização" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "Local atribuído (se houver)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "Rack atribuído (se houver)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "Rosto" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "Face de rack montada" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "Dispositivo principal (para dispositivos infantis)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "Compartimento de dispositivos" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Compartimento de dispositivos no qual este dispositivo está instalado (para " "dispositivos infantis)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Direção do fluxo de ar" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" msgstr "O dispositivo no qual este módulo está instalado" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "Compartimento do módulo" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" msgstr "O compartimento do módulo no qual este módulo está instalado" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "O tipo de módulo" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "Replicar componentes" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3239,215 +3296,231 @@ msgstr "" "Preencher automaticamente os componentes associados a esse tipo de módulo " "(ativado por padrão)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "Adote componentes" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "Adote componentes já existentes" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "Tipo de porta" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "Velocidade da porta em bps" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "Tipo de tomada" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "Porta de alimentação local que alimenta esta tomada" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "Atraso de alimentação" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "Fase elétrica (para circuitos trifásicos)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "Interface principal" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "Interface interligada" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Atraso" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "Interface LAG principal" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "Vdcs" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "Nomes VDC separados por vírgulas, entre aspas duplas. Exemplo:" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "Meio físico" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "Duplex" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "Modo Poe" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "Tipo de poe" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Modo operacional IEEE 802.1Q (para interfaces L2)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "VRF atribuído" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "Função Rf" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "Função sem fio (AP/estação)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "VDC {vdc} não está atribuído ao dispositivo {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 msgid "Rear port" msgstr "Porta traseira" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "Porta traseira correspondente" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "Classificação física do meio" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" msgstr "Dispositivo instalado" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" msgstr "Dispositivo infantil instalado dentro deste compartimento" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "Dispositivo infantil não encontrado." -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "Item do inventário principal" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "Tipo de componente" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "Tipo de componente" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "Nome do componente" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "Nome do componente" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "Componente não encontrado: {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "Dispositivo do lado A" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "Nome do dispositivo" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "Tipo de lado A" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "Tipo de rescisão" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "Nome do lado A" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "Nome da rescisão" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "Dispositivo do lado B" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "Tipo de lado B" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "Nome do lado B" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Status da conexão" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "Lado {side_upper}: {device} {termination_object} já está conectado" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} terminação lateral não encontrada: {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Dominar" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "Dispositivo principal" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "Nome do site principal" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "Painel de alimentação upstream" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "Primário ou redundante" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "Tipo de alimentação (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "Monofásico ou trifásico" @@ -3492,7 +3565,7 @@ msgstr "UMA {model} nomeado {name} já existe" msgid "Power Panel" msgstr "Painel de alimentação" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "Alimentação de energia" @@ -3516,7 +3589,7 @@ msgstr "Grupo de pais" msgid "Function" msgstr "Função" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "Imagens" @@ -3548,7 +3621,7 @@ msgstr "Ocupado" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3556,7 +3629,7 @@ msgstr "Ocupado" msgid "Connection" msgstr "Conexão" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "Contexto do dispositivo virtual" @@ -3572,7 +3645,7 @@ msgstr "Gentil" msgid "Mgmt only" msgstr "Somente gerenciamento" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "WWN" @@ -3602,7 +3675,7 @@ msgstr "Potência de transmissão (dBm)" msgid "Cable" msgstr "Cabo" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" msgstr "Descoberto" @@ -3636,28 +3709,28 @@ msgstr "" msgid "Reservation" msgstr "Reserva" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Slug" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "Chassi" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "Função do dispositivo" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "A unidade de menor número ocupada pelo dispositivo" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "A posição no chassi virtual pela qual este dispositivo é identificado" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3665,28 +3738,28 @@ msgstr "A posição no chassi virtual pela qual este dispositivo é identificado msgid "Priority" msgstr "Prioridade" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "A prioridade do dispositivo no chassi virtual" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "" "Preencher automaticamente os componentes associados a esse tipo de módulo" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "O comprimento máximo é 32767 (qualquer unidade)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "Características" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "Interface LAG" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3702,17 +3775,17 @@ msgstr "Interface LAG" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Interface" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "Dispositivo infantil" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3720,42 +3793,42 @@ msgstr "" "Os dispositivos secundários devem primeiro ser criados e atribuídos ao site " "e ao rack do dispositivo principal." -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "Porta de console" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "Porta do servidor do console" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "Porta frontal" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "Tomada elétrica" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "Item de inventário" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "Um item de inventário só pode ser atribuído a um único componente." -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Função do item de inventário" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "IPv4 primário" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3819,7 +3892,7 @@ msgstr "" "corresponder ao número selecionado de posições da porta traseira " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3862,39 +3935,78 @@ msgstr "cabo" msgid "cables" msgstr "cabos" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "Deve especificar uma unidade ao definir o comprimento do cabo" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "Deve definir as terminações A e B ao criar um novo cabo." + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "" +"Não é possível conectar diferentes tipos de terminação à mesma extremidade " +"do cabo." + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "Tipos de rescisão incompatíveis: {type_a} e {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "As terminações A e B não podem se conectar ao mesmo objeto." -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "fim" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "terminação de cabo" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "terminações de cabos" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" +"Rescisão duplicada encontrada para {app_label}.{model} {termination_id}: " +"cabo {cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "Os cabos não podem ser terminados em {type_display} interfaces" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "" +"As terminações de circuito conectadas a uma rede de provedor não podem ser " +"cabeadas." + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "está ativo" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "está completo" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "é dividido" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "caminho do cabo" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "caminhos de cabos" @@ -4815,9 +4927,9 @@ msgstr "Deve especificar a face do rack ao definir a posição do rack." #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." +"A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -"Um tipo de dispositivo U0 ({device_type}) não pode ser atribuído a uma " +"Um tipo de dispositivo 0U ({device_type}) não pode ser atribuído a uma " "posição de rack." #: dcim/models/devices.py:889 @@ -5335,7 +5447,7 @@ msgstr "Porta de console" msgid "Reachable" msgstr "Acessível" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5367,7 +5479,7 @@ msgstr "VMs" msgid "Config Template" msgstr "Modelo de configuração" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5375,12 +5487,12 @@ msgstr "Modelo de configuração" msgid "IP Address" msgstr "Endereço IP" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "Endereço IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "Endereço IPv6" @@ -5418,9 +5530,9 @@ msgstr "Portas de alimentação" msgid "Power outlets" msgstr "Tomadas elétricas" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5466,52 +5578,52 @@ msgstr "Vincular pares" msgid "Mark Connected" msgstr "Marcar Conectado" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" msgstr "Consumo máximo (W)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" msgstr "Sorteio alocado (W)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "Endereços IP" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Grupos FHRP" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Túnel" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Somente gerenciamento" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "Link sem fio" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "VDCs" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5519,7 +5631,7 @@ msgstr "VDCs" msgid "Inventory Items" msgstr "Itens de inventário" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5528,28 +5640,28 @@ msgstr "Itens de inventário" msgid "Rear Port" msgstr "Porta traseira" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Módulo instalado" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" msgstr "Módulo serial" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "Etiqueta de ativo do módulo" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "Status do módulo" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Parte" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "Itens" @@ -5583,60 +5695,60 @@ msgstr "Altura U" msgid "Instances" msgstr "Instâncias" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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 "Portas de console" -#: dcim/tables/devicetypes.py:116 dcim/views.py:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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 "Portas do servidor de console" -#: dcim/tables/devicetypes.py:119 dcim/views.py:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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 "Portas de alimentação" -#: dcim/tables/devicetypes.py:122 dcim/views.py:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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 "Tomadas elétricas" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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 "Portas frontais" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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 "Portas traseiras" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Compartimentos de dispositivos" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5689,33 +5801,54 @@ msgstr "Peso máximo" msgid "Sites" msgstr "Sites" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "O caso de teste deve definir peer_termination_type" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Desconectado {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" msgstr "Reservas" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "Dispositivos sem rack" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "Contexto de configuração" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" msgstr "Configuração de renderização" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "Crianças" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "Objeto (s) relacionado (s) desconhecido (s): {name}" + +#: extras/api/serializers.py:154 +msgid "Changing the type of custom fields is not supported." +msgstr "Não há suporte para alterar o tipo de campos personalizados." + +#: extras/api/serializers.py:549 extras/api/serializers.py:554 +msgid "Scheduling is not enabled for this report." +msgstr "O agendamento não está habilitado para este relatório." + +#: extras/api/serializers.py:599 extras/api/serializers.py:604 +msgid "Scheduling is not enabled for this script." +msgstr "O agendamento não está habilitado para esse script." + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "Texto" @@ -5874,7 +6007,6 @@ msgstr "Atualizar" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5948,24 +6080,66 @@ msgstr "Webhook" msgid "Script" msgstr "Roteiro" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "Operador desconhecido: {op}. Deve ser um dos seguintes: {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "Tipo de valor não suportado: {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "Tipo inválido para {op} operação: {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "O conjunto de regras deve ser um dicionário, não {ruleset}." + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "" +"O conjunto de regras deve ter exatamente um operador lógico (encontrado " +"{ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "Tipo de lógica inválido: {logic} (deve ser '{op_and}'ou'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "Tipo de widget" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "Classe de widget não registrada: {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} deve definir um método render ()." + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "Nota" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Exiba algum conteúdo personalizado arbitrário. O Markdown é suportado." -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "Contagens de objetos" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -5973,52 +6147,74 @@ msgstr "" "Exiba um conjunto de modelos NetBox e o número de objetos criados para cada " "tipo." -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "Filtros a serem aplicados ao contar o número de objetos" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "" +"Formato inválido. Os filtros de objetos devem ser passados como um " +"dicionário." + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "Lista de objetos" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "Exiba uma lista arbitrária de objetos." -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" msgstr "O número padrão de objetos a serem exibidos" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "" +"Formato inválido. Os parâmetros de URL devem ser passados como um " +"dicionário." + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "Feed RSS" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "Incorpore um feed RSS de um site externo." -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "URL do feed" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "O número máximo de objetos a serem exibidos" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" msgstr "" "Por quanto tempo o conteúdo em cache deve ser armazenado (em segundos)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "Favoritos" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" msgstr "Mostre seus favoritos pessoais" +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "Tipo de ação desconhecido para uma regra de evento: {action_type}" + +#: extras/events.py:181 +#, python-brace-format +msgid "Cannot import events pipeline {name} error: {error}" +msgstr "Não é possível importar o pipeline de eventos {name} erro: {error}" + #: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 msgid "Data file (ID)" msgstr "Arquivo de dados (ID)" @@ -6230,6 +6426,16 @@ msgstr "Objeto de ação" msgid "Webhook name or script as dotted path module.Class" msgstr "Nome do webhook ou script como caminho pontilhado module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "Webhook {name} não encontrado" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "Roteiro {name} não encontrado" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Tipo de objeto atribuído" @@ -6421,12 +6627,16 @@ msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" +"Código do modelo Jinja2 para o texto do link. Faça referência ao objeto como" +" {example}. Links renderizados como texto vazio não serão exibidos." #: extras/forms/model_forms.py:149 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" +"Código do modelo Jinja2 para o URL do link. Faça referência ao objeto como " +"{example}." #: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 msgid "Template code" @@ -6450,7 +6660,7 @@ msgstr "" msgid "Must specify either local content or a data file" msgstr "Deve especificar o conteúdo local ou um arquivo de dados" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Filtro salvo" @@ -6574,6 +6784,10 @@ msgstr "Programe a execução do script para um horário definido" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalo no qual esse script é executado novamente (em minutos)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "Nenhum indexador encontrado!" + #: extras/models/change_logging.py:24 msgid "time" msgstr "horas" @@ -7403,7 +7617,19 @@ msgstr "item marcado" msgid "tagged items" msgstr "itens marcados" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "O script deve definir um método run ()." + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "Dados do script" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "Parâmetros de execução do script" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "A exclusão é impedida por uma regra de proteção: {message}" @@ -7505,28 +7731,28 @@ msgstr "ID da solicitação" msgid "Comments (Short)" msgstr "Comentários (curtos)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Verifique se esse valor é igual a %(limit_value)s." -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Certifique-se de que esse valor não seja igual %(limit_value)s." -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "Esse campo deve estar vazio." -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "Esse campo não deve estar vazio." -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" -msgstr "" +msgstr "Atributo inválido”{name}“para {model}" #: extras/views.py:880 msgid "Your dashboard has been reset." @@ -7550,6 +7776,13 @@ msgstr "Insira um prefixo IPv4 ou IPv6 válido e uma máscara na notação CIDR. msgid "Invalid IP prefix format: {data}" msgstr "Formato de prefixo IP inválido: {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "" +"Espaço insuficiente está disponível para acomodar o (s) tamanho (s) de " +"prefixo solicitado" + #: ipam/choices.py:30 msgid "Container" msgstr "Contêiner" @@ -7590,6 +7823,11 @@ msgstr "Cisco" msgid "Plaintext" msgstr "Texto sem formatação" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "Formato de endereço IP inválido: {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "Alvo de importação" @@ -7729,10 +7967,39 @@ msgstr "IPv4 primário (ID)" msgid "Primary IPv6 (ID)" msgstr "IPv6 primário (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "Insira um endereço IPv4 ou IPv6 válido (sem máscara)." + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "Formato de endereço IPv4/IPv6 inválido: {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "Esse campo exige um endereço IP sem máscara." + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "Especifique um endereço IPv4 ou IPv6 válido." + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "Insira um endereço IPv4 ou IPv6 válido (com máscara CIDR)." + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "A máscara CIDR (por exemplo, /24) é necessária." + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "Padrão de endereço" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "Imponha um espaço exclusivo" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "É privado" @@ -7768,7 +8035,7 @@ msgstr "É uma piscina" #: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" -msgstr "" +msgstr "Trate como totalmente utilizado" #: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 msgid "DNS name" @@ -7861,7 +8128,7 @@ msgstr "Grupo de VLANs (se houver)" #: 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:427 +#: 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 msgid "VLAN" @@ -7951,17 +8218,17 @@ msgid "{ip} is not assigned to this device/VM." msgstr "{ip} não está atribuído a esse dispositivo/VM." #: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 msgid "Route Targets" msgstr "Alvos da rota" #: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 msgid "Import targets" msgstr "Alvos de importação" #: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "Alvos de exportação" @@ -8053,7 +8320,7 @@ msgstr "Porto" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" msgstr "Máquina virtual" @@ -8145,6 +8412,13 @@ msgstr "Modelo de serviço" msgid "Service template" msgstr "Modelo de serviço" +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "" +"Deve especificar nome, protocolo e porta (s) se não estiver usando um modelo" +" de serviço." + #: ipam/models/asns.py:34 msgid "start" msgstr "iniciar" @@ -8660,6 +8934,29 @@ msgstr "Alvos de importação" msgid "Export Targets" msgstr "Alvos de exportação" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "{prefix} não é um prefixo válido. Você quis dizer {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "O comprimento do prefixo deve ser menor ou igual a %(limit_value)s." + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "O comprimento do prefixo deve ser maior ou igual a %(limit_value)s." + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" +"Somente caracteres alfanuméricos, asteriscos, hífens, pontos e sublinhados " +"são permitidos em nomes DNS" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "Prefixos infantis" @@ -8672,14 +8969,78 @@ msgstr "Intervalos para crianças" msgid "Related IPs" msgstr "IPs relacionados" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "Interfaces de dispositivos" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "Interfaces de VM" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "Esse campo pode não estar em branco." + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" +"O valor deve ser passado diretamente (por exemplo, “foo”: 123); não use um " +"dicionário ou uma lista." + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} não é uma escolha válida." + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "Tipo de conteúdo inválido: {content_type}" + +#: netbox/api/fields.py:100 +msgid "Invalid value. Specify a content type as '.'." +msgstr "" +"Valor inválido. Especifique um tipo de conteúdo como " +"'.'." + +#: netbox/api/serializers/nested.py:35 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "" +"Objeto relacionado não encontrado usando os atributos fornecidos: {params}" + +#: netbox/api/serializers/nested.py:38 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Vários objetos correspondem aos atributos fornecidos: {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 "" +"Objetos relacionados devem ser referenciados por ID numérica ou por " +"dicionário de atributos. Recebeu um valor não reconhecido: {value}" + +#: netbox/api/serializers/nested.py:59 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" +"Objeto relacionado não encontrado usando a ID numérica fornecida: {id}" + +#: netbox/authentication.py:137 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "Permissão inválida {permission} para modelo {model}" + +#: netbox/config/__init__.py:67 +#, python-brace-format +msgid "Invalid configuration parameter: {item}" +msgstr "Parâmetro de configuração inválido: {item}" + #: netbox/config/parameters.py:22 templates/core/configrevision.html:111 msgid "Login banner" msgstr "Banner de login" @@ -8888,32 +9249,57 @@ msgstr "Adicionar etiquetas" msgid "Remove tags" msgstr "Remover etiquetas" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} deve especificar uma classe de modelo." + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "Nome de campo desconhecido '{name}'nos dados do campo personalizado." + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "Valor inválido para o campo personalizado '{name}': {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "Falta o campo personalizado obrigatório '{name}'." + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "Fonte de dados remota" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "caminho de dados" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "Caminho para o arquivo remoto (em relação à raiz da fonte de dados)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "sincronização automática ativada" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Habilitar a sincronização automática de dados quando o arquivo de dados for " "atualizado" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "data sincronizada" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} deve implementar um método sync_data ()." + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "Organização" @@ -9044,7 +9430,7 @@ msgid "L2VPNs" msgstr "VPNs L2" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Rescisões" @@ -9249,21 +9635,79 @@ msgstr "Revisões de configuração" msgid "Plugins" msgstr "Plugins" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "As permissões devem ser passadas como uma tupla ou lista." + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "Os botões devem ser passados como uma tupla ou lista." + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "A cor do botão deve ser uma opção em ButtonColorChoices." + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "" +"Classe PluginTemplateExtension {template_extension} foi passado como uma " +"instância!" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} não é uma subclasse de " +"netbox.plugins.PluginTemplateExtension!" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "" +"Classe PluginTemplateExtension {template_extension} não define um modelo " +"válido!" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} deve ser uma instância de netbox.plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} deve ser uma instância de netbox.plugins.PluginMenuItem" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "{button} deve ser uma instância de netbox.plugins.PluginMenuButton" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "extra_context deve ser um dicionário" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "Modo de cor" #: netbox/preferences.py:21 msgid "Light" -msgstr "" +msgstr "Luz" #: netbox/preferences.py:22 msgid "Dark" -msgstr "" +msgstr "Sombrio" #: netbox/preferences.py:27 msgid "Language" -msgstr "" +msgstr "Idioma" #: netbox/preferences.py:34 msgid "Page length" @@ -9279,15 +9723,15 @@ msgstr "Posicionamento do paginador" #: netbox/preferences.py:42 msgid "Bottom" -msgstr "" +msgstr "Parte inferior" #: netbox/preferences.py:43 msgid "Top" -msgstr "" +msgstr "Topo" #: netbox/preferences.py:44 msgid "Both" -msgstr "" +msgstr "Ambos" #: netbox/preferences.py:46 msgid "Where the paginator controls will be displayed relative to a table" @@ -9297,33 +9741,46 @@ msgstr "Onde os controles do paginador serão exibidos em relação a uma tabela msgid "Data format" msgstr "Formato de dados" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "Loja inválida: {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "Não é possível adicionar lojas ao registro após a inicialização" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "Não é possível excluir lojas do registro" + +#: netbox/settings.py:724 msgid "English" -msgstr "" +msgstr "Inglês" + +#: netbox/settings.py:725 +msgid "Spanish" +msgstr "espanhol" + +#: netbox/settings.py:726 +msgid "French" +msgstr "francês" #: netbox/settings.py:727 -msgid "Spanish" -msgstr "" +msgid "Japanese" +msgstr "japonesa" #: netbox/settings.py:728 -msgid "French" -msgstr "" +msgid "Portuguese" +msgstr "portuguesa" #: netbox/settings.py:729 -msgid "Japanese" -msgstr "" +msgid "Russian" +msgstr "russa" #: netbox/settings.py:730 -msgid "Portuguese" -msgstr "" - -#: netbox/settings.py:731 -msgid "Russian" -msgstr "" - -#: netbox/settings.py:732 msgid "Turkish" -msgstr "" +msgstr "turca" #: netbox/tables/columns.py:175 msgid "Toggle all" @@ -9353,6 +9810,11 @@ msgstr "Nenhum resultado encontrado" msgid "Dummy Plugin" msgstr "Plugin fictício" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "Linha {i}: Objeto com ID {id} não existe" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "Registro de alterações" @@ -9361,6 +9823,19 @@ msgstr "Registro de alterações" msgid "Journal" msgstr "Diário" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} deve implementar get_children ()" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" +"Houve um erro ao carregar a configuração do painel. Um painel padrão está em" +" uso." + #: templates/403.html:4 msgid "Access Denied" msgstr "Acesso negado" @@ -9420,7 +9895,7 @@ msgstr "Página inicial" #: 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "Perfil" @@ -9509,20 +9984,24 @@ msgstr "E-mail" msgid "Account Created" msgstr "Conta criada" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "Último login" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "Superusuário" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "Acesso de administrador" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "Grupos atribuídos" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9538,12 +10017,12 @@ msgstr "Grupos atribuídos" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "Nenhum" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "Atividade recente" @@ -9677,7 +10156,7 @@ msgid "Add Circuit" msgstr "Adicionar circuito" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9689,7 +10168,6 @@ msgstr "Adicionar" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -10201,7 +10679,6 @@ msgid "Local Config Context Data" msgstr "Dados de contexto de configuração local" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -11910,7 +12387,7 @@ msgstr "Grupo de inquilinos" msgid "Add Tenant Group" msgstr "Adicionar grupo de inquilinos" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "Permissões atribuídas" @@ -11936,7 +12413,7 @@ msgstr "Restrições" msgid "Assigned Users" msgstr "Usuários atribuídos" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "Pessoal" @@ -12041,7 +12518,7 @@ msgstr "Mostrar segredo" #: 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Propostas" @@ -12128,7 +12605,7 @@ msgstr "Encapsulamento" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "Perfil IPsec" @@ -12152,7 +12629,7 @@ msgstr "Terminação do túnel" #: 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "IP externo" @@ -12462,7 +12939,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "Pelo menos uma ação deve ser selecionada." -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "As restrições não são suportadas para esse tipo de objeto." + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtro inválido para {model}: {error}" @@ -12672,6 +13153,11 @@ msgstr "" msgid "More than 50" msgstr "Mais de 50" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "" +"O conjunto de consultas personalizado não pode ser usado para essa pesquisa." + #: utilities/fields.py:162 #, python-format msgid "" @@ -12703,6 +13189,16 @@ msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" "O caractere que delimita os campos CSV. Aplica-se somente ao formato CSV." +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "" +"Os dados do formulário devem estar vazios ao carregar/selecionar um arquivo." + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "Formato de dados desconhecido: {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "" @@ -12787,12 +13283,12 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "Abreviatura exclusiva e compatível com URL" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" "Inserir dados de contexto em JSON formato." -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "O endereço MAC deve estar no formato EUI-48" @@ -12821,6 +13317,88 @@ msgstr "" "Esse objeto foi modificado desde que o formulário foi renderizado. Consulte " "o registro de alterações do objeto para obter detalhes." +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "Alcance”{value}“é inválido." + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "Cabeçalho de coluna duplicado ou conflitante para”{field}“" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "Cabeçalho de coluna duplicado ou conflitante para”{header}“" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" +"Linha {row}: Esperado {count_expected} colunas, mas encontradas " +"{count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "Cabeçalho de coluna inesperado”{field}“encontrado." + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "Coluna”{field}“não é um objeto relacionado; não pode usar pontos" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "" +"Atributo de objeto relacionado inválido para a coluna”{field}“: {to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "Cabeçalho de coluna obrigatório”{header}“não encontrado." + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" +"Valor necessário ausente para o parâmetro de consulta dinâmica: " +"'{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "" +"Valor necessário ausente para o parâmetro de consulta estática: " +"'{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "" +"Nome de permissão inválido: {name}. Deve estar no formato " +"._" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "app_label/model_name desconhecido para {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "Endereço IP inválido definido para {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "Uma coluna chamada {name} já está definido para a tabela {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "Não definido" @@ -12901,6 +13479,69 @@ msgstr "Escreva" msgid "Testing" msgstr "Testando" +#: utilities/testing/views.py:625 +msgid "The test must define csv_update_data." +msgstr "O teste deve definir csv_update_data." + +#: utilities/utils.py:310 +msgid "Length must be a positive number" +msgstr "O comprimento deve ser um número positivo" + +#: utilities/utils.py:312 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Valor inválido '{length}'para comprimento (deve ser um número)" + +#: utilities/utils.py:317 utilities/utils.py:350 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "Unidade desconhecida {unit}. Deve ser um dos seguintes: {valid_units}" + +#: utilities/utils.py:334 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." +msgstr "" +"Unidade desconhecida {unit}. Deve ser 'km', 'm', 'cm', 'mi', 'ft' ou 'in'." + +#: utilities/utils.py:343 +msgid "Weight must be a positive number" +msgstr "O peso deve ser um número positivo" + +#: utilities/utils.py:345 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Valor inválido '{weight}'para peso (deve ser um número)" + +#: utilities/utils.py:363 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." +msgstr "Unidade desconhecida {unit}. Deve ser 'kg', 'g', 'lb', 'oz'." + +#: utilities/validators.py:65 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "{value} não é uma expressão regular válida." + +#: utilities/views.py:38 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "{self.__class__.__name__} deve implementar get_required_permission ()" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} deve implementar get_required_permission ()" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} não tem conjunto de consultas definido. " +"ObjectPermissionRequiredMixin só pode ser usado em visualizações que definem" +" um conjunto de consultas básico." + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "Grupo de pais (ID)" @@ -13263,13 +13904,13 @@ msgid "Pre-shared key" msgstr "Chave pré-compartilhada" #: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "Política do IKE" #: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Política IPsec" @@ -13345,7 +13986,7 @@ msgid "IKE version" msgstr "Versão IKE" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Proposta" @@ -13365,15 +14006,15 @@ msgstr "Segunda rescisão" msgid "This parameter is required when defining a termination." msgstr "Esse parâmetro é necessário ao definir uma terminação." -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "Política" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "Uma terminação deve especificar uma interface ou VLAN." -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -13421,11 +14062,11 @@ msgstr "Políticas do IKE" #: vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" -msgstr "" +msgstr "O modo é necessário para a versão IKE selecionada" #: vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" -msgstr "" +msgstr "O modo não pode ser usado para a versão IKE selecionada" #: vpn/models/crypto.py:136 msgid "encryption" @@ -13562,7 +14203,7 @@ msgstr "Pai do objeto" msgid "Object Site" msgstr "Site do objeto" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "Hospedeiro" @@ -13645,3 +14286,13 @@ msgstr "links sem fio" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} não é uma interface sem fio." + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "Valor do canal inválido: {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "Atributo de canal inválido: {name}" diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index aa93e0bf307f8627fca2b43a1c6e386965f9e3e1..fd43bbda3ac817d41d29724a95600790682997d6 100644 GIT binary patch delta 76700 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 b<6vD26l1m7#S7AIAA#=&U5Dni2$dBqfvOP3uDB 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 diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 639257424..268a9fe36 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -4,20 +4,20 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2023 # Vladyslav V. Prodan, 2024 # Nikita Vokhmintsev, 2024 -# Stavr Ognev, 2024 # Artem Kotik, 2024 +# Stavr Ognev, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Artem Kotik, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -81,7 +81,7 @@ msgstr "Выделение ресурсов" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -101,37 +101,37 @@ msgstr "Выделение резервов" msgid "Decommissioned" msgstr "Списан" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "Регион (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "Регион (подстрока)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "Группа сайтов (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -142,9 +142,9 @@ msgstr "Группа сайтов (подстрока)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -152,7 +152,7 @@ msgstr "Группа сайтов (подстрока)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -174,8 +174,8 @@ msgstr "Группа сайтов (подстрока)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -190,8 +190,8 @@ msgid "Site" msgstr "Сайт" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -229,9 +229,9 @@ msgid "Circuit type (slug)" msgstr "Тип канала связи (подстрока)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -239,7 +239,7 @@ msgid "Site (ID)" msgstr "Сайт (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -363,13 +363,14 @@ msgstr "ASN" #: 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: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 +#: 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 msgid "Description" msgstr "Описание" @@ -392,15 +393,15 @@ msgstr "Провайдер" #: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:91 #: templates/circuits/providernetwork.html:31 msgid "Service ID" -msgstr "Идентификатор сервиса" +msgstr "Идентификатор Службы" #: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:107 #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -419,11 +420,11 @@ msgstr "Цвет" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -431,7 +432,7 @@ msgstr "Цвет" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -468,34 +469,34 @@ msgstr "Аккаунт провайдера" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -507,7 +508,7 @@ msgstr "Аккаунт провайдера" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -521,9 +522,9 @@ msgstr "Статус" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -588,12 +589,12 @@ msgstr "Гарантированная скорость (Кбит/с)" #: circuits/forms/bulk_edit.py:168 circuits/forms/model_forms.py:111 msgid "Service Parameters" -msgstr "Параметры сервиса" +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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -603,7 +604,7 @@ msgstr "Параметры сервиса" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "Аренда" @@ -613,9 +614,9 @@ msgstr "Аренда" msgid "Assigned provider" msgstr "Назначенный провайдер" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "Цвет RGB в шестнадцатеричном формате. Пример:" @@ -628,9 +629,9 @@ msgid "Type of circuit" msgstr "Тип канала связи" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -638,9 +639,9 @@ msgid "Operational status" msgstr "Операционный статус" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -659,9 +660,9 @@ msgstr "Сеть провайдера" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -674,8 +675,8 @@ msgstr "Сеть провайдера" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -824,7 +825,7 @@ msgstr "идентификатор канала связи" msgid "Unique circuit ID" msgstr "Уникальный идентификатор канала связи" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -918,8 +919,22 @@ msgstr "точка подключение канала связи" msgid "circuit terminations" msgstr "точки подключения канала связи" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "" +"Терминатор канала должен быть подключен либо к сайту, либо к сети " +"поставщика." + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "" +"Терминатор канала не может быть подключен как к сайту, так и к сети " +"поставщика." + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -978,7 +993,7 @@ msgstr "аккаунты провайдера" #: circuits/models/providers.py:115 msgid "service ID" -msgstr "идентификатор сервиса" +msgstr "идентификатор службы" #: circuits/models/providers.py:126 msgid "provider network" @@ -993,13 +1008,13 @@ msgstr "сети провайдера" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1102,7 +1117,7 @@ msgstr "Гарантированная скорость" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1116,7 +1131,7 @@ msgstr "Гарантированная скорость" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "Комментарии" @@ -1154,7 +1169,7 @@ msgstr "Завершено" #: dcim/choices.py:222 dcim/choices.py:1496 extras/choices.py:212 #: virtualization/choices.py:47 msgid "Failed" -msgstr "Потрачено" +msgstr "Неисправно" #: core/choices.py:35 netbox/navigation/menu.py:330 #: templates/extras/script/base.html:14 templates/extras/script_list.html:6 @@ -1208,6 +1223,11 @@ msgstr "Пароль" msgid "Branch" msgstr "Ветка" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "Не удалось получить удаленные данные ({name}): {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "Идентификатор ключа доступа AWS" @@ -1225,16 +1245,31 @@ msgstr "Источник данных (ID)" msgid "Data source (name)" msgstr "Источник данных (имя)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "Обеспечить уникальное пространство" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "Параметры" @@ -1255,25 +1290,6 @@ msgstr "Правила исключения" msgid "Data Source" msgstr "Источник данных" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "Включено" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "Файл" @@ -1354,6 +1370,15 @@ msgstr "Параметры бэкенда" msgid "File Upload" msgstr "Загрузка файла" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "" +"Невозможно загрузить файл и синхронизировать его с существующим файлом" + +#: core/forms/model_forms.py:108 +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 msgid "Rack Elevations" @@ -1418,7 +1443,7 @@ msgstr "Текущее значение: {value}" msgid " (default)" msgstr " (по умолчанию)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1453,7 +1478,7 @@ msgstr "Текущая конфигурация" msgid "Config revision #{id}" msgstr "Ревизия конфигурации #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1471,90 +1496,102 @@ msgstr "Ревизия конфигурации #{id}" msgid "type" msgstr "тип" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "включен" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "правила исключения" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" "Шаблоны (по одному в строке), соответствующие файлам, которые следует " "игнорировать при синхронизации" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "параметры" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "время последней синхронизации" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "источник данных" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "источники данных" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "Неизвестный тип бэкэнда: {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "Невозможно запустить синхронизацию; синхронизация уже выполняется." + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" +"Произошла ошибка при инициализации бэкэнда. Необходимо установить " +"зависимость: " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "последнее обновление" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "путь" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "Путь к файлу относительно корня источника данных" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "размер" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "хэш" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "Длина должна быть 64 шестнадцатеричных символа." -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "SHA256 хэш данных файла" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "файл данных" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "файлы данных" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "запись автоматической синхронизации" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "автоматическая синхронизация записей" @@ -1624,6 +1661,13 @@ msgstr " задания" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Задания нельзя присвоить этому типу объектов ({type})." +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "" +"Неверный статус для увольнения с работы. Возможны следующие варианты: " +"{choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "Активен" @@ -1667,7 +1711,7 @@ msgstr "Запущено" msgid "Facility ID" msgstr "Идентификатор объекта" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "Позиция (U)" @@ -1743,13 +1787,13 @@ 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1858,8 +1902,8 @@ msgid "Virtual" msgstr "Виртуальный" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Беспроводной" @@ -1869,8 +1913,8 @@ msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -1915,7 +1959,7 @@ msgstr "Стекирование" #: dcim/choices.py:1162 msgid "Half" -msgstr "Половина" +msgstr "Полу" #: dcim/choices.py:1163 msgid "Full" @@ -2027,200 +2071,210 @@ msgstr "Однофазный" msgid "Three-phase" msgstr "Трехфазный" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "Неверный формат MAC-адреса: {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "Неверный формат WWN: {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "Родительский регион (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "Родительский регион (подстрока)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "Родительская группа сайтов (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "Родительская группа сайтов (подстрока)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "Группа (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "Группа (подстрока)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "Автономная система (ID)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "Локация (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "Локация (подстрока)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "Роль (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Роль (подстрока)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "Стойка (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "Пользователь (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "Пользователь (имя)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "Производитель (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "Производитель (подстрока)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "Платформа по умолчанию (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "Платформа по умолчанию (подстрока)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Имеет фронтальное изображение" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Имеет изображение сзади" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "Имеет консольные порты" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "Имеет серверные консольные порты" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "Имеет порты питания" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "Имеет розетки" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "Имеет интерфейсы" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "Имеет сквозные порты" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Имеет отсеки для модулей" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Имеет отсеки для устройств" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Имеет инвентарь" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "Тип устройства (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "Тип модуля (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "Родительский инвентарь (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Шаблон конфигурации (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "Тип устройства (подстрока)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "Родительское устройство (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Платформа (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Платформа (подстрока)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "Имя сайта (подстрока)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "Кластер виртуальных машин (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "Модель устройства (подстрока)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "Полная глубина" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2228,68 +2282,68 @@ msgstr "Полная глубина" msgid "MAC address" msgstr "MAC-адрес" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "Имеет основной IP-адрес" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "Имеет внеполосный IP-адрес" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "Является членом виртуального шасси" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "Сервисный порт (ID)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "Тип модуля (модель)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "Отсек для модулей (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "Устройство (идентификатор)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "Стойка (название)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "Устройство (имя)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "Тип устройства (модель)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "Роль устройства (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "Роль устройства (подстрока)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2298,23 +2352,23 @@ msgstr "Виртуальное шасси (ID)" msgid "Virtual Chassis" msgstr "Виртуальное шасси" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "Модуль (идентификатор)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Назначенная VLAN" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "Назначенный VID" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: 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 @@ -2340,77 +2394,77 @@ msgstr "Назначенный VID" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (КРАСНЫЙ)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (ИДЕНТИФИКАТОР)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "Интерфейсы виртуального корпуса для устройства" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Интерфейсы виртуального корпуса для устройства (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "Вид интерфейса" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Родительский интерфейс (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Мостовой интерфейс (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "Интерфейс LAG (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "Мастер (удостоверение личности)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "Мастер (имя)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "Тенант (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "Тенант (подстрока)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "Нерасторгнутый" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 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:79 +#: 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 @@ -2419,9 +2473,9 @@ msgid "Tags" msgstr "Теги" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2461,9 +2515,9 @@ msgstr "" #: 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 -#: 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 +#: 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 msgid "Group" msgstr "Группа" @@ -2485,13 +2539,13 @@ 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:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2521,7 +2575,7 @@ msgstr "Часовой пояс" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Роль" @@ -2538,7 +2592,7 @@ msgstr "Серийный номер" msgid "Asset tag" msgstr "Инвентарный номер" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2560,7 +2614,7 @@ msgstr "Наружная ширина" msgid "Outer depth" msgstr "Внешняя глубина" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Внешний блок" @@ -2571,11 +2625,11 @@ 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2594,22 +2648,22 @@ 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:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "Весовая единица" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2626,7 +2680,7 @@ msgstr "Стойка" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2635,17 +2689,17 @@ 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2654,7 +2708,7 @@ msgstr "Аппаратное обеспечение" msgid "Manufacturer" msgstr "Производитель" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "Платформа по умолчанию" @@ -2673,19 +2727,19 @@ msgid "Exclude from utilization" msgstr "Исключить из использования" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "Воздушный поток" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "Тип устройства" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2697,13 +2751,13 @@ 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:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2711,20 +2765,20 @@ msgid "Config template" msgstr "Шаблон конфигурации" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "Тип устройства" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "Роль устройства" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2736,12 +2790,12 @@ 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2750,17 +2804,17 @@ msgstr "Платформа" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2799,8 +2853,8 @@ msgstr "Устройство" msgid "Configuration" msgstr "Конфигурация" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "Тип модуля" @@ -2826,8 +2880,8 @@ msgstr "Этикетка" msgid "Length" msgstr "Длина" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "Единица длины" @@ -2835,17 +2889,17 @@ msgstr "Единица длины" msgid "Domain" msgstr "Домен" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "Панель питания" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "Снабжение" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "Фаза" @@ -2889,13 +2943,13 @@ msgstr "Выделенная мощность" msgid "Allocated power draw (watts)" msgstr "Распределенная потребляемая мощность (Вт)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "Порт питания" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Подача питании" @@ -2904,7 +2958,7 @@ msgid "Management only" msgstr "Только управление" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2912,7 +2966,7 @@ msgid "PoE mode" msgstr "Режим PoE" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2924,8 +2978,8 @@ msgstr "Тип PoE" msgid "Wireless role" msgstr "Роль беспроводной связи" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2934,25 +2988,25 @@ msgstr "Роль беспроводной связи" msgid "Module" msgstr "Модуль" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "Группа объединения каналов(LAG)" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "Виртуальные контексты" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "Скорость" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2963,37 +3017,37 @@ msgstr "Скорость" msgid "Mode" msgstr "Режим" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "Группа VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "VLAN без тегов" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "VLAN с тегами" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "Беспроводная группа LAN" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 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:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -3001,22 +3055,22 @@ msgid "Addressing" msgstr "Адресация" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "Операция" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "Связанные интерфейсы" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3051,8 +3105,8 @@ msgstr "Назначенная группа" msgid "available options" msgstr "доступные опции" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3066,98 +3120,98 @@ msgstr "Родительское место" msgid "Location not found." msgstr "Локация не найдена." -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "Имя назначенного тенанта" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "Название назначенной роли" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "Тип стойки" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "Ширина от рельса до рельса (в дюймах)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "Единица измерения внешних размеров" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "Единица измерения веса стойки" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "Родительское место" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "Местоположение стойки (если есть)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "Единицы" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "Список отдельных номеров объектов, разделенных запятыми" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "Производитель, выпускающий этот тип устройства" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "Платформа по умолчанию для устройств этого типа (опционально)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "Вес устройства" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "Единица измерения веса устройства" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "Вес модуля" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "Единица измерения веса модуля" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "Ограничьте назначение платформ этому производителю" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Назначенная роль" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "Производитель типа устройства" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "Модель типа устройства" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Назначенная платформа" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "Виртуальное шасси" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3176,65 +3230,65 @@ msgstr "Виртуальное шасси" msgid "Cluster" msgstr "Кластер" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "Кластер виртуализации" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "Назначенное местоположение (если есть)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "Назначенная стойка (если есть)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "Лицевая сторона" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "Сторона монтажа в стойке" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "Родительское устройство (для дочерних устройств)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "Отсек для устройств" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Отсек для устройств, в котором установлено данное устройство (для детских " "устройств)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Направление воздушного потока" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" msgstr "Устройство, в котором установлен данный модуль" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "Отсек для модулей" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" msgstr "Отсек для модулей, в котором установлен данный модуль" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "Тип модуля" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "Репликация компонентов" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3242,215 +3296,231 @@ msgstr "" "Автоматическое заполнение компонентов, связанных с этим типом модуля " "(включено по умолчанию)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "Принять компоненты" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "Используйте уже существующие компоненты" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "Тип порта" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "Скорость порта в бит/с" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "Тип розетки" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "Локальный порт питания, питающий эту розетку" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "Задержка подачи" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "Электрическая фаза (для трехфазных цепей)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "Родительский интерфейс" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "Мостовой интерфейс" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Группа объединения каналов(LAG)" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "Родительский интерфейс LAG" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "Виртуальные контексты устройств(VDCs)" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "Имена VDC разделены запятыми и заключены в двойные кавычки. Пример:" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "Физическая среда" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "Двухуровневый" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "Режим Poe" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "Тип Poe" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "Назначенный VRF" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "Роль Rf" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "Роль беспроводной сети (точка доступа/станция)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +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 msgid "Rear port" msgstr "Задний порт" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "Соответствующий задний порт" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "Классификация физических сред" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" msgstr "Установленное устройство" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" msgstr "Дочернее устройство, установленное в этом отсеке" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "Дочернее устройство не найдено." -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "Предмет родительского инвентаря" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "Тип компонента" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "Тип компонента" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "Имя компонента" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "Имя компонента" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "Компонент не найден: {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "Устройство на стороне А" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "Имя устройства" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "Сторона типа А" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "Тип завершения" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "Название стороны А" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "Название завершения" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "Устройство на стороне B" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "Тип стороны B" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "Название стороны B" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Состояние подключения" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "Сторона {side_upper}: {device} {termination_object} уже подключен" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} боковое завершение не найдено: {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Мастер" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "Мастер-устройство" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "Название родительского сайта" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "Панель питания в восходящем направлении" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "Основное или резервное" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "Тип питания (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "Однофазный или трехфазный" @@ -3497,7 +3567,7 @@ msgstr "A {model} названный {name} уже существует" msgid "Power Panel" msgstr "Панель питания" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "Подача питания" @@ -3521,7 +3591,7 @@ msgstr "Родительская группа" msgid "Function" msgstr "Функция" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "Изображения" @@ -3553,7 +3623,7 @@ msgstr "Занятый" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3561,7 +3631,7 @@ msgstr "Занятый" msgid "Connection" msgstr "Подключение" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "Контекст виртуального устройства" @@ -3577,7 +3647,7 @@ msgstr "Вид" msgid "Mgmt only" msgstr "Только менеджмент" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "Глобальное уникальное имя" @@ -3607,7 +3677,7 @@ msgstr "Мощность передачи (дБм)" msgid "Cable" msgstr "Кабель" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" msgstr "Обнаружено" @@ -3641,28 +3711,28 @@ msgstr "" msgid "Reservation" msgstr "Резервирование" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Подстрока" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "Шасси" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "Роль устройства" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "Устройство с наименьшим номером, занимаемое устройством" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "Положение в виртуальном корпусе этого устройства определяется по" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3670,27 +3740,27 @@ msgstr "Положение в виртуальном корпусе этого msgid "Priority" msgstr "Приоритет" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "Приоритет устройства в виртуальном шасси" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "Автоматическое заполнение компонентов, связанных с этим типом модуля" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "Максимальная длина 32767 (любая единица измерения)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "Характеристики" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "Интерфейс LAG" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3706,17 +3776,17 @@ msgstr "Интерфейс LAG" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Интерфейс" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "Дочернее устройство" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3724,42 +3794,42 @@ msgstr "" "Сначала необходимо создать дочерние устройства и назначить их сайту и стойке" " родительского устройства." -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "Консольный порт" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "Порт консольного сервера" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "Передний порт" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "Розетка питания" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "Комплектующие" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "InventoryItem можно присвоить только одному компоненту." -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Роли комплектующих" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "Основной IPv4" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3823,7 +3893,7 @@ msgstr "" "соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3866,39 +3936,78 @@ msgstr "кабель" msgid "cables" msgstr "кабели" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "При настройке длины кабеля необходимо указать единицу измерения" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "" +"При создании нового кабеля необходимо определить концевые разъемы A и B." + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "" +"Невозможно подключить разные типы разъемов к одному и тому же концу кабеля." + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "Несовместимые типы терминации: {type_a} а также {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "Терминалы A и B не могут подключаться к одному и тому же объекту." -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "конец" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "кабельный терминатор" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "кабельные терминаторы" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" +"Обнаружен дубликат увольнения для {app_label}.{model} {termination_id}: " +"кабель {cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "Кабели не могут быть подключены к {type_display} интерфейсов" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "" +"Концевые разъемы, подключенные к сети провайдера, могут не подключаться к " +"кабелям." + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "активен" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "завершен" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "разделен" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "кабельная трасса" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "кабельные трассы" @@ -4817,10 +4926,8 @@ msgstr "При определении лицевой стороны необхо #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." -msgstr "" -"Устройство с указанным в типе размером U0 ({device_type}) не может быть " -"назначено стойке." +"A 0U device type ({device_type}) cannot be assigned to a rack position." +msgstr "Тип устройства 0U ({device_type}) не может быть отнесено к стойке." #: dcim/models/devices.py:889 msgid "" @@ -5338,7 +5445,7 @@ msgstr "Консольный порт" msgid "Reachable" msgstr "Доступен" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5370,7 +5477,7 @@ msgstr "Виртуальные машины" msgid "Config Template" msgstr "Шаблон конфигурации" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5378,12 +5485,12 @@ msgstr "Шаблон конфигурации" msgid "IP Address" msgstr "IP-адрес" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "Адрес IPv4" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "Адрес IPv6" @@ -5421,9 +5528,9 @@ msgstr "Порты питания" msgid "Power outlets" msgstr "Розетки питания" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5469,52 +5576,52 @@ msgstr "Связать узлы" msgid "Mark Connected" msgstr "Отметить подключение" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" msgstr "Максимальная потребляемая мощность (Вт)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" msgstr "Выделенная мощность (Вт)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "IP-адреса" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "Группы FHRP" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Туннель" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Только управление" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "Беспроводная связь" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "Виртуальные контексты устройств(VDCs)" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5522,7 +5629,7 @@ msgstr "Виртуальные контексты устройств(VDCs)" msgid "Inventory Items" msgstr "Предметы инвентаря" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5531,28 +5638,28 @@ msgstr "Предметы инвентаря" msgid "Rear Port" msgstr "Задний порт" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Установленный модуль" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" msgstr "Серийный номер модуля" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "Тег активов модуля" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "Состояние модуля" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Компонент" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "Предметы" @@ -5586,60 +5693,60 @@ msgstr "Высота U" msgid "Instances" msgstr "Инстансы" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 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:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5692,33 +5799,55 @@ msgstr "Максимальный вес" msgid "Sites" msgstr "ЦОД" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "" +"В тестовом примере должно быть установлено значение peer_termination_type" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Отключен {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" msgstr "Резервирование" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "Устройства без стоек" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "Контекст конфигурации" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" msgstr "Конфигурация рендера" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "Потомки" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "Неизвестный связанный объект (ы): {name}" + +#: extras/api/serializers.py:154 +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 +msgid "Scheduling is not enabled for this script." +msgstr "Для этого сценария планирование отключено." + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "Текст" @@ -5877,7 +6006,6 @@ msgstr "Обновить" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5951,24 +6079,68 @@ msgstr "Вебхук" msgid "Script" msgstr "Сценарий" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "" +"Неизвестный оператор: {op}. Должен быть одним из следующих: {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "Неподдерживаемый тип значения: {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "Неверный тип для {op} операция: {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "Набор правил должен быть словарем, а не {ruleset}." + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "" +"В наборе правил должен быть ровно один логический оператор (найден) " +"{ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "Неверный тип логики: {logic} (должно быть '{op_and}'или'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "Тип виджета" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "Незарегистрированный класс виджета: {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} должен определить метод render ()." + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "Примечание" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -"Отобразите произвольный пользовательский контент. Поддерживается Markdown." +"Отображает произвольный пользовательский контент. Поддерживается разметка " +"Markdown." -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "Количество объектов" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -5976,51 +6148,70 @@ msgstr "" "Отобразите набор моделей NetBox и количество объектов, созданных для каждого" " типа." -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "Фильтры, применяемые при подсчете количества объектов" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "" +"Неверный формат. Фильтры объектов необходимо передавать в виде словаря." + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "Список объектов" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "Отобразите произвольный список объектов." -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" msgstr "Количество отображаемых объектов по умолчанию" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "Неверный формат. Параметры URL должны быть переданы в виде словаря." + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "RSS-канал" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "Вставьте RSS-канал с внешнего веб-сайта." -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "URL-адрес ленты" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "Максимальное количество отображаемых объектов" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" msgstr "Как долго хранить кэшированный контент (в секундах)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "Закладки" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" msgstr "Покажите свои личные закладки" +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "Неизвестный тип действия для правила события: {action_type}" + +#: extras/events.py:181 +#, 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 msgid "Data file (ID)" msgstr "Файл данных (ID)" @@ -6234,6 +6425,16 @@ msgstr "Объект действия" msgid "Webhook name or script as dotted path module.Class" msgstr "Имя веб-хука или скрипт в виде пунктирного пути module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "Вебхук {name} не найден" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "Сценарий {name} не найден" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Назначенный тип объекта" @@ -6377,7 +6578,7 @@ msgstr "" #: extras/forms/model_forms.py:58 templates/extras/customfield.html:11 msgid "Custom Field" -msgstr "Настраиваемое поле" +msgstr "Настраиваемое Поле" #: extras/forms/model_forms.py:61 templates/extras/customfield.html:60 msgid "Behavior" @@ -6413,7 +6614,7 @@ msgstr "" #: extras/forms/model_forms.py:132 templates/extras/customlink.html:10 msgid "Custom Link" -msgstr "Настраиваемая ссылка" +msgstr "Настраиваемая Ссылка" #: extras/forms/model_forms.py:133 msgid "Templates" @@ -6456,7 +6657,7 @@ msgstr "" msgid "Must specify either local content or a data file" msgstr "Необходимо указать локальное содержимое или файл данных" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Сохраненный фильтр" @@ -6579,6 +6780,10 @@ msgstr "Запланируйте выполнение скрипта на зад msgid "Interval at which this script is re-run (in minutes)" msgstr "Интервал повторного запуска этого скрипта (в минутах)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "Индексаторы не найдены!" + #: extras/models/change_logging.py:24 msgid "time" msgstr "время" @@ -6961,11 +7166,11 @@ msgstr "Варианты автоматически упорядочены в а #: extras/models/customfields.py:739 msgid "custom field choice set" -msgstr "набор вариантов настраиваемых полей" +msgstr "набор вариантов для настраиваемых полей" #: extras/models/customfields.py:740 msgid "custom field choice sets" -msgstr "настраиваемые наборы для выбора полей" +msgstr "наборы вариантов для настраиваемых полей" #: extras/models/customfields.py:776 msgid "Must define base or extra choices." @@ -7404,7 +7609,19 @@ msgstr "помеченный товар" msgid "tagged items" msgstr "помеченные товары" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "Скрипт должен определять метод run ()." + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "Данные сценария" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "Параметры выполнения сценария" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "Удаление предотвращается правилом защиты: {message}" @@ -7506,25 +7723,25 @@ msgstr "Идентификатор запроса" msgid "Comments (Short)" msgstr "Комментарии (короткие)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Убедитесь, что это значение равно %(limit_value)s." -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Убедитесь, что это значение не равно %(limit_value)s." -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "Это поле должно быть пустым." -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "Это поле не должно быть пустым." -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Недопустимый атрибут \"{name}\" для {model}" @@ -7551,6 +7768,11 @@ msgstr "Введите действительный префикс и маску msgid "Invalid IP prefix format: {data}" msgstr "Неверный формат IP-префикса: {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "Недостаточно места для размещения запрошенных размеров префиксов" + #: ipam/choices.py:30 msgid "Container" msgstr "Контейнер" @@ -7591,6 +7813,11 @@ msgstr "Cisco" msgid "Plaintext" msgstr "Обычный текст" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "Неверный формат IP-адреса: {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "Цель импорта" @@ -7730,10 +7957,39 @@ msgstr "Основной IPv4 (ID)" msgid "Primary IPv6 (ID)" msgstr "Основной IPv6 (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "Введите действительный адрес IPv4 или IPv6 (без маски)." + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "Неверный формат адреса IPv4/IPv6: {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "В этом поле требуется IP-адрес без маски." + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "Укажите действительный адрес IPv4 или IPv6." + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "Введите действительный адрес IPv4 или IPv6 (с маской CIDR)." + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "Требуется маска CIDR (например, /24)." + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "Шаблон адреса" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "Обеспечить уникальное пространство" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "Является частным" @@ -7862,7 +8118,7 @@ msgstr "Группа VLAN (если есть)" #: 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:427 +#: 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 msgid "VLAN" @@ -7956,17 +8212,17 @@ 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:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 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:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 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:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "Экспортные цели" @@ -8058,7 +8314,7 @@ msgstr "Порт" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" msgstr "Виртуальная машина" @@ -8144,11 +8400,18 @@ msgstr "" #: ipam/forms/model_forms.py:673 templates/ipam/servicetemplate.html:12 msgid "Service Template" -msgstr "Шаблон услуги" +msgstr "Шаблон Службы" #: ipam/forms/model_forms.py:724 msgid "Service template" -msgstr "Шаблон услуги" +msgstr "Шаблон службы" + +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "" +"Если шаблон сервиса не используется, необходимо указать имя, протокол и порт" +" (порты)." #: ipam/models/asns.py:34 msgid "start" @@ -8426,11 +8689,11 @@ msgstr "номера портов" #: ipam/models/services.py:59 msgid "service template" -msgstr "шаблон сервиса" +msgstr "шаблон службы" #: ipam/models/services.py:60 msgid "service templates" -msgstr "шаблоны сервисов" +msgstr "шаблоны служб" #: ipam/models/services.py:95 msgid "The specific IP addresses (if any) to which this service is bound" @@ -8442,7 +8705,7 @@ msgstr "служба" #: ipam/models/services.py:103 msgid "services" -msgstr "услуги" +msgstr "службы" #: ipam/models/services.py:117 msgid "" @@ -8663,6 +8926,30 @@ msgstr "Цели импорта" msgid "Export Targets" msgstr "Цели экспорта" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "" +"{prefix} не является допустимым префиксом. Вы имели в виду {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "Длина префикса должна быть меньше или равна %(limit_value)s." + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "Длина префикса должна быть больше или равна %(limit_value)s." + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" +"В именах DNS разрешены только буквенно-цифровые символы, звездочки, дефисы, " +"точки и символы подчеркивания" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "Дочерние префиксы" @@ -8675,14 +8962,79 @@ msgstr "Детские диапазоны" msgid "Related IPs" msgstr "Связанные IP-адреса" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "Интерфейсы устройств" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "Интерфейсы виртуальных машин" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "Это поле не может быть пустым." + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" +"Значение должно быть передано напрямую (например, «foo»: 123); не " +"используйте словарь или список." + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} не является правильным выбором." + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "Неверный тип контента: {content_type}" + +#: netbox/api/fields.py:100 +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 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "Неверное разрешение {permission} для модели {model}" + +#: 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 msgid "Login banner" msgstr "Баннер для входа" @@ -8894,31 +9246,56 @@ msgstr "Добавить теги" msgid "Remove tags" msgstr "Удалить теги" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} необходимо указать класс модели." + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "Неизвестное имя поля '{name}'в данных произвольных полей." + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "Неверное значение для настраиваемого поля '{name}': {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "Отсутствует обязательное настраиваемое поле '{name}'." + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "Удаленный источник данных" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "путь к данным" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "Путь к удаленному файлу (относительно корня источника данных)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "автоматическая синхронизация включена" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Включить автоматическую синхронизацию данных при обновлении файла данных" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "дата синхронизирована" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} должен реализовать метод sync_data ()." + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "Организация" @@ -9018,13 +9395,13 @@ msgstr "Группы VLAN" #: netbox/navigation/menu.py:191 msgid "Service Templates" -msgstr "Шаблоны услуг" +msgstr "Шаблоны Служб" #: netbox/navigation/menu.py:192 templates/dcim/device.html:304 #: templates/ipam/ipaddress.html:122 #: templates/virtualization/virtualmachine.html:157 msgid "Services" -msgstr "Сервисы" +msgstr "Службы" #: netbox/navigation/menu.py:199 msgid "VPN" @@ -9049,7 +9426,7 @@ msgid "L2VPNs" msgstr "VPN-сервисы L2P" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Прекращения" @@ -9149,15 +9526,15 @@ msgstr "Настройка" #: templates/tenancy/contactassignment_edit.html:31 #: templates/vpn/l2vpntermination_edit.html:51 msgid "Custom Fields" -msgstr "Настраиваемые поля" +msgstr "Настраиваемые Поля" #: netbox/navigation/menu.py:311 msgid "Custom Field Choices" -msgstr "Выбор настраиваемых полей" +msgstr "Варианты для Настраиваемых Полей" #: netbox/navigation/menu.py:312 msgid "Custom Links" -msgstr "Настраиваемые ссылки" +msgstr "Настраиваемые Ссылки" #: netbox/navigation/menu.py:313 msgid "Export Templates" @@ -9254,6 +9631,65 @@ msgstr "Ревизии конфигурации" msgid "Plugins" msgstr "Плагины" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "Разрешения должны передаваться в виде кортежа или списка." + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "Кнопки должны передаваться в виде кортежа или списка." + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "Цвет кнопки должен быть выбран в ButtonColorChoices." + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "" +"Класс расширения шаблонов плагинов {template_extension} было принято в " +"качестве экземпляра!" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} не является подклассом расширения " +"Netbox.Plugins.Plugins.PluginstemplateExtension!" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "" +"Класс расширения шаблонов плагинов {template_extension} не определяет " +"действительную модель!" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} должен быть экземпляром Netbox.plugins.pluginmenuItem" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} должен быть экземпляром Netbox.plugins.pluginmenuItem" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "" +"{button} должен быть экземпляром кнопки Netbox.plugins.PluginMenuButton" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "extra_context должен быть словарём" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "Цветовой режим" @@ -9303,31 +9739,44 @@ msgstr "" msgid "Data format" msgstr "Формат данных" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "Неверный магазин: {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "Невозможно добавить магазины в реестр после инициализации" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "Невозможно удалить магазины из реестра" + +#: netbox/settings.py:724 msgid "English" msgstr "Английский" -#: netbox/settings.py:727 +#: netbox/settings.py:725 msgid "Spanish" msgstr "Испанский" -#: netbox/settings.py:728 +#: netbox/settings.py:726 msgid "French" msgstr "Французский" -#: netbox/settings.py:729 +#: netbox/settings.py:727 msgid "Japanese" msgstr "Японский" -#: netbox/settings.py:730 +#: netbox/settings.py:728 msgid "Portuguese" msgstr "Португальский" -#: netbox/settings.py:731 +#: netbox/settings.py:729 msgid "Russian" msgstr "Русский" -#: netbox/settings.py:732 +#: netbox/settings.py:730 msgid "Turkish" msgstr "Турецкий" @@ -9359,6 +9808,11 @@ msgstr "Результаты не найдены" msgid "Dummy Plugin" msgstr "Фиктивный плагин" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "Ряд {i}: Объект с идентификатором {id} не существует" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "Журнал изменений" @@ -9367,6 +9821,19 @@ msgstr "Журнал изменений" msgid "Journal" msgstr "журнал" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} должен реализовать get_children ()" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" +"Произошла ошибка при загрузке конфигурации панели управления. По умолчанию " +"используется панель управления." + #: templates/403.html:4 msgid "Access Denied" msgstr "Отказано в доступе" @@ -9425,7 +9892,7 @@ 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "Профиль" @@ -9514,20 +9981,24 @@ msgstr "Электронная почта" msgid "Account Created" msgstr "Учетная запись создана" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "Последний вход в систему" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "Суперпользователь" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "Доступ администратора" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "Назначенные группы" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9543,12 +10014,12 @@ msgstr "Назначенные группы" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "Нет" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "Недавняя активность" @@ -9682,7 +10153,7 @@ msgid "Add Circuit" msgstr "Добавить цепь" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9694,7 +10165,6 @@ msgstr "Добавить" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -10090,7 +10560,7 @@ msgstr "Ножка" #: templates/dcim/device.html:312 #: templates/virtualization/virtualmachine.html:165 msgid "Add a service" -msgstr "Добавить услугу" +msgstr "Добавить службу" #: templates/dcim/device.html:319 templates/dcim/rack.html:77 #: templates/dcim/rack_edit.html:38 @@ -10206,7 +10676,6 @@ msgid "Local Config Context Data" msgstr "Контекстные данные локальной конфигурации" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -11755,7 +12224,7 @@ msgstr "Экспорт L2VPN" #: templates/ipam/service.html:22 templates/ipam/service_create.html:8 #: templates/ipam/service_edit.html:8 msgid "Service" -msgstr "Услуга" +msgstr "Служба" #: templates/ipam/service_create.html:43 msgid "From Template" @@ -11763,7 +12232,7 @@ msgstr "Из шаблона" #: templates/ipam/service_create.html:48 msgid "Custom" -msgstr "Обычай" +msgstr "Настраиваемый" #: templates/ipam/service_edit.html:37 msgid "Port(s)" @@ -11915,7 +12384,7 @@ msgstr "Группа тенантов" msgid "Add Tenant Group" msgstr "Добавить группу тенантов" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "Назначенные разрешения" @@ -11941,7 +12410,7 @@ msgstr "Ограничения" msgid "Assigned Users" msgstr "Назначенные пользователи" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "Персонал" @@ -12046,7 +12515,7 @@ 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Предложения" @@ -12133,7 +12602,7 @@ msgstr "Инкапсуляция" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "Профиль IPsec" @@ -12157,7 +12626,7 @@ 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "Внешний IP-адрес" @@ -12469,7 +12938,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "Должно быть выбрано хотя бы одно действие." -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "Ограничения для этого типа объектов не поддерживаются." + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Неверный фильтр для {model}: {error}" @@ -12575,7 +13048,7 @@ msgstr "разрешения" #: users/tables.py:101 msgid "Custom Actions" -msgstr "Настраиваемые действия" +msgstr "Настраиваемые Действия" #: utilities/choices.py:16 #, python-brace-format @@ -12679,6 +13152,10 @@ msgstr "" msgid "More than 50" msgstr "Более 50" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "Настраиваемый набор запросов нельзя использовать для этого поиска." + #: utilities/fields.py:162 #, python-format msgid "" @@ -12709,6 +13186,15 @@ msgstr "CSV-разделитель" msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "Символ, ограничивающий поля CSV. Применяется только к формату CSV." +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "При загрузке/выборе файла данные формы должны быть пустыми." + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "Неизвестный формат данных: {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "Не удалось определить формат данных. Пожалуйста, укажите." @@ -12792,12 +13278,12 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "Уникальное сокращение, удобное для URL-адресов" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" "Введите контекстные данные в JSON формат." -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "MAC-адрес должен быть в формате EUI-48" @@ -12826,6 +13312,87 @@ msgstr "" "Этот объект был изменен с момента визуализации формы. Подробности см. в " "журнале изменений объекта." +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "Ассортимент»{value}\"недействительно." + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "Повторяющийся или конфликтующий заголовок столбца для»{field}»" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "Повторяющийся или конфликтующий заголовок столбца для»{header}»" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" +"Ряд {row}: Ожидается {count_expected} столбцы, но найдены {count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "Неожиданный заголовок столбца»{field}«найдено." + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "" +"Столбец»{field}\"не является родственным объектом; нельзя использовать точки" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "Неверный атрибут связанного объекта для столбца»{field}«: {to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "Обязательный заголовок столбца»{header}\"не найден." + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" +"Отсутствует обязательное значение параметра динамического запроса: " +"'{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "" +"Отсутствует обязательное значение для статического параметра запроса: " +"'{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "" +"Неверное имя разрешения: {name}. Должно быть в формате " +"._" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "Неизвестное app_label/имя_модели для {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "Неверный IP-адрес установлен для {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "Столбец с именем {name} уже определено для таблицы {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "Не определено" @@ -12906,6 +13473,73 @@ msgstr "Напишите" msgid "Testing" msgstr "Тестирование" +#: utilities/testing/views.py:625 +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 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "" +"{self.__class__.__name__} должен реализовать функцию get_required_permission" +" ()" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} должен реализовать функцию get_required_permission ()" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} не имеет определенного набора запросов. " +"ObjectPermissionRequiredMixin можно использовать только в представлениях, " +"определяющих базовый набор запросов" + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "Родительская группа (ID)" @@ -13266,13 +13900,13 @@ 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:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: 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:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Политика IPsec" @@ -13348,7 +13982,7 @@ msgid "IKE version" msgstr "Версия IKE" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Предложение" @@ -13368,15 +14002,15 @@ msgstr "Второе расторжение" msgid "This parameter is required when defining a termination." msgstr "Этот параметр необходим при определении прекращения." -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "Политика" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "В терминации должен быть указан интерфейс или VLAN." -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -13565,7 +14199,7 @@ msgstr "Родитель объекта" msgid "Object Site" msgstr "Объектный сайт" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "Хозяин" @@ -13648,3 +14282,13 @@ msgstr "беспроводные ссылки" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} не является беспроводным интерфейсом." + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "Неверное значение канала: {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "Неверный атрибут канала: {name}" diff --git a/netbox/translations/tr/LC_MESSAGES/django.mo b/netbox/translations/tr/LC_MESSAGES/django.mo index 2063baaad8820730ed1ce6392265da786cde20d5..f6d54ea9ab2403a1bc54939c0505908f1d5666ac 100644 GIT binary patch delta 74956 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 delta 59660 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≈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 diff --git a/netbox/translations/tr/LC_MESSAGES/django.po b/netbox/translations/tr/LC_MESSAGES/django.po index 5e1ab5545..ce0eeec33 100644 --- a/netbox/translations/tr/LC_MESSAGES/django.po +++ b/netbox/translations/tr/LC_MESSAGES/django.po @@ -4,17 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2024 # Burak Senturk, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-23 18:14+0000\n" +"POT-Creation-Date: 2024-02-21 19:48+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Burak Senturk, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -78,7 +78,7 @@ msgstr "Tedarik" #: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1494 #: dcim/choices.py:1544 extras/tables/tables.py:380 ipam/choices.py:31 #: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:34 +#: 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 msgid "Active" @@ -98,37 +98,37 @@ msgstr "Hazırlıktan Kaldırma" msgid "Decommissioned" msgstr "Hizmet dışı bırakıldı" -#: circuits/filtersets.py:29 circuits/filtersets.py:184 dcim/filtersets.py:122 -#: dcim/filtersets.py:183 dcim/filtersets.py:258 dcim/filtersets.py:367 -#: dcim/filtersets.py:889 dcim/filtersets.py:1193 dcim/filtersets.py:1688 -#: dcim/filtersets.py:1931 dcim/filtersets.py:1989 ipam/filtersets.py:305 +#: circuits/filtersets.py:29 circuits/filtersets.py:184 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 msgid "Region (ID)" msgstr "Bölge (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:191 dcim/filtersets.py:128 -#: dcim/filtersets.py:190 dcim/filtersets.py:265 dcim/filtersets.py:374 -#: dcim/filtersets.py:896 dcim/filtersets.py:1200 dcim/filtersets.py:1695 -#: dcim/filtersets.py:1938 dcim/filtersets.py:1996 extras/filtersets.py:414 +#: circuits/filtersets.py:36 circuits/filtersets.py:191 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 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 #: vpn/filtersets.py:325 msgid "Region (slug)" msgstr "Bölge (kısa ad)" -#: circuits/filtersets.py:42 circuits/filtersets.py:197 dcim/filtersets.py:196 -#: dcim/filtersets.py:271 dcim/filtersets.py:380 dcim/filtersets.py:902 -#: dcim/filtersets.py:1206 dcim/filtersets.py:1701 dcim/filtersets.py:1944 -#: dcim/filtersets.py:2002 ipam/filtersets.py:318 ipam/filtersets.py:909 +#: circuits/filtersets.py:42 circuits/filtersets.py:197 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 msgid "Site group (ID)" msgstr "Site grubu (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:204 dcim/filtersets.py:203 -#: dcim/filtersets.py:278 dcim/filtersets.py:387 dcim/filtersets.py:909 -#: dcim/filtersets.py:1213 dcim/filtersets.py:1708 dcim/filtersets.py:1951 -#: dcim/filtersets.py:2009 extras/filtersets.py:420 ipam/filtersets.py:325 +#: circuits/filtersets.py:49 circuits/filtersets.py:204 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 msgid "Site group (slug)" @@ -139,9 +139,9 @@ msgstr "Site grubu (kısa ad)" #: 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:176 dcim/forms/bulk_import.py:249 -#: dcim/forms/bulk_import.py:477 dcim/forms/bulk_import.py:1239 -#: dcim/forms/bulk_import.py:1267 dcim/forms/filtersets.py:84 +#: 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 @@ -149,7 +149,7 @@ msgstr "Site grubu (kısa ad)" #: 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:397 dcim/forms/model_forms.py:630 +#: 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 @@ -171,8 +171,8 @@ msgstr "Site grubu (kısa ad)" #: 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:99 -#: virtualization/forms/bulk_edit.py:108 virtualization/forms/bulk_edit.py:123 +#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 +#: virtualization/forms/bulk_edit.py:123 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 #: virtualization/forms/filtersets.py:78 @@ -187,8 +187,8 @@ msgid "Site" msgstr "Site" #: circuits/filtersets.py:60 circuits/filtersets.py:215 -#: circuits/filtersets.py:252 dcim/filtersets.py:213 dcim/filtersets.py:288 -#: dcim/filtersets.py:361 extras/filtersets.py:436 ipam/filtersets.py:215 +#: circuits/filtersets.py:252 dcim/filtersets.py:215 dcim/filtersets.py:290 +#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 #: ipam/filtersets.py:335 ipam/filtersets.py:926 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 #: vpn/filtersets.py:335 @@ -226,9 +226,9 @@ msgid "Circuit type (slug)" msgstr "Devre tipi (kısa ad)" #: circuits/filtersets.py:209 circuits/filtersets.py:246 -#: dcim/filtersets.py:207 dcim/filtersets.py:282 dcim/filtersets.py:355 -#: dcim/filtersets.py:913 dcim/filtersets.py:1218 dcim/filtersets.py:1713 -#: dcim/filtersets.py:1955 dcim/filtersets.py:2014 ipam/filtersets.py:209 +#: 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 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 #: vpn/filtersets.py:340 @@ -236,7 +236,7 @@ msgid "Site (ID)" msgstr "Site (ID)" #: circuits/filtersets.py:238 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:638 dcim/filtersets.py:1187 dcim/filtersets.py:2062 +#: 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 @@ -360,13 +360,14 @@ msgstr "ASN'ler" #: 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: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 +#: 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 msgid "Description" msgstr "Açıklama" @@ -396,8 +397,8 @@ msgstr "Servis ID" #: 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:717 -#: dcim/tables/devices.py:777 dcim/tables/devices.py:1004 +#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:722 +#: dcim/tables/devices.py:782 dcim/tables/devices.py:1009 #: 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 @@ -416,11 +417,11 @@ msgstr "Renk" #: 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 -#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:645 -#: dcim/forms/bulk_import.py:671 dcim/forms/bulk_import.py:697 -#: dcim/forms/bulk_import.py:717 dcim/forms/bulk_import.py:800 -#: dcim/forms/bulk_import.py:890 dcim/forms/bulk_import.py:932 -#: dcim/forms/bulk_import.py:1145 dcim/forms/bulk_import.py:1304 +#: 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 @@ -428,7 +429,7 @@ msgstr "Renk" #: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 #: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 #: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:211 dcim/tables/devices.py:838 #: 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 @@ -465,34 +466,34 @@ msgstr "Sağlayıcı hesabı" #: 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:194 dcim/forms/bulk_import.py:442 -#: dcim/forms/bulk_import.py:596 dcim/forms/bulk_import.py:1139 -#: dcim/forms/bulk_import.py:1299 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:836 dcim/tables/devices.py:1064 -#: 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:449 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 +#: 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:841 +#: dcim/tables/devices.py:1069 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:449 +#: 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 @@ -504,7 +505,7 @@ msgstr "Sağlayıcı hesabı" #: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 #: virtualization/tables/virtualmachines.py:50 vpn/forms/bulk_edit.py:38 #: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:42 +#: 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 @@ -518,9 +519,9 @@ msgstr "Durum" #: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 #: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:187 dcim/forms/bulk_import.py:274 -#: dcim/forms/bulk_import.py:416 dcim/forms/bulk_import.py:1151 -#: dcim/forms/bulk_import.py:1356 dcim/forms/filtersets.py:165 +#: 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 @@ -589,8 +590,8 @@ msgstr "Servis Parametreleri" #: 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:672 -#: dcim/forms/model_forms.py:1478 ipam/forms/model_forms.py:61 +#: 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 @@ -600,7 +601,7 @@ msgstr "Servis Parametreleri" #: 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:404 +#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 #: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 msgid "Tenancy" msgstr "Kiracılık" @@ -610,9 +611,9 @@ msgstr "Kiracılık" msgid "Assigned provider" msgstr "Atanan sağlayıcı" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:170 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:1092 -#: dcim/forms/bulk_import.py:1171 extras/forms/bulk_import.py:229 +#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:229 msgid "RGB color in hexadecimal. Example:" msgstr "Onaltılık değerde RGB rengi. Örnek:" @@ -625,9 +626,9 @@ msgid "Type of circuit" msgstr "Devre tipi" #: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:196 -#: dcim/forms/bulk_import.py:444 dcim/forms/bulk_import.py:598 -#: dcim/forms/bulk_import.py:1301 ipam/forms/bulk_import.py:193 +#: 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 @@ -635,9 +636,9 @@ msgid "Operational status" msgstr "Operasyonel durum" #: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:278 -#: dcim/forms/bulk_import.py:420 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1296 ipam/forms/bulk_import.py:41 +#: 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 @@ -656,9 +657,9 @@ msgstr "Sağlayıcı ağı" #: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:118 #: 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:181 -#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1245 dcim/forms/bulk_import.py:1279 +#: dcim/forms/bulk_edit.py:772 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 @@ -671,8 +672,8 @@ msgstr "Sağlayıcı ağı" #: 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:402 -#: dcim/forms/model_forms.py:635 dcim/tables/devices.py:190 +#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 #: 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 @@ -821,7 +822,7 @@ msgstr "devre ID" msgid "Unique circuit ID" msgstr "Benzersiz devre ID" -#: circuits/models/circuits.py:67 core/models/data.py:54 +#: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:641 #: dcim/models/devices.py:1165 dcim/models/devices.py:1374 #: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 @@ -915,8 +916,19 @@ msgstr "devre sonlandırma" msgid "circuit terminations" msgstr "devre sonlandırmaları" +#: circuits/models/circuits.py:237 +msgid "" +"A circuit termination must attach to either a site or a provider network." +msgstr "" +"Bir devre sonlandırma, bir siteye veya bir sağlayıcı ağına bağlanmalıdır." + +#: circuits/models/circuits.py:239 +msgid "" +"A circuit termination cannot attach to both a site and a provider network." +msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." + #: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:41 +#: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:581 #: dcim/models/devices.py:1305 dcim/models/devices.py:1370 @@ -990,13 +1002,13 @@ msgstr "sağlayıcı ağları" #: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 #: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 #: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:318 dcim/tables/devices.py:395 -#: dcim/tables/devices.py:439 dcim/tables/devices.py:491 -#: dcim/tables/devices.py:543 dcim/tables/devices.py:663 -#: dcim/tables/devices.py:744 dcim/tables/devices.py:794 -#: dcim/tables/devices.py:860 dcim/tables/devices.py:975 -#: dcim/tables/devices.py:995 dcim/tables/devices.py:1024 -#: dcim/tables/devices.py:1054 dcim/tables/devicetypes.py:32 +#: dcim/tables/devices.py:318 dcim/tables/devices.py:400 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:496 +#: dcim/tables/devices.py:548 dcim/tables/devices.py:668 +#: dcim/tables/devices.py:749 dcim/tables/devices.py:799 +#: dcim/tables/devices.py:865 dcim/tables/devices.py:980 +#: dcim/tables/devices.py:1000 dcim/tables/devices.py:1029 +#: dcim/tables/devices.py:1059 dcim/tables/devicetypes.py:32 #: dcim/tables/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 @@ -1099,7 +1111,7 @@ msgstr "Taahhüt Oranı" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1037 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1042 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 @@ -1113,7 +1125,7 @@ msgstr "Taahhüt Oranı" #: virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:68 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:57 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 #: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "Yorumlar" @@ -1205,6 +1217,11 @@ msgstr "Şifre" msgid "Branch" msgstr "Şube" +#: core/data_backends.py:105 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "Uzaktan veri getirilemedi ({name}): {error}" + #: core/data_backends.py:118 msgid "AWS access key ID" msgstr "AWS erişim anahtarı kimliği" @@ -1222,16 +1239,31 @@ msgstr "Veri kaynağı (ID)" msgid "Data source (name)" msgstr "Veri kaynağı (isim)" -#: core/forms/bulk_edit.py:24 ipam/forms/bulk_edit.py:47 -msgid "Enforce unique space" -msgstr "Benzersiz alanı uygulayın" +#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 +#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 +#: dcim/tables/devices.py:573 dcim/tables/devicetypes.py:221 +#: 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 +msgid "Enabled" +msgstr "Etkin" #: 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:294 -#: vpn/forms/model_forms.py:315 vpn/forms/model_forms.py:329 -#: vpn/forms/model_forms.py:350 vpn/forms/model_forms.py:373 +#: 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 msgid "Parameters" msgstr "Parametreler" @@ -1252,25 +1284,6 @@ msgstr "Kuralları yok sayın" msgid "Data Source" msgstr "Veri Kaynağı" -#: 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:568 -#: 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 -msgid "Enabled" -msgstr "Etkin" - #: core/forms/filtersets.py:51 core/forms/mixins.py:21 msgid "File" msgstr "Dosya" @@ -1351,6 +1364,16 @@ msgstr "Arka Uç Parametreleri" msgid "File Upload" msgstr "Dosya Yükleme" +#: core/forms/model_forms.py:106 +msgid "Cannot upload a file and sync from an existing file" +msgstr "Dosya yüklenemiyor ve varolan bir dosyadan senkronize edilemiyor" + +#: core/forms/model_forms.py:108 +msgid "Must upload a file or select a data file to sync" +msgstr "" +"Senkronize etmek için bir dosya yüklemeniz veya bir veri dosyası seçmeniz " +"gerekir" + #: core/forms/model_forms.py:147 templates/core/configrevision.html:43 #: templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" @@ -1415,7 +1438,7 @@ msgstr "Mevcut değer: {value}" msgid " (default)" msgstr " (varsayılan)" -#: core/models/config.py:18 core/models/data.py:259 core/models/files.py:27 +#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 #: core/models/jobs.py:50 extras/models/models.py:760 #: netbox/models/features.py:52 users/models.py:248 msgid "created" @@ -1450,7 +1473,7 @@ msgstr "Geçerli yapılandırma" msgid "Config revision #{id}" msgstr "Yapılandırma revizyonu #{id}" -#: core/models/data.py:46 dcim/models/cables.py:43 +#: core/models/data.py:47 dcim/models/cables.py:43 #: dcim/models/device_component_templates.py:177 #: dcim/models/device_component_templates.py:211 #: dcim/models/device_component_templates.py:246 @@ -1468,90 +1491,102 @@ msgstr "Yapılandırma revizyonu #{id}" msgid "type" msgstr "türü" -#: core/models/data.py:51 extras/choices.py:34 extras/models/models.py:194 +#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 #: templates/core/datasource.html:59 msgid "URL" msgstr "URL" -#: core/models/data.py:61 dcim/models/device_component_templates.py:392 +#: core/models/data.py:62 dcim/models/device_component_templates.py:392 #: dcim/models/device_components.py:513 extras/models/models.py:88 #: extras/models/models.py:331 extras/models/models.py:556 users/models.py:353 msgid "enabled" msgstr "etkin" -#: core/models/data.py:65 +#: core/models/data.py:66 msgid "ignore rules" msgstr "kuralları yok sayın" -#: core/models/data.py:67 +#: core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" "Senkronizasyon sırasında yok sayılacak dosyalarla eşleşen desenler (satır " "başına bir tane)" -#: core/models/data.py:70 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:564 msgid "parameters" msgstr "parametreler" -#: core/models/data.py:75 +#: core/models/data.py:76 msgid "last synced" msgstr "son senkronize edildi" -#: core/models/data.py:83 +#: core/models/data.py:84 msgid "data source" msgstr "veri kaynağı" -#: core/models/data.py:84 +#: core/models/data.py:85 msgid "data sources" msgstr "veri kaynakları" -#: core/models/data.py:124 +#: core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "Bilinmeyen arka uç türü: {type}" -#: core/models/data.py:263 core/models/files.py:31 +#: core/models/data.py:180 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "Senkronizasyon başlatılamıyor; senkronizasyon zaten devam ediyor." + +#: core/models/data.py:193 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" +"Arka ucu başlatırken bir hata oluştu. Bir bağımlılığın yüklenmesi gerekiyor:" +" " + +#: core/models/data.py:286 core/models/files.py:31 #: netbox/models/features.py:58 msgid "last updated" msgstr "son güncellendi" -#: core/models/data.py:273 dcim/models/cables.py:430 +#: core/models/data.py:296 dcim/models/cables.py:438 msgid "path" msgstr "yol" -#: core/models/data.py:276 +#: core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "Veri kaynağının köküne göre dosya yolu" -#: core/models/data.py:280 ipam/models/ip.py:502 +#: core/models/data.py:303 ipam/models/ip.py:502 msgid "size" msgstr "boyut" -#: core/models/data.py:283 +#: core/models/data.py:306 msgid "hash" msgstr "kare" -#: core/models/data.py:287 +#: core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "Uzunluk 64 onaltılık karakter olmalıdır." -#: core/models/data.py:289 +#: core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "Dosya verilerinin SHA256 karması" -#: core/models/data.py:306 +#: core/models/data.py:329 msgid "data file" msgstr "veri dosyası" -#: core/models/data.py:307 +#: core/models/data.py:330 msgid "data files" msgstr "veri dosyaları" -#: core/models/data.py:393 +#: core/models/data.py:416 msgid "auto sync record" msgstr "otomatik senkronizasyon kaydı" -#: core/models/data.py:394 +#: core/models/data.py:417 msgid "auto sync records" msgstr "otomatik senkronizasyon kayıtları" @@ -1621,6 +1656,12 @@ msgstr "meslekler" msgid "Jobs cannot be assigned to this object type ({type})." msgstr "İşler bu nesne türüne atanamaz ({type})." +#: core/models/jobs.py:185 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "" +"İşin sonlandırılması için geçersiz durum. Seçenekler şunlardır: {choices}" + #: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 msgid "Is Active" msgstr "Aktif mi" @@ -1664,7 +1705,7 @@ msgstr "Başladı" msgid "Facility ID" msgstr "Tesis Kimliği" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:680 +#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 msgid "Position (U)" msgstr "Pozisyon (U)" @@ -1740,13 +1781,13 @@ msgstr "İnç" #: 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/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:503 -#: dcim/forms/bulk_import.py:770 dcim/forms/bulk_import.py:1021 +#: 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:955 dcim/forms/model_forms.py:1296 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:671 -#: dcim/tables/devices.py:955 extras/tables/tables.py:181 +#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 +#: dcim/forms/object_import.py:181 dcim/tables/devices.py:676 +#: dcim/tables/devices.py:960 extras/tables/tables.py:181 #: 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 @@ -1855,8 +1896,8 @@ msgid "Virtual" msgstr "Sanal" #: dcim/choices.py:796 dcim/choices.py:1019 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:881 -#: dcim/forms/model_forms.py:1190 netbox/navigation/menu.py:128 +#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 +#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 #: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 msgid "Wireless" msgstr "Kablosuz" @@ -1866,8 +1907,8 @@ msgid "Virtual interfaces" msgstr "Sanal arayüzler" #: dcim/choices.py:950 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:777 dcim/forms/model_forms.py:869 -#: dcim/tables/devices.py:675 templates/dcim/interface.html:109 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 +#: dcim/tables/devices.py:680 templates/dcim/interface.html:109 #: templates/virtualization/vminterface.html:46 #: virtualization/forms/bulk_edit.py:211 #: virtualization/forms/bulk_import.py:158 @@ -2024,200 +2065,210 @@ msgstr "Tek fazlı" msgid "Three-phase" msgstr "Üç fazlı" -#: dcim/filtersets.py:82 +#: dcim/fields.py:45 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "Geçersiz MAC adresi biçimi: {value}" + +#: dcim/fields.py:71 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "Geçersiz WWN biçimi: {value}" + +#: dcim/filtersets.py:84 msgid "Parent region (ID)" msgstr "Ana bölge (ID)" -#: dcim/filtersets.py:88 +#: dcim/filtersets.py:90 msgid "Parent region (slug)" msgstr "Ana bölge (kısa ad)" -#: dcim/filtersets.py:99 +#: dcim/filtersets.py:101 msgid "Parent site group (ID)" msgstr "Ana site grubu (ID)" -#: dcim/filtersets.py:105 +#: dcim/filtersets.py:107 msgid "Parent site group (slug)" msgstr "Ana site grubu (kısa ad)" -#: dcim/filtersets.py:134 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 msgid "Group (ID)" msgstr "Grup (ID)" -#: dcim/filtersets.py:140 +#: dcim/filtersets.py:142 msgid "Group (slug)" msgstr "Grup (kısa ad)" -#: dcim/filtersets.py:146 dcim/filtersets.py:151 +#: dcim/filtersets.py:148 dcim/filtersets.py:153 msgid "AS (ID)" msgstr "OLARAK (İD)" -#: dcim/filtersets.py:219 dcim/filtersets.py:294 dcim/filtersets.py:393 -#: dcim/filtersets.py:925 dcim/filtersets.py:1229 dcim/filtersets.py:1967 +#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 +#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 msgid "Location (ID)" msgstr "Konum (ID)" -#: dcim/filtersets.py:226 dcim/filtersets.py:301 dcim/filtersets.py:400 -#: dcim/filtersets.py:1235 extras/filtersets.py:447 +#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 +#: dcim/filtersets.py:1249 extras/filtersets.py:447 msgid "Location (slug)" msgstr "Konum (kısa ad)" -#: dcim/filtersets.py:315 dcim/filtersets.py:772 dcim/filtersets.py:862 -#: dcim/filtersets.py:1635 ipam/filtersets.py:347 ipam/filtersets.py:459 +#: 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 msgid "Role (ID)" msgstr "Rol (ID)" -#: dcim/filtersets.py:321 dcim/filtersets.py:778 dcim/filtersets.py:868 -#: dcim/filtersets.py:1641 extras/filtersets.py:463 ipam/filtersets.py:353 +#: 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 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Rol (kısa ad)" -#: dcim/filtersets.py:350 dcim/filtersets.py:930 dcim/filtersets.py:1240 -#: dcim/filtersets.py:2029 +#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 +#: dcim/filtersets.py:2043 msgid "Rack (ID)" msgstr "Raf (ID)" -#: dcim/filtersets.py:404 extras/filtersets.py:234 extras/filtersets.py:278 +#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 #: extras/filtersets.py:318 extras/filtersets.py:613 msgid "User (ID)" msgstr "Kullanıcı (ID)" -#: dcim/filtersets.py:410 extras/filtersets.py:240 extras/filtersets.py:284 +#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 #: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 msgid "User (name)" msgstr "Kullanıcı (isim)" -#: dcim/filtersets.py:438 dcim/filtersets.py:565 dcim/filtersets.py:762 -#: dcim/filtersets.py:813 dcim/filtersets.py:841 dcim/filtersets.py:1131 -#: dcim/filtersets.py:1625 +#: 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 msgid "Manufacturer (ID)" msgstr "Üretici (ID)" -#: dcim/filtersets.py:444 dcim/filtersets.py:571 dcim/filtersets.py:768 -#: dcim/filtersets.py:819 dcim/filtersets.py:847 dcim/filtersets.py:1137 -#: dcim/filtersets.py:1631 +#: 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 msgid "Manufacturer (slug)" msgstr "Üretici (kısa ad)" -#: dcim/filtersets.py:448 +#: dcim/filtersets.py:450 msgid "Default platform (ID)" msgstr "Varsayılan platform (ID)" -#: dcim/filtersets.py:454 +#: dcim/filtersets.py:456 msgid "Default platform (slug)" msgstr "Varsayılan platform (kısa ad)" -#: dcim/filtersets.py:457 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Ön resmi var" -#: dcim/filtersets.py:461 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Arka görüntüsü var" -#: dcim/filtersets.py:466 dcim/filtersets.py:575 dcim/filtersets.py:983 +#: 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 msgid "Has console ports" msgstr "Konsol bağlantı noktaları vardır" -#: dcim/filtersets.py:470 dcim/filtersets.py:579 dcim/filtersets.py:987 +#: 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 msgid "Has console server ports" msgstr "Konsol sunucusu bağlantı noktaları vardır" -#: dcim/filtersets.py:474 dcim/filtersets.py:583 dcim/filtersets.py:991 +#: 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 msgid "Has power ports" msgstr "Güç bağlantı noktaları vardır" -#: dcim/filtersets.py:478 dcim/filtersets.py:587 dcim/filtersets.py:995 +#: 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 msgid "Has power outlets" msgstr "Elektrik prizleri var" -#: dcim/filtersets.py:482 dcim/filtersets.py:591 dcim/filtersets.py:999 +#: 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 msgid "Has interfaces" msgstr "Arayüzleri vardır" -#: dcim/filtersets.py:486 dcim/filtersets.py:595 dcim/filtersets.py:1003 +#: 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 msgid "Has pass-through ports" msgstr "Geçiş bağlantı noktaları vardır" -#: dcim/filtersets.py:490 dcim/filtersets.py:1007 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Modül yuvaları vardır" -#: dcim/filtersets.py:494 dcim/filtersets.py:1011 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Aygıt yuvaları vardır" -#: dcim/filtersets.py:498 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Envanter kalemleri var" -#: dcim/filtersets.py:643 dcim/filtersets.py:857 dcim/filtersets.py:1261 +#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 msgid "Device type (ID)" msgstr "Aygıt tipi (ID)" -#: dcim/filtersets.py:659 dcim/filtersets.py:1142 +#: dcim/filtersets.py:661 dcim/filtersets.py:1156 msgid "Module type (ID)" msgstr "Modül tipi (ID)" -#: dcim/filtersets.py:758 dcim/filtersets.py:1621 +#: dcim/filtersets.py:760 dcim/filtersets.py:1635 msgid "Parent inventory item (ID)" msgstr "Ana envanter kalemi (ID)" -#: dcim/filtersets.py:801 dcim/filtersets.py:823 dcim/filtersets.py:979 +#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Yapılandırma şablonu (ID)" -#: dcim/filtersets.py:853 +#: dcim/filtersets.py:867 msgid "Device type (slug)" msgstr "Aygıt tipi (kısa ad)" -#: dcim/filtersets.py:873 +#: dcim/filtersets.py:887 msgid "Parent Device (ID)" msgstr "Ana Aygıt (ID)" -#: dcim/filtersets.py:877 virtualization/filtersets.py:220 +#: dcim/filtersets.py:891 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Platform (ID)" -#: dcim/filtersets.py:883 extras/filtersets.py:474 +#: dcim/filtersets.py:897 extras/filtersets.py:474 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Platform (kısa ad)" -#: dcim/filtersets.py:919 dcim/filtersets.py:1224 dcim/filtersets.py:1719 -#: dcim/filtersets.py:1961 dcim/filtersets.py:2020 +#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 +#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 msgid "Site name (slug)" msgstr "Site adı (kısa ad)" -#: dcim/filtersets.py:934 +#: dcim/filtersets.py:948 msgid "VM cluster (ID)" msgstr "VM kümesi (ID)" -#: dcim/filtersets.py:940 +#: dcim/filtersets.py:954 msgid "Device model (slug)" msgstr "Aygıt modeli (kısa ad)" -#: dcim/filtersets.py:951 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 msgid "Is full depth" msgstr "Tam derinlik mi" -#: dcim/filtersets.py:955 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 +#: 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 @@ -2225,68 +2276,68 @@ msgstr "Tam derinlik mi" msgid "MAC address" msgstr "MAC adresi" -#: dcim/filtersets.py:962 dcim/forms/filtersets.py:754 +#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 #: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 #: virtualization/forms/filtersets.py:172 msgid "Has a primary IP" msgstr "Birincil IP'ye sahiptir" -#: dcim/filtersets.py:966 +#: dcim/filtersets.py:980 msgid "Has an out-of-band IP" msgstr "Bant dışı bir IP'ye sahiptir" -#: dcim/filtersets.py:971 +#: dcim/filtersets.py:985 msgid "Virtual chassis (ID)" msgstr "Sanal kasa (ID)" -#: dcim/filtersets.py:975 +#: dcim/filtersets.py:989 msgid "Is a virtual chassis member" msgstr "Sanal bir şasi üyesidir" -#: dcim/filtersets.py:1016 +#: dcim/filtersets.py:1030 msgid "OOB IP (ID)" msgstr "OOB İP (KİMLİĞİ)" -#: dcim/filtersets.py:1148 +#: dcim/filtersets.py:1162 msgid "Module type (model)" msgstr "Modül tipi (model)" -#: dcim/filtersets.py:1154 +#: dcim/filtersets.py:1168 msgid "Module Bay (ID)" msgstr "Modül Yuvası (ID)" -#: dcim/filtersets.py:1158 dcim/filtersets.py:1250 ipam/filtersets.py:577 +#: 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 msgid "Device (ID)" msgstr "Aygıt (ID)" -#: dcim/filtersets.py:1246 +#: dcim/filtersets.py:1260 msgid "Rack (name)" msgstr "Raf (isim)" -#: dcim/filtersets.py:1256 ipam/filtersets.py:572 ipam/filtersets.py:802 +#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 #: ipam/filtersets.py:1032 vpn/filtersets.py:346 msgid "Device (name)" msgstr "Aygıt (isim)" -#: dcim/filtersets.py:1267 +#: dcim/filtersets.py:1281 msgid "Device type (model)" msgstr "Aygıt tipi (model)" -#: dcim/filtersets.py:1272 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 msgid "Device role (ID)" msgstr "Aygıt rolü (ID)" -#: dcim/filtersets.py:1278 dcim/filtersets.py:1301 +#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 msgid "Device role (slug)" msgstr "Aygıt rolü (kısa ad)" -#: dcim/filtersets.py:1283 +#: dcim/filtersets.py:1297 msgid "Virtual Chassis (ID)" msgstr "Sanal Kasa (ID)" -#: dcim/filtersets.py:1289 dcim/forms/filtersets.py:106 +#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 #: dcim/tables/devices.py:235 netbox/navigation/menu.py:67 #: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 @@ -2295,23 +2346,23 @@ msgstr "Sanal Kasa (ID)" msgid "Virtual Chassis" msgstr "Sanal Şasi" -#: dcim/filtersets.py:1321 +#: dcim/filtersets.py:1335 msgid "Module (ID)" msgstr "Modül (ID)" -#: dcim/filtersets.py:1425 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Atanmış VLAN" -#: dcim/filtersets.py:1429 +#: dcim/filtersets.py:1443 msgid "Assigned VID" msgstr "Atanmış VID" -#: dcim/filtersets.py:1434 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:828 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1175 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:637 ipam/filtersets.py:282 ipam/filtersets.py:293 +#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:642 ipam/filtersets.py:282 ipam/filtersets.py:293 #: 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 @@ -2337,77 +2388,77 @@ msgstr "Atanmış VID" msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1440 ipam/filtersets.py:288 ipam/filtersets.py:299 +#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 #: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 msgid "VRF (RD)" msgstr "VRF (RD)" -#: dcim/filtersets.py:1445 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 msgid "L2VPN (ID)" msgstr "L2VPN (KİMLİĞİ)" -#: dcim/filtersets.py:1451 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:585 ipam/filtersets.py:973 +#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 +#: dcim/tables/devices.py:590 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:402 -#: vpn/forms/model_forms.py:420 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: 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 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1483 +#: dcim/filtersets.py:1497 msgid "Virtual Chassis Interfaces for Device" msgstr "Aygıt için Sanal Kasa Arabirimleri" -#: dcim/filtersets.py:1488 +#: dcim/filtersets.py:1502 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Aygıt için Sanal Kasa Arabirimleri (ID)" -#: dcim/filtersets.py:1492 +#: dcim/filtersets.py:1506 msgid "Kind of interface" msgstr "Arayüz türü" -#: dcim/filtersets.py:1497 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Ebeveyn arabirimi (ID)" -#: dcim/filtersets.py:1502 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Köprülü arayüz (ID)" -#: dcim/filtersets.py:1507 +#: dcim/filtersets.py:1521 msgid "LAG interface (ID)" msgstr "LAG arabirimi (ID)" -#: dcim/filtersets.py:1676 +#: dcim/filtersets.py:1690 msgid "Master (ID)" msgstr "Master (ID)" -#: dcim/filtersets.py:1682 +#: dcim/filtersets.py:1696 msgid "Master (name)" msgstr "Master (isim)" -#: dcim/filtersets.py:1724 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 msgid "Tenant (ID)" msgstr "Kiracı (ID)" -#: dcim/filtersets.py:1730 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 msgid "Tenant (slug)" msgstr "Kiracı (kısa ad)" -#: dcim/filtersets.py:1766 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 msgid "Unterminated" msgstr "Sonlandırılmamış" -#: dcim/filtersets.py:2024 +#: dcim/filtersets.py:2038 msgid "Power panel (ID)" msgstr "Güç paneli (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:79 +#: 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 @@ -2416,9 +2467,9 @@ msgid "Tags" msgstr "Etiketler" #: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:468 +#: 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:720 +#: dcim/tables/devices.py:198 dcim/tables/devices.py:725 #: 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 @@ -2458,9 +2509,9 @@ msgstr "" #: 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 -#: 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 +#: 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 msgid "Group" msgstr "Grup" @@ -2482,13 +2533,13 @@ msgid "Time zone" msgstr "Saat dilimi" #: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:199 -#: dcim/forms/bulk_import.py:1009 dcim/forms/filtersets.py:299 +#: 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:963 -#: dcim/forms/model_forms.py:1304 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:828 -#: dcim/tables/devices.py:939 dcim/tables/devicetypes.py:300 +#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 +#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 +#: dcim/tables/devices.py:202 dcim/tables/devices.py:833 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:300 #: dcim/tables/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 @@ -2518,7 +2569,7 @@ msgstr "Saat dilimi" #: virtualization/tables/virtualmachines.py:65 vpn/forms/bulk_edit.py:86 #: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 #: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 -#: vpn/tables/tunnels.py:78 +#: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Rol" @@ -2535,7 +2586,7 @@ msgstr "Seri Numarası" msgid "Asset tag" msgstr "Varlık etiketi" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:212 +#: 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 msgid "Width" @@ -2557,7 +2608,7 @@ msgstr "Dış genişlik" msgid "Outer depth" msgstr "Dış derinlik" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:217 +#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Dış ünite" @@ -2568,11 +2619,11 @@ msgstr "Montaj derinliği" #: 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_import.py:324 dcim/forms/bulk_import.py:350 +#: 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:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:337 +#: 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 @@ -2591,22 +2642,22 @@ msgid "Max weight" msgstr "Maksimum ağırlık" #: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:223 -#: dcim/forms/bulk_import.py:329 dcim/forms/bulk_import.py:355 +#: dcim/forms/bulk_edit.py:478 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 msgid "Weight unit" msgstr "Ağırlık birimi" #: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 -#: dcim/forms/bulk_import.py:262 dcim/forms/bulk_import.py:265 -#: dcim/forms/bulk_import.py:490 dcim/forms/bulk_import.py:1286 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:101 +#: 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:413 -#: dcim/forms/model_forms.py:662 dcim/forms/object_create.py:399 +#: 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:571 templates/dcim/device.html:30 @@ -2623,7 +2674,7 @@ msgstr "Raf" #: 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:589 dcim/forms/model_forms.py:1374 +#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 #: templates/dcim/device_edit.html:20 #: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" @@ -2632,17 +2683,17 @@ msgstr "Donanım" #: 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:311 -#: dcim/forms/bulk_import.py:345 dcim/forms/bulk_import.py:387 -#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:1015 +#: dcim/forms/bulk_edit.py:1544 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:858 dcim/forms/filtersets.py:1423 #: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:330 dcim/forms/model_forms.py:370 -#: dcim/forms/model_forms.py:968 dcim/forms/model_forms.py:1309 +#: 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:942 +#: dcim/tables/devices.py:205 dcim/tables/devices.py:947 #: 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 @@ -2651,7 +2702,7 @@ msgstr "Donanım" msgid "Manufacturer" msgstr "Üretici" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:317 +#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 #: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 msgid "Default platform" msgstr "Varsayılan platform" @@ -2670,19 +2721,19 @@ msgid "Exclude from utilization" msgstr "Kullanımdan hariç tut" #: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:446 +#: 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 msgid "Airflow" msgstr "Hava akışı" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:303 +#: 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 msgid "Device Type" msgstr "Aygıt Türü" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:336 +#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 #: templates/dcim/moduletype.html:11 @@ -2694,13 +2745,13 @@ msgid "VM role" msgstr "VM rolü" #: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:368 -#: dcim/forms/bulk_import.py:372 dcim/forms/bulk_import.py:394 -#: dcim/forms/bulk_import.py:398 dcim/forms/bulk_import.py:523 -#: dcim/forms/bulk_import.py:527 dcim/forms/filtersets.py:620 +#: dcim/forms/bulk_edit.py:613 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:349 dcim/forms/model_forms.py:375 -#: dcim/forms/model_forms.py:477 virtualization/forms/bulk_import.py:132 +#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 #: virtualization/forms/filtersets.py:180 #: virtualization/forms/model_forms.py:218 @@ -2708,20 +2759,20 @@ msgid "Config template" msgstr "Yapılandırma şablonu" #: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:429 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:435 dcim/forms/model_forms.py:776 -#: dcim/forms/model_forms.py:790 extras/filtersets.py:452 +#: 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 msgid "Device type" msgstr "Aygıt tipi" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:410 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:440 +#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 msgid "Device role" msgstr "Aygıt rolü" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:435 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:385 -#: dcim/forms/model_forms.py:444 extras/filtersets.py:468 +#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 +#: dcim/forms/model_forms.py:448 extras/filtersets.py:468 #: templates/dcim/device.html:191 templates/dcim/platform.html:27 #: templates/virtualization/virtualmachine.html:30 #: virtualization/forms/bulk_edit.py:159 @@ -2733,12 +2784,12 @@ msgstr "Platform" #: 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_import.py:578 dcim/forms/bulk_import.py:640 -#: dcim/forms/bulk_import.py:666 dcim/forms/bulk_import.py:692 -#: dcim/forms/bulk_import.py:712 dcim/forms/bulk_import.py:765 -#: dcim/forms/bulk_import.py:879 dcim/forms/bulk_import.py:927 -#: dcim/forms/bulk_import.py:944 dcim/forms/bulk_import.py:956 -#: dcim/forms/bulk_import.py:1004 dcim/forms/bulk_import.py:1350 +#: 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 @@ -2747,17 +2798,17 @@ msgstr "Platform" #: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 #: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:555 -#: dcim/forms/model_forms.py:753 dcim/forms/model_forms.py:1004 -#: dcim/forms/model_forms.py:1453 dcim/forms/object_create.py:256 +#: 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/tables/connections.py:22 dcim/tables/connections.py:41 #: dcim/tables/connections.py:60 dcim/tables/devices.py:314 -#: dcim/tables/devices.py:374 dcim/tables/devices.py:418 -#: dcim/tables/devices.py:463 dcim/tables/devices.py:517 -#: dcim/tables/devices.py:609 dcim/tables/devices.py:710 -#: dcim/tables/devices.py:770 dcim/tables/devices.py:820 -#: dcim/tables/devices.py:880 dcim/tables/devices.py:932 -#: dcim/tables/devices.py:1058 dcim/tables/modules.py:52 +#: dcim/tables/devices.py:379 dcim/tables/devices.py:423 +#: dcim/tables/devices.py:468 dcim/tables/devices.py:522 +#: dcim/tables/devices.py:614 dcim/tables/devices.py:715 +#: dcim/tables/devices.py:775 dcim/tables/devices.py:825 +#: dcim/tables/devices.py:885 dcim/tables/devices.py:937 +#: dcim/tables/devices.py:1063 dcim/tables/modules.py:52 #: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 #: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 #: ipam/forms/model_forms.py:685 ipam/tables/vlans.py:176 @@ -2796,8 +2847,8 @@ msgstr "Aygıt" msgid "Configuration" msgstr "Yapılandırma" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:590 -#: dcim/forms/model_forms.py:569 dcim/forms/model_forms.py:795 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 msgid "Module type" msgstr "Modül tipi" @@ -2823,8 +2874,8 @@ msgstr "etiket" msgid "Length" msgstr "Uzunluk" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1158 -#: dcim/forms/bulk_import.py:1161 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 msgid "Length unit" msgstr "Uzunluk birimi" @@ -2832,17 +2883,17 @@ msgstr "Uzunluk birimi" msgid "Domain" msgstr "Alan adı" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1273 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:657 +#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 msgid "Power panel" msgstr "Güç paneli" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1309 +#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 #: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 msgid "Supply" msgstr "Tedarik" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 #: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 msgid "Phase" msgstr "Faz" @@ -2886,13 +2937,13 @@ msgstr "Tahsis edilen çekiliş" msgid "Allocated power draw (watts)" msgstr "Tahsis edilen güç çekimi (watt)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:723 -#: dcim/forms/model_forms.py:848 dcim/forms/model_forms.py:1076 -#: dcim/forms/model_forms.py:1361 dcim/forms/object_import.py:60 +#: 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 msgid "Power port" msgstr "Güç bağlantı noktası" -#: dcim/forms/bulk_edit.py:973 +#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Besleme bacağı" @@ -2901,7 +2952,7 @@ msgid "Management only" msgstr "Yalnızca yönetim" #: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1294 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 @@ -2909,7 +2960,7 @@ msgid "PoE mode" msgstr "PoE modu" #: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:819 dcim/forms/filtersets.py:1299 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 #: dcim/forms/object_import.py:100 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 @@ -2921,8 +2972,8 @@ msgstr "PoE tipi" msgid "Wireless role" msgstr "Kablosuz rolü" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:588 -#: dcim/forms/model_forms.py:1019 dcim/tables/devices.py:337 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 +#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:337 #: 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 @@ -2931,25 +2982,25 @@ msgstr "Kablosuz rolü" msgid "Module" msgstr "Modül" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:680 +#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:685 #: templates/dcim/interface.html:113 msgid "LAG" msgstr "GECİKME" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1103 +#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 msgid "Virtual device contexts" msgstr "Sanal cihaz bağlamları" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:651 -#: dcim/forms/bulk_import.py:677 dcim/forms/filtersets.py:1163 +#: 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:621 +#: dcim/tables/devices.py:626 #: templates/circuits/inc/circuit_termination.html:94 #: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 msgid "Speed" msgstr "Hız" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:822 +#: 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 @@ -2960,37 +3011,37 @@ msgstr "Hız" msgid "Mode" msgstr "Modu" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1152 +#: 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 msgid "VLAN group" msgstr "VLAN grubu" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1157 -#: dcim/tables/devices.py:594 virtualization/forms/bulk_edit.py:247 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 +#: dcim/tables/devices.py:599 virtualization/forms/bulk_edit.py:247 #: virtualization/forms/model_forms.py:329 msgid "Untagged VLAN" msgstr "Etiketsiz VLAN" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1166 -#: dcim/tables/devices.py:600 virtualization/forms/bulk_edit.py:255 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 +#: dcim/tables/devices.py:605 virtualization/forms/bulk_edit.py:255 #: virtualization/forms/model_forms.py:338 msgid "Tagged VLANs" msgstr "Etiketli VLAN'lar" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1139 +#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 msgid "Wireless LAN group" msgstr "Kablosuz LAN grubu" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1144 -#: dcim/tables/devices.py:630 netbox/navigation/menu.py:134 +#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 +#: dcim/tables/devices.py:635 netbox/navigation/menu.py:134 #: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Kablosuz LAN'lar" #: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1185 ipam/forms/bulk_edit.py:270 +#: 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 @@ -2998,22 +3049,22 @@ msgid "Addressing" msgstr "Adresleme" #: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1186 virtualization/forms/model_forms.py:353 +#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 msgid "Operation" msgstr "Operasyon" #: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:880 dcim/forms/model_forms.py:1188 +#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1187 +#: 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 msgid "Related Interfaces" msgstr "İlgili Arayüzler" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1189 +#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 #: virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:355 msgid "802.1Q Switching" @@ -3048,8 +3099,8 @@ msgstr "Atanan grup" msgid "available options" msgstr "mevcut seçenekler" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:480 -#: dcim/forms/bulk_import.py:1270 ipam/forms/bulk_import.py:174 +#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 +#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 #: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 #: virtualization/forms/bulk_import.py:89 msgid "Assigned site" @@ -3063,98 +3114,98 @@ msgstr "Ana konum" msgid "Location not found." msgstr "Konum bulunamadı." -#: dcim/forms/bulk_import.py:191 +#: dcim/forms/bulk_import.py:199 msgid "Name of assigned tenant" msgstr "Atanan kiracının adı" -#: dcim/forms/bulk_import.py:203 +#: dcim/forms/bulk_import.py:211 msgid "Name of assigned role" msgstr "Atanan rolün adı" -#: dcim/forms/bulk_import.py:209 +#: dcim/forms/bulk_import.py:217 msgid "Rack type" msgstr "Raf tipi" -#: dcim/forms/bulk_import.py:214 +#: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" msgstr "Ray-ray genişliği (inç cinsinden)" -#: dcim/forms/bulk_import.py:220 +#: dcim/forms/bulk_import.py:228 msgid "Unit for outer dimensions" msgstr "Dış boyutlar için birim" -#: dcim/forms/bulk_import.py:226 +#: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" msgstr "Raf ağırlıkları için ünite" -#: dcim/forms/bulk_import.py:252 +#: dcim/forms/bulk_import.py:260 msgid "Parent site" msgstr "Ana site" -#: dcim/forms/bulk_import.py:259 dcim/forms/bulk_import.py:1283 +#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" msgstr "Rafın konumu (varsa)" -#: dcim/forms/bulk_import.py:268 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 #: templates/dcim/rackreservation.html:52 msgid "Units" msgstr "Birimler" -#: dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_import.py:279 msgid "Comma-separated list of individual unit numbers" msgstr "Bireysel birim numaralarının virgülle ayrılmış listesi" -#: dcim/forms/bulk_import.py:314 +#: dcim/forms/bulk_import.py:322 msgid "The manufacturer which produces this device type" msgstr "Bu cihaz tipini üreten üretici" -#: dcim/forms/bulk_import.py:321 +#: dcim/forms/bulk_import.py:329 msgid "The default platform for devices of this type (optional)" msgstr "Bu tür cihazlar için varsayılan platform (isteğe bağlı)" -#: dcim/forms/bulk_import.py:326 +#: dcim/forms/bulk_import.py:334 msgid "Device weight" msgstr "Aygıt ağırlığı" -#: dcim/forms/bulk_import.py:332 +#: dcim/forms/bulk_import.py:340 msgid "Unit for device weight" msgstr "Aygıt ağırlığı için birim" -#: dcim/forms/bulk_import.py:352 +#: dcim/forms/bulk_import.py:360 msgid "Module weight" msgstr "Modül ağırlığı" -#: dcim/forms/bulk_import.py:358 +#: dcim/forms/bulk_import.py:366 msgid "Unit for module weight" msgstr "Modül ağırlığı için birim" -#: dcim/forms/bulk_import.py:391 +#: dcim/forms/bulk_import.py:399 msgid "Limit platform assignments to this manufacturer" msgstr "Platform atamalarını bu üreticiye sınırlayın" -#: dcim/forms/bulk_import.py:413 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Atanan rol" -#: dcim/forms/bulk_import.py:426 +#: dcim/forms/bulk_import.py:434 msgid "Device type manufacturer" msgstr "Aygıt tipi üreticisi" -#: dcim/forms/bulk_import.py:432 +#: dcim/forms/bulk_import.py:440 msgid "Device type model" msgstr "Aygıt tipi modeli" -#: dcim/forms/bulk_import.py:439 virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Atanan platform" -#: dcim/forms/bulk_import.py:447 dcim/forms/bulk_import.py:451 -#: dcim/forms/model_forms.py:461 +#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 +#: dcim/forms/model_forms.py:468 msgid "Virtual chassis" msgstr "Sanal şasi" -#: dcim/forms/bulk_import.py:454 dcim/forms/model_forms.py:450 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 #: dcim/tables/devices.py:231 extras/filtersets.py:501 #: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 #: ipam/forms/model_forms.py:588 templates/dcim/device.html:239 @@ -3173,63 +3224,63 @@ msgstr "Sanal şasi" msgid "Cluster" msgstr "Küme" -#: dcim/forms/bulk_import.py:458 +#: dcim/forms/bulk_import.py:466 msgid "Virtualization cluster" msgstr "Sanallaştırma kümesi" -#: dcim/forms/bulk_import.py:487 +#: dcim/forms/bulk_import.py:495 msgid "Assigned location (if any)" msgstr "Atanan konum (varsa)" -#: dcim/forms/bulk_import.py:494 +#: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" msgstr "Atanmış raf (varsa)" -#: dcim/forms/bulk_import.py:497 +#: dcim/forms/bulk_import.py:505 msgid "Face" msgstr "Yüz" -#: dcim/forms/bulk_import.py:500 +#: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" msgstr "Monte edilmiş raf yüzü" -#: dcim/forms/bulk_import.py:507 +#: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" msgstr "Ana cihaz (çocuk cihazlar için)" -#: dcim/forms/bulk_import.py:510 +#: dcim/forms/bulk_import.py:518 msgid "Device bay" msgstr "Aygıt yuvası" -#: dcim/forms/bulk_import.py:514 +#: dcim/forms/bulk_import.py:522 msgid "Device bay in which this device is installed (for child devices)" msgstr "Bu cihazın kurulu olduğu cihaz yuvası (çocuk cihazlar için)" -#: dcim/forms/bulk_import.py:520 +#: dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Hava akışı yönü" -#: dcim/forms/bulk_import.py:581 +#: dcim/forms/bulk_import.py:589 msgid "The device in which this module is installed" msgstr "Bu modülün kurulu olduğu cihaz" -#: dcim/forms/bulk_import.py:584 dcim/forms/model_forms.py:562 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 msgid "Module bay" msgstr "Modül yuvası" -#: dcim/forms/bulk_import.py:587 +#: dcim/forms/bulk_import.py:595 msgid "The module bay in which this module is installed" msgstr "Bu modülün kurulu olduğu modül yuvası" -#: dcim/forms/bulk_import.py:593 +#: dcim/forms/bulk_import.py:601 msgid "The type of module" msgstr "Modül türü" -#: dcim/forms/bulk_import.py:601 dcim/forms/model_forms.py:575 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 msgid "Replicate components" msgstr "Bileşenleri çoğaltın" -#: dcim/forms/bulk_import.py:603 +#: dcim/forms/bulk_import.py:611 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3237,217 +3288,233 @@ msgstr "" "Bu modül türüyle ilişkili bileşenleri otomatik olarak doldurun (varsayılan " "olarak etkindir)" -#: dcim/forms/bulk_import.py:606 dcim/forms/model_forms.py:581 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 msgid "Adopt components" msgstr "Bileşenleri benimseyin" -#: dcim/forms/bulk_import.py:608 dcim/forms/model_forms.py:584 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 msgid "Adopt already existing components" msgstr "Mevcut bileşenleri benimseyin" -#: dcim/forms/bulk_import.py:648 dcim/forms/bulk_import.py:674 -#: dcim/forms/bulk_import.py:700 +#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:708 msgid "Port type" msgstr "Bağlantı noktası tipi" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 +#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 msgid "Port speed in bps" msgstr "Bps cinsinden bağlantı noktası hızı" -#: dcim/forms/bulk_import.py:720 +#: dcim/forms/bulk_import.py:728 msgid "Outlet type" msgstr "Çıkış tipi" -#: dcim/forms/bulk_import.py:727 +#: dcim/forms/bulk_import.py:735 msgid "Local power port which feeds this outlet" msgstr "Bu prizi besleyen yerel güç portu" -#: dcim/forms/bulk_import.py:730 -msgid "Feed lag" -msgstr "Besleme gecikmesi" - -#: dcim/forms/bulk_import.py:733 +#: dcim/forms/bulk_import.py:741 msgid "Electrical phase (for three-phase circuits)" msgstr "Elektrik fazı (üç fazlı devreler için)" -#: dcim/forms/bulk_import.py:774 dcim/forms/model_forms.py:1114 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 #: virtualization/forms/bulk_import.py:155 #: virtualization/forms/model_forms.py:308 msgid "Parent interface" msgstr "Ebeveyn arayüzü" -#: dcim/forms/bulk_import.py:781 dcim/forms/model_forms.py:1122 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 #: virtualization/forms/bulk_import.py:162 #: virtualization/forms/model_forms.py:316 msgid "Bridged interface" msgstr "Köprülü arayüz" -#: dcim/forms/bulk_import.py:784 +#: dcim/forms/bulk_import.py:792 msgid "Lag" msgstr "Gecikme" -#: dcim/forms/bulk_import.py:788 +#: dcim/forms/bulk_import.py:796 msgid "Parent LAG interface" msgstr "Ebeveyn LAG arayüzü" -#: dcim/forms/bulk_import.py:791 +#: dcim/forms/bulk_import.py:799 msgid "Vdcs" msgstr "Vdcs" -#: dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:804 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "VDC isimleri virgülle ayrılmış, çift tırnak işareti ile çevrelenmiştir. " "Örnek:" -#: dcim/forms/bulk_import.py:802 +#: dcim/forms/bulk_import.py:810 msgid "Physical medium" msgstr "Fiziksel ortam" -#: dcim/forms/bulk_import.py:805 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 msgid "Duplex" msgstr "Dubleks" -#: dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:818 msgid "Poe mode" msgstr "Poe modu" -#: dcim/forms/bulk_import.py:816 +#: dcim/forms/bulk_import.py:824 msgid "Poe type" msgstr "Poe tipi" -#: dcim/forms/bulk_import.py:825 virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "IEEE 802.1Q çalışma modu (L2 arayüzleri için)" -#: dcim/forms/bulk_import.py:832 ipam/forms/bulk_import.py:160 +#: 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 msgid "Assigned VRF" msgstr "Atanmış VRF" -#: dcim/forms/bulk_import.py:835 +#: dcim/forms/bulk_import.py:843 msgid "Rf role" msgstr "Rf rolü" -#: dcim/forms/bulk_import.py:838 +#: dcim/forms/bulk_import.py:846 msgid "Wireless role (AP/station)" msgstr "Kablosuz rolü (AP/istasyon)" -#: dcim/forms/bulk_import.py:884 dcim/forms/model_forms.py:893 -#: dcim/forms/model_forms.py:1369 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:882 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "VDC {vdc} cihaza atanmadı {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 msgid "Rear port" msgstr "Arka bağlantı noktası" -#: dcim/forms/bulk_import.py:887 +#: dcim/forms/bulk_import.py:899 msgid "Corresponding rear port" msgstr "İlgili arka bağlantı noktası" -#: dcim/forms/bulk_import.py:892 dcim/forms/bulk_import.py:933 -#: dcim/forms/bulk_import.py:1148 +#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 +#: dcim/forms/bulk_import.py:1164 msgid "Physical medium classification" msgstr "Fiziksel ortam sınıflandırması" -#: dcim/forms/bulk_import.py:961 dcim/tables/devices.py:841 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:846 msgid "Installed device" msgstr "Yüklü cihaz" -#: dcim/forms/bulk_import.py:965 +#: dcim/forms/bulk_import.py:977 msgid "Child device installed within this bay" msgstr "Bu bölmeye takılan çocuk cihazı" -#: dcim/forms/bulk_import.py:967 +#: dcim/forms/bulk_import.py:979 msgid "Child device not found." msgstr "Çocuk cihazı bulunamadı." -#: dcim/forms/bulk_import.py:1025 +#: dcim/forms/bulk_import.py:1037 msgid "Parent inventory item" msgstr "Ana envanter kalemi" -#: dcim/forms/bulk_import.py:1028 +#: dcim/forms/bulk_import.py:1040 msgid "Component type" msgstr "Bileşen tipi" -#: dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1044 msgid "Component Type" msgstr "Bileşen Türü" -#: dcim/forms/bulk_import.py:1035 +#: dcim/forms/bulk_import.py:1047 msgid "Compnent name" msgstr "Bileşen adı" -#: dcim/forms/bulk_import.py:1037 +#: dcim/forms/bulk_import.py:1049 msgid "Component Name" msgstr "Bileşen Adı" -#: dcim/forms/bulk_import.py:1103 +#: dcim/forms/bulk_import.py:1091 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "Bileşen bulunamadı: {device} - {component_name}" + +#: dcim/forms/bulk_import.py:1119 msgid "Side A device" msgstr "A Tarafı Cihazı" -#: dcim/forms/bulk_import.py:1106 dcim/forms/bulk_import.py:1124 +#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 msgid "Device name" msgstr "Aygıt adı" -#: dcim/forms/bulk_import.py:1109 +#: dcim/forms/bulk_import.py:1125 msgid "Side A type" msgstr "Taraf A tipi" -#: dcim/forms/bulk_import.py:1112 dcim/forms/bulk_import.py:1130 +#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 msgid "Termination type" msgstr "Sonlandırma türü" -#: dcim/forms/bulk_import.py:1115 +#: dcim/forms/bulk_import.py:1131 msgid "Side A name" msgstr "A Tarafı adı" -#: dcim/forms/bulk_import.py:1116 dcim/forms/bulk_import.py:1134 +#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 msgid "Termination name" msgstr "Fesih adı" -#: dcim/forms/bulk_import.py:1121 +#: dcim/forms/bulk_import.py:1137 msgid "Side B device" msgstr "B tarafı cihazı" -#: dcim/forms/bulk_import.py:1127 +#: dcim/forms/bulk_import.py:1143 msgid "Side B type" msgstr "Taraf B tipi" -#: dcim/forms/bulk_import.py:1133 +#: dcim/forms/bulk_import.py:1149 msgid "Side B name" msgstr "B tarafı adı" -#: dcim/forms/bulk_import.py:1142 wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Bağlantı durumu" -#: dcim/forms/bulk_import.py:1221 dcim/forms/model_forms.py:689 -#: dcim/tables/devices.py:1028 templates/dcim/device.html:130 +#: dcim/forms/bulk_import.py:1213 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "Yan {side_upper}: {device} {termination_object} zaten bağlı" + +#: dcim/forms/bulk_import.py:1219 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "{side_upper} yan sonlandırma bulunamadı: {device} {name}" + +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 +#: dcim/tables/devices.py:1033 templates/dcim/device.html:130 #: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 msgid "Master" msgstr "Usta" -#: dcim/forms/bulk_import.py:1225 +#: dcim/forms/bulk_import.py:1248 msgid "Master device" msgstr "Ana cihaz" -#: dcim/forms/bulk_import.py:1242 +#: dcim/forms/bulk_import.py:1265 msgid "Name of parent site" msgstr "Ana sitenin adı" -#: dcim/forms/bulk_import.py:1276 +#: dcim/forms/bulk_import.py:1299 msgid "Upstream power panel" msgstr "Yukarı akış güç paneli" -#: dcim/forms/bulk_import.py:1306 +#: dcim/forms/bulk_import.py:1329 msgid "Primary or redundant" msgstr "Birincil veya gereksiz" -#: dcim/forms/bulk_import.py:1311 +#: dcim/forms/bulk_import.py:1334 msgid "Supply type (AC/DC)" msgstr "Besleme tipi (AC/DC)" -#: dcim/forms/bulk_import.py:1316 +#: dcim/forms/bulk_import.py:1339 msgid "Single or three-phase" msgstr "Tek veya üç fazlı" @@ -3492,7 +3559,7 @@ msgstr "BİR {model} adlandırmak {name} zaten var" msgid "Power Panel" msgstr "Güç Paneli" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:670 +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 #: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 msgid "Power Feed" msgstr "Güç Beslemesi" @@ -3516,7 +3583,7 @@ msgstr "Ebeveyn grubu" msgid "Function" msgstr "Fonksiyon" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:308 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 #: templates/inc/panels/image_attachments.html:5 msgid "Images" msgstr "Görüntüler" @@ -3548,7 +3615,7 @@ msgstr "işgal" #: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 #: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:367 +#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:372 #: 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 @@ -3556,7 +3623,7 @@ msgstr "işgal" msgid "Connection" msgstr "Bağlantı" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1477 +#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 #: templates/dcim/virtualdevicecontext.html:16 msgid "Virtual Device Context" msgstr "Sanal Aygıt Bağlamı" @@ -3572,7 +3639,7 @@ msgstr "Tür" msgid "Mgmt only" msgstr "Sadece Mgmt" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1180 +#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 #: dcim/models/device_components.py:630 templates/dcim/interface.html:134 msgid "WWN" msgstr "WWN" @@ -3602,7 +3669,7 @@ msgstr "İletim gücü (dBm)" msgid "Cable" msgstr "Kablo" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:951 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:956 msgid "Discovered" msgstr "Keşfedildi" @@ -3636,28 +3703,28 @@ msgstr "" msgid "Reservation" msgstr "Rezervasyon" -#: dcim/forms/model_forms.py:297 dcim/forms/model_forms.py:380 +#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Kısa isim" -#: dcim/forms/model_forms.py:304 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 msgid "Chassis" msgstr "Şasi" -#: dcim/forms/model_forms.py:356 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 msgid "Device Role" msgstr "Aygıt Rolü" -#: dcim/forms/model_forms.py:424 dcim/models/devices.py:632 +#: dcim/forms/model_forms.py:428 dcim/models/devices.py:632 msgid "The lowest-numbered unit occupied by the device" msgstr "Cihazın kullandığı en düşük numaralı birim" -#: dcim/forms/model_forms.py:469 +#: dcim/forms/model_forms.py:476 msgid "The position in the virtual chassis this device is identified by" msgstr "Bu cihazın sanal kasadaki konumu tanımlanır" -#: dcim/forms/model_forms.py:473 templates/dcim/device.html:131 +#: 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 @@ -3665,27 +3732,27 @@ msgstr "Bu cihazın sanal kasadaki konumu tanımlanır" msgid "Priority" msgstr "Öncelik" -#: dcim/forms/model_forms.py:474 +#: dcim/forms/model_forms.py:481 msgid "The priority of the device in the virtual chassis" msgstr "Sanal kasadaki cihazın önceliği" -#: dcim/forms/model_forms.py:578 +#: dcim/forms/model_forms.py:585 msgid "Automatically populate components associated with this module type" msgstr "Bu modül türüyle ilişkili bileşenleri otomatik olarak doldurun" -#: dcim/forms/model_forms.py:623 +#: dcim/forms/model_forms.py:630 msgid "Maximum length is 32767 (any unit)" msgstr "Maksimum uzunluk 32767'dir (herhangi bir birim)" -#: dcim/forms/model_forms.py:671 +#: dcim/forms/model_forms.py:678 msgid "Characteristics" msgstr "ÖZELLİKLERİ" -#: dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1137 msgid "LAG interface" msgstr "LAG arayüzü" -#: dcim/forms/model_forms.py:1184 dcim/forms/model_forms.py:1345 +#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 #: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 @@ -3701,17 +3768,17 @@ msgstr "LAG arayüzü" #: templates/wireless/wirelesslink.html:49 #: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:430 -#: vpn/forms/model_forms.py:439 vpn/tables/tunnels.py:87 +#: vpn/forms/model_forms.py:241 vpn/forms/model_forms.py:436 +#: vpn/forms/model_forms.py:445 vpn/tables/tunnels.py:91 #: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 msgid "Interface" msgstr "Arayüz" -#: dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1285 msgid "Child Device" msgstr "Çocuk Cihazı" -#: dcim/forms/model_forms.py:1279 +#: dcim/forms/model_forms.py:1286 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -3719,42 +3786,42 @@ msgstr "" "Alt aygıtlar önce oluşturulmalı ve ana aygıtın sahasına ve rafına " "atanmalıdır." -#: dcim/forms/model_forms.py:1321 +#: dcim/forms/model_forms.py:1328 msgid "Console port" msgstr "Konsol bağlantı noktası" -#: dcim/forms/model_forms.py:1329 +#: dcim/forms/model_forms.py:1336 msgid "Console server port" msgstr "Konsol sunucusu bağlantı noktası" -#: dcim/forms/model_forms.py:1337 +#: dcim/forms/model_forms.py:1344 msgid "Front port" msgstr "Ön bağlantı noktası" -#: dcim/forms/model_forms.py:1353 +#: dcim/forms/model_forms.py:1360 msgid "Power outlet" msgstr "Güç çıkışı" -#: dcim/forms/model_forms.py:1373 templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 #: templates/dcim/inventoryitem_edit.html:10 msgid "Inventory Item" msgstr "Envanter Öğesi" -#: dcim/forms/model_forms.py:1425 +#: dcim/forms/model_forms.py:1432 msgid "An InventoryItem can only be assigned to a single component." msgstr "Bir InventoryItem yalnızca tek bir bileşene atanabilir." -#: dcim/forms/model_forms.py:1439 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Envanter Öğesi Rolü" -#: dcim/forms/model_forms.py:1459 templates/dcim/device.html:195 +#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 #: templates/dcim/virtualdevicecontext.html:33 #: templates/virtualization/virtualmachine.html:51 msgid "Primary IPv4" msgstr "Birincil IPv4" -#: dcim/forms/model_forms.py:1468 templates/dcim/device.html:211 +#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 #: templates/dcim/virtualdevicecontext.html:44 #: templates/virtualization/virtualmachine.html:67 msgid "Primary IPv6" @@ -3816,7 +3883,7 @@ msgstr "" "Oluşturulacak ön bağlantı noktalarının sayısı ({frontport_count}) seçilen " "arka port konumu sayısıyla eşleşmelidir ({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1034 +#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1039 #: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 #: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 msgid "Members" @@ -3857,39 +3924,74 @@ msgstr "kablo" msgid "cables" msgstr "kablolar" -#: dcim/models/cables.py:190 +#: dcim/models/cables.py:163 +msgid "Must specify a unit when setting a cable length" +msgstr "Kablo uzunluğu ayarlarken bir birim belirtmeniz gerekir" + +#: dcim/models/cables.py:166 +msgid "Must define A and B terminations when creating a new cable." +msgstr "Yeni bir kablo oluştururken A ve B sonlandırmalarını tanımlamalıdır." + +#: dcim/models/cables.py:173 +msgid "Cannot connect different termination types to same end of cable." +msgstr "Farklı sonlandırma türleri kablonun aynı ucuna bağlanamaz." + +#: dcim/models/cables.py:181 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "Uyumsuz sonlandırma türleri: {type_a} ve {type_b}" + +#: dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." msgstr "A ve B sonlandırmaları aynı nesneye bağlanamaz." -#: dcim/models/cables.py:257 ipam/models/asns.py:37 +#: dcim/models/cables.py:258 ipam/models/asns.py:37 msgid "end" msgstr "son" -#: dcim/models/cables.py:310 +#: dcim/models/cables.py:311 msgid "cable termination" msgstr "kablo sonlandırma" -#: dcim/models/cables.py:311 +#: dcim/models/cables.py:312 msgid "cable terminations" msgstr "kablo sonlandırmaları" -#: dcim/models/cables.py:434 extras/models/configs.py:50 +#: dcim/models/cables.py:327 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" +"Yinelenen sonlandırma bulundu {app_label}.{model} {termination_id}: kablo " +"{cable_pk}" + +#: dcim/models/cables.py:337 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "Kablolar sonlandırılamaz {type_display} arayüzleri" + +#: dcim/models/cables.py:344 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "Bir sağlayıcı ağına bağlı devre sonlandırmaları kablolanmayabilir." + +#: dcim/models/cables.py:442 extras/models/configs.py:50 msgid "is active" msgstr "aktiftir" -#: dcim/models/cables.py:438 +#: dcim/models/cables.py:446 msgid "is complete" msgstr "tamamlandı" -#: dcim/models/cables.py:442 +#: dcim/models/cables.py:450 msgid "is split" msgstr "bölünmüş" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:458 msgid "cable path" msgstr "kablo yolu" -#: dcim/models/cables.py:451 +#: dcim/models/cables.py:459 msgid "cable paths" msgstr "kablo yolları" @@ -4782,8 +4884,8 @@ msgstr "Raf konumunu tanımlarken raf yüzü belirtilmelidir." #: dcim/models/devices.py:878 #, python-brace-format msgid "" -"A U0 device type ({device_type}) cannot be assigned to a rack position." -msgstr "Bir U0 cihaz türü ({device_type}) raf konumuna atanamaz." +"A 0U device type ({device_type}) cannot be assigned to a rack position." +msgstr "Bir 0U cihaz tipi ({device_type}) bir raf konumuna atanamaz." #: dcim/models/devices.py:889 msgid "" @@ -5288,7 +5390,7 @@ msgstr "Konsol Bağlantı Noktası" msgid "Reachable" msgstr "Ulaşılabilir" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:524 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:529 #: templates/dcim/inventoryitem_edit.html:64 #: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 msgid "Power Port" @@ -5320,7 +5422,7 @@ msgstr "Sanal Makineler" msgid "Config Template" msgstr "Yapılandırma Şablonu" -#: dcim/tables/devices.py:216 dcim/tables/devices.py:1069 +#: dcim/tables/devices.py:216 dcim/tables/devices.py:1074 #: 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 @@ -5328,12 +5430,12 @@ msgstr "Yapılandırma Şablonu" msgid "IP Address" msgstr "IP Adresi" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1073 +#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 #: virtualization/tables/virtualmachines.py:72 msgid "IPv4 Address" msgstr "IPv4 Adresi" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1077 +#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 #: virtualization/tables/virtualmachines.py:76 msgid "IPv6 Address" msgstr "IPv6 Adresi" @@ -5371,9 +5473,9 @@ msgstr "Güç bağlantı noktaları" msgid "Power outlets" msgstr "Elektrik prizleri" -#: dcim/tables/devices.py:275 dcim/tables/devices.py:1082 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1001 dcim/views.py:1240 -#: dcim/views.py:1926 netbox/navigation/menu.py:82 +#: dcim/tables/devices.py:275 dcim/tables/devices.py:1087 +#: 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 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 @@ -5419,52 +5521,52 @@ msgstr "Meslektaşları Bağla" msgid "Mark Connected" msgstr "Bağlı İşaretle" -#: dcim/tables/devices.py:470 +#: dcim/tables/devices.py:475 msgid "Maximum draw (W)" msgstr "Maksimum çekim (W)" -#: dcim/tables/devices.py:473 +#: dcim/tables/devices.py:478 msgid "Allocated draw (W)" msgstr "Tahsis edilen çekiliş (W)" -#: dcim/tables/devices.py:573 ipam/forms/model_forms.py:707 +#: dcim/tables/devices.py:578 ipam/forms/model_forms.py:707 #: 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 -#: vpn/tables/tunnels.py:94 +#: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "IP Adresleri" -#: dcim/tables/devices.py:579 netbox/navigation/menu.py:190 +#: dcim/tables/devices.py:584 netbox/navigation/menu.py:190 #: templates/ipam/inc/panels/fhrp_groups.html:5 msgid "FHRP Groups" msgstr "FHRP Grupları" -#: dcim/tables/devices.py:591 templates/dcim/interface.html:90 +#: dcim/tables/devices.py:596 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:74 +#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Tünel" -#: dcim/tables/devices.py:616 dcim/tables/devicetypes.py:224 +#: dcim/tables/devices.py:621 dcim/tables/devicetypes.py:224 #: templates/dcim/interface.html:66 msgid "Management Only" msgstr "Yalnızca Yönetim" -#: dcim/tables/devices.py:624 +#: dcim/tables/devices.py:629 msgid "Wireless link" msgstr "Kablosuz bağlantı" -#: dcim/tables/devices.py:634 +#: dcim/tables/devices.py:639 msgid "VDCs" msgstr "VDC'ler" -#: dcim/tables/devices.py:642 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1076 dcim/views.py:2019 +#: dcim/tables/devices.py:647 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 #: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 #: templates/dcim/inc/panels/inventory_items.html:5 @@ -5472,7 +5574,7 @@ msgstr "VDC'ler" msgid "Inventory Items" msgstr "Envanter Öğeleri" -#: dcim/tables/devices.py:723 +#: dcim/tables/devices.py:728 #: 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 @@ -5481,28 +5583,28 @@ msgstr "Envanter Öğeleri" msgid "Rear Port" msgstr "Arka Bağlantı Noktası" -#: dcim/tables/devices.py:888 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:893 templates/dcim/modulebay.html:51 msgid "Installed Module" msgstr "Yüklü Modül" -#: dcim/tables/devices.py:891 +#: dcim/tables/devices.py:896 msgid "Module Serial" msgstr "Modül Seri" -#: dcim/tables/devices.py:895 +#: dcim/tables/devices.py:900 msgid "Module Asset Tag" msgstr "Modül Varlık Etiketi" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:909 msgid "Module Status" msgstr "Modül Durumu" -#: dcim/tables/devices.py:946 dcim/tables/devicetypes.py:308 +#: dcim/tables/devices.py:951 dcim/tables/devicetypes.py:308 #: templates/dcim/inventoryitem.html:41 msgid "Component" msgstr "Bileşen" -#: dcim/tables/devices.py:1001 +#: dcim/tables/devices.py:1006 msgid "Items" msgstr "Öğeler" @@ -5536,60 +5638,60 @@ msgstr "U Yüksekliği" msgid "Instances" msgstr "Örnekler" -#: dcim/tables/devicetypes.py:113 dcim/views.py:941 dcim/views.py:1180 -#: dcim/views.py:1866 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 +#: dcim/views.py:1870 netbox/navigation/menu.py:85 #: 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 "Konsol Bağlantı Noktaları" -#: dcim/tables/devicetypes.py:116 dcim/views.py:956 dcim/views.py:1195 -#: dcim/views.py:1881 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 +#: dcim/views.py:1885 netbox/navigation/menu.py:86 #: 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 "Konsol Sunucusu Bağlantı Noktaları" -#: dcim/tables/devicetypes.py:119 dcim/views.py:971 dcim/views.py:1210 -#: dcim/views.py:1896 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 +#: dcim/views.py:1900 netbox/navigation/menu.py:87 #: 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 "Güç Bağlantı Noktaları" -#: dcim/tables/devicetypes.py:122 dcim/views.py:986 dcim/views.py:1225 -#: dcim/views.py:1911 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 +#: dcim/views.py:1915 netbox/navigation/menu.py:88 #: 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 "Elektrik Prizleri" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1016 dcim/views.py:1255 -#: dcim/views.py:1947 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 +#: dcim/views.py:1951 netbox/navigation/menu.py:83 #: 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 "Ön Bağlantı Noktaları" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1031 dcim/views.py:1270 -#: dcim/views.py:1962 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 +#: dcim/views.py:1966 netbox/navigation/menu.py:84 #: 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 "Arka Bağlantı Noktaları" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1061 dcim/views.py:2000 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 #: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Aygıt Yuvaları" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1046 dcim/views.py:1981 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 #: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" @@ -5642,33 +5744,54 @@ msgstr "Maksimum Ağırlık" msgid "Sites" msgstr "Siteler" -#: dcim/views.py:131 +#: dcim/tests/test_api.py:49 +msgid "Test case must set peer_termination_type" +msgstr "Test senaryosu peer_termination_type ayarlamalıdır" + +#: dcim/views.py:135 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Bağlantısı kesildi {count} {type}" -#: dcim/views.py:692 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:29 msgid "Reservations" msgstr "Rezervasyon" -#: dcim/views.py:710 +#: dcim/views.py:714 msgid "Non-Racked Devices" msgstr "Raf Olmayan Cihazlar" -#: dcim/views.py:2032 extras/forms/model_forms.py:463 +#: dcim/views.py:2036 extras/forms/model_forms.py:463 #: templates/extras/configcontext.html:10 #: virtualization/forms/model_forms.py:228 virtualization/views.py:408 msgid "Config Context" msgstr "Yapılandırma Bağlamı" -#: dcim/views.py:2042 virtualization/views.py:418 +#: dcim/views.py:2046 virtualization/views.py:418 msgid "Render Config" msgstr "Oluştur Yapılandırması" -#: dcim/views.py:2970 ipam/tables/ip.py:233 +#: dcim/views.py:2974 ipam/tables/ip.py:233 msgid "Children" msgstr "Çocuklar" +#: extras/api/customfields.py:92 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "Bilinmeyen ilgili nesne (ler): {name}" + +#: extras/api/serializers.py:154 +msgid "Changing the type of custom fields is not supported." +msgstr "Özel alanların türünü değiştirmek desteklenmez." + +#: extras/api/serializers.py:549 extras/api/serializers.py:554 +msgid "Scheduling is not enabled for this report." +msgstr "Bu rapor için zamanlama etkin değil." + +#: extras/api/serializers.py:599 extras/api/serializers.py:604 +msgid "Scheduling is not enabled for this script." +msgstr "Bu komut dosyası için zamanlama etkin değil." + #: extras/choices.py:27 extras/forms/misc.py:14 msgid "Text" msgstr "Metin" @@ -5827,7 +5950,6 @@ msgstr "Güncelleme" #: extras/choices.py:256 extras/tables/tables.py:297 #: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/devicetype/component_templates.html:24 #: 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 @@ -5901,23 +6023,65 @@ msgstr "Web kancası" msgid "Script" msgstr "Senaryo" +#: extras/conditions.py:54 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "Bilinmeyen operatör: {op}. Şunlardan biri olmalı: {operators}" + +#: extras/conditions.py:58 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "Desteklenmeyen değer türü: {value}" + +#: extras/conditions.py:60 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "Geçersiz tür {op} operasyon: {value}" + +#: extras/conditions.py:137 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "Kural seti bir sözlük olmalı, değil {ruleset}." + +#: extras/conditions.py:139 +#, python-brace-format +msgid "Ruleset must have exactly one logical operator (found {ruleset})" +msgstr "" +"Kural kümesi tam olarak bir mantıksal operatöre sahip olmalıdır (bulundu " +"{ruleset})" + +#: extras/conditions.py:145 +#, python-brace-format +msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" +msgstr "Geçersiz mantık türü: {logic} (olmalı '{op_and}'veya'{op_or}')" + #: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "Widget türü" -#: extras/dashboard/widgets.py:148 +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "Kayıtlı olmayan widget sınıfı: {name}" + +#: extras/dashboard/widgets.py:115 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "{class_name} bir render () yöntemi tanımlamalıdır." + +#: extras/dashboard/widgets.py:150 msgid "Note" msgstr "Not" -#: extras/dashboard/widgets.py:149 +#: extras/dashboard/widgets.py:151 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Bazı rastgele özel içerikleri görüntüleyin. Markdown desteklenir." -#: extras/dashboard/widgets.py:162 +#: extras/dashboard/widgets.py:164 msgid "Object Counts" msgstr "Nesne Sayıları" -#: extras/dashboard/widgets.py:163 +#: extras/dashboard/widgets.py:165 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -5925,52 +6089,70 @@ msgstr "" "Bir dizi NetBox modeli ve her tür için oluşturulan nesne sayısını " "görüntüleyin." -#: extras/dashboard/widgets.py:173 +#: extras/dashboard/widgets.py:175 msgid "Filters to apply when counting the number of objects" msgstr "Nesne sayısını sayarken uygulanacak filtreler" -#: extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:183 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "Geçersiz biçim. Nesne filtreleri sözlük olarak iletilmelidir." + +#: extras/dashboard/widgets.py:211 msgid "Object List" msgstr "Nesne Listesi" -#: extras/dashboard/widgets.py:210 +#: extras/dashboard/widgets.py:212 msgid "Display an arbitrary list of objects." msgstr "İsteğe bağlı bir nesne listesi görüntüleyin." -#: extras/dashboard/widgets.py:223 +#: extras/dashboard/widgets.py:225 msgid "The default number of objects to display" msgstr "Görüntülenecek nesnelerin varsayılan sayısı" -#: extras/dashboard/widgets.py:270 +#: extras/dashboard/widgets.py:237 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "Geçersiz biçim. URL parametreleri sözlük olarak iletilmelidir." + +#: extras/dashboard/widgets.py:272 msgid "RSS Feed" msgstr "RSS Beslemesi" -#: extras/dashboard/widgets.py:275 +#: extras/dashboard/widgets.py:277 msgid "Embed an RSS feed from an external website." msgstr "Harici bir web sitesinden bir RSS beslemesi ekleyin." -#: extras/dashboard/widgets.py:282 +#: extras/dashboard/widgets.py:284 msgid "Feed URL" msgstr "Akış URL'si" -#: extras/dashboard/widgets.py:287 +#: extras/dashboard/widgets.py:289 msgid "The maximum number of objects to display" msgstr "Görüntülenecek maksimum nesne sayısı" -#: extras/dashboard/widgets.py:292 +#: extras/dashboard/widgets.py:294 msgid "How long to stored the cached content (in seconds)" msgstr "" "Önbelleğe alınan içeriğin ne kadar süre saklanacağı (saniye cinsinden)" -#: extras/dashboard/widgets.py:344 templates/account/base.html:10 +#: extras/dashboard/widgets.py:346 templates/account/base.html:10 #: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 msgid "Bookmarks" msgstr "Yer İşaretleri" -#: extras/dashboard/widgets.py:348 +#: extras/dashboard/widgets.py:350 msgid "Show your personal bookmarks" msgstr "Kişisel yer imlerinizi gösterin" +#: extras/events.py:133 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "Bir olay kuralı için bilinmeyen eylem türü: {action_type}" + +#: extras/events.py:181 +#, python-brace-format +msgid "Cannot import events pipeline {name} error: {error}" +msgstr "Olaylar boru hattı içe aktarılamıyor {name} hata: {error}" + #: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 msgid "Data file (ID)" msgstr "Veri dosyası (ID)" @@ -6182,6 +6364,16 @@ msgstr "Eylem nesnesi" msgid "Webhook name or script as dotted path module.Class" msgstr "Noktalı yol olarak Webhook adı veya komut dosyası module.Class" +#: extras/forms/bulk_import.py:205 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "Web kancası {name} bulunamadı" + +#: extras/forms/bulk_import.py:214 +#, python-brace-format +msgid "Script {name} not found" +msgstr "Senaryo {name} bulunamadı" + #: extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Atanan nesne türü" @@ -6403,7 +6595,7 @@ msgstr "Şablon içeriği aşağıda seçilen uzak kaynaktan doldurulur." msgid "Must specify either local content or a data file" msgstr "Yerel içerik veya veri dosyası belirtmelidir" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:68 +#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Kaydedilen Filtre" @@ -6527,6 +6719,10 @@ msgstr "Komut dosyasının yürütülmesini belirli bir zamana planlayın" msgid "Interval at which this script is re-run (in minutes)" msgstr "Bu komut dosyasının yeniden çalıştırıldığı aralık (dakika cinsinden)" +#: extras/management/commands/reindex.py:66 +msgid "No indexers found!" +msgstr "Dizinleyici bulunamadı!" + #: extras/models/change_logging.py:24 msgid "time" msgstr "zaman" @@ -7345,7 +7541,19 @@ msgstr "etiketli öğe" msgid "tagged items" msgstr "etiketli öğeler" -#: extras/signals.py:220 +#: extras/scripts.py:360 +msgid "The script must define a run() method." +msgstr "Komut dosyası bir run () yöntemi tanımlamalıdır." + +#: extras/scripts.py:371 +msgid "Script Data" +msgstr "Komut Dosyası Verileri" + +#: extras/scripts.py:375 +msgid "Script Execution Parameters" +msgstr "Script Yürütme Parametreleri" + +#: extras/signals.py:121 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "Silme işlemi bir koruma kuralı tarafından engellenir: {message}" @@ -7447,25 +7655,25 @@ msgstr "İstek Kimliği" msgid "Comments (Short)" msgstr "Yorumlar (Kısa)" -#: extras/validators.py:13 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Bu değerin eşit olduğundan emin olun %(limit_value)s." -#: extras/validators.py:24 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Bu değerin eşit olmadığından emin olun %(limit_value)s." -#: extras/validators.py:35 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "Bu alan boş olmalıdır." -#: extras/validators.py:50 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "Bu alan boş olmamalıdır." -#: extras/validators.py:119 +#: extras/validators.py:121 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "\"{name}\" niteliği {model} için geçerli değil." @@ -7492,6 +7700,11 @@ msgstr "CIDR gösteriminde geçerli bir IPv4 veya IPv6 öneki ve maske girin." msgid "Invalid IP prefix format: {data}" msgstr "Geçersiz IP önek biçimi: {data}" +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "İstenen önek boyutlarını barındırmak için yetersiz alan mevcut değil" + #: ipam/choices.py:30 msgid "Container" msgstr "Konteyner" @@ -7532,6 +7745,11 @@ msgstr "Cisco" msgid "Plaintext" msgstr "Düz metin" +#: ipam/fields.py:36 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "Geçersiz IP adresi biçimi: {address}" + #: ipam/filtersets.py:47 vpn/filtersets.py:276 msgid "Import target" msgstr "Hedefi içe aktarma" @@ -7671,10 +7889,39 @@ msgstr "Birincil IPv4 (ID)" msgid "Primary IPv6 (ID)" msgstr "Birincil IPv6 (ID)" +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "Geçerli bir IPv4 veya IPv6 adresi girin (maske olmadan)." + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "Geçersiz IPv4/IPv6 adres biçimi: {address}" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "Bu alan maskesiz bir IP adresi gerektirir." + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "Lütfen geçerli bir IPv4 veya IPv6 adresi belirtin." + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "Geçerli bir IPv4 veya IPv6 adresi girin (CIDR maskesi ile)." + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "CIDR maskesi (örn. /24) gereklidir." + #: ipam/forms/bulk_create.py:14 msgid "Address pattern" msgstr "Adres deseni" +#: ipam/forms/bulk_edit.py:47 +msgid "Enforce unique space" +msgstr "Benzersiz alanı uygulayın" + #: ipam/forms/bulk_edit.py:85 msgid "Is private" msgstr "Özeldir" @@ -7803,7 +8050,7 @@ msgstr "VLAN grubu (varsa)" #: 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:427 +#: 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 msgid "VLAN" @@ -7891,17 +8138,17 @@ msgid "{ip} is not assigned to this device/VM." msgstr "{ip} bu cihaza/VM'ye atanmamıştır." #: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:403 +#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 msgid "Route Targets" msgstr "Rota Hedefleri" #: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:390 +#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 msgid "Import targets" msgstr "Hedefleri içe aktarma" #: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:395 +#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 msgid "Export targets" msgstr "İhracat hedefleri" @@ -7993,7 +8240,7 @@ msgstr "Liman" #: virtualization/tables/virtualmachines.py:115 #: virtualization/tables/virtualmachines.py:168 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:269 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 msgid "Virtual Machine" msgstr "Sanal Makine" @@ -8081,6 +8328,13 @@ msgstr "Hizmet Şablonu" msgid "Service template" msgstr "Hizmet şablonu" +#: ipam/forms/model_forms.py:754 +msgid "" +"Must specify name, protocol, and port(s) if not using a service template." +msgstr "" +"Hizmet şablonu kullanmıyorsanız ad, protokol ve bağlantı noktası (lar) ı " +"belirtmeniz gerekir." + #: ipam/models/asns.py:34 msgid "start" msgstr "başlangıç" @@ -8590,6 +8844,29 @@ msgstr "Hedefleri İçe Aktar" msgid "Export Targets" msgstr "İhracat Hedefleri" +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "{prefix} geçerli bir önek değildir. Demek istedin {suggested}?" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "Önek uzunluğu şunlardan küçük veya eşit olmalıdır %(limit_value)s." + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "Önek uzunluğu şunlardan büyük veya eşit olmalıdır %(limit_value)s." + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" +"DNS adlarında yalnızca alfanümerik karakterlere, yıldızlara, tirelere, " +"noktalara ve alt çizgilere izin verilir" + #: ipam/views.py:536 msgid "Child Prefixes" msgstr "Çocuk Önekleri" @@ -8602,14 +8879,75 @@ msgstr "Çocuk Aralıkları" msgid "Related IPs" msgstr "İlgili IP'ler" -#: ipam/views.py:1111 +#: ipam/views.py:1117 msgid "Device Interfaces" msgstr "Aygıt Arayüzleri" -#: ipam/views.py:1129 +#: ipam/views.py:1135 msgid "VM Interfaces" msgstr "VM Arayüzleri" +#: netbox/api/fields.py:62 +msgid "This field may not be blank." +msgstr "Bu alan boş olmayabilir." + +#: netbox/api/fields.py:66 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" +"Değer doğrudan iletilmelidir (örn. “foo”: 123); sözlük veya liste " +"kullanmayın." + +#: netbox/api/fields.py:86 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "{value} geçerli bir seçim değildir." + +#: netbox/api/fields.py:99 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "Geçersiz içerik türü: {content_type}" + +#: netbox/api/fields.py:100 +msgid "Invalid value. Specify a content type as '.'." +msgstr "" +"Geçersiz değer. İçerik türünü 'olarak belirtin.'." + +#: netbox/api/serializers/nested.py:35 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "Sağlanan öznitelikler kullanılarak ilgili nesne bulunamadı: {params}" + +#: netbox/api/serializers/nested.py:38 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Birden çok nesne sağlanan özniteliklerle eşleşir: {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 "" +"İlgili nesnelere sayısal kimlik veya öznitelikler sözlüğü ile " +"başvurulmalıdır. Tanınmayan bir değer alındı: {value}" + +#: netbox/api/serializers/nested.py:59 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "Sağlanan sayısal kimlik kullanılarak ilgili nesne bulunamadı: {id}" + +#: netbox/authentication.py:137 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "Geçersiz izin {permission} model için {model}" + +#: netbox/config/__init__.py:67 +#, python-brace-format +msgid "Invalid configuration parameter: {item}" +msgstr "Geçersiz yapılandırma parametresi: {item}" + #: netbox/config/parameters.py:22 templates/core/configrevision.html:111 msgid "Login banner" msgstr "Giriş başlığı" @@ -8818,32 +9156,57 @@ msgstr "Etiket ekle" msgid "Remove tags" msgstr "Etiketleri kaldır" -#: netbox/models/features.py:434 +#: netbox/forms/mixins.py:38 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "{class_name} bir model sınıfı belirtmelidir." + +#: netbox/models/features.py:278 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "Bilinmeyen alan adı '{name}'özel alan verilerinde." + +#: netbox/models/features.py:284 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "Özel alan için geçersiz değer '{name}': {error}" + +#: netbox/models/features.py:291 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "Gerekli özel alan eksik '{name}'." + +#: netbox/models/features.py:438 msgid "Remote data source" msgstr "Uzak veri kaynağı" -#: netbox/models/features.py:444 +#: netbox/models/features.py:448 msgid "data path" msgstr "veri yolu" -#: netbox/models/features.py:448 +#: netbox/models/features.py:452 msgid "Path to remote file (relative to data source root)" msgstr "Uzak dosyanın yolu (veri kaynağı köküne göre)" -#: netbox/models/features.py:451 +#: netbox/models/features.py:455 msgid "auto sync enabled" msgstr "otomatik senkronizasyon etkin" -#: netbox/models/features.py:453 +#: netbox/models/features.py:457 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Veri dosyası güncellendiğinde verilerin otomatik senkronizasyonunu " "etkinleştir" -#: netbox/models/features.py:456 +#: netbox/models/features.py:460 msgid "date synced" msgstr "senkronize edilen tarih" +#: netbox/models/features.py:554 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "{class_name} bir sync_data () yöntemi uygulamalıdır." + #: netbox/navigation/menu.py:12 msgid "Organization" msgstr "Organizasyon" @@ -8974,7 +9337,7 @@ msgid "L2VPNs" msgstr "L2VPN'ler" #: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:54 +#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Fesih" @@ -9179,6 +9542,64 @@ msgstr "Yapılandırma Revizyonları" msgid "Plugins" msgstr "Eklentiler" +#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +msgid "Permissions must be passed as a tuple or list." +msgstr "İzinler bir küme veya liste olarak iletilmelidir." + +#: netbox/plugins/navigation.py:50 +msgid "Buttons must be passed as a tuple or list." +msgstr "Düğmeler bir küme veya liste olarak iletilmelidir." + +#: netbox/plugins/navigation.py:72 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "Düğme rengi ButtonColorChoices içinde bir seçim olmalıdır." + +#: netbox/plugins/registration.py:25 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an " +"instance!" +msgstr "" +"PluginTemplateExtension sınıfı {template_extension} Örnek olarak kabul " +"edildi!" + +#: netbox/plugins/registration.py:31 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of " +"netbox.plugins.PluginTemplateExtension!" +msgstr "" +"{template_extension} Netbox.plugins.pluginTemplateExtension'ın bir alt " +"sınıfı değildir!" + +#: netbox/plugins/registration.py:37 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} does not define a valid " +"model!" +msgstr "" +"PluginTemplateExtension sınıfı {template_extension} geçerli bir model " +"tanımlamaz!" + +#: netbox/plugins/registration.py:47 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{item} Netbox.Plugins.PluginMenuItem örneği olmalıdır" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "{menu_link} Netbox.Plugins.PluginMenuItem örneği olmalıdır" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "{button} Netbox.Plugins.PluginMenuButton örneği olmalıdır" + +#: netbox/plugins/templates.py:35 +msgid "extra_context must be a dictionary" +msgstr "extra_context bir sözlük olmalıdır" + #: netbox/preferences.py:19 msgid "Color mode" msgstr "Renk modu" @@ -9227,31 +9648,44 @@ msgstr "Paginator kontrollerinin bir tabloya göre görüntüleneceği yer" msgid "Data format" msgstr "Veri biçimi" -#: netbox/settings.py:726 +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "Geçersiz mağaza: {key}" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "Başlatıldıktan sonra kayıt defterine mağazalar eklenemiyor" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "Mağazalar kayıt defterinden silinemiyor" + +#: netbox/settings.py:724 msgid "English" msgstr "İngilizce" -#: netbox/settings.py:727 +#: netbox/settings.py:725 msgid "Spanish" msgstr "İspanyolca" -#: netbox/settings.py:728 +#: netbox/settings.py:726 msgid "French" msgstr "Fransızca" -#: netbox/settings.py:729 +#: netbox/settings.py:727 msgid "Japanese" msgstr "Japonca" -#: netbox/settings.py:730 +#: netbox/settings.py:728 msgid "Portuguese" msgstr "Portekizce" -#: netbox/settings.py:731 +#: netbox/settings.py:729 msgid "Russian" msgstr "Rusça" -#: netbox/settings.py:732 +#: netbox/settings.py:730 msgid "Turkish" msgstr "Türkçe" @@ -9283,6 +9717,11 @@ msgstr "Hiçbir sonuç bulunamadı" msgid "Dummy Plugin" msgstr "Sahte Eklenti" +#: netbox/views/generic/bulk_views.py:397 +#, python-brace-format +msgid "Row {i}: Object with ID {id} does not exist" +msgstr "Satır {i}: Kimliği olan nesne {id} mevcut değil" + #: netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "Değişiklik Günlüğü" @@ -9291,6 +9730,19 @@ msgstr "Değişiklik Günlüğü" msgid "Journal" msgstr "dergi" +#: netbox/views/generic/object_views.py:105 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "{class_name} get_children () uygulamasını uygulamalıdır" + +#: netbox/views/misc.py:43 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" +"Kontrol paneli yapılandırması yüklenirken bir hata oluştu. Varsayılan bir " +"gösterge tablosu kullanımda." + #: templates/403.html:4 msgid "Access Denied" msgstr "Erişim Reddedildi" @@ -9349,7 +9801,7 @@ msgstr "Ana Sayfa" #: 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:372 +#: vpn/forms/model_forms.py:378 msgid "Profile" msgstr "Profil" @@ -9438,20 +9890,24 @@ msgstr "E-posta" msgid "Account Created" msgstr "Hesap Oluşturuldu" -#: templates/account/profile.html:38 templates/users/user.html:42 +#: templates/account/profile.html:38 templates/users/user.html:34 +msgid "Last Login" +msgstr "Son Giriş" + +#: templates/account/profile.html:42 templates/users/user.html:46 msgid "Superuser" msgstr "Süper kullanıcı" -#: templates/account/profile.html:42 +#: templates/account/profile.html:46 msgid "Admin Access" msgstr "Yönetici Erişimi" -#: templates/account/profile.html:51 templates/users/objectpermission.html:86 -#: templates/users/user.html:51 +#: templates/account/profile.html:55 templates/users/objectpermission.html:86 +#: templates/users/user.html:55 msgid "Assigned Groups" msgstr "Atanan Gruplar" -#: templates/account/profile.html:56 +#: templates/account/profile.html:60 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 @@ -9467,12 +9923,12 @@ msgstr "Atanan Gruplar" #: 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:56 -#: templates/users/user.html:66 +#: templates/users/objectpermission.html:91 templates/users/user.html:60 +#: templates/users/user.html:70 msgid "None" msgstr "Yok" -#: templates/account/profile.html:66 templates/users/user.html:76 +#: templates/account/profile.html:70 templates/users/user.html:80 msgid "Recent Activity" msgstr "Son Etkinlik" @@ -9606,7 +10062,7 @@ msgid "Add Circuit" msgstr "Devre Ekle" #: templates/circuits/inc/circuit_termination.html:9 -#: templates/dcim/devicetype/component_templates.html:30 +#: 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 @@ -9618,7 +10074,6 @@ msgstr "Ekle" #: templates/circuits/inc/circuit_termination.html:14 #: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/devicetype/component_templates.html:21 #: 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 @@ -10132,7 +10587,6 @@ msgid "Local Config Context Data" msgstr "Yerel Yapılandırma Bağlam Verileri" #: templates/dcim/device_list.html:82 -#: templates/dcim/devicetype/component_templates.html:18 #: templates/dcim/moduletype/component_templates.html:18 #: templates/generic/bulk_rename.html:34 #: templates/virtualization/virtualmachine/interfaces.html:11 @@ -11836,7 +12290,7 @@ msgstr "Kiracı Grubu" msgid "Add Tenant Group" msgstr "Kiracı Grubu Ekle" -#: templates/users/group.html:37 templates/users/user.html:61 +#: templates/users/group.html:37 templates/users/user.html:65 msgid "Assigned Permissions" msgstr "Atanan İzinler" @@ -11862,7 +12316,7 @@ msgstr "Kısıtlamalar" msgid "Assigned Users" msgstr "Atanan Kullanıcılar" -#: templates/users/user.html:38 +#: templates/users/user.html:42 msgid "Staff" msgstr "Personel" @@ -11967,7 +12421,7 @@ msgstr "Sırrı Göster" #: 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:310 vpn/forms/model_forms.py:345 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Teklifler" @@ -12054,7 +12508,7 @@ msgstr "Kapsülleme" #: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 #: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:47 +#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "IPsec profili" @@ -12078,7 +12532,7 @@ msgstr "Tünel Sonlandırma" #: 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:97 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "Dış IP" @@ -12389,7 +12843,11 @@ msgstr "" msgid "At least one action must be selected." msgstr "En az bir eylem seçilmelidir." -#: users/forms/model_forms.py:390 +#: users/forms/model_forms.py:386 +msgid "Constraints are not supported for this object type." +msgstr "Bu nesne türü için kısıtlamalar desteklenmez." + +#: users/forms/model_forms.py:396 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Geçersiz filtre {model}: {error}" @@ -12596,6 +13054,10 @@ msgstr "" msgid "More than 50" msgstr "50'den fazla" +#: utilities/fields.py:96 +msgid "Custom queryset can't be used for this lookup." +msgstr "Özel sorgu kümesi bu arama için kullanılamaz." + #: utilities/fields.py:162 #, python-format msgid "" @@ -12627,6 +13089,15 @@ msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" "CSV alanlarını sınırlayan karakter. Yalnızca CSV formatı için geçerlidir." +#: utilities/forms/bulk_import.py:52 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "Bir dosya yüklerken/seçerken form verileri boş olmalıdır." + +#: utilities/forms/bulk_import.py:81 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "Bilinmeyen veri biçimi: {format}" + #: utilities/forms/bulk_import.py:101 msgid "Unable to detect data format. Please specify." msgstr "Veri biçimi tespit edilemiyor. Lütfen belirtin." @@ -12709,13 +13180,13 @@ msgstr "" msgid "URL-friendly unique shorthand" msgstr "URL dostu benzersiz stenografi" -#: utilities/forms/fields/fields.py:99 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" "İçeriğe bağlam verilerini girin JSON " "biçim." -#: utilities/forms/fields/fields.py:117 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "MAC adresi EUI-48 formatında olmalıdır" @@ -12744,6 +13215,82 @@ msgstr "" "Bu nesne, form oluşturulduğundan beri değiştirildi. Ayrıntılar için lütfen " "nesnenin değişiklik günlüğüne bakın." +#: utilities/forms/utils.py:42 utilities/forms/utils.py:65 +#: utilities/forms/utils.py:77 utilities/forms/utils.py:80 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "Menzil”{value}“geçersiz." + +#: utilities/forms/utils.py:225 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "Yinelenen veya çakışan sütun başlığı”{field}“" + +#: utilities/forms/utils.py:231 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "Yinelenen veya çakışan sütun başlığı”{header}“" + +#: utilities/forms/utils.py:240 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" +"Satır {row}: Bekleniyor {count_expected} sütunlar ama bulundu {count_found}" + +#: utilities/forms/utils.py:263 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "Beklenmeyen sütun başlığı”{field}“bulundu." + +#: utilities/forms/utils.py:265 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "Sütun”{field}“ilgili bir nesne değildir; nokta kullanamaz" + +#: utilities/forms/utils.py:269 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "Sütun için geçersiz ilgili nesne özniteliği”{field}“: {to_field}" + +#: utilities/forms/utils.py:277 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "Gerekli sütun başlığı”{header}“Bulunamadı." + +#: utilities/forms/widgets/apiselect.py:124 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" +"Dinamik sorgu parametresi için gerekli değer eksik: '{dynamic_params}'" + +#: utilities/forms/widgets/apiselect.py:141 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "Statik sorgu parametresi için gerekli değer eksik: '{static_params}'" + +#: utilities/permissions.py:40 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format " +"._" +msgstr "" +"Geçersiz izin adı: {name}. Formatında olmalı ._" + +#: utilities/permissions.py:57 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "Bilinmeyen app_label/model_name {name}" + +#: utilities/request.py:33 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "Geçersiz IP adresi ayarlandı {header}: {ip}" + +#: utilities/tables.py:47 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "Adlı bir sütun {name} tablo için zaten tanımlanmıştır {table_name}" + #: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "Tanımlanmamış" @@ -12824,6 +13371,71 @@ msgstr "Yazmak" msgid "Testing" msgstr "Test" +#: utilities/testing/views.py:625 +msgid "The test must define csv_update_data." +msgstr "Test csv_update_data tanımlamalıdır." + +#: utilities/utils.py:310 +msgid "Length must be a positive number" +msgstr "Uzunluk pozitif bir sayı olmalıdır" + +#: utilities/utils.py:312 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Geçersiz değer '{length}'uzunluk için (bir sayı olmalıdır)" + +#: utilities/utils.py:317 utilities/utils.py:350 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "" +"Bilinmeyen birim {unit}. Aşağıdakilerden biri olmalıdır: {valid_units}" + +#: utilities/utils.py:334 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." +msgstr "" +"Bilinmeyen birim {unit}. “km”, “m”, “cm”, “mi”, “ft” veya “in” olmalıdır." + +#: utilities/utils.py:343 +msgid "Weight must be a positive number" +msgstr "Ağırlık pozitif bir sayı olmalıdır" + +#: utilities/utils.py:345 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Geçersiz değer '{weight}'ağırlık için (bir sayı olmalıdır)" + +#: utilities/utils.py:363 +#, python-brace-format +msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." +msgstr "Bilinmeyen birim {unit}. “kg”, “g”, “lb”, “oz” olmalıdır." + +#: utilities/validators.py:65 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "{value} geçerli bir normal ifade değildir." + +#: utilities/views.py:38 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "" +"{self.__class__.__name__} get_required_permissions () uygulamasını " +"uygulamalıdır" + +#: utilities/views.py:74 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "{class_name} get_required_permissions () uygulamasını uygulamalıdır" + +#: utilities/views.py:98 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" +" be used on views which define a base queryset" +msgstr "" +"{class_name} tanımlanmış bir sorgu seti yok. ObjectPermissionRequiredMixin " +"yalnızca temel sorgu kümesini tanımlayan görünümlerde kullanılabilir" + #: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "Ana grup (ID)" @@ -13182,13 +13794,13 @@ msgid "Pre-shared key" msgstr "Önceden paylaşılan anahtar" #: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:363 +#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "IKE ilkesi" #: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:367 +#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "IPsec ilkesi" @@ -13262,7 +13874,7 @@ msgid "IKE version" msgstr "IKE versiyonu" #: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:293 vpn/forms/model_forms.py:328 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Teklif" @@ -13282,15 +13894,15 @@ msgstr "İkinci Sonlandırma" msgid "This parameter is required when defining a termination." msgstr "Bir sonlandırma tanımlarken bu parametre gereklidir." -#: vpn/forms/model_forms.py:314 vpn/forms/model_forms.py:349 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 msgid "Policy" msgstr "İlke" -#: vpn/forms/model_forms.py:469 +#: vpn/forms/model_forms.py:475 msgid "A termination must specify an interface or VLAN." msgstr "Bir sonlandırma bir arayüz veya VLAN belirtmelidir." -#: vpn/forms/model_forms.py:471 +#: vpn/forms/model_forms.py:477 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -13480,7 +14092,7 @@ msgstr "Nesne Ebeveyni" msgid "Object Site" msgstr "Nesne Sitesi" -#: vpn/tables/tunnels.py:84 +#: vpn/tables/tunnels.py:88 msgid "Host" msgstr "Ana bilgisayar" @@ -13563,3 +14175,13 @@ msgstr "kablosuz bağlantılar" #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} kablosuz bir arayüz değildir." + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "Geçersiz kanal değeri: {channel}" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "Geçersiz kanal özniteliği: {name}"