AMBARI-14521. Ambari Admin: externalize string constants used in views (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/83ea508b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/83ea508b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/83ea508b Branch: refs/heads/trunk Commit: 83ea508b621c5f17468f3698f0960cfcdf953f0c Parents: ce4e4ea Author: Alex Antonenko <[email protected]> Authored: Wed Dec 30 15:41:15 2015 +0200 Committer: Alex Antonenko <[email protected]> Committed: Wed Dec 30 19:50:19 2015 +0200 ---------------------------------------------------------------------- .../main/resources/ui/admin-web/app/index.html | 12 +-- .../ambariViews/CreateViewInstanceCtrl.js | 3 + .../controllers/ambariViews/ViewsEditCtrl.js | 5 ++ .../controllers/ambariViews/ViewsListCtrl.js | 4 + .../clusters/ClustersManageAccessCtrl.js | 3 + .../controllers/clusters/UserAccessListCtrl.js | 3 + .../controllers/groups/GroupsEditCtrl.js | 5 ++ .../controllers/groups/GroupsListCtrl.js | 3 + .../stackVersions/StackVersionsListCtrl.js | 3 + .../scripts/controllers/users/UsersListCtrl.js | 4 + .../scripts/controllers/users/UsersShowCtrl.js | 9 ++ .../ui/admin-web/app/scripts/i18n.config.js | 21 +++-- .../admin-web/app/views/ambariViews/create.html | 56 ++++++------- .../admin-web/app/views/ambariViews/edit.html | 86 ++++++++++---------- .../app/views/ambariViews/listTable.html | 20 ++--- .../app/views/ambariViews/modals/create.html | 34 ++++---- .../app/views/ambariViews/modals/edit.html | 44 +++++----- .../app/views/clusters/manageAccess.html | 10 +-- .../app/views/clusters/userAccessList.html | 20 ++--- .../app/views/directives/editableList.html | 4 +- .../ui/admin-web/app/views/groups/create.html | 16 ++-- .../ui/admin-web/app/views/groups/edit.html | 28 +++---- .../ui/admin-web/app/views/groups/list.html | 24 +++--- .../ui/admin-web/app/views/leftNavbar.html | 26 +++--- .../resources/ui/admin-web/app/views/main.html | 38 ++++----- .../admin-web/app/views/modals/AboutModal.html | 16 ++-- .../views/modals/BodyForDeregisterVersion.html | 2 +- .../app/views/modals/TimeoutWarning.html | 4 +- .../admin-web/app/views/stackVersions/list.html | 24 +++--- .../views/stackVersions/stackVersionPage.html | 41 ++++------ .../ui/admin-web/app/views/users/create.html | 42 ++++------ .../ui/admin-web/app/views/users/list.html | 26 +++--- .../app/views/users/modals/changePassword.html | 28 +++---- .../ui/admin-web/app/views/users/show.html | 42 +++++----- 34 files changed, 365 insertions(+), 341 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/index.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/index.html b/ambari-admin/src/main/resources/ui/admin-web/app/index.html index a6eab79..7b31fff 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/index.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/index.html @@ -48,15 +48,15 @@ <header class="navbar navbar-static-top navbar-inverse"> <div class="navbar-inner"> <div class="container"> - <a href="/#/main/dashboard" class="logo"><img src="/img/logo-white.png" alt="Apache Ambari" title="Apache Ambari"></a> - <a href="/#/main/dashboard" class="brand" title="Apache Ambari">Ambari</a> + <a href="/#/main/dashboard" class="logo"><img src="/img/logo-white.png" alt="{{'common.apacheAmbari' | translate}}" title="{{'common.apacheAmbari' | translate}}"></a> + <a href="/#/main/dashboard" class="brand" title="{{'common.apacheAmbari' | translate}}">{{'common.ambari' | translate}}</a> <ul class="nav navbar-nav navbar-right"> <li> <div class="btn-group navbar-views-dropdown" dropdown is-open="viewsdropdown.isopen" ng-mouseover="viewsdropdown.isopen=true" ng-mouseout="viewsdropdown.isopen=false"> <a href="/#/main/views" ng-click="gotoViewsDashboard()" class="dropdown-toggle"><i class="fa fa-th"></i></a> <ul class="dropdown-menu" role="menu"> <li ng-repeat="instance in viewInstances"><a href="/#/main{{instance.context_path}}" ng-click="about()">{{instance.label}}</a></li> - <li ng-show="!viewInstances.length" class="disabled"><a>No Views</a></li> + <li ng-show="!viewInstances.length" class="disabled"><a>{{'common.noViews' | translate}}</a></li> </ul> </div> </li> @@ -66,14 +66,14 @@ <i class="fa fa-user"></i> {{currentUser}} <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> - <li><a href ng-click="about()">About</a></li> + <li><a href ng-click="about()">{{'common.about' | translate}}</a></li> <li class="divider"></li> - <li><a href ng-click="signOut()">Sign out</a></li> + <li><a href ng-click="signOut()">{{'common.signOut' | translate}}</a></li> </ul> </div> </li> </ul> - </div> + </div> </div> </header> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js index 2bc1872..962b795 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js @@ -21,6 +21,9 @@ angular.module('ambariAdminConsole') .controller('CreateViewInstanceCtrl',['$scope', 'View', 'Alert', 'Cluster', '$routeParams', '$location', 'UnsavedDialog', '$translate', function($scope, View, Alert, Cluster, $routeParams, $location, UnsavedDialog, $translate) { var $t = $translate.instant; $scope.form = {}; + $scope.constants = { + props: $t('views.properties') + }; var targetUrl = ''; function loadMeta(){ http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js index ae37c88..0d2bdf7 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js @@ -23,6 +23,11 @@ angular.module('ambariAdminConsole') $scope.identity = angular.identity; $scope.isConfigurationEmpty = true; $scope.isSettingsEmpty = true; + $scope.constants = { + instance: $t('views.instance'), + props: $t('views.properties'), + perms: $t('views.permissions').toLowerCase() + }; function reloadViewInfo(section){ // Load instance data, after View permissions meta loaded http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js index eadfcf7..75f6198 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js @@ -21,6 +21,10 @@ angular.module('ambariAdminConsole') .controller('ViewsListCtrl',['$scope', 'View', '$modal', 'Alert', 'ConfirmationModal', '$location', '$translate', function($scope, View, $modal, Alert, ConfirmationModal, $location, $translate) { var deferredList = [], $t = $translate.instant; + $scope.constants = { + unable: $t('views.alerts.unableToCreate'), + views: $t('common.views').toLowerCase() + }; $scope.$on('$locationChangeStart', function() { deferredList.forEach(function(def) { def.reject(); http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ClustersManageAccessCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ClustersManageAccessCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ClustersManageAccessCtrl.js index dfc509f..45130f7 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ClustersManageAccessCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ClustersManageAccessCtrl.js @@ -20,6 +20,9 @@ angular.module('ambariAdminConsole') .controller('ClustersManageAccessCtrl', ['$scope', '$location', 'Cluster', '$routeParams', 'Alert', 'PermissionLoader', 'PermissionSaver', '$translate', function($scope, $location, Cluster, $routeParams, Alert, PermissionLoader, PermissionSaver, $translate) { var $t = $translate.instant; + $scope.getConstant = function (key) { + return $t('common.' + key).toLowerCase(); + }; $scope.identity = angular.identity; function reloadClusterData(){ PermissionLoader.getClusterPermissions({ http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/UserAccessListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/UserAccessListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/UserAccessListCtrl.js index 1da4aff..eed71d5 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/UserAccessListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/UserAccessListCtrl.js @@ -21,6 +21,9 @@ angular.module('ambariAdminConsole') .controller('UserAccessListCtrl',['$scope', '$location', 'Cluster', '$modal', '$rootScope', '$routeParams', 'PermissionSaver', 'Alert', '$translate', function($scope, $location, Cluster, $modal, $rootScope, $routeParams, PermissionSaver, Alert, $translate) { var $t = $translate.instant; + $scope.constants = { + users: $t('common.users').toLowerCase() + }; $scope.users = []; $scope.usersPerPage = 10; $scope.currentPage = 1; http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js index 048c2bf..a8411dd 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js @@ -20,6 +20,11 @@ angular.module('ambariAdminConsole') .controller('GroupsEditCtrl',['$scope', 'Group', '$routeParams', 'Alert', 'ConfirmationModal', '$location', '$translate', function($scope, Group, $routeParams, Alert, ConfirmationModal, $location, $translate) { var $t = $translate.instant; + $scope.constants = { + group: $t('common.group'), + view: $t('common.view').toLowerCase(), + cluster: $t('common.cluster').toLowerCase() + }; $scope.editMode = false; $scope.group = new Group($routeParams.id); $scope.group.editingUsers = []; http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js index 330d3c2..1f86393 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsListCtrl.js @@ -20,6 +20,9 @@ angular.module('ambariAdminConsole') .controller('GroupsListCtrl',['$scope', 'Group', '$modal', 'ConfirmationModal', '$rootScope', '$translate', function($scope, Group, $modal, ConfirmationModal, $rootScope, $translate) { var $t = $translate.instant; + $scope.constants = { + groups: $t('common.groups').toLowerCase() + }; $scope.groups = []; $scope.groupsPerPage = 10; http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js index 583468c..010ec1b 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsListCtrl.js @@ -20,6 +20,9 @@ angular.module('ambariAdminConsole') .controller('StackVersionsListCtrl', ['$scope', 'Cluster', 'Stack', '$routeParams', '$translate', function ($scope, Cluster, Stack, $routeParams, $translate) { var $t = $translate.instant; + $scope.getConstant = function (key) { + return $t('common.' + key).toLowerCase(); + } $scope.clusterName = $routeParams.clusterName; $scope.filter = { version: '', http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js index dfbd008..bb8ea7c 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersListCtrl.js @@ -20,6 +20,10 @@ angular.module('ambariAdminConsole') .controller('UsersListCtrl',['$scope', 'User', '$modal', '$rootScope', 'UserConstants', '$translate', function($scope, User, $modal, $rootScope, UserConstants, $translate) { var $t = $translate.instant; + $scope.constants = { + admin: $t('users.ambariAdmin'), + users: $t('common.users').toLowerCase() + }; $scope.users = []; $scope.usersPerPage = 10; $scope.currentPage = 1; http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js index 9464225..f93a368 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js @@ -22,6 +22,15 @@ angular.module('ambariAdminConsole') var $t = $translate.instant; + $scope.constants = { + user: $t('common.user'), + status: $t('users.status'), + admin: $t('users.admin'), + password: $t('users.password'), + view: $t('common.view').toLowerCase(), + cluster: $t('common.cluster').toLowerCase() + }; + function loadUserInfo(){ User.get($routeParams.id).then(function(data) { $scope.user = User.makeUser(data).Users; http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js index cc1ca26..40baf18 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js @@ -39,6 +39,7 @@ angular.module('ambariAdminConsole') 'details': 'Details', 'goToDashboard': 'Go to Dashboard', 'noClusters': 'No Clusters', + 'noViews': 'No Views', 'view': 'View', 'displayLabel': 'Display label', 'search': 'Search', @@ -70,6 +71,7 @@ angular.module('ambariAdminConsole') 'ldap': 'LDAP', 'jwt': 'JWT', 'warning': 'Warning', + 'filterInfo': '{{showed}} of {{total}} {{term}} showing', 'clusterNameChangeConfirmation': { 'title': 'Confirm Cluster Name Change', @@ -89,8 +91,7 @@ angular.module('ambariAdminConsole') 'alerts': { 'fieldRequired': 'Field required!', 'fieldIsRequired': 'This field is required.', - 'noSpecialChars': 'Must no contain special characters!', - 'instanceExists': 'Instance with this name already exists.', + 'noSpecialChars': 'Must not contain special characters!', 'nothingToDisplay': 'No {{term}} to display.', 'noPrivileges': 'No {{term}} privileges', 'noPrivilegesDescription': 'This {{term}} does not have any privileges.', @@ -140,6 +141,7 @@ angular.module('ambariAdminConsole') }, 'views': { + 'instance': 'Instance', 'viewInstance': 'View Instance', 'create': 'Create Instance', 'createViewInstance': 'Create View Instance', @@ -168,17 +170,17 @@ angular.module('ambariAdminConsole') 'goToInstance': 'Go to instance', 'pending': 'Pending...', 'deploying': 'Deploying...', + 'properties': 'properties', 'alerts': { 'noSpecialChars': 'Must not contain any special characters.', 'noSpecialCharsOrSpaces': 'Must not contain any special characters or spaces.', - 'noProperties': 'There are no properties defined for this view.', - 'noPermissions': 'There are no permissions defined for this view.', + 'instanceExists': 'Instance with this name already exists.', + 'notDefined': 'There are no {{term}} defined for this view.', 'cannotEditInstance': 'Cannot Edit Static Instances', 'cannotDeleteStaticInstance': 'Cannot Delete Static Instances', 'deployError': 'Error deploying. Check Ambari Server log.', 'unableToCreate': 'Unable to create view instances', - 'onlySimpleChars': 'Must contain only simple characters.', 'cannotUseOption': 'This view cannot use this option', 'unableToResetErrorMessage': 'Unable to reset error message for prop: {{key}}', 'instanceCreated': 'Created View Instance {{instanceName}}', @@ -197,6 +199,7 @@ angular.module('ambariAdminConsole') 'switchToList': 'Switch to list view', 'switchToBlock': 'Switch to block view', 'role': 'Role', + 'assignRoles': 'Assign roles to these {{term}}', 'alerts': { 'cannotLoadClusterData': 'Cannot load cluster data' @@ -207,8 +210,10 @@ angular.module('ambariAdminConsole') 'createLocal': 'Create Local Group', 'name': 'Group name', 'members': 'Members', + 'membersPlural': '{{n}} member{{n == 1 ? "" : "s"}}', 'alerts': { + 'onlySimpleChars': 'Must contain only simple characters.', 'groupCreated': 'Created group <a href="#/groups/{{groupName}}/edit">{{groupName}}</a>', 'groupCreationError': 'Group creation error', 'cannotUpdateGroupMembers': 'Cannot update group members', @@ -219,6 +224,7 @@ angular.module('ambariAdminConsole') 'users': { 'username': 'Username', 'userName': 'User name', + 'admin': 'Admin', 'ambariAdmin': 'Ambari Admin', 'changePassword': 'Change Password', 'changePasswordFor': 'Change Password for {{userName}}', @@ -232,6 +238,9 @@ angular.module('ambariAdminConsole') 'password': 'Password', 'passwordConfirmation': 'Password Ñonfirmation', 'userIsAdmin': 'This user is an Ambari Admin and has all privileges.', + 'showAll': 'Show all users', + 'showAdmin': 'Show only admin users', + 'groupMembership': 'Group Membership', 'changeStatusConfirmation': { 'title': 'Change Status', @@ -255,7 +264,7 @@ angular.module('ambariAdminConsole') 'passwordRequired': 'Password required!', 'wrongPassword': 'Password must match!', 'cannotChange': 'Cannot Change {{term}}', - 'userCreated': 'Created user <a href="#/users/{{encUserName}}/edit">{{userName}}</a>', + 'userCreated': 'Created user <a href="#/users/{{encUserName}}">{{userName}}</a>', 'userCreationError': 'User creation error', 'removeUserError': 'Removing from group error', 'cannotAddUser': 'Cannot add user to group', http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html index dcc77ef..b9bd609 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html @@ -16,20 +16,20 @@ * limitations under the License. --> <ol class="breadcrumb"> - <li><a href="#/views">Views</a></li> - <li class="active">Create Instance</li> + <li><a href="#/views">{{'common.views' | translate}}</a></li> + <li class="active">{{'views.create' | translate}}</li> </ol> <hr> <form class="form-horizontal create-view-form" role="form" name="form.instanceCreateForm" novalidate> <div class="view-header"> <div class="form-group"> <div class="col-sm-2"> - <label for="" class="control-label">View</label> + <label for="" class="control-label">{{'common.view' | translate}}</label> </div> <div class="col-sm-10"><label for="" class="control-label">{{view.ViewVersionInfo.view_name}}</label></div> </div> <div class="form-group"> - <div class="col-sm-2"><label for="" class="control-label">Version</label></div> + <div class="col-sm-2"><label for="" class="control-label">{{'common.version' | translate}}</label></div> <div class="col-sm-3"> <select ng-model="version" class="instanceversion-input form-control" ng-change="versionChanged()" ng-options="o as o for o in versions"></select> </div> @@ -38,47 +38,41 @@ <div class="panel panel-default"> <div class="panel-heading"> - <h3 class="panel-title">Details</h3> + <h3 class="panel-title">{{'common.details' | translate}}</h3> </div> <div class="panel-body"> <div class="form-group" ng-class="{'has-error' : ( (form.instanceCreateForm.instanceNameInput.$error.required || form.instanceCreateForm.instanceNameInput.$error.pattern) && form.instanceCreateForm.submitted) || instanceExists }" > - <label for="" class="control-label col-sm-3">Instance Name*</label> + <label for="" class="control-label col-sm-3">{{'views.instanceName' | translate}}*</label> <div class="col-sm-9"> <input type="text" class="form-control instancename-input" name="instanceNameInput" ng-pattern="nameValidationPattern" required ng-model="instance.instance_name" autocomplete="off"> - <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.required && form.instanceCreateForm.submitted'> - This field is required. - </div> - <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.pattern && form.instanceCreateForm.submitted'> - Must not contain any special characters or spaces. - </div> - <div class="alert alert-danger no-margin-bottom top-margin" ng-show='instanceExists'> - Instance with this name already exists. - </div> + <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.required && form.instanceCreateForm.submitted'>{{'common.alerts.fieldIsRequired' | translate}}</div> + <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.pattern && form.instanceCreateForm.submitted'>{{'views.alerts.noSpecialCharsOrSpaces' | translate}}</div> + <div class="alert alert-danger no-margin-bottom top-margin" ng-show='instanceExists'>{{'views.alerts.instanceExists' | translate}}</div> </div> </div> <div class="form-group" ng-class="{'has-error' : ( (form.instanceCreateForm.displayLabel.$error.required || form.instanceCreateForm.displayLabel.$error.pattern) && form.instanceCreateForm.submitted)}"> - <label for="" class="control-label col-sm-3">Display Name*</label> + <label for="" class="control-label col-sm-3">{{'views.displayName' | translate}}*</label> <div class="col-sm-9"> <input type="text" class="form-control instancelabel-input" name="displayLabel" ng-model="instance.label" required ng-pattern="/^([a-zA-Z0-9._\s]+)$/" autocomplete="off"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.displayLabel.$error.required && form.instanceCreateForm.submitted'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.displayLabel.$error.pattern && form.instanceCreateForm.submitted'> - Must not contain any special characters. + {{'views.alerts.noSpecialChars' | translate}} </div> </div> </div> <div class="form-group" ng-class="{'has-error' : form.instanceCreateForm.description.$error.required && form.instanceCreateForm.submitted }"> - <label for="" class="control-label col-sm-3">Description*</label> + <label for="" class="control-label col-sm-3">{{'views.description' | translate}}*</label> <div class="col-sm-9"> <input type="text" class="form-control" name="description" ng-model="instance.description" maxlength="140" required> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.description.$error.required && form.instanceCreateForm.submitted'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> </div> </div> @@ -86,7 +80,7 @@ <div class="col-sm-10 col-sm-offset-3"> <div class="checkbox"> <label> - <input type="checkbox" ng-model='instance.visible' class="visibilityCheckbox"> Visible + <input type="checkbox" ng-model='instance.visible' class="visibilityCheckbox"> {{'views.visible' | translate}} </label> </div> </div> @@ -96,7 +90,7 @@ <div class="panel panel-default" ng-hide="!numberOfSettingConfigs"> <div class="panel-heading"> - <h3 class="panel-title">Settings</h3> + <h3 class="panel-title">{{'views.settings' | translate}}</h3> </div> <div class="panel-body"> <div class="form-group" ng-repeat="parameter in instance.properties | filter:{clusterConfig:false}" @@ -109,7 +103,7 @@ <div class="col-sm-9" ng-switch-default> <input type="{{parameter.masked ? 'password' : 'text'}}" class="form-control viewproperty-input" name="{{parameter.name}}" ng-change="form.instanceCreateForm[parameter.name].validationError=''" ng-required="parameter.required" ng-model="parameter.value" autocomplete="off" popover="{{parameter.description}}" popover-title="{{parameter.name}}" popover-trigger="mouseenter" placeholder="{{parameter.placeholder}}"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].$error.required && form.instanceCreateForm.submitted'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].validationError'> {{form.instanceCreateForm[parameter.name].validationMessage}} @@ -122,20 +116,20 @@ <div class="panel panel-default" ng-hide="!numberOfClusterConfigs"> <div class="panel-heading"> - <h3 class="panel-title">Cluster Configuration</h3> + <h3 class="panel-title">{{'views.clusterConfiguration' | translate}}</h3> </div> <div class="panel-body property-form" popover="{{clusterConfigurableErrorMsg}}" popover-trigger="mouseenter"> <div class="checkbox create-checkbox-cluster"> <label> - <input type="radio" ng-disabled="!clusterConfigurable || noClusterAvailible" ng-model="instance.isLocalCluster" ng-change="enableLocalCluster()" ng-value="true" class="visibilityCheckbox"> Local Ambari Managed Cluster + <input type="radio" ng-disabled="!clusterConfigurable || noClusterAvailible" ng-model="instance.isLocalCluster" ng-change="enableLocalCluster()" ng-value="true" class="visibilityCheckbox"> {{'views.localCluster' | translate}} </label> </div> <div class="form-horizontal property-form"> <div class="form-group"> - <label for="" class="control-label col-sm-3 ng-binding not-required" >Cluster Name</label> + <label for="" class="control-label col-sm-3 ng-binding not-required" >{{'views.clusterName' | translate}}</label> <div> <div class="col-sm-9"> <select ng-model="cluster" ng-disabled="!instance.isLocalCluster" ng-change="onClusterChange()" class="clusters-name-dropdown form-control" ng-options="o as o for o in clusters"></select> @@ -148,7 +142,7 @@ <div class="panel-body property-form"> <div class="checkbox"> <label> - <input type="radio" ng-model="instance.isLocalCluster" ng-value="false" class="visibilityCheckbox"> Custom + <input type="radio" ng-model="instance.isLocalCluster" ng-value="false" class="visibilityCheckbox"> {{'views.custom' | translate}} </label> </div> <div class="alert alert-danger bottom-margin top-margin" ng-show='form.instanceCreateForm.generalValidationError'> @@ -164,7 +158,7 @@ <div class="col-sm-9" ng-switch-default> <input type="{{parameter.masked ? 'password' : 'text'}}" class="form-control viewproperty-input" name="{{parameter.name}}" ng-disabled="instance.isLocalCluster" ng-change="form.instanceCreateForm[parameter.name].validationError=''" ng-required="parameter.required && !instance.isLocalCluster" ng-model="parameter.value" autocomplete="off" popover="{{parameter.description}}" popover-title="{{parameter.name}}" popover-trigger="mouseenter" placeholder="{{parameter.placeholder}}"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].$error.required && form.instanceCreateForm.submitted && !instance.isLocalCluster'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].validationError'> {{form.instanceCreateForm[parameter.name].validationMessage}} @@ -173,15 +167,15 @@ </div> </div> <div ng-show="!instance.properties.length"> - <div class="alert alert-info">There are no properties defined for this view.</div> + <div class="alert alert-info">{{'views.alerts.notDefined' | translate: '{term: constants.props}'}}</div> </div> </div> </div> <div class="col-sm-12 "> <button class="btn btn-primary pull-right left-margin save-button" - ng-class="{'disabled' : (form.instanceCreateForm.isSaving)}" ng-click="save()" type="submit">Save</button> - <a href ng-click="cancel()" class="btn btn-default pull-right cancel-button">Cancel</a> + ng-class="{'disabled' : (form.instanceCreateForm.isSaving)}" ng-click="save()" type="submit">{{'common.controls.save' | translate}}</button> + <a href ng-click="cancel()" class="btn btn-default pull-right cancel-button">{{'common.controls.cancel' | translate}}</a> </div> </form> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html index ac058c0..85e4e44 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html @@ -17,12 +17,12 @@ --> <div class="clearfix"> <ol class="breadcrumb pull-left"> - <li><a href="#/views">Views</a></li> - <li class="active">{{instance.ViewInstanceInfo.label}} <a class="gotoinstance" ng-show="instance.ViewInstanceInfo.visible" href="/#/main{{instance.ViewInstanceInfo.context_path}}">Go to instance</a></li> + <li><a href="#/views">{{'common.views' | translate}}</a></li> + <li class="active">{{instance.ViewInstanceInfo.label}} <a class="gotoinstance" ng-show="instance.ViewInstanceInfo.visible" href="/#/main{{instance.ViewInstanceInfo.context_path}}">{{'views.goToInstance' | translate}}</a></li> </ol> <div class="pull-right top-margin-4" ng-switch="instance.ViewInstanceInfo.static"> - <button ng-switch-when="true" class="btn disabled btn-default btn-delete-instance" tooltip="Cannot Delete Static Instances">Delete Instance</button> - <button ng-switch-when="false" class="btn btn-danger" ng-click="deleteInstance(instance)">Delete Instance</button> + <button ng-switch-when="true" class="btn disabled btn-default btn-delete-instance" tooltip="{{'views.alerts.cannotDeleteStaticInstance' | translate}}">{{'common.delete' | translate: '{term: instanceType}'}}</button> + <button ng-switch-when="false" class="btn btn-danger" ng-click="deleteInstance(instance)">{{'common.delete' | translate: '{term: constants.instance}'}}</button> </div> </div> <hr> @@ -30,50 +30,50 @@ <div class="view-header"> <div class="form-group"> <div class="col-sm-2"> - <label for="" class="control-label">View</label> + <label for="" class="control-label">{{'common.view' | translate}}</label> </div> <div class="col-sm-10"><label for="" class="control-label">{{instance.ViewInstanceInfo.view_name}}</label></div> </div> <div class="form-group"> - <div class="col-sm-2"><label for="" class="control-label">Version</label></div> + <div class="col-sm-2"><label for="" class="control-label">{{'common.version' | translate}}</label></div> <div class="col-sm-3"> - <input disabled="disabled" type="text" class="form-control instancename-input" placeholder="Version" value="{{instance.ViewInstanceInfo.version}}"></div> + <input disabled="disabled" type="text" class="form-control instancename-input" placeholder="{{'common.version' | translate}}" value="{{instance.ViewInstanceInfo.version}}"></div> </div> </div> </div> <div class="panel panel-default" ng-cloak ng-show="instance"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Details</h3> + <h3 class="panel-title pull-left">{{'common.details' | translate}}</h3> <div class="pull-right" ng-switch="instance.ViewInstanceInfo.static"> - <a href ng-switch-when="false" ng-click="toggleDetailsSettingsEdit()" ng-show="editDetailsSettingsDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a> - <a href ng-switch-when="true" class="settings-edit-toggle disabled" tooltip="Cannot Edit Static Instances"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a> + <a href ng-switch-when="false" ng-click="toggleDetailsSettingsEdit()" ng-show="editDetailsSettingsDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> {{'views.edit' | translate}}</a> + <a href ng-switch-when="true" class="settings-edit-toggle disabled" tooltip="{{'views.cannotEditInstance' | translate}}"> <span class="glyphicon glyphicon-pencil" ></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body"> <form class="form-horizontal" name="detailsForm" novalidate> <fieldset ng-disabled="editDetailsSettingsDisabled"> <div class="form-group"> - <label for="" class="col-sm-3 control-label">Instance Name</label> - <div class="col-sm-9"><input disabled="disabled" type="text" class="form-control instancename-input" placeholder="Display Name" value="{{instance.ViewInstanceInfo.instance_name}}"></div> + <label for="" class="col-sm-3 control-label">{{'views.instanceName' | translate}}</label> + <div class="col-sm-9"><input disabled="disabled" type="text" class="form-control instancename-input" placeholder="{{'views.displayName' | translate}}" value="{{instance.ViewInstanceInfo.instance_name}}"></div> </div> <div class="form-group" ng-class="{'has-error' : (detailsForm.displayName.$error.required || detailsForm.displayName.$error.pattern) && !editDetailsSettingsDisabled}"> - <label for="" class="col-sm-3 control-label">Display Name</label> + <label for="" class="col-sm-3 control-label">{{'views.displayName' | translate}}</label> <div class="col-sm-9"> - <input type="text" class="form-control instancename-input" placeholder="Display Name" name="displayName" required ng-model="settings.label" ng-pattern="/^([a-zA-Z0-9._\s]+)$/"> + <input type="text" class="form-control instancename-input" placeholder="{{'views.displayName' | translate}}" name="displayName" required ng-model="settings.label" ng-pattern="/^([a-zA-Z0-9._\s]+)$/"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='detailsForm.displayName.$error.required && !editDetailsSettingsDisabled'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='detailsForm.displayName.$error.pattern && !editDetailsSettingsDisabled'> - Must not contain any special characters. + {{'views.alerts.noSpecialChars' | translate}} </div> </div> </div> <div class="form-group" ng-class="{'has-error' : detailsForm.description.$error.required && !editDetailsSettingsDisabled}"> - <label for="" class="control-label col-sm-3">Description</label> + <label for="" class="control-label col-sm-3">{{'views.description' | translate}}</label> <div class="col-sm-9"> - <input type="text" class="form-control" ng-model="settings.description" name="description" placeholder="Instance Description" required> + <input type="text" class="form-control" ng-model="settings.description" name="description" placeholder="{{'views.instanceDescription' | translate}}" required> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='detailsForm.description.$error.required && !editDetailsSettingsDisabled'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> </div> </div> @@ -81,15 +81,15 @@ <div class="col-sm-offset-3 col-sm-10"> <div class="checkbox"> <label> - <input type="checkbox" ng-model="settings.visible" ng-class="instancevisibility-input"> Visible + <input type="checkbox" ng-model="settings.visible" ng-class="instancevisibility-input"> {{'views.visible' | translate}} </label> </div> </div> </div> <div class="form-group" ng-hide="editDetailsSettingsDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-primary pull-right left-margin settingssave-btn" ng-click="saveDetails()">Save</button> - <button class="btn btn-default pull-right settingscancel-btn" ng-click="cancelDetails()">Cancel</button> + <button class="btn btn-primary pull-right left-margin settingssave-btn" ng-click="saveDetails()">{{'common.controls.save' | translate}}</button> + <button class="btn btn-default pull-right settingscancel-btn" ng-click="cancelDetails()">{{'common.controls.cancel' | translate}}</button> </div> </div> </fieldset> @@ -99,7 +99,7 @@ <div class="panel panel-default views-permissions-panel" style=""> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Permissions</h3> + <h3 class="panel-title pull-left">{{'views.permissions' | translate}}</h3> </div> <div class="panel-body"> @@ -107,9 +107,9 @@ <table class="table" ng-show="!isPermissionsEmpty"> <thead> <tr> - <th class="col-sm-2"><label>Permission</label></th> - <th><label>Grant permission to these users</label></th> - <th><label>Grant permission to these groups</label></th> + <th class="col-sm-2"><label>{{'views.permission' | translate}}</label></th> + <th><label>{{'views.grantUsers' | translate}}</label></th> + <th><label>{{'views.grantGroups' | translate}}</label></th> </tr> </thead> <tbody> @@ -127,17 +127,17 @@ </tbody> </table> <div ng-show="isPermissionsEmpty"> - <div class="alert alert-info">There are no permissions defined for this view.</div> + <div class="alert alert-info">{{'views.alerts.notDefined' | translate: '{term: constants.perms}'}}</div> </div> </div> </div> <div class="panel panel-default" ng-cloak ng-hide="isSettingsEmpty && instance"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Settings</h3> + <h3 class="panel-title pull-left">{{'views.settings' | translate}}</h3> <div class="pull-right" ng-switch="instance.ViewInstanceInfo.static"> - <a href ng-switch-when="false" ng-click="toggleSettingsEdit()" ng-show="editSettingsDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a> - <a href ng-switch-when="true" class="settings-edit-toggle disabled" tooltip="Cannot Edit Static Instances"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a> + <a href ng-switch-when="false" ng-click="toggleSettingsEdit()" ng-show="editSettingsDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> {{'views.edit' | translate}}</a> + <a href ng-switch-when="true" class="settings-edit-toggle disabled" tooltip="{{'views.cannotEditInstance' | translate}}"> <span class="glyphicon glyphicon-pencil" ></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body"> @@ -152,7 +152,7 @@ <div class="col-sm-9" ng-switch-default> <input type="{{property.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-required="property.required" ng-change="settingsForm[property.name].validationError=''" ng-disabled="editSettingsDisabled" name="{{property.name}}" ng-model="configuration[property.name]" popover="{{property.description}}" popover-title="{{property.name}}" popover-trigger="mouseenter" placeholder="{{property.placeholder}}"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && settingsForm[property.name].$error.required && !editSettingsDisabled'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && settingsForm[property.name].validationError && !editSettingsDisabled'> {{propertiesForm[property.name].validationMessage}} @@ -162,8 +162,8 @@ </div> <div class="form-group" ng-hide="editSettingsDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-primary pull-right left-margin settingssave-btn" ng-click="saveSettings()">Save</button> - <button class="btn btn-default pull-right settingscancel-btn" ng-click="cancelSettings()">Cancel</button> + <button class="btn btn-primary pull-right left-margin settingssave-btn" ng-click="saveSettings()">{{'common.controls.save' | translate}}</button> + <button class="btn btn-default pull-right settingscancel-btn" ng-click="cancelSettings()">{{'common.controls.cancel' | translate}}</button> </div> </div> </fieldset> @@ -173,21 +173,21 @@ <div class="panel panel-default" ng-hide="isConfigurationEmpty"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Cluster Configuration</h3> + <h3 class="panel-title pull-left">{{'views.clusterConfiguration' | translate}}</h3> <div class="pull-right" ng-switch="instance.ViewInstanceInfo.static"> - <a href ng-switch-when="false" ng-hide="isConfigurationEmpty" ng-click="togglePropertiesEditing()" ng-show="editConfigurationDisabled" class="properties-toggle"> <span class="glyphicon glyphicon-pencil"></span> Edit</a> - <a href ng-switch-when="true" ng-hide="isConfigurationEmpty" class="properties-toggle disabled"> <span class="glyphicon glyphicon-pencil"></span> Edit</a> + <a href ng-switch-when="false" ng-hide="isConfigurationEmpty" ng-click="togglePropertiesEditing()" ng-show="editConfigurationDisabled" class="properties-toggle"> <span class="glyphicon glyphicon-pencil"></span> {{'views.edit' | translate}}</a> + <a href ng-switch-when="true" ng-hide="isConfigurationEmpty" class="properties-toggle disabled"> <span class="glyphicon glyphicon-pencil"></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body property-form" popover="{{clusterConfigurableErrorMsg}}" popover-trigger="mouseenter"> <div class="checkbox"> <label> - <input type="radio" ng-model="$parent.isLocalCluster" ng-change="enableLocalCluster()" ng-disabled="!clusterConfigurable || editConfigurationDisabled || noClusterAvailible" ng-value="true" class="visibilityCheckbox"> Local Ambari Managed Cluster + <input type="radio" ng-model="$parent.isLocalCluster" ng-change="enableLocalCluster()" ng-disabled="!clusterConfigurable || editConfigurationDisabled || noClusterAvailible" ng-value="true" class="visibilityCheckbox"> {{'views.localCluster' | translate}} </label> </div> <div class="form-horizontal property-form"> <div class="form-group"> - <label for="" class="control-label col-sm-3 ng-binding not-required" >Cluster Name</label> + <label for="" class="control-label col-sm-3 ng-binding not-required" >{{'views.clusterName' | translate}}</label> <div> <div class="col-sm-9"> <select ng-model="cluster" ng-disabled="!$parent.isLocalCluster || editConfigurationDisabled" ng-change="onClusterChange()" class="clusters-name-dropdown form-control" ng-options="o as o for o in clusters"></select> @@ -204,7 +204,7 @@ ng-value="false" ng-change="disableLocalCluster()" class="visibilityCheckbox"> - Custom + {{'views.custom' | translate}} </label> </div> </div> @@ -220,7 +220,7 @@ <div class="col-sm-9" ng-switch-default> <input type="{{property.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-required="property.required && !isLocalCluster" ng-change="propertiesForm[property.name].validationError=''" ng-disabled="isLocalCluster || editConfigurationDisabled" name="{{property.name}}" ng-model="configuration[property.name]" popover="{{property.description}}" popover-title="{{property.name}}" popover-trigger="mouseenter" placeholder="{{property.placeholder}}"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && propertiesForm[property.name].$error.required && !editConfigurationDisabled && !isLocalCluster'> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && propertiesForm[property.name].validationError && !editConfigurationDisabled && !isLocalCluster'> {{propertiesForm[property.name].validationMessage}} @@ -230,14 +230,14 @@ </div> <div class="form-group" ng-hide="editConfigurationDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-primary pull-right left-margin propertie-save" ng-click="saveConfiguration()">Save</button> - <button class="btn btn-default pull-right propertie-cancel" ng-click="cancelConfiguration()">Cancel</button> + <button class="btn btn-primary pull-right left-margin propertie-save" ng-click="saveConfiguration()">{{'common.controls.save' | translate}}</button> + <button class="btn btn-default pull-right propertie-cancel" ng-click="cancelConfiguration()">{{'common.controls.cancel' | translate}}</button> </div> </div> </fieldset> </form> <div ng-show="isConfigurationEmpty"> - <div class="alert alert-info">There are no properties defined for this view.</div> + <div class="alert alert-info">{{'views.alerts.notDefined' | translate: '{term: constants.props}'}}</div> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/listTable.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/listTable.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/listTable.html index d922f13..4b87070 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/listTable.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/listTable.html @@ -19,12 +19,12 @@ <div class="views-list-table"> <div class="clearfix"> <ol class="breadcrumb pull-left"> - <li class="active">Views</li> + <li class="active">{{'common.views' | translate}}</li> </ol> <div class="pull-right col-sm-4"> <div class="input-group search-container"> - <input type="text" class="form-control search-input" placeholder="Search" ng-model="viewsFilter" ng-change="getFilteredViews()"> - <button type="button" class="close clear-search" ng-show="viewsFilter" ng-click="viewsFilter=''; getFilteredViews()"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> + <input type="text" class="form-control search-input" placeholder="{{'common.search' | translate}}" ng-model="viewsFilter" ng-change="getFilteredViews()"> + <button type="button" class="close clear-search" ng-show="viewsFilter" ng-click="viewsFilter=''; getFilteredViews()"><span aria-hidden="true">×</span><span class="sr-only">{{"common.controls.close" | translate}}</span></button> <span class="input-group-addon"> <span class="glyphicon glyphicon-search"></span> </span> @@ -33,8 +33,8 @@ </div> <hr> <div class="row"> - <div class="col-sm-3 padding-left-30"><h4>View Name</h4></div> - <div class="col-sm-3"><h4>Instances</h4></div> + <div class="col-sm-3 padding-left-30"><h4>{{'views.viewName' | translate}}</h4></div> + <div class="col-sm-3"><h4>{{'views.instances' | translate}}</h4></div> <div class="col-sm-6"><h4></h4></div> </div> <accordion close-others="false"> @@ -49,14 +49,14 @@ <span ng-repeat="(version, vData) in view.versions"> {{version}} <span ng-switch="vData.status"> - <span ng-switch-when="PENDING" class="viewstatus pending" ng-switch-when="true" tooltip="Pending..."></span> - <div class="viewstatus deploying" ng-switch-when="DEPLOYING" tooltip="Deploying..."> + <span ng-switch-when="PENDING" class="viewstatus pending" ng-switch-when="true" tooltip="{{'views.pending' | translate}}"></span> + <div class="viewstatus deploying" ng-switch-when="DEPLOYING" tooltip="{{'views.deploying' | translate}}"> <div class="rect1"></div> <div class="rect2"></div> <div class="rect3"></div> </div> <span ng-switch-when="DEPLOYED">({{vData.count}})</span> - <span ng-switch-when="ERROR" tooltip="Error deploying. Check Ambari Server log."><i class="fa fa-exclamation-triangle"></i></span> + <span ng-switch-when="ERROR" tooltip="{{'views.alerts.deployError' | translate}}"><i class="fa fa-exclamation-triangle"></i></span> </span> {{$last ? '' : ', '}} </span> @@ -80,7 +80,7 @@ <tr> <td class="col-sm-3"></td> <td class="col-sm-3"> - <a tooltip="{{view.canCreateInstance ? '' : 'Unable to create view instances'}}" class="btn btn-default createisntance-btn {{view.canCreateInstance ? '' : 'disabled'}}" href ng-click="gotoCreate(view.view_name, view.canCreateInstance);"><span class="glyphicon glyphicon-plus"></span> Create Instance</a> + <a tooltip="{{view.canCreateInstance ? '' : constants.unable}}" class="btn btn-default createisntance-btn {{view.canCreateInstance ? '' : 'disabled'}}" href ng-click="gotoCreate(view.view_name, view.canCreateInstance);"><span class="glyphicon glyphicon-plus"></span> {{'views.create' | translate}}</a> </td> <td class="col-sm-3"></td> <td class="col-sm-3"> @@ -90,7 +90,7 @@ </table> </accordion-group> <div class="alert alert-info" ng-show="views && !filteredViews.length"> - No views to display. + {{'common.alerts.nothingToDisplay' | translate: '{term: constants.views}'}} </div> </accordion> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/create.html index cd4e958..e13f84c 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/create.html @@ -17,7 +17,7 @@ --> <form class="form-horizontal" role="form" name="form.instanceCreateForm" novalidate> <div class="modal-header"> - <h3 class="modal-title">Create View Instance</h3> + <h3 class="modal-title">{{'views.createViewInstance' | translate}}</h3> </div> <div class="modal-body createViewModal"> <div class="view-header"> @@ -31,45 +31,45 @@ <div class="panel panel-default"> <div class="panel-heading"> - <h3 class="panel-title">Details</h3> + <h3 class="panel-title">{{'common.details' | translate}}</h3> </div> <div class="panel-body"> <div class="form-group" ng-class="{'has-error' : ( (form.instanceCreateForm.instanceNameInput.$error.required || form.instanceCreateForm.instanceNameInput.$error.pattern) && form.instanceCreateForm.submitted) || instanceExists }" > - <label for="" class="control-labe col-sm-2">Instance name</label> + <label for="" class="control-labe col-sm-2">{{'views.instanceName' | translate}}</label> <div class="col-sm-10"> <input type="text" class="form-control" name="instanceNameInput" ng-pattern="nameValidationPattern" required ng-model="instance.instance_name"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.required && form.instanceCreateForm.submitted'> - Field requried! + {{'common.alerts.fieldRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.instanceNameInput.$error.pattern && form.instanceCreateForm.submitted'> - Must no contain special characters! + {{'common.alerts.noSpecialChars' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='instanceExists'> - Instance with this name already exists. + {{'common.alerts.instanceExists' | translate}} </div> </div> </div> <div class="form-group" ng-class="{'has-error' : ( (form.instanceCreateForm.displayLabel.$error.required || form.instanceCreateForm.displayLabel.$error.pattern) && form.instanceCreateForm.submitted)}"> - <label for="" class="control-labe col-sm-2">Display label</label> + <label for="" class="control-labe col-sm-2">{{'common.displayLabel' | translate}}</label> <div class="col-sm-10"> <input type="text" class="form-control" name="displayLabel" ng-model="instance.label" required ng-pattern="nameValidationPattern"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.displayLabel.$error.required && form.instanceCreateForm.submitted'> - Field requried! + {{'common.alerts.fieldRequired' | translate}} </div> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm.displayLabel.$error.pattern && form.instanceCreateForm.submitted'> - Must no contain special characters! + {{'common.alerts.noSpecialChars' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> - <button class="btn btn-default" ng-click="isAdvancedClosed = !isAdvancedClosed">Advanced</button> + <button class="btn btn-default" ng-click="isAdvancedClosed = !isAdvancedClosed">{{'views.advanced' | translate}}</button> </div> </div> <div collapse="isAdvancedClosed"> @@ -77,14 +77,14 @@ <div class="col-sm-10 col-sm-offset-2"> <div class="checkbox"> <label> - <input type="checkbox" ng-model='instance.visible'> Visible + <input type="checkbox" ng-model='instance.visible'> {{'views.visible' | translate}} </label> </div> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> - <label for="" class="control-label col-sm-2">Icon</label> + <label for="" class="control-label col-sm-2">{{'views.icon' | translate}}</label> <div class="col-sm-10"> <input type="text" class="form-control" name="iconUrl" ng-model="instance.icon_path"> </div> @@ -92,7 +92,7 @@ </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> - <label for="" class="control-label col-sm-2">Icon64</label> + <label for="" class="control-label col-sm-2">{{'views.icon64' | translate}}</label> <div class="col-sm-10"> <input type="text" class="form-control" name="icon64Url" ng-model="instance.icon64_path"> </div> @@ -103,7 +103,7 @@ <div class="panel panel-default"> <div class="panel-heading"> - <h3 class="panel-title">Configuration</h3> + <h3 class="panel-title">{{'views.configuration' | translate}}</h3> </div> <div class="panel-body"> <div class="form-group" ng-repeat="parameter in instance.properties" @@ -112,7 +112,7 @@ <div class="col-sm-9"> <input type="text" class="form-control" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value"> <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].$error.required && form.instanceCreateForm.submitted'> - Field requried! + {{'common.alerts.fieldRequired' | translate}} </div> </div> </div> @@ -121,7 +121,7 @@ </div> <div class="modal-footer"> - <button class="btn btn-default" ng-click="cancel()">Cancel</button> - <button class="btn btn-primary" ng-click="save()" type="submit">Save</button> + <button class="btn btn-default" ng-click="cancel()">{{'common.controls.cancel' | translate}}</button> + <button class="btn btn-primary" ng-click="save()" type="submit">{{'common.controls.save' | translate}}</button> </div> </form> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/edit.html index 8516bad..aab526e 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/modals/edit.html @@ -17,40 +17,40 @@ --> <div class="modal-header"> - <h3 class="modal-title">Edit {{instance.ViewInstanceInfo.view_name}}: {{instance.ViewInstanceInfo.label}}</h3> + <h3 class="modal-title">{{'views.edit' | translate}} {{instance.ViewInstanceInfo.view_name}}: {{instance.ViewInstanceInfo.label}}</h3> </div> <div class="modal-body"> <div class="panel panel-default"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Settings</h3> + <h3 class="panel-title pull-left">{{'views.settings' | translate}}</h3> <div class="pull-right"> - <a href ng-click="edit.editSettingsDisabled = !edit.editSettingsDisabled" ng-show="edit.editSettingsDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> + <a href ng-click="edit.editSettingsDisabled = !edit.editSettingsDisabled" ng-show="edit.editSettingsDisabled"> <span class="glyphicon glyphicon-cog"></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body"> <form class="form-horizontal"> <fieldset ng-disabled="edit.editSettingsDisabled"> <div class="form-group"> - <label for="" class="col-sm-2 control-label">Instance ID</label> + <label for="" class="col-sm-2 control-label">{{'views.instanceId' | translate}}</label> <label for="" class="col-sm-10 control-label text-left">{{instance.ViewInstanceInfo.instance_name}}</label> </div> <div class="form-group"> - <label for="" class="col-sm-2 control-label">Display Name</label> - <div class="col-sm-10"><input type="text" class="form-control" placeholder="Display Name" ng-model="settings.label"></div> + <label for="" class="col-sm-2 control-label">{{'views.displayName' | translate}}</label> + <div class="col-sm-10"><input type="text" class="form-control" placeholder="{{'views.displayName' | translate}}" ng-model="settings.label"></div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <div class="checkbox"> <label> - <input type="checkbox" ng-model="settings.visible"> Visible + <input type="checkbox" ng-model="settings.visible"> {{'views.visible' | translate}} </label> </div> </div> </div> <div class="form-group" ng-hide="edit.editSettingsDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-default pull-right left-margin" ng-click="cancelSettings()">Cancel</button> - <button class="btn btn-primary pull-right" ng-click="saveSettings()">Save</button> + <button class="btn btn-default pull-right left-margin" ng-click="cancelSettings()">{{'common.controls.cancel' | translate}}</button> + <button class="btn btn-primary pull-right" ng-click="saveSettings()">{{'common.controls.save' | translate}}</button> </div> </div> </fieldset> @@ -60,17 +60,17 @@ <div class="panel panel-default views-permissions-panel" style=""> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Permissions</h3> + <h3 class="panel-title pull-left">{{'views.permissions' | translate}}</h3> <div class="pull-right"> - <a href ng-click="edit.editPermissionDisabled = !edit.editPermissionDisabled" ng-show="edit.editPermissionDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> + <a href ng-click="edit.editPermissionDisabled = !edit.editPermissionDisabled" ng-show="edit.editPermissionDisabled"> <span class="glyphicon glyphicon-cog"></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body"> <form class="form-horizontal"> <div class="form-group"> <div class="col-sm-2"></div> - <label class="col-sm-5 control-label text-left">Users</label> - <label class="col-sm-5 control-label text-left">Groups</label> + <label class="col-sm-5 control-label text-left">{{'common.users' | translate}}</label> + <label class="col-sm-5 control-label text-left">{{'common.groups' | translate}}</label> </div> <div class="form-group" ng-repeat="permission in permissions"> <label class="col-sm-2 control-label">{{permission.PermissionInfo.permission_name}}</label> @@ -80,7 +80,7 @@ <span ng-repeat="user in permission.USER"> <link-to route="users.show" id="{{user}}">{{user}}</link-to> <button type="button" class="close remove-button" - ng-click="removePermission(permission.name, 'USER', user)"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> + ng-click="removePermission(permission.name, 'USER', user)"><span aria-hidden="true">×</span><span class="sr-only">{{'common.controls.close' | translate}}</span></button> {{$last ? '' :', '}} </span> </div> @@ -91,7 +91,7 @@ <span ng-repeat="group in permission.GROUP"> <link-to route="groups.edit" id="{{group}}" >{{group}}</link-to> <button type="button" class="close remove-button" - ng-click="removePermission(permission.name, 'GROUP', group)"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> + ng-click="removePermission(permission.name, 'GROUP', group)"><span aria-hidden="true">×</span><span class="sr-only">{{'common.controls.close' | translate}}</span></button> {{$last ? '' :', '}} </span> </div> @@ -99,8 +99,8 @@ </div> <div class="form-group" ng-hide="edit.editPermissionDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-default pull-right left-margin" ng-click="cancelPermissions()">Cancel</button> - <button class="btn btn-primary pull-right" ng-click="savePermissions()">Save</button> + <button class="btn btn-default pull-right left-margin" ng-click="cancelPermissions()">{{'common.controls.cancel' | translate}}</button> + <button class="btn btn-primary pull-right" ng-click="savePermissions()">{{'common.controls.save' | translate}}</button> </div> </div> </form> @@ -110,9 +110,9 @@ <div class="panel panel-default"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Configuration</h3> + <h3 class="panel-title pull-left">{{'views.configuration' | translate}}</h3> <div class="pull-right"> - <a href ng-click="edit.editConfigurationDisabled = !edit.editConfigurationDisabled" ng-show="edit.editConfigurationDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> + <a href ng-click="edit.editConfigurationDisabled = !edit.editConfigurationDisabled" ng-show="edit.editConfigurationDisabled"> <span class="glyphicon glyphicon-cog"></span> {{'views.edit' | translate}}</a> </div> </div> <div class="panel-body"> @@ -124,8 +124,8 @@ </div> <div class="form-group" ng-hide="edit.editConfigurationDisabled"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-default pull-right left-margin" ng-click="cancelConfiguration()">Cancel</button> - <button class="btn btn-primary pull-right" ng-click="saveConfiguration()">Save</button> + <button class="btn btn-default pull-right left-margin" ng-click="cancelConfiguration()">{{'common.controls.cancel' | translate}}</button> + <button class="btn btn-primary pull-right" ng-click="saveConfiguration()">{{'common.controls.save' | translate}}</button> </div> </div> </fieldset> @@ -134,5 +134,5 @@ </div> </div> <div class="modal-footer"> - <button class="btn btn-default" ng-click="close()">Close</button> + <button class="btn btn-default" ng-click="close()">{{'common.controls.save' | translate}}</button> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html index 924a27f..c0e8f1e 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html @@ -19,20 +19,20 @@ <div class="cluster-manage-access-pane"> <div class="clearfix"> <ol class="breadcrumb pull-left"> - <li class="active">{{clusterName}} Roles</li> + <li class="active">{{clusterName}} {{'common.roles' | translate}}</li> </ol> </div> <hr> <div class="pull-right"> <i class="glyphicon glyphicon-th-large layout-switch-icon"></i> - <i class="glyphicon glyphicon-list layout-switch-icon disabled" ng-click="switchToList()" tooltip="Switch to list view"></i> + <i class="glyphicon glyphicon-list layout-switch-icon disabled" ng-click="switchToList()" tooltip-html-unsafe="{{'clusters.switchToList' | translate}}"></i> </div> <table class="table"> <thead> <tr> - <th class="col-sm-2" width="20%"><label>Roles</label></th> - <th class="col-sm-5" width="40%"><label>Assign roles to these users</label></th> - <th class="col-sm-5" width="40%"><label>Assign roles to these groups</label></th> + <th class="col-sm-2" width="20%"><label>{{'common.roles' | translate}}</label></th> + <th class="col-sm-5" width="40%"><label>{{'clusters.assignRoles' | translate: '{term: getConstant("users")}'}}</label></th> + <th class="col-sm-5" width="40%"><label>{{'clusters.assignRoles' | translate: '{term: getConstant("groups")}'}}</label></th> </tr> </thead> <tbody> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/userAccessList.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/userAccessList.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/userAccessList.html index 969f479..0f3da0e 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/userAccessList.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/userAccessList.html @@ -19,12 +19,12 @@ <div class="users-pane"> <div class="clearfix"> <ol class="breadcrumb pull-left"> - <li class="active">{{clusterId}} Roles</li> + <li class="active">{{clusterId}} {{'common.roles' | translate}}</li> </ol> </div> <hr> <div class="pull-right"> - <i class="glyphicon glyphicon-th-large layout-switch-icon disabled" ng-click="switchToBlock()" tooltip="Switch to block view"></i> + <i class="glyphicon glyphicon-th-large layout-switch-icon disabled" ng-click="switchToBlock()" tooltip-html-unsafe="{{'clusters.switchToBlock' | translate}}"></i> <i class="glyphicon glyphicon-list layout-switch-icon"></i> </div> <table class="table table-striped table-hover"> @@ -32,15 +32,15 @@ <tr> <th> <div class="search-container"> - <label for="">Name</label> - <input type="text" class="form-control namefilter" placeholder="Any" ng-model="currentNameFilter" ng-change="resetPagination()"> + <label for="">{{'common.name' | translate}}</label> + <input type="text" class="form-control namefilter" placeholder="{{'common.any' | translate}}" ng-model="currentNameFilter" ng-change="resetPagination()"> <button type="button" class="close clearfilter" ng-show="currentNameFilter" ng-click="currentNameFilter=''; resetPagination()"> - <span aria-hidden="true">×</span><span class="sr-only">Close</span> + <span aria-hidden="true">×</span><span class="sr-only">{{'common.controls.close' | translate}}</span> </button> </div> </th> <th> - <label for="">Type</label> + <label for="">{{'common.type' | translate}}</label> <select class="form-control typefilter" ng-model="currentTypeFilter" ng-options="item.label for item in typeFilterOptions" @@ -49,7 +49,7 @@ </th> <th> - <label for="">Role</label> + <label for="">{{'clusters.role' | translate}}</label> <select class="form-control statusfilter" ng-model="currentRoleFilter" ng-options="item.label for item in roleFilterOptions" @@ -73,12 +73,12 @@ </tbody> </table> <div class="alert alert-info col-sm-12" ng-show="!users.length"> - No users to display. + {{'common.alerts.nothingToDisplay' | translate: '{term: constants.users}'}} </div> <div class="col-sm-12 table-bar"> <div class="pull-left filtered-info"> - <span>{{tableInfo.showed}} of {{tableInfo.total}} users showing</span> - <span ng-show="isNotEmptyFilter">- <a href ng-click="clearFilters()">clear filters</a></span> + <span>{{'common.filterInfo' | translate: '{showed: tableInfo.showed, total: tableInfo.total, term: constants.users}'}}</span> + <span ng-show="isNotEmptyFilter">- <a href ng-click="clearFilters()">{{'common.controls.clearFilters' | translate}}</a></span> </div> <div class="pull-right left-margin"> <pagination class="paginator" total-items="totalUsers" max-size="maxVisiblePages" items-per-page="usersPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/directives/editableList.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/directives/editableList.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/directives/editableList.html index 21de4aa..5f482ef 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/directives/editableList.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/directives/editableList.html @@ -19,7 +19,7 @@ <div class="editable-list-container well" ng-class="{'edit-mode' : editMode, 'disabled' : !editable}" ng-click="enableEditMode($event)"> <div class="items-box"> <ul class="items-list"> - <li class="item" ng-repeat="item in items | orderBy:identity"><span><a href>{{item}}</a><button ng-click="removeFromItems(item)" type="button" class="close"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button></span></li><li class="item add-item-input" ng-show="editMode"> + <li class="item" ng-repeat="item in items | orderBy:identity"><span><a href>{{item}}</a><button ng-click="removeFromItems(item)" type="button" class="close"><span aria-hidden="true">×</span><span class="sr-only">{{'common.controls.close' | translate}}</span></button></span></li><li class="item add-item-input" ng-show="editMode"> <span contenteditable></span> <div class="typeahead-box" ng-show="typeahead.length != 0"> <ul> @@ -27,7 +27,7 @@ </ul> </div> </li> - <li class="item add-item" ng-show="!editMode && !items.length">Add {{resourceType}}</li> + <li class="item add-item" ng-show="!editMode && !items.length">{{'common.add' | translate: '{term: resourceType}'}}</li> </ul> </div> <div class="actions-panel" ng-show="editMode"> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html index f61aadfe..041a228 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html @@ -16,27 +16,27 @@ * limitations under the License. --> <ol class="breadcrumb"> - <li><a href="#/groups">Groups</a></li> - <li class="active">Create Local Group</li> + <li><a href="#/groups">{{'common.groups' | translate}}</a></li> + <li class="active">{{'groups.createLocal' | translate}}</li> </ol> <hr> <form class="form-horizontal" role="form" novalidate name="form" autocomplete="off"> <div class="form-group" ng-class="{'has-error' : (form.group_name.$error.required || form.group_name.$error.pattern) && form.submitted}"> - <label for="groupname" class="col-sm-2 control-label">Group name</label> + <label for="groupname" class="col-sm-2 control-label">{{'groups.name' | translate}}</label> <div class="col-sm-10"> - <input type="text" id="groupname" class="form-control groupname-input" name="group_name" placeholder="Group name" ng-model="group.group_name" required ng-pattern="/^([a-zA-Z0-9._\s]+)$/" autocomplete="off"> + <input type="text" id="groupname" class="form-control groupname-input" name="group_name" placeholder="{{'groups.name' | translate}}" ng-model="group.group_name" required ng-pattern="/^([a-zA-Z0-9._\s]+)$/" autocomplete="off"> <div class="alert alert-danger top-margin" ng-show="form.group_name.$error.required && form.submitted"> - This field is required. + {{'common.alerts.fieldIsRequired' | translate}} </div> <div class="alert alert-danger top-margin" ng-show="form.group_name.$error.pattern && form.submitted"> - Must contain only simple characters. + {{'groups.alerts.onlySimpleChars' | translate}} </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> - <button class="btn btn-primary groupcreate-btn pull-right left-margin" ng-click="createGroup()">Save</button> - <a href ng-click="cancel()" class="btn btn-default pull-right cancel-button">Cancel</a> + <button class="btn btn-primary groupcreate-btn pull-right left-margin" ng-click="createGroup()">{{'common.controls.save' | translate}}</button> + <a href ng-click="cancel()" class="btn btn-default pull-right cancel-button">{{'common.controls.cancel' | translate}}</a> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/83ea508b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html index ad571b8..8271432 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html @@ -18,13 +18,13 @@ <div class="clearfix"> <ol class="breadcrumb pull-left"> - <li><a href="#/groups">Groups</a></li> + <li><a href="#/groups">{{'common.groups' | translate}}</a></li> <li class="active">{{group.group_name}}</li> </ol> <div class="pull-right top-margin-4"> <div ng-switch="group.ldap_group"> - <button ng-switch-when="true" class="btn disabled deletegroup-btn deleteuser-btn" tooltip="Cannot Delete Group">Delete Group</button> - <button ng-switch-when="false" class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)">Delete Group</button> + <button ng-switch-when="true" class="btn disabled deletegroup-btn deleteuser-btn" tooltip="{{'common.cannotDelete' | translate: '{term: constants.group}'}}">{{'common.delete' | translate: '{term: constants.group}'}}</button> + <button ng-switch-when="false" class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)" tooltip="{{'common.cannotDelete' | translate: '{term: constants.group}'}}">{{'common.delete' | translate: '{term: constants.group}'}}</button> </div> </div> @@ -32,26 +32,26 @@ <hr> <form class="form-horizontal group-edit" role="form" novalidate name="form" > <div class="form-group"> - <label for="" class="col-sm-2 control-label">Type</label> + <label for="" class="col-sm-2 control-label">{{'common.type' | translate}}</label> <div class="col-sm-10"> - <label for="" class="control-label">{{group.ldap_group ? 'LDAP' : 'Local'}}</label> + <label for="" class="control-label">{{'common.' + (group.ldap_group ? 'ldap' : 'local') | translate}}</label> </div> </div> <div class="form-group"> - <label for="members" class="col-sm-2 control-label">{{group.ldap_group ? 'LDAP Members' : 'Local Members'}}</label> + <label for="members" class="col-sm-2 control-label">{{'common.' + (group.ldap_group ? 'ldap' : 'local') | translate}} {{'groups.members' | translate}}</label> <div class="col-sm-10"> <editable-list items-source="group.editingUsers" resource-type="User" editable="!group.ldap_group"></editable-list> </div> </div> <div class="form-group"> - <label for="" class="col-sm-2 control-label">Privileges</label> + <label for="" class="col-sm-2 control-label">{{'common.privileges' | translate}}</label> <div class="col-sm-10"> <table class="table" ng-hide="hidePrivileges"> <thead> <tr> - <th>Cluster</th> - <th>Cluster Role</th> + <th>{{'common.cluster' | translate}}</th> + <th>{{'common.clusterRole' | translate}}</th> </tr> </thead> <tbody> @@ -65,13 +65,13 @@ </td> </tr> <tr> - <td ng-show="noClusterPriv">No cluster privileges</td> + <td ng-show="noClusterPriv">{{'common.alerts.noPrivileges' | translate: '{term: constants.cluster}'}}</td> </tr> </tbody> <thead class="view-permission-header"> <tr> - <th>View</th> - <th>View Permissions</th> + <th>{{'common.view' | translate}}</th> + <th>{{'common.viewPermissions' | translate}}</th> </tr> </thead> <tbody> @@ -85,11 +85,11 @@ </td> </tr> <tr> - <td ng-show="noViewPriv">No view privileges</td> + <td ng-show="noViewPriv">{{'common.alerts.noPrivileges' | translate: '{term: constants.view}'}}</td> </tr> </tbody> </table> - <div class="alert alert-info hide-soft" ng-class="{'visible' : !privileges}">This group does not have any privileges.</div> + <div class="alert alert-info hide-soft" ng-class="{'visible' : !privileges}">{{'common.alerts.noPrivilegesDescription' | translate: '{term: constants.group.toLowerCase()}'}}</div> </div> </div> </form> \ No newline at end of file
