public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve_manager, proxmox-widget-toolkit 0/2] fix 4551: Storage units should be gettextized to be translated
@ 2023-04-04 10:14 Noel Ullreich
  2023-04-04 10:14 ` [pve-devel] [PATCH pve_manager 1/1] Translate units Noel Ullreich
  2023-04-04 10:14 ` [pve-devel] [PATCH proxmox-widget-toolkit 1/1] translate units in `format_size` Noel Ullreich
  0 siblings, 2 replies; 4+ messages in thread
From: Noel Ullreich @ 2023-04-04 10:14 UTC (permalink / raw)
  To: pve-devel

added a `gettext` instance of the units in a formatting function.
All the units that were not affected by this but needed translation were
manually put into a `gettext` instance.

Noel Ullreich (2):
  Translate units
  translate units 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] 4+ messages in thread

* [pve-devel] [PATCH pve_manager 1/1] Translate units
  2023-04-04 10:14 [pve-devel] [PATCH pve_manager, proxmox-widget-toolkit 0/2] fix 4551: Storage units should be gettextized to be translated Noel Ullreich
@ 2023-04-04 10:14 ` Noel Ullreich
  2023-04-04 13:18   ` Thomas Lamprecht
  2023-04-04 10:14 ` [pve-devel] [PATCH proxmox-widget-toolkit 1/1] translate units in `format_size` Noel Ullreich
  1 sibling, 1 reply; 4+ messages in thread
From: Noel Ullreich @ 2023-04-04 10:14 UTC (permalink / raw)
  To: pve-devel

added `gettext` to units that were "hardcoded"

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 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/www/manager6/ceph/OSD.js b/www/manager6/ceph/OSD.js
index 2f12f94d..40226f7a 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..0e6dee40 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..292979b6 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..d8131663 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] 4+ messages in thread

* [pve-devel] [PATCH proxmox-widget-toolkit 1/1] translate units in `format_size`
  2023-04-04 10:14 [pve-devel] [PATCH pve_manager, proxmox-widget-toolkit 0/2] fix 4551: Storage units should be gettextized to be translated Noel Ullreich
  2023-04-04 10:14 ` [pve-devel] [PATCH pve_manager 1/1] Translate units Noel Ullreich
@ 2023-04-04 10:14 ` Noel Ullreich
  1 sibling, 0 replies; 4+ messages in thread
From: Noel Ullreich @ 2023-04-04 10:14 UTC (permalink / raw)
  To: pve-devel

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] 4+ messages in thread

* Re: [pve-devel] [PATCH pve_manager 1/1] Translate units
  2023-04-04 10:14 ` [pve-devel] [PATCH pve_manager 1/1] Translate units Noel Ullreich
@ 2023-04-04 13:18   ` Thomas Lamprecht
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2023-04-04 13:18 UTC (permalink / raw)
  To: Proxmox VE development discussion, Noel Ullreich

The subject is very lacking, if I'd stuble over this when skimming through a
git log --oneline or the like, which I find myself doing very often in repos,
I'd have no idea what this is about – translation is used for a myriad of things
in IT and units too; also no subsystem tag - so no idea if this is API, UI, or
something else. Also no reference to the enhancement request this addresses.

I'd prefer something like:

fix #4551: ui: use gettext for byte units

or

fix #4551: ui: make byte units translatable

Am 04/04/2023 um 12:14 schrieb Noel Ullreich:
> added `gettext` to units that were "hardcoded"

this doesn't adds that much information, as I can gather the "what?" from checking
the change itself, at least here as it's relatively trivial.

So rather add some reasoning, i.e., "why?"; something like that byte isn't actually
an SI-Unit and is not commonly used in some languages, like e.g., French, and that
some languages are even translating SI-Prefixes into their script.

> 
> 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 +-
>  4 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/www/manager6/ceph/OSD.js b/www/manager6/ceph/OSD.js
> index 2f12f94d..40226f7a 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'),

1. you dropped the parenthesis
2. can we please switch to template strings when touching such lines

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'),

same as above on both points

>  			    minValue: 0.5,
>  			    maxValue: 128*1024,
>  			    decimalPrecision: 2,
> diff --git a/www/manager6/form/DiskStorageSelector.js b/www/manager6/form/DiskStorageSelector.js
> index abd46deb..0e6dee40 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'),

same as above on both pointss



>  		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..292979b6 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'),

same as above on both points

>  	    allowBlank: false,
>  	});
>  
> diff --git a/www/manager6/qemu/HDResize.js b/www/manager6/qemu/HDResize.js
> index f9c7290d..d8131663 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'),

same as above on both points

>  	    allowBlank: false,
>  	});
>  





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-04 13:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-04 10:14 [pve-devel] [PATCH pve_manager, proxmox-widget-toolkit 0/2] fix 4551: Storage units should be gettextized to be translated Noel Ullreich
2023-04-04 10:14 ` [pve-devel] [PATCH pve_manager 1/1] Translate units Noel Ullreich
2023-04-04 13:18   ` Thomas Lamprecht
2023-04-04 10:14 ` [pve-devel] [PATCH proxmox-widget-toolkit 1/1] translate units in `format_size` Noel Ullreich

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