all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [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

* [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

* 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

* 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] 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

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 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