From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 11E9C1FF138 for ; Wed, 04 Feb 2026 14:48:47 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id ECBA3152B0; Wed, 4 Feb 2026 14:49:12 +0100 (CET) From: Maximiliano Sandoval To: pve-devel@lists.proxmox.com Subject: [PATCH proxmox-i18n v2 2/5] fix strings with wrong format Date: Wed, 4 Feb 2026 14:48:30 +0100 Message-ID: <20260204134835.422155-3-m.sandoval@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260204134835.422155-1-m.sandoval@proxmox.com> References: <20260204134835.422155-1-m.sandoval@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1770212839798 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.088 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record WEIRD_PORT 0.001 Uses non-standard port number for HTTP Message-ID-Hash: 624VWMKD2B5YSOUNDX4MDA6NTSLB5EBJ X-Message-ID-Hash: 624VWMKD2B5YSOUNDX4MDA6NTSLB5EBJ X-MailFrom: m.sandoval@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Strings where tr! (or gettext() in js) cannot make the substitution at runtime due to broken formatting (e.g. if msgid contains {0} but msgstr does not) will remain untranslated. Where it was not clear how to fix the issue the string is rather marked as fuzzy so it is re-translated. After this commit the remaining errors are only in ukr.po, ru.po which require more consideration. These were detected with a python script doing basically: ```python import pathlib import polib def is_formatted(entry): return ( "{}" in entry.msgid or "{0}" in entry.msgid or "{n}" in entry.msgid or "{}" in entry.msgid_plural or "{0}" in entry.msgid_plural or "{n}" in entry.msgid_plural ) for path in pathlib.Path().iterdir(): po = polib.pofile(path) for entry in po: if ( entry.occurrences and is_formatted(entry) ): entry.flags.append("rust-format") po.save(f"{file.stem}.with-formats.po") ``` which attaches the `rust-format` flag to a string. Then later the new po files are checked with ``` msgfmt --check $PO_FILE ``` with gettext 0.26. This can be done, for example, with ```sh for f in *.with-formats.po; do flatpak run --command=msgfmt --filesystem=home org.freedesktop.Platform//25.08 --check $f; done ``` for example. Signed-off-by: Maximiliano Sandoval --- ar.po | 4 ++-- cs.po | 6 +++--- de.po | 4 +--- hr.po | 1 + hu.po | 1 + ja.po | 3 ++- ko.po | 3 ++- pl.po | 1 + pt_BR.po | 2 +- tr.po | 1 + ukr.po | 3 ++- 11 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ar.po b/ar.po index 66a34efa..4f51419f 100644 --- a/ar.po +++ b/ar.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pve-manager 31813246103b2582162f422dc34d8077eaee1e01\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-10 15:47+0100\n" -"PO-Revision-Date: 2025-07-18 10:53+0200\n" +"PO-Revision-Date: 2026-02-04 10:38+0100\n" "Last-Translator: \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -19107,7 +19107,7 @@ msgid "{0}% ({1} of {2})" msgstr "{0} إلى {1} ({2})" #: proxmox-widget-toolkit/src/Utils.js:1121 -#, javascript-format +#, javascript-format, fuzzy msgid "{0}% of {1}" msgstr "{0}٪ من {1}" diff --git a/cs.po b/cs.po index 728f23aa..2d779ead 100644 --- a/cs.po +++ b/cs.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: proxmox-backup 254169f622d891d67de38e8c8c6b9fa8f4af5dc9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-10 15:47+0100\n" -"PO-Revision-Date: 2025-12-03 08:55+0100\n" +"PO-Revision-Date: 2026-02-04 10:49+0100\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" "Language: cs\n" @@ -18875,14 +18875,14 @@ msgstr "{0} let" #: pve-manager/www/manager6/sdn/NetworkBrowser.js:157 msgid "{0} {1} on node {2}" -msgstr "{0} {{1} na uzlu {2})" +msgstr "{0} ({1} na uzlu {2})" #: proxmox-datacenter-manager/ui/src/pve/remote_overview.rs:220 #: proxmox-datacenter-manager/ui/src/pve/remote_overview.rs:236 #: proxmox-datacenter-manager/ui/src/pve/storage.rs:288 #: proxmox-datacenter-manager/ui/src/renderer.rs:76 msgid "{0}% ({1} of {2})" -msgstr "{0}% {{1} z {2})" +msgstr "{0}% ({1} z {2})" #: proxmox-widget-toolkit/src/Utils.js:1121 #, javascript-format diff --git a/de.po b/de.po index 255d712d..3292214a 100644 --- a/de.po +++ b/de.po @@ -15716,9 +15716,7 @@ msgstr "" #: proxmox-yew-comp/src/apt_repositories.rs:279 msgid "" "The {0}no-subscription{1} repository is not recommended for production use!" -msgstr "" -"Das {0}no-subscription Repository ist nicht für die Verwendung in " -"Produktivsystemen empfohlen!" +msgstr "Das {0}no-subscription{1} Repository ist nicht für die Verwendung in Produktivsystemen empfohlen!" #: proxmox-widget-toolkit/src/node/APTRepositories.js:528 #: proxmox-yew-comp/src/apt_repositories.rs:264 diff --git a/hr.po b/hr.po index c20c687f..d1f82dda 100644 --- a/hr.po +++ b/hr.po @@ -16029,6 +16029,7 @@ msgstr "Enterprise {0}spremište je omogućeno, ali nema aktivne pretplate!" #: proxmox-widget-toolkit/src/node/APTRepositories.js:516 #: proxmox-yew-comp/src/apt_repositories.rs:256 #: proxmox-yew-comp/src/apt_repositories.rs:279 +#, fuzzy msgid "" "The {0}no-subscription{1} repository is not recommended for production use!" msgstr "" diff --git a/hu.po b/hu.po index 4098e8e4..34057044 100644 --- a/hu.po +++ b/hu.po @@ -19683,6 +19683,7 @@ msgid "{0} running / {1} physical ({2} total configured)" msgstr "" #: pmg-gui/js/GeneralMailStatistics.js:120 +#, fuzzy msgid "{0} seconds" msgstr "másodperc" diff --git a/ja.po b/ja.po index 485b98c8..0ec205a5 100644 --- a/ja.po +++ b/ja.po @@ -8542,6 +8542,7 @@ msgid "Match if" msgstr "Match if" #: proxmox-widget-toolkit/src/window/NotificationMatcherEdit.js:473 +#, fuzzy msgid "Match severity: {0}" msgstr "重要度に一致" @@ -18710,7 +18711,7 @@ msgstr "{1}の {0}" #: proxmox-datacenter-manager/ui/src/dashboard/node_status_panel.rs:125 msgid "{0} of {1} nodes are offline" -msgstr "1}の {0} ノードがオフライン" +msgstr "{1}の {0} ノードがオフライン" #. TRANSLATORS: For example "resource on Remote 'HAL 9000'" #: proxmox-datacenter-manager/ui/src/dashboard/top_entities.rs:249 diff --git a/ko.po b/ko.po index e494cabb..ac605f2a 100644 --- a/ko.po +++ b/ko.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: proxmox translations\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-19 10:53+0100\n" -"PO-Revision-Date: 2025-12-16 23:20+0900\n" +"PO-Revision-Date: 2026-02-04 10:52+0100\n" "Last-Translator: angrystar170 \n" "Language-Team: Korean \n" "Language: ko_KR\n" @@ -12077,6 +12077,7 @@ msgid "Recovery Keys" msgstr "복구 키" #: proxmox-yew-comp/src/tfa/tfa_add_recovery.rs:119 +#, fuzzy msgid "Recovery Keys for user '{}'" msgstr "복구 키" diff --git a/pl.po b/pl.po index 3f195714..5fced118 100644 --- a/pl.po +++ b/pl.po @@ -10451,6 +10451,7 @@ msgid "On-site" msgstr "na miejscu" #: proxmox-yew-comp/src/apt_package_manager.rs:481 +#, fuzzy msgid "One item" msgid_plural "{} items" msgstr[0] "Jeden element" diff --git a/pt_BR.po b/pt_BR.po index a61ad1cc..e9622c24 100644 --- a/pt_BR.po +++ b/pt_BR.po @@ -6700,7 +6700,7 @@ msgstr "Membro do grupo" #: pmg-gui/js/LDAPConfig.js:449 msgid "Groups of '{0}'" -msgstr "Grupos de '{0]'" +msgstr "Grupos de '{0}'" #: pve-manager/www/manager6/form/IPRefSelector.js:72 #: pve-manager/www/manager6/grid/Replication.js:298 diff --git a/tr.po b/tr.po index 3a5dcef4..e33e717a 100644 --- a/tr.po +++ b/tr.po @@ -14446,6 +14446,7 @@ msgid "Shutdown timeout" msgstr "Zaman aşımı" #: pve-manager/www/manager6/qemu/Config.js:167 +#, fuzzy msgid "Shutdown, apply pending changes and reboot {0}" msgstr "Kapat, bekleyen değişiklikleri uygula ve yeniden başlat" diff --git a/ukr.po b/ukr.po index 0d26066d..ffbd7279 100644 --- a/ukr.po +++ b/ukr.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: proxmox translations\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-10 15:47+0100\n" -"PO-Revision-Date: 2025-09-19 09:44+0200\n" +"PO-Revision-Date: 2026-02-04 11:09+0100\n" "Last-Translator: Sviatoslav Brylenko \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -4785,6 +4785,7 @@ msgstr "EVPN зона не має зконфігурованого VRF VNI!" #: proxmox-datacenter-manager/ui/src/sdn/evpn/remote_tree.rs:280 #: proxmox-datacenter-manager/ui/src/sdn/evpn/vrf_tree.rs:160 #: proxmox-datacenter-manager/ui/src/sdn/evpn/vrf_tree.rs:219 +#, fuzzy msgid "EVPN Zone {} has no VRF VNI" msgstr "EVPN зона не має VRF VNI" -- 2.47.3