* [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface @ 2023-04-06 11:38 Noel Ullreich 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units Noel Ullreich ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Noel Ullreich @ 2023-04-06 11:38 UTC (permalink / raw) To: pve-devel Since other languages translate byte units (such as 'GiB') or write them in their own script, this patch series wraps byte units in the `gettext` function, allowing them to be translated. --- changes from v1: * improved commit messages * put hardcoded byte unit strings in a template string Noel Ullreich (1): fix #4551: ui: use gettext on hardcoded byte units fix #4551: ui: translate byte unit in `format_size` www/manager6/ceph/OSD.js | 4 ++-- www/manager6/form/DiskStorageSelector.js | 2 +- www/manager6/lxc/MPResize.js | 2 +- www/manager6/qemu/HDResize.js | 2 +- src/Utils.js | 14 ++++++++------ 5 files changed, 13 insertions(+), 11 deletions(-) -- 2.30.2 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units 2023-04-06 11:38 [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich @ 2023-04-06 11:38 ` Noel Ullreich 2023-06-01 14:14 ` Thomas Lamprecht 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` Noel Ullreich 2023-05-22 9:08 ` [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich 2 siblings, 1 reply; 6+ messages in thread From: Noel Ullreich @ 2023-04-06 11:38 UTC (permalink / raw) To: pve-devel Since some languages translate byte units like 'GiB' or write them in their own script, this patch wraps units in the `gettext` function. While most occurrences of byte strings can be translated within the `format_size` function in `proxmox-widget-toolkit/src/Utils.js`, this patch catches those instances that are not translated. Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com> --- www/manager6/ceph/OSD.js | 4 ++-- www/manager6/form/DiskStorageSelector.js | 2 +- www/manager6/lxc/MPResize.js | 2 +- www/manager6/qemu/HDResize.js | 2 +- www/manager6/qemu/HardwareView.js | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/www/manager6/ceph/OSD.js b/www/manager6/ceph/OSD.js index 2f12f94d..61fe5b06 100644 --- a/www/manager6/ceph/OSD.js +++ b/www/manager6/ceph/OSD.js @@ -83,7 +83,7 @@ Ext.define('PVE.CephCreateOsd', { { xtype: 'numberfield', name: 'db_dev_size', - fieldLabel: gettext('DB size') + ' (GiB)', + fieldLabel: `${gettext('DB size')} (${gettext('GiB')})`, minValue: 1, maxValue: 128*1024, decimalPrecision: 2, @@ -137,7 +137,7 @@ Ext.define('PVE.CephCreateOsd', { { xtype: 'numberfield', name: 'wal_dev_size', - fieldLabel: gettext('WAL size') + ' (GiB)', + fieldLabel: `${gettext('WAL size')} (${gettext('GiB')})`, minValue: 0.5, maxValue: 128*1024, decimalPrecision: 2, diff --git a/www/manager6/form/DiskStorageSelector.js b/www/manager6/form/DiskStorageSelector.js index abd46deb..d408b815 100644 --- a/www/manager6/form/DiskStorageSelector.js +++ b/www/manager6/form/DiskStorageSelector.js @@ -148,7 +148,7 @@ Ext.define('PVE.form.DiskStorageSelector', { itemId: 'disksize', reference: 'disksize', name: 'disksize', - fieldLabel: gettext('Disk size') + ' (GiB)', + fieldLabel: `${gettext('Disk size')} (${gettext('GiB')})`, hidden: me.hideSize, disabled: me.hideSize, minValue: 0.001, diff --git a/www/manager6/lxc/MPResize.js b/www/manager6/lxc/MPResize.js index 881c037b..d560b788 100644 --- a/www/manager6/lxc/MPResize.js +++ b/www/manager6/lxc/MPResize.js @@ -52,7 +52,7 @@ Ext.define('PVE.window.MPResize', { maxValue: 128*1024, decimalPrecision: 3, value: '0', - fieldLabel: gettext('Size Increment') + ' (GiB)', + fieldLabel: `${gettext('Size Increment')} (${gettext('GiB')})`, allowBlank: false, }); diff --git a/www/manager6/qemu/HDResize.js b/www/manager6/qemu/HDResize.js index f9c7290d..29ff253b 100644 --- a/www/manager6/qemu/HDResize.js +++ b/www/manager6/qemu/HDResize.js @@ -49,7 +49,7 @@ Ext.define('PVE.window.HDResize', { maxValue: 128*1024, decimalPrecision: 3, value: '0', - fieldLabel: gettext('Size Increment') + ' (GiB)', + fieldLabel: `${gettext('Size Increment')} (${gettext('GiB')})`, allowBlank: false, }); -- 2.30.2 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units Noel Ullreich @ 2023-06-01 14:14 ` Thomas Lamprecht 0 siblings, 0 replies; 6+ messages in thread From: Thomas Lamprecht @ 2023-06-01 14:14 UTC (permalink / raw) To: Proxmox VE development discussion, Noel Ullreich Used wrong tag, this is for manager, not widget-toolkit... Am 06/04/2023 um 13:38 schrieb Noel Ullreich: > Since some languages translate byte units like 'GiB' or write them in their > own script, this patch wraps units in the `gettext` function. > > While most occurrences of byte strings can be translated within the > `format_size` function in `proxmox-widget-toolkit/src/Utils.js`, this patch > catches those instances that are not translated. > > Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com> > --- > www/manager6/ceph/OSD.js | 4 ++-- > www/manager6/form/DiskStorageSelector.js | 2 +- > www/manager6/lxc/MPResize.js | 2 +- > www/manager6/qemu/HDResize.js | 2 +- > www/manager6/qemu/HardwareView.js | 2 +- > 5 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/www/manager6/ceph/OSD.js b/www/manager6/ceph/OSD.js > index 2f12f94d..61fe5b06 100644 > --- a/www/manager6/ceph/OSD.js > +++ b/www/manager6/ceph/OSD.js > @@ -83,7 +83,7 @@ Ext.define('PVE.CephCreateOsd', { > { > xtype: 'numberfield', > name: 'db_dev_size', > - fieldLabel: gettext('DB size') + ' (GiB)', > + fieldLabel: `${gettext('DB size')} (${gettext('GiB')})`, > minValue: 1, > maxValue: 128*1024, > decimalPrecision: 2, > @@ -137,7 +137,7 @@ Ext.define('PVE.CephCreateOsd', { > { > xtype: 'numberfield', > name: 'wal_dev_size', > - fieldLabel: gettext('WAL size') + ' (GiB)', > + fieldLabel: `${gettext('WAL size')} (${gettext('GiB')})`, > minValue: 0.5, > maxValue: 128*1024, > decimalPrecision: 2, > diff --git a/www/manager6/form/DiskStorageSelector.js b/www/manager6/form/DiskStorageSelector.js > index abd46deb..d408b815 100644 > --- a/www/manager6/form/DiskStorageSelector.js > +++ b/www/manager6/form/DiskStorageSelector.js > @@ -148,7 +148,7 @@ Ext.define('PVE.form.DiskStorageSelector', { > itemId: 'disksize', > reference: 'disksize', > name: 'disksize', > - fieldLabel: gettext('Disk size') + ' (GiB)', > + fieldLabel: `${gettext('Disk size')} (${gettext('GiB')})`, > hidden: me.hideSize, > disabled: me.hideSize, > minValue: 0.001, > diff --git a/www/manager6/lxc/MPResize.js b/www/manager6/lxc/MPResize.js > index 881c037b..d560b788 100644 > --- a/www/manager6/lxc/MPResize.js > +++ b/www/manager6/lxc/MPResize.js > @@ -52,7 +52,7 @@ Ext.define('PVE.window.MPResize', { > maxValue: 128*1024, > decimalPrecision: 3, > value: '0', > - fieldLabel: gettext('Size Increment') + ' (GiB)', > + fieldLabel: `${gettext('Size Increment')} (${gettext('GiB')})`, > allowBlank: false, > }); > > diff --git a/www/manager6/qemu/HDResize.js b/www/manager6/qemu/HDResize.js > index f9c7290d..29ff253b 100644 > --- a/www/manager6/qemu/HDResize.js > +++ b/www/manager6/qemu/HDResize.js > @@ -49,7 +49,7 @@ Ext.define('PVE.window.HDResize', { > maxValue: 128*1024, > decimalPrecision: 3, > value: '0', > - fieldLabel: gettext('Size Increment') + ' (GiB)', > + fieldLabel: `${gettext('Size Increment')} (${gettext('GiB')})`, > allowBlank: false, > }); this seems to be cut-off here, missign the full context, thus I get: Applying: fix #4551: ui: use gettext on hardcoded byte units error: corrupt patch at line 70 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` 2023-04-06 11:38 [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units Noel Ullreich @ 2023-04-06 11:38 ` Noel Ullreich 2023-06-01 14:16 ` [pve-devel] applied: " Thomas Lamprecht 2023-05-22 9:08 ` [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich 2 siblings, 1 reply; 6+ messages in thread From: Noel Ullreich @ 2023-04-06 11:38 UTC (permalink / raw) To: pve-devel Some languages translate byte units like 'GiB' or write them in their own script. By `gettext`ing the units in the `format_size` function, we can translate the units for (almost) all of the web interface. Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com> --- src/Utils.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Utils.js b/src/Utils.js index 5e1a6f3..529e552 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -688,21 +688,23 @@ utilities: { }, format_size: function(size, useSI) { - let units = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']; + let unitsSI = [gettext('B'), gettext('KB'), gettext('MB'), gettext('GB'), + gettext('TB'), gettext('PB'), gettext('EB'), gettext('ZB'), gettext('YB')]; + let unitsIEC = [gettext('B'), gettext('KiB'), gettext('MiB'), gettext('GiB'), + gettext('TiB'), gettext('PiB'), gettext('EiB'), gettext('ZiB'), gettext('YiB')]; let order = 0; + let commaDigits = 2; const baseValue = useSI ? 1000 : 1024; - while (size >= baseValue && order < units.length) { + while (size >= baseValue && order < unitsSI.length) { size = size / baseValue; order++; } - let unit = units[order], commaDigits = 2; + let unit = useSI ? unitsSI[order] : unitsIEC[order]; if (order === 0) { commaDigits = 0; - } else if (!useSI) { - unit += 'i'; } - return `${size.toFixed(commaDigits)} ${unit}B`; + return `${size.toFixed(commaDigits)} ${unit}`; }, SizeUnits: { -- 2.30.2 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [pve-devel] applied: [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` Noel Ullreich @ 2023-06-01 14:16 ` Thomas Lamprecht 0 siblings, 0 replies; 6+ messages in thread From: Thomas Lamprecht @ 2023-06-01 14:16 UTC (permalink / raw) To: Proxmox VE development discussion, Noel Ullreich Am 06/04/2023 um 13:38 schrieb Noel Ullreich: > Some languages translate byte units like 'GiB' or write them in their > own script. > > By `gettext`ing the units in the `format_size` function, we can > translate the units for (almost) all of the web interface. > > Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com> > --- -> add the v1 -> v2 changelog (filtered for the current patch) here too please > src/Utils.js | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > applied, thanks! ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface 2023-04-06 11:38 [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units Noel Ullreich 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` Noel Ullreich @ 2023-05-22 9:08 ` Noel Ullreich 2 siblings, 0 replies; 6+ messages in thread From: Noel Ullreich @ 2023-05-22 9:08 UTC (permalink / raw) To: pve-devel Ping. Still applies On 06-04-2023 13:38, Noel Ullreich wrote: > Since other languages translate byte units (such as 'GiB') or write them > in their own script, this patch series wraps byte units in the `gettext` > function, allowing them to be translated. > > --- > changes from v1: > * improved commit messages > * put hardcoded byte unit strings in a template string > > Noel Ullreich (1): > fix #4551: ui: use gettext on hardcoded byte units > fix #4551: ui: translate byte unit in `format_size` > > www/manager6/ceph/OSD.js | 4 ++-- > www/manager6/form/DiskStorageSelector.js | 2 +- > www/manager6/lxc/MPResize.js | 2 +- > www/manager6/qemu/HDResize.js | 2 +- > src/Utils.js | 14 ++++++++------ > 5 files changed, 13 insertions(+), 11 deletions(-) > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-06-01 14:17 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-04-06 11:38 [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4551: ui: use gettext on hardcoded byte units Noel Ullreich 2023-06-01 14:14 ` Thomas Lamprecht 2023-04-06 11:38 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix 4551: ui: translate byte unit in `format_size` Noel Ullreich 2023-06-01 14:16 ` [pve-devel] applied: " Thomas Lamprecht 2023-05-22 9:08 ` [pve-devel] [PATCH pve-manager, proxmox-widget-toolkit v2 0/2] fix 4551: ui: translate byte units in web interface Noel Ullreich
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox