###############################################################################
# Copyright (c) 2009, 2010 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
###############################################################################
scripteditor.window.title=ScriptEditor

scripteditor.action.open=&Open
scripteditor.action.close=Close
scripteditor.action.save=&Save
scripteditor.action.save.as=Save as...
scripteditor.action.movieopen=Open &Movie
scripteditor.action.reload=Reload(F5)
scripteditor.action.csv.import=Import CSV
scripteditor.action.csv.export=Export CSV

scripteditor.action.play=Play
scripteditor.action.pause=Pause
scripteditor.action.play_pause=Play/Pause
scripteditor.action.rewind=&Rewind
scripteditor.action.analyze=Search Movies

scripteditor.action.ttspanel=&TTS Tuning Panel

scripteditor.popup.captureaudio=Audio Capture
scripteditor.popup.captureaudio.capture=Capture audio mode
scripteditor.popup.captureaudio.script.enable=Enable play description
scripteditor.popup.captureaudio.clear=Clear captured data

scripteditor.menu.file=File(&F)
scripteditor.menu.multimedia=Multimedia(&m)
scripteditor.menu.multimedia.capturemode=Capture mode
scripteditor.menu.favorite=Favorite(&a)
scripteditor.menu.window=Window(&d)
scripteditor.menu.window.tool=Tool(&T)
scripteditor.menu.help=Help(&H)

scripteditor.view.timeline=Time Line
scripteditor.view.editpanel=Edit Panel
scripteditor.view.scriptlist=Script List

scripteditor.tabitem.editpanel=Edit Panel
scripteditor.tabitem.selwavfile=Select WAV file
scripteditor.tabitem.selwavfile.descstandby=Select description item.
scripteditor.tabitem.selwavfile.wavstandby=Drag and drop WAV file here.
scripteditor.tabitem.selwavfile.wavformerr=No WAV format or crush data.
scripteditor.tabitem.selwavfile.cannotcontrol=Can not control this tab during multiple items selection mode.

scripteditor.preference.capture.name=Capture audio setting
scripteditor.preference.csvrule.name=CSV data import setting

About.Text=Eclipse ACTF ScriptEditor\nVersion: 0.1.0\n\nCopyright Eclipse contributors and others 2009, 2012.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/

browser.ie.title=Web Browser (ACTF)
