/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

Em.I18n.translations = {

  'app.name':'Ambari',

  'login.header':'Sign in',
  'login.username':'Username',
  'login.password':'Password',
  'login.loginButton':'Sign in',
  'login.error':'Invalid username/password combination.',

  'services.nagios.description':'Nagios Monitoring and Alerting system',
  'services.ganglia.description':'Ganglia Metrics Collection system',
  'services.hdfs.description':'Apache Hadoop Distributed File System',
  'services.mapreduce.description':'Apache Hadoop Distributed Processing Framework',
  'services.sqoop.description':'Tool for transferring bulk data between Apache Hadoop and structured data stores such as relational databases',
  'services.pig.description':'Scripting platform for analyzing large datasets',
  'services.hive.description':'Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service',
  'services.oozie.description':'System for workflow coordination and execution of Apache Hadoop jobs',
  'services.zookeeper.description':'ZooKeeper desc',
  'services.hbase.description':'Non-relational distributed database and centralized service for configuration management & synchronization',

  'topnav.logo.href':'http://incubator.apache.org/ambari/',
  'topnav.help.href':'https://cwiki.apache.org/confluence/display/AMBARI/Ambari',

  'installer.header':'Cluster Install Wizard',
  'installer.navigation.warning.header':'Navigation Warning',
  'installer.step1.header':'Welcome',
  'installer.step1.body.header':'Welcome to Apache Ambari!',
  'installer.step1.body':'Ambari makes it easy to install, manage, and monitor Hadoop clusters.<br>' +
    'We will walk you through the cluster installation process with this step-by-step wizard.',
  'installer.step1.clusterName':'Name your cluster',
  'installer.step1.clusterName.tooltip.title':'Cluster Name',
  'installer.step1.clusterName.tooltip.content':'Enter a unique cluster name. Cluster name cannot be changed later.',
  'installer.step1.clusterName.error.required':'Cluster Name is required',
  'installer.step1.clusterName.error.whitespaces':'Cluster Name cannot contain white spaces',
  'installer.step1.clusterName.error.specialChar':'Cluster Name cannot contain special characters',

  'installer.step2.header':'Install Options',
  'installer.step2.body':'Enter the list of hosts to be included in the cluster, provide your SSH key, and optionally specify a local repository.',
  'installer.step2.targetHosts':'Target Hosts',
  'installer.step2.targetHosts.info':'Enter a list of host names, one per line',
  'installer.step2.hostPattern.tooltip.title':'Pattern Expressions',
  'installer.step2.hostPattern.tooltip.content':'You can use pattern expressions to specify a number of target hosts.  Explain brackets.',
  'installer.step2.hostName.error.required':'You must specify at least one host name',
  'installer.step2.hostName.error.notRequired':'Host Names will be ignored if not using SSH to automatically configure hosts',
  'installer.step2.hostName.error.invalid':'Invalid Host Name(s) - cannot start or end with a hyphen',
  'installer.step2.hostName.pattern.header':'Host name pattern expressions',
  'installer.step2.sshKey':'Host Connectivity Information',
  'installer.step2.sshKey.info':'Provide your SSH Private Key (<b>id_rsa</b> for <b>root</b>)',
  'installer.step2.sshKey.error.required':'SSH Private Key is required',
  'installer.step2.passphrase.error.match':'Passphrases do not match',
  'installer.step2.manualInstall.label':'Do not use SSH to automatically configure hosts ',
  'installer.step2.manualInstall.info':'By not using SSH to connect to the target hosts, you must manually install and start the ' +
    'Ambari Agent on each host in order for the wizard to perform the necessary configurations and software installs.',
  'installer.step2.advancedOption':'Advanced Options',
  'installer.step2.repoConf':'Software Repository Configuration File Path',
  'installer.step2.localRepo.header':'Software Repository',
  'installer.step2.localRepo.label':'Use a local software repository',
  'installer.step2.localRepo.error.required':'Local repository file path is required',
  'installer.step2.localRepo.info':'Instructs the package manager to use your local software repository to retrieve software packages, instead of ' +
    'downloading from the internet.',
  'installer.step2.localRepo.tooltip.title':'Local Software Repository',
  'installer.step2.localRepo.tooltip.content':'Instructs the package manager to use your local software repository to retrieve software packages, instead of' +
    'downloading from the internet.',
  'installer.step2.manualInstall.tooltip.title':'Not Using SSH (Manual Install)',
  'installer.step2.manualInstall.tooltip.content':'If you do not wish Ambari to automatically configure the target hosts via SSH,' +
    ' you have the option of configuring them yourself.  This involves installing and starting Ambari Agent on each of your target hosts.',
  'installer.step2.manualInstall.popup.header':'Before You Proceed',
  'installer.step2.manualInstall.popup.body':'You must install Ambari Agents on each host you want to manage before you proceed.  <a href="#" target="_blank">Learn more</a>',

  'installer.step3.header':'Confirm Hosts',
  'installer.step3.body':'Registering your hosts.<br>' +
    'Please confirm the host list and remove any hosts you do not want to include the cluster.',
  'installer.step3.hostLog.popup.header':'Registration log for {0}',
  'installer.step3.hosts.remove.popup.header':'Remove Hosts',
  'installer.step3.hosts.remove.popup.body':'Are you sure you want to remove the selected host(s)?',
  'installer.step3.hosts.retry.popup.header':'Retry Host Discovery',
  'installer.step3.hosts.retry.popup.body':'Are you sure you want to retry discovery of the selected host(s)?',
  'installer.step3.hosts.summary' : 'Installing: %@, Registering: %@, Successful: %@, Failed: %@ ',
  'installer.step3.hostInformation.popup.header':'Error in retrieving host Information',
  'installer.step3.hostInformation.popup.body' : 'All bootstrapped hosts registered but unable to retrieve cpu and memory related information',
  'installer.step4.header':'Choose Services',
  'installer.step4.body':'Choose which services you want to install on your cluster.',
  'installer.step4.mapreduceCheck.popup.header':'MapReduce Needed',
  'installer.step4.mapreduceCheck.popup.body':'You did not select MapReduce, but it is needed by other services you selected.  We will automatically add MapReduce.  Is this OK?',
  'installer.step4.monitoringCheck.popup.header':'Limited Functionality Warning',
  'installer.step4.monitoringCheck.popup.body':'You did not select Nagios and/or Ganglia.  If both are not selected, monitoring and alerts will not function properly.  Is this OK?',

  'installer.step5.header':'Assign Masters',
  'installer.step5.attention':' hosts not running master services',
  'installer.step5.body':'Assign master components to hosts you want to run them on.',

  'installer.step6.header':'Assign Slaves and Clients',
  'installer.step6.body':'Assign slave and client components to hosts you want to run them on.<br/>Hosts that are assigned master components are shown with <i class=icon-asterisks>&#10037</i>. <br/>&quot;Client&quot; will install ',
  'installer.step6.error.mustSelectOne':'You must assign at least one host to each.',

  'installer.step7.header':'Customize Services',
  'installer.step7.body':'We have come up with recommended configurations for the services you selected.  Customize them as you see fit.',
  'installer.step7.attentionNeeded':'<strong>Attention:</strong> Some configurations need your attention before you can proceed.',

  'installer.step8.header':'Review',
  'installer.step8.body':'Please review the cluster configuration before installation',

  'installer.step9.header':'Install, Start and Test',
  'installer.step9.body':'Please wait while the selected services are installed, started, and tested on your new cluster.',
  'installer.step9.status.success':'Successfully installed the cluster.',
  'installer.step9.status.warning':'Installed the cluster with some warnings.',
  'installer.step9.status.failed':'Failed to install the cluster.',
  'installer.step9.host.status.success':'Success',
  'installer.step9.host.status.warning':'Warnings encountered',
  'installer.step9.host.status.failed':'Failures encountered',
  'installer.step9.hostLog.popup.header':'Tasks executed on ',

  'installer.step10.header':'Summary',
  'installer.step10.body':'Here is the summary of the cluster install process.',


  'form.create':'Create',
  'form.save':'Save',
  'form.cancel':'Cancel',
  'form.password':'Password',
  'form.passwordRetype':'Retype Password',
  'form.saveSuccess':'Successfully saved.',
  'form.saveError':'Sorry, errors occured.',

  'form.validator.invalidIp':'Please enter valid ip address',

  'admin.advanced.title':'Advanced',
  'admin.advanced.caution':'This section is for advanced user only.<br/>Proceed with caution.',
  'admin.advanced.button.uninstallIncludingData':'Uninstall cluster including all data.',
  'admin.advanced.button.uninstallKeepData':'Uninstall cluster but keep data.',

  'admin.advanced.popup.header':'Uninstall Cluster',

  /*'admin.advanced.popup.text':'Uninstall Cluster',*/

  'admin.audit.grid.date':"Date/Time",
  'admin.audit.grid.category':"Category",
  'admin.audit.grid.operationName':"Operation",
  'admin.audit.grid.performedBy':"Performed By",
  'admin.audit.grid.service':"Category",

  'admin.authentication.form.method.database':'Use Ambari Database to authenticate users',
  'admin.authentication.form.method.ldap':'Use LDAP/Active Directory to authenticate',
  'admin.authentication.form.primaryServer':'Primary Server',
  'admin.authentication.form.secondaryServer':'Secondary Server',
  'admin.authentication.form.useSsl':'Use SSL',
  'admin.authentication.form.bind.anonymously':"Bind Anonymously",
  'admin.authentication.form.bind.useCrenedtials':"Use Credentials To Bind",
  'admin.authentication.form.bindUserDN':'Bind User DN',
  'admin.authentication.form.searchBaseDN':'Search Base DN',
  'admin.authentication.form.usernameAttribute':'Username Attribute',

  'admin.authentication.form.userDN':'User DN',
  'admin.authentication.form.password':'Password',
  'admin.authentication.form.configurationTest':'Configuration Test',
  'admin.authentication.form.testConfiguration':'Test Configuration',

  'admin.authentication.form.test.success':'The configuration passes the test',
  'admin.authentication.form.test.fail':'The configuration fails the test',

  'admin.security.title':'Kerberos Security has not been enabled on this cluster.',
  'admin.security.button.enable':'Enable Kerberos Security on this cluster',

  'admin.users.ldapAuthentionUsed':'LDAP Authentication is being used to authenticate users',
  'admin.users.delete.yourself.message':'You can\'t delete yourself',
  'admin.users.delete.yourself.header':'Deleting warning',

  'admin.users.delete.header':'Delete {0}',

  'admin.users.addButton':'Add Local User',
  'admin.users.delete':'delete',
  'admin.users.edit':'edit',
  'admin.users.privileges':'Admin',
  'admin.users.type':'Type',
  'admin.users.action':'Action',
  'admin.users.password':'Password',
  'admin.users.passwordRetype':'Retype Password',
  'admin.users.username':'Username',

  'question.sure':'Are you sure?',
  'yes':'Yes',
  'no':'No',

  'services.service.start':'Start',
  'services.service.stop':'Stop',
  'services.service.confirmation.header':'Confirmation',
  'services.service.confirmation.body':'Are you sure?',
  'services.service.summary.version':'Version',
  'services.service.summary.nameNode':'NameNode Web UI',
  'services.service.summary.nameNodeUptime':'NameNode Uptime',
  'services.service.summary.nameNodeHeap':'NameNode Heap',
  'services.service.summary.pendingUpgradeStatus':'Upgrade Status',
  'services.service.summary.pendingUpgradeStatus.pending':'Pending upgrade',
  'services.service.summary.pendingUpgradeStatus.notPending':'No pending upgrade',
  'services.service.summary.safeModeStatus':'Safe Mode Status',
  'services.service.summary.safeModeStatus.inSafeMode':'In safe mode',
  'services.service.summary.safeModeStatus.notInSafeMode':'Not in safe mode',
  'services.service.summary.dataNodes':'DataNodes',
  'services.service.summary.diskCapacity':'HDFS Disk Capacity',
  'services.service.summary.blocksTotal':'Blocks (total)',
  'services.service.summary.blockErrors':'Block Errors',
  'services.service.summary.totalFiles':'Total Files + Dirs',
  'services.service.summary.jobTracker':'JobTracker',
  'services.service.summary.jobTrackerWebUI':'JobTracker Web UI',
  'services.service.summary.jobTrackerUptime':'JobTracker Uptime',
  'services.service.summary.trackersLiveTotal':'Trackers',
  'services.service.summary.trackersBlacklistGraylist':'Trackers',
  'services.service.summary.jobTrackerHeap':'JobTracker Heap',
  'services.service.summary.totalSlotsCapacity':'Total Slots Capacity',
  'services.service.summary.totalJobs':'Total Jobs',
  'services.service.summary.currentSlotUtiliMaps':'Map Slots',
  'services.service.summary.currentSlotUtiliReduces':'Reduce Slots',
  'services.service.summary.tasksMaps':'Tasks: Maps',
  'services.service.summary.tasksReduces':'Tasks: Reduces',
  'services.service.summary.hbaseMaster':'HBase Master Web UI',
  'services.service.summary.regionServerCount':'Region Server Count',
  'services.service.summary.regionInTransition':'Region In Transition',
  'services.service.summary.masterStarted':'Master Started',
  'services.service.summary.masterActivated':'Master Activated',
  'services.service.summary.averageLoad':'Average Load',
  'services.service.summary.masterHeap':'Master Heap',
  'services.service.summary.moreStats':'more stats here',
  'services.service.summary.clientCount': '{0} Client Hosts',
  'services.service.actions.run.rebalancer':'Run Rebalancer',
  'services.service.actions.run.compaction':'Run Compaction',
  'services.service.actions.run.smoke':'Run Smoke Test',
  'services.service.actions.maintenance':'Maintenance',
  'services.service.summary.unknown':'unknown',

  'services.add.header':'Add Service Wizard',

  'hosts.host.start.popup.header':'Confirmation',
  'hosts.host.stop.popup.header':'Confirmation',
  'hosts.host.start.popup.body':'Are you sure?',
  'hosts.host.stop.popup.body':'Are you sure?',
  'hosts.assignedToRack.popup.body':'Are you sure?',
  'hosts.assignedToRack.popup.header':'Confirmation',
  'hosts.decommission.popup.body':'Are you sure?',
  'hosts.decommission.popup.header':'Confirmation',
  'hosts.delete.popup.body':'Are you sure?',
  'hosts.delete.popup.header':'Confirmation',
  'hosts.cant.do.popup.header':'Operation not allowed',
  'hosts.cant.do.popup.masterList.body':'You cannot delete this host because it is hosting following master services: {0}.',
  'hosts.cant.do.popup.workingList.body':'You cannot delete this host because following slave services are not fully stopped or decommissioned: {0}.',
  'hosts.add.header':'Add Host Wizard',
  'hosts.add.step2.warning':'Hosts are already part of the cluster and will be ignored',
  'hosts.assignRack':'Assign Rack',

  'charts.horizon.chart.showText':'show',
  'charts.horizon.chart.hideText':'hide',
  'charts.horizon.chart.attributes.cpu':'CPU',
  'charts.horizon.chart.attributes.memory':'Memory',
  'charts.horizon.chart.attributes.network':'Network',
  'charts.horizon.chart.attributes.io':'I/O',
  
  'charts.heatmap.category.host':'Host',
  'charts.heatmap.item.host.memory':'Memory Used',
  'charts.heatmap.item.host.disk':'Disk Space Used',
  'charts.heatmap.item.host.process':'Total Running Processes',
  'charts.heatmap.category.hdfs':'HDFS',
  'charts.heatmap.category.mapreduce': 'MapReduce',
  'charts.heatmap.unknown': 'Unknown',

  'metric.default':'combined',
  'metric.cpu':'cpu',
  'metric.memory':'disk used',
  'metric.network':'network',
  'metric.io':'io',
  'metric.more':'more',
  'metric.more.cpu':'CPU',
  'metric.more.disk':'Disk',
  'metric.more.load':'Load',
  'metric.more.memory':'Memory',
  'metric.more.network':'Network',
  'metric.more.process':'Process',

  'dashboard.services':'Services',
  'dashboard.services.hosts':'Hosts',
  'dashboard.services.uptime':'{0} days {1} hrs {2} mins',
  'dashboard.services.hdfs.summary':'{0} of {1} nodes live, {2}% capacity free',
  'dashboard.services.hdfs.nanmenode':'NameNode',
  'dashboard.services.hdfs.snanmenode':'Secondary NameNode',
  'dashboard.services.hdfs.capacity':'HDFS Disk Capacity',
  'dashboard.services.hdfs.capacityUsed':'{0} / {1} ({2}% used)',
  'dashboard.services.hdfs.totalFilesAndDirs':'Total Files + Directories',
  'dashboard.services.hdfs.datanodes':'DataNodes',
  'dashboard.services.hdfs.datanodecounts':'DataNodes Status',
  'dashboard.services.hdfs.version':'Version',
  'dashboard.services.hdfs.nameNodeWebUI':'NameNode Web UI',
  'dashboard.services.hdfs.nodes.live':'live',
  'dashboard.services.hdfs.nodes.dead':'dead',
  'dashboard.services.hdfs.nodes.decom':'decom',
  'dashboard.services.hdfs.nodes.uptime':'NameNode Uptime',
  'dashboard.services.hdfs.nodes.heap':'NameNode Heap',
  'dashboard.services.hdfs.nodes.heapUsed':'{0} / {1} ({2}% used)',
  'dashboard.services.hdfs.chart.label':'Capacity (Free/Used)',

  'dashboard.services.mapreduce.summary':'{0} of {1} trackers live, {2} jobs running, {3} jobs waiting',
  'dashboard.services.mapreduce.taskTrackers':'TaskTrackers',
  'dashboard.services.mapreduce.taskTrackerCounts':'TaskTrackers Status',
  'dashboard.services.mapreduce.trackers':'Trackers',
  'dashboard.services.mapreduce.nodes.blacklist':'blacklist',
  'dashboard.services.mapreduce.nodes.graylist':'graylist',
  'dashboard.services.mapreduce.slotCapacity':'Total Slots Capacity',
  'dashboard.services.mapreduce.trackersSummary':'{0} live / {1} total',
  'dashboard.services.mapreduce.jobs':'Total Jobs',
  'dashboard.services.mapreduce.jobsSummary':'{0} submitted / {1} completed',
  'dashboard.services.mapreduce.mapSlots':'Map Slots',
  'dashboard.services.mapreduce.mapSlotsSummary':'{0} occupied / {1} reserved',
  'dashboard.services.mapreduce.reduceSlots':'Reduce Slots',
  'dashboard.services.mapreduce.tasks.maps':'Tasks: Maps',
  'dashboard.services.mapreduce.tasks.reduces':'Tasks: Reduces',
  'dashboard.services.mapreduce.reduceSlotsSummary':'{0} occupied / {1} reserved',
  'dashboard.services.mapreduce.tasksSummary':'{0} running / {1} waiting',
  'dashboard.services.mapreduce.slotCapacitySummary':'{0} maps / {1} reduces / {2} avg per node',
  'dashboard.services.mapreduce.jobTrackerHeap':'JobTracker Heap',
  'dashboard.services.mapreduce.jobTrackerHeapSummary':'{0} of {1} ({2}% used)',
  'dashboard.services.mapreduce.jobTrackerUptime':'Job Trackers Uptime',
  'dashboard.services.mapreduce.chart.label':'Jobs Running',

  'dashboard.services.hbase.summary':'{0} region servers with {1} average load',
  'dashboard.services.hbase.masterServer':'HBase Master',
  'dashboard.services.hbase.masterServerHeap':'Master Heap',
  'dashboard.services.hbase.masterServerHeap.summary':'{0} / {1} ({2}% used)',
  'dashboard.services.hbase.masterServerUptime':'Master Server Uptime',
  'dashboard.services.hbase.averageLoad':'Average Load',
  'dashboard.services.hbase.averageLoadPerServer':'{0} regions per Region Server',
  'dashboard.services.hbase.regionServers':'Region Servers',
  'dashboard.services.hbase.regionServersSummary':'{0} live / {1} total',
  'dashboard.services.hbase.chart.label':'Request Count',
  'dashboard.services.hbase.version':'Version',
  'dashboard.services.hbase.masterWebUI':'Master Web UI',
  'dashboard.services.hbase.regions.transition':'Regions In Transition',
  'dashboard.services.hbase.masterStarted':'Master Started',
  'dashboard.services.hbase.masterActivated':'Master Activated',

  'dashboard.services.configs.popup.stopService.header':'Stop service',
  'dashboard.services.configs.popup.stopService.body' : 'Service needs to be stopped for reconfiguration',
  'dashboard.services.configs.popup.restartService.header' : 'Restart service',
  'dashboard.services.configs.popup.restartService.body' : 'Service needs to be restarted for reconfiguration',
  'timeRange.presets.1hour':'1h',
  'timeRange.presets.12hour':'12h',
  'timeRange.presets.1day':'1d',
  'timeRange.presets.1week':'1wk',
  'timeRange.presets.1month':'1mo',
  'timeRange.presets.1year':'1yr',

  'apps.filters.customRunDate':'Run Date custom filter',
  'apps.dagCharts.popup':'DAG/Charts',

  'nagios.alerts.unavailable':'Alerts Unavailable'

};