[pve-devel] [PATCH manager 1/2] add context to translatable strings
Maximiliano Sandoval
m.sandoval at proxmox.com
Thu Oct 23 10:30:52 CEST 2025
These will be displayed in translator editors and provide context for
translators.
Some strings like "Verify State" are not clear in meaning without added
context. It is a reasonable assumption for "Verify" to be a verb, since
button labels should start with a verb and we do not have enough context
in the i18n context to see this is not part of such a label, but in this
case we actually mean the state of the verification task.
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
www/manager6/dc/MetricServerView.js | 3 +++
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/Migrate.js | 1 +
8 files changed, 12 insertions(+)
diff --git a/www/manager6/dc/MetricServerView.js b/www/manager6/dc/MetricServerView.js
index 26e89923..1cb9d516 100644
--- a/www/manager6/dc/MetricServerView.js
+++ b/www/manager6/dc/MetricServerView.js
@@ -585,6 +585,7 @@ Ext.define('PVE.dc.OpenTelemetryEdit', {
name: 'server',
fieldLabel: gettext('Server'),
allowBlank: false,
+ // TRANSLATORS: otel-collector is a property of OpenTelemetry.
emptyText: gettext('otel-collector.example.com'),
},
{
@@ -680,6 +681,7 @@ Ext.define('PVE.dc.OpenTelemetryEdit', {
name: 'headers_advanced',
fieldLabel: gettext('HTTP Headers (JSON)'),
labelAlign: 'top',
+ // TRANSLATORS: These are sample json payloads, only translate the values
emptyText: gettext(
'{\n "Authorization": "Bearer token",\n "X-Custom-Header": "value"\n}',
),
@@ -701,6 +703,7 @@ Ext.define('PVE.dc.OpenTelemetryEdit', {
name: 'resource_attributes_advanced',
fieldLabel: gettext('Resource Attributes (JSON)'),
labelAlign: 'top',
+ // TRANSLATORS: These are sample json payloads, only translate the values
emptyText: gettext(
'{\n "environment": "production",\n "datacenter": "dc1",\n "region": "us-east-1"\n}',
),
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 43494dec..4b53c2ff 100644
--- a/www/manager6/sdn/zones/VxlanEdit.js
+++ b/www/manager6/sdn/zones/VxlanEdit.js
@@ -62,6 +62,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 cf89ef6d..43b988a1 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'),
diff --git a/www/manager6/window/Migrate.js b/www/manager6/window/Migrate.js
index 88d09189..ff80c70c 100644
--- a/www/manager6/window/Migrate.js
+++ b/www/manager6/window/Migrate.js
@@ -645,6 +645,7 @@ Ext.define('PVE.window.Migrate', {
{
xtype: 'proxmoxcheckbox',
name: 'withConntrackState',
+ // TRANSLATORS: See https://www.kernel.org/doc/html/next/networking/netlink_spec/conntrack.html
fieldLabel: gettext('Conntrack state'),
autoEl: {
tag: 'div',
--
2.47.3
More information about the pve-devel
mailing list