diff -Nru horizon-9.0.1/AUTHORS horizon-9.1.0/AUTHORS --- horizon-9.0.1/AUTHORS 2016-06-02 20:08:05.000000000 +0000 +++ horizon-9.1.0/AUTHORS 2016-07-21 10:27:17.000000000 +0000 @@ -453,6 +453,7 @@ Steve Leon Steve McLellan SudheerKall +Suraj Deshmukh Sushil Kumar Sushil Kumar Swaminathan Vasudevan diff -Nru horizon-9.0.1/ChangeLog horizon-9.1.0/ChangeLog --- horizon-9.0.1/ChangeLog 2016-06-02 20:08:05.000000000 +0000 +++ horizon-9.1.0/ChangeLog 2016-07-21 10:27:17.000000000 +0000 @@ -1,9 +1,41 @@ CHANGES ======= +9.1.0 +----- + +* Additional release note for stable release +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* Never import setting from openstack_dashboard +* Imported Translations from Zanata +* Net topology: Show console link only when useful +* Imported Translations from Zanata +* Imported Translations from Zanata +* Imported Translations from Zanata +* make breadcrumbs more robust +* ICMP type & code validation while adding Security Group rules +* Imported Translations from Zanata +* Updated from global requirements +* Imported Translations from Zanata +* Hotfix the issue with too new Firefox version +* Escape angularjs templating in unsafe HTML +* Imported Translations from Zanata +* Improve new Launch Instance defaults + tests +* Imported Translations from Zanata +* Imported Translations from Zanata +* Use upper-constraints in tox test environments + 9.0.1 ----- +* Remove admin role name 'admin' hardcode * Imported Translations from Zanata * UX: Misaligned OpenStack Logo * Django compressor cannot find custom theme templates diff -Nru horizon-9.0.1/debian/changelog horizon-9.1.0/debian/changelog --- horizon-9.0.1/debian/changelog 2016-06-21 19:15:19.000000000 +0000 +++ horizon-9.1.0/debian/changelog 2016-08-01 19:48:34.000000000 +0000 @@ -1,3 +1,11 @@ +horizon (2:9.1.0-0ubuntu1) xenial; urgency=medium + + * New upstream point release for OpenStack Mitaka (LP: #1607880). + * d/p/ubuntu_settings.patch: Rebased. + * d/control: Align (build-)depends with upstream. + + -- David Della Vecchia Mon, 01 Aug 2016 12:14:25 -0400 + horizon (2:9.0.1-0ubuntu2) xenial; urgency=medium * d/theme/ubuntu_theme.py: When setting UBUNTU_THEME for AVAILABLE_THEMES, diff -Nru horizon-9.0.1/debian/control horizon-9.1.0/debian/control --- horizon-9.0.1/debian/control 2016-06-21 16:25:33.000000000 +0000 +++ horizon-9.1.0/debian/control 2016-08-01 19:22:15.000000000 +0000 @@ -26,7 +26,7 @@ python-neutronclient (>= 1:2.6.0), python-novaclient (>= 2:2.29.0), python-openstack-auth (>= 2.0.0), - python-oslo.concurrency (>= 3.5.0), + python-oslo.concurrency (>= 3.7.1), python-oslo.config (>= 1:3.7.0), python-oslo.i18n (>= 2.1.0), python-oslo.policy (>= 0.5.0), @@ -63,7 +63,7 @@ python-neutronclient (>= 1:2.6.0), python-novaclient (>= 2:2.29.0), python-openstack-auth (>= 2.0.0), - python-oslo.concurrency (>= 3.5.0), + python-oslo.concurrency (>= 3.7.1), python-oslo.config (>= 1:3.7.0), python-oslo.i18n (>= 2.1.0), python-oslo.policy (>= 0.5.0), diff -Nru horizon-9.0.1/debian/patches/ubuntu_settings.patch horizon-9.1.0/debian/patches/ubuntu_settings.patch --- horizon-9.0.1/debian/patches/ubuntu_settings.patch 2016-06-21 16:25:33.000000000 +0000 +++ horizon-9.1.0/debian/patches/ubuntu_settings.patch 2016-08-01 19:22:15.000000000 +0000 @@ -74,7 +74,7 @@ # Scripting (XFS) vulnerability, so this option allows extra security hardening --- a/openstack_dashboard/settings.py +++ b/openstack_dashboard/settings.py -@@ -357,8 +357,7 @@ +@@ -360,8 +360,7 @@ 'local') from horizon.utils import secret_key diff -Nru horizon-9.0.1/doc/source/quickstart.rst horizon-9.1.0/doc/source/quickstart.rst --- horizon-9.0.1/doc/source/quickstart.rst 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/doc/source/quickstart.rst 2016-07-21 10:24:00.000000000 +0000 @@ -297,7 +297,8 @@ class Images(horizon.Panel): name = "Images" slug = 'images' - permissions = ('openstack.roles.admin', 'my.other.permission',) + permissions = ('openstack.roles.admin', 'my.openstack.permission',) + policy_rules = (('endpoint', 'endpoint:rule'),) # You could also register your panel with another application's dashboard diff -Nru horizon-9.0.1/doc/source/topics/customizing.rst horizon-9.1.0/doc/source/topics/customizing.rst --- horizon-9.0.1/doc/source/topics/customizing.rst 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/doc/source/topics/customizing.rst 2016-07-21 10:24:05.000000000 +0000 @@ -441,12 +441,6 @@ projects_dashboard = horizon.get_dashboard("project") instances_panel = projects_dashboard.get_panel("instances") -And limit access to users with the Keystone Admin role:: - - permissions = list(getattr(instances_panel, 'permissions', [])) - permissions.append('openstack.roles.admin') - instances_panel.permissions = tuple(permissions) - Or just remove it entirely:: projects_dashboard.unregister(instances_panel.__class__) diff -Nru horizon-9.0.1/horizon/locale/cs/LC_MESSAGES/djangojs.po horizon-9.1.0/horizon/locale/cs/LC_MESSAGES/djangojs.po --- horizon-9.0.1/horizon/locale/cs/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/cs/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,17 @@ # OpenStack Infra , 2015. #zanata # Zbyněk Schwarz , 2015. #zanata +# Lenka Husáková , 2016. #zanata # Stanislav Ulrych , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev46\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-06-01 05:30+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-31 12:13+0000\n" -"Last-Translator: Stanislav Ulrych \n" +"PO-Revision-Date: 2016-06-02 06:50+0000\n" +"Last-Translator: Lenka Husáková \n" "Language-Team: Czech\n" "Language: cs\n" "X-Generator: Zanata 3.7.3\n" @@ -121,6 +122,9 @@ msgid "Custom" msgstr "Vlastní" +msgid "Customization Script" +msgstr "Přizpůsobovací skript" + msgid "Danger" msgstr "Nebezpečí" @@ -175,6 +179,9 @@ msgid "Error: " msgstr "Chyba:" +msgid "Example" +msgstr "Příklad" + msgid "Existing Metadata" msgstr "Existující popisná data" @@ -211,6 +218,9 @@ msgid "Interfaces" msgstr "Rozhraní" +msgid "Load script from a file" +msgstr "Načíst skript ze souboru" + msgid "Loading" msgstr "Načítání" @@ -304,6 +314,17 @@ msgid "STATUS" msgstr "STAV" +#. Strings between {$ and $} should be left untranslated. +msgid "" +"Script size: {$ (scriptLength || 0) | bytes $} of {$ config.MAX_SCRIPT_SIZE " +"| bytes $}" +msgstr "" +"Velikost skriptu: {$ (scriptLength || 0) | bytes $} of {$ config." +"MAX_SCRIPT_SIZE | bytes $}" + +msgid "Search in current results" +msgstr "Hledat v aktuálních výsledcích" + msgid "Select an item from Available items below" msgstr "Vyberte položku ze seznamu níže" @@ -344,6 +365,9 @@ msgstr "" "Činnost nelze provést. Obsah tohoto řádku má chyby, nebo mu chybí informace." +msgid "The script is larger than the maximum size" +msgstr "Skript je větší než maximální velikost" + msgid "There was a problem communicating with the server, please try again." msgstr "Při komunikaci se serverem nastal problém, zkuste to znovu." @@ -353,6 +377,9 @@ msgid "Toggle Dropdown" msgstr "Přepnout rozbalovací seznam" +msgid "Toggle navigation" +msgstr "Přepnout navigaci" + msgid "Total" msgstr "Celkem" @@ -413,3 +440,6 @@ #, python-format msgid "selected \"%s\"" msgstr "\"%s\" vybráno" + +msgid "{$ message || 'No items to display.' $}" +msgstr "{$ message || 'Žádné položky k zobrazení.' $}" diff -Nru horizon-9.0.1/horizon/locale/cs/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/cs/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/cs/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/cs/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,17 @@ # OpenStack Infra , 2015. #zanata # Zbyněk Schwarz , 2015. #zanata +# Lenka Husáková , 2016. #zanata # Stanislav Ulrych , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev46\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-06-01 05:30+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-31 12:11+0000\n" -"Last-Translator: Stanislav Ulrych \n" +"PO-Revision-Date: 2016-06-02 06:49+0000\n" +"Last-Translator: Lenka Husáková \n" "Language-Team: Czech\n" "Language: cs\n" "X-Generator: Zanata 3.7.3\n" @@ -170,6 +171,13 @@ msgid "Back" msgstr "Zpět" +#. Translators: test code, don't really have to translate +msgid "Batch Item" +msgid_plural "Batch Items" +msgstr[0] "Skupinová položka" +msgstr[1] "Skupinové položky" +msgstr[2] "Skupinové položky" + msgid "Cancel" msgstr "Zrušit" @@ -339,6 +347,10 @@ msgid "Summary" msgstr "Přehled" +#, python-format +msgid "The attribute %(attr)s doesn't exist on %(obj)s." +msgstr "Vlastnost %(attr)s neexistuje v %(obj)s." + msgid "The date should be in YYYY-mm-dd format." msgstr "Datum by mělo být ve formátu RRRR-mm-dd." @@ -377,6 +389,18 @@ msgid "Unauthorized: %s" msgstr "Neoprávněný přístup k: %s" +msgid "Update Item" +msgid_plural "Update Items" +msgstr[0] "Aktualizovat položku" +msgstr[1] "Aktualizovat položky" +msgstr[2] "Aktualizovat položky" + +msgid "Updated Item" +msgid_plural "Updated Items" +msgstr[0] "Aktualizovaná položka" +msgstr[1] "Aktualizované položky" +msgstr[2] "Aktualizovaných položek" + msgid "Usage Summary" msgstr "Souhrn využití" diff -Nru horizon-9.0.1/horizon/locale/de/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/de/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/de/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/de/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,17 @@ # Carsten Duch , 2015. #zanata # Carsten Duch , 2016. #zanata # Monika Wolf , 2016. #zanata +# Robert Simai , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev28\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-07-01 05:28+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-25 02:31+0000\n" -"Last-Translator: Lisa Stemmler \n" +"PO-Revision-Date: 2016-06-30 11:35+0000\n" +"Last-Translator: Robert Simai \n" "Language-Team: German\n" "Language: de\n" "X-Generator: Zanata 3.7.3\n" @@ -301,6 +302,12 @@ msgid "None available." msgstr "Keine verfügbar." +msgid "Not a valid ICMP code" +msgstr "Kein gültiger ICMP Code" + +msgid "Not a valid ICMP type" +msgstr "Kein gültiger ICMP Typ" + msgid "Not a valid IP protocol number" msgstr "Keine gültige IP-Protokollnummer" diff -Nru horizon-9.0.1/horizon/locale/en_GB/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/en_GB/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/en_GB/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/en_GB/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -4,13 +4,13 @@ # Rob Cresswell , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev26\n" +"Project-Id-Version: horizon 9.0.2.dev33\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-17 00:28+0000\n" +"POT-Creation-Date: 2016-07-04 11:45+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-23 12:24+0000\n" +"PO-Revision-Date: 2016-07-05 11:52+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" @@ -298,6 +298,12 @@ msgid "None available." msgstr "None available." +msgid "Not a valid ICMP code" +msgstr "Not a valid ICMP code" + +msgid "Not a valid ICMP type" +msgstr "Not a valid ICMP type" + msgid "Not a valid IP protocol number" msgstr "Not a valid IP protocol number" diff -Nru horizon-9.0.1/horizon/locale/es/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/es/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/es/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/es/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,15 +1,16 @@ # Marian Tort , 2015. #zanata # Eugènia Torrella , 2016. #zanata +# Pablo Caruana , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev23\n" +"Project-Id-Version: horizon 9.0.2.dev23\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-14 10:52+0000\n" +"POT-Creation-Date: 2016-06-27 20:59+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-15 09:51+0000\n" -"Last-Translator: Pablo Iranzo Gómez \n" +"PO-Revision-Date: 2016-06-27 10:16+0000\n" +"Last-Translator: Pablo Caruana \n" "Language-Team: Spanish\n" "Language: es\n" "X-Generator: Zanata 3.7.3\n" @@ -298,6 +299,12 @@ msgid "None available." msgstr "Ninguno disponible." +msgid "Not a valid ICMP code" +msgstr "No es un código válido de ICMP " + +msgid "Not a valid ICMP type" +msgstr "No es un tipo válido de ICMP " + msgid "Not a valid IP protocol number" msgstr "Número de protocolo IP no válido" diff -Nru horizon-9.0.1/horizon/locale/es_MX/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/es_MX/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/es_MX/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/es_MX/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,14 +1,15 @@ # OpenStack Infra , 2015. #zanata +# Heleno Jimenez de la Cruz , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev2\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-04 18:21+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" +"PO-Revision-Date: 2016-06-07 05:53+0000\n" +"Last-Translator: Heleno Jimenez de la Cruz \n" "Language-Team: Spanish (Mexico)\n" "Language: es-MX\n" "X-Generator: Zanata 3.7.3\n" @@ -167,6 +168,9 @@ msgid "Error: " msgstr "Error: " +msgid "Fake" +msgstr "Falso" + msgid "Filter" msgstr "Filtro" @@ -188,6 +192,9 @@ msgid "Limit Summary" msgstr "Resumen de Límite" +msgid "Log in" +msgstr "Ingresar" + msgid "Login" msgstr "Nombre de usuario" diff -Nru horizon-9.0.1/horizon/locale/fr/LC_MESSAGES/djangojs.po horizon-9.1.0/horizon/locale/fr/LC_MESSAGES/djangojs.po --- horizon-9.0.1/horizon/locale/fr/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/fr/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,17 +1,18 @@ # Corinne Verheyde , 2015. #zanata # Olivier Buisson , 2015. #zanata # Corinne Verheyde , 2016. #zanata +# Yves-Gwenaël Bourhis , 2016. #zanata # leroy , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:14+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-24 09:18+0000\n" -"Last-Translator: Gael Rehault \n" +"PO-Revision-Date: 2016-06-01 03:05+0000\n" +"Last-Translator: Yves-Gwenaël Bourhis \n" "Language-Team: French\n" "Language: fr\n" "X-Generator: Zanata 3.7.3\n" @@ -318,8 +319,8 @@ "Script size: {$ (scriptLength || 0) | bytes $} of {$ config.MAX_SCRIPT_SIZE " "| bytes $}" msgstr "" -"Taille du script : {$ (scriptLength || 0) | octets $} sur {$ config." -"MAX_SCRIPT_SIZE | octets $}" +"Taille du script : {$ (scriptLength || 0) | bytes $} sur {$ config." +"MAX_SCRIPT_SIZE | bytes $}" msgid "Search in current results" msgstr "Rechercher dans les résultats en cours" diff -Nru horizon-9.0.1/horizon/locale/ko_KR/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/ko_KR/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/ko_KR/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/ko_KR/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,14 +1,15 @@ # Sungjin Kang , 2015. #zanata +# Ian Y. Choi , 2016. #zanata # Sungjin Kang , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev27\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-29 20:34+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-18 02:20+0000\n" +"PO-Revision-Date: 2016-06-29 03:50+0000\n" "Last-Translator: Ian Y. Choi \n" "Language-Team: Korean (South Korea)\n" "Language: ko-KR\n" @@ -289,6 +290,12 @@ msgid "None available." msgstr "사용할 수 있는 것이 없습니다." +msgid "Not a valid ICMP code" +msgstr "올바른 ICMP 코드가 아님" + +msgid "Not a valid ICMP type" +msgstr "올바른 ICMP 유형이 아님" + msgid "Not a valid IP protocol number" msgstr "올바르지 않은 IP 프로토콜 번호" diff -Nru horizon-9.0.1/horizon/locale/zh_CN/LC_MESSAGES/django.po horizon-9.1.0/horizon/locale/zh_CN/LC_MESSAGES/django.po --- horizon-9.0.1/horizon/locale/zh_CN/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/locale/zh_CN/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,14 +1,15 @@ # Linda , 2016. #zanata +# yan , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev23\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-27 20:59+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-02 03:47+0000\n" -"Last-Translator: liujunpeng \n" +"PO-Revision-Date: 2016-06-27 03:05+0000\n" +"Last-Translator: yan \n" "Language-Team: Chinese (China)\n" "Language: zh-CN\n" "X-Generator: Zanata 3.7.3\n" @@ -286,6 +287,12 @@ msgid "None available." msgstr "没有可用成员。" +msgid "Not a valid ICMP code" +msgstr "无效的ICMP码" + +msgid "Not a valid ICMP type" +msgstr "无效的ICMP类型" + msgid "Not a valid IP protocol number" msgstr "不是一个有效的 IP 协议号" diff -Nru horizon-9.0.1/horizon/templatetags/breadcrumb_nav.py horizon-9.1.0/horizon/templatetags/breadcrumb_nav.py --- horizon-9.0.1/horizon/templatetags/breadcrumb_nav.py 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/horizon/templatetags/breadcrumb_nav.py 2016-07-21 10:24:05.000000000 +0000 @@ -23,5 +23,5 @@ return {'actions': context.get('actions'), 'breadcrumb': context.get('custom_breadcrumb'), 'url': context.get('url'), - 'page_title': context['page_title'], + 'page_title': context.get('page_title', ''), 'panel': context.request.horizon['panel'], } diff -Nru horizon-9.0.1/horizon/test/tests/utils.py horizon-9.1.0/horizon/test/tests/utils.py --- horizon-9.0.1/horizon/test/tests/utils.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/horizon/test/tests/utils.py 2016-07-21 10:24:05.000000000 +0000 @@ -196,7 +196,7 @@ def test_port_validator(self): VALID_PORTS = (1, 65535) - INVALID_PORTS = (-1, 0, 65536) + INVALID_PORTS = (-1, 65536) for port in VALID_PORTS: self.assertIsNone(validators.validate_port_range(port)) @@ -206,6 +206,30 @@ validators.validate_port_range, port) + def test_icmp_type_validator(self): + VALID_ICMP_TYPES = (1, 0, 255, -1) + INVALID_ICMP_TYPES = (256, None, -2) + + for icmp_type in VALID_ICMP_TYPES: + self.assertIsNone(validators.validate_icmp_type_range(icmp_type)) + + for icmp_type in INVALID_ICMP_TYPES: + self.assertRaises(ValidationError, + validators.validate_icmp_type_range, + icmp_type) + + def test_icmp_code_validator(self): + VALID_ICMP_CODES = (1, 0, 255, None, -1,) + INVALID_ICMP_CODES = (256, -2) + + for icmp_code in VALID_ICMP_CODES: + self.assertIsNone(validators.validate_icmp_code_range(icmp_code)) + + for icmp_code in INVALID_ICMP_CODES: + self.assertRaises(ValidationError, + validators.validate_icmp_code_range, + icmp_code) + def test_ip_proto_validator(self): VALID_PROTO = (0, 255) INVALID_PROTO = (-1, 256) @@ -223,7 +247,7 @@ '1:1') INVALID_RANGE = ('22:22:22:22', '1:-1', - '0:65535') + '-1:65535') test_call = validators.validate_port_or_colon_separated_port_range for prange in VALID_RANGE: diff -Nru horizon-9.0.1/horizon/utils/escape.py horizon-9.1.0/horizon/utils/escape.py --- horizon-9.0.1/horizon/utils/escape.py 1970-01-01 00:00:00.000000000 +0000 +++ horizon-9.1.0/horizon/utils/escape.py 2016-07-21 10:24:00.000000000 +0000 @@ -0,0 +1,31 @@ +# Copyright 2016, Rackspace, US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import django.utils.html + + +def escape(text, existing=django.utils.html.escape): + # Replace our angular markup string with a different string + # (which just happens to be the Django comment string) + # this prevents user-supplied data from being intepreted in + # our pages by angularjs, thus preventing it from being used + # for XSS attacks. Note that we use {$ $} instead of the + # standard {{ }} - this is configured in horizon.framework + # angularjs module through $interpolateProvider. + return existing(text).replace('{$', '{%').replace('$}', '%}') + + +# this will be invoked as early as possible in settings.py +def monkeypatch_escape(): + django.utils.html.escape = escape diff -Nru horizon-9.0.1/horizon/utils/validators.py horizon-9.1.0/horizon/utils/validators.py --- horizon-9.0.1/horizon/utils/validators.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/horizon/utils/validators.py 2016-07-21 10:24:00.000000000 +0000 @@ -28,6 +28,20 @@ raise ValidationError(_("Not a valid port number")) +def validate_icmp_type_range(icmp_type): + if not netutils.is_valid_icmp_type(icmp_type): + if icmp_type == -1: + return + raise ValidationError(_("Not a valid ICMP type")) + + +def validate_icmp_code_range(icmp_code): + if not netutils.is_valid_icmp_code(icmp_code): + if icmp_code == -1: + return + raise ValidationError(_("Not a valid ICMP code")) + + def validate_ip_protocol(ip_proto): if ip_proto not in range(0, 256): raise ValidationError(_("Not a valid IP protocol number")) diff -Nru horizon-9.0.1/horizon.egg-info/pbr.json horizon-9.1.0/horizon.egg-info/pbr.json --- horizon-9.0.1/horizon.egg-info/pbr.json 2016-06-02 20:08:06.000000000 +0000 +++ horizon-9.1.0/horizon.egg-info/pbr.json 2016-07-21 10:27:18.000000000 +0000 @@ -1 +1 @@ -{"is_release": true, "git_version": "f4b9e17"} \ No newline at end of file +{"is_release": true, "git_version": "8211d68"} \ No newline at end of file diff -Nru horizon-9.0.1/horizon.egg-info/PKG-INFO horizon-9.1.0/horizon.egg-info/PKG-INFO --- horizon-9.0.1/horizon.egg-info/PKG-INFO 2016-06-02 20:08:05.000000000 +0000 +++ horizon-9.1.0/horizon.egg-info/PKG-INFO 2016-07-21 10:27:17.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: horizon -Version: 9.0.1 +Version: 9.1.0 Summary: OpenStack Dashboard Home-page: http://www.openstack.org/ Author: OpenStack diff -Nru horizon-9.0.1/horizon.egg-info/requires.txt horizon-9.1.0/horizon.egg-info/requires.txt --- horizon-9.0.1/horizon.egg-info/requires.txt 2016-06-02 20:08:05.000000000 +0000 +++ horizon-9.1.0/horizon.egg-info/requires.txt 2016-07-21 10:27:17.000000000 +0000 @@ -9,7 +9,7 @@ httplib2>=0.7.5 iso8601>=0.1.9 netaddr!=0.7.16,>=0.7.12 -oslo.concurrency>=3.5.0 +oslo.concurrency>=3.7.1 oslo.config>=3.7.0 oslo.i18n>=2.1.0 oslo.policy>=0.5.0 diff -Nru horizon-9.0.1/horizon.egg-info/SOURCES.txt horizon-9.1.0/horizon.egg-info/SOURCES.txt --- horizon-9.0.1/horizon.egg-info/SOURCES.txt 2016-06-02 20:08:09.000000000 +0000 +++ horizon-9.1.0/horizon.egg-info/SOURCES.txt 2016-07-21 10:27:21.000000000 +0000 @@ -561,6 +561,7 @@ horizon/utils/__init__.py horizon/utils/babel_extract_angular.py horizon/utils/csvbase.py +horizon/utils/escape.py horizon/utils/file_discovery.py horizon/utils/filters.py horizon/utils/functions.py @@ -2236,6 +2237,7 @@ releasenotes/notes/launch-instance-defaults-c6ab65b7ab822162.yaml releasenotes/notes/message-of-the-day-19eb745a147ca56d.yaml releasenotes/notes/move-policy-engine-b19e434a62912e5f.yaml +releasenotes/notes/oslo-concurrency-b336fa83b33a9a0e.yaml releasenotes/notes/removal-of-webroot-theme-108db1d2f11da449.yaml releasenotes/notes/workflow-step-policy-1ca99b0249294337.yaml releasenotes/source/conf.py diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/admin/dashboard.py horizon-9.1.0/openstack_dashboard/dashboards/admin/dashboard.py --- horizon-9.0.1/openstack_dashboard/dashboards/admin/dashboard.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/admin/dashboard.py 2016-07-21 10:24:05.000000000 +0000 @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from django.conf import settings from django.utils.translation import ugettext_lazy as _ import horizon @@ -20,7 +21,17 @@ class Admin(horizon.Dashboard): name = _("Admin") slug = "admin" - permissions = ('openstack.roles.admin',) - policy_rules = (("identity", "cloud_admin"),) + + if getattr(settings, 'POLICY_CHECK_FUNCTION', None): + policy_rules = (('identity', 'admin_required'), + ('image', 'context_is_admin'), + ('volume', 'context_is_admin'), + ('compute', 'context_is_admin'), + ('network', 'context_is_admin'), + ('orchestration', 'context_is_admin'), + ('telemetry', 'context_is_admin'),) + else: + permissions = ('openstack.roles.admin',) + horizon.register(Admin) diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/admin/hypervisors/panel.py horizon-9.1.0/openstack_dashboard/dashboards/admin/hypervisors/panel.py --- horizon-9.0.1/openstack_dashboard/dashboards/admin/hypervisors/panel.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/admin/hypervisors/panel.py 2016-07-21 10:24:00.000000000 +0000 @@ -21,3 +21,4 @@ name = _("Hypervisors") slug = 'hypervisors' permissions = ('openstack.services.compute',) + policy_rules = (("compute", "compute_extension:hypervisors"),) diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/admin/instances/panel.py horizon-9.1.0/openstack_dashboard/dashboards/admin/instances/panel.py --- horizon-9.0.1/openstack_dashboard/dashboards/admin/instances/panel.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/admin/instances/panel.py 2016-07-21 10:24:00.000000000 +0000 @@ -25,3 +25,4 @@ name = _("Instances") slug = 'instances' permissions = ('openstack.services.compute',) + policy_rules = (("compute", "compute:get_all"),) diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/admin/metadata_defs/panel.py horizon-9.1.0/openstack_dashboard/dashboards/admin/metadata_defs/panel.py --- horizon-9.0.1/openstack_dashboard/dashboards/admin/metadata_defs/panel.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/admin/metadata_defs/panel.py 2016-07-21 10:24:00.000000000 +0000 @@ -23,6 +23,7 @@ class MetadataDefinitions(horizon.Panel): name = _("Metadata Definitions") slug = 'metadata_defs' + policy_rules = (("image", "get_metadef_namespaces"),) @staticmethod def can_register(): diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/admin/overview/panel.py horizon-9.1.0/openstack_dashboard/dashboards/admin/overview/panel.py --- horizon-9.0.1/openstack_dashboard/dashboards/admin/overview/panel.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/admin/overview/panel.py 2016-07-21 10:24:00.000000000 +0000 @@ -26,6 +26,7 @@ class Overview(horizon.Panel): name = _("Overview") slug = 'overview' + policy_rules = (('identity', 'identity:list_projects'),) dashboard.Admin.register(Overview) diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py horizon-9.1.0/openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py --- horizon-9.0.1/openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py 2016-07-21 10:24:05.000000000 +0000 @@ -186,7 +186,8 @@ 'data-switch-on': 'rule_menu', 'data-rule_menu-icmp': _('Type')}), validators=[ - utils_validators.validate_port_range]) + utils_validators. + validate_icmp_type_range]) icmp_code = forms.IntegerField(label=_("Code"), required=False, @@ -197,7 +198,8 @@ 'data-switch-on': 'rule_menu', 'data-rule_menu-icmp': _('Code')}), validators=[ - utils_validators.validate_port_range]) + utils_validators. + validate_icmp_code_range]) remote = forms.ChoiceField(label=_('Remote'), choices=[('cidr', _('CIDR')), @@ -290,18 +292,16 @@ icmp_code = cleaned_data.get("icmp_code", None) self._update_and_pop_error(cleaned_data, 'ip_protocol', rule_menu) - if icmp_type is None: - msg = _('The ICMP type is invalid.') + if icmp_type == -1 and icmp_code != -1: + msg = _('ICMP code is provided but ICMP type is missing.') raise ValidationError(msg) - if icmp_code is None: - msg = _('The ICMP code is invalid.') - raise ValidationError(msg) - if icmp_type not in range(-1, 256): + if self.errors.get('icmp_type'): msg = _('The ICMP type not in range (-1, 255)') raise ValidationError(msg) - if icmp_code not in range(-1, 256): + if self.errors.get('icmp_code'): msg = _('The ICMP code not in range (-1, 255)') raise ValidationError(msg) + self._update_and_pop_error(cleaned_data, 'from_port', icmp_type) self._update_and_pop_error(cleaned_data, 'to_port', icmp_code) self._update_and_pop_error(cleaned_data, 'port', None) diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/access_and_security/security_groups/tests.py horizon-9.1.0/openstack_dashboard/dashboards/project/access_and_security/security_groups/tests.py --- horizon-9.0.1/openstack_dashboard/dashboards/project/access_and_security/security_groups/tests.py 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/access_and_security/security_groups/tests.py 2016-07-21 10:24:05.000000000 +0000 @@ -483,8 +483,8 @@ sec_group_list = self.security_groups.list() icmp_rule = self.security_group_rules.list()[1] - # Call POST 4 times - for i in range(4): + # Call POST 5 times + for i in range(5): api.network.security_group_backend( IsA(http.HttpRequest)).AndReturn(self.secgroup_backend) api.network.security_group_list( @@ -526,7 +526,7 @@ 'remote': 'cidr'} res = self.client.post(self.edit_url, formData) self.assertNoMessages() - self.assertContains(res, "The ICMP code is invalid") + self.assertContains(res, "The ICMP code not in range (-1, 255)") formData = {'method': 'AddRule', 'id': sec_group.id, @@ -538,7 +538,20 @@ 'remote': 'cidr'} res = self.client.post(self.edit_url, formData) self.assertNoMessages() - self.assertContains(res, "The ICMP type is invalid") + self.assertContains(res, "The ICMP type not in range (-1, 255)") + + formData = {'method': 'AddRule', + 'id': sec_group.id, + 'port_or_range': 'port', + 'icmp_type': -1, + 'icmp_code': icmp_rule.to_port, + 'rule_menu': icmp_rule.ip_protocol, + 'cidr': icmp_rule.ip_range['cidr'], + 'remote': 'cidr'} + res = self.client.post(self.edit_url, formData) + self.assertNoMessages() + self.assertContains( + res, "ICMP code is provided but ICMP type is missing.") @test.create_stubs({api.network: ('security_group_rule_create', 'security_group_list', diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/network_topology/templates/network_topology/client_side/_balloon_container.html horizon-9.1.0/openstack_dashboard/dashboards/project/network_topology/templates/network_topology/client_side/_balloon_container.html --- horizon-9.0.1/openstack_dashboard/dashboards/project/network_topology/templates/network_topology/client_side/_balloon_container.html 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/network_topology/templates/network_topology/client_side/_balloon_container.html 2016-07-21 10:24:00.000000000 +0000 @@ -15,12 +15,11 @@
[[#type]]
diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/network_topology/views.py horizon-9.1.0/openstack_dashboard/dashboards/project/network_topology/views.py --- horizon-9.0.1/openstack_dashboard/dashboards/project/network_topology/views.py 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/network_topology/views.py 2016-07-21 10:24:05.000000000 +0000 @@ -77,6 +77,12 @@ from openstack_dashboard.dashboards.project.routers import\ views as r_views +# List of known server statuses that wont connect to the console +console_invalid_status = { + 'shutoff', 'suspended', 'resize', 'verify_resize', + 'revert_resize', 'migrating', 'build', 'shelved', + 'shelved_offloaded'} + class TranslationHelper(object): """Helper class to provide the translations of instances, networks, @@ -251,19 +257,21 @@ console_type = getattr(settings, 'CONSOLE_TYPE', 'AUTO') # lowercase of the keys will be used at the end of the console URL. for server in servers: - try: - console = i_console.get_console( - request, console_type, server)[0].lower() - except exceptions.NotAvailable: - console = None - server_data = {'name': server.name, 'status': self.trans.instance[server.status], 'original_status': server.status, 'task': getattr(server, 'OS-EXT-STS:task_state'), 'id': server.id} - if console: - server_data['console'] = console + # Avoid doing extra calls for console if the server is in + # a invalid status for console connection + if server.status.lower() not in console_invalid_status: + try: + console = i_console.get_console( + request, console_type, server)[0].lower() + server_data['console'] = console + except exceptions.NotAvailable: + pass + data.append(server_data) self.add_resource_url('horizon:project:instances:detail', data) return data diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js horizon-9.1.0/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js --- horizon-9.0.1/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js 2016-07-21 10:24:05.000000000 +0000 @@ -326,6 +326,9 @@ e.keypair.id = e.keypair.name; return e.keypair; })); + if (data.data.items.length === 1) { + model.newInstanceSpec.key_pair.push(data.data.items[0].keypair); + } } function setFinalSpecKeyPairs(finalSpec) { @@ -343,6 +346,15 @@ function onGetSecurityGroups(data) { model.securityGroups.length = 0; + angular.forEach(data.data.items, function addDefault(item) { + // 'default' is a special security group in neutron. It can not be + // deleted and is guaranteed to exist. It by default contains all + // of the rules needed for an instance to reach out to the network + // so the instance can provision itself. + if (item.name === 'default') { + model.newInstanceSpec.security_groups.push(item); + } + }); push.apply(model.securityGroups, data.data.items); } @@ -368,6 +380,9 @@ function onGetNetworks(data) { model.neutronEnabled = true; model.networks.length = 0; + if (data.data.items.length === 1) { + model.newInstanceSpec.networks.push(data.data.items[0]); + } push.apply(model.networks, data.data.items); return data; } diff -Nru horizon-9.0.1/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js horizon-9.1.0/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js --- horizon-9.0.1/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js 2016-07-21 10:24:05.000000000 +0000 @@ -71,6 +71,47 @@ } }; + var securityGroupApi = { + query: function() { + var secGroups = [ + { name: 'security-group-1' }, + { name: 'security-group-2' } + ]; + + var deferred = $q.defer(); + deferred.resolve({ data: { items: secGroups } }); + return deferred.promise; + } + }; + + var neutronApi = { + getNetworks: function() { + var networks = [ { id: 'net-1' }, { id: 'net-2' } ]; + + var deferred = $q.defer(); + deferred.resolve({ data: { items: networks } }); + + return deferred.promise; + }, + getPorts: function(network) { + var ports = { + 'net-1': [ + { name: 'port-1', device_owner: '', fixed_ips: [], admin_state: 'UP' }, + { name: 'port-2', device_owner: '', fixed_ips: [], admin_state: 'DOWN' } + ], + 'net-2': [ + { name: 'port-3', device_owner: 'owner', fixed_ips: [], admin_state: 'DOWN' }, + { name: 'port-4', device_owner: '', fixed_ips: [], admin_state: 'DOWN' } + ] + }; + + var deferred = $q.defer(); + deferred.resolve({ data: { items: ports[network.network_id] } }); + + return deferred.promise; + } + }; + beforeEach(module('horizon.dashboard.project.workflow.launch-instance')); beforeEach(module(function($provide) { @@ -110,47 +151,9 @@ $provide.value('horizon.app.core.openstack-service-api.nova', novaApi); - $provide.value('horizon.app.core.openstack-service-api.security-group', { - query: function() { - var secGroups = [ - { name: 'security-group-1' }, - { name: 'security-group-2' } - ]; - - var deferred = $q.defer(); - deferred.resolve({ data: { items: secGroups } }); - - return deferred.promise; - } - }); + $provide.value('horizon.app.core.openstack-service-api.security-group', securityGroupApi); - $provide.value('horizon.app.core.openstack-service-api.neutron', { - getNetworks: function() { - var networks = [ { id: 'net-1' }, { id: 'net-2' } ]; - - var deferred = $q.defer(); - deferred.resolve({ data: { items: networks } }); - - return deferred.promise; - }, - getPorts: function(network) { - var ports = { - 'net-1': [ - { name: 'port-1', device_owner: '', fixed_ips: [], admin_state: 'UP' }, - { name: 'port-2', device_owner: '', fixed_ips: [], admin_state: 'DOWN' } - ], - 'net-2': [ - { name: 'port-3', device_owner: 'owner', fixed_ips: [], admin_state: 'DOWN' }, - { name: 'port-4', device_owner: '', fixed_ips: [], admin_state: 'DOWN' } - ] - }; - - var deferred = $q.defer(); - deferred.resolve({ data: { items: ports[network.network_id] } }); - - return deferred.promise; - } - }); + $provide.value('horizon.app.core.openstack-service-api.neutron', neutronApi); $provide.value('horizon.app.core.openstack-service-api.cinder', { getVolumes: function() { @@ -387,6 +390,47 @@ scope.$apply(); expect(model.ports.length).toBe(1); }); + + it('should set a keypair by default if only one keypair is available', function () { + var keypair = { keypair: { name: 'key-1' } }; + spyOn(novaApi, 'getKeypairs').and.callFake(function () { + var deferred = $q.defer(); + deferred.resolve({ data: { items: [ keypair ] } }); + return deferred.promise; + }); + model.initialize(true); + scope.$apply(); + expect(model.newInstanceSpec.key_pair.length).toBe(1); + expect(model.newInstanceSpec.key_pair).toEqual( [ keypair.keypair ] ); + }); + + it('should set a security group by default if one named "default" is available', + function () { + var secGroups = [ { name: 'default' } ]; + spyOn(securityGroupApi, 'query').and.callFake(function () { + var deferred = $q.defer(); + deferred.resolve({ data: { items: secGroups } }); + return deferred.promise; + }); + model.initialize(true); + scope.$apply(); + expect(model.newInstanceSpec.security_groups.length).toBe(1); + expect(model.newInstanceSpec.security_groups).toEqual(secGroups); + } + ); + + it('should set a network by default if only one network is available', function () { + var networks = [ { id: 'net-1' } ]; + spyOn(neutronApi, 'getNetworks').and.callFake(function () { + var deferred = $q.defer(); + deferred.resolve({ data: { items: networks } }); + return deferred.promise; + }); + model.initialize(true); + scope.$apply(); + expect(model.newInstanceSpec.networks.length).toBe(1); + expect(model.newInstanceSpec.networks).toEqual(networks); + }); }); describe('Post Initialization Model - Initializing', function() { diff -Nru horizon-9.0.1/openstack_dashboard/locale/as/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/as/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/as/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/as/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5202,15 +5202,9 @@ msgid "The Aggregate was updated." msgstr "গড়টো আপডেট কৰা হৈছিল." -msgid "The ICMP code is invalid." -msgstr "ICMP কোডটো অবৈধ." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP কোডটো পৰিসৰত (-1, 255) নাই" -msgid "The ICMP type is invalid." -msgstr "ICMP প্ৰকাৰটো অবৈধ." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP প্ৰকাৰটো (-1, 255) পৰিসৰৰ ভিতৰত নাই" diff -Nru horizon-9.0.1/openstack_dashboard/locale/bn_IN/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/bn_IN/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/bn_IN/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/bn_IN/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4941,15 +4941,9 @@ msgid "The Aggregate was updated." msgstr "সমূহ সদ্যতন ছিল." -msgid "The ICMP code is invalid." -msgstr "ICMP কোড অবৈধ." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP কোড ব্যপ্তিতে নেই (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP প্রকারটি অবৈধ." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP প্রকার (-1, 255) ব্যপ্তিতে নেই" diff -Nru horizon-9.0.1/openstack_dashboard/locale/brx/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/brx/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/brx/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/brx/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5186,15 +5186,9 @@ msgid "The Aggregate was updated." msgstr "एग्रिगेटखौ आपडेट खालामबाय।" -msgid "The ICMP code is invalid." -msgstr "ICMP क'डआ बाहायजायै" - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP क'डआ सिमासारिआव गैया (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP रोखोमआ बाहायजायै" - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP रोखोमआ सिमासारिआव गैया (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,18 @@ # OpenStack Infra , 2015. #zanata # Zbyněk Schwarz , 2015. #zanata +# Andreas Jaeger , 2016. #zanata +# Lenka Husáková , 2016. #zanata # Stanislav Ulrych , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev46\n" +"Project-Id-Version: horizon 9.0.2.dev10\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-06-01 05:30+0000\n" +"POT-Creation-Date: 2016-06-17 11:41+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-31 12:15+0000\n" -"Last-Translator: Stanislav Ulrych \n" +"PO-Revision-Date: 2016-06-18 11:07+0000\n" +"Last-Translator: Andreas Jaeger \n" "Language-Team: Czech\n" "Language: cs\n" "X-Generator: Zanata 3.7.3\n" @@ -19,6 +21,10 @@ msgid "#" msgstr "#" +#, python-format +msgid "%(name)s deleted." +msgstr "%(name)s smazán." + msgid "(None)" msgstr "(Žádný)" @@ -47,41 +53,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" Pozor!\n" -" Tato\n" -" výstraha si žádá vaši pozornost,\n" -" ale není zas tak důležitá." - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" Jejda!\n" -" Zkuste pár věcí změnit\n" -" a formulář znovu odeslat." - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" Výborně!\n" -" Úspěšně jste přečetli\n" -" tuto důležitou výstrahu." - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -157,6 +128,9 @@ msgid "Action" msgstr "Činnost" +msgid "Actions" +msgstr "Činnosti" + msgid "Active" msgstr "Aktivní" @@ -199,9 +173,6 @@ " Pro připojení směrovače do těchto dvou sítí můžete využít zobrazení " "Topologie sítě." -msgid "An abbreviation of the word attribute is attr." -msgstr "Zkratka slova vlastnost je vlast.." - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic.ssh/authorized_keys." +msgid "Hash" +msgstr "Hash" + msgid "Heading 1" msgstr "Nadpis 1" @@ -468,6 +598,15 @@ msgid "ID" msgstr "ID" +msgid "IP" +msgstr "IP" + +msgid "" +"If \"No volume type\" is selected, the volume will be created without a " +"volume type." +msgstr "" +"Pokud je zvoleno \"Žádný typ svazku\", nebude mít vytvořený svazek žádný typ." + msgid "" "If a network is shared, then all users in the project can access the network." msgstr "" @@ -532,6 +671,12 @@ msgid "Info" msgstr "Informace" +msgid "Input Sizes" +msgstr "Vstupní velikosti" + +msgid "Input States" +msgstr "Vstupní stavy" + msgid "Input addons" msgstr "Doplňky vstupu" @@ -544,6 +689,9 @@ msgid "Input warning" msgstr "Varování ve vstupu" +msgid "Instance Name" +msgstr "Název instance" + msgid "Instance Snapshot" msgstr "Snímek instance" @@ -568,6 +716,20 @@ msgid "Key Pair" msgstr "Pár klíčů" +msgid "Key Pairs" +msgstr "Páry klíčů" + +msgid "" +"Key Pairs are how you login to your instance after it is launched.\n" +" Choose a key pair name you will recognize and paste your SSH public " +"key into the\n" +" space provided." +msgstr "" +"Pár klíčů je způsob jak se přihlásit do instance po jejím spuštění. \n" +" Zvolte název páru klíčů, který si zapamatujete a vložte svůj veřejný " +"klíč SSH do\n" +" vyhrazeného prostoru." + msgid "Killed" msgstr "Ukončit" @@ -577,6 +739,9 @@ msgid "Large input" msgstr "Velký vstup" +msgid "Launch" +msgstr "Spustit" + msgid "Launch Instance" msgstr "Spustit instanci" @@ -601,6 +766,9 @@ msgid "List groups" msgstr "Výpis skupin" +msgid "Loading" +msgstr "Načítání" + msgid "Look, I'm in a large well!" msgstr "Podívejte, jsem ve velkém ďolíku!" @@ -616,6 +784,9 @@ msgid "Max Port" msgstr "Maximální port" +msgid "Members" +msgstr "Členové" + msgid "Messages" msgstr "Zprávy" @@ -640,6 +811,12 @@ msgid "Min RAM (MB)" msgstr "Min RAM (MB)" +msgid "Min. Disk" +msgstr "Minimální disk" + +msgid "Min. RAM" +msgstr "Minimální RAM" + msgid "Mini button" msgstr "Miniaturní tlačítko" @@ -649,6 +826,9 @@ msgid "Modals" msgstr "Modálová okna" +msgid "Month" +msgstr "Měsíc" + msgid "Name" msgstr "Název" @@ -661,6 +841,12 @@ msgid "Network" msgstr "Síť" +msgid "Network ID" +msgstr "ID sítě" + +msgid "Network Ports" +msgstr "Síťové porty" + msgid "Network characteristics" msgstr "Prvky sítě" @@ -682,9 +868,24 @@ msgid "No available items" msgstr "Žádné dostupné položky" +msgid "Normal" +msgstr "Normální" + msgid "Number" msgstr "Číslo" +msgid "Object" +msgstr "Objekt" + +msgid "Object Count" +msgstr "Počet objektů" + +msgid "Object Details" +msgstr "Podrobnosti objektu" + +msgid "Objects" +msgstr "Objekty" + msgid "Older" msgstr "Starší" @@ -694,6 +895,18 @@ msgid "One more separated link" msgstr "Ještě jeden oddělený odkaz" +msgid "Option one is this" +msgstr "První volba je toto" + +msgid "Option two can be something else" +msgstr "Druhá volba může být něco jiného" + +msgid "Other Input Types" +msgstr "Ostatní typy vstupů" + +msgid "Owner" +msgstr "Vlastník" + msgid "Pager" msgstr "Stránkovač" @@ -739,6 +952,9 @@ msgid "Pills" msgstr "Zaoblená tlačítka" +msgid "Please try again." +msgstr "Prosím zkuste znovu." + msgid "Policy check failed." msgstr "Kontrola zásady selhala." @@ -792,6 +1008,9 @@ msgid "Public" msgstr "Veřejné" +msgid "Public Access" +msgstr "Veřejný přístup" + msgid "Public Key" msgstr "Veřejný klíč" @@ -810,6 +1029,9 @@ msgid "Remote" msgstr "Vzdálené" +msgid "Required" +msgstr "Vyžadováno" + msgid "Right" msgstr "Vpravo" @@ -855,15 +1077,24 @@ msgid "Segmentation ID" msgstr "ID členění" +msgid "Select All" +msgstr "Vybrat vše" + msgid "Select Boot Source" msgstr "Vyberte zdroj zavedení" +msgid "Select a container to browse." +msgstr "Vyberte kontejner pro prohlížení." + msgid "Select a key pair from the available key pairs below." msgstr "Vyberte pár klíčů ze seznamu dostupných níže." msgid "Select a source from those listed below." msgstr "Vyberte zdroj ze seznamu níže" +msgid "Select a zone" +msgstr "Zvolit zónu" + msgid "Select an item from Available items below" msgstr "Vyberte položku ze seznamu níže" @@ -883,12 +1114,24 @@ msgstr "" "Vyberte jednu nebo více bezpečnostních skupin ze seznamu dostupných níže." +msgid "Select ports from those listed below." +msgstr "Vyberte porty ze seznamu níže." + +msgid "Select the security groups to launch the instance in." +msgstr "Vyberte bezpečnostní skupiny pro spuštění instance." + msgid "Selects" msgstr "Výběry" msgid "Separated link" msgstr "Oddělený odkaz" +msgid "Server" +msgstr "Server" + +msgid "Servers" +msgstr "Servery" + #, python-format msgid "Service type is not enabled: %(desiredType)s" msgstr "Typ služby není povolen: %(desiredType)s" @@ -915,6 +1158,9 @@ msgid "Snapshot" msgstr "Snímek" +msgid "Someone famous in" +msgstr "Někdo známý v" + msgid "Something else here" msgstr "Zde je něco jiného" @@ -924,6 +1170,9 @@ msgid "Source Code" msgstr "Zdrojový kód" +msgid "Source Title" +msgstr "Název zdroje" + msgid "Stacked" msgstr "Skládaný" @@ -958,6 +1207,12 @@ msgid "Tabs" msgstr "Karty" +msgid "Tags" +msgstr "Značky" + +msgid "Tel" +msgstr "Tel" + msgid "Textarea" msgstr "Textová oblast" @@ -1044,13 +1299,14 @@ "Toto je jednoduchá komponenta přes celou obrazovku, pokud chcete zvláště " "upozornit na určitý obsah nebo informace." -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Pro zobrazení zdrojového kódu najeďte myší na část, kterou chcete zobrazit, " -"pak klikněte na tlačítko v pravém horním rohu této " -"části." +msgid "This is focused..." +msgstr "Toto je zaměřeno" + +msgid "Time" +msgstr "Čas" + +msgid "Timestamp" +msgstr "Časové razítko" msgid "Tooltips" msgstr "Popisky" @@ -1085,9 +1341,30 @@ msgid "Typography" msgstr "Typografie" +msgid "Unable to allocate new floating IP address." +msgstr "Nelze přidělit novou plovoucí IP adresu." + +msgid "Unable to associate floating IP address." +msgstr "Nelze přidružit plovoucí IP adresu." + +msgid "Unable to change the container access." +msgstr "Nelze změnit přístup ke kontejneru." + +msgid "Unable to copy the object." +msgstr "Nelze zkopírovat objekt." + +msgid "Unable to create the container." +msgstr "Nelze vytvořit kontejner." + msgid "Unable to create the domain." msgstr "Nelze vytvořit doménu." +msgid "Unable to create the flavor." +msgstr "Nelze vytvořit konfiguraci." + +msgid "Unable to create the folder." +msgstr "Nelze vytvořit složku." + msgid "Unable to create the image." msgstr "Nelze vytvořit obraz." @@ -1115,12 +1392,36 @@ msgid "Unable to create the volume." msgstr "Nelze vytvořit svazek." +#, fuzzy, python-format +msgid "Unable to delete Image: %s." +msgid_plural "Unable to delete Images: %s." +msgstr[0] "Nelze smazat obraz: %s." +msgstr[1] "Nelze smazat obrazy: %s." +msgstr[2] "Nelze smazat obrazy: %s." + +msgid "Unable to delete the container." +msgstr "Nelze smazat kontejner." + msgid "Unable to delete the domain." msgstr "Nelze smazat doménu." msgid "Unable to delete the domains." msgstr "Nelze smazat domény." +#, python-format +msgid "Unable to delete the flavor with id: %(id)s" +msgstr "Nelze smazat konfiguraci s id: %(id)s" + +msgid "Unable to delete the folder because it is not empty." +msgstr "Nelze smazat složku, protože není prázdná." + +#, python-format +msgid "Unable to delete the image with id: %(id)s" +msgstr "Nelze smazat obraz s id: %(id)s" + +msgid "Unable to delete the object." +msgstr "Nelze smazat objekt." + msgid "Unable to delete the project." msgstr "Nelze smazat projekt." @@ -1166,6 +1467,9 @@ msgid "Unable to fetch the services." msgstr "Nelze získat služby." +msgid "Unable to generate" +msgstr "Nelze vytvořit" + msgid "Unable to get the Glance service version." msgstr "Nelze získat verzi služby Glance." @@ -1178,6 +1482,15 @@ msgid "Unable to import the keypair." msgstr "Nelze importovat pár klíčů." +msgid "Unable to retrieve floating IP pools." +msgstr "Nelze získat zásoby plovoucích IP." + +msgid "Unable to retrieve floating IPs." +msgstr "Nelze získat plovoucí IPs." + +msgid "Unable to retrieve instances." +msgstr "Nelze získat instance." + msgid "Unable to retrieve settings." msgstr "Nelze získat nastavení." @@ -1259,6 +1572,9 @@ msgid "Unable to retrieve the projects." msgstr "Nelze získat projekty." +msgid "Unable to retrieve the resource types." +msgstr "Nelze získat typy zdrojů." + msgid "Unable to retrieve the role." msgstr "Nelze získat roli." @@ -1295,9 +1611,15 @@ msgid "Unable to retrieve the volumes." msgstr "Nelze získat svazky." +msgid "Unable to update the flavor." +msgstr "Nelze aktualizovat konfiguraci." + msgid "Unable to update the image." msgstr "Nelze aktualizovat obraz." +msgid "Unable to upload the object." +msgstr "Nelze nahrát objekt." + msgid "Unable to validate the template." msgstr "Nelze ověřit šablonu." @@ -1316,6 +1638,18 @@ msgid "Updated" msgstr "Aktualizováno" +msgid "Upload File" +msgstr "Nahrát soubor" + +msgid "Uploading" +msgstr "Nahrávání" + +msgid "Url" +msgstr "Url" + +msgid "Use image as a source" +msgstr "Použít obraz jako zdroj" + msgid "User ID" msgstr "ID uživatele" @@ -1328,18 +1662,45 @@ msgid "VCPUs" msgstr "VCPU" +msgid "View Details" +msgstr "Zobrazit podrobnosti" + +msgid "Virtual Size" +msgstr "Virtuální velikost" + msgid "Visibility" msgstr "Viditelnost" msgid "Volume" msgstr "Svazek" +msgid "Volume Backup" +msgstr "Záloha svazku" + +msgid "Volume Backups" +msgstr "Zálohy svazku" + +msgid "Volume Details" +msgstr "Podrobnosti svazku" + msgid "Volume Snapshot" msgstr "Snímek svazku" +msgid "Volume Snapshots" +msgstr "Snímky svazku" + +msgid "Volume Type Description:" +msgstr "Popis typu svazku:" + msgid "Volume size is required and must be an integer" msgstr "Velikost svazku je vyžadována musí být celé číslo" +msgid "Volumes" +msgstr "Svazky" + +msgid "Volumes are block devices that can be attached to instances." +msgstr "Svazky jsou bloková zařízení, která mohou být připojena k instancím." + msgid "" "Volumes can only be attached to 1 active instance at a time. Please either " "set your instance count to 1 or select a different source type." @@ -1353,6 +1714,9 @@ msgid "Warning!" msgstr "Varování!" +msgid "Week" +msgstr "Týden" + msgid "Wells" msgstr "Ďolíky" @@ -1376,5 +1740,33 @@ msgid "Yes" msgstr "Ano" +#, python-format +msgid "You are not allowed to delete images: %s" +msgstr "Nemáte oprávnění smazat obrazy: %s" + +msgid "disabled" +msgstr "zakázáno" + +msgid "image" +msgstr "obraz" + +msgid "link" +msgstr "link" + +msgid "message" +msgid_plural "messages" +msgstr[0] "zpráva" +msgstr[1] "zprávy" +msgstr[2] "" + +msgid "snapshot" +msgstr "Snímek" + +msgid "title" +msgid_plural "titles" +msgstr[0] "název" +msgstr[1] "názvy" +msgstr[2] "" + msgid "{$ row['provider:network_type'] $}" -msgstr "{$ řádek['poskytovatel:typ sítě'] $}" +msgstr "{$ row['provider:network_type'] $}" diff -Nru horizon-9.0.1/openstack_dashboard/locale/cs/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/cs/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/cs/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/cs/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,17 @@ # OpenStack Infra , 2015. #zanata # Zbyněk Schwarz , 2015. #zanata +# Lenka Husáková , 2016. #zanata # Zbyněk Schwarz , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-01-08 01:30+0000\n" -"Last-Translator: Zbyněk Schwarz \n" +"PO-Revision-Date: 2016-06-01 08:06+0000\n" +"Last-Translator: Lenka Husáková \n" "Language-Team: Czech\n" "Language: cs\n" "X-Generator: Zanata 3.7.3\n" @@ -2207,6 +2208,10 @@ "V současnosti jsou podporovány pouze obrazy dostupné přes HTTP/HTTPS URL. " "Umístění obrazu musí být přístupné pro Službu obrazů." +msgctxt "Custom style theme" +msgid "Custom" +msgstr "Vlastní" + msgid "Custom ICMP Rule" msgstr "Vlastní pravidlo ICMP" @@ -2308,6 +2313,10 @@ msgid "Decrypt Password" msgstr "Rozšifrovat heslo" +msgctxt "Default style theme" +msgid "Default" +msgstr "Výchozí" + msgid "Default Quotas" msgstr "Výchozí kvóta" @@ -3349,6 +3358,13 @@ msgid "Encryption algorithm" msgstr "Algoritmus šifrování" +msgid "" +"Encryption information cannot be updated for a volume type if volumes are " +"currently in use with the volume type." +msgstr "" +"Informace o šifrování nemůže být aktualizovaná pro typ svazku, který je " +"aktuálně použit." + msgid "Energy (Kwapi)" msgstr "Energie (Kwapi)" @@ -5010,6 +5026,10 @@ msgid "Mapped Fixed IP Address" msgstr "Mapovaná pevní IP adresa" +msgctxt "Google's Material Design style theme" +msgid "Material" +msgstr "Materiál" + msgid "Max Retries" msgstr "Max opakování" @@ -6857,6 +6877,9 @@ msgid "Security Groups" msgstr "Bezpečnostní skupiny" +msgid "Security group rule already exists." +msgstr "Pravidlo bezpečnostní skupiny již existuje." + msgid "" "Security groups are sets of IP filter rules that are applied to the network " "settings for the VM. After the security group is created, you can add rules " @@ -7644,6 +7667,10 @@ msgstr "Přístup ke kontejneru úspěšně změněn na veřejný." #, python-format +msgid "Successfully updated encryption for volume type: %s" +msgstr "Úspěšně aktualizováno šifrování pro typ svazku: %s" + +#, python-format msgid "Successfully updated security group: %s" msgstr "Úspěšně aktualizována bezpečnostní skupina: %s" @@ -7839,6 +7866,13 @@ "Poskytovatel je třída poskytující podporu pro šifrování " "(např. LuksEncryptor)." +msgid "" +"The Provider is the class providing encryption support (e." +"g., LuksEncryptor)." +msgstr "" +"Poskytovatel je třída poskytující podporu šifrování (např. " +"LuksEncryptor)." + msgid "The Aggregate was updated." msgstr "Agregát byl aktualizován." @@ -7849,15 +7883,9 @@ "Po zavření této stránky nebudete moci klíč pro schválení znovu zobrazit, " "proto si ho zapište nyní, jinak nebudete moci přenos dokončit." -msgid "The ICMP code is invalid." -msgstr "Kód ICMP je neplatný." - msgid "The ICMP code not in range (-1, 255)" msgstr "Kód ICMP není v rozsahu (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "Typ ICMP je neplatný." - msgid "The ICMP type not in range (-1, 255)" msgstr "Typ ICMP není v rozsahu (-1, 255)" @@ -8192,6 +8220,9 @@ "Tento svazek je nyní připojen k instanci. V některých případech může " "vytvoření snímku z připojeného svazku vést k poškození snímku." +msgid "This volume type is used by one or more volumes." +msgstr "Tento typ svazku je používaný jiným svazkem." + msgid "Time" msgstr "Čas" @@ -9429,6 +9460,9 @@ msgid "Unable to update default quotas." msgstr "Nelze aktualizovat výchozí kvóty." +msgid "Unable to update encrypted volume type." +msgstr "Nelze aktualizovat typ šifrovaného svazku." + msgid "Unable to update group." msgstr "Nelze aktualizovat skupinu." @@ -9574,6 +9608,9 @@ msgid "Update Defaults" msgstr "Aktualizovat výchozí" +msgid "Update Encrypted Volume Type" +msgstr "Aktualizovat šifrovaný typ svazku." + msgctxt "current status of stack" msgid "Update Failed" msgstr "Aktualizace selhala." @@ -9674,6 +9711,13 @@ msgid "Updating Password" msgstr "Aktualizace hesla" +msgid "" +"Updating encryption is not implemented. Unable to update encrypted volume " +"type." +msgstr "" +"Aktualizace šifrování není implementována. Nelze aktualizovat typ " +"šifrovaného svazku." + #, python-format msgid "Updating volume \"%s\"" msgstr "Aktualizace svazku \"%s\"" diff -Nru horizon-9.0.1/openstack_dashboard/locale/de/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/de/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/de/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/de/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,18 @@ # Carsten Duch , 2015. #zanata +# Alex Loew , 2016. #zanata # Frank Kloeker , 2016. #zanata # Monika Wolf , 2016. #zanata +# Robert Simai , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev28\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-07-01 05:28+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-25 02:23+0000\n" -"Last-Translator: Frank Kloeker \n" +"PO-Revision-Date: 2016-06-30 11:33+0000\n" +"Last-Translator: Robert Simai \n" "Language-Team: German\n" "Language: de\n" "X-Generator: Zanata 3.7.3\n" @@ -57,53 +59,52 @@ msgstr "8" msgid "" -"\n" +"\n" " Heads up!\n" " This\n" -" alert needs your attention,\n" +" alert needs your attention,\n" " but it's not super important." msgstr "" -"\n" +"\n" " Achtung!\n" -" Diese\n" -" Warnmeldung erfordert zwar Ihre Aufmerksamkeit,\n" -" ist jedoch nicht besonders wichtig." +" Dieser\n" +" Alarm erfordert Aufmerksamkeit,\n" +" ist aber nicht extrem wichtig." msgid "" -"\n" +"\n" " Oh snap!\n" -" Change a few things up\n" +" Change a few things up\n" " and try submitting again." msgstr "" -"\n" -" Aufgepasst!\n" -" Ändern Sie einige Teile\n" -" und wiederholen Sie die Übergabeoperation." +"\n" +" Oh nein!\n" +" Ändern Sie ein paar Dinge\n" +" und versuchen Sie erneut zu übermitteln." msgid "" -"\n" +"\n" " Well done!\n" " You successfully read\n" -" this important alert message." +" this important alert message." msgstr "" -"\n" -" Glückwunsch!\n" -" Sie haben \n" -" diese wichtige Warnmeldung erfolgreich gelesen." +"\n" +" Gut gemacht!\n" +" Sie lasen erfolgreich\n" +" diese wichtige " +"Benachrichtigung." msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Öffentlich" - -msgid "" -"\n" +"\n" " Configuration Drive\n" " " msgstr "" -"\n" +"\n" " Konfigurationslaufwerk\n" " " @@ -158,7 +159,8 @@ msgid "" "A container is a storage compartment for your data and provides a way\n" " for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" +" folder in Windows® or a directory in UNIX®. The primary " +"difference\n" " between a container and these other file system concepts is that\n" " containers cannot be nested. You can, however, create an " "unlimited\n" @@ -292,7 +294,9 @@ " Sie können die Ansicht Netzwerktopologie verwenden, um den " "Router mit den zwei Netzwerken zu verbinden." -msgid "An abbreviation of the word attribute is attr." +msgid "" +"An abbreviation of the word attribute is attr." msgstr "Eine Abkürzung für das Wort Attribut ist attr." msgid "" @@ -402,6 +406,9 @@ msgid "Checksum" msgstr "Prüfsumme" +msgid "Clear Selection" +msgstr "Auswahl löschen" + msgid "Click to see more details" msgstr "Klicken um mehr Details zu sehen" @@ -464,6 +471,9 @@ msgid "Contextual alternatives" msgstr "Kontextbezogene Alternativen" +msgid "Count" +msgstr "Anzahl" + msgid "Create" msgstr "Erstellen" @@ -475,10 +485,10 @@ msgid "" "Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Ordner erstellen in: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Erzeuge Ordner in: {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Create Key Pair" msgstr "Schlüsselpaar erstellen" @@ -879,6 +889,9 @@ msgid "Input warning" msgstr "Eingabewarnung" +msgid "Instance Name" +msgstr "Name der Instanz" + msgid "Instance Snapshot" msgstr "Instanz Snapshot" @@ -912,10 +925,10 @@ msgid "" "Key Pair Name\n" -" " +" " msgstr "" -"Schlüsselpaarname\n" -" " +"Schlüsselpaar Name\n" +" " msgid "Key Pairs" msgstr "Schlüsselpaare" @@ -1348,10 +1361,10 @@ msgid "" "Public Key\n" -" " +" " msgstr "" "Öffentlicher Schlüssel\n" -" " +" " msgid "QCOW2" msgstr "QCOW2" @@ -1725,12 +1738,13 @@ msgstr "Zeitstempel" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Um den Quellcode anzuzeigen, bewegen Sie den Mauszeiger über einen Abschnitt " -"und klicken Sie anschließend oben rechts in dem Abschnitt auf die " -"Schaltfläche . " +"To view source code, hover over a section, then click the button in the top " +"right of that section." +msgstr "" +"Um den Quellcode zu sehen, fahren Sie über eine Sektion, klicken Sie dann " +"den Knopf oben rechts in dieser Sektion." msgid "Tooltips" msgstr "QuickInfo" @@ -2102,10 +2116,10 @@ msgid "" "Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Datei hochladen in: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Datei hochladen nach: {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Uploading" msgstr "Wird hochgeladen" @@ -2173,10 +2187,10 @@ msgid "" "Volume Size (GB)\n" -" " +" " msgstr "" -"Datenträgergröße (GB)\n" -" " +"Datenträger Größe (GB)\n" +" " msgid "Volume Snapshot" msgstr "Datenträger Snapshot" diff -Nru horizon-9.0.1/openstack_dashboard/locale/de/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/de/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/de/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/de/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -5,14 +5,14 @@ # Robert Simai , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev28\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-07-01 05:28+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-27 05:50+0000\n" -"Last-Translator: Andreas Jaeger \n" +"PO-Revision-Date: 2016-06-30 11:34+0000\n" +"Last-Translator: Robert Simai \n" "Language-Team: German\n" "Language: de\n" "X-Generator: Zanata 3.7.3\n" @@ -4508,6 +4508,9 @@ msgid "ICMP" msgstr "ICMP" +msgid "ICMP code is provided but ICMP type is missing." +msgstr "ICMP Code wurde angegeben, aber ICMP Typ fehlt." + msgid "ID" msgstr "ID" @@ -8361,15 +8364,9 @@ "verfügbar. Sie müssen ihn jetzt erfassen oder Sie können den Transfer nicht " "durchführen." -msgid "The ICMP code is invalid." -msgstr "Der ICMP-Code ist ungültig." - msgid "The ICMP code not in range (-1, 255)" msgstr "Der ICMP-Code ist nicht im Bereich -1 bis 255" -msgid "The ICMP type is invalid." -msgstr "Der ICMP-Typ ist ungültig." - msgid "The ICMP type not in range (-1, 255)" msgstr "Der ICMP-Typ ist nicht im Bereich -1 bis 255" diff -Nru horizon-9.0.1/openstack_dashboard/locale/en_AU/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/en_AU/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/en_AU/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/en_AU/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -3,9 +3,9 @@ # Tom Fifield , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -57,57 +57,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Public" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" Configuration Drive\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -152,29 +101,6 @@ msgstr "This line of text is meant to be treated as fine print." msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organise your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -279,9 +205,6 @@ " You can use the Network Topology view to connect the router to " "the two networks." -msgid "An abbreviation of the word attribute is attr." -msgstr "An abbreviation of the word attribute is attr." - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "Create Key Pair" @@ -887,13 +803,6 @@ msgid "Key Pair" msgstr "Key Pair" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"Key Pair Name\n" -" " - msgid "Key Pairs" msgstr "Key Pairs" @@ -1312,13 +1221,6 @@ msgid "Public Key" msgstr "Public Key" -msgid "" -"Public Key\n" -" " -msgstr "" -"Public Key\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1680,13 +1582,6 @@ msgid "Timestamp" msgstr "Timestamp" -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"To view source code, hover over a section, then click the button in the top right of that section." - msgid "Tooltips" msgstr "Tooltips" @@ -2055,13 +1950,6 @@ msgid "Upload File" msgstr "Upload File" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Uploading" msgstr "Uploading" @@ -2126,13 +2014,6 @@ msgid "Volume Quota" msgstr "Volume Quota" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"Volume Size (GB)\n" -" " - msgid "Volume Snapshot" msgstr "Volume Snapshot" diff -Nru horizon-9.0.1/openstack_dashboard/locale/en_AU/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/en_AU/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/en_AU/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/en_AU/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -3,9 +3,9 @@ # Tom Fifield , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -8228,15 +8228,9 @@ "The Authorisation Key will not be available after closing this page, so you " "must capture it now, or else you will be unable to use the transfer." -msgid "The ICMP code is invalid." -msgstr "The ICMP code is invalid." - msgid "The ICMP code not in range (-1, 255)" msgstr "The ICMP code not in range (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "The ICMP type is invalid." - msgid "The ICMP type not in range (-1, 255)" msgstr "The ICMP type not in range (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/en_GB/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/en_GB/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/en_GB/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/en_GB/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,24 +1,91 @@ # OpenStack Infra , 2015. #zanata # Rob Cresswell , 2015. #zanata +# Andi Chandler , 2016. #zanata # Rob Cresswell , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev37\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-07-11 18:48+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-02 03:48+0000\n" -"Last-Translator: Rob Cresswell \n" +"PO-Revision-Date: 2016-07-11 03:09+0000\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" "X-Generator: Zanata 3.7.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +msgid "#" +msgstr "#" + msgid "(None)" msgstr "(None)" +msgid "1" +msgstr "1" + +msgid "2" +msgstr "2" + +msgid "3" +msgstr "3" + +msgid "4" +msgstr "4" + +msgid "5" +msgstr "5" + +msgid "6" +msgstr "6" + +msgid "7" +msgstr "7" + +msgid "8" +msgstr "8" + +msgid "" +"\n" +" Heads up!\n" +" This\n" +" alert needs your attention,\n" +" but it's not super important." +msgstr "" +"\n" +" Heads up!\n" +" This\n" +" alert needs your attention,\n" +" but it's not super important." + +msgid "" +"\n" +" Oh snap!\n" +" Change a few things up\n" +" and try submitting again." +msgstr "" +"\n" +" Oh snap!\n" +" Change a few things up\n" +" and try submitting again." + +msgid "" +"\n" +" Well done!\n" +" You successfully read\n" +" this important alert message." +msgstr "" +"\n" +" Well done!\n" +" You successfully read\n" +" this important alert message." + msgid "
  • Image: This option uses an image to boot the instance.
  • " msgstr "
  • Image: This option uses an image to boot the instance.
  • " @@ -29,6 +96,9 @@ "
  • Instance Snapshot: This option uses an instance snapshot to boot " "the instance.
  • " +msgid "This line of text is meant to be treated as fine print." +msgstr "This line of text is meant to be treated as fine print." + msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " @@ -48,6 +118,13 @@ " Then, select the Associate Floating IP option and enter the " "necessary details." +msgid "" +"A longer block of help text that breaks onto a new line and may extend " +"beyond one line." +msgstr "" +"A longer block of help text that breaks onto a new line and may extend " +"beyond one line." + msgid "A name is required for your instance." msgstr "A name is required for your instance." @@ -78,6 +155,9 @@ "Administrators set up the pool of floating IPs that are available to attach " "to instances." +msgid "Alerts" +msgstr "Alerts" + msgid "" "An External network is set up by an administrator.\n" " If you want an instance to communicate outside of the data center,\n" @@ -94,6 +174,13 @@ "the two networks." msgid "" +"An abbreviation of the word attribute is attr." +msgstr "" +"An abbreviation of the word attribute is attr." + +msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic resizes the disk and sets it to a single partition. Selecting ManualConfiguration Drive and accesses the metadata." +msgid "Checkbox" +msgstr "Checkbox" + msgid "Click to see more details" msgstr "Click to see more details" +msgid "Column content" +msgstr "Column content" + +msgid "Column heading" +msgstr "Column heading" + msgid "Configuration" msgstr "Configuration" +msgid "Containers" +msgstr "Containers" + +msgid "Contextual alternatives" +msgstr "Contextual alternatives" + msgid "Create Key Pair" msgstr "Create Key Pair" @@ -170,9 +299,15 @@ msgid "Danger" msgstr "Danger " +msgid "Data" +msgstr "Data" + msgid "Default" msgstr "Default" +msgid "Default button" +msgstr "Default button" + msgid "Deleted" msgstr "Deleted" @@ -182,9 +317,15 @@ msgid "Device Name" msgstr "Device Name" +msgid "Dialogs" +msgstr "Dialogues" + msgid "Direction" msgstr "Direction" +msgid "Disabled" +msgstr "Disabled" + msgid "Disk Partition" msgstr "Disk Partition" @@ -194,12 +335,21 @@ msgid "Down" msgstr "Down" +msgid "Dropdown" +msgstr "Dropdown" + msgid "Dropdown header" msgstr "Dropdown header" +msgid "Dropdown link" +msgstr "Dropdown link" + msgid "Email" msgstr "Email" +msgid "Emphasis classes" +msgstr "Emphasis classes" + msgid "Enabled" msgstr "Enabled" @@ -209,6 +359,9 @@ msgid "Ether Type" msgstr "Ether Type" +msgid "Example body text" +msgstr "Example body text" + #, python-format msgid "Extension is not enabled: %(extension)s." msgstr "Extension is not enabled: %(extension)s." @@ -238,6 +391,9 @@ msgid "Format" msgstr "Format" +msgid "Forms" +msgstr "Forms" + msgid "" "From a Windows system, you can use PuTTYGen to create private/public keys.\n" " Use the PuTTY Key Generator to create and save the keys, then copy\n" @@ -251,6 +407,24 @@ "authorized_keys\n" " file." +msgid "Heading 1" +msgstr "Heading 1" + +msgid "Heading 2" +msgstr "Heading 2" + +msgid "Heading 4" +msgstr "Heading 4" + +msgid "Heading 5" +msgstr "Heading 5" + +msgid "Heading 6" +msgstr "Heading 6" + +msgid "Home" +msgstr "Home" + msgid "ID" msgstr "ID" @@ -298,9 +472,15 @@ msgid "Import Key Pair" msgstr "Import Key Pair" +msgid "Indicators" +msgstr "Indicators" + msgid "Info" msgstr "Info" +msgid "Input addons" +msgstr "Input addons" + msgid "Instance Snapshot" msgstr "Instance Snapshot" @@ -322,6 +502,15 @@ msgid "Launch Instance" msgstr "Launch Instance" +msgid "Left" +msgstr "Left" + +msgid "Legend" +msgstr "Legend" + +msgid "Library" +msgstr "Library" + msgid "Link" msgstr "Link" @@ -331,6 +520,12 @@ msgid "Max Port" msgstr "Max Port" +msgid "Messages" +msgstr "Messages" + +msgid "Middle" +msgstr "Middle" + msgid "Min Disk" msgstr "Min Disk" @@ -346,12 +541,18 @@ msgid "Min RAM (MB)" msgstr "Min RAM (MB)" +msgid "Mini button" +msgstr "Mini button" + msgid "Name" msgstr "Name" msgid "Navbar" msgstr "Navbar" +msgid "Navs" +msgstr "Navs" + msgid "Network" msgstr "Network" @@ -365,6 +566,12 @@ msgstr "" "Networks provide the communication channels for instances in the cloud." +msgid "Newer" +msgstr "Newer" + +msgid "Next" +msgstr "Next" + msgid "No" msgstr "No" @@ -374,18 +581,42 @@ msgid "Number" msgstr "Number" +msgid "Older" +msgstr "Older" + msgid "One more separated link" msgstr "One more separated link" +msgid "Option one is this" +msgstr "Option one is this" + +msgid "Pager" +msgstr "Pager" + +msgid "Pagination" +msgstr "Pagination" + +msgid "Password" +msgstr "Password" + msgid "Pending Delete" msgstr "Pending Delete" msgid "Physical Network" msgstr "Physical Network" +msgid "Pills" +msgstr "Pills" + msgid "Policy check failed." msgstr "Policy check failed." +msgid "Popovers" +msgstr "Popovers" + +msgid "Previous" +msgstr "Previous" + msgid "Primary" msgstr "Primary" @@ -395,6 +626,9 @@ msgid "Profile" msgstr "Profile" +msgid "Progress bars" +msgstr "Progress bars" + msgid "Project" msgstr "Project" @@ -436,12 +670,18 @@ msgid "RAM" msgstr "RAM" +msgid "Radios" +msgstr "Radios" + msgid "Re-order items using drag and drop" msgstr "Re-order items using drag and drop" msgid "Remote" msgstr "Remote" +msgid "Right" +msgstr "Right" + msgid "Root Disk" msgstr "Root Disk" @@ -451,6 +691,9 @@ msgid "Saving" msgstr "Saving" +msgid "Search" +msgstr "Search" + msgid "Security Groups" msgstr "Security Groups" @@ -524,15 +767,33 @@ msgid "Size (GB)" msgstr "Size (GB)" +msgid "Small button" +msgstr "Small button" + msgid "Snapshot" msgstr "Snapshot" +msgid "Someone famous in" +msgstr "Someone famous in" + msgid "Something else here" msgstr "Something else here" +msgid "Source Code" +msgstr "Source Code" + +msgid "Source Title" +msgstr "Source Title" + +msgid "Standard Table" +msgstr "Standard Table" + msgid "Status" msgstr "Status" +msgid "Striped" +msgstr "Striped" + msgid "Subnets Associated" msgstr "Subnets Associated" @@ -543,6 +804,15 @@ msgid "Successfully imported key pair %(name)s." msgstr "Successfully imported key pair %(name)s." +msgid "Tables" +msgstr "Tables" + +msgid "Tabs" +msgstr "Tabs" + +msgid "Textarea" +msgstr "Textarea" + msgid "" "The flavor you select for an instance determines the amount of compute, " "storage and memory resources that will be carved out for the instance." @@ -561,6 +831,14 @@ "enough resources for your instance are identified on the Available " "table with a yellow warning icon." +msgid "The following snippet of text is rendered as italicized text." +msgstr "The following snippet of text is rendered as italicised text." + +msgid "" +"The following snippet of text is rendered as bold text." +msgstr "" +"The following snippet of text is rendered as bold text." + #, python-format msgid "" "The instance count must not exceed your quota available of " @@ -634,11 +912,19 @@ "smaller flavour or decrease the instance count." msgid "" -"To view source code, hover over a section, then click the
    button in the top right of that section." -msgstr "" -"To view source code, hover over a section, then click the button in the top right of that section." +"To view source code, hover over a section, then click the button in the top " +"right of that section." +msgstr "" +"To view source code, hover over a section, then click the button in the top " +"right of that section." + +msgid "Tooltips" +msgstr "Tooltips" + +msgid "Top" +msgstr "Top" msgid "Total Disk" msgstr "Total Disk" @@ -664,6 +950,9 @@ "browser supports the HTML5 File API, you may choose to load your script from " "a file. The size of your script should not exceed 16 Kb." +msgid "Typography" +msgstr "Typography" + msgid "Unable to change the container access." msgstr "Unable to change the container access." @@ -920,6 +1209,9 @@ msgid "Warning" msgstr "Warning" +msgid "Warning!" +msgstr "Warning!" + msgid "" "When selecting volume as boot source, please ensure the instance's " "availability zone is compatible with your volume's availability zone." diff -Nru horizon-9.0.1/openstack_dashboard/locale/en_GB/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/en_GB/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/en_GB/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/en_GB/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -5,13 +5,13 @@ # Rob Cresswell , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev26\n" +"Project-Id-Version: horizon 9.0.2.dev33\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-17 00:28+0000\n" +"POT-Creation-Date: 2016-07-04 11:45+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-23 12:29+0000\n" +"PO-Revision-Date: 2016-07-05 11:52+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" @@ -4427,6 +4427,9 @@ msgid "ICMP" msgstr "ICMP" +msgid "ICMP code is provided but ICMP type is missing." +msgstr "ICMP code is provided but ICMP type is missing." + msgid "ID" msgstr "ID" @@ -8230,15 +8233,9 @@ "The Authorisation Key will not be available after closing this page, so you " "must capture it now, or else you will be unable to use the transfer." -msgid "The ICMP code is invalid." -msgstr "The ICMP code is invalid." - msgid "The ICMP code not in range (-1, 255)" msgstr "The ICMP code not in range (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "The ICMP type is invalid." - msgid "The ICMP type not in range (-1, 255)" msgstr "The ICMP type not in range (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/es/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/es/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/es/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/es/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,15 +1,16 @@ # Eugènia Torrella , 2016. #zanata +# Pablo Caruana , 2016. #zanata # Pablo Iranzo Gómez , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev23\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-27 20:59+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-26 07:44+0000\n" -"Last-Translator: Pablo Iranzo Gómez \n" +"PO-Revision-Date: 2016-06-27 12:45+0000\n" +"Last-Translator: Pablo Caruana \n" "Language-Team: Spanish\n" "Language: es\n" "X-Generator: Zanata 3.7.3\n" @@ -56,45 +57,66 @@ msgstr "8" msgid "" -"\n" +"\n" " Heads up!\n" " This\n" -" alert needs your attention,\n" +" alert needs your attention,\n" " but it's not super important." msgstr "" -"\n" -" ¡Atención!\n" -" Esta\n" -" alerta requiere su atención,\n" -" pero no es súper importante." +"\n" +" ¡Aviso!\n" +" Este\n" +" alert needs your attention,\n" +" pero no es super importante." + +msgid "" +"\n" +" Oh snap!\n" +" Change a few things up\n" +" and try submitting again." +msgstr "" +"\n" +" Oh Cielos!\n" +" Change a few things up\n" +" e intentar de enviar de nuevo." msgid "" -"\n" +"\n" " Well done!\n" " You successfully read\n" -" this important alert message." +" this important alert message." msgstr "" -"\n" -" ¡Buen trabajo!\n" -" Ha leído correctamente\n" -" este mensaje de alerta importante." - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Público" +"\n" +" Well done!\n" +" Usted leyó con éxito\n" +" este importante mensaje de " +"alerta ." msgid "" -"\n" +"\n" " Configuration Drive\n" " " msgstr "" -"\n" -" Unidad de configuración\n" +"\n" +" configuración de la unidad\n" " " +msgid "" +"
  • Image (with Create New Volume checked): This options uses an " +"image to boot the instance, and creates a new volume to persist instance " +"data. You can specify volume size and whether to delete the volume on " +"deletion of the instance.
  • " +msgstr "" +"
  • Image Con Crear nuevo volumen marcado)):Esta opción utiliza una " +"imagen para arrancar la instancia, y crea un nuevo volumen de persistir los " +"datos de instancia. Es posible especificar el tamaño del volumen y si se " +"debe eliminar el volumen sobre la supresión de la instancia
  • " + msgid "
  • Image: This option uses an image to boot the instance.
  • " msgstr "" "
  • Imagen: Esta opción usa una imagen para arrancar la instancia.Instantánea de la Instancia: Esta opción usa una instantánea de " "la instancia para arrancar la instancia.
  • " +msgid "" +"
  • Volume Snapshot: This option uses a volume snapshot to boot the " +"instance, and creates a new volume to persist instance data. You can choose " +"to delete the volume on deletion of the instance.
  • " +msgstr "" +"
  • Volume SnapshotEsta opción utiliza una instantánea de volumen " +"para arrancar la instancia, y crea un nuevo volumen para persistir los datos " +"de instancia. Se puede optar por eliminar el volumen de eliminación de la " +"instancia.
  • " + +msgid "" +"
  • Volume: This option uses a volume that already exists. It does " +"not create a new volume. You can choose to delete the volume on deletion of " +"the instance. Note: when selecting Volume, you can only launch one " +"instance.
  • " +msgstr "" +"
  • Volume: Esta opción utiliza un volumen que ya existe. No crea un " +"nuevo volumen. Se puede optar por eliminar el volumen de eliminación de la " +"instancia.Nota: cuando se selecciona volumen, sólo se puede iniciar una " +"instancia.
  • " + msgid "This line of text is meant to be treated as fine print." msgstr "Esta línea de texto se debe tratar como letra chica." msgid "" +"A container is a storage compartment for your data and provides a way\n" +" for you to organize your data. You can think of a container as a\n" +" folder in Windows® or a directory in UNIX®. The primary " +"difference\n" +" between a container and these other file system concepts is that\n" +" containers cannot be nested. You can, however, create an " +"unlimited\n" +" number of containers within your account. Data must be stored in " +"a\n" +" container so you must have at least one container defined in your\n" +" account prior to uploading data." +msgstr "" +"Un contenedor es un compartimiento de almacenamiento para sus datos y " +"proporciona una manera \n" +" para que usted pueda organizar sus datos. Se puede pensar en un " +"recipiente como una\n" +" carpeta en Windows o un directorio en UNIX. La principal " +"diferencia\n" +" entre un recipiente y estos otros conceptos del sistema de archivos " +"es que\n" +" recipientes no se pueden anidar. Puede, sin embargo, crear una " +"ilimitada\n" +" número de contenedores dentro de su cuenta. Los datos deben ser " +"almacenados en una\n" +" contenedor de lo que debe tener al menos un contenedor definido en " +"su \n" +" cuenta antes de cargar los datos. " + +msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -132,6 +204,15 @@ "detalles necesarios." msgid "" +"A key pair allows you to SSH into your newly created instance.\n" +" You may select an existing key pair, import a key pair, or generate a " +"new key pair." +msgstr "" +"Un par de llaves SSH le permite a su instancia recién creada.\n" +" Es posible seleccionar un par de llaves existente, importar un par de " +"llaves, o para generar un nuevo par de llaves." + +msgid "" "A key pair named '{$ctrl.createdKeypair.name$}' was successfully created. " "This key pair should automatically download." msgstr "" @@ -211,8 +292,12 @@ "Puede usar la vista de Topología de red para conectar el " "direccionador a ambas redes." -msgid "An abbreviation of the word attribute is attr." -msgstr "La abreviatura de la palabra atributo es atr." +msgid "" +"An abbreviation of the word attribute is attr." +msgstr "" +"Una abreviatura de la palabra atributo es attr." msgid "" "An advanced option available when launching an instance is disk " @@ -281,6 +366,9 @@ msgid "Bordered Table" msgstr "Tabla con bordes" +msgid "Bottom" +msgstr "Parte inferior" + msgid "Brand" msgstr "Marca" @@ -396,10 +484,10 @@ msgid "" "Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Crear carpeta en: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Crear carpeta En: {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Create Key Pair" msgstr "Crear par de claves" @@ -547,6 +635,9 @@ msgid "Disk Partition" msgstr "Partición de Disco" +msgid "Docker" +msgstr "Docker" + msgid "Domain ID" msgstr "ID de dominio" @@ -699,6 +790,9 @@ msgid "IP" msgstr "IP" +msgid "ISO" +msgstr "ISO" + msgid "" "If \"No volume type\" is selected, the volume will be created without a " "volume type." @@ -726,6 +820,17 @@ "Si no, puede descargar manualmente este par de claves en el siguiente enlace:" msgid "" +"If you select an availability zone and plan to use the 'boot from volume' " +"option in the Source step, make sure that the availability zone you select " +"for the instance is the same availability zone where your bootable volume " +"resides." +msgstr "" +"si se selecciona una zona de disponibilidad y planea usar la opción " +"'volumen de arranque 'en el paso de Fuente asegúrese de que la zona de " +"disponibilidad se selecciona para la instancia es la misma zona de " +"disponibilidad que reside el volumen de arranque." + +msgid "" "If you want to create an instance that uses ephemeral storage, meaning the " "instance data is lost when the instance is deleted, then choose one of the " "following boot sources:" @@ -792,6 +897,17 @@ msgstr "" "El número de instancias es obligatorio y debe ser un entero de 1 o superior" +msgid "" +"Instance source is the template used to create an instance. You can use a " +"snapshot of an existing instance, an image, or a volume (if enabled).\n" +" You can also choose to use persistent storage by creating a new volume." +msgstr "" +"Fuente de instancia es la plantilla que se utiliza para crear una " +"instancia. Se puede utilizar una instantánea de una instancia existente, una " +"imagen, o un volumen (si está activado).\n" +" También puede optar por utilizar el almacenamiento persistente " +"mediante la creación de un nuevo volumen.." + msgid "Insufficient privilege level to view user information." msgstr "Privilegios insuficientes para consultar la información del usuario." @@ -806,10 +922,10 @@ msgid "" "Key Pair Name\n" -" " +" " msgstr "" -"Nombre de par de claves\n" -" " +"Nombre de pareja de llave.\n" +" " msgid "Key Pairs" msgstr "Pares de claves" @@ -826,6 +942,17 @@ "pública SSH en el\n" " espacio proporcionado." +msgid "" +"Key Pairs are how you login to your instance after it is launched.\n" +" Choose a key pair name you will recognize.\n" +" Names may only include alphanumeric characters, spaces, or dashes." +msgstr "" +"Los pares de llaves son la forma de iniciar sesión a la instancia después " +"de que se puso en marcha.\n" +" Elija un nombre de par de llaves que usted reconocerá.\n" +" Sólo nombres pueden incluir caracteres alfanuméricos, espacios o " +"guiones." + msgid "Keypair already exists or name contains bad characters." msgstr "" "El par de claves ya existe o el nombre contiene caracteres incorrectos." @@ -860,6 +987,9 @@ msgid "Link" msgstr "Enlace" +msgid "List group item heading" +msgstr "Lista de encabezamientos de elemento de grupo" + msgid "List groups" msgstr "Listar grupos" @@ -1011,12 +1141,41 @@ msgid "Normal" msgstr "Normal" +msgid "" +"Note: A Public Container will allow anyone with the Public URL to\n" +" gain access to your objects in the container." +msgstr "" +" Nota: Un Contenedor Pública permitirá a cualquier persona con la URL " +"pública de\n" +" tener acceso a los objetos en el contenedor." + +msgid "" +"Note: Delimiters ('{$ ctrl.model.DELIMETER $}') are allowed in the\n" +" file name to place the new file into a folder that will be " +"created\n" +" when the file is uploaded (to any depth of folders)." +msgstr "" +"Nota: Los delimitadores ('{$ ctrl.model.DELIMETER $}') se permiten en el\n" +" el nombre del archivo para colocar el nuevo archivo en una carpeta " +"que se creará\n" +" cuando se carga el archivo (a cualquier profundidad de carpetas)." + +msgid "" +"Note: Delimiters ('{$ ctrl.model.DELIMETER $}') are allowed in the\n" +" folder name to create deep folders." +msgstr "" +"Nota: Los delimitadores ( ('{$ ctrl.model.DELIMETER $}') se permiten en el\n" +" nombre de la carpeta para crear carpetas de profundidad." + msgid "Note: you will not be able to download this later." msgstr "Nota: no podrá descargarlo más adelante." msgid "Number" msgstr "Número" +msgid "OVA" +msgstr "OVA" + msgid "Object" msgstr "Objeto" @@ -1044,6 +1203,9 @@ msgid "Older" msgstr "Más antiguo" +msgid "One fine body…" +msgstr "Un buen cuerpo ..." + msgid "One more separated link" msgstr "Otro enlace aparte" @@ -1107,12 +1269,26 @@ msgid "Pills" msgstr "Píldoras" +msgid "" +"Please provide the initial hostname for the instance, the availability zone " +"where it will be deployed, and the instance count.\n" +" Increase the Count to create multiple instances with the same settings." +msgstr "" +"Por favor, proporcione el nombre del sistema inicial de la instancia, la " +"zona de disponibilidad donde será desplegado, y el contador de la " +"instancia.\n" +" Aumentar el contador para crear varias instancias con la misma " +"configuración." + msgid "Please try again." msgstr "Vuelva a intentarlo" msgid "Policy check failed." msgstr "Comprobación de política fallida." +msgid "Popovers" +msgstr "Panecillos" + msgid "Ports can be created under a network by administrators." msgstr "En una red, los administradores pueden crear puertos." @@ -1177,6 +1353,13 @@ msgid "Public Key" msgstr "Clave pública" +msgid "" +"Public Key\n" +" " +msgstr "" +"Llave pública\n" +" " + msgid "QCOW2" msgstr "QCOW2" @@ -1453,6 +1636,26 @@ "El número máximo de pares clave-valor que se puede proporcionar por " "instancia viene determinado por el proveedor de computación." +#, python-format +msgid "" +"The selected %(sourceType)s source requires a flavor with at least " +"%(minDisk)s GB of root disk. Select a flavor with a larger root disk or use " +"a different %(sourceType)s source." +msgstr "" +"La fuente %(sourceType)seleccionada requiere un sabor con al menos " +"%(minDisk)sGB de disco raíz. Seleccionar un sabor con un disco raíz más " +"grande o usar una fuente %(sourceType)s diferente." + +#, python-format +msgid "" +"The selected %(sourceType)s source requires a flavor with at least " +"%(minRam)s MB of RAM. Select a flavor with more RAM or use a different " +"%(sourceType)s source." +msgstr "" +"La fuente %(sourceType)s seleccionada requiere un sabor con al menos" +"%(minRam)s MB de RAM. Seleccionar un sabor con más RAMo utilizar una fuente " +"%(sourceType)s diferente." + msgid "The status indicates whether the network has an active connection." msgstr "El estado indica si la red tiene una conexión activa" @@ -1501,6 +1704,14 @@ "Este tipo necesita más CPU's virtuales que las que su cuota permite. Escoja " "un tipo más pequeño o reduzca el número de instancias." +msgid "" +"This is a simple hero unit, a simple jumbotron-style component for calling " +"extra attention to featured content or information." +msgstr "" +"Se trata de una unidad de héroe sencilla, un simple componente de estilo " +"pantalla gigante para llamar la atención adicional al contenido o " +"información que se muestra." + msgid "This is focused..." msgstr "Esto está focalizado..." @@ -1522,16 +1733,21 @@ msgstr "Indicación de fecha y hora" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Para ver el código fuente, pase el puntero del ratón por encima de una " -"sección y pulse el botón en la parte superior derecha " -"de la sección." +"To view source code, hover over a section, then click the button in the top " +"right of that section." +msgstr "" +"Para ver el código fuente, coloca el cursor sobre una sección, a " +"continuación, haga clic en el botón en la parte superior derecha de esa " +"sección." msgid "Tooltips" msgstr "Ayudas contextuales" +msgid "Top" +msgstr "Parte superior" + msgid "Total Disk" msgstr "Total de disco" @@ -1897,10 +2113,10 @@ msgid "" "Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Subir el archivo a: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Cargar archivo A: {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Uploading" msgstr "Subiendo" @@ -1968,10 +2184,10 @@ msgid "" "Volume Size (GB)\n" -" " +" " msgstr "" -"Tamaño de volumen (GB)\n" -" " +"Tamaño volumen (GB)\n" +" " msgid "Volume Snapshot" msgstr "Instantánea de volumen" diff -Nru horizon-9.0.1/openstack_dashboard/locale/es/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/es/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/es/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/es/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,15 +1,16 @@ # Marian Tort , 2015. #zanata # Eugènia Torrella , 2016. #zanata +# Pablo Caruana , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev26\n" +"Project-Id-Version: horizon 9.0.2.dev23\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-17 00:28+0000\n" +"POT-Creation-Date: 2016-06-27 20:59+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-17 10:01+0000\n" -"Last-Translator: Eugènia Torrella \n" +"PO-Revision-Date: 2016-06-27 10:22+0000\n" +"Last-Translator: Pablo Caruana \n" "Language-Team: Spanish\n" "Language: es\n" "X-Generator: Zanata 3.7.3\n" @@ -4512,6 +4513,9 @@ msgid "ICMP" msgstr "ICMP" +msgid "ICMP code is provided but ICMP type is missing." +msgstr "El código ICMP es proporcionado, pero falta el tipo de ICMP ." + msgid "ID" msgstr "ID" @@ -8384,15 +8388,9 @@ "La Clave de Autorización no estará disponible tras cerrar esta página, así " "que debe capturarla ahora o de otro modo no podrá realizar la transferencia." -msgid "The ICMP code is invalid." -msgstr "El código ICMP no es válido." - msgid "The ICMP code not in range (-1, 255)" msgstr "El código ICMP no está en el rango (-1,255)" -msgid "The ICMP type is invalid." -msgstr "El tipo ICMP no es válido." - msgid "The ICMP type not in range (-1, 255)" msgstr "El tipo ICMP no está en el rango (-1,255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/fr/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/fr/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/fr/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/fr/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,16 +1,17 @@ # Corinne Verheyde , 2015. #zanata +# Cedric Savignan , 2016. #zanata # JF Taltavull , 2016. #zanata # Martine Marin , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-11 09:35+0000\n" -"Last-Translator: Marcellin Fom Tchassem \n" +"PO-Revision-Date: 2016-06-21 08:09+0000\n" +"Last-Translator: Cedric Savignan \n" "Language-Team: French\n" "Language: fr\n" "X-Generator: Zanata 3.7.3\n" @@ -57,53 +58,52 @@ msgstr "8" msgid "" -"\n" +"\n" " Heads up!\n" " This\n" -" alert needs your attention,\n" +" alert needs your attention,\n" " but it's not super important." msgstr "" -"\n" +"\n" " Attention !\n" " Cette\n" -" alerte requiert votre attention,\n" +" alerte requiert votre " +"attention,\n" " mais elle n'est pas très importante." msgid "" -"\n" +"\n" " Oh snap!\n" -" Change a few things up\n" +" Change a few things up\n" " and try submitting again." msgstr "" -"\n" +"\n" " Oh mince !\n" -" Modifiez quelques éléments\n" +" Modifiez quelques éléments\n" " et renvoyez la demande." msgid "" -"\n" +"\n" " Well done!\n" " You successfully read\n" -" this important alert message." +" this important alert message." msgstr "" -"\n" +"\n" " Félicitations !\n" " Vous avez bien lu\n" -" cet important message d'alerte." +" ce message d'alerte important." msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Public" - -msgid "" -"\n" +"\n" " Configuration Drive\n" " " msgstr "" -"\n" +"\n" " Disque de configuration\n" " " @@ -158,7 +158,8 @@ msgid "" "A container is a storage compartment for your data and provides a way\n" " for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" +" folder in Windows® or a directory in UNIX®. The primary " +"difference\n" " between a container and these other file system concepts is that\n" " containers cannot be nested. You can, however, create an " "unlimited\n" @@ -170,7 +171,7 @@ "Un conteneur est un compartiment de stockage pour vos données et représente\n" " pour vous un moyen d'organiser vos données. Vous pouvez considérer " "qu'il \n" -" s'agit d'un dossier dans Windows ou d'un répertoire dans UNIX. La " +" s'agit d'un dossier dans Windows® ou d'un répertoire dans UNIX®. La " "principale \n" " différence entre un conteneur et ces autres concepts de systèmes de " "fichiers est \n" @@ -292,8 +293,11 @@ " Vous pouvez utiliser la vue Topologie de réseau pour connecter le " "routeur à ces deux réseaux." -msgid "An abbreviation of the word attribute is attr." -msgstr "Une abréviation du mot attribut est attr." +msgid "" +"An abbreviation of the word attribute is attr." +msgstr "" +"Une abréviation du mot attribut est attr." msgid "" "An advanced option available when launching an instance is disk " @@ -401,6 +405,9 @@ msgid "Checksum" msgstr "Somme de contrôle" +msgid "Clear Selection" +msgstr "Effacer la séléction" + msgid "Click to see more details" msgstr "Cliquer pour voir plus de détails" @@ -463,6 +470,9 @@ msgid "Contextual alternatives" msgstr "Alternatives contextuelles" +msgid "Count" +msgstr "Compteur" + msgid "Create" msgstr "Créer" @@ -474,10 +484,10 @@ msgid "" "Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Créez le dossier dans : {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Créer un dossier dans : {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Create Key Pair" msgstr "Créer une paire de clés" @@ -881,6 +891,9 @@ msgid "Input warning" msgstr "Avertissement de saisie" +msgid "Instance Name" +msgstr "Nom de l'instance" + msgid "Instance Snapshot" msgstr "Instantané d'instance" @@ -916,10 +929,10 @@ msgid "" "Key Pair Name\n" -" " +" " msgstr "" "Nom de la paire de clés\n" -" " +" " msgid "Key Pairs" msgstr "Paires de clés" @@ -1353,10 +1366,10 @@ msgid "" "Public Key\n" -" " +" " msgstr "" "Clé publique\n" -" " +" " msgid "QCOW2" msgstr "QCOW2" @@ -1730,11 +1743,13 @@ msgstr "Horodatage" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." +"To view source code, hover over a section, then click the button in the top " +"right of that section." msgstr "" "Pour voir le code source, déplacez le pointeur au-dessus d'une section puis " -"cliquez sur le bouton en haut à droite de la section." +"cliquez sur le bouton en haut à droite de la section." msgid "Tooltips" msgstr "Info-bulles" @@ -2110,10 +2125,10 @@ msgid "" "Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" -"Charger le fichier dans : {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +"Envoyer un fichier vers : {$ ctrl.model.container.name $}\n" +" : {$ ctrl.model.folder $}" msgid "Uploading" msgstr "Chargement" @@ -2181,10 +2196,10 @@ msgid "" "Volume Size (GB)\n" -" " +" " msgstr "" "Taille du volume (Go)\n" -" " +" " msgid "Volume Snapshot" msgstr "Instantané de volume" diff -Nru horizon-9.0.1/openstack_dashboard/locale/fr/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/fr/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/fr/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/fr/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -8,9 +8,9 @@ # Sylvie Chesneau , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -8381,15 +8381,9 @@ "devez la capture dès maintenant, ou bien vous ne pourrez pas l'utiliser pour " "le transfert." -msgid "The ICMP code is invalid." -msgstr "Le code ICMP n'est pas valide." - msgid "The ICMP code not in range (-1, 255)" msgstr "Le code ICMP n'est pas compris dans la plage (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "Le type ICMP n'est pas valide." - msgid "The ICMP type not in range (-1, 255)" msgstr "Le type ICMP n'est pas compris dans la plage (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/gu/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/gu/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/gu/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/gu/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5162,15 +5162,9 @@ msgid "The Aggregate was updated." msgstr "સમૂહ સુધારવામાં આવેલ હતો." -msgid "The ICMP code is invalid." -msgstr "ICMP કોડ અમાન્ય છે." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP કોડ રેન્જમાં નથી (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP પ્રકાર અમાન્ય છે." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP પ્રકાર રેન્જમાં નથી (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/hi/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/hi/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/hi/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/hi/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4667,15 +4667,9 @@ msgid "The Aggregate was updated." msgstr "सकल अद्यतन किया गया था." -msgid "The ICMP code is invalid." -msgstr "ICMP कोड अमान्य है." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP कोड की (-1, 255) रेंज में नहीं हैं" -msgid "The ICMP type is invalid." -msgstr "ICMP प्रकार अमान्य है." - msgid "The ICMP type not in range (-1, 255)" msgstr "श्रृंखला में ICMP प्रकार नहीं (-1, 255) हैं" diff -Nru horizon-9.0.1/openstack_dashboard/locale/it/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/it/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/it/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/it/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # Remo Mattei , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -55,57 +55,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" Attenzione!\n" -" Questo\n" -" avviso richiede attenzione,\n" -" ma non è eccessivamente importante." - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" Istantanea!\n" -" Modificare alcuni elementi\n" -" e provare a inserirli di nuovo." - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" Ben fatto!\n" -" Questo importante messaggio di avviso\n" -" è stato letto correttamente." - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Pubblico" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" Unità di configurazione\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -154,29 +103,6 @@ "Questa riga di testo deve essere considerata come stampa." msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"Un contenitore è una parte di archivio per i propri dati e fornisce\n" -"un modo per organizzare i dati. È possibile considerare un\n" -"contenitore come una cartella in Windows o una directory in UNIX.\n" -"La differenza principale tra un contenitore e questi altri concetti\n" -"di file system è che i contenitori non possono essere\n" -"concatenati. È possibile, tuttavia, creare un numero illimitato di " -"contenitori nel\n" -"proprio account. I dati devono essere archiviati in un contenitore in modo " -"da\n" -"avere almeno un contenitore definito nell'account prima di caricare i dati." - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -286,9 +212,6 @@ " È possibile utilizzare la Topologia di rete per collegare il " "router alle due reti." -msgid "An abbreviation of the word attribute is attr." -msgstr "Un'abbreviazione della parola attributo è attr." - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"Crea cartella in: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "Crea coppia di chiavi" @@ -903,13 +819,6 @@ msgid "Key Pair" msgstr "Coppia di chiavi" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"Nome coppia di chiavi\n" -" " - msgid "Key Pairs" msgstr "Coppie di chiavi" @@ -1332,13 +1241,6 @@ msgid "Public Key" msgstr "Chiave pubblica" -msgid "" -"Public Key\n" -" " -msgstr "" -"Chiave pubblica\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1713,14 +1615,6 @@ msgid "Timestamp" msgstr "Data/ora" -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Per visualizzare il codice di origine, posizionare il puntatore del mouse su " -"una sezione e quindi fare clic sul pulsante in alto a " -"destra in quella sezione." - msgid "Tooltips" msgstr "Suggerimenti" @@ -2089,13 +1983,6 @@ msgid "Upload File" msgstr "Carica file" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"Carica file in: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Uploading" msgstr "Caricamento" @@ -2160,13 +2047,6 @@ msgid "Volume Quota" msgstr "Quota volume" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"Dimensione volume (GB)\n" -" " - msgid "Volume Snapshot" msgstr "Istantanea del volume" diff -Nru horizon-9.0.1/openstack_dashboard/locale/it/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/it/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/it/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/it/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -5,9 +5,9 @@ # Remo Mattei , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -8380,15 +8380,9 @@ "pagina, quindi è necessario acquisirla ora o altrimenti l'utente non sarà in " "grado di utilizzare il trasferimento." -msgid "The ICMP code is invalid." -msgstr "Il codice ICMP non è valido." - msgid "The ICMP code not in range (-1, 255)" msgstr "Il codice ICMP non rientra nell'intervallo (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "Il tipo ICMP non è valido." - msgid "The ICMP type not in range (-1, 255)" msgstr "Il tipo ICMP non rientra nell'intervallo (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -5,9 +5,9 @@ # Yuko Katabami , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -58,57 +58,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" 注意!\n" -" この\n" -" アラートには注意が必要ですが、\n" -" とても重要というわけではありません。" - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" 大変!\n" -" いくつか修正して\n" -" 再送信してみてください。" - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" あっぱれ!\n" -" この重要なアラートメッセージ\n" -" を読むことに成功しました。" - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" パブリック" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" コンフィグドライブ\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -154,29 +103,6 @@ msgstr "この行の文字は、細字として処理されます。" msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"コンテナーはデータのストレージの区画です。\n" -"データを整理する手段を提供します。\n" -"コンテナーは、Windows のフォルダーや UNIX のディレクトリーのように考えること" -"ができます。\n" -"コンテナーとこれらのファイルシステムの概念の主な違いは、コンテナーは入れ子に" -"できないことです。\n" -"ただし、アカウント内に無制限のコンテナーを作成することが可能です。\n" -"データはコンテナーに保存する必要があります。\n" -"そのため、データをアップロードする前に、少なくとも 1 つのコンテナーを\n" -"アカウントに定義する必要があります。" - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -280,9 +206,6 @@ "ネットワークトポロジー画面で、ルーターを両方のネットワークに接続するこ" "ともできます。" -msgid "An abbreviation of the word attribute is attr." -msgstr "単語属性の略称は attr です。" - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"フォルダーの作成先: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "キーペアの作成" @@ -889,13 +805,6 @@ msgid "Key Pair" msgstr "キーペア" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"キーペア名\n" -" " - msgid "Key Pairs" msgstr "キーペア" @@ -1317,13 +1226,6 @@ msgid "Public Key" msgstr "公開鍵" -msgid "" -"Public Key\n" -" " -msgstr "" -"公開鍵\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1693,13 +1595,6 @@ msgid "Timestamp" msgstr "タイムスタンプ" -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"ソースコードを表示するには、セクションの上にカーソルを移動して、セクションの" -"右上の ボタンをクリックします。" - msgid "Tooltips" msgstr "ツールチップ" @@ -2068,13 +1963,6 @@ msgid "Upload File" msgstr "ファイルのアップロード" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"ファイルのアップロード先: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Uploading" msgstr "アップロード中" @@ -2139,13 +2027,6 @@ msgid "Volume Quota" msgstr "ボリュームのクォータ" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"ボリュームサイズ (GB)\n" -" " - msgid "Volume Snapshot" msgstr "ボリュームスナップショット" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ja/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ja/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ja/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ja/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -4,9 +4,9 @@ # Yuko Katabami , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -8115,15 +8115,9 @@ "認証キーはこのページを閉じると参照できなくなるので、必ず今記録してください。" "さもないと、作成した譲渡を使えなくなります。" -msgid "The ICMP code is invalid." -msgstr "ICMP コードが無効です。" - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP コードが (-1, 255) の範囲ではありません" -msgid "The ICMP type is invalid." -msgstr "ICMP タイプが無効です。" - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP タイプが (-1, 255) の範囲ではありません" diff -Nru horizon-9.0.1/openstack_dashboard/locale/kn/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/kn/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/kn/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/kn/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # sharath rao , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5279,15 +5279,9 @@ msgid "The Aggregate was updated." msgstr "ಒಟ್ಟುಗೂಡಿಕೆಯನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ." -msgid "The ICMP code is invalid." -msgstr "ICMP ಸಂಕೇತವು ಅಮಾನ್ಯವಾಗಿದೆ." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP ಸಂಕೇತವು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಇಲ್ಲ (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP ಬಗೆಯು ಅಮಾನ್ಯವಾಗಿದೆ." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP ಬಗೆಯು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಇಲ್ಲ (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/kok/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/kok/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/kok/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/kok/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5152,15 +5152,9 @@ msgid "The Aggregate was updated." msgstr "एग्रिगेट सुदारलो." -msgid "The ICMP code is invalid." -msgstr " ICMP कोड अमान्य." - msgid "The ICMP code not in range (-1, 255)" msgstr " ICMP कोड (-1, 255) व्याप्तीन ना" -msgid "The ICMP type is invalid." -msgstr " ICMP प्रकार अमान्य." - msgid "The ICMP type not in range (-1, 255)" msgstr " ICMP प्रकार (-1, 255) व्याप्तीन ना" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ko_KR/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/ko_KR/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/ko_KR/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ko_KR/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -3,14 +3,14 @@ # Sungjin Kang , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev27\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-29 20:34+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-08 01:27+0000\n" -"Last-Translator: Sungjin Kang \n" +"PO-Revision-Date: 2016-06-29 03:58+0000\n" +"Last-Translator: Ian Y. Choi \n" "Language-Team: Korean (South Korea)\n" "Language: ko-KR\n" "X-Generator: Zanata 3.7.3\n" @@ -56,54 +56,53 @@ msgstr "8" msgid "" -"\n" +"\n" " Heads up!\n" " This\n" -" alert needs your attention,\n" +" alert needs your attention,\n" " but it's not super important." msgstr "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." +"\n" +" 조심하십시오!\n" +" 해당\n" +" 경보는 주의를 필요로 합니다,\n" +" 그러나 매우 중요하지는 않습니다." msgid "" -"\n" +"\n" " Oh snap!\n" -" Change a few things up\n" +" Change a few things up\n" " and try submitting again." msgstr "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." +"\n" +" 오 이런!\n" +" 몇 가지 사항을 변경하였으며\n" +" 따라서 다시 제출을 시도합니다." msgid "" -"\n" +"\n" " Well done!\n" " You successfully read\n" -" this important alert message." +" this important alert message." msgstr "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." +"\n" +" 훌륭합니다!\n" +" 이 중요한 경보 메시지를\n" +" 성공적으로 읽었습니다." msgid "" -"\n" -" Public" -msgstr "" -"\n" -" 공개" - -msgid "" -"\n" +"\n" " Configuration Drive\n" " " msgstr "" -"\n" -" 드라이버 구성\n" +"\n" +" 드라이브 구성\n" " " msgid "" @@ -154,7 +153,8 @@ msgid "" "A container is a storage compartment for your data and provides a way\n" " for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" +" folder in Windows® or a directory in UNIX®. The primary " +"difference\n" " between a container and these other file system concepts is that\n" " containers cannot be nested. You can, however, create an " "unlimited\n" @@ -164,7 +164,7 @@ " account prior to uploading data." msgstr "" "컨테이너는 데이터에 대한 스토리지 구역을 나누고 데이터를 \n" -" 정리하는 방법을 제공합니다. Windows 폴더나 Unix의 \n" +" 정리하는 방법을 제공합니다. Windows® 폴더나 Unix® 의 \n" " 디렉토리와 동일하게 컨테이너를 사용할 수 있습니다. \n" " 컨테이너와 다른 파일 시스템 컨셉과의 가장 큰 차이점은 \n" " 컨테이너를 중첩하여 사용할 수 없습니다. 그러나 계정에서는 \n" @@ -270,8 +270,10 @@ " 네트워크 토폴로지를 사용하여 라우터가 두 네트워크에 연결되어 있는" "지 볼 수 있습니다." -msgid "An abbreviation of the word attribute is attr." -msgstr "An abbreviation of the word attribute is attr." +msgid "" +"An abbreviation of the word attribute is attr." +msgstr "단어 속성에 대한 약어는 attr 입니다." msgid "" "An advanced option available when launching an instance is disk " @@ -378,6 +380,9 @@ msgid "Checksum" msgstr "Checksum" +msgid "Clear Selection" +msgstr "선택 초기화" + msgid "Click to see more details" msgstr "클릭하여 세부 사항 보기" @@ -439,6 +444,9 @@ msgid "Contextual alternatives" msgstr "Contextual alternatives" +msgid "Count" +msgstr "개수" + msgid "Create" msgstr "생성" @@ -450,10 +458,10 @@ msgid "" "Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" "{$ ctrl.model.container.name $} 에서 폴더 생성\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgid "Create Key Pair" msgstr "캐 페어 생성" @@ -845,6 +853,9 @@ msgid "Input warning" msgstr "Input warning" +msgid "Instance Name" +msgstr "인스턴스 이름" + msgid "Instance Snapshot" msgstr "인스턴스 스냅샷" @@ -875,10 +886,10 @@ msgid "" "Key Pair Name\n" -" " +" " msgstr "" "키 페어 이름\n" -" " +" " msgid "Key Pairs" msgstr "키 페어" @@ -1296,10 +1307,10 @@ msgid "" "Public Key\n" -" " +" " msgstr "" "공개키\n" -" " +" " msgid "QCOW2" msgstr "QCOW2" @@ -1662,11 +1673,13 @@ msgstr "Timestamp" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"뷰 소스코드에서 커서를 맞추기 위하여 해당 섹션의 오른쪽 상단에 버튼을 클릭합니다." +"To view source code, hover over a section, then click the button in the top " +"right of that section." +msgstr "" +"뷰 소스코드에서 커서를 맞추기 위하여 해당 섹션의 오른쪽 상단에 버튼을 클릭" +"합니다." msgid "Tooltips" msgstr "Tooltips" @@ -2037,10 +2050,10 @@ msgid "" "Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgstr "" "파일 업로드: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" +" : {$ ctrl.model.folder $}" msgid "Uploading" msgstr "Uploading" @@ -2108,10 +2121,10 @@ msgid "" "Volume Size (GB)\n" -" " +" " msgstr "" "볼륨 크기 (GB)\n" -" " +" " msgid "Volume Snapshot" msgstr "볼륨 스냅샷" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ko_KR/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ko_KR/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ko_KR/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ko_KR/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -4,13 +4,13 @@ # Sungjin Kang , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev27\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-29 20:34+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-08 03:04+0000\n" +"PO-Revision-Date: 2016-06-29 03:50+0000\n" "Last-Translator: Ian Y. Choi \n" "Language-Team: Korean (South Korea)\n" "Language: ko-KR\n" @@ -4296,6 +4296,9 @@ msgid "ICMP" msgstr "ICMP" +msgid "ICMP code is provided but ICMP type is missing." +msgstr "ICMP 코드가 제공되지만 ICMP 유형이 누락되었습니다." + msgid "ID" msgstr "ID" @@ -8033,15 +8036,9 @@ "승인키는 해당 페이지를 닫은 이후 사용할 수 없기에, 지금 capture해야 합니다. " "그렇지 않으면, 전송을 사용할 수 없을 것입니다." -msgid "The ICMP code is invalid." -msgstr "ICMP 코드가 올바르지 않습니다." - msgid "The ICMP code not in range (-1, 255)" msgstr "범위에 들지 않는 ICMP 코드 (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP 타입이 올바르지 않습니다." - msgid "The ICMP type not in range (-1, 255)" msgstr "범위에 들지 않는 ICMP 타입 (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ks/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ks/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ks/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ks/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4946,15 +4946,9 @@ msgid "The Aggregate was updated." msgstr " ایگریگیٹ آو اَپڈیٹ کئرنہٕ" -msgid "The ICMP code is invalid." -msgstr "کوڈ چُھ نہ واجِب ICMP " - msgid "The ICMP code not in range (-1, 255)" msgstr "کوڈ چُھ نہ چُھ نہ رینج مَنز ICMP (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "قِسم چُھ نہ واجِب ICMP " - msgid "The ICMP type not in range (-1, 255)" msgstr "قِسم چُھ نہ رینج مَنز ICMP (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/mai/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/mai/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/mai/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/mai/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5176,15 +5176,9 @@ msgid "The Aggregate was updated." msgstr "सकल अद्यतन कएल गेल छल." -msgid "The ICMP code is invalid." -msgstr "ICMP कोड अमान्य अछि." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP कोड क (-1, 255) रेंज मे नहि अछि" -msgid "The ICMP type is invalid." -msgstr "ICMP प्रकार अमान्य अछि." - msgid "The ICMP type not in range (-1, 255)" msgstr "श्रृंखला मे ICMP प्रकार नहि (-1, 255) अछि" diff -Nru horizon-9.0.1/openstack_dashboard/locale/mni/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/mni/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/mni/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/mni/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4978,15 +4978,9 @@ msgid "The Aggregate was updated." msgstr "এগ্রিগেত অদু অপদেট তৌখ্রে।" -msgid "The ICMP code is invalid." -msgstr "ICMP কোদ অদু চৎনবা য়াদে।" - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP কোদ অদু (-1, 255)গী রেঞ্জদা লৈতে" -msgid "The ICMP type is invalid." -msgstr "ICMP তাইপ অদু চৎনবা য়াদে।" - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP তাইপ অদু (-1, 255)গী রেঞ্জদা লৈতে" diff -Nru horizon-9.0.1/openstack_dashboard/locale/mr/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/mr/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/mr/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/mr/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5177,15 +5177,9 @@ msgid "The Aggregate was updated." msgstr "सरासरी सुधारित करण्यात आली." -msgid "The ICMP code is invalid." -msgstr "आयसीएमपी संकेत अवैध आहे." - msgid "The ICMP code not in range (-1, 255)" msgstr "आयसीएमपी संकेत श्रेणीमध्ये नाही (-१, २५५)" -msgid "The ICMP type is invalid." -msgstr "आयसीएमपी प्रकार अवैध आहे." - msgid "The ICMP type not in range (-1, 255)" msgstr "आयसीएमपी प्रकार श्रेणीमध्ये नाही (-१, २५५)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ne/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ne/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ne/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ne/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4926,15 +4926,9 @@ msgid "The Aggregate was updated." msgstr "मोठ अपडेट गरियो" -msgid "The ICMP code is invalid." -msgstr "ICMP कोड अवैध छ।" - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP प्रकार रेनजमा छैन(-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP प्रकार अवैध छ।" - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP प्रकार रेनजमा छैन(-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/nl_NL/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/nl_NL/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/nl_NL/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/nl_NL/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # Joris S'heeren , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4099,15 +4099,9 @@ msgid "The Aggregate was updated." msgstr "Het aggregaat is aangepast." -msgid "The ICMP code is invalid." -msgstr "De ICMP code is ongeldig." - msgid "The ICMP code not in range (-1, 255)" msgstr "De ICMP code valt niet binnen het geldige bereik (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "Het ICMP type is ongeldig." - msgid "The ICMP type not in range (-1, 255)" msgstr "Het ICMP tpye valt niet binnen het geldige bereik (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/pa_IN/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/pa_IN/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/pa_IN/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/pa_IN/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5075,15 +5075,9 @@ msgid "The Aggregate was updated." msgstr "مجموعی اپ ڈیٹ کیا گیا تھا." -msgid "The ICMP code is invalid." -msgstr "ICMP کوڈ ناموزوں ہے." - msgid "The ICMP code not in range (-1, 255)" msgstr "رینج میں (-1, 255) ICMP كوڈ نہیں ہیں" -msgid "The ICMP type is invalid." -msgstr "ICMP قسم ناموزوں ہے." - msgid "The ICMP type not in range (-1, 255)" msgstr "رینج میں (-1, 255) ICMP قسم نہیں ہیں" diff -Nru horizon-9.0.1/openstack_dashboard/locale/pl_PL/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/pl_PL/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/pl_PL/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/pl_PL/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # Łukasz Jernas , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -7522,15 +7522,9 @@ "należy zanotować go teraz, gdyż w przeciwnym wypadku nie będzie można " "dokonać przeniesienia." -msgid "The ICMP code is invalid." -msgstr "Niepoprawny kod ICMP." - msgid "The ICMP code not in range (-1, 255)" msgstr "Kod ICMP nie znajduje się zakresie od -1 do 255" -msgid "The ICMP type is invalid." -msgstr "Niepoprawny typ ICMP." - msgid "The ICMP type not in range (-1, 255)" msgstr "Typ ICMP nie znajduje się w zakresie od -1 do 255" diff -Nru horizon-9.0.1/openstack_dashboard/locale/pt_BR/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/pt_BR/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/pt_BR/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/pt_BR/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # Carlos Marques , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -55,57 +55,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" Atenção!\n" -" Esse\n" -" alerta precisa de sua atenção,\n" -" mas não é tão importante." - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" Atenção!\n" -" Faça algumas mudanças\n" -" e tente enviar novamente." - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" Parabéns!\n" -" Você leu com sucesso\n" -" essa mensagem de alerta importante." - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Público" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" Drive de Configuração\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -153,34 +102,6 @@ msgstr "Essa linha do texto deve ser tratada como um detalhe." msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"Um contêiner é um compartimento de armazenamento para os seus dados e " -"fornece uma maneira de organizar seus dados. Você pode pensar em um " -"contêiner como uma pasta no windows ou um diretório no UNIX. A diferença " -"primária entre um contêiner e estes outros conceitos de sistema de arquivos " -"é que contêineres não \n" -" podem ser aninhados. Você pode, entretanto, criar um número ilimitado de " -"contêineres dentro de sua conta. Os dados devem ser armazenados em um " -"contêiner, de modo que você deve ter ao menos um contêiner definido na sua " -"conta antes de enviar dados.\n" -"\n" -"\n" -"\n" -"\n" -"\n" -" " - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -289,9 +210,6 @@ "     Você pode usar a visualização Topologia de rede para conectar o " "roteador às duas redes." -msgid "An abbreviation of the word attribute is attr." -msgstr "Uma abreviação do atributo de palavra é attr." - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"Criar Pasta em: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "Criar Par de Chaves" @@ -909,13 +820,6 @@ msgid "Key Pair" msgstr "Par de chaves" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"Nome do Par de Chaves\n" -" " - msgid "Key Pairs" msgstr "Pares de Chave" @@ -1337,13 +1241,6 @@ msgid "Public Key" msgstr "Chave Pública" -msgid "" -"Public Key\n" -" " -msgstr "" -"Chave Pública\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1714,13 +1611,6 @@ msgid "Timestamp" msgstr "Registro de Data e Hora" -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Para visualizar o código-fonte, passe o mouse sobre uma seção e, em seguida, " -"clique no botão na parte superior direita dessa seção" - msgid "Tooltips" msgstr "Dicas de ferramentas" @@ -2089,13 +1979,6 @@ msgid "Upload File" msgstr "Enviar Arquivo" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"Enviar Arquivo para: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Uploading" msgstr "Enviando" @@ -2160,13 +2043,6 @@ msgid "Volume Quota" msgstr "Cota de Volume" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"Tamanho do Volume (GB)\n" -" " - msgid "Volume Snapshot" msgstr "Captura Instantânea do Volume" diff -Nru horizon-9.0.1/openstack_dashboard/locale/pt_BR/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/pt_BR/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/pt_BR/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/pt_BR/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # Carlos Marques , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -8332,15 +8332,9 @@ "A Chave de Autorização não estará disponível depois de fechar esta página, " "assim, você deve capturá-la agora ou não será capaz de usar a transferência." -msgid "The ICMP code is invalid." -msgstr "O código ICMP é inválido." - msgid "The ICMP code not in range (-1, 255)" msgstr "O código de ICMP não está na faixa (-1,255)" -msgid "The ICMP type is invalid." -msgstr "O tipo ICMP é inválido." - msgid "The ICMP type not in range (-1, 255)" msgstr "O tipo ICMP não está na faixa (-1,255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ru/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/ru/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/ru/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ru/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,16 +2,15 @@ # Fedor Tarasenko , 2015. #zanata # Ilya Alekseyev , 2015. #zanata # OpenStack Infra , 2015. #zanata -# Denis Gubanov , 2016. #zanata # Fedor Tarasenko , 2016. #zanata # Grigory Mokhin , 2016. #zanata # Ilya Alekseyev , 2016. #zanata # Nikolay Milekhin , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.1.dev51\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-02 19:16+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -65,57 +64,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" Внимание!\n" -" Это\n" -" уведомление требует вмешательства,\n" -" но в целом оно не является слишком важным." - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" Ошибка!\n" -" Исправьте ошибку\n" -" и повторите попытку." - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" Отлично!\n" -" Вы успешно прочитали\n" -" это важное предупреждение." - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" Общедоступный" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" Диск настройки\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -165,29 +113,6 @@ "small>" msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"Контейнер - это способ хранения и организации данных. r\n" -" Контейнеры аналогичны папкам в Windows или каталогам в UNIX. r\n" -" Основное отличие между контейнером и указанными объектами r\n" -" файловых систем заключается в том, что контейнеры не могут быть r\n" -" вложенными. Можно создать неограниченное количество контейнеров r\n" -" для учётной записи. Данные сохраняются внутри контейнера, поэтому " -"r\n" -" необходимо создать хотя бы один контейнер перед тем, как загружать " -"r\n" -" данные." - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -294,11 +219,6 @@ " Вы можете использовать раздел Сетевая топология чтобы подключить " "маршрутизатор к двум сетям." -msgid "An abbreviation of the word attribute is attr." -msgstr "" -"Аббревиатура словосочетания \"теория функций компле́ксной переменной\" это " -"ТФКП." - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"Создать папку в: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "Создать связку ключей" @@ -912,13 +825,6 @@ msgid "Key Pair" msgstr "Ключевая пара" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"Имя пары ключей\n" -" " - msgid "Key Pairs" msgstr "Пары ключей" @@ -1335,13 +1241,6 @@ msgid "Public Key" msgstr "Открытый ключ" -msgid "" -"Public Key\n" -" " -msgstr "" -"Открытый ключ\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1703,13 +1602,6 @@ msgid "Timestamp" msgstr "Системное время" -msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." -msgstr "" -"Для просмотра исходного кода наведите курсор на блок и нажмите кнопку в правом верхнем углу секции." - msgid "Tooltips" msgstr "Всплывающие подсказки" @@ -2079,13 +1971,6 @@ msgid "Upload File" msgstr "Загрузить файл" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"Передать файл в: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" - msgid "Uploading" msgstr "Передача данных" @@ -2150,13 +2035,6 @@ msgid "Volume Quota" msgstr "Квота тома" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"Размер тома (ГБ)\n" -" " - msgid "Volume Snapshot" msgstr "Снимок диска" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ru/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ru/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ru/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ru/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -23,16 +23,17 @@ # Fedor Tarasenko , 2016. #zanata # Grigory Mokhin , 2016. #zanata # Ilya Alekseyev , 2016. #zanata +# Ilya Shakhat , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev21\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-22 21:06+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-24 09:55+0000\n" -"Last-Translator: Denis Gubanov \n" +"PO-Revision-Date: 2016-06-22 10:16+0000\n" +"Last-Translator: Ilya Shakhat \n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -3222,7 +3223,7 @@ msgstr "Отображаемое имя." msgid "Distributed" -msgstr "Распространенный" +msgstr "Распределенный" msgid "" "Do not use a colon ':' with OS::Glance::Images. This resource type does not " @@ -8410,15 +8411,9 @@ "Ключ авторизации будет нельзя получить повторно после закрытия этой " "страницы, сохраните его сейчас иначе вы не сможете воспользоваться передачей." -msgid "The ICMP code is invalid." -msgstr "Неверный ICMP код." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP код не в диапазоне (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "Неверный ICMP тип." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP тип не в диапазоне (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/sr/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/sr/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/sr/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/sr/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -3992,15 +3992,9 @@ msgid "The Aggregate was updated." msgstr "Skup je ažuriran." -msgid "The ICMP code is invalid." -msgstr "ICMP kod je nevažeći." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP kod nije u opsegu (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP tip je navažeći." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP tip nije u opsegu (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ta/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ta/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ta/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ta/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5239,15 +5239,9 @@ msgid "The Aggregate was updated." msgstr "திரள் புதுப்பிக்கப்பட்டது." -msgid "The ICMP code is invalid." -msgstr "ICMP குறியீடு செல்லுபடியாகாதது." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP குறியீடு (-1, 255) வரம்பிற்குள் இல்லை" -msgid "The ICMP type is invalid." -msgstr "ICMP வகை செல்லுபடியாகாதது." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP வகை (-1, 255) வரம்பிற்குள் இல்லை" diff -Nru horizon-9.0.1/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -5,9 +5,9 @@ # Mücahit Büyükyılmaz , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -7328,15 +7328,9 @@ "Yetkilendirme Anahtarı bu sayfayı kapattıktan sonra var olmayacaktır, yani " "şimdi yakalamalısınız, yoksa aktarımı kullanamayacaksınız." -msgid "The ICMP code is invalid." -msgstr "ICMP kodu geçersiz." - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP kodu uygun aralıkta değil: (-1, 255)" -msgid "The ICMP type is invalid." -msgstr "ICMP tipi geçersiz." - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP tipi uygun aralıkta değil: (-1, 255)" diff -Nru horizon-9.0.1/openstack_dashboard/locale/ur/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/ur/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/ur/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/ur/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,9 +1,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4993,15 +4993,9 @@ msgid "The Aggregate was updated." msgstr "مجموعی اپ ڈیٹ کیا گیا تھا." -msgid "The ICMP code is invalid." -msgstr "ICMP کوڈ ناموزوں ہے." - msgid "The ICMP code not in range (-1, 255)" msgstr "رینج میں (-1, 255) ICMP كوڈ نہیں ہیں" -msgid "The ICMP type is invalid." -msgstr "ICMP قسم ناموزوں ہے." - msgid "The ICMP type not in range (-1, 255)" msgstr "رینج میں (-1, 255) ICMP قسم نہیں ہیں" diff -Nru horizon-9.0.1/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,17 +1,21 @@ +# Chancy Chou , 2016. #zanata # Linda , 2016. #zanata +# Long Yu , 2016. #zanata +# SunJing , 2016. #zanata # liujunpeng , 2016. #zanata # qingszhao , 2016. #zanata # vuuv , 2016. #zanata +# zzxwill , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev38\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-07-13 20:31+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-05-28 12:53+0000\n" -"Last-Translator: liujunpeng \n" +"PO-Revision-Date: 2016-07-13 07:59+0000\n" +"Last-Translator: SunJing \n" "Language-Team: Chinese (China)\n" "Language: zh-CN\n" "X-Generator: Zanata 3.7.3\n" @@ -57,20 +61,30 @@ msgstr "8" msgid "" -"\n" -" Public" -msgstr "" -"\n" -" 公开" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" 配置驱动器\n" -" " +"\n" +" Heads up!\n" +" This\n" +" alert needs your attention,\n" +" but it's not super important." +msgstr "" +"\n" +" 小心!\n" +" 这个\n" +" 提醒需要你主意,\n" +" 但不是特别重要。" + +msgid "" +"\n" +" Well done!\n" +" You successfully read\n" +" this important alert message." +msgstr "" +"\n" +" 完成!\n" +" 读取成功\n" +" 一条重要的提示消息." msgid "" "
  • Image (with Create New Volume checked): This options uses an " @@ -110,27 +124,6 @@ msgstr "这行文字为了更好的打印。" msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"容器是储存您数据的存储室,\n" -"提供便于您组织数据的方法。\n" -"您可以认为容器是 Windows 中的文件夹,\n" -"或者 Unix 中的目录。\n" -"容器和这些文件系统的主要区别是容器无法嵌套。\n" -"但是,您可以在您的账号下创建无限个容器。\n" -"数据必须存储在容器里,\n" -"因此您必须在上传数据前在您的帐号下定义至少一个容器。" - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -203,6 +196,9 @@ "to instances." msgstr "管理员设置可以附加到实例的浮动 IP 的池。" +msgid "Alerts" +msgstr "提醒" + msgid "" "An External network is set up by an administrator.\n" " If you want an instance to communicate outside of the data center,\n" @@ -257,12 +253,33 @@ msgid "Available" msgstr "可用" +msgid "Badges" +msgstr "标记" + +msgid "Basic" +msgstr "基本的" + +msgid "Basic panel" +msgstr "基本面板" + msgid "Block level button" msgstr "块级别按钮" +msgid "Blockquotes" +msgstr "块引用标签" + +msgid "Bordered Table" +msgstr "带边框表格" + +msgid "Bottom" +msgstr "底部" + msgid "Brand" msgstr "品牌" +msgid "Breadcrumbs" +msgstr "面包屑效果导航" + msgid "Button" msgstr "按钮" @@ -273,7 +290,7 @@ msgstr "取消" msgid "Cannot get service catalog from keystone." -msgstr "无法从重点获取服务目录。" +msgstr "无法从 Keystone 获取服务目录。" msgid "Cannot get the extension list." msgstr "无法获取扩展列表。" @@ -286,15 +303,27 @@ "如果您想将元数据写入特定的配置驱动中,请选中配置驱动复选框。当实例启动" "时,它就会附加至配置驱动并访问元数据。" +msgid "Checkbox" +msgstr "多选框" + msgid "Checksum" msgstr "校验和" msgid "Click to see more details" msgstr "单击以查看更多详细信息" +msgid "Close" +msgstr "关闭" + msgid "Color" msgstr "颜色" +msgid "Column content" +msgstr "列的内容" + +msgid "Column heading" +msgstr "列标题" + msgid "Configuration" msgstr "配置" @@ -347,13 +376,6 @@ msgid "Create Folder" msgstr "创建文件夹" -msgid "" -"Create Folder In: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"创建文件夹: {$ ctrl.model.container.name $},位于\n" -" :{$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "创建秘钥对" @@ -415,12 +437,18 @@ msgid "Date Created" msgstr "创建时间" +msgid "Datetime" +msgstr "时间" + msgid "Default" msgstr "缺省值" msgid "Default button" msgstr "缺省按钮" +msgid "Default input" +msgstr "缺省输入" + msgid "Delete" msgstr "删除" @@ -478,6 +506,12 @@ msgid "Disabled" msgstr "禁用" +msgid "Disabled input" +msgstr "禁止输入" + +msgid "Disabled input here..." +msgstr "这里禁止输入" + msgid "Disk Format" msgstr "磁盘格式" @@ -508,6 +542,9 @@ msgid "Email" msgstr "电子邮件" +msgid "Emphasis classes" +msgstr "强调类型" + msgid "Enabled" msgstr "启用" @@ -569,6 +606,9 @@ "the instance." msgstr "flavor 管理实例的计算、内存和存储容量的大小。" +msgid "Focused input" +msgstr "选中的输入" + msgid "Folder" msgstr "文件夹" @@ -618,6 +658,9 @@ msgid "Heading 6" msgstr "六级标题" +msgid "Home" +msgstr "主页" + msgid "Host ID" msgstr "主机标识" @@ -696,6 +739,24 @@ msgid "Info" msgstr "信息" +msgid "Input Sizes" +msgstr "允许输入的长度" + +msgid "Input States" +msgstr "输入状态" + +msgid "Input addons" +msgstr "附加输入" + +msgid "Input error" +msgstr "输入错误" + +msgid "Input success" +msgstr "输入成功" + +msgid "Input warning" +msgstr "输入警告" + msgid "Instance Snapshot" msgstr "实例快照" @@ -720,13 +781,6 @@ msgid "Key Pair" msgstr "密钥对" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"密钥对名称\n" -" " - msgid "Key Pairs" msgstr "密钥对" @@ -758,6 +812,9 @@ msgid "Large button" msgstr "大按钮" +msgid "Large input" +msgstr "输入长度过长" + msgid "Launch" msgstr "启动" @@ -767,6 +824,9 @@ msgid "Left" msgstr "左" +msgid "Legend" +msgstr "图例" + msgid "Library" msgstr "库" @@ -800,6 +860,9 @@ msgid "Members" msgstr "成员" +msgid "Messages" +msgstr "消息" + msgid "Metadata" msgstr "元数据" @@ -836,6 +899,9 @@ msgid "Mini button" msgstr "迷你按钮" +msgid "Month" +msgstr "月份" + msgid "Name" msgstr "名称" @@ -884,6 +950,12 @@ msgid "Networks provide the communication channels for instances in the cloud." msgstr "在云中,网络为实例提供通信渠道。" +msgid "Newer" +msgstr "更新" + +msgid "Next" +msgstr "下一项" + msgid "No" msgstr "否" @@ -950,9 +1022,18 @@ msgid "Objects" msgstr "对象" +msgid "Older" +msgstr "大于" + msgid "One more separated link" msgstr "一个或多个隔离的链接" +msgid "Option one is this" +msgstr "选项一是这个" + +msgid "Option two can be something else" +msgstr "选项二可能是别的" + msgid "Other Input Types" msgstr "其他输入类型" @@ -962,6 +1043,36 @@ msgid "Owner" msgstr "所有者" +msgid "Pagination" +msgstr "分页" + +msgid "Panel content" +msgstr "面板内容" + +msgid "Panel danger" +msgstr "危险面板" + +msgid "Panel footer" +msgstr "面板脚注" + +msgid "Panel heading" +msgstr "面板标题" + +msgid "Panel info" +msgstr "面板信息" + +msgid "Panel primary" +msgstr "首要面板" + +msgid "Panel success" +msgstr "成功面板" + +msgid "Panel warning" +msgstr "警告面板" + +msgid "Panels" +msgstr "面板" + msgid "Password" msgstr "密码" @@ -994,6 +1105,9 @@ msgstr "" "端口为您的实例提供了额外的通信渠道。您可以选择端口而非网络或者二者都选。" +msgid "Previous" +msgstr "前一项" + msgid "Primary" msgstr "主要" @@ -1044,13 +1158,6 @@ msgid "Public Key" msgstr "公钥" -msgid "" -"Public Key\n" -" " -msgstr "" -"公钥\n" -" " - msgid "QCOW2" msgstr "QCOW2" @@ -1066,6 +1173,9 @@ msgid "RX/TX factor" msgstr "RX/TX 因子" +msgid "Radios" +msgstr "单选框" + msgid "Ramdisk ID" msgstr "内存盘标识" @@ -1199,6 +1309,9 @@ msgid "Small button" msgstr "小按钮" +msgid "Small input" +msgstr "输入长度过短" + msgid "Snapshot" msgstr "快照" @@ -1211,6 +1324,12 @@ msgid "Source Code" msgstr "源代码" +msgid "Source Title" +msgstr "标题" + +msgid "Standard Table" +msgstr "标准表格" + msgid "Status" msgstr "状态" @@ -1233,9 +1352,18 @@ msgid "Tables" msgstr "表格" +msgid "Tabs" +msgstr "Tabs" + msgid "Tags" msgstr "标签" +msgid "Tel" +msgstr "电话" + +msgid "Textarea" +msgstr "文本框" + msgid "" "The flavor you select for an instance determines the amount of compute, " "storage and memory resources that will be carved out for the instance." @@ -1252,6 +1380,9 @@ "您所选择的 flavor 必须分配有足够的资源用来支持您尝试创建的 flavor。未对您的实" "例提供足够资源的 flavor 在可用表上以黄色警告符号标识。" +msgid "The following snippet of text is rendered as italicized text." +msgstr "下面的文本段将被渲染成斜体." + msgid "" "The following snippet of text is rendered as bold text." msgstr "以下文本片段是 加粗文本." @@ -1332,6 +1463,9 @@ "smaller flavor or decrease the instance count." msgstr "此 flavor 需要的 VCPU 超过配额允许。请选择更小的 flavor 或减少实例数。" +msgid "This is focused..." +msgstr "这很受关注" + msgid "This limit is currently not set." msgstr "当前未设置此限制。" @@ -1348,12 +1482,16 @@ msgstr "时间戳记" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." +"To view source code, hover over a section, then click the button in the top " +"right of that section." msgstr "" "要查看源代码,请使光标悬浮在某节上,然后单击该节右上角的 按钮。" +msgid "Top" +msgstr "顶部" + msgid "Total Disk" msgstr "磁盘总计" @@ -1377,6 +1515,9 @@ "直接在“定制脚本”字段中输入您的脚本。如果您的浏览器支持 HTML5 文件 API,那么可" "以选择从文件加载您的脚本。您的脚本大小不能超过 16Kb。" +msgid "Typography" +msgstr "字体排版" + msgid "Unable to allocate new floating IP address." msgstr "无法分配新浮动 IP 地址。" @@ -1711,13 +1852,6 @@ msgid "Upload File" msgstr "上传文件" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"上传文件到:{$ ctrl.model.container.name $}\n" -" :{$ ctrl.model.folder $}" - msgid "Uploading" msgstr "上传中" @@ -1782,13 +1916,6 @@ msgid "Volume Quota" msgstr "卷配额" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"卷大小 (GB)\n" -" " - msgid "Volume Snapshot" msgstr "卷快照" diff -Nru horizon-9.0.1/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,24 +1,18 @@ -# Daisy , 2015. #zanata -# OpenStack Infra , 2015. #zanata -# Xu Yang , 2015. #zanata -# Yang Hongyang , 2015. #zanata -# yan haifeng , 2015. #zanata -# zhangjingwen , 2015. #zanata -# Gaoxiao Zhu , 2016. #zanata -# Zheng Xi Zhou , 2016. #zanata +# Andreas Jaeger , 2016. #zanata +# Chancy Chou , 2016. #zanata +# Linda , 2016. #zanata +# Shengjing Zhu , 2016. #zanata # liujunpeng , 2016. #zanata -# qingszhao , 2016. #zanata -# vuuv , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev8\n" +"Project-Id-Version: horizon 9.0.2.dev32\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-04-18 20:14+0000\n" +"POT-Creation-Date: 2016-07-01 13:38+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-27 02:47+0000\n" -"Last-Translator: vuuv \n" +"PO-Revision-Date: 2016-07-01 10:32+0000\n" +"Last-Translator: Shengjing Zhu \n" "Language-Team: Chinese (China)\n" "Language: zh-CN\n" "X-Generator: Zanata 3.7.3\n" @@ -43,7 +37,7 @@ " " msgstr "" "\n" -"其它IPv6模式: ipv6_ra_mode=%(ra_mode)s, ipv6_address_mode=%(addr_mode)s\n" +"其它 IPv6 模式:ipv6_ra_mode=%(ra_mode)s, ipv6_address_mode=%(addr_mode)s\n" " " msgid "" @@ -54,8 +48,8 @@ " " msgstr "" "\n" -"当卷状态是\"使用中\",你可以用\"强制\"来上传\n" -"卷到一个镜像中。\n" +"当卷状态是\"in-use\"时,您可以用\"Force\"将卷上传\n" +"到映像中。\n" " " #, python-format @@ -65,7 +59,7 @@ " " msgstr "" "\n" -"%(instance_name)s 位于 %(device)s之上\n" +"%(instance_name)s 位于 %(device)s 之上\n" " " #, python-format @@ -96,7 +90,7 @@ msgstr "" "\n" "在卷创建后更改卷类型。\n" -"等同于命令cinder retype。\n" +"它相当于 cinder retype 命令。\n" " " msgid "" @@ -107,8 +101,8 @@ " " msgstr "" "\n" -"为镜像选择\"磁盘格式\"。卷镜像\n" -"被QEMU磁盘镜像工具创建。\n" +"为映像选择“磁盘格式”。卷映像\n" +"是使用 QEMU 磁盘映像实用程序创建的。\n" " " msgid "" @@ -130,17 +124,17 @@ " " msgstr "" "\n" -"QoS 规格可以和卷类型进行关联。\n" -"它用于对卷所属者所请求的服务质量指标\n" -"进行限制。这等价于\n" -"cinder qos-create 命令。当 QoS 规格创建成功之后,\n" -"点击 “管理规格”可对 QoS 规格中的规格 键值对 \n" +"QoS 规范可以和卷类型进行关联。\n" +"它用于映射至卷所有人请求的一组服务质量\n" +"功能。它等价于\n" +"cinder qos-create 命令。当 QoS 规范创建成功之后,\n" +"单击 “管理规范”可对 QoS 规范中的规范键/值对 \n" "进行修改。\n" "
    \n" "
    \n" -"每一个 QoS 规格都有一个 “消费者” 的属性,\n" -"代表着QoS策略的实施对象。该属性可以设置为“前端”\n" -"(对应 Nova 计算服务)、“后端”(对应 Cinder 后端)以及 “前后两端” 。" +"每一个 QoS 规范都有一个 “Consumer”值,\n" +"指示管理员希望实施 QoS 策略的位置。该属性可以设置为“front-end”\n" +"(Nova 计算)、“back-end”(Cinder 后端)或 “both” 。" msgid "" "\n" @@ -152,9 +146,9 @@ " " msgstr "" "\n" -"\"迁移策略\"只在云硬盘更改类型无法完成时使用。\n" +"\"迁移策略\"只在卷更改类型无法完成时使用。\n" "如果\"迁移策略\"是\"按需\",后端会\n" -"执行云硬盘迁移。注意,迁移可能会占用大量的时间来完成,\n" +"执行卷迁移。注意,迁移可能会占用大量的时间来完成,\n" "有时可达数小时。\n" " " @@ -175,8 +169,8 @@ " " msgstr "" "\n" -"上传卷到镜像服务,作为镜像。\n" -"等同于命令cinder upload-to-image\n" +"上传卷到映像服务,作为映像。\n" +"相当于 cinder upload-to-image 命令。\n" " " msgid "" @@ -195,13 +189,13 @@ " " msgstr "" "\n" -"云硬盘类型是在创建云硬盘的时候可以指定的标签。\n" -"它通常用来映射到这些云硬盘所使用的\n" +"卷类型是在创建卷的时候可以指定的标签。\n" +"它通常用来映射到这些卷所使用的\n" "存储后端驱动器的性能指标集合。\n" -"例如“性能”、“SSD”、“备份”等。\n" +"例如,“Performance”、“SSD”、“Backup”等。\n" "这等价于cinder type-create命令。\n" -"一旦云硬盘类型被创建,点击\"查看扩展规格\"按钮\n" -"以设置云硬盘类型的扩展规格键值对。\n" +"一旦卷类型被创建,单击\"查看 extra spec\"按钮\n" +"以设置卷类型的 extra spec 键值对。\n" " " msgid "" @@ -215,10 +209,11 @@ " " msgstr "" "\n" -" \"管理\"Cinder主机上的已有云硬盘。将会使得该云硬盘在OpenStack内可见。\n" +" 通过 Cinder 主机“管理”现有卷。\n" +" 这会使该卷在 OpenStack 内可视。\n" "
    \n" "
    \n" -" 等同于cinder manage命令.\n" +" 它相当于 cinder manage 命令。\n" " " msgid "" @@ -231,10 +226,12 @@ " " msgstr "" "\n" -"每个QoS规格实体都有一个\"消费者\"的值,指明管理员\n" -"希望QoS策略实施的位置。该值可以是\"前端\"(Nova计算服务),\n" -"\"后端\" (Cinder后端),或者\"前后两端\"。\n" -" " +" 每个 QoS 规范实体都有一个“Consumer”值,指示管理员希望实施 QoS 策略的位" +"置。该值可以是“front-end”(Nova 计算)、“back-end”(Cinder 后端)或" +"者“both”。\n" +" \n" +" \n" +" " msgid "" "\n" @@ -246,10 +243,10 @@ " " msgstr "" "\n" -" 热迁移一个云主机到指定主机。\n" +"将卷迁移至特定主机。\n" "
    \n" "
    \n" -" 强制主机拷贝:启用或禁用通用的基于主机的强制迁移,跳过驱动器优化。\n" +" 强制主机复制:启用或禁用通用的基于主机的强制迁移,跳过驱动器优化。\n" " " msgid "" @@ -262,9 +259,10 @@ " " msgstr "" "\n" -"云硬盘状态通常是自动管理的。 在某些特定的环境下,\n" -"管理员需要手动更新云硬盘状态。这相当于\n" -"命令cinder snapshot-reset-state的操作。" +" 卷状态通常为自动管理。在某些情况下,管理员可能需要显式更新状态值。\n" +" 它相当于\n" +" cinder reset-state 命令。\n" +" " msgid "" "\n" @@ -276,10 +274,10 @@ " " msgstr "" "\n" -"云硬盘快照状态通常是自动管理的。在特定的环境下,\n" -"可能需要管理员更新云硬盘快照状态。等价于如下命令\n" +"卷快照状态通常是自动管理的。在特定的环境下,\n" +"可能需要管理员更新卷快照状态值。它相当于\n" "\n" -"cinder snapshot-reset-state 。" +"cinder snapshot-reset-state 命令。" msgid "" "\n" @@ -292,11 +290,11 @@ " " msgstr "" "\n" -" 当某个云硬盘被\"非管理\"时,它将不在OpenStack中可见。注意并不是在Cinder主" -"机中删除。\n" +" “取消管理”卷后,该卷在 OpenStack 内不再可视。\n" +" 请注意,不会从 Cinder 主机删除该卷。\n" "
    \n" "
    \n" -" 等同于cinder unmanage命令.\n" +" 它相当于 cinder unmanage 命令。\n" " " msgid "" @@ -309,7 +307,7 @@ "\n" "为负载均衡池定义名称和描述。选择负载均衡池成员均已接入的子网。\n" "选择协议和均衡方法.\n" -"管理状态默认为 UP.\n" +"管理状态缺省为“启动”。\n" " " msgid "" @@ -321,9 +319,9 @@ " " msgstr "" "\n" -"为这个资源池创建一个 VIP。指定名称,描述,IP地址,端口,\n" +"为此池创建一个 VIP。指定名称、描述、IP 地址、端口\n" "及其允许的最大连接数。为 VIP 选择协议和会话持久化的方法。\n" -"默认情况下,管理状态是UP。\n" +"缺省情况下,管理状态为“启动”。\n" " " msgid "" @@ -335,46 +333,71 @@ " " msgstr "" "\n" -"在拓扑图上上下滚动你的鼠标/触控板来调整画布大小。\n" -"在拓扑图空白处点击并拖拽来移动浏览。\n" +"在拓扑图上上下滚动您的鼠标/触控板来调整画布大小。\n" +"单击拓扑图后的空白并拖拽来平移画布。\n" " " msgid " - End" msgstr " - 结束" msgid " : Next hop" -msgstr ":下一跳" +msgstr ":下一中继段" msgid "" " A protocol entry contains information that dictates which mapping rules to " "use for a given incoming request. An Identity Provider may have multiple " "supported protocols." msgstr "" -"协议入点包含信息,这些信息表明对于给定入口请求那个映射规则来使用。一个身份提" -"供者可以包含多个支持的协议。" +"协议条目包含用于指示要对给定入局请求使用的映射规则的信息。一个身份提供者可以" +"包含多个受支持协议。" #, python-format msgid " Also failed to delete port %s" -msgstr "删除端口%s 同样失败" +msgstr "删除端口 %s 同样失败" + +msgid "\"Add Router Route\"" +msgstr "“添加路由器路由”" + +msgid "\"Containers\"" +msgstr "“容器”" msgid "" "\"Customization Script\" is analogous to \"User Data\" in other systems." -msgstr "\"定制脚本\"与其它系统中的\"用户数据\"类似." +msgstr "“定制脚本”与其它系统中的“用户数据”类似。" + +msgid "\"Edit Volume Type\"" +msgstr "“编辑云硬盘”" + +msgid "\"N/A\"" +msgstr "\"N/A\"" + +msgid "\"Namespace Resource Type Associations\"" +msgstr "“名称空间资源类型关联”" + +msgid "\"No flavors meet minimum criteria for selected image.\"" +msgstr "“没有达到镜像最低要求的云主机类型。”" + +msgid "\"None\"" +msgstr "“无”" msgid "" "\"None\" indicates that no QoS Spec is currently associated. Conversely, " "setting the QoS Spec to \"None\" will remove the current association." msgstr "" -"“无”表示当前没有关联 QoS 规格。同样地,将 QoS 规格设置为“无”会解除当前的关" -"联。" +"“None”表示当前没有关联 QoS 规范。同样地,将 QoS 规范设置为“None”会解除当前的" +"关联。" + +msgid "" +"\"Some flavors not meeting minimum image requirements have been disabled.\"" +msgstr "“未满足最低映像要求的一些 flavor 已被禁用。”" #, python-format msgid "%(field_name)s: Invalid IP address (value=%(ip)s)" -msgstr "%(field_name)s:IP地址不可用 (value=%(ip)s)" +msgstr "%(field_name)s:无效 IP 地址 (value=%(ip)s)" #, python-format msgid "%(field_name)s: Invalid IP address (value=%(network)s)" -msgstr "%(field_name)s:IP地址不可用 (value=%(network)s)" +msgstr "%(field_name)s:无效 IP 地址 (value=%(network)s)" #, python-format msgid "%(instance_name)s %(fixed_ip)s" @@ -391,49 +414,49 @@ #, python-format msgid "%(resource_status)s: %(resource_status_reason)s" -msgstr "%(resource_status)s: %(resource_status_reason)s" +msgstr "%(resource_status)s:%(resource_status_reason)s" #, python-format msgid "%(stack_status_title)s: %(stack_status_reason)s" -msgstr "%(stack_status_title)s: %(stack_status_reason)s" +msgstr "%(stack_status_title)s:%(stack_status_reason)s" #, python-format msgid "%(type)s (%(backend)s backend)" -msgstr "%(type)s (%(backend)s 后端)" +msgstr "%(type)s(%(backend)s 后端)" #, python-format msgid "%(type)s delay:%(delay)d retries:%(max_retries)d timeout:%(timeout)d" -msgstr "%(type)s 延时:%(delay)d 重试:%(max_retries)d 超时:%(timeout)d" +msgstr "%(type)s 延时:%(delay)d 重试:%(max_retries)d 超时:%(timeout)d" #, python-format msgid "" "%(type)s: url:%(url_path)s method:%(http_method)s codes:%(expected_codes)s " "delay:%(delay)d retries:%(max_retries)d timeout:%(timeout)d" msgstr "" -"%(type)s: url:%(url_path)s 方法:%(http_method)s 指令:%(expected_codes)s 延时:" -"%(delay)d 重试:%(max_retries)d 超时:%(timeout)d" +"%(type)s:url:%(url_path)s 方法:%(http_method)s 指令:%(expected_codes)s 延" +"时:%(delay)d 重试:%(max_retries)d 超时:%(timeout)d" #, python-format msgid "%(used)s %(key)s used" -msgstr "%(used)s %(key)s 已使用" +msgstr "已使用 %(used)s %(key)s" #, python-format msgid "%s (Default)" -msgstr "%s (缺省)" +msgstr "%s(缺省)" #. Translators: The usage is " (Not Found)" #, python-format msgctxt "External network not found" msgid "%s (Not Found)" -msgstr "%s (找不到)" +msgstr "%s(找不到)" #, python-format msgid "%s (current)" -msgstr "%s(当前)" +msgstr "%s(当前)" #, python-format msgid "%s (default)" -msgstr "%s (默认值)" +msgstr "%s(缺省值)" #, python-format msgid "%s GB" @@ -441,7 +464,7 @@ #, python-format msgid "%s instances" -msgstr "%s 云主机" +msgstr "%s 实例" #, python-format msgid "%sGB" @@ -449,7 +472,7 @@ #, python-format msgid "%sGiB" -msgstr "%sGiB" +msgstr "%s GiB" #, python-format msgid "%sMB" @@ -459,10 +482,10 @@ msgstr "« 后退" msgid "(Quota exceeded)" -msgstr "(配额用尽)" +msgstr "(超过配额)" msgid ", add project groups" -msgstr ",添加项目组" +msgstr ",并添加项目组" msgid ", update project groups" msgstr ",更新项目组" @@ -485,25 +508,25 @@ "your account. Data must be stored in a container so you must have at least " "one container defined in your account prior to uploading data." msgstr "" -"容器是储存您数据的存储室,便于您组织数据。您可以认为容器是Windows ®的文件" -"夹;或者Unix ®的目录。容器和这些文件系统的主要区别是容器无法嵌套。但是," -"您可以在您的账号下创建无限个容器。数据必须存储在容器里,因此您必须在上传数据" -"前在您的账号下至少定义一个容器。" +"容器是储存您数据的存储室,便于您组织数据。您可以认为容器是 Windows ® 的文" +"件夹;或者 Unix ® 的目录。容器和这些文件系统的主要区别是容器无法嵌套。但" +"是,您可以在您的账号下创建无限个容器。数据必须存储在容器里,因此您必须在上传" +"数据前在您的账号下至少定义一个容器。" msgid "A image or external image location must be specified." -msgstr "必须给定镜像或者外部镜像的位置" +msgstr "必须指定映像或外部映像位置。" msgid "A local environment to upload." msgstr "上传一个本地环境文件" msgid "A local image to upload." -msgstr "一个待上传的本地镜像。" +msgstr "要上载的本地映像。" msgid "A local metadata definition file to upload." -msgstr "上传本地元数据定义文件。" +msgstr "要上载的本地元数据定义文件。" msgid "A local template to upload." -msgstr "一个待上传的本地模板" +msgstr "要上传的本地模板。" msgid "" "A mapping is a set of rules to map federation protocol attributes to " @@ -511,9 +534,9 @@ "specified per protocol. A mapping is simply a list of rules. The only " "Identity API objects that will support mapping are: user and group." msgstr "" -"映射是一个规则集合,映射联邦协议属性到认证API对象。一个认证提供者可以每一个协" -"议有一个指定的映射。一个映射是简单的规则列表。唯一的认证API对象将会支持的映射" -"是:用户和组。" +"映射是一个规则集合,用于将联合协议属性映射至身份 API 对象。对于每个协议,可对" +"身份提供者指定一个映射,映射只是规则列表。支持映射的仅有身份 API 对象为:用户" +"和组。" msgid "" "A more specific rule affects a portion of this traffic so a rule cannot be " @@ -529,30 +552,30 @@ msgid "" "A port is a connection point for attaching a single device, such as the NIC " "of a virtual server, to a virtual network." -msgstr "端口是连接单个设备(例如云主机的NIC)到虚拟网络的接入点。" +msgstr "端口是将单个设备(例如,虚拟服务器的 NIC)连接至虚拟网络的连接点。" msgid "" "A rule contains a remote attribute description and the destination local " "attribute." -msgstr "规则包含远端属性描述和目的本地属性。" +msgstr "规则包含远程属性描述和目标本地属性。" msgid "" "A script or set of commands to be executed after the instance has been built " "(max 16kb)." -msgstr "在云主机创建后执行的一段脚本或者一组命令(最大16KB)。" +msgstr "构建实例后要执行的脚本或命令集(最大16KB)。" msgid "" "A snapshot is an image which preserves the disk state of a running instance." -msgstr "快照是保存了运行中云主机的磁盘状态的镜像。" +msgstr "快照是保存了运行中实例的磁盘状态的映像。" #, python-format msgid "" "A volume of %(req)iGiB cannot be created as you only have %(avail)iGiB of " "your quota available." -msgstr "不能创建%(req)iGiB的云硬盘,因为你的可用配置只有%(avail)iGiB。" +msgstr "不能创建 %(req)iGiB 的卷,因为您的可用配置只有 %(avail)iGiB。" msgid "AKI - Amazon Kernel Image" -msgstr "AKI - Amazon Kernel 镜像" +msgstr "AKI - Amazon Kernel 映像" msgid "ALLOW" msgstr "允许" @@ -574,28 +597,28 @@ msgstr "允许 %(group)s 访问 %(from)s:%(to)s/%(ip_protocol)s" msgid "AMI - Amazon Machine Image" -msgstr "AMI - Amazon Machine 镜像" +msgstr "AMI - Amazon Machine 映像" msgid "ANY" msgstr "任意" msgid "API Access" -msgstr "访问API" +msgstr "访问 API" msgid "API Endpoints" -msgstr "API端点" +msgstr "API 端点" msgid "ARI - Amazon Ramdisk Image" -msgstr "ARI - Amazon Ramdisk 镜像" +msgstr "ARI - Amazon Ramdisk 映像" msgid "AWS compatible" msgstr "AWS 兼容" msgid "Accept Transfer" -msgstr "接受转让" +msgstr "接受传输" msgid "Accept Volume Transfer" -msgstr "接受云硬盘转让" +msgstr "接受卷传输" msgid "Access & Security" msgstr "访问 & 安全" @@ -604,79 +627,79 @@ msgstr "访问 & 安全" msgid "Access: " -msgstr "可访问性:" +msgstr "访问:" msgid "Action" -msgstr "动作" +msgstr "操作" msgid "Action Log" msgstr "操作日志" msgid "Action for the firewall rule" -msgstr "防火墙规则的动作" +msgstr "针对防火墙规则的操作" msgid "Action:" msgstr "动作" msgctxt "Current status of a Firewall" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of a Floating IP" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of a Network" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of a Pool" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of a VPN Service" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of an IPSec Site Connection" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of an Image" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "Current status of an Instance" msgid "Active" -msgstr "运行" +msgstr "活动" msgctxt "current status of port" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "current status of router" msgid "Active" -msgstr "运行中" +msgstr "活动" msgctxt "status of a network port" msgid "Active" -msgstr "运行中" +msgstr "活动" msgid "Active Instances:" -msgstr "运行中的云主机:" +msgstr "活动实例:" msgid "" "Actual device name may differ due to hypervisor settings. If not specified, " "then hypervisor will select a device name." msgstr "" -"实际设备名称受虚拟机管理器配置的影响可能不同。如果没有指定,那么管理程序会选" -"择一个设备名称。" +"实际设备名称受管理程序设置的影响可能不同。如果没有指定,那么管理程序将选择设" +"备名称。" msgid "Add" msgstr "添加" msgid "Add DHCP Agent" -msgstr "增加DHCP Agent" +msgstr "添加 DHCP 代理程序" msgid "Add Firewall" msgstr "添加防火墙" @@ -685,88 +708,88 @@ msgstr "添加组成员" msgid "Add IKE Policy" -msgstr "添加IKE策略" +msgstr "添加 IKE 策略" msgid "Add IPSec Policy" -msgstr "添加IPSec策略" +msgstr "添加 IPSec 策略" msgid "Add IPSec Site Connection" -msgstr "添加IPSec站点连接" +msgstr "添加 IPSec 站点连接" msgid "Add Interface" -msgstr "增加接口" +msgstr "添加接口" msgid "Add Member" -msgstr "新增成员" +msgstr "添加成员" msgid "Add Monitor" -msgstr "新增监控" +msgstr "添加监视器" msgid "Add New Firewall" msgstr "添加新的防火墙" msgid "Add New IKE Policy" -msgstr "添加新的IKE策略" +msgstr "添加新的 IKE 策略" msgid "Add New IPSec Policy" -msgstr "添加新的IPSec策略" +msgstr "添加新的 IPSec 策略" msgid "Add New IPSec Site Connection" -msgstr "添加新的IPSec站点连接" +msgstr "添加新的 IPSec 站点连接" msgid "Add New Member" -msgstr "新增成员" +msgstr "添加新成员" msgid "Add New Monitor" -msgstr "新增监控" +msgstr "添加新监视器。" msgid "Add New Policy" msgstr "添加新的策略" msgid "Add New Pool" -msgstr "新增资源池" +msgstr "添加新池" msgid "Add New Rule" msgstr "添加新的规则" msgid "Add New VPN Service" -msgstr "添加新的VPN服务" +msgstr "添加新的 VPN 服务" msgid "Add Policy" -msgstr "增加策略" +msgstr "添加策略" msgid "Add Pool" -msgstr "新增资源池" +msgstr "添加池" msgid "Add Protocol" msgstr "添加协议" msgid "Add Router" -msgstr "添加路由" +msgstr "添加路由器" msgid "Add Router Route" -msgstr "添加路由器的路由表" +msgstr "添加路由器路由" msgid "Add Router Rule" -msgstr "增加路由规则" +msgstr "添加路由器规则" msgid "Add Router to Firewall" -msgstr "为防火墙添加路由" +msgstr "将路由器添加至防火墙" msgid "Add Routers" -msgstr "添加路由" +msgstr "添加路由器" msgid "Add Rule" msgstr "添加规则" msgid "Add Static Route" -msgstr "添加路由表" +msgstr "添加静态路由" msgid "Add Subnet" -msgstr "增加子网" +msgstr "添加子网" msgid "Add Subnet (Quota exceeded)" -msgstr "添加子网 (配额用尽)" +msgstr "添加子网(超过配额)" msgid "Add User" msgid_plural "Add Users" @@ -782,20 +805,20 @@ msgstr "添加 VIP" msgid "Add VPN Service" -msgstr "添加VPN服务" +msgstr "添加 VPN 服务" msgid "" "Add and remove security groups to this instance from the list of available " "security groups." -msgstr "从可用的安全组中增加和删除" +msgstr "在可用安全组列表中添加和删除安全组。" msgid "" "Add hosts to this aggregate or remove hosts from it. Hosts can be in " "multiple aggregates." -msgstr "将主机添加到这个聚合,或者从聚合中删除。主机可以存在于多个聚合中。" +msgstr "将主机添加至此聚集,或者从聚集中移除主机。主机可以放在多个聚集中。" msgid "Add hosts to this aggregate. Hosts can be in multiple aggregates." -msgstr "增加主机到这个聚合。主机可以加入多个聚合。" +msgstr "将主机添加至此聚集。主机可放在多个聚集中。" msgid "" "Add member(s) to the selected pool.\n" @@ -806,67 +829,66 @@ "\n" "Only one port can be associated with each instance." msgstr "" -"给选定的池增加成员.\n" +"将成员添加至所选池。\n" "\n" -"选择一个或多个云主机作为成员增加到池中. 为选定的成员指定权重和端口号; 例如, " -"80. \n" +"选择一个或多个要添加至池的实例作为成员。为要操作的所选成员指定数字权重和端口" +"号;例如,80。\n" "\n" -"每个云主机只能关联一个端口." +"每个实例只能关联一个端口。" msgid "Add selected router(s) to the firewall." -msgstr "添加所选择的路由到防火墙。" +msgstr "将所选路由器添加至防火墙。" msgid "Add static route to the router." -msgstr "为路由器添加静态路由表." +msgstr "将静态路由表添加至路由器。" msgid "" "Add volume types to this consistency group. Multiple volume types can be " "added to the same consistency group only if they are associated with same " "back end." msgstr "" -"给该一致性组增加云硬盘类型。如果多种云硬盘类型皆与同一个存储后端相关联则可都" -"加入该一致性组。" +"对此一致性组添加卷类型。仅当多个卷类型与同一个后端相关联时,这些卷类型才能添" +"加至同一个一致性组。" msgid "Add, modify or remove the QoS Spec associated with this volume type." -msgstr "添加、修改、删除该云硬盘类型所关联的 QoS 规格。" +msgstr "添加、修改、删除该卷类型所关联的 QoS 规范。" msgid "Add/Remove Consistency Group Volumes" -msgstr "添加/删除一致性组云硬盘" +msgstr "添加/删除一致性组卷" msgid "Add/Remove Hosts to Aggregate" -msgstr "添加/删除聚合中的主机" +msgstr "添加/删除聚集中的主机" msgid "" "Add/remove volumes to/from this consistency group. Only volumes associated " "with the volume type(s) assigned to this consistency group will be available " "for selection." msgstr "" -"添加/删除 该一致性组内的云硬盘。 仅可选择云硬盘类型已指派给该一致性组的云硬" -"盘。" +"对此一致性组添加/删除卷。只能选择与分配给此一致性组的卷类型相关联的卷。" #, python-format msgid "Added Firewall \"%s\"." -msgstr "防火墙 \"%s\" 已添加。" +msgstr "已添加防火墙 “%s” 。" #, python-format msgid "Added IKE Policy \"%s\"." -msgstr "IKE策略 \"%s\" 已添加。" +msgstr "已添加 IKE 策略 “%s” 。" #, python-format msgid "Added IPSec Policy \"%s\"." -msgstr "IPSec策略 \"%s\" 已添加。" +msgstr "已添加 IPSec 策略 “%s” 。" #, python-format msgid "Added IPSec Site Connection \"%s\"." -msgstr "IPSec站点连接 \"%s\" 已添加。" +msgstr "已添加 IPSec 站点连接 “%s” 。" #, python-format msgid "Added Policy \"%s\"." -msgstr "添加策略 \"%s\"。" +msgstr "添加策略 “%s”。" #, python-format msgid "Added Rule \"%s\"." -msgstr "规则 \"%s\" 已添加。" +msgstr "已添加规则 “%s”。" msgid "Added User" msgid_plural "Added Users" @@ -874,31 +896,31 @@ #, python-format msgid "Added VIP \"%s\"." -msgstr "已添加 VIP \"%s\"。" +msgstr "已添加 VIP “%s”。" #, python-format msgid "Added VPN Service \"%s\"." -msgstr "VPN服务 \"%s\" 已添加。" +msgstr "已添加 VPN 服务 “%s” 。" msgid "Added member(s)." msgstr "已添加成员。" msgid "Added monitor" -msgstr "监控已添加" +msgstr "已添加监视器" #, python-format msgid "Added pool \"%s\"." -msgstr "资源池 \"%s\" 已添加。" +msgstr "已添加池 “%s” 。" msgid "Additional routes" -msgstr "附加路由" +msgstr "附加路由器" msgid "" "Additional routes announced to the hosts. Each entry is: destination_cidr," "nexthop (e.g., 192.168.200.0/24,10.56.1.254) and one entry per line." msgstr "" -"主机增加额外的路由. 记录格式是:目的CIDR, 下一跳(例如" -"192.168.200.0/24,10.56.1.254) ,每行一条记录。" +"对主机声明的额外路由。每个条目为:目标 CIDR, 下一中继段(例如," +"192.168.200.0/24,10.56.1.254),每行一个条目。" msgid "" "Additionally, some resource types may require a prefix to be used when " @@ -906,16 +928,16 @@ "resource type (for example, flavor vs image)." msgstr "" "另外,某些类型的资源在应用元数据时可能需要添加一个前缀,不同的资源类型也会使" -"用不同的前缀(比如,云主机类型和镜像)。" +"用不同的前缀(例如,flavor 和映像)。" msgid "Address" msgstr "地址" msgid "Address pool" -msgstr "地址资源池" +msgstr "地址池" msgid "Address:" -msgstr "地址:" +msgstr "地址:" msgid "Admin" msgstr "管理员" @@ -927,12 +949,12 @@ msgstr "管理状态" msgid "Admin State Up" -msgstr "管理状态 UP" +msgstr "管理状态:已启动" msgid "" "Administrator Note: Use the following CLI command to import the default " "definitions into Glance: " -msgstr "管理员注意:使用下面命令行指令来导入默认的定义到Glance:" +msgstr "管理员注意:使用以下命令以将缺省定义导入至 Glance:" msgctxt "current status of stack" msgid "Adopt Complete" @@ -950,16 +972,16 @@ msgstr "高级选项" msgid "After" -msgstr "后于" +msgstr "晚于" msgid "" "After launching an instance, you login using the private key (the username " "might be different depending on the image you launched):" -msgstr "创建云主机后,你使用私钥来登录云主机(登陆用户名取决您所用的镜像):" +msgstr "创建实例后,使用私钥进行登录(用户名可能不同,取决于您启动的映像):" #, python-format msgid "Agent %s was successfully added." -msgstr "Agent %s 已经成功添加。" +msgstr "已成功添加代理程序 %s。" msgid "All Available Hosts" msgstr "所有可用主机" @@ -968,10 +990,10 @@ msgstr "全部组" msgid "All Hypervisors" -msgstr "全部的虚拟机管理器" +msgstr "全部管理程序" msgid "All ICMP" -msgstr "所有ICMP协议" +msgstr "所有 ICMP 协议" msgid "All Projects" msgstr "所有项目" @@ -980,10 +1002,10 @@ msgstr "全部安全组" msgid "All TCP" -msgstr "所有TCP协议" +msgstr "所有 TCP 协议" msgid "All UDP" -msgstr "所有UDP协议" +msgstr "所有 UDP 协议" msgid "All Users" msgstr "全部用户" @@ -992,61 +1014,61 @@ msgstr "所有可用主机" msgid "All available volume types" -msgstr "所有可用云硬盘类型" +msgstr "所有可用卷类型" msgid "All available volumes" -msgstr "所有可用云硬盘" +msgstr "所有可用卷" msgid "" "All selected volume types must be associated with the same volume backend " "name." -msgstr "所有选中的云硬盘必须托管于同一个存储后端。" +msgstr "所有选中卷类型必须与同一卷后端名称相关联。" msgid "Allocate Floating IP" -msgstr "分配浮动IP" +msgstr "分配浮动 IP" msgid "Allocate IP" -msgstr "分配IP" +msgstr "分配 IP" msgid "Allocate IP To Project" -msgstr "分配IP给项目" +msgstr "向项目分配 IP" msgid "Allocate Network Address from a pool" -msgstr "从资源池分配网络地址" +msgstr "从池分配网络地址" msgid "Allocate a floating IP from a given floating IP pool." -msgstr "从指定的浮动IP池中分配一个浮动IP。" +msgstr "从指定的浮动 IP 池中分配一个浮动 IP。" msgid "Allocated" msgstr "已分配" #, python-format msgid "Allocated Floating IP %(ip)s." -msgstr "分配到的浮动IP %(ip)s。" +msgstr "已分配浮动 IP %(ip)s。" msgid "" "Allocates requests to the instance with the least number of\n" " active connections." msgstr "" -"分发请求给活跃连接最少的\n" -"云主机" +"将请求分配给活动连接最少的实例。\n" +" " msgid "Allocation Pools" -msgstr "分配地址池" +msgstr "分配池" msgid "Amount of energy" msgstr "能源数量" msgid "An external (HTTP) URL to load the template from." -msgstr "一个用于加载模板的外部(HTTP) URL。" +msgstr "要通过其加载模板的外部 (HTTP) URL。" msgid "An external (HTTP/HTTPS) URL to load the image from." -msgstr "从外部(HTTP/HTTPS)URL加载镜像。" +msgstr "要通过其装入映像的外部(HTTP/HTTPS)URL。" msgid "" "An instance can be launched with varying types of attached storage. You may " "select from those options here." -msgstr "选择云主机创建时所连接的存储类型" +msgstr "可使用不同类型的已连接存储器启动实例。可从此处的选项中进行选择。" msgid "" "An object is the basic storage entity that represents a file you store in " @@ -1055,14 +1077,15 @@ "consists of a location (container), the object's name, and any metadata " "consisting of key/value pairs." msgstr "" -"对象作为一个基本存储实体,代表您在OpenStack对象存储系统中存放的一个文件。当您" -"上传数据到OpenStack对象存储时,数据会被原样(无压缩或加密)保存,伴之以存放的位" -"置(容器)、对象的名称及其它由键值对组成的元数据,以供检索。" +"对象作为一个基本存储实体,代表您在 OpenStack 对象存储系统中存放的一个文件。当" +"您将数据上传至 OpenStack 对象存储器时,数据会按原样(无压缩或加密)存储,附带" +"位置(容器)、对象的名称及其它由键/值对组成的所有元数据。" msgid "" "An unexpected error has occurred. Try refreshing the page. If that doesn't " "help, contact your local administrator." -msgstr "遇到异常情况,请刷新。如需帮助请联系管理员。" +msgstr "" +"发生意外错误。请尝试刷新页面。如果此操作无法解决问题,请联系本地管理员。" msgid "Another Plugin-based Panel" msgstr "另一个基于插件的面板" @@ -1074,74 +1097,74 @@ msgstr "任何可用域" msgid "Architecture" -msgstr "构架" +msgstr "架构" msgid "Associate" msgstr "关联" msgid "Associate Floating IP" -msgstr "绑定浮动IP" +msgstr "关联浮动 IP" msgid "Associate Monitor" -msgstr "关联监控" +msgstr "关联监视器" msgid "Associate QoS Spec" -msgstr "关联QoS规格" +msgstr "关联 QoS 规范" msgid "Associate QoS Spec with Volume Type" -msgstr "将QoS规格关联到云硬盘类型" +msgstr "将 QoS 规范关联到卷类型" msgid "Associate a health monitor with target pool." -msgstr "将健康监控关联至目标资源池。" +msgstr "将运行状况监视器关联至目标池。" msgid "Associated QoS Spec" -msgstr "已关联的QoS规格" +msgstr "已关联的 QoS 规范" msgid "Associated Resource Types" msgstr "关联的资源类型" msgid "Associated Routers" -msgstr "关联路由" +msgstr "已关联路由器" msgid "Associated monitor." -msgstr "已关联监控。" +msgstr "已关联监视器。" msgid "Association Details" msgstr "关联详情" msgid "At least one member must be specified" -msgstr "至少指定一个成员。" +msgstr "必须指定至少一个成员。" msgid "At least one network must be specified." -msgstr "至少选择一个网络" +msgstr "必须指定至少一个网络。" msgid "Attach Interface" msgstr "连接接口" msgid "Attach To Instance" -msgstr "连接到云主机" +msgstr "连接至实例" msgid "Attach Volume" -msgstr "连接云硬盘" +msgstr "连接卷" msgid "Attach to Instance" -msgstr "连接到云主机" +msgstr "连接至实例" msgid "Attached" -msgstr "连接" +msgstr "已连接" msgid "Attached Device" -msgstr "连接设备" +msgstr "已连接设备" msgid "Attached To" msgstr "连接到" #, python-format msgid "Attached to %(instance)s on %(dev)s" -msgstr "在设备%(dev)s上连接到%(instance)s" +msgstr "连接至设备 %(dev)s 上的 %(instance)s" msgid "Attaching" -msgstr "连接中" +msgstr "正在连接" msgctxt "Current status of a Volume" msgid "Attaching" @@ -1149,11 +1172,11 @@ #, python-format msgid "Attaching interface for instance %s." -msgstr "为云主机 %s 连接端口。" +msgstr "连接实例 %s 的端口。" #, python-format msgid "Attaching volume %(vol)s to instance %(inst)s on %(dev)s." -msgstr "正在设备 %(dev)s上为主机 %(inst)s 连接云硬盘%(vol)s" +msgstr "正在设备 %(dev)s 上为主机 %(inst)s 连接卷 %(vol)s" msgid "Attachments" msgstr "连接的设备" @@ -1171,7 +1194,7 @@ msgstr "认证 URL" msgid "Authorization Key" -msgstr "认证密钥" +msgstr "授权密钥" msgid "Authorization algorithm" msgstr "授权算法" @@ -1229,38 +1252,38 @@ msgstr "可用网络" msgid "Average CPU utilization" -msgstr "平均CPU利用率" +msgstr "平均 CPU 利用率" msgid "Average rate of read requests" msgstr "读请求的平均速率" msgid "Average rate of reads" -msgstr "读平均速率" +msgstr "平均读取速率" msgid "Average rate of write requests" msgstr "写请求的平均速率" msgid "Average rate per sec of incoming bytes on a VM network interface" -msgstr "虚拟机平均入站流量(字节/秒)" +msgstr "VM 网络接口上的每秒入站字节数(平均速率)" msgid "Average rate per sec of incoming packets on a VM network interface" -msgstr "虚拟机平均入站流量(packet/秒)" +msgstr "VM 网络接口上的每秒入站包数(平均速率)" msgid "Average rate per sec of outgoing bytes on a VM network interface" -msgstr "虚拟机平均出站流量(字节/秒)" +msgstr "VM 网络接口上的每秒出站字节数(平均速率)" msgid "Average rate per sec of outgoing packets on a VM network interface" -msgstr "虚拟机平均出站流量(packet/秒)" +msgstr "VM 网络接口上的每秒出站包数(平均速率)" msgid "Average volume of writes" -msgstr "写平均容量" +msgstr "平均写入量" msgid "Avg." msgstr "平均" msgctxt "Current status of a Volume" msgid "Backing Up" -msgstr "备份中" +msgstr "正在备份" msgid "Backup Name" msgstr "备份名称" @@ -1272,7 +1295,7 @@ msgstr "备份" msgid "Before" -msgstr "前于" +msgstr "早于" msgid "Binding" msgstr "绑定" @@ -1281,11 +1304,11 @@ msgstr "绑定:主机" msgid "Binding: VNIC Type" -msgstr "绑定:VNIC类型" +msgstr "绑定:VNIC 类型" msgctxt "Task status of an Instance" msgid "Block Device Mapping" -msgstr "块设备映射" +msgstr "正在执行块设备映射" msgid "Block Migration" msgstr "块设备迁移" @@ -1295,28 +1318,28 @@ msgctxt "Power state of an Instance" msgid "Blocked" -msgstr "不通" +msgstr "已阻止" msgid "Boot from image" -msgstr "从镜像启动" +msgstr "从映像引导" msgid "Boot from image (creates a new volume)" -msgstr "从镜像启动 (创建一个新云硬盘)" +msgstr "从映像引导(创建新卷)" msgid "Boot from snapshot" -msgstr "从快照启动" +msgstr "从快照引导" msgid "Boot from volume" -msgstr "从云硬盘启动" +msgstr "从卷引导" msgid "Boot from volume snapshot (creates a new volume)" -msgstr "从云硬盘快照启动(创建一个新云硬盘)" +msgstr "从卷快照引导(创建新卷)" msgid "Bootable" msgstr "可启动" msgid "Bootstrap Theme Preview" -msgstr "Bootstrap主题预览" +msgstr "引导程序主题预览" msgctxt "Current status of a Network" msgid "Build" @@ -1324,11 +1347,11 @@ msgctxt "Current status of an Instance" msgid "Build" -msgstr "创建" +msgstr "构建" msgctxt "current status of port" msgid "Build" -msgstr "创建" +msgstr "构建" msgctxt "status of a network port" msgid "Build" @@ -1336,37 +1359,37 @@ msgctxt "Current status of an Instance" msgid "Building" -msgstr "创建" +msgstr "正在构建" msgctxt "Power state of an Instance" msgid "Building" -msgstr "建立中" +msgstr "正在构建" msgid "CIDR" msgstr "CIDR" msgid "CIDR must be specified." -msgstr "必须指定CIDR。" +msgstr "必须指定 CIDR。" msgid "CPU time used" -msgstr "已用CPU时间" +msgstr "已用 CPU 时间" msgid "Can not specify both image and external image location." -msgstr "无法指定镜像和外部镜像的位置" +msgstr "无法同时指定映像和外部映像位置。" msgid "Cancel" msgstr "取消" msgid "Cancel Transfer" -msgstr "取消转让" +msgstr "取消传输" #, python-format msgid "Cannot find instance %s." -msgstr "无法找到云主机 %s。" +msgstr "找不到实例 %s。" #, python-format msgid "Cannot get console for instance %s." -msgstr "无法获取云主机%s的终端。" +msgstr "无法获取实例 %s 的控制台。" msgid "Cannot specify both file and direct input." msgstr "不能同时指定文件上传和直接输入。" @@ -1375,28 +1398,28 @@ msgstr "中心化" msgid "Change" -msgstr "修改" +msgstr "更改" msgid "Change Password" -msgstr "修改密码" +msgstr "更改密码" msgid "Change Stack Template" -msgstr "改变栈模板" +msgstr "改变堆栈模板" msgid "Change Template" msgstr "更改模板" msgid "Change Volume Type" -msgstr "修改云硬盘类型" +msgstr "更改卷类型" msgid "Change user's password. We highly recommend you create a strong one." -msgstr "修改你的密码。强烈建议您选择一个复杂密码。" +msgstr "更改您的密码。强烈建议您选择复杂密码。" msgid "Change your password. We highly recommend you create a strong one. " -msgstr "修改你的密码。强烈建议您选择一个复杂密码。" +msgstr "更改您的密码。强烈建议您选择一个复杂密码。" msgid "Changing password is not supported." -msgstr "不支持修改密码。" +msgstr "不支持更改密码。" msgctxt "current status of stack" msgid "Check Complete" @@ -1412,91 +1435,87 @@ msgid "Check Stack" msgid_plural "Check Stacks" -msgstr[0] "检查栈" +msgstr[0] "检查堆栈" msgid "" "Check the "Delete Volumes" box to also delete the volumes " "associated with this consistency group." -msgstr "" -"选中 "删除云硬盘" 复选框也会删除该一致性组内已关联(associated)的" -"云硬盘。" +msgstr "选中 "删除卷" 复选框也会删除与此一致性组相关联的卷。" msgid "Checked Stack" msgid_plural "Checked Stacks" -msgstr[0] "已经检查过的栈" +msgstr[0] "已经检查过的堆栈" msgid "Checksum" msgstr "校验和" msgid "Choose Your Boot Source Type." -msgstr "选择你的启动源的类型" +msgstr "选择您的引导源类型。" msgid "Choose a Host to evacuate servers to." -msgstr "选择一个主机来疏散云主机。" +msgstr "选择主机来疏散服务器。" msgid "Choose a Host to migrate to." -msgstr "选择要迁移的目的主机" +msgstr "选择要迁移至的主机。" msgid "" "Choose a key pair name you will recognise and paste your SSH public key into " "the space provided." -msgstr "" -"为密钥对取一个方便您自己辨别的名字,然后在下方提供的空间内粘贴您的SSH公钥。" +msgstr "选择您可识别的密钥对名称,然后将 SSH 公钥粘贴至所提供空间。" msgid "Choose a snapshot" msgstr "选择快照" msgid "Choose a volume" -msgstr "选择云硬盘" +msgstr "选择卷" msgid "Choose an DHCP Agent to attach to." -msgstr "选择要连接的DHCP Agent。" +msgstr "选择要连接的 DHCP 代理程序。" msgid "Choose an image" -msgstr "选择一个镜像" +msgstr "选择映像" msgid "Choose associated QoS Spec." -msgstr "选择关联的QoS规格。" +msgstr "选择关联的 QoS 规范。" msgid "Choose consumer for this QoS Spec." -msgstr "为此QoS规格选择消费者。" +msgstr "为此 QoS 规范选择使用者。" msgid "" "Choose network from Available networks to Selected networks by push button " "or drag and drop, you may change NIC order by drag and drop as well. " msgstr "" -"请选择要添加的网络,可以通过按钮添加也可以拖动添加,你还可以拖动已经添加的网" -"络来改变网卡(NIC)的顺序。" +"通过按钮或拖放将“可用网络”中的网络移至“选中网络”,也可通过拖放更改 NIC 顺序。" msgid "" "Choose router(s) from Available Routers to Selected Routers by push button " "or drag and drop. " -msgstr "通过按钮或者拖放来从可用路由中选择一个(或多个)到选定路由。" +msgstr "通过按钮或拖放操作,从“可用路由器”中选择路由器以移至“所选路由器”。" msgid "" "Choose rule(s) from Available Rules to Selected Rule by push button or drag " "and drop,\n" "you may change their order by drag and drop as well. " msgstr "" -"通过按下按钮或者拖放从可用策略中选择一个(或多个)添加至选定策略,\n" -"你也可以利用拖放改变它们的顺序。" +"通过按下按钮或者拖放从可用策略中选择一个(或多个)添加至选定策略,\n" +"您也可以利用拖放改变它们的顺序。" msgid "Choose the flavor to launch." -msgstr "选择创建所用的云主机类型" +msgstr "选择要启动的 flavor。" msgid "Choose the router(s) you want to add." -msgstr "选择您打算添加的路由。" +msgstr "选择您想要添加的路由器。" msgid "" "Choose the rule you want to insert. Specify either the rule you want to " "insert immediately before, or the rule to insert immediately after. If both " "are specified, the prior takes precedence." msgstr "" -"选择你希望插入的规则。 指定你希望在某条规则之前插入,或指定在某条规则之后插" -"入。如果二者均被指定,前者优先级更高。" +"选择您希望插入的规则。 指定您希望在其之前或之后插入的规则。如果同时指定两者," +"那么前者优先。" msgid "Choose the rule you want to remove." -msgstr "选择你希望移除的规则。" +msgstr "选择您希望移除的规则。" msgid "Cinder" msgstr "Cinder" @@ -1504,14 +1523,13 @@ msgid "" "Cinder host on which the existing volume resides; takes the form: " "host@backend-name#pool" -msgstr "" -"Cinder主机就是那个云硬盘驻留的地方;使用这样的形式: host@backend-name#pool" +msgstr "现有卷所在的 Cinder 主机,采用以下形式:host@backend-name#pool" msgid "Cipher" -msgstr "Cipher" +msgstr "密码" msgid "Classless Inter-Domain Routing (e.g. 192.168.0.0/24, or 2001:db8::/128)" -msgstr "无类别域间路由标记(CIDR, 例如 192.168.0.0/24,或者2001:db8::/128)" +msgstr "无类别域间路由标记(例如,192.168.0.0/24 或 2001:db8::/128)" msgid "Clear Domain Context" msgstr "清除域上下文。" @@ -1525,7 +1543,7 @@ msgstr[0] "已清除网关" msgid "Click here to show only console" -msgstr "点击此处只显示控制台" +msgstr "单击此处以仅显示控制台" msgid "Close" msgstr "关闭" @@ -1537,10 +1555,10 @@ msgstr "冷迁移" msgid "Comma-delimited list of valid remote IDs from the identity provider." -msgstr "身份提供者中逗号分隔的有效远程ID的列表。" +msgstr "身份提供者中有效远程标识的逗号分隔列表。" msgid "Comma-separated key=value pairs" -msgstr "用逗号分隔的 key=value 键值对" +msgstr "键/值对的逗号分隔列表" msgid "Component" msgstr "组件" @@ -1549,7 +1567,7 @@ msgstr "计算" msgid "Compute (Nova)" -msgstr "计算(Nova)" +msgstr "计算 (Nova)" msgid "Compute Host" msgstr "计算主机" @@ -1563,7 +1581,7 @@ msgid "" "Configure OpenStack to write metadata to a special configuration drive that " "attaches to the instance when it boots." -msgstr "配置将元数据写入指定的配置驱动器中,在云主机创建时进行连接。" +msgstr "配置 OpenStack 以将元数据写至实例引导时连接至实例的特殊配置驱动器。" msgid "Confirm Admin Password" msgstr "确认管理员密码" @@ -1576,24 +1594,24 @@ msgctxt "Action log of an instance" msgid "Confirm Resize" -msgstr "确认重建" +msgstr "确认调整大小" msgid "Confirm Resize/Migrate" -msgstr "确认 调整大小/迁移" +msgstr "确认调整大小/迁移" msgid "Confirm Unmanage Volume" -msgstr "确认不管理云硬盘" +msgstr "确认取消管理卷" msgid "Confirm new password" msgstr "确认新密码" msgctxt "Current status of an Instance" msgid "Confirm or Revert Resize/Migrate" -msgstr "确认或放弃 调整大小/迁移" +msgstr "确认或放弃调整大小/迁移" msgctxt "Task status of an Instance" msgid "Confirming Resize or Migrate" -msgstr "正在确认 调整大小/迁移" +msgstr "正在确认调整大小/迁移" msgid "Conflicting Rule" msgstr "规则冲突" @@ -1609,16 +1627,16 @@ #, python-format msgid "Console type \"%s\" not supported." -msgstr "不支持 \"%s\" 控制台类型" +msgstr "不支持 “%s” 控制台类型。" msgid "Consumer" -msgstr "消费者" +msgstr "使用者" msgid "Container" msgstr "容器" msgid "Container Access" -msgstr "访问容器" +msgstr "容器访问权" msgid "Container Details" msgstr "容器详情" @@ -1630,7 +1648,7 @@ msgstr "容器名称" msgid "Container created successfully." -msgstr "容器创建成功。" +msgstr "已成功创建容器。" msgid "Containers" msgstr "容器" @@ -1642,32 +1660,32 @@ msgstr "内容" msgid "Control Location" -msgstr "控制地点" +msgstr "控制位置" msgid "" "Control access to your instance via key pairs, security groups, and other " "mechanisms." -msgstr "通过密钥对、安全组及其它机制来控制访问您云主机的权限" +msgstr "通过密钥对、安全组或其它机制来控制对实例的访问权。" msgid "Cookie Name" -msgstr "Cookie名称" +msgstr "Cookie 名称" #, python-format msgid "Cookie Name: %(cookie_name)s" -msgstr "Cookie名称:%(cookie_name)s" +msgstr "Cookie 名称:%(cookie_name)s" msgid "Cookie name is required for APP_COOKIE persistence." -msgstr "APP_COOKIE持久化需要指定cookie名称。" +msgstr "保存 APP_COOKIE 需要指定 cookie 名称。" #, python-format msgid "Copied \"%(orig)s\" to \"%(dest)s\" as \"%(new)s\"." -msgstr "将\"%(orig)s\"复制到\"%(dest)s\"、并改名为\"%(new)s\"。" +msgstr "将“%(orig)s”复制到“%(dest)s”并作为“%(new)s”。" msgid "Copy" msgstr "复制" msgid "Copy Data" -msgstr "数据复制" +msgstr "复制数据" msgid "Copy Object" msgstr "复制对象" @@ -1678,15 +1696,15 @@ #, python-format msgid "Cores(Available: %(avail)s, Requested: %(req)s)" -msgstr "CPU核心 (可用: %(avail)s, 已请求: %(req)s)" +msgstr "CPU 核心(可用:%(avail)s,所请求:%(req)s)" #, python-format msgid "Could not find default role \"%s\" in Keystone" -msgstr "在keystone中无法找到默认角色\"%s\"" +msgstr "在 keystone 中找不到缺省角色“%s”" #, python-format msgid "Couldn't get current security group list for instance %s." -msgstr "无法获取云主机 %s 当前的安全组列表" +msgstr "无法获取实例 %s 当前的安全组列表" msgid "Couldn't get security group list." msgstr "无法获取安全组列表。" @@ -1700,10 +1718,10 @@ msgctxt "Action log of an instance" msgid "Create" -msgstr "已创建" +msgstr "创建" msgid "Create An Image" -msgstr "创建镜像" +msgstr "创建映像" msgid "Create Backup" msgstr "创建备份" @@ -1722,7 +1740,7 @@ msgstr "创建域" msgid "Create Encrypted Volume Type" -msgstr "创建加密的云硬盘类型" +msgstr "创建加密卷类型" msgid "Create Encryption" msgstr "创建加密" @@ -1735,13 +1753,13 @@ msgstr "创建防火墙" msgid "Create Flavor" -msgstr "创建云主机类型" +msgstr "创建 flavor" msgid "Create Group" msgstr "创建组" msgid "Create Host Aggregate" -msgstr "创建主机聚合" +msgstr "创建主机聚集" msgid "" "Create IKE Policy for current project.\n" @@ -1758,17 +1776,17 @@ "'main' mode only.
  • \n" "All fields are optional." msgstr "" -"为当前项目创建IKE策略。\n" +"为当前项目创建 IKE 策略。\n" "\n" -"IKE策略是以下属性的一个关联:\n" +" IKE 策略是以下属性的一个关联:\n" "\n" -"
  • 授权算法:授权算法只能使用SHA1
  • 加密算法:在IKE策略中使用的算法类" -"型 (3des, aes-128, aes-192, aes-256)
  • IKE 版本:版本类型(v1/v2) 必须" -"过滤。
  • 生存周期:生存周期由单位和值组成。单位是'秒' ,默认值是 3600。" -"
  • 完善前向保密:完善前向保密(PFS,Perfect Forward Secrecy)限制使用 " -"Diffie-Hellman 组 2, 5(默认)和 14.
  • IKE Phase 1协商模式:限制为'主' 模" -"式。
  • \n" -"所有属性都是可选的。" +"
  • 授权算法:授权算法被限制为仅使用 SHA1。
  • 加密算法:在 IKE 策略中使" +"用的算法类型(3des、aes-128、aes-192 和 aes-256)。
  • IKE 版本:需要过" +"滤的版本类型 (v1/v2)。
  • 生存周期:生存周期由单位和值组成。单位是“秒”," +"缺省值是 3600。
  • 完善前向保密:PFS 被限制为使用 Diffie-Hellman 组 2、" +"5(缺省)和 14。
  • IKE Phase 1 协商模式:被限制为仅使用“主”模式。\n" +"所有属性都是可选属性。" msgid "" "Create IPSec Policy for current project.\n" @@ -1785,16 +1803,16 @@ "protocol (esp, ah, ah-esp) used in IPSec Policy.
  • \n" "All fields are optional." msgstr "" -"为当前项目创建IPSec策略。\n" +"为当前项目创建 IPSec 策略。\n" "\n" -"一个IPSec策略是以下属性的一个关联:\n" +" IPSec 策略是以下属性的关联:\n" "\n" -"
  • 授权算法:授权算法只能使用SHA1。
  • 封装模式:IPsec隧道(隧道/传输层)" -"类型。
  • 加密算法:在IPsec策略中使用的算法 (3des, aes-128, aes-192, " -"aes-256) 类型。
  • 生存周期:生存周期由单位和值组成。单位是'秒' ,缺省值" -"是 3600。
  • 完善前向保密:完善前向保密(PFS,Perfect Forward Secrecy)" -"限制使用 Diffie-Hellman 组 2, 5(缺省)和 14。
  • 传输协议:在IPSec策略中" -"使用的协议 (esp, ah, ah-esp)类型。
  • \n" +"
  • 授权算法:授权算法只能使用SHA1。
  • 封装模式:要使用的 IPsec 隧道类" +"型(隧道/传输层)
  • 加密算法:在 IPsec 策略中使用的算法类型(3des、" +"aes-128、aes-192 和 aes-256)。
  • 生存周期:生存周期由单位和值组成。单" +"位是“秒”,缺省值是 3600。
  • 完善前向保密:PFS 被限制使用 Diffie-" +"Hellman 组 2、5(缺省)和 14。
  • 传输协议:在 IPSec 策略中使用的协议类" +"型(esp、ah 和 ah-esp)。
  • \n" "所有字段是可选的。" msgid "" @@ -1803,12 +1821,12 @@ "Assign a name and description for the IPSec Site Connection. All fields in " "this tab are required." msgstr "" -"为当前项目创建IPSec站点连接。\n" +"为当前项目创建 IPSec 站点连接。\n" "\n" -"为IPSec站点连接分配名字和描述。当前选项卡中的所有域都需要填写。" +"为 IPSec 站点连接分配名字和描述。当前选项卡中的所有字段都是必填字段。" msgid "Create Image" -msgstr "创建镜像" +msgstr "创建映像" msgctxt "current status of stack" msgid "Create In Progress" @@ -1824,7 +1842,7 @@ msgstr "创建网络" msgid "Create Network (Quota exceeded)" -msgstr "创建网络 (配额用尽)" +msgstr "创建网络(超过配额)" msgid "Create Port" msgstr "创建端口" @@ -1836,43 +1854,43 @@ msgstr "创建协议" msgid "Create Pseudo-folder" -msgstr "创建伪目录" +msgstr "创建伪文件夹" msgid "Create QoS Spec" -msgstr "创建QoS规格" +msgstr "创建 QoS 规范" msgid "Create Role" msgstr "创建角色" msgid "Create Router" -msgstr "新建路由" +msgstr "创建路由器" msgid "Create Router (Quota exceeded)" -msgstr "创建路由 (配额用尽)" +msgstr "创建路由(超过配额)" msgid "Create Security Group" msgstr "创建安全组" msgid "Create Security Group (Quota exceeded)" -msgstr "创建安全组 (配额用尽)" +msgstr "创建安全组(超过配额)" msgid "Create Snapshot" msgstr "创建快照" msgid "Create Spec" -msgstr "创建规格" +msgstr "创建规范" msgid "Create Stack" -msgstr "创建栈" +msgstr "创建堆栈" msgid "Create Subnet" msgstr "创建子网" msgid "Create Subnet (Quota exceeded)" -msgstr "创建子网 (配额用尽)" +msgstr "创建子网(超过配额)" msgid "Create Transfer" -msgstr "创建转让" +msgstr "创建传输" msgid "Create User" msgstr "创建用户" @@ -1888,69 +1906,69 @@ "The router, subnet and admin state fields are required, all others are " "optional." msgstr "" -"为当前项目创建VPN服务。\n" +"为当前项目创建 VPN 服务。\n" "\n" -"VPN服务连接到路由器,关联一个单独的子网并推向远程站点。\n" -"为VPN服务指定名称,描述,路由器和子网。默认管理状态是UP(真)。\n" +"VPN 服务连接到路由器,并引用单个子网以推送至远程站点。\n" +"为 VPN 服务指定名称、描述、路由器和子网。缺省情况下,管理状态为 UP (True)。\n" "\n" -"路由器、子网和管理状态字段是必需的,其它可选。" +"路由器、子网和管理状态字段是必填字段,所有其它字段是可选字段。" msgid "Create Volume" -msgstr "创建云硬盘" +msgstr "创建卷" msgid "Create Volume Backup" -msgstr "创建一个云硬盘备份" +msgstr "创建一个卷备份" msgid "Create Volume Consistency Group" -msgstr "创建云硬盘一致性组" +msgstr "创建卷一致性组" msgid "Create Volume Snapshot" -msgstr "创建云硬盘快照" +msgstr "创建卷快照" msgid "Create Volume Snapshot (Force)" -msgstr "创建云硬盘快照(强制)" +msgstr "创建卷快照(强制)" msgid "Create Volume Transfer" -msgstr "创建云硬盘转让" +msgstr "创建卷传输" msgid "Create Volume Type" -msgstr "创建云硬盘类型" +msgstr "创建卷类型" msgid "Create Volume Type Encryption" -msgstr "创建加密云硬盘类型" +msgstr "创建卷类型加密" msgid "Create Volume Type Extra Spec" -msgstr "创建云硬盘类型扩展规格" +msgstr "创建卷类型 extra spec" msgid "Create a Metadata Namespace" -msgstr "创建元数据命名空间" +msgstr "创建元数据名称空间" msgid "Create a New Volume" -msgstr "创建一个新云硬盘" +msgstr "创建一个新卷" msgid "Create a QoS Spec" -msgstr "创建QoS规格" +msgstr "创建 QoS 规范" msgid "Create a Router" -msgstr "新建路由" +msgstr "创建路由器" msgid "Create a Snapshot" -msgstr "创建一个快照" +msgstr "创建快照" msgid "Create a Volume" -msgstr "创建一个云硬盘" +msgstr "创建一个卷" msgid "Create a Volume Backup" -msgstr "创建一个云硬盘备份" +msgstr "创建一个卷备份" msgid "Create a Volume Snapshot" -msgstr "创建一个云硬盘快照" +msgstr "创建一个卷快照" msgid "Create a Volume Transfer" -msgstr "创建云硬盘转让" +msgstr "创建卷传输" msgid "Create a Volume Type" -msgstr "创建云硬盘类型" +msgstr "创建卷类型" msgid "" "Create a firewall based on a policy.\n" @@ -1959,10 +1977,10 @@ "instantiate and manage. A firewall must be associated with one policy, all " "other fields are optional." msgstr "" -"基于策略创建防火墙。\n" +"根据策略创建防火墙。\n" "\n" -"防火墙代表租户可以初始化和管理的逻辑防火墙资源。防火墙必须关联一个策略,其它" -"字段可选。" +"防火墙表示租户可以实例化和管理的逻辑防火墙资源。一个防火墙必须与一个策略相关" +"联,所有其它字段是可选字段。" msgid "" "Create a firewall policy with an ordered list of firewall rules.\n" @@ -1981,17 +1999,17 @@ "through an update operation.\n" "The name field is required, all others are optional." msgstr "" -"以有序的防火墙规则列表创建防火墙策略。\n" +"使用有序防火墙规则列表创建防火墙策略。\n" "\n" -"防火墙策略是防火墙规则的有序集合。所以,如果流量满足第一个规则,其它规则将不" -"会执行。如果流量不匹配当前规则,那么下一个规则将会执行。防火墙策略有以下属" -"性:\n" -"\n" -"
  • 共享:防火墙规则可以跨租户共享。因此,它可以作为审计工作流的一部分,防火" -"墙策略可以被授权的实体审计。
  • 已审计:当审计设置为真(True)时,表明防火" -"墙策略已经被审计。每次防火墙策略或相关的防火墙规则变化,这个属性将会设置为假" -"(False),并且属性必须通过更新操作显式设置为真(True)。
  • \n" -"名称字段是必需的,其它可选。" +"防火墙策略是防火墙规则的有序集合。所以,如果流量满足第一个规则,那么其它规则" +"将不会执行。如果流量与当前规则不匹配,那么将执行下一个规则。防火墙策略具有以" +"下属性:\n" +"\n" +"
  • Shared:防火墙规则可以在租户间共享。因此,它可以作为审计工作流的一部分," +"已被授权的相关实体可对该防火墙策略进行审计。
  • Audited:当 Audited 设置" +"为 True 时,表示已审计该防火墙策略。每次防火墙策略或关联防火墙规则发生变化" +"时,此属性将会设置为 False,并且必须通过更新操作显式设置为 True。
  • \n" +"名称字段是必填字段,所有其他字段是可选字段。" msgid "" "Create a firewall rule.\n" @@ -2009,20 +2027,19 @@ "\n" "防火墙规则由以下属性关联形成:\n" "\n" -"
  • IP地址:需要应用流量过滤的 来源/目标 地址。
  • IP版本:需要过滤的IP" -"包类型(IP V4/V6)。
  • 协议::需要检查的数据包类型(UDP, ICMP, TCP, Any)。" -"
  • 动作:动作就是过滤的类型,它能够 拒绝(reject)/丢弃(deny)/允许" -"(allow)数据包。
  • \n" -"协议和动作字段是必需的,其他可选。" +"
  • IP 地址:需要应用流量过滤的来源/目标地址。
  • IP版本:需要过滤的 IP " +"包类型 (IP V4/V6)。
  • 协议:需要检查的数据包类型(UDP、ICMP、TCP 和 " +"Any)。
  • 操作:操作是所需过滤类型,它可为拒绝/放弃/允许数据包。
  • \n" +"协议字段和操作字段是必填字段,所有其他字段为可选字段。" msgid "Create a firewall with selected routers." -msgstr "为所选择的路由创建一防火墙。" +msgstr "创建带有所选路由器的防火墙。" msgid "Create a identity provider protocol." msgstr "创建一个身份提供者协议。" msgid "Create a mapping." -msgstr "创建映射" +msgstr "创建映射。" msgid "" "Create a monitor template.\n" @@ -2031,17 +2048,17 @@ "by the monitor. Specify method, URL path, and expected HTTP codes upon " "success." msgstr "" -"创建一个监控模板。\n" +"创建监视模板。\n" "\n" -"选择一个监控类型。指定监控需要的延迟、超时和重试次数限制。 指定方法、URL路径" -"和预期成功时的HTTP代码。" +"选择监视类型。指定监视需要的延迟、超时和重试次数限制。指定方法、URL 路径和预" +"期成功时的 HTTP 代码。" msgid "Create a new \"extra spec\" key-value pair for a volume type." -msgstr "为云硬盘类型创建新的\"扩展规格\"键值对。" +msgstr "为卷类型创建新的“extra spec”键值对。" #, python-format msgid "Create a new \"spec\" key-value pair for QoS Spec \"%(qos_spec_name)s\"" -msgstr "为QoS规格\"%(qos_spec_name)s\"创建新\"spec\"(规格)的键-值对" +msgstr "为 QoS 规范“%(qos_spec_name)s”创建新的“规范”键/值对" msgid "Create a new network for any project as you need." msgstr "根据需要创建新网络" @@ -2049,36 +2066,36 @@ msgid "" "Create a new network. In addition, a subnet associated with the network can " "be created in the following steps of this wizard." -msgstr "创建一个新的网络。额外地,网络中的子网可以在向导的下一步中创建。" +msgstr "创建新的网络。此外,可通过此向导的以下步骤创建与网络相关联的子网。" msgid "Create a new role." msgstr "创建新角色。" msgid "Create a new stack with the provided values." -msgstr "使用提供的值创建一个新栈。" +msgstr "使用提供的值创建一个新堆栈。" msgid "" "Create a new user and set related properties including the Primary Project " "and Role." -msgstr "创建一个新用户,并设置相关的属性,例如该用户的主项目和角色。" +msgstr "创建一个新用户,并设置相关的属性,包括主项目和角色。" msgid "Create a policy with selected rules." -msgstr "使用选定的规则创建策略。" +msgstr "使用所选规则创建策略。" msgid "Create a project to organize users." -msgstr "为组织用户创建一个项目" +msgstr "创建项目以组织用户。" msgid "" "Create a subnet associated with the network. Advanced configuration is " "available by clicking on the \"Subnet Details\" tab." -msgstr "创建关联到这个网络的子网。点击“子网详情”标签可进行高级配置。" +msgstr "创建与网络相关联的子网。可通过单击“子网详情”选项卡进行高级配置。" msgid "Create an Encrypted Volume Type" -msgstr "创建加密的云硬盘类型" +msgstr "创建加密卷类型" #, python-format msgid "Create pseudo-folder in container %(container_name)s" -msgstr "在容器 %(container_name)s 里面创建伪目录" +msgstr "在容器 %(container_name)s 中创建伪文件夹" msgid "Created" msgstr "已创建" @@ -2101,48 +2118,48 @@ #, python-format msgid "Created extra spec \"%s\"." -msgstr "建立扩展规格\"%s\"" +msgstr "创建 extra spec “%s”" #, python-format msgid "Created network \"%s\"." -msgstr "网络 \"%s\"已创建" +msgstr "已创建网络 “%s”" #, python-format msgid "Created new domain \"%s\"." -msgstr "创建新域 \"%s\"。" +msgstr "创建新域 “%s”。" #, python-format msgid "Created new flavor \"%s\"." -msgstr "云主机类型 \"%s\" 创建完毕。" +msgstr "已创建新的 flavor“%s”。" #, python-format msgid "Created new host aggregate \"%s\"." -msgstr "已创建新的主机聚合 \"%s\"." +msgstr "已创建新的主机聚集“%s”。" #, python-format msgid "Created new project \"%s\"." -msgstr "创建项目\"%s\"" +msgstr "创建项目“%s”。" msgid "Created new volume consistency group" -msgstr "创建新的云硬盘一致性组" +msgstr "已创建新的卷一致性组" #, python-format msgid "Created spec \"%s\"." -msgstr "创建规格\"%s\"." +msgstr "创建规范“%s”。" #, python-format msgid "Created subnet \"%s\"." -msgstr "已新增子网\"%s\"." +msgstr "已创建子网“%s”。" msgid "Created volume transfer." -msgstr "已创建云硬盘转让。" +msgstr "已创建卷传输。" #, python-format msgid "Created volume transfer: \"%s\"." -msgstr "已创建的云硬盘转让:\"%s\"。" +msgstr "已创建的卷传输:“%s”。" msgid "Creates a router with specified parameters." -msgstr "基于特殊参数创建一路由。" +msgstr "使用指定参数创建路由器。" msgid "" "Creates a subnet associated with the network. You need to enter a valid " @@ -2151,12 +2168,12 @@ "want gateway please check the \"Disable Gateway\" checkbox. Advanced " "configuration is available by clicking on the \"Subnet Details\" tab." msgstr "" -"创建关联到这个网络的子网。您必须输入有效的“网络地址”和“网关IP”。如果你不输" -"入“网关IP”,将默认使用该网络的第一个IP地址。如果你不想使用网关,请勾选“禁用网" -"关”复选框。点击“子网详情”标签可进行高级配置。" +"创建与此网络相关联的子网。您必须输入有效的“网络地址”和“网关 IP”。如果您未输" +"入“网关 IP”,那么缺省情况下将指定网络的第一个值。如果您不想使用网关,请选" +"中“禁用网关”复选框。可通过“子网详情”选项卡进行高级配置。" msgid "Creating" -msgstr "创建中" +msgstr "正在创建" msgctxt "Current status of a Volume" msgid "Creating" @@ -2164,54 +2181,54 @@ msgctxt "Current status of a Volume Backup" msgid "Creating" -msgstr "创建中" +msgstr "正在创建" msgid "" "Creating encryption for a volume type causes all volumes with that volume " "type to be encrypted. Encryption information cannot be added to a volume " "type if volumes are currently in use with that volume type." msgstr "" -"为一个云硬盘类型创建加密后,使用此类型的所有云硬盘都会被加密。若云硬盘类型当" -"前正在被云硬盘使用,则无法添加加密信息。" +"为一个卷类型创建加密后,具有该卷类型的所有卷都会被加密。如果当前正在使用具有" +"某个卷类型的卷,那么无法向该卷类型添加加密信息。" #, python-format msgid "Creating volume \"%s\"" -msgstr "正在创建云硬盘 \"%s\"" +msgstr "正在创建卷 “%s”" #, python-format msgid "Creating volume backup \"%s\"" -msgstr "正在创建云硬盘备份 \"%s\"" +msgstr "正在创建卷备份 “%s”" #, python-format msgid "Creating volume snapshot \"%s\"." -msgstr "正在创建快照 \"%s\"。" +msgstr "正在创建卷快照 “%s”。" msgid "Creation Timeout (minutes)" -msgstr "创建超时(分钟)" +msgstr "创建超时(分钟)" msgid "Creation requests for this floating ip" -msgstr "该浮动IP的创建请求" +msgstr "针对该浮动 IP 的创建请求数" msgid "Creation requests for this network" -msgstr "该网络的创建请求" +msgstr "针对该网络的创建请求" msgid "Creation requests for this port" -msgstr "该端口的创建请求" +msgstr "针对该端口的创建请求数" msgid "Creation requests for this router" -msgstr "该路由的创建请求" +msgstr "针对该路由器的创建请求数" msgid "Creation requests for this subnet" -msgstr "该子网的创建请求" +msgstr "针对该子网的创建请求数" msgid "Current Host" msgstr "当前主机" msgid "Current Size (GiB)" -msgstr "当前大小(GiB)" +msgstr "当前大小 (GiB)" msgid "Current consumer" -msgstr "当前消费者" +msgstr "当前使用者" msgid "Current password" msgstr "当前密码" @@ -2219,85 +2236,86 @@ msgid "" "Currently only images available via an HTTP/HTTPS URL are supported. The " "image location must be accessible to the Image Service." -msgstr "目前镜像URL只支持HTTP/HTTPS,且要求镜像服务能够访问到镜像地址。" +msgstr "目前仅支持通过 HTTP/HTTPS 获取映像,映像服务必须能够访问映像地址。" msgctxt "Custom style theme" msgid "Custom" -msgstr "自定义" +msgstr "定制" msgid "Custom ICMP Rule" -msgstr "定制ICMP规则" +msgstr "定制 ICMP 规则" msgid "Custom Properties" msgstr "定制属性" msgid "Custom TCP Rule" -msgstr "定制TCP规则" +msgstr "定制 TCP 规则" msgid "Custom UDP Rule" -msgstr "定制UDP规则" +msgstr "定制 UDP 规则" msgid "Customization Script Source" msgstr "定制脚本源" msgid "DENY" -msgstr "丢弃" +msgstr "拒绝" msgctxt "Action Name of a Firewall Rule" msgid "DENY" msgstr "丢弃" msgid "DHCP Agents" -msgstr "DHCP Agents" +msgstr "DHCP 代理程序" msgid "DHCP Enable" -msgstr "使用DHCP" +msgstr "使用 DHCP" msgid "DHCPv6 stateful: Address discovered from OpenStack DHCP" -msgstr "有状态DHCPv6: 地址从Openstack DHCP中获得" +msgstr "有状态 DHCPv6:地址是通过 Openstack DHCP 发现的" msgid "" "DHCPv6 stateless: Address discovered from OpenStack Router and additional " "information from OpenStack DHCP" -msgstr "无状态DHCPv6: 地址从Openstack路由器获得,扩展信息从Openstack DHCP获得" +msgstr "" +"无状态 DHCPv6:地址是通过 Openstack 路由器发现的,其他信息来自 Openstack DHCP" msgid "DNS Assignment" -msgstr "DNS 指派" +msgstr "DNS 分配" msgid "DNS Name" msgstr "DNS 名称" msgid "DNS Name Servers" -msgstr "DNS服务器" +msgstr "DNS 名称服务器" msgid "DNS name server" -msgstr "DNS服务器" +msgstr "DNS 名称服务器" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgctxt "Admin state of a Firewall" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgctxt "Admin state of a Load balancer" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgctxt "Admin state of a Network" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgctxt "Admin state of a Port" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgctxt "Admin state of a Router" msgid "DOWN" -msgstr "DOWN" +msgstr "关闭" msgid "DPD Timeout must be greater than DPD Interval" -msgstr "DPD超时大小必须大于DPD间隔" +msgstr "DPD 超时必须大于 DPD 间隔" msgid "Daily Usage Report" msgstr "每日使用量报表" @@ -2313,41 +2331,41 @@ msgctxt "Current status of an Image" msgid "Deactivated" -msgstr "失效的" +msgstr "已取消激活" msgid "Dead peer detection action" -msgstr "已失效伙伴探测动作" +msgstr "已失效伙伴检测操作" msgid "Dead peer detection actions" -msgstr "已失效伙伴探测动作" +msgstr "已失效伙伴检测操作" msgid "Dead peer detection interval" -msgstr "已失效伙伴探测间隔" +msgstr "已失效伙伴检测间隔" msgid "Dead peer detection timeout" -msgstr "已失效伙伴探测超时" +msgstr "已失效伙伴检测超时" msgid "Decrypt Password" msgstr "解密密码" msgctxt "Default style theme" msgid "Default" -msgstr "默认" +msgstr "缺省" msgid "Default Quotas" -msgstr "默认配额" +msgstr "缺省配额" msgid "Default quotas updated for Cinder." -msgstr "Cinder 的默认配额已更新." +msgstr "Cinder 的缺省配额已更新。" msgid "Default quotas updated for Nova." -msgstr "Nova 的默认配额已更新." +msgstr "Nova 的缺省配额已更新。" msgid "Default quotas updated." -msgstr "默认配额已更新." +msgstr "缺省配额已更新。" msgid "Defaults" -msgstr "默认值" +msgstr "缺省值" msgid "Delay" msgstr "延迟" @@ -2372,7 +2390,7 @@ msgid "Delete DHCP Agent" msgid_plural "Delete DHCP Agents" -msgstr[0] "删除DHCP Agent" +msgstr[0] "删除 DHCP 代理程序" msgid "Delete Domain" msgid_plural "Delete Domains" @@ -2384,7 +2402,7 @@ msgid "Delete Extra Spec" msgid_plural "Delete Extra Specs" -msgstr[0] "删除扩展规格" +msgstr[0] "删除 extra spec" msgctxt "current status of stack" msgid "Delete Failed" @@ -2396,7 +2414,7 @@ msgid "Delete Flavor" msgid_plural "Delete Flavors" -msgstr[0] "删除云主机类型" +msgstr[0] "删除 flavor" msgid "Delete Group" msgid_plural "Delete Groups" @@ -2404,23 +2422,23 @@ msgid "Delete Host Aggregate" msgid_plural "Delete Host Aggregates" -msgstr[0] "删除主机聚合" +msgstr[0] "删除主机聚集" msgid "Delete IKE Policy" msgid_plural "Delete IKE Policies" -msgstr[0] "删除IKE策略" +msgstr[0] "删除 IKE 策略" msgid "Delete IPSec Policy" msgid_plural "Delete IPSec Policies" -msgstr[0] "删除IPSec策略" +msgstr[0] "删除 IPSec 策略" msgid "Delete IPSec Site Connection" msgid_plural "Delete IPSec Site Connections" -msgstr[0] "删除IPSec站点连接" +msgstr[0] "删除 IPSec 站点连接" msgid "Delete Image" msgid_plural "Delete Images" -msgstr[0] "删除镜像" +msgstr[0] "删除映像" msgctxt "current status of stack" msgid "Delete In Progress" @@ -2428,7 +2446,7 @@ msgid "Delete Instance" msgid_plural "Delete Instances" -msgstr[0] "删除云主机" +msgstr[0] "删除实例" msgid "Delete Interface" msgid_plural "Delete Interfaces" @@ -2448,7 +2466,7 @@ msgid "Delete Monitor" msgid_plural "Delete Monitors" -msgstr[0] "删除监控" +msgstr[0] "删除监视器" msgid "Delete Namespace" msgid_plural "Delete Namespaces" @@ -2468,7 +2486,7 @@ msgid "Delete Pool" msgid_plural "Delete Pools" -msgstr[0] "删除资源池" +msgstr[0] "删除池" msgid "Delete Port" msgid_plural "Delete Ports" @@ -2484,7 +2502,7 @@ msgid "Delete QoS Spec" msgid_plural "Delete QoS Specs" -msgstr[0] "删除QoS规格" +msgstr[0] "删除 QoS 规范" msgid "Delete Role" msgid_plural "Delete Roles" @@ -2492,11 +2510,11 @@ msgid "Delete Router" msgid_plural "Delete Routers" -msgstr[0] "删除路由" +msgstr[0] "删除路由器" msgid "Delete Router Rule" msgid_plural "Delete Router Rules" -msgstr[0] "删除路由规则" +msgstr[0] "删除路由器规则" msgid "Delete Rule" msgid_plural "Delete Rules" @@ -2508,7 +2526,7 @@ msgid "Delete Spec" msgid_plural "Delete Specs" -msgstr[0] "删除规格" +msgstr[0] "删除规范" msgid "Delete Stack" msgid_plural "Delete Stacks" @@ -2516,7 +2534,7 @@ msgid "Delete Static Route" msgid_plural "Delete Static Routes" -msgstr[0] "删除静态路由表" +msgstr[0] "删除静态路由" msgid "Delete Subnet" msgid_plural "Delete Subnets" @@ -2531,33 +2549,33 @@ msgid "Delete VPN Service" msgid_plural "Delete VPN Services" -msgstr[0] "删除VPN服务" +msgstr[0] "删除 VPN 服务" msgid "Delete Volume" msgid_plural "Delete Volumes" -msgstr[0] "删除云硬盘" +msgstr[0] "删除卷" msgid "Delete Volume Backup" msgid_plural "Delete Volume Backups" -msgstr[0] "删除云硬盘备份" +msgstr[0] "删除卷备份" msgid "Delete Volume Snapshot" msgid_plural "Delete Volume Snapshots" -msgstr[0] "删除云硬盘快照" +msgstr[0] "删除卷快照" msgid "Delete Volume Type" msgid_plural "Delete Volume Types" -msgstr[0] "删除云硬盘类型" +msgstr[0] "删除卷类型" msgid "Delete Volume on Instance Delete" -msgstr "删除云主机时删除云硬盘" +msgstr "删除实例时删除卷" #, python-format msgid "Delete the created network \"%s\" due to subnet creation failure." -msgstr "创建子网时删除网络\"%s\"失败" +msgstr "请删除已创建网络“%s”,因为创建子网失败。" msgid "Delete volume when the instance is deleted" -msgstr "云主机被删除后删除云硬盘" +msgstr "删除实例时删除卷" msgid "Deleted" msgstr "删除" @@ -2568,7 +2586,7 @@ msgctxt "Current status of an Instance" msgid "Deleted" -msgstr "删除" +msgstr "已删除" msgid "Deleted Container" msgid_plural "Deleted Containers" @@ -2576,7 +2594,7 @@ msgid "Deleted DHCP Agent" msgid_plural "Deleted DHCP Agents" -msgstr[0] "已删除的DHCP Agent" +msgstr[0] "已删除的 DHCP 代理程序" msgid "Deleted Domain" msgid_plural "Deleted Domains" @@ -2588,11 +2606,11 @@ msgid "Deleted Extra Spec" msgid_plural "Deleted Extra Specs" -msgstr[0] "已删除的扩展规格" +msgstr[0] "已删除的 extra spec" msgid "Deleted Flavor" msgid_plural "Deleted Flavors" -msgstr[0] "已删除云主机类型" +msgstr[0] "已删除 flavor" msgid "Deleted Group" msgid_plural "Deleted Groups" @@ -2600,11 +2618,11 @@ msgid "Deleted Host Aggregate" msgid_plural "Deleted Host Aggregates" -msgstr[0] "已删除的主机聚合" +msgstr[0] "已删除的主机聚集" msgid "Deleted Image" msgid_plural "Deleted Images" -msgstr[0] "已删除的镜像" +msgstr[0] "已删除的映像" msgid "Deleted Interface" msgid_plural "Deleted Interfaces" @@ -2612,7 +2630,7 @@ msgid "Deleted Key Pair" msgid_plural "Deleted Key Pairs" -msgstr[0] "密钥对已删除" +msgstr[0] "已删除密钥对" msgid "Deleted Mapping" msgid_plural "Deleted Mappings" @@ -2620,7 +2638,7 @@ msgid "Deleted Namespace" msgid_plural "Deleted Namespaces" -msgstr[0] "删除命名空间" +msgstr[0] "删除名称空间" msgid "Deleted Network" msgid_plural "Deleted Networks" @@ -2640,11 +2658,11 @@ msgid "Deleted Protocol" msgid_plural "Deleted Protocols" -msgstr[0] "协议已删除" +msgstr[0] "已删除的协议" msgid "Deleted QoS Spec" msgid_plural "Deleted QoS Specs" -msgstr[0] "已删除的QoS规格" +msgstr[0] "已删除的 QoS 规范" msgid "Deleted Role" msgid_plural "Deleted Roles" @@ -2652,11 +2670,11 @@ msgid "Deleted Router" msgid_plural "Deleted Routers" -msgstr[0] "删除的路由" +msgstr[0] "删除的路由器" msgid "Deleted Router Rule" msgid_plural "Deleted Router Rules" -msgstr[0] "已删除路由规则" +msgstr[0] "已删除路由器规则" msgid "Deleted Rule" msgid_plural "Deleted Rules" @@ -2668,7 +2686,7 @@ msgid "Deleted Spec" msgid_plural "Deleted Specs" -msgstr[0] "规格已删除" +msgstr[0] "已删除规范" msgid "Deleted Stack" msgid_plural "Deleted Stacks" @@ -2676,7 +2694,7 @@ msgid "Deleted Static Route" msgid_plural "Deleted Static Routes" -msgstr[0] "已删除静态路由表" +msgstr[0] "已删除静态路由" msgid "Deleted Subnet" msgid_plural "Deleted Subnets" @@ -2692,32 +2710,32 @@ msgid "Deleted Volume Type" msgid_plural "Deleted Volume Types" -msgstr[0] "已删除的云硬盘类型" +msgstr[0] "已删除的卷类型" msgid "Deleted images are not recoverable." -msgstr "删除的镜像均无法恢复。" +msgstr "已删除的映像不可恢复。" msgid "Deleted instances are not recoverable." -msgstr "删除云主机是不可恢复的。" +msgstr "已删除的实例是不可恢复的。" msgid "Deleting" -msgstr "删除中" +msgstr "正在删除" msgctxt "Current status of a Volume" msgid "Deleting" -msgstr "删除中" +msgstr "正在删除" msgctxt "Current status of a Volume Backup" msgid "Deleting" -msgstr "删除中" +msgstr "正在删除" msgctxt "Task status of an Instance" msgid "Deleting" -msgstr "删除中" +msgstr "正在删除" #, python-format msgid "Deleting VIP %s from this pool cannot be undone." -msgstr "从这个池删除 VIP %s 后无法撤销" +msgstr "从此池删除 VIP %s 后无法撤销。" msgid "Deny" msgstr "拒绝" @@ -2726,34 +2744,34 @@ msgstr "描述" msgid "Description:" -msgstr "说明:" +msgstr "描述:" msgid "Destination" -msgstr "目的地" +msgstr "目标" msgid "Destination CIDR" -msgstr "目的CIDR" +msgstr "目标 CIDR" msgid "Destination Host" msgstr "目标主机" msgid "Destination IP" -msgstr "目的IP" +msgstr "目标 IP" msgid "Destination IP Address" -msgstr "目的IP地址" +msgstr "目标 IP 地址" msgid "Destination IP Address/Subnet" -msgstr "目的IP地址/子网" +msgstr "目标 IP 地址/子网" msgid "Destination IP address or subnet" -msgstr "目的IP地址或子网" +msgstr "目标 IP 地址或子网" msgid "Destination Port" -msgstr "目的端口" +msgstr "目标端口" msgid "Destination Port/Port Range" -msgstr "目的端口/端口范围" +msgstr "目标端口/端口范围" msgid "Destination container" msgstr "目标容器" @@ -2762,27 +2780,27 @@ msgstr "目标对象名称" msgid "Destination port (integer in [1, 65535] or range in a:b)" -msgstr "目的端口 ([1, 65535]区间内的整数或者以a:b形式表示的范围)" +msgstr "目标端口([1, 65535] 区间内的整数或者以 a:b 形式表示的范围)" msgid "Destination:" -msgstr "目的地" +msgstr "目标" msgid "Detach Interface" -msgstr "分离接口" +msgstr "拆离接口" msgid "Detach Volume" msgid_plural "Detach Volumes" -msgstr[0] "分离云硬盘" +msgstr[0] "分离卷" msgid "Detached" -msgstr "分离" +msgstr "已拆离" #, python-format msgid "Detached interface %(port)s for instance %(instance)s." -msgstr "为云主机 %(instance)s 分离接口 %(port)s。" +msgstr "拆离实例 %(instance)s 的接口 %(port)s。" msgid "Detaching" -msgstr "分离中" +msgstr "正在拆离" msgctxt "Current status of a Volume" msgid "Detaching" @@ -2790,7 +2808,7 @@ msgid "Detaching Volume" msgid_plural "Detaching Volumes" -msgstr[0] "正在分离云硬盘" +msgstr[0] "正在分离卷" msgid "Details" msgstr "详情" @@ -2802,19 +2820,19 @@ msgstr "设备" msgid "Device ID" -msgstr "设备ID" +msgstr "设备标识" msgid "Device ID attached to the port" -msgstr "连接到端口的设备ID" +msgstr "连接到端口的设备标识" msgid "Device Name" msgstr "设备名称" msgid "Device Owner" -msgstr "设备所属者" +msgstr "设备所有人" msgid "Device owner attached to the port" -msgstr "连接到端口的设备所属者" +msgstr "连接到端口的设备所有者" msgid "Device size (GB)" msgstr "设备大小 (GB)" @@ -2839,7 +2857,7 @@ msgstr "禁用网关" msgid "Disable HA mode" -msgstr "禁用HA模式" +msgstr "禁用 HA 模式" msgid "Disable Service" msgstr "关闭服务" @@ -2852,11 +2870,11 @@ msgstr "关闭计算服务。" msgid "Disabled" -msgstr "已关闭" +msgstr "已禁用" msgctxt "Current status of a Hypervisor" msgid "Disabled" -msgstr "已关闭" +msgstr "已禁用" msgid "Disabled Domain" msgid_plural "Disabled Domains" @@ -2871,34 +2889,34 @@ msgstr "关闭主机 %s 上的计算服务。" msgid "Disassociate" -msgstr "解除绑定" +msgstr "取消关联" msgid "Disassociate Floating IP" -msgstr "解除浮动IP的绑定" +msgstr "取消关联浮动 IP" msgid "Disassociate Monitor" -msgstr "解除监控关联" +msgstr "解除监视器关联" msgid "Disassociate a health monitor from target pool. " -msgstr "从目标资源池解除健康监控的关联。" +msgstr "从目标池解除运行状况监视器的关联。" msgid "Disassociated monitor." -msgstr "已解除监控关联。" +msgstr "已解除监视器关联。" msgid "Disk" msgstr "磁盘" msgid "Disk (GB)" -msgstr "磁盘(GB)" +msgstr "磁盘 (GB)" msgid "Disk Format" msgstr "磁盘格式" msgid "Disk GB Hours" -msgstr "磁盘GB小时数" +msgstr "磁盘 GB 小时数" msgid "Disk Over Commit" -msgstr "允许磁盘超量" +msgstr "允许磁盘落实" msgid "Disk Partition" msgstr "磁盘分区" @@ -2912,7 +2930,7 @@ msgid "" "Do not use a colon ':' with OS::Glance::Images. This resource type does not " "support the use of colons." -msgstr "不要在 OS::Glance::Images 里使用 “:” ,因为这种资源类型不支持前缀。" +msgstr "不要在 OS::Glance::Images 中使用冒号 “:” ,因为此资源类型不支持前缀。" msgid "Docker" msgstr "Docker" @@ -2923,7 +2941,7 @@ #, python-format msgid "Domain \"%s\" must be disabled before it can be deleted." -msgstr "域 \"%s\" 在可以被删除前必须被停止。" +msgstr "删除域 “%s”前必须禁用该域。" msgid "Domain Context cleared." msgstr "域上下文已清除。" @@ -2936,7 +2954,7 @@ msgstr "域组" msgid "Domain ID" -msgstr "域ID" +msgstr "域标识" msgid "Domain Information" msgstr "域信息" @@ -2953,56 +2971,56 @@ msgid "" "Domains provide separation between users and infrastructure used by " "different organizations." -msgstr "域提供了用户和不同组织使用的基础设施之间的分离." +msgstr "域可用于隔离不同组织使用的用户和基础设施。" msgid "" "Domains provide separation between users and infrastructure used by " "different organizations. Edit the domain details to add or remove groups in " "the domain." msgstr "" -"域将用户和其他组织使用的基础设施相隔离. 编辑域详情以添加或删除域中的组." +"域可以隔离不同组织使用的用户和基础结构。编辑域详情以在域中添加或删除组。" msgid "Domains:" msgstr "域:" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current state of a Hypervisor" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of a Firewall" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of a Floating IP" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of a Network" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of a Pool" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of a VPN Service" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "Current status of an IPSec Site Connection" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "current status of port" msgid "Down" -msgstr "Down" +msgstr "关闭" msgctxt "status of a network port" msgid "Down" -msgstr "Down" +msgstr "关闭" msgid "Download" msgstr "下载" @@ -3011,26 +3029,26 @@ msgstr "下载 CSV 摘要" msgid "Download EC2 Credentials" -msgstr "下载EC2凭据" +msgstr "下载 EC2 凭据" msgid "Download Key Pair" msgstr "下载密钥对" msgid "Download OpenStack RC File v2.0" -msgstr "下载OpenStack RC文件v2.0" +msgstr "下载 OpenStack RC File v2.0" msgid "Download OpenStack RC File v3" -msgstr "下载OpenStack RC 文件v3" +msgstr "下载 OpenStack RC File v3" #, python-format msgid "Download key pair "%(keypair_name)s"" -msgstr "下载密钥对"%(keypair_name)s"" +msgstr "下载密钥对 "%(keypair_name)s"" msgid "EC2 Access Key" -msgstr "EC2访问码" +msgstr "EC2 访问码" msgid "EC2 Secret Key" -msgstr "EC2密钥" +msgstr "EC2 密钥" msgid "EC2 URL" msgstr "EC2 URL" @@ -3045,53 +3063,53 @@ msgstr "编辑一致性组" msgid "Edit Consumer" -msgstr "编辑消费者" +msgstr "编辑使用者" msgid "Edit Consumer of QoS Spec" -msgstr "编辑QOS规格的消费者" +msgstr "编辑 QoS 规范的使用者" msgid "Edit Domain" msgstr "编辑域" #, python-format msgid "Edit Extra Spec Value: %s" -msgstr "编辑扩展规格值:%s" +msgstr "编辑 extra spec 值:%s" msgid "Edit Firewall" msgstr "编辑防火墙" msgid "Edit Firewall {{ name }}" -msgstr "编辑防火墙{{ name }}" +msgstr "编辑防火墙 {{ name }}" msgid "Edit Flavor" -msgstr "编辑云主机类型" +msgstr "编辑 flavor" msgid "Edit Group" msgstr "编辑组" msgid "Edit Host Aggregate" -msgstr "编辑主机聚合" +msgstr "编辑主机聚集" msgid "Edit IKE Policy" -msgstr "编辑IKE策略" +msgstr "编辑 IKE 策略" msgid "Edit IPSec Policy" -msgstr "编辑IPSec策略" +msgstr "编辑 IPSec 策略" msgid "Edit IPSec Site Connection" -msgstr "编辑IPSec站点连接" +msgstr "编辑 IPSec 站点连接" msgid "Edit Image" -msgstr "编辑镜像" +msgstr "编辑映像" msgid "Edit Instance" -msgstr "编辑云主机" +msgstr "编辑实例" msgid "Edit Member" msgstr "编辑成员" msgid "Edit Monitor" -msgstr "编辑监控" +msgstr "编辑监视器" msgid "Edit Network" msgstr "编辑网络" @@ -3103,10 +3121,10 @@ msgstr "编辑策略" msgid "Edit Policy {{ name }}" -msgstr "编辑策略{{ name }}" +msgstr "编辑策略 {{ name }}" msgid "Edit Pool" -msgstr "编辑资源池" +msgstr "编辑池" msgid "Edit Port" msgstr "编辑端口" @@ -3115,10 +3133,10 @@ msgstr "编辑项目" msgid "Edit QoS Spec Consumer" -msgstr "编辑QoS规格的消费者" +msgstr "编辑 QoS 规范的使用者" msgid "Edit Router" -msgstr "编辑路由" +msgstr "编辑路由器" msgid "Edit Rule" msgstr "编辑规则" @@ -3136,10 +3154,10 @@ msgstr "编辑快照" msgid "Edit Spec" -msgstr "编辑规格" +msgstr "编辑规范" msgid "Edit Spec Value" -msgstr "编辑规格的值:" +msgstr "编辑规范的值:" msgid "Edit Subnet" msgstr "编辑子网" @@ -3151,42 +3169,42 @@ msgstr "编辑 VIP" msgid "Edit VPN Service" -msgstr "编辑VPN服务" +msgstr "编辑 VPN 服务" msgid "Edit Volume" -msgstr "编辑云硬盘" +msgstr "编辑卷" msgid "Edit Volume Type" -msgstr "编辑云硬盘" +msgstr "编辑卷类型" msgid "Edit Volume Type Extra Spec" -msgstr "编辑云硬盘类型扩展规格" +msgstr "编辑卷类型 extra spec" #, python-format msgid "Edit consistency group \"%s\"." -msgstr "编辑一致性组 \"%s\"。" +msgstr "编辑一致性组 “%s”。" msgid "" "Edit the flavor details. Flavors define the sizes for RAM, disk, number of " "cores, and other resources. Flavors are selected when users deploy instances." msgstr "" -"编辑云主机类型详情。云主机类型定义了RAM和磁盘的大小、CPU数,以及其他资源,用" -"户在部署云主机的时候可选用。" +"编辑 flavor 详情。flavor 定义 RAM 大小、磁盘、CPU 数及其他资源,flavor 是在用" +"户在部署实例时选择的。" msgid "Edit the identity provider's details." msgstr "编辑身份提供者详情。" msgid "Edit the image details." -msgstr "编辑镜像详情" +msgstr "编辑映像详情" msgid "Edit the instance details." -msgstr "编辑云主机详情" +msgstr "编辑实例详情。" msgid "Edit the mapping's details." msgstr "编辑映射详情。" msgid "Edit the project details." -msgstr "编辑项目详情" +msgstr "编辑项目详情。" msgid "Edit the role's details." msgstr "编辑角色详情。" @@ -3201,43 +3219,43 @@ msgstr "邮箱" msgid "Enable DHCP" -msgstr "激活DHCP" +msgstr "启用 DHCP" msgid "Enable Domain" msgid_plural "Enable Domains" -msgstr[0] "激活域" +msgstr[0] "启用域" msgid "Enable Domains" -msgstr "激活域" +msgstr "启用域" msgid "Enable HA mode" -msgstr "启用HA模式" +msgstr "启用 HA 模式" msgid "Enable Service" msgid_plural "Enable Services" -msgstr[0] "开启服务" +msgstr[0] "启用服务" msgid "Enable User" msgid_plural "Enable Users" -msgstr[0] "激活用户" +msgstr[0] "启用用户" msgid "Enable rollback on create/update failure." msgstr "在创建/更新失败时允许回滚。" msgid "Enabled" -msgstr "激活" +msgstr "已启用" msgctxt "Current status of a Hypervisor" msgid "Enabled" -msgstr "激活" +msgstr "已启用" msgid "Enabled Domain" msgid_plural "Enabled Domains" -msgstr[0] "激活域" +msgstr[0] "已启用域" msgid "Enabled Service" msgid_plural "Enabled Services" -msgstr[0] "已开启服务" +msgstr[0] "已启用服务" msgid "Enabled User" msgid_plural "Enabled Users" @@ -3247,10 +3265,10 @@ msgstr "封装模式" msgid "Encrypted" -msgstr "加密的" +msgstr "加密" msgid "Encrypted Password" -msgstr "加密密码" +msgstr "已加密密码" msgid "Encryption" msgstr "加密" @@ -3261,34 +3279,35 @@ msgid "" "Encryption information cannot be updated for a volume type if volumes are " "currently in use with the volume type." -msgstr "云硬盘类型正在被云硬盘使用, 无法更新其加密信息." +msgstr "如果正在使用具有某个卷类型的卷,那么不能对该卷类型更新加密信息。" msgid "Energy (Kwapi)" -msgstr "能源(Kwapi)" +msgstr "能源 (Kwapi)" msgid "Engine Id" -msgstr "Engine Id" +msgstr "引擎标识" msgid "Enter Network Address manually" msgstr "手动输入网络地址" msgid "Enter a value for ICMP code in the range (-1: 255)" -msgstr "请输入ICMP代码范围 (-1: 255)" +msgstr "请输入介于 -1 到 255 之间的 ICMP 代码值" msgid "Enter a value for ICMP type in the range (-1: 255)" -msgstr "请输入ICMP类型值范围 (-1: 255)" +msgstr "请输入介于 -1 到 255 之间的 ICMP 类型值" msgid "Enter an integer value between 0 and 255 (or -1 which means wildcard)." -msgstr "输入一个0到255之间的整数值(或输入-1作为通配符)。" +msgstr "输入介于 0 到 255 之间的整数值(或输入 -1 作为通配符)。" msgid "Enter an integer value between 1 and 65535." -msgstr "输入大于1小于65535的整数" +msgstr "输入大于 1 且小于 65535 的整数值" msgid "" "Enter an integer value between 1 and 65535. The same port will be used for " "all the selected members and can be modified later." msgstr "" -"请输入一个1到65535的整数.同一端口将用于所有选定的成员,可以稍后进行修改." +"请输入 1 到 65535 之间的整数值。同一端口将用于所有选定成员,可以稍后进行修" +"改。" msgid "Environment Data" msgstr "环境数据" @@ -3303,16 +3322,17 @@ msgstr "临时磁盘" msgid "Ephemeral Disk (GB)" -msgstr "临时磁盘(GB)" +msgstr "临时磁盘 (GB)" msgid "Equal to or greater than 60" -msgstr "等于或大于60" +msgstr "等于或大于 60" msgid "" "Equal to or greater than 68 if the local subnet is IPv4. Equal to or greater " "than 1280 if the local subnet is IPv6." msgstr "" -"如果本地子网是IPv4,则等于或者大于68。如果本地子网是IPv6,则等于或大于1280。" +"如果本地子网是 IPv4,那么等于或者大于 68。如果本地子网是 IPv6,那么等于或大" +"于 1280。" msgid "Error" msgstr "错误" @@ -3370,11 +3390,11 @@ msgstr "错误" msgid "Error Deleting" -msgstr "删除错误" +msgstr "删除时出错" #, python-format msgid "Error Downloading RC File: %s" -msgstr "下载RC文件出错:%s" +msgstr "下载 RC 文件出错:%s" msgctxt "Current status of a Volume" msgid "Error Extending" @@ -3386,17 +3406,17 @@ msgctxt "Current status of a Volume Backup" msgid "Error Restoring" -msgstr "错误修复中..." +msgstr "恢复时出错" msgid "Error adding Hosts to the aggregate." -msgstr "向聚合中添加主机时出错." +msgstr "向聚集中添加主机时出错。" msgctxt "Current status of a Volume" msgid "Error deleting" msgstr "删除时出错" msgid "Error editing QoS Spec consumer." -msgstr "编辑QoS规格消费者时出错。" +msgstr "编辑 QoS 规范使用者时出错。" msgid "Error getting metadata definitions." msgstr "获取元数据定义时出错。" @@ -3405,28 +3425,28 @@ msgstr "获取资源类型关联时出错。" msgid "Error updating QoS Spec association." -msgstr "更新QoS规格关联失败。" +msgstr "更新 QoS 规范关联失败。" #, python-format msgid "Error updating resource types for namespace %s." -msgstr "更新命名空间%s的资源类型出错。" +msgstr "更新名称空间 %s 的资源类型出错。" msgid "Error when adding or removing hosts." -msgstr "增加或删除主机时出错" +msgstr "添加或删除主机时出错" #, python-format msgid "Error writing zipfile: %(exc)s" -msgstr "zip文件写入出错:%(exc)s" +msgstr "zip 文件写入出错:%(exc)s" msgid "Ether Type" -msgstr "以太网类型(EtherType)" +msgstr "以太网类型" msgid "Evacuate Host" msgstr "疏散主机" msgid "" "Evacuate the servers from the selected down host to an active target host." -msgstr "疏散云主机从宕机的主机到可用的目标主机" +msgstr "将所选已关闭主机中的服务器疏散至活动目标主机。" msgid "Events" msgstr "事件" @@ -3435,59 +3455,59 @@ "Example: For mod_shib this would be Shib-Identity-Provider, for mod_auth_openidc, this could be HTTP_OIDC_ISS." msgstr "" -"比如:mod_shib将会是Shib-Identity-Provider,对于" -"mod_auth_openidc,将可能是HTTP_OIDC_ISS。" +"示例:mod_shib将会是 Shib-Identity-Provider,对于" +"mod_auth_openidc,将可能是 HTTP_OIDC_ISS。" msgid "" "Example: The prefix 'hw:' is added to OS::Nova::Flavor for the Virtual CPU " "Topology namespace so that the properties will be prefixed with 'hw:' when " "applied to flavors." msgstr "" -"示例:在虚拟 CPU 拓扑命名空间中,OS::Nova::Flavor 会使用 “hw:” 前缀,这样在更" -"新云主机类型的元数据时相应的属性都会加上 “hw:” 前缀。" +"示例:在虚拟 CPU 拓扑名称空间中,会向 OS::Nova::Flavor 添加 “hw:” 前缀,这样" +"属性在应用于 flavor 时会加上 “hw:” 前缀。" msgid "Existence of floating ip" -msgstr "存在的浮动IP" +msgstr "存在浮动 IP" msgid "Existence of instance" -msgstr "存在的云主机" +msgstr "存在实例" msgid "Existence of instance (openstack types)" -msgstr "存在的云主机 (openstack 类型)" +msgstr "存在实例 (openstack 类型)" msgid "Existence of network" -msgstr "存在的网络" +msgstr "存在网络" msgid "Existence of port" -msgstr "存在的端口" +msgstr "存在端口" msgid "Existence of router" -msgstr "存在的路由" +msgstr "存在路由器" msgid "Existence of subnet" -msgstr "存在的子网" +msgstr "存在子网" msgid "Existence of volume" -msgstr "存在的卷" +msgstr "存在卷" msgid "Expected Codes" msgstr "预期的代码" msgid "Expected HTTP Status Codes" -msgstr "期望的HTTP状态代码" +msgstr "期望的 HTTP 状态代码" msgid "" "Expected code may be a single value (e.g. 200), a list of values (e.g. 200, " "202), or range of values (e.g. 200-204)" msgstr "" -"预期的代码可以是一个单独的值(比如200),一个值的列表(比如 200, 202),或值的范" -"围(比如 200-204)" +"预期的代码可以是一个值(例如,200)、值列表(例如,200, 202)或值范围(例如," +"200-204)" msgid "Extend Volume" -msgstr "扩展云硬盘" +msgstr "扩展卷" msgid "Extend the size of a volume." -msgstr "扩展云硬盘的大小" +msgstr "扩展卷的大小" msgctxt "Current status of a Volume" msgid "Extending" @@ -3495,13 +3515,13 @@ #, python-format msgid "Extending volume: \"%s\"" -msgstr "扩展硬盘大小: \"%s\"" +msgstr "正在扩展卷:“%s”" msgid "External" msgstr "外部" msgid "External Fixed IPs" -msgstr "额外固定IP" +msgstr "外部固定 IP" msgid "External Gateway" msgstr "外部网关" @@ -3513,10 +3533,10 @@ msgid "" "External network \"%(ext_net_id)s\" expected but not found for router " "\"%(router_id)s\"." -msgstr "路由器\"%(router_id)s\"的外部网络\"%(ext_net_id)s\"没有找到。" +msgstr "找不到路由器\"%(router_id)s\"的预期外部网络\"%(ext_net_id)s\"。" msgid "Extra Specs" -msgstr "扩展规格" +msgstr "extra spec" msgid "FQDN" msgstr "FQDN" @@ -3529,7 +3549,7 @@ msgid "" "Failed to add %(users_to_add)s project members%(group_msg)s and set project " "quotas." -msgstr "无法添加 %(users_to_add)s 项目成员%(group_msg)s 并设定项目配额。" +msgstr "无法添加 %(users_to_add)s 项目成员 %(group_msg)s 并设定项目配额。" #, python-format msgid "Failed to add %s project groups and update project quotas." @@ -3537,19 +3557,19 @@ #, python-format msgid "Failed to add agent %(agent_name)s for network %(network)s." -msgstr "为网络%(network)s增加agent %(agent_name)s 失败。" +msgstr "为网络 %(network)s 添加代理程序 %(agent_name)s 失败。" #, python-format msgid "Failed to add route : %s" -msgstr "添加路由失败:%s" +msgstr "无法添加路由:%s" #, python-format msgid "Failed to add router rule %s" -msgstr "增加路由规则 %s 失败" +msgstr "添加路由器规则 %s 失败" #, python-format msgid "Failed to add router(s) to firewall %(name)s: %(reason)s" -msgstr "将路由加入到防火墙 %(name)s 失败:%(reason)s" +msgstr "将路由器添加至防火墙 %(name)s 失败:%(reason)s" #, python-format msgid "Failed to add_interface: %s" @@ -3557,18 +3577,18 @@ #, python-format msgid "Failed to check Neutron '%s' extension is not supported" -msgstr "无法检查不支持的Neutron扩展 ‘%s’。" +msgstr "检查 Neutron 扩展“%s”是否受支持失败。" msgid "Failed to check if Neutron extraroute extension is supported" -msgstr "检查失败如果Neutron支持额外路由扩展" +msgstr "无法检查是否支持 Neutron 额外路由扩展" #, python-format msgid "Failed to create a port for network %s" -msgstr "创建网络 %s 端口失败" +msgstr "为网络 %s 创建端口失败。" #, python-format msgid "Failed to create network \"%(network)s\": %(reason)s" -msgstr "创建网络\"%(network)s\"失败: %(reason)s" +msgstr "创建网络\"%(network)s\"失败:%(reason)s" #, python-format msgid "Failed to create network %s" @@ -3576,24 +3596,24 @@ #, python-format msgid "Failed to create router \"%s\"." -msgstr "新建路由\"%s\"失败" +msgstr "创建路由器“%s”失败。" #, python-format msgid "" "Failed to create subnet \"%(sub)s\" for network \"%(net)s\": %(reason)s" -msgstr "为网络 \"%(net)s\"创建子网\"%(sub)s\"失败: %(reason)s" +msgstr "为网络“%(net)s”创建子网“%(sub)s”失败:%(reason)s" #, python-format msgid "Failed to delete agent: %s" -msgstr "删除agent: %s 失败" +msgstr "未能删除代理程序:%s " #, python-format msgid "Failed to delete interface %s" -msgstr "删除接口%s失败" +msgstr "删除接口 %s 失败" #, python-format msgid "Failed to delete network \"%s\"" -msgstr "删除网络失败\"%s\"" +msgstr "无法删除网络“%s”" #, python-format msgid "Failed to delete network %s" @@ -3605,11 +3625,11 @@ #, python-format msgid "Failed to delete port: %s" -msgstr "删除端口: %s 失败" +msgstr "删除端口 %s 失败" #, python-format msgid "Failed to delete subnet %s" -msgstr "删除子网%s失败" +msgstr "删除子网 %s 失败" #, python-format msgid "Failed to disable compute service for host: %s." @@ -3617,11 +3637,11 @@ #, python-format msgid "Failed to evacuate host: %s." -msgstr "无法疏散主机: %s." +msgstr "疏散主机失败:%s。" #, python-format msgid "Failed to evacuate instances: %s" -msgstr "云主机疏散失败: %s" +msgstr "无法疏散实例:%s" #, python-format msgid "Failed to get mapping list %s" @@ -3629,33 +3649,33 @@ #, python-format msgid "Failed to get network list %s" -msgstr "获取网络列表 %s失败" +msgstr "获取网络列表 %s 失败" msgid "Failed to get network list {0}" -msgstr "获取网络列表{0}失败" +msgstr "获取网络列表 {0} 失败" msgid "Failed to get network list." msgstr "获取网络列表失败。" #, python-format msgid "Failed to get the resource name: %s" -msgstr "获取资源名为:%s 失败" +msgstr "无法获取资源名:%s" #, python-format msgid "Failed to insert rule to policy %(name)s: %(reason)s" -msgstr "无法插入规则至策略 %(name)s: %(reason)s" +msgstr "无法将规则插入至策略 %(name)s:%(reason)s" #, python-format msgid "Failed to live migrate instance to host \"%s\"." -msgstr "云主机热迁移到主机\"%s\"失败" +msgstr "实时迁移到主机“%s”失败" #, python-format msgid "Failed to migrate host \"%s\"." -msgstr "迁移主机失败: \"%s\" " +msgstr "未能迁移主机: “%s” " #, python-format msgid "Failed to migrate instances: %s" -msgstr "云主机迁移失败: %s" +msgstr "无法迁移实例:%s" msgid "Failed to migrate volume." msgstr "迁移卷失败" @@ -3663,84 +3683,84 @@ #, python-format msgid "" "Failed to modify %(num_groups_to_modify)d instance security groups: %(err)s" -msgstr "修改 %(num_groups_to_modify)d 个云主机安全组失败: %(err)s" +msgstr "修改 %(num_groups_to_modify)d 个实例安全组失败:%(err)s" #, python-format msgid "" "Failed to modify %(users_to_modify)s project members%(group_msg)s and update " "project quotas." -msgstr "无法修改 %(users_to_modify)s 项目成员%(group_msg)s 并更新项目配额。" +msgstr "无法修改 %(users_to_modify)s 项目成员 %(group_msg)s 并更新项目配额。" #, python-format msgid "Failed to modify %d instance security groups" -msgstr "修改 %d 个云主机安全组失败" +msgstr "修改 %d 个实例安全组失败" #, python-format msgid "Failed to modify %s domain groups." -msgstr "修改域组%s失败。" +msgstr "修改 %s 域组失败。" #, python-format msgid "Failed to modify %s project members and update domain groups." -msgstr "无法更改%s项目成员和更新域的组成员." +msgstr "无法修改 %s 项目成员并更新域组。" #, python-format msgid "" "Failed to modify %s project members, update project groups and update " "project quotas." -msgstr "无法修改 %s 项目成员,更新项目组和项目配额。" +msgstr "无法修改 %s 项目成员、更新项目组和项目配额。" #, python-format msgid "" "Failed to perform requested operation on instance \"%s\", the instance has " "an error status" -msgstr "云主机 \"%s\" 执行所请求操作失败,云主机处于错误状态。" +msgstr "实例 “%s” 执行所请求操作失败,实例处于错误状态。" #, python-format msgid "Failed to remove router(s) from firewall %(name)s: %(reason)s" -msgstr "从防火墙 %(name)s 中删除路由失败:%(reason)s" +msgstr "未能从防火墙 %(name)s 中移除路由器:%(reason)s" #, python-format msgid "Failed to remove rule from policy %(name)s: %(reason)s" -msgstr "无法从策略中移除规则 %(name)s: %(reason)s" +msgstr "无法从策略 %(name)s 中移除规则:%(reason)s" #, python-format msgid "Failed to retrieve available routers: %(reason)s" -msgstr "获取可用路由信息失败:%(reason)s" +msgstr "无法检索可用路由器:%(reason)s" #, python-format msgid "Failed to retrieve available rules: %s" -msgstr "无法获取可用的规则: %s" +msgstr "无法检索可用的规则:%s" #, python-format msgid "Failed to retrieve current routers in firewall %(name)s: %(reason)s" -msgstr "从防火墙 %(name)s 中获取当前路由的信息失败:%(reason)s" +msgstr "无法检索防火墙 %(name)s 中的当前路由器:%(reason)s" #, python-format msgid "Failed to retrieve current rules in policy %(name)s: %(reason)s" -msgstr "无法获取策略中的当前规则 %(name)s: %(reason)s" +msgstr "无法检索策略 %(name)s 中的当前规则:%(reason)s" msgid "Failed to retrieve health monitors." -msgstr "无法获取健康监控。" +msgstr "无法检索运行状况监视器。" #, python-format msgid "Failed to retrieve network %s for a subnet" -msgstr "获取网络 %s 的子网失败" +msgstr "针对子网检索网络 %s 失败" #, python-format msgid "Failed to set gateway %s" -msgstr "设置网关%s失败" +msgstr "设置网关 %s 失败" #, python-format msgid "Failed to update IKE Policy %s" -msgstr "更新IKE策略 %s 失败" +msgstr "更新 IKE 策略 %s 失败" #, python-format msgid "Failed to update IPSec Policy %s" -msgstr "更新IPSec策略 %s 失败" +msgstr "更新 IPSec 策略 %s 失败" #, python-format msgid "Failed to update IPSec Site Connection %s" -msgstr "更新IPSec站点连接%s失败" +msgstr "更新 IPSec 站点连接 %s 失败" #, python-format msgid "Failed to update VIP %s" @@ -3748,15 +3768,15 @@ #, python-format msgid "Failed to update VPN Service %s" -msgstr "更新VPN服务 %s 失败" +msgstr "更新 VPN 服务 %s 失败" #, python-format msgid "Failed to update firewall %(name)s: %(reason)s" -msgstr "无法更新防火墙 %(name)s: %(reason)s" +msgstr "无法更新防火墙 %(name)s:%(reason)s" #, python-format msgid "Failed to update health monitor %s" -msgstr "无法更新健康监控 %s 。" +msgstr "无法更新运行状况监视器 %s 。" #, python-format msgid "Failed to update member %s" @@ -3768,7 +3788,7 @@ #, python-format msgid "Failed to update policy %(name)s: %(reason)s" -msgstr "无法更新策略 %(name)s: %(reason)s" +msgstr "无法更新策略 %(name)s:%(reason)s" #, python-format msgid "Failed to update pool %s" @@ -3780,36 +3800,36 @@ #, python-format msgid "Failed to update router %s" -msgstr "更新路由 %s 失败" +msgstr "更新路由器 %s 失败" #, python-format msgid "Failed to update rule %(name)s: %(reason)s" -msgstr "无法更新规则 %(name)s: %(reason)s" +msgstr "无法更新规则 %(name)s:%(reason)s" #, python-format msgid "Failed to update subnet \"%(sub)s\": %(reason)s" -msgstr "更新子网 \"%(sub)s\"失败: %(reason)s" +msgstr "更新子网“%(sub)s”失败:%(reason)s" #, python-format msgid "Failed to verify extension support %(reason)s" -msgstr "验证扩展支持失败: %(reason)s" +msgstr "验证扩展支持失败:%(reason)s" msgid "False" msgstr "False" msgid "Fan RPM" -msgstr "风扇转速(RPM)" +msgstr "风扇转速 (RPM)" msgid "Fault" msgstr "故障" msgid "Federation" -msgstr "联邦" +msgstr "联合" msgid "" "Fields in this tab are optional. You can configure the detail of IPSec site " "connection created." -msgstr "本标签中的字段都是可选的。你可以配置已创建的IPSec站点连接的详情。" +msgstr "本标签中的字段都是可选的。您可以配置已创建的 IPSec 站点连接的详情。" msgid "File" msgstr "文件" @@ -3821,21 +3841,21 @@ msgstr "文件:" msgid "Filter" -msgstr "筛选" +msgstr "过滤" msgid "Fingerprint" msgstr "指纹" msgctxt "Task status of an Instance" msgid "Finishing Resize or Migrate" -msgstr "即将完成 调整大小/迁移" +msgstr "正在完成调整大小/迁移" msgid "Firewall" msgstr "防火墙" #, python-format msgid "Firewall %s was successfully updated." -msgstr "防火墙 %s 被成功更新。" +msgstr "已成功更新防火墙 %s。" msgid "Firewall Policies" msgstr "防火墙策略" @@ -3847,78 +3867,78 @@ msgstr "防火墙" msgid "Fixed IPs" -msgstr "固定IP" +msgstr "固定 IP" msgid "Flat" -msgstr "Flat" +msgstr "平面" msgid "Flavor" -msgstr "云主机类型" +msgstr "flavor" msgid "Flavor Access" -msgstr "云主机类型使用权" +msgstr "flavor 访问权" msgid "Flavor Choice" -msgstr "云主机类型选择" +msgstr "flavor 选择" msgid "Flavor Details" -msgstr "云主机类型详情" +msgstr "flavor 详情" #, python-format msgid "Flavor Details: %(name)s\">%(name)s" -msgstr "云主机类型详情:%(name)s\">%(name)s" +msgstr "flavor 详情:%(name)s\">%(name)s" msgid "Flavor ID" -msgstr "云主机类型ID" +msgstr "flavor 标识" msgid "Flavor ID =" -msgstr "云主机类型ID =" +msgstr "flavor 标识 =" msgid "" "Flavor ID should be UUID4 or integer. Leave this field blank or use 'auto' " "to set a random UUID4." msgstr "" -"云主机类型ID应当为UUID4或者整数值。留空或者使用'auto'来设置一个随机的UUID4" -"值。" +"flavor 标识应当为 UUID4 或者整数值。将此字段留为空白或者使用“auto”来设置随机 " +"UUID4 值。" msgid "Flavor Information" -msgstr "云主机类型信息" +msgstr "flavor 信息" msgid "Flavor Name" -msgstr "云主机类型名称" +msgstr "flavor 名称" msgid "Flavors" -msgstr "云主机类型" +msgstr "flavor 数" msgid "" "Flavors define the sizes for RAM, disk, number of cores, and other resources " "and can be selected when users deploy instances." msgstr "" -"云主机类型定义了RAM和磁盘的大小、CPU数,以及其他资源,用户在部署云主机的时候" -"可选用。" +"flavor 定义了 RAM 和磁盘的大小、CPU 数以及其他资源,用户在部署实例的时候可选" +"用。" msgid "Floating IP" -msgstr "浮动IP" +msgstr "浮动 IP" #, python-format msgid "Floating IP will be removed from VIP \"%s\"." -msgstr "浮动 IP 将从 VIP \"%s\" 里移除." +msgstr "浮动 IP 将从 VIP “%s” 中移除。" msgid "Floating IP:" -msgstr "浮动IP:" +msgstr "浮动 IP:" msgid "Floating IPs" -msgstr "浮动IP" +msgstr "浮动 IP" msgid "Floating IPs:" -msgstr "浮动IP:" +msgstr "浮动 IP:" msgid "Folder created successfully." -msgstr "目录创建成功。" +msgstr "已成功创建目录。" #, python-format msgid "For GRE networks, valid tunnel IDs are %(min)s through %(max)s." -msgstr "对于GRE网络,有效的隧道ID是从 %(min)s 到 %(max)s。" +msgstr "对于 GRE 网络,有效的通道标识是从 %(min)s 到 %(max)s。" msgid "" "For TCP and UDP rules you may choose to open either a single port or a range " @@ -3926,8 +3946,9 @@ "provide both the starting and ending ports for the range. For ICMP rules you " "instead specify an ICMP type and code in the spaces provided." msgstr "" -"你选择的TCP和UDP规则可能会打开一个或一组端口.选择\"端口范围\",你需要提供开始" -"和结束端口的范围.对于ICMP规则你需要指定ICMP类型和代码." +"对于 TCP 和 UDP 规则,可选择打开一个端口或一定范围的端口。选择“端口范围”选项" +"将提供空间以便您指定端口范围的起始端口和结束端口。对于 ICMP 规则,您应改为在" +"所提供空间中指定 ICMP 类型和代码。" #, python-format msgid "" @@ -3937,18 +3958,18 @@ "%(gre_min)s through %(gre_max)s. For VXLAN networks, %(vxlan_min)s through " "%(vxlan_max)s." msgstr "" -"对于VLAN网络,物理网络上 VLAN 的 VID用来实现虚拟网络,有效的VLAN VID范围是从 " -"%(vlan_min)s 到 %(vlan_max)s。对于GRE 或者VXLAN网络,则是隧道ID,GRE的隧道ID" -"有效范围从%(gre_min)s 到 %(gre_max)s;VXLAN则是从%(vxlan_min)s 到 " -"%(vxlan_max)s" +"对于 VLAN 网络,物理网络上 VLAN 的 VID 用来实现虚拟网络,有效的 VLAN VID 范围" +"是从 %(vlan_min)s 到 %(vlan_max)s。对于 GRE 或者 VXLAN 网络,则是通道标识," +"GRE 的通道标识有效范围是从 %(gre_min)s 到 %(gre_max)s;对于 VXLAN,则是从 " +"%(vxlan_min)s 到 %(vxlan_max)s" #, python-format msgid "For VLAN networks, valid VLAN IDs are %(min)s through %(max)s." -msgstr "对于VLAN网络,有效的VLAN ID是从%(min)s 到 %(max)s。" +msgstr "对于 VLAN 网络,有效的 VLAN 标识是从 %(min)s 到 %(max)s。" #, python-format msgid "For VXLAN networks, valid tunnel IDs are %(min)s through %(max)s." -msgstr "对于VXLAN网络,有效的隧道ID是从 %(min)s 到 %(max)s。" +msgstr "对于 VXLAN 网络,有效的通道标识是从 %(min)s 到 %(max)s。" msgid "Forbidden" msgstr "禁止" @@ -3958,14 +3979,14 @@ msgstr "强制" msgid "Force Host Copy" -msgstr "强制主机拷贝" +msgstr "强制主机复制" #, python-format msgid "Forcing to create snapshot \"%s\" from attached volume." -msgstr "正在强制从已连接的云硬盘创建快照 \"%s\"" +msgstr "正在强制从已连接的卷创建快照 “%s”" msgid "Format" -msgstr "镜像格式" +msgstr "格式" msgid "Format =" msgstr "格式 =" @@ -3977,13 +3998,13 @@ msgstr "起始端口号" msgid "From here you can add a DHCP agent for the network." -msgstr "在这里你可以为该网络增加DHCP agent。" +msgstr "可在此处为该网络添加 DHCP 代理程序。" msgid "From here you can create a snapshot of a volume." -msgstr "为一个云硬盘创建一个快照" +msgstr "为卷创建快照" msgid "From here you can update the default quotas (max limits)." -msgstr "在这里你可以更新默认配额(上限)。" +msgstr "您可在此处更新缺省配额(上限)。" msgid "From:" msgstr "从:" @@ -4001,13 +4022,13 @@ msgstr "GRE" msgid "Gateway IP" -msgstr "网关IP" +msgstr "网关 IP" msgid "Gateway IP and IP version are inconsistent." -msgstr "网关IP和IP版本是可变的" +msgstr "网关 IP 与 IP 版本不一致。" msgid "Gateway interface is added" -msgstr "已新增网关接口" +msgstr "已添加网关接口" msgid "GiB" msgstr "GiB" @@ -4016,20 +4037,20 @@ msgstr "Glance" msgid "Go" -msgstr "Go" +msgstr "执行" #, python-format msgid "Group \"%s\" was successfully created." -msgstr "组 \"%s\" 已经成功创建。" +msgstr "已成功创建组 “%s” 。" msgid "Group ID" -msgstr "组ID" +msgstr "组标识" msgid "Group Management" msgstr "组管理" msgid "Group Management: {{ group.name }}" -msgstr "组管理: {{ group.name }}" +msgstr "组管理:{{ group.name }}" msgid "Group Members" msgstr "组成员" @@ -4038,7 +4059,7 @@ msgstr "分组:" msgid "Group has been updated successfully." -msgstr "组已经被成功更新。" +msgstr "已成功更新组。" msgid "Groups" msgstr "组" @@ -4047,25 +4068,26 @@ "Groups are used to manage access and assign roles to multiple users at once. " "After creating the group, edit the group to add users." msgstr "" -"组被用于管理使用权,同时为多个用于分配角色。创建组之后,编辑组,添加用户." +"组被用于管理访问权,并将角色同时分配给多个用户。创建组之后,编辑组以添加用" +"户。" msgid "" "Groups are used to manage access and assign roles to multiple users at once. " "Edit the group to add users." -msgstr "组被用于管理使用权,同时为多个用于分配角色。编辑组,添加用户." +msgstr "组被用于管理访问权,并将角色同时分配给多个用户。编辑组以添加用户。" #. Translators: High Availability mode of Neutron router msgid "HA mode" -msgstr "HA模式" +msgstr "HA 模式" msgid "HTTP" msgstr "HTTP" msgid "HTTP Method" -msgstr "HTTP方法" +msgstr "HTTP 方法" msgid "HTTP method used to check health status of a member" -msgstr "检查成员的健康状态使用的HTTP方法" +msgstr "检查成员的运行状态时使用的 HTTP 方法" msgid "HTTPS" msgstr "HTTPS" @@ -4076,11 +4098,11 @@ msgid "Hard Reboot Instance" msgid_plural "Hard Reboot Instances" -msgstr[0] "硬重启云主机" +msgstr[0] "硬重启实例" msgctxt "Task status of an Instance" msgid "Hard Reboot Pending" -msgstr "等待硬重启" +msgstr "硬重启暂挂" msgctxt "Task status of an Instance" msgid "Hard Reboot Started" @@ -4088,21 +4110,21 @@ msgid "Hard Rebooted Instance" msgid_plural "Hard Rebooted Instances" -msgstr[0] "已硬重启的云主机" +msgstr[0] "已硬重启的实例" msgctxt "Task status of an Instance" msgid "Hard Rebooting" msgstr "硬重启" msgid "Hash" -msgstr "Hash" +msgstr "散列" msgid "Health Monitors" -msgstr "健康状况监控" +msgstr "运行状况状况监视器" #, python-format msgid "Health monitor %s was successfully updated." -msgstr "健康监控 %s 更新成功。" +msgstr "已成功更新运行状况监视器 %s。" msgid "Help" msgstr "帮助" @@ -4120,10 +4142,10 @@ msgstr "主机 =" msgid "Host Aggregate Information" -msgstr "主机聚合信息" +msgstr "主机聚集信息" msgid "Host Aggregates" -msgstr "主机聚合" +msgstr "主机聚集" msgid "Host Routes" msgstr "主机路由" @@ -4132,22 +4154,22 @@ msgid "" "Host Routes format error: Destination CIDR and nexthop must be specified " "(value=%s)" -msgstr "主机路由错误: 必须指定目的CIDR 和下一跳。(值为 %s)" +msgstr "主机路由格式错误:必须指定目标 CIDR 和下一中继段 (value=%s)" msgid "" "Host aggregates divide an availability zone into logical units by grouping " "together hosts. Create a host aggregate then select the hosts contained in " "it." msgstr "" -"主机聚合通过将主机组合到一起来把可用区域划分成逻辑单元。创建一个主机聚合,然" -"后选择要放里面的主机。" +"主机聚集通过将主机组合到一起以将一个可用区域划分为若干逻辑单元。创建主机聚" +"集,然后选择要包含到其中的主机。" msgid "" "Host aggregates divide an availability zone into logical units by grouping " "together hosts. Edit the aggregate host to select hosts contained in it." msgstr "" -"主机聚合通过将主机组合到一起来把可用区域划分成逻辑单元。编辑主机聚合,然后选" -"择里面的主机。" +"主机聚集通过将主机组合到一起以将一个可用区域划分为若干逻辑单元。编辑主机聚集" +"以选择要包含在其中的主机。" msgid "Hostname" msgstr "主机名字" @@ -4156,83 +4178,86 @@ msgstr "主机" msgid "Hypervisor" -msgstr "虚拟机管理器" +msgstr "管理程序" msgid "Hypervisor Instances" -msgstr "虚拟机管理器上的云主机" +msgstr "管理程序实例" msgid "Hypervisor Servers" -msgstr "虚拟机管理器上的云主机" +msgstr "管理程序服务器" msgid "Hypervisor Summary" -msgstr "虚拟机管理器概述" +msgstr "管理程序概述" msgid "Hypervisors" -msgstr "虚拟机管理器" +msgstr "管理程序" msgid "ICMP" msgstr "ICMP" +msgid "ICMP code is provided but ICMP type is missing." +msgstr "已提供 ICMP 代码,但缺少 ICMP 类型。" + msgid "ID" -msgstr "ID" +msgstr "标识" msgid "IKE Phase1 negotiation mode" -msgstr "IKE Phase1协商模式" +msgstr "IKE Phase1 协商模式" msgid "IKE Policies" -msgstr "IKE策略" +msgstr "IKE 策略" msgid "IKE Policy" -msgstr "IKE策略" +msgstr "IKE 策略" #, python-format msgid "IKE Policy %s was successfully updated." -msgstr "成功更新IKE策略 %s。" +msgstr "成功更新 IKE 策略 %s。" msgid "IKE Policy Details" -msgstr "IKE策略详情" +msgstr "IKE 策略详情" msgid "IKE Policy associated with this connection" -msgstr "IKE策略已经与此连接关联" +msgstr "IKE 策略已经与此连接关联" msgid "IKE version" -msgstr "IKE版本" +msgstr "IKE 版本" msgid "IP Address" msgstr "IP 地址" msgid "IP Address (optional)" -msgstr "IP地址(可选)" +msgstr "IP 地址(可选)" msgid "IP Addresses" -msgstr "IP地址" +msgstr "IP 地址" msgid "IP Protocol" -msgstr "IP协议" +msgstr "IP 协议" msgid "IP Version" -msgstr "IP版本" +msgstr "IP 版本" msgid "IP Version for Firewall Rule" -msgstr "防火墙规则的IP版本" +msgstr "防火墙规则的 IP 版本" msgid "IP address" -msgstr "IP地址" +msgstr "IP 地址" #, python-format msgid "IP address %s associated." -msgstr "IP地址 %s 已绑定" +msgstr "IP 地址 %s 已绑定" msgid "" "IP address allocation pools. Each entry is: start_ip_address,end_ip_address " "(e.g., 192.168.1.100,192.168.1.120) and one entry per line." msgstr "" -"IP地址分配池. 每条记录是:开始IP,结束IP(例如 192.168.1.100,192.168.1.120) ," -"每行一条记录." +"IP 地址分配池。每条记录为:起始 IP 地址,结束 IP地址(例如," +"192.168.1.100,192.168.1.120),每行一条记录。" msgid "" "IP address list of DNS name servers for this subnet. One entry per line." -msgstr "该子网的DNS服务器IP地址列表,每行一个。" +msgstr "此子网的 DNS 名称服务器的 IP 地址列表,每行一个。" msgid "" "IP address of Gateway (e.g. 192.168.0.254) The default value is the first IP " @@ -4240,44 +4265,44 @@ "2001:DB8::/48). If you use the default, leave blank. If you do not want to " "use a gateway, check 'Disable Gateway' below." msgstr "" -"网关IP地址(例如 192.168.0.254) 缺省值是网络地址的第一个IP (例如 " -"192.168.0.0/24的192.168.0.1, 2001:DB8::/48的2001:DB8::1). 如果你要使用缺省" -"值,保留为空白。如果你不想使用网关,勾选下面的'禁用网关'。" +"网关 IP 地址(例如,192.168.0.254)。缺省值是网络地址的第一个 IP(例如,对于" +"192.168.0.0/24 为 192.168.0.1,对于 2001:DB8::/48,为 2001:DB8::1)。如果您要" +"使用缺省值,请留为空白。如果您不想使用网关,请选中下面的“禁用网关”。" msgid "IP allocation pool" -msgstr "IP池" +msgstr "IP 池" msgid "IP version" -msgstr "IP版本" +msgstr "IP 版本" msgid "IPMI" msgstr "IPMI" msgid "IPSec Policies" -msgstr "IPSec策略" +msgstr "IPSec 策略" msgid "IPSec Policy" -msgstr "IPSec策略" +msgstr "IPSec 策略" #, python-format msgid "IPSec Policy %s was successfully updated." -msgstr "成功更新IPSec策略 %s." +msgstr "成功更新 IPSec 策略 %s。" msgid "IPSec Policy Details" -msgstr "IPSec策略详情" +msgstr "IPSec 策略详情" msgid "IPSec Policy associated with this connection" -msgstr "IPSec策略已经与此连接关联" +msgstr "IPSec 策略已经与此连接关联" #, python-format msgid "IPSec Site Connection %s was successfully updated." -msgstr "成功更新IPSec站点连接 %s." +msgstr "成功更新 IPSec 站点连接 %s。" msgid "IPSec Site Connection Details" -msgstr "IPSec站点连接详情" +msgstr "IPSec 站点连接详情" msgid "IPSec Site Connections" -msgstr "IPSec站点连接" +msgstr "IPSec 站点连接" msgid "IPv4" msgstr "IPv4" @@ -4295,31 +4320,31 @@ msgstr "IPv6 地址 =" msgid "IPv6 Address Configuration Mode" -msgstr "IPv6地址配置模式" +msgstr "IPv6 地址配置模式" msgid "IPv6:" msgstr "IPv6:" msgid "ISO - Optical Disk Image" -msgstr "ISO - 光盘镜像" +msgstr "ISO - 光盘映像" msgid "Identifier" -msgstr "识别码" +msgstr "标识" msgid "Identifier Type" -msgstr "标识符类型" +msgstr "标识类型" msgid "Identity" msgstr "身份管理" msgid "Identity Provider ID" -msgstr "身份提供者(identity provider)ID" +msgstr "身份提供者标识" msgid "Identity Providers" msgstr "身份提供者" msgid "Identity provider protocol created successfully." -msgstr "身份提供者协议创建成功。" +msgstr "已成功创建身份提供者协议。" msgid "Identity provider registered successfully." msgstr "身份提供者注册成功。" @@ -4328,28 +4353,28 @@ msgstr "身份提供者更新成功。" msgid "Identity service does not allow editing user data." -msgstr "认证服务不允许编辑用户数据。" +msgstr "身份服务不允许编辑用户数据。" msgid "Identity service does not allow editing user password." -msgstr "认证服务不允许编辑用户密码。" +msgstr "身份服务不允许编辑用户密码。" msgid "" "If \"No volume type\" is selected, the volume will be created without a " "volume type." -msgstr "如果\"无云硬盘类型\"被选中, 云硬盘被创建的时候将没有云硬盘类型。" +msgstr "如果选择“无卷类型”,那么将创建没有卷类型的卷。" msgid "" "If console is not responding to keyboard input: click the grey status bar " "below." -msgstr "如果控制台无响应:请点击下面灰色状态栏." +msgstr "如果控制台未响应键盘输入,请单击下面的灰色状态栏。" msgid "" "If no container name is provided, a default container named volumebackups " "will be provisioned for you. Backups will be the same size as the volume " "they originate from." msgstr "" -"如果不提供容器名字,默认会使用 volumebackups 来作为名字。备份会跟它们原来的云" -"硬盘大小一样。" +"如果不提供容器名字,缺省会使用 volumebackups 来作为名字。备份会跟它们原来的卷" +"大小一样。" msgid "" "If you select an image via an HTTP/HTTPS URL, the Image Location field MUST " @@ -4357,79 +4382,79 @@ "the Image Service. URLs that redirect or serve error pages will result in " "unusable images." msgstr "" -"如果你通过HTTP/HTTPS URL选择一个镜像,镜像位置字段必须是一个有效和到镜像文件" -"的直接URL;它必须可以被镜像服务访问。URL重定向或者服务端错误页面将会导致不可" -"用的镜像。" +"如果您通过 HTTP/HTTPS URL 选择映像,那么映像位置字段必须是指向映像二进制文件" +"的有效直接 URL;它必须可以被映像服务访问。重定向或提供错误页面的 URL 将导致产" +"生不可用的映像。" msgid "Image" -msgstr "镜像" +msgstr "映像" msgctxt "Type of an image" msgid "Image" -msgstr "镜像" +msgstr "映像" msgid "Image (Glance)" -msgstr "镜像(Glance)" +msgstr "映像 (Glance)" msgctxt "Task status of an Instance" msgid "Image Backup" -msgstr "镜像备份" +msgstr "映像备份" msgid "Image File" -msgstr "镜像文件" +msgstr "映像文件" msgid "Image ID" -msgstr "镜像ID" +msgstr "映像标识" msgid "Image ID =" -msgstr "镜像ID =" +msgstr "映像标识 =" msgid "Image Location" -msgstr "镜像地址" +msgstr "映像位置" msgid "Image Name" -msgstr "镜像名称" +msgstr "映像名称" msgid "Image Name =" -msgstr "镜像名称 =" +msgstr "映像名称 =" msgctxt "Task status of an Instance" msgid "Image Pending Upload" -msgstr "镜像等待上传" +msgstr "映像暂挂上传" msgctxt "Task status of an Instance" msgid "Image Snapshot Pending" -msgstr "等待镜像快照" +msgstr "暂挂映像快照" msgid "Image Source" -msgstr "镜像源" +msgstr "映像源" msgctxt "Task status of an Instance" msgid "Image Uploading" -msgstr "镜像上传" +msgstr "映像正在上传" msgid "Image existence check" -msgstr "检查镜像是否存在" +msgstr "检查映像是否存在" msgid "Image is downloaded" -msgstr "镜像已下载" +msgstr "映像已下载" msgid "Image is served out" -msgstr "镜像已使用" +msgstr "映像已分发" msgid "Image source must be specified" -msgstr "镜像源必须被指定" +msgstr "必须指定映像源" msgid "Image was successfully updated." -msgstr "镜像更新成功。" +msgstr "映像更新成功。" msgid "Images" -msgstr "镜像" +msgstr "映像" msgid "" "Images can be provided via an HTTP/HTTPS URL or be uploaded from your local " "file system." -msgstr "镜像可以通过HTTP/HTTPS URL提供或者从本地文件系统上传。" +msgstr "映像可以通过 HTTP/HTTPS URL 提供或者从本地文件系统上传。" msgid "Implementation" msgstr "实现" @@ -4438,18 +4463,18 @@ msgstr "导入密钥对" msgid "Import Namespace" -msgstr "导入命名空间" +msgstr "导入名称空间" msgid "In Policy" msgstr "在策略" msgid "In Use" -msgstr "正在使用" +msgstr "使用中" msgid "" "In addition, you can create an external network or a shared network by " "checking the corresponding checkbox." -msgstr "此外,你可以勾选相应的复选框来创建外部网络或者共享网络。" +msgstr "此外,您可以勾选相应的复选框来创建外部网络或者共享网络。" msgctxt "Current status of Consistency Group" msgid "In-use" @@ -4461,7 +4486,7 @@ msgctxt "Current status of a Firewall" msgid "Inactive" -msgstr "失效" +msgstr "不活动" msgctxt "Current status of a Pool" msgid "Inactive" @@ -4474,7 +4499,7 @@ msgid "" "Indicates whether this identity provider should accept federated " "authentication requests." -msgstr "表明这个身份提供者是否应该接收联邦认证请求。" +msgstr "表明此身份提供者是否应该接收联合认证请求。" msgid "Info" msgstr "信息" @@ -4501,19 +4526,19 @@ msgstr "发起者状态" msgid "Injected File Content (Bytes)" -msgstr "已注入文件内容(Bytes)" +msgstr "已注入文件内容(字节)" msgid "Injected File Content Bytes" msgstr "注入的文件内容字节数" msgid "Injected File Path Bytes" -msgstr "注入的文件目录字节数" +msgstr "注入的文件路径字节数" msgid "Injected Files" msgstr "注入的文件" msgid "Input must be in CIDR format" -msgstr "输入必须是CIDR格式" +msgstr "输入必须是 CIDR 格式" msgid "Insert Rule" msgstr "插入规则" @@ -4525,79 +4550,79 @@ msgstr "向策略中添加规则" msgid "Instance" -msgstr "云主机" +msgstr "实例" msgid "Instance Action List" -msgstr "云主机操作列表" +msgstr "实例操作列表" msgid "Instance Admin Password" -msgstr "云主机管理员密码" +msgstr "实例管理员密码" msgid "Instance Boot Source" -msgstr "云主机启动源 " +msgstr "实例引导源 " msgid "Instance Console" -msgstr "云主机控制台" +msgstr "实例控制台" msgid "Instance Console Log" -msgstr "云主机控制台日志" +msgstr "实例控制台日志" msgid "Instance Count" -msgstr "云主机数量" +msgstr "实例数量" msgid "Instance ID" -msgstr "云主机ID" +msgstr "实例标识" msgid "Instance Name" -msgstr "云主机名称" +msgstr "实例名称" msgid "Instance Name =" -msgstr "云主机名字 =" +msgstr "实例名字 =" msgid "Instance Overview" -msgstr "云主机概况" +msgstr "实例概述" msgid "Instance Password is not set or is not yet available" -msgstr "云主机密码没有设置或是无效" +msgstr "未设置或尚未提供实例密码" msgid "Instance Security Groups" -msgstr "云主机安全组" +msgstr "实例安全组" msgid "Instance Snapshot" -msgstr "云主机快照" +msgstr "实例快照" msgid "Instance to be associated" -msgstr "待连接的云主机" +msgstr "要关联的实例" msgid "Instances" -msgstr "云主机" +msgstr "实例" msgid "Insufficient privilege level to view domain information." -msgstr "查看域信息权限不足。" +msgstr "权限级别不足,无法查看域信息。" msgid "Insufficient privilege level to view group information." -msgstr "查看组信息权限不足。" +msgstr "权限级别不足,无法查看组信息。" msgid "Insufficient privilege level to view identity provider information." -msgstr "查看身份提供信息权限不足。" +msgstr "权限级别不足,无法查看身份提供者信息。" msgid "Insufficient privilege level to view mapping information." -msgstr "查看映射信息的权限不足。" +msgstr "权限级别不足,无法查看映射信息。" msgid "Insufficient privilege level to view project information." -msgstr "查看项目信息权限不足。" +msgstr "权限级别不足,无法查看项目信息。" msgid "Insufficient privilege level to view role information." -msgstr "查看角色信息权限不足。" +msgstr "权限级别不足,无法查看角色信息。" msgid "Insufficient privilege level to view user information." -msgstr "查看用户信息权限不足。" +msgstr "权限级别不足,无法查看用户信息。" msgid "Intelligent Platform Management Interface (IPMI)" -msgstr "智能平台管理接口(IPMI)" +msgstr "智能平台管理接口 (IPMI)" msgid "Interface added" -msgstr "接口已增加" +msgstr "接口已添加" msgid "Interfaces" msgstr "接口" @@ -4606,11 +4631,11 @@ msgstr "内部接口" msgid "Invalid date format: Using today as default." -msgstr "无效的日期格式:默认为今天。" +msgstr "无效的日期格式:缺省为今天。" #, python-format msgid "Invalid format for routes : %s" -msgstr "无效的路由格式:%s" +msgstr "无效的路由格式:%s" msgid "" "Invalid time period. The end date should be more recent than the start date." @@ -4619,7 +4644,7 @@ msgid "" "Invalid time period. You are requesting data from the future which may not " "exist." -msgstr "无效的时间范围。你正在查询未来的、尚不存在的数据。" +msgstr "无效的时间范围。您正在查询未来的、尚不存在的数据。" msgid "Items Per Page" msgstr "每页条目数" @@ -4628,7 +4653,7 @@ msgstr "内核" msgid "Kernel ID" -msgstr "内核ID" +msgstr "内核标识" msgid "Key" msgstr "键" @@ -4649,15 +4674,15 @@ msgstr "密钥对" msgid "Key Pairs are how you login to your instance after it is launched." -msgstr "密钥对是用来登录您创建的云主机的方式。" +msgstr "密钥对可用来登录已启动实例。" msgid "Key Size (bits)" -msgstr "密钥大小(bits)" +msgstr "密钥大小(位数)" msgid "" "Key pair name may only contain letters, numbers, underscores, spaces and " "hyphens." -msgstr "密钥对名称只能包含字母,数字,下划线,空格和连字符。" +msgstr "密钥对名称只能包含字母、数字、下划线、空格和连字符。" msgid "Key pair to use for authentication." msgstr "认证所用的密钥对" @@ -4667,30 +4692,30 @@ "launched. Creating a new key pair registers the public key and downloads the " "private key (a .pem file)." msgstr "" -"密钥对是在创建时被注入到镜像中SSH凭据。创建新的密钥对,注册公钥并下载私钥(." -"pem文件)。" +"密钥对是启动时被注入到映像中的 SSH 凭据。创建新的密钥对会注册公钥并下载私钥" +"(.pem文件)。" msgid "Key-Value Pairs" -msgstr "键值对" +msgstr "键/值对" msgctxt "Current status of an Image" msgid "Killed" -msgstr "已杀死" +msgstr "已终止" msgid "Kwapi" msgstr "Kwapi" msgid "LB Method" -msgstr "LB方式" +msgstr "LB 方法" msgid "Language" msgstr "语言" msgid "Last 15 days" -msgstr "最近15天" +msgstr "最近 15 天" msgid "Last 30 days" -msgstr "最近30天" +msgstr "最近 30 天" msgid "Last Modified" msgstr "最近修改" @@ -4712,47 +4737,47 @@ msgstr "最近一年" msgid "Launch" -msgstr "创建" +msgstr "启动" msgid "Launch Instance" -msgstr "创建云主机" +msgstr "启动实例" msgid "Launch Instance (Quota exceeded)" -msgstr "创建云主机 (配额用尽)" +msgstr "启动实例(超过配额)" msgid "Launch Parameters" msgstr "创建参数" msgid "Launch Stack" -msgstr "创建栈" +msgstr "创建堆栈" msgid "Launch as Instance" -msgstr "创建云主机" +msgstr "创建实例" msgid "Launch instance in these security groups." -msgstr "在这些安全组中创建云主机。" +msgstr "在这些安全组中启动实例。" msgid "Launch instance with these networks" -msgstr "使用这些网络创建云主机" +msgstr "使用这些网络启动实例" msgid "Launch instance with these ports" -msgstr "使用这些网络端口创建云主机" +msgstr "使用这些端口启动实例" msgid "Launch instance with this policy profile" -msgstr "使用这个策略概要来创建云主机" +msgstr "使用此策略概要文件启动实例" #, python-format msgid "Launched %(count)s named \"%(name)s\"." -msgstr "创建了%(count)s 名称\"%(name)s\"." +msgstr "已启动 %(count)s 个指定“%(name)s”。" msgid "" "Launching multiple instances is only supported for images and instance " "snapshots." -msgstr "只支持从镜像和云主机快照同时创建多个云主机" +msgstr "仅支持对映像和实例快照启动多个实例。" msgctxt "load balancing method" msgid "Least Connections" -msgstr "最少连接" +msgstr "最少连接数" msgid "Least connections" msgstr "最少连接" @@ -4770,16 +4795,16 @@ msgstr "生存期单位" msgid "Lifetime units for IKE keys" -msgstr "IKE密钥的生存期单位" +msgstr "IKE 密钥的生存期单位" msgid "Lifetime value" msgstr "生存期值" msgid "Lifetime value for IKE keys" -msgstr "IKE密钥的生存期值" +msgstr "IKE 密钥的生存期值" msgid "Lifetime value for IKE keys " -msgstr "IKE密钥的生存周期" +msgstr "IKE 密钥的生存周期" msgid "Limit" msgstr "限制" @@ -4788,13 +4813,13 @@ msgstr "链接" msgid "Live Migrate" -msgstr "热迁移" +msgstr "实时迁移" msgid "Live Migrate Instance" -msgstr "云主机热迁移" +msgstr "实时迁移实例" msgid "Live migrate an instance to a specific host." -msgstr "热迁移一个云主机到指定主机" +msgstr "将实例实时迁移至特定主机" msgid "Load Balancer" msgstr "负载均衡器" @@ -4810,27 +4835,27 @@ msgstr "负载均衡方式" msgid "Local" -msgstr "Local" +msgstr "本地" msgid "Local Disk Usage" msgstr "本地磁盘使用量" msgid "Local Side Public IPs" -msgstr "本地端公共IP" +msgstr "本地端公共 IP" msgid "Local Storage (total)" -msgstr "本地存储(总计)" +msgstr "本地存储器(总计)" msgid "Local Storage (used)" -msgstr "本地存储(已用)" +msgstr "本地存储器(已用)" msgid "Lock Instance" msgid_plural "Lock Instances" -msgstr[0] "锁定云主机" +msgstr[0] "锁定实例" msgid "Locked Instance" msgid_plural "Locked Instances" -msgstr[0] "已锁定的云主机" +msgstr[0] "已锁定的实例" msgid "Log" msgstr "日志" @@ -4839,16 +4864,16 @@ msgstr "日志长度" msgid "Log Lines Per Instance" -msgstr "每个云主机的日志行数" +msgstr "每个实例的日志行数" msgid "Log length must be a nonnegative integer." msgstr "日志长度必须为非负整数值。" msgid "MAC Address" -msgstr "MAC地址" +msgstr "MAC 地址" msgid "MAC Learning State" -msgstr "MAC学习状态" +msgstr "MAC 学习状态" msgid "MB" msgstr "MB" @@ -4867,18 +4892,18 @@ msgstr "维护" msgid "Make Private" -msgstr "私有化" +msgstr "专用" msgid "Make Public" -msgstr "公有化" +msgstr "公用" msgid "" "Make a new copy of an existing object to store in this or another container. " "You may additionally specify the path within the selected container where " "the new copy should be stored." msgstr "" -"创建一个已有存储对象的拷贝、并存放在这个或另一个容器中。你应该额外指定这个新" -"拷贝在你选定容器中的存放路径。" +"创建现有对象的新副本以存储在此容器或另一容器中。您可额外指定新副本在所选容器" +"内的存储路径。" msgid "Manage" msgstr "管理" @@ -4887,16 +4912,16 @@ msgstr "管理连接" msgid "Manage Floating IP Associations" -msgstr "管理浮动IP的关联" +msgstr "管理浮动 IP 的关联" msgid "Manage Hosts" msgstr "管理主机" msgid "Manage Hosts Aggregate" -msgstr "管理主机聚合" +msgstr "管理主机聚集" msgid "Manage Hosts within Aggregate" -msgstr "管理聚合内的主机" +msgstr "管理聚集内的主机" msgid "Manage Members" msgstr "管理成员" @@ -4905,7 +4930,7 @@ msgstr "管理协议" msgid "Manage QoS Spec Association" -msgstr "管理QoS规格关联" +msgstr "管理 QoS 规范关联" msgid "Manage Rules" msgstr "管理规则" @@ -4919,41 +4944,41 @@ msgstr "管理安全组规则:{{ security_group.name }} ({{ security_group.id }})" msgid "Manage Specs" -msgstr "管理规格" +msgstr "管理规范" msgid "Manage Volume" -msgstr "管理云硬盘" +msgstr "管理卷" msgid "Manage Volume Attachments" -msgstr "管理已连接云硬盘" +msgstr "管理卷连接" msgid "Manage Volume Types" -msgstr "管理云硬盘类型" +msgstr "管理卷类型" msgid "Manage Volumes" -msgstr "管理云硬盘" +msgstr "管理卷" msgid "Manage a Volume" -msgstr "管理一个云硬盘" +msgstr "管理卷" msgid "Manual" msgstr "手动" msgid "Mapped Fixed IP Address" -msgstr "已映射固定IP地址" +msgstr "已映射固定 IP 地址" msgid "Mapping ID" -msgstr "映射ID" +msgstr "映射标识" #, python-format msgid "Mapping ID \"%s\" is already used." -msgstr "映射ID \"%s\" 已经存在。" +msgstr "映射标识 “%s” 已经存在。" msgid "Mapping created successfully." -msgstr "映射创建成功。" +msgstr "已成功创建映射。" msgid "Mapping updated successfully." -msgstr "映射更新成功。" +msgstr "已成功更新映射。" msgid "Mappings" msgstr "映射" @@ -4966,25 +4991,25 @@ msgstr "最大尝试次数" msgid "Max Retries (1~10)" -msgstr "最大重试次数(1~10)" +msgstr "最大重试次数 (1~10)" msgid "Max." msgstr "最大" msgid "Max. Size (MB) =" -msgstr "容量最大值 (MB) =" +msgstr "最大大小 (MB) =" msgid "Maximum Transmission Unit size for the connection" -msgstr "这个连接的最大传输单元大小" +msgstr "此连接的最大传输单元大小" msgid "" "Maximum number of connections allowed for the VIP or '-1' if the limit is " "not set" -msgstr "VIP 允许的最大连接数,如果没有限制则为\"-1\"。" +msgstr "VIP 允许的最大连接数,如果未设置此限制,那么为“-1”。" #, python-format msgid "Member %s was successfully updated." -msgstr "成员 %s 更新成功。" +msgstr "已成功更新成员 %s。" msgid "Member Address" msgstr "成员地址" @@ -4993,10 +5018,10 @@ msgstr "成员详情" msgid "Member IP address must be specified" -msgstr "必须指定成员IP地址" +msgstr "必须指定成员 IP 地址" msgid "Member Instance(s)" -msgstr "成员云主机" +msgstr "成员实例" msgid "Member Source" msgstr "成员来源" @@ -5005,7 +5030,7 @@ msgstr "成员" msgid "Memory MB Hours" -msgstr "内存 MB 小时" +msgstr "内存 MB 小时数" msgid "Memory Usage" msgstr "内存使用量" @@ -5040,7 +5065,7 @@ msgid "Migrate Instance" msgid_plural "Migrate Instances" -msgstr[0] "迁移云主机" +msgstr[0] "迁移实例" msgid "Migrate Volume" msgstr "迁移卷" @@ -5051,9 +5076,9 @@ "host can be Live Migrated. Cold Migration is trying to use 'nova migrate' on " "each instance of migrated host." msgstr "" -"迁移一个nova-compute服务已被关闭的主机上的所有云主机,您可以选择迁移类型。所" -"有正在运行的云主机都可以进行热迁移(Live Migration)。冷迁移(Cold " -"Migration)会尝试在被迁移主机上使用 'nova migrate’ 迁移每个云主机。" +"从已禁用 nova-compute 服务的主机迁移所有实例。(可选)可选择迁移类型。该主机" +"的所有正在运行的可实时迁移。冷迁移将尝试在被迁移主机的每个实例上使用“nova " +"migrate”。" msgid "Migrated Host" msgid_plural "Migrated Hosts" @@ -5061,14 +5086,14 @@ msgctxt "Current status of an Instance" msgid "Migrating" -msgstr "迁移" +msgstr "正在迁移" msgctxt "Task status of an Instance" msgid "Migrating" msgstr "正在迁移" msgid "Migrating instances may cause some unrecoverable results." -msgstr "迁移云主机可能会引起一些不可恢复的结果。" +msgstr "迁移实例可能会引起一些不可恢复的结果。" msgid "Migration Policy" msgstr "迁移策略" @@ -5083,46 +5108,46 @@ msgstr "最小" msgid "Min. Size (MB) =" -msgstr "容量最小值 (MB) =" +msgstr "最小大小 (MB) =" msgid "Minimum Disk (GB)" -msgstr "最小磁盘(GB)" +msgstr "最小磁盘 (GB)" msgid "Minimum RAM (MB)" -msgstr "最低内存(MB)" +msgstr "最低内存 (MB)" msgid "Minutes" msgstr "分钟" #, python-format msgid "Modified domain \"%s\"." -msgstr "已修改域 \"%s\"。" +msgstr "已修改域 “%s”。" #, python-format msgid "Modified flavor \"%s\"." -msgstr "已修改云主机类型 \"%s\"" +msgstr "已修改 flavor“%s”" msgid "Modified flavor information, but unable to modify flavor access." -msgstr "已修改云主机类型信息,但是无法修改云主机类型的使用权。" +msgstr "已修改 flavor 信息,但是无法修改 flavor 访问权。" #, python-format msgid "Modified instance \"%s\"." -msgstr "修改云主机\"%s\"" +msgstr "已修改实例“%s”。" #, python-format msgid "Modified project \"%s\"." -msgstr "已修改的项目\"%s\"。" +msgstr "已修改项目“%s”。" msgid "" "Modified project information and members, but unable to modify project " "quotas." -msgstr "更新项目信息和成员成功,但是无法修改项目配额" +msgstr "已修改项目信息和成员,但是无法修改项目配额。" msgid "Modify Access" -msgstr "修改使用权" +msgstr "修改访问权" msgid "Modify Consumer" -msgstr "修改消费者" +msgstr "修改使用者" msgid "Modify Groups" msgstr "修改组" @@ -5134,34 +5159,34 @@ msgstr "修改使用量报表参数" msgid "Modify dashboard settings for your user." -msgstr "修改当前用户的界面设置" +msgstr "修改用户的界面设置。" msgid "Modify name and description of a volume." -msgstr "修改云硬盘的名称和描述" +msgstr "修改卷的名称和描述" msgid "Modify the name and description of a snapshot." msgstr "编辑快照的名称和描述" msgid "Modify the name and description of a volume consistency group." -msgstr "修改云硬盘一致性组名称和描述" +msgstr "修改卷一致性组名称和描述" msgid "Modify volume type name and description." -msgstr "更改云硬盘名称和描述" +msgstr "修改卷类型名称和描述。" msgid "Monitor" -msgstr "监控" +msgstr "监视器" msgid "Monitor Details" -msgstr "监控详情" +msgstr "监视器详情" msgid "Monitor Type" -msgstr "监控类型" +msgstr "监视器类型" msgid "Monitoring:" -msgstr "监控:" +msgstr "监视:" msgid "Monitors" -msgstr "监控" +msgstr "监视器" msgid "Month to date" msgstr "月累计" @@ -5170,11 +5195,11 @@ msgstr "必须指定起始时间段" msgid "N/A" -msgstr "N/A" +msgstr "不适用" msgctxt "current status of port" msgid "N/A" -msgstr "N/A" +msgstr "不适用" msgid "Name" msgstr "名称" @@ -5184,60 +5209,59 @@ msgid "" "Name may only contain letters, numbers, underscores, periods and hyphens." -msgstr "名字只能包含半角的字母、数字、下划线(_)、点号(.)和连字符(-)。" +msgstr "名字只能包含半角的字母、数字、下划线、句点和连字符。" msgid "" "Name must start with a letter and may only contain letters, numbers, " "underscores, periods and hyphens." -msgstr "" -"名字必须以字母开始,并且只能包含字母、数字、下划线、点号(.)和连字符。" +msgstr "名字必须以字母开始,并且只能包含字母、数字、下划线、句点和连字符。" msgid "Name of the stack to create." -msgstr "待创建栈的名称" +msgstr "待创建堆栈的名称" msgid "Name or other identifier for existing volume" -msgstr "已有云硬盘的名称或者其他标识符" +msgstr "现有卷的名称或者其他标识" #, python-format msgid "Name: %(name)s ID: %(uuid)s" -msgstr "名称: %(name)s ID: %(uuid)s" +msgstr "名称: %(name)s 标识:%(uuid)s" msgid "Namespace" -msgstr "命名空间" +msgstr "名称空间" #, python-format msgid "Namespace %s has been created." -msgstr "命名空间 %s 已经被创建。" +msgstr "已创建名称空间 %s。" msgid "Namespace Definition Source" -msgstr "命名空间定义数据源" +msgstr "名称空间定义数据源" msgid "Namespace JSON" -msgstr "命名空间JSON" +msgstr "名称空间 JSON" msgid "Namespace Overview" -msgstr "命名空间概况" +msgstr "名称空间概述" msgid "Namespace Resource Type Associations" -msgstr "命名空间资源类型关联" +msgstr "名称空间资源类型关联" msgid "Namespaces" -msgstr "命名空间" +msgstr "名称空间" msgid "" "Namespaces can be associated to different resource types. This makes the " "properties in the namespace visible in the 'Update Metadata' action for that " "type of resource." msgstr "" -"命名空间可以和不同的资源类型进行关联,当对该类型的资源执行“更新元数据”的操作" -"时,就可以看到相应的属性。" +"名称空间可以和不同的资源类型进行关联,当对该类型的资源执行“更新元数据”的操作" +"时,该名称空间中的属性可见。" msgid "Network" msgstr "网络" #, python-format msgid "Network \"%s\" was successfully created." -msgstr "成功创建网络\"%s\"." +msgstr "成功创建网络“%s”。" #, python-format msgid "Network %s was successfully created." @@ -5248,25 +5272,25 @@ msgstr "网络 %s 更新成功。" msgid "Network (Neutron)" -msgstr "网络(Neutron)" +msgstr "网络 (Neutron)" msgid "Network Address" msgstr "网络地址" msgid "Network Address Source" -msgstr "网络地址资源" +msgstr "网络地址源" msgid "Network Address and IP version are inconsistent." -msgstr "网络地址和IP版本是可变的" +msgstr "网络地址与 IP 版本不一致。" msgid "Network Agents" -msgstr "网络 Agents" +msgstr "网络代理程序" msgid "Network Details" msgstr "网络详情" msgid "Network ID" -msgstr "网络ID" +msgstr "网络标识" msgid "Network Mask" msgstr "网络掩码" @@ -5275,38 +5299,38 @@ msgstr "网络名称" msgid "Network Overview" -msgstr "网络概况" +msgstr "网络概述" msgid "Network Ports" msgstr "网络端口" msgid "Network Profile" -msgstr "网络配置概要" +msgstr "网络概要文件" msgid "Network Profiles could not be retrieved." -msgstr "无法获取网络配置概要" +msgstr "无法检索网络概要文件。" msgid "Network Topology" msgstr "网络拓扑" msgid "Network Type:" -msgstr "网络类型:" +msgstr "网络类型:" msgid "Network address in CIDR format (e.g. 192.168.0.0/24)" -msgstr "CIDR格式的网络地址(例如 192.168.0.0/24)" +msgstr "CIDR 格式的网络地址(例如,192.168.0.0/24)" msgid "Network address in CIDR format (e.g. 192.168.0.0/24, 2001:DB8::/48)" -msgstr "CIDR格式的网络地址 (例如 192.168.0.0/24, 2001:DB8::/48)" +msgstr "CIDR 格式的网络地址(例如,192.168.0.0/24 和 2001:DB8::/48)" msgid "Network list can not be retrieved." -msgstr "无法获取网络列表" +msgstr "无法检索网络列表" msgid "Networking" -msgstr "网络" +msgstr "联网" msgctxt "Task status of an Instance" msgid "Networking" -msgstr "网络" +msgstr "正在联网" msgid "Networks" msgstr "网络" @@ -5321,57 +5345,57 @@ msgstr "从未更新" msgid "New DHCP Agent" -msgstr "新建DHCP Agent" +msgstr "新建 DHCP 代理程序" msgid "New Flavor" -msgstr "新的云主机类型" +msgstr "新 flaovr" msgid "New Host" msgstr "新主机" msgid "New QoS Spec Consumer" -msgstr "新建QoS规格消费者" +msgstr "新建 QoS 规范使用者" msgid "New Size (GiB)" -msgstr "新大小(GiB)" +msgstr "新大小 (GiB)" msgid "New name cannot be empty." -msgstr "新名称不能为空" +msgstr "新名称不能为空。" msgid "New name conflicts with another volume type." -msgstr "新名称与别的云硬盘类型冲突" +msgstr "新名称与另一卷类型冲突。" msgid "New password" msgstr "新密码" msgid "New size must be greater than current size." -msgstr "新大小必须大于当前设置" +msgstr "新大小必须大于当前大小。" msgid "Next" msgstr "下一步" msgid "Next Hop" -msgstr "下一跳" +msgstr "下一中继段" msgid "" "Next Hop IP must be a part of one of the subnets to which the router " "interfaces are connected." -msgstr "下一跳的IP必须是路由器接口已连接的子网的一个IP" +msgstr "下一中继段 IP 必须包含在路由器接口连接至的子网中。" msgid "Next Hops" -msgstr "下一跳" +msgstr "下一中继段" msgid "Next »" msgstr "前进 »" msgid "No" -msgstr "不" +msgstr "否" msgid "No Host selected." msgstr "没有选择主机。" msgid "No Hosts found." -msgstr "没有找到主机。" +msgstr "找不到主机。" msgid "No Ports available" msgstr "无可用端口" @@ -5384,34 +5408,34 @@ msgstr "无状态" msgid "No assigned volumes" -msgstr "没有分配云硬盘" +msgstr "没有分配卷" msgid "No associations defined." msgstr "没有定义关联。" msgid "No attached device" -msgstr "没有连接设备" +msgstr "没有已连接设备" msgid "No availability zones found" msgstr "找不到可用域。" msgid "No available console found." -msgstr "没有可用的控制台" +msgstr "找不到可用的控制台。" msgid "No available projects" msgstr "没有可用项目" msgid "No flavors available" -msgstr "没有可用的云主机类型。" +msgstr "没有可用 flavor " msgid "No floating IP addresses allocated" -msgstr "没有分配浮动IP" +msgstr "没有分配浮动 IP" msgid "No floating IP pools available" -msgstr "没有可用的浮动IP池" +msgstr "没有可用的浮动 IP 池" msgid "No floating IPs to disassociate." -msgstr "没有可以取消的浮动ip地址" +msgstr "没有可以取消关联的浮动 IP 地址。" msgid "No groups found." msgstr "无法找到组。" @@ -5423,16 +5447,16 @@ msgstr "没有选择主机。" msgid "No hosts found." -msgstr "没有找到主机。" +msgstr "找不到主机。" msgid "No images available" -msgstr "没有可用镜像。" +msgstr "没有可用映像" msgid "No input was provided for the namespace content." -msgstr "未为命名空间内容提供输入。" +msgstr "未对名称空间内容提供输入。" msgid "No instances available" -msgstr "无可用云主机" +msgstr "无可用实例" msgid "No key pairs available" msgstr "没有有效的密钥对" @@ -5444,13 +5468,13 @@ msgstr "没有可用的网络" msgid "No new QoS spec available" -msgstr "没有新的可用QoS规格" +msgstr "没有新的可用 QoS 规范" msgid "No options specified" -msgstr "无选项指定" +msgstr "未指定选项" msgid "No other agents available." -msgstr "没用可用的agents。" +msgstr "没用其他可用代理程序。" msgid "No other hosts available" msgstr "没有其他可用的主机" @@ -5459,16 +5483,16 @@ msgstr "没有其他可用的主机" msgid "No other volume types available" -msgstr "没有其它云硬盘类型可用" +msgstr "没有其它卷类型可用" msgid "No ports available" msgstr "无可用端口" msgid "No projects found." -msgstr "没有找到任何项目" +msgstr "找不到任何项目。" msgid "No projects selected. All projects can use the flavor." -msgstr "没有找到任何项目,所有项目都可以使用这种云主机类型。" +msgstr "未选择任何项目,所有项目都可以使用该 flavor。" msgid "No provider is available" msgstr "没有可用的提供者" @@ -5480,15 +5504,15 @@ msgstr "无可用安全组" msgid "No security groups enabled." -msgstr "无授权的安全组" +msgstr "未启用安全组。" msgid "No security groups found." -msgstr "无法找到安全组" +msgstr "找不到安全组。" msgid "" "No servers available. To add a member, you need at least one running " "instance." -msgstr "没有可有的服务器。要增加一个成员,你至少要运行一个云主机" +msgstr "没有可有的服务器。要添加成员,您至少需要一个正在运行的实例。" msgid "No session persistence" msgstr "无会话持久性" @@ -5497,46 +5521,46 @@ msgstr "无可用快照" msgid "No source, empty volume" -msgstr "没有源,空白云硬盘。" +msgstr "没有源,空卷。" msgid "No subnets available" msgstr "没有可用的子网" msgid "No users found." -msgstr "没有找到用户" +msgstr "找不到用户。" msgid "No users." -msgstr "没有用户" +msgstr "没有用户。" msgid "No volume snapshots available" -msgstr "没有可用的云硬盘快照。" +msgstr "没有可用的卷快照。" msgid "No volume type" -msgstr "未设置云硬盘类型" +msgstr "无卷类型" msgid "No volume types found." -msgstr "找不到云硬盘类型" +msgstr "找不到卷类型" msgid "No volume types selected." -msgstr "没有选择云硬盘类型" +msgstr "没有选择卷类型" msgid "No volumes attached." -msgstr "未连接云硬盘。" +msgstr "未连接卷。" msgid "No volumes available" -msgstr "没有可用云硬盘。" +msgstr "没有可用卷。" msgid "No volumes found." -msgstr "找不到云硬盘" +msgstr "找不到卷" msgid "No volumes selected." -msgstr "没有选择云硬盘" +msgstr "没有选择卷" msgid "Non admin users are not allowed to make images public." -msgstr "非管理员用户无权公开镜像。" +msgstr "非管理员用户无权公开映像。" msgid "Non admin users are not allowed to set shared option." -msgstr "非管理用户不允许设置共享选项。" +msgstr "不允许非管理用户设置共享选项。" msgid "Non-Members" msgstr "非成员" @@ -5549,7 +5573,7 @@ msgstr "无" msgid "None (removes spec)" -msgstr "无(移除规格)" +msgstr "无(移除规范)" msgid "Normal" msgstr "正常" @@ -5563,9 +5587,7 @@ msgid "" "Note that a volume can not be deleted if it is "attached" or has " "any dependent snapshots." -msgstr "" -" 注意:无法删除已经连接( "attached" )或者被快照依赖(dependent)" -"的云硬盘。" +msgstr "请注意,如果卷"已连接"或具有任何从属快照,那么不能删除该卷。" msgid "Note: " msgstr "注意:" @@ -5573,75 +5595,75 @@ msgid "" "Note: A Public Container will allow anyone with the Public URL to gain " "access to your objects in the container." -msgstr "注意:一个公有容器会允许任何人通过公共URL去使用你容器里面的对象。" +msgstr "注意:一个公有容器会允许任何人通过公共 URL 去使用您容器里面的对象。" msgid "Nova" msgstr "Nova" msgid "Number of API requests against swift" -msgstr "Swift API请求数目" +msgstr "针对 swift 的 API 请求数" msgid "Number of Instances" -msgstr "云主机数量" +msgstr "实例数量" msgid "Number of Snapshots" msgstr "快照数量" msgid "Number of VCPUs" -msgstr "VCPU数量" +msgstr "VCPU 数" msgid "Number of Volumes" -msgstr "云硬盘数量" +msgstr "卷数量" msgid "Number of containers" -msgstr "容器数目" +msgstr "容器数" msgid "Number of image deletions" -msgstr "删除的镜像数量" +msgstr "映像删除次数" msgid "Number of image updates" -msgstr "更新的镜像数量" +msgstr "映像更新次数" msgid "Number of image uploads" -msgstr "上传的镜像数量" +msgstr "映像上传次数" msgid "Number of incoming bytes" -msgstr "流入字节数目" +msgstr "入局字节数" msgid "Number of incoming bytes on the network for a VM interface" -msgstr "虚拟机入站流量(字节)" +msgstr "网络上对应 VM 接口的入站字节数" msgid "Number of incoming packets for a VM interface" -msgstr "虚拟机入站流量(packet)" +msgstr "VM 接口的入站包数" msgid "Number of instances to launch." -msgstr "创建云主机的个数" +msgstr "要启动的实例数。" #, python-format msgid "" "Number of items to show per page (applies to the pages that have API " "supported pagination, Max Value: %s)" -msgstr "每页显示的条目数(应用到API支持分页的页面,最大值: %s)" +msgstr "每页显示的条目数(应用到具有 API 支持分页的页面,最大值:%s)" msgid "Number of log lines to be shown per instance" -msgstr "每个云主机所显示的日志行数" +msgstr "要对每个实例显示的日志行数" msgid "Number of objects" msgstr "对象数目" msgid "Number of outgoing bytes" -msgstr "流出字节数目" +msgstr "出局字节数" msgid "Number of outgoing bytes on the network for a VM interface" -msgstr "虚拟机出站流量(字节)" +msgstr "网络上对应 VM 接口的出站字节数" msgid "Number of outgoing packets for a VM interface" -msgstr "虚拟机出站流量(packet)" +msgstr "VM 接口的出站包数" msgid "" "Number of permissible failures before changing the status of member to " "inactive" -msgstr "在将用户状态修改为非活跃之前的最大允许失败次数。" +msgstr "在将成员状态更改为非活动之前的最大允许失败次数。" msgid "Number of read requests" msgstr "读请求的数目" @@ -5650,10 +5672,10 @@ msgstr "写请求的数目" msgid "OR Copy/Paste your Private Key" -msgstr "或者拷贝/粘贴你的私钥" +msgstr "或者拷贝/粘贴您的私钥" msgid "OVA - Open Virtual Appliance" -msgstr "OVA - 开源虚拟化应用" +msgstr "OVA - 开放式虚拟设备" msgid "Object Count" msgstr "对象计数" @@ -5668,7 +5690,7 @@ msgstr "对象名称" msgid "Object Storage (Swift)" -msgstr "对象存储(Swift)" +msgstr "对象存储 (Swift)" msgid "Object Store" msgstr "对象存储" @@ -5686,7 +5708,7 @@ msgstr "对象" msgid "Old Flavor" -msgstr "旧的云主机类型" +msgstr "旧 flavor" msgid "On Demand" msgstr "按需" @@ -5694,10 +5716,10 @@ msgid "" "Once a floating IP is released, there is no guarantee the same IP can be " "allocated again." -msgstr "一旦浮动IP被释放,就无法保证再一次将同一个IP分配给它了。" +msgstr "一旦浮动 IP 被释放,就无法保证再一次将同一个 IP 分配给它了。" msgid "Only definitions in raw JSON format are supported." -msgstr "仅支持定义为裸JSON格式。" +msgstr "仅支持原始 JSON 格式的定义。" msgid "Open Port" msgstr "打开端口" @@ -5709,19 +5731,19 @@ msgstr "可选参数" msgid "Optional: Next Hop Addresses (comma delimited)" -msgstr "可选项:下一跳地址(多个用逗号分开)" +msgstr "可选项:下一中继段地址(使用逗号分隔)" msgid "Optionally, you may choose to create a new volume." -msgstr "可供选择的,你可以选择创建一个新的云硬盘。" +msgstr "可选:您可以选择创建一个新的卷。" msgid "Orchestration" -msgstr "云编排" +msgstr "编排" msgid "Orchestration Services" -msgstr "Orchestration 服务" +msgstr "编排服务" msgid "Orchestration service is disabled." -msgstr "Orchestration 服务已关闭。" +msgstr "编排服务已关闭。" msgid "Other" msgstr "其它" @@ -5731,16 +5753,16 @@ #, python-format msgid "Out of range float values are not JSON compliant: %r" -msgstr "超出范围(Nan)的浮点值不符合JSON类型:%r" +msgstr "超出范围的浮点值不符合 JSON 类型:%r" msgid "Outputs" msgstr "输出" msgid "Overview" -msgstr "概况" +msgstr "概述" msgid "Owner" -msgstr "所属者" +msgstr "所有者" msgid "" "Ownership of a volume can be transferred from one project to another. " @@ -5748,8 +5770,8 @@ "Key from the donor. This is equivalent to the cinder transfer-accept command." msgstr "" -"云硬盘的所有权能够从一个项目转让到另一个项目。接受转让的云硬盘需要先从出让方" -"处获取转让ID和认证密钥。这等价于 cinder transfer-accept 命令。" +"卷的所有权能够从一个项目传输到另一个项目。接受传输的卷需要先从出让方处获取传" +"输标识和授权密钥。它等价于 cinder transfer-accept 命令。" msgid "" "Ownership of a volume can be transferred from one project to another. Once a " @@ -5757,9 +5779,8 @@ "by a recipient project. This is equivalent to the cinder transfer-" "create command." msgstr "" -"云硬盘的所有权能够从一个项目转让到另一个项目。一旦云硬盘转让在出让方项目中创" -"建,它就能在接收方项目中被“接受”。这个等价于 cinder transfer-create " -"命令。" +"卷的所有权能够从一个项目传输到另一个项目。一旦在出让方项目中创建卷传输,那么" +"接收方项目可“接受”卷传输。它相当于 cinder transfer-create 命令。" msgid "PFS" msgstr "PFS" @@ -5784,11 +5805,11 @@ msgstr "密码已更改,请重新登录。" msgid "Password changed. Please log in to continue." -msgstr "密码已修改,请登录以继续。" +msgstr "密码已更改,请登录以继续。" #, python-format msgid "Password for user \"%s\"" -msgstr "用户 \"%s\" 的密码" +msgstr "用户 “%s” 的密码" msgid "Passwords do not match." msgstr "密码不匹配。" @@ -5803,11 +5824,11 @@ msgid "Pause Instance" msgid_plural "Pause Instances" -msgstr[0] "暂停云主机" +msgstr[0] "暂停实例" msgctxt "Current status of an Instance" msgid "Paused" -msgstr "暂停" +msgstr "已暂停" msgctxt "Power state of an Instance" msgid "Paused" @@ -5815,33 +5836,34 @@ msgid "Paused Instance" msgid_plural "Paused Instances" -msgstr[0] "已暂停的云主机" +msgstr[0] "已暂停的实例" msgctxt "Task status of an Instance" msgid "Pausing" msgstr "正在暂停" msgid "Peer gateway public IPv4/IPv6 Address or FQDN" -msgstr "伙伴网关公共IPv4/IPv6地址或FQDN" +msgstr "伙伴网关公共 IPv4/IPv6 地址或 FQDN" msgid "Peer gateway public IPv4/IPv6 address or FQDN for the VPN Connection" -msgstr "VPN连接的伙伴网关公共IPv4/IPv6地址或FQDN" +msgstr "VPN 连接的伙伴网关公共 IPv4/IPv6 地址或 FQDN" msgid "Peer router identity for authentication (Peer ID)" -msgstr "用于认证的伙伴路由器身份 (伙伴ID)" +msgstr "用于认证的伙伴路由器身份(伙伴标识)" msgid "" "Peer router identity for authentication. Can be IPv4/IPv6 address, e-mail, " "key ID, or FQDN" -msgstr "用于认证的伙伴路由器身份。可以是IPv4/IPv6地址,e-mail,密钥ID,或FQDN" +msgstr "" +"用于认证的伙伴路由器身份。可以是 IPv4/IPv6 地址、电子邮件、密钥标识或 FQDN" msgctxt "Current status of a Firewall" msgid "Pending Create" -msgstr "等待创建" +msgstr "暂挂创建" msgctxt "Current status of a Pool" msgid "Pending Create" -msgstr "等待创建" +msgstr "暂挂创建" msgctxt "Current status of a VPN Service" msgid "Pending Create" @@ -5849,11 +5871,11 @@ msgctxt "Current status of a Firewall" msgid "Pending Delete" -msgstr "等待删除" +msgstr "暂挂删除" msgctxt "Current status of a Pool" msgid "Pending Delete" -msgstr "等待删除" +msgstr "暂挂删除" msgctxt "Current status of a VPN Service" msgid "Pending Delete" @@ -5861,15 +5883,15 @@ msgctxt "Current status of an Image" msgid "Pending Delete" -msgstr "等待删除" +msgstr "暂挂删除" msgctxt "Current status of a Firewall" msgid "Pending Update" -msgstr "等待更新" +msgstr "暂挂更新" msgctxt "Current status of a Pool" msgid "Pending Update" -msgstr "等待更新" +msgstr "暂挂更新" msgctxt "Current status of a VPN Service" msgid "Pending Update" @@ -5879,7 +5901,7 @@ msgstr "每个卷的大小 (GiB)" msgid "Perfect Forward Secrecy" -msgstr "完善前向保密(FPS,Perfect Forward Secrecy)" +msgstr "完善前向保密" msgid "Period" msgstr "周期" @@ -5894,31 +5916,30 @@ msgstr "物理网络" msgid "Physical Network:" -msgstr "物理网络:" +msgstr "物理网络:" msgid "Please choose a HTTP method" -msgstr "请选择一个HTTP方法" +msgstr "请选择 HTTP 方法" msgid "" "Please enter a single value (e.g. 200), a list of values (e.g. 200, 202), or " "range of values (e.g. 200-204)" msgstr "" -"请输入一个单独的值(比如200),一个值的列表(比如 200, 202),或值的范围(比如 " -"200-204)" +"请输入单个值(例如,200)、值列表(例如,200, 202)或值范围(例如,200-204)" msgid "Please note: " msgstr "请注意:" #, python-format msgid "Please specify a %s using only one source method." -msgstr "请指定%s,只用一种源方法。" +msgstr "请指定 %s(只用一种源方法)。" msgid "Please specify an URL" -msgstr "请指定一个URL" +msgstr "请指定 URL" #, python-format msgid "Please try again later [Error: %s]." -msgstr "请稍后再试 [错误: %s]." +msgstr "请稍后再试 [错误: %s]。" msgid "Policies" msgstr "策略" @@ -5928,56 +5949,56 @@ #, python-format msgid "Policy %s was successfully updated." -msgstr "策略 %s 被成功更新。" +msgstr "已成功更新策略 %s。" msgid "Policy ID" -msgstr "策略ID" +msgstr "策略标识" msgid "Policy Profiles" -msgstr "策略概要" +msgstr "策略概要文件" msgid "Pool" -msgstr "资源池" +msgstr "池" #, python-format msgid "Pool %s was successfully updated." -msgstr "池 %s 更新成功。" +msgstr "已成功更新池 %s。" msgid "Pool Details" -msgstr "资源池详情" +msgstr "池详情" msgid "Pools" -msgstr "资源池" +msgstr "池" msgid "Port" msgstr "端口" #, python-format msgid "Port %s was successfully created." -msgstr "创建端口 %s 成功" +msgstr "创建端口 %s 成功。" #, python-format msgid "Port %s was successfully updated." msgstr "更新端口 %s 成功" msgid "Port ID" -msgstr "端口ID" +msgstr "端口标识" msgid "Port Range" msgstr "端口范围" msgid "Port Security Enabled" -msgstr "端口安全性已开启" +msgstr "已启用端口安全性" #, python-format msgid "Port cleanup failed for these port-ids (%s)." -msgstr "无法为这些端口(%s)进行端口清除" +msgstr "无法对这些端口标识 (%s) 执行端口清除。" msgid "Port list can not be retrieved." -msgstr "无法获取端口列表" +msgstr "无法检索端口列表" msgid "Port to be associated" -msgstr "待连接的端口" +msgstr "要关联的端口" msgid "Ports" msgstr "端口" @@ -5986,7 +6007,8 @@ "Ports are optional and can be used with networks to add extra IP addresses " "to your instances or select specific types of ports." msgstr "" -"端口是可选的,可用被网络使用添加外部IP地址到云主机或者选择指定端口类型。" +"端口是可选的,可与网络配合使用以将额外 IP 地址添加至实例,或选择特定端口类" +"型。" msgid "Position in Policy" msgstr "在策略中的位置" @@ -5998,7 +6020,7 @@ msgstr "电源状态" msgid "Power consumption" -msgstr "电能消耗" +msgstr "功耗" msgctxt "Task status of an Instance" msgid "Powering Off" @@ -6009,47 +6031,47 @@ msgstr "正在打开电源" msgid "Pre-Shared Key (PSK) string" -msgstr " 预共享密钥(PSK,Pre-Shared Key) 字符串" +msgstr " 预共享密钥 (PSK) 字符串" msgid "Pre-Shared Key string" -msgstr "预共享密钥(Pre-Shared Key)" +msgstr "预共享密钥字符串" msgid "Prefix: " -msgstr "前缀:" +msgstr "前缀:" msgctxt "Task status of an Instance" msgid "Preparing Resize or Migrate" -msgstr "准备 调整大小/迁移" +msgstr "准备调整大小/迁移" msgid "Preview" msgstr "预览" msgid "Preview Stack" -msgstr "栈预览" +msgstr "堆栈预览" msgid "Preview Stack Details" -msgstr "栈详情预览" +msgstr "堆栈详情预览" msgid "Preview Stack Parameters" -msgstr "预览栈参数" +msgstr "预览堆栈参数" msgid "Preview Template" msgstr "预览模板" msgid "Preview a new stack with the provided values." -msgstr "预览以指定的参数创建新的栈" +msgstr "预览带有所提供值的新堆栈。" msgid "Primary Project" msgstr "主项目" msgid "Private" -msgstr "私有" +msgstr "专用" msgid "Private Key File" msgstr "私钥文件" msgid "Profile" -msgstr "概要" +msgstr "概要文件" msgid "Project" msgstr "项目" @@ -6067,10 +6089,10 @@ msgstr "项目组" msgid "Project ID" -msgstr "项目ID" +msgstr "项目标识" msgid "Project ID:" -msgstr "项目ID:" +msgstr "项目标识:" msgid "Project Information" msgstr "项目信息" @@ -6088,14 +6110,14 @@ msgstr "项目配额" msgid "Project Usage" -msgstr "项目使用量" +msgstr "项目使用情况" msgid "Project Usage Overview" -msgstr "项目使用概况" +msgstr "项目使用情况概述" #, python-format msgid "Project name \"%s\" is already used." -msgstr "项目名\"%s\"已经被使用" +msgstr "项目名“%s”已经被使用。" msgid "Projects" msgstr "项目" @@ -6110,7 +6132,7 @@ msgstr "属性目标:" msgid "Protect and use the key as you would any normal ssh private key." -msgstr "请妥善保管和使用SSH私钥。" +msgstr "请妥善保管和使用 SSH 私钥。" msgid "Protected" msgstr "受保护的" @@ -6123,7 +6145,7 @@ #, python-format msgid "Protocol ID \"%s\" is already used." -msgstr "协议ID \"%s\" 已经在使用。" +msgstr "协议标识 “%s” 已被使用。" msgid "Protocol Port" msgstr "协议端口" @@ -6151,17 +6173,17 @@ "network type (like Flat, VLAN, GRE, and VXLAN) and its segmentation_id or " "physical network name for a new virtual network." msgstr "" -"可以创建供应商规定的网络。您可以为新的虚拟网络指定物理网络类型(如Flat, VLAN, " -"GRE, 和 VXLAN)及其段ID(segmentation_id),或者物理网络名称。" +"可以创建供应商指定的网络。您可以为新的虚拟网络指定物理网络类型(例如,Flat、" +"VLAN、GRE 和 VXLAN)及其段标识 (segmentation_id),或者指定物理网络名称。" msgid "Pseudo-folder Name" -msgstr "伪目录名称" +msgstr "伪文件夹名称" msgid "Pseudo-folder was successfully created." -msgstr "伪目录已成功创建。" +msgstr "已成功创建伪文件夹。" msgid "Pseudo-folder:" -msgstr "伪目录:" +msgstr "伪文件夹:" msgid "Public" msgstr "公有" @@ -6170,29 +6192,29 @@ msgstr "公钥" msgid "Public URL" -msgstr "公共URL" +msgstr "公共 URL" msgid "QCOW2 - QEMU Emulator" msgstr "QCOW2 - QEMU 模拟器" msgid "QOS Policy ID" -msgstr "QOS 策略 ID" +msgstr "QOS 策略标识" #, python-format msgid "QoS Spec name \"%s\" already exists." -msgstr "QoS Spec 名字 \"%s\" 已存在." +msgstr "QoS 规范名称 “%s” 已存在。" msgid "QoS Spec to be associated" -msgstr "要关联的QoS规格" +msgstr "要关联的 QoS 规范" msgid "QoS Spec: " -msgstr "QoS规格:" +msgstr "QoS 规范:" msgid "QoS Spec: {{ qos_spec_name }}" -msgstr "QoS规格: {{ qos_spec_name }}" +msgstr " QoS 规范: {{ qos_spec_name }}" msgid "QoS Specs" -msgstr "QoS规格" +msgstr "QoS 规范" msgctxt "Current status of an Image" msgid "Queued" @@ -6205,11 +6227,11 @@ msgstr "配额名称" msgid "Quota exceeded for resource router." -msgstr "路由器资源超出配额" +msgstr "超出资源路由器配额。" #, python-format msgid "Quota value(s) cannot be less than the current usage value(s): %s." -msgstr "配额的值不能小于当前使用的值: %s." +msgstr "配额的值不能小于当前使用的值:%s。" msgid "Quotas" msgstr "配额" @@ -6221,14 +6243,14 @@ msgstr "内存 (MB)" msgid "RAM (total)" -msgstr "内存(总计)" +msgstr "RAM(总计)" msgid "RAM (used)" -msgstr "内存(已用)" +msgstr "内存(已用)" #, python-format msgid "RAM(Available: %(avail)s, Requested: %(req)s)" -msgstr "内存 (可用: %(avail)s, 已请求: %(req)s)" +msgstr "内存(可用:%(avail)s,所请求:%(req)s)" msgid "REJECT" msgstr "拒绝" @@ -6247,21 +6269,21 @@ msgstr "内存盘" msgid "Ramdisk ID" -msgstr "内存盘ID" +msgstr "内存盘标识" msgid "Raw" -msgstr "Raw" +msgstr "原始" msgctxt "Image format for display in table" msgid "Raw" -msgstr "Raw" +msgstr "原始" msgid "Reason" msgstr "原因" #, python-format msgid "Reason: %(disabled_reason)s" -msgstr "原因:%(disabled_reason)s" +msgstr "原因:%(disabled_reason)s" msgctxt "Action log of an instance" msgid "Reboot" @@ -6296,7 +6318,7 @@ msgstr "重建块设备映射" msgid "Rebuild Instance" -msgstr "重建云主机" +msgstr "重建实例" msgid "Rebuild Password" msgstr "重建密码" @@ -6311,10 +6333,10 @@ #, python-format msgid "Rebuilding instance %s." -msgstr "重建云主机 %s。" +msgstr "正在重建实例 %s。" msgid "Recreate EC2 Credentials" -msgstr "重新创建EC2凭据" +msgstr "重新创建 EC2 凭据" msgid "Regions:" msgstr "区域:" @@ -6325,26 +6347,26 @@ msgid "" "Register a identity provider that is trusted by the Identity API to " "authenticate identities." -msgstr "注册一个身份提供者,它认证API鉴权实体信任。" +msgstr "注册身份 API 信任的身份提供者以认证身份。" msgid "Relative part of requests this pool member serves compared to others" -msgstr "这个资源池成员服务的申请的相关部分与其他的相比" +msgstr "此池成员处理的请求的相对部分(与其他成员相比)" msgid "" "Relative part of requests this pool member serves compared to others. \n" "The same weight will be applied to all the selected members and can be " "modified later. Weight must be in the range 1 to 256." msgstr "" -"与其他部分相对比该池的部分成员所服务的请求. \n" -"相同的权重将适用于所有选定的成员,可以稍后进行修改。权重必须在范围1到256。" +"此池成员处理的请求的相对部分(与其他人相比)。\n" +"相同的权重将适用于所有选定成员,稍后可进行修改。权重必须在 1 到 256 之间。" msgid "Release Floating IP" msgid_plural "Release Floating IPs" -msgstr[0] "释放浮动IP" +msgstr[0] "释放浮动 IP" msgid "Released Floating IP" msgid_plural "Released Floating IPs" -msgstr[0] "已释放的浮动IP" +msgstr[0] "已释放的浮动 IP" msgid "Reload" msgstr "重新加载" @@ -6353,7 +6375,7 @@ msgstr "远程" msgid "Remote IDs" -msgstr "远程ID" +msgstr "远程标识" msgid "" "Remote IDs are associated with the identity provider and are globally " @@ -6361,17 +6383,17 @@ "protocol attributes to Identity API objects. If no value is provided, the " "list will be set to empty." msgstr "" -"远端ID与身份提供者绑定,并且全局唯一。这表明头属性用例映射联邦协议属性到认证" -"API对象。如果没有提供值,列表将会被设置为空。" +"远程标识与身份提供者相关联,并且全局唯一。它指示要用于将联合协议属性映射至身" +"份 API 对象的头属性。如果未提供值,那么列表将会被设置为空。" msgid "Remote IP Prefix" -msgstr "远端IP前缀" +msgstr "远程 IP 前缀" msgid "Remote Security Group" msgstr "远端安全组" msgid "Remote peer subnet" -msgstr "远端伙伴子网" +msgstr "远程伙伴子网" msgid "Remote peer subnet(s)" msgstr "远程对等子网" @@ -6380,17 +6402,17 @@ "Remote peer subnet(s) address(es) with mask(s) in CIDR format separated with " "commas if needed (e.g. 20.1.0.0/24, 21.1.0.0/24)" msgstr "" -"CIDR格式的远程对等子网地址及子网掩码,用逗号分隔(例如 20.1.0.0/24, " -"21.1.0.0/24)" +"CIDR 格式的远程对等子网地址及子网掩码,用逗号分隔(例如,20.1.0.0/24, " +"21.1.0.0/24)" msgid "Remote:" msgstr "远程:" msgid "Remove Router" -msgstr "删除路由" +msgstr "删除路由器" msgid "Remove Router from Firewall" -msgstr "从防火墙中删除路由" +msgstr "从防火墙中删除路由器" msgid "Remove Rule" msgstr "移除规则" @@ -6410,14 +6432,14 @@ "Removing a key pair can leave OpenStack resources orphaned. You should not " "remove a key pair unless you are certain it is not being used anywhere." msgstr "" -"移除密钥对将会使OpenStack资源孤立不可用。你不应该移除密钥对,除非你确定它不再" -"在任何地方使用。" +"移除密钥对将会使 OpenStack 资源孤立不可用。您不应该移除密钥对,除非您确定它不" +"再在任何地方使用。" msgid "Report Bug" msgstr "报告问题" msgid "Request ID" -msgstr "请求ID" +msgstr "请求标识" msgid "Requested snapshot would exceed the allowed quota." msgstr "请求的快照会超过配额的限制。" @@ -6426,11 +6448,11 @@ "Requests from a unique source IP address are consistently\n" " directed to the same instance." msgstr "" -"来自同一个源IP地址的请求从始至终都将会\n" -"分发给同一云主机." +"来自唯一源 IP 地址的请求一直发送至同一实例。\n" +" " msgid "Required for APP_COOKIE persistence; Ignored otherwise." -msgstr "仅 APP_COOKIE 持久化需要,否则忽略。" +msgstr "仅保存 APP_COOKIE 时需要,否则忽略。" msgctxt "Current status of an Instance" msgid "Rescue" @@ -6438,14 +6460,14 @@ msgctxt "Current status of an Instance" msgid "Rescued" -msgstr "拯救" +msgstr "已恢复" msgctxt "Task status of an Instance" msgid "Rescuing" -msgstr "正在进行拯救" +msgstr "正在恢复" msgid "Reset to Default" -msgstr "设置为默认" +msgstr "重置为缺省值" msgid "Resize" msgstr "调整大小" @@ -6455,7 +6477,7 @@ msgstr "调整大小" msgid "Resize Instance" -msgstr "调整云主机大小" +msgstr "调整实例大小" msgctxt "Current status of an Instance" msgid "Resize/Migrate" @@ -6463,21 +6485,21 @@ msgctxt "Current status of an Instance" msgid "Resized" -msgstr "调整大小" +msgstr "已调整大小" msgctxt "Task status of an Instance" msgid "Resized or Migrated" -msgstr "已经 调整大小/迁移" +msgstr "已经调整大小/迁移" msgctxt "Task status of an Instance" msgid "Resizing or Migrating" -msgstr "正在 调整大小/迁移" +msgstr "正在调整大小/迁移" msgid "Resource" msgstr "资源" msgid "Resource ID" -msgstr "资源ID" +msgstr "资源标识" msgid "Resource Metadata" msgstr "资源元数据" @@ -6490,43 +6512,43 @@ #, python-format msgid "Resource types updated for namespace %s." -msgstr "命名空间%s中的资源类型已更新" +msgstr "名称空间 %s 中的资源类型已更新" msgid "Resources" msgstr "资源" msgid "Resources Usage Overview" -msgstr "资源使用概况" +msgstr "资源使用概述" msgid "Restarted instances will lose any data not saved in persistent storage." -msgstr "重启云主机会丢失所以没有存放在永久存储设备上的数据。" +msgstr "已重新启动的实例将丢失所有未存放在永久存储设备上的数据。" msgid "Restore Backup" msgstr "恢复备份" msgid "Restore Backup to Volume" -msgstr "还原备份云硬盘" +msgstr "将备份恢复至卷" msgid "Restore Backup:" msgstr "恢复备份:" msgid "Restore Volume Backup" -msgstr "恢复云硬盘备份" +msgstr "恢复卷备份" msgid "Restore a Volume Backup" -msgstr "还原一个云硬盘备份" +msgstr "恢复卷备份" msgctxt "Current status of a Volume Backup" msgid "Restoring" -msgstr "恢复中" +msgstr "正在恢复" msgctxt "Task status of an Instance" msgid "Restoring" -msgstr "恢复中" +msgstr "正在恢复" msgctxt "Current status of a Volume" msgid "Restoring Backup" -msgstr "恢复备份中" +msgstr "正在恢复备份" msgctxt "Action log of an instance" msgid "Resume" @@ -6546,55 +6568,55 @@ msgid "Resume Instance" msgid_plural "Resume Instances" -msgstr[0] "恢复云主机" +msgstr[0] "恢复实例" msgid "Resume Stack" msgid_plural "Resume Stacks" -msgstr[0] "恢复栈" +msgstr[0] "恢复堆栈" msgid "Resumed Instance" msgid_plural "Resumed Instances" -msgstr[0] "已恢复的云主机" +msgstr[0] "已恢复的实例" msgid "Resumed Stack" msgid_plural "Resumed Stacks" -msgstr[0] "已经恢复的栈" +msgstr[0] "已经恢复的堆栈" msgctxt "Task status of an Instance" msgid "Resuming" -msgstr "正在进行恢复" +msgstr "正在恢复" msgid "Retrieve Instance Password" -msgstr "取回云主机密码" +msgstr "检索实例密码" msgid "Retrieve Password" -msgstr "取回密码" +msgstr "检索密码" msgid "Revert Resize/Migrate" -msgstr "放弃 调整大小/迁移" +msgstr "放弃调整大小/迁移" msgctxt "Current status of an Instance" msgid "Revert Resize/Migrate" -msgstr "放弃 调整大小/迁移" +msgstr "放弃调整大小/迁移" msgctxt "Task status of an Instance" msgid "Reverting Resize or Migrate" -msgstr "正在放弃 调整大小/迁移" +msgstr "正在放弃调整大小/迁移" msgid "Role" msgstr "角色" msgid "Role ID" -msgstr "角色ID" +msgstr "角色标识" msgid "Role Name" msgstr "角色名称" msgid "Role created successfully." -msgstr "角色创建成功。" +msgstr "已成功创建角色。" msgid "Role updated successfully." -msgstr "角色更新成功。" +msgstr "已成功更新角色。" msgid "Roles" msgstr "角色" @@ -6621,10 +6643,10 @@ msgstr "根磁盘" msgid "Root Disk (GB)" -msgstr "根磁盘(GB)" +msgstr "根磁盘 (GB)" msgid "Rotates requests evenly between multiple instances." -msgstr "在多个云主机之间均匀地分发请求" +msgstr "在多个实例间平均分发请求" msgctxt "load balancing method" msgid "Round Robin" @@ -6637,7 +6659,7 @@ msgstr "路由模式" msgid "Router" -msgstr "路由" +msgstr "路由器" #, python-format msgid "" @@ -6645,62 +6667,62 @@ "Attempts to delete the new router also failed. Router %(name)s still exists " "but is not connect to the desired external network." msgstr "" -"路由 器%(name)s 被创建,但是连接到外部网络失败。尝试删除新路由同样失败。路由" -"器%(name)s 仍然存在,但是它不能连接到期望的外部网络。" +"已创建路由器 %(name)s,但无法连接到外部网络。尝试删除新路由器同样失败。路由" +"器 %(name)s 仍然存在,但无法连接到预期外部网络。" #, python-format msgid "" "Router %s was created but connecting to an external network failed. The " "created router has been deleted, as the overall operation failed." msgstr "" -"路由%s 被创建,但是连接到外部网络失败。当所有操作失败时,创建的路由器被删除。" +"已创建路由器 %s,但无法连接到外部网络。所创建路由器已被删除,因为整体操作失" +"败。" #, python-format msgid "Router %s was successfully created." -msgstr "路由器 %s 创建成功。" +msgstr "已成功创建路由器 %s。" #, python-format msgid "Router %s was successfully updated." -msgstr "路由 %s 成功更新" +msgstr "已成功更新路由器 %s。" msgid "Router ID" -msgstr "路由id" +msgstr "路由器标识" msgid "Router Name" -msgstr "路由名称" +msgstr "路由器名称" msgid "Router Rule Grid" -msgstr "路由规则网" +msgstr "路由器规则网格" msgid "Router Rules" -msgstr "路由规则" +msgstr "路由器规则" msgid "Router Rules Grid" -msgstr "路由规则网" +msgstr "路由器规则网格" msgid "Router Type" -msgstr "路由类型" +msgstr "路由器类型" msgid "Router rule added" -msgstr "路由规则增加成功" +msgstr "路由器规则添加成功" #, python-format msgid "Router(s) was successfully removed from firewall %(firewall)s." -msgstr "路由已经从防火墙 %(firewall)s 中删除。" +msgstr "已成功从防火墙 %(firewall)s 中移除路由器。" #, python-format msgid "Router(s) was/were successfully added to firewall %(firewall)s." -msgstr "路由已经成动加入到防火墙:%(firewall)s 。" +msgstr "路由器已经成功添加至以下防火墙:%(firewall)s。" msgid "Routers" -msgstr "路由" +msgstr "路由器" msgid "" "Routing rules to apply to router. Rules are matched by most specific source " "first and then by most specific destination." msgstr "" -"路由规则应用到路由器。规则先按照最具体的来源匹配,然后按照最具体的目标来匹" -"配。" +"要对路由器应用的路由规则。将先按照最具体的源然后按最具体的目标来匹配规则。" msgid "Rule" msgstr "规则" @@ -6711,11 +6733,11 @@ #, python-format msgid "Rule %(rule)s was successfully removed from policy %(policy)s." -msgstr "规则 %(rule)s 被从策略 %(policy)s 中成功移除。" +msgstr "规则 %(rule)s 已从策略 %(policy)s 中成功移除。" #, python-format msgid "Rule %s was successfully updated." -msgstr "规则 %s 被成功更新。" +msgstr "已成功更新规则 %s。" msgid "Rule Conflict" msgstr "规则冲突" @@ -6730,27 +6752,27 @@ "Rules define which traffic is allowed to instances assigned to the security " "group. A security group rule consists of three main parts:" msgstr "" -"云主机可以关联安全组,组中的规则定义了允许哪些访问到达被关联的云主机。安全组" -"由以下三个主要组件组成:" +"规则定义允许将哪些流量传送至分配给安全组的实例。安全组由以下三个主要部分组" +"成:" msgctxt "Power state of an Instance" msgid "Running" -msgstr "运行中" +msgstr "正在运行" msgid "Running Instance Migration Type" -msgstr "运行云主机迁移类型" +msgstr "运行实例迁移类型" msgid "S3 URL" msgstr "S3 URL" msgid "SLAAC: Address discovered from OpenStack Router" -msgstr "SLAAC: 地址从OpenStack路由器中发现" +msgstr "SLAAC:地址是通过 OpenStack 路由器发现的" msgid "SNAT" msgstr "SNAT" msgid "SSH key pairs can be generated with the ssh-keygen command:" -msgstr "可以使用 ssh-keygen 命令来生成SSH密钥对:" +msgstr "可以使用 ssh-keygen 命令来生成 SSH 密钥对:" msgid "Save" msgstr "保存" @@ -6760,87 +6782,87 @@ #, python-format msgid "Saved extra spec \"%s\"." -msgstr "保存扩展规格\"%s\"." +msgstr "保存 extra spec “%s”。" #, python-format msgid "Saved spec \"%s\"." -msgstr "已保存规格\"%s\"." +msgstr "已保存规范“%s”。" msgctxt "Current status of an Image" msgid "Saving" -msgstr "保存中" +msgstr "正在保存" msgid "Scheduled deletion of Consistency Group" msgid_plural "Scheduled deletion of Consistency Groups" -msgstr[0] "已调度删除一致性组" +msgstr[0] "已安排删除一致性组" msgid "Scheduled deletion of Firewall" msgid_plural "Scheduled deletion of Firewalls" -msgstr[0] "已调度删除防火墙" +msgstr[0] "已安排删除防火墙" msgid "Scheduled deletion of IKE Policy" msgid_plural "Scheduled deletion of IKE Policies" -msgstr[0] "已调度删除IKE策略" +msgstr[0] "已安排删除 IKE 策略" msgid "Scheduled deletion of IPSec Policy" msgid_plural "Scheduled deletion of IPSec Policies" -msgstr[0] "已调度删除IPSec策略" +msgstr[0] "已安排删除 IPSec 策略" msgid "Scheduled deletion of IPSec Site Connection" msgid_plural "Scheduled deletion of IPSec Site Connections" -msgstr[0] "已调度删除IPSec站点连接" +msgstr[0] "已安排删除 IPSec 站点连接" msgid "Scheduled deletion of Instance" msgid_plural "Scheduled deletion of Instances" -msgstr[0] "已调度删除云主机" +msgstr[0] "已安排删除实例" msgid "Scheduled deletion of Member" msgid_plural "Scheduled deletion of Members" -msgstr[0] "已调度删除成员" +msgstr[0] "已安排删除成员" msgid "Scheduled deletion of Monitor" msgid_plural "Scheduled deletion of Monitors" -msgstr[0] "已调度删除监控" +msgstr[0] "已安排删除监视器" msgid "Scheduled deletion of Policy" msgid_plural "Scheduled deletion of Policies" -msgstr[0] "已调度删除策略" +msgstr[0] "已安排删除策略" msgid "Scheduled deletion of Pool" msgid_plural "Scheduled deletion of Pools" -msgstr[0] "已调度删除资源池" +msgstr[0] "已安排删除池" msgid "Scheduled deletion of Rule" msgid_plural "Scheduled deletion of Rules" -msgstr[0] "已调度删除规则" +msgstr[0] "已安排删除规则" msgid "Scheduled deletion of VPN Service" msgid_plural "Scheduled deletion of VPN Services" -msgstr[0] "已调度删除VPN服务" +msgstr[0] "已安排删除 VPN 服务" msgid "Scheduled deletion of Volume" msgid_plural "Scheduled deletion of Volumes" -msgstr[0] "已调度删除卷" +msgstr[0] "已安排删除卷" msgid "Scheduled deletion of Volume Backup" msgid_plural "Scheduled deletion of Volume Backups" -msgstr[0] "已调度删除卷备份" +msgstr[0] "已安排删除卷备份" msgid "Scheduled deletion of Volume Snapshot" msgid_plural "Scheduled deletion of Volume Snapshots" -msgstr[0] "已调度删除卷快照" +msgstr[0] "已安排删除卷快照" msgid "Scheduled migration (pending confirmation) of Instance" msgid_plural "Scheduled migration (pending confirmation) of Instances" -msgstr[0] "已调度迁移(待确认)云主机" +msgstr[0] "实例的已安排迁移(待确认)" #, python-format msgid "Scheduled resize of instance \"%s\"." -msgstr "已调度调整云主机 \"%s\" 的大小。" +msgstr "已安排调整实例“%s”的大小。" msgctxt "Task status of an Instance" msgid "Scheduling" -msgstr "调度" +msgstr "正在安排" msgid "Script Data" msgstr "脚本数据" @@ -6858,43 +6880,43 @@ msgstr "安全组" msgid "Security group rule already exists." -msgstr "安全组规则已存在." +msgstr "安全组规则已存在。" msgid "" "Security groups are sets of IP filter rules that are applied to the network " "settings for the VM. After the security group is created, you can add rules " "to the security group." msgstr "" -"安全组是IP过滤规则的集合,可被应用到虚拟机的网络设置中。在安全组创建后,你可" -"以给安全组增加规则。" +"安全组是可对 VM 的网络设置应用的 IP 过滤规则的集合。创建安全组后,可向安全组" +"添加规则。" msgid "" "Security groups are sets of IP filter rules that are applied to the network " "settings for the VM. Edit the security group to add and change the rules." msgstr "" -"安全组是IP过滤规则的集合,可被应用到虚拟机的网络设置中。编辑安全组以增加和更" -"改规则。" +"安全组是 IP 过滤规则的集合,可被应用到虚拟机的网络设置中。编辑安全组以添加和" +"更改规则。" msgid "Segmentation ID" -msgstr "段ID" +msgstr "分段标识" msgid "Segmentation ID:" -msgstr "段ID:" +msgstr "段标识" msgid "Select Flavor" -msgstr "选择云主机类型" +msgstr "选择 flavor" msgid "Select IKE Policy" -msgstr "选择IKE策略" +msgstr "选择 IKE 策略" msgid "Select IPSec Policy" -msgstr "选择IPSec策略" +msgstr "选择 IPSec 策略" msgid "Select Image" -msgstr "选择镜像" +msgstr "选择映像" msgid "Select Instance Snapshot" -msgstr "选择云主机快照" +msgstr "选择实例快照" msgid "Select Mapping" msgstr "选择映射" @@ -6915,28 +6937,28 @@ msgstr "选择模板" msgid "Select VPN Service" -msgstr "选择VPN服务" +msgstr "选择 VPN 服务" msgid "Select Volume" -msgstr "选择云硬盘" +msgstr "选择卷" msgid "Select Volume Snapshot" -msgstr "选择云硬盘快照" +msgstr "选择卷快照" msgid "Select a Method" msgstr "选择一个方法" msgid "Select a Monitor" -msgstr "选择监控" +msgstr "选择监视器" msgid "Select a New Flavor" -msgstr "选择一个新的云主机类型" +msgstr "选择新 flavor" msgid "Select a Policy" -msgstr "选择一个策略" +msgstr "选择策略" msgid "Select a Pool" -msgstr "选择一个资源池" +msgstr "选择一个池" msgid "Select a Protocol" msgstr "选择一个协议" @@ -6949,95 +6971,95 @@ #, python-format msgid "Select a health monitor of %s" -msgstr "选择 %s 的健康监控" +msgstr "选择 %s 的运行状况监视器" msgid "Select a key pair" -msgstr "选择一个密钥对" +msgstr "选择密钥对" #, python-format msgid "Select a monitor template for %s" -msgstr "为 %s 选择监控模板" +msgstr "为 %s 选择监视模板" msgid "Select a name for your network." msgstr "选择网络名称" msgid "Select a new QoS spec" -msgstr "选择新的QoS规格" +msgstr "选择新的 QoS 规范" msgid "Select a new agent" -msgstr "选择一个新的agent" +msgstr "选择新的代理程序" msgid "Select a new consumer" -msgstr "选择新消费者" +msgstr "选择新的使用者" msgid "Select a new host" -msgstr "选择一个新的主机" +msgstr "选择新的主机" msgid "Select a new status" -msgstr "选择一个新的状态" +msgstr "选择新的状态" msgid "Select a new template to preview a stack." -msgstr "重新选择模板来预览stack" +msgstr "重新选择模板来预览堆栈" msgid "Select a new template to re-launch a stack." -msgstr "重新选择模板来创建stack" +msgstr "重新选择模板来创建堆栈" msgid "Select a new volume type" -msgstr "选择一个新云硬盘类型" +msgstr "选择一个新卷类型" msgid "Select a pool" -msgstr "选择一个资源池" +msgstr "选择一个池" msgid "Select a port" msgstr "选择端口" msgid "Select a pre-defined period or specify date." -msgstr "选择一个预定义的周期,或者指定日期。" +msgstr "选择预定义的周期,或者指定日期。" msgid "Select a profile" -msgstr "选择一个配置概要" +msgstr "选择概要文件" msgid "Select a project" -msgstr "选择一个项目" +msgstr "选择项目" msgid "Select a target host" -msgstr "选择一个目标主机" +msgstr "选择目标主机" msgid "Select a template to launch a stack." -msgstr "选择模板创建stack" +msgstr "选择模板以启动堆栈。" msgid "Select a volume to restore to." -msgstr "选择一个云硬盘用来恢复。" +msgstr "选择一个卷用来恢复。" msgid "Select an IP address" -msgstr "选择一个IP地址" +msgstr "选择 IP 地址" msgid "Select an instance" -msgstr "请选择一个云主机" +msgstr "请选择实例" msgid "Select an instance to attach to." -msgstr "选择要连接到的云主机。" +msgstr "选择要连接至的实例。" msgid "Select format" msgstr "选择格式" msgid "Select from active instances" -msgstr "从可用云主机选择" +msgstr "从可用实例列表中选择" msgid "Select members for this pool " -msgstr "从资源池选择成员" +msgstr "从池选择成员" msgid "Select network" msgstr "选择网络" msgid "Select networks for your instance." -msgstr "选择网络" +msgstr "为实例选择网络。" msgid "Select routers for your firewall." -msgstr "为您的防火墙选择路由。" +msgstr "为您的防火墙选择路由器。" msgid "Select rules for your policy." -msgstr "为你的策略选择规则。" +msgstr "为您的策略选择规则。" msgid "Select source" msgstr "选择源" @@ -7045,22 +7067,23 @@ msgid "" "Select the IP address you wish to associate with the selected instance or " "port." -msgstr "请为选中的云主机或端口选择要绑定的IP地址。" +msgstr "选择要与所选实例或端口关联的 IP 地址。" msgid "Select the image to rebuild your instance." -msgstr "选择镜像以重建你的云主机。" +msgstr "选择映像以重建实例。" msgid "Select the network for interface attaching." msgstr "选择要连接接口的网络" msgid "Select the port to detach." -msgstr "选择要分离的端口" +msgstr "选择要拆离的端口。" msgid "" "Select the projects where the flavors will be used. If no projects are " "selected, then the flavor will be available in all projects." msgstr "" -"选择该云主机类型适用的项目。如果不选择任何项目,则可以在所有项目中使用。" +"选择将使用这些 flavor 的项目。如果未选择任何项目,那么该 flavor 将在所有项目" +"中可用。" msgid "Selected Hosts" msgstr "选中的主机" @@ -7069,7 +7092,7 @@ msgstr "选中的项目" msgid "Selected Routers" -msgstr "选择路由" +msgstr "选择路由器" msgid "Selected Rules" msgstr "选定的规则" @@ -7078,31 +7101,31 @@ msgstr "选中的主机" msgid "Selected networks" -msgstr "已选择的网络" +msgstr "选中网络" msgid "Selected volume types" -msgstr "选择的云硬盘类型" +msgstr "选择的卷类型" msgid "Selected volumes" -msgstr "选择云硬盘" +msgstr "选择卷" msgid "Sensor Current Reading" -msgstr "读取当前功耗传感器" +msgstr "传感器电流读数" msgid "Sensor Temperature Reading" -msgstr "读取温度传感器" +msgstr "传感器温度读数" msgid "Sensor Voltage Reading" -msgstr "读取电压传感器" +msgstr "传感器电压读数" msgid "Server Group Members" -msgstr "主机组成员" +msgstr "服务器组成员" msgid "Server Groups" -msgstr "主机组" +msgstr "服务器组" msgid "Server error" -msgstr "服务器报错" +msgstr "服务器错误" msgid "Servers" msgstr "服务器" @@ -7117,7 +7140,7 @@ msgstr "服务" msgid "Services Down" -msgstr "服务Down" +msgstr "服务已关闭" msgid "Services Up" msgstr "服务已运行" @@ -7126,29 +7149,29 @@ msgstr "会话持久化" msgid "Set Domain Context" -msgstr "设定域上下文" +msgstr "设置域上下文" msgid "Set Gateway" msgstr "设置网关" msgid "Set as Active Project" -msgstr "设置为激活的项目" +msgstr "设置为活动项目" msgid "Set maximum quotas for the project." msgstr "为项目设置最大配额" msgid "" "Set of rules to map federation protocol attributes to Identity API objects." -msgstr "设定规则来映射联邦协议属性到认证API对象。" +msgstr "用于将联合协议属性映射至身份 API 对象的规则集。" msgid "Settings" msgstr "设置" msgid "Settings saved." -msgstr "设置已保存" +msgstr "设置已保存。" msgid "Shared" -msgstr "共享的" +msgstr "共享" msgid "Shared Storage" msgstr "共享存储" @@ -7158,35 +7181,35 @@ msgid "Shelve Instance" msgid_plural "Shelve Instances" -msgstr[0] "废弃云主机" +msgstr[0] "搁置实例" msgctxt "Current status of an Instance" msgid "Shelved" -msgstr "搁置" +msgstr "已搁置" msgid "Shelved Instance" msgid_plural "Shelved Instances" -msgstr[0] "已废弃的云主机" +msgstr[0] "已搁置的实例" msgctxt "Current status of an Instance" msgid "Shelved Offloaded" -msgstr "强制搁置" +msgstr "已搁置卸载" msgctxt "Task status of an Instance" msgid "Shelving" -msgstr "搁置中" +msgstr "正在搁置" msgctxt "Task status of an Instance" msgid "Shelving Image Pending Upload" -msgstr "搁置镜像等待上传" +msgstr "正在搁置映像暂挂上传" msgctxt "Task status of an Instance" msgid "Shelving Image Uploading" -msgstr "搁置镜像上传中" +msgstr "正在搁置映像上传" msgctxt "Task status of an Instance" msgid "Shelving Offloading" -msgstr "搁置卸载中" +msgstr "正在搁置卸载" msgctxt "Power state of an Instance" msgid "Shut Down" @@ -7199,31 +7222,31 @@ msgctxt "Action to perform (the instance is currently running)" msgid "Shut Off Instance" msgid_plural "Shut Off Instances" -msgstr[0] "关闭云主机" +msgstr[0] "关闭实例" msgctxt "Past action (the instance is currently already Shut Off)" msgid "Shut Off Instance" msgid_plural "Shut Off Instances" -msgstr[0] "已关闭的云主机" +msgstr[0] "已关闭的实例" msgctxt "Current status of an Instance" msgid "Shutoff" msgstr "关机" msgid "Sign Out" -msgstr "退出" +msgstr "注销" msgid "Size" msgstr "大小" msgid "Size (GiB)" -msgstr "大小(GiB)" +msgstr "大小 (GiB)" msgid "Size of ephemeral disk" msgstr "临时磁盘大小" msgid "Size of image to launch." -msgstr "要创建的镜像大小" +msgstr "要启动的映像大小。" msgid "Size of root disk" msgstr "根磁盘大小" @@ -7235,14 +7258,14 @@ msgstr "大小:" msgid "Slash is not allowed at the beginning or end of your string." -msgstr "字符串首尾不允许使用斜杠" +msgstr "字符串开头或结尾不允许使用斜杠。" msgid "Slash is not an allowed character." -msgstr "斜杠是不允许的字符。" +msgstr "不允许使用斜杠字符。" msgid "" "Slashes are allowed, and are treated as pseudo-folders by the Object Store." -msgstr "允许使用斜杠,它将被对象存储视为伪目录。" +msgstr "允许使用斜杠,它将被对象存储视作伪文件夹。" msgid "Snapshot" msgstr "快照" @@ -7253,11 +7276,11 @@ #, python-format msgid "Snapshot \"%(name)s\" created for instance \"%(inst)s\"" -msgstr "已为云主机 \"%(inst)s\" 创建快照 \"%(name)s\" " +msgstr "已为实例“%(inst)s”创建快照“%(name)s”" msgctxt "current status of stack" msgid "Snapshot Complete" -msgstr "生成快照完成" +msgstr "快照完成" msgctxt "current status of stack" msgid "Snapshot Failed" @@ -7265,7 +7288,7 @@ msgctxt "current status of stack" msgid "Snapshot In Progress" -msgstr "快照进行中" +msgstr "正在生成快照" msgid "Snapshot Limits" msgstr "快照限制" @@ -7274,27 +7297,27 @@ msgstr "快照名称" msgid "Snapshot source must be specified" -msgstr "快照源必须被指定" +msgstr "必须指定快照源" msgctxt "Task status of an Instance" msgid "Snapshotting" -msgstr "快照" +msgstr "正在获取快照" msgctxt "Current status of an Instance" msgid "Soft Deleted" -msgstr "软删除" +msgstr "已执行软删除" msgctxt "Task status of an Instance" msgid "Soft Deleting" -msgstr "软重启中" +msgstr "正在执行软删除" msgid "Soft Reboot Instance" msgid_plural "Soft Reboot Instances" -msgstr[0] "软重启云主机" +msgstr[0] "软重启实例" msgid "Soft Rebooted Instance" msgid_plural "Soft Rebooted Instances" -msgstr[0] "已软重启的云主机" +msgstr[0] "已软重启的实例" msgid "Something went wrong!" msgstr "出错啦!" @@ -7303,23 +7326,23 @@ msgstr "源" msgid "Source CIDR" -msgstr "源CIDR" +msgstr "源 CIDR" msgid "Source IP" -msgstr "源IP" +msgstr "源 IP" msgctxt "load balancing method" msgid "Source IP" -msgstr "来源IP" +msgstr "源 IP" msgid "Source IP Address" -msgstr "源IP地址" +msgstr "源 IP 地址" msgid "Source IP Address/Subnet" -msgstr "源IP地址/子网" +msgstr "源 IP 地址/子网" msgid "Source IP address or subnet" -msgstr "源IP地址或子网" +msgstr "源 IP 地址或子网" msgid "Source Port" msgstr "源端口" @@ -7328,22 +7351,22 @@ msgstr "源端口/端口范围" msgid "Source port (integer in [1, 65535] or range in a:b)" -msgstr "源端口([1, 65535]区间内的整数或者以 a:b 形式表示的范围)" +msgstr "源端口([1, 65535] 区间内的整数或者以 a:b 形式表示的范围)" msgid "" "Source/Destination Network Address and IP version are inconsistent. Please " "make them consistent." -msgstr "源/目的网络地址和IP版本不一致。请确保它们一致。" +msgstr "源/目标网络地址和 IP 版本不一致。请确保它们一致。" msgid "Source:" msgstr "源" msgctxt "Task status of an Instance" msgid "Spawning" -msgstr "孵化" +msgstr "正在衍生" msgid "Spec: {{ qos_spec_name }}" -msgstr "规格: {{ qos_spec_name }}" +msgstr "规范: {{ qos_spec_name }}" msgid "" "Specifies how IPv6 addresses and additional information are configured. We " @@ -7351,15 +7374,15 @@ "specify no option. 'No options specified' means addresses are configured " "manually or configured by a non-OpenStack system." msgstr "" -"确定如何配置 IPv6 地址以及扩展信息,可供选择的模式包括: OpenStack 提供的 " -"SLAAC 、有状态DHCPv6 、 无状态DHCPv6,或者“无”。配置为“无”时,地址需要手工进" -"行配置,或者由 OpenStack 之外的系统进行配置。" +"指定配置 IPv6 地址及其他信息的配置方式。我们可指定 OpenStack 提供的 SLAAC 、" +"有状态 DHCPv6 、无状态 DHCPv6,也可以不指定任何选项。“未指定任何选项”意味着手" +"工配置地址或通过非 OpenStack 系统配置地址。" msgid "Specifies that the newly created volume should be marked as bootable" -msgstr "特别指出新创建的云硬盘须标记为可启动" +msgstr "指定新创建的卷应标记为可引导" msgid "Specifies that the volume can be used to launch an instance" -msgstr "指定该存储云硬盘可以用于创建云主机" +msgstr "指定该卷可用于启动实例" msgid "Specify \"Network Address\"" msgstr "指定“网络地址”" @@ -7367,93 +7390,94 @@ msgid "" "Specify \"Network Address\" or clear \"Create Subnet\" checkbox in previous " "step." -msgstr "在前一步骤,指定“网络地址”或不选“创建子网”复选框。" +msgstr "在前一步骤,指定“网络地址”或取消选中“创建子网”复选框。" msgid "Specify IP address of gateway or check \"Disable Gateway\" checkbox." -msgstr "指定网关IP地址或选中“禁用网关”复选框。" +msgstr "指定网关 IP 地址或选中“禁用网关”复选框。" msgid "Specify VIP" msgstr "指定 VIP" msgid "Specify a metadata definition namespace to import." -msgstr "指定元数据定义命名空间来导入。" +msgstr "指定元数据定义名称空间来导入。" msgid "Specify additional attributes for the subnet." -msgstr "为子网指定扩展属性" +msgstr "为子网指定其他属性。" msgid "Specify advanced options to use when launching an instance." -msgstr "指定创建云主机时使用的高级选项" +msgstr "指定创建实例时使用的高级选项" msgid "Specify an IP address for the interface created (e.g. 192.168.0.254)." -msgstr "为创建的云主机指定IP地址 (例如 192.168.0.254)." +msgstr "为所创建接口指定 IP 地址(例如,192.168.0.254)。" msgid "Specify an image to upload to the Image Service." -msgstr "指定镜像上传到镜像服务" +msgstr "指定要上载至映像服务的映像" msgid "Specify member IP address" -msgstr "指定成员的IP地址" +msgstr "指定成员的 IP 地址" msgid "Specify the details for launching an instance." -msgstr "指定创建云主机的详情" +msgstr "指定用于启动实例的详情。" msgid "" "Specify this option to copy image data to the image service. If unspecified, " "image data will be used in its current location." msgstr "" -"指定此选项以使得镜像数据复制至镜像服务。如果未指定,镜像数据将使用当前位置。" +"指定此选项以将映像数据复制到映像服务。如果未指定,那么将使用当前位置的映像数" +"据。" msgid "Specs" -msgstr "规格" +msgstr "规范" msgid "Stack Events" -msgstr "栈事件" +msgstr "堆栈事件" msgid "Stack ID" -msgstr "栈ID" +msgstr "堆栈标识" msgid "Stack Name" -msgstr "栈名" +msgstr "堆栈名称" msgid "Stack Parameters" -msgstr "栈参数" +msgstr "堆栈参数" msgid "Stack Preview" -msgstr "栈预览" +msgstr "堆栈预览" msgid "Stack Resource" -msgstr "栈资源" +msgstr "堆栈资源" msgid "Stack Resource ID" -msgstr "栈资源ID" +msgstr "堆栈资源标识" msgid "Stack Resource Type" -msgstr "栈资源类型" +msgstr "堆栈资源类型" msgid "Stack Resources" -msgstr "栈资源" +msgstr "堆栈资源" msgid "Stack creation started." -msgstr "栈创建开始。" +msgstr "堆栈创建开始。" msgid "Stack creation timeout in minutes." -msgstr "栈创建超时,以分钟计数。" +msgstr "堆栈创建超时,以分钟计。" msgid "Stack update started." -msgstr "开始更新栈。" +msgstr "开始更新堆栈。" msgid "Stacks" -msgstr "栈" +msgstr "堆栈" msgid "Start" msgstr "开始" msgctxt "Action log of an instance" msgid "Start" -msgstr "开机" +msgstr "启动" msgid "Start Instance" msgid_plural "Start Instances" -msgstr[0] "启动云主机" +msgstr[0] "启动实例" msgid "Start Time" msgstr "开始时间" @@ -7464,18 +7488,18 @@ #, python-format msgid "Start and end addresses must be specified (value=%s)" -msgstr "需要指出起始和结束地址 (value=%s)" +msgstr "需要指定起始地址和结束地址 (value=%s)" msgid "Start must be earlier than end of period." msgstr "起始时间必须早于结束时间" msgid "Started Instance" msgid_plural "Started Instances" -msgstr[0] "已启动的云主机" +msgstr[0] "已启动的实例" #, python-format msgid "Starting evacuation from %(current)s to %(target)s." -msgstr "开始疏散云主机从主机 %(current)s 到主机 %(target)s." +msgstr "开始从 %(current)s 疏散到 %(target)s." #, python-format msgid "Starting to migrate host: %(current)s" @@ -7488,7 +7512,7 @@ msgstr "静态路由表" msgid "Static route added" -msgstr "已添加静态路由表" +msgstr "已添加静态路由" msgid "Statistics of all resources" msgstr "所有资源的统计信息" @@ -7507,45 +7531,45 @@ msgctxt "Action log of an instance" msgid "Stop" -msgstr "关机" +msgstr "停止" msgctxt "Current status of an Instance" msgid "Stopped" -msgstr "停止" +msgstr "已停止" msgid "Subnet" msgstr "子网" #, python-format msgid "Subnet \"%s\" was successfully created." -msgstr "成功创建子网\"%s\"" +msgstr "成功创建子网“%s”" #, python-format msgid "Subnet \"%s\" was successfully updated." -msgstr "子网\"%s\"更新成功" +msgstr "子网“%s”更新成功" msgid "Subnet Details" msgstr "子网详情" msgid "Subnet ID" -msgstr "子网ID" +msgstr "子网标识" msgid "Subnet Name" msgstr "子网名称" msgid "Subnet list can not be retrieved." -msgstr "无法获取子网列表" +msgstr "无法检索子网列表" #, python-format msgid "Subnet: %(dest_subnetname)s" -msgstr "子网: %(dest_subnetname)s" +msgstr "子网:%(dest_subnetname)s" #, python-format msgid "Subnet: %(row_source_subnetname)s" -msgstr "子网:%(row_source_subnetname)s" +msgstr "子网:%(row_source_subnetname)s" msgid "Subnetpool" -msgstr "子网资源池" +msgstr "子网池" msgid "Subnets" msgstr "子网" @@ -7555,23 +7579,23 @@ #, python-format msgid "Successfully accepted volume transfer: \"%s\"" -msgstr "已成功接受云硬盘转让:“%s”" +msgstr "已成功接受卷传输:“%s”" #, python-format msgid "Successfully added rule: %s" -msgstr "添加规则:%s成功" +msgstr "成功添加规则 %s" #, python-format msgid "Successfully associated floating IP: %s" -msgstr "浮动IP绑定成功: %s" +msgstr "已成功关联浮动 IP:%s" #, python-format msgid "Successfully created QoS Spec: %s" -msgstr "成功创建QoS规格:%s" +msgstr "成功创建 QoS 规范:%s" #, python-format msgid "Successfully created encryption for volume type: %s" -msgstr "成功为云硬盘类型: %s 创建了加密" +msgstr "成功为卷类型 %s 创建了加密" #, python-format msgid "Successfully created security group: %s" @@ -7579,99 +7603,99 @@ #, python-format msgid "Successfully created volume type: %s" -msgstr "成功创建云硬盘类型: %s" +msgstr "已成功创建卷类型:%s" msgid "Successfully deleted volume transfer" -msgstr "成功删除云硬盘转让" +msgstr "成功删除卷传输" #, python-format msgid "Successfully deleted volume transfer \"%s\"" -msgstr "成功删除云硬盘转让 \"%s\"" +msgstr "成功删除卷传输 “%s”" #, python-format msgid "Successfully disassociated Floating IP: %s" -msgstr "浮动IP解除绑定成功: %s" +msgstr "成功取消关联浮动 IP:%s" #, python-format msgid "Successfully disassociated floating IP: %s" -msgstr "浮动IP解除绑定成功: %s" +msgstr "已成功取消关联浮动 IP:%s" #, python-format msgid "Successfully imported public key: %s" msgstr "成功导入公钥:%s" msgid "Successfully modified QoS Spec consumer." -msgstr "成功更改QoS规格消费者。" +msgstr "已成功修改 QoS 规范使用者。" msgid "Successfully recreated ec2 credentials." -msgstr "重新创建EC2凭据成功。" +msgstr "重新创建 EC2 凭据成功。" #, python-format msgid "" "Successfully restored backup %(backup_name)s to volume with id: %(volume_id)s" -msgstr "成功修复云硬盘: %(volume_id)s 的备份%(backup_name)s " +msgstr "成功恢复标识为 %(volume_id)s 的卷的备份 %(backup_name)s " #, python-format msgid "" "Successfully sent the request to change the volume type to \"%(vtype)s\" for " "volume: \"%(name)s\"" -msgstr "为云硬盘\"%(name)s\"成功发送更改云硬盘类型到\"%(vtype)s\"的请求。" +msgstr "已成功对卷“%(name)s”发送将卷类型更改为“%(vtype)s”的请求。" #, python-format msgid "Successfully sent the request to manage volume: %s" -msgstr "成功发送管理云硬盘: %s 的请求" +msgstr "已成功发送管理卷 %s 的请求" #, python-format msgid "Successfully sent the request to migrate volume: %s" -msgstr "成功发送迁移卷 %s 的请求" +msgstr "已成功发送迁移卷 %s 的请求" #, python-format msgid "Successfully sent the request to unmanage volume: %s" -msgstr "成功发送不管理云硬盘: %s 的请求" +msgstr "已成功发送取消管理卷 %s 的请求" #, python-format msgid "" "Successfully sent the request to upload volume to image for volume: \"%s\"" -msgstr "为云硬盘 \"%s\"成功发送上传云硬盘到镜像的请求。" +msgstr "为卷 “%s”成功发送上传卷到映像的请求。" msgid "Successfully updated QoS Spec association." -msgstr "成功更新QoS规格关联。" +msgstr "已成功更新 QoS 规范关联。" #, python-format msgid "Successfully updated aggregate: \"%s.\"" -msgstr "成功更新主机聚合:\"%s.\"" +msgstr "成功更新主机聚集:“%s”。" msgid "Successfully updated container access to private." -msgstr "成功更新容器为私有访问类型" +msgstr "已成功将容器访问权更新为专用。" msgid "Successfully updated container access to public." -msgstr "成功更新容器为公开访问类型" +msgstr "已成功将容器访问权更新为公用。" #, python-format msgid "Successfully updated encryption for volume type: %s" -msgstr "成功为云硬盘类型: %s 更新了加密" +msgstr "成功为卷类型 %s 更新了加密" #, python-format msgid "Successfully updated security group: %s" -msgstr "成功更新安全组: %s" +msgstr "成功更新安全组:%s" #, python-format msgid "Successfully updated volume snapshot status: \"%s\"." -msgstr "更新云硬盘快照状态成功:\"%s\"." +msgstr "更新卷快照状态成功:“%s”。" #, python-format msgid "Successfully updated volume status to \"%s\"." -msgstr "成功更新云硬盘状态为\"%s\"。" +msgstr "已成功将卷状态更新为“%s”。" msgid "Successfully updated volume type." -msgstr "成功更新云硬盘类型" +msgstr "已成功更新卷类型。" msgid "Sum." msgstr "总和" msgctxt "Action log of an instance" msgid "Suspend" -msgstr "挂起" +msgstr "暂挂" msgctxt "current status of stack" msgid "Suspend Complete" @@ -7687,37 +7711,37 @@ msgid "Suspend Instance" msgid_plural "Suspend Instances" -msgstr[0] "挂起云主机" +msgstr[0] "暂挂实例" msgid "Suspend Stack" msgid_plural "Suspend Stacks" -msgstr[0] "挂起栈" +msgstr[0] "挂起堆栈" msgctxt "Current status of an Instance" msgid "Suspended" -msgstr "挂起" +msgstr "已暂挂" msgctxt "Power state of an Instance" msgid "Suspended" -msgstr "已挂起" +msgstr "已暂挂" msgid "Suspended Instance" msgid_plural "Suspended Instances" -msgstr[0] "已挂起的云主机" +msgstr[0] "已暂挂实例" msgid "Suspended Stack" msgid_plural "Suspended Stacks" -msgstr[0] "已经挂起的栈" +msgstr[0] "已经挂起的堆栈" msgctxt "Task status of an Instance" msgid "Suspending" -msgstr "正在挂起" +msgstr "正在暂挂" msgid "Swap Disk" -msgstr "Swap磁盘" +msgstr "交换磁盘" msgid "Swap Disk (MB)" -msgstr "Swap磁盘(MB)" +msgstr "交换磁盘 (MB)" msgid "Swift" msgstr "Swift" @@ -7729,31 +7753,31 @@ msgstr "系统" msgid "System Airflow Reading" -msgstr "读取空气流速(CFM)" +msgstr "系统气流读数" msgid "System CPU Utility Reading" -msgstr "系统CPU利用率" +msgstr "系统 CPU 用量读数" msgid "System CUPS Reading" -msgstr "读取系统利用率(CUPS)" +msgstr "系统 CPU 读数" msgid "System Current Power" msgstr "系统当前功耗" msgid "System IO Utility Reading" -msgstr "系统IO利用率" +msgstr "系统 IO 用量读数" msgid "System Information" msgstr "系统信息" msgid "System Memory Utility Reading" -msgstr "系统内存利用率" +msgstr "系统内存用量读数" msgid "System Outlet Temperature Reading" -msgstr "读取出风口温度" +msgstr "系统出风口温度读数" msgid "System Temperature Reading" -msgstr "读取系统温度" +msgstr "系统温度读数" msgid "TCP" msgstr "TCP" @@ -7777,15 +7801,15 @@ msgstr "模板源" msgid "Template URL" -msgstr "模板URL" +msgstr "模板 URL" msgid "" "The \"Bootable\" flag specifies that this volume can be used to launch an " "instance." -msgstr "“可启动”标记标明此云硬盘可以被用来创建云主机。" +msgstr "“可引导”标记标明此卷可用于启动实例。" msgid "The \"from\" port number is invalid." -msgstr "起始端口号不合法。" +msgstr "起始端口号无效。" msgid "The \"to\" port number is invalid." msgstr "终止端口号不合法。" @@ -7793,7 +7817,7 @@ msgid "" "The \"to\" port number must be greater than or equal to the \"from\" port " "number." -msgstr "终止端口号必须大于或者等于起始端口号。" +msgstr "结束端口号必须大于或者等于起始端口号。" #. Translators: Only used inside Horizon code and invisible to users #, python-format @@ -7801,103 +7825,96 @@ "The 'operation' parameter for get_feature_permission '%(feature)s' is " "invalid. It should be one of %(allowed)s" msgstr "" -"get_feature_permission '%(feature)s'的参数'operation'无效。应该是%(allowed)s" -"中的一个。" +"get_feature_permission“%(feature)s”的参数“operation”无效。应该是 %(allowed)s " +"之一。" msgid "" "The Cipher is the encryption algorithm/mode to use (e.g., " "aes-xts-plain64). If the field is left empty, the provider default will be " "used." msgstr "" -"Cipher是要用的加密算法/方式(例如, aes-xts-plain64). 如果该字" -"段空白,将会使用默认算法。" +"密码是要使用的加密算法/方式(例如,aes-xts-plain64), 如果" +"该字段为空,那么将会使用缺省算法。" msgid "" "The Control Location is the notional service where " "encryption is performed (e.g., front-end=Nova). The default value is 'front-" "end.'" msgstr "" -"控制位置 是用于指定由哪个服务来对云硬盘进行加密(如,“前端” " -"对应的是 Nova )。默认值是“前端”。" +"控制位置 是用于指定执行加密的概念服务(例如, front-" +"end=Nova )。缺省值是“ front-end”。" msgid "" "The Key Size is the size of the encryption key, in bits (e." "g., 128, 256). If the field is left empty, the provider default will be used." msgstr "" -"密钥长度是加密密钥的大小,单位为比特(例如, 128, 256). 如果该" -"字段为空,将会使用默认值。" +"密钥长度是加密密钥的大小,单位为位(例如,128 和 256)。如果" +"该字段为空,那么将会使用缺省值。" msgid "" "The Provider is the class providing encryption support (e." "g. LuksEncryptor)." -msgstr "提供者 是提供加密支持的class(例如LuksEncryptor)。" +msgstr "提供者 是提供加密支持的类(例如,LuksEncryptor)。" msgid "" "The Provider is the class providing encryption support (e." "g., LuksEncryptor)." -msgstr "提供者是提供加密功能的class(例如:LuksEncryptor)。" +msgstr "提供者是提供加密功能的类(例如,LuksEncryptor)。" msgid "The Aggregate was updated." -msgstr "聚合已更新." +msgstr "聚集已更新。" msgid "" "The Authorization Key will not be available after closing this page, so you " "must capture it now, or else you will be unable to use the transfer." -msgstr "认证密钥将在关闭此页面后失效,请现在就将其收集,否则您将无法进行转让。" - -msgid "The ICMP code is invalid." -msgstr "无效的ICMP代码。" +msgstr "授权密钥将在关闭此页面后失效,请现在就将其收集,否则您将无法进行传输。" msgid "The ICMP code not in range (-1, 255)" -msgstr "ICMP 代码不在(-1, 255)范围内 " - -msgid "The ICMP type is invalid." -msgstr "无效的ICMP类型。" +msgstr "ICMP 代码不在 (-1, 255) 范围内 " msgid "The ICMP type not in range (-1, 255)" -msgstr "ICMP类型不在(-1, 255)范围内" +msgstr "ICMP 类型不在 (-1, 255) 范围内" #, python-format msgid "The ID \"%s\" is already used by another flavor." -msgstr "此ID \"%s\" 已经被其他云主机类型占用。" +msgstr "标识“%s”已被另一 flavor 占用。" msgid "" "The ID of the host where the port is allocated. In some cases, different " "implementations can run on different hosts." -msgstr "" -"端口被分配到的目标主机ID 。某些情况下,不同的实现方式可在运行在不同的主机上。" +msgstr "端口被分配至的主机的标识。某些情况下,不同的实现可在不同的主机上运行。" msgid "" "The Image Location field MUST be a valid and direct URL to the image binary. " "URLs that redirect or serve error pages will result in unusable images." msgstr "" -"镜像地址必须是有效的直接指向镜像二进制文件的URL。URL被重定向或者服务器返回错" -"误页面将导致镜像不可用。" +"“映像地址”字段必须是直接指向映像二进制文件的有效 URL。重定向或者返回错误页面" +"的 URL 将导致映像不可用。" msgid "The JSON formatted contents of a namespace." -msgstr "内容为JSON格式的命名空间定义" +msgstr "名称空间的 JSON 格式内容。" msgid "The Key Pair name that was associated with the instance" -msgstr "关联到该云主机上的密钥对名称" +msgstr "与该实例关联的密钥对名称" msgid "" "The Transfer ID and the Authorization Key are needed by the recipient in " "order to accept the transfer. Please capture both the Transfer ID and the " "Authorization Key and provide them to your transfer recipient." msgstr "" -"接收方需要转让ID和认证密钥用来接受转让。请获取转让ID和认证密钥并将它们提供给" -"你的转让接收方。" +"接收方需要传输标识和授权密钥用来接受传输。请获取传输标识和授权密钥并将它们提" +"供给您的传输接收方。" msgid "The VNIC type that is bound to the neutron port" -msgstr "Neutron 端口对应的 VNIC 类型" +msgstr "绑定至 Neutron 端口的 VNIC 类型" #, python-format msgid "" "The Volume size is too small for the '%(image_name)s' image and has to be " "greater than or equal to '%(smallest_size)d' GB." msgstr "" -"对于镜像 '%(image_name)s' 来说,云硬盘太小了,必须大于或等" -"于'%(smallest_size)d' GB。" +"对于映像 '%(image_name)s' 来说,卷太小了,必须大于或等于 '%(smallest_size)d' " +"GB。" msgid "The admin password is incorrect." msgstr "管理员密码不正确。" @@ -7905,7 +7922,7 @@ msgid "" "The chart below shows the resources used by this project in relation to the " "project's quotas." -msgstr "下面的图表显示了此项目所使用的资源和相关配额。" +msgstr "下面的图表显示了此项目所使用的资源(相对于该项目的配额)。" msgid "" "The color and icon of an intersection indicates whether or not traffic is " @@ -7917,12 +7934,12 @@ "direction is outlined when hovering over an intersection.\n" " " msgstr "" -"交叉点的颜色和图标指示了从来源(行)到目标(列)的流量是否允许。\n" -"点击交叉点的按钮,将安装一个规则,用于改" +"交叉点的颜色和图标指示了从来源(行)到目标(列)的流量是否被允许。\n" +"单击交叉点的按钮,将安装一个规则,用于改" "变流量行为。
    \n" "\n" "注意:规则只影响一个方向的流量。当鼠标悬停在交叉点上时,反方向的流量行" -"为将被展示。\n" +"为将被圈出。\n" " " msgid "The container cannot be deleted since it is not empty." @@ -7931,10 +7948,11 @@ msgid "" "The data will remain in the volume and another instance will be able to " "access the data if you attach this volume to it." -msgstr "数据会保留在云硬盘上,可被其他连接了该云硬盘的云主机读取。" +msgstr "" +"数据将保留在卷中,如果将此卷连接至另一实例,那么另一实例将能够访问该数据。" msgid "The dates haven't been recognized" -msgstr "不能识别的日期" +msgstr "日期不能被识别" msgid "" "The default IP address of the interface created is a gateway of the selected " @@ -7942,87 +7960,85 @@ "select a subnet to which the specified IP address belongs to from the above " "list." msgstr "" -"被创建接口的默认IP地址是被选用子网的网关。在此你可以指定接口的另一个IP地址。" -"你必须从上述列表中选择一个子网,这个指定的IP地址应属于该子网。" +"所创建接口的缺省 IP 地址是所选子网的网关。您可在此处指定接口的另一个 IP 地" +"址。您必须从以上列表中选择指定 IP 地址所属的子网," msgid "" "The default action for deleting a consistency group is to first disassociate " "all associated volumes." -msgstr "" -"删除一致性组的默认动作是首先释放(disassociate)所以已经关联(associated)的云" -"硬盘。" +msgstr "删除一致性组的缺省操作是先取消关联所有已关联卷。" #, python-format msgid "" "The flavor '%(flavor)s' is too small for requested image.\n" "Minimum requirements: %(min_ram)s MB of RAM and %(min_disk)s GB of Root Disk." msgstr "" -"对于请求的镜像而言,云主机类型 '%(flavor)s' 太小了。\n" +"对于请求的映像而言,flavor“%(flavor)s”太小了。\n" "最小需求:内存 %(min_ram)s MB,根硬盘 %(min_disk)s GB。" #, python-format msgid "The instance is preparing the live migration to host \"%s\"." -msgstr "此云主机正在准备热迁移到主机\"%s\"。" +msgstr "此实例正在准备实时迁移到主机“%s”。" msgid "The instance password encrypted with your public key." -msgstr "云主机密码已被你的公钥加密" +msgstr "实例密码已使用您的公钥加密。" msgid "The instance(s) will be shut off." -msgstr "云主机将会被关闭" +msgstr "实例将会被关闭。" #, python-format msgid "" "The key pair "%(keypair_name)s" should download automatically. If " "not use the link below." -msgstr "密钥对"%(keypair_name)s"将会自动下载;否则请使用下面的链接。" +msgstr "" +"密钥对 "%(keypair_name)s" 应自动下载。否则,请使用下面的链接。" msgid "" "The maximum time in seconds for a monitor to wait for a reply. It must be " "less than or equal to delay" -msgstr "监控等待回复的最长等待时间,以秒为单位;必须小于或者等于延迟时间。" +msgstr "监视器等待回复的最长等待时间,以秒为单位;必须小于或者等于延迟。" msgid "" "The minimum disk size required to boot the image. If unspecified, this value " "defaults to 0 (no minimum)." -msgstr "启动镜像所需的最低磁盘大小。如果不指定, 默认值为 0 (没有限制)。" +msgstr "启动映像所需的最低磁盘大小。如果未指定,那么缺省值为 0(没有限制)。" msgid "" "The minimum memory size required to boot the image. If unspecified, this " "value defaults to 0 (no minimum)." -msgstr "启动镜像所需的最低内存大小。如果不指定, 默认值为 0 (没有限制)。" +msgstr "启动映像所需的最低内存大小。如果未指定,那么缺省值为 0(没有限制)。" msgid "" "The minimum time in seconds between regular checks of a member. It must be " "greater than or equal to timeout" -msgstr "" -"两次常规成员检查之间的最小时间间隔,以秒为单位;必须大于或等于超时时间。" +msgstr "两次常规成员检查之间的最短时间间隔,以秒为单位;必须大于或等于超时。" #, python-format msgid "The name \"%s\" is already used by another consistency group." -msgstr "该名称\"%s\"已经被其他一致性组使用。" +msgstr "该名称“%s”已经被其他一致性组使用。" #, python-format msgid "The name \"%s\" is already used by another flavor." -msgstr "名称 \"%s\" 已经被其他云主机类型占用。" +msgstr "名称“%s”已被另一 flavor 占用。" #, python-format msgid "The name \"%s\" is already used by another host aggregate." -msgstr "该名称\"%s\"已经被其他主机聚合使用。" +msgstr "该名称“%s”已经被其他主机聚集使用。" msgid "The name is already in use." -msgstr "这个名字已经被使用" +msgstr "此名称已经被使用" msgid "" "The name of the physical network over which the virtual network is " "implemented." -msgstr "实现虚拟网络的物理网络名称。" +msgstr "实现虚拟网络的物理网络的名称。" msgid "" "The next hop addresses can be used to override the router used by the client." -msgstr "用户可以在客户端修改下一跳地址" +msgstr "可使用下一中继段地址覆盖客户机使用的路由器。" msgid "The page you were looking for doesn't exist" -msgstr "你要找的页面不存在" +msgstr "您要找的页面不存在" msgid "The physical mechanism by which the virtual network is implemented." msgstr "实现虚拟网络的物理机制。" @@ -8030,10 +8046,11 @@ msgid "" "The port also describes the associated network configuration, such as the " "MAC and IP addresses to be used on that port." -msgstr "端口同样描述了相关联的网络配置,比如那个端口上可用的MAC和IP地址。" +msgstr "" +"该端口还描述了相关联的网络配置,例如,要在该端口上使用的 MAC 地址和 IP 地址。" msgid "The pre-defined key string between the two peers of the VPN connection" -msgstr "VPN连接的两个端点预定义关键字的字符串" +msgstr "VPN 连接的两个伙伴之间的预定义密钥字符串" msgid "" "The private key will be only used in your browser and will not be sent to " @@ -8041,7 +8058,7 @@ msgstr "私钥仅在您的浏览器中使用,不会被传送到服务器" msgid "The pseudo folder cannot be deleted since it is not empty." -msgstr "伪目录非空,不能删除。" +msgstr "伪文件夹非空,不能删除。" msgid "The raw contents of the environment file." msgstr "环境变量文件的原始内容" @@ -8054,33 +8071,25 @@ msgid "" "The requested feature '%(feature)s' is unknown. Please make sure to specify " "a feature defined in FEATURE_MAP." -msgstr "请求的特性 '%(feature)s' 未知。确保指定 FEATURE_MAP 里定义过的特性。" - -#, python-format -msgid "" -"The requested instance cannot be launched as you only have %(avail)i of your " -"quota available. " -msgid_plural "" -"The requested %(req)i instances cannot be launched as you only have " -"%(avail)i of your quota available." -msgstr[0] "申请的 %(req)i 个云主机无法创建,因为您只剩 %(avail)i 个的配额。" +msgstr "请求的功能“%(feature)s”未知。确保指定 FEATURE_MAP 里定义过的功能。" #, python-format msgid "" "The requested instance cannot be launched. Requested volume exceeds quota: " "Available: %(avail)s, Requested: %(req)s." msgstr "" -"请求的云主机无法创建。请求的云硬盘超过配额: 可以配额:%(avail)s,请求:%(req)s." +"无法启动所请求实例。所请求卷超过配额:可用配额:%(avail)s,所请求配额:" +"%(req)s。" #, python-format msgid "" "The requested instance cannot be launched. The following requested " "resource(s) exceed quota(s): %s." -msgstr "请求的云主机无法创建。如下的请求资源超过配额: %s." +msgstr "无法启动所请求实例。以下所请求资源超过配额:%s。" msgid "" "The requested instance port is already associated with another floating IP." -msgstr "申请的云主机端口已经与其它浮动IP关联。" +msgstr "申请的实例端口已经与其它浮动 IP 关联。" msgid "The specified port is invalid." msgstr "指定端口不可用。" @@ -8088,38 +8097,38 @@ msgid "" "The state of IPSec site connection to start in. If DOWN (False), IPSec site " "connection does not forward packets." -msgstr "IPSec连接状态。如果为 DOWN (假),IPSec站点连接不转发包。" +msgstr "IPSec 连接状态。如果为 DOWN (False),那么 IPSec 站点连接不转发包。" msgid "" "The state of VPN service to start in. If DOWN (False) VPN service does not " "forward packets." -msgstr "VPN服务开始使用的状态。如果为 DOWN (假),VPN服务不转发包。" +msgstr "VPN 服务的起始状态。如果为 DOWN (False),那么 VPN 服务不转发包。" msgid "The state to start the network in." -msgstr "状态是启动网络" +msgstr "启动网络时的状态。" #, python-format msgid "The subnet in the Network Address is too small (/%s)." -msgstr "子网地址太小 (/%s)." +msgstr "网络地址中的子网太小 (/%s)。" msgid "The time delta must be a number representing the time span in days" -msgstr "时间增量必须以天数间隔表示" +msgstr "时间增量必须以天数表示" #, python-format msgid "The volume size cannot be less than the image minimum disk size (%sGiB)" -msgstr "云硬盘大小不能小于镜像最小磁盘要求(%sGiB)" +msgstr "卷大小不能小于映像最低磁盘大小 (%sGiB)" #, python-format msgid "The volume size cannot be less than the image size (%s)" -msgstr "云硬盘大小不得小于镜像大小 (%s)" +msgstr "卷大小不能小于映像大小 (%s)" #, python-format msgid "The volume size cannot be less than the snapshot size (%sGiB)" -msgstr "云硬盘大小不能小于快照(%sGiB)" +msgstr "卷大小不能小于快照大小 (%sGiB)" #, python-format msgid "The volume size cannot be less than the source volume size (%sGiB)" -msgstr "云硬盘大小不得小于原始云硬盘大小 (%sGiB)" +msgstr "卷大小不能小于原始卷大小 (%sGiB)" msgid "Theme Preview" msgstr "主题预览" @@ -8131,40 +8140,39 @@ msgstr "没有定义任何计量。" msgid "There are no networks, routers, or connected instances to display." -msgstr "没有可以显示的网络,路由或者连接的云主机。" +msgstr "没有要显示的网络、路由器或者已连接实例。" msgid "" "There is not enough capacity for this flavor in the selected availability " "zone. Try again later or select a different availability zone." msgstr "" -"在选定的可用域中没有足够的空间来匹配这个主机类型。请稍后重试或者选择另外一个" -"可用域" +"所选可用域中没有足够的空间来容纳此 flavor。请稍后重试或者选择另外一个可用域。" #, python-format msgid "There was a problem loading the namespace: %s." -msgstr "命名空间加载时出错:%s。" +msgstr "装入名称空间时出错:%s。" #, python-format msgid "There was a problem parsing the %(prefix)s: %(error)s" -msgstr "解析%(prefix)s遇到问题: %(error)s" +msgstr "解析%(prefix)s 时遇到问题:%(error)s" msgid "This action cannot be undone." -msgstr "这个动作不能撤消。" +msgstr "此操作不能撤消。" msgid "" "This action cannot be undone. Current EC2 credentials will be deleted and " "not recoverable." -msgstr "该操作无法撤销(undo),当前EC2凭据将被删除且无法恢复。" +msgstr "该操作无法撤销,当前 EC2 凭据将被删除且无法恢复。" msgid "This application requires JavaScript to be enabled in your web browser." -msgstr "此应用需要您的浏览器启用JavaScript。" +msgstr "此应用程序需要您的浏览器启用 JavaScript。" msgid "" "This generates a pair of keys: a key you keep private (cloud.key) and a " "public key (cloud.key.pub). Paste the contents of the public key file here." msgstr "" -"这将生成一对密钥对:一个私钥 (cloud.key)和一个公钥(cloud.key.pub)。请妥善保存" -"好您的私钥,并把公钥文件内容粘贴在这里。" +"这将生成一对密钥:一个私钥 (cloud.key) 和一个公钥 (cloud.key.pub)。请妥善保存" +"好您的私钥,并把公钥文件内容粘贴到此处。" msgid "" "This is equivalent to the cinder qos-associate and cinder qos-" @@ -8176,38 +8184,37 @@ msgid "" "This is required for operations to be performed throughout the lifecycle of " "the stack" -msgstr "这是stack生命周期中执行的操作所必需的。" +msgstr "这是堆栈生命周期中执行的操作所必需的。" msgid "This name is already taken." -msgstr "这个名字已经被使用" +msgstr "此名称已被使用。" msgid "This panel needs JavaScript support." -msgstr "该页需要JavaScript支持。" +msgstr "此面板需要 JavaScript 支持。" msgid "" "This volume is currently attached to an instance. In some cases, creating a " "snapshot from an attached volume can result in a corrupted snapshot." msgstr "" -"这个云硬盘已经被连接到某个云主机了。从某种程度上来说,从已连接的云硬盘上创建" -"快照可能会导致快照有误。" +"此卷当前已连接至实例。在某些情况下,通过已连接卷创建快照可能导致快照损坏。" msgid "This volume type is used by one or more volumes." -msgstr "该卷类型还有卷在使用." +msgstr "此卷类型被一个或多个卷使用。" msgid "Time" msgstr "时间" msgid "Time Since Created" -msgstr "从创建以来" +msgstr "创建以来的时间" msgid "Time Since Event" -msgstr "事件后时间" +msgstr "发生事件以来的时间" msgid "Time since created" -msgstr "从创建以来" +msgstr "创建以来的时间" msgid "Time since created (Seconds)" -msgstr "从创建以来(秒)" +msgstr "创建以来的时间(秒)" msgid "Timeout" msgstr "超时" @@ -8222,25 +8229,25 @@ msgstr "终止端口号" msgid "To date to must be greater than From date." -msgstr "截止日期必须晚于起始日期。" +msgstr "结束日期必须晚于开始日期。" msgid "" "To decrypt your password you will need the private key of your key pair for " "this instance. Select the private key file, or copy and paste the content of " "your private key file into the text area below, then click Decrypt Password." msgstr "" -"你需要该云主机的密钥对中的私钥来解密您的系统密码。选择私钥文件,或者拷贝私钥" -"内容并粘贴至下面的文本框中,然后点击 解密密码。" +"要解密密码,您需要此实例的密钥对中的私钥。选择私钥文件,或者将私钥文件的内容" +"粘贴至下面的文本区域中,然后单击“解密密码”。" msgid "To exit the fullscreen mode, click the browser's back button." -msgstr "要退出全屏模式,请点击浏览器的后退按键" +msgstr "要退出全屏模式,请单击浏览器的后退按钮。" msgid "" "To specify an allowed IP range, select "CIDR". To allow access " "from all members of another security group select "Security Group"." msgstr "" -"选择"CIDR"以指定允许来访的IP地址范围。如欲允许来自另一安全组所有成" -"员的访问,请选择"安全组"。" +"选择 "CIDR" 以指定允许来访的 IP 地址范围。要允许来自另一安全组所有" +"成员的访问,请选择 "安全组"。" msgid "To:" msgstr "至:" @@ -8261,28 +8268,28 @@ msgstr "拓扑" msgid "Total Active RAM (MB):" -msgstr "运行中的内存总计(MB):" +msgstr "运行 RAM 总计 (MB):" msgid "Total Disk" msgstr "磁盘总计" msgid "Total Disk Size (GB):" -msgstr "磁盘总大小(GB):" +msgstr "磁盘总大小 (GB):" msgid "Total Disk Usage (Hours):" -msgstr "磁盘总用量(小时):" +msgstr "磁盘总用量(小时):" msgid "Total Gibibytes" -msgstr "总大小(GB)" +msgstr "总大小 (GB)" msgid "Total Memory Usage (Hours):" -msgstr "内存总用量(小时):" +msgstr "内存总用量(小时):" msgid "Total RAM" msgstr "内存总计" msgid "Total Size of Volumes and Snapshots (GB)" -msgstr "云硬盘和快照的总大小(GB)" +msgstr "卷和快照的总大小 (GB)" msgid "Total Size of Volumes and Snapshots (GiB)" msgstr "卷及快照总大小 (GiB)" @@ -8292,26 +8299,26 @@ msgstr "%(type)s 类型的卷和快照总大小 (GiB)" msgid "Total VCPU Usage (Hours):" -msgstr "VCPU总用量(小时):" +msgstr "VCPU 总用量(小时):" msgid "" "Total VCPU usage (Number of VCPU in instance * Hours Used) for the project" -msgstr "项目总VCPU用量 (云主机的VCPU数*小时)" +msgstr "项目总 VCPU 用量(实例中的 VCPU 数 * 已使用小时数)" msgid "Total disk usage (GB * Hours Used) for the project" -msgstr "项目总磁盘用量 (GB*小时)" +msgstr "项目的总磁盘用量(GB * 已使用小时数)" msgid "Total memory usage (MB * Hours Used) for the project" -msgstr "项目总内存用量(MB*小时)" +msgstr "项目的总内存用量(MB * 已使用小时数)" msgid "Total size of stored objects" msgstr "存储对象总大小" msgid "Transfer ID" -msgstr "转让ID" +msgstr "传输标识" msgid "Transfer Name" -msgstr "转让名称" +msgstr "传输名称" msgid "Transform Protocol" msgstr "转换协议" @@ -8320,7 +8327,7 @@ msgstr "类型" msgid "Type of backend device identifier provided" -msgstr "提供的后端设备标识类型" +msgstr "所提供后端设备标识的类型" #, python-format msgid "Type: %(persistence_type)s" @@ -8330,33 +8337,33 @@ msgstr "UDP" msgid "UP" -msgstr "UP" +msgstr "启动" msgctxt "Admin state of a Firewall" msgid "UP" -msgstr "UP" +msgstr "启动" msgctxt "Admin state of a Load balancer" msgid "UP" -msgstr "UP" +msgstr "启动" msgctxt "Admin state of a Network" msgid "UP" -msgstr "UP" +msgstr "启动" msgctxt "Admin state of a Port" msgid "UP" -msgstr "UP" +msgstr "启动" msgctxt "Admin state of a Router" msgid "UP" -msgstr "UP" +msgstr "启动" msgid "URL" msgstr "URL" msgid "URL Path" -msgstr "URL路径" +msgstr "URL 路径" msgid "UTC" msgstr "UTC" @@ -8366,52 +8373,52 @@ msgstr "UTC %(hour)s:%(min)s" msgid "Unable to accept volume transfer." -msgstr "无法接受云硬盘转让。" +msgstr "无法接受卷传输。" #, python-format msgid "Unable to add Firewall \"%s\"." -msgstr "无法添加防火墙 \"%s\"。" +msgstr "无法添加防火墙 “%s”。" #, python-format msgid "Unable to add IKE Policy \"%s\"." -msgstr "无法添加IKE策略 \"%s\"。" +msgstr "无法添加 IKE 策略 “%s”。" #, python-format msgid "Unable to add IPSec Policy \"%s\"." -msgstr "无法添加IPSec策略 \"%s\"。" +msgstr "无法添加 IPSec 策略 “%s”。" #, python-format msgid "Unable to add IPSec Site Connection \"%s\"." -msgstr "无法添加IPSec站点连接 \"%s\"。" +msgstr "无法添加 IPSec 站点连接 “%s”。" #, python-format msgid "Unable to add Policy \"%s\"." -msgstr "无法添加策略 \"%s\"。" +msgstr "无法添加策略 “%s”。" #, python-format msgid "Unable to add Rule \"%s\"." -msgstr "无法添加规则 \"%s\"。" +msgstr "无法添加规则 “%s”。" #, python-format msgid "Unable to add VIP \"%s\"." -msgstr "无法添加 VIP \"%s\"。" +msgstr "无法添加 VIP “%s”。" #, python-format msgid "Unable to add VPN Service \"%s\"." -msgstr "无法添加VPN服务 \"%s\"。" +msgstr "无法添加 VPN 服务 “%s”。" msgid "Unable to add member(s)" msgstr "无法添加成员。" msgid "Unable to add monitor" -msgstr "无法添加监控" +msgstr "无法添加监视器" msgid "Unable to add monitor." -msgstr "无法添加监控。" +msgstr "无法添加监视器。" #, python-format msgid "Unable to add pool \"%s\"." -msgstr "无法添加资源池 \"%s\"。" +msgstr "无法添加池 “%s”。" msgid "Unable to add rule to security group." msgstr "无法为安全组添加规则。" @@ -8420,43 +8427,43 @@ msgstr "无法向首要项目添加用户。" msgid "Unable to allocate Floating IP." -msgstr "无法分配浮动IP。" +msgstr "无法分配浮动 IP。" #, python-format msgid "Unable to associate IP address %s." -msgstr "无法绑定IP%s" +msgstr "无法绑定 IP %s" msgid "Unable to associate floating IP." -msgstr "无法绑定浮动ip" +msgstr "无法关联浮动 IP" msgid "Unable to associate monitor." -msgstr "无法关联监控。" +msgstr "无法关联监视器。" msgid "Unable to attach interface." msgstr "未能连接接口。" msgid "Unable to attach volume." -msgstr "无法连接云硬盘" +msgstr "无法连接卷" msgid "Unable to change password." -msgstr "无法修改密码。" +msgstr "无法更改密码。" #, python-format msgid "Unable to change the volume type for volume: \"%s\"" -msgstr "无法更改云硬盘: \"%s\"的类型" +msgstr "无法更改卷“%s”的类型" #, python-format msgid "Unable to clear gateway for router \"%(name)s\": \"%(msg)s\"" -msgstr "无法清除路由\"%(name)s\"的网关: \"%(msg)s\"" +msgstr "无法清除路由器“%(name)s”的网关:“%(msg)s”" msgid "Unable to connect to Neutron." -msgstr "无法连接到Neutron." +msgstr "无法连接至 Neutron。" msgid "Unable to copy object." msgstr "无法复制对象。" msgid "Unable to create QoS Spec." -msgstr "无法创建QoS规格。" +msgstr "无法创建 QoS 规范。" msgid "Unable to create consistency group." msgstr "无法创建一致性组" @@ -8466,30 +8473,30 @@ #, python-format msgid "Unable to create domain \"%s\"." -msgstr "无法创建新域\"%s\"。" +msgstr "无法创建新域“%s”。" msgid "Unable to create encrypted volume type." -msgstr "无法创建加密云硬盘类型。" +msgstr "无法创建加密卷类型。" #, python-format msgid "Unable to create flavor \"%s\"." -msgstr "无法创建云主机类型\"%s\"。" +msgstr "无法创建 flavor“%s”。" msgid "Unable to create flavor." -msgstr "无法创建云主机类型。" +msgstr "无法创建 flavor。" msgid "Unable to create group." msgstr "无法创建组。" #, python-format msgid "Unable to create host aggregate \"%s\"." -msgstr "无法创建主机聚合 \"%s\"." +msgstr "无法创建主机聚集“%s”。" msgid "Unable to create host aggregate." -msgstr "无法创建主机聚合." +msgstr "无法创建主机聚集。" msgid "Unable to create identity provider protocol." -msgstr "不能创建提供者协议。" +msgstr "无法创建身份提供者协议。" #, python-format msgid "Unable to create key pair: %(exc)s" @@ -8499,77 +8506,77 @@ msgstr "不能创建映射。" msgid "Unable to create mapping. Rules has malformed JSON data." -msgstr "不能创建映射。规则包含不能使用的JSON数据。" +msgstr "不能创建映射。规则包含格式错误的 JSON 数据。" #, python-format msgid "Unable to create network \"%s\"." -msgstr "无法创建网络\"%s\"." +msgstr "无法创建网络“%s”。" msgid "Unable to create new image" -msgstr "无法创建新的镜像" +msgstr "无法创建新的映像" msgid "Unable to create new image: Image name too long." -msgstr "无法创建新镜像:镜像名称太长。" +msgstr "无法创建新映像:映像名称太长。" #, python-format msgid "Unable to create new image: Invalid disk format %s for image." -msgstr "无法创建新镜像:不能识别的镜像格式 %s。" +msgstr "无法创建新映像:映像格式 %s 无效。" msgid "Unable to create new image: URL scheme not supported." -msgstr "无法创建新镜像:URL scheme 不支持。" +msgstr "无法创建新映像:URL 方案不受支持。" #, python-format msgid "Unable to create new namespace. %s" -msgstr "无法创建新命名空间 %s" +msgstr "无法创建新名称空间 %s" #, python-format msgid "Unable to create port for profile \"%(profile_id)s\": %(reason)s" -msgstr "无法为配置概要 \"%(profile_id)s\" 创建端口:%(reason)s" +msgstr "无法为概要文件“%(profile_id)s”创建端口:%(reason)s" #, python-format msgid "Unable to create project \"%s\"." -msgstr "无法创建项目\"%s\"" +msgstr "无法创建项目“%s”" msgid "Unable to create pseudo-folder." -msgstr "不能创建伪目录。" +msgstr "不能创建伪文件夹。" msgid "Unable to create role." msgstr "无法创建角色。" #, python-format msgid "Unable to create security group: %s" -msgstr "无法创建安全组: %s" +msgstr "无法创建安全组:%s" msgid "Unable to create snapshot." msgstr "无法创建快照。" msgid "Unable to create spec." -msgstr "无法创建规格" +msgstr "无法创建规范。" #, python-format msgid "Unable to create subnet \"%s\"." -msgstr "无法创建子网\"%s\"." +msgstr "无法创建子网“%s”。" msgid "Unable to create user." msgstr "无法创建用户。" msgid "Unable to create volume backup." -msgstr "无法创建云硬盘备份。" +msgstr "无法创建卷备份。" msgid "Unable to create volume snapshot." -msgstr "无法创建云硬盘快照" +msgstr "无法创建卷快照" msgid "Unable to create volume transfer." -msgstr "无法创建云硬盘转让。" +msgstr "无法创建卷传输。" msgid "Unable to create volume type extra spec." -msgstr "无法创建云硬盘类型扩展规格。" +msgstr "无法创建卷类型 extra spec。" msgid "Unable to create volume type." -msgstr "无法创建云硬盘类型" +msgstr "无法创建卷类型" msgid "Unable to create volume." -msgstr "不能创建云硬盘。" +msgstr "不能创建卷。" #, python-format msgid "Unable to delete IKE Policy. %s" @@ -8577,11 +8584,11 @@ #, python-format msgid "Unable to delete IPSec Policy. %s" -msgstr "无法删除IPSec 策略. %s" +msgstr "无法删除 IPSec 策略。%s" #, python-format msgid "Unable to delete IPSec Site Connection. %s" -msgstr "无法删除IPSec 对点链接. %s" +msgstr "无法删除 IPSec 站点链接。%s" #, python-format msgid "Unable to delete VIP. %s" @@ -8589,7 +8596,7 @@ #, python-format msgid "Unable to delete VPN Service. %s" -msgstr "无法删除VPN服务 %s" +msgstr "无法删除 VPN 服务 %s" msgid "Unable to delete consistency group." msgstr "无法删除一致性组" @@ -8599,52 +8606,52 @@ #, python-format msgid "Unable to delete firewall. %s" -msgstr "无法删除防火墙 %s" +msgstr "无法删除防火墙 %s" #, python-format msgid "Unable to delete member. %s" -msgstr "无法删除成员%s" +msgstr "无法删除成员 %s" #, python-format msgid "Unable to delete monitor. %s" -msgstr "无法删除监控。%s" +msgstr "无法删除监视器。%s" #, python-format msgid "Unable to delete policy. %s" -msgstr "无法删除策略 %s" +msgstr "无法删除策略 %s" #, python-format msgid "Unable to delete pool. %s" -msgstr "无法删除资源池%s" +msgstr "无法删除池。%s" #, python-format msgid "Unable to delete router \"%s\"" -msgstr "无法删除路由\"%s\"" +msgstr "无法删除路由器“%s”" msgid "Unable to delete router rule." -msgstr "不能删除路由规则" +msgstr "不能删除路由器规则" #, python-format msgid "Unable to delete rule. %s" -msgstr "无法删除规则 %s" +msgstr "无法删除规则 %s" msgid "Unable to delete volume transfer." -msgstr "无法删除云硬盘转让。" +msgstr "无法删除卷传输。" msgid "Unable to detach interface." -msgstr "未能分离接口。" +msgstr "无法拆离接口。" msgid "Unable to determine if availability zones extension is supported." msgstr "无法确定可用域是否支持扩展" msgid "Unable to determine if volume type encryption is supported." -msgstr "无法判断云硬盘类型是否支持加密。" +msgstr "无法判断卷类型是否支持加密。" msgid "Unable to disassociate floating IP." -msgstr "无法将浮动IP解除绑定" +msgstr "无法取消关联浮动 IP" msgid "Unable to disassociate monitor." -msgstr "无法解除监控关联。" +msgstr "无法解除监视器关联。" msgid "Unable to edit consistency group" msgstr "无法编辑一致性组" @@ -8653,851 +8660,852 @@ msgstr "无法编辑一致性组" msgid "Unable to edit spec." -msgstr "无法编辑规格" +msgstr "无法编辑规范" msgid "Unable to edit volume type extra spec." -msgstr "无法编辑云硬盘类型扩展规格。" +msgstr "无法编辑卷类型 extra spec。" msgid "Unable to extend volume." -msgstr "无法扩展云硬盘" +msgstr "无法扩展卷。" msgid "Unable to fetch EC2 credentials." -msgstr "无法获得EC2凭据。" +msgstr "无法访存 EC2 凭据。" msgid "Unable to find default role." -msgstr "无法获取默认角色" +msgstr "找不到缺省角色。" msgid "Unable to get EC2 credentials" -msgstr "无法获取EC2凭据" +msgstr "无法获取 EC2 凭据" msgid "Unable to get Orchestration service list." -msgstr "无法获取 Orchestration 服务列表。" +msgstr "无法获取编排服务列表。" #, python-format msgid "Unable to get RDP console for instance \"%s\"." -msgstr "无法获得云主机 \"%s\" 的RDP控制台" +msgstr "无法获取实例“%s”的 RDP 控制台。" #, python-format msgid "Unable to get SPICE console for instance \"%s\"." -msgstr "无法获得云主机 \"%s\" 的SPICE控制台" +msgstr "无法获取实例 “%s” 的 SPICE 控制台。" #, python-format msgid "Unable to get VIP for pool %(pool)s." -msgstr "无法从资源池 %(pool)s 获取 VIP。" +msgstr "无法获取池 %(pool)s 的 VIP。" #, python-format msgid "Unable to get VNC console for instance \"%s\"." -msgstr "无法获得云主机 \"%s\" 的VNC控制台" +msgstr "无法获取实例 “%s” 的 VNC 控制台。" msgid "Unable to get cinder services list." -msgstr "无法获取Cinder服务列表" +msgstr "无法获取 Cinder 服务列表" msgid "Unable to get consistency group list" msgstr "无法获取一致性组列表" #, python-format msgid "Unable to get events for stack \"%s\"." -msgstr "无法获取栈 \"%s\" 的事件。" +msgstr "无法获取堆栈 “%s” 的事件。" msgid "Unable to get flavor list" -msgstr "无法获取云主机类型列表。" +msgstr "无法获取 flavor 列表。" #, python-format msgid "Unable to get health monitor %(monitor_id)s for pool %(pool)s." -msgstr "无法获得资源池 %(pool)s 的健康监控 %(monitor_id)s." +msgstr "无法获取池 %(pool)s 的运行状况监视器 %(monitor_id)s。" msgid "Unable to get host aggregate list" -msgstr "无法获取主机聚合列表" +msgstr "无法获取主机聚集列表" #, python-format msgid "Unable to get log for instance \"%s\"." -msgstr "无法获得云主机 \"%s\" 的日志。" +msgstr "无法获得实例 “%s” 的日志。" #, python-format msgid "Unable to get members for pool %(pool)s." -msgstr "无法获得资源池 %(pool)s 的成员。" +msgstr "无法获取池 %(pool)s 的成员。" msgid "Unable to get network agents info." -msgstr "无法获取网络 Agents 信息。" +msgstr "无法获取网络代理程序信息。" msgid "Unable to get network agents list." -msgstr "无法获取网络 Agents 列表。" +msgstr "无法获取网络代理程序列表。" msgid "Unable to get nova services list." -msgstr "无法查询nova服务列表。" +msgstr "无法查询 nova 服务列表。" msgid "Unable to get openrc credentials" -msgstr "无法获取openrc凭据" +msgstr "无法获取 openrc 凭据" msgid "Unable to get pool detail." -msgstr "无法获得资源池详情。" +msgstr "无法获得池详情。" msgid "Unable to get quota info." msgstr "无法得到配额信息。" #, python-format msgid "Unable to get resources for stack \"%s\"." -msgstr "无法获取栈 \"%s\" 的资源。" +msgstr "无法获取堆栈“%s”的资源。" #, python-format msgid "Unable to get subnet \"%s\"" -msgstr "无法获取子网 \"%s\"" +msgstr "无法获取子网 “%s”" #, python-format msgid "Unable to get subnet for pool %(pool)s." -msgstr "无法获取资源池 %(pool)s 的子网 。" +msgstr "无法获取池 %(pool)s 的子网。" msgid "Unable to get the available hosts" msgstr "无法获取可用的主机" msgid "Unable to get the available volume types" -msgstr "无法获取可用云硬盘类型" +msgstr "无法获取可用卷类型" msgid "Unable to get the available volumes" -msgstr "无法获取可用云硬盘" +msgstr "无法获取可用卷" msgid "Unable to get volume type list" -msgstr "无法获取云硬盘类型列表" +msgstr "无法获取卷类型列表" msgid "Unable to import key pair." msgstr "无法导入密钥对。" msgid "Unable to initialize subnetpools" -msgstr "无法初始化子网资源池" +msgstr "无法初始化子网池" #, python-format msgid "Unable to launch %(count)s named \"%(name)s\"." -msgstr "无法创建 %(count)s 名字 \"%(name)s\"." +msgstr "无法启动 %(count)s 个指定 \"%(name)s\"。" msgid "Unable to list containers." msgstr "找不到容器列表。" msgid "Unable to list dhcp agents hosting network." -msgstr "无法列出DHCP Agent主持的网络" +msgstr "无法列示 DHCP 代理程序托管网络" #, python-format msgid "Unable to load the specified image. %s" -msgstr "无法加载指定的镜像。%s" +msgstr "无法加载指定的映像。%s" msgid "Unable to load the specified snapshot." msgstr "无法读取指定快照" #, python-format msgid "Unable to load the specified volume. %s" -msgstr "无法加载指定云硬盘. %s" +msgstr "无法加载指定卷。%s" #, python-format msgid "Unable to locate VIP to delete. %s" -msgstr "无法找到要删除的 VIP %s" +msgstr "无法找到要删除的 VIP。%s" msgid "Unable to lookup volume or backup information." -msgstr "无法查找云硬盘或备份的信息。" +msgstr "无法查找卷或备份的信息。" msgid "Unable to manage volume." -msgstr "无法管理云硬盘。" +msgstr "无法管理卷。" #, python-format msgid "Unable to modify domain \"%s\"." -msgstr "无法修改域 \"%s\"。" +msgstr "无法修改域 “%s”。" #, python-format msgid "Unable to modify flavor \"%s\"." -msgstr "无法修改云主机类型 \"%s\"。" +msgstr "无法修改 flavor“%s”。" #, python-format msgid "Unable to modify instance \"%s\"." -msgstr "无法修改云主机\"%s\"" +msgstr "无法修改实例“%s”。" #, python-format msgid "Unable to modify project \"%s\"." -msgstr "无法修改项目\"%s\"" +msgstr "无法修改项目“%s”。" #, python-format msgid "Unable to parse IP address %s." -msgstr "无法解析IP地址 %s." +msgstr "无法解析 IP 地址 %s。" msgid "Unable to rebuild instance." -msgstr "无法重建云主机。" +msgstr "无法重建实例。" msgid "Unable to recreate ec2 credentials. Failed to create ec2 credentials." -msgstr "无法重新创建EC2凭据,创建EC2凭据失败。" +msgstr "无法重新创建 EC2 凭据,创建 EC2 凭据失败。" msgid "Unable to recreate ec2 credentials. Failed to delete ec2 credentials." -msgstr "无法重新创建EC2凭据,删除EC2凭据失败。" +msgstr "无法重新创建 EC2 凭据,删除 EC2 凭据失败。" msgid "Unable to register identity provider." -msgstr "无法注册身份提供者(identity provider)" +msgstr "无法注册身份提供者" msgid "" "Unable to register identity provider. Please check that the Identity " "Provider ID and Remote IDs provided are not already in use." -msgstr "无法注册身份提供者。请检查身份提供ID与远端提供的ID是否还在使用。" +msgstr "" +"无法注册身份提供者。请检查身份提供者标识与所提供的远程标识是否未被使用。" #, python-format msgid "Unable to resize instance \"%s\"." -msgstr "无法为云主机 \"%s\" 调整大小。" +msgstr "无法调整实例“%s”的大小。" msgid "Unable to restore backup." msgstr "无法恢复备份。" msgid "Unable to retrieve Ceilometer meter list." -msgstr "无法获取Ceilometer计量列表." +msgstr "无法检索 Ceilometer 计量列表。" msgid "Unable to retrieve IKE Policies list." -msgstr "无法获取IKE策略列表。" +msgstr "无法检索 IKE 策略列表。" msgid "Unable to retrieve IKE Policy details." -msgstr "无法获取IKE策略详情。" +msgstr "无法检索 IKE 策略详情。" #, python-format msgid "Unable to retrieve IKE Policy details. %s" -msgstr "无法获取IKE策略详情. %s" +msgstr "无法检索 IKE 策略详情。 %s" #, python-format msgid "" "Unable to retrieve IP addresses from Neutron for instance \"%(name)s" "\" (%(id)s)." -msgstr "无法从Neutron获取云主机 \"%(name)s\" (%(id)s) 的IP地址。" +msgstr "无法从Neutron 检索实例“%(name)s” (%(id)s) 的 IP 地址。" msgid "Unable to retrieve IP addresses from Neutron." -msgstr "无法从Neutron获取IP地址。" +msgstr "无法从 Neutron 检索 IP 地址。" msgid "Unable to retrieve IPSec Policies list." -msgstr "无法获取IPSec策略列表。" +msgstr "无法检索 IPSec 策略列表。" msgid "Unable to retrieve IPSec Policy details." -msgstr "无法获取IPSec策略详情。" +msgstr "无法检索 IPSec 策略详情。" #, python-format msgid "Unable to retrieve IPSec Policy details. %s" -msgstr "无法获取IPSec策略详情. %s" +msgstr "无法检索 IPSec 策略详情。 %s" msgid "Unable to retrieve IPSec Site Connection details." -msgstr "无法获取IPSec站点连接详情。" +msgstr "无法检索 IPSec 站点连接详情。" #, python-format msgid "Unable to retrieve IPSec Site Connection details. %s" -msgstr "无法获取IPSec站点连接详情. %s" +msgstr "无法检索 IPSec 站点连接详情。 %s" msgid "Unable to retrieve IPSec Site Connections list." -msgstr "无法获取IPSec站点连接列表。" +msgstr "无法检索 IPSec 站点连接列表。" #, python-format msgid "Unable to retrieve Network information for instance \"%s\"." -msgstr "无法从\"%s\"云主机获取网络信息。" +msgstr "无法针对实例“%s”检索网络信息。" msgid "Unable to retrieve Nova availability zones." -msgstr "无法获取Nova可用区域。" +msgstr "无法检索 Nova 可用区域。" msgid "Unable to retrieve QoS Spec association." -msgstr "无法获取QoS规格关联。" +msgstr "无法检索 QoS 规范关联。" msgid "Unable to retrieve QoS Spec details." -msgstr "无法获取QoS规格详情。" +msgstr "无法检索 QoS 规范详情。" msgid "Unable to retrieve QoS Specs." -msgstr "无法获取QoS规格。" +msgstr "无法检索 QoS 规范。" msgid "Unable to retrieve QoS spec details." -msgstr "无法获取QoS规格详情。" +msgstr "无法检索 QoS 规范详情。" msgid "Unable to retrieve QoS spec list." -msgstr "无法获取QoS规格列表。" +msgstr "无法检索 QoS 规范列表。" msgid "Unable to retrieve QoS specs" -msgstr "无法获取QoS规格" +msgstr "无法检索 QoS 规范" msgid "Unable to retrieve VIP details." -msgstr "无法获取 VIP 详情。" +msgstr "无法检索 VIP 详情。" #, python-format msgid "Unable to retrieve VIP details. %s" -msgstr "无法获取 VIP %s 的详情" +msgstr "无法检索 VIP 详情。%s" msgid "Unable to retrieve VPN Service details." -msgstr "无法获取VPN服务详情。" +msgstr "无法检索 VPN 服务详情。" #, python-format msgid "Unable to retrieve VPN Service details. %s" -msgstr "无法获取VPN服务详情. %s" +msgstr "无法检索 VPN 服务详情。 %s" msgid "Unable to retrieve VPN Services list." -msgstr "无法获取VPN服务列表。" +msgstr "无法检索 VPN 服务列表。" #, python-format msgid "Unable to retrieve a list of external networks \"%s\"." -msgstr "无法获取外部网络\"%s:列表" +msgstr "无法检索外部网络“%s”列表。" msgid "Unable to retrieve agent list." -msgstr "无法获取agent列表。" +msgstr "无法检索代理程序列表。" #, python-format msgid "Unable to retrieve an external network \"%s\"." -msgstr "无法获取外部网络\"%s\"." +msgstr "无法检索外部网络“%s”。" msgid "Unable to retrieve attachment information." -msgstr "无法获取连接信息" +msgstr "无法检索连接信息" msgid "Unable to retrieve availability zone list." -msgstr "无法获取可用域列表。" +msgstr "无法检索可用域列表。" msgid "Unable to retrieve availability zones." -msgstr "无法获取可用域。" +msgstr "无法检索可用域。" msgid "Unable to retrieve backup details." -msgstr "无法获取备份详情。" +msgstr "无法检索备份详情。" msgid "Unable to retrieve compute host information." -msgstr "无法获取计算节点信息。" +msgstr "无法检索计算节点信息。" msgid "Unable to retrieve compute limit information." -msgstr "无法获取计算限制信息。" +msgstr "无法检索计算限制信息。" msgid "Unable to retrieve consistency group details." -msgstr "无法获取一致性组详情。" +msgstr "无法检索一致性组详情。" msgid "Unable to retrieve container list." -msgstr "无法获取容器列表。" +msgstr "无法检索容器列表。" msgid "Unable to retrieve default Neutron quota values." -msgstr "无法获取Neutron的默认配额。" +msgstr "无法检索缺省 Neutron 配额值。" msgid "Unable to retrieve default quota values." -msgstr "无法获取默认配额." +msgstr "无法检索缺省配额值。" #, python-format msgid "Unable to retrieve details for instance \"%s\"." -msgstr "无法获取云主机 \"%s\" 的详情。" +msgstr "无法检索实例 “%s” 的详情。" #, python-format msgid "Unable to retrieve details for keypair \"%s\"." -msgstr "无法获取密钥对 \"%s\" 的详情。" +msgstr "无法检索密钥对 “%s” 的详情。" #, python-format msgid "Unable to retrieve details for network \"%s\"." -msgstr "无法获取网络\"%s\"的详情." +msgstr "无法检索网络“%s”的详情。" #, python-format msgid "Unable to retrieve details for router \"%s\"." -msgstr "无法获取路由 \"%s\" 的详情" +msgstr "无法检索路由器 “%s” 的详情" msgid "Unable to retrieve details." -msgstr "无法获取详情。" +msgstr "无法检索详情。" msgid "Unable to retrieve domain details." -msgstr "无法获取域详情。" +msgstr "无法检索域详情。" msgid "Unable to retrieve domain information." -msgstr "无法获取域信息。" +msgstr "无法检索域信息。" msgid "Unable to retrieve domain list." -msgstr "无法获取域列表。" +msgstr "无法检索域列表。" msgid "Unable to retrieve encryption type." -msgstr "无法获取加密类型。" +msgstr "无法检索加密类型。" msgid "Unable to retrieve extensions information" -msgstr "无法获取扩展信息" +msgstr "无法检索扩展信息" msgid "Unable to retrieve extensions information." -msgstr "无法获取扩展信息" +msgstr "无法检索扩展信息。" msgid "Unable to retrieve extra spec list." -msgstr "无法获取扩展规格列表。" +msgstr "无法检索 extra spec 列表。" msgid "Unable to retrieve firewall details." -msgstr "无法获取防火墙详情。" +msgstr "无法检索防火墙详情。" msgid "Unable to retrieve firewall list." -msgstr "无法获取防火墙列表。" +msgstr "无法检索防火墙列表。" msgid "Unable to retrieve flavor access list. Please try again later." -msgstr "无法获取云主机类型的使用权列表,请稍后重试。" +msgstr "无法检索 flavor 访问权列表,请稍后重试。" msgid "Unable to retrieve flavor details." -msgstr "无法获取云主机类型详情。" +msgstr "无法检索 flavor 详情。" #, python-format msgid "" "Unable to retrieve flavor information for instance \"%(name)s\" (%(id)s)." -msgstr "无法获取云主机 \"%(name)s\" (%(id)s) 的类型信息。" +msgstr "无法检索实例 \"%(name)s\" (%(id)s) 的 flavor 信息。" #, python-format msgid "Unable to retrieve flavor information for instance \"%s\"." -msgstr "无法获取云主机 \"%s\" 的类型信息。" +msgstr "无法检索实例 “%s” 的 flavor 信息。" msgid "Unable to retrieve flavor list." -msgstr "无法获取云主机类型列表。" +msgstr "无法检索 flavor 列表。" msgid "Unable to retrieve flavors." -msgstr "无法获取云主机类型列表。" +msgstr "无法检索 flavor。" msgid "Unable to retrieve floating IP addresses." -msgstr "无法获取浮动IP地址。" +msgstr "无法检索浮动 IP 地址。" msgid "Unable to retrieve floating IP pools." -msgstr "无法获取浮动IP池。" +msgstr "无法检索浮动 IP 池。" msgid "Unable to retrieve group list." -msgstr "无法获取组列表。" +msgstr "无法检索组列表。" msgid "Unable to retrieve group list. Please try again later." -msgstr "无法获取组列表。稍后请重试。" +msgstr "无法检索组列表。稍后请重试。" msgid "Unable to retrieve group users." -msgstr "无法获取组成员。" +msgstr "无法检索组成员。" #, python-format msgid "Unable to retrieve health monitor details. %s" -msgstr "无法获取健康监控程 %s 的详情" +msgstr "无法检索运行状况监视器详情。%s" msgid "Unable to retrieve host aggregates list." -msgstr "无法获取主机聚合列表。" +msgstr "无法检索主机聚集列表。" msgid "Unable to retrieve host information." -msgstr "无法获取主机信息。" +msgstr "无法检索主机信息。" msgid "Unable to retrieve hypervisor information." -msgstr "无法获取虚拟机管理器信息。" +msgstr "无法检索管理程序信息。" msgid "Unable to retrieve hypervisor instances list." -msgstr "无法获取虚拟机管理器上的云主机列表。" +msgstr "无法检索管理程序实例列表。" msgid "Unable to retrieve hypervisor statistics." -msgstr "无法获取虚拟机管理器统计信息。" +msgstr "无法检索管理程序统计信息。" msgid "Unable to retrieve identity provider information." -msgstr "无法获取身份提供者信息。" +msgstr "无法检索身份提供者信息。" msgid "Unable to retrieve identity provider list." -msgstr "无法获取身份提供者列表。" +msgstr "无法检索身份提供者列表。" msgid "Unable to retrieve image details." -msgstr "无法获取镜像细节。" +msgstr "无法检索映像详情。" msgid "Unable to retrieve image list." -msgstr "无法获取镜像列表。" +msgstr "无法检索映像列表。" msgid "Unable to retrieve image." -msgstr "无法获取镜像。" +msgstr "无法检索映像。" msgid "Unable to retrieve images" -msgstr "无法获取镜像" +msgstr "无法检索映像" msgid "Unable to retrieve images for the current project." -msgstr "无法获取当前项目拥有的镜像。" +msgstr "无法检索当前项目的映像。" msgid "Unable to retrieve images." -msgstr "无法获取镜像。" +msgstr "无法检索映像。" msgid "Unable to retrieve information about the networks' projects." -msgstr "无法获取关于网络的项目信息。" +msgstr "无法检索关于网络的项目信息。" msgid "Unable to retrieve instance action list." -msgstr "无法获取云主机的操作日志列表" +msgstr "无法检索实例的操作日志列表" msgid "Unable to retrieve instance details." -msgstr "无法获取云主机详情。" +msgstr "无法检索实例详情。" msgid "Unable to retrieve instance flavors." -msgstr "无法获取云主机类型。" +msgstr "无法检索实例 flavor。" msgid "Unable to retrieve instance list." -msgstr "无法获取云主机列表。" +msgstr "无法检索实例列表。" msgid "Unable to retrieve instance password." -msgstr "无法获取云主机密码。" +msgstr "无法检索实例密码。" msgid "Unable to retrieve instance project information." -msgstr "无法获取云主机项目信息。" +msgstr "无法检索实例项目信息。" msgid "Unable to retrieve instance size information." -msgstr "无法获取云主机配置信息。" +msgstr "无法检索实例大小信息。" msgid "Unable to retrieve instance." -msgstr "无法获取云主机。" +msgstr "无法检索实例。" msgid "Unable to retrieve instances list." -msgstr "无法获取云主机列表" +msgstr "无法检索实例列表" msgid "Unable to retrieve instances." -msgstr "无法获取云主机。" +msgstr "无法检索实例。" msgid "Unable to retrieve key pair list." -msgstr "无法获取密钥对列表。" +msgstr "无法检索密钥对列表。" msgid "Unable to retrieve key pairs." -msgstr "无法获取密钥对。" +msgstr "无法检索密钥对。" msgid "Unable to retrieve limit information." -msgstr "无法获取限制信息。" +msgstr "无法检索限制信息。" msgid "Unable to retrieve list of routers." -msgstr "无法获取路由列表。" +msgstr "无法检索路由器列表。" msgid "Unable to retrieve list of security groups" -msgstr "无法获取安全组列表" +msgstr "无法检索安全组列表" msgid "Unable to retrieve list of volume snapshots." -msgstr "无法获取云硬盘快照列表。" +msgstr "无法检索卷快照列表。" msgid "Unable to retrieve list of volumes." -msgstr "无法获取云硬盘列表。" +msgstr "无法检索卷列表。" msgid "Unable to retrieve mapping list." -msgstr "无法获取映射列表。" +msgstr "无法检索映射列表。" msgid "Unable to retrieve member details." -msgstr "无法获取成员详情" +msgstr "无法检索成员详情。" #, python-format msgid "Unable to retrieve member details. %s" -msgstr "无法获取成员 %s 的详情" +msgstr "无法检索成员详情。%s" msgid "Unable to retrieve member list." -msgstr "无法获取成员列表" +msgstr "无法检索成员列表。" msgid "Unable to retrieve metadata." -msgstr "无法获取元数据。" +msgstr "无法检索元数据。" msgid "Unable to retrieve monitor details." -msgstr "无法获取监控详情" +msgstr "无法检索监视器详情。" msgid "Unable to retrieve monitor list." -msgstr "无法获取监控列表" +msgstr "无法检索监视器列表。" msgid "Unable to retrieve monitors list." -msgstr "无法获取监控列表。" +msgstr "无法检索监视器列表。" msgid "Unable to retrieve namespace contents." -msgstr "无法获取命名空间内容。" +msgstr "无法检索名称空间内容。" msgid "Unable to retrieve namespace details." -msgstr "无法获取命名空间详情。" +msgstr "无法检索名称空间详情。" msgid "Unable to retrieve network details." -msgstr "无法获取网络详情" +msgstr "无法检索网络详情" msgid "Unable to retrieve network quota information." -msgstr "无法获取网络配额信息。" +msgstr "无法检索网络配额信息。" msgid "Unable to retrieve network." -msgstr "无法获取网络" +msgstr "无法检索网络。" msgid "Unable to retrieve networks list." -msgstr "无法获取网络列表" +msgstr "无法检索网络列表。" msgid "Unable to retrieve object list." -msgstr "无法获取对象列表。" +msgstr "无法检索对象列表。" msgid "Unable to retrieve object." -msgstr "找不到对象。" +msgstr "无法检索对象。" msgid "Unable to retrieve policies list." -msgstr "无法获取策略列表。" +msgstr "无法检索策略列表。" msgid "Unable to retrieve policy details." -msgstr "无法获取策略详情。" +msgstr "无法检索策略详情。" #, python-format msgid "Unable to retrieve policy list (%(error)s)." -msgstr "无法获取策略列表 (%(error)s)。" +msgstr "无法检索策略列表 (%(error)s)。" msgid "Unable to retrieve policy list." -msgstr "无法获取策略列表。" +msgstr "无法检索策略列表。" msgid "Unable to retrieve pool details." -msgstr "无法获取资源池详情" +msgstr "无法检索池详情。" #, python-format msgid "Unable to retrieve pool details. %s" -msgstr "无法获取资源池 %s 的详情" +msgstr "无法检索池详情。%s" #, python-format msgid "Unable to retrieve pool subnet. %s" -msgstr "无法获取资源池子网 %s" +msgstr "无法检索池子网。%s" #, python-format msgid "Unable to retrieve pool. %s" -msgstr "无法获取资源池 %s " +msgstr "无法检索池。%s " msgid "Unable to retrieve pools information." -msgstr "无法获取资源池信息。" +msgstr "无法检索池信息。" msgid "Unable to retrieve pools list." -msgstr "无法获取资源池列表" +msgstr "无法检索池列表。" msgid "Unable to retrieve port details" -msgstr "无法获取端口详情" +msgstr "无法检索端口详情" msgid "Unable to retrieve port details." -msgstr "无法获取端口详情" +msgstr "无法检索端口详情。" msgid "Unable to retrieve ports information." -msgstr "无法获取端口信息。" +msgstr "无法检索端口信息。" msgid "Unable to retrieve project details." -msgstr "无法获取项目详情" +msgstr "无法检索项目详情。" msgid "Unable to retrieve project domain." -msgstr "无法获取项目域信息。" +msgstr "无法检索项目域。" msgid "Unable to retrieve project information." -msgstr "无法获取项目信息。" +msgstr "无法检索项目信息。" msgid "Unable to retrieve project list." -msgstr "无法获取项目列表。" +msgstr "无法检索项目列表。" msgid "Unable to retrieve protocol list." -msgstr "无法获取协议列表。" +msgstr "无法检索协议列表。" msgid "Unable to retrieve providers list." -msgstr "无法获取提供者列表。" +msgstr "无法检索提供者列表。" msgid "Unable to retrieve public images." -msgstr "无法获取公共镜像。" +msgstr "无法检索公共映像。" msgid "Unable to retrieve quota information." -msgstr "无法获取配额信息。" +msgstr "无法检索配额信息。" msgid "Unable to retrieve resource type details." -msgstr "无法获取资源类型详情。" +msgstr "无法检索资源类型详情。" msgid "Unable to retrieve resource." -msgstr "无法获取资源。" +msgstr "无法检索资源。" msgid "Unable to retrieve role list." -msgstr "无法获取角色列表。" +msgstr "无法检索角色列表。" msgid "Unable to retrieve roles list." -msgstr "无法获取角色列表。" +msgstr "无法检索角色列表。" msgid "Unable to retrieve router details." -msgstr "无法获取路由详情" +msgstr "无法检索路由器详情" msgid "Unable to retrieve router list." -msgstr "无法获取路由列表" +msgstr "无法检索路由器列表" msgid "Unable to retrieve router." -msgstr "无法获取路由" +msgstr "无法检索路由器。" #, python-format msgid "Unable to retrieve routers (%(error)s)." -msgstr "无法获取路由 (%(error)s)。" +msgstr "无法检索路由器 (%(error)s)。" msgid "Unable to retrieve routers list." -msgstr "无法获取路由器列表。" +msgstr "无法检索路由器列表。" msgid "Unable to retrieve rule details." -msgstr "无法获取规则详情。" +msgstr "无法检索规则详情。" #, python-format msgid "Unable to retrieve rules (%(error)s)." -msgstr "无法获取规则 (%(error)s).。" +msgstr "无法检索规则 (%(error)s)。" msgid "Unable to retrieve rules list." -msgstr "无法获取规则列表。" +msgstr "无法检索规则列表。" msgid "Unable to retrieve security group list. Please try again later." -msgstr "无法获取安全组列表.请稍后重试." +msgstr "无法检索安全组列表。请稍后重试。" msgid "Unable to retrieve security group." -msgstr "无法获取安全组" +msgstr "无法检索安全组" #, python-format msgid "Unable to retrieve security groups for instance \"%(name)s\" (%(id)s)." -msgstr "无法获取云主机 \"%(name)s\" (%(id)s) 的安全组。" +msgstr "无法检索实例 \"%(name)s\" (%(id)s) 的安全组。" msgid "Unable to retrieve security groups." -msgstr "无法获取安全组。" +msgstr "无法检索安全组。" msgid "Unable to retrieve snapshot data." -msgstr "无法获取快照数据。" +msgstr "无法检索快照数据。" msgid "Unable to retrieve snapshot details." -msgstr "无法获取快照详情" +msgstr "无法检索快照详情" msgid "Unable to retrieve snapshot list." -msgstr "无法获取快照列表。" +msgstr "无法检索快照列表。" msgid "Unable to retrieve stack list." -msgstr "无法获取 stack 列表。" +msgstr "无法检索堆栈列表。" msgid "Unable to retrieve stack resource types." -msgstr "无法获取 stack 资源类型。" +msgstr "无法检索堆栈资源类型。" msgid "Unable to retrieve stack template." -msgstr "无法获取 stack 模板。" +msgstr "无法检索堆栈模板。" msgid "Unable to retrieve stack." -msgstr "无法获取 stack。" +msgstr "无法检索堆栈。" msgid "Unable to retrieve subnet details" -msgstr "无法获取子网详情" +msgstr "无法检索子网详情" msgid "Unable to retrieve subnet details." -msgstr "无法获取子网详情" +msgstr "无法检索子网详情" msgid "Unable to retrieve tenant limits." -msgstr "无法获取租户范围" +msgstr "无法检索租户范围" msgid "Unable to retrieve the aggregate to be updated" -msgstr "无法获取要更新的主机聚合" +msgstr "无法检索要更新的主机聚集" msgid "Unable to retrieve the project information of the image." -msgstr "无法获取镜像的项目信息。" +msgstr "无法检索映像的项目信息。" msgid "Unable to retrieve the specified pool." -msgstr "无法获取指定的资源池。" +msgstr "无法检索指定的池。" #, python-format msgid "Unable to retrieve the specified pool. Unable to add VIP \"%s\"." -msgstr "无法获取指定的资源池。无法添加 VIP \"%s\"。" +msgstr "无法检索指定的池。无法添加 VIP “%s”。" msgid "Unable to retrieve the volume type list." -msgstr "无法获取云硬盘类型列表" +msgstr "无法检索卷类型列表" msgid "Unable to retrieve usage information." -msgstr "无法获取使用量信息。" +msgstr "无法检索使用量信息。" msgid "Unable to retrieve user details." -msgstr "无法获取用户详情。" +msgstr "无法检索用户详情。" msgid "Unable to retrieve user domain role assignments." -msgstr "无法获取用户在域中的角色分配。" +msgstr "无法检索用户在域中的角色分配。" msgid "Unable to retrieve user information." -msgstr "无法获取用户信息。" +msgstr "无法检索用户信息。" msgid "Unable to retrieve user list." -msgstr "无法获取用户列表." +msgstr "无法检索用户列表。" msgid "Unable to retrieve user list. Please try again later." -msgstr "无法获取用户信息列表.请稍后重试." +msgstr "无法检索用户信息列表。请稍后重试。" msgid "Unable to retrieve user roles." -msgstr "无法获取用户角色。" +msgstr "无法检索用户角色。" msgid "Unable to retrieve users." -msgstr "无法获取用户。" +msgstr "无法检索用户。" msgid "Unable to retrieve version information." -msgstr "无法获取版本信息" +msgstr "无法检索版本信息。" msgid "Unable to retrieve volume backups." -msgstr "无法获取云硬盘备份。" +msgstr "无法检索卷备份。" msgid "Unable to retrieve volume consistency groups." -msgstr "无法获取云硬盘一致性组。" +msgstr "无法检索卷一致性组。" msgid "Unable to retrieve volume details." -msgstr "无法获取卷详情。" +msgstr "无法检索卷详情。" msgid "Unable to retrieve volume encryption details." -msgstr "无法获取卷加密详情。" +msgstr "无法检索卷加密详情。" #, python-format msgid "Unable to retrieve volume information for volume: \"%s\"" -msgstr "无法获取云硬盘: \"%s\" 的信息" +msgstr "无法检索卷 “%s” 的卷信息" msgid "Unable to retrieve volume information." -msgstr "无法获取云硬盘信息" +msgstr "无法检索卷信息。" msgid "Unable to retrieve volume limit information." -msgstr "无法获取云硬盘限制信息。" +msgstr "无法检索卷限制信息。" #, python-format msgid "Unable to retrieve volume list for instance \"%(name)s\" (%(id)s)." -msgstr "无法获取云主机 \"%(name)s\" (%(id)s) 的云硬盘列表。" +msgstr "无法检索实例 \"%(name)s\" (%(id)s) 的卷列表。" msgid "Unable to retrieve volume list." -msgstr "无法获取云硬盘列表" +msgstr "无法检索卷列表" msgid "Unable to retrieve volume project information." -msgstr "无法获取卷项目信息。" +msgstr "无法检索卷项目信息。" msgid "Unable to retrieve volume snapshot." -msgstr "无法获取云硬盘快照" +msgstr "无法检索卷快照" msgid "Unable to retrieve volume snapshots." -msgstr "无法获取云硬盘快照。" +msgstr "无法检索卷快照。" msgid "Unable to retrieve volume transfer." -msgstr "无法获取云硬盘转让。" +msgstr "无法检索卷传输。" msgid "Unable to retrieve volume type details." -msgstr "无法获取卷类型详情。" +msgstr "无法检索卷类型详情。" msgid "Unable to retrieve volume type encryption details." -msgstr "无法获取卷类型加密详情" +msgstr "无法检索卷类型加密详情。" msgid "Unable to retrieve volume type encryption information." -msgstr "无法获取云硬盘类型的加密信息。" +msgstr "无法检索卷类型的加密信息。" msgid "Unable to retrieve volume type extra spec details." -msgstr "无法获取卷类型扩展规格详情。" +msgstr "无法检索卷类型 extra spec 详情。" #, python-format msgid "Unable to retrieve volume type for: \"%s\"" -msgstr "无法获取\"%s\"的云硬盘类型" +msgstr "无法检索“%s”的卷类型" msgid "Unable to retrieve volume type list." -msgstr "无法获取云硬盘类型列表。" +msgstr "无法检索卷类型列表。" msgid "Unable to retrieve volume type name." -msgstr "无法获取云硬盘类型名称。" +msgstr "无法检索卷类型名称。" msgid "Unable to retrieve volume type qos." -msgstr "无法获取云硬盘类型QoS" +msgstr "无法检索卷类型 QoS" msgid "Unable to retrieve volume types" -msgstr "无法获取卷类型" +msgstr "无法检索卷类型" msgid "Unable to retrieve volume." -msgstr "无法获取云硬盘" +msgstr "无法检索卷" msgid "Unable to retrieve volume/instance attachment information" -msgstr "无法获取云硬盘/云主机连接信息" +msgstr "无法检索卷/实例连接信息" msgid "Unable to retrieve volumes availability zones." -msgstr "无法获取云硬盘可用域。" +msgstr "无法检索卷可用域。" msgid "Unable to set Domain Context." -msgstr "无法设定域上下文。" +msgstr "无法设置域上下文。" msgid "Unable to set bootable flag on volume." -msgstr "无法设云硬盘的可启动标记。" +msgstr "无法对卷设置可引导标记。" #, python-format msgid "Unable to set flavor access for project %s." -msgstr "无法设置项目 %s 使用云主机类型。" +msgstr "无法对项目 %s 设置 flavor 访问权。" msgid "Unable to set gateway." msgstr "无法设置网关" msgid "Unable to set project quotas." -msgstr "无法设置项目配额" +msgstr "无法设置项目配额。" msgid "Unable to sort instance flavors." -msgstr "无法对云主机类型排序." +msgstr "无法对实例 flavor 排序." msgid "Unable to unmanage volume." -msgstr "无法不管理云硬盘。" +msgstr "无法取消管理卷。" msgid "Unable to update container access." -msgstr "无法更新容器访问类型" +msgstr "无法更新容器访问权。" msgid "Unable to update default quotas for Cinder." -msgstr "无法更新 Cinder 的默认配额." +msgstr "无法更新 Cinder 的缺省配额。" msgid "Unable to update default quotas for Nova." -msgstr "无法更新 Nova 的默认配额." +msgstr "无法更新 Nova 的缺省配额。" msgid "Unable to update default quotas." -msgstr "无法更新默认配额。" +msgstr "无法更新缺省配额。" msgid "Unable to update encrypted volume type." -msgstr "无法更新加密的云硬盘类型" +msgstr "无法更新加密卷类型。" msgid "Unable to update group." msgstr "无法更新组。" @@ -9508,17 +9516,17 @@ msgid "" "Unable to update identity provider. Please check that the Remote IDs " "provided are not already in use." -msgstr "不能更新身份提供者。请检查远程IDs提供者是否还在使用。" +msgstr "不能更新身份提供者。请检查所提供远程标识是否未在使用。" #, python-format msgid "Unable to update image \"%s\"." -msgstr "更新镜像 \"%s\"失败。" +msgstr "无法更新映像“%s”。" msgid "Unable to update mapping." msgstr "不能更新映射。" msgid "Unable to update mapping. Rules has malformed JSON data." -msgstr "不能更新映射。规则有不规则的JSON数据。" +msgstr "不能更新映射。规则包含格式错误的 JSON 数据。" msgid "Unable to update object." msgstr "无法更新对象。" @@ -9528,14 +9536,14 @@ #, python-format msgid "Unable to update security group: %s" -msgstr "无法更新安全组: %s" +msgstr "无法更新安全组:%s" #, python-format msgid "Unable to update subnet \"%s\"." -msgstr "无法更新子网\"%s\"" +msgstr "无法更新子网“%s”。" msgid "Unable to update the aggregate." -msgstr "无法更新主机聚合。" +msgstr "无法更新主机聚集。" msgid "Unable to update the group." msgstr "无法更新组。" @@ -9547,33 +9555,33 @@ msgstr "无法更新此用户。" msgid "Unable to update the volume type." -msgstr "无法更新云硬盘类型" +msgstr "无法更新卷类型" msgid "Unable to update volume consistency group." -msgstr "无法更新云硬盘一致性组。" +msgstr "无法更新卷一致性组。" msgid "Unable to update volume snapshot status." -msgstr "不能更新云硬盘快照状态。" +msgstr "不能更新卷快照状态。" msgid "Unable to update volume snapshot." -msgstr "无法更新云硬盘快照" +msgstr "无法更新卷快照" #, python-format msgid "Unable to update volume status to \"%s\"." -msgstr "无法更新云硬盘状状态为\"%s\"." +msgstr "无法将卷状态更新为“%s”。" msgid "Unable to update volume type." -msgstr "无法更新云硬盘类型" +msgstr "无法更新卷类型。" msgid "Unable to update volume." -msgstr "不能更新云硬盘" +msgstr "不能更新卷" msgid "Unable to upload object." msgstr "无法上传对象。" #, python-format msgid "Unable to upload volume to image for volume: \"%s\"" -msgstr "无法为云硬盘: \"%s\"上传云硬盘到镜像" +msgstr "无法将卷上载至卷“%s”的映像" msgid "Unit" msgstr "单位" @@ -9582,27 +9590,27 @@ msgstr "未知" msgid "Unknown instance" -msgstr "未知云主机" +msgstr "未知实例" msgid "Unknown instance (None)" -msgstr "未知的云主机名(None)" +msgstr "未知实例(无)" msgid "Unlock Instance" msgid_plural "Unlock Instances" -msgstr[0] "解锁云主机" +msgstr[0] "解锁实例" msgid "Unlocked Instance" msgid_plural "Unlocked Instances" -msgstr[0] "已解锁的云主机" +msgstr[0] "已解锁的实例" msgid "Unmanage" -msgstr "不管理" +msgstr "取消管理" msgid "Unmanage Volume" -msgstr "非管理云硬盘" +msgstr "取消管理卷" msgid "Unmanage a Volume" -msgstr "不管理云硬盘" +msgstr "取消管理卷" msgctxt "Action log of an instance" msgid "Unpause" @@ -9618,32 +9626,32 @@ msgctxt "Task status of an Instance" msgid "Unrescuing" -msgstr "正在取消拯救" +msgstr "正在取消恢复" msgid "Unselect the router(s) to be removed from firewall." -msgstr "取消选择路由,以从防火墙中删除这些路由。" +msgstr "取消选中要从防火墙中移除的路由器。" msgid "Unselect the routers you want to disassociate from the firewall." -msgstr "取消选择你想要从防火墙中分离的路由。" +msgstr "取消选择您想要与防火墙断开关联的路由器。" msgid "Unshelve Instance" msgid_plural "Unshelve Instances" -msgstr[0] "取消废弃云主机" +msgstr[0] "取消搁置实例" msgid "Unshelved Instance" msgid_plural "Unshelved Instances" -msgstr[0] "已取消废弃的云主机" +msgstr[0] "已取消搁置的实例" msgctxt "Task status of an Instance" msgid "Unshelving" -msgstr "取消搁置中" +msgstr "正在取消搁置" msgid "Up" -msgstr "Up" +msgstr "启动" msgctxt "Current state of a Hypervisor" msgid "Up" -msgstr "Up" +msgstr "启动" msgid "Update" msgstr "更新" @@ -9656,13 +9664,13 @@ msgstr "更新完成" msgid "Update Default Quotas" -msgstr "更新默认配额" +msgstr "更新缺省配额" msgid "Update Defaults" -msgstr "更新默认值" +msgstr "更新缺省值" msgid "Update Encrypted Volume Type" -msgstr "更新加密的云硬盘类型" +msgstr "更新加密卷类型" msgid "Update Encryption" msgstr "更新加密" @@ -9700,13 +9708,13 @@ msgstr "更新角色" msgid "Update Router" -msgstr "更新路由" +msgstr "更新路由器" msgid "Update Stack" -msgstr "更新栈" +msgstr "更新堆栈" msgid "Update Stack Parameters" -msgstr "更新栈参数" +msgstr "更新堆栈参数" msgid "Update Status" msgstr "更新状态" @@ -9715,52 +9723,52 @@ msgstr "更新用户" msgid "Update Volume Snapshot Status" -msgstr "更新云硬盘快照状态" +msgstr "更新卷快照状态" msgid "Update Volume Status" -msgstr "更新云硬盘状态" +msgstr "更新卷状态" msgid "Update Volume Type Encryption" -msgstr "更新加密云硬盘类型" +msgstr "更新卷类型加密" msgid "" "Update a stack with the provided values. Please note that any encrypted " "parameters, such as passwords, will be reset to default if you do not change " "them here." msgstr "" -"用提供的值来更新堆栈。请注意任何加密参数,例如密码,如果你不在这里更改,则会" -"被重置为缺省值。" +"使用提供的值来更新堆栈。请注意任何加密参数(例如,密码)将被重置为缺省值,如" +"果您在此处不进行更改。" msgid "" "Update a subnet associated with the network. Advanced configuration are " "available at \"Subnet Details\" tab." -msgstr "更新关联到这个网络的子网。点击“子网详情”标签可进行高级配置。" +msgstr "更新与网络相关联的子网。可单击“子网详情”选项卡以进行高级配置。" msgid "Update an Encrypted Volume Type" -msgstr "更新加密云硬盘类型" +msgstr "更新加密卷类型" msgid "Update requests for this floating ip" -msgstr "该浮动IP的更新请求" +msgstr "针对该浮动 IP 的更新请求数" msgid "Update requests for this network" -msgstr "该网络的更新请求" +msgstr "针对该网络的更新请求" msgid "Update requests for this port" -msgstr "该端口的更新请求" +msgstr "针对该端口的更新请求数" msgid "Update requests for this router" -msgstr "该路由的更新请求" +msgstr "针对该路由器的更新请求数" msgid "Update requests for this subnet" -msgstr "更新该子网的请求数" +msgstr "针对该子网的更新请求数" #, python-format msgid "Update the \"extra spec\" value for \"%(key)s\"" -msgstr "为\"%(key)s\"更新\"额外规格\"的值" +msgstr "为“%(key)s”更新“extra spec”的值" #, python-format msgid "Update the spec value for \"%(key)s\"" -msgstr "为\"%(key)s\"更新规格的值" +msgstr "为“%(key)s”更新规范值" msgid "Updated" msgstr "已更新" @@ -9770,7 +9778,7 @@ #, python-format msgid "Updated subnet \"%s\"." -msgstr "已更新子网\"%s\"." +msgstr "已更新子网“%s”。" msgctxt "Task status of an Instance" msgid "Updating Password" @@ -9779,19 +9787,19 @@ msgid "" "Updating encryption is not implemented. Unable to update encrypted volume " "type." -msgstr "无法更新加密的云硬盘类型: 还未实现此功能." +msgstr "未实现更新加密。无法更新加密卷类型。" #, python-format msgid "Updating volume \"%s\"" -msgstr "正在更新云硬盘\"%s\"" +msgstr "正在更新卷“%s”" #, python-format msgid "Updating volume consistency group \"%s\"" -msgstr "正在更新云硬盘一致性组\"%s\"" +msgstr "正在更新卷一致性组“%s”" #, python-format msgid "Updating volume snapshot \"%s\"" -msgstr "正在更新云硬盘快照\"%s\"" +msgstr "正在更新卷快照“%s”" msgid "Upload" msgstr "上传" @@ -9801,53 +9809,53 @@ #, python-format msgid "Upload Object To Container: %(container_name)s" -msgstr "上传对象到容器中:%(container_name)s" +msgstr "将对象上传到以下容器:%(container_name)s" msgid "Upload Objects" msgstr "上传对象" msgid "Upload Volume to Image" -msgstr "上传云硬盘到镜像" +msgstr "上传卷到映像" msgid "Upload to Image" -msgstr "上传镜像" +msgstr "上传映像" msgid "Uploaded image size" -msgstr "已上传镜像的大小" +msgstr "已上传映像的大小" msgid "Usage" msgstr "使用量" msgid "Usage (Hours)" -msgstr "使用量(小时)" +msgstr "使用量(小时)" msgid "Usage Overview" -msgstr "使用概况" +msgstr "使用概述" msgid "Usage Report" msgstr "使用量报表" msgid "Usage Report For Period:" -msgstr "周期使用量报表:" +msgstr "对应以下时段的使用情况报告:" msgid "Use Server Default" -msgstr "使用默认服务" +msgstr "使用服务器缺省值" msgid "Use a volume as source" -msgstr "将云硬盘作为源" +msgstr "将卷作为源" msgid "Use image as a source" -msgstr "使用镜像作为源" +msgstr "使用映像作为源" msgid "" "Use one of the available template source options to specify the template to " "be used in creating this stack." -msgstr "使用可用模板源选项中的一个来指定用来创建栈的模板。" +msgstr "使用某个可用模板源选项来指定要在创建此堆栈时使用的模板。" msgid "" "Use one of the available template source options to specify the template to " "be used in previewing this stack." -msgstr "使用可用模板源选项中的一个来指定用来预览栈的模板。" +msgstr "使用可用模板源选项中的一个来指定用来预览堆栈的模板。" msgid "" "Use one of these load balancing methods to distribute incoming requests:" @@ -9858,21 +9866,21 @@ #, python-format msgid "Used %(used)s of %(available)s " -msgstr " %(available)s 中的 %(used)s 已使用" +msgstr " %(available)s 中的 %(used)s 已使用" msgid "Used in Policy" -msgstr "已使用在策略" +msgstr "已在策略中使用" msgid "User" msgstr "用户" #, python-format msgid "User \"%s\" was successfully created." -msgstr "用户 \"%s\" 成功创建。" +msgstr "成功创建用户 “%s” 。" #, python-format msgid "User %s has no role defined for that project." -msgstr "在这一项目中用户 %s 尚未定义角色。" +msgstr "对于该项目,尚未定义用户 %s 的角色。" msgid "User Credentials" msgstr "用户凭据" @@ -9884,7 +9892,7 @@ msgstr "用户详情" msgid "User ID" -msgstr "用户ID" +msgstr "用户标识" msgid "User Name" msgstr "用户名" @@ -9893,20 +9901,20 @@ msgstr "用户设置" msgid "User has been updated successfully." -msgstr "用户更新成功" +msgstr "已成功更新用户。" #, python-format msgid "User name \"%s\" is already used." -msgstr "用户名\"%s\"已经被使用。" +msgstr "用户名“%s”已经被使用。" msgid "User password has been updated successfully." -msgstr "用户密码已经更新成功。" +msgstr "已成功更新用户密码。" msgid "User-defined unique id to identify the identity provider." -msgstr "用户定义的唯一标识来识别身份提供者。" +msgstr "用户定义的用于识别身份提供者的唯一标识。" msgid "User-defined unique id to identify the mapping." -msgstr "用户定义的唯一标识来识别映射。" +msgstr "用户定义的用于标识映射的唯一标识。" msgid "Users" msgstr "用户" @@ -9915,31 +9923,31 @@ msgstr "VCPU" msgid "VCPU Hours" -msgstr "VCPU小时数" +msgstr "VCPU 小时数" msgid "VCPU Usage" -msgstr "VCPU使用量" +msgstr "VCPU 使用量" msgid "VCPUs" -msgstr "VCPU数量" +msgstr "VCPU 数量" msgid "VCPUs (total)" -msgstr "VCPU(总计)" +msgstr "VCPU 数(总计)" msgid "VCPUs (used)" -msgstr "VCPU(已用)" +msgstr "VCPU 数(已用)" msgid "VDI - Virtual Disk Image" -msgstr "VDI - VirtualBox 虚拟磁盘镜像" +msgstr "VDI - VirtualBox 虚拟磁盘映像" msgid "VHD - Virtual Hard Disk" msgstr "VHD - Vmware 虚拟硬盘" msgid "VIF Details" -msgstr "VIF详情" +msgstr "VIF 详情" msgid "VIF Type" -msgstr "VIF类型" +msgstr "VIF 类型" msgid "VIP" msgstr "VIP" @@ -9961,41 +9969,41 @@ msgstr "VMDK - Vmware 虚拟机磁盘" msgid "VNIC Type" -msgstr "VNIC类型" +msgstr "VNIC 类型" msgid "VPN" msgstr "VPN" msgid "VPN Connections" -msgstr "VPN连接" +msgstr "VPN 连接" msgid "VPN Service" -msgstr "VPN服务" +msgstr " VPN 服务" #, python-format msgid "VPN Service %s was successfully updated." -msgstr "成功更新VPN服务 %s." +msgstr "成功更新 VPN 服务 %s。" msgid "VPN Service Details" -msgstr "VPN服务详情" +msgstr " VPN 服务详情" msgid "VPN Service associated with this connection" -msgstr "VPN服务已经与此连接关联" +msgstr "VPN 服务已经与此连接关联" msgid "VPN Services" -msgstr "VPN服务" +msgstr " VPN 服务" msgid "VXLAN" msgstr "VXLAN" msgid "Valid integer greater than the DPD interval" -msgstr "大于DPD间隔的有效整数" +msgstr "大于 DPD 间隔的有效整数" msgid "Valid integer lesser than DPD timeout" -msgstr "有效的整数并且小于DPD超时" +msgstr "小于 DPD 超时的有效整数" msgid "Valid integer lesser than the DPD timeout" -msgstr "有效的整数并且小于DPD超时大小" +msgstr "小于 DPD 超时的有效整数" msgid "Value" msgstr "值" @@ -10011,7 +10019,7 @@ "Version: %(version_info)s\n" " " msgstr "" -"版本: %(version_info)s\n" +"版本:%(version_info)s\n" " " msgid "View Container" @@ -10024,7 +10032,7 @@ msgstr "查看详情" msgid "View Extra Specs" -msgstr "查看扩展规格" +msgstr "查看 extra spec" msgid "View Full Log" msgstr "查看完整日志" @@ -10033,7 +10041,7 @@ msgstr "查看日志" msgid "View Usage" -msgstr "查看使用量" +msgstr "查看使用情况" msgid "View Usage Report" msgstr "查看使用量报表" @@ -10045,29 +10053,28 @@ msgstr "虚拟大小" msgid "Volume" -msgstr "云硬盘" +msgstr "卷" #, python-format msgid "Volume %(volume_name)s on instance %(instance_name)s" -msgstr "云主机%(instance_name)s的附加云硬盘%(volume_name)s" +msgstr "实例 %(instance_name)s 上的卷 %(volume_name)s" msgid "Volume (Cinder)" msgstr "卷 (Cinder)" msgid "Volume Backup:" -msgstr "云硬盘备份:" +msgstr "卷备份:" msgid "Volume Backups" -msgstr "云硬盘备份" +msgstr "卷备份" msgid "" "Volume Backups are stored using the Object Storage service. You must have " "this service activated in order to create a backup." -msgstr "" -"云硬盘备份使用的是对象存储服务。你必须激活这个对象存储服务才能创建备份。" +msgstr "卷备份使用的是对象存储服务。您必须激活此对象存储服务才能创建备份。" msgid "Volume Consistency Groups" -msgstr "云硬盘一致性组" +msgstr "卷一致性组" msgid "Volume Encryption Details" msgstr "卷加密详情" @@ -10077,22 +10084,22 @@ msgstr "卷加密详情:%(volume_name)s" msgid "Volume Encryption Details: {{ volume.name }}" -msgstr "卷加密详情: {{ volume.name }}" +msgstr "卷加密详情:{{ volume.name }}" msgid "Volume Encryption Overview" -msgstr "存储云硬盘加密概览" +msgstr "存储卷加密概览" msgid "Volume Limits" -msgstr "云硬盘限度" +msgstr "卷限度" msgid "Volume Name" -msgstr "云硬盘名称" +msgstr "卷名称" msgid "Volume Snapshot" -msgstr "云硬盘快照" +msgstr "卷快照" msgid "Volume Snapshot Overview" -msgstr "云硬盘快照概览" +msgstr "卷快照概览" msgid "Volume Snapshots" msgstr "卷快照" @@ -10102,62 +10109,62 @@ msgstr "卷快照的类型 %(type)s" msgid "Volume Source" -msgstr "云硬盘来源" +msgstr "卷来源" msgid "Volume Storage" -msgstr "云硬盘存储" +msgstr "卷存储" msgid "Volume Transfer" -msgstr "云硬盘转让" +msgstr "卷传输" msgid "Volume Transfer Details" -msgstr "卷转让详情" +msgstr "卷传输详情" msgid "Volume Type" -msgstr "云硬盘类型" +msgstr "卷类型" msgid "Volume Type Description:" -msgstr "云硬盘类型描述:" +msgstr "卷类型描述:" msgid "Volume Type Encryption Details" msgstr "卷类型加密详情" msgid "Volume Type Encryption Overview" -msgstr "云硬盘类型加密概览" +msgstr "卷类型加密概述" msgid "Volume Type Extra Specs" -msgstr "云硬盘类型扩展规格" +msgstr "卷类型 extra spec" msgid "Volume Type Name" -msgstr "云硬盘类型名称" +msgstr "卷类型名称" msgid "Volume Type is Unencrypted." -msgstr "云硬盘类型没有加密。" +msgstr "卷类型没有加密。" msgid "Volume Type(s)" -msgstr "云硬盘类型(s)" +msgstr "卷类型" #, python-format msgid "Volume Type: %(volume_type_name)s" -msgstr "云硬盘类型:%(volume_type_name)s" +msgstr "卷类型:%(volume_type_name)s" #, python-format msgid "Volume Type: %(volume_type_name)s " -msgstr "云硬盘类型:%(volume_type_name)s" +msgstr "卷类型:%(volume_type_name)s" msgid "Volume Types" -msgstr "云硬盘类型" +msgstr "卷类型" #, python-format msgid "" "Volume cannot be extended to %(req)iGiB as you only have %(avail)iGiB of " "your quota available." -msgstr "云硬盘不能扩展到%(req)iGiB,因为你的可用配置只有%(avail)iGiB。" +msgstr "卷不能扩展到 %(req)iGiB,因为您的可用配额只有 %(avail)iGiB。" msgid "" "Volume consistency groups can only be deleted after all the volumes they " "contain are either deleted or unassigned." -msgstr "只能在组内所有的云硬盘已被删除或解除指派后方可删除云硬盘一致性组。" +msgstr "只能在组内所有的卷已被删除或解除指派后方可删除卷一致性组。" msgid "" "Volume consistency groups provide a mechanism for creating snapshots of " @@ -10166,78 +10173,78 @@ "A consistency group can support more than one volume type, but it can only " "contain volumes hosted by the same back end." msgstr "" -"云硬盘一致性组提供了一种同时为多个云硬盘创建快照的机制以确保数据一致性。\n" +"卷一致性组提供了一种同时为多个卷创建快照的机制以确保数据一致性。\n" "\n" -"一个一致性组可以支持多种云硬盘类型,但包含的云硬盘皆须托管于同一个存储后端。" +"一个一致性组可以支持多种卷类型,但它只能包含由同一后端主管的卷。" msgid "Volume is Unencrypted" -msgstr "云硬盘没有加密" +msgstr "卷没有加密" msgid "" "Volume mount point (e.g. 'vda' mounts at '/dev/vda'). Leave this field blank " "to let the system choose a device name for you." msgstr "" -"云硬盘挂载点 (例如,设备'vda'挂载于'/dev/vda'路径上)。如果此处不填,则系统将" -"为您自动选择设备名。" +"卷安装点(例如,设备 'vda' 安装于 '/dev/vda' 路径上)。如果将此字段留为空白," +"那么系统将为您自动选择设备名。" msgid "Volume name to be assigned" -msgstr "已分配的云硬盘名称" +msgstr "已分配的卷名称" msgid "Volume of RAM" msgstr "内存容量" msgid "Volume of RAM used" -msgstr "已使用内存容量" +msgstr "已使用 RAM 量" msgid "Volume of reads" -msgstr "读容量" +msgstr "读取量" msgid "Volume of writes" msgstr "写容量" msgid "Volume size in gigabytes (integer value)." -msgstr "云硬盘大小 (GB, 整数)。" +msgstr "卷大小(GB,整数值)。" #, python-format msgid "" "Volume size must be equal to or greater than the image minimum disk size " "(%sGiB)" -msgstr "云硬盘大小必须等于或大于镜像最小磁盘大小(%sGiB)" +msgstr "卷大小必须等于或大于映像最小磁盘大小 (%sGiB)" #, python-format msgid "Volume size must be equal to or greater than the image size (%s)" -msgstr "云硬盘大小必须等于或大于镜像大小(%s)" +msgstr "卷大小必须等于或大于映像大小 (%s)" #, python-format msgid "" "Volume size must be equal to or greater than the origin volume size (%sGiB)" -msgstr "云硬盘大小必须等于或大于原始云硬盘大小(%sGiB)" +msgstr "卷大小必须等于或大于原始卷大小 (%sGiB)" #, python-format msgid "Volume size must be equal to or greater than the snapshot size (%sGiB)" -msgstr "云硬盘大小必须等于或大于快照大小(%sGiB)" +msgstr "卷大小必须等于或大于快照大小 (%sGiB)" msgid "Volume size must be greater than 0" -msgstr "云硬盘大小必须大于0" +msgstr "卷大小必须大于 0" msgid "Volume source must be specified" -msgstr "云硬盘的源必须被指定" +msgstr "必须指定卷源" #, python-format msgid "Volume type name \"%s\" already exists." -msgstr "云硬盘类型名 \"%s\" 已存在。" +msgstr "卷类型名 “%s” 已存在。" msgid "Volume type name can not be empty." -msgstr "云硬盘类型名称不能为 空." +msgstr "卷类型名称不能为空。" msgid "Volumes" msgstr "卷" msgid "Volumes Attached" -msgstr "云硬盘已连接" +msgstr "已连接卷" msgid "Volumes are block devices that can be attached to instances." -msgstr "云硬盘是可被连接到云主机的块设备。" +msgstr "卷是可连接至实例的块设备。" #, python-format msgid "Volumes of Type %(type)s" @@ -10253,8 +10260,8 @@ " must also be an address within the selected subnet.\n" " " msgstr "" -"当未提供IP地址时,VIP 将从选择的子网里获取一个地址。\n" -"如果需要一个特定的IP地址,也必须位于选择的子网\n" +"当未提供 IP 地址时,VIP 将从选择的子网里获取一个地址。\n" +"如果需要一个特定的 IP 地址,也必须位于选择的子网\n" "且可供使用。\n" " " @@ -10265,69 +10272,69 @@ "the object's name. A slash (/) character is used as the delimiter for pseudo-" "folders in the Object Store." msgstr "" -"你可以在容器中将你的对象分组存储于伪目录中,就像操作您电脑里的目录里一样,区" -"别在于这是由对象名称的共同前缀所定义的一种虚拟的整合。斜杠(/)在对象存储中被" -"用作伪目录的分隔符。" +"在容器中,您可以将对象分组到伪文件夹(类似桌面操作系统中的文件夹,只是它们是" +"由对象名称的共同前缀所定义的虚拟集合)。斜杠(/)字符在对象存储中被用作伪文件" +"夹的分隔符。" msgid "Yes" msgstr "是" msgid "You are already using all of your available floating IPs." -msgstr "你已经使用了你全部可用的浮动IP地址。" +msgstr "您已经使用了所有可用浮动 IP 地址。" msgid "You are already using all of your available volumes." -msgstr "所有可用云硬盘已使用完" +msgstr "所有可用卷已使用完" msgid "" "You can connect a specified external network to the router. The external " "network is regarded as a default route of the router and the router acts as " "a gateway for external connectivity." msgstr "" -"你可以将一个指定的外部网络连接到路由器.外部网络将作为路由器的默认路由同时将扮" -"演外部连接网关的角色" +"可将指定外部网络连接到路由器。外部网络将作为该路由器的缺省路由,并且该路由器" +"充当外部连接的网关。" msgid "You can connect a specified subnet to the router." -msgstr "你可以将一个指定的子网连接到路由器" +msgstr "您可以将一个指定的子网连接到路由器" msgid "" "You can create a port for the network. If you specify device ID to be " "attached, the device specified will be attached to the port created." msgstr "" -"你可以为网络创建端口。如果指定要连接的设备ID,该设备将连接到创建的端口上。" +"您可以为网络创建端口。如果指定要连接的设备标识,该设备将连接至所创建端口。" msgid "" "You can customize your instance after it has launched using the options " "available here." -msgstr "当你的云主机使用下面选项创建后,你可以定制它。" +msgstr "使用此处提供的选项启动实例后,可定制该实例。" msgid "" "You can specify the desired rule template or use custom rules, the options " "are Custom TCP Rule, Custom UDP Rule, or Custom ICMP Rule." msgstr "" -"你可以指定期望的规则模板或者使用定制规则,选项有定制TCP规则、定制UDP规则或定" -"制ICMP规则。" +"您可以指定期望的规则模板或者使用定制规则,选项包括:定制 TCP 规则、定制 UDP " +"规则或定制 ICMP 规则。" msgid "You cannot disable the user you are currently logged in as." -msgstr "您不能禁用您当前登录的用户。" +msgstr "您不能禁用当前登录时所使用的用户身份。" msgid "You cannot disable your current project" -msgstr "您不能禁用您当前的项目" +msgstr "不能禁用当前项目" msgid "" "You cannot revoke your administrative privileges from the domain you are " "currently logged into. Please switch to another domain with administrative " "privileges or remove the administrative role manually via the CLI." msgstr "" -"你无法撤消你目前登录到的域中的管理员权限。请切换到另外的域并使用管理员权限," -"或者通过CLI手动删除管理员角色." +"无法从目前登录的域中撤销管理员权限。请切换到具有管理员权限的另一个域,或者通" +"过 CLI 手动删除管理员角色." msgid "" "You cannot revoke your administrative privileges from the project you are " "currently logged into. Please switch to another project with administrative " "privileges or remove the administrative role manually via the CLI." msgstr "" -"你无法从你目前登录的项目中撤销你的管理员权限。请切换至其他有管理员权限的项" -"目,或通过命令行(CLI)手工移除管理员角色。" +"您无法从您目前登录的项目中撤销您的管理员权限。请切换至其他有管理员权限的项" +"目,或通过 CLI 手动移除管理员角色。" msgid "" "You do not have the required\n" @@ -10339,84 +10346,84 @@ "误,请联系您的项目负责人。" msgid "You may have mistyped the address or the page may have moved." -msgstr "你可能输入了错误的地址,或者该页面被删除了" +msgstr "您可能输入了错误的地址,或者该页面被删除了" msgid "You may optionally set a password on the rebuilt instance." -msgstr "在重建云主机时你可以选择设定密码。" +msgstr "可选择对重建实例设置密码。" msgid "" "You may reset the gateway later by using the set gateway action, but the " "gateway IP may change." -msgstr "你可以通过使用网关配置动作稍后重置网关,但网关IP可能改变。" +msgstr "稍后您可以通过使用“设置网关”操作重置网关,但网关 IP 可能改变。" msgid "You may update IKE Policy details here." -msgstr "你可以在此处更新IKE策略详情。" +msgstr "您可以在此处更新 IKE 策略详情。" msgid "You may update IPSec Policy details here." -msgstr "你可以在此处更新IPSec策略详情。" +msgstr "您可以在此处更新 IPSec 策略详情。" msgid "You may update IPSec Site Connection details here." -msgstr "你可以在此处更新IPSec站点连接详情。" +msgstr "您可以在此处更新 IPSec 站点连接详情。" msgid "" "You may update VIP attributes here: edit name, description, pool, session " "persistence, connection limit or admin state." msgstr "" -"你可以在此更新VIP属性:编辑名称、描述、资源池、会话持久化、连接限制或管理状" -"态。" +"您可以在此更新VIP属性:编辑名称、描述、池、会话持久化、连接限制或管理状态。" msgid "You may update VPN Service details here." -msgstr "你可以在此处更新VPN服务详情。" +msgstr "您可以在此处更新 VPN 服务详情。" msgid "You may update firewall details here." -msgstr "你可以在此处更新防火墙详情。" +msgstr "您可以在此处更新防火墙详情。" msgid "" "You may update health monitor attributes here: edit delay, timeout, max " "retries or admin state." -msgstr "你可以在此更新健康监控属性:编辑延迟、超时、最大重试次数或管理状态。" +msgstr "" +"您可以在此更新运行状况监视器属性:编辑延迟、超时、最大重试次数或管理状态。" msgid "" "You may update member attributes here: edit pool, weight or admin state." -msgstr "你可以在此更新用户属性:编辑资源池、权重或管理状态。" +msgstr "您可在此处更新成员属性:编辑池、权重或管理状态。" msgid "" "You may update policy details here. Use 'Insert Rule' or 'Remove Rule' links " "instead to insert or remove a rule" msgstr "" -"你可以在此处更新策略详情。使用'插入规则'或'移除规则'链接来插入或删除规则。" +"您可以在此处更新策略详情。使用“插入规则”或“移除规则”链接来插入或删除规则。" msgid "" "You may update pool attributes here: edit name, description, load balancing " "method or admin state." -msgstr "你可以在这里更新池的属性:编辑名称、描述、负载均衡方法或管理状态。" +msgstr "您可以在这里更新池的属性:编辑名称、描述、负载均衡方法或管理状态。" msgid "You may update rule details here." -msgstr "你可以在此处更新规则详情。" +msgstr "您可以在此处更新规则详情。" msgid "You may update the editable properties of your network here." -msgstr "在此可以更新网络的可编辑属性" +msgstr "可在此处更新网络的可编辑属性。" msgid "You may update the editable properties of your port here." -msgstr "在此可以更新端口的可编辑属性" +msgstr "可在此处更新端口的可编辑属性。" msgid "You may update the editable properties of your router here." -msgstr "你可以在这里更新路由的属性" +msgstr "您可在此处更新路由器的可编辑属性。" msgid "You must select a snapshot." -msgstr "你必须选择一个快照" +msgstr "您必须选择一个快照" msgid "You must select a volume." -msgstr "你必须选择一个云硬盘。" +msgstr "您必须选择一个卷。" msgid "You must select an image." -msgstr "你必须选择一个镜像。" +msgstr "您必须选择映像。" msgid "You must set volume size" -msgstr "你必须设置云硬盘的大小" +msgstr "您必须设置卷的大小" msgid "You must specify a template via one of the available sources." -msgstr "你必须通过可用源中的一个来指定模板。" +msgstr "您必须通过可用源中的一个来指定模板。" msgid "" "You must specify the source of the traffic to be allowed via this rule. You " @@ -10425,13 +10432,13 @@ "any other instance in that security group access to any other instance via " "this rule." msgstr "" -"你必须指定允许通过该规则的流量来源。可以通过以下两种方式实现:IP地址块(CIDR)" -"或者来源地址组(安全组)。如果选择一个安全组作为来访源地址,则该安全组中的任何" -"云主机都被允许使用该规则访问任一其它云主机。" +"您必须指定允许通过该规则传送的流量的源。可以通过以下两种方式实现:IP 地址块 " +"(CIDR) 或者源组(安全组)。选择安全组作为源允许该安全组中的任何其他实例通过此" +"规则访问任何其他实例。" #, python-format msgid "Your image %s has been queued for creation." -msgstr "镜像%s创建排队中" +msgstr "映像 %s 已在排队等待创建。" msgid "Zone" msgstr "可用区域" @@ -10471,7 +10478,7 @@ msgstr "禁用" msgid "dm-crypt" -msgstr "dm-crypt 磁盘加密" +msgstr "dm-crypt" msgid "environment" msgstr "环境" @@ -10495,19 +10502,19 @@ msgstr "保留" msgid "instance" -msgstr "云主机" +msgstr "实例" msgid "pseudo-folder" -msgstr "伪目录" +msgstr "伪文件夹" msgid "response-only" -msgstr "只应答" +msgstr "仅应答" msgid "restart" msgstr "重启" msgid "restart-by-peer" -msgstr "被对方重启" +msgstr "被伙伴重新启动" msgid "seconds" msgstr "秒" @@ -10522,13 +10529,13 @@ msgstr "网络运输" msgid "tunnel" -msgstr "隧道" +msgstr "通道" msgid "undefined" msgstr "未定义" msgid "unknown IP address" -msgstr "未知的IP地址" +msgstr "未知的 IP 地址" msgid "v1" msgstr "v1" diff -Nru horizon-9.0.1/openstack_dashboard/locale/zh_TW/LC_MESSAGES/djangojs.po horizon-9.1.0/openstack_dashboard/locale/zh_TW/LC_MESSAGES/djangojs.po --- horizon-9.0.1/openstack_dashboard/locale/zh_TW/LC_MESSAGES/djangojs.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/zh_TW/LC_MESSAGES/djangojs.po 2016-07-21 10:24:05.000000000 +0000 @@ -1,15 +1,16 @@ # Zhang Xiaowei , 2015. #zanata +# DerekYang , 2016. #zanata # Jennifer , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev40\n" +"Project-Id-Version: horizon 9.0.2.dev2\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-25 05:01+0000\n" +"POT-Creation-Date: 2016-06-04 18:21+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-04-29 09:30+0000\n" -"Last-Translator: Jennifer \n" +"PO-Revision-Date: 2016-06-08 12:19+0000\n" +"Last-Translator: DerekYang \n" "Language-Team: Chinese (Taiwan)\n" "Language: zh-TW\n" "X-Generator: Zanata 3.7.3\n" @@ -55,57 +56,6 @@ msgstr "8" msgid "" -"\n" -" Heads up!\n" -" This\n" -" alert needs your attention,\n" -" but it's not super important." -msgstr "" -"\n" -" 注意!\n" -" 這一則\n" -" 警報需要注意,\n" -" 但它的重要性不是最高的。" - -msgid "" -"\n" -" Oh snap!\n" -" Change a few things up\n" -" and try submitting again." -msgstr "" -"\n" -" 喔,貼齊!\n" -" 變更一些內容\n" -" 然後再次嘗試提交。" - -msgid "" -"\n" -" Well done!\n" -" You successfully read\n" -" this important alert message." -msgstr "" -"\n" -" 很好!\n" -" 您已順利讀取\n" -" 這一則重要的警報訊息。" - -msgid "" -"\n" -" Public" -msgstr "" -"\n" -" 公開" - -msgid "" -"\n" -" Configuration Drive\n" -" " -msgstr "" -"\n" -" 配置磁碟機\n" -" " - -msgid "" "
  • Image (with Create New Volume checked): This options uses an " "image to boot the instance, and creates a new volume to persist instance " "data. You can specify volume size and whether to delete the volume on " @@ -144,27 +94,6 @@ msgstr "這一行文字將進行精細列印。" msgid "" -"A container is a storage compartment for your data and provides a way\n" -" for you to organize your data. You can think of a container as a\n" -" folder in Windows or a directory in UNIX. The primary difference\n" -" between a container and these other file system concepts is that\n" -" containers cannot be nested. You can, however, create an " -"unlimited\n" -" number of containers within your account. Data must be stored in " -"a\n" -" container so you must have at least one container defined in your\n" -" account prior to uploading data." -msgstr "" -"儲存器是一個用於您資料的儲存隔間,並且提供\n" -" 方法讓您組織資料。您可以將儲存器視為\n" -" Windows 資料夾或者 UNIX 目錄。儲存器與\n" -" 這些其他的檔案系統觀念的主要不同在於\n" -" 儲存器不能階層化。但是,您可以以您的帳戶\n" -" 建立無限數量的儲存器。資料必須儲存在儲存器中,\n" -" 所以在上傳資料前,您必須至少先在帳戶中\n" -" 定義一個儲存器。" - -msgid "" "A floating IP allows instances to be addressable from an external network.\n" " Floating IPs are not allocated to instances at creation time and may be " "assigned\n" @@ -257,9 +186,6 @@ " 請在專案網路及對外網路間附加路由器。\n" " 您可以使用網路拓撲檢視兩個網路與路由器的連線。" -msgid "An abbreviation of the word attribute is attr." -msgstr "單詞 attribute 的縮寫是 attr。" - msgid "" "An advanced option available when launching an instance is disk " "partitioning. There are two disk partition options. Selecting Automatic: {$ ctrl.model.folder $}" -msgstr "" -"建立資料夾位置:{$ ctrl.model.container.name $}\n" -" :{$ ctrl.model.folder $}" - msgid "Create Key Pair" msgstr "新增密鑰對" @@ -818,6 +743,9 @@ msgid "Input warning" msgstr "輸入警告" +msgid "Instance Name" +msgstr "雲實例名稱" + msgid "Instance Snapshot" msgstr "雲實例即時存檔" @@ -845,13 +773,6 @@ msgid "Key Pair" msgstr "密鑰對" -msgid "" -"Key Pair Name\n" -" " -msgstr "" -"金鑰組名稱\n" -" " - msgid "Key Pairs" msgstr "金鑰組" @@ -1266,10 +1187,10 @@ msgid "" "Public Key\n" -" " +" " msgstr "" "公開金鑰\n" -" " +" " msgid "QCOW2" msgstr "QCOW2" @@ -1615,11 +1536,12 @@ msgstr "時間戳記" msgid "" -"To view source code, hover over a section, then click the button in the top right of that section." +"To view source code, hover over a section, then click the button in the top " +"right of that section." msgstr "" -"如果要檢視原始碼,請將游標移至區段上方,然後按一下該區段右上角的 按鈕。" +"如果要檢視原始碼,請將游標移至區段上方,然後按一下該區段右上角的 按鈕。" msgid "Tooltips" msgstr "工具提示" @@ -1987,13 +1909,6 @@ msgid "Upload File" msgstr "上傳檔案" -msgid "" -"Upload File To: {$ ctrl.model.container.name $}\n" -" : {$ ctrl.model.folder $}" -msgstr "" -"將檔案上傳至:{$ ctrl.model.container.name $}\n" -" :{$ ctrl.model.folder $}" - msgid "Uploading" msgstr "正在上傳" @@ -2058,13 +1973,6 @@ msgid "Volume Quota" msgstr "磁區配額" -msgid "" -"Volume Size (GB)\n" -" " -msgstr "" -"磁區大小 (GB)\n" -" " - msgid "Volume Snapshot" msgstr "雲硬碟即時存檔" diff -Nru horizon-9.0.1/openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po horizon-9.1.0/openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po --- horizon-9.0.1/openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po 2016-07-21 10:24:05.000000000 +0000 @@ -2,9 +2,9 @@ # Jennifer , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: horizon 9.0.1.dev16\n" +"Project-Id-Version: horizon 9.0.2.dev20\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2016-05-12 02:15+0000\n" +"POT-Creation-Date: 2016-06-21 19:51+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -7894,15 +7894,9 @@ "關閉此頁面之後,將無法使用「授權金鑰」,所以您必須現在擷取它,否則您將無法使" "用傳送。" -msgid "The ICMP code is invalid." -msgstr "ICMP 程式碼無效。" - msgid "The ICMP code not in range (-1, 255)" msgstr "ICMP 程式碼不在範圍(-1 到 255)內" -msgid "The ICMP type is invalid." -msgstr "ICMP 類型無效。" - msgid "The ICMP type not in range (-1, 255)" msgstr "ICMP 類型不在範圍(-1 到 255)內" diff -Nru horizon-9.0.1/openstack_dashboard/settings.py horizon-9.1.0/openstack_dashboard/settings.py --- horizon-9.0.1/openstack_dashboard/settings.py 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/settings.py 2016-07-21 10:24:05.000000000 +0000 @@ -29,6 +29,9 @@ from openstack_dashboard.static_settings import get_staticfiles_dirs # noqa from openstack_dashboard import theme_settings +from horizon.utils.escape import monkeypatch_escape + +monkeypatch_escape() warnings.formatwarning = lambda message, category, *args, **kwargs: \ '%s: %s' % (category.__name__, message) diff -Nru horizon-9.0.1/openstack_dashboard/test/settings.py horizon-9.1.0/openstack_dashboard/test/settings.py --- horizon-9.0.1/openstack_dashboard/test/settings.py 2016-06-02 20:05:51.000000000 +0000 +++ horizon-9.1.0/openstack_dashboard/test/settings.py 2016-07-21 10:24:00.000000000 +0000 @@ -18,6 +18,12 @@ from openstack_dashboard.static_settings import find_static_files # noqa from openstack_dashboard.static_settings import get_staticfiles_dirs # noqa +from horizon.utils.escape import monkeypatch_escape + +# this is used to protect from client XSS attacks, but it's worth +# enabling in our test setup to find any issues it might cause +monkeypatch_escape() + STATICFILES_DIRS = get_staticfiles_dirs() TEST_DIR = os.path.dirname(os.path.abspath(__file__)) diff -Nru horizon-9.0.1/PKG-INFO horizon-9.1.0/PKG-INFO --- horizon-9.0.1/PKG-INFO 2016-06-02 20:08:09.000000000 +0000 +++ horizon-9.1.0/PKG-INFO 2016-07-21 10:27:21.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: horizon -Version: 9.0.1 +Version: 9.1.0 Summary: OpenStack Dashboard Home-page: http://www.openstack.org/ Author: OpenStack diff -Nru horizon-9.0.1/releasenotes/notes/oslo-concurrency-b336fa83b33a9a0e.yaml horizon-9.1.0/releasenotes/notes/oslo-concurrency-b336fa83b33a9a0e.yaml --- horizon-9.0.1/releasenotes/notes/oslo-concurrency-b336fa83b33a9a0e.yaml 1970-01-01 00:00:00.000000000 +0000 +++ horizon-9.1.0/releasenotes/notes/oslo-concurrency-b336fa83b33a9a0e.yaml 2016-07-21 10:24:05.000000000 +0000 @@ -0,0 +1,4 @@ +--- +upgrade: + - The oslo concurrency minimum requirement has + been raised from 3.5.0 to 3.7.1 diff -Nru horizon-9.0.1/requirements.txt horizon-9.1.0/requirements.txt --- horizon-9.0.1/requirements.txt 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/requirements.txt 2016-07-21 10:24:05.000000000 +0000 @@ -19,7 +19,7 @@ httplib2>=0.7.5 # MIT iso8601>=0.1.9 # MIT netaddr!=0.7.16,>=0.7.12 # BSD -oslo.concurrency>=3.5.0 # Apache-2.0 +oslo.concurrency>=3.7.1 # Apache-2.0 oslo.config>=3.7.0 # Apache-2.0 oslo.i18n>=2.1.0 # Apache-2.0 oslo.policy>=0.5.0 # Apache-2.0 diff -Nru horizon-9.0.1/tools/gate/integration/post_test_hook.sh horizon-9.1.0/tools/gate/integration/post_test_hook.sh --- horizon-9.0.1/tools/gate/integration/post_test_hook.sh 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/tools/gate/integration/post_test_hook.sh 2016-07-21 10:24:05.000000000 +0000 @@ -2,6 +2,11 @@ # This script will be executed inside post_test_hook function in devstack gate +sudo wget -q -O firefox.deb https://sourceforge.net/projects/ubuntuzilla/files/mozilla/apt/pool/main/f/firefox-mozilla-build/firefox-mozilla-build_46.0.1-0ubuntu1_amd64.deb/download +sudo apt-get -y purge firefox +sudo dpkg -i firefox.deb +sudo rm firefox.deb + cd /opt/stack/new/horizon sudo -H -u stack tox -e py27integration retval=$? diff -Nru horizon-9.0.1/tox.ini horizon-9.1.0/tox.ini --- horizon-9.0.1/tox.ini 2016-06-02 20:05:56.000000000 +0000 +++ horizon-9.1.0/tox.ini 2016-07-21 10:24:05.000000000 +0000 @@ -5,7 +5,7 @@ [testenv] usedevelop = True -install_command = pip install -U {opts} {packages} +install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/mitaka} {opts} {packages} setenv = VIRTUAL_ENV={envdir} NOSE_WITH_OPENSTACK=1 NOSE_OPENSTACK_COLOR=1 @@ -33,6 +33,10 @@ /bin/bash run_tests.sh -N --makemessages --check-only [testenv:venv] +# NOTE(from nova tox.ini by jaegerandi): This target does not use constraints +# because upstream infra does not yet support it. Once that's fixed, we can +# drop the install_command. +install_command = pip install -U --force-reinstall {opts} {packages} commands = {posargs} [testenv:cover] @@ -63,6 +67,10 @@ commands = python setup.py build_sphinx [testenv:releasenotes] +# NOTE(from nova tox.ini by jaegerandi): This target does not use constraints +# because upstream infra does not yet support it. Once that's fixed, we can +# drop the install_command. +install_command = pip install -U --force-reinstall {opts} {packages} commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8]