# -----------------------------------------------------------------------------
#
#   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.
#
# The viewer's GUI resources.
#
# Author: stephane@hillion.org
# $Id$
# -----------------------------------------------------------------------------

ViewSource.width = 750
ViewSource.height = 500


#
# Messages
#

Message.documentLoad = Loading document...
Message.documentCancelled = Loading document cancelled.
Message.documentFailed = Loading document failed.
Message.documentLoadTime = Loading document completed in 
Message.treeBuild = Building document...
Message.treeCancelled = Building document cancelled.
Message.treeFailed = Building document failed.
Message.treeBuildTime = Building document completed in 
Message.onload = Dispatching 'onload'...
Message.onloadCancelled = Dispatch of 'onload'  cancelled.
Message.onloadFailed = Dispatch of 'onload' failed.
Message.onloadTime = Dispatch of 'onload' completed in 
Message.treeRendering = Rendering document...
Message.treeRenderingCancelled = Rendering document cancelled.
Message.treeRenderingFailed = Rendering document failed.
Message.treeRenderingPrep = Rendering document preparation...
Message.treeRenderingPrepTime = Rendering document preparation completed in 
Message.treeRenderingStart = Rendering document started...
Message.treeRenderingTime = Rendering document completed in 
Message.done = Done.
Message.updateManagerStarted = Update manager started...
Message.updateManagerSuspended = Update manager suspended...
Message.updateManagerResumed = Update manager resumed...
Message.updateManagerStopped = Update manager stopped...
Message.saveAs  = Saving as SVG...
Message.exportAsJPG  = Exporting as JPG...
Message.exportAsPNG  = Exporting as PNG...
Message.exportAsTIFF = Exporting as TIFF...

#
# Dialog Titles
#
Open.title = Open
SaveAs.title  = Save as SVG
ExportAsJPG.title  = Export as JPG
ExportAsPNG.title  = Export as PNG
ExportAsTIFF.title = Export as TIFF
SetTransform.title = Transform

#
# Definition of the menu bar
#

MenuBar     = File Edit View Processing Go Tools Help
MenuBar.OSX = File Edit View Processing Go Tools

# File menu ################
File     = Open OpenLocation NewWindow Reload SaveAs - \
           Print ExportAs - Close Exit
File.OSX = Open OpenLocation NewWindow Reload SaveAs - \
           Print ExportAs - Close
File.type = MENU
File.text = File
File.mnemonic = F

Open.type            = ITEM
Open.text            = Open File...
Open.icon            = resources/document-open-small.png
Open.icon.OSX        =
Open.mnemonic        = O
Open.action          = OpenAction
Open.accelerator     = ctrl F
Open.accelerator.OSX = meta F

OpenLocation.type            = ITEM
OpenLocation.text            = Open Location...
OpenLocation.icon            = resources/blank.gif
OpenLocation.icon.OSX        =
OpenLocation.mnemonic        = L
OpenLocation.action          = OpenLocationAction
OpenLocation.accelerator     = ctrl A
OpenLocation.accelerator.OSX = meta A

NewWindow.type            = ITEM
NewWindow.text            = New Window
NewWindow.icon            = resources/window-new-small.png
NewWindow.icon.OSX        =
NewWindow.mnemonic        = N
NewWindow.action          = NewWindowAction
NewWindow.accelerator     = ctrl N
NewWindow.accelerator.OSX = meta N

Reload.type            = ITEM
Reload.text            = Reload Document
Reload.icon            = resources/view-refresh-small.png
Reload.icon.OSX        =
Reload.mnemonic        = R
Reload.action          = ReloadAction
Reload.accelerator     = ctrl R
Reload.accelerator.OSX = meta R

SaveAs.type            = ITEM
SaveAs.text            = Save SVG As...
SaveAs.icon            = resources/blank.gif
SaveAs.icon.OSX        =
SaveAs.mnemonic        = S
SaveAs.action          = SaveAsAction
SaveAs.accelerator     = ctrl S
SaveAs.accelerator.OSX = meta S

