summaryrefslogtreecommitdiff
path: root/openstack_dashboard/locale
diff options
context:
space:
mode:
Diffstat (limited to 'openstack_dashboard/locale')
-rw-r--r--openstack_dashboard/locale/ja/LC_MESSAGES/django.po13
-rw-r--r--openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po38
-rw-r--r--openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po85
-rw-r--r--openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po356
4 files changed, 460 insertions, 32 deletions
diff --git a/openstack_dashboard/locale/ja/LC_MESSAGES/django.po b/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
index a36c0d05b..3596b9291 100644
--- a/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
+++ b/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
@@ -4,18 +4,17 @@
# Yuko Katabami <yukokatabami@gmail.com>, 2016. #zanata
# Akihiro Motoki <amotoki@gmail.com>, 2017. #zanata
# Yuko Katabami <yukokatabami@gmail.com>, 2017. #zanata
-# Akihiro Motoki <amotoki@gmail.com>, 2018. #zanata
# Yuko Katabami <yukokatabami@gmail.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-05 04:08+0000\n"
+"POT-Creation-Date: 2018-02-07 05:35+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-02-05 06:16+0000\n"
-"Last-Translator: Akihiro Motoki <amotoki@gmail.com>\n"
+"PO-Revision-Date: 2018-02-05 09:17+0000\n"
+"Last-Translator: Yuko Katabami <yukokatabami@gmail.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"X-Generator: Zanata 3.9.6\n"
@@ -6374,7 +6373,7 @@ msgstr "ボリュームとスナップショットの合計サイズ (GiB)"
#, python-format
msgid "Total Size of Volumes and Snapshots (GiB) of Type %(type)s"
-msgstr "ボリュームとスナップショットの合計サイズ (GiB) (タイプ %(type)s)"
+msgstr "ボリュームとスナップショットの合計サイズ (GiB) (種別 %(type)s)"
msgid "Total VCPU Usage (Hours):"
msgstr "合計仮想 CPU 使用量 (時間):"
@@ -7863,7 +7862,7 @@ msgstr "ボリュームスナップショット"
#, python-format
msgid "Volume Snapshots of Type %(type)s"
-msgstr "ボリュームスナップショット (タイプ %(type)s)"
+msgstr "ボリュームスナップショット (種別 %(type)s)"
msgid "Volume Source"
msgstr "ボリュームソース"
@@ -8019,7 +8018,7 @@ msgstr "ボリュームは、インスタンスに接続できるブロックデ
#, python-format
msgid "Volumes of Type %(type)s"
-msgstr "ボリューム (タイプ %(type)s)"
+msgstr "ボリューム (種別 %(type)s)"
msgid "Warning: "
msgstr "警告: "
diff --git a/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po b/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po
index 8b0063ff0..f0dede21a 100644
--- a/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po
+++ b/openstack_dashboard/locale/ja/LC_MESSAGES/djangojs.po
@@ -2,19 +2,18 @@
# Yuko Katabami <yukokatabami@gmail.com>, 2015. #zanata
# Mie Yamamoto <myamamot@redhat.com>, 2016. #zanata
# Yuko Katabami <yukokatabami@gmail.com>, 2016. #zanata
-# Akihiro Motoki <amotoki@gmail.com>, 2017. #zanata
# Yuko Katabami <yukokatabami@gmail.com>, 2017. #zanata
-# Akihiro Motoki <amotoki@gmail.com>, 2018. #zanata
+# Yuko Katabami <yukokatabami@gmail.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-01 07:30+0000\n"
+"POT-Creation-Date: 2018-02-07 05:35+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-02-01 06:35+0000\n"
-"Last-Translator: Akihiro Motoki <amotoki@gmail.com>\n"
+"PO-Revision-Date: 2018-02-07 01:55+0000\n"
+"Last-Translator: Yuko Katabami <yukokatabami@gmail.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"X-Generator: Zanata 3.9.6\n"
@@ -295,8 +294,9 @@ msgid ""
" or optional depending on the backend. Notably Ironic may provide\n"
" segmentation details instead of the user."
msgstr ""
-"セグメント詳細が必須か省略可能かはバックエンド依存です。 Ironic の場合は "
-"Ironic がユーザーの代わりにセグメント詳細を指定してくれます。"
+"セグメント詳細が必須か省略可能かはバックエンドによって決まる点にも注意してく"
+"ださい。 Ironic の場合は Ironic がユーザーの代わりにセグメント詳細を指定して"
+"くれます。"
msgid "Amount of RAM in MB that is required to boot the image."
msgstr "イメージの起動に必要な RAM の量 (MB)。"
@@ -342,9 +342,9 @@ msgid ""
" when the trunk is created. Also may be attached or detached later\n"
" during the trunk's (and the instance's) life."
msgstr ""
-"任意の数 (0 個以上) の通常の Neutron ポートを選択肢、セグメント詳細 (種別と "
-"ID) をあわせて指定します。トランク作成時に指定することもできますし、トランク "
-"(やインスタンス) の存在期間中に後で追加、削除することもできます。"
+"任意の数 (0 個以上) の通常の Neutron ポートを選択し、セグメント詳細 (種別と "
+"ID) を併せて指定します。トランク作成時に指定することができます。また、トラン"
+"ク (やインスタンス) の存在期間中に後で追加、削除することも可能です。"
msgid "An arbitrary description for the trunk."
msgstr "トランクの任意の説明。"
@@ -1028,8 +1028,8 @@ msgid ""
"Exactly one regular Neutron port. Has to be provided when\n"
" the trunk is created. Cannot be changed during the trunk's life."
msgstr ""
-"通常の Neutron ポートを 1 つ指定します。親ポートはトランク作成時に指定する必"
-"要があります。トランクの存在期間中は親ポートは変更できません。"
+"通常の Neutron ポートを 1 つだけ指定します。親ポートはトランク作成時に指定す"
+"る必要があります。トランクの存在期間中は親ポートは変更できません。"
msgid "Example body text"
msgstr "本文の例"
@@ -1770,9 +1770,9 @@ msgid ""
" automatically configure and bring up the VLAN subinterfaces belonging\n"
" to subports. You may have to do that yourself. For example:"
msgstr ""
-"ほとんどのオペレーティングシステムでは、サブポートに所属する VLAN サブイン"
-"ターフェースを自動的に設定し有効にすることはできないでしょう。自分で有効にす"
-"る必要があります。例えば、以下のようにします。"
+"ほとんどのゲストオペレーティングシステムでは、サブポートに所属する VLAN サブ"
+"インターフェースを自動的に設定して有効にすることはできない点に注意してくださ"
+"い。自分で有効にする必要があります。例えば、以下のようにします。"
msgid ""
"Note that some Neutron backends (notably the Open vSwitch\n"
@@ -2337,7 +2337,7 @@ msgid ""
" the same physical hardware due to availability requirements."
msgstr ""
"サーバーグループで仮想マシンのコレクションを定義して、\n"
-" コレクション全体に特定のプロパティーを指定することができます。たとえば、"
+" コレクション全体に特定のプロパティーを指定することができます。例えば、"
"サーバーグループのポリシーで、\n"
" 可用性の要件に基づいて、\n"
" このグループ内の仮想マシンが同じ物理ハードウェアに配置されないように指定"
@@ -2495,7 +2495,7 @@ msgid "Textarea"
msgstr "テキストエリア"
msgid "The access permission for the image."
-msgstr "イメージのアクセス許可"
+msgstr "イメージのアクセス許可。"
msgid "The admin password is incorrect."
msgstr "管理者パスワードが正しくありません。"
@@ -2601,8 +2601,8 @@ msgid ""
" leave/enter the instance."
msgstr ""
"セグメント種別と ID は、 Neutron のネットワーク仮想化の実装とは疎結合です (つ"
-"まり独立です)。フレームがインスタンスに出入りする際に、別のセグメント種別に再"
-"マッピングされます。"
+"まり独立しています)。フレームがインスタンスに出入りする際に、別のセグメント種"
+"別に再マッピングされます。"
msgid ""
"The segmentation type, ID tuples of subports must be unique\n"
diff --git a/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po b/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po
index b9bbb56fe..a1acd88f7 100644
--- a/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po
+++ b/openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po
@@ -24,16 +24,17 @@
# liujunpeng <liujunpeng@inspur.com>, 2017. #zanata
# vuuv <froms2008@gmail.com>, 2017. #zanata
# zhangdebo <zhangdebo@inspur.com>, 2017. #zanata
+# Tony <tfu@redhat.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-01 07:30+0000\n"
+"POT-Creation-Date: 2018-02-07 05:35+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2017-12-12 02:27+0000\n"
-"Last-Translator: TigerFang <tigerfun@126.com>\n"
+"PO-Revision-Date: 2018-02-06 12:33+0000\n"
+"Last-Translator: Tony <tfu@redhat.com>\n"
"Language-Team: Chinese (China)\n"
"Language: zh-CN\n"
"X-Generator: Zanata 3.9.6\n"
@@ -1061,6 +1062,9 @@ msgid ""
"mechanisms."
msgstr "通过密钥对、安全组及其它机制来控制访问您实例的权限"
+msgid "Cookies may be turned off. Make sure cookies are enabled and try again."
+msgstr "Cookies 可能被禁用。请启用 cookies 后再试。"
+
msgid "Copy Data"
msgstr "数据复制"
@@ -1230,6 +1234,16 @@ msgstr "创建映射"
msgid "Create a new \"extra spec\" key-value pair for a volume type."
msgstr "为卷类型创建新的\"扩展规格\"键值对。"
+#, python-format
+msgid ""
+"Create a new \"spec\" key-value pair for QoS Spec \"%(qos_spec_name)s\". "
+"Valid key names are expected in the QoS specs. The acceptable values for key "
+"are <tt>\"minIOPS\", \"maxIOPS\" and \"burstIOPS\"</tt>."
+msgstr ""
+"为 QoS Spec \"%(qos_spec_name)s\" 创建一个新的 \"spec\" 键-值对。 QoS spec 需"
+"要有效的键名,可以接受的键值是 <tt>\"minIOPS\"、\"maxIOPS\" 和 \"burstIOPS"
+"\"</tt>。"
+
msgid ""
"Create a new network. In addition, a subnet associated with the network can "
"be created in the following steps of this wizard."
@@ -2365,6 +2379,9 @@ msgid ""
"Evacuate the servers from the selected down host to an active target host."
msgstr "疏散实例从宕机的主机到可用的目标主机"
+msgid "Example:"
+msgstr "例如:"
+
msgid ""
"Example: For <tt>mod_shib</tt> this would be <tt>Shib-Identity-Provider</"
"tt>, for <tt>mod_auth_openidc</tt>, this could be <tt>HTTP_OIDC_ISS</tt>. "
@@ -3272,6 +3289,9 @@ msgid ""
"exist."
msgstr "无效的时间范围。您正在查询未来的、尚不存在的数据。"
+msgid "It specifies the VNIC type bound to the networking port."
+msgstr "它指定了绑定到网络端口的VNIC类型。"
+
msgid "Items Per Page"
msgstr "每页条目数"
@@ -3319,6 +3339,15 @@ msgstr "认证所用的密钥对"
msgid "Key-Value Pairs"
msgstr "键值对"
+msgid "Key: burstIOPS and Value:5000 (number value bigger than minIOPS)"
+msgstr "键为 : burstIOPS,它的值为 :5000 (大于 minIOPS 的值)"
+
+msgid "Key: maxIOPS and Value:5000 (number value bigger than minIOPS)"
+msgstr "键为 : maxIOPS,它的值是为 : 5000 (大于 minIOPS 的值)"
+
+msgid "Key: minIOPS and Value:20 (number value less than maxIOPS)"
+msgstr "键为: minIOPS,它的值为 : 20 (小于 maxIOPS 的值)"
+
msgctxt "Current status of an Image"
msgid "Killed"
msgstr "已杀死"
@@ -4934,6 +4963,9 @@ msgstr "安全组"
msgid "Security group rule already exists."
msgstr "安全组规则已存在."
+msgid "Security group rule quota exceeded."
+msgstr "超过安全组规则配额。"
+
msgid ""
"Security groups are sets of IP filter rules that are applied to network "
"interfaces of a VM. After the security group is created, you can add rules "
@@ -5322,6 +5354,9 @@ msgstr "未满足最低引导源要求的一些实例类型被禁用"
msgid "Something went wrong!"
msgstr "出错啦!"
+msgid "Sorry, the page you were looking for does not exist"
+msgstr "您要找的页面不存在"
+
msgctxt "Task status of an Instance"
msgid "Spawning"
msgstr "孵化"
@@ -5734,6 +5769,9 @@ msgstr ""
"接收方需要转让ID和认证密钥用来接受转让。请获取转让ID和认证密钥并将它们提供给"
"您的转让接收方。"
+msgid "The VNIC type that is bound to the network port"
+msgstr "绑定至网络端口的 VNIC 类型"
+
#, python-format
msgid ""
"The Volume size is too small for the '%(image_name)s' image and has to be "
@@ -6172,6 +6210,14 @@ msgstr "无法确认网络可用域扩展是否被支持"
msgid "Unable to check if router availability zone extension is supported"
msgstr "无法确认路由器的可用域扩展是否被支持"
+#, python-format
+msgid ""
+"Unable to clear gateway for router %(name)s. Most possible reason is because "
+"the gateway is required by one or more floating IPs"
+msgstr ""
+"无法为路由器 %(name)s 清除网关。最有可能的原因是,一个或多个浮动 IP 仍然需要"
+"网关。"
+
msgid "Unable to clone consistency group."
msgstr "无法克隆一致性组"
@@ -6299,6 +6345,26 @@ msgstr "无法创建卷类型"
msgid "Unable to create volume."
msgstr "不能创建卷。"
+#, python-format
+msgid ""
+"Unable to delete network %(name)s. Most possible reason is because one or "
+"more ports still exist on the requested network."
+msgstr ""
+"无法删除网络 %(name)s。最有可能的原因是,一个或多个端口仍然存在于需要的网络"
+"中。"
+
+#, python-format
+msgid "Unable to delete router %(name)s: %(exc)s"
+msgstr "无法删除路由器 %(name)s: %(exc)s"
+
+#, python-format
+msgid ""
+"Unable to delete subnet %(name)s. Most possible reason is because one or "
+"more ports have an IP allocation from this subnet."
+msgstr ""
+"无法删除子网 %(name)s。最有可能的原因是,一个或多个端口仍然存在从这个子网分配"
+"的 IP 地址。"
+
msgid "Unable to delete volume transfer."
msgstr "无法删除卷转让。"
@@ -6360,6 +6426,10 @@ msgstr "无法获取Cinder服务列表"
msgid "Unable to get consistency group list"
msgstr "无法获取一致性组列表"
+#, python-format
+msgid "Unable to get console for instance \"%s\"."
+msgstr "无法获取实例 “%s” 的控制台。"
+
msgid "Unable to get flavor list"
msgstr "无法获取实例类型列表。"
@@ -6503,6 +6573,9 @@ msgstr "不能获取到MAC学习状态"
msgid "Unable to retrieve Network information for instance \"%s\"."
msgstr "无法从\"%s\"实例获取网络信息。"
+msgid "Unable to retrieve Neutron quota information."
+msgstr "无法获取 Neutron 配额信息。"
+
msgid "Unable to retrieve Nova availability zones."
msgstr "无法获取Nova可用区域。"
@@ -6723,6 +6796,9 @@ msgstr "无法获取密钥对。"
msgid "Unable to retrieve limit information."
msgstr "无法获取限制信息。"
+msgid "Unable to retrieve limits information."
+msgstr "无法获得限制信息。"
+
msgid "Unable to retrieve list of security groups"
msgstr "无法获取安全组列表"
@@ -6915,6 +6991,9 @@ msgstr "无法获取卷信息。"
msgid "Unable to retrieve volume project information."
msgstr "无法获取卷项目信息。"
+msgid "Unable to retrieve volume quota information."
+msgstr "无法获取卷配额信息。"
+
msgid "Unable to retrieve volume snapshot."
msgstr "无法获取卷快照"
diff --git a/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po b/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po
index e16e9b4dc..a37ec5fd0 100644
--- a/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po
+++ b/openstack_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po
@@ -10,16 +10,17 @@
# zzxwill <zzxwill@gmail.com>, 2016. #zanata
# TigerFang <tigerfun@126.com>, 2017. #zanata
# Tony <tfu@redhat.com>, 2017. #zanata
+# Tony <tfu@redhat.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-01 07:30+0000\n"
+"POT-Creation-Date: 2018-02-07 05:35+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2017-12-15 03:18+0000\n"
-"Last-Translator: TigerFang <tigerfun@126.com>\n"
+"PO-Revision-Date: 2018-02-07 06:28+0000\n"
+"Last-Translator: Tony <tfu@redhat.com>\n"
"Language-Team: Chinese (China)\n"
"Language: zh-CN\n"
"X-Generator: Zanata 3.9.6\n"
@@ -97,6 +98,37 @@ msgstr ""
msgid "<small>This line of text is meant to be treated as fine print.</small>"
msgstr "<small>这行文字为了更好的打印。</small>"
+msgid ""
+"<strong>Heads up!</strong>\n"
+" This\n"
+" <a href=\"#\" class=\"alert-link\">alert needs your attention</"
+"a>,\n"
+" but it's not super important."
+msgstr ""
+"<strong>提示!</strong>\n"
+" 此\n"
+" <a href=\"#\" class=\"alert-link\">警告需要您的注意</a>,\n"
+" 但它可能不是非常重要。"
+
+msgid ""
+"<strong>Oh snap!</strong>\n"
+" <a href=\"#\" class=\"alert-link\">Change a few things up</a>\n"
+" and try submitting again."
+msgstr ""
+"<strong>存在问题!</strong>\n"
+" <a href=\"#\" class=\"alert-link\">请进行一些修改</a>\n"
+" 然后再重新提交。"
+
+msgid ""
+"<strong>Well done!</strong>\n"
+" You successfully read\n"
+" <a href=\"#\" class=\"alert-link\">this important alert message</"
+"a>."
+msgstr ""
+"<strong>成功!</strong>\n"
+" 您已成功读了\n"
+" <a href=\"#\" class=\"alert-link\">这个重要的警告信息</a>。"
+
msgid "A Confirmation Dialog"
msgstr "确认对话框"
@@ -222,6 +254,9 @@ msgstr "添加接口"
msgid "Add Ons, Required and Feedback"
msgstr "附加组件,必需组件和反馈"
+msgid "Admin Password"
+msgstr "管理员密码"
+
msgid "Admin State"
msgstr "管理员状态"
@@ -243,6 +278,15 @@ msgstr "管理员建立可以绑定到实例的浮动IP池。"
msgid "Alerts"
msgstr "提醒"
+msgid ""
+"Also note that segmentation details may be mandatory\n"
+" or optional depending on the backend. Notably Ironic may provide\n"
+" segmentation details instead of the user."
+msgstr ""
+"另外请注意,根据具体的后端,网段详情可能是必需的,\n"
+" 也可能是可选的。Ironic 可能会提供网段详情,而\n"
+" 不是用户。"
+
msgid "Amount of RAM in MB that is required to boot the image."
msgstr "引导镜像所需的内存数量(以 MB 为单位)"
@@ -277,6 +321,23 @@ msgstr ""
"</b>调整磁盘并设置为一个单独的分区。选择<b>手动</b>允许您在一个磁盘上创建多个"
"分区。"
+msgid ""
+"An arbitrary amount (0, 1, 2, ...) of regular Neutron\n"
+" ports with segmentation details (ie. type and ID). May be provided\n"
+" when the trunk is created. Also may be attached or detached later\n"
+" during the trunk's (and the instance's) life."
+msgstr ""
+"不确定数量 (0, 1, 2, ...) 的普通 Neutron\n"
+" 端口带有分段详情(例如,类型和 ID)。可能在创建\n"
+" 中继是被提供,也可能是在中继(以及实例)存在期间\n"
+"被附加或取消附加。"
+
+msgid "An arbitrary description for the trunk."
+msgstr "中继描述信息无效。"
+
+msgid "An arbitrary name for the trunk. May not be unique."
+msgstr "无效的中继名。它可能不是唯一的。"
+
msgid "An external (HTTP) URL is required"
msgstr "需要一个外部 (HTTP) URL"
@@ -389,6 +450,12 @@ msgstr "无法从认证获取服务目录。"
msgid "Cannot get the extension list."
msgstr "无法获取扩展列表。"
+msgid "Change Password"
+msgstr "更改密码"
+
+msgid "Change user's password. We highly recommend you create a strong one."
+msgstr "更改您的密码。强烈建议您选择复杂密码。"
+
msgid "Charts"
msgstr "图表"
@@ -468,6 +535,10 @@ msgid "Confirm Delete Trunk"
msgid_plural "Confirm Delete Trunks"
msgstr[0] "确认删除中继"
+msgid "Confirm Delete User"
+msgid_plural "Confirm Delete Users"
+msgstr[0] "确认删除用户"
+
msgid "Connecting"
msgstr "连接中"
@@ -549,9 +620,20 @@ msgstr "创建角色"
msgid "Create Subnet"
msgstr "创建子网"
+msgid "Create Trunk"
+msgstr "创建中继"
+
+msgid "Create User"
+msgstr "创建用户"
+
msgid "Create Volume"
msgstr "创建卷"
+msgid ""
+"Create a new user and set related properties including the Primary Project "
+"and Role."
+msgstr "创建一个新用户,并设置相关的属性,包括主项目和角色。"
+
msgid "Created"
msgstr "已创建"
@@ -641,6 +723,12 @@ msgstr "默认按钮"
msgid "Default input"
msgstr "默认输入"
+msgid "Default: Empty string"
+msgstr "默认:空字符串"
+
+msgid "Default: Enabled"
+msgstr "默认:启用"
+
msgid "Definition list"
msgstr "定义列表"
@@ -706,6 +794,13 @@ msgstr[0] "删除中继"
msgid "Delete Trunks"
msgstr "删除中继"
+msgid "Delete User"
+msgid_plural "Delete Users"
+msgstr[0] "删除用户"
+
+msgid "Delete Users"
+msgstr "删除用户"
+
msgid "Delete Volume on Instance Delete"
msgstr "删除实例时删除卷"
@@ -737,6 +832,11 @@ msgid "Deleted Trunk: %s."
msgid_plural "Deleted Trunks: %s."
msgstr[0] "删除中继:%s。"
+#, python-format
+msgid "Deleted User: %s."
+msgid_plural "Deleted Users: %s."
+msgstr[0] "删除用户:%s。"
+
msgid "Deleting"
msgstr "删除中"
@@ -755,9 +855,15 @@ msgstr "详情"
msgid "Details Views:"
msgstr "详情视图:"
+msgid "Device ID"
+msgstr "设备ID"
+
msgid "Device Name"
msgstr "设备名称"
+msgid "Device Owner"
+msgstr "设备所有者"
+
msgid "Dialogs"
msgstr "会话"
@@ -770,6 +876,9 @@ msgstr "直通物理硬件"
msgid "Direction"
msgstr "直连"
+msgid "Disable User"
+msgstr "禁用用户"
+
msgid "Disabled"
msgstr "禁用"
@@ -797,6 +906,9 @@ msgstr "域"
msgid "Domain ID"
msgstr "域ID"
+msgid "Domain Id"
+msgstr "域 ID"
+
msgid "Domain Name"
msgstr "域名"
@@ -839,12 +951,27 @@ msgstr "编辑镜像"
msgid "Edit Role"
msgstr "编辑角色"
+msgid "Edit Trunk"
+msgstr "编辑中继"
+
+msgid "Edit User"
+msgstr "编辑用户"
+
+msgid "Edit the user's details, including the Primary Project."
+msgstr "编辑用户详情,包括主项目。"
+
msgid "Email"
msgstr "邮箱"
msgid "Emphasis classes"
msgstr "强调类型"
+msgid "Enable User"
+msgstr "启用用户"
+
+msgid "Enable/Disable subport addition, removal and trunk delete."
+msgstr "启用/禁用子端口添加、删除和中继删除功能。"
+
msgid "Enabled"
msgstr "激活"
@@ -872,6 +999,13 @@ msgstr "删除时出错"
msgid "Ether Type"
msgstr "以太网类型"
+msgid ""
+"Exactly one regular Neutron port. Has to be provided when\n"
+" the trunk is created. Cannot be changed during the trunk's life."
+msgstr ""
+"在创建中继中需要提供一个普通的 Neutron 端口。\n"
+"在中继的存在期中不能改变它。"
+
msgid "Example body text"
msgstr "正文例子"
@@ -938,6 +1072,19 @@ msgstr "目录 %(name)s 已创建。"
msgid "Folder Name"
msgstr "目录名"
+msgid ""
+"For ports on provider networks you may choose the special\n"
+" segmentation type <em>inherit</em>. Then the subport's segmentation\n"
+" type and ID will be automagically inherited from the provider network's\n"
+" segmentation type and ID. This is useful when the switch is incapable of\n"
+" remapping (tag pop-push) for example as usual for Ironic instances."
+msgstr ""
+"对于供应商网络的端口,您可以需要选项特殊的\n"
+" 网段类型 <em>inherit</em>。然后,子端口的网段\n"
+" 类型和 ID 将会自动继承供应商网络的网段\n"
+" 类型和 ID。这对于交换机无法重新映射(tag pop-push)\n"
+" 时非常有用(Ironic 实例通常会是这种情况)。"
+
msgid "Form"
msgstr "表单"
@@ -1155,6 +1302,29 @@ msgstr "输入成功"
msgid "Input warning"
msgstr "输入警告"
+msgid ""
+"Inside the instance a particular subport's network will\n"
+" be presented as tagged frames transmitted and received on the vNIC\n"
+" belonging to the parent port. The cloud user may control the tagging\n"
+" by setting the <em>segmentation type</em> and <em>segmentation ID</em>\n"
+" of the subport."
+msgstr ""
+"在实例内,一个特定的子端口网络将会以\n"
+" 标记数据包(tagged frame)的形式被属于\n"
+"父端口的 vNIC 传输并接收。云用户可以通过\n"
+" 设置子端口的 <em>segmentation type</em>\n"
+"和 <em>segmentation ID</em> 来控制\n"
+"标记。"
+
+msgid ""
+"Inside the instance the parent port's network will always\n"
+" be presented as the untagged network. It will be available early from\n"
+" the moment of bootup."
+msgstr ""
+"在实例内,父端口的网络将会一直作为\n"
+"未标记的(untagged)网络存在。它将会自\n"
+"启动的早期就可用。"
+
msgid "Instance"
msgstr "实例"
@@ -1321,6 +1491,12 @@ msgstr "加载的功能:"
msgid "Loading"
msgstr "加载中"
+msgid "Loading ports... Please Wait"
+msgstr "加载端口... 请等待"
+
+msgid "Loading trunk... Please Wait"
+msgstr "加载中继... 请等待"
+
msgid "Location"
msgstr "位置"
@@ -1333,6 +1509,9 @@ msgstr "Look, I'm in a small well!"
msgid "Look, I'm in a well!"
msgstr "Look, I'm in a well!"
+msgid "MAC Address"
+msgstr "MAC 地址"
+
msgid "MacVTap"
msgstr "MacVTap"
@@ -1435,6 +1614,13 @@ msgstr "模型"
msgid "Month"
msgstr "月"
+msgid ""
+"Must not be the parent or a subport of any other\n"
+" trunks."
+msgstr ""
+"不能是任何其它中继的父端口或子\n"
+"端口。"
+
msgid "Name"
msgstr "名称"
@@ -1486,6 +1672,15 @@ msgstr "网络特性"
msgid "Networks"
msgstr "网络"
+msgid ""
+"Networks of subports may become available later than the\n"
+" moment of bootup. But they will be available after the trunk reached\n"
+" the <em>ACTIVE</em> status."
+msgstr ""
+"子端口网络可能不会在启动时就\n"
+"有效。但它们会在中继成为\n"
+" <em>ACTIVE</em> 状态时有效。"
+
msgid "Networks provide the communication channels for instances in the cloud."
msgstr "在云中,网络为实例提供通信通道。"
@@ -1516,6 +1711,13 @@ msgstr "没有存在的 scheduler hint"
msgid "No items to display."
msgstr "没有要显示的条目。"
+msgid ""
+"No subport can be the parent or a subport of any other\n"
+" trunks."
+msgstr ""
+"子端口不能是任何其它中继网络的父端口或\n"
+"子端口。"
+
msgid "None"
msgstr "无"
@@ -1529,6 +1731,26 @@ msgid "Not public"
msgstr "非共有"
msgid ""
+"Note that most guest operating systems will not\n"
+" automatically configure and bring up the VLAN subinterfaces belonging\n"
+" to subports. You may have to do that yourself. For example:"
+msgstr ""
+"请注意,多数客机操纵系统不能自动配置并启用\n"
+"属于子端口的 VLAN 子接口。您可能需要自己手工\n"
+" 实现。例如:"
+
+msgid ""
+"Note that some Neutron backends (notably the Open vSwitch\n"
+" based backend) only allow trunk creation before an instance is launched\n"
+" on the parent port. Other backends may allow trunk creation at any\n"
+" time during the life of a port."
+msgstr ""
+"请注意,一些 Neutron 后端(包括基于 Open vSwitch\n"
+"的后端)只允许实例在一个父端口中启动之前\n"
+"创建中继。其它的后端可以在端口存在的任何阶段\n"
+"创建中继。"
+
+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"
@@ -1665,6 +1887,9 @@ msgstr "面板"
msgid "Parent Port"
msgstr "父端口"
+msgid "Parent port"
+msgstr "父端口"
+
msgid "Password"
msgstr "密码"
@@ -1734,6 +1959,9 @@ msgstr "主锚点"
msgid "Primary Button"
msgstr "主按钮"
+msgid "Primary Project"
+msgstr "主项目"
+
msgid "Primary Project ID"
msgstr "主项目 ID"
@@ -1777,6 +2005,9 @@ msgstr "受保护的"
msgid "Protocol"
msgstr "协议"
+msgid "Provide basic properties of the trunk to be created. All optional."
+msgstr "为创建的中继提供基本属性。所有都是可选的。"
+
msgid "Provider Network"
msgstr "提供者网络"
@@ -1931,9 +2162,19 @@ msgstr ""
msgid "Segmentation ID"
msgstr "段ID"
+msgid "Segmentation Id"
+msgstr "网络分段 ID"
+
msgid "Segmentation Type"
msgstr "分段类型"
+msgid ""
+"Select <em>exactly one port</em> as the parent port of the trunk to\n"
+" be created. Mandatory."
+msgstr ""
+"选择 <em>exactly one port</em> 作为中继的父端口进行\n"
+" 创建。必须的。"
+
msgid "Select Boot Source"
msgstr "选择源"
@@ -1955,12 +2196,30 @@ msgstr "从以下可用的组中选择一个服务器组。"
msgid "Select a source from those listed below."
msgstr "从以下列表选择一个源。"
+msgid ""
+"Select an <em>arbitrary amount of ports (0, 1, 2, ...)</em> and their\n"
+" segmentation details as the subports of the trunk to be created.\n"
+" Optional."
+msgstr ""
+"选择一个<em>不确定端口数量(0, 1, 2, ...)</em>,它们的\n"
+" 网段详情作为中继的子端口被创建。\n"
+" 可选。"
+
msgid "Select an item from Available items below"
msgstr "从以下可选项中选择一项"
msgid "Select at least one network"
msgstr "至少选择一个网络"
+msgid "Select from the list of available ports below."
+msgstr "从以下有效的端口列表中选择。"
+
+msgid "Select items from Available items below"
+msgstr "从以下可用项中选择一项"
+
+msgid "Select many"
+msgstr "选择多个"
+
msgid "Select networks from those listed below."
msgstr "从下拉列表选择网络"
@@ -2072,6 +2331,9 @@ msgstr "Someone famous in"
msgid "Something else here"
msgstr "此处为其他内容"
+msgid "Something wrong to change password."
+msgstr "修改密码有问题。"
+
msgid "Source"
msgstr "源"
@@ -2118,6 +2380,9 @@ msgstr "已连接的子网"
msgid "Subport Count"
msgstr "子端口数量"
+msgid "Subports"
+msgstr "子端口"
+
msgid "Success"
msgstr "成功"
@@ -2179,6 +2444,9 @@ msgstr "文本框"
msgid "The access permission for the image."
msgstr "镜像的访问权限。"
+msgid "The admin password is incorrect."
+msgstr "管理员密码不正确。"
+
msgid "The architecture of the image."
msgstr "镜像的架构。"
@@ -2249,6 +2517,35 @@ msgstr "卷的名称。"
msgid "The name of the image."
msgstr "镜像名称。"
+msgid ""
+"The parent port is the port you have to add to the instance\n"
+" at launch. Do not try to add the trunk or any of the subports to the\n"
+" instance directly."
+msgstr ""
+"父端口是在启动时需要添加到实例的\n"
+" 端口。不用试图为实例直接添加中继或\n"
+" 子端口。"
+
+msgid ""
+"The segmentation type and ID are decoupled (and\n"
+" therefore independent) from Neutron's network virtualization\n"
+" implementation. Different segmentation types will be remapped as frames\n"
+" leave/enter the instance."
+msgstr ""
+"网络分段类型和 ID 会独立于\n"
+" Neutron 的网络虚拟化实现。\n"
+"不同的网络分段类型会被重新映射为\n"
+"数据包离开/进入实例。."
+
+msgid ""
+"The segmentation type, ID tuples of subports must be unique\n"
+" (in the scope of a trunk), otherwise networks of subports could not\n"
+" be distinguished inside the instance."
+msgstr ""
+"子端口的网段类型和 ID 在一个中继网络范围内\n"
+"必须是唯一的,否则,子端口网络无法在实例\n"
+"内被区分。"
+
#, python-format
msgid ""
"The selected %(sourceType)s source requires a flavor with at least "
@@ -2326,6 +2623,13 @@ msgstr ""
"form.ModalFormService</code> 一起使用"
msgid ""
+"This can be simplified by reusing the parent's MAC address\n"
+" for all subports of the trunk earlier at port creation. Eg.:"
+msgstr ""
+"这可以通过在端口创建时为中继网络的所有子端口\n"
+"重新使用父端口的 MAC 地址。例如:"
+
+msgid ""
"This command generates a pair of keys: a private key (cloud.key)\n"
" and a public key (cloud.key.pub)."
msgstr ""
@@ -2416,6 +2720,14 @@ msgstr "总计卷"
msgid "Trunk"
msgstr "中继"
+#, python-format
+msgid "Trunk %s was successfully created."
+msgstr "中继 %s 创建成功。"
+
+#, python-format
+msgid "Trunk %s was successfully edited."
+msgstr "中继 %s 编辑成功。"
+
msgid "Trunks"
msgstr "中继"
@@ -2524,6 +2836,11 @@ msgid "Unable to delete Trunk: %s."
msgid_plural "Unable to delete Trunks: %s."
msgstr[0] "无法删除中继:%s。"
+#, python-format
+msgid "Unable to delete User: %s."
+msgid_plural "Unable to delete Users: %s."
+msgstr[0] "无法删除用户:%s。"
+
msgid "Unable to delete the container."
msgstr "无法删除容器。"
@@ -2724,6 +3041,9 @@ msgstr "无法获取cinder服务。"
msgid "Unable to retrieve the current user session."
msgstr "无法获取当前用户会话。"
+msgid "Unable to retrieve the default domain."
+msgstr "无法获取默认域。"
+
msgid "Unable to retrieve the default quotas."
msgstr "无法获取默认的配额。"
@@ -2985,12 +3305,31 @@ msgstr ""
msgid "User"
msgstr "用户"
+#, python-format
+msgid "User %s was successfully created."
+msgstr "用户 %s 已被成功创建。"
+
+#, python-format
+msgid "User %s was successfully disabled."
+msgstr "用户 %s 已被成功禁用。"
+
+#, python-format
+msgid "User %s was successfully enabled."
+msgstr "用户 %s 已被成功启用。"
+
+#, python-format
+msgid "User %s was successfully updated."
+msgstr "用户 %s 已被成功更新。"
+
msgid "User ID"
msgstr "用户ID"
msgid "User Name"
msgstr "用户名"
+msgid "User password has been updated successfully."
+msgstr "已成功更新用户密码。"
+
msgid "Users"
msgstr "用户"
@@ -3218,12 +3557,20 @@ msgid "You have selected \"%s\". Deleted role is not recoverable."
msgid_plural "You have selected \"%s\". Deleted roles are not recoverable."
msgstr[0] "你已经选定了“%s”。删除角色的操作无法恢复。"
+#, python-format
+msgid "You have selected \"%s\". Deleted user is not recoverable."
+msgid_plural "You have selected \"%s\". Deleted users are not recoverable."
+msgstr[0] "您已经选定了“%s”。删除用户的操作无法恢复。"
+
msgid "Your Form as JavaScript"
msgstr "JavaScript格式"
msgid "image"
msgstr "镜像"
+msgid "inherit"
+msgstr "继承"
+
#, python-format
msgid "resource load failed: %s"
msgstr "资源加载失败:%s"
@@ -3234,6 +3581,9 @@ msgstr "快照"
msgid "volume"
msgstr "卷"
+msgid "{$ address $} on subnet {$ subnet $}"
+msgstr "{$ address $} 在子网 {$ subnet $} 中"
+
msgid ""
"{$ ctrl.model.counted.files $} files in\n"
" {$ ctrl.model.counted.folders $} folders."