diff --git a/guacamole/src/main/webapp/app/client/controllers/clientController.js b/guacamole/src/main/webapp/app/client/controllers/clientController.js index b522568b7..9827de1e6 100644 --- a/guacamole/src/main/webapp/app/client/controllers/clientController.js +++ b/guacamole/src/main/webapp/app/client/controllers/clientController.js @@ -578,7 +578,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams || connectionState === ManagedClientState.ConnectionState.WAITING) { guacNotification.showStatus({ title: "CLIENT.DIALOG_HEADER_CONNECTING", - text: "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase() + text: { + key : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase() + } }); } @@ -595,7 +597,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams notifyConnectionClosed({ className : "error", title : "CLIENT.DIALOG_HEADER_CONNECTION_ERROR", - text : "CLIENT.ERROR_CLIENT_" + errorName, + text : { + key : "CLIENT.ERROR_CLIENT_" + errorName + }, countdown : countdown, actions : actions }); @@ -615,7 +619,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams notifyConnectionClosed({ className : "error", title : "CLIENT.DIALOG_HEADER_CONNECTION_ERROR", - text : "CLIENT.ERROR_TUNNEL_" + errorName, + text : { + key : "CLIENT.ERROR_TUNNEL_" + errorName + }, countdown : countdown, actions : actions }); @@ -626,7 +632,9 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams else if (connectionState === ManagedClientState.ConnectionState.DISCONNECTED) { notifyConnectionClosed({ title : "CLIENT.DIALOG_HEADER_DISCONNECTED", - text : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase(), + text : { + key : "CLIENT.TEXT_CLIENT_STATUS_" + connectionState.toUpperCase() + }, actions : actions }); } diff --git a/guacamole/src/main/webapp/app/index/controllers/indexController.js b/guacamole/src/main/webapp/app/index/controllers/indexController.js index 25e6b6190..e17ecee1f 100644 --- a/guacamole/src/main/webapp/app/index/controllers/indexController.js +++ b/guacamole/src/main/webapp/app/index/controllers/indexController.js @@ -38,7 +38,7 @@ angular.module('index').controller('indexController', ['$scope', '$injector', * The message to display to the user as instructions for the login * process. * - * @type String + * @type TranslatableMessage */ $scope.loginHelpText = null; @@ -160,7 +160,7 @@ angular.module('index').controller('indexController', ['$scope', '$injector', $scope.$on('guacInsufficientCredentials', function loginInsufficient(event, parameters, error) { $scope.page.title = 'APP.NAME'; $scope.page.bodyClassName = ''; - $scope.loginHelpText = error.message; + $scope.loginHelpText = error.translatableMessage; $scope.acceptedCredentials = parameters; $scope.expectedCredentials = error.expected; }); diff --git a/guacamole/src/main/webapp/app/login/directives/login.js b/guacamole/src/main/webapp/app/login/directives/login.js index aa03af255..cc820b81e 100644 --- a/guacamole/src/main/webapp/app/login/directives/login.js +++ b/guacamole/src/main/webapp/app/login/directives/login.js @@ -36,7 +36,7 @@ angular.module('login').directive('guacLogin', [function guacLogin() { * An optional instructional message to display within the login * dialog. * - * @type String + * @type TranslatableMessage */ helpText : '=', @@ -72,7 +72,7 @@ angular.module('login').directive('guacLogin', [function guacLogin() { /** * A description of the error that occurred during login, if any. * - * @type String + * @type TranslatableMessage */ $scope.loginError = null; @@ -160,11 +160,13 @@ angular.module('login').directive('guacLogin', [function guacLogin() { // Flag generic error for invalid login if (error.type === Error.Type.INVALID_CREDENTIALS) - $scope.loginError = 'LOGIN.ERROR_INVALID_LOGIN'; + $scope.loginError = { + 'key' : 'LOGIN.ERROR_INVALID_LOGIN' + }; // Display error if anything else goes wrong else - $scope.loginError = error.message; + $scope.loginError = error.translatableMessage; // Clear all visible password fields angular.forEach($scope.remainingFields, function clearEnteredValueIfPassword(field) { diff --git a/guacamole/src/main/webapp/app/login/templates/login.html b/guacamole/src/main/webapp/app/login/templates/login.html index b9d9335f4..26a3f1889 100644 --- a/guacamole/src/main/webapp/app/login/templates/login.html +++ b/guacamole/src/main/webapp/app/login/templates/login.html @@ -1,7 +1,8 @@
-

{{loginError | translate}}

+

@@ -17,7 +18,8 @@
-

{{helpText | translate}}

+

diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js index a911ab2ec..868842eaf 100644 --- a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js +++ b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js @@ -380,7 +380,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -430,7 +430,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -446,7 +446,9 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i // Confirm deletion request guacNotification.showStatus({ 'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_CONFIRM_DELETE', - 'text' : 'MANAGE_CONNECTION.TEXT_CONFIRM_DELETE', + 'text' : { + key : 'MANAGE_CONNECTION.TEXT_CONFIRM_DELETE' + }, 'actions' : [ DELETE_ACTION, CANCEL_ACTION] }); diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js index 0d0af5921..e4c61156f 100644 --- a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js +++ b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js @@ -220,7 +220,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope' guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -270,7 +270,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope' guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -286,7 +286,9 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope' // Confirm deletion request guacNotification.showStatus({ 'title' : 'MANAGE_CONNECTION_GROUP.DIALOG_HEADER_CONFIRM_DELETE', - 'text' : 'MANAGE_CONNECTION_GROUP.TEXT_CONFIRM_DELETE', + 'text' : { + key : 'MANAGE_CONNECTION_GROUP.TEXT_CONFIRM_DELETE' + }, 'actions' : [ DELETE_ACTION, CANCEL_ACTION] }); diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js b/guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js index 96657d173..ca7d11e9a 100644 --- a/guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js +++ b/guacamole/src/main/webapp/app/manage/controllers/manageSharingProfileController.js @@ -341,7 +341,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope', guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -379,7 +379,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope', guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -395,7 +395,9 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope', // Confirm deletion request guacNotification.showStatus({ 'title' : 'MANAGE_SHARING_PROFILE.DIALOG_HEADER_CONFIRM_DELETE', - 'text' : 'MANAGE_SHARING_PROFILE.TEXT_CONFIRM_DELETE', + 'text' : { + 'key' : 'MANAGE_SHARING_PROFILE.TEXT_CONFIRM_DELETE' + }, 'actions' : [ DELETE_ACTION, CANCEL_ACTION] }); diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js index 7a4db92b5..5337caf01 100644 --- a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js +++ b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js @@ -1012,7 +1012,9 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR', - 'text' : 'MANAGE_USER.ERROR_PASSWORD_MISMATCH', + 'text' : { + key : 'MANAGE_USER.ERROR_PASSWORD_MISMATCH' + }, 'actions' : [ ACKNOWLEDGE_ACTION ] }); return; @@ -1055,7 +1057,8 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, + 'values' : error.translationValues, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -1067,7 +1070,7 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -1117,7 +1120,7 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto guacNotification.showStatus({ 'className' : 'error', 'title' : 'MANAGE_USER.DIALOG_HEADER_ERROR', - 'text' : error.message, + 'text' : error.translatableMessage, 'actions' : [ ACKNOWLEDGE_ACTION ] }); }); @@ -1133,7 +1136,9 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto // Confirm deletion request guacNotification.showStatus({ 'title' : 'MANAGE_USER.DIALOG_HEADER_CONFIRM_DELETE', - 'text' : 'MANAGE_USER.TEXT_CONFIRM_DELETE', + 'text' : { + key : 'MANAGE_USER.TEXT_CONFIRM_DELETE' + }, 'actions' : [ DELETE_ACTION, CANCEL_ACTION] }); diff --git a/guacamole/src/main/webapp/app/notification/services/guacNotification.js b/guacamole/src/main/webapp/app/notification/services/guacNotification.js index 8273eb772..c3d4a2bee 100644 --- a/guacamole/src/main/webapp/app/notification/services/guacNotification.js +++ b/guacamole/src/main/webapp/app/notification/services/guacNotification.js @@ -60,7 +60,9 @@ angular.module('notification').factory('guacNotification', ['$injector', * // To show a status message with actions * guacNotification.showStatus({ * 'title' : 'Disconnected', - * 'text' : 'You have been disconnected!', + * 'text' : { + * 'key' : 'NAMESPACE.SOME_TRANSLATION_KEY' + * }, * 'actions' : { * 'name' : 'reconnect', * 'callback' : function () { diff --git a/guacamole/src/main/webapp/app/notification/templates/guacNotification.html b/guacamole/src/main/webapp/app/notification/templates/guacNotification.html index db3360a59..6c1cc0086 100644 --- a/guacamole/src/main/webapp/app/notification/templates/guacNotification.html +++ b/guacamole/src/main/webapp/app/notification/templates/guacNotification.html @@ -8,7 +8,9 @@
-

{{notification.text | translate}}

+