Close.type            = ITEM
Close.text            = Close
Close.icon            = resources/blank.gif
Close.icon.OSX        =
Close.mnemonic        = C
Close.action          = CloseAction
Close.accelerator     = ctrl W
Close.accelerator.OSX = meta W

Exit.type        = ITEM
Exit.text        = Exit
Exit.icon        = resources/blank.gif
Exit.icon.OSX    =
Exit.mnemonic    = E
Exit.action      = ExitAction
Exit.accelerator = ctrl Q

Print.type            = ITEM
Print.text            = Print...
Print.icon            = resources/document-print-small.png
Print.icon.OSX        =
Print.mnemonic        = P
Print.action          = PrintAction
Print.accelerator     = ctrl P
Print.accelerator.OSX = meta P

# Export As submenu ###########
ExportAs             = PNG JPG TIFF
ExportAs.type        = MENU
ExportAs.text        = Export As
ExportAs.icon        = resources/blank.gif
ExportAs.icon.OSX    =
ExportAs.mnemonic    = E

PNG.type        = ITEM
PNG.text        = PNG...
PNG.icon        = resources/blank.gif
PNG.icon.OSX    =
PNG.mnemonic    = P
PNG.action      = ExportAsPNGAction

JPG.type        = ITEM
JPG.text        = JPEG...
JPG.icon        = resources/blank.gif
JPG.icon.OSX    =
JPG.mnemonic    = J
JPG.action      = ExportAsJPGAction

TIFF.type        = ITEM
TIFF.text        = TIFF...
TIFF.icon        = resources/blank.gif
TIFF.icon.OSX    =
TIFF.mnemonic    = T
TIFF.action      = ExportAsTIFFAction


# Edit menu ################
Edit     = FindDialog - Preferences
Edit.OSX = FindDialog
#Edit = Preferences Flush
#Edit = Preferences

Edit.type = MENU
Edit.text = Edit
Edit.mnemonic = E

FindDialog.type            = ITEM
FindDialog.text            = Find...
FindDialog.icon            = resources/blank.gif
FindDialog.icon.OSX        =
FindDialog.mnemonic        = F
FindDialog.action          = FindDialogAction
FindDialog.accelerator     = ctrl Z
FindDialog.accelerator.OSX = meta Z

Preferences.type        = ITEM
Preferences.text        = Preferences...
Preferences.icon        = resources/blank.gif
Preferences.icon.OSX    =
Preferences.mnemonic    = P
Preferences.action      = PreferencesAction
Preferences.accelerator = ctrl G

Flush.type        = ITEM
Flush.text        = Flush Cache
Flush.icon        = resources/blank.gif
Flush.mnemonic    = F
Flush.action      = FlushAction


# View menu ################
View = ResetTransform ZoomIn ZoomOut - UseStylesheet - PreviousTransform NextTransform SetTransform - ThumbnailDialog ViewSource

View.type = MENU
View.text = View
View.mnemonic = V

ThumbnailDialog.type            = ITEM
ThumbnailDialog.text            = Thumbnail...
ThumbnailDialog.icon            = resources/blank.gif
ThumbnailDialog.icon.OSX        =
ThumbnailDialog.mnemonic        = M
ThumbnailDialog.action          = ThumbnailDialogAction
ThumbnailDialog.accelerator     = ctrl Y
ThumbnailDialog.accelerator.OSX = meta Y

ResetTransform.type            = ITEM
ResetTransform.text            = Initial View
ResetTransform.icon            = resources/blank.gif
ResetTransform.icon.OSX        =
ResetTransform.mnemonic        = T
ResetTransform.action          = ResetTransformAction
ResetTransform.accelerator     = ctrl T
ResetTransform.accelerator.OSX = meta T

