public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings
@ 2025-07-30 13:35 Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 1/3] add context to " Maximiliano Sandoval
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

In this series we:

 - Add context to multiple translatable strings. These will be displayed by
   translator editors and will appear in po files as

```
#. TRANSLATORS: Stands for Complete Sequence Number Packet, see
#. https://datatracker.ietf.org/doc/html/draft-ietf-lsr-distoptflood#name-flooding-failures
#: pve-manager/www/manager6/sdn/fabrics/openfabric/FabricEdit.js:61
msgid "CSNP Interval"
msgstr "Intervalo de CSNP"
```

Difeferences from v2:
 - Corrected some typos
 - Improves commit messages

Difeferences from v1:
 - Fix typos
 - Use Unicode for not equal sign
 - Fix capitalization of WebAuthn
 - Generally improve translations

pve-manager:

Maximiliano Sandoval (3):
  add context to translatable strings
  improve some translatable strings
  use Unicode not equal sign in translatable strings

 www/manager6/dc/MetricServerView.js               |  2 +-
 www/manager6/dc/PCIMapView.js                     |  2 +-
 www/manager6/dc/USBMapView.js                     |  2 +-
 www/manager6/grid/BackupView.js                   |  1 +
 www/manager6/sdn/fabrics/openfabric/FabricEdit.js |  3 +++
 www/manager6/sdn/zones/VxlanEdit.js               |  1 +
 www/manager6/storage/BackupView.js                |  1 +
 www/manager6/storage/Base.js                      |  1 +
 www/manager6/window/Backup.js                     |  1 +
 www/manager6/window/Restore.js                    | 11 +++++------
 10 files changed, 16 insertions(+), 9 deletions(-)


proxmox-widget-toolkit:

Maximiliano Sandoval (2):
  add context to translatable strings
  use WebAuthn in translatable string

 src/Utils.js                        | 2 ++
 src/form/MultiDiskSelector.js       | 1 +
 src/panel/NotificationConfigView.js | 1 +
 src/window/AddWebauthn.js           | 2 +-
 src/window/ZFSDetail.js             | 1 +
 5 files changed, 6 insertions(+), 1 deletion(-)


proxmox-backup:

Maximiliano Sandoval (3):
  add translators comments to some translations
  improve some translatable strings
  use WebAuthn in translatable strings

 www/Utils.js                | 2 +-
 www/config/WebauthnView.js  | 4 ++--
 www/tape/DriveStatus.js     | 1 +
 www/window/DataStoreEdit.js | 1 +
 www/window/InfluxDbEdit.js  | 2 +-
 www/window/S3ClientEdit.js  | 2 ++
 6 files changed, 8 insertions(+), 4 deletions(-)


proxmox-datacenter-manager:

Maximiliano Sandoval (2):
  add context to translatable strings
  improve translatable strings

 ui/src/dashboard/remote_panel.rs      | 2 +-
 ui/src/dashboard/subscription_info.rs | 5 ++---
 ui/src/dashboard/top_entities.rs      | 1 +
 ui/src/pve/qemu.rs                    | 2 ++
 ui/src/remotes/add_wizard.rs          | 1 +
 5 files changed, 7 insertions(+), 4 deletions(-)


proxmox-yew-widget-toolkit:

Maximiliano Sandoval (1):
  improve translatable strings

 src/widget/form/field.rs    | 2 +-
 src/widget/form/number.rs   | 4 ++--
 src/widget/form/selector.rs | 2 +-
 src/widget/form/textarea.rs | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)


Summary over all repositories:
  30 files changed, 42 insertions(+), 23 deletions(-)

-- 
Generated by git-murpp 0.8.1


_______________________________________________
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 manager v3 1/3] add context to translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 2/3] improve some " Maximiliano Sandoval
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

These will be displayed in translator editors and provide context for
translators.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/manager6/grid/BackupView.js                   | 1 +
 www/manager6/sdn/fabrics/openfabric/FabricEdit.js | 3 +++
 www/manager6/sdn/zones/VxlanEdit.js               | 1 +
 www/manager6/storage/BackupView.js                | 1 +
 www/manager6/storage/Base.js                      | 1 +
 www/manager6/window/Backup.js                     | 1 +
 6 files changed, 8 insertions(+)

diff --git a/www/manager6/grid/BackupView.js b/www/manager6/grid/BackupView.js
index d17c94b9..c1474e04 100644
--- a/www/manager6/grid/BackupView.js
+++ b/www/manager6/grid/BackupView.js
@@ -376,6 +376,7 @@ Ext.define('PVE.grid.BackupView', {
                     renderer: PVE.Utils.render_backup_encryption,
                 },
                 {
+		    // TRANSLATORS: The state of the verification task
                     header: gettext('Verify State'),
                     dataIndex: 'verification',
                     renderer: PVE.Utils.render_backup_verification,
diff --git a/www/manager6/sdn/fabrics/openfabric/FabricEdit.js b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js
index 46dd61c4..14b71fae 100644
--- a/www/manager6/sdn/fabrics/openfabric/FabricEdit.js
+++ b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js
@@ -43,6 +43,7 @@ Ext.define('PVE.sdn.Fabric.OpenFabric.Fabric.Edit', {
         },
         {
             xtype: 'proxmoxintegerfield',
+            // TRANSLATORS: See https://en.wikipedia.org/wiki/IS-IS#Packet_types
             fieldLabel: gettext('Hello Interval'),
             labelWidth: 120,
             name: 'hello_interval',
@@ -55,6 +56,8 @@ Ext.define('PVE.sdn.Fabric.OpenFabric.Fabric.Edit', {
         },
         {
             xtype: 'proxmoxintegerfield',
+            // TRANSLATORS: Stands for Complete Sequence Number Packet, see
+            // https://datatracker.ietf.org/doc/html/draft-ietf-lsr-distoptflood#name-flooding-failures
             fieldLabel: gettext('CSNP Interval'),
             labelWidth: 120,
             name: 'csnp_interval',
diff --git a/www/manager6/sdn/zones/VxlanEdit.js b/www/manager6/sdn/zones/VxlanEdit.js
index 20e1c5bb..e45154a8 100644
--- a/www/manager6/sdn/zones/VxlanEdit.js
+++ b/www/manager6/sdn/zones/VxlanEdit.js
@@ -61,6 +61,7 @@ Ext.define('PVE.sdn.zones.VxlanInputPanel', {
                     width: 600,
                     columns: [
                         {
+                            // TRANSLATORS: As in "Network Fabric": https://en.wikipedia.org/wiki/Switched_fabric
                             header: gettext('Fabric'),
                             width: 90,
                             dataIndex: 'iface',
diff --git a/www/manager6/storage/BackupView.js b/www/manager6/storage/BackupView.js
index d2d1c0e6..f43c172d 100644
--- a/www/manager6/storage/BackupView.js
+++ b/www/manager6/storage/BackupView.js
@@ -213,6 +213,7 @@ Ext.define('PVE.storage.BackupView', {
                 },
             };
             me.extraColumns.verification = {
+		// TRANSLATORS: The state of the verification task
                 header: gettext('Verify State'),
                 dataIndex: 'verification',
                 renderer: PVE.Utils.render_backup_verification,
diff --git a/www/manager6/storage/Base.js b/www/manager6/storage/Base.js
index 98f004bd..d4b29f92 100644
--- a/www/manager6/storage/Base.js
+++ b/www/manager6/storage/Base.js
@@ -81,6 +81,7 @@ Ext.define('PVE.panel.StorageBase', {
             addAdvancedWidget({
                 xtype: 'proxmoxcheckbox',
                 name: 'snapshot-as-volume-chain',
+                // TRANSLATORS: As in "following the chain of volumes"
                 boxLabel: gettext('Allow Snapshots as Volume-Chain'),
                 deleteEmpty: !me.isCreate,
                 // can only allow to enable this on creation for storages that previously already
diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js
index 65ec9659..7c1c54de 100644
--- a/www/manager6/window/Backup.js
+++ b/www/manager6/window/Backup.js
@@ -41,6 +41,7 @@ Ext.define('PVE.window.Backup', {
             xtype: 'proxmoxKVComboBox',
             comboItems: [
                 ['notification-system', gettext('Use global settings')],
+                // TRANSLATORS: sendmail is a piece of software
                 ['legacy-sendmail', gettext('Use sendmail (legacy)')],
             ],
             fieldLabel: gettext('Notification'),
-- 
2.47.2



_______________________________________________
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 manager v3 2/3] improve some translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 1/3] add context to " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 3/3] use Unicode not equal sign in " Maximiliano Sandoval
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Regarding the change in Restore.js: In certain languages (e.g. Spanish)
CT and VM would have different genders, hence it is not possible to use
the same string.

The `b` in batch size is not very obvious.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/manager6/dc/MetricServerView.js |  2 +-
 www/manager6/window/Restore.js      | 11 +++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/www/manager6/dc/MetricServerView.js b/www/manager6/dc/MetricServerView.js
index 26e89923..683e91fd 100644
--- a/www/manager6/dc/MetricServerView.js
+++ b/www/manager6/dc/MetricServerView.js
@@ -369,7 +369,7 @@ Ext.define('PVE.dc.InfluxDBEdit', {
                 {
                     xtype: 'proxmoxintegerfield',
                     name: 'max-body-size',
-                    fieldLabel: gettext('Batch Size (b)'),
+                    fieldLabel: gettext('Batch Size (bits)'),
                     minValue: 1,
                     emptyText: '25000000',
                     submitEmpty: false,
diff --git a/www/manager6/window/Restore.js b/www/manager6/window/Restore.js
index 690116df..7fb0167b 100644
--- a/www/manager6/window/Restore.js
+++ b/www/manager6/window/Restore.js
@@ -93,13 +93,12 @@ Ext.define('PVE.window.Restore', {
             };
 
             if (view.vmid) {
-                confirmMsg += `. ${Ext.String.format(
-                    gettext('This will permanently erase current {0} data.'),
-                    view.vmtype === 'lxc' ? 'CT' : 'VM',
-                )}`;
-                if (view.vmtype === 'lxc') {
+                if (view.vmtype === 'lxc')
+                    confirmMsg += `. ${gettext('This will permanently erase current CT data.')}`;
                     confirmMsg += `<br>${gettext('Mount point volumes are also erased.')}`;
-                }
+                } else {
+                    confirmMsg += `. ${gettext('This will permanently erase current VM data.')}`;
+                };
                 Ext.Msg.confirm(gettext('Confirm'), confirmMsg, function (btn) {
                     if (btn === 'yes') {
                         executeRestore();
-- 
2.47.2



_______________________________________________
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 manager v3 3/3] use Unicode not equal sign in translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 1/3] add context to " Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 2/3] improve some " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 1/2] add context to " Maximiliano Sandoval
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/manager6/dc/PCIMapView.js | 2 +-
 www/manager6/dc/USBMapView.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/manager6/dc/PCIMapView.js b/www/manager6/dc/PCIMapView.js
index 6ea23a45..96dae52c 100644
--- a/www/manager6/dc/PCIMapView.js
+++ b/www/manager6/dc/PCIMapView.js
@@ -56,7 +56,7 @@ Ext.define('PVE.dc.PCIMapView', {
 
             let valid = 1;
             let errors = [];
-            let errText = gettext("Configuration for {0} not correct ('{1}' != '{2}')");
+            let errText = gettext("Configuration for {0} not correct ('{1}' ≠ '{2}')");
             for (const [key, validValue] of Object.entries(toCheck)) {
                 if (`${rec.data[key]}` !== `${validValue}`) {
                     errors.push(Ext.String.format(errText, key, rec.data[key] ?? '', validValue));
diff --git a/www/manager6/dc/USBMapView.js b/www/manager6/dc/USBMapView.js
index 257583bd..efdac49b 100644
--- a/www/manager6/dc/USBMapView.js
+++ b/www/manager6/dc/USBMapView.js
@@ -51,7 +51,7 @@ Ext.define('PVE.dc.USBMapView', {
 
             let valid = 1;
             let errors = [];
-            let errText = gettext("Configuration for {0} not correct ('{1}' != '{2}')");
+            let errText = gettext("Configuration for {0} not correct ('{1}' ≠ '{2}')");
             for (const [key, validValue] of Object.entries(toCheck)) {
                 if (rec.data[key] !== validValue) {
                     errors.push(Ext.String.format(errText, key, rec.data[key] ?? '', validValue));
-- 
2.47.2



_______________________________________________
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 widget-toolkit v3 1/2] add context to translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (2 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 3/3] use Unicode not equal sign in " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 2/2] use WebAuthn in translatable string Maximiliano Sandoval
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

These will be displayed in translator editors and provide context for
translators.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 src/Utils.js                        | 2 ++
 src/form/MultiDiskSelector.js       | 1 +
 src/panel/NotificationConfigView.js | 1 +
 src/window/ZFSDetail.js             | 1 +
 4 files changed, 5 insertions(+)

diff --git a/src/Utils.js b/src/Utils.js
index 92cbf28..40b27d1 100644
--- a/src/Utils.js
+++ b/src/Utils.js
@@ -786,6 +786,7 @@ Ext.define('Proxmox.Utils', {
 
         format_size: function (size, useSI) {
             let unitsSI = [
+                // TRANSLATORS: This is the Bytes unit (e.g. 1B = 8 bits)
                 gettext('B'),
                 gettext('KB'),
                 gettext('MB'),
@@ -797,6 +798,7 @@ Ext.define('Proxmox.Utils', {
                 gettext('YB'),
             ];
             let unitsIEC = [
+                // TRANSLATORS: This is the Bytes unit (e.g. 1B = 8 bits)
                 gettext('B'),
                 gettext('KiB'),
                 gettext('MiB'),
diff --git a/src/form/MultiDiskSelector.js b/src/form/MultiDiskSelector.js
index 50e819b..51c3858 100644
--- a/src/form/MultiDiskSelector.js
+++ b/src/form/MultiDiskSelector.js
@@ -115,6 +115,7 @@ Ext.define('Proxmox.form.MultiDiskSelector', {
             flex: 1,
         },
         {
+            // TRANSLATORS: This is a noun
             header: gettext('Order'),
             xtype: 'widgetcolumn',
             dataIndex: 'order',
diff --git a/src/panel/NotificationConfigView.js b/src/panel/NotificationConfigView.js
index 92e1f9b..85e45a0 100644
--- a/src/panel/NotificationConfigView.js
+++ b/src/panel/NotificationConfigView.js
@@ -163,6 +163,7 @@ Ext.define('Proxmox.panel.NotificationEndpointView', {
         },
         {
             dataIndex: 'name',
+            // TRANSLATORS: As in "the target's name"
             text: gettext('Target Name'),
             renderer: Ext.String.htmlEncode,
             flex: 2,
diff --git a/src/window/ZFSDetail.js b/src/window/ZFSDetail.js
index 1c63b5a..2617b87 100644
--- a/src/window/ZFSDetail.js
+++ b/src/window/ZFSDetail.js
@@ -83,6 +83,7 @@ Ext.define('Proxmox.window.ZFSDetail', {
                     renderer: Proxmox.Utils.render_zfs_health,
                 },
                 scan: {
+                    // TRANSLATORS: This is a noun
                     header: gettext('Scan'),
                 },
                 status: {
-- 
2.47.2



_______________________________________________
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 widget-toolkit v3 2/2] use WebAuthn in translatable string
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (3 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 1/2] add context to " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 1/3] add translators comments to some translations Maximiliano Sandoval
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 src/window/AddWebauthn.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/window/AddWebauthn.js b/src/window/AddWebauthn.js
index 7123f4b..115e6e3 100644
--- a/src/window/AddWebauthn.js
+++ b/src/window/AddWebauthn.js
@@ -227,7 +227,7 @@ Ext.define('Proxmox.window.AddWebauthn', {
         '->',
         {
             xtype: 'button',
-            text: gettext('Register Webauthn Device'),
+            text: gettext('Register WebAuthn Device'),
             handler: 'registerWebauthn',
             bind: {
                 disabled: '{!valid}',
-- 
2.47.2



_______________________________________________
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 backup v3 1/3] add translators comments to some translations
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (4 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 2/2] use WebAuthn in translatable string Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 2/3] improve some translatable strings Maximiliano Sandoval
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

These will be displayed in translator editors and provide context for
translators.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/tape/DriveStatus.js     | 1 +
 www/window/DataStoreEdit.js | 1 +
 www/window/S3ClientEdit.js  | 2 ++
 3 files changed, 4 insertions(+)

diff --git a/www/tape/DriveStatus.js b/www/tape/DriveStatus.js
index 881bc1fdd..4405e4380 100644
--- a/www/tape/DriveStatus.js
+++ b/www/tape/DriveStatus.js
@@ -335,6 +335,7 @@ Ext.define('PBS.TapeManagement.DriveStatusGrid', {
                 if (!value) {
                     return gettext('Dynamic');
                 }
+                // TRANSLATORS: As in "fixed block size"
                 return `${gettext('Fixed')} - ${Proxmox.Utils.format_size(value)}`;
             },
         },
diff --git a/www/window/DataStoreEdit.js b/www/window/DataStoreEdit.js
index b414bd4c0..e12fea09f 100644
--- a/www/window/DataStoreEdit.js
+++ b/www/window/DataStoreEdit.js
@@ -229,6 +229,7 @@ Ext.define('PBS.DataStoreEdit', {
                 },
             },
             {
+                // TRANSLATORS: As in "options of the prune operation"
                 title: gettext('Prune Options'),
                 xtype: 'pbsPruneInputPanel',
                 cbind: {
diff --git a/www/window/S3ClientEdit.js b/www/window/S3ClientEdit.js
index f0a5efba8..ca70dbbb2 100644
--- a/www/window/S3ClientEdit.js
+++ b/www/window/S3ClientEdit.js
@@ -57,6 +57,7 @@ Ext.define('PBS.window.S3ClientEdit', {
                 xtype: 'proxmoxtextfield',
                 name: 'port',
                 fieldLabel: gettext('Port'),
+                // TRANSLATORS: this is a port number
                 emptyText: gettext('default (443)'),
                 cbind: {
                     deleteEmpty: '{!isCreate}',
@@ -80,6 +81,7 @@ Ext.define('PBS.window.S3ClientEdit', {
                 xtype: 'proxmoxtextfield',
                 name: 'region',
                 fieldLabel: gettext('Region'),
+		// TRANSLATORS: this is a region code
                 emptyText: gettext('default (us-west-1)'),
                 cbind: {
                     deleteEmpty: '{!isCreate}',
-- 
2.47.2



_______________________________________________
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 backup v3 2/3] improve some translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (5 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 1/3] add translators comments to some translations Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 3/3] use WebAuthn in " Maximiliano Sandoval
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

The 'S3 Refresh' string is already in our pot files.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/Utils.js               | 2 +-
 www/window/InfluxDbEdit.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/Utils.js b/www/Utils.js
index ccdae522c..55365b1f0 100644
--- a/www/Utils.js
+++ b/www/Utils.js
@@ -847,7 +847,7 @@ Ext.define('PBS.Utils', {
                 modeText = gettext('Unmounting');
                 break;
             case 's3-refresh':
-                modeText = gettext('S3 refresh');
+                modeText = gettext('S3 Refresh');
                 break;
         }
         return `${modeText} ${extra}`;
diff --git a/www/window/InfluxDbEdit.js b/www/window/InfluxDbEdit.js
index 274a45296..34841de6a 100644
--- a/www/window/InfluxDbEdit.js
+++ b/www/window/InfluxDbEdit.js
@@ -95,7 +95,7 @@ Ext.define('PBS.window.InfluxDbHttpEdit', {
                 {
                     xtype: 'proxmoxintegerfield',
                     name: 'max-body-size',
-                    fieldLabel: gettext('Batch Size (b)'),
+                    fieldLabel: gettext('Batch Size (bits)'),
                     minValue: 1,
                     emptyText: '25000000',
                     submitEmpty: false,
-- 
2.47.2



_______________________________________________
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 backup v3 3/3] use WebAuthn in translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (6 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 2/3] improve some translatable strings Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 1/2] add context to " Maximiliano Sandoval
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 www/config/WebauthnView.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/config/WebauthnView.js b/www/config/WebauthnView.js
index 131964b8c..a954d8ac6 100644
--- a/www/config/WebauthnView.js
+++ b/www/config/WebauthnView.js
@@ -55,7 +55,7 @@ Ext.define('PBS.WebauthnConfigEdit', {
     extend: 'Proxmox.window.Edit',
     alias: ['widget.pbsWebauthnConfigEdit'],
 
-    subject: gettext('Webauthn'),
+    subject: gettext('WebAuthn'),
     url: '/api2/extjs/config/access/tfa/webauthn',
     autoLoad: true,
 
@@ -133,7 +133,7 @@ Ext.define('PBS.WebauthnConfigEdit', {
             padding: '5 0 0 0',
             html:
                 '<i class="fa fa-exclamation-triangle warning"></i> ' +
-                gettext('Changing the Relying Party may break existing webAuthn TFA entries.'),
+                gettext('Changing the Relying Party may break existing WebAuthn TFA entries.'),
         },
     ],
 });
-- 
2.47.2



_______________________________________________
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-datacenter-manager v3 1/2] add context to translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (7 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 3/3] use WebAuthn in " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-09-08 13:04   ` [pve-devel] applied: " Thomas Lamprecht
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 2/2] improve " Maximiliano Sandoval
  2025-07-30 13:35 ` [pve-devel] [PATCH yew-widget-toolkit v3 1/1] " Maximiliano Sandoval
  10 siblings, 1 reply; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 ui/src/dashboard/top_entities.rs | 1 +
 ui/src/pve/qemu.rs               | 2 ++
 ui/src/remotes/add_wizard.rs     | 1 +
 3 files changed, 4 insertions(+)

diff --git a/ui/src/dashboard/top_entities.rs b/ui/src/dashboard/top_entities.rs
index af3f853..4859e64 100644
--- a/ui/src/dashboard/top_entities.rs
+++ b/ui/src/dashboard/top_entities.rs
@@ -238,6 +238,7 @@ fn create_tooltip(
     Column::new()
         .min_width(200)
         .gap(2)
+        // TRANSLATORS: For example "resource on Remote 'HAL 9000'"
         .with_child(Container::from_tag("h6").with_child(tr! {
             "{0} on Remote '{1}'",
             render_resource_name(resource, false),
diff --git a/ui/src/pve/qemu.rs b/ui/src/pve/qemu.rs
index 57e5e74..efb5ae4 100644
--- a/ui/src/pve/qemu.rs
+++ b/ui/src/pve/qemu.rs
@@ -201,7 +201,9 @@ impl yew::Component for QemuPanelComp {
                         self.cpu = Rc::new(Series::new(tr!("CPU usage"), cpu));
                         self.memory = Rc::new(Series::new(tr!("RAM usage"), memory));
                         self.memory_max = Rc::new(Series::new(tr!("Total"), memory_max));
+                        // TRANSLATORS: As in amount of incoming network traffic
                         self.netin = Rc::new(Series::new(tr!("Net In"), netin));
+                        // TRANSLATORS: As in amount of outgoing network traffic
                         self.netout = Rc::new(Series::new(tr!("Net Out"), netout));
                         self.diskread = Rc::new(Series::new(tr!("Disk Read"), diskread));
                         self.diskwrite = Rc::new(Series::new(tr!("Disk Write"), diskwrite));
diff --git a/ui/src/remotes/add_wizard.rs b/ui/src/remotes/add_wizard.rs
index f4bf9a3..12d64f3 100644
--- a/ui/src/remotes/add_wizard.rs
+++ b/ui/src/remotes/add_wizard.rs
@@ -96,6 +96,7 @@ impl Component for AddWizardState {
                 TabBarItem::new()
                     .key("connection")
                     .label(if remote_type == RemoteType::Pve {
+                        // TRANSLATORS: Probe is a verb here
                         tr!("Probe Remote")
                     } else {
                         tr!("Connection")
-- 
2.47.2



_______________________________________________
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-datacenter-manager v3 2/2] improve translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (8 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 1/2] add context to " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  2025-09-08 13:04   ` [pve-devel] applied: " Thomas Lamprecht
  2025-07-30 13:35 ` [pve-devel] [PATCH yew-widget-toolkit v3 1/1] " Maximiliano Sandoval
  10 siblings, 1 reply; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

The string "Mixed Subscriptions" is already in our pot files.

We also remove a newline that leaked into the pot file.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 ui/src/dashboard/remote_panel.rs      | 2 +-
 ui/src/dashboard/subscription_info.rs | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/ui/src/dashboard/remote_panel.rs b/ui/src/dashboard/remote_panel.rs
index 7471fb6..ff21fea 100644
--- a/ui/src/dashboard/remote_panel.rs
+++ b/ui/src/dashboard/remote_panel.rs
@@ -71,7 +71,7 @@ impl Component for PdmRemotePanel {
             ),
             (failed, _) => (
                 Fa::from(Status::Error),
-                tr!("{0} remotes failed to reach.", failed),
+                tr!("Failed to reach one remote." | "Failed to reach {n} remotes." % failed),
                 true,
             ),
         };
diff --git a/ui/src/dashboard/subscription_info.rs b/ui/src/dashboard/subscription_info.rs
index 9677c15..f867547 100644
--- a/ui/src/dashboard/subscription_info.rs
+++ b/ui/src/dashboard/subscription_info.rs
@@ -55,14 +55,13 @@ fn render_subscription_status(subs: &[RemoteSubscriptions]) -> Row {
 
     let (status, title, msg) = if none > 0 {
         let msg = tr!(
-        "At least one remote does not have a valid subscription. Please visit <a target=\"_blank\" href=\"https://www.proxmox.com\">www.proxmox.com</a> to get
-a list of available options. ",
+        "At least one remote does not have a valid subscription. Please visit <a target=\"_blank\" href=\"https://www.proxmox.com\">www.proxmox.com</a> to get a list of available options. ",
     );
 
         let msg = Html::from_html_unchecked(msg.into());
         (Status::Error, tr!("No valid subscription"), msg)
     } else if mixed > 0 {
-        (Status::Warning, tr!("Mixed subscriptions"), tr!("At least one remote has mixed levels of subscription. These remotes fall back to the lowest one.").into())
+        (Status::Warning, tr!("Mixed Subscriptions"), tr!("At least one remote has mixed levels of subscription. These remotes fall back to the lowest one.").into())
     } else if unknown > 0 {
         (
             Status::Unknown,
-- 
2.47.2



_______________________________________________
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 yew-widget-toolkit v3 1/1] improve translatable strings
  2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
                   ` (9 preceding siblings ...)
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 2/2] improve " Maximiliano Sandoval
@ 2025-07-30 13:35 ` Maximiliano Sandoval
  10 siblings, 0 replies; 14+ messages in thread
From: Maximiliano Sandoval @ 2025-07-30 13:35 UTC (permalink / raw)
  To: pve-devel

Regarding the "may" change: we error when the fields are empty, hence
must is more appropriate.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 src/widget/form/field.rs    | 2 +-
 src/widget/form/number.rs   | 4 ++--
 src/widget/form/selector.rs | 2 +-
 src/widget/form/textarea.rs | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/widget/form/field.rs b/src/widget/form/field.rs
index 314b5e16..da3b9777 100644
--- a/src/widget/form/field.rs
+++ b/src/widget/form/field.rs
@@ -329,7 +329,7 @@ impl ManagedField for StandardField {
 
         if value.is_empty() {
             if props.required {
-                return Err(Error::msg(tr!("Field may not be empty.")));
+                return Err(Error::msg(tr!("Field must not be empty.")));
             } else {
                 return Ok(Value::String(String::new()));
             }
diff --git a/src/widget/form/number.rs b/src/widget/form/number.rs
index 78d44a39..298b4c8b 100644
--- a/src/widget/form/number.rs
+++ b/src/widget/form/number.rs
@@ -433,7 +433,7 @@ impl<T: NumberTypeInfo> ManagedField for NumberField<T> {
 
         if is_empty {
             if props.required {
-                return Err(Error::msg(tr!("Field may not be empty.")));
+                return Err(Error::msg(tr!("Field must not be empty.")));
             } else {
                 return Ok(Value::Null);
             }
@@ -441,7 +441,7 @@ impl<T: NumberTypeInfo> ManagedField for NumberField<T> {
 
         let number = match T::value_to_number(value) {
             Ok(number) => number,
-            Err(err) => return Err(Error::msg(tr!("Input invalid: {}", err.to_string()))),
+            Err(err) => return Err(Error::msg(tr!("Invalid input: {}", err.to_string()))),
         };
 
         if let Some(min) = props.min {
diff --git a/src/widget/form/selector.rs b/src/widget/form/selector.rs
index c7a2d7b2..75f25da7 100644
--- a/src/widget/form/selector.rs
+++ b/src/widget/form/selector.rs
@@ -208,7 +208,7 @@ impl<S: DataStore + 'static> ManagedField for SelectorField<S> {
 
         if value.is_empty() {
             if props.required {
-                bail!("Field may not be empty.");
+                bail!("Field must not be empty.");
             } else {
                 return Ok(Value::String(String::new()));
             }
diff --git a/src/widget/form/textarea.rs b/src/widget/form/textarea.rs
index bf63a495..1f3246a2 100644
--- a/src/widget/form/textarea.rs
+++ b/src/widget/form/textarea.rs
@@ -139,7 +139,7 @@ impl ManagedField for TextAreaField {
 
         if value.is_empty() {
             if props.required {
-                return Err(Error::msg(tr!("Field may not be empty.")));
+                return Err(Error::msg(tr!("Field must not be empty.")));
             } else {
                 return Ok(Value::String(String::new()));
             }
-- 
2.47.2



_______________________________________________
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] applied: [PATCH proxmox-datacenter-manager v3 1/2] add context to translatable strings
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 1/2] add context to " Maximiliano Sandoval
@ 2025-09-08 13:04   ` Thomas Lamprecht
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Lamprecht @ 2025-09-08 13:04 UTC (permalink / raw)
  To: pve-devel, Maximiliano Sandoval

On Wed, 30 Jul 2025 15:35:11 +0200, Maximiliano Sandoval wrote:
> 


Applied, thanks!

[1/2] add context to translatable strings
      commit: 4d1754074b6f1c2df5795c7196b15673056cc972


_______________________________________________
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] applied: [PATCH proxmox-datacenter-manager v3 2/2] improve translatable strings
  2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 2/2] improve " Maximiliano Sandoval
@ 2025-09-08 13:04   ` Thomas Lamprecht
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Lamprecht @ 2025-09-08 13:04 UTC (permalink / raw)
  To: pve-devel, Maximiliano Sandoval

On Wed, 30 Jul 2025 15:35:12 +0200, Maximiliano Sandoval wrote:
> The string "Mixed Subscriptions" is already in our pot files.
> 
> We also remove a newline that leaked into the pot file.
> 
> 

Applied, thanks!

[2/2] improve translatable strings
      commit: 8f0f1585dc5a6e845235170aca089aebdc1c510d


_______________________________________________
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-09-08 13:05 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-30 13:35 [pve-devel] [PATCH backup/manager/proxmox-datacenter-manager/widget-toolkit/yew-widget-toolkit v3 00/11] Improve translatable strings Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 1/3] add context to " Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 2/3] improve some " Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH manager v3 3/3] use Unicode not equal sign in " Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 1/2] add context to " Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH widget-toolkit v3 2/2] use WebAuthn in translatable string Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 1/3] add translators comments to some translations Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 2/3] improve some translatable strings Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH backup v3 3/3] use WebAuthn in " Maximiliano Sandoval
2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 1/2] add context to " Maximiliano Sandoval
2025-09-08 13:04   ` [pve-devel] applied: " Thomas Lamprecht
2025-07-30 13:35 ` [pve-devel] [PATCH proxmox-datacenter-manager v3 2/2] improve " Maximiliano Sandoval
2025-09-08 13:04   ` [pve-devel] applied: " Thomas Lamprecht
2025-07-30 13:35 ` [pve-devel] [PATCH yew-widget-toolkit v3 1/1] " Maximiliano Sandoval

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal