mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-14 20:55:48 +00:00
Added translations
Signed-off-by: Damien PIQUET <piqudam@gmail.com>
This commit is contained in:
parent
38f6e3b98a
commit
0070ee3752
@ -158,7 +158,7 @@ Ext.define('PVE.StateProvider', {
|
||||
var history_change_cb = function(token) {
|
||||
//console.log("HC " + token);
|
||||
if (!token) {
|
||||
var res = window.confirm('Are you sure you want to navigate away from this page?');
|
||||
var res = window.confirm(gettext('Are you sure you want to navigate away from this page?'));
|
||||
if (res){
|
||||
// process text value and close...
|
||||
Ext.History.back();
|
||||
|
@ -184,14 +184,14 @@ Ext.define('PVE.Utils', { statics: {
|
||||
},
|
||||
|
||||
kvm_vga_drivers: {
|
||||
std: 'Standard VGA',
|
||||
vmware: 'VMWare compatible',
|
||||
std: gettext('Standard VGA'),
|
||||
vmware: gettext('VMWare compatible'),
|
||||
cirrus: 'Cirrus Logic GD5446',
|
||||
qxl: 'SPICE',
|
||||
serial0: 'Serial terminal 0',
|
||||
serial1: 'Serial terminal 1',
|
||||
serial2: 'Serial terminal 2',
|
||||
serial3: 'Serial terminal 3'
|
||||
serial0: gettext('Serial terminal') + ' 0',
|
||||
serial1: gettext('Serial terminal') + ' 1',
|
||||
serial2: gettext('Serial terminal') + ' 2',
|
||||
serial3: gettext('Serial terminal') + ' 3'
|
||||
},
|
||||
|
||||
render_kvm_language: function (value) {
|
||||
@ -442,14 +442,14 @@ Ext.define('PVE.Utils', { statics: {
|
||||
method: 'GET',
|
||||
//waitMsgTarget: me,
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
var data = response.result.data;
|
||||
|
||||
if (data.status !== 'Active') {
|
||||
Ext.Msg.show({
|
||||
title: 'No valid subscription',
|
||||
title: gettext('No valid subscription'),
|
||||
icon: Ext.Msg.WARNING,
|
||||
msg: PVE.Utils.noSubKeyHtml,
|
||||
buttons: Ext.Msg.OK,
|
||||
@ -674,8 +674,6 @@ Ext.define('PVE.Utils', { statics: {
|
||||
return 'Directory';
|
||||
} else if (value === 'nfs') {
|
||||
return 'NFS';
|
||||
} else if (value === 'glusterfs') {
|
||||
return 'GlusterFS';
|
||||
} else if (value === 'lvm') {
|
||||
return 'LVM';
|
||||
} else if (value === 'iscsi') {
|
||||
|
@ -160,7 +160,7 @@ Ext.define('PVE.ConsoleWorkspace', {
|
||||
content = {
|
||||
border: false,
|
||||
bodyPadding: 10,
|
||||
html: 'Error: No such console type'
|
||||
html: gettext('Error: No such console type')
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -126,14 +126,14 @@ Ext.define('PVE.data.ResourceStore', {
|
||||
width: 100
|
||||
},
|
||||
maxcpu: {
|
||||
header: 'maxcpu',
|
||||
header: gettext('maxcpu'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
width: 60
|
||||
},
|
||||
diskread: {
|
||||
header: 'Total Disk Read',
|
||||
header: gettext('Total Disk Read'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
@ -141,7 +141,7 @@ Ext.define('PVE.data.ResourceStore', {
|
||||
width: 100
|
||||
},
|
||||
diskwrite: {
|
||||
header: 'Total Disk Write',
|
||||
header: gettext('Total Disk Write'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
@ -149,7 +149,7 @@ Ext.define('PVE.data.ResourceStore', {
|
||||
width: 100
|
||||
},
|
||||
netin: {
|
||||
header: 'Total NetIn',
|
||||
header: gettext('Total NetIn'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
@ -157,7 +157,7 @@ Ext.define('PVE.data.ResourceStore', {
|
||||
width: 100
|
||||
},
|
||||
netout: {
|
||||
header: 'Total NetOut',
|
||||
header: gettext('Total NetOut'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
@ -165,7 +165,7 @@ Ext.define('PVE.data.ResourceStore', {
|
||||
width: 100
|
||||
},
|
||||
template: {
|
||||
header: 'template',
|
||||
header: gettext('Template'),
|
||||
type: 'integer',
|
||||
hidden: true,
|
||||
sortable: true,
|
||||
|
@ -34,24 +34,24 @@ Ext.define('PVE.dc.AuthEdit', {
|
||||
|
||||
if (me.authType === 'ad') {
|
||||
|
||||
me.subject = 'Active Directory Server';
|
||||
me.subject = gettext('Active Directory Server');
|
||||
|
||||
column1.push({
|
||||
xtype: 'textfield',
|
||||
name: 'domain',
|
||||
fieldLabel: 'Domain',
|
||||
fieldLabel: gettext('Domain'),
|
||||
emptyText: 'company.net',
|
||||
allowBlank: false
|
||||
});
|
||||
|
||||
} else if (me.authType === 'ldap') {
|
||||
|
||||
me.subject = 'LDAP Server';
|
||||
me.subject = gettext('LDAP Server');
|
||||
|
||||
column1.push({
|
||||
xtype: 'textfield',
|
||||
name: 'base_dn',
|
||||
fieldLabel: 'Base Domain Name',
|
||||
fieldLabel: gettext('Base Domain Name'),
|
||||
emptyText: 'CN=Users,DC=Company,DC=net',
|
||||
allowBlank: false
|
||||
});
|
||||
@ -60,7 +60,7 @@ Ext.define('PVE.dc.AuthEdit', {
|
||||
xtype: 'textfield',
|
||||
name: 'user_attr',
|
||||
emptyText: 'uid / sAMAccountName',
|
||||
fieldLabel: 'User Attribute Name',
|
||||
fieldLabel: gettext('User Attribute Name'),
|
||||
allowBlank: false
|
||||
});
|
||||
|
||||
|
@ -82,7 +82,7 @@ Ext.define('PVE.dc.AuthView', {
|
||||
menu: new Ext.menu.Menu({
|
||||
items: [
|
||||
{
|
||||
text: 'Active Directory Server',
|
||||
text: gettext('Active Directory server'),
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.dc.AuthEdit', {
|
||||
authType: 'ad'
|
||||
@ -92,7 +92,7 @@ Ext.define('PVE.dc.AuthView', {
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'LDAP Server',
|
||||
text: gettext('LDAP Server'),
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.dc.AuthEdit',{
|
||||
authType: 'ldap'
|
||||
|
@ -32,7 +32,7 @@ Ext.define('PVE.dc.vmHAServiceEdit', {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'autostart',
|
||||
checked: true,
|
||||
fieldLabel: 'autostart'
|
||||
fieldLabel: gettext('Autostart')
|
||||
}
|
||||
]
|
||||
});
|
||||
|
@ -5,7 +5,7 @@ Ext.define('PVE.dc.HttpProxyEdit', {
|
||||
var me = this;
|
||||
|
||||
Ext.applyIf(me, {
|
||||
subject: 'HTTP proxy',
|
||||
subject: gettext('HTTP proxy'),
|
||||
items: {
|
||||
xtype: 'pvetextfield',
|
||||
name: 'http_proxy',
|
||||
@ -13,7 +13,7 @@ Ext.define('PVE.dc.HttpProxyEdit', {
|
||||
emptyText: gettext('Do not use any proxy'),
|
||||
deleteEmpty: true,
|
||||
value: '',
|
||||
fieldLabel: 'HTTP proxy'
|
||||
fieldLabel: gettext('HTTP proxy')
|
||||
}
|
||||
});
|
||||
|
||||
@ -66,7 +66,7 @@ Ext.define('PVE.dc.OptionView', {
|
||||
required: true
|
||||
},
|
||||
http_proxy: {
|
||||
header: 'HTTP proxy',
|
||||
header: gettext('HTTP proxy'),
|
||||
editor: 'PVE.dc.HttpProxyEdit',
|
||||
required: true,
|
||||
renderer: function(value) {
|
||||
|
@ -36,8 +36,6 @@ Ext.define('PVE.dc.StorageView', {
|
||||
editor = 'PVE.storage.DirEdit';
|
||||
} else if (type === 'nfs') {
|
||||
editor = 'PVE.storage.NFSEdit';
|
||||
} else if (type === 'glusterfs') {
|
||||
editor = 'PVE.storage.GlusterFsEdit';
|
||||
} else if (type === 'lvm') {
|
||||
editor = 'PVE.storage.LVMEdit';
|
||||
} else if (type === 'iscsi') {
|
||||
@ -102,7 +100,7 @@ Ext.define('PVE.dc.StorageView', {
|
||||
menu: new Ext.menu.Menu({
|
||||
items: [
|
||||
{
|
||||
text: 'Directory',
|
||||
text: gettext('Directory'),
|
||||
iconCls: 'pve-itype-icon-itype',
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.storage.DirEdit', {});
|
||||
@ -112,7 +110,7 @@ Ext.define('PVE.dc.StorageView', {
|
||||
|
||||
},
|
||||
{
|
||||
text: 'LVM group',
|
||||
text: gettext('LVM group'),
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.storage.LVMEdit', {});
|
||||
win.on('destroy', reload);
|
||||
@ -120,7 +118,7 @@ Ext.define('PVE.dc.StorageView', {
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'NFS share',
|
||||
text: gettext('NFS share'),
|
||||
iconCls: 'pve-itype-icon-node',
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.storage.NFSEdit', {});
|
||||
@ -129,7 +127,7 @@ Ext.define('PVE.dc.StorageView', {
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'iSCSI target',
|
||||
text: gettext('iSCSI target'),
|
||||
iconCls: 'pve-itype-icon-node',
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.storage.IScsiEdit', {});
|
||||
@ -137,15 +135,6 @@ Ext.define('PVE.dc.StorageView', {
|
||||
win.show();
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'GlusterFS volume',
|
||||
iconCls: 'pve-itype-icon-node',
|
||||
handler: function() {
|
||||
var win = Ext.create('PVE.storage.GlusterFsEdit', {});
|
||||
win.on('destroy', reload);
|
||||
win.show();
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'RBD',
|
||||
iconCls: 'pve-itype-icon-node',
|
||||
|
@ -46,8 +46,8 @@ Ext.define('PVE.dc.Support', {
|
||||
method: 'GET',
|
||||
waitMsgTarget: me,
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
me.update("Unable to load subscription status: " + response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
me.update(gettext('Unable to load subscription status') + ": " + response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
var data = response.result.data;
|
||||
|
@ -116,7 +116,7 @@ Ext.define('PVE.dc.UserEdit', {
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'email',
|
||||
fieldLabel: 'E-Mail',
|
||||
fieldLabel: gettext('E-Mail'),
|
||||
vtype: 'email'
|
||||
},
|
||||
{
|
||||
|
@ -6,9 +6,9 @@ Ext.define('PVE.form.BackupModeSelector', {
|
||||
var me = this;
|
||||
|
||||
me.data = [
|
||||
['snapshot', 'Snapshot'],
|
||||
['suspend', 'Suspend'],
|
||||
['stop', 'Stop']
|
||||
['snapshot', gettext('Snapshot')],
|
||||
['suspend', gettext('Suspend')],
|
||||
['stop', gettext('Stop')]
|
||||
];
|
||||
|
||||
me.callParent();
|
||||
|
@ -43,7 +43,7 @@ Ext.define('PVE.form.BridgeSelector', {
|
||||
listConfig: {
|
||||
columns: [
|
||||
{
|
||||
header: 'Bridge',
|
||||
header: gettext('Bridge'),
|
||||
dataIndex: 'iface',
|
||||
hideable: false,
|
||||
flex: 1
|
||||
|
@ -6,7 +6,7 @@ Ext.define('PVE.form.CPUModelSelector', {
|
||||
var me = this;
|
||||
|
||||
me.data = [
|
||||
['', 'Default (kvm64)'],
|
||||
['', gettext('Default') + ' (kvm64)'],
|
||||
['486', '486'],
|
||||
['athlon', 'athlon'],
|
||||
['core2duo', 'core2duo'],
|
||||
|
@ -6,12 +6,12 @@ Ext.define('PVE.form.CacheTypeSelector', {
|
||||
var me = this;
|
||||
|
||||
me.data = [
|
||||
['', 'Default (No cache)'],
|
||||
['', gettext('Default') + " (" + gettext('No cache') + ")"],
|
||||
['directsync', 'Direct sync'],
|
||||
['writethrough', 'Write through'],
|
||||
['writeback', 'Write back'],
|
||||
['unsafe', 'Write back (unsafe)'],
|
||||
['none', 'No cache']
|
||||
['unsafe', 'Write back (' + gettext('unsafe') + ')'],
|
||||
['none', gettext('No cache')]
|
||||
];
|
||||
|
||||
me.callParent();
|
||||
|
@ -57,7 +57,7 @@ Ext.define('PVE.form.ControllerSelector', {
|
||||
var me = this;
|
||||
|
||||
Ext.apply(me, {
|
||||
fieldLabel: 'Bus/Device',
|
||||
fieldLabel: gettext('Bus/Device'),
|
||||
layout: 'hbox',
|
||||
height: 22, // hack: set to same height as other fields
|
||||
defaults: {
|
||||
|
@ -6,9 +6,9 @@ Ext.define('PVE.form.DiskFormatSelector', {
|
||||
var me = this;
|
||||
|
||||
me.data = [
|
||||
['raw', 'Raw disk image (raw)'],
|
||||
['qcow2', 'QEMU image format (qcow2)'],
|
||||
['vmdk', 'VMware image format (vmdk)']
|
||||
['raw', gettext('Raw disk image') + ' (raw)')],
|
||||
['qcow2', gettext('QEMU image format') + ' (qcow2)'],
|
||||
['vmdk', gettext('VMware image format') + ' (vmdk)']
|
||||
];
|
||||
|
||||
me.callParent();
|
||||
|
@ -49,18 +49,18 @@ Ext.define('PVE.form.FileSelector', {
|
||||
listConfig: {
|
||||
columns: [
|
||||
{
|
||||
header: 'Name',
|
||||
header: gettext('Name'),
|
||||
dataIndex: 'text',
|
||||
hideable: false,
|
||||
flex: 1
|
||||
},
|
||||
{
|
||||
header: 'Format',
|
||||
header: gettext('Format'),
|
||||
width: 60,
|
||||
dataIndex: 'format'
|
||||
},
|
||||
{
|
||||
header: 'Size',
|
||||
header: gettext('Size'),
|
||||
width: 60,
|
||||
dataIndex: 'size',
|
||||
renderer: PVE.Utils.format_size
|
||||
|
@ -26,7 +26,7 @@ Ext.define('PVE.form.GroupSelector', {
|
||||
},
|
||||
{
|
||||
id: 'comment',
|
||||
header: 'Comment',
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
flex: 1
|
||||
|
@ -7,7 +7,7 @@ Ext.define('PVE.form.NetworkCardSelector', {
|
||||
|
||||
me.data = [
|
||||
['e1000', 'Intel E1000'],
|
||||
['virtio', 'VirtIO (paravirtualized)'],
|
||||
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
|
||||
['rtl8139', 'Realtec RTL8139']
|
||||
];
|
||||
|
||||
|
@ -40,21 +40,21 @@ Ext.define('PVE.form.NodeSelector', {
|
||||
listConfig: {
|
||||
columns: [
|
||||
{
|
||||
header: 'Node',
|
||||
header: gettext('Node'),
|
||||
dataIndex: 'node',
|
||||
sortable: true,
|
||||
hideable: false,
|
||||
flex: 1
|
||||
},
|
||||
{
|
||||
header: 'Memory usage',
|
||||
header: gettext('Memory usage'),
|
||||
renderer: PVE.Utils.render_mem_usage,
|
||||
sortable: true,
|
||||
width: 100,
|
||||
dataIndex: 'mem'
|
||||
},
|
||||
{
|
||||
header: 'CPU usage',
|
||||
header: gettext('CPU usage'),
|
||||
renderer: PVE.Utils.render_cpu,
|
||||
sortable: true,
|
||||
width: 100,
|
||||
|
@ -26,7 +26,7 @@ Ext.define('PVE.form.PoolSelector', {
|
||||
},
|
||||
{
|
||||
id: 'comment',
|
||||
header: 'Comment',
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
flex: 1
|
||||
|
@ -13,7 +13,7 @@ Ext.define('PVE.form.RealmComboBox', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
fieldLabel: 'Realm',
|
||||
fieldLabel: gettext('Realm'),
|
||||
name: 'realm',
|
||||
store: realmstore,
|
||||
queryMode: 'local',
|
||||
|
@ -48,7 +48,7 @@ Ext.define('PVE.form.SnapshotSelector', {
|
||||
listConfig: {
|
||||
columns: [
|
||||
{
|
||||
header: 'Snapshot',
|
||||
header: gettext('Snapshot'),
|
||||
dataIndex: 'name',
|
||||
hideable: false,
|
||||
flex: 1
|
||||
|
@ -73,24 +73,24 @@ Ext.define('PVE.form.StorageSelector', {
|
||||
listConfig: {
|
||||
columns: [
|
||||
{
|
||||
header: 'Name',
|
||||
header: gettext('Name'),
|
||||
dataIndex: 'storage',
|
||||
hideable: false,
|
||||
flex: 1
|
||||
},
|
||||
{
|
||||
header: 'Type',
|
||||
header: gettext('Type'),
|
||||
width: 60,
|
||||
dataIndex: 'type'
|
||||
},
|
||||
{
|
||||
header: 'Avail',
|
||||
header: gettext('Avail'),
|
||||
width: 80,
|
||||
dataIndex: 'avail',
|
||||
renderer: PVE.Utils.format_size
|
||||
},
|
||||
{
|
||||
header: 'Capacity',
|
||||
header: gettext('Capacity'),
|
||||
width: 80,
|
||||
dataIndex: 'total',
|
||||
renderer: PVE.Utils.format_size
|
||||
|
@ -31,7 +31,7 @@ Ext.define('PVE.form.UserSelector', {
|
||||
flex: 1
|
||||
},
|
||||
{
|
||||
header: 'Name',
|
||||
header: gettext('Name'),
|
||||
sortable: true,
|
||||
renderer: render_full_name,
|
||||
dataIndex: 'firstname',
|
||||
@ -39,7 +39,7 @@ Ext.define('PVE.form.UserSelector', {
|
||||
},
|
||||
{
|
||||
id: 'comment',
|
||||
header: 'Comment',
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
flex: 1
|
||||
|
@ -28,12 +28,12 @@ Ext.define('PVE.form.VMIDSelector', {
|
||||
method: 'GET',
|
||||
success: function(response, opts) {
|
||||
if (me.validateExists === true) {
|
||||
me.markInvalid("This VM ID does not exists.");
|
||||
me.markInvalid(gettext('This VM ID does not exists'));
|
||||
}
|
||||
},
|
||||
failure: function(response, opts) {
|
||||
if (me.validateExists === false) {
|
||||
me.markInvalid("This VM ID is already in use.");
|
||||
me.markInvalid(gettext('This VM ID is already in use'));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -90,14 +90,14 @@ Ext.define('PVE.grid.ObjectGrid', {
|
||||
stateful: false,
|
||||
columns: [
|
||||
{
|
||||
header: 'Name',
|
||||
header: gettext('Name'),
|
||||
width: me.cwidth1 || 100,
|
||||
dataIndex: 'key',
|
||||
renderer: me.renderKey
|
||||
},
|
||||
{
|
||||
flex: 1,
|
||||
header: 'Value',
|
||||
header: gettext('Value'),
|
||||
dataIndex: 'value',
|
||||
renderer: me.renderValue
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ Ext.define('PVE.node.APT', {
|
||||
url: "/nodes/" + nodename + "/apt/" + cmd,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
var upid = response.result.data;
|
||||
@ -129,7 +129,7 @@ Ext.define('PVE.node.APT', {
|
||||
method: 'GET',
|
||||
failure: function(response, opts) {
|
||||
win.close();
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
win.show();
|
||||
|
@ -24,7 +24,7 @@ Ext.define('PVE.node.Config', {
|
||||
method: 'POST',
|
||||
waitMsgTarget: me,
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
}
|
||||
});
|
||||
};
|
||||
@ -88,7 +88,7 @@ Ext.define('PVE.node.Config', {
|
||||
xtype: 'pveNodeNetworkView'
|
||||
},
|
||||
{
|
||||
title: 'DNS',
|
||||
title: gettext('DNS'),
|
||||
itemId: 'dns',
|
||||
xtype: 'pveNodeDNSView'
|
||||
},
|
||||
@ -121,7 +121,7 @@ Ext.define('PVE.node.Config', {
|
||||
|
||||
me.items.push([
|
||||
{
|
||||
title: 'Task History',
|
||||
title: gettext('Task History'),
|
||||
itemId: 'tasks',
|
||||
xtype: 'pveNodeTasks'
|
||||
}
|
||||
@ -140,7 +140,7 @@ Ext.define('PVE.node.Config', {
|
||||
|
||||
me.items.push([
|
||||
{
|
||||
title: 'Subscription',
|
||||
title: gettext('Subscription'),
|
||||
itemId: 'support',
|
||||
xtype: 'pveNodeSubscription',
|
||||
nodename: nodename
|
||||
|
@ -13,7 +13,7 @@ Ext.define('PVE.node.DNSEdit', {
|
||||
me.items = [
|
||||
{
|
||||
xtype: 'textfield',
|
||||
fieldLabel: 'Search domain',
|
||||
fieldLabel: gettext('Search domain'),
|
||||
name: 'search',
|
||||
allowBlank: false
|
||||
},
|
||||
@ -41,7 +41,7 @@ Ext.define('PVE.node.DNSEdit', {
|
||||
];
|
||||
|
||||
Ext.applyIf(me, {
|
||||
subject: 'DNS',
|
||||
subject: gettext('DNS'),
|
||||
url: "/api2/extjs/nodes/" + nodename + "/dns",
|
||||
fieldDefaults: {
|
||||
labelWidth: 120
|
||||
|
@ -33,7 +33,7 @@ Ext.define('PVE.node.NetworkEdit', {
|
||||
var column2 = [
|
||||
{
|
||||
xtype: 'pvecheckbox',
|
||||
fieldLabel: 'Autostart',
|
||||
fieldLabel: gettext('Autostart'),
|
||||
name: 'autostart',
|
||||
uncheckedValue: 0,
|
||||
checked: me.create ? true : undefined
|
||||
@ -43,18 +43,18 @@ Ext.define('PVE.node.NetworkEdit', {
|
||||
if (me.iftype === 'bridge') {
|
||||
column2.push({
|
||||
xtype: 'textfield',
|
||||
fieldLabel: 'Bridge ports',
|
||||
fieldLabel: gettext('Bridge ports'),
|
||||
name: 'bridge_ports'
|
||||
});
|
||||
} else if (me.iftype === 'bond') {
|
||||
column2.push({
|
||||
xtype: 'textfield',
|
||||
fieldLabel: 'Slaves',
|
||||
fieldLabel: gettext('Slaves'),
|
||||
name: 'slaves'
|
||||
});
|
||||
column2.push({
|
||||
xtype: 'bondModeSelector',
|
||||
fieldLabel: 'Mode',
|
||||
fieldLabel: gettext('Mode'),
|
||||
name: 'bond_mode',
|
||||
value: me.create ? 'balance-rr' : undefined,
|
||||
allowBlank: false
|
||||
@ -117,7 +117,7 @@ Ext.define('PVE.node.NetworkEdit', {
|
||||
{
|
||||
xtype: 'pvetextfield',
|
||||
deleteEmpty: !me.create,
|
||||
fieldLabel: 'Gateway',
|
||||
fieldLabel: gettext('Gateway'),
|
||||
vtype: 'IPAddress',
|
||||
name: 'gateway'
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ Ext.define('PVE.node.NetworkView', {
|
||||
PVE.Utils.API2Request({
|
||||
url: '/nodes/' + nodename + '/network',
|
||||
failure: function(response, opts) {
|
||||
changeitem.update('Error: ' + response.htmlStatus);
|
||||
changeitem.update(gettext('Error') + ': ' + response.htmlStatus);
|
||||
store.loadData({});
|
||||
},
|
||||
success: function(response, opts) {
|
||||
@ -89,7 +89,7 @@ Ext.define('PVE.node.NetworkView', {
|
||||
reload();
|
||||
},
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -206,7 +206,7 @@ Ext.define('PVE.node.NetworkView', {
|
||||
},
|
||||
{
|
||||
xtype: 'booleancolumn',
|
||||
header: 'Autostart',
|
||||
header: gettext('Autostart'),
|
||||
width: 80,
|
||||
sortable: true,
|
||||
dataIndex: 'autostart',
|
||||
@ -215,7 +215,7 @@ Ext.define('PVE.node.NetworkView', {
|
||||
undefinedText: 'No'
|
||||
},
|
||||
{
|
||||
header: 'Ports/Slaves',
|
||||
header: gettext('Ports/Slaves'),
|
||||
dataIndex: 'type',
|
||||
renderer: render_ports
|
||||
},
|
||||
@ -230,7 +230,7 @@ Ext.define('PVE.node.NetworkView', {
|
||||
dataIndex: 'netmask'
|
||||
},
|
||||
{
|
||||
header: 'Gateway',
|
||||
header: gettext('Gateway'),
|
||||
sortable: true,
|
||||
dataIndex: 'gateway'
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ Ext.define('PVE.node.ServiceView', {
|
||||
url: "/nodes/" + nodename + "/services/" + rec.data.service + "/" + cmd,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
me.loading = true;
|
||||
},
|
||||
success: function(response, opts) {
|
||||
|
@ -13,7 +13,7 @@ Ext.define('PVE.node.StatusView', {
|
||||
var render_cpuinfo = function(value) {
|
||||
return value.cpus + " x " + value.model + " (" +
|
||||
value.sockets.toString() + " " +
|
||||
(value.sockets > 1 ? "Sockets" : "Socket") + ")";
|
||||
(value.sockets > 1 ? gettext('Sockets') : gettext('Socket')) + ")";
|
||||
};
|
||||
|
||||
var render_loadavg = function(value) {
|
||||
@ -31,23 +31,23 @@ Ext.define('PVE.node.StatusView', {
|
||||
|
||||
var render_meminfo = function(value) {
|
||||
var per = (value.used / value.total)*100;
|
||||
var text = "<div>Total: " + PVE.Utils.format_size(value.total) + "</div>" +
|
||||
"<div>Used: " + PVE.Utils.format_size(value.used) + "</div>";
|
||||
var text = "<div>" + gettext('Total') + ": " + PVE.Utils.format_size(value.total) + "</div>" +
|
||||
"<div>" + gettext('Used') + ": " + PVE.Utils.format_size(value.used) + "</div>";
|
||||
return text;
|
||||
};
|
||||
|
||||
var rows = {
|
||||
uptime: { header: 'Uptime', required: true, renderer: PVE.Utils.format_duration_long },
|
||||
loadavg: { header: 'Load average', required: true, renderer: render_loadavg },
|
||||
cpuinfo: { header: 'CPUs', required: true, renderer: render_cpuinfo },
|
||||
cpu: { header: 'CPU usage',required: true, renderer: render_cpu },
|
||||
wait: { header: 'IO delay', required: true, renderer: render_cpu },
|
||||
memory: { header: 'RAM usage', required: true, renderer: render_meminfo },
|
||||
swap: { header: 'SWAP usage', required: true, renderer: render_meminfo },
|
||||
ksm: { header: 'KSM sharing', required: true, renderer: render_ksm },
|
||||
rootfs: { header: 'HD space (root)', required: true, renderer: render_meminfo },
|
||||
pveversion: { header: 'PVE Manager version', required: true },
|
||||
kversion: { header: 'Kernel version', required: true }
|
||||
uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.format_duration_long },
|
||||
loadavg: { header: gettext('Load average'), required: true, renderer: render_loadavg },
|
||||
cpuinfo: { header: gettext('CPUs'), required: true, renderer: render_cpuinfo },
|
||||
cpu: { header: gettext('CPU usage'),required: true, renderer: render_cpu },
|
||||
wait: { header: gettext('IO delay'), required: true, renderer: render_cpu },
|
||||
memory: { header: gettext('RAM usage'), required: true, renderer: render_meminfo },
|
||||
swap: { header: gettext('SWAP usage'), required: true, renderer: render_meminfo },
|
||||
ksm: { header: gettext('KSM sharing'), required: true, renderer: render_ksm },
|
||||
rootfs: { header: gettext('HD space (root)'), required: true, renderer: render_meminfo },
|
||||
pveversion: { header: gettext('PVE Manager version'), required: true },
|
||||
kversion: { header: gettext('Kernel version'), required: true }
|
||||
};
|
||||
|
||||
Ext.applyIf(me, {
|
||||
|
@ -69,10 +69,10 @@ Ext.define('PVE.node.Subscription', {
|
||||
header: gettext('Server ID')
|
||||
},
|
||||
sockets: {
|
||||
header: 'Sockets'
|
||||
header: gettext('Sockets')
|
||||
},
|
||||
checktime: {
|
||||
header: 'Last checked',
|
||||
header: gettext('Last checked'),
|
||||
renderer: PVE.Utils.render_timestamp
|
||||
}
|
||||
};
|
||||
@ -100,7 +100,7 @@ Ext.define('PVE.node.Subscription', {
|
||||
method: 'POST',
|
||||
waitMsgTarget: me,
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
callback: reload
|
||||
});
|
||||
|
@ -35,7 +35,7 @@ Ext.define('PVE.node.Summary', {
|
||||
method: 'GET',
|
||||
failure: function(response, opts) {
|
||||
win.close();
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
win.show();
|
||||
@ -78,9 +78,9 @@ Ext.define('PVE.node.Summary', {
|
||||
var rstore = me.statusStore;
|
||||
|
||||
var statusview = Ext.create('PVE.node.StatusView', {
|
||||
title: 'Status',
|
||||
title: gettext('Status'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
style: { 'padding-top': '0px' },
|
||||
style: 'padding-top:0px',
|
||||
rstore: rstore
|
||||
});
|
||||
|
||||
@ -98,32 +98,32 @@ Ext.define('PVE.node.Summary', {
|
||||
bodyStyle: 'padding:10px',
|
||||
defaults: {
|
||||
width: 800,
|
||||
style: { 'padding-top': '10px' }
|
||||
style: 'padding-top:10px'
|
||||
},
|
||||
tbar: [version_btn, '->', { xtype: 'pveRRDTypeSelector' } ],
|
||||
items: [
|
||||
statusview,
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "CPU usage %",
|
||||
title: gettext('CPU usage'),
|
||||
datasource: 'cpu,iowait',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Server load",
|
||||
title: gettext('Server load'),
|
||||
datasource: 'loadavg',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Memory usage",
|
||||
title: gettext('Memory usage'),
|
||||
datasource: 'memtotal,memused',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Network traffic",
|
||||
title: gettext('Network traffic'),
|
||||
datasource: 'netin,netout',
|
||||
rrdurl: rrdurl
|
||||
}
|
||||
|
@ -49,36 +49,36 @@ Ext.define('PVE.openvz.BeanCounterGrid', {
|
||||
stateful: false,
|
||||
columns: [
|
||||
{
|
||||
header: 'Ressource',
|
||||
header: gettext('Resource'),
|
||||
width: 100,
|
||||
dataIndex: 'id'
|
||||
},
|
||||
{
|
||||
header: 'held',
|
||||
header: gettext('Held'),
|
||||
width: 100,
|
||||
renderer: me.renderUbc,
|
||||
dataIndex: 'held'
|
||||
},
|
||||
{
|
||||
header: 'maxheld',
|
||||
header: gettext('Maxheld'),
|
||||
width: 100,
|
||||
renderer: me.renderUbc,
|
||||
dataIndex: 'maxheld'
|
||||
},
|
||||
{
|
||||
header: 'barrier',
|
||||
header: gettext('Barrier'),
|
||||
width: 100,
|
||||
renderer: me.renderUbc,
|
||||
dataIndex: 'bar'
|
||||
},
|
||||
{
|
||||
header: 'limit',
|
||||
header: gettext('Limit'),
|
||||
width: 100,
|
||||
renderer: me.renderUbc,
|
||||
dataIndex: 'lim'
|
||||
},
|
||||
{
|
||||
header: 'failcnt',
|
||||
header: gettext('Failcnt'),
|
||||
width: 100,
|
||||
dataIndex: 'failcnt'
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ Ext.define('PVE.openvz.CmdMenu', {
|
||||
url: '/nodes/' + nodename + '/openvz/' + vmid + "/status/" + cmd,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -134,7 +134,7 @@ Ext.define('PVE.openvz.Config', {
|
||||
xtype: 'pveOpenVZNetworkView'
|
||||
},
|
||||
{
|
||||
title: 'DNS',
|
||||
title: gettext('DNS'),
|
||||
itemId: 'dns',
|
||||
xtype: 'pveOpenVZDNS'
|
||||
},
|
||||
@ -144,7 +144,7 @@ Ext.define('PVE.openvz.Config', {
|
||||
xtype: 'pveOpenVZOptions'
|
||||
},
|
||||
{
|
||||
title: 'Task History',
|
||||
title: gettext('Task History'),
|
||||
itemId: 'tasks',
|
||||
xtype: 'pveNodeTasks',
|
||||
vmidFilter: vmid
|
||||
|
@ -45,7 +45,7 @@ Ext.define('PVE.openvz.CreateWizard', {
|
||||
|
||||
var bridgesel = Ext.create('PVE.form.BridgeSelector', {
|
||||
name: 'bridge',
|
||||
fieldLabel: 'Bridge',
|
||||
fieldLabel: gettext('Bridge'),
|
||||
labelAlign: 'right',
|
||||
autoSelect: true,
|
||||
disabled: true,
|
||||
@ -86,7 +86,7 @@ Ext.define('PVE.openvz.CreateWizard', {
|
||||
name: 'hostname',
|
||||
vtype: 'DnsName',
|
||||
value: '',
|
||||
fieldLabel: 'Hostname',
|
||||
fieldLabel: gettext('Hostname'),
|
||||
skipEmptyText: true,
|
||||
allowBlank: true
|
||||
}
|
||||
@ -183,7 +183,7 @@ Ext.define('PVE.openvz.CreateWizard', {
|
||||
xtype: 'radiofield',
|
||||
name: 'networkmode',
|
||||
inputValue: 'bridge',
|
||||
boxLabel: 'Bridged mode',
|
||||
boxLabel: gettext('Bridged mode'),
|
||||
checked: false,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -213,7 +213,7 @@ Ext.define('PVE.openvz.CreateWizard', {
|
||||
xtype: 'pvetextfield',
|
||||
name: 'searchdomain',
|
||||
skipEmptyText: true,
|
||||
fieldLabel: 'DNS domain',
|
||||
fieldLabel: gettext('DNS domain'),
|
||||
emptyText: 'use host settings',
|
||||
allowBlank: true,
|
||||
listeners: {
|
||||
|
@ -23,31 +23,31 @@ Ext.define('PVE.openvz.DNS', {
|
||||
hostname: {
|
||||
required: true,
|
||||
defaultValue: me.pveSelNode.data.name,
|
||||
header: 'Hostname',
|
||||
header: gettext('Hostname'),
|
||||
editor: caps.vms['VM.Config.Network'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Hostname',
|
||||
subject: gettext('Hostname'),
|
||||
items: {
|
||||
xtype: 'textfield',
|
||||
name: 'hostname',
|
||||
vtype: 'DnsName',
|
||||
value: '',
|
||||
fieldLabel: 'Hostname',
|
||||
fieldLabel: gettext('Hostname'),
|
||||
allowBlank: true,
|
||||
emptyText: me.pveSelNode.data.name
|
||||
}
|
||||
} : undefined
|
||||
},
|
||||
searchdomain: {
|
||||
header: 'DNS domain',
|
||||
header: gettext('DNS domain'),
|
||||
defaultValue: '',
|
||||
editor: caps.vms['VM.Config.Network'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'DNS domain',
|
||||
subject: gettext('DNS domain'),
|
||||
items: {
|
||||
xtype: 'pvetextfield',
|
||||
name: 'searchdomain',
|
||||
fieldLabel: 'DNS domain',
|
||||
fieldLabel: gettext('DNS domain'),
|
||||
allowBlank: false
|
||||
}
|
||||
} : undefined
|
||||
|
@ -68,7 +68,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'mac',
|
||||
fieldLabel: 'MAC',
|
||||
fieldLabel: gettext('MAC address'),
|
||||
vtype: 'MacAddress',
|
||||
value: cdata.mac,
|
||||
allowBlank: me.create,
|
||||
@ -78,14 +78,14 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
|
||||
xtype: 'PVE.form.BridgeSelector',
|
||||
name: 'bridge',
|
||||
nodename: me.nodename,
|
||||
fieldLabel: 'Bridge',
|
||||
fieldLabel: gettext('Bridge'),
|
||||
value: cdata.bridge,
|
||||
allowBlank: false
|
||||
},
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'host_ifname',
|
||||
fieldLabel: 'Host device name',
|
||||
fieldLabel: gettext('Host device name'),
|
||||
value: cdata.host_ifname,
|
||||
allowBlank: true,
|
||||
emptyText: 'auto'
|
||||
@ -93,7 +93,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'host_mac',
|
||||
fieldLabel: 'Host MAC address',
|
||||
fieldLabel: gettext('Host MAC address'),
|
||||
vtype: 'MacAddress',
|
||||
value: cdata.host_mac,
|
||||
allowBlank: true,
|
||||
@ -395,22 +395,22 @@ Ext.define('PVE.openvz.NetworkView', {
|
||||
renderer: me.renderValue
|
||||
},
|
||||
{
|
||||
header: 'Bridge',
|
||||
header: gettext('Bridge'),
|
||||
width: 110,
|
||||
dataIndex: 'bridge'
|
||||
},
|
||||
{
|
||||
header: 'MAC',
|
||||
header: gettext('MAC address'),
|
||||
width: 110,
|
||||
dataIndex: 'mac'
|
||||
},
|
||||
{
|
||||
header: 'Host ifname',
|
||||
header: gettext('Host ifname'),
|
||||
width: 110,
|
||||
dataIndex: 'host_ifname'
|
||||
},
|
||||
{
|
||||
header: 'Host MAC',
|
||||
header: gettext('Host MAC address'),
|
||||
width: 110,
|
||||
dataIndex: 'host_mac'
|
||||
}
|
||||
|
@ -45,15 +45,15 @@ Ext.define('PVE.openvz.Options', {
|
||||
defaultValue: 'no set'
|
||||
},
|
||||
cpuunits: {
|
||||
header: 'CPU units',
|
||||
header: gettext('CPU units'),
|
||||
defaultValue: '1000',
|
||||
editor: caps.vms['VM.Config.CPU'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'CPU units',
|
||||
subject: gettext('CPU units'),
|
||||
items: {
|
||||
xtype: 'numberfield',
|
||||
name: 'cpuunits',
|
||||
fieldLabel: 'CPU units',
|
||||
fieldLabel: gettext('CPU units'),
|
||||
minValue: 8,
|
||||
maxValue: 500000,
|
||||
allowBlank: false
|
||||
@ -61,7 +61,7 @@ Ext.define('PVE.openvz.Options', {
|
||||
} : undefined
|
||||
},
|
||||
quotaugidlimit: {
|
||||
header: 'Quota UGID limit',
|
||||
header: gettext('Quota UGID limit'),
|
||||
defaultValue: '0',
|
||||
renderer: function(value) {
|
||||
if (value == 0) {
|
||||
@ -71,22 +71,22 @@ Ext.define('PVE.openvz.Options', {
|
||||
},
|
||||
editor: caps.vms['VM.Config.Disk'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Quota UGID limit (0 to disable user quotas)',
|
||||
subject: gettext('Quota UGID limit (0 to disable user quotas)'),
|
||||
items: {
|
||||
xtype: 'numberfield',
|
||||
name: 'quotaugidlimit',
|
||||
fieldLabel: 'UGID limit',
|
||||
fieldLabel: gettext('UGID limit'),
|
||||
minValue: 0,
|
||||
allowBlank: false
|
||||
}
|
||||
} : undefined
|
||||
},
|
||||
quotatime: {
|
||||
header: 'Quota Grace period',
|
||||
header: gettext('Quota Grace period'),
|
||||
defaultValue: '0',
|
||||
editor: caps.vms['VM.Config.Disk'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Quota Grace period (seconds)',
|
||||
subject: gettext('Quota Grace period (seconds)'),
|
||||
items: {
|
||||
xtype: 'numberfield',
|
||||
name: 'quotatime',
|
||||
|
@ -53,7 +53,7 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
|
||||
minValue: 1,
|
||||
value: '1',
|
||||
step: 1,
|
||||
fieldLabel: 'CPUs',
|
||||
fieldLabel: gettext('CPUs'),
|
||||
labelWidth: labelWidth,
|
||||
allowBlank: false
|
||||
}
|
||||
|
@ -33,16 +33,16 @@ Ext.define('PVE.openvz.StatusView', {
|
||||
var render_mem = function(value, metaData, record, rowIndex, colIndex, store) {
|
||||
var maxmem = me.getObjectValue('maxmem', 0);
|
||||
var per = (value / maxmem)*100;
|
||||
var text = "<div>Total: " + PVE.Utils.format_size(maxmem) + "</div>" +
|
||||
"<div>Used: " + PVE.Utils.format_size(value) + "</div>";
|
||||
var text = "<div>" + gettext('Total') + ": " + PVE.Utils.format_size(maxmem) + "</div>" +
|
||||
"<div>" + gettext('Used') + ": " + PVE.Utils.format_size(value) + "</div>";
|
||||
return text;
|
||||
};
|
||||
|
||||
var render_swap = function(value, metaData, record, rowIndex, colIndex, store) {
|
||||
var maxswap = me.getObjectValue('maxswap', 0);
|
||||
var per = (value / maxswap)*100;
|
||||
var text = "<div>Total: " + PVE.Utils.format_size(maxswap) + "</div>" +
|
||||
"<div>Used: " + PVE.Utils.format_size(value) + "</div>";
|
||||
var text = "<div>" + gettext('Total') + ": " + PVE.Utils.format_size(maxswap) + "</div>" +
|
||||
"<div>" + gettext('Used') + ": " + PVE.Utils.format_size(value) + "</div>";
|
||||
return text;
|
||||
};
|
||||
|
||||
@ -58,14 +58,14 @@ Ext.define('PVE.openvz.StatusView', {
|
||||
name: { header: gettext('Name'), defaultValue: 'no name specified' },
|
||||
status: { header: gettext('Status'), defaultValue: 'unknown', renderer: render_status },
|
||||
failcnt: { visible: false },
|
||||
cpu: { header: 'CPU usage', required: true, renderer: render_cpu },
|
||||
cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu },
|
||||
cpus: { visible: false },
|
||||
mem: { header: 'Memory usage', required: true, renderer: render_mem },
|
||||
mem: { header: gettext('Memory usage'), required: true, renderer: render_mem },
|
||||
maxmem: { visible: false },
|
||||
swap: { header: 'VSwap usage', required: true, renderer: render_swap },
|
||||
swap: { header: gettext('VSwap usage'), required: true, renderer: render_swap },
|
||||
maxswap: { visible: false },
|
||||
uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime },
|
||||
ha: { header: 'Managed by HA', required: true, renderer: PVE.Utils.format_boolean }
|
||||
ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_boolean }
|
||||
};
|
||||
|
||||
Ext.applyIf(me, {
|
||||
|
@ -26,7 +26,7 @@ Ext.define('PVE.openvz.Summary', {
|
||||
var rstore = me.statusStore;
|
||||
|
||||
var statusview = Ext.create('PVE.openvz.StatusView', {
|
||||
title: 'Status',
|
||||
title: gettext('Status'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
width: 400,
|
||||
rstore: rstore
|
||||
@ -64,28 +64,28 @@ Ext.define('PVE.openvz.Summary', {
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "CPU usage %",
|
||||
title: gettext('CPU usage %'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'cpu',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Memory usage",
|
||||
title: gettext('Memory usage'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'mem,maxmem',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Network traffic",
|
||||
title: gettext('Network traffic'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'netin,netout',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Disk IO",
|
||||
title: gettext('Disk IO'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'diskread,diskwrite',
|
||||
rrdurl: rrdurl
|
||||
|
@ -8,7 +8,7 @@ Ext.define('PVE.panel.NotesView', {
|
||||
url: me.url,
|
||||
waitMsgTarget: me,
|
||||
failure: function(response, opts) {
|
||||
me.update("Error " + response.htmlStatus);
|
||||
me.update(gettext('Error') + " " + response.htmlStatus);
|
||||
},
|
||||
success: function(response, opts) {
|
||||
var data = response.result.data.description || '';
|
||||
|
@ -82,7 +82,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
|
||||
xtype: 'radiofield',
|
||||
name: 'mediaType',
|
||||
inputValue: 'iso',
|
||||
boxLabel: 'Use CD/DVD disc image file (iso)',
|
||||
boxLabel: gettext('Use CD/DVD disc image file (iso)'),
|
||||
checked: true,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -100,7 +100,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
|
||||
name: 'cdimage',
|
||||
nodename: me.nodename,
|
||||
storageContent: 'iso',
|
||||
fieldLabel: 'ISO Image',
|
||||
fieldLabel: gettext('ISO Image'),
|
||||
labelAlign: 'right',
|
||||
allowBlank: false
|
||||
});
|
||||
@ -127,7 +127,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
|
||||
xtype: 'radiofield',
|
||||
name: 'mediaType',
|
||||
inputValue: 'cdrom',
|
||||
boxLabel: 'Use physical CD/DVD Drive'
|
||||
boxLabel: gettext('Use physical CD/DVD Drive')
|
||||
});
|
||||
|
||||
items.push({
|
||||
|
@ -129,7 +129,7 @@ Ext.define('PVE.window.Clone', {
|
||||
|
||||
me.targetSel = Ext.create('PVE.form.NodeSelector', {
|
||||
name: 'target',
|
||||
fieldLabel: 'Target node',
|
||||
fieldLabel: gettext('Target node'),
|
||||
selectCurNode: true,
|
||||
allowBlank: false,
|
||||
onlineValidator: true
|
||||
@ -143,7 +143,7 @@ Ext.define('PVE.window.Clone', {
|
||||
}
|
||||
|
||||
me.kv1 = Ext.create('PVE.form.KVComboBox', {
|
||||
fieldLabel: 'Clone Mode',
|
||||
fieldLabel: gettext('Clone Mode'),
|
||||
name: 'clonemode',
|
||||
allowBlank: false,
|
||||
value: me.isTemplate ? 'clone' : 'copy',
|
||||
@ -159,7 +159,7 @@ Ext.define('PVE.window.Clone', {
|
||||
|
||||
me.snapshotSel = Ext.create('PVE.form.SnapshotSelector', {
|
||||
name: 'snapname',
|
||||
fieldLabel: 'Snapshot',
|
||||
fieldLabel: gettext('Snapshot'),
|
||||
nodename: me.nodename,
|
||||
vmid: me.vmid,
|
||||
hidden: me.isTemplate ? true : false,
|
||||
@ -194,7 +194,7 @@ Ext.define('PVE.window.Clone', {
|
||||
me.hdstoragesel = Ext.create('PVE.form.StorageSelector', {
|
||||
name: 'storage',
|
||||
nodename: me.nodename,
|
||||
fieldLabel: 'Target Storage',
|
||||
fieldLabel: gettext('Target Storage'),
|
||||
storageContent: 'images',
|
||||
autoSelect: me.insideWizard,
|
||||
allowBlank: true,
|
||||
|
@ -160,7 +160,7 @@ Ext.define('PVE.qemu.Config', {
|
||||
xtype: 'PVE.qemu.Options'
|
||||
},
|
||||
{
|
||||
title: 'Task History',
|
||||
title: gettext('Task History'),
|
||||
itemId: 'tasks',
|
||||
xtype: 'pveNodeTasks',
|
||||
vmidFilter: vmid
|
||||
|
@ -17,7 +17,7 @@ Ext.define('PVE.qemu.CreateWizard', {
|
||||
});
|
||||
|
||||
var cdpanel = Ext.create('PVE.qemu.CDInputPanel', {
|
||||
title: 'CD/DVD',
|
||||
title: gettext('CD/DVD'),
|
||||
confid: 'ide2',
|
||||
fieldDefaults: {
|
||||
labelWidth: 160
|
||||
@ -94,14 +94,14 @@ Ext.define('PVE.qemu.CreateWizard', {
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'OS',
|
||||
title: gettext('OS'),
|
||||
xtype: 'PVE.qemu.OSTypeInputPanel'
|
||||
},
|
||||
cdpanel,
|
||||
hdpanel,
|
||||
{
|
||||
xtype: 'PVE.qemu.ProcessorInputPanel',
|
||||
title: 'CPU'
|
||||
title: gettext('CPU')
|
||||
},
|
||||
{
|
||||
xtype: 'PVE.qemu.MemoryInputPanel',
|
||||
|
@ -229,7 +229,7 @@ Ext.define('PVE.qemu.HDInputPanel', {
|
||||
xtype: 'CacheTypeSelector',
|
||||
name: 'cache',
|
||||
value: '',
|
||||
fieldLabel: 'Cache'
|
||||
fieldLabel: gettext('Cache')
|
||||
});
|
||||
|
||||
if (!me.insideWizard) {
|
||||
@ -330,7 +330,7 @@ Ext.define('PVE.qemu.HDEdit', {
|
||||
var value = response.result.data[me.confid];
|
||||
var drive = PVE.Parser.parseQemuDrive(me.confid, value);
|
||||
if (!drive) {
|
||||
Ext.Msg.alert('Error', 'Unable to parse drive options');
|
||||
Ext.Msg.alert(gettext('Error'), gettext('Unable to parse drive options'));
|
||||
me.close();
|
||||
return;
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ Ext.define('PVE.window.HDMove', {
|
||||
xtype: 'displayfield',
|
||||
name: 'disk',
|
||||
value: me.disk,
|
||||
fieldLabel: 'Disk',
|
||||
fieldLabel: gettext('Disk'),
|
||||
vtype: 'StorageId',
|
||||
allowBlank: false
|
||||
}
|
||||
@ -62,7 +62,7 @@ Ext.define('PVE.window.HDMove', {
|
||||
me.hdstoragesel = Ext.create('PVE.form.StorageSelector', {
|
||||
name: 'hdstorage',
|
||||
nodename: me.nodename,
|
||||
fieldLabel: 'Target Storage',
|
||||
fieldLabel: gettext('Target Storage'),
|
||||
storageContent: 'images',
|
||||
autoSelect: me.insideWizard,
|
||||
allowBlank: true,
|
||||
|
@ -13,7 +13,7 @@ Ext.define('PVE.window.HDResize', {
|
||||
waitMsgTarget: me,
|
||||
method: 'PUT',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
me.close();
|
||||
@ -37,7 +37,7 @@ Ext.define('PVE.window.HDResize', {
|
||||
xtype: 'displayfield',
|
||||
name: 'disk',
|
||||
value: me.disk,
|
||||
fieldLabel: 'Disk',
|
||||
fieldLabel: gettext('Disk'),
|
||||
vtype: 'StorageId',
|
||||
allowBlank: false
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
|
||||
me.bridgesel = Ext.create('PVE.form.BridgeSelector', {
|
||||
name: 'bridge',
|
||||
fieldLabel: 'Bridge',
|
||||
fieldLabel: gettext('Bridge'),
|
||||
nodename: me.nodename,
|
||||
labelAlign: 'right',
|
||||
autoSelect: true,
|
||||
@ -74,7 +74,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
name: 'networkmode',
|
||||
height: 22, // hack: set same height as text fields
|
||||
inputValue: 'bridge',
|
||||
boxLabel: 'Bridged mode',
|
||||
boxLabel: gettext('Bridged mode'),
|
||||
checked: true,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -95,7 +95,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
maxValue: 4094,
|
||||
value: '',
|
||||
emptyText: 'no VLAN',
|
||||
fieldLabel: 'VLAN Tag',
|
||||
fieldLabel: gettext('VLAN Tag'),
|
||||
labelAlign: 'right',
|
||||
allowBlank: true
|
||||
},
|
||||
@ -104,7 +104,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
name: 'networkmode',
|
||||
height: 22, // hack: set same height as text fields
|
||||
inputValue: 'nat',
|
||||
boxLabel: 'NAT mode'
|
||||
boxLabel: gettext('NAT mode')
|
||||
}
|
||||
];
|
||||
|
||||
@ -114,7 +114,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
name: 'networkmode',
|
||||
height: 22, // hack: set same height as text fields
|
||||
inputValue: 'none',
|
||||
boxLabel: 'No network device'
|
||||
boxLabel: gettext('No network device')
|
||||
});
|
||||
}
|
||||
|
||||
@ -122,14 +122,14 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
{
|
||||
xtype: 'PVE.form.NetworkCardSelector',
|
||||
name: 'model',
|
||||
fieldLabel: 'Model',
|
||||
fieldLabel: gettext('Model'),
|
||||
value: 'e1000',
|
||||
allowBlank: false
|
||||
},
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'macaddr',
|
||||
fieldLabel: 'MAC address',
|
||||
fieldLabel: gettext('MAC address'),
|
||||
vtype: 'MacAddress',
|
||||
allowBlank: true,
|
||||
emptyText: 'auto'
|
||||
@ -137,7 +137,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
name: 'rate',
|
||||
fieldLabel: 'Rate limit (MB/s)',
|
||||
fieldLabel: gettext('Rate limit (MB/s)'),
|
||||
minValue: 0,
|
||||
maxValue: 10*1024,
|
||||
value: '',
|
||||
@ -187,7 +187,7 @@ Ext.define('PVE.qemu.NetworkEdit', {
|
||||
var value = me.vmconfig[me.confid];
|
||||
var network = PVE.Parser.parseQemuNetwork(me.confid, value);
|
||||
if (!network) {
|
||||
Ext.Msg.alert('Error', 'Unable to parse network options');
|
||||
Ext.Msg.alert(gettext('Error'), gettext('Unable to parse network options'));
|
||||
me.close();
|
||||
return;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ Ext.define('PVE.qemu.OSTypeInputPanel', {
|
||||
me.column2 = [
|
||||
{
|
||||
xtype: 'component',
|
||||
html: 'Linux/Other',
|
||||
html: 'Linux/' + gettext('Other'),
|
||||
cls:'x-form-check-group-label'
|
||||
},
|
||||
{
|
||||
|
@ -62,7 +62,7 @@ Ext.define('PVE.qemu.Options', {
|
||||
'PVE.qemu.StartupEdit' : undefined
|
||||
},
|
||||
ostype: {
|
||||
header: 'OS Type',
|
||||
header: gettext('OS Type'),
|
||||
editor: caps.vms['VM.Config.Options'] ? 'PVE.qemu.OSTypeEdit' : undefined,
|
||||
renderer: PVE.Utils.render_kvm_ostype,
|
||||
defaultValue: 'other'
|
||||
@ -104,12 +104,12 @@ Ext.define('PVE.qemu.Options', {
|
||||
}
|
||||
},
|
||||
tablet: {
|
||||
header: 'Use tablet for pointer',
|
||||
header: gettext('Use tablet for pointer'),
|
||||
defaultValue: true,
|
||||
renderer: PVE.Utils.format_boolean,
|
||||
editor: caps.vms['VM.Config.HWType'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Use tablet for pointer',
|
||||
subject: gettext('Use tablet for pointer'),
|
||||
items: {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'tablet',
|
||||
@ -122,12 +122,12 @@ Ext.define('PVE.qemu.Options', {
|
||||
} : undefined
|
||||
},
|
||||
acpi: {
|
||||
header: 'ACPI support',
|
||||
header: gettext('ACPI support'),
|
||||
defaultValue: true,
|
||||
renderer: PVE.Utils.format_boolean,
|
||||
editor: caps.vms['VM.Config.HWType'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'ACPI support',
|
||||
subject: gettext('ACPI support'),
|
||||
items: {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'acpi',
|
||||
@ -140,18 +140,18 @@ Ext.define('PVE.qemu.Options', {
|
||||
} : undefined
|
||||
},
|
||||
scsihw: {
|
||||
header: 'SCSI Controller Type',
|
||||
header: gettext('SCSI Controller Type'),
|
||||
editor: caps.vms['VM.Config.Options'] ? 'PVE.qemu.ScsiHwEdit' : undefined,
|
||||
renderer: PVE.Utils.render_scsihw,
|
||||
defaultValue: ''
|
||||
},
|
||||
kvm: {
|
||||
header: 'KVM hardware virtualization',
|
||||
header: gettext('KVM hardware virtualization'),
|
||||
defaultValue: true,
|
||||
renderer: PVE.Utils.format_boolean,
|
||||
editor: caps.vms['VM.Config.HWType'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'KVM hardware virtualization',
|
||||
subject: gettext('KVM hardware virtualization'),
|
||||
items: {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'kvm',
|
||||
@ -164,15 +164,15 @@ Ext.define('PVE.qemu.Options', {
|
||||
} : undefined
|
||||
},
|
||||
cpuunits: {
|
||||
header: 'CPU units',
|
||||
header: gettext('CPU units'),
|
||||
defaultValue: '1000',
|
||||
editor: caps.vms['VM.Config.CPU'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'CPU units',
|
||||
subject: gettext('CPU units'),
|
||||
items: {
|
||||
xtype: 'numberfield',
|
||||
name: 'cpuunits',
|
||||
fieldLabel: 'CPU units',
|
||||
fieldLabel: gettext('CPU units'),
|
||||
minValue: 8,
|
||||
maxValue: 500000,
|
||||
defaultValue: 1000,
|
||||
@ -181,12 +181,12 @@ Ext.define('PVE.qemu.Options', {
|
||||
} : undefined
|
||||
},
|
||||
freeze: {
|
||||
header: 'Freeze CPU at startup',
|
||||
header: gettext('Freeze CPU at startup'),
|
||||
defaultValue: false,
|
||||
renderer: PVE.Utils.format_boolean,
|
||||
editor: caps.vms['VM.PowerMgmt'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Freeze CPU at startup',
|
||||
subject: gettext('Freeze CPU at startup'),
|
||||
items: {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'freeze',
|
||||
@ -194,17 +194,17 @@ Ext.define('PVE.qemu.Options', {
|
||||
defaultValue: 0,
|
||||
deleteDefaultValue: true,
|
||||
labelWidth: 140,
|
||||
fieldLabel: 'Freeze CPU at startup'
|
||||
fieldLabel: gettext('Freeze CPU at startup')
|
||||
}
|
||||
} : undefined
|
||||
},
|
||||
localtime: {
|
||||
header: 'Use local time for RTC',
|
||||
header: gettext('Use local time for RTC'),
|
||||
defaultValue: false,
|
||||
renderer: PVE.Utils.format_boolean,
|
||||
editor: caps.vms['VM.Config.Options'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'Use local time for RTC',
|
||||
subject: gettext('Use local time for RTC'),
|
||||
items: {
|
||||
xtype: 'pvecheckbox',
|
||||
name: 'localtime',
|
||||
@ -212,22 +212,22 @@ Ext.define('PVE.qemu.Options', {
|
||||
defaultValue: 0,
|
||||
deleteDefaultValue: true,
|
||||
labelWidth: 140,
|
||||
fieldLabel: 'Use local time for RTC'
|
||||
fieldLabel: gettext('Use local time for RTC')
|
||||
}
|
||||
} : undefined
|
||||
},
|
||||
startdate: {
|
||||
header: 'RTC start date',
|
||||
header: gettext('RTC start date'),
|
||||
defaultValue: 'now',
|
||||
editor: caps.vms['VM.Config.Options'] ? {
|
||||
xtype: 'pveWindowEdit',
|
||||
subject: 'RTC start date',
|
||||
subject: gettext('RTC start date'),
|
||||
items: {
|
||||
xtype: 'pvetextfield',
|
||||
name: 'startdate',
|
||||
deleteEmpty: true,
|
||||
value: 'now',
|
||||
fieldLabel: 'RTC start date',
|
||||
fieldLabel: gettext('RTC start date'),
|
||||
vtype: 'QemuStartDate',
|
||||
allowBlank: true
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
|
||||
minValue: 1,
|
||||
maxValue: 4,
|
||||
value: '1',
|
||||
fieldLabel: 'Sockets',
|
||||
fieldLabel: gettext('Sockets'),
|
||||
allowBlank: false,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -28,7 +28,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
|
||||
minValue: 1,
|
||||
maxValue: 32,
|
||||
value: '1',
|
||||
fieldLabel: 'Cores',
|
||||
fieldLabel: gettext('Cores'),
|
||||
allowBlank: false,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -46,11 +46,11 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
|
||||
xtype: 'CPUModelSelector',
|
||||
name: 'cpu',
|
||||
value: '',
|
||||
fieldLabel: 'CPU type'
|
||||
fieldLabel: gettext('CPU type')
|
||||
},
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
fieldLabel: 'Total cores',
|
||||
fieldLabel: gettext('Total cores'),
|
||||
name: 'totalcores',
|
||||
value: '1'
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ Ext.define('PVE.window.Snapshot', {
|
||||
waitMsgTarget: me,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
var upid = response.result.data;
|
||||
@ -36,7 +36,7 @@ Ext.define('PVE.window.Snapshot', {
|
||||
waitMsgTarget: me,
|
||||
method: 'PUT',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
me.close();
|
||||
@ -180,7 +180,7 @@ Ext.define('PVE.window.Snapshot', {
|
||||
waitMsgTarget: me,
|
||||
method: 'GET',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
me.close();
|
||||
},
|
||||
success: function(response, options) {
|
||||
|
@ -246,7 +246,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'RAM',
|
||||
text: gettext('RAM'),
|
||||
align: 'center',
|
||||
resizable: false,
|
||||
dataIndex: 'vmstate',
|
||||
|
@ -34,20 +34,20 @@ Ext.define('PVE.qemu.StatusView', {
|
||||
var render_mem = function(value, metaData, record, rowIndex, colIndex, store) {
|
||||
var maxmem = me.getObjectValue('maxmem', 0);
|
||||
var per = (value / maxmem)*100;
|
||||
var text = "<div>Total: " + PVE.Utils.format_size(maxmem) + "</div>" +
|
||||
"<div>Used: " + PVE.Utils.format_size(value) + "</div>";
|
||||
var text = "<div>" + gettext('Total') + ": " + PVE.Utils.format_size(maxmem) + "</div>" +
|
||||
"<div>" + gettext('Used') + ": " + PVE.Utils.format_size(value) + "</div>";
|
||||
return text;
|
||||
};
|
||||
|
||||
var rows = {
|
||||
name: { header: gettext('Name'), defaultValue: 'no name specified' },
|
||||
qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' },
|
||||
cpu: { header: 'CPU usage', required: true, renderer: render_cpu },
|
||||
cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu },
|
||||
cpus: { visible: false },
|
||||
mem: { header: 'Memory usage', required: true, renderer: render_mem },
|
||||
mem: { header: gettext('Memory usage'), required: true, renderer: render_mem },
|
||||
maxmem: { visible: false },
|
||||
uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime },
|
||||
ha: { header: 'Managed by HA', required: true, renderer: PVE.Utils.format_boolean }
|
||||
ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_boolean }
|
||||
};
|
||||
|
||||
Ext.applyIf(me, {
|
||||
|
@ -26,7 +26,7 @@ Ext.define('PVE.qemu.Summary', {
|
||||
var rstore = me.statusStore;
|
||||
|
||||
var statusview = Ext.create('PVE.qemu.StatusView', {
|
||||
title: 'Status',
|
||||
title: gettext('Status'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
width: 400,
|
||||
rstore: rstore
|
||||
@ -59,28 +59,28 @@ Ext.define('PVE.qemu.Summary', {
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "CPU usage %",
|
||||
title: gettext('CPU usage %'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'cpu',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Memory usage",
|
||||
title: gettext('Memory usage'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'mem,maxmem',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Network traffic",
|
||||
title: gettext('Network traffic'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'netin,netout',
|
||||
rrdurl: rrdurl
|
||||
},
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Disk IO",
|
||||
title: gettext('Disk IO'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'diskread,diskwrite',
|
||||
rrdurl: rrdurl
|
||||
|
@ -24,7 +24,7 @@ Ext.define('PVE.qemu.TemplateMenu', {
|
||||
url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -114,7 +114,7 @@ Ext.define('PVE.storage.TemplateDownload', {
|
||||
},
|
||||
method: 'POST',
|
||||
failure: function (response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
var upid = response.result.data;
|
||||
@ -185,9 +185,9 @@ Ext.define('PVE.storage.Upload', {
|
||||
{
|
||||
xtype: 'pveKVComboBox',
|
||||
data: [
|
||||
['iso', 'ISO image'],
|
||||
['backup', 'VZDump backup file'],
|
||||
['vztmpl', 'OpenVZ template']
|
||||
['iso', gettext('ISO image')],
|
||||
['backup', gettext('VZDump backup file')],
|
||||
['vztmpl', gettext('OpenVZ template')]
|
||||
],
|
||||
fieldLabel: gettext('Content'),
|
||||
name: 'content',
|
||||
@ -268,7 +268,7 @@ Ext.define('PVE.storage.Upload', {
|
||||
if (xhr.status == 200) {
|
||||
me.close();
|
||||
} else {
|
||||
var msg = "Error " + xhr.status.toString() + ": " + Ext.htmlEncode(xhr.statusText);
|
||||
var msg = gettext('Error') + " " + xhr.status.toString() + ": " + Ext.htmlEncode(xhr.statusText);
|
||||
var result = Ext.decode(xhr.responseText);
|
||||
result.message = msg;
|
||||
var htmlStatus = PVE.Utils.extractRequestError(result, true);
|
||||
|
@ -46,7 +46,7 @@ Ext.define('PVE.storage.IScsiScan', {
|
||||
displayField: 'target',
|
||||
matchFieldWidth: false,
|
||||
listConfig: {
|
||||
loadingText: 'Scanning...',
|
||||
loadingText: gettext('Scanning...'),
|
||||
listeners: {
|
||||
// hack: call setHeight to show scroll bars correctly
|
||||
refresh: function(list) {
|
||||
@ -103,7 +103,7 @@ Ext.define('PVE.storage.IScsiInputPanel', {
|
||||
height: 22, // hack: set same height as text fields
|
||||
name: 'portal',
|
||||
value: '',
|
||||
fieldLabel: 'Portal',
|
||||
fieldLabel: gettext('Portal'),
|
||||
allowBlank: false,
|
||||
listeners: {
|
||||
change: function(f, value) {
|
||||
@ -120,7 +120,7 @@ Ext.define('PVE.storage.IScsiInputPanel', {
|
||||
xtype: me.create ? 'pveIScsiScan' : 'displayfield',
|
||||
name: 'target',
|
||||
value: '',
|
||||
fieldLabel: 'Target',
|
||||
fieldLabel: gettext('Target'),
|
||||
allowBlank: false
|
||||
}
|
||||
];
|
||||
@ -176,7 +176,7 @@ Ext.define('PVE.storage.IScsiEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'iSCSI target',
|
||||
subject: gettext('iSCSI target'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -25,7 +25,7 @@ Ext.define('PVE.storage.VgSelector', {
|
||||
queryMode: 'local',
|
||||
editable: false,
|
||||
listConfig: {
|
||||
loadingText: 'Scanning...',
|
||||
loadingText: gettext('Scanning...'),
|
||||
listeners: {
|
||||
// hack: call setHeight to show scroll bars correctly
|
||||
refresh: function(list) {
|
||||
@ -236,7 +236,7 @@ Ext.define('PVE.storage.LVMEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'LVM group',
|
||||
subject: gettext('LVM group'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -46,7 +46,7 @@ Ext.define('PVE.storage.NFSScan', {
|
||||
displayField: 'path',
|
||||
matchFieldWidth: false,
|
||||
listConfig: {
|
||||
loadingText: 'Scanning...',
|
||||
loadingText: gettext('Scanning...'),
|
||||
listeners: {
|
||||
// hack: call setHeight to show scroll bars correctly
|
||||
refresh: function(list) {
|
||||
@ -120,7 +120,7 @@ Ext.define('PVE.storage.NFSInputPanel', {
|
||||
height: 22, // hack: set same height as text fields
|
||||
name: 'export',
|
||||
value: '',
|
||||
fieldLabel: 'Export',
|
||||
fieldLabel: gettext('Export'),
|
||||
allowBlank: false
|
||||
},
|
||||
{
|
||||
@ -187,7 +187,7 @@ Ext.define('PVE.storage.NFSEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'NFS share',
|
||||
subject: gettext('NFS share'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -140,7 +140,7 @@ Ext.define('PVE.storage.NexentaEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'Nexenta Storage',
|
||||
subject: gettext('Nexenta Storage'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -106,7 +106,7 @@ Ext.define('PVE.storage.RBDEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'RBD Storage',
|
||||
subject: gettext('RBD Storage'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -90,7 +90,7 @@ Ext.define('PVE.storage.SheepdogEdit', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
subject: 'Sheepdog Storage',
|
||||
subject: gettext('Sheepdog Storage'),
|
||||
isAdd: true,
|
||||
items: [ ipanel ]
|
||||
});
|
||||
|
@ -41,7 +41,7 @@ Ext.define('PVE.storage.Summary', {
|
||||
statusview,
|
||||
{
|
||||
xtype: 'pveRRDView',
|
||||
title: "Usage",
|
||||
title: gettext('Usage'),
|
||||
pveSelNode: me.pveSelNode,
|
||||
datasource: 'total,used',
|
||||
rrdurl: rrdurl
|
||||
|
@ -11,7 +11,7 @@ Ext.define('PVE.window.Migrate', {
|
||||
waitMsgTarget: me,
|
||||
method: 'POST',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
var upid = response.result.data;
|
||||
@ -58,7 +58,7 @@ Ext.define('PVE.window.Migrate', {
|
||||
{
|
||||
xtype: 'PVE.form.NodeSelector',
|
||||
name: 'target',
|
||||
fieldLabel: 'Target node',
|
||||
fieldLabel: gettext('Target node'),
|
||||
allowBlank: false,
|
||||
onlineValidator: true
|
||||
},
|
||||
@ -68,7 +68,7 @@ Ext.define('PVE.window.Migrate', {
|
||||
uncheckedValue: 0,
|
||||
defaultValue: 0,
|
||||
checked: running,
|
||||
fieldLabel: 'Online'
|
||||
fieldLabel: gettext('Online')
|
||||
}
|
||||
]
|
||||
});
|
||||
@ -76,7 +76,7 @@ Ext.define('PVE.window.Migrate', {
|
||||
var form = me.formPanel.getForm();
|
||||
|
||||
var submitBtn = Ext.create('Ext.Button', {
|
||||
text: 'Migrate',
|
||||
text: gettext('Migrate'),
|
||||
handler: function() {
|
||||
var values = form.getValues();
|
||||
me.migrate(values.target, values.online);
|
||||
@ -84,7 +84,7 @@ Ext.define('PVE.window.Migrate', {
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
title: "Migrate VM " + me.vmid,
|
||||
title: gettext('Migrate VM') + " " + me.vmid,
|
||||
width: 350,
|
||||
modal: true,
|
||||
layout: 'auto',
|
||||
|
@ -61,7 +61,7 @@ Ext.define('PVE.window.Restore', {
|
||||
method: 'POST',
|
||||
waitMsgTarget: me,
|
||||
failure: function (response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
},
|
||||
success: function(response, options) {
|
||||
var upid = response.result.data;
|
||||
@ -102,7 +102,7 @@ Ext.define('PVE.window.Restore', {
|
||||
if (me.vmid) {
|
||||
var msg = gettext('Are you sure you want to restore this VM?') + ' ' +
|
||||
gettext('This will permanently erase current VM data.');
|
||||
Ext.Msg.confirm('Confirmation', msg, function(btn) {
|
||||
Ext.Msg.confirm(gettext('Confirmation'), msg, function(btn) {
|
||||
if (btn !== 'yes') {
|
||||
return;
|
||||
}
|
||||
@ -118,7 +118,7 @@ Ext.define('PVE.window.Restore', {
|
||||
submitBtn.setDisabled(!valid);
|
||||
});
|
||||
|
||||
var title = (me.vmtype === 'openvz') ? "Restore CT" : "Restore VM";
|
||||
var title = (me.vmtype === 'openvz') ? gettext('Restore CT') : gettext('Restore VM');
|
||||
|
||||
Ext.apply(me, {
|
||||
title: title,
|
||||
|
@ -114,7 +114,7 @@ Ext.define('PVE.window.TaskViewer', {
|
||||
visible: false
|
||||
},
|
||||
type: {
|
||||
header: 'Task type',
|
||||
header: gettext('Task type'),
|
||||
required: true
|
||||
},
|
||||
user: {
|
||||
@ -126,7 +126,7 @@ Ext.define('PVE.window.TaskViewer', {
|
||||
required: true
|
||||
},
|
||||
pid: {
|
||||
header: 'Process ID',
|
||||
header: gettext('Process ID'),
|
||||
required: true
|
||||
},
|
||||
starttime: {
|
||||
@ -135,7 +135,7 @@ Ext.define('PVE.window.TaskViewer', {
|
||||
renderer: PVE.Utils.render_timestamp
|
||||
},
|
||||
upid: {
|
||||
header: 'Unique task ID'
|
||||
header: gettext('Unique task ID')
|
||||
}
|
||||
};
|
||||
|
||||
@ -153,7 +153,7 @@ Ext.define('PVE.window.TaskViewer', {
|
||||
waitMsgTarget: me,
|
||||
method: 'DELETE',
|
||||
failure: function(response, opts) {
|
||||
Ext.Msg.alert('Error', response.htmlStatus);
|
||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user