ZoomIn.type            = ITEM
ZoomIn.text            = Zoom In
ZoomIn.icon            = resources/zoom-in-small.png
ZoomIn.icon.OSX        =
ZoomIn.mnemonic        = I
ZoomIn.action          = ZoomInAction
ZoomIn.accelerator     = ctrl I
ZoomIn.accelerator.OSX = meta I

ZoomOut.type            = ITEM
ZoomOut.text            = Zoom Out
ZoomOut.icon            = resources/zoom-out-small.png
ZoomOut.icon.OSX        =
ZoomOut.mnemonic        = O
ZoomOut.action          = ZoomOutAction
ZoomOut.accelerator     = ctrl O
ZoomOut.accelerator.OSX = meta O

UseStylesheet          = DefaultStylesheet
UseStylesheet.type     = MENU
UseStylesheet.text     = Use Stylesheet
UseStylesheet.icon     = resources/blank.gif
UseStylesheet.icon.OSX =
UseStylesheet.action   = UseStylesheetAction

DefaultStylesheet.type     = RADIO
DefaultStylesheet.text     = Default
DefaultStylesheet.selected = true

PreviousTransform.type            = ITEM
PreviousTransform.text            = Previous Transform
PreviousTransform.icon            = resources/blank.gif
PreviousTransform.icon.OSX        =
PreviousTransform.mnemonic        = P
PreviousTransform.action          = PreviousTransformAction
PreviousTransform.accelerator     = ctrl K
PreviousTransform.accelerator.OSX = meta K

NextTransform.type            = ITEM
NextTransform.text            = Next Transform
NextTransform.icon            = resources/blank.gif
NextTransform.icon.OSX        =
NextTransform.mnemonic        = N
NextTransform.action          = NextTransformAction
NextTransform.accelerator     = ctrl L
NextTransform.accelerator.OSX = meta L

SetTransform.type            = ITEM
SetTransform.text            = Transform...
SetTransform.icon            = resources/blank.gif
SetTransform.icon.OSX        =
SetTransform.mnemonic        = S
SetTransform.action          = SetTransformAction
SetTransform.accelerator     = ctrl E
SetTransform.accelerator.OSX = meta E

ViewSource.type            = ITEM
ViewSource.text            = View Source...
ViewSource.icon            = resources/edit-find-small.png
ViewSource.icon.OSX        =
ViewSource.mnemonic        = V
ViewSource.action          = ViewSourceAction
ViewSource.accelerator     = ctrl U
ViewSource.accelerator.OSX = meta U


# Processing menu ################
Processing = Play Pause Stop
Processing.type = MENU
Processing.text = Processing
Processing.mnemonic = P

Play.type            = ITEM
Play.text            = Play
Play.icon            = resources/media-playback-start-small.png
Play.icon.OSX        =
Play.mnemonic        = P
Play.action          = PlayAction
Play.accelerator     = ctrl H
Play.accelerator.OSX = meta H

Pause.type            = ITEM
Pause.text            = Pause
Pause.icon            = resources/media-playback-pause-small.png
Pause.icon.OSX        =
Pause.mnemonic        = A
Pause.action          = PauseAction
Pause.accelerator     = ctrl J
Pause.accelerator.OSX = meta J

Stop.type        = ITEM
Stop.text        = Stop
Stop.icon        = resources/process-stop-small.png
Stop.icon.OSX    =
Stop.mnemonic    = S
Stop.action      = StopAction


# Go menu ################
Go = Back Forward - HistoryMarker
Go.type = MENU
Go.text = Go
Go.mnemonic = G

Back.type            = ITEM
Back.text            = Back
Back.icon            = resources/go-previous-small.png
Back.icon.OSX        =
Back.mnemonic        = B
Back.action          = BackAction
Back.accelerator     = ctrl LEFT
Back.accelerator.OSX = meta LEFT

Forward.type            = ITEM
Forward.text            = Forward
Forward.icon            = resources/go-next-small.png
Forward.icon.OSX        =
Forward.mnemonic        = F
Forward.action          = ForwardAction
Forward.accelerator     = ctrl RIGHT
Forward.accelerator.OSX = meta RIGHT

HistoryMarker.type        = ITEM
HistoryMarker.text        = @@@


# Tools menu ################
Tools = Monitor DOMViewer ScriptDebugger
Tools.type = MENU
Tools.text = Tools
Tools.mnemonic = T

Monitor.type            = ITEM
Monitor.text            = Memory Monitor...
Monitor.icon            = resources/utilities-system-monitor-small.png
Monitor.icon.OSX        =
Monitor.mnemonic        = M
Monitor.action          = MonitorAction
Monitor.accelerator     = ctrl M
Monitor.accelerator.OSX = meta M

DOMViewer.type            = ITEM
DOMViewer.text            = DOM Viewer...
DOMViewer.icon            = resources/dom-viewer-small.png
DOMViewer.icon.OSX        =
DOMViewer.mnemonic        = D
DOMViewer.action          = DOMViewerAction
DOMViewer.accelerator     = ctrl D
DOMViewer.accelerator.OSX = meta D

ScriptDebugger.type        = ITEM
ScriptDebugger.text        = Script Debugger...
ScriptDebugger.icon        = resources/blank.gif
ScriptDebugger.icon.OSX    =
ScriptDebugger.mnemonic    = S
ScriptDebugger.action      = ToggleDebuggerAction


# Help menu ##################
Help = About
Help.type = MENU
Help.text = ?
Help.mnemonic = ?

About.type     = ITEM
About.text     = About Batik ...
About.mnemonic = A
About.action   = AboutAction
About.accelerator = ctrl shift A


#
# Definition of the tool bar
#

ToolBar = ToolOpen - ToolReload ToolBack ToolForward - \
          ToolZoomIn ToolZoomOut - ToolViewSource ToolDOMViewer - \
          ToolPrint - ToolPlay ToolPause ToolStop

ToolOpen.icon      = resources/document-open.png
ToolOpen.action    = OpenAction
ToolOpen.tooltip   = Open a SVG file.

ToolReload.icon      = resources/view-refresh.png
ToolReload.action    = ReloadAction
ToolReload.tooltip   = Reload the current document.

ToolBack.icon      = resources/go-previous.png
ToolBack.action    = BackAction
ToolBack.tooltip   = Move back to the previous document.

ToolForward.icon      = resources/go-next.png
ToolForward.action    = ForwardAction
ToolForward.tooltip   = Move forward to the next document.

ToolPrint.icon      = resources/document-print.png
ToolPrint.action    = PrintAction
ToolPrint.tooltip   = Print the current document.

ToolZoomIn.icon      = resources/zoom-in.png
ToolZoomIn.action    = ZoomInAction
ToolZoomIn.tooltip   = Zoom in the current document.

ToolZoomOut.icon      = resources/zoom-out.png
ToolZoomOut.action    = ZoomOutAction
ToolZoomOut.tooltip   = Zoom out the current document.

ToolViewSource.icon      = resources/edit-find.png
ToolViewSource.action    = ViewSourceAction
ToolViewSource.tooltip   = View the source of the current document.

ToolDOMViewer.icon      = resources/dom-viewer.png
ToolDOMViewer.action    = DOMViewerAction
ToolDOMViewer.tooltip   = Shows the DOM Viewer.

ToolPlay.icon      = resources/media-playback-start.png
ToolPlay.action    = PlayAction
ToolPlay.tooltip   = Continue the Processing of the SVG Document.

ToolPause.icon      = resources/media-playback-pause.png
ToolPause.action    = PauseAction
ToolPause.tooltip   = Pause the Processing of the SVG Document.

ToolStop.icon      = resources/process-stop.png
ToolStop.action    = StopAction
ToolStop.tooltip   = Stop the Processing of the SVG Document.

#
# JSVGViewerFrame constants
#
JSVGViewerFrame.property.os.name=os.name
JSVGViewerFrame.property.os.name.default=Solaris
JSVGViewerFrame.property.os.windows.prefix=Windows

#
# PreferenceDialog parameters
#
PreferenceDialog.title.general = General
PreferenceDialog.title.security = Security
PreferenceDialog.title.language = Language
PreferenceDialog.title.stylesheet = Stylesheet
PreferenceDialog.title.network = Network
PreferenceDialog.title.dialog = Preferences

PreferenceDialog.label.rendering.options = Rendering options:
PreferenceDialog.label.animation.rate.limiting = Animation rate limiting:
PreferenceDialog.label.other.options = Other options:
PreferenceDialog.label.enable.double.buffering = Enable double buffering
PreferenceDialog.label.show.rendering = Show rendering
PreferenceDialog.label.auto.adjust.window = Automatically resize window to document size
PreferenceDialog.label.selection.xor.mode = Display selection overlay using XOR mode
PreferenceDialog.label.animation.limit.cpu = Limit to percentage of CPU usage
PreferenceDialog.label.percent = %
PreferenceDialog.label.animation.limit.fps = Limit to number of frames per second
PreferenceDialog.label.fps = fps
PreferenceDialog.label.animation.limit.unlimited = Unlimited
PreferenceDialog.label.show.debug.trace = Print debugging information to console
PreferenceDialog.label.is.xml.parser.validating = Use a validating XML parser

PreferenceDialog.label.grant.scripts.access.to = Grant scripts access to:
PreferenceDialog.label.load.scripts = Load scripts:
PreferenceDialog.label.allowed.script.origin = Allowed script origin:
PreferenceDialog.label.allowed.resource.origin = Allowed resource origin:
PreferenceDialog.label.enforce.secure.scripting = Enforce secure scripting
PreferenceDialog.label.file.system = File system
PreferenceDialog.label.all.network = All network
PreferenceDialog.label.java.jar.files = Java JAR files
PreferenceDialog.label.ecmascript = ECMAScript/JavaScript
PreferenceDialog.label.origin.any = Any
PreferenceDialog.label.origin.document = Only embedded or same host as document
PreferenceDialog.label.origin.embedded = Only embedded
PreferenceDialog.label.origin.none = None

PreferenceDialog.label.user.stylesheet = User stylesheet file or URL:
PreferenceDialog.label.css.media.types = CSS media types:
PreferenceDialog.label.enable.user.stylesheet = Enable user stylesheet
PreferenceDialog.label.browse = Browse
PreferenceDialog.label.add = Add
PreferenceDialog.label.remove = Remove
PreferenceDialog.label.clear = Clear

PreferenceDialog.label.http.proxy = HTTP proxy:
PreferenceDialog.label.host = Host
PreferenceDialog.label.port = Port
PreferenceDialog.label.colon = :

PreferenceDialog.label.ok = OK
PreferenceDialog.label.cancel = Cancel

PreferenceDialog.BrowseWindow.title = Select user stylesheet

#
# Authentication Requestion Dialog strings.
#
JAuthenticator.title = Network Authentication Requested
JAuthenticator.label.ok = OK
JAuthenticator.label.cancel = Cancel
JAuthenticator.label.site = Site:
JAuthenticator.label.req = Requests:
JAuthenticator.label.userID = User ID:
JAuthenticator.label.password = Password:

#
# Main string constants for confirmation messages
#
Main.message.confirm.security.manager.override = \
Your settings indicate that you want to enforce scripting security. \n \
There is already a security policy installed by an entity other \
than the Squiggle viewer. \n \
You can choose to override the installed security policy and use the \
squiggle security policy instead by clicking on the 'Yes' button. \
This is potentially risky as the Squiggle security policy may have \
been tampered with. \n \
You can chose to keep the installed security policy, but there is \
no guarantee that scripting will be run in a secure fashion. This is \ 
potentially risky. Click on the 'No' button if you want to use the \
already installed security policy. \n \
Finally, click on the 'Cancel' button if you do not want to override \
the existing security setting and you do not want to run with the \
existing security policy which may not enforce secure execution of \
scripts. If you select the 'Cancel' button, the application will exit. \n \
WARNING: selected the 'Cancel' is the recommended option. Other selections \
are not secure. 

Main.message.confirm.security.manager.override= \
Security Policy Override

Main.message.confirm.alien.security.manager = \
Your settings indicate that you want to enforce scripting security. \n \
However, there is already a security policy in place which \
cannot be overridden by the Squiggle browser. \n \
You can choose to keep the installed security policy, but there is \
no guarantee that scripting will be run in a secure fashion. This is \ 
potentially risky. Click on the 'Yes' button if you want to use the \
already installed security policy. \n \
Click on the 'No' button if you do not want to run run with the \
existing security policy which may not enforce secure execution of \
scripts. If you select the 'No' button, the application will exit. \n \
WARNING: selected the 'No' is the recommended option. Other selections \
are not secure. 

Main.confirm.alien.security.manager.title= \
Use alien Security Policy

Main.message.security.exception.rejected.security.manager.override = \
The user preferences indicated that secure execution of scripting should be enforced. \
However, there was a SecurityManager already installed and the user rejected \
to override that SecurityManager with that of Squiggle or use the installed \
SecurityManager.

Main.message.security.exception.rejected.alien.security.manager = \
The user preferences indicated that secure execution of scripting should be enforced. \
However, there was a SecurityManager already installed which could not be \
overridden and the user rejected to use the installed SecurityManager.

Main.message.security.exception.alien.security.manager = \
The user preferences indicated that secure execution of scripting should be enforced. \
However, a SecurityManager was already installed. Squiggle could not continue safely. 

Main.message.null.pointer.exception.no.squiggle.policy.file = \
The user preference indicated that secure script execution should be enforced. \
However, the Squiggle policy file could not be found, which causes this \
exception.  

#
# AltFileSystemView
#
AltFileSystemView.exception.containing.dir.null = \
Containing directory is null

AltFileSystemView.exception.directory.already.exists = \
Directory already exists: {0}

AltFileSystemView.new.folder.name = New Folder

AltFileSystemView.floppy.drive = A:

#
# SVGOptionPanel
#
SVGOptionPanel.dialog.title = SVG Save Options
SVGOptionPanel.label = Options for saving SVG
SVGOptionPanel.UseXMLBase = Add "xml:base" attribute to root.
SVGOptionPanel.UseXMLBaseDefault = true
SVGOptionPanel.PrettyPrint = Pretty Print XML (reformats whitespace).
SVGOptionPanel.PrettyPrintDefault = false


#
# JPEGOptionPanel
#

OKButton.text = OK
JPEGOptionPanel.dialog.title = JPEG Quality
JPEGOptionPanel.label = Quality:

#
# PNGOptionPanel
#

OKButton.text = OK
PNGOptionPanel.dialog.title = Write 256 color PNG?
PNGOptionPanel.label = Reduce image to 256 color indexed PNG?:

#
# About Box parameters
#
AboutDialog.icon.batik.splash = org/apache/batik/apps/svgbrowser/resources/squiggle.png

AboutDialog.label.development.build = Development Build

#
# XMLInputHandler messages
#
XMLInputHandler.error.no.xml.stylesheet.processing.instruction = The input XML file does \
not contain an <?xml-stylesheet?> processing instruction of type "text/xsl"

XMLInputHandler.error.transform.output.not.svg = The result of the XSL transformation \
did not produce an SVG document with a root <svg> element. It cannot be handled by Squiggle.

XMLInputHandler.error.transform.produced.no.content = The XSL transformation did \
no produce any content.

XMLInputHandler.error.transform.output.wrong.ns = The result of the XSL transformation \
produced a document which is not in the SVG namespace (http://www.w3.org/2000/svg)

XMLInputHandler.error.result.generated.exception = An error occured when processing the \
result of the transformation applied to your document. Check that the transformation does \
not produce an empty document and that it is a well formed SVG document.
