ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nc...@apache.org
Subject [33/50] [abbrv] ambari git commit: AMBARI-14521. Ambari Admin: externalize string constants used in views (alexantonenko)
Date Mon, 04 Jan 2016 21:38:26 GMT
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/branch-dev-patch-upgrade
Commit: 83ea508b621c5f17468f3698f0960cfcdf953f0c
Parents: ce4e4ea
Author: Alex Antonenko <hiveww@gmail.com>
Authored: Wed Dec 30 15:41:15 2015 +0200
Committer: Alex Antonenko <hiveww@gmail.com>
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&nbsp;to&nbsp;list&nbsp;view',
       'switchToBlock': 'Switch&nbsp;to&nbsp;block&nbsp;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">&times;</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">&times;</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">&times;</span><span class="sr-only">Close</span></button>
+                  ng-click="removePermission(permission.name, 'USER', user)"><span aria-hidden="true">&times;</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">&times;</span><span class="sr-only">Close</span></button>
+                  ng-click="removePermission(permission.name, 'GROUP', group)"><span aria-hidden="true">&times;</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&nbsp;to&nbsp;list&nbsp;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&nbsp;to&nbsp;block&nbsp;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">&times;</span><span class="sr-only">Close</span>
+            <span aria-hidden="true">&times;</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">&times;</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">&times;</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


Mime
View raw message