* [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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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 2025-06-11 11:44 ` Maximiliano Sandoval 0 siblings, 1 reply; 14+ 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] 14+ messages in thread
* Re: [pve-devel] [PATCH proxmox-i18n v2 2/2] make: add proxmox-datacenter-manager translations 2025-03-21 12:47 ` Maximiliano Sandoval @ 2025-06-11 11:44 ` Maximiliano Sandoval 0 siblings, 0 replies; 14+ messages in thread From: Maximiliano Sandoval @ 2025-06-11 11:44 UTC (permalink / raw) To: Proxmox VE development discussion; +Cc: Thomas Lamprecht Maximiliano Sandoval <m.sandoval@proxmox.com> writes: > > 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 Superseded by https://lore.proxmox.com/pve-devel/20250611113715.299464-1-m.sandoval@proxmox.com/T/#u I tested it again, and it worked out of the box, however I am not sure if the nuances of git-submodules+using patch-format were the reason for the issue. _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 14+ 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; 14+ 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] 14+ messages in thread
end of thread, other threads:[~2025-06-11 11:46 UTC | newest] Thread overview: 14+ 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-06-11 11:44 ` 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