###############################################################################
# Copyright (c) 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
openTab=Open
closeTab=Close

traverseDown=Next Node
traverseUp=Previous Node
click=Click
nextLink=Next Link
previousLink=Previous Link

searchNext=Find Next
searchPrevious=Find Previous

treeTop=Top Node
treeBottom=Last Node

nextHeader=Next Header
previousHeader=Previous Header
nextObject=Next Object
previousObject=Previous Object
nextInputable=Next Inputable
previousInputable=Previous Inputable

nextListItem=Next Item of List
previousListItem=Previous Item of List

nextBlock=Next Text Block
previousBlock=Previous Text Block

selectNextFennec=Select Fennec data
forceRestart=Content re-Aanalyse
toggleDescriptionEnable=Audio Description On/Off
  
showAccessKeyList=Show Accesskey List
speakCurrentStatus=Speak Current Status
speakMediaStatus=Speak Media Status

nextTab=Next Tab
prevTab=Previous Tab

playMedia=Play Video
stopMedia=Stop Video
pauseMedia=Pause Video
  
muteMedia=Mute Volume
volumeDownMedia=Volume Down
volumeUpMedia=Volume Up

launchBrowser=Open in Default Browser
toggleLeftViewsShowing=Open / Close Tree View
speakAll=Say all

importMetadata=Import Fennec data...
exportMetadata=Export User Annotation...
exportAllMetadata=Export All User Annotations...

nextMedia=Next Media
previousMedia=Previous Media

saveUserInfo=Save Annotation
removeUserInfo=Remove All Annotation
editAltText=Edit Alt. Text
makeLandmark=Set / Unset a Landmark
nextAlterable=Next Alterable Item
previousAlterable=Previous Alterable Item

navigateRefresh=Refresh
forward=Forward
backward=Backward
enterBrowserAddress=Enter Address

nextHeader1=Next Header Level 1
nextHeader2=Next Header Level 2
nextHeader3=Next Header Level 3
nextHeader4=Next Header Level 4
nextHeader5=Next Header Level 5
nextHeader6=Next Header Level 6

previousHeader1=Previous Header Level 1
previousHeader2=Previous Header Level 2
previousHeader3=Previous Header Level 3
previousHeader4=Previous Header Level 4
previousHeader5=Previous Header Level 5
previousHeader6=Previous Header Level 6

minimalVolumeDownMedia=Volume Down (minimum step)
minimalVolumeUpMedia=Volume Up (minimum step)
speechSpeedDown=Speech Speed Down
speechSpeedUp=Speech Speed Up

repairFlash=Repair Flash content

Key.OR=or


CMD_PASSTHROUGH=Pass Through

CMD_NOOP=No Operation

CMD_MUTEMEDIA=Mute Volume

CMD_VOLUMEDOWNMEDIA=Volume Down

CMD_VOLUMEUPMEDIA=Volume Up

CMD_PREVIOUSTRACK=Previous Track

CMD_NEXTTRACK=Next Track

CMD_STOPMEDIA=Stop Video

CMD_PLAYMEDIA=Play Video

CMD_PAUSEMEDIA=Pause Video

CMD_FASTREVERSE=Rewind Video

CMD_FASTFORWARD=Forward Video

CMD_SPEECHSPEEDUP=Speed Up Speech

CMD_SPEECHSPEEDDOWN=Speed Down Speech

CMD_TREELEFT=Tree Left

CMD_TREERIGHT=Tree Right

CMD_TREEUP=Tree Up

CMD_TREEDOWN=Tree Down

CMD_TREETOP=Tree Top

CMD_TREEBOTTOM=Tree Bottom

CMD_TRAVERSENODEDOWN=Next Node

CMD_TRAVERSENODEUP=Previous Node

CMD_TRAVERSEDOWN=Next Item

CMD_TRAVERSEUP=Previous Item

CMD_CLICK=Click

CMD_CELLLEFT=Cell Left

CMD_CELLRIGHT=Cell Right

CMD_CELLUP=Cell Up

CMD_CELLDOWN=Cell Down

CMD_STARTAUTOPLAY=Auto Play

CMD_ENDAUTOPLAY=Stop Auto Play

CMD_AUTOPLAYMINSPEED=Min Speed Auto Play

CMD_AUTOPLAYMAXSPEED=Max Speed Auto Play

CMD_AUTOPLAYDEFAULTSPEED=Default Speed Auto Play

CMD_AUTOPLAYNOP=Auto Play No Operation

CMD_AUTOPLAYSLOWER=Slower Auto Play

CMD_AUTOPLAYFASTER=Faster Auto Play

CMD_NEXTHEADER=Next Header

CMD_PREVIOUSHEADER=Previous Header

CMD_NEXTINPUTABLE=Next Input

CMD_PREVIOUSINPUTABLE=Previous Input

CMD_HOME=Go to top of page

CMD_END=Go to end of page

CMD_SELECTNEXTFennec=Select Fennec data

CMD_ENTERBROWSERADDRESS=Edit Address

CMD_FORCERESTART=Content re-Aanalyse

CMD_NAVIGATEREFRESH=Refrefh

CMD_SPEAKCURRENTSTATUS=Speak Current Status

CMD_NEXTLINK=Next Link

CMD_PREVIOUSLINK=Previous Link

CMD_NEXTOBJECT=Next Object

CMD_PREVIOUSOBJECT=Previous Object

CMD_EXIT_FORM_MODE=Exit Form Mode

CMD_FORM_IGNORE_KEY=Form Ignore Key

CMD_FORM_SUBMIT=Form Submit

CMD_TOGGLE_DESCRIPTION_ENABLE=Audio Description

CMD_TAKE_BACK_CONTROL=Take Back Control

CMD_CLOSETAB=Close Tab
    
CMD_NEXTTAB=Next Tab

CMD_PREVTAB=Prev Tab
    
CMD_GO_FORWARD=Go Forward
   
CMD_GO_BACKWORD=Go Backward

CMD_OPEN=Open

CMD_SPEED_UP=Speed Up

CMD_SPEED_DOWN=Speed Down

CMD_PLAY_NEXT=Play Next

CMD_PLAY_PREV=Play Prev
    
CMD_START_RECORDING=Start Recording
