all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal