* [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat
@ 2025-01-24 14:37 Maximiliano Sandoval
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
2025-03-21 12:36 ` [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Thomas Lamprecht
0 siblings, 2 replies; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-01-24 14:37 UTC (permalink / raw)
To: pve-devel
For concatenating .pot files. From [1]:
> To concatenate POT files, better use xgettext, not msgcat, because
> msgcat would choke on the undefined charsets in the specified POT
> files.
[1] https://www.gnu.org/software/gettext/manual/html_node/msgcat-Invocation.html
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
Differences from v1:
- Add dependencies to control file
- Remove new subprojects as they have to be added manually anyways
Makefile | 2 +-
debian/control | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 717203e..90a7453 100644
--- a/Makefile
+++ b/Makefile
@@ -129,7 +129,7 @@ init-%.po: messages.pot
.INTERMEDIATE: messages.pot
messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot
- msgcat $^ > $@
+ xgettext $^ --msgid-bugs-address="<support@proxmox.com>" --output $@
.PHONY: distclean
distclean: clean
diff --git a/debian/control b/debian/control
index 4fa8cfb..cdd04a8 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: proxmox-i18n
Section: perl
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
-Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl,
+Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext,
Standards-Version: 4.6.2
Homepage: https://www.proxmox.com
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-01-24 14:37 [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Maximiliano Sandoval
@ 2025-01-24 14:37 ` Maximiliano Sandoval
2025-01-30 14:16 ` Maximiliano Sandoval
` (2 more replies)
2025-03-21 12:36 ` [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Thomas Lamprecht
1 sibling, 3 replies; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-01-24 14:37 UTC (permalink / raw)
To: pve-devel
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@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
+[submodule "proxmox-yew-comp"]
+ path = proxmox-yew-comp
+ url = ../proxmox-yew-comp
diff --git a/Makefile b/Makefile
index 90a7453..ca98ef9 100644
--- a/Makefile
+++ b/Makefile
@@ -37,16 +37,19 @@ DSC=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
PVE_I18N_DEB=pve-i18n_$(DEB_VERSION)_all.deb
PMG_I18N_DEB=pmg-i18n_$(DEB_VERSION)_all.deb
PBS_I18N_DEB=pbs-i18n_$(DEB_VERSION)_all.deb
+PDM_I18N_DEB=pdm-i18n_$(DEB_VERSION)_all.deb
-DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB)
+DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB) $(PDM_I18N_DEB)
PMGLOCALEDIR=$(DESTDIR)/usr/share/pmg-i18n
PVELOCALEDIR=$(DESTDIR)/usr/share/pve-i18n
PBSLOCALEDIR=$(DESTDIR)/usr/share/pbs-i18n
+PDMLOCALEDIR=$(DESTDIR)/usr/share/pdm-i18n
PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
PBS_LANG_FILES=$(patsubst %, pbs-lang-%.js, $(LINGUAS))
+PDM_LANG_FILES=$(patsubst %, catalog-%.mo, $(LINGUAS))
all:
@@ -78,13 +81,16 @@ submodule:
|| git submodule update --init
.PHONY: install
-install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES)
+install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES) $(PDM_LANG_FILES)
install -d $(PMGLOCALEDIR)
install -m 0644 $(PMG_LANG_FILES) $(PMGLOCALEDIR)
install -d $(PVELOCALEDIR)
install -m 0644 $(PVE_LANG_FILES) $(PVELOCALEDIR)
install -d $(PBSLOCALEDIR)
install -m 0644 $(PBS_LANG_FILES) $(PBSLOCALEDIR)
+ install -d $(PDMLOCALEDIR)
+ install -m 0644 $(PDM_LANG_FILES) $(PDMLOCALEDIR)
+
# compat symlinks for kr -> ko correction.
ln -s pmg-lang-ko.js $(PMGLOCALEDIR)/pmg-lang-kr.js
ln -s pve-lang-ko.js $(PVELOCALEDIR)/pve-lang-kr.js
@@ -99,18 +105,35 @@ pve-lang-%.js: %.po
pbs-lang-%.js: %.po
./po2js.pl -t pbs -v "$(DEB_VERSION)" -o pbs-lang-$*.js $?
+catalog-%.mo: %.po proxmox-datacenter-manager.pot
+ msgmerge $< proxmox-datacenter-manager.pot | msgattrib --no-fuzzy --no-obsolete | msgfmt --verbose --output-file $@ $<;
+
# parameter 1 is the name
# parameter 2 is the directory
define potupdate
./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
endef
+# parameter 1 is the name
+# parameter 2 is the directory
+define xtrpotupdate
+ xtr --package-name "$(1)" \
+ --package-version="$(shell cd $(2);git rev-parse HEAD)" \
+ --msgid-bugs-address="<support@proxmox.com>" \
+ --copyright-holder="Copyright (C) Proxmox Server Solutions GmbH <support@proxmox.com> & the translation contributors." \
+ --output $(1).pot \
+ $(2)*.rs
+endef
+
.PHONY: update update_pot do_update
update_pot: submodule
$(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
$(call potupdate,pve-manager,pve-manager/www/manager6/)
$(call potupdate,proxmox-mailgateway,pmg-gui/js/)
$(call potupdate,proxmox-backup,proxmox-backup/www/)
+ $(call xtrpotupdate,proxmox-datacenter-manager-ui,proxmox-datacenter-manager/ui/src/)
+ $(call xtrpotupdate,proxmox-yew-comp,proxmox-yew-comp/src/)
+ $(call xtrpotupdate,proxmox-yew-widget-toolkit,proxmox-yew-widget-toolkit/src/)
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@proxmox.com>" --output $@
+
+.INTERMEDIATE: proxmox-datacenter-manager.pot
+proxmox-datacenter-manager.pot: proxmox-datacenter-manager-ui.pot proxmox-yew-comp.pot proxmox-yew-widget-toolkit.pot
xgettext $^ --msgid-bugs-address="<support@proxmox.com>" --output $@
.PHONY: distclean
diff --git a/debian/control b/debian/control
index cdd04a8..346c34c 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: proxmox-i18n
Section: perl
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
-Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext,
+Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext, xtr,
Standards-Version: 4.6.2
Homepage: https://www.proxmox.com
@@ -23,3 +23,9 @@ Architecture: all
Depends: ${misc:Depends},
Description: Internationalization support for Proxmox VE
This package provides the translations into all available languages.
+
+Package: pdm-i18n
+Architecture: all
+Depends: ${misc:Depends},
+Description: Internationalization support for Proxmox Datacenter Manager
+ This package provides the translations into all available languages.
diff --git a/debian/pdm-i18n.install b/debian/pdm-i18n.install
new file mode 100644
index 0000000..628332b
--- /dev/null
+++ b/debian/pdm-i18n.install
@@ -0,0 +1,1 @@
+/usr/share/pdm-i18n/
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
@ 2025-01-30 14:16 ` Maximiliano Sandoval
2025-02-05 16:05 ` Maximiliano Sandoval
2025-02-25 15:33 ` Shannon Sterz
2025-03-21 12:40 ` Thomas Lamprecht
2 siblings, 1 reply; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-01-30 14:16 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> 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.
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-01-30 14:16 ` Maximiliano Sandoval
@ 2025-02-05 16:05 ` Maximiliano Sandoval
2025-02-11 13:00 ` Maximiliano Sandoval
0 siblings, 1 reply; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-02-05 16:05 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> 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.
>
> ping
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-02-05 16:05 ` Maximiliano Sandoval
@ 2025-02-11 13:00 ` Maximiliano Sandoval
2025-02-18 11:56 ` Maximiliano Sandoval
0 siblings, 1 reply; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-02-11 13:00 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> 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.
>>
>> ping
>
> ping
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-02-11 13:00 ` Maximiliano Sandoval
@ 2025-02-18 11:56 ` Maximiliano Sandoval
2025-02-25 15:12 ` Maximiliano Sandoval
0 siblings, 1 reply; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-02-18 11:56 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>
>>>> 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.
>>>
>>> ping
>>
>> ping
>
> ping
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-02-18 11:56 ` Maximiliano Sandoval
@ 2025-02-25 15:12 ` Maximiliano Sandoval
2025-03-19 8:33 ` Maximiliano Sandoval
0 siblings, 1 reply; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-02-25 15:12 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>
>>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>>
>>>>> 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.
>>>>
>>>> ping
>>>
>>> ping
>>
>> ping
>
> ping
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
2025-01-30 14:16 ` Maximiliano Sandoval
@ 2025-02-25 15:33 ` Shannon Sterz
2025-02-25 15:48 ` Maximiliano Sandoval
2025-03-21 12:40 ` Thomas Lamprecht
2 siblings, 1 reply; 13+ messages in thread
From: Shannon Sterz @ 2025-02-25 15:33 UTC (permalink / raw)
To: Proxmox VE development discussion; +Cc: pve-devel
On Fri Jan 24, 2025 at 3:37 PM CET, Maximiliano Sandoval wrote:
> 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@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
> +[submodule "proxmox-yew-comp"]
> + path = proxmox-yew-comp
> + url = ../proxmox-yew-comp
> diff --git a/Makefile b/Makefile
> index 90a7453..ca98ef9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -37,16 +37,19 @@ DSC=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
> PVE_I18N_DEB=pve-i18n_$(DEB_VERSION)_all.deb
> PMG_I18N_DEB=pmg-i18n_$(DEB_VERSION)_all.deb
> PBS_I18N_DEB=pbs-i18n_$(DEB_VERSION)_all.deb
> +PDM_I18N_DEB=pdm-i18n_$(DEB_VERSION)_all.deb
>
> -DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB)
> +DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB) $(PDM_I18N_DEB)
>
> PMGLOCALEDIR=$(DESTDIR)/usr/share/pmg-i18n
> PVELOCALEDIR=$(DESTDIR)/usr/share/pve-i18n
> PBSLOCALEDIR=$(DESTDIR)/usr/share/pbs-i18n
> +PDMLOCALEDIR=$(DESTDIR)/usr/share/pdm-i18n
>
> PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
> PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
> PBS_LANG_FILES=$(patsubst %, pbs-lang-%.js, $(LINGUAS))
> +PDM_LANG_FILES=$(patsubst %, catalog-%.mo, $(LINGUAS))
>
> all:
>
> @@ -78,13 +81,16 @@ submodule:
> || git submodule update --init
>
> .PHONY: install
> -install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES)
> +install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES) $(PDM_LANG_FILES)
> install -d $(PMGLOCALEDIR)
> install -m 0644 $(PMG_LANG_FILES) $(PMGLOCALEDIR)
> install -d $(PVELOCALEDIR)
> install -m 0644 $(PVE_LANG_FILES) $(PVELOCALEDIR)
> install -d $(PBSLOCALEDIR)
> install -m 0644 $(PBS_LANG_FILES) $(PBSLOCALEDIR)
> + install -d $(PDMLOCALEDIR)
> + install -m 0644 $(PDM_LANG_FILES) $(PDMLOCALEDIR)
> +
> # compat symlinks for kr -> ko correction.
> ln -s pmg-lang-ko.js $(PMGLOCALEDIR)/pmg-lang-kr.js
> ln -s pve-lang-ko.js $(PVELOCALEDIR)/pve-lang-kr.js
> @@ -99,18 +105,35 @@ pve-lang-%.js: %.po
> pbs-lang-%.js: %.po
> ./po2js.pl -t pbs -v "$(DEB_VERSION)" -o pbs-lang-$*.js $?
>
> +catalog-%.mo: %.po proxmox-datacenter-manager.pot
> + msgmerge $< proxmox-datacenter-manager.pot | msgattrib --no-fuzzy --no-obsolete | msgfmt --verbose --output-file $@ $<;
this could be `msmerge $^ | msgattrib ..` since you basically want to
pass all prerequisits to `msmerge`, no?
> +
> # parameter 1 is the name
> # parameter 2 is the directory
> define potupdate
> ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
> endef
>
> +# parameter 1 is the name
> +# parameter 2 is the directory
> +define xtrpotupdate
> + xtr --package-name "$(1)" \
> + --package-version="$(shell cd $(2);git rev-parse HEAD)" \
> + --msgid-bugs-address="<support@proxmox.com>" \
> + --copyright-holder="Copyright (C) Proxmox Server Solutions GmbH <support@proxmox.com> & the translation contributors." \
> + --output $(1).pot \
> + $(2)*.rs
> +endef
> +
> .PHONY: update update_pot do_update
> update_pot: submodule
> $(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
> $(call potupdate,pve-manager,pve-manager/www/manager6/)
> $(call potupdate,proxmox-mailgateway,pmg-gui/js/)
> $(call potupdate,proxmox-backup,proxmox-backup/www/)
> + $(call xtrpotupdate,proxmox-datacenter-manager-ui,proxmox-datacenter-manager/ui/src/)
> + $(call xtrpotupdate,proxmox-yew-comp,proxmox-yew-comp/src/)
> + $(call xtrpotupdate,proxmox-yew-widget-toolkit,proxmox-yew-widget-toolkit/src/)
>
> 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@proxmox.com>" --output $@
> +
> +.INTERMEDIATE: proxmox-datacenter-manager.pot
> +proxmox-datacenter-manager.pot: proxmox-datacenter-manager-ui.pot proxmox-yew-comp.pot proxmox-yew-widget-toolkit.pot
> xgettext $^ --msgid-bugs-address="<support@proxmox.com>" --output $@
>
> .PHONY: distclean
> diff --git a/debian/control b/debian/control
> index cdd04a8..346c34c 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -2,7 +2,7 @@ Source: proxmox-i18n
> Section: perl
> Priority: optional
> Maintainer: Proxmox Support Team <support@proxmox.com>
> -Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext,
> +Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext, xtr,
> Standards-Version: 4.6.2
> Homepage: https://www.proxmox.com
>
> @@ -23,3 +23,9 @@ Architecture: all
> Depends: ${misc:Depends},
> Description: Internationalization support for Proxmox VE
> This package provides the translations into all available languages.
> +
> +Package: pdm-i18n
> +Architecture: all
> +Depends: ${misc:Depends},
> +Description: Internationalization support for Proxmox Datacenter Manager
> + This package provides the translations into all available languages.
> diff --git a/debian/pdm-i18n.install b/debian/pdm-i18n.install
> new file mode 100644
> index 0000000..628332b
> --- /dev/null
> +++ b/debian/pdm-i18n.install
> @@ -0,0 +1,1 @@
> +/usr/share/pdm-i18n/
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-02-25 15:33 ` Shannon Sterz
@ 2025-02-25 15:48 ` Maximiliano Sandoval
0 siblings, 0 replies; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-02-25 15:48 UTC (permalink / raw)
To: Proxmox VE development discussion; +Cc: pve-devel
"Shannon Sterz" <s.sterz@proxmox.com> writes:
> On Fri Jan 24, 2025 at 3:37 PM CET, Maximiliano Sandoval wrote:
>> 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@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
>> +[submodule "proxmox-yew-comp"]
>> + path = proxmox-yew-comp
>> + url = ../proxmox-yew-comp
>> diff --git a/Makefile b/Makefile
>> index 90a7453..ca98ef9 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -37,16 +37,19 @@ DSC=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
>> PVE_I18N_DEB=pve-i18n_$(DEB_VERSION)_all.deb
>> PMG_I18N_DEB=pmg-i18n_$(DEB_VERSION)_all.deb
>> PBS_I18N_DEB=pbs-i18n_$(DEB_VERSION)_all.deb
>> +PDM_I18N_DEB=pdm-i18n_$(DEB_VERSION)_all.deb
>>
>> -DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB)
>> +DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB) $(PDM_I18N_DEB)
>>
>> PMGLOCALEDIR=$(DESTDIR)/usr/share/pmg-i18n
>> PVELOCALEDIR=$(DESTDIR)/usr/share/pve-i18n
>> PBSLOCALEDIR=$(DESTDIR)/usr/share/pbs-i18n
>> +PDMLOCALEDIR=$(DESTDIR)/usr/share/pdm-i18n
>>
>> PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
>> PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
>> PBS_LANG_FILES=$(patsubst %, pbs-lang-%.js, $(LINGUAS))
>> +PDM_LANG_FILES=$(patsubst %, catalog-%.mo, $(LINGUAS))
>>
>> all:
>>
>> @@ -78,13 +81,16 @@ submodule:
>> || git submodule update --init
>>
>> .PHONY: install
>> -install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES)
>> +install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES) $(PDM_LANG_FILES)
>> install -d $(PMGLOCALEDIR)
>> install -m 0644 $(PMG_LANG_FILES) $(PMGLOCALEDIR)
>> install -d $(PVELOCALEDIR)
>> install -m 0644 $(PVE_LANG_FILES) $(PVELOCALEDIR)
>> install -d $(PBSLOCALEDIR)
>> install -m 0644 $(PBS_LANG_FILES) $(PBSLOCALEDIR)
>> + install -d $(PDMLOCALEDIR)
>> + install -m 0644 $(PDM_LANG_FILES) $(PDMLOCALEDIR)
>> +
>> # compat symlinks for kr -> ko correction.
>> ln -s pmg-lang-ko.js $(PMGLOCALEDIR)/pmg-lang-kr.js
>> ln -s pve-lang-ko.js $(PVELOCALEDIR)/pve-lang-kr.js
>> @@ -99,18 +105,35 @@ pve-lang-%.js: %.po
>> pbs-lang-%.js: %.po
>> ./po2js.pl -t pbs -v "$(DEB_VERSION)" -o pbs-lang-$*.js $?
>>
>> +catalog-%.mo: %.po proxmox-datacenter-manager.pot
>> + msgmerge $< proxmox-datacenter-manager.pot | msgattrib --no-fuzzy --no-obsolete | msgfmt --verbose --output-file $@ $<;
>
> this could be `msmerge $^ | msgattrib ..` since you basically want to
> pass all prerequisits to `msmerge`, no?
I think you are correct, but with my make knowledge I cannot be 100%
sure. I will look into this if there is a v2.
>> +
>> # parameter 1 is the name
>> # parameter 2 is the directory
>> define potupdate
>> ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
>> endef
>>
>> +# parameter 1 is the name
>> +# parameter 2 is the directory
>> +define xtrpotupdate
>> + xtr --package-name "$(1)" \
>> + --package-version="$(shell cd $(2);git rev-parse HEAD)" \
>> + --msgid-bugs-address="<support@proxmox.com>" \
>> + --copyright-holder="Copyright (C) Proxmox Server Solutions GmbH <support@proxmox.com> & the translation contributors." \
>> + --output $(1).pot \
>> + $(2)*.rs
>> +endef
>> +
>> .PHONY: update update_pot do_update
>> update_pot: submodule
>> $(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
>> $(call potupdate,pve-manager,pve-manager/www/manager6/)
>> $(call potupdate,proxmox-mailgateway,pmg-gui/js/)
>> $(call potupdate,proxmox-backup,proxmox-backup/www/)
>> + $(call xtrpotupdate,proxmox-datacenter-manager-ui,proxmox-datacenter-manager/ui/src/)
>> + $(call xtrpotupdate,proxmox-yew-comp,proxmox-yew-comp/src/)
>> + $(call xtrpotupdate,proxmox-yew-widget-toolkit,proxmox-yew-widget-toolkit/src/)
>>
>> 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@proxmox.com>" --output $@
>> +
>> +.INTERMEDIATE: proxmox-datacenter-manager.pot
>> +proxmox-datacenter-manager.pot: proxmox-datacenter-manager-ui.pot proxmox-yew-comp.pot proxmox-yew-widget-toolkit.pot
>> xgettext $^ --msgid-bugs-address="<support@proxmox.com>" --output $@
>>
>> .PHONY: distclean
>> diff --git a/debian/control b/debian/control
>> index cdd04a8..346c34c 100644
>> --- a/debian/control
>> +++ b/debian/control
>> @@ -2,7 +2,7 @@ Source: proxmox-i18n
>> Section: perl
>> Priority: optional
>> Maintainer: Proxmox Support Team <support@proxmox.com>
>> -Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext,
>> +Build-Depends: debhelper-compat (= 13), libjson-perl, liblocale-po-perl, gettext, xtr,
>> Standards-Version: 4.6.2
>> Homepage: https://www.proxmox.com
>>
>> @@ -23,3 +23,9 @@ Architecture: all
>> Depends: ${misc:Depends},
>> Description: Internationalization support for Proxmox VE
>> This package provides the translations into all available languages.
>> +
>> +Package: pdm-i18n
>> +Architecture: all
>> +Depends: ${misc:Depends},
>> +Description: Internationalization support for Proxmox Datacenter Manager
>> + This package provides the translations into all available languages.
>> diff --git a/debian/pdm-i18n.install b/debian/pdm-i18n.install
>> new file mode 100644
>> index 0000000..628332b
>> --- /dev/null
>> +++ b/debian/pdm-i18n.install
>> @@ -0,0 +1,1 @@
>> +/usr/share/pdm-i18n/
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-02-25 15:12 ` Maximiliano Sandoval
@ 2025-03-19 8:33 ` Maximiliano Sandoval
0 siblings, 0 replies; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-03-19 8:33 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pve-devel
Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>
>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>
>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>
>>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>>
>>>>> Maximiliano Sandoval <m.sandoval@proxmox.com> writes:
>>>>>
>>>>>> 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.
>>>>>
>>>>> ping
>>>>
>>>> ping
>>>
>>> ping
>>
>> ping
>
> ping
ping
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat
2025-01-24 14:37 [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Maximiliano Sandoval
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
@ 2025-03-21 12:36 ` Thomas Lamprecht
1 sibling, 0 replies; 13+ messages in thread
From: Thomas Lamprecht @ 2025-03-21 12:36 UTC (permalink / raw)
To: Proxmox VE development discussion, Maximiliano Sandoval
Am 24.01.25 um 15:37 schrieb Maximiliano Sandoval:
> For concatenating .pot files. From [1]:
>
>> To concatenate POT files, better use xgettext, not msgcat, because
>> msgcat would choke on the undefined charsets in the specified POT
>> files.
>
> [1] https://www.gnu.org/software/gettext/manual/html_node/msgcat-Invocation.html
Is that actually a problem for us though? FWIW, all our POT files state
`"Content-Type: text/plain; charset=UTF-8\n"`
Can be fine to do this, but would be nice to know if it actually gives
us any benefits.
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
2025-01-30 14:16 ` Maximiliano Sandoval
2025-02-25 15:33 ` Shannon Sterz
@ 2025-03-21 12:40 ` Thomas Lamprecht
2025-03-21 12:47 ` Maximiliano Sandoval
2 siblings, 1 reply; 13+ messages in thread
From: Thomas Lamprecht @ 2025-03-21 12:40 UTC (permalink / raw)
To: Proxmox VE development discussion, Maximiliano Sandoval
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@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@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?
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations
2025-03-21 12:40 ` Thomas Lamprecht
@ 2025-03-21 12:47 ` Maximiliano Sandoval
0 siblings, 0 replies; 13+ messages in thread
From: Maximiliano Sandoval @ 2025-03-21 12:47 UTC (permalink / raw)
To: Thomas Lamprecht; +Cc: Proxmox VE development discussion
Thomas Lamprecht <t.lamprecht@proxmox.com> writes:
> 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...
> 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?
The requirements are:
- https://lore.proxmox.com/pdm-devel/20250122150132.426276-1-m.sandoval@proxmox.com/
- https://lore.proxmox.com/yew-devel/20250127094651.139204-1-m.sandoval@proxmox.com/
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-03-21 13:11 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-24 14:37 [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Maximiliano Sandoval
2025-01-24 14:37 ` [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations Maximiliano Sandoval
2025-01-30 14:16 ` Maximiliano Sandoval
2025-02-05 16:05 ` Maximiliano Sandoval
2025-02-11 13:00 ` Maximiliano Sandoval
2025-02-18 11:56 ` Maximiliano Sandoval
2025-02-25 15:12 ` Maximiliano Sandoval
2025-03-19 8:33 ` Maximiliano Sandoval
2025-02-25 15:33 ` Shannon Sterz
2025-02-25 15:48 ` Maximiliano Sandoval
2025-03-21 12:40 ` Thomas Lamprecht
2025-03-21 12:47 ` Maximiliano Sandoval
2025-03-21 12:36 ` [pve-devel] [PATCH proxmox-i18n v2 1/2] makefile: prefer using xgettext over msgcat Thomas Lamprecht
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal