AMBARI-20589 Ambari Admin Web: optimize string constants definition. 
(ababiichuk)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fe4b87c7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fe4b87c7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fe4b87c7

Branch: refs/heads/branch-dev-logsearch
Commit: fe4b87c7fa325efc72afddff6a864882f76976d1
Parents: 3ab4c8d
Author: ababiichuk <ababiic...@hortonworks.com>
Authored: Mon Mar 27 19:24:39 2017 +0300
Committer: ababiichuk <ababiic...@hortonworks.com>
Committed: Mon Mar 27 23:32:16 2017 +0300

----------------------------------------------------------------------
 .../authentication/AuthenticationMainCtrl.js    |   4 +-
 .../clusters/ClustersManageAccessCtrl.js        |   2 +-
 .../controllers/clusters/ExportBlueprintCtrl.js |   7 +-
 .../controllers/clusters/UserAccessListCtrl.js  |   2 +-
 .../controllers/groups/GroupsEditCtrl.js        |   3 +-
 .../loginActivities/LoginMessageMainCtrl.js     |   2 +-
 .../remoteClusters/RemoteClustersListCtrl.js    |   2 +-
 .../stackVersions/StackVersionsListCtrl.js      |   2 +-
 .../scripts/controllers/users/UsersShowCtrl.js  |   3 +-
 .../app/scripts/directives/editableList.js      |   2 +-
 .../ui/admin-web/app/scripts/i18n.config.js     | 982 +++++++++----------
 .../app/scripts/services/AddVersionModal.js     |   2 +-
 .../app/scripts/services/PermissionsSaver.js    |   2 +-
 .../admin-web/app/views/ambariViews/edit.html   |   2 +-
 .../app/views/ambariViews/modals/create.html    |   2 +-
 .../app/views/authentication/main.html          |   4 +-
 .../app/views/clusters/manageAccess.html        |   4 +-
 .../ui/admin-web/app/views/groups/create.html   |   2 +-
 .../app/views/loginActivities/loginMessage.html |   2 +-
 .../app/views/modals/AddRepositoryModal.html    |  16 +-
 .../app/views/modals/AddVersionModal.html       |   4 +-
 .../remoteClusters/editRemoteClusterPage.html   |   6 +-
 .../app/views/remoteClusters/list.html          |   2 +-
 .../views/remoteClusters/remoteClusterPage.html |   8 +-
 .../admin-web/app/views/stackVersions/list.html |   4 +-
 .../views/stackVersions/stackVersionPage.html   |  12 +-
 .../ui/admin-web/app/views/users/list.html      |   4 +-
 27 files changed, 515 insertions(+), 572 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/authentication/AuthenticationMainCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/authentication/AuthenticationMainCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/authentication/AuthenticationMainCtrl.js
