[pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Mar 21 13:40:56 CET 2025
Am 24.01.25 um 15:37 schrieb Maximiliano Sandoval:
> The catalog-{lang}.mo files are generated only with strings that are
> relevant to the proxmox-datacenter-manager instead of the whole
> {lang}.po file. The msgmerge command will produce all strings containing
> in the {lang}.po file but the ones that do not concern
> proxmox-datacenter-manager.pot will be written without a source file,
> then msgattrib will discard all those strings with --no-obsolete. We
> throw a --no-fuzzy to further decrease the resulting catalog-{lang}.mo's
> file size.
>
> One thing to note is that xtr, unlike our script to extract translations
> will add comments, context, and plural forms.
>
> Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
> ---
> .gitmodules | 9 +++++++++
> Makefile | 33 ++++++++++++++++++++++++++++++---
> debian/control | 8 +++++++-
> debian/pdm-i18n.install | 1 +
> proxmox-datacenter-manager | 1 +
> proxmox-yew-comp | 1 +
> proxmox-yew-widget-toolkit | 1 +
> 7 files changed, 50 insertions(+), 4 deletions(-)
> create mode 100644 debian/pdm-i18n.install
> create mode 160000 proxmox-datacenter-manager
> create mode 160000 proxmox-yew-comp
> create mode 160000 proxmox-yew-widget-toolkit
>
> diff --git a/.gitmodules b/.gitmodules
> index a81a7e3..885b6e1 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -12,3 +12,12 @@
> [submodule "proxmox-backup"]
> path = proxmox-backup
> url = ../proxmox-backup
> +[submodule "proxmox-datacenter-manager"]
> + path = proxmox-datacenter-manager
> + url = ../proxmox-datacenter-manager
> +[submodule "proxmox-yew-widget-toolkit"]
> + path = proxmox-yew-widget-toolkit
> + url = ../proxmox-yew-widget-toolkit
These are in the ui/ subdir on git.proxmox.com so above won't work; I'd just
use the full git URLs here, people trying local changes can add the local
path based origin manually in the submodule after all.
> +[submodule "proxmox-yew-comp"]
> + path = proxmox-yew-comp
> + url = ../proxmox-yew-comp
Same here.
Your patch seems also to miss the diffs for the new, actual git
submodule directories, e.g. something like:
----8<----
diff --git a/proxmox-datacenter-manager b/proxmox-datacenter-manager
new file mode 160000
index 0000000..512bf55
--- /dev/null
+++ b/proxmox-datacenter-manager
@@ -0,0 +1 @@
+Subproject commit 512bf55a8542af7d49f3e52f70054557a9d73054
diff --git a/proxmox-yew-comp b/proxmox-yew-comp
new file mode 160000
index 0000000..9d4e9ff
--- /dev/null
+++ b/proxmox-yew-comp
@@ -0,0 +1 @@
+Subproject commit 9d4e9ff5e942f5c3feabe5e5910f1a7dcd00ae5a
diff --git a/proxmox-yew-widget-toolkit b/proxmox-yew-widget-toolkit
new file mode 160000
index 0000000..79fc490
--- /dev/null
+++ b/proxmox-yew-widget-toolkit
@@ -0,0 +1 @@
+Subproject commit 79fc49095cd98c51c9798b0d05de26f40567394f
---->8----
As just the .gitmodules entries on their own are not complete, due to
missing the revision the module should point too, they are basically just
a config for where that revision can be fetched from.
btw. instead of pinging a series unconditionally a better approach might
be to use that as an opportunity to self-test the whole series, i.e. apply
them locally and see if all works out; that would have made most issues of
this series visible.
If that succeeded, then asking someone directly for an end-to-end test
and/or review before sending the second ping or so out would also be more
productive IMO, as a tested-by gives maintainers at least some basic
assurance that the whole thing works in principle...
> diff --git a/Makefile b/Makefile
> index 90a7453..ca98ef9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -78,13 +81,16 @@ submodule:
> || git submodule update --init
This target should be modified so that the tests include the newly added
submodule paths, i.e.:
----8<----
diff --git a/Makefile b/Makefile
index ca98ef9..066b57a 100644
--- a/Makefile
+++ b/Makefile
@@ -77,8 +77,14 @@ $(DSC): $(BUILDDIR)
lintian $(DSC)
submodule:
- test -f pmg-gui/Makefile -a -f proxmox-backup/Makefile -a -f pve-manager/Makefile \
- || git submodule update --init
+ test \
+ -f pmg-gui/Makefile \
+ -a -f proxmox-backup/Makefile \
+ -a -f pve-manager/Makefile \
+ -a -f proxmox-datacenter-manager/Makefile \
+ -a -f proxmox-yew-widget-toolkit/Makefile \
+ -a -f proxmox-yew-comp/Makefile \
+ || git submodule update --init --recursive
.PHONY: install
install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES) $(PDM_LANG_FILES)
---->8----
> do_update:
> $(MAKE) update_pot
> @@ -128,7 +151,11 @@ init-%.po: messages.pot
> msginit -i $^ -l $^ -o $*.po --no-translator
>
> .INTERMEDIATE: messages.pot
> -messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot
> +messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot proxmox-datacenter-manager-ui.pot proxmox-yew-comp.pot proxmox-yew-widget-toolkit.pot
> + xgettext $^ --msgid-bugs-address="<support at proxmox.com>" --output $@
this fails with errors like
proxmox-yew-comp.pot:185: duplicate message definition...
proxmox-widget-toolkit.pot:2081: ...this is the location of the first definition
Which is a result from the former file having this combined:
msgid "Warning"
msgid_plural "Warnings"
msgstr[0] ""
msgstr[1] ""
While the latter has it split:
msgid "Warning"
msgstr ""
msgid "Warnings"
msgstr ""
There are others if this is fixed. I see no reference to other patches or steps
we need to apply/take before this series, so what's the idea here?
More information about the pve-devel
mailing list