Trying to fix the translations

This commit is contained in:
Sergio Costas 2025-01-18 21:04:40 +01:00
parent eebf4b5370
commit 887e0b17c0
4 changed files with 143 additions and 127 deletions

View file

@ -20,17 +20,33 @@ import subprocess
import devedeng.configuration_data
import defusedxml.ElementTree as etree
def builder_from_filename(ui_filename):
config = devedeng.configuration_data.configuration.get_config()
with open(os.path.join(config.glade, ui_filename)) as ui_file:
ui_xml = etree.parse(ui_file)
for node in ui_xml.findall(".//*[@translatable='yes']"):
print(f"Translate {node.text}")
node.text = _(node.text) if node.text else ""
print(f"Translated {node.text}")
del node.attrib["translatable"]
ui_xml_translated = etree.tostring(ui_xml.getroot(), encoding="unicode", method="xml")
builder = Gtk.Builder()
builder.set_translation_domain(config.gettext_domain)
builder.add_from_string(ui_xml_translated)
return builder
class choose_disc_type(GObject.GObject):
def __init__(self):
self.config = devedeng.configuration_data.configuration.get_config()
builder = Gtk.Builder()
builder.set_translation_domain(self.config.gettext_domain)
builder = builder_from_filename("wselect_disk.ui")
builder.add_from_file(os.path.join(
self.config.glade, "wselect_disk.ui"))
builder.connect_signals(self)
self.wask_window = builder.get_object("wselect_disk")