[PATCH] Fix missing report-add html page in rpm
by Rodrigo Trujillo
The file report-add.hml.tmpl is missing in rpms. This patch fixes this
problem adding the file name to Makefile.am.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
---
ui/pages/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/ui/pages/Makefile.am b/ui/pages/Makefile.am
index 0535c84..5705abb 100644
--- a/ui/pages/Makefile.am
+++ b/ui/pages/Makefile.am
@@ -34,4 +34,5 @@ dist_html_DATA = \
i18n.html.tmpl \
login-window.html.tmpl \
storagepool-add.html.tmpl \
+ report-add.html.tmpl \
$(NULL)
--
1.8.5.3
10 years, 10 months
[PATCH V2] Fix controller base code: Update function is not using model_args
by Rodrigo Trujillo
The model_args variable is used to pass information to functions.
Specially in functions of sub-collections and sub-resources, it is used
to pass the main collections and resources names/classes. The wrapper
update function from control base was not using model_args, then some
resouces might miss this information.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
---
src/kimchi/control/base.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/kimchi/control/base.py b/src/kimchi/control/base.py
index f50ff6e..a841ac2 100644
--- a/src/kimchi/control/base.py
+++ b/src/kimchi/control/base.py
@@ -151,7 +151,8 @@ class Resource(object):
error = "%s are not allowed to be updated" % invalids
raise cherrypy.HTTPError(405, error)
- ident = update(self.ident, params)
+ args = list(self.model_args) + [params]
+ ident = update(*args)
if ident != self.ident:
uri_params = list(self.model_args[:-1])
uri_params += [urllib2.quote(ident.encode('utf8'))]
--
1.8.5.3
10 years, 10 months
[PATCH V2 0/3] bug fix: failed to update vm with unicode name
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V1 -> V2
rebase
add test case
ShaoHe Feng (3):
bug fix: failed to update vm with unicode name
update test case for updating vm with unicode name
change the vm name in test case
src/kimchi/control/base.py | 2 +-
src/kimchi/model/vms.py | 2 +-
tests/test_model.py | 18 +++++++++---------
tests/test_rest.py | 7 ++++---
4 files changed, 15 insertions(+), 14 deletions(-)
--
1.8.4.2
10 years, 10 months
[PATCH] Firewall: Adding WebSocket port in firewall rules
by Paulo Vital
Added port 64667 into src/firewalld.xml to attend Debian/Ubuntu, RHEL7+ and Fedora.
Also added iptables rules to attend RHEL6 into contrib/kimchi.spec.fedora.in
Signed-off-by: Paulo Vital <pvital(a)linux.vnet.ibm.com>
---
contrib/kimchi.spec.fedora.in | 2 ++
src/firewalld.xml | 1 +
2 files changed, 3 insertions(+)
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index 2e36d5c..5140c5e 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -104,6 +104,7 @@ firewall-cmd --add-service kimchid >/dev/null 2>&1
# Add default iptable rules to open 8000 and 8001 port
iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
iptables -I INPUT -p tcp --dport 8001 -j ACCEPT
+iptables -I INPUT -p tcp --dport 64667 -j ACCEPT
service iptables save >/dev/null 2>&1
%endif
@@ -118,6 +119,7 @@ if [ $1 -eq 0 ] ; then
%else
iptables -D INPUT -p tcp --dport 8000 -j ACCEPT || :
iptables -D INPUT -p tcp --dport 8001 -j ACCEPT || :
+ iptables -D INPUT -p tcp --dport 64667 -j ACCEPT || :
%endif
fi
diff --git a/src/firewalld.xml b/src/firewalld.xml
index 7472e20..03e1510 100644
--- a/src/firewalld.xml
+++ b/src/firewalld.xml
@@ -4,4 +4,5 @@
<description>Kimchid is a daemon service for kimchi which is a HTML5 based management tool for KVM. It is designed to make it as easy as possible to get started with KVM and create your first guest.</description>
<port protocol="tcp" port="8000"/>
<port protocol="tcp" port="8001"/>
+ <port protocol="tcp" port="64667"/>
</service>
--
1.8.3.1
10 years, 10 months
[PATCH V2 0/2] Storage pool support unicode correctly
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V1 -> V2
rebase
add test case
ShaoHe Feng (2):
Storage pool support unicode correctly
update test caset for storage pool support unicode
src/kimchi/model/libvirtstoragepool.py | 8 ++++----
src/kimchi/model/storagepools.py | 8 ++++----
src/kimchi/model/templates.py | 6 +++---
tests/test_model.py | 4 ++--
tests/test_rest.py | 10 ++++++----
5 files changed, 19 insertions(+), 17 deletions(-)
--
1.8.4.2
10 years, 10 months
[PATCH 0/4 V2] Host's software update support
by Paulo Vital
This patch set provides support to host's software update operations.
V1 -> V2:
* rebased to use new model framework
* added SLES as Zypper supported distro
* PEP8 compatibility
* changed import sentences
* use of run_command() from utils.py to execute shell commands
* usage of Task element to return update status
V1:
At this point, an agnostic class is providing support to backend and
REST API operations. In addition, YUM (for RHEL and Fedora), APT (for
Debian and Ubuntu) and ZYPPER (for OpenSuse) specific classes are provided
to support the operation os each software update system.
There's no test case to check backend once the software update information
is volatile to each system/box.
To test the REST API, execute the following commands (all them are agnostic
of the host's distro):
1) Get list of all packages to be updated in the host:
$curl -H 'Content-type: application/json' -H 'Accept: application/json' http://localhost:8000/host/packageupdate/ -X GET
2) Update the host system:
$ curl -H 'Content-type: application/json' -H 'Accept: application/json' http://localhost:8000/host/packageupdate/update -X POST -d ''
Paulo Vital (4):
Host's software update: Update API.md
Host's software update: Update REST API
Host's software update: Update backend.
Host's software update: Update Makefile
Makefile.am | 1 +
docs/API.md | 21 ++++
src/kimchi/Makefile.am | 1 +
src/kimchi/control/host.py | 12 +++
src/kimchi/mockmodel.py | 46 ++++++++
src/kimchi/model/host.py | 20 +++-
src/kimchi/swupdate.py | 264 +++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 364 insertions(+), 1 deletion(-)
create mode 100644 src/kimchi/swupdate.py
--
1.8.3.1
10 years, 10 months
Re: [Kimchi-devel] [PATCH 8/8] refactor exception: Update all po files
by Aline Manera
On 02/11/2014 01:12 AM, Leonardo Augusto Guimarães Garcia wrote:
> I couldn't get the necessity of this patch... it seems that basically
> you are just moving msgids and msgstrs around with little or not
> modification. There might be one or another new message... but it is
> just impossible to review because this is intermingled with apparently
> unnecessary moves.
Those files (.po and .pot) is generated by "make -C po update-po" which
collects all
messages from i18n.py and UI templates and put there to be translated.
Regardless the messages moved, it adds all the new messages in i18n.py
to .po and .pot files.
I agree it is hard to review it, but if you review the messages I added
in i18n.py and
on UI templates it is enough.
> On 02/09/2014 08:48 PM, Aline Manera wrote:
>> From: Aline Manera <alinefm(a)br.ibm.com>
>>
>> Update po files to include new messages from i18n.py
>>
>> Signed-off-by: Aline Manera <alinefm(a)br.ibm.com>
>> ---
>> po/en_US.po | 686 ++++++++++++++++++++++++++++++++++++++++++++++-----------
>> po/kimchi.pot | 624 ++++++++++++++++++++++++++++++++++++++++++---------
>> po/pt_BR.po | 684 +++++++++++++++++++++++++++++++++++++++++++++-----------
>> po/zh_CN.po | 678 +++++++++++++++++++++++++++++++++++++++++++++-----------
>> 4 files changed, 2174 insertions(+), 498 deletions(-)
>>
>> diff --git a/po/en_US.po b/po/en_US.po
>> index 77e0677..309f315 100644
>> --- a/po/en_US.po
>> +++ b/po/en_US.po
>> @@ -6,7 +6,7 @@ msgid ""
>> msgstr ""
>> "Project-Id-Version: kimchi 0.1\n"
>> "Report-Msgid-Bugs-To: \n"
>> -"POT-Creation-Date: 2014-01-20 18:46-0200\n"
>> +"POT-Creation-Date: 2014-02-09 20:37-0200\n"
>> "PO-Revision-Date: 2013-07-11 17:32-0400\n"
>> "Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
>> "Language-Team: English\n"
>> @@ -105,15 +105,6 @@ msgstr "Edit"
>> msgid "Delete"
>> msgstr "Delete"
>>
>> -msgid "Failed to list the template"
>> -msgstr "Failed to list the template"
>> -
>> -msgid "Please choose a template"
>> -msgstr "Please choose a template"
>> -
>> -msgid "Failed to create vm"
>> -msgstr "Failed to create vm"
>> -
>> msgid "The username or password you entered is incorrect. Please try again."
>> msgstr "The username or password you entered is incorrect. Please try again."
>>
>> @@ -126,26 +117,50 @@ msgstr "Log in"
>> msgid "Logging in..."
>> msgstr "Logging in..."
>>
>> +msgid "Host"
>> +msgstr "Host"
>> +
>> +msgid "Guests"
>> +msgstr "Guests"
>> +
>> +msgid "Templates"
>> +msgstr "Templates"
>> +
>> +msgid "Storage"
>> +msgstr "Storage"
>> +
>> +msgid "Network"
>> +msgstr "Network"
>> +
>> msgid "Invalid URL. Redireced to home page."
>> msgstr "Invalid URL. Redireced to home page."
>>
>> -msgid "Failed to start"
>> -msgstr "Failed to start"
>> +msgid "Failed to get application configuration"
>> +msgstr "Failed to get application configuration"
>> +
>> +msgid "This is not a valid linux path"
>> +msgstr "This is not a valid linux path."
> Linux
>> +
>> +msgid "This is not a valid url."
>> +msgstr "This is not a valid url."
>> +
>> +msgid "No such data exsit."
>> +msgstr ""
> Why some msgstr are empty? I see that sometimes you are just emptying
> the msgstr. I am wondering why this is needed. I am probably missing
> something here as I am just learning about this as I read these patches.
Empty msgstr means we need to add translation according to the msgid.
Why did I empty some msgstr?
When the msgid had some small modification (add comma, colon, space or
add/remove small words),
gettext tries to identify the translated message (msgstr) automatically
based on the history.
And it alert us adding a comment above the message "#, fuzzy"
In this case, we need to remove this comment and correct the translation.
As I don't want to focus in translate messages in this patch set I empty
the msgstr and
remove the fuzzy comment.
Why do we need to remove the fuzzy comment?
As it is a fuzzy message, gettext will ignore it because that we need to
remove the comment.
I will apply your comments below about the messages and send V2.
>>
>> -msgid "Failed to stop"
>> -msgstr "Failed to stop"
>> +msgid "options needed."
>> +msgstr ""
>>
>> -msgid "Failed to reset"
>> -msgstr "Failed to reset"
>> +msgid "Delete Confirmation"
>> +msgstr "Delete Confirmation"
>>
>> -msgid "Failed to delete"
>> -msgstr "Failed to delete"
>> +msgid "OK"
>> +msgstr "OK"
>>
>> -msgid "Failed to list guests"
>> -msgstr "Failed to list guests"
>> +msgid "Confirm"
>> +msgstr "Confirm"
>>
>> -msgid "Failed to create template"
>> -msgstr "Failed to create template"
>> +msgid "Warning"
>> +msgstr "Warning"
>>
>> msgid "Create template successfully"
>> msgstr "Create template successfully"
>> @@ -153,17 +168,17 @@ msgstr "Create template successfully"
>> msgid "No iso found"
>> msgstr "No iso found"
>>
>> -msgid "Failed to scan"
>> -msgstr "Failed to scan"
>> +msgid "This is not a valid ISO file."
>> +msgstr "This is not a valid ISO file."
>>
>> -msgid "Failed to list iso distributions"
>> -msgstr "Failed to list iso distributions"
>> +msgid "This will permanently delete the Template. Would you like to continue?"
>> +msgstr "This will permanently delete the Template. Would you like to continue?"
> template
>>
>> -msgid "Delete Confirmation"
>> -msgstr "Delete Confirmation"
>> +msgid "It will take long time. Do you want to continue?"
>> +msgstr ""
>>
>> -msgid "OK"
>> -msgstr "OK"
>> +msgid "Unable to shut down system as there are some VM(s) running!"
>> +msgstr ""
>>
>> msgid "Max:"
>> msgstr "Max:"
>> @@ -186,8 +201,12 @@ msgstr "Received"
>> msgid "Sent"
>> msgstr "Sent"
>>
>> -msgid "Confirm"
>> -msgstr "Confirm"
>> +msgid ""
>> +"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> +"shut down/restarting?"
>> +msgstr ""
>> +"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> +"shut down/restarting?"
>>
>> msgid ""
>> "Debug report will be removed permanently and can't be recovered. Do you want "
>> @@ -220,16 +239,6 @@ msgstr "Remove"
>> msgid "Download"
>> msgstr "Download"
>>
>> -msgid "Some VM(s) are running!"
>> -msgstr "Some VM(s) are running!"
>> -
>> -msgid ""
>> -"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> -"shut down/restarting?"
>> -msgstr ""
>> -"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> -"shut down/restarting?"
>> -
>> msgid ""
>> "This will delete the VM and its virtual disks. This operation cannot be "
>> "undone. Would you like to continue?"
>> @@ -237,96 +246,12 @@ msgstr ""
>> "This will delete the VM and its virtual disks. This operation cannot be "
>> "undone. Would you like to continue?"
>>
>> -msgid "This will permanently delete the Template. Would you like to continue?"
>> -msgstr "This will permanently delete the Template. Would you like to continue?"
>> -
>> -msgid "Failed to get application configuration"
>> -msgstr "Failed to get application configuration"
>> -
>> -msgid "This is not a valid linux path"
>> -msgstr "This is not a valid linux path."
>> -
>> -msgid "This is not a valid url."
>> -msgstr "This is not a valid url."
>> -
>> msgid "The VLAN id must be between 1 and 4094."
>> msgstr "The VLAN id must be between 1 and 4094."
>>
>> -msgid "This is not a valid ISO file."
>> -msgstr "This is not a valid ISO file."
>> -
>> -msgid ""
>> -"This will permanently delete the Storage Pool. Would you like to continue?"
>> -msgstr ""
>> -"This will permanently delete the Storage Pool. Would you like to continue?"
>> -
>> -msgid "The storage pool name can not be blank."
>> -msgstr "The storage pool name can not be blank."
>> -
>> -msgid "The storage pool path can not be blank."
>> -msgstr "The storage pool path can not be blank."
>> -
>> -msgid "NFS server mount path can not be blank."
>> -msgstr "NFS server mount path can not be blank."
>> -
>> -msgid ""
>> -"Invalid Storage Pool name. It may only contain letters, numbers, "
>> -"underscores, and hyphens."
>> -msgstr ""
>> -"Invalid Storage Pool name. It may only contain letters, numbers, "
>> -"underscores, and hyphens."
>> -
>> -msgid "This is not a real linux path."
>> -msgstr "This is not a real linux path."
>> -
>> -msgid "Invalid nfs mount path."
>> -msgstr "Invalid nfs mount path."
>> -
>> -msgid "No logical device selected."
>> -msgstr "No logical device selected."
>> -
>> -msgid "This storage pool is empty."
>> -msgstr "This storage pool is empty."
>> -
>> -msgid "Failed to list the storage pool."
>> -msgstr "Failed to list the storage pool"
>> -
>> -msgid "The storage pool is not active now."
>> -msgstr "The storage pool is not active now."
>> -
>> -msgid "Failed to delete template."
>> -msgstr "Failed to delete template."
>> -
>> -msgid "Guests"
>> -msgstr "Guests"
>> -
>> -msgid "Host"
>> -msgstr "Host"
>> -
>> -msgid "Templates"
>> -msgstr "Templates"
>> -
>> -msgid "Storage"
>> -msgstr "Storage"
>> -
>> msgid "unavailable"
>> msgstr "unavailable"
>>
>> -msgid "Network"
>> -msgstr "Network"
>> -
>> -msgid "isolated"
>> -msgstr "isolated"
>> -
>> -msgid "NAT"
>> -msgstr "NAT"
>> -
>> -msgid "bridged"
>> -msgstr "bridged"
>> -
>> -msgid "connected to"
>> -msgstr "connected to"
>> -
>> msgid ""
>> "This action will interrupt network connectivity for any virtual machine that "
>> "depend on this network."
>> @@ -337,8 +262,13 @@ msgstr ""
>> msgid "Create a network"
>> msgstr "Create a network"
>>
>> -msgid "Warning"
>> -msgstr "Warning"
>> +msgid ""
>> +"This will permanently delete the Storage Pool. Would you like to continue?"
>> +msgstr ""
>> +"This will permanently delete the Storage Pool. Would you like to continue?"
> storage pool
>> +
>> +msgid "This storage pool is empty."
>> +msgstr "This storage pool is empty."
>>
>> msgid ""
>> "It will format your disk and you will loose any data in there, are you sure "
>> @@ -347,6 +277,26 @@ msgstr ""
>> "It will format your disk and you will loose any data in there, are you sure "
>> "to continue? "
>>
>> +msgid "The Storage Pool name can not be blank."
> storage pool
>> +msgstr ""
>> +
>> +msgid "The Storage Pool path can not be blank."
> storage pool
>> +msgstr ""
>> +
>> +msgid "NFS server mount path can not be blank."
>> +msgstr "NFS server mount path can not be blank."
>> +
>> +msgid ""
>> +"Invalid Storage Pool name. It may only contain letters, numbers, "
> storage pool
>> +"underscores, and hyphens."
>> +msgstr ""
>> +
>> +msgid "Invalid NFS mount path."
>> +msgstr ""
>> +
>> +msgid "No logical device selected."
>> +msgstr "No logical device selected."
>> +
>> msgid "The iSCSI target can not be blank."
>> msgstr "The iSCSI target can not be blank."
>>
>> @@ -412,17 +362,17 @@ msgstr ""
>> "Kimchi will try to create the directory when it does not already exist in "
>> "your system."
>>
>> -msgid "NFS server IP"
>> -msgstr "NFS server IP"
>> +msgid "NFS Server IP"
>> +msgstr ""
>>
>> -msgid "NFS server IP or hostname. It should not be empty."
>> -msgstr "NFS server IP or hostname. It should not be empty."
>> +msgid "NFS server IP or hostname. It can be input or chosen from history."
>> +msgstr ""
>>
>> msgid "NFS Path"
>> msgstr "NFS Path"
>>
>> -msgid "The nfs exported path on nfs server"
>> -msgstr "The nfs exported path on nfs server"
>> +msgid "The nfs exported path on nfs server."
> NFS
>> +msgstr ""
>>
>> msgid "Device Path"
>> msgstr "Device Path"
> Device path
>> @@ -630,3 +580,471 @@ msgstr "CDROM"
>>
>> msgid "Storage Pool"
>> msgstr "Storage Pool"
>> +
>> +#, python-format
>> +msgid "Unkown parameter specified %(value)s"
>> +msgstr ""
>> +
>> +msgid "Datastore is not initiated in the model object."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Authentication failed for user '%(userid)s'. [Error code: %(code)s]"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block devices. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block device information for %(device)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find distro file: %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to parse distro file: %(filename)s.Make sure, it is a json file."
> Unable to parse distro file: %(filename)s. Make sure it is a JSON file.
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host target %(portal)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host %(host)s target %(target)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find ISO file ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s is not bootable"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s does not have a valid El Torito boot record"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito validation entry in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito boot indicator in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unexpected volume type for primary volume in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Bad format while reading volume descriptor in ISO %(filename)s"
>> +msgstr ""
>> +
>> +msgid "Virtual machine $(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to rename virtual machine %(name)s. The name %(new_name)s already "
>> +"exists or it is not powered off."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to retrieve screenshot for stopped virtual machine %(name)s"
>> +msgstr ""
>> +
>> +msgid "Remote ISO image is not supported by this server."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Screenshot not supported for virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to rename virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +msgid "Unable to retrieve virtual machine %(name)s. Details: %(err)"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to connect to powered off machine %(name)s."
>> +msgstr ""
>> +
>> +msgid "Virtual machine name must be a string"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid template URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine graphics are spice or vnc"
> VNC
>> +msgstr ""
>> +
>> +msgid "Graphics address to listen on must be IPv4 or IPv6"
>> +msgstr ""
>> +
>> +msgid "Specify a template to create a Virtual Machine from"
> virtual machine
>
> Also, we are sometimes using VM and sometimes using virtual machine. We
> need to decide what we want to use and stick to only one.
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s does not exist in virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network %(network)s specified for virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Do not support guest interface hot plug attachment"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine interfaces type is only network"
>> +msgstr ""
>> +
>> +msgid "Network name for virtual machine interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Invalid network model card specified for virtual machine interface"
>> +msgstr ""
>> +
>> +msgid "Specify type and network to add a new virtual machine interface"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network '%(network)s' specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Storage Pool %(pool)s specified for template %(template)s does not exist"
> Storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(pool)s specified for template %(template)s is not active"
> Storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid parameter '%(param)s' specified for cdrom."
> CDROM
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(network)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +msgid "Template name must be a string"
>> +msgstr ""
>> +
>> +msgid "Template icon must be a path to the image"
>> +msgstr ""
>> +
>> +msgid "Template distribution must be a string"
>> +msgstr ""
>> +
>> +msgid "Template distribution version must be a string"
>> +msgstr ""
>> +
>> +msgid "The number of CPUs must be a integer"
>> +msgstr ""
>> +
>> +msgid "Amount of memory (MB) must be an integer greater than 512"
>> +msgstr ""
>> +
>> +msgid "Template CDROM must be a local or remote ISO file"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI %(value)s specified for Template"
>> +msgstr ""
>> +
>> +msgid "Specify an ISO image as CDROM to create a Template"
>> +msgstr ""
>> +
>> +msgid "All networks for the Template must be specified in a list."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s already exists"
> Storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s does not exist"
> Storage pool
>> +msgstr ""
>> +
>> +msgid "Autostart flag must be true or false"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create the Storage Pool %(name)s"
> storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active Storage Pool %(name)s"
> storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to list Storage Pools. Details: %(err)s"
> storage pools
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create Storage Pool %(name)s. Details: %(err)s"
> storage pool
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to get number of Storage Volumes in Storage Pool %(name)s. Details: "
> storage volumes and storage pool... The same applies to lots of other
> messages below.
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to activate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to deactivate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create NFS Pool as export path %(path)s may block during mount"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create NFS Pool as export path %(path)s mount failed"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unsupported Storage Pool type: %(type)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting xml for Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +msgid "Storage Pool name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported Storage Pool types are dir, netfs, logical and kimchi-iso"
>> +msgstr ""
>> +
>> +msgid "Storage Pool path must be a string"
>> +msgstr ""
>> +
>> +msgid "Storage Pool host must be a IP or hostname"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices must be the full path to the block device"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices parameter must be a list"
>> +msgstr ""
>> +
>> +msgid "Target IQN of an iSCSI pool must be a string"
>> +msgstr ""
>> +
>> +msgid "Port of a remote storage server must be an integer between 1 and 65535"
>> +msgstr ""
>> +
>> +msgid "Login username of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Login password of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Storage Pool"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s does not exist in Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(volume)s becuase Storage Pool %(pool)s is "
>> +"not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create Storage Volume %(volume)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to retrieve Storage Volume %(volume)s because Storage Pool %(pool)s "
>> +"is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes because Storage Pool %(pool)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(name)s in Storage Pool %(pool)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes in Storage Pool %(pool)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to wipe Storage Volumes %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to resize Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Subnet %(subnet)s specified for network %(network)s is not valid."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify a network interface to create bridged network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s specified for network %(network)s is already in use"
>> +msgstr ""
>> +
>> +msgid "Interface should be bare nic, bonding or bridge device."
> NIC
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create network %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find a free IP address for network '%(name)s'"
>> +msgstr ""
>> +
>> +msgid ""
>> +"Unable to create VLAN tagged bridge using interface %(iface)s. Details: "
>> +"%(err)"
>> +msgstr ""
>> +
>> +msgid "Network name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported network types are isolated, nat and bridge"
> NAT
>> +msgstr ""
>> +
>> +msgid "Network subnet must be a string with ip address and prefix or netmask"
> IP
>> +msgstr ""
>> +
>> +msgid "Network interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Network VLAN ID must be an integer between 1 and 4094"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Network"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Debug report %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Debug report tool not found in system"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create debug report %(name)s. Details: %(err)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Can not find generated debug report named %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to generate debug report %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage server %(server)s was not used by Kimchi"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Distro '%(name)s' does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Partition %(name)s does not exist in the host"
>> +msgstr ""
>> +
>> +msgid "Unable to shutdown host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +msgid "Unable to reboot host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find %(item)s in datastore"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid URI %(uri)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Timeout while running command '%(cmd)s' after %(seconds)s seconds"
>> +msgstr ""
>> +
>> +msgid "Unable to choose a virutal machine name"
>> +msgstr ""
>> diff --git a/po/kimchi.pot b/po/kimchi.pot
>> index 836b013..f105d14 100755
>> --- a/po/kimchi.pot
>> +++ b/po/kimchi.pot
>> @@ -8,7 +8,7 @@ msgid ""
>> msgstr ""
>> "Project-Id-Version: PACKAGE VERSION\n"
>> "Report-Msgid-Bugs-To: \n"
>> -"POT-Creation-Date: 2014-01-20 18:46-0200\n"
>> +"POT-Creation-Date: 2014-02-09 20:37-0200\n"
>> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
>> "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
>> "Language-Team: LANGUAGE <LL(a)li.org>\n"
>> @@ -103,46 +103,61 @@ msgstr ""
>> msgid "Delete"
>> msgstr ""
>>
>> -msgid "Failed to list the template"
>> +msgid "The username or password you entered is incorrect. Please try again."
>> msgstr ""
>>
>> -msgid "Please choose a template"
>> +msgid "This field is required."
>> msgstr ""
>>
>> -msgid "Failed to create vm"
>> +msgid "Log in"
>> msgstr ""
>>
>> -msgid "The username or password you entered is incorrect. Please try again."
>> +msgid "Logging in..."
>> msgstr ""
>>
>> -msgid "This field is required."
>> +msgid "Host"
>> msgstr ""
>>
>> -msgid "Log in"
>> +msgid "Guests"
>> msgstr ""
>>
>> -msgid "Logging in..."
>> +msgid "Templates"
>> +msgstr ""
>> +
>> +msgid "Storage"
>> +msgstr ""
>> +
>> +msgid "Network"
>> msgstr ""
>>
>> msgid "Invalid URL. Redireced to home page."
>> msgstr ""
>>
>> -msgid "Failed to start"
>> +msgid "Failed to get application configuration"
>> +msgstr ""
>> +
>> +msgid "This is not a valid linux path"
>> msgstr ""
>>
>> -msgid "Failed to stop"
>> +msgid "This is not a valid url."
>> msgstr ""
>>
>> -msgid "Failed to reset"
>> +msgid "No such data exsit."
>> msgstr ""
>>
>> -msgid "Failed to delete"
>> +msgid "options needed."
>> msgstr ""
>>
>> -msgid "Failed to list guests"
>> +msgid "Delete Confirmation"
>> msgstr ""
>>
>> -msgid "Failed to create template"
>> +msgid "OK"
>> +msgstr ""
>> +
>> +msgid "Confirm"
>> +msgstr ""
>> +
>> +msgid "Warning"
>> msgstr ""
>>
>> msgid "Create template successfully"
>> @@ -151,16 +166,16 @@ msgstr ""
>> msgid "No iso found"
>> msgstr ""
>>
>> -msgid "Failed to scan"
>> +msgid "This is not a valid ISO file."
>> msgstr ""
>>
>> -msgid "Failed to list iso distributions"
>> +msgid "This will permanently delete the Template. Would you like to continue?"
>> msgstr ""
>>
>> -msgid "Delete Confirmation"
>> +msgid "It will take long time. Do you want to continue?"
>> msgstr ""
>>
>> -msgid "OK"
>> +msgid "Unable to shut down system as there are some VM(s) running!"
>> msgstr ""
>>
>> msgid "Max:"
>> @@ -184,7 +199,9 @@ msgstr ""
>> msgid "Sent"
>> msgstr ""
>>
>> -msgid "Confirm"
>> +msgid ""
>> +"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> +"shut down/restarting?"
>> msgstr ""
>>
>> msgid ""
>> @@ -216,120 +233,55 @@ msgstr ""
>> msgid "Download"
>> msgstr ""
>>
>> -msgid "Some VM(s) are running!"
>> -msgstr ""
>> -
>> -msgid ""
>> -"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> -"shut down/restarting?"
>> -msgstr ""
>> -
>> msgid ""
>> "This will delete the VM and its virtual disks. This operation cannot be "
>> "undone. Would you like to continue?"
>> msgstr ""
>>
>> -msgid "This will permanently delete the Template. Would you like to continue?"
>> -msgstr ""
>> -
>> -msgid "Failed to get application configuration"
>> -msgstr ""
>> -
>> -msgid "This is not a valid linux path"
>> -msgstr ""
>> -
>> -msgid "This is not a valid url."
> URL.
>
> The comments on the above file applies to all the other files here.
>
> Best regards,
>
> Leonardo Garcia
>> -msgstr ""
>> -
>> msgid "The VLAN id must be between 1 and 4094."
>> msgstr ""
>>
>> -msgid "This is not a valid ISO file."
>> +msgid "unavailable"
>> msgstr ""
>>
>> msgid ""
>> -"This will permanently delete the Storage Pool. Would you like to continue?"
>> -msgstr ""
>> -
>> -msgid "The storage pool name can not be blank."
>> -msgstr ""
>> -
>> -msgid "The storage pool path can not be blank."
>> +"This action will interrupt network connectivity for any virtual machine that "
>> +"depend on this network."
>> msgstr ""
>>
>> -msgid "NFS server mount path can not be blank."
>> +msgid "Create a network"
>> msgstr ""
>>
>> msgid ""
>> -"Invalid Storage Pool name. It may only contain letters, numbers, "
>> -"underscores, and hyphens."
>> -msgstr ""
>> -
>> -msgid "This is not a real linux path."
>> -msgstr ""
>> -
>> -msgid "Invalid nfs mount path."
>> -msgstr ""
>> -
>> -msgid "No logical device selected."
>> +"This will permanently delete the Storage Pool. Would you like to continue?"
>> msgstr ""
>>
>> msgid "This storage pool is empty."
>> msgstr ""
>>
>> -msgid "Failed to list the storage pool."
>> -msgstr ""
>> -
>> -msgid "The storage pool is not active now."
>> -msgstr ""
>> -
>> -msgid "Failed to delete template."
>> -msgstr ""
>> -
>> -msgid "Guests"
>> -msgstr ""
>> -
>> -msgid "Host"
>> -msgstr ""
>> -
>> -msgid "Templates"
>> -msgstr ""
>> -
>> -msgid "Storage"
>> -msgstr ""
>> -
>> -msgid "unavailable"
>> -msgstr ""
>> -
>> -msgid "Network"
>> -msgstr ""
>> -
>> -msgid "isolated"
>> +msgid ""
>> +"It will format your disk and you will loose any data in there, are you sure "
>> +"to continue? "
>> msgstr ""
>>
>> -msgid "NAT"
>> +msgid "The Storage Pool name can not be blank."
>> msgstr ""
>>
>> -msgid "bridged"
>> +msgid "The Storage Pool path can not be blank."
>> msgstr ""
>>
>> -msgid "connected to"
>> +msgid "NFS server mount path can not be blank."
>> msgstr ""
>>
>> msgid ""
>> -"This action will interrupt network connectivity for any virtual machine that "
>> -"depend on this network."
>> -msgstr ""
>> -
>> -msgid "Create a network"
>> +"Invalid Storage Pool name. It may only contain letters, numbers, "
>> +"underscores, and hyphens."
>> msgstr ""
>>
>> -msgid "Warning"
>> +msgid "Invalid NFS mount path."
>> msgstr ""
>>
>> -msgid ""
>> -"It will format your disk and you will loose any data in there, are you sure "
>> -"to continue? "
>> +msgid "No logical device selected."
>> msgstr ""
>>
>> msgid "The iSCSI target can not be blank."
>> @@ -390,16 +342,16 @@ msgid ""
>> "your system."
>> msgstr ""
>>
>> -msgid "NFS server IP"
>> +msgid "NFS Server IP"
>> msgstr ""
>>
>> -msgid "NFS server IP or hostname. It should not be empty."
>> +msgid "NFS server IP or hostname. It can be input or chosen from history."
>> msgstr ""
>>
>> msgid "NFS Path"
>> msgstr ""
>>
>> -msgid "The nfs exported path on nfs server"
>> +msgid "The nfs exported path on nfs server."
>> msgstr ""
>>
>> msgid "Device Path"
>> @@ -608,3 +560,471 @@ msgstr ""
>>
>> msgid "Storage Pool"
>> msgstr ""
>> +
>> +#, python-format
>> +msgid "Unkown parameter specified %(value)s"
>> +msgstr ""
>> +
>> +msgid "Datastore is not initiated in the model object."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Authentication failed for user '%(userid)s'. [Error code: %(code)s]"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block devices. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block device information for %(device)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find distro file: %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to parse distro file: %(filename)s.Make sure, it is a json file."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host target %(portal)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host %(host)s target %(target)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find ISO file ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s is not bootable"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s does not have a valid El Torito boot record"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito validation entry in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito boot indicator in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unexpected volume type for primary volume in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Bad format while reading volume descriptor in ISO %(filename)s"
>> +msgstr ""
>> +
>> +msgid "Virtual machine $(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to rename virtual machine %(name)s. The name %(new_name)s already "
>> +"exists or it is not powered off."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to retrieve screenshot for stopped virtual machine %(name)s"
>> +msgstr ""
>> +
>> +msgid "Remote ISO image is not supported by this server."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Screenshot not supported for virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to rename virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +msgid "Unable to retrieve virtual machine %(name)s. Details: %(err)"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to connect to powered off machine %(name)s."
>> +msgstr ""
>> +
>> +msgid "Virtual machine name must be a string"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid template URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine graphics are spice or vnc"
>> +msgstr ""
>> +
>> +msgid "Graphics address to listen on must be IPv4 or IPv6"
>> +msgstr ""
>> +
>> +msgid "Specify a template to create a Virtual Machine from"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s does not exist in virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network %(network)s specified for virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Do not support guest interface hot plug attachment"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine interfaces type is only network"
>> +msgstr ""
>> +
>> +msgid "Network name for virtual machine interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Invalid network model card specified for virtual machine interface"
>> +msgstr ""
>> +
>> +msgid "Specify type and network to add a new virtual machine interface"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network '%(network)s' specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Storage Pool %(pool)s specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(pool)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid parameter '%(param)s' specified for cdrom."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(network)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +msgid "Template name must be a string"
>> +msgstr ""
>> +
>> +msgid "Template icon must be a path to the image"
>> +msgstr ""
>> +
>> +msgid "Template distribution must be a string"
>> +msgstr ""
>> +
>> +msgid "Template distribution version must be a string"
>> +msgstr ""
>> +
>> +msgid "The number of CPUs must be a integer"
>> +msgstr ""
>> +
>> +msgid "Amount of memory (MB) must be an integer greater than 512"
>> +msgstr ""
>> +
>> +msgid "Template CDROM must be a local or remote ISO file"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI %(value)s specified for Template"
>> +msgstr ""
>> +
>> +msgid "Specify an ISO image as CDROM to create a Template"
>> +msgstr ""
>> +
>> +msgid "All networks for the Template must be specified in a list."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Autostart flag must be true or false"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create the Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to list Storage Pools. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to get number of Storage Volumes in Storage Pool %(name)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to activate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to deactivate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create NFS Pool as export path %(path)s may block during mount"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create NFS Pool as export path %(path)s mount failed"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unsupported Storage Pool type: %(type)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting xml for Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +msgid "Storage Pool name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported Storage Pool types are dir, netfs, logical and kimchi-iso"
>> +msgstr ""
>> +
>> +msgid "Storage Pool path must be a string"
>> +msgstr ""
>> +
>> +msgid "Storage Pool host must be a IP or hostname"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices must be the full path to the block device"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices parameter must be a list"
>> +msgstr ""
>> +
>> +msgid "Target IQN of an iSCSI pool must be a string"
>> +msgstr ""
>> +
>> +msgid "Port of a remote storage server must be an integer between 1 and 65535"
>> +msgstr ""
>> +
>> +msgid "Login username of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Login password of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Storage Pool"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s does not exist in Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(volume)s becuase Storage Pool %(pool)s is "
>> +"not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create Storage Volume %(volume)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to retrieve Storage Volume %(volume)s because Storage Pool %(pool)s "
>> +"is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes because Storage Pool %(pool)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(name)s in Storage Pool %(pool)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes in Storage Pool %(pool)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to wipe Storage Volumes %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to resize Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Subnet %(subnet)s specified for network %(network)s is not valid."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify a network interface to create bridged network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s specified for network %(network)s is already in use"
>> +msgstr ""
>> +
>> +msgid "Interface should be bare nic, bonding or bridge device."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create network %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find a free IP address for network '%(name)s'"
>> +msgstr ""
>> +
>> +msgid ""
>> +"Unable to create VLAN tagged bridge using interface %(iface)s. Details: "
>> +"%(err)"
>> +msgstr ""
>> +
>> +msgid "Network name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported network types are isolated, nat and bridge"
>> +msgstr ""
>> +
>> +msgid "Network subnet must be a string with ip address and prefix or netmask"
>> +msgstr ""
>> +
>> +msgid "Network interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Network VLAN ID must be an integer between 1 and 4094"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Network"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Debug report %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Debug report tool not found in system"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create debug report %(name)s. Details: %(err)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Can not find generated debug report named %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to generate debug report %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage server %(server)s was not used by Kimchi"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Distro '%(name)s' does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Partition %(name)s does not exist in the host"
>> +msgstr ""
>> +
>> +msgid "Unable to shutdown host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +msgid "Unable to reboot host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find %(item)s in datastore"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid URI %(uri)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Timeout while running command '%(cmd)s' after %(seconds)s seconds"
>> +msgstr ""
>> +
>> +msgid "Unable to choose a virutal machine name"
>> +msgstr ""
>> diff --git a/po/pt_BR.po b/po/pt_BR.po
>> index 724e339..d68a80e 100644
>> --- a/po/pt_BR.po
>> +++ b/po/pt_BR.po
>> @@ -20,7 +20,7 @@ msgid ""
>> msgstr ""
>> "Project-Id-Version: kimchi 1.0\n"
>> "Report-Msgid-Bugs-To: \n"
>> -"POT-Creation-Date: 2014-01-20 18:46-0200\n"
>> +"POT-Creation-Date: 2014-02-09 20:37-0200\n"
>> "PO-Revision-Date: 2013-06-27 10:48+0000\n"
>> "Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
>> "Language-Team: Aline Manera <alinefm(a)br.ibm.com>\n"
>> @@ -121,15 +121,6 @@ msgstr "Editar"
>> msgid "Delete"
>> msgstr "Remover"
>>
>> -msgid "Failed to list the template"
>> -msgstr "Erro ao listar os modelos"
>> -
>> -msgid "Please choose a template"
>> -msgstr "Por favor, escolha um modelo"
>> -
>> -msgid "Failed to create vm"
>> -msgstr "Erro ao criar a máquina virtual"
>> -
>> msgid "The username or password you entered is incorrect. Please try again."
>> msgstr ""
>> "O usuário ou senha que você entrou está incorreto. Por favor, tente "
>> @@ -144,26 +135,50 @@ msgstr "Entrar"
>> msgid "Logging in..."
>> msgstr "Entrando"
>>
>> +msgid "Host"
>> +msgstr "Hospedeiro"
>> +
>> +msgid "Guests"
>> +msgstr "Máquinas Virtuais"
>> +
>> +msgid "Templates"
>> +msgstr "Modelos"
>> +
>> +msgid "Storage"
>> +msgstr "Storage"
>> +
>> +msgid "Network"
>> +msgstr "Redes"
>> +
>> msgid "Invalid URL. Redireced to home page."
>> msgstr "URL inválida. Redirecionado para a Página Inicial."
>>
>> -msgid "Failed to start"
>> -msgstr "Erro ao iniciar"
>> +msgid "Failed to get application configuration"
>> +msgstr "Erro ao carregar as configurações da aplicação"
>> +
>> +msgid "This is not a valid linux path"
>> +msgstr "Esse não é um caminho válido no linux"
>> +
>> +msgid "This is not a valid url."
>> +msgstr "Esse não é uma URL válida."
>> +
>> +msgid "No such data exsit."
>> +msgstr ""
>>
>> -msgid "Failed to stop"
>> -msgstr "Erro ao parar"
>> +msgid "options needed."
>> +msgstr ""
>>
>> -msgid "Failed to reset"
>> -msgstr "Erro ao reiniciar"
>> +msgid "Delete Confirmation"
>> +msgstr "Confirmação de remoção"
>>
>> -msgid "Failed to delete"
>> -msgstr "Erro ao remover"
>> +msgid "OK"
>> +msgstr "OK"
>>
>> -msgid "Failed to list guests"
>> -msgstr "Erro ao listar as máquinas virtuais"
>> +msgid "Confirm"
>> +msgstr "Confirmar"
>>
>> -msgid "Failed to create template"
>> -msgstr "Erro ao criar modelo"
>> +msgid "Warning"
>> +msgstr "Aviso"
>>
>> msgid "Create template successfully"
>> msgstr "Modelo criado com sucesso"
>> @@ -171,17 +186,17 @@ msgstr "Modelo criado com sucesso"
>> msgid "No iso found"
>> msgstr "Nenhuma ISO encontrada"
>>
>> -msgid "Failed to scan"
>> -msgstr "Erro ao escanear"
>> +msgid "This is not a valid ISO file."
>> +msgstr "Esse não é um arquivo ISO válido."
>>
>> -msgid "Failed to list iso distributions"
>> -msgstr "Erro ao listar distribuições ISO"
>> +msgid "This will permanently delete the Template. Would you like to continue?"
>> +msgstr "Isso removerá o Modelo permanentemente. Gostaria de continuar?"
>>
>> -msgid "Delete Confirmation"
>> -msgstr "Confirmação de remoção"
>> +msgid "It will take long time. Do you want to continue?"
>> +msgstr ""
>>
>> -msgid "OK"
>> -msgstr "OK"
>> +msgid "Unable to shut down system as there are some VM(s) running!"
>> +msgstr ""
>>
>> msgid "Max:"
>> msgstr "Máximo:"
>> @@ -204,8 +219,12 @@ msgstr "Recebido"
>> msgid "Sent"
>> msgstr "Enviado"
>>
>> -msgid "Confirm"
>> -msgstr "Confirmar"
>> +msgid ""
>> +"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> +"shut down/restarting?"
>> +msgstr ""
>> +"Desligando ou reiniciando do hospedeiro causará na perda de trabalhos não "
>> +"salvos. Continuar o processo de desligar/reiniciar?"
>>
>> msgid ""
>> "Debug report will be removed permanently and can't be recovered. Do you want "
>> @@ -238,16 +257,6 @@ msgstr "Remover"
>> msgid "Download"
>> msgstr "Baixar"
>>
>> -msgid "Some VM(s) are running!"
>> -msgstr "Alguma(s) máquina(s) virtual(is) está(ão) rodando!"
>> -
>> -msgid ""
>> -"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> -"shut down/restarting?"
>> -msgstr ""
>> -"Desligando ou reiniciando do hospedeiro causará na perda de trabalhos não "
>> -"salvos. Continuar o processo de desligar/reiniciar?"
>> -
>> msgid ""
>> "This will delete the VM and its virtual disks. This operation cannot be "
>> "undone. Would you like to continue?"
>> @@ -255,95 +264,12 @@ msgstr ""
>> "Isso removerá a máquina virtual e seus discos virtuais. A operação não pode "
>> "ser desfeita. Gostaria de continuar?"
>>
>> -msgid "This will permanently delete the Template. Would you like to continue?"
>> -msgstr "Isso removerá o Modelo permanentemente. Gostaria de continuar?"
>> -
>> -msgid "Failed to get application configuration"
>> -msgstr "Erro ao carregar as configurações da aplicação"
>> -
>> -msgid "This is not a valid linux path"
>> -msgstr "Esse não é um caminho válido no linux"
>> -
>> -msgid "This is not a valid url."
>> -msgstr "Esse não é uma URL válida."
>> -
>> msgid "The VLAN id must be between 1 and 4094."
>> msgstr "VLAN id deve ser um número entre 1 e 4094."
>>
>> -msgid "This is not a valid ISO file."
>> -msgstr "Esse não é um arquivo ISO válido."
>> -
>> -msgid ""
>> -"This will permanently delete the Storage Pool. Would you like to continue?"
>> -msgstr "Isso removerá permanentemente o Storage Pool. Gostaria de continuar?"
>> -
>> -msgid "The storage pool name can not be blank."
>> -msgstr "O nome do storage pool não pode ser em branco."
>> -
>> -msgid "The storage pool path can not be blank."
>> -msgstr "O caminho do storage pool não pde ser em branco."
>> -
>> -msgid "NFS server mount path can not be blank."
>> -msgstr "Caminho de montagem do servidor de NFS não pode ficar em branco."
>> -
>> -msgid ""
>> -"Invalid Storage Pool name. It may only contain letters, numbers, "
>> -"underscores, and hyphens."
>> -msgstr ""
>> -"Nome do Storage Pool inválido. Só pode conter letras, números, underscores, "
>> -"e hífens."
>> -
>> -msgid "This is not a real linux path."
>> -msgstr "Esse não é um caminho real no linux."
>> -
>> -msgid "Invalid nfs mount path."
>> -msgstr "Caminho de montagem NFS inválido."
>> -
>> -msgid "No logical device selected."
>> -msgstr "Nenhum dispositivo lógico selecionado."
>> -
>> -msgid "This storage pool is empty."
>> -msgstr "Esse storage pool está vazio."
>> -
>> -msgid "Failed to list the storage pool."
>> -msgstr "Erro ao listar o storage pool."
>> -
>> -msgid "The storage pool is not active now."
>> -msgstr "O storage pool não está ativo agora."
>> -
>> -msgid "Failed to delete template."
>> -msgstr "Erro ao remover modelo."
>> -
>> -msgid "Guests"
>> -msgstr "Máquinas Virtuais"
>> -
>> -msgid "Host"
>> -msgstr "Hospedeiro"
>> -
>> -msgid "Templates"
>> -msgstr "Modelos"
>> -
>> -msgid "Storage"
>> -msgstr "Storage"
>> -
>> msgid "unavailable"
>> msgstr "indisponível"
>>
>> -msgid "Network"
>> -msgstr "Redes"
>> -
>> -msgid "isolated"
>> -msgstr "isolado"
>> -
>> -msgid "NAT"
>> -msgstr "NAT"
>> -
>> -msgid "bridged"
>> -msgstr "bridged"
>> -
>> -msgid "connected to"
>> -msgstr "conectado a"
>> -
>> msgid ""
>> "This action will interrupt network connectivity for any virtual machine that "
>> "depend on this network."
>> @@ -354,8 +280,12 @@ msgstr ""
>> msgid "Create a network"
>> msgstr "Criar uma rede"
>>
>> -msgid "Warning"
>> -msgstr "Aviso"
>> +msgid ""
>> +"This will permanently delete the Storage Pool. Would you like to continue?"
>> +msgstr "Isso removerá permanentemente o Storage Pool. Gostaria de continuar?"
>> +
>> +msgid "This storage pool is empty."
>> +msgstr "Esse storage pool está vazio."
>>
>> msgid ""
>> "It will format your disk and you will loose any data in there, are you sure "
>> @@ -364,6 +294,26 @@ msgstr ""
>> "Isso formatará seu disco e você perderá toda informação, você tem certeza "
>> "que quer continuar?"
>>
>> +msgid "The Storage Pool name can not be blank."
>> +msgstr ""
>> +
>> +msgid "The Storage Pool path can not be blank."
>> +msgstr ""
>> +
>> +msgid "NFS server mount path can not be blank."
>> +msgstr "Caminho de montagem do servidor de NFS não pode ficar em branco."
>> +
>> +msgid ""
>> +"Invalid Storage Pool name. It may only contain letters, numbers, "
>> +"underscores, and hyphens."
>> +msgstr ""
>> +
>> +msgid "Invalid NFS mount path."
>> +msgstr ""
>> +
>> +msgid "No logical device selected."
>> +msgstr "Nenhum dispositivo lógico selecionado."
>> +
>> msgid "The iSCSI target can not be blank."
>> msgstr ""
>>
>> @@ -426,17 +376,17 @@ msgid ""
>> "your system."
>> msgstr ""
>>
>> -msgid "NFS server IP"
>> -msgstr "Endereço IP do servidor NFS"
>> +msgid "NFS Server IP"
>> +msgstr ""
>>
>> -msgid "NFS server IP or hostname. It should not be empty."
>> -msgstr "Endereço IP ou nome do servidor NFS. Não deve ser vazio. "
>> +msgid "NFS server IP or hostname. It can be input or chosen from history."
>> +msgstr ""
>>
>> msgid "NFS Path"
>> msgstr "Caminho do NFS"
>>
>> -msgid "The nfs exported path on nfs server"
>> -msgstr "O caminho exportado no servidor NFS"
>> +msgid "The nfs exported path on nfs server."
>> +msgstr ""
>>
>> msgid "Device Path"
>> msgstr "Caminho do dispositivo"
>> @@ -644,3 +594,471 @@ msgstr "CD-ROM"
>>
>> msgid "Storage Pool"
>> msgstr "Nome do Storage Pool"
>> +
>> +#, python-format
>> +msgid "Unkown parameter specified %(value)s"
>> +msgstr ""
>> +
>> +msgid "Datastore is not initiated in the model object."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Authentication failed for user '%(userid)s'. [Error code: %(code)s]"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block devices. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block device information for %(device)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find distro file: %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to parse distro file: %(filename)s.Make sure, it is a json file."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host target %(portal)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host %(host)s target %(target)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find ISO file ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s is not bootable"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s does not have a valid El Torito boot record"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito validation entry in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito boot indicator in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unexpected volume type for primary volume in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Bad format while reading volume descriptor in ISO %(filename)s"
>> +msgstr ""
>> +
>> +msgid "Virtual machine $(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to rename virtual machine %(name)s. The name %(new_name)s already "
>> +"exists or it is not powered off."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to retrieve screenshot for stopped virtual machine %(name)s"
>> +msgstr ""
>> +
>> +msgid "Remote ISO image is not supported by this server."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Screenshot not supported for virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to rename virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +msgid "Unable to retrieve virtual machine %(name)s. Details: %(err)"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to connect to powered off machine %(name)s."
>> +msgstr ""
>> +
>> +msgid "Virtual machine name must be a string"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid template URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine graphics are spice or vnc"
>> +msgstr ""
>> +
>> +msgid "Graphics address to listen on must be IPv4 or IPv6"
>> +msgstr ""
>> +
>> +msgid "Specify a template to create a Virtual Machine from"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s does not exist in virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network %(network)s specified for virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Do not support guest interface hot plug attachment"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine interfaces type is only network"
>> +msgstr ""
>> +
>> +msgid "Network name for virtual machine interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Invalid network model card specified for virtual machine interface"
>> +msgstr ""
>> +
>> +msgid "Specify type and network to add a new virtual machine interface"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network '%(network)s' specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Storage Pool %(pool)s specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(pool)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid parameter '%(param)s' specified for cdrom."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(network)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +msgid "Template name must be a string"
>> +msgstr ""
>> +
>> +msgid "Template icon must be a path to the image"
>> +msgstr ""
>> +
>> +msgid "Template distribution must be a string"
>> +msgstr ""
>> +
>> +msgid "Template distribution version must be a string"
>> +msgstr ""
>> +
>> +msgid "The number of CPUs must be a integer"
>> +msgstr ""
>> +
>> +msgid "Amount of memory (MB) must be an integer greater than 512"
>> +msgstr ""
>> +
>> +msgid "Template CDROM must be a local or remote ISO file"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI %(value)s specified for Template"
>> +msgstr ""
>> +
>> +msgid "Specify an ISO image as CDROM to create a Template"
>> +msgstr ""
>> +
>> +msgid "All networks for the Template must be specified in a list."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Autostart flag must be true or false"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create the Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to list Storage Pools. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to get number of Storage Volumes in Storage Pool %(name)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to activate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to deactivate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create NFS Pool as export path %(path)s may block during mount"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create NFS Pool as export path %(path)s mount failed"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unsupported Storage Pool type: %(type)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting xml for Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +msgid "Storage Pool name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported Storage Pool types are dir, netfs, logical and kimchi-iso"
>> +msgstr ""
>> +
>> +msgid "Storage Pool path must be a string"
>> +msgstr ""
>> +
>> +msgid "Storage Pool host must be a IP or hostname"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices must be the full path to the block device"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices parameter must be a list"
>> +msgstr ""
>> +
>> +msgid "Target IQN of an iSCSI pool must be a string"
>> +msgstr ""
>> +
>> +msgid "Port of a remote storage server must be an integer between 1 and 65535"
>> +msgstr ""
>> +
>> +msgid "Login username of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Login password of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Storage Pool"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s does not exist in Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(volume)s becuase Storage Pool %(pool)s is "
>> +"not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create Storage Volume %(volume)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to retrieve Storage Volume %(volume)s because Storage Pool %(pool)s "
>> +"is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes because Storage Pool %(pool)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(name)s in Storage Pool %(pool)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes in Storage Pool %(pool)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to wipe Storage Volumes %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to resize Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Subnet %(subnet)s specified for network %(network)s is not valid."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify a network interface to create bridged network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s specified for network %(network)s is already in use"
>> +msgstr ""
>> +
>> +msgid "Interface should be bare nic, bonding or bridge device."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create network %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find a free IP address for network '%(name)s'"
>> +msgstr ""
>> +
>> +msgid ""
>> +"Unable to create VLAN tagged bridge using interface %(iface)s. Details: "
>> +"%(err)"
>> +msgstr ""
>> +
>> +msgid "Network name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported network types are isolated, nat and bridge"
>> +msgstr ""
>> +
>> +msgid "Network subnet must be a string with ip address and prefix or netmask"
>> +msgstr ""
>> +
>> +msgid "Network interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Network VLAN ID must be an integer between 1 and 4094"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Network"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Debug report %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Debug report tool not found in system"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create debug report %(name)s. Details: %(err)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Can not find generated debug report named %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to generate debug report %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage server %(server)s was not used by Kimchi"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Distro '%(name)s' does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Partition %(name)s does not exist in the host"
>> +msgstr ""
>> +
>> +msgid "Unable to shutdown host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +msgid "Unable to reboot host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find %(item)s in datastore"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid URI %(uri)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Timeout while running command '%(cmd)s' after %(seconds)s seconds"
>> +msgstr ""
>> +
>> +msgid "Unable to choose a virutal machine name"
>> +msgstr ""
>> diff --git a/po/zh_CN.po b/po/zh_CN.po
>> index 34f7aca..4fbb64e 100644
>> --- a/po/zh_CN.po
>> +++ b/po/zh_CN.po
>> @@ -20,7 +20,7 @@ msgid ""
>> msgstr ""
>> "Project-Id-Version: kimchi 0.1\n"
>> "Report-Msgid-Bugs-To: \n"
>> -"POT-Creation-Date: 2014-01-20 18:46-0200\n"
>> +"POT-Creation-Date: 2014-02-09 20:37-0200\n"
>> "PO-Revision-Date: 2013-06-27 10:48+0000\n"
>> "Last-Translator: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
>> "Language-Team: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
>> @@ -119,15 +119,6 @@ msgstr "编辑"
>> msgid "Delete"
>> msgstr "删除"
>>
>> -msgid "Failed to list the template"
>> -msgstr "展示模板列表失败"
>> -
>> -msgid "Please choose a template"
>> -msgstr "请选择模板"
>> -
>> -msgid "Failed to create vm"
>> -msgstr "虚拟机创建失败"
>> -
>> msgid "The username or password you entered is incorrect. Please try again."
>> msgstr "用户名或密码错误,请重新输入。"
>>
>> @@ -140,26 +131,50 @@ msgstr "登录"
>> msgid "Logging in..."
>> msgstr "登录中..."
>>
>> +msgid "Host"
>> +msgstr "主机"
>> +
>> +msgid "Guests"
>> +msgstr "客户机"
>> +
>> +msgid "Templates"
>> +msgstr "模板"
>> +
>> +msgid "Storage"
>> +msgstr "存储"
>> +
>> +msgid "Network"
>> +msgstr "网络"
>> +
>> msgid "Invalid URL. Redireced to home page."
>> msgstr "无效的URL,已重定向到首页"
>>
>> -msgid "Failed to start"
>> -msgstr "启动失败"
>> +msgid "Failed to get application configuration"
>> +msgstr "获取应用配置失败"
>>
>> -msgid "Failed to stop"
>> -msgstr "停止失败"
>> +msgid "This is not a valid linux path"
>> +msgstr "这不是一个有效的LINUX路径"
>>
>> -msgid "Failed to reset"
>> -msgstr "重启失败"
>> +msgid "This is not a valid url."
>> +msgstr "这不是一个有效的URL"
>>
>> -msgid "Failed to delete"
>> -msgstr "删除失败"
>> +msgid "No such data exsit."
>> +msgstr ""
>>
>> -msgid "Failed to list guests"
>> -msgstr "客户机列表加载失败"
>> +msgid "options needed."
>> +msgstr ""
>>
>> -msgid "Failed to create template"
>> -msgstr "模板创建失败"
>> +msgid "Delete Confirmation"
>> +msgstr "删除确认"
>> +
>> +msgid "OK"
>> +msgstr "确定"
>> +
>> +msgid "Confirm"
>> +msgstr "确认"
>> +
>> +msgid "Warning"
>> +msgstr "警告"
>>
>> msgid "Create template successfully"
>> msgstr "创建模板成功"
>> @@ -167,17 +182,17 @@ msgstr "创建模板成功"
>> msgid "No iso found"
>> msgstr "没有发现ISO文件"
>>
>> -msgid "Failed to scan"
>> -msgstr "扫描失败"
>> +msgid "This is not a valid ISO file."
>> +msgstr "这不是一个有效的ISO文件"
>>
>> -msgid "Failed to list iso distributions"
>> -msgstr "加载ISO列表失败"
>> +msgid "This will permanently delete the Template. Would you like to continue?"
>> +msgstr "本操作将会永久删除模板,是否继续?"
>>
>> -msgid "Delete Confirmation"
>> -msgstr "删除确认"
>> +msgid "It will take long time. Do you want to continue?"
>> +msgstr ""
>>
>> -msgid "OK"
>> -msgstr "确定"
>> +msgid "Unable to shut down system as there are some VM(s) running!"
>> +msgstr ""
>>
>> msgid "Max:"
>> msgstr "最大:"
>> @@ -200,8 +215,10 @@ msgstr "接收"
>> msgid "Sent"
>> msgstr "发送"
>>
>> -msgid "Confirm"
>> -msgstr "确认"
>> +msgid ""
>> +"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> +"shut down/restarting?"
>> +msgstr "关闭或者重启主机会导致没有保存的工作丢失。继续关机/重启?"
>>
>> msgid ""
>> "Debug report will be removed permanently and can't be recovered. Do you want "
>> @@ -232,106 +249,17 @@ msgstr "删除"
>> msgid "Download"
>> msgstr "下载"
>>
>> -msgid "Some VM(s) are running!"
>> -msgstr "有虚拟机在运行!"
>> -
>> -msgid ""
>> -"Shutting down or restarting host will cause unsaved work lost. Continue to "
>> -"shut down/restarting?"
>> -msgstr "关闭或者重启主机会导致没有保存的工作丢失。继续关机/重启?"
>> -
>> msgid ""
>> "This will delete the VM and its virtual disks. This operation cannot be "
>> "undone. Would you like to continue?"
>> msgstr "您正在删除虚拟机,本操作将不能恢复,是否继续?"
>>
>> -msgid "This will permanently delete the Template. Would you like to continue?"
>> -msgstr "本操作将会永久删除模板,是否继续?"
>> -
>> -msgid "Failed to get application configuration"
>> -msgstr "获取应用配置失败"
>> -
>> -msgid "This is not a valid linux path"
>> -msgstr "这不是一个有效的LINUX路径"
>> -
>> -msgid "This is not a valid url."
>> -msgstr "这不是一个有效的URL"
>> -
>> msgid "The VLAN id must be between 1 and 4094."
>> msgstr ""
>>
>> -msgid "This is not a valid ISO file."
>> -msgstr "这不是一个有效的ISO文件"
>> -
>> -msgid ""
>> -"This will permanently delete the Storage Pool. Would you like to continue?"
>> -msgstr "本操作将会永久删除存储池,是否继续?"
>> -
>> -msgid "The storage pool name can not be blank."
>> -msgstr "存储池的名字不能为空"
>> -
>> -msgid "The storage pool path can not be blank."
>> -msgstr "存储池的路径不能为空"
>> -
>> -msgid "NFS server mount path can not be blank."
>> -msgstr "NFS服务器挂载路径不能为空"
>> -
>> -msgid ""
>> -"Invalid Storage Pool name. It may only contain letters, numbers, "
>> -"underscores, and hyphens."
>> -msgstr "无效的存储池名字,它应该只包括字母,数字,下划线及连接符"
>> -
>> -msgid "This is not a real linux path."
>> -msgstr "这不是一个符合要求的LINUX路径"
>> -
>> -msgid "Invalid nfs mount path."
>> -msgstr "无效的nfs挂载路径"
>> -
>> -msgid "No logical device selected."
>> -msgstr ""
>> -
>> -msgid "This storage pool is empty."
>> -msgstr "这个存储池为空"
>> -
>> -msgid "Failed to list the storage pool."
>> -msgstr "展示模板列表失败"
>> -
>> -msgid "The storage pool is not active now."
>> -msgstr "存储池没有被启用"
>> -
>> -msgid "Failed to delete template."
>> -msgstr "删除模版失败"
>> -
>> -msgid "Guests"
>> -msgstr "客户机"
>> -
>> -msgid "Host"
>> -msgstr "主机"
>> -
>> -msgid "Templates"
>> -msgstr "模板"
>> -
>> -msgid "Storage"
>> -msgstr "存储"
>> -
>> msgid "unavailable"
>> msgstr "无法获取"
>>
>> -msgid "Network"
>> -msgstr "网络"
>> -
>> -msgid "isolated"
>> -msgstr "隔离"
>> -
>> -msgid "NAT"
>> -msgstr "NAT"
>> -
>> -msgid "bridged"
>> -msgstr "桥接"
>> -
>> -msgid "connected to"
>> -msgstr "连接到"
>> -
>> msgid ""
>> "This action will interrupt network connectivity for any virtual machine that "
>> "depend on this network."
>> @@ -340,14 +268,38 @@ msgstr "此操作将中断依赖此网络的虚拟机的网络连接。"
>> msgid "Create a network"
>> msgstr "创建一个网络"
>>
>> -msgid "Warning"
>> -msgstr "警告"
>> +msgid ""
>> +"This will permanently delete the Storage Pool. Would you like to continue?"
>> +msgstr "本操作将会永久删除存储池,是否继续?"
>> +
>> +msgid "This storage pool is empty."
>> +msgstr "这个存储池为空"
>>
>> msgid ""
>> "It will format your disk and you will loose any data in there, are you sure "
>> "to continue? "
>> msgstr "你的磁盘将会格式化,磁盘上的数据会丢失,你确定要继续吗?"
>>
>> +msgid "The Storage Pool name can not be blank."
>> +msgstr ""
>> +
>> +msgid "The Storage Pool path can not be blank."
>> +msgstr ""
>> +
>> +msgid "NFS server mount path can not be blank."
>> +msgstr "NFS服务器挂载路径不能为空"
>> +
>> +msgid ""
>> +"Invalid Storage Pool name. It may only contain letters, numbers, "
>> +"underscores, and hyphens."
>> +msgstr ""
>> +
>> +msgid "Invalid NFS mount path."
>> +msgstr ""
>> +
>> +msgid "No logical device selected."
>> +msgstr ""
>> +
>> msgid "The iSCSI target can not be blank."
>> msgstr "iSCSI目标不能为空"
>>
>> @@ -408,17 +360,17 @@ msgid ""
>> "your system."
>> msgstr "如果目录不存在,KIMCHI会自动在系统中创建一个新的目录"
>>
>> -msgid "NFS server IP"
>> -msgstr "NFS服务器IP"
>> +msgid "NFS Server IP"
>> +msgstr ""
>>
>> -msgid "NFS server IP or hostname. It should not be empty."
>> -msgstr "NFS服务器IP或者主机名, 不能为空。"
>> +msgid "NFS server IP or hostname. It can be input or chosen from history."
>> +msgstr ""
>>
>> msgid "NFS Path"
>> msgstr "NFS 路径"
>>
>> -msgid "The nfs exported path on nfs server"
>> -msgstr "nfs服务器上导出的路径"
>> +msgid "The nfs exported path on nfs server."
>> +msgstr ""
>>
>> msgid "Device Path"
>> msgstr "设备路径"
>> @@ -626,3 +578,471 @@ msgstr "光驱"
>>
>> msgid "Storage Pool"
>> msgstr "存储池"
>> +
>> +#, python-format
>> +msgid "Unkown parameter specified %(value)s"
>> +msgstr ""
>> +
>> +msgid "Datastore is not initiated in the model object."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Authentication failed for user '%(userid)s'. [Error code: %(code)s]"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block devices. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting block device information for %(device)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find distro file: %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to parse distro file: %(filename)s.Make sure, it is a json file."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host target %(portal)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to login to iSCSI host %(host)s target %(target)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find ISO file ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s is not bootable"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "The ISO file %(filename)s does not have a valid El Torito boot record"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito validation entry in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid El Torito boot indicator in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unexpected volume type for primary volume in ISO %(filename)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Bad format while reading volume descriptor in ISO %(filename)s"
>> +msgstr ""
>> +
>> +msgid "Virtual machine $(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to rename virtual machine %(name)s. The name %(new_name)s already "
>> +"exists or it is not powered off."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to retrieve screenshot for stopped virtual machine %(name)s"
>> +msgstr ""
>> +
>> +msgid "Remote ISO image is not supported by this server."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Screenshot not supported for virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to rename virtual machine %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +msgid "Unable to retrieve virtual machine %(name)s. Details: %(err)"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to connect to powered off machine %(name)s."
>> +msgstr ""
>> +
>> +msgid "Virtual machine name must be a string"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid template URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI: %(value)s specified for virtual machine"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine graphics are spice or vnc"
>> +msgstr ""
>> +
>> +msgid "Graphics address to listen on must be IPv4 or IPv6"
>> +msgstr ""
>> +
>> +msgid "Specify a template to create a Virtual Machine from"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s does not exist in virtual machine %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network %(network)s specified for virtual machine %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Do not support guest interface hot plug attachment"
>> +msgstr ""
>> +
>> +msgid "Supported virtual machine interfaces type is only network"
>> +msgstr ""
>> +
>> +msgid "Network name for virtual machine interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Invalid network model card specified for virtual machine interface"
>> +msgstr ""
>> +
>> +msgid "Specify type and network to add a new virtual machine interface"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Template %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Network '%(network)s' specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Storage Pool %(pool)s specified for template %(template)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(pool)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid parameter '%(param)s' specified for cdrom."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(network)s specified for template %(template)s is not active"
>> +msgstr ""
>> +
>> +msgid "Template name must be a string"
>> +msgstr ""
>> +
>> +msgid "Template icon must be a path to the image"
>> +msgstr ""
>> +
>> +msgid "Template distribution must be a string"
>> +msgstr ""
>> +
>> +msgid "Template distribution version must be a string"
>> +msgstr ""
>> +
>> +msgid "The number of CPUs must be a integer"
>> +msgstr ""
>> +
>> +msgid "Amount of memory (MB) must be an integer greater than 512"
>> +msgstr ""
>> +
>> +msgid "Template CDROM must be a local or remote ISO file"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid storage pool URI %(value)s specified for Template"
>> +msgstr ""
>> +
>> +msgid "Specify an ISO image as CDROM to create a Template"
>> +msgstr ""
>> +
>> +msgid "All networks for the Template must be specified in a list."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Pool %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Autostart flag must be true or false"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create the Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active Storage Pool %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to list Storage Pools. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to get number of Storage Volumes in Storage Pool %(name)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to activate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to deactivate Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Pool %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create NFS Pool as export path %(path)s may block during mount"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create NFS Pool as export path %(path)s mount failed"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unsupported Storage Pool type: %(type)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Error while getting xml for Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +msgid "Storage Pool name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported Storage Pool types are dir, netfs, logical and kimchi-iso"
>> +msgstr ""
>> +
>> +msgid "Storage Pool path must be a string"
>> +msgstr ""
>> +
>> +msgid "Storage Pool host must be a IP or hostname"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices must be the full path to the block device"
>> +msgstr ""
>> +
>> +msgid "Storage Pool devices parameter must be a list"
>> +msgstr ""
>> +
>> +msgid "Target IQN of an iSCSI pool must be a string"
>> +msgstr ""
>> +
>> +msgid "Port of a remote storage server must be an integer between 1 and 65535"
>> +msgstr ""
>> +
>> +msgid "Login username of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Login password of the iSCSI target must be a string"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Storage Pool"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage Volume %(name)s does not exist in Storage Pool %(pool)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(volume)s becuase Storage Pool %(pool)s is "
>> +"not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify %(item)s in order to create Storage Volume %(volume)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to retrieve Storage Volume %(volume)s because Storage Pool %(pool)s "
>> +"is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes because Storage Pool %(pool)s is not active"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to create Storage Volume %(name)s in Storage Pool %(pool)s. Details: "
>> +"%(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid ""
>> +"Unable to list Storage Volumes in Storage Pool %(pool)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to wipe Storage Volumes %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to resize Storage Volume %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s already exists"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Network %(name)s does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Subnet %(subnet)s specified for network %(network)s is not valid."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Specify a network interface to create bridged network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to delete active network %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Interface %(iface)s specified for network %(network)s is already in use"
>> +msgstr ""
>> +
>> +msgid "Interface should be bare nic, bonding or bridge device."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create network %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find a free IP address for network '%(name)s'"
>> +msgstr ""
>> +
>> +msgid ""
>> +"Unable to create VLAN tagged bridge using interface %(iface)s. Details: "
>> +"%(err)"
>> +msgstr ""
>> +
>> +msgid "Network name must be a string"
>> +msgstr ""
>> +
>> +msgid "Supported network types are isolated, nat and bridge"
>> +msgstr ""
>> +
>> +msgid "Network subnet must be a string with ip address and prefix or netmask"
>> +msgstr ""
>> +
>> +msgid "Network interface must be a string"
>> +msgstr ""
>> +
>> +msgid "Network VLAN ID must be an integer between 1 and 4094"
>> +msgstr ""
>> +
>> +msgid "Specify name and type to create a Network"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Debug report %(name)s does not exist"
>> +msgstr ""
>> +
>> +msgid "Debug report tool not found in system"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to create debug report %(name)s. Details: %(err)s."
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Can not find generated debug report named %(name)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to generate debug report %(name)s. Details: %(err)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Storage server %(server)s was not used by Kimchi"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Distro '%(name)s' does not exist"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Partition %(name)s does not exist in the host"
>> +msgstr ""
>> +
>> +msgid "Unable to shutdown host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +msgid "Unable to reboot host machine as there are running virtual machines"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Unable to find %(item)s in datastore"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Invalid URI %(uri)s"
>> +msgstr ""
>> +
>> +#, python-format
>> +msgid "Timeout while running command '%(cmd)s' after %(seconds)s seconds"
>> +msgstr ""
>> +
>> +msgid "Unable to choose a virutal machine name"
>> +msgstr ""
10 years, 10 months
[PATCH 0/8] Refactor exception
by Aline Manera
From: Aline Manera <alinefm(a)br.ibm.com>
This patch set includes:
- Create a common Exception class (KimchiError) to translate the error message
and proper set the parameters
- Create a i18n.py file with all messages used on backend
- Update build process to add the messages in this file to .po files
- Update UI to show the message received from backend to the user
- Update UI messages to add a code for them
- Display error message like: <code>: <msg>
Aline Manera (8):
refactor exception: Create a common Exception to translate error
messages
refactor exception: Add messages to be translated on backend
refactor exception: Set error messages for jsonschema validation
refator exception: Update control to raise the exception message
refactor exception: Update all exceptions
refactor exception: Update gen-pot script to get messages from
i18n.py
refactor exception: Update UI references
refactor exception: Update all po files
plugins/sample/API.json | 23 +-
plugins/sample/Makefile.am | 1 +
plugins/sample/__init__.py | 7 +-
plugins/sample/i18n.py | 44 ++
plugins/sample/model.py | 12 +-
po/POTFILES.in | 1 +
po/en_US.po | 686 ++++++++++++++++++++++++------
po/gen-pot.in | 8 +-
po/kimchi.pot | 624 ++++++++++++++++++++++-----
po/pt_BR.po | 684 +++++++++++++++++++++++------
po/zh_CN.po | 678 +++++++++++++++++++++++------
src/kimchi/API.json | 144 +++++--
src/kimchi/Makefile.am | 1 +
src/kimchi/asynctask.py | 4 +-
src/kimchi/auth.py | 3 +-
src/kimchi/control/base.py | 90 ++--
src/kimchi/control/utils.py | 5 +-
src/kimchi/disks.py | 5 +-
src/kimchi/distroloader.py | 5 +-
src/kimchi/exception.py | 42 +-
src/kimchi/i18n.py | 173 ++++++++
src/kimchi/iscsi.py | 6 +-
src/kimchi/isoinfo.py | 17 +-
src/kimchi/mockmodel.py | 113 +++--
src/kimchi/model/config.py | 2 +-
src/kimchi/model/debugreports.py | 18 +-
src/kimchi/model/host.py | 10 +-
src/kimchi/model/interfaces.py | 4 +-
src/kimchi/model/libvirtstoragepool.py | 14 +-
src/kimchi/model/networks.py | 37 +-
src/kimchi/model/storagepools.py | 39 +-
src/kimchi/model/storageservers.py | 2 +-
src/kimchi/model/storagevolumes.py | 37 +-
src/kimchi/model/templates.py | 44 +-
src/kimchi/model/utils.py | 2 +-
src/kimchi/model/vmifaces.py | 15 +-
src/kimchi/model/vms.py | 28 +-
src/kimchi/objectstore.py | 4 +-
src/kimchi/root.py | 3 +
src/kimchi/template.py | 2 +-
src/kimchi/utils.py | 12 +-
src/kimchi/vmtemplate.py | 7 +-
tests/test_exception.py | 4 +-
tests/test_rest.py | 4 +-
tests/utils.py | 5 +-
ui/js/src/kimchi.api.js | 4 +-
ui/js/src/kimchi.guest_add_main.js | 7 +-
ui/js/src/kimchi.guest_main.js | 32 +-
ui/js/src/kimchi.host.js | 46 +-
ui/js/src/kimchi.line-chart.js | 2 +-
ui/js/src/kimchi.login_window.js | 8 +-
ui/js/src/kimchi.main.js | 6 +-
ui/js/src/kimchi.message.js | 4 +
ui/js/src/kimchi.network.js | 22 +-
ui/js/src/kimchi.report_add_main.js | 8 +-
ui/js/src/kimchi.storage_main.js | 18 +-
ui/js/src/kimchi.storagepool_add_main.js | 28 +-
ui/js/src/kimchi.template_add_main.js | 18 +-
ui/js/src/kimchi.template_main.js | 16 +-
ui/js/widgets/filter-select.js | 4 +-
ui/js/widgets/select-menu.js | 4 +-
ui/pages/i18n.html.tmpl | 172 ++++----
62 files changed, 3046 insertions(+), 1022 deletions(-)
create mode 100644 plugins/sample/i18n.py
create mode 100644 src/kimchi/i18n.py
--
1.7.10.4
10 years, 10 months
[PATCH V2 0/4] CDROM Management
by Rodrigo Trujillo
V2:
- Add devices to mockmodel and add test cases to rest API
- Assign name automatically to new devices, if not passed by user
- Fix minor errors
V1:
This patch set implements host storage devices management.
It implements full CDROM device add, remove and update functionality.
It implements basic Disk functionalities.
Rodrigo Trujillo (4):
Add storage sub-collection to sub-resource to guest resource
Update controller and API.json for guest storages
Devices management model implementation
Guest vm storage devices mockmodel and rest api test cases
docs/API.md | 22 +++++
src/kimchi/API.json | 33 +++++++
src/kimchi/control/vm/storages.py | 49 ++++++++++
src/kimchi/mockmodel.py | 63 +++++++++++++
src/kimchi/model/vms.py | 190 +++++++++++++++++++++++++++++++++++++-
src/kimchi/xmlutils.py | 5 +
tests/test_rest.py | 73 +++++++++++++++
7 files changed, 434 insertions(+), 1 deletion(-)
create mode 100644 src/kimchi/control/vm/storages.py
--
1.8.5.3
10 years, 10 months
[PATCH 0/3] (WIP) CDROM Management
by Rodrigo Trujillo
This patch set implements host storage devices management.
It implements full CDROM device add, remove and update functionality.
It implements basic Disk functionalities.
Rodrigo Trujillo (3):
Add storage sub-collection to sub-resource to guest resource
Update controller and API.json for guest storages
Devices management model implementation
docs/API.md | 22 +++++
src/kimchi/API.json | 33 ++++++++
src/kimchi/control/vm/storages.py | 49 +++++++++++
src/kimchi/model/vms.py | 167 +++++++++++++++++++++++++++++++++++++-
src/kimchi/xmlutils.py | 5 ++
5 files changed, 275 insertions(+), 1 deletion(-)
create mode 100644 src/kimchi/control/vm/storages.py
--
1.8.5.3
10 years, 10 months