From 52d7ee4ba1b38c79153b47fe95d395801ffb4c25 Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Fri, 28 Aug 2026 14:50:11 +0200 Subject: [PATCH] Update build and translation handling --- Makefile | 35 +++++- locale/de.po | 305 ++++++++++++++++++++++++++++++++++++++++++++++----- ymsgui.py | 4 +- 3 files changed, 311 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index 66b1281..94608a8 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,29 @@ -# Translation helper +# Targets +.PHONY: all prepare translation orig deb clean +# Package information +VERSION := $(shell dpkg-parsechangelog -S Version | sed 's/-.*//') +PACKAGE := yms + +# Default target +all: prepare + +# Debian source archive +orig: + git archive \ + --format=tar \ + --prefix=$(PACKAGE)-$(VERSION)/ \ + HEAD \ + ':(exclude)debian' \ + ':(exclude)locale/*.pot' \ + ':(exclude)locale/de/LC_MESSAGES' \ + | xz -9 > ../$(PACKAGE)_$(VERSION).orig.tar.xz + +# Debian package +deb: orig + dpkg-buildpackage -us -uc + +# Translation files prepare: ymsgui.py yms/*.py yms/ui/*.ui xgettext -L Python -o locale/program.pot ymsgui.py yms/*.py xgettext -L Glade -o locale/ui.pot yms/ui/*.ui @@ -11,3 +35,12 @@ translation: locale/de/LC_MESSAGES/ymsgui.mo locale/de/LC_MESSAGES/ymsgui.mo: locale/de.po mkdir -p locale/de/LC_MESSAGES msgfmt locale/de.po -o locale/de/LC_MESSAGES/ymsgui.mo + +# Clean generated files +clean: + rm -f locale/program.pot + rm -f locale/ui.pot + rm -f locale/combined.pot + rm -f locale/de/LC_MESSAGES/ymsgui.mo + + \ No newline at end of file diff --git a/locale/de.po b/locale/de.po index c5fb25f..028867a 100644 --- a/locale/de.po +++ b/locale/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: YMS 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 11:50+0200\n" +"POT-Creation-Date: 2026-08-28 14:39+0200\n" "PO-Revision-Date: 2025-05-15 09:05+0200\n" "Last-Translator: Thomas Hooge \n" "Language-Team: de \n" @@ -16,80 +16,325 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ymsgui.py:150 -msgid "Configuration file not found" -msgstr "Konfigurationsdatei nicht gefunden" +#: ymsgui.py:148 +msgid "" +"Delete user!\n" +"Are you sure?" +msgstr "" -#: ymsgui.py:172 -msgid "Database connection cannot be established" +#: ymsgui.py:254 +msgid "" +"Configuration file '{}' not found.\n" +"Default configuration has been created.\n" +"Please edit that file according to your needs.\n" +"\n" +"Then restart this program." +msgstr "" + +#: ymsgui.py:277 +#, fuzzy +msgid "" +"Database connection cannot be established.\n" +"\n" +"Server: {}\n" +"Database: {}\n" +"Error: {} ({})" msgstr "Datenbankverbindung kann nicht hergestellt werden" #: yms/ui/main.ui:7 msgid "YMS" msgstr "" -#: yms/ui/main.ui:28 +#: yms/ui/main.ui:31 msgid "empty" msgstr "leer" -#: yms/ui/main.ui:56 +#: yms/ui/main.ui:61 yms/ui/main.ui:1081 yms/ui/main.ui:2195 msgid "Name" msgstr "" -#: yms/ui/main.ui:77 +#: yms/ui/main.ui:82 yms/ui/main.ui:1134 msgid "Model" msgstr "Modell" -#: yms/ui/main.ui:119 +#: yms/ui/main.ui:113 +msgid "Add" +msgstr "" + +#: yms/ui/main.ui:126 yms/ui/main.ui:452 yms/ui/main.ui:1322 +msgid "Save" +msgstr "" + +#: yms/ui/main.ui:150 msgid "Vessel" msgstr "Boot" -#: yms/ui/main.ui:148 -msgid "Lists" -msgstr "Listen" - -#: yms/ui/main.ui:186 -msgid "Ok" +#: yms/ui/main.ui:194 yms/ui/main.ui:874 yms/ui/main.ui:1544 +#: yms/ui/main.ui:1859 yms/ui/main.ui:2068 yms/ui/main.ui:2298 +#: yms/ui/main.ui:2528 +msgid "New" msgstr "" -#: yms/ui/main.ui:207 +#: yms/ui/main.ui:208 yms/ui/main.ui:1013 yms/ui/main.ui:1885 +#: yms/ui/main.ui:2094 yms/ui/main.ui:2324 yms/ui/main.ui:2554 +msgid "Delete" +msgstr "" + +#: yms/ui/main.ui:247 +msgid "Login" +msgstr "" + +#: yms/ui/main.ui:258 +msgid "Displayname" +msgstr "" + +#: yms/ui/main.ui:289 +msgid "Role" +msgstr "" + +#: yms/ui/main.ui:300 +msgid "Language" +msgstr "" + +#: yms/ui/main.ui:331 +msgid "Password" +msgstr "" + +#: yms/ui/main.ui:350 +msgid "Create" +msgstr "" + +#: yms/ui/main.ui:363 +msgid "Locked" +msgstr "" + +#: yms/ui/main.ui:376 +msgid "Deleted" +msgstr "" + +#: yms/ui/main.ui:486 msgid "User" msgstr "Benutzer" -#: yms/ui/main.ui:220 +#: yms/ui/main.ui:526 yms/ui/main.ui:901 yms/ui/main.ui:1570 +msgid "Details" +msgstr "" + +#: yms/ui/main.ui:539 yms/ui/main.ui:887 yms/ui/main.ui:1027 +#: yms/ui/main.ui:1557 yms/ui/main.ui:1872 yms/ui/main.ui:2081 +#: yms/ui/main.ui:2311 yms/ui/main.ui:2541 +msgid "Edit" +msgstr "" + +#: yms/ui/main.ui:566 +msgid "Lists" +msgstr "Listen" + +#: yms/ui/main.ui:595 yms/ui/main.ui:923 yms/ui/main.ui:1591 +#: yms/ui/main.ui:1906 yms/ui/main.ui:2115 yms/ui/main.ui:2345 +#: yms/ui/main.ui:2575 +msgid "page0" +msgstr "" + +#: yms/ui/main.ui:607 +msgid "Companies" +msgstr "" + +#: yms/ui/main.ui:620 msgid "Base data" msgstr "Basisdaten" -#: yms/ui/main.ui:230 -msgid "" -"Equipment\n" -"Here be dragons" +#: yms/ui/main.ui:653 yms/ui/main.ui:1405 yms/ui/main.ui:1784 +#: yms/ui/main.ui:1951 yms/ui/main.ui:2160 yms/ui/main.ui:2390 +msgid "Clear" msgstr "" -#: yms/ui/main.ui:241 -msgid "Equipment" +#: yms/ui/main.ui:666 yms/ui/main.ui:1418 yms/ui/main.ui:1797 +#: yms/ui/main.ui:1964 yms/ui/main.ui:2173 yms/ui/main.ui:2403 +msgid "Apply" +msgstr "" + +#: yms/ui/main.ui:688 yms/ui/main.ui:1260 +msgid "Category" +msgstr "" + +#: yms/ui/main.ui:699 yms/ui/main.ui:1123 +msgid "Manufacturer" +msgstr "" + +#: yms/ui/main.ui:710 yms/ui/main.ui:1249 +msgid "Supplier" +msgstr "" + +#: yms/ui/main.ui:721 yms/ui/main.ui:1462 yms/ui/main.ui:1756 +#: yms/ui/main.ui:1997 yms/ui/main.ui:2447 +msgid "Text" +msgstr "" + +#: yms/ui/main.ui:732 +msgid "Flags" +msgstr "" + +#: yms/ui/main.ui:781 +msgid "ordered" +msgstr "" + +#: yms/ui/main.ui:794 +msgid "removed" +msgstr "" + +#: yms/ui/main.ui:807 +msgid "deleted" +msgstr "" + +#: yms/ui/main.ui:836 +#, fuzzy +msgid "Filter Equipment" msgstr "Ausrüstung" -#: yms/ui/main.ui:252 +#: yms/ui/main.ui:935 +#, fuzzy +msgid "Equipment details" +msgstr "Ausrüstung" + +#: yms/ui/main.ui:952 yms/ui/main.ui:963 yms/ui/main.ui:974 msgid "label" msgstr "" -#: yms/ui/main.ui:262 +#: yms/ui/main.ui:1041 +msgid "Close" +msgstr "" + +#: yms/ui/main.ui:1063 yms/ui/main.ui:1689 +msgid "page2" +msgstr "" + +#: yms/ui/main.ui:1092 +msgid "Short name" +msgstr "" + +#: yms/ui/main.ui:1145 +msgid "Serial no." +msgstr "" + +#: yms/ui/main.ui:1156 +msgid "Weight, kg" +msgstr "" + +#: yms/ui/main.ui:1167 +msgid "Price, €" +msgstr "" + +#: yms/ui/main.ui:1178 +msgid "Date puchase" +msgstr "" + +#: yms/ui/main.ui:1271 yms/ui/main.ui:2217 +msgid "Remarks" +msgstr "" + +#: yms/ui/main.ui:1336 +msgid "Cancel" +msgstr "" + +#: yms/ui/main.ui:1359 yms/ui/main.ui:1668 +msgid "page1" +msgstr "" + +#: yms/ui/main.ui:1372 yms/ui/main.ui:1986 +msgid "Equipment" +msgstr "Ausrüstung" + +#: yms/ui/main.ui:1440 +msgid "Storage" +msgstr "" + +#: yms/ui/main.ui:1451 +msgid "Condition" +msgstr "" + +#: yms/ui/main.ui:1505 +#, fuzzy +msgid "Filter Inventory" +msgstr "Inventar" + +#: yms/ui/main.ui:1603 +#, fuzzy +msgid "Inventory details" +msgstr "Inventar" + +#: yms/ui/main.ui:1621 yms/ui/main.ui:1634 yms/ui/main.ui:1647 +msgid "button" +msgstr "" + +#: yms/ui/main.ui:1702 msgid "Inventory" msgstr "Inventar" -#: yms/ui/main.ui:292 +#: yms/ui/main.ui:1733 +msgid "Kategorie" +msgstr "" + +#: yms/ui/main.ui:1821 +msgid "Filter Providions (here selection description)" +msgstr "" + +#: yms/ui/main.ui:1918 msgid "Provisions" msgstr "Verpflegung" -#: yms/ui/main.ui:322 +#: yms/ui/main.ui:2030 +#, fuzzy +msgid "Filter Maintenance" +msgstr "Wartung" + +#: yms/ui/main.ui:2127 msgid "Maintenance" msgstr "Wartung" -#: yms/ui/main.ui:352 +#: yms/ui/main.ui:2206 yms/ui/main.ui:2603 yms/ui/main.ui:2664 +msgid "Status" +msgstr "" + +#: yms/ui/main.ui:2260 +#, fuzzy +msgid "Filter Projects" +msgstr "Projekte" + +#: yms/ui/main.ui:2357 msgid "Projects" msgstr "Projekte" -#: yms/ui/main.ui:382 +#: yms/ui/main.ui:2425 +msgid "Type" +msgstr "" + +#: yms/ui/main.ui:2436 +msgid "Reference" +msgstr "" + +#: yms/ui/main.ui:2490 +#, fuzzy +msgid "Filter Documents" +msgstr "Dokumente" + +#: yms/ui/main.ui:2587 msgid "Documents" msgstr "Dokumente" + +#: yms/ui/main.ui:2618 +msgid "" +"This is an early release of YMS native GUI.\n" +"Please use the web frontend wich is already \n" +"in an usable state.\n" +"\n" +"For further assistance please consult the related\n" +"thread in \"Segeln Forum\"\n" +msgstr "" + +#: yms/ui/main.ui:2647 +msgid "YMS-GUI version 0.2.1" +msgstr "" + +#~ msgid "Configuration file not found" +#~ msgstr "Konfigurationsdatei nicht gefunden" diff --git a/ymsgui.py b/ymsgui.py index 6268690..cb317e0 100755 --- a/ymsgui.py +++ b/ymsgui.py @@ -275,8 +275,8 @@ if __name__ == "__main__": errno, errtxt = db.last_error() gtkutils.messagebox( _("Database connection cannot be established.\n\n" - "Server: %s\nDatabase: %s\n" - "Error: %s (%d)") % (cfg['host'], cfg['db'], errtxt, errno), + "Server: {}\nDatabase: {}\n" + "Error: {} ({})").format(cfg['host'], cfg['db'], errtxt, errno), title="YMS") # Another fine product of the sirius cybernetics corporation