[virt-tools-list] [virt-manager PATCH] localization: mark several strings as translatable
Cole Robinson
crobinso at redhat.com
Fri Feb 5 15:40:02 UTC 2016
Comments inline
On 02/05/2016 10:23 AM, Pavel Hrdina wrote:
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
> virtManager/addhardware.py | 54 +++++++++++++++++-----------------
> virtManager/connect.py | 6 ++--
> virtManager/connectauth.py | 2 +-
> virtManager/connection.py | 2 +-
> virtManager/console.py | 4 +--
> virtManager/createinterface.py | 24 +++++++--------
> virtManager/details.py | 14 ++++-----
> virtManager/error.py | 2 +-
> virtManager/gfxdetails.py | 4 +--
> virtManager/host.py | 14 ++++-----
> virtManager/interface.py | 4 +--
> virtManager/libvirtobject.py | 4 +--
> virtManager/netlist.py | 8 ++---
> virtManager/preferences.py | 4 +--
> virtManager/storagelist.py | 10 +++----
> virtinst/cloner.py | 66 +++++++++++++++++++++---------------------
> virtinst/devicedisk.py | 4 +--
> virtinst/devicehostdev.py | 2 +-
> virtinst/devicerng.py | 4 +--
> virtinst/network.py | 4 +--
> virtinst/seclabel.py | 4 +--
> virtinst/support.py | 2 +-
> 22 files changed, 121 insertions(+), 121 deletions(-)
>
> diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
> index d3a69c3..45b0c03 100644
> --- a/virtManager/addhardware.py
> +++ b/virtManager/addhardware.py
> @@ -177,7 +177,7 @@ class vmmAddHardware(vmmGObjectUI):
> hw_list = self.widget("hw-list")
> hw_list.set_model(model)
>
> - hw_col = Gtk.TreeViewColumn("Hardware")
> + hw_col = Gtk.TreeViewColumn(_("Hardware"))
> hw_col.set_spacing(6)
> hw_col.set_min_width(165)
>
> @@ -347,32 +347,32 @@ class vmmAddHardware(vmmGObjectUI):
> def add_hw_option(name, icon, page, sensitive, errortxt, devtype=None):
> model.append([name, icon, page, sensitive, errortxt, devtype])
>
> - add_hw_option("Storage", "drive-harddisk", PAGE_DISK, have_storage,
> + add_hw_option(_("Storage"), "drive-harddisk", PAGE_DISK, have_storage,
> have_storage and storage_tooltip or None)
> - add_hw_option("Controller", "device_pci", PAGE_CONTROLLER, True, None)
> - add_hw_option("Network", "network-idle", PAGE_NETWORK, True, None)
> - add_hw_option("Input", "input-mouse", PAGE_INPUT, self.vm.is_hvm(),
> + add_hw_option(_("Controller"), "device_pci", PAGE_CONTROLLER, True, None)
> + add_hw_option(_("Network"), "network-idle", PAGE_NETWORK, True, None)
> + add_hw_option(_("Input"), "input-mouse", PAGE_INPUT, self.vm.is_hvm(),
> _("Not supported for this guest type."))
> - add_hw_option("Graphics", "video-display", PAGE_GRAPHICS,
> + add_hw_option(_("Graphics"), "video-display", PAGE_GRAPHICS,
> True, None)
> - add_hw_option("Sound", "audio-card", PAGE_SOUND,
> + add_hw_option(_("Sound"), "audio-card", PAGE_SOUND,
> self.vm.is_hvm(),
> _("Not supported for this guest type."))
> - add_hw_option("Serial", Gtk.STOCK_CONNECT, PAGE_CHAR,
> + add_hw_option(_("Serial"), Gtk.STOCK_CONNECT, PAGE_CHAR,
> self.vm.is_hvm(),
> _("Not supported for this guest type."),
> "serial")
> - add_hw_option("Parallel", Gtk.STOCK_CONNECT, PAGE_CHAR,
> + add_hw_option(_("Parallel"), Gtk.STOCK_CONNECT, PAGE_CHAR,
> self.vm.is_hvm(),
> _("Not supported for this guest type."),
> "parallel")
> - add_hw_option("Console", Gtk.STOCK_CONNECT, PAGE_CHAR,
> + add_hw_option(_("Console"), Gtk.STOCK_CONNECT, PAGE_CHAR,
> True, None, "console")
> - add_hw_option("Channel", Gtk.STOCK_CONNECT, PAGE_CHAR,
> + add_hw_option(_("Channel"), Gtk.STOCK_CONNECT, PAGE_CHAR,
> self.vm.is_hvm(),
> _("Not supported for this guest type."),
> "channel")
> - add_hw_option("USB Host Device", "system-run", PAGE_HOSTDEV,
> + add_hw_option(_("USB Host Device"), "system-run", PAGE_HOSTDEV,
> self.conn.is_nodedev_capable(),
> _("Connection does not support host device enumeration"),
> "usb")
> @@ -383,28 +383,28 @@ class vmmAddHardware(vmmGObjectUI):
> if self.vm.is_container():
> nodedev_enabled = False
> nodedev_errstr = _("Not supported for containers")
> - add_hw_option("PCI Host Device", "system-run", PAGE_HOSTDEV,
> + add_hw_option("PCI Host Device"), "system-run", PAGE_HOSTDEV,
> nodedev_enabled, nodedev_errstr, "pci")
>
> - add_hw_option("Video", "video-display", PAGE_VIDEO, True,
> + add_hw_option(_("Video"), "video-display", PAGE_VIDEO, True,
> _("Libvirt version does not support video devices."))
> - add_hw_option("Watchdog", "device_pci", PAGE_WATCHDOG,
> + add_hw_option(_("Watchdog"), "device_pci", PAGE_WATCHDOG,
> self.vm.is_hvm(),
> _("Not supported for this guest type."))
> - add_hw_option("Filesystem", "folder", PAGE_FILESYSTEM,
> + add_hw_option(_("Filesystem"), "folder", PAGE_FILESYSTEM,
> self.conn.check_support(
> self.conn.SUPPORT_CONN_FILESYSTEM) and
> not self.vm.stable_defaults(),
> _("Not supported for this hypervisor/libvirt "
> "combination."))
> - add_hw_option("Smartcard", "device_serial", PAGE_SMARTCARD,
> + add_hw_option(_("Smartcard"), "device_serial", PAGE_SMARTCARD,
> True, None)
> - add_hw_option("USB Redirection", "device_usb", PAGE_USBREDIR,
> + add_hw_option(_("USB Redirection"), "device_usb", PAGE_USBREDIR,
> True, None)
> - add_hw_option("TPM", "device_cpu", PAGE_TPM,
> + add_hw_option(_("TPM"), "device_cpu", PAGE_TPM,
> True, None)
> - add_hw_option("RNG", "system-run", PAGE_RNG, True, None)
> - add_hw_option("Panic Notifier", "system-run", PAGE_PANIC,
> + add_hw_option(_("RNG"), "system-run", PAGE_RNG, True, None)
> + add_hw_option(_("Panic Notifier"), "system-run", PAGE_PANIC,
> self.conn.check_support(self.conn.SUPPORT_CONN_PANIC_DEVICE),
> _("Not supported for this hypervisor/libvirt combination."))
>
> @@ -600,8 +600,8 @@ class vmmAddHardware(vmmGObjectUI):
> model.clear()
>
> # [xml value, label]
> - model.append(["passthrough", "Passthrough"])
> - model.append(["host", "Host"])
> + model.append(["passthrough", _("Passthrough")])
> + model.append(["host", _("Host")])
>
> @staticmethod
> def build_smartcard_mode_combo(vm, combo):
> @@ -628,8 +628,8 @@ class vmmAddHardware(vmmGObjectUI):
> model.clear()
>
> # [xml value, label, conn details]
> - model.append(["spicevmc", "Spice channel", False])
> - model.append(["tcp", "TCP", True])
> + model.append(["spicevmc", _("Spice channel"), False])
> + model.append(["tcp", _("TCP"), True])
>
TCP is an acronym and probably shouldn't be translated
> @staticmethod
> def build_redir_type_combo(vm, combo):
> @@ -714,7 +714,7 @@ class vmmAddHardware(vmmGObjectUI):
> if not vm.get_xmlobj().os.is_q35():
> rows.append(["ide", "IDE"])
> rows.append(["sata", "SATA"])
> - rows.append(["fdc", "Floppy"])
> + rows.append(["fdc", _("Floppy")])
>
> if not vm.stable_defaults():
> rows.append(["scsi", "SCSI"])
> @@ -1117,7 +1117,7 @@ class vmmAddHardware(vmmGObjectUI):
>
> if page == PAGE_CHAR:
> char_class = self._get_char_class()
> - return char_class.virtual_device_type.capitalize() + " Device"
> + return char_class.virtual_device_type.capitalize() + _(" Device")
Better way to do this is to do
_("%s Device")
Incase translator needs to reorder the string
> if page == PAGE_HOSTDEV:
> row = self._get_hw_selection()
> if row and row[5] == "pci":
> diff --git a/virtManager/connect.py b/virtManager/connect.py
> index 7878611..1b218e5 100644
> --- a/virtManager/connect.py
> +++ b/virtManager/connect.py
> @@ -165,9 +165,9 @@ class vmmConnect(vmmGObjectUI):
> model.append([rowid, label])
>
> _add_hv_row(HV_QEMU, "qemu", "QEMU/KVM")
> - _add_hv_row(HV_QEMU_SESSION, "qemu", "QEMU/KVM user session")
> + _add_hv_row(HV_QEMU_SESSION, "qemu", "QEMU/KVM " + _("user session"))
> _add_hv_row(HV_XEN, "xen", "Xen")
> - _add_hv_row(HV_LXC, "lxc", "LXC (Linux Containers)")
> + _add_hv_row(HV_LXC, "lxc", "LXC (" + _("Linux Containers") + ")")
> _add_hv_row(HV_BHYVE, "bhyve", "Bhyve")
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 1)
> @@ -176,7 +176,7 @@ class vmmConnect(vmmGObjectUI):
> model = Gtk.ListStore(str)
> model.append(["SSH"])
> model.append(["TCP (SASL, Kerberos)"])
> - model.append(["SSL/TLS with certificates"])
> + model.append(["SSL/TLS " + _("with certificates)"])
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 0)
>
> diff --git a/virtManager/connectauth.py b/virtManager/connectauth.py
> index 03cd067..635fce7 100644
> --- a/virtManager/connectauth.py
> +++ b/virtManager/connectauth.py
> @@ -81,7 +81,7 @@ def _creds_dialog_main(conn, creds):
> """
> from gi.repository import Gtk
>
> - dialog = Gtk.Dialog("Authentication required", None, 0,
> + dialog = Gtk.Dialog(_("Authentication required"), None, 0,
> (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
> Gtk.STOCK_OK, Gtk.ResponseType.OK))
> label = []
> diff --git a/virtManager/connection.py b/virtManager/connection.py
> index bd604b9..8f4def2 100644
> --- a/virtManager/connection.py
> +++ b/virtManager/connection.py
> @@ -414,7 +414,7 @@ class vmmConnection(vmmGObject):
> ret = hv
>
> if is_session:
> - ret += " User session"
> + ret += _(" User session")
I would remove the leading space from the translation, so " " + _(...)
> elif (path and path != "/system" and os.path.basename(path)):
> # Used by test URIs to report what XML file they are using
> ret += " %s" % os.path.basename(path)
> diff --git a/virtManager/console.py b/virtManager/console.py
> index 217df3d..3a1338e 100644
> --- a/virtManager/console.py
> +++ b/virtManager/console.py
> @@ -871,9 +871,9 @@ class vmmConsolePages(vmmGObjectUI):
>
> for dev in devs:
> if dev.virtual_device_type == "console":
> - label = "Text Console %d" % (dev.vmmindex + 1)
> + label = _("Text Console %d") % (dev.vmmindex + 1)
> else:
> - label = "Serial %d" % (dev.vmmindex + 1)
> + label = _("Serial %d") % (dev.vmmindex + 1)
>
> tooltip = vmmSerialConsole.can_connect(self.vm, dev)
> sensitive = not bool(tooltip)
> diff --git a/virtManager/createinterface.py b/virtManager/createinterface.py
> index 7be5800..a0aa4ff 100644
> --- a/virtManager/createinterface.py
> +++ b/virtManager/createinterface.py
> @@ -294,16 +294,16 @@ class vmmCreateInterface(vmmGObjectUI):
> ip_mode.set_model(ip_model)
> uiutil.init_combo_text_column(ip_mode, 0)
> ip_model.insert(IP_DHCP, ["DHCP"])
> - ip_model.insert(IP_STATIC, ["Static"])
> - ip_model.insert(IP_NONE, ["No configuration"])
> + ip_model.insert(IP_STATIC, [_("Static")])
> + ip_model.insert(IP_NONE, [_("No configuration")])
>
> ip_mode = self.widget("ipv6-mode")
> ip_model = Gtk.ListStore(str)
> ip_mode.set_model(ip_model)
> uiutil.init_combo_text_column(ip_mode, 0)
> ip_model.insert(IP_DHCP, ["DHCP"])
> - ip_model.insert(IP_STATIC, ["Static"])
> - ip_model.insert(IP_NONE, ["No configuration"])
> + ip_model.insert(IP_STATIC, [_("Static")])
> + ip_model.insert(IP_NONE, [_("No configuration")])
>
> v6_addr = self.widget("ipv6-address-list")
> addr_model = Gtk.ListStore(str)
> @@ -432,9 +432,9 @@ class vmmCreateInterface(vmmGObjectUI):
> # We only want configured (aka interface API) interfaces with
> # actually present <protocol> info
> if not is_defined or not iface_obj:
> - label += " (Not configured)"
> + label += " (" + _("Not configured") + ")"
> elif not iface_obj.get_protocol_xml():
> - label += " (No IP configuration)"
> + label += " (" + _("No IP configuration") + ")"
> else:
> sensitive = True
>
> @@ -449,7 +449,7 @@ class vmmCreateInterface(vmmGObjectUI):
> copy_model.append(row)
>
> if len(copy_model) == 0:
> - copy_model.append(["No child interfaces selected.", None, False])
> + copy_model.append([_("No child interfaces selected."), None, False])
>
> if not enable_copy:
> copy_model.clear()
> @@ -721,7 +721,7 @@ class vmmCreateInterface(vmmGObjectUI):
>
> if is_manual:
> if ipv4:
> - label += "IPv4: %s" % (ipv4.dhcp and "DHCP" or "Static")
> + label += "IPv4: %s" % (ipv4.dhcp and "DHCP" or _("Static"))
>
> if ipv6:
> if label:
> @@ -730,22 +730,22 @@ class vmmCreateInterface(vmmGObjectUI):
>
> mode_label = ""
> if ipv6.autoconf and ipv6.dhcp:
> - mode_label += "Autoconf "
> + mode_label += _("Autoconf") + " "
>
> if ipv6.dhcp:
> mode_label += "DHCP"
>
> if not mode_label:
> - mode_label = "Static"
> + mode_label = _("Static")
>
> label += mode_label
>
> else:
> if name:
> - label = "Copy configuration from '%s'" % name
> + label = _("Copy configuration from '%s'") % name
>
> if not label:
> - label = "No configuration"
> + label = _("No configuration")
>
> self.widget("ip-config-label").set_text(label)
>
> diff --git a/virtManager/details.py b/virtManager/details.py
> index 3dbd82f..58c8f68 100644
> --- a/virtManager/details.py
> +++ b/virtManager/details.py
> @@ -751,7 +751,7 @@ class vmmDetails(vmmGObjectUI):
> hw_list_model = Gtk.ListStore(str, str, int, int, object)
> self.widget("hw-list").set_model(hw_list_model)
>
> - hwCol = Gtk.TreeViewColumn("Hardware")
> + hwCol = Gtk.TreeViewColumn(_("Hardware"))
> hwCol.set_spacing(6)
> hwCol.set_min_width(165)
> hw_txt = Gtk.CellRendererText()
> @@ -1496,7 +1496,7 @@ class vmmDetails(vmmGObjectUI):
>
> path = self.err.browse_local(
> self.vm.conn, _("Save Virtual Machine Screenshot"),
> - _type=("png", "PNG files"),
> + _type=("png", _("PNG files")),
> dialog_type=Gtk.FileChooserAction.SAVE,
> browse_reason=self.config.CONFIG_DIR_SCREENSHOT,
> default_name=default)
> @@ -2884,7 +2884,7 @@ class vmmDetails(vmmGObjectUI):
> uiutil.set_grid_row_visible(
> self.widget("hostdev-rombar"), hostdev.type == "pci")
>
> - devlabel = "<b>Physical %s Device</b>" % hostdev.type.upper()
> + devlabel = "<b>" + _("Physical %s Device") + "</b>" % hostdev.type.upper()
> self.widget("hostdev-title").set_markup(devlabel)
> self.widget("hostdev-source").set_text(pretty_name)
> self.widget("hostdev-rombar").set_active(rom_bar)
> @@ -3148,10 +3148,10 @@ class vmmDetails(vmmGObjectUI):
> def _make_boot_rows(self):
> if not self.vm.can_use_device_boot_order():
> return [
> - ["hd", "Hard Disk", "drive-harddisk", False, True],
> - ["cdrom", "CDROM", "media-optical", False, True],
> - ["network", "Network (PXE)", "network-idle", False, True],
> - ["fd", "Floppy", "media-floppy", False, True],
> + ["hd", _("Hard Disk"), "drive-harddisk", False, True],
> + ["cdrom", _("CDROM"), "media-optical", False, True],
> + ["network", _("Network (PXE)"), "network-idle", False, True],
> + ["fd", _("Floppy"), "media-floppy", False, True],
> ]
>
> ret = []
> diff --git a/virtManager/error.py b/virtManager/error.py
> index 5a838f7..af235be 100644
> --- a/virtManager/error.py
> +++ b/virtManager/error.py
> @@ -134,7 +134,7 @@ class vmmErrorDialog(vmmGObject):
> modal=modal)
>
> def val_err(self, text1, text2=None, title=_("Input Error"), modal=True):
> - logtext = "Validation Error: %s" % text1
> + logtext = _("Validation Error: %s") % text1
> if text2:
> logtext += " %s" % text2
>
> diff --git a/virtManager/gfxdetails.py b/virtManager/gfxdetails.py
> index 702c822..0ae76c9 100644
> --- a/virtManager/gfxdetails.py
> +++ b/virtManager/gfxdetails.py
> @@ -91,9 +91,9 @@ class vmmGraphicsDetails(vmmGObjectUI):
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 1)
>
> - model.append(["auto", "Auto"])
> + model.append(["auto", _("Auto")])
> model.append([virtinst.VirtualGraphics.KEYMAP_LOCAL,
> - "Copy local keymap"])
> + _("Copy local keymap")])
> for k in virtinst.VirtualGraphics.valid_keymaps():
> model.append([k, k])
>
> diff --git a/virtManager/host.py b/virtManager/host.py
> index 3c4a1bd..00ba4d8 100644
> --- a/virtManager/host.py
> +++ b/virtManager/host.py
> @@ -154,7 +154,7 @@ class vmmHost(vmmGObjectUI):
> sel = self.widget("net-list").get_selection()
> sel.set_select_function((lambda *x: self.confirm_changes()), None)
>
> - netCol = Gtk.TreeViewColumn("Networks")
> + netCol = Gtk.TreeViewColumn(_("Networks"))
> netCol.set_spacing(6)
> net_txt = Gtk.CellRendererText()
> net_img = Gtk.CellRendererPixbuf()
> @@ -182,7 +182,7 @@ class vmmHost(vmmGObjectUI):
> sel = self.widget("interface-list").get_selection()
> sel.set_select_function((lambda *x: self.confirm_changes()), None)
>
> - interfaceCol = Gtk.TreeViewColumn("Interfaces")
> + interfaceCol = Gtk.TreeViewColumn(_("Interfaces"))
> interfaceCol.set_spacing(6)
> interface_txt = Gtk.CellRendererText()
> interface_img = Gtk.CellRendererPixbuf()
> @@ -204,14 +204,14 @@ class vmmHost(vmmGObjectUI):
> childList = self.widget("interface-child-list")
> childList.set_model(childListModel)
>
> - childNameCol = Gtk.TreeViewColumn("Name")
> + childNameCol = Gtk.TreeViewColumn(_("Name"))
> child_txt1 = Gtk.CellRendererText()
> childNameCol.pack_start(child_txt1, True)
> childNameCol.add_attribute(child_txt1, 'text', 0)
> childNameCol.set_sort_column_id(0)
> childList.append_column(childNameCol)
>
> - childTypeCol = Gtk.TreeViewColumn("Interface Type")
> + childTypeCol = Gtk.TreeViewColumn(_("Interface Type"))
> child_txt2 = Gtk.CellRendererText()
> childTypeCol.pack_start(child_txt2, True)
> childTypeCol.add_attribute(child_txt2, 'text', 1)
> @@ -874,7 +874,7 @@ class vmmHost(vmmGObjectUI):
> self.widget("interface-ipv6-expander").set_visible(bool(ipv6))
>
> if ipv4:
> - mode = ipv4[0] and "DHCP" or "Static"
> + mode = ipv4[0] and "DHCP" or _("Static")
> addr = ipv4[1] or "-"
> self.widget("interface-ipv4-mode").set_text(mode)
> self.widget("interface-ipv4-address").set_text(addr)
> @@ -882,12 +882,12 @@ class vmmHost(vmmGObjectUI):
> if ipv6:
> mode = ""
> if ipv6[1]:
> - mode = "Autoconf "
> + mode = _("Autoconf") + " "
>
> if ipv6[0]:
> mode += "DHCP"
> else:
> - mode = "Static"
> + mode = _("Static")
>
> addrstr = "-"
> if ipv6[2]:
> diff --git a/virtManager/interface.py b/virtManager/interface.py
> index dc6f4da..3af5974 100644
> --- a/virtManager/interface.py
> +++ b/virtManager/interface.py
> @@ -98,7 +98,7 @@ class vmmInterface(vmmLibvirtObject):
> elif itype:
> return str(itype).capitalize()
> else:
> - return "Interface"
> + return _("Interface")
>
> def get_startmode(self):
> return self.get_xmlobj(inactive=True).start_mode or "none"
> @@ -109,7 +109,7 @@ class vmmInterface(vmmLibvirtObject):
> self._redefine_xmlobj(xmlobj)
>
> def get_slaves(self):
> - return [[obj.name, obj.type or "Unknown"] for obj in
> + return [[obj.name, obj.type or _("Unknown")] for obj in
> self.get_xmlobj().interfaces]
>
> def get_slave_names(self):
> diff --git a/virtManager/libvirtobject.py b/virtManager/libvirtobject.py
> index 8df1239..933a61f 100644
> --- a/virtManager/libvirtobject.py
> +++ b/virtManager/libvirtobject.py
> @@ -211,8 +211,8 @@ class vmmLibvirtObject(vmmGObject):
>
> def run_status(self):
> if self.is_active():
> - return "Active"
> - return "Inactive"
> + return _("Active")
> + return _("Inactive")
>
> def _refresh_status(self, newstatus=None, cansignal=True):
> """
> diff --git a/virtManager/netlist.py b/virtManager/netlist.py
> index 013ee4e..58f3c9a 100644
> --- a/virtManager/netlist.py
> +++ b/virtManager/netlist.py
> @@ -90,10 +90,10 @@ class vmmNetworkList(vmmGObjectUI):
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 1)
>
> - model.append(["bridge", "Bridge"])
> - model.append(["vepa", "VEPA"])
> - model.append(["private", "Private"])
> - model.append(["passthrough", "Passthrough"])
> + model.append(["bridge", _("Bridge")])
> + model.append(["vepa", _("VEPA")])
Another acronym
> + model.append(["private", _("Private")])
> + model.append(["passthrough", _("Passthrough")])
> combo.set_active(0)
>
> combo = self.widget("net-portgroup")
> diff --git a/virtManager/preferences.py b/virtManager/preferences.py
> index db20a8b..2f77e86 100644
> --- a/virtManager/preferences.py
> +++ b/virtManager/preferences.py
> @@ -131,7 +131,7 @@ class vmmPreferences(vmmGObjectUI):
> model = Gtk.ListStore(str, str)
> for row in [["system", _("System default (%s)") %
> self.config.default_graphics_from_config],
> - ["vnc", "VNC"], ["spice", "Spice"]]:
> + ["vnc", _("VNC")], ["spice", _("Spice")]]:
VNC shouldn't be translated I wouldn't think, maybe not spice either since
it's likely to be mis-translated
> model.append(row)
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 1)
> @@ -141,7 +141,7 @@ class vmmPreferences(vmmGObjectUI):
> model = Gtk.ListStore(str, str)
> for row in [["system", _("System default (%s)") %
> self.config.default_add_spice_usbredir],
> - ["yes", "Yes"], ["no", "No"]]:
> + ["yes", _("Yes")], ["no", _("No")]]:
> model.append(row)
> combo.set_model(model)
> uiutil.init_combo_text_column(combo, 1)
> diff --git a/virtManager/storagelist.py b/virtManager/storagelist.py
> index f21926e..8a34e7f 100644
> --- a/virtManager/storagelist.py
> +++ b/virtManager/storagelist.py
> @@ -178,7 +178,7 @@ class vmmStorageList(vmmGObjectUI):
> volListModel = Gtk.ListStore(str, str, str, str, str, str, bool)
> self.widget("vol-list").set_model(volListModel)
>
> - volCol = Gtk.TreeViewColumn("Volumes")
> + volCol = Gtk.TreeViewColumn(_("Volumes"))
> vol_txt1 = Gtk.CellRendererText()
> volCol.pack_start(vol_txt1, True)
> volCol.add_attribute(vol_txt1, 'text', VOL_COLUMN_NAME)
> @@ -186,7 +186,7 @@ class vmmStorageList(vmmGObjectUI):
> volCol.set_sort_column_id(VOL_COLUMN_NAME)
> self.widget("vol-list").append_column(volCol)
>
> - volSizeCol = Gtk.TreeViewColumn("Size")
> + volSizeCol = Gtk.TreeViewColumn(_("Size"))
> vol_txt2 = Gtk.CellRendererText()
> volSizeCol.pack_start(vol_txt2, False)
> volSizeCol.add_attribute(vol_txt2, 'text', VOL_COLUMN_SIZESTR)
> @@ -195,7 +195,7 @@ class vmmStorageList(vmmGObjectUI):
> self.widget("vol-list").append_column(volSizeCol)
> volListModel.set_sort_func(VOL_COLUMN_CAPACITY, self._cap_sort_func)
>
> - volFormatCol = Gtk.TreeViewColumn("Format")
> + volFormatCol = Gtk.TreeViewColumn(_("Format"))
> vol_txt3 = Gtk.CellRendererText()
> volFormatCol.pack_start(vol_txt3, False)
> volFormatCol.add_attribute(vol_txt3, 'text', VOL_COLUMN_FORMAT)
> @@ -203,7 +203,7 @@ class vmmStorageList(vmmGObjectUI):
> volFormatCol.set_sort_column_id(VOL_COLUMN_FORMAT)
> self.widget("vol-list").append_column(volFormatCol)
>
> - volUseCol = Gtk.TreeViewColumn("Used By")
> + volUseCol = Gtk.TreeViewColumn(_("Used By"))
> vol_txt4 = Gtk.CellRendererText()
> volUseCol.pack_start(vol_txt4, False)
> volUseCol.add_attribute(vol_txt4, 'text', VOL_COLUMN_INUSEBY)
> @@ -220,7 +220,7 @@ class vmmStorageList(vmmGObjectUI):
> poolListModel = Gtk.ListStore(str, str, bool, str)
> pool_list.set_model(poolListModel)
>
> - poolCol = Gtk.TreeViewColumn("Storage Pools")
> + poolCol = Gtk.TreeViewColumn(_("Storage Pools"))
> pool_txt = Gtk.CellRendererText()
> pool_per = Gtk.CellRendererText()
> poolCol.pack_start(pool_per, False)
> diff --git a/virtinst/cloner.py b/virtinst/cloner.py
> index 764388a..c58521b 100644
> --- a/virtinst/cloner.py
> +++ b/virtinst/cloner.py
> @@ -83,7 +83,7 @@ class Cloner(object):
> if self._lookup_vm(original_guest):
> self._original_guest = original_guest
> original_guest = property(get_original_guest, set_original_guest,
> - doc="Original guest name.")
> + doc=_("Original guest name."))
>
> def set_original_xml(self, val):
> if type(val) is not str:
> @@ -94,7 +94,7 @@ class Cloner(object):
> def get_original_xml(self):
> return self._original_xml
> original_xml = property(get_original_xml, set_original_xml,
> - doc="XML of the original guest.")
> + doc=_("XML of the original guest."))
>
> def get_clone_name(self):
> return self._clone_name
> @@ -108,7 +108,7 @@ class Cloner(object):
>
> self._clone_name = name
> clone_name = property(get_clone_name, set_clone_name,
> - doc="Name to use for the new guest clone.")
> + doc=_("Name to use for the new guest clone."))
>
> def set_clone_uuid(self, uuid):
> try:
> @@ -123,7 +123,7 @@ class Cloner(object):
> def get_clone_uuid(self):
> return self._clone_uuid
> clone_uuid = property(get_clone_uuid, set_clone_uuid,
> - doc="UUID to use for the new guest clone")
> + doc=_("UUID to use for the new guest clone"))
>
> def set_clone_paths(self, paths):
> disklist = []
> @@ -154,13 +154,13 @@ class Cloner(object):
> def get_clone_paths(self):
> return [d.path for d in self.clone_disks]
> clone_paths = property(get_clone_paths, set_clone_paths,
> - doc="Paths to use for the new disk locations.")
> + doc=_("Paths to use for the new disk locations."))
>
> def get_clone_disks(self):
> return self._clone_disks
> clone_disks = property(get_clone_disks,
> - doc="VirtualDisk instances for the new"
> - " disk paths")
> + doc=_("VirtualDisk instances for the new"
> + " disk paths"))
>
> def set_clone_macs(self, mac):
> maclist = util.listify(mac)
> @@ -173,43 +173,43 @@ class Cloner(object):
> def get_clone_macs(self):
> return self._clone_macs
> clone_macs = property(get_clone_macs, set_clone_macs,
> - doc="MAC address for the new guest clone.")
> + doc=_("MAC address for the new guest clone."))
>
> def get_original_disks(self):
> return self._original_disks
> original_disks = property(get_original_disks,
> - doc="VirtualDisk instances of the "
> - "original disks being cloned.")
> + doc=_("VirtualDisk instances of the "
> + "original disks being cloned."))
>
> def get_clone_xml(self):
> return self._clone_xml
> def set_clone_xml(self, clone_xml):
> self._clone_xml = clone_xml
> clone_xml = property(get_clone_xml, set_clone_xml,
> - doc="Generated XML for the guest clone.")
> + doc=_("Generated XML for the guest clone."))
>
> def get_clone_sparse(self):
> return self._clone_sparse
> def set_clone_sparse(self, flg):
> self._clone_sparse = flg
> clone_sparse = property(get_clone_sparse, set_clone_sparse,
> - doc="Whether to attempt sparse allocation during "
> - "cloning.")
> + doc=_("Whether to attempt sparse allocation during "
> + "cloning."))
>
> def get_preserve(self):
> return self._preserve
> def set_preserve(self, flg):
> self._preserve = flg
> preserve = property(get_preserve, set_preserve,
> - doc="If true, preserve ALL original disk devices.")
> + doc=_("If true, preserve ALL original disk devices."))
>
> def get_preserve_dest_disks(self):
> return not self.preserve
> preserve_dest_disks = property(get_preserve_dest_disks,
> - doc="If true, preserve ALL disk devices for the "
> - "NEW guest. This means no storage cloning. "
> - "This is a convenience access for "
> - "(not Cloner.preserve)")
> + doc=_("If true, preserve ALL disk devices for the "
> + "NEW guest. This means no storage cloning. "
> + "This is a convenience access for "
> + "(not Cloner.preserve)"))
>
> def set_force_target(self, dev):
> if type(dev) is list:
> @@ -219,8 +219,8 @@ class Cloner(object):
> def get_force_target(self):
> return self._force_target
> force_target = property(get_force_target, set_force_target,
> - doc="List of disk targets that we force cloning "
> - "despite Cloner's recommendation.")
> + doc=_("List of disk targets that we force cloning "
> + "despite Cloner's recommendation."))
>
> def set_skip_target(self, dev):
> if type(dev) is list:
> @@ -230,9 +230,9 @@ class Cloner(object):
> def get_skip_target(self):
> return self._skip_target
> skip_target = property(get_skip_target, set_skip_target,
> - doc="List of disk targets that we skip cloning "
> - "despite Cloner's recommendation. This "
> - "takes precedence over force_target.")
> + doc=_("List of disk targets that we skip cloning "
> + "despite Cloner's recommendation. This "
> + "takes precedence over force_target."))
>
> def set_clone_policy(self, policy_list):
> if type(policy_list) != list:
> @@ -241,31 +241,31 @@ class Cloner(object):
> def get_clone_policy(self):
> return self._clone_policy
> clone_policy = property(get_clone_policy, set_clone_policy,
> - doc="List of policy rules for determining which "
> - "vm disks to clone. See CLONE_POLICY_*")
> + doc=_("List of policy rules for determining which "
> + "vm disks to clone. See CLONE_POLICY_*"))
>
> def get_clone_running(self):
> return self._clone_running
> def set_clone_running(self, val):
> self._clone_running = bool(val)
> clone_running = property(get_clone_running, set_clone_running,
> - doc="Allow cloning a running VM. If enabled, "
> - "domain state is not checked before "
> - "cloning.")
> + doc=_("Allow cloning a running VM. If enabled, "
> + "domain state is not checked before "
> + "cloning."))
>
> def _get_replace(self):
> return self._replace
> def _set_replace(self, val):
> self._replace = bool(val)
> replace = property(_get_replace, _set_replace,
> - doc="If enabled, don't check for clone name collision, "
> - "simply undefine any conflicting guest.")
> + doc=_("If enabled, don't check for clone name collision, "
> + "simply undefine any conflicting guest."))
> def _get_reflink(self):
> return self._reflink
> def _set_reflink(self, reflink):
> self._reflink = reflink
> reflink = property(_get_reflink, _set_reflink,
> - doc="If true, use COW lightweight copy")
> + doc=_("If true, use COW lightweight copy"))
>
None of these doc strings should be translated. In fact they should be pulled
out of the propery() definition and just made regular python doc comments
> # Functional methods
>
> @@ -544,7 +544,7 @@ class Cloner(object):
> newd.target = disk.target
> if validate:
> if newd.wants_storage_creation():
> - raise ValueError("Disk path '%s' does not exist." %
> + raise ValueError(_("Disk path '%s' does not exist.") %
> newd.path)
> except Exception, e:
> logging.debug("Exception creating clone disk objects",
> @@ -560,7 +560,7 @@ class Cloner(object):
> # Cloning policy based on 'clone_policy', 'force_target' and 'skip_target'
> def _do_we_clone_device(self, disk):
> if not disk.target:
> - raise ValueError("XML has no 'dev' attribute in disk target")
> + raise ValueError(_("XML has no 'dev' attribute in disk target"))
>
> if disk.target in self.skip_target:
> return False
> diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py
> index 591c93b..c7cd04d 100644
> --- a/virtinst/devicedisk.py
> +++ b/virtinst/devicedisk.py
> @@ -489,8 +489,8 @@ class VirtualDisk(VirtualDevice):
> def _set_path(self, newpath):
> if (self._storage_backend and
> self._storage_backend.will_create_storage()):
> - raise ValueError("Can't change disk path if storage creation info "
> - "has been set.")
> + raise ValueError(_("Can't change disk path if storage creation info "
> + "has been set."))
>
> # User explicitly changed 'path', so try to lookup its storage
> # object since we may need it
> diff --git a/virtinst/devicehostdev.py b/virtinst/devicehostdev.py
> index 8a4c881..34c00b0 100644
> --- a/virtinst/devicehostdev.py
> +++ b/virtinst/devicehostdev.py
> @@ -79,7 +79,7 @@ class VirtualHostDevice(VirtualDevice):
> self.managed = False
>
> else:
> - raise ValueError("Unknown node device type %s" % nodedev)
> + raise ValueError(_("Unknown node device type %s") % nodedev)
>
> def pretty_name(self):
> def dehex(val):
> diff --git a/virtinst/devicerng.py b/virtinst/devicerng.py
> index 7ed66b7..974735f 100644
> --- a/virtinst/devicerng.py
> +++ b/virtinst/devicerng.py
> @@ -52,8 +52,8 @@ class VirtualRNGDevice(VirtualDevice):
>
> @staticmethod
> def get_pretty_mode(mode):
> - return {"bind" : "Bind",
> - "connect": "Connect"}.get(mode) or mode
> + return {"bind" : _("Bind"),
> + "connect": _("Connect")}.get(mode) or mode
>
> def supports_property(self, propname):
> """
> diff --git a/virtinst/network.py b/virtinst/network.py
> index a008f94..1a2db5e 100644
> --- a/virtinst/network.py
> +++ b/virtinst/network.py
> @@ -160,9 +160,9 @@ class Network(XMLBuilder):
> desc = _("Routed network")
> else:
> if dev:
> - desc = "%s to %s" % (mode, dev)
> + desc = _("%s to %s") % (mode, dev)
This is untranslatable. You'll have to use the %(READABLE-NAME)s format so the
translator has some context
> else:
> - desc = "%s network" % mode.capitalize()
> + desc = _("%s network") % mode.capitalize()
> else:
> desc = _("Isolated network, internal and host routing only")
>
> diff --git a/virtinst/seclabel.py b/virtinst/seclabel.py
> index 99a22d6..10bf4e8 100644
> --- a/virtinst/seclabel.py
> +++ b/virtinst/seclabel.py
> @@ -62,7 +62,7 @@ class Seclabel(XMLBuilder):
> if imagelabel:
> imglab_len = min(3, len(imagelabel.split(':')))
> if lab_len and imglab_len and lab_len != imglab_len:
> - raise ValueError("Label and Imagelabel are incompatible")
> + raise ValueError(_("Label and Imagelabel are incompatible"))
>
> lab_len = lab_len or imglab_len
> if lab_len == 3:
> @@ -70,7 +70,7 @@ class Seclabel(XMLBuilder):
> elif lab_len == 2:
> return self.MODEL_DAC
> else:
> - raise ValueError("Unknown model type for label '%s'" % self.label)
> + raise ValueError(_("Unknown model type for label '%s'") % self.label)
> def _get_default_model(self):
> if self.type is None or self.type == self.TYPE_DEFAULT:
> return None
> diff --git a/virtinst/support.py b/virtinst/support.py
> index 4b3a945..6baba15 100644
> --- a/virtinst/support.py
> +++ b/virtinst/support.py
> @@ -107,7 +107,7 @@ def _check_function(function, flag, run_args, data):
> classobj = _get_command(object_name)
> if not isinstance(data, classobj):
> raise ValueError(
> - "Passed obj %s with args must be of type %s, was %s" %
> + _("Passed obj %s with args must be of type %s, was %s") %
> (data, str(classobj), type(data)))
>
This is really a coding error so I don't think is worth translating.
> cmd = _get_command(function_name, obj=data)
>
Thanks,
Cole
More information about the virt-tools-list
mailing list