index bce9189..f9c9e61 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/authentication/AuthenticationMainCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/authentication/AuthenticationMainCtrl.js
@@ -25,9 +25,9 @@ angular.module('ambariAdminConsole')
     $scope.isLDAPEnabled = false;
     $scope.connectivity = {
       trustStore: 'default',
-      trustStoreOptions: ['default', 'custom'],
+      trustStoreOptions: 
['authentication.connectivity.trustStore.options.default', 
'authentication.connectivity.trustStore.options.custom'],
       trustStoreType: 'jks',
-      trustStoreTypeOptions: ['jks', 'jceks', 'pkcs12']
+      trustStoreTypeOptions: 
['authentication.connectivity.trustStoreType.options.jks', 
'authentication.connectivity.trustStoreType.options.jceks', 
'authentication.connectivity.trustStoreType.options.pkcs12']
     };
     $scope.attributes = {
       detection: 'auto'

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 ff255ef..e1b74aa 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
@@ -21,7 +21,7 @@ angular.module('ambariAdminConsole')
 .controller('ClustersManageAccessCtrl', ['$scope', '$location', 'Cluster', 
'$routeParams', 'Alert', 'PermissionLoader', 'PermissionSaver', '$translate', 
'RoleDetailsModal', '$timeout', function($scope, $location, Cluster, 
$routeParams, Alert, PermissionLoader, PermissionSaver, $translate, 
RoleDetailsModal, $timeout) {
   var $t = $translate.instant;
   $scope.getConstant = function (key) {
-    return $t('common.' + key).toLowerCase();
+    return $t(key).toLowerCase();
   };
   $scope.identity = angular.identity;
   function reloadClusterData(){

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ExportBlueprintCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ExportBlueprintCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ExportBlueprintCtrl.js
index a1e4fa0..6b74b40 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ExportBlueprintCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/clusters/ExportBlueprintCtrl.js
@@ -18,11 +18,8 @@
 'use strict';
 
 angular.module('ambariAdminConsole')
-.controller('ExportBlueprintCtrl', ['$scope', '$http', '$location', 'Cluster', 
'$routeParams', 'Alert', '$translate', '$timeout', function($scope, $http, 
$location, Cluster, $routeParams, Alert, $translate, $timeout) {
+.controller('ExportBlueprintCtrl', ['$scope', '$http', '$location', 'Cluster', 
'$routeParams', '$translate', function($scope, $http, $location, Cluster, 
$routeParams, $translate) {
   var $t = $translate.instant;
-  $scope.getConstant = function (key) {
-    return $t('common.' + key).toLowerCase();
-  };
   $scope.identity = angular.identity;
 
   $scope.isDataLoaded = false;
@@ -32,7 +29,7 @@ angular.module('ambariAdminConsole')
     Cluster.getBlueprint({
       clusterName: $scope.clusterName
     }).then(function(data) {
-      console.debug("Data loaded...", data);
+      console.debug($t('exportBlueprint.dataLoaded'), data);
       $scope.isDataLoaded = true;
       var response = JSON.stringify(data, null, 4),
         lt = /&lt;/g,

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 5dc6bd3..9e83b91 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
@@ -72,7 +72,7 @@ function($scope, $location, Cluster, $modal, $rootScope, 
$routeParams, Permissio
         var privilege = $scope.pickEffectivePrivilege(user.privileges);
         // Redefine principal_name and principal type in case of None
         privilege.principal_name = user.Users? user.Users.user_name : 
user.Groups.group_name;
-        if (privilege.permission_label === "None") {
+        if (privilege.permission_label === $t('users.roles.none')) {
           privilege.principal_type = user.Users ? 'USER' : 'GROUP';
         }
         var name = encodeURIComponent(privilege.principal_name);

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 c61e71c..92406e9 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
@@ -152,7 +152,8 @@ angular.module('ambariAdminConsole')
     $scope.privileges = data.data.items.length ? privileges : null;
     $scope.noClusterPriv = $.isEmptyObject(privileges.clusters);
     $scope.noViewPriv = $.isEmptyObject(privileges.views);
-    $scope.hidePrivileges = $scope.noClusterPriv && $scope.noViewPriv;    
$scope.dataLoaded = true;
+    $scope.hidePrivileges = $scope.noClusterPriv && $scope.noViewPriv;
+    $scope.dataLoaded = true;
   }).catch(function(data) {
     Alert.error($t('common.alerts.cannotLoadPrivileges'), data.data.message);
   });

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/LoginMessageMainCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/LoginMessageMainCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/LoginMessageMainCtrl.js
index 911bb0b..4207627 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/LoginMessageMainCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/LoginMessageMainCtrl.js
@@ -39,7 +39,7 @@ angular.module('ambariAdminConsole')
         $scope.status = false;
         $scope.motdExists = false;
         $scope.text = "";
-        $scope.buttonText = "OK";
+        $scope.buttonText = $t('common.controls.ok');
       });
       $scope.submitDisabled = true;
     };

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/remoteClusters/RemoteClustersListCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/remoteClusters/RemoteClustersListCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/remoteClusters/RemoteClustersListCtrl.js
index 3656dfc..9d47307 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/remoteClusters/RemoteClustersListCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/remoteClusters/RemoteClustersListCtrl.js
@@ -91,7 +91,7 @@ angular.module('ambariAdminConsole')
 
       })
       .catch(function(data) {
-        console.error('Error in fetching remote clusters.', data);
+        console.error($t('remoteClusters.alerts.fetchError'), data);
       });
   };
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 2990cef..8d75e79 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
@@ -21,7 +21,7 @@ angular.module('ambariAdminConsole')
   .controller('StackVersionsListCtrl', ['$scope', 'Cluster', 'Stack', 
'$routeParams', '$translate', 'Settings', function ($scope, Cluster, Stack, 
$routeParams, $translate, Settings) {
     var $t = $translate.instant;
     $scope.getConstant = function (key) {
-      return $t('common.' + key).toLowerCase();
+      return $t(key).toLowerCase();
     };
     $scope.isLoading = false;
     $scope.clusterName = $routeParams.clusterName;

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 dcb7418..0706620 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
@@ -159,7 +159,8 @@ angular.module('ambariAdminConsole')
   };    
   $scope.toggleUserAdmin = function() {
     if(!$scope.isCurrentUser){
-      var action = $scope.user.admin ? 'revoke' : 'grant';
+      var action = $scope.user.admin ?
+        $t('users.changePrivilegeConfirmation.revoke') : 
$t('users.changePrivilegeConfirmation.grant');
       ConfirmationModal.show(
         $t('users.changePrivilegeConfirmation.title'),
         $t('users.changePrivilegeConfirmation.message', {

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/editableList.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/editableList.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/editableList.js
index 694a7bd..6b6cf5c 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/editableList.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/editableList.js
@@ -44,7 +44,7 @@ angular.module('ambariAdminConsole')
         if (msie > 0)
           return !!parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)));
 
-        // If Internet Explorer 11 handling differently becaue UserAgent 
string updated by Microsoft
+        // If Internet Explorer 11 handling differently because UserAgent 
string updated by Microsoft
         else if (!!navigator.userAgent.match(/Trident\/7\./))
           return true;
         else

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 61420c0..fba8538 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
@@ -24,525 +24,469 @@ angular.module('ambariAdminConsole')
     'CLUSTER.USER': 'Read-Only',
     'VIEW.USER': 'Use',
 
-    'common': {
-      'ambari': 'Ambari',
-      'apacheAmbari': 'Apache Ambari',
-      'about': 'About',
-      'version': 'Version',
-      'signOut': 'Sign out',
-      'register':'Register',
-      'clusters': 'Clusters',
-      'views': 'Views',
-      'viewUrls': 'View URLs',
-      'roles': 'Roles',
-      'users': 'Users',
-      'groups': 'Groups',
-      'versions': 'Versions',
-      'stack': 'Stack',
-      'details': 'Details',
-      'goToDashboard': 'Go to Dashboard',
-      'exportBlueprint':'Export Blueprint',
-      'blueprint':'Blueprint',
-      'download':'Download',
-      'noClusters': 'No Clusters',
-      'noViews': 'No Views',
-      'view': 'View',
-      'displayLabel': 'Display label',
-      'search': 'Search',
-      'name': 'Name',
-      'any': 'Any',
-      'none': 'None',
-      'type': 'Type',
-      'add': 'Add {{term}}',
-      'delete': 'Delete {{term}}',
-      'deregisterCluster': 'Deregister Cluster',
-      'cannotDelete': 'Cannot Delete {{term}}',
-      'privileges': 'Privileges',
-      'cluster': 'Cluster',
-      'remoteClusters': 'Remote Clusters',
-      'services':'Services',
-      'clusterRole': 'Cluster Role',
-      'viewPermissions': 'View Permissions',
-      'getInvolved': 'Get involved!',
-      'license': 'Licensed under the Apache License, Version 2.0',
-      'tableFilterMessage': '{{showed}} of {{total}} {{term}} showing',
-      'yes': 'Yes',
-      'no': 'No',
-      'renameCluster': 'Rename Cluster',
-      'renameClusterTip': 'Only alpha-numeric characters, up to 80 characters',
-      'clusterCreationInProgress': 'Cluster creation in progress...',
-      'userGroupManagement': 'User + Group Management',
-      'all': 'All',
-      'group': 'Group',
-      'user': 'User',
-      'settings': 'Settings',
-      'authentication': 'Authentication',
-      'deleteConfirmation': 'Are you sure you want to delete {{instanceType}} 
{{instanceName}}?',
-      'remoteClusterDelConfirmation':'Are you sure you want to delete 
{{instanceType}} {{instanceName}}? This operation cannot be undone.',
-      'messageInstanceAffected':'The following View Instances are using this 
Remote Cluster for configuration, and will need to be reconfigured: 
{{viewInstance}}',
-      'local': 'Local',
-      'pam': 'PAM',
-      'ldap': 'LDAP',
-      'jwt': 'JWT',
-      'warning': 'Warning',
-      'filterInfo': '{{showed}} of {{total}} {{term}} showing',
-      'usersGroups': 'Users/Groups',
-      'enabled': 'Enabled',
-      'disabled': 'Disabled',
-      'NA': 'n/a',
-      'blockViewLabel': 'BLOCK',
-      'listViewLabel': 'LIST',
-      'rbac': 'Role Based Access Control',
-      'important': 'Important',
-      'undo': 'Undo',
-      'fromGroupMark': '(from group)',
-      'copy': '_Copy',
-
-      'clusterNameChangeConfirmation': {
-        'title': 'Confirm Cluster Name Change',
-        'message': 'Are you sure you want to change the cluster name to 
{{clusterName}}?'
-      },
-
-      'loginActivities': {
-        'loginActivities':'Login Activities',
-        'loginMessage': 'Login Message',
-        'loginMessage.placeholder': 'Please enter login message',
-        'buttonText.placeholder': 'Please enter button text',
-        'homeDirectory': 'Home Directory',
-        'notEmpty': 'These field cannot be empty',
-        'saveError': 'Save error',
-        'message': 'Message',
-        'buttonText': 'Button',
-        'status': 'Status',
-        'status.disabled': 'Disabled',
-        'homeDirectory.alert': 'Many Ambari Views store user preferences in 
the logged in user\'s / user directory in HDFS. Optionally, Ambari can 
auto-create these directories for users on login.',
-        'homeDirectory.autoCreate': 'Auto-Create HDFS user directories',
-        'homeDirectory.header': 'User Directory Creation Options',
-        'homeDirectory.template': 'User Directory creation template',
-        'homeDirectory.group': 'Default Group',
-        'homeDirectory.permissions': 'Permissions'
-      },
-
-      'controls': {
-        'cancel': 'Cancel',
-        'close': 'Close',
-        'ok': 'OK',
-        'save': 'Save',
-        'clearFilters': 'clear filters',
-        'confirmChange': 'Confirm Change',
-        'discard': 'Discard',
-        'remove': 'Remove',
-        'update':'Update',
-        'checkAll': 'Check All',
-        'clearAll': 'Clear All'
-      },
-
-      'alerts': {
-        'fieldRequired': 'Field required!',
-        'fieldIsRequired': 'This field is required.',
-        'noSpecialChars': 'Must not contain special characters!',
-        'nothingToDisplay': 'No {{term}} to display.',
-        'noRemoteClusterDisplay':'No Remote Clusters to display.',
-        'noPrivileges': 'No {{term}} privileges',
-        'noPrivilegesDescription': 'This {{term}} does not have any 
privileges.',
-        'timeOut': 'You will be automatically logged out in <b>{{time}}</b> 
seconds due to inactivity.',
-        'isInvalid': '{{term}} Invalid.',
-        'cannotSavePermissions': 'Cannot save permissions',
-        'cannotLoadPrivileges': 'Cannot load privileges',
-        'cannotLoadClusterStatus': 'Cannot load cluster status',
-        'clusterRenamed': 'The cluster has been renamed to {{clusterName}}.',
-        'remoteClusterRegistered': 'The cluster has been registered as 
{{clusterName}}.',
-        'cannotRenameCluster': 'Cannot rename cluster to {{clusterName}}',
-        'minimumTwoChars': 'Minimum length is 2 characters.',
-        'maxTwentyFiveChars': 'Maximum length is 25 characters.',
-        'onlyText': 'Only lowercase alphanumeric characters are allowed.',
-        'onlyAnScore': 'Invalid input, only alphanumerics allowed eg: 
My_default_view',
-        'passwordRequired':'Password Required',
-        'unsavedChanges': 'You have unsaved changes. Save changes or discard?',
-        'cannotUpdateStatus': 'Cannot update User status',
-        'cannotUpdateAdminStatus': 'Cannot update User Admin status'
-      }
-    },
-
-    'main': {
-      'title': 'Welcome to Apache Ambari',
-      'noClusterDescription': 'Provision a cluster, manage who can access the 
cluster, and customize views for Ambari users.',
-      'hasClusterDescription': 'Monitor your cluster resources, manage who can 
access the cluster, and customize views for Ambari users.',
-      'autoLogOut': 'Automatic Logout',
-
-      'operateCluster': {
-        'title': 'Operate Your Cluster',
-        'description': 'Manage the configuration of your cluster and monitor 
the health of your services',
-        'manageRoles': 'Manage Roles'
-      },
-
-      'createCluster': {
-        'title': 'Create a Cluster',
-        'description': 'Use the Install Wizard to select services and 
configure your cluster',
-        'launchInstallWizard': 'Launch Install Wizard'
-      },
-
-      'manageUsersAndGroups': {
-        'title': 'Manage Users + Groups',
-        'description': 'Manage the users and groups that can access Ambari'
-      },
-
-      'deployViews': {
-        'title': 'Deploy Views',
-        'description': 'Create view instances and grant permissions'
-      },
-
-      'controls': {
-        'remainLoggedIn': 'Remain Logged In',
-        'logOut': 'Log Out Now'
-      }
-    },
-
-    'views': {
-      'instance': 'Instance',
-      'viewInstance': 'View Instance',
-      'create': 'Create Instance',
-      'clone': 'Clone Instance',
-      'createViewInstance': 'Create View Instance',
-      'edit': 'Edit',
-      'viewName': 'View Name',
-      'instances': 'Instances',
-      'instanceName': 'Instance Name',
-      'instanceId': 'Instance ID',
-      'displayName': 'Display Name',
-      'settings': 'Settings',
-      'advanced': 'Advanced',
-      'visible': 'Visible',
-      'description': 'Description',
-      'shortUrl':'Short URL',
-      'instanceDescription': 'Instance Description',
-      'clusterConfiguration': 'Cluster Configuration',
-      'localCluster': 'Local Cluster',
-      'remoteCluster': 'Remote Cluster',
-      'registerRemoteCluster' : 'Register Remote Cluster',
-      'clusterName': 'Cluster Name',
-      'custom': 'Custom',
-      'icon': 'Icon',
-      'icon64': 'Icon64',
-      'permissions': 'Permissions',
-      'permission': 'Permission',
-      'grantUsers': 'Grant permission to these users',
-      'grantGroups': 'Grant permission to these groups',
-      'configuration': 'Configuration',
-      'goToInstance': 'Go to instance',
-      'pending': 'Pending...',
-      'deploying': 'Deploying...',
-      'properties': 'properties',
-      'urlDelete':'Delete URL',
-
-      'clusterPermissions': {
-        'label': 'Local Cluster Permissions',
-        'clusteradministrator': 'Cluster Administrator',
-        'clusteroperator': 'Cluster Operator',
-        'clusteruser': 'Cluster User',
-        'serviceadministrator': 'Service Administrator',
-        'serviceoperator': 'Service Operator',
-        'infoMessage': 'Grant <strong>Use</strong> permission for the 
following <strong>{{cluster}}</strong> Roles:',
-        'nonLocalClusterMessage': 'The ability to inherit view 
<strong>Use</strong> permission based on Cluster Roles is only available when 
using a Local Cluster configuration.'
-      },
-
-      'alerts': {
-        'noSpecialChars': 'Must not contain any special characters.',
-        'noSpecialCharsOrSpaces': 'Must not contain any special characters or 
spaces.',
-        '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',
-        'cannotUseOption': 'This view cannot use this option',
-        'unableToResetErrorMessage': 'Unable to reset error message for prop: 
{{key}}',
-        'instanceCreated': 'Created View Instance {{instanceName}}',
-        'unableToParseError': 'Unable to parse error message: {{message}}',
-        'cannotCreateInstance': 'Cannot create instance',
-        'cannotLoadInstanceInfo': 'Cannot load instance info',
-        'cannotLoadPermissions': 'Cannot load permissions',
-        'cannotSaveSettings': 'Cannot save settings',
-        'cannotSaveProperties': 'Cannot save properties',
-        'cannotDeleteInstance': 'Cannot delete instance',
-        'cannotLoadViews': 'Cannot load views',
-        'cannotLoadViewUrls': 'Cannot load view URLs',
-        'cannotLoadViewUrl': 'Cannot load view URL',
-        'savedRemoteClusterInformation':'Remote cluster information is saved.',
-        'credentialsUpdated':'Credentials Updated.'
-      }
-    },
-
-    'urls':{
-      'name':'Name',
-      'url':'URL',
-      'viewUrls':'View URLs',
-      'createNewUrl':'Create New URL',
-      'create':'Create',
-      'edit':'Edit',
-      'view':'View',
-      'viewInstance':'Instance',
-      'step1':'Create URL',
-      'step2':'Select instance',
-      'step3':'Assign URL',
-      'noUrlsToDisplay':'No URLs to display.',
-      'noViewInstances':'No view instances',
-      'none':'None',
-      'change':'Change',
-      'urlCreated':'Created short URL <a 
href="{{siteRoot}}#/main/view/{{viewName}}/{{shortUrl}}">{{urlName}}</a>',
-      'urlUpdated':'Updated short URL <a 
href="{{siteRoot}}#/main/view/{{viewName}}/{{shortUrl}}">{{urlName}}</a>'
-    },
-
-    'clusters': {
-      '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'
-      }
-    },
-
-    'groups': {
-      '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',
-        'getGroupsListError': 'Get groups list error'
-      }
-    },
-
-    'users': {
-      'username': 'Username',
-      'userName': 'User name',
-      'admin': 'Admin',
-      'ambariAdmin': 'Ambari Admin',
-      'ambariClusterURL':'Ambari Cluster URL',
-      'changePassword': 'Change Password',
-      'updateCredentials':'Update Credentials',
-      'changePasswordFor': 'Change Password for {{userName}}',
-      'yourPassword': 'Your Password',
-      'newPassword': 'New User Password',
-      'newPasswordConfirmation': 'New User Password Confirmation',
-      'create': 'Create Local User',
-      'active': 'Active',
-      'inactive': 'Inactive',
-      'status': 'Status',
-      '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',
-      'userNameTip': 'Only alpha-numeric characters, up to 80 characters',
-
-
-      'changeStatusConfirmation': {
-        'title': 'Change Status',
-        'message': 'Are you sure you want to change status for user 
"{{userName}}" to {{status}}?'
-      },
-
-      'changePrivilegeConfirmation': {
-        'title': 'Change Admin Privilege',
-        'message': 'Are you sure you want to {{action}} Admin privilege to 
user "{{userName}}"?'
-      },
-
-      'roles': {
-        'clusterUser': 'Cluster User',
-        'clusterAdministrator': 'Cluster Administrator',
-        'clusterOperator': 'Cluster Operator',
-        'serviceAdministrator': 'Service Administrator',
-        'serviceOperator': 'Service Operator',
-        'ambariAdmin': 'Ambari Administrator',
-        'viewUser': 'View User',
-        'none': 'None',
-        'oneRolePerUserOrGroup': 'Only 1 role allowed per user or group',
-        'permissionLevel': '{{level}}-level Permissions'
-      },
-
-      'alerts': {
-        'passwordRequired': 'Password required',
-        'wrongPassword': 'Password must match!',
-        'usernameRequired':'Username Required',
-        'cannotChange': 'Cannot Change {{term}}',
-        'userCreated': 'Created user <a 
href="#/users/{{encUserName}}">{{userName}}</a>',
-        'userCreationError': 'User creation error',
-        'removeUserError': 'Removing from group error',
-        'cannotAddUser': 'Cannot add user to group',
-        'passwordChanged': 'Password changed.',
-        'cannotChangePassword': 'Cannot change password',
-        'roleChanged': '{{name}} changed to {{role}}',
-        'roleChangedToNone': '{{user_name}}\'s explicit privilege has been 
changed to \'NONE\'. Any privilege now seen for this user comes through its 
Group(s).',
-        'usersEffectivePrivilege': '{{user_name}}\'s effective privilege 
through its Group(s) is higher than your selected privilege.'
-      }
-    },
-
-    'versions': {
-      'current': 'Current',
-      'addVersion': 'Add Version',
-      'defaultVersion': '(Default Version Definition)',
-      'inUse': 'In Use',
-      'installed': 'Installed',
-      'usePublic': "Use Public Repository",
-      'networkIssues': {
-        'networkLost': "Why is this disabled?",
-        'publicDisabledHeader': "Public Repository Option Disabled",
-        'publicRepoDisabledMsg': 'Ambari does not have access to the Internet 
and cannot use the Public Repository for installing the software. Your 
Options:',
-        'publicRepoDisabledMsg1': 'Configure your hosts for access to the 
Internet.',
-        'publicRepoDisabledMsg2': 'If you are using an Internet Proxy, refer 
to the Ambari Documentation on how to configure Ambari to use the Internet 
Proxy.',
-        'publicRepoDisabledMsg3': 'Use the Local Repositoy option.'
-      },
-      'selectVersion': "Select Version",
-      'selectVersionEmpty': "No other repositories",
-      'useLocal': "Use Local Repository",
-      'uploadFile': 'Upload Version Definition File',
-      'enterURL': 'Version Definition File URL',
-      'defaultURL': 'https://',
-      'readInfo': 'Read Version Info',
-      'browse': 'Browse',
-      'installOn': 'Install on...',
-      'register': {
-        'title': 'Register Version',
-        'error': {
-          'header': 'Unable to Register',
-          'body': 'You are attempting to register a version with a Base URL 
that is already in use with an existing registered version. You *must* review 
your Base URLs and confirm they are unique for the version you are trying to 
register.'
-        }
-      },
-      'deregister': 'Deregister Version',
-      'deregisterConfirmation': 'Are you sure you want to deregister version 
<strong>{{versionName}}</strong> ?',
-      'placeholder': 'Version Number (0.0)',
-      'repos': 'Repositories',
-      'os': 'OS',
-      'baseURL': 'Base URL',
-      'skipValidation': 'Skip Repository Base URL validation (Advanced)',
-      'noVersions': 'Select version to display details.',
-      'patch': 'Patch',
-      'introduction': 'To register a new version in Ambari, provide a Version 
Definition File, confirm the software repository information and save the 
version.',
-      'contents': {
-        'title': 'Contents',
-        'empty': 'No contents to display'
-      },
-      'details': {
-        'stackName': 'Stack Name',
-        'displayName': 'Display Name',
-        'version': 'Version',
-        'actualVersion': 'Actual Version',
-        'releaseNotes': 'Release Notes'
-      },
-      'repository': {
-        'placeholder': 'Enter Base URL or remove this OS'
-      },
-      'useRedhatSatellite': {
-        'title': 'Use RedHat Satellite/Spacewalk',
-        'warning': 'By selecting to <b>"Use RedHat Satellite/Spacewalk"</b> 
for the software repositories, ' +
-        'you are responsible for configuring the repository channel in 
Satellite/Spacewalk and confirming the repositories for the selected <b>stack 
version</b> are available on the hosts in the cluster. ' +
-        'Refer to the Ambari documentation for more information.',
-        'disabledMsg': 'Use of RedHat Satellite/Spacewalk is not available 
when using Public Repositories'
-      },
-      'changeBaseURLConfirmation': {
-        'title': 'Confirm Base URL Change',
-        'message': 'You are about to change repository Base URLs that are 
already in use. Please confirm that you intend to make this change and that the 
new Base URLs point to the same exact Stack version and build'
-      },
-
-      'alerts': {
-        'baseURLs': 'Provide Base URLs for the Operating Systems you are 
configuring.',
-        'validationFailed': 'Some of the repositories failed validation. Make 
changes to the base url or skip validation if you are sure that urls are 
correct',
-        'skipValidationWarning': '<b>Warning:</b> This is for advanced users 
only. Use this option if you want to skip validation for Repository Base URLs.',
-        'useRedhatSatelliteWarning': 'Disable distributed repositories and use 
RedHat Satellite/Spacewalk channels instead',
-        'filterListError': 'Fetch stack version filter list error',
-        'versionCreated': 'Created version <a 
href="#/stackVersions/{{stackName}}/{{versionName}}/edit">{{stackName}}-{{versionName}}</a>',
-        'versionCreationError': 'Version creation error',
-        'allOsAdded': 'All Operating Systems have been added',
-        'osListError': 'getSupportedOSList error',
-        'readVersionInfoError': 'Version Definition read error',
-        'versionEdited': 'Edited version <a 
href="#/stackVersions/{{stackName}}/{{versionName}}/edit">{{displayName}}</a>',
-        'versionUpdateError': 'Version update error',
-        'versionDeleteError': 'Version delete error'
-      }
-    },
-
-    'authentication': {
-      'description': 'Ambari supports authenticating against local Ambari 
users created and stored in the Ambari Database, or authenticating against a 
LDAP server:',
-      'ldap': 'LDAP Authentication',
-      'on': 'On',
-      'off': 'Off',
-
-      'connectivity': {
-        'title': 'LDAP Connectivity Configuration',
-        'host': 'LDAP Server Host',
-        'port': 'LDAP Server Port',
-        'ssl': 'Use SSL?',
-        'trustStore': {
-          'label': 'Trust Store',
-          'options': {
-            'default': 'JDK Default',
-            'custom': 'Custom'
-          }
-        },
-        'trustStorePath': 'Trust Store Path',
-        'trustStoreType': {
-          'label': 'Trust Store Type',
-          'options': {
-            'jks': 'JKS',
-            'jceks': 'JCEKS',
-            'pkcs12': 'PKCS12'
-          }
-        },
-        'trustStorePassword': 'Trust Store Password',
-        'dn': 'Bind DN',
-        'bindPassword': 'Bind Password',
-
-        'controls': {
-          'testConnection': 'Test Connection'
-        }
-      },
-
-      'attributes': {
-        'title': 'LDAP Attribute Configuration',
-        'detection': {
-          'label': 'Identifying the proper attributes to be used when 
authenticating and looking up users and groups can be specified manually, or 
automatically detected. Please choose:',
-          'options': {
-            'manual': 'Define Attributes Manually',
-            'auto': 'Auto-Detect Attributes'
-          }
-        },
-        'userSearch': 'User Search Base',
-        'groupSearch': 'Group Search Base',
-        'detected': 'The following attributes were detected, please review and 
Test Attributes to ensure their accuracy.',
-        'userObjClass': 'User Object Class',
-        'userNameAttr': 'User Name Attribute',
-        'groupObjClass': 'Group Object Class',
-        'groupNameAttr': 'Group Name Attribute',
-        'groupMemberAttr': 'Group Member Attribute',
-        'distinguishedNameAttr': 'Distinguished Name Attribute',
-        'test': {
-          'description': 'To quickly test the chosen attributes click the 
button below. During this process you can specify a test user name and password 
and Ambari will attempt to authenticate and retrieve group membership 
information',
-          'username': 'Test Username',
-          'password': 'Test Password'
-        },
-        'groupsList': 'List of Groups',
-
-        'controls': {
-          'autoDetect': 'Perform Auto-Detection',
-          'testAttrs': 'Test Attributes'
-        },
-
-        'alerts': {
-          'successfulAuth': 'Successful Authentication'
-        }
-      },
-
-      'controls': {
-        'test': 'Test'
-      }
-    }
+    'common.ambari': 'Ambari',
+    'common.apacheAmbari': 'Apache Ambari',
+    'common.about': 'About',
+    'common.version': 'Version',
+    'common.signOut': 'Sign out',
+    'common.register': 'Register',
+    'common.clusters': 'Clusters',
+    'common.views': 'Views',
+    'common.viewUrls': 'View URLs',
+    'common.roles': 'Roles',
+    'common.users': 'Users',
+    'common.groups': 'Groups',
+    'common.versions': 'Versions',
+    'common.stack': 'Stack',
+    'common.details': 'Details',
+    'common.goToDashboard': 'Go to Dashboard',
+    'common.exportBlueprint': 'Export Blueprint',
+    'common.blueprint': 'Blueprint',
+    'common.download': 'Download',
+    'common.noClusters': 'No Clusters',
+    'common.noViews': 'No Views',
+    'common.view': 'View',
+    'common.displayLabel': 'Display label',
+    'common.search': 'Search',
+    'common.name': 'Name',
+    'common.any': 'Any',
+    'common.none': 'None',
+    'common.type': 'Type',
+    'common.add': 'Add {{term}}',
+    'common.delete': 'Delete {{term}}',
+    'common.deregisterCluster': 'Deregister Cluster',
+    'common.cannotDelete': 'Cannot Delete {{term}}',
+    'common.privileges': 'Privileges',
+    'common.cluster': 'Cluster',
+    'common.remoteClusters': 'Remote Clusters',
+    'common.services': 'Services',
+    'common.clusterRole': 'Cluster Role',
+    'common.viewPermissions': 'View Permissions',
+    'common.getInvolved': 'Get involved!',
+    'common.license': 'Licensed under the Apache License, Version 2.0',
+    'common.tableFilterMessage': '{{showed}} of {{total}} {{term}} showing',
+    'common.yes': 'Yes',
+    'common.no': 'No',
+    'common.renameCluster': 'Rename Cluster',
+    'common.renameClusterTip': 'Only alpha-numeric characters, up to 80 
characters',
+    'common.clusterCreationInProgress': 'Cluster creation in progress...',
+    'common.userGroupManagement': 'User + Group Management',
+    'common.all': 'All',
+    'common.group': 'Group',
+    'common.user': 'User',
+    'common.settings': 'Settings',
+    'common.authentication': 'Authentication',
+    'common.deleteConfirmation': 'Are you sure you want to delete 
{{instanceType}} {{instanceName}}?',
+    'common.remoteClusterDelConfirmation': 'Are you sure you want to delete 
{{instanceType}} {{instanceName}}? This operation cannot be undone.',
+    'common.messageInstanceAffected': 'The following View Instances are using 
this Remote Cluster for configuration, and will need to be reconfigured:',
+    'common.local': 'Local',
+    'common.pam': 'PAM',
+    'common.ldap': 'LDAP',
+    'common.jwt': 'JWT',
+    'common.warning': 'Warning',
+    'common.filterInfo': '{{showed}} of {{total}} {{term}} showing',
+    'common.usersGroups': 'Users/Groups',
+    'common.enabled': 'Enabled',
+    'common.disabled': 'Disabled',
+    'common.NA': 'n/a',
+    'common.blockViewLabel': 'BLOCK',
+    'common.listViewLabel': 'LIST',
+    'common.rbac': 'Role Based Access Control',
+    'common.important': 'Important',
+    'common.undo': 'Undo',
+    'common.fromGroupMark': '(from group)',
+    'common.copy': '_Copy',
+
+    'common.clusterNameChangeConfirmation.title': 'Confirm Cluster Name 
Change',
+    'common.clusterNameChangeConfirmation.message': 'Are you sure you want to 
change the cluster name to {{clusterName}}?',
+
+    'common.loginActivities.loginActivities': 'Login Activities',
+    'common.loginActivities.loginMessage': 'Login Message',
+    'common.loginActivities.loginMessage.placeholder': 'Please enter login 
message',
+    'common.loginActivities.homeDirectory': 'Home Directory',
+    'common.loginActivities.notEmpty': 'These field cannot be empty',
+    'common.loginActivities.saveError': 'Save error',
+    'common.loginActivities.message': 'Message',
+
+    'common.loginActivities.buttonText': 'Button',
+    'common.loginActivities.buttonText.placeholder': 'Please enter button 
text',
+
+    'common.loginActivities.status': 'Status',
+    'common.loginActivities.status.disabled': 'Disabled',
+
+    'common.loginActivities.homeDirectory.alert': 'Many Ambari Views store 
user preferences in the logged in user\'s / user directory in HDFS. Optionally, 
Ambari can auto-create these directories for users on login.',
+    'common.loginActivities.homeDirectory.autoCreate': 'Auto-Create HDFS user 
directories',
+    'common.loginActivities.homeDirectory.header': 'User Directory Creation 
Options',
+    'common.loginActivities.homeDirectory.template': 'User Directory creation 
template',
+    'common.loginActivities.homeDirectory.group': 'Default Group',
+    'common.loginActivities.homeDirectory.permissions': 'Permissions',
+
+    'common.controls.cancel': 'Cancel',
+    'common.controls.close': 'Close',
+    'common.controls.ok': 'OK',
+    'common.controls.save': 'Save',
+    'common.controls.clearFilters': 'clear filters',
+    'common.controls.confirmChange': 'Confirm Change',
+    'common.controls.discard': 'Discard',
+    'common.controls.remove': 'Remove',
+    'common.controls.update': 'Update',
+    'common.controls.checkAll': 'Check All',
+    'common.controls.clearAll': 'Clear All',
+    'common.controls.add': 'Add',
+
+    'common.alerts.fieldRequired': 'Field required!',
+    'common.alerts.fieldIsRequired': 'This field is required.',
+    'common.alerts.noSpecialChars': 'Must not contain special characters!',
+    'common.alerts.nothingToDisplay': 'No {{term}} to display.',
+    'common.alerts.noRemoteClusterDisplay': 'No Remote Clusters to display.',
+    'common.alerts.noPrivileges': 'No {{term}} privileges',
+    'common.alerts.noPrivilegesDescription': 'This {{term}} does not have any 
privileges.',
+    'common.alerts.timeOut': 'You will be automatically logged out in 
<b>{{time}}</b> seconds due to inactivity.',
+    'common.alerts.isInvalid': '{{term}} Invalid.',
+    'common.alerts.cannotSavePermissions': 'Cannot save permissions',
+    'common.alerts.cannotLoadPrivileges': 'Cannot load privileges',
+    'common.alerts.cannotLoadClusterStatus': 'Cannot load cluster status',
+    'common.alerts.clusterRenamed': 'The cluster has been renamed to 
{{clusterName}}.',
+    'common.alerts.remoteClusterRegistered': 'The cluster has been registered 
as {{clusterName}}.',
+    'common.alerts.cannotRenameCluster': 'Cannot rename cluster to 
{{clusterName}}',
+    'common.alerts.minimumTwoChars': 'Minimum length is 2 characters.',
+    'common.alerts.maxTwentyFiveChars': 'Maximum length is 25 characters.',
+    'common.alerts.onlyText': 'Only lowercase alphanumeric characters are 
allowed.',
+    'common.alerts.onlyAnScore': 'Invalid input, only alphanumerics allowed 
eg: My_default_view',
+    'common.alerts.passwordRequired': 'Password Required',
+    'common.alerts.unsavedChanges': 'You have unsaved changes. Save changes or 
discard?',
+    'common.alerts.cannotUpdateStatus': 'Cannot update User status',
+    'common.alerts.cannotUpdateAdminStatus': 'Cannot update User Admin status',
+    'common.alerts.checkFailed': 'CHECK FAILED',
+    'common.alerts.onlySimpleChars': 'Must contain only simple characters.',
+
+    'main.title': 'Welcome to Apache Ambari',
+    'main.noClusterDescription': 'Provision a cluster, manage who can access 
the cluster, and customize views for Ambari users.',
+    'main.hasClusterDescription': 'Monitor your cluster resources, manage who 
can access the cluster, and customize views for Ambari users.',
+    'main.autoLogOut': 'Automatic Logout',
+
+    'main.operateCluster.title': 'Operate Your Cluster',
+    'main.operateCluster.description': 'Manage the configuration of your 
cluster and monitor the health of your services',
+    'main.operateCluster.manageRoles': 'Manage Roles',
+
+    'main.createCluster.title': 'Create a Cluster',
+    'main.createCluster.description': 'Use the Install Wizard to select 
services and configure your cluster',
+    'main.createCluster.launchInstallWizard': 'Launch Install Wizard',
+
+    'main.manageUsersAndGroups.title': 'Manage Users + Groups',
+    'main.manageUsersAndGroups.description': 'Manage the users and groups that 
can access Ambari',
+
+    'main.deployViews.title': 'Deploy Views',
+    'main.deployViews.description': 'Create view instances and grant 
permissions',
+
+    'main.controls.remainLoggedIn': 'Remain Logged In',
+    'main.controls.logOut': 'Log Out Now',
+
+    'views.instance': 'Instance',
+    'views.viewInstance': 'View Instance',
+    'views.create': 'Create Instance',
+    'views.clone': 'Clone Instance',
+    'views.createViewInstance': 'Create View Instance',
+    'views.edit': 'Edit',
+    'views.viewName': 'View Name',
+    'views.instances': 'Instances',
+    'views.instanceName': 'Instance Name',
+    'views.instanceId': 'Instance ID',
+    'views.displayName': 'Display Name',
+    'views.settings': 'Settings',
+    'views.advanced': 'Advanced',
+    'views.visible': 'Visible',
+    'views.description': 'Description',
+    'views.shortUrl': 'Short URL',
+    'views.instanceDescription': 'Instance Description',
+    'views.clusterConfiguration': 'Cluster Configuration',
+    'views.localCluster': 'Local Cluster',
+    'views.remoteCluster': 'Remote Cluster',
+    'views.registerRemoteCluster': 'Register Remote Cluster',
+    'views.clusterName': 'Cluster Name',
+    'views.custom': 'Custom',
+    'views.icon': 'Icon',
+    'views.icon64': 'Icon64',
+    'views.permissions': 'Permissions',
+    'views.permission': 'Permission',
+    'views.grantUsers': 'Grant permission to these users',
+    'views.grantGroups': 'Grant permission to these groups',
+    'views.configuration': 'Configuration',
+    'views.goToInstance': 'Go to instance',
+    'views.pending': 'Pending...',
+    'views.deploying': 'Deploying...',
+    'views.properties': 'properties',
+    'views.urlDelete': 'Delete URL',
+
+    'views.clusterPermissions.label': 'Local Cluster Permissions',
+    'views.clusterPermissions.clusteradministrator': 'Cluster Administrator',
+    'views.clusterPermissions.clusteroperator': 'Cluster Operator',
+    'views.clusterPermissions.clusteruser': 'Cluster User',
+    'views.clusterPermissions.serviceadministrator': 'Service Administrator',
+    'views.clusterPermissions.serviceoperator': 'Service Operator',
+    'views.clusterPermissions.infoMessage': 'Grant <strong>Use</strong> 
permission for the following <strong>{{cluster}}</strong> Roles:',
+    'views.clusterPermissions.nonLocalClusterMessage': 'The ability to inherit 
view <strong>Use</strong> permission based on Cluster Roles is only available 
when using a Local Cluster configuration.',
+
+    'views.alerts.noSpecialChars': 'Must not contain any special characters.',
+    'views.alerts.noSpecialCharsOrSpaces': 'Must not contain any special 
characters or spaces.',
+    'views.alerts.instanceExists': 'Instance with this name already exists.',
+    'views.alerts.notDefined': 'There are no {{term}} defined for this view.',
+    'views.alerts.cannotEditInstance': 'Cannot Edit Static Instances',
+    'views.alerts.cannotDeleteStaticInstance': 'Cannot Delete Static 
Instances',
+    'views.alerts.deployError': 'Error deploying. Check Ambari Server log.',
+    'views.alerts.unableToCreate': 'Unable to create view instances',
+    'views.alerts.cannotUseOption': 'This view cannot use this option',
+    'views.alerts.unableToResetErrorMessage': 'Unable to reset error message 
for prop: {{key}}',
+    'views.alerts.instanceCreated': 'Created View Instance {{instanceName}}',
+    'views.alerts.unableToParseError': 'Unable to parse error message: 
{{message}}',
+    'views.alerts.cannotCreateInstance': 'Cannot create instance',
+    'views.alerts.cannotLoadInstanceInfo': 'Cannot load instance info',
+    'views.alerts.cannotLoadPermissions': 'Cannot load permissions',
+    'views.alerts.cannotSaveSettings': 'Cannot save settings',
+    'views.alerts.cannotSaveProperties': 'Cannot save properties',
+    'views.alerts.cannotDeleteInstance': 'Cannot delete instance',
+    'views.alerts.cannotLoadViews': 'Cannot load views',
+    'views.alerts.cannotLoadViewUrls': 'Cannot load view URLs',
+    'views.alerts.cannotLoadViewUrl': 'Cannot load view URL',
+    'views.alerts.savedRemoteClusterInformation': 'Remote cluster information 
is saved.',
+    'views.alerts.credentialsUpdated': 'Credentials Updated.',
+
+    'urls.name': 'Name',
+    'urls.url': 'URL',
+    'urls.viewUrls': 'View URLs',
+    'urls.createNewUrl': 'Create New URL',
+    'urls.create': 'Create',
+    'urls.edit': 'Edit',
+    'urls.view': 'View',
+    'urls.viewInstance': 'Instance',
+    'urls.step1': 'Create URL',
+    'urls.step2': 'Select instance',
+    'urls.step3': 'Assign URL',
+    'urls.noUrlsToDisplay': 'No URLs to display.',
+    'urls.noViewInstances': 'No view instances',
+    'urls.none': 'None',
+    'urls.change': 'Change',
+    'urls.urlCreated': 'Created short URL <a 
href="{{siteRoot}}#/main/view/{{viewName}}/{{shortUrl}}">{{urlName}}</a>',
+    'urls.urlUpdated': 'Updated short URL <a 
href="{{siteRoot}}#/main/view/{{viewName}}/{{shortUrl}}">{{urlName}}</a>',
+
+    'clusters.switchToList': 'Switch&nbsp;to&nbsp;list&nbsp;view',
+    'clusters.switchToBlock': 'Switch&nbsp;to&nbsp;block&nbsp;view',
+    'clusters.role': 'Role',
+    'clusters.assignRoles': 'Assign roles to these {{term}}',
+
+    'clusters.alerts.cannotLoadClusterData': 'Cannot load cluster data',
+
+    'groups.createLocal': 'Create Local Group',
+    'groups.name': 'Group name',
+    'groups.members': 'Members',
+    'groups.membersPlural': '{{n}} member{{n == 1 ? "" : "s"}}',
+
+    'groups.alerts.groupCreated': 'Created group <a 
href="#/groups/{{groupName}}/edit">{{groupName}}</a>',
+    'groups.alerts.groupCreationError': 'Group creation error',
+    'groups.alerts.cannotUpdateGroupMembers': 'Cannot update group members',
+    'groups.alerts.getGroupsListError': 'Get groups list error',
+
+    'users.username': 'Username',
+    'users.userName': 'User name',
+    'users.admin': 'Admin',
+    'users.ambariAdmin': 'Ambari Admin',
+    'users.ambariClusterURL': 'Ambari Cluster URL',
+    'users.changePassword': 'Change Password',
+    'users.updateCredentials': 'Update Credentials',
+    'users.changePasswordFor': 'Change Password for {{userName}}',
+    'users.yourPassword': 'Your Password',
+    'users.newPassword': 'New User Password',
+    'users.newPasswordConfirmation': 'New User Password Confirmation',
+    'users.create': 'Create Local User',
+    'users.active': 'Active',
+    'users.inactive': 'Inactive',
+    'users.status': 'Status',
+    'users.password': 'Password',
+    'users.passwordConfirmation': 'Password сonfirmation',
+    'users.userIsAdmin': 'This user is an Ambari Admin and has all 
privileges.',
+    'users.showAll': 'Show all users',
+    'users.showAdmin': 'Show only admin users',
+    'users.groupMembership': 'Group Membership',
+    'users.userNameTip': 'Only alpha-numeric characters, up to 80 characters',
+
+    'users.changeStatusConfirmation.title': 'Change Status',
+    'users.changeStatusConfirmation.message': 'Are you sure you want to change 
status for user "{{userName}}" to {{status}}?',
+
+    'users.changePrivilegeConfirmation.title': 'Change Admin Privilege',
+    'users.changePrivilegeConfirmation.message': 'Are you sure you want to 
{{action}} Admin privilege to user "{{userName}}"?',
+    'users.changePrivilegeConfirmation.revoke': 'revoke',
+    'users.changePrivilegeConfirmation.grant': 'grant',
+
+    'users.roles.clusterUser': 'Cluster User',
+    'users.roles.clusterAdministrator': 'Cluster Administrator',
+    'users.roles.clusterOperator': 'Cluster Operator',
+    'users.roles.serviceAdministrator': 'Service Administrator',
+    'users.roles.serviceOperator': 'Service Operator',
+    'users.roles.ambariAdmin': 'Ambari Administrator',
+    'users.roles.viewUser': 'View User',
+    'users.roles.none': 'None',
+    'users.roles.oneRolePerUserOrGroup': 'Only 1 role allowed per user or 
group',
+    'users.roles.permissionLevel': '{{level}}-level Permissions',
+
+    'users.alerts.passwordRequired': 'Password required',
+    'users.alerts.wrongPassword': 'Password must match!',
+    'users.alerts.usernameRequired': 'Username Required',
+    'users.alerts.cannotChange': 'Cannot Change {{term}}',
+    'users.alerts.userCreated': 'Created user <a 
href="#/users/{{encUserName}}">{{userName}}</a>',
+    'users.alerts.userCreationError': 'User creation error',
+    'users.alerts.removeUserError': 'Removing from group error',
+    'users.alerts.cannotAddUser': 'Cannot add user to group',
+    'users.alerts.passwordChanged': 'Password changed.',
+    'users.alerts.cannotChangePassword': 'Cannot change password',
+    'users.alerts.roleChanged': '{{name}} changed to {{role}}',
+    'users.alerts.roleChangedToNone': '{{user_name}}\'s explicit privilege has 
been changed to \'NONE\'. Any privilege now seen for this user comes through 
its Group(s).',
+    'users.alerts.usersEffectivePrivilege': '{{user_name}}\'s effective 
privilege through its Group(s) is higher than your selected privilege.',
+
+    'versions.current': 'Current',
+    'versions.addVersion': 'Add Version',
+    'versions.defaultVersion': '(Default Version Definition)',
+    'versions.inUse': 'In Use',
+    'versions.installed': 'Installed',
+    'versions.usePublic': 'Use Public Repository',
+
+    'versions.networkIssues.networkLost': 'Why is this disabled?',
+    'versions.networkIssues.publicDisabledHeader': 'Public Repository Option 
Disabled',
+    'versions.networkIssues.publicRepoDisabledMsg': 'Ambari does not have 
access to the Internet and cannot use the Public Repository for installing the 
software. Your Options:',
+    'versions.networkIssues.publicRepoDisabledMsg1': 'Configure your hosts for 
access to the Internet.',
+    'versions.networkIssues.publicRepoDisabledMsg2': 'If you are using an 
Internet Proxy, refer to the Ambari Documentation on how to configure Ambari to 
use the Internet Proxy.',
+    'versions.networkIssues.publicRepoDisabledMsg3': 'Use the Local Repositoy 
option.',
+
+    'versions.selectVersion': 'Select Version',
+    'versions.selectVersionEmpty': 'No other repositories',
+    'versions.useLocal': 'Use Local Repository',
+    'versions.uploadFile': 'Upload Version Definition File',
+    'versions.enterURL': 'Version Definition File URL',
+    'versions.URLPlaceholder': 'Enter URL to Version Definition File',
+    'versions.defaultURL': 'https://',
+    'versions.readInfo': 'Read Version Info',
+    'versions.browse': 'Browse',
+    'versions.installOn': 'Install on...',
+
+    'versions.register.title': 'Register Version',
+
+    'versions.register.error.header': 'Unable to Register',
+    'versions.register.error.body': 'You are attempting to register a version 
with a Base URL that is already in use with an existing registered version. You 
*must* review your Base URLs and confirm they are unique for the version you 
are trying to register.',
+
+    'versions.deregister': 'Deregister Version',
+    'versions.deregisterConfirmation': 'Are you sure you want to deregister 
version <strong>{{versionName}}</strong> ?',
+    'versions.placeholder': 'Version Number (0.0)',
+    'versions.repos': 'Repositories',
+    'versions.os': 'OS',
+    'versions.baseURL': 'Base URL',
+    'versions.skipValidation': 'Skip Repository Base URL validation 
(Advanced)',
+    'versions.noVersions': 'Select version to display details.',
+    'versions.patch': 'Patch',
+    'versions.introduction': 'To register a new version in Ambari, provide a 
Version Definition File, confirm the software repository information and save 
the version.',
+    'versions.repoID': 'Repo ID',
+    'versions.repoName': 'Repo Name',
+
+    'versions.contents.title': 'Contents',
+    'versions.contents.empty': 'No contents to display',
+
+    'versions.details.stackName': 'Stack Name',
+    'versions.details.displayName': 'Display Name',
+    'versions.details.version': 'Version',
+    'versions.details.actualVersion': 'Actual Version',
+    'versions.details.releaseNotes': 'Release Notes',
+
+    'versions.repository.placeholder': 'Enter Base URL or remove this OS',
+    'versions.repository.add': 'Add Repository',
+
+    'versions.useRedhatSatellite.title': 'Use RedHat Satellite/Spacewalk',
+    'versions.useRedhatSatellite.warning': 'By selecting to <b>"Use RedHat 
Satellite/Spacewalk"</b> for the software repositories, ' +
+      'you are responsible for configuring the repository channel in 
Satellite/Spacewalk and confirming the repositories for the selected <b>stack 
version</b> are available on the hosts in the cluster. ' +
+      'Refer to the Ambari documentation for more information.',
+    'versions.useRedhatSatellite.disabledMsg': 'Use of RedHat 
Satellite/Spacewalk is not available when using Public Repositories',
+
+    'versions.changeBaseURLConfirmation.title': 'Confirm Base URL Change',
+    'versions.changeBaseURLConfirmation.message': 'You are about to change 
repository Base URLs that are already in use. Please confirm that you intend to 
make this change and that the new Base URLs point to the same exact Stack 
version and build',
+
+    'versions.alerts.baseURLs': 'Provide Base URLs for the Operating Systems 
you are configuring.',
+    'versions.alerts.validationFailed': 'Some of the repositories failed 
validation. Make changes to the base url or skip validation if you are sure 
that urls are correct',
+    'versions.alerts.skipValidationWarning': '<b>Warning:</b> This is for 
advanced users only. Use this option if you want to skip validation for 
Repository Base URLs.',
+    'versions.alerts.useRedhatSatelliteWarning': 'Disable distributed 
repositories and use RedHat Satellite/Spacewalk channels instead',
+    'versions.alerts.filterListError': 'Fetch stack version filter list error',
+    'versions.alerts.versionCreated': 'Created version <a 
href="#/stackVersions/{{stackName}}/{{versionName}}/edit">{{stackName}}-{{versionName}}</a>',
+    'versions.alerts.versionCreationError': 'Version creation error',
+    'versions.alerts.allOsAdded': 'All Operating Systems have been added',
+    'versions.alerts.osListError': 'getSupportedOSList error',
+    'versions.alerts.readVersionInfoError': 'Version Definition read error',
+    'versions.alerts.versionEdited': 'Edited version <a 
href="#/stackVersions/{{stackName}}/{{versionName}}/edit">{{displayName}}</a>',
+    'versions.alerts.versionUpdateError': 'Version update error',
+    'versions.alerts.versionDeleteError': 'Version delete error',
+    'versions.alerts.repositoryExists': 'A repository with the same Repo ID 
already exists for {{os}}!',
+    'versions.alerts.cannotDeleteInstalled': 'Cannot delete version already 
installed.',
+
+    'authentication.description': 'Ambari supports authenticating against 
local Ambari users created and stored in the Ambari Database, or authenticating 
against a LDAP server:',
+    'authentication.ldap': 'LDAP Authentication',
+    'authentication.on': 'On',
+    'authentication.off': 'Off',
+
+    'authentication.connectivity.title': 'LDAP Connectivity Configuration',
+    'authentication.connectivity.host': 'LDAP Server Host',
+    'authentication.connectivity.port': 'LDAP Server Port',
+    'authentication.connectivity.ssl': 'Use SSL?',
+
+    'authentication.connectivity.trustStore.label': 'Trust Store',
+
+    'authentication.connectivity.trustStore.options.default': 'JDK Default',
+    'authentication.connectivity.trustStore.options.custom': 'Custom',
+
+    'authentication.connectivity.trustStorePath': 'Trust Store Path',
+
+    'authentication.connectivity.trustStoreType.label': 'Trust Store Type',
+
+    'authentication.connectivity.trustStoreType.options.jks': 'JKS',
+    'authentication.connectivity.trustStoreType.options.jceks': 'JCEKS',
+    'authentication.connectivity.trustStoreType.options.pkcs12': 'PKCS12',
+
+    'authentication.connectivity.trustStorePassword': 'Trust Store Password',
+    'authentication.connectivity.dn': 'Bind DN',
+    'authentication.connectivity.bindPassword': 'Bind Password',
+
+    'authentication.connectivity.controls.testConnection': 'Test Connection',
+
+    'authentication.attributes.title': 'LDAP Attribute Configuration',
+
+    'authentication.attributes.detection.label': 'Identifying the proper 
attributes to be used when authenticating and looking up users and groups can 
be specified manually, or automatically detected. Please choose:',
+
+    'authentication.attributes.detection.options.manual': 'Define Attributes 
Manually',
+    'authentication.attributes.detection.options.auto': 'Auto-Detect 
Attributes',
+
+    'authentication.attributes.userSearch': 'User Search Base',
+    'authentication.attributes.groupSearch': 'Group Search Base',
+    'authentication.attributes.detected': 'The following attributes were 
detected, please review and Test Attributes to ensure their accuracy.',
+    'authentication.attributes.userObjClass': 'User Object Class',
+    'authentication.attributes.userNameAttr': 'User Name Attribute',
+    'authentication.attributes.groupObjClass': 'Group Object Class',
+    'authentication.attributes.groupNameAttr': 'Group Name Attribute',
+    'authentication.attributes.groupMemberAttr': 'Group Member Attribute',
+    'authentication.attributes.distinguishedNameAttr': 'Distinguished Name 
Attribute',
+
+    'authentication.attributes.test.description': 'To quickly test the chosen 
attributes click the button below. During this process you can specify a test 
user name and password and Ambari will attempt to authenticate and retrieve 
group membership information',
+    'authentication.attributes.test.username': 'Test Username',
+    'authentication.attributes.test.password': 'Test Password',
+
+    'authentication.attributes.groupsList': 'List of Groups',
+
+    'authentication.attributes.controls.autoDetect': 'Perform Auto-Detection',
+    'authentication.attributes.controls.testAttrs': 'Test Attributes',
+
+    'authentication.attributes.alerts.successfulAuth': 'Successful 
Authentication',
+
+    'authentication.controls.test': 'Test',
+
+    'exportBlueprint.dataLoaded': 'Data loaded...',
+
+    'remoteClusters.ambariClusterName': 'Ambari Cluster Name',
+    'remoteClusters.clusterURLPlaceholder': 
'http://ambari.server:8080/api/v1/clusters/c1',
+
+    'remoteClusters.alerts.fetchError': 'Error in fetching remote clusters.'
   });
 
   $translateProvider.preferredLanguage('en');

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/AddVersionModal.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/AddVersionModal.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/AddVersionModal.js
index 3345b0b..cd86a78 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/AddVersionModal.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/AddVersionModal.js
@@ -59,7 +59,7 @@ angular.module('ambariAdminConsole')
             index: 2,
             displayName: $t('versions.enterURL'),
             url: "",
-            placeholder: "Enter URL to Version Definition File"
+            placeholder: $t('versions.URLPlaceholder')
           };
           $scope.readInfoButtonDisabled = function () {
             return $scope.option1.index == $scope.selectedLocalOption.index ? 
!$scope.option1.file : !$scope.option2.url;

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
index 64abd9d..23ba220 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
@@ -62,7 +62,7 @@ angular.module('ambariAdminConsole')
 
     });
     if (!passOneRoleCheck(arr)) {
-      console.log("CHECK FAILED");
+      console.log($t('common.alerts.checkFailed'));
       var deferred = $q.defer();
       deferred.reject({
         data: {

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 418c115..b6ec61d 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
@@ -129,7 +129,7 @@
     <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> {{'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>
+      <a href ng-switch-when="true" class="settings-edit-toggle disabled" 
tooltip="{{'views.alerts.cannotEditInstance' | translate}}"> <span 
class="glyphicon glyphicon-pencil" ></span> {{'views.edit' | translate}}</a>
     </div>
   </div>
   <div class="panel-body">

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 e13f84c..c5410c1 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
@@ -48,7 +48,7 @@
               {{'common.alerts.noSpecialChars' | translate}}
             </div>
             <div class="alert alert-danger no-margin-bottom top-margin" 
ng-show='instanceExists'>
-              {{'common.alerts.instanceExists' | translate}}
+              {{'views.alerts.instanceExists' | translate}}
             </div>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/authentication/main.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/authentication/main.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/authentication/main.html
index 57ba7c9..fddedb9 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/authentication/main.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/authentication/main.html
@@ -66,7 +66,7 @@
       <div class="form-group">
         <label for="trust-store" class="control-label 
col-sm-4">{{'authentication.connectivity.trustStore.label' | translate}}</label>
         <div class="col-sm-3">
-          <select class="form-control" id="trust-store" 
ng-model="connectivity.trustStore" 
ng-options="t('authentication.connectivity.trustStore.options.' + item) for 
item in connectivity.trustStoreOptions"></select>
+          <select class="form-control" id="trust-store" 
ng-model="connectivity.trustStore" ng-options="t(item) for item in 
connectivity.trustStoreOptions"></select>
         </div>
       </div>
       <div ng-show="connectivity.trustStore === 'custom'">
@@ -79,7 +79,7 @@
         <div class="form-group">
           <label for="trust-store-type" class="control-label 
col-sm-4">{{'authentication.connectivity.trustStoreType.label' | 
translate}}</label>
           <div class="col-sm-3">
-            <select class="form-control" id="trust-store-type" 
ng-model="connectivity.trustStoreType" 
ng-options="t('authentication.connectivity.trustStoreType.options.' + item) for 
item in connectivity.trustStoreTypeOptions"></select>
+            <select class="form-control" id="trust-store-type" 
ng-model="connectivity.trustStoreType" ng-options="t(item) for item in 
connectivity.trustStoreTypeOptions"></select>
           </div>
         </div>
         <div class="form-group">

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 3729e7d..a399eff 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
@@ -40,8 +40,8 @@
           <label>{{'common.roles' | translate}}</label>&nbsp;
           <i class="glyphicon glyphicon-question-sign green-icon 
cursor-pointer" ng-click="showHelpPage()"></i>
         </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>
+        <th class="col-sm-5" width="40%"><label>{{'clusters.assignRoles' | 
translate: '{term: getConstant("common.users")}'}}</label></th>
+        <th class="col-sm-5" width="40%"><label>{{'clusters.assignRoles' | 
translate: '{term: getConstant("common.groups")}'}}</label></th>
       </tr>
     </thead>
     <tbody>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/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 041a228..9a0e0fb 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
@@ -29,7 +29,7 @@
         {{'common.alerts.fieldIsRequired' | translate}}
       </div>
       <div class="alert alert-danger top-margin" 
ng-show="form.group_name.$error.pattern && form.submitted">
-        {{'groups.alerts.onlySimpleChars' | translate}}
+        {{'common.alerts.onlySimpleChars' | translate}}
       </div>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html
index 9dbc23f..e5890e5 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html
@@ -42,7 +42,7 @@
                       autocomplete="off">
             </textarea>
             <div class="alert alert-danger top-margin" 
ng-show="form.login_text.$error.pattern && form.submitted">
-             {{'common.loginActivities.onlySimpleChars' | translate}}
+             {{'common.alerts.onlySimpleChars' | translate}}
             </div>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddRepositoryModal.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddRepositoryModal.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddRepositoryModal.html
index a439bde..5639a3f 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddRepositoryModal.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddRepositoryModal.html
@@ -16,16 +16,16 @@
 * limitations under the License.
 -->
 <div class="modal-header" xmlns="http://www.w3.org/1999/html";>
-    <h3 class="modal-title">Add Repository</h3>
+    <h3 class="modal-title">{{'versions.repository.add' | translate}}</h3>
 </div>
 <form class="form-horizontal" name="addRepoForm" novalidate>
     <div class="modal-body">
         <div class="alert alert-warning hide-soft" ng-class="{'visible' : 
showAlert}" role="alert">
-            A repository with the same Repo ID already exists for 
{{repo.selectedOS}}!
+            {{'versions.alerts.repositoryExists' | translate: '{os: 
repo.selectedOS}'}}
         </div>
         <div class="form-group">
             <div class="col-sm-3">
-                <label class="control-label">OS</label>
+                <label class="control-label">{{'versions.os' | 
translate}}</label>
             </div>
             <div class="col-sm-4">
                 <select class="form-control" ng-options="os for os in osTypes" 
ng-model="repo.selectedOS"></select>
@@ -33,7 +33,7 @@
         </div>
         <div class="form-group">
             <div class="col-sm-3">
-                <label class="control-label">Repo ID</label>
+                <label class="control-label">{{'versions.repoID' | 
translate}}</label>
             </div>
             <div class="col-sm-9">
                 <input name="repoId" type="text" class="form-control" 
ng-model="repo.id" ng-required="true">
@@ -41,7 +41,7 @@
         </div>
         <div class="form-group">
             <div class="col-sm-3">
-                <label class="control-label">Repo Name</label>
+                <label class="control-label">{{'versions.repoName' | 
translate}}</label>
             </div>
             <div class="col-sm-9">
                 <input name="repoName" type="text" class="form-control" 
ng-model="repo.name" ng-required="true">
@@ -49,7 +49,7 @@
         </div>
         <div class="form-group">
             <div class="col-sm-3">
-                <label class="control-label">Base URL</label>
+                <label class="control-label">{{'versions.baseURL' | 
translate}}</label>
             </div>
             <div class="col-sm-9">
                 <input name="repoUrl" type="text" class="form-control" 
ng-model="repo.baseUrl" ng-required="true">
@@ -57,7 +57,7 @@
         </div>
     </div>
     <div class="modal-footer">
-        <button class="btn btn-default" ng-click="cancel()">Cancel</button>
-        <button class="btn btn-primary" ng-disabled="addRepoForm.$invalid" 
ng-click="add(repo)" >Add</button>
+        <button class="btn btn-default" 
ng-click="cancel()">{{'common.controls.cancel' | translate}}</button>
+        <button class="btn btn-primary" ng-disabled="addRepoForm.$invalid" 
ng-click="add(repo)" >{{'common.controls.add' | translate}}</button>
     </div>
 </form>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddVersionModal.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddVersionModal.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddVersionModal.html
index 993cef5..457be7b 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddVersionModal.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AddVersionModal.html
@@ -16,7 +16,7 @@
 * limitations under the License.
 -->
 <div class="modal-header">
-    <h3 class="modal-title">Add Version</h3>
+    <h3 class="modal-title">{{'versions.addVersion' | translate}}</h3>
 </div>
 <br>
 <div class="clearfix register-version-options" 
ng-click="selectedLocalOption.index=1">
@@ -46,7 +46,7 @@
     </div>
 </div>
 <div class="modal-footer">
-    <button class="btn btn-default" ng-click="cancel()">Cancel</button>
+    <button class="btn btn-default" 
ng-click="cancel()">{{'common.controls.cancel' | translate}}</button>
     <button class="btn btn-primary" ng-model="button" 
ng-click="readVersionInfo()"
             ng-disabled="readInfoButtonDisabled()">{{'versions.readInfo' | 
translate}}</button>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/editRemoteClusterPage.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/editRemoteClusterPage.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/editRemoteClusterPage.html
index c3ad9e7..e5d3055 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/editRemoteClusterPage.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/editRemoteClusterPage.html
@@ -33,7 +33,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">
     <label for="clustername" class="col-sm-2 
control-label">{{'views.clusterName' | translate}}*</label>
     <div class="col-sm-10">
-      <input type="text" id="clustername" class="form-control" 
name="cluster_name" ng-pattern="nameValidationPattern" placeholder="Cluster 
Name" ng-model="cluster.cluster_name" required autocomplete="off">
+      <input type="text" id="clustername" class="form-control" 
name="cluster_name" ng-pattern="nameValidationPattern" 
placeholder="{{'views.clusterName' | translate}}" 
ng-model="cluster.cluster_name" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_name.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
       <div class="alert alert-danger top-margin" 
ng-show='form.cluster_name.$error.pattern && 
form.submitted'>{{'views.alerts.noSpecialCharsOrSpaces' | translate}}</div>
     </div>
@@ -42,7 +42,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">
     <label for="clusterurl" class="col-sm-2 
control-label">{{'users.ambariClusterURL' | translate}}*</label>
     <div class="col-sm-10">
-      <input type="text" id="clusterurl" class="form-control" 
name="cluster_url" placeholder="Ambari Cluster URL" 
ng-model="cluster.cluster_url" required autocomplete="off">
+      <input type="text" id="clusterurl" class="form-control" 
name="cluster_url" placeholder="{{'users.ambariClusterURL' | translate}}" 
ng-model="cluster.cluster_url" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_url.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
     </div>
   </div>
@@ -50,7 +50,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}" style="display: none" >
     <label for="clusteruser" class="col-sm-2 control-label"> 
{{'users.roles.clusterUser' | translate}}*</label>
     <div class="col-sm-10">
-      <input type="text" id="clusteruser" class="form-control" 
name="cluster_user" placeholder="Cluster User" ng-model="cluster.cluster_user" 
required autocomplete="off">
+      <input type="text" id="clusteruser" class="form-control" 
name="cluster_user" placeholder="{{'users.roles.clusterUser' | translate}}" 
ng-model="cluster.cluster_user" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_user.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/list.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/list.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/list.html
index bdecbdc..3bbf09d 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/list.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/list.html
@@ -19,7 +19,7 @@
 <div class="users-pane">
   <div class="clearfix">
     <ol class="breadcrumb pull-left">
-      <li class="active">Remote Clusters</li>
+      <li class="active">{{'common.remoteClusters' | translate}}</li>
     </ol>
     <div class="pull-right top-margin-4">
       <a href="#/remoteClusters/create" class="btn btn-primary">

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/remoteClusterPage.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/remoteClusterPage.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/remoteClusterPage.html
index db869f2..397149a 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/remoteClusterPage.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/remoteClusters/remoteClusterPage.html
@@ -25,7 +25,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">
     <label for="clustername" class="col-sm-2 
control-label">{{'views.clusterName' | translate}}* </label>
     <div class="col-sm-10">
-      <input type="text" id="clustername" class="form-control" 
ng-pattern="nameValidationPattern" name="cluster_name" placeholder="Ambari 
Cluster Name" ng-model="cluster.cluster_name" required autocomplete="off">
+      <input type="text" id="clustername" class="form-control" 
ng-pattern="nameValidationPattern" name="cluster_name" 
placeholder="{{'remoteClusters.ambariClusterName' | translate}}" 
ng-model="cluster.cluster_name" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_name.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
       <div class="alert alert-danger top-margin" 
ng-show='form.cluster_name.$error.pattern && 
form.submitted'>{{'views.alerts.noSpecialCharsOrSpaces' | translate}}</div>
     </div>
@@ -34,7 +34,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">
     <label for="clusterurl" class="col-sm-2 
control-label">{{'users.ambariClusterURL' | translate}}*</label>
     <div class="col-sm-10">
-      <input type="text" id="clusterurl" class="form-control" 
name="cluster_url" placeholder="http://ambari.server:8080/api/v1/clusters/c1"; 
ng-model="cluster.cluster_url" required autocomplete="off">
+      <input type="text" id="clusterurl" class="form-control" 
name="cluster_url" placeholder="{{'remoteClusters.clusterURLPlaceholder' | 
translate}}" ng-model="cluster.cluster_url" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_url.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
     </div>
   </div>
@@ -42,7 +42,7 @@
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">
     <label for="clusteruser" class="col-sm-2 control-label"> 
{{'users.roles.clusterUser' | translate}}*</label>
     <div class="col-sm-10">
-      <input type="text" id="clusteruser" class="form-control" 
name="cluster_user" placeholder="Cluster User" ng-model="cluster.cluster_user" 
required autocomplete="off">
+      <input type="text" id="clusteruser" class="form-control" 
name="cluster_user" placeholder="{{'users.roles.clusterUser' | translate}}" 
ng-model="cluster.cluster_user" required autocomplete="off">
       <div class="alert alert-danger top-margin" 
ng-show="form.cluster_user.$error.required && form.submitted"> 
{{'common.alerts.fieldIsRequired' | translate}}</div>
     </div>
   </div>
@@ -50,7 +50,7 @@
   <div class="form-group" ng-class="{'has-error' : 
(form.password.$error.required && form.submitted) || 
form.confirmPassword.$error.passwordVerify}">
     <label for="password" class="col-sm-2 control-label">{{'users.password' | 
translate}}*</label>
     <div class="col-sm-10">
-      <input type="password" id="password" class="form-control bottom-margin 
userpassword" name="password" placeholder="Password" required 
ng-model="cluster.cluster_password" autocomplete="off">
+      <input type="password" id="password" class="form-control bottom-margin 
userpassword" name="password" placeholder="{{'users.password' | translate}}" 
required ng-model="cluster.cluster_password" autocomplete="off">
       <div class="alert alert-danger" 
ng-show='form.confirmPassword.$error.passwordVerify'>{{'users.alerts.wrongPassword'
 | translate}}</div>
       <div class="alert alert-danger" ng-show='form.password.$error.required 
&& form.submitted'>{{'common.alerts.passwordRequired' | translate}}</div>
     </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe4b87c7/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
index 58326aa..488933d 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/stackVersions/list.html
@@ -109,11 +109,11 @@
     <i class="fa fa-2x fa-spinner fa-spin" aria-hidden="true"></i>
   </div>
   <div class="alert alert-info col-sm-12" ng-show="!repos.length && 
!isLoading">
-    {{'common.alerts.nothingToDisplay' | translate: '{term: 
getConstant("version")}'}}
+    {{'common.alerts.nothingToDisplay' | translate: '{term: 
getConstant("common.version")}'}}
   </div>
   <div class="col-sm-12 table-bar">
     <div class="pull-left filtered-info">
-      <span>{{'common.filterInfo' | translate: '{showed: tableInfo.showed, 
total: tableInfo.total, term: getConstant("versions")}'}}</span>
+      <span>{{'common.filterInfo' | translate: '{showed: tableInfo.showed, 
total: tableInfo.total, term: getConstant("common.versions")}'}}</span>
       <span ng-show="isNotEmptyFilter">- <a href 
ng-click="clearFilters()">{{'common.controls.clearFilters' | 
translate}}</a></span>
     </div>
     <div class="pull-right left-margin">

Reply via email to