Enable translation jobs
This patch adds translation support as suggested by the global guidelines. Co-Authored-By: Liuqing Jing <lawrancejing@gmail.com> Change-Id: Ia57a0a88b57a53543f35275254dc9dd1827fc17b
This commit is contained in:
parent
85fb2463f0
commit
8ffeba91a7
|
@ -0,0 +1,5 @@
|
|||
[extractors]
|
||||
django = django_babel.extract:extract_django
|
||||
|
||||
[python: **.py]
|
||||
[django: **/templates/**.html]
|
|
@ -0,0 +1,14 @@
|
|||
[extractors]
|
||||
# We use a custom extractor to find translatable strings in AngularJS
|
||||
# templates. The extractor is included in horizon.utils for now.
|
||||
# See http://babel.pocoo.org/docs/messages/#referencing-extraction-methods for
|
||||
# details on how this works.
|
||||
angular = horizon.utils.babel_extract_angular:extract_angular
|
||||
|
||||
[javascript: **.js]
|
||||
|
||||
# We need to look into all static folders for HTML files.
|
||||
# The **/static ensures that we also search within
|
||||
# /openstack_dashboard/dashboards/XYZ/static which will ensure
|
||||
# that plugins are also translated.
|
||||
[angular: **/static/**.html]
|
|
@ -0,0 +1,805 @@
|
|||
# Translations template for PROJECT.
|
||||
# Copyright (C) 2016 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2016-02-19 11:27-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.2.0\n"
|
||||
|
||||
#: senlin_dashboard/cluster/dashboard.py:19
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:33
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:36
|
||||
msgid "Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:31
|
||||
msgid "Cluster Name"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:32
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:30
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:34
|
||||
msgid "Min Size"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:37
|
||||
msgid "Min size of the cluster. Default to 0."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:39
|
||||
msgid "Max Size"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:42
|
||||
msgid "Max size of the cluster. Default to -1, means unlimited."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:45
|
||||
msgid "Desired Capacity"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:47
|
||||
msgid "Desired capacity of the cluster. Default to 0."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:49
|
||||
msgid "Parent Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:53
|
||||
msgid "Timeout"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:55
|
||||
msgid "Cluster creation timeout in seconds."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:58
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:42
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:30
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:105
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:169
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:28
|
||||
msgid "Metadata"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:60
|
||||
msgid "YAML formated metadata"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:67
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:51
|
||||
msgid "Select Profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:81
|
||||
#, python-format
|
||||
msgid "The specified metadata is not a valid YAML format: %s"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:86
|
||||
#, python-format
|
||||
msgid "Creating cluster \"%s\" successfully"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/forms.py:92
|
||||
msgid "Unable to create cluster."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/panel.py:21
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:132
|
||||
#: senlin_dashboard/cluster/clusters/views.py:31
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/index.html:3
|
||||
msgid "Clusters"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:27
|
||||
#: senlin_dashboard/cluster/clusters/views.py:46
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_create.html:4
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_create.html:13
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/create.html:3
|
||||
msgid "Create Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:47
|
||||
msgid "Delete Cluster"
|
||||
msgid_plural "Delete Clusters"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:55
|
||||
msgid "Deleted Cluster"
|
||||
msgid_plural "Deleted Clusters"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:90
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "INIT"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:91
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "ACTIVE"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:92
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:93
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "DELETED"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:94
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "CRITICAL"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:96
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "WARNING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:97
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "CREATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:99
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "UPDATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:101
|
||||
msgctxt "Current status of a Cluster"
|
||||
msgid "DELETING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:105
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:7
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:105
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:7
|
||||
#: senlin_dashboard/cluster/policies/forms.py:35
|
||||
#: senlin_dashboard/cluster/policies/tables.py:58
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:7
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:72
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:156
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:66
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:7
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:34
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:58
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:108
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:13
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:49
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:115
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:13
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:113
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:54
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:120
|
||||
msgid "Status Reason"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:116
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:9
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:109
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:9
|
||||
msgid "Profile Name"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:119
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:15
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:123
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:21
|
||||
#: senlin_dashboard/cluster/policies/tables.py:63
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:13
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:71
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:19
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:64
|
||||
msgid "Created"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tables.py:126
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:18
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:130
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:24
|
||||
#: senlin_dashboard/cluster/policies/tables.py:70
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:16
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:78
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:22
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:71
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tabs.py:24
|
||||
#: senlin_dashboard/cluster/nodes/tabs.py:23
|
||||
#: senlin_dashboard/cluster/policies/tabs.py:19
|
||||
#: senlin_dashboard/cluster/profiles/tabs.py:19
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tabs.py:42
|
||||
msgid "Unable to retrieve cluster event list."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tabs.py:47
|
||||
#: senlin_dashboard/cluster/nodes/panel.py:21
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:136
|
||||
#: senlin_dashboard/cluster/nodes/views.py:31
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/index.html:3
|
||||
msgid "Nodes"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/tabs.py:61
|
||||
msgid "Unable to retrieve nodes from cluster."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/views.py:40
|
||||
msgid "Unable to retrieve clusters."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/views.py:67
|
||||
msgid "Unable to retrieve cluster."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_create.html:7
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_create.html:7
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:7
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:8
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_update.html:7
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/_create.html:7
|
||||
msgid "Description:"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_create.html:8
|
||||
msgid ""
|
||||
"Cluster is the collection of cloud objects, e.g. Nova servers, Heat "
|
||||
"stacks, Cinder volumes, etc."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_create.html:12
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_create.html:12
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:13
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:14
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_update.html:12
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/_create.html:12
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:4
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:4
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:4
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:4
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/clusters/templates/clusters/_detail_overview.html:11
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:11
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:9
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:9
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:33
|
||||
msgctxt "Current status of the event"
|
||||
msgid "INIT"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:34
|
||||
msgctxt "Current status of the event"
|
||||
msgid "ACTIVE"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:35
|
||||
msgctxt "Current status of the event"
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:36
|
||||
msgctxt "Current status of the event"
|
||||
msgid "DELETED"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:37
|
||||
msgctxt "Current status of the event"
|
||||
msgid "WARNING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:39
|
||||
msgctxt "Current status of the event"
|
||||
msgid "CREATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:41
|
||||
msgctxt "Current status of the event"
|
||||
msgid "UPDATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:43
|
||||
msgctxt "Current status of the event"
|
||||
msgid "DELETING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:46
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:47
|
||||
msgid "Object Name"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:55
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:40
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:61
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:57
|
||||
msgid "Timestamp"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/event_tables.py:62
|
||||
#: senlin_dashboard/cluster/nodes/tabs.py:32
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:28
|
||||
msgid "Node Name"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:31
|
||||
msgid "Profile used for this node."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:35
|
||||
msgid "Cluster for this node."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:38
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:113
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:18
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:40
|
||||
msgid "Role for this node in the specific cluster."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:44
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:108
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:172
|
||||
msgid "YAML formatted metadata."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:56
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:57
|
||||
msgid "Select Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:67
|
||||
#, python-format
|
||||
msgid "The specified metadata is not a valid YAML: %s"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:75
|
||||
#, python-format
|
||||
msgid "Creating node \"%s\" successfully"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/forms.py:81
|
||||
msgid "Unable to create node."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:27
|
||||
#: senlin_dashboard/cluster/nodes/views.py:46
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_create.html:4
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_create.html:13
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/create.html:3
|
||||
msgid "Create Node"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:38
|
||||
msgid "Delete Node"
|
||||
msgid_plural "Delete Nodes"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:46
|
||||
msgid "Deleted Node"
|
||||
msgid_plural "Deleted Nodes"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:95
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "INIT"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:96
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "ACTIVE"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:97
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:98
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "DELETED"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:99
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "WARNING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:100
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "CREATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:101
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "UPDATING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:102
|
||||
msgctxt "Current status of a Node"
|
||||
msgid "DELETING"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tables.py:112
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_detail_overview.html:15
|
||||
msgid "Physical ID"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/tabs.py:46
|
||||
msgid "Unable to retrieve node event list."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/views.py:40
|
||||
msgid "Unable to retrieve nodes."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/views.py:65
|
||||
msgid "Unable to retrieve node."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/nodes/templates/nodes/_create.html:8
|
||||
msgid ""
|
||||
"Nodes are the physical objects, which can belong to any cluster of the "
|
||||
"same profile type."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:37
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_detail_overview.html:11
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:158
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:13
|
||||
msgid "Spec"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:39
|
||||
msgid "The spec yaml used to create the policy."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:41
|
||||
msgid "Cooldown"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:45
|
||||
msgid ""
|
||||
"An integer indicating the cooldown seconds once the policy is effected. "
|
||||
"Default to 0."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:48
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:53
|
||||
msgid ""
|
||||
"An integer between 0 and 100 representing the enforcement level. Default "
|
||||
"to 0."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:60
|
||||
#, python-format
|
||||
msgid "The specified data is not a valid YAML data: %s"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:72
|
||||
#, python-format
|
||||
msgid "Your policy %s has been created."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/forms.py:77
|
||||
msgid "Unable to create new policy"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/panel.py:21
|
||||
#: senlin_dashboard/cluster/policies/tables.py:75
|
||||
#: senlin_dashboard/cluster/policies/views.py:33
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/index.html:3
|
||||
msgid "Policies"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/tables.py:25
|
||||
#: senlin_dashboard/cluster/policies/views.py:48
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:4
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:14
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/create.html:3
|
||||
msgid "Create Policy"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/tables.py:35
|
||||
msgid "Delete Policy"
|
||||
msgid_plural "Delete Policies"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/tables.py:43
|
||||
msgid "Deleted Policy"
|
||||
msgid_plural "Deleted Policies"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/tables.py:60
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:68
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:11
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:43
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:59
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/views.py:42
|
||||
msgid "Unable to retrieve policies."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/views.py:68
|
||||
msgid "Unable to retrieve policy."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:8
|
||||
msgid ""
|
||||
"A policy is a set of rules that can be checked and/or enforced when an "
|
||||
"Action is performed on a Cluster."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/policies/templates/policies/_create.html:9
|
||||
msgid "Policy Spec Examples"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:46
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:58
|
||||
#, python-format
|
||||
msgid "The specified file is not a valid YAML file: %s"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:74
|
||||
msgid "Spec Source"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:76
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:77
|
||||
msgid "YAML"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:82
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:86
|
||||
msgid "Spec File"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:88
|
||||
msgid "The spec file used to create the profile."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:90
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:96
|
||||
msgid "Spec YAML"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:97
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:161
|
||||
msgid "The spec yaml used to create the profile."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:100
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:164
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_detail_overview.html:16
|
||||
msgid "Permission"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:103
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:167
|
||||
msgid "A string format permission for this profile."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:118
|
||||
msgid "A spec file or yaml must be specified."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:121
|
||||
msgid "Can not specify both sepc file and yaml."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:141
|
||||
#, python-format
|
||||
msgid "Your profile %s has been created."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:149
|
||||
msgid "Unable to create new profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:186
|
||||
#, python-format
|
||||
msgid "Your profile %s has been updated."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/forms.py:194
|
||||
msgid "Unable to update profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/panel.py:21
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:83
|
||||
#: senlin_dashboard/cluster/profiles/views.py:33
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/index.html:3
|
||||
msgid "Profiles"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:25
|
||||
#: senlin_dashboard/cluster/profiles/views.py:49
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:5
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:15
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/create.html:3
|
||||
msgid "Create Profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:33
|
||||
#: senlin_dashboard/cluster/profiles/views.py:57
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_update.html:4
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_update.html:13
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/update.html:3
|
||||
msgid "Update Profile"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:43
|
||||
msgid "Delete Profile"
|
||||
msgid_plural "Delete Profiles"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/tables.py:51
|
||||
msgid "Deleted Profile"
|
||||
msgid_plural "Deleted Profiles"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/views.py:41
|
||||
msgid "Unable to retrieve profiles."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/views.py:85
|
||||
#: senlin_dashboard/cluster/profiles/views.py:119
|
||||
msgid "Unable to retrieve profile."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:9
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_update.html:8
|
||||
msgid "A profile encodes the information needed for node creation."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/profiles/templates/profiles/_create.html:10
|
||||
msgid "Profile Spec Examples"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:37
|
||||
msgid "Targeted cluster for this receiver."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:41
|
||||
msgid "Name or ID of the targeted action to be triggered."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:45
|
||||
msgid "Type of the receiver to create. Defailt to webhook"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:47
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:50
|
||||
msgid ""
|
||||
"YAML formatted parameters that will be passed to target action when the "
|
||||
"receiver is triggered."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:61
|
||||
msgid "Select Type"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:70
|
||||
#, python-format
|
||||
msgid "The parameters is not a valid YAML formatted: %s"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:78
|
||||
#, python-format
|
||||
msgid "Your receiver %s has been created successfully."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/forms.py:83
|
||||
msgid "Unable to create new receiver"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/panel.py:21
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:76
|
||||
#: senlin_dashboard/cluster/receivers/views.py:28
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/index.html:3
|
||||
msgid "Receivers"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:24
|
||||
#: senlin_dashboard/cluster/receivers/views.py:43
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/_create.html:4
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/_create.html:13
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/create.html:3
|
||||
msgid "Create Receiver"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:35
|
||||
msgid "Delete Receiver"
|
||||
msgid_plural "Delete Receivers"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:43
|
||||
msgid "Deleted Receiver"
|
||||
msgid_plural "Deleted Receivers"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/tables.py:60
|
||||
msgid "Cluster ID"
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/views.py:37
|
||||
msgid "Unable to retrieve receivers."
|
||||
msgstr ""
|
||||
|
||||
#: senlin_dashboard/cluster/receivers/templates/receivers/_create.html:8
|
||||
msgid ""
|
||||
"A Receiver is used to prepare Senlin engine to react to external alarms "
|
||||
"or events so that a specific Action can be initiated on a senlin cluster "
|
||||
"automatically. For example, when workload on a cluster climbs high, a "
|
||||
"receiver can change the size of a specified cluster."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# Translations template for PROJECT.
|
||||
# Copyright (C) 2016 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2016-02-19 11:27-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.2.0\n"
|
||||
|
5
tox.ini
5
tox.ini
|
@ -36,6 +36,11 @@ commands = python setup.py build_sphinx
|
|||
[testenv:debug]
|
||||
commands = oslo_debug_helper {posargs}
|
||||
|
||||
[testenv:makemessages]
|
||||
commands =
|
||||
pybabel extract -F babel-django.cfg -o senlin_dashboard/locale/django.pot -k gettext_noop -k gettext_lazy -k ngettext_lazy:1,2 -k ugettext_noop -k ugettext_lazy -k ungettext_lazy:1,2 -k npgettext:1c,2,3 -k pgettext_lazy:1c,2 -k npgettext_lazy:1c,2,3 senlin_dashboard
|
||||
pybabel extract -F babel-djangojs.cfg -o senlin_dashboard/locale/djangojs.pot -k gettext_noop -k gettext_lazy -k ngettext_lazy:1,2 -k ugettext_noop -k ugettext_lazy -k ungettext_lazy:1,2 -k npgettext:1c,2,3 -k pgettext_lazy:1c,2 -k npgettext_lazy:1c,2,3 senlin_dashboard
|
||||
|
||||
[flake8]
|
||||
show-source = True
|
||||
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,.ropeproject,tools
|
||||
|
|
Loading…
Reference in New Issue