Die Suchpfade findet man hiermit
print(QIcon.themeSearchPaths())Ausgabe
['/home/frank/.icons', '/usr/share/cinnamon/icons', '/var/lib/flatpak/exports/share/icons', '/usr/share/icons', ':/icons']Ok, hier mal kurz was zum Thema, wie man ein GUI, z.B. mein Restic UI ;), mehrsprachig gestalten kann. Dazu bin ich über eine tolle Anleitung gestolpert.
Learn how to use the GNU gettext module, bundled with Python's official standard library, to get your Python i18n and l10n development going.
Phrase (phrase.com)
Es gibt in Python das Modul gettext, damit kann man seine Anwendung mehrsprachig gestalten. Das ist gar nicht so einfach, wie ich mir das am Anfang vorgestellt habe. Heute hier an dieser Stelle nur ein paar Notizen, ich werde evt. später darauf nochmal eingehen.
Die Ordnerstruktur
base.pot
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-26 17:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/frank/restic_ui/src/restic_ui.py:130
msgid "This is a translatable string."
msgstr ""
#: /home/frank/restic_ui/src/restic_ui.py:4118
msgid "Restic version"
msgstr ""
base.po (DE)
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-26 16:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/frank/restic_ui/src/restic_ui.py:127
msgid "This is a translatable string."
msgstr "TESTING"
#: /home/frank/restic_ui/src/restic_ui.py:4109
msgid "Restic version"
msgstr "Anzeige der Restic version"
Und zwei Befehle, die man dazu noch benötigt.
msgfmt -o base.mo base
pygettext3.8 -d base -o /home/frank/restic_ui/locales/base.pot /home/frank/restic_ui/src/restic_ui.py
Jetzt muss ich mir noch Gedanken darüber machen, ob ich das brauche und so umsetze.