From: Aline Manera <alinefm(a)br.ibm.com>
Instead of using UI message, we can display the messages from backend as
they are also translated to the current language
Also associate a code to the UI messages and display error messages
like: <code>: <msg>
For that, create a new function kimchi.message.error.code to display
those messages.
The function kimchi.message.error will be used to display error messages came
from backend (that are already in format <code>: <msg>)
Signed-off-by: Aline Manera <alinefm(a)br.ibm.com>
---
ui/js/src/kimchi.api.js | 4 +-
ui/js/src/kimchi.guest_add_main.js | 7 +-
ui/js/src/kimchi.guest_main.js | 32 +++---
ui/js/src/kimchi.host.js | 46 ++++----
ui/js/src/kimchi.line-chart.js | 2 +-
ui/js/src/kimchi.login_window.js | 8 +-
ui/js/src/kimchi.main.js | 6 +-
ui/js/src/kimchi.message.js | 4 +
ui/js/src/kimchi.network.js | 22 ++--
ui/js/src/kimchi.report_add_main.js | 8 +-
ui/js/src/kimchi.storage_main.js | 18 ++--
ui/js/src/kimchi.storagepool_add_main.js | 28 ++---
ui/js/src/kimchi.template_add_main.js | 18 ++--
ui/js/src/kimchi.template_main.js | 16 +--
ui/js/widgets/filter-select.js | 4 +-
ui/js/widgets/select-menu.js | 4 +-
ui/pages/i18n.html.tmpl | 172 ++++++++++++++----------------
17 files changed, 194 insertions(+), 205 deletions(-)
diff --git a/ui/js/src/kimchi.api.js b/ui/js/src/kimchi.api.js
index 63ddd88..6433fe0 100644
--- a/ui/js/src/kimchi.api.js
+++ b/ui/js/src/kimchi.api.js
@@ -307,7 +307,7 @@ var kimchi = {
window.open(url);
});
}).error(function() {
- kimchi.message.error(i18n['msg.fail.get.config']);
+ kimchi.message.error.code('KCHAPI6002E');
});
},
@@ -330,7 +330,7 @@ var kimchi = {
window.open(url);
});
}).error(function() {
- kimchi.message.error(i18n['msg.fail.get.config']);
+ kimchi.message.error.code('KCHAPI6002E');
});
},
diff --git a/ui/js/src/kimchi.guest_add_main.js b/ui/js/src/kimchi.guest_add_main.js
index 2085562..7ada1e3 100644
--- a/ui/js/src/kimchi.guest_add_main.js
+++ b/ui/js/src/kimchi.guest_add_main.js
@@ -44,8 +44,8 @@ kimchi.guest_add_main = function() {
$('#prompt-choose-template').addClass('hidden');
$('#prompt-create-template').removeClass('hidden');
- }, function() {
- kimchi.message.error(i18n['temp.msg.fail.list']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
};
@@ -72,8 +72,7 @@ kimchi.guest_add_main = function() {
var reason = jqXHR &&
jqXHR['responseJSON'] &&
jqXHR['responseJSON']['reason'];
- reason = reason ? ': ' + reason : '';
- kimchi.message.error(i18n['vm.msg.fail.create.vm'] + reason);
+ kimchi.message.error(reason);
});
return false;
diff --git a/ui/js/src/kimchi.guest_main.js b/ui/js/src/kimchi.guest_main.js
index 8467f3f..99cb84a 100644
--- a/ui/js/src/kimchi.guest_main.js
+++ b/ui/js/src/kimchi.guest_main.js
@@ -25,8 +25,8 @@ kimchi.initVmButtonsAction = function() {
$(this).addClass('loading');
kimchi.startVM($(this).data('vm'), function(result) {
kimchi.listVmsAuto();
- }, function() {
- kimchi.message.error(i18n['msg.fail.start']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
} else {
event.preventDefault();
@@ -40,8 +40,8 @@ kimchi.initVmButtonsAction = function() {
$(this).addClass('loading');
kimchi.stopVM($(this).data('vm'), function(result) {
kimchi.listVmsAuto();
- }, function() {
- kimchi.message.error(i18n['msg.fail.stop']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
} else {
event.preventDefault();
@@ -79,14 +79,14 @@ kimchi.initVmButtonsAction = function() {
if ('running' === $(this).data('vmstate')) {
kimchi.resetVM($(this).data('vm'), function(result) {
kimchi.listVmsAuto();
- }, function() {
- kimchi.message.error(i18n['msg.fail.reset']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
} else {
kimchi.startVM($(this).data('vm'), function(result) {
kimchi.listVmsAuto();
- }, function() {
- kimchi.message.error(i18n['msg.fail.start']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
}
});
@@ -94,16 +94,16 @@ kimchi.initVmButtonsAction = function() {
$(".vm-delete").on("click", function(event) {
var vm = $(this);
var settings = {
- title : i18n['msg.confirm.delete.title'],
- content : i18n['msg.vm.confirm.delete'],
- confirm : i18n['msg.confirm.delete.confirm'],
- cancel : i18n['msg.confirm.delete.cancel']
+ title : i18n['KCHAPI6001M'],
+ content : i18n['KCHVM6001M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
kimchi.deleteVM(vm.data('vm'), function(result) {
kimchi.listVmsAuto();
- }, function() {
- kimchi.message.error(i18n['msg.fail.delete']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
}, function() {
});
@@ -214,8 +214,8 @@ kimchi.listVmsAuto = function() {
}
kimchi.vmTimeout = window.setTimeout("kimchi.listVmsAuto();", 5000);
- }, function() {
- kimchi.message.error(i18n['msg.fail.list.guests']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
kimchi.vmTimeout = window.setTimeout("kimchi.listVmsAuto();", 5000);
});
};
diff --git a/ui/js/src/kimchi.host.js b/ui/js/src/kimchi.host.js
index e9279fb..a5c341b 100644
--- a/ui/js/src/kimchi.host.js
+++ b/ui/js/src/kimchi.host.js
@@ -31,10 +31,10 @@ kimchi.host_main = function() {
reportGrid = new kimchi.widget.Grid({
container: 'available-reports-grid-container',
id: reportGridID,
- title: i18n['msg.host.debugreport.title'],
+ title: i18n['KCHDR6002M'],
toolbarButtons: [{
id: reportGridID + '-generate-button',
- label: i18n['msg.host.debugreport.generate'],
+ label: i18n['KCHDR6006M'],
onClick: function(event) {
kimchi.window.open('report-add.html', {
close: function() {
@@ -44,13 +44,13 @@ kimchi.host_main = function() {
}
}, {
id: reportGridID + '-rename-button',
- label: i18n['msg.host.debugreport.rename'],
+ label: i18n['KCHDR6008M'],
disabled: true,
onClick: function(event) {
}
}, {
id: reportGridID + '-remove-button',
- label: i18n['msg.host.debugreport.remove'],
+ label: i18n['KCHDR6009M'],
disabled: true,
onClick: function(event) {
var report = reportGrid.getSelected();
@@ -59,10 +59,10 @@ kimchi.host_main = function() {
}
var settings = {
- title : i18n['msg.host.debugreport.confirm.title'],
- content : i18n['msg.host.debugreport.confirm.content'],
- confirm : i18n['msg.confirm'],
- cancel : i18n['msg.cancel']
+ title : i18n['KCHAPI6004M'],
+ content : i18n['KCHDR6001M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
@@ -76,7 +76,7 @@ kimchi.host_main = function() {
}
}, {
id: reportGridID + '-download-button',
- label: i18n['msg.host.debugreport.download'],
+ label: i18n['KCHDR6010M'],
disabled: true,
onClick: function(event) {
var report = reportGrid.getSelected();
@@ -102,15 +102,15 @@ kimchi.host_main = function() {
}],
fields: [{
name: 'name',
- label: i18n['msg.host.debugreport.name'],
+ label: i18n['KCHDR6003M'],
'class': 'debug-report-name'
}, {
name: 'file',
- label: i18n['msg.host.debugreport.file'],
+ label: i18n['KCHDR6004M'],
'class': 'debug-report-file'
}, {
name: 'time',
- label: i18n['msg.host.debugreport.time'],
+ label: i18n['KCHDR6005M'],
'class': 'debug-report-time'
}],
data: reports
@@ -135,10 +135,10 @@ kimchi.host_main = function() {
var restartButtonID = '#host-button-restart';
var shutdownHost = function(params) {
var settings = {
- title : i18n['msg.host.shutdown.confirm.title'],
- content : i18n['msg.host.shutdown.confirm.content'],
- confirm : i18n['msg.confirm'],
- cancel : i18n['msg.cancel']
+ title : i18n['KCHAPI6004M'],
+ content : i18n['KCHHOST6008M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
@@ -149,7 +149,7 @@ kimchi.host_main = function() {
kimchi.listVMs(function(vms) {
for(var i = 0; i < vms.length; i++) {
if(vms[i]['state'] === 'running') {
-
kimchi.message.warn(i18n['msg.host.shutdown.vmrunning']);
+ kimchi.message.error.code('KCHHOST6001E');
$(shutdownButtonID).prop('disabled', false);
$(restartButtonID).prop('disabled', false);
return;
@@ -220,7 +220,7 @@ kimchi.host_main = function() {
cpu: {
u: {
type: 'percent',
- legend: i18n['msg.host.chartlegend.cpu'],
+ legend: i18n['KCHHOST6002M'],
points: []
}
},
@@ -229,7 +229,7 @@ kimchi.host_main = function() {
type: 'value',
base: 2,
fixed: 2,
- legend: i18n['msg.host.chartlegend.memory.available'],
+ legend: i18n['KCHHOST6003M'],
points: []
}
},
@@ -239,7 +239,7 @@ kimchi.host_main = function() {
base: 2,
fixed: 2,
unit: 'B/s',
- legend: i18n['msg.host.chartlegend.disk.read'],
+ legend: i18n['KCHHOST6004M'],
points: []
},
w: {
@@ -247,7 +247,7 @@ kimchi.host_main = function() {
base: 2,
fixed: 2,
unit: 'B/s',
- legend: i18n['msg.host.chartlegend.disk.write'],
+ legend: i18n['KCHHOST6005M'],
'class': 'disk-write',
points: []
}
@@ -258,7 +258,7 @@ kimchi.host_main = function() {
base: 2,
fixed: 2,
unit: 'B/s',
- legend: i18n['msg.host.chartlegend.network.received'],
+ legend: i18n['KCHHOST6006M'],
points: []
},
s: {
@@ -266,7 +266,7 @@ kimchi.host_main = function() {
base: 2,
fixed: 2,
unit: 'B/s',
- legend: i18n['msg.host.chartlegend.network.sent'],
+ legend: i18n['KCHHOST6007M'],
'class': 'network-sent',
points: []
}
diff --git a/ui/js/src/kimchi.line-chart.js b/ui/js/src/kimchi.line-chart.js
index 3685677..4e59cb4 100644
--- a/ui/js/src/kimchi.line-chart.js
+++ b/ui/js/src/kimchi.line-chart.js
@@ -110,7 +110,7 @@ kimchi.widget.LineChart = function(params) {
);
}
- var maxValueLabel = i18n['msg.host.chartaxis.max'] + ' ' +
+ var maxValueLabel = i18n['KCHHOST6001M'] + ' ' +
(type === 'value'
? kimchi.formatMeasurement(maxValue, formatSettings)
: '100%');
diff --git a/ui/js/src/kimchi.login_window.js b/ui/js/src/kimchi.login_window.js
index 6396a1e..59de389 100644
--- a/ui/js/src/kimchi.login_window.js
+++ b/ui/js/src/kimchi.login_window.js
@@ -42,7 +42,7 @@ kimchi.login_main = function() {
for(var i = 0; i < idsArray.length; i++) {
var id = idsArray[i];
if (!$('#' + id).val()) {
- $('#' + id +
'-msg').text(i18n['msg.login.requiredfield']);
+ $('#' + id + '-msg').text(i18n['KCHAUTH6002E']);
placeCursor(id);
return false;
}
@@ -75,7 +75,7 @@ kimchi.login_main = function() {
return false;
}
-
$('#btn-login').text(i18n['msg.login.loggingin']).prop('disabled',
true);
+
$('#btn-login').text(i18n['KCHAUTH6002M']).prop('disabled',
true);
var userID = $('#user-id').val();
userID && kimchi.user.setUserID(userID);
@@ -95,8 +95,8 @@ kimchi.login_main = function() {
kimchi.user.showUser(true);
kimchi.window.close();
}, function() {
- $('#message-container').text(i18n['msg.login.failed']);
- $('#btn-login').prop('disabled',
false).text(i18n['msg.login.login']);
+ $('#message-container').text(i18n['KCHAUTH6001E']);
+ $('#btn-login').prop('disabled',
false).text(i18n['KCHAUTH6001M']);
placeCursor('user-id');
});
diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/kimchi.main.js
index cc8afee..5387495 100644
--- a/ui/js/src/kimchi.main.js
+++ b/ui/js/src/kimchi.main.js
@@ -46,7 +46,7 @@ kimchi.main = function() {
*/
var tab = $('#nav-menu a[href="' + url + '"]');
if (tab.length === 0) {
- kimchi.message.error(i18n['msg.err.uri.invalid']);
+ kimchi.message.error.code('KCHAPI6001E');
location.hash = '';
return;
}
@@ -138,8 +138,8 @@ kimchi.main = function() {
$('#btn-logout').on('click', function() {
kimchi.logout(function() {
updatePage();
- }, function() {
- kimchi.message.error(i18n['msg.logout.failed']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
});
};
diff --git a/ui/js/src/kimchi.message.js b/ui/js/src/kimchi.message.js
index 770f999..844febc 100644
--- a/ui/js/src/kimchi.message.js
+++ b/ui/js/src/kimchi.message.js
@@ -107,6 +107,10 @@ kimchi.message.warn = function(msg) {
kimchi.message.error = function(msg) {
kimchi.message(msg, 'error');
};
+kimchi.message.error.code = function(code) {
+ msg = code + ": " + i18n[code]
+ kimchi.message(msg, 'error');
+};
kimchi.message.success = function(msg) {
kimchi.message(msg, 'success');
};
diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js
index 0a3026f..c1f87ce 100644
--- a/ui/js/src/kimchi.network.js
+++ b/ui/js/src/kimchi.network.js
@@ -54,10 +54,10 @@ kimchi.addNetworkItem = function(network) {
kimchi.getNetworkItemHtml = function(network) {
if(!network.interface) {
- network.interface = i18n["value_unavailable"];
+ network.interface = i18n["KCHNET6001M"];
}
if(!network.addrSpace) {
- network.addrSpace = i18n["value_unavailable"];
+ network.addrSpace = i18n["KCHNET6001M"];
}
if(i18n["network_type_" + network.type]) {
network.type = i18n["network_type_" + network.type];
@@ -104,10 +104,10 @@ kimchi.addNetworkActions = function(network) {
});
} else if ($(evt.currentTarget).attr("nwAct") ===
"delete") {
kimchi.confirm({
- title : i18n['msg_warning'],
- content : i18n['network_action_confirm'],
- confirm : i18n['msg.confirm.delete.confirm'],
- cancel : i18n['msg.confirm.delete.cancel']
+ title : i18n['KCHAPI6006M'],
+ content : i18n['KCHNET6002M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
}, function() {
kimchi.deleteNetwork(network.name, function() {
$(evt.currentTarget).parents(".item").remove();
@@ -143,15 +143,15 @@ kimchi.initNetworkCreation = function() {
if ($("#enableVlan").prop("checked")) {
data.vlan_id = network.vlan_id;
if (!(data.vlan_id >=1 && data.vlan_id <= 4094)) {
- kimchi.message.error(i18n['msg.invalid.vlan_id']);
+ kimchi.message.error.code('KCHNET6001E');
return;
}
}
}
kimchi.createNetwork(data, function(result) {
network.state = result.state === "active" ? "up" :
"down";
- network.interface = result.interface ? result.interface :
i18n["value_unavailable"];
- network.addrSpace = result.subnet ? result.subnet :
i18n["value_unavailable"];
+ network.interface = result.interface ? result.interface :
i18n["KCHNET6001M"];
+ network.addrSpace = result.subnet ? result.subnet :
i18n["KCHNET6001M"];
kimchi.addNetworkItem(network);
$("#networkConfig").dialog("close");
});
@@ -176,7 +176,7 @@ kimchi.initNetworkDialog = function() {
},
buttons : [ {
id : "networkFormOk",
- text : i18n.action_create,
+ text : i18n.KCHAPI6005M,
class: "ui-button-primary",
disabled: true,
click : function() {
@@ -196,7 +196,7 @@ kimchi.openNetworkDialog = function(okCallback) {
kimchi.setDefaultNetworkType(result.length!==0);
});
$("#networkConfig").dialog({
- title : i18n.network_dialog_title_create
+ title : i18n.KCHNET6003M
});
$("#networkFormOk").on("click", function() {
okCallback();
diff --git a/ui/js/src/kimchi.report_add_main.js b/ui/js/src/kimchi.report_add_main.js
index 9826c38..f893d85 100644
--- a/ui/js/src/kimchi.report_add_main.js
+++ b/ui/js/src/kimchi.report_add_main.js
@@ -16,7 +16,7 @@ kimchi.report_add_main = function() {
var formData = addReportForm.serializeObject();
errorMessage.text('');
submitButton
- .text(i18n['msg.host.debugreport.generating'])
+ .text(i18n['KCHDR6007M'])
.prop('disabled', true);
nameTextbox.prop('disabled', true);
kimchi.createReport(formData, function(result) {
@@ -25,10 +25,10 @@ kimchi.report_add_main = function() {
result: result
});
}, function(result) {
- result && result['message'] &&
- $('#report-error-message').text(result['message']);
+ result && result['reason'] &&
+ $('#report-error-message').text(result['reason']);
submitButton
- .text(i18n['msg.host.debugreport.generate'])
+ .text(i18n['KCHDR6006M'])
.prop('disabled', false);
nameTextbox.prop('disabled', false).focus();
});
diff --git a/ui/js/src/kimchi.storage_main.js b/ui/js/src/kimchi.storage_main.js
index 5605f4b..d65da0b 100644
--- a/ui/js/src/kimchi.storage_main.js
+++ b/ui/js/src/kimchi.storage_main.js
@@ -36,8 +36,8 @@ kimchi.doListStoragePools = function() {
} else {
$('#storagepoolsList').html('');
}
- }, function() {
- kimchi.message.error(i18n['kimchi.list.storage.fail.msg']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
}
@@ -79,10 +79,10 @@ kimchi.storageBindClick = function() {
$('.pool-delete').on('click', function(event) {
var $pool = $(this);
var settings = {
- title : i18n['msg.confirm.delete.title'],
- content : i18n['msg.storagepool.confirm.delete'],
- confirm : i18n['msg.confirm.delete.confirm'],
- cancel : i18n['msg.confirm.delete.cancel']
+ title : i18n['KCHAPI6001M'],
+ content : i18n['KCHPOOL6001M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
var poolName = $pool.data('name');
@@ -159,14 +159,14 @@ kimchi.doListVolumes = function(poolObj) {
});
volumeDiv.html(listHtml);
} else {
- volumeDiv.html("<div class='pool-empty'>" +
i18n['msg.kimchi.storage.pool.empty'] + "</div>");
+ volumeDiv.html("<div class='pool-empty'>" +
i18n['KCHPOOL6002M'] + "</div>");
}
poolObj.removeClass('in');
kimchi.changeArrow(handleArrow);
slide.slideDown('slow');
}
- }, function() {
- kimchi.message.error(i18n['msg.kimchi.list.volume.fail']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
}
diff --git a/ui/js/src/kimchi.storagepool_add_main.js
b/ui/js/src/kimchi.storagepool_add_main.js
index e5922b3..ac97e1a 100644
--- a/ui/js/src/kimchi.storagepool_add_main.js
+++ b/ui/js/src/kimchi.storagepool_add_main.js
@@ -141,11 +141,11 @@ kimchi.validateForm = function() {
var name = $('#poolId').val();
var poolType = $("#poolTypeInputId").val();
if ('' === name) {
- kimchi.message.error(i18n['msg.pool.edit.name.blank']);
+ kimchi.message.error.code('KCHPOOL6001E');
return false;
}
if (!/^[\w-]+$/.test(name)) {
- kimchi.message.error(i18n['msg.validate.pool.edit.name']);
+ kimchi.message.error.code('KCHPOOL6004E');
return false;
}
if (poolType === "dir") {
@@ -164,11 +164,11 @@ kimchi.validateForm = function() {
kimchi.validateDirForm = function () {
var path = $('#pathId').val();
if ('' === path) {
- kimchi.message.error(i18n['msg.pool.edit.path.blank']);
+ kimchi.message.error.code('KCHPOOL6002E');
return false;
}
if (!/((\/([0-9a-zA-Z-_\.]+)))$/.test(path)) {
- kimchi.message.error(i18n['msg.validate.pool.edit.path']);
+ kimchi.message.error.code('KCHAPI6003E');
return false;
}
return true;
@@ -181,11 +181,11 @@ kimchi.validateNfsForm = function () {
return false;
}
if ('' === nfspath) {
- kimchi.message.error(i18n['msg.pool.edit.nfspath.blank']);
+ kimchi.message.error.code('KCHPOOL6003E');
return false;
}
if (!/((\/([0-9a-zA-Z-_\.]+)))$/.test(nfspath)) {
- kimchi.message.error(i18n['msg.validate.pool.edit.nfspath']);
+ kimchi.message.error.code('KCHPOOL6005E');
return false;
}
return true;
@@ -198,7 +198,7 @@ kimchi.validateIscsiForm = function() {
return false;
}
if ('' === iscsiTarget) {
- kimchi.message.error(i18n['msg.pool.edit.iscsitarget.blank']);
+ kimchi.message.error.code('KCHPOOL6007E');
return false;
}
return true;
@@ -206,11 +206,11 @@ kimchi.validateIscsiForm = function() {
kimchi.validateServer = function(serverField) {
if ('' === serverField) {
- kimchi.message.error(i18n['msg.pool.edit.server.blank']);
+ kimchi.message.error.code('KCHPOOL6008E');
return false;
}
if(!kimchi.isServer(serverField)) {
- kimchi.message.error(i18n['msg.validate.pool.edit.server']);
+ kimchi.message.error.code('KCHPOOL6009E');
return false;
}
return true;
@@ -218,7 +218,7 @@ kimchi.validateServer = function(serverField) {
kimchi.validateLogicalForm = function () {
if ($("input[name=devices]:checked").length === 0) {
- kimchi.message.error(i18n['msg.validate.pool.edit.logical.device']);
+ kimchi.message.error.code('KCHPOOL6006E');
return false;
} else {
return true;
@@ -263,10 +263,10 @@ kimchi.addPool = function(event) {
}
if (poolType === 'logical') {
var settings = {
- title : i18n['msg.confirm.delete.title'],
- content : i18n['msg.logicalpool.confirm.delete'],
- confirm : i18n['msg.confirm.delete.confirm'],
- cancel : i18n['msg.confirm.delete.cancel']
+ title : i18n['KCHAPI6001M'],
+ content : i18n['KCHPOOL6003M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
kimchi.createStoragePool(formData, function() {
diff --git a/ui/js/src/kimchi.template_add_main.js
b/ui/js/src/kimchi.template_add_main.js
index 85e73a2..1b1f413 100644
--- a/ui/js/src/kimchi.template_add_main.js
+++ b/ui/js/src/kimchi.template_add_main.js
@@ -72,7 +72,7 @@ kimchi.template_add_main = function() {
$('#iso-search').click(function() {
var settings = {
- content : i18n['msg.template.iso.search.confirm']
+ content : i18n['KCHTMPL6002M']
};
kimchi.confirm(settings, function() {
$('#iso-search').hide();
@@ -83,7 +83,7 @@ kimchi.template_add_main = function() {
$('#iso-more').click(function() {
var settings = {
- content : i18n['msg.template.iso.search.confirm']
+ content : i18n['KCHTMPL6002M']
};
kimchi.confirm(settings, function() {
$('#iso-more').hide();
@@ -119,7 +119,7 @@ kimchi.template_add_main = function() {
showLocalIsoField(isos);
} else {
if (isFinished) {
- kimchi.message.warn(i18n['msg.fail.template.no.iso']);
+ kimchi.message.warn(i18n['KCHTMPL6001W']);
}
}
if (isFinished) {
@@ -214,11 +214,11 @@ kimchi.template_add_main = function() {
$('#btn-template-file-create').click(function() {
var isoFile = $('#iso-file').val();
if (!kimchi.is_iso_file(isoFile)) {
- kimchi.message.error(i18n['msg.invalid.iso']);
+ kimchi.message.error.code('KCHTMPL6002E');
return;
}
if (!kimchi.template_check_path(isoFile)) {
- kimchi.message.error(i18n['msg.invalid.path']);
+ kimchi.message.error.code('KCHAPI6003E');
return;
}
var data = {
@@ -274,7 +274,7 @@ kimchi.template_add_main = function() {
$('#list-remote-iso').html(html);
$('#remote-iso-field').show();
} else {
- kimchi.message.warn(i18n['msg.fail.template.no.iso']);
+ kimchi.message.warn(i18n['KCHTMPL6001W']);
}
};
@@ -330,7 +330,7 @@ kimchi.template_add_main = function() {
$('#btn-template-url-create').click(function() {
var isoUrl = $('#iso-url').val();
if (!kimchi.template_check_url(isoUrl)) {
- kimchi.message.error(i18n['msg.invalid.url']);
+ kimchi.message.error.code('KCHAPI6004E');
return;
}
var data = {
@@ -365,7 +365,7 @@ kimchi.template_add_main = function() {
};
kimchi.createTemplate(data, function() {
successNum++;
- kimchi.message.success(i18n['msg.success.create.template'] +
': ' + isoInfo.name);
+ kimchi.message.success(i18n['KCHTMPL6001M'] + ': ' +
isoInfo.name);
$('input[value="' + isoInfo.isoId +
'"]').prop('checked', false);
$('.check-all>input').prop('checked', false);
kimchi.doListTemplates();
@@ -374,7 +374,7 @@ kimchi.template_add_main = function() {
kimchi.window.close();
}
}, function(err) {
- kimchi.message.error(i18n['msg.fail.create.template'] +
': ' + isoInfo.name + '<br>' + err.responseJSON.reason);
+ kimchi.message.error(err.responseJSON.reason);
});
};
if (formData.iso instanceof Array) {
diff --git a/ui/js/src/kimchi.template_main.js b/ui/js/src/kimchi.template_main.js
index ffc7306..0904e71 100644
--- a/ui/js/src/kimchi.template_main.js
+++ b/ui/js/src/kimchi.template_main.js
@@ -33,8 +33,8 @@ kimchi.doListTemplates = function() {
$('#templateList').html('');
$('#noTemplates').show();
}
- }, function() {
- kimchi.message.error(i18n['kimchi.list.template.fail.msg']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
};
@@ -47,17 +47,17 @@ kimchi.bindClick = function() {
$('.template-delete').on('click', function(event) {
var $template = $(this);
var settings = {
- title : i18n['msg.confirm.delete.title'],
- content : i18n['msg.template.confirm.delete'],
- confirm : i18n['msg.confirm.delete.confirm'],
- cancel : i18n['msg.confirm.delete.cancel']
+ title : i18n['KCHAPI6001M'],
+ content : i18n['KCHTMPL6001M'],
+ confirm : i18n['KCHAPI6002M'],
+ cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
var templateName = $template.data('template');
kimchi.deleteTemplate(templateName, function() {
kimchi.doListTemplates();
- }, function() {
- kimchi.message.error(i18n['fail.delete.template']);
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
});
}, function() {
});
diff --git a/ui/js/widgets/filter-select.js b/ui/js/widgets/filter-select.js
index 44030a1..9e024cf 100644
--- a/ui/js/widgets/filter-select.js
+++ b/ui/js/widgets/filter-select.js
@@ -55,7 +55,7 @@
that.listControl.html('');
var items = that._dataList(options);
if (items.length === 0) {
- that.listControl.html(i18n['msg.no.mapping.result']);
+ that.listControl.html(i18n['KCHAPI6005E']);
} else {
$.each(items, function(index, item) {
that.listControl.append(item);
@@ -75,7 +75,7 @@
});
if (that.listControl.html() === '') {
that.target.addClass("invalid-field");
- that.listControl.html(i18n['msg.no.mapping.result']);
+ that.listControl.html(i18n['KCHAPI6005E']);
} else {
that.target.removeClass("invalid-field");
}
diff --git a/ui/js/widgets/select-menu.js b/ui/js/widgets/select-menu.js
index c9a1b87..c213f3c 100644
--- a/ui/js/widgets/select-menu.js
+++ b/ui/js/widgets/select-menu.js
@@ -62,7 +62,7 @@
}
});
} else {
- kimchi.message.error(i18n['selectmenu.data.error']);
+ kimchi.message.code.error('KCHAPI6006E');
}
},
@@ -83,4 +83,4 @@
$.Widget.prototype.destroy.call(this);
}
});
-}(jQuery));
\ No newline at end of file
+}(jQuery));
diff --git a/ui/pages/i18n.html.tmpl b/ui/pages/i18n.html.tmpl
index d63d4e9..540c07c 100644
--- a/ui/pages/i18n.html.tmpl
+++ b/ui/pages/i18n.html.tmpl
@@ -36,99 +36,85 @@
<body>
<script>
var i18n = {
- 'temp.msg.fail.list': "$_("Failed to list the
template")",
- 'temp.msg.choose.temp': "$_("Please choose a
template")",
- 'vm.msg.fail.create.vm': "$_("Failed to create vm")",
- 'msg.login.failed': "$_("The username or password you entered is
incorrect. Please try again.")",
- 'msg.login.requiredfield': "$_("This field is
required.")",
- 'msg.login.login': "$_("Log in")",
- 'msg.login.loggingin': "$_("Logging in...")",
- 'msg.err.uri.invalid': "$_("Invalid URL. Redireced to home
page.")",
- 'msg.404.gotohomepage': "$_("Go to Homepage")",
- 'msg.fail.start': "$_("Failed to start")",
- 'msg.fail.stop': "$_("Failed to stop")",
- 'msg.fail.reset': "$_("Failed to reset")",
- 'msg.fail.delete': "$_("Failed to delete")",
- 'msg.fail.list.guests': "$_("Failed to list guests")",
- 'msg.fail.create.template': "$_("Failed to create
template")",
- 'msg.success.create.template': "$_("Create template
successfully")",
- 'msg.fail.template.no.iso': "$_("No iso found")",
- 'msg.fail.template.scan': "$_("Failed to scan")",
- 'msg.fail.template.distr': "$_("Failed to list iso
distributions")",
- 'msg.confirm.delete.title': "$_("Delete Confirmation")",
- 'msg.confirm': "$_("OK")",
- 'msg.cancel': "$_("Cancel")",
- 'msg.confirm.delete.confirm': "$_("OK")",
- 'msg.confirm.delete.cancel': "$_("Cancel")",
- 'msg.host.chartaxis.max': "$_("Max:")",
- 'msg.host.chartlegend.cpu': "$_("Utilization")",
- 'msg.host.chartlegend.memory.available':
"$_("Available")",
- 'msg.host.chartlegend.disk.read': "$_("Read Rate")",
- 'msg.host.chartlegend.disk.write': "$_("Write Rate")",
- 'msg.host.chartlegend.network.received':
"$_("Received")",
- 'msg.host.chartlegend.network.sent': "$_("Sent")",
- 'msg.host.debugreport.confirm.title': "$_("Confirm")",
- 'msg.host.debugreport.confirm.content': "$_("Debug report will be
removed permanently and can't be recovered. Do you want to continue?")",
- 'msg.host.debugreport.title': "$_("Debug Reports")",
- 'msg.host.debugreport.name': "$_("Name")",
- 'msg.host.debugreport.file': "$_("File Path")",
- 'msg.host.debugreport.time': "$_("Generated Time")",
- 'msg.host.debugreport.generate': "$_("Generate")",
- 'msg.host.debugreport.generating':
"$_("Generating...")",
- 'msg.host.debugreport.rename': "$_("Rename")",
- 'msg.host.debugreport.remove': "$_("Remove")",
- 'msg.host.debugreport.download': "$_("Download")",
- 'msg.host.shutdown.vmrunning': "$_("Some VM(s) are
running!")",
- 'msg.host.shutdown.confirm.title': "$_("Confirm")",
- 'msg.host.shutdown.confirm.content': "$_("Shutting down or
restarting host will cause unsaved work lost. Continue to shut
down/restarting?")",
- 'msg.vm.confirm.delete': "$_("This will delete the VM and its
virtual disks. "
- "This operation cannot be undone. "
- "Would you like to continue?")",
- 'msg.template.confirm.delete': "$_("This will permanently delete
the Template. "
- "Would you like to continue?")",
- 'msg.template.iso.search.confirm': "It will take long time. Do you want
to continue?",
- 'msg.fail.get.config': "$_("Failed to get application
configuration")",
- 'msg.invalid.path': "$_("This is not a valid linux
path")",
- 'msg.invalid.url': "$_("This is not a valid url.")",
- 'msg.invalid.vlan_id': "$_("The VLAN id must be between 1 and
4094.")",
- 'msg.invalid.iso': "$_("This is not a valid ISO
file.")",
- 'msg.storagepool.confirm.delete':"$_("This will permanently delete
the Storage Pool. Would you like to continue?")",
- 'msg.pool.edit.name.blank':"$_("The storage pool name can not be
blank.")",
- 'msg.pool.edit.path.blank':"$_("The storage pool path can not be
blank.")",
- 'msg.pool.edit.nfspath.blank':"$_("NFS server mount path can not be
blank.")",
- 'msg.validate.pool.edit.name':"$_("Invalid Storage Pool name. It
may only contain letters, numbers, underscores, and hyphens.")",
- 'msg.validate.pool.edit.path':"$_("This is not a real linux
path.")",
- 'msg.validate.pool.edit.nfspath':"$_("Invalid nfs mount
path.")",
- 'msg.validate.pool.edit.logical.device':"$_("No logical device
selected.")",
- 'msg.kimchi.storage.pool.empty':"$_("This storage pool is
empty.")",
- 'msg.kimchi.list.volume.fail':"$_("Failed to list the storage
pool.")",
- 'msg.kimchi.storage.pool.not.active':"$_("The storage pool is not
active now.")",
- 'fail.delete.template': "$_("Failed to delete
template.")",
- 'Guests':"$_("Guests")",
- 'Host':"$_("Host")",
- 'Templates':"$_("Templates")",
- 'Storage':"$_("Storage")",
- 'value_unavailable': "$_("unavailable")",
- 'Network':"$_("Network")",
- 'network_type_isolated': "$_("isolated")",
- 'network_type_nat': "$_("NAT")",
- 'network_type_bridged': "$_("bridged")",
- 'network_bridged_space': "$_("connected to")",
- 'network_action_confirm': "$_("This action will interrupt network
connectivity for any virtual machine that depend on this network.")",
- 'network_dialog_title_create': "$_("Create a network")",
- 'network_dialog_ok': "$_("OK")",
- 'network_dialog_cancel': "$_("Cancel")",
- 'action_create': "$_("Create")",
- 'msg_warning': "$_("Warning")",
- 'msg.logicalpool.confirm.delete': "$_("It will format your disk and
you will loose any data in"
- " there, are you sure to continue?
")",
- 'msg.pool.edit.iscsitarget.blank': "$_("The iSCSI target can not be
blank.")",
- 'msg.pool.edit.server.blank':"$_("Server name can not be
blank.")",
- 'msg.validate.pool.edit.server':"$_("This is not a valid Server
Name or IP. please, modify it.")",
- 'select_default': "$_("Please choose")",
- 'msg.no.mapping.result': "$_("No such data exsit.")",
- 'msg.no.result' : "$_("No valid result")",
- 'selectmenu.data.error' : "$_("options needed.")"
+ 'KCHAUTH6001E': "$_("The username or password you entered is
incorrect. Please try again.")",
+ 'KCHAUTH6002E': "$_("This field is required.")",
+
+ 'KCHAUTH6001M': "$_("Log in")",
+ 'KCHAUTH6002M': "$_("Logging in...")",
+
+ 'Host': "$_("Host")",
+ 'Guests': "$_("Guests")",
+ 'Templates': "$_("Templates")",
+ 'Storage': "$_("Storage")",
+ 'Network': "$_("Network")",
+
+ 'KCHAPI6001E': "$_("Invalid URL. Redireced to home
page.")",
+ 'KCHAPI6002E': "$_("Failed to get application
configuration")",
+ 'KCHAPI6003E': "$_("This is not a valid linux path")",
+ 'KCHAPI6004E': "$_("This is not a valid url.")",
+ 'KCHAPI6005E': "$_("No such data exsit.")",
+ 'KCHAPI6006E': "$_("options needed.")",
+
+ 'KCHAPI6001M': "$_("Delete Confirmation")",
+ 'KCHAPI6002M': "$_("OK")",
+ 'KCHAPI6003M': "$_("Cancel")",
+ 'KCHAPI6004M': "$_("Confirm")",
+ 'KCHAPI6005M': "$_("Create")",
+ 'KCHAPI6006M': "$_("Warning")",
+
+ 'KCHTMPL6001M': "$_("Create template successfully")",
+
+ 'KCHTMPL6001W': "$_("No iso found")",
+
+ 'KCHTMPL6002E': "$_("This is not a valid ISO file.")",
+
+ 'KCHTMPL6001M': "$_("This will permanently delete the Template.
Would you like to continue?")",
+ 'KCHTMPL6002M': "$_("It will take long time. Do you want to
continue?")",
+
+ 'KCHHOST6001E': "$_("Unable to shut down system as there are some
VM(s) running!")",
+
+ 'KCHHOST6001M': "$_("Max:")",
+ 'KCHHOST6002M': "$_("Utilization")",
+ 'KCHHOST6003M': "$_("Available")",
+ 'KCHHOST6004M': "$_("Read Rate")",
+ 'KCHHOST6005M': "$_("Write Rate")",
+ 'KCHHOST6006M': "$_("Received")",
+ 'KCHHOST6007M': "$_("Sent")",
+ 'KCHHOST6008M': "$_("Shutting down or restarting host will cause
unsaved work lost. Continue to shut down/restarting?")",
+
+ 'KCHDR6001M': "$_("Debug report will be removed permanently and
can't be recovered. Do you want to continue?")",
+ 'KCHDR6002M': "$_("Debug Reports")",
+ 'KCHDR6003M': "$_("Name")",
+ 'KCHDR6004M': "$_("File Path")",
+ 'KCHDR6005M': "$_("Generated Time")",
+ 'KCHDR6006M': "$_("Generate")",
+ 'KCHDR6007M': "$_("Generating...")",
+ 'KCHDR6008M': "$_("Rename")",
+ 'KCHDR6009M': "$_("Remove")",
+ 'KCHDR6010M': "$_("Download")",
+
+
+ 'KCHVM6001M': "$_("This will delete the VM and its virtual disks.
This operation cannot be undone. Would you like to continue?")",
+
+ 'KCHNET6001E': "$_("The VLAN id must be between 1 and
4094.")",
+
+ 'KCHNET6001M': "$_("unavailable")",
+ 'KCHNET6002M': "$_("This action will interrupt network connectivity
for any virtual machine that depend on this network.")",
+ 'KCHNET6003M': "$_("Create a network")",
+
+ 'KCHPOOL6001M': "$_("This will permanently delete the Storage Pool.
Would you like to continue?")",
+ 'KCHPOOL6002M': "$_("This storage pool is empty.")",
+ 'KCHPOOL6003M': "$_("It will format your disk and you will loose
any data in there, are you sure to continue? ")",
+
+ 'KCHPOOL6001E': "$_("The Storage Pool name can not be
blank.")",
+ 'KCHPOOL6002E': "$_("The Storage Pool path can not be
blank.")",
+ 'KCHPOOL6003E': "$_("NFS server mount path can not be
blank.")",
+ 'KCHPOOL6004E': "$_("Invalid Storage Pool name. It may only contain
letters, numbers, underscores, and hyphens.")",
+ 'KCHPOOL6005E': "$_("Invalid NFS mount path.")",
+ 'KCHPOOL6006E': "$_("No logical device selected.")",
+ 'KCHPOOL6007E': "$_("The iSCSI target can not be
blank.")",
+ 'KCHPOOL6008E': "$_("Server name can not be blank.")",
+ 'KCHPOOL6009E': "$_("This is not a valid Server Name or IP. please,
modify it.")"
};
</script>
</body>
--
1.7.10.4