# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used in Swing
# Currently, the following components need this for support:
#
#    ColorChooser
#    FileChooser
#    OptionPane
#
# When this file is read in, the strings are put into the
# defaults table.  This is an implementation detail of the current
# workings of Swing.  DO NOT DEPEND ON THIS.
# This may change in future versions of Swing as we improve localization
# support.
#
#                        MNEMONIC NOTE:
# Many of strings in this file are used by widgets that have a
# mnemonic, for example:
#   ColorChooser.rgbNameTextAndMnemonic=R&GB
#
# Indicates that the tab in the ColorChooser for RGB colors will have
# the text 'RGB', further the mnemonic character will be 'g' and that
# a decoration will be provided under the 'G'. This will typically
# look like:  RGB
#              -
#
# One important thing to remember is that the mnemonic MUST exist in
# the String, if it does not exist you should add text that makes it
# exist. This will typically take the form 'XXXX (M)' where M is the
# character for the mnemonic.
#
# @author Steve Wilson

############ FILE CHOOSER STRINGS #############
FileChooser.fileDescription.textAndMnemonic=Generisk fil
FileChooser.directoryDescription.textAndMnemonic=Katalog
FileChooser.newFolderError.textAndMnemonic=Kan inte skapa ny mapp
FileChooser.newFolderErrorSeparator= :
FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Kan inte skapa mappen
FileChooser.newFolderParentDoesntExist.textAndMnemonic=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g.
FileChooser.renameErrorTitle.textAndMnemonic=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att \u00E4ndra namn p\u00E5 fil eller mapp
FileChooser.renameError.textAndMnemonic=Kan inte namn\u00E4ndra {0}
FileChooser.renameErrorFileExists.textAndMnemonic=Kan inte namn\u00E4ndra {0}: En fil med angivet namn finns redan. Ange ett annat filnamn. 
FileChooser.acceptAllFileFilter.textAndMnemonic=Alla filer
FileChooser.cancelButton.textAndMnemonic=Avbryt
FileChooser.saveButton.textAndMnemonic=Spara
FileChooser.openButton.textAndMnemonic=\u00D6ppna
FileChooser.saveDialogTitle.textAndMnemonic=Spara
FileChooser.openDialogTitle.textAndMnemonic=\u00D6ppna
FileChooser.updateButton.textAndMnemonic=Upp&datera
FileChooser.helpButton.textAndMnemonic=&Hj\u00E4lp
FileChooser.directoryOpenButton.textAndMnemonic=\u00D6ppna

# File Size Units
FileChooser.fileSizeKiloBytes={0} KB
FileChooser.fileSizeMegaBytes={0} MB
FileChooser.fileSizeGigaBytes={0} GB

# These strings are platform dependent not look and feel dependent.
FileChooser.win32.newFolder=Ny mapp
FileChooser.win32.newFolder.subsequent=Ny mapp ({0})
FileChooser.other.newFolder=Ny mapp
FileChooser.other.newFolder.subsequent=Ny mapp {0}


## file chooser tooltips ###
FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan f\u00F6r filval
FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil
FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil
FileChooser.updateButtonToolTip.textAndMnemonic=Uppdatera kataloglistan
FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp f\u00F6r val av fil
FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u00D6ppna vald katalog

FileChooser.filesListAccessibleName=Fillista
FileChooser.filesDetailsAccessibleName=Fildetaljer

############ COLOR CHOOSER STRINGS #############
ColorChooser.preview.textAndMnemonic=Granska
ColorChooser.ok.textAndMnemonic=OK
ColorChooser.cancel.textAndMnemonic=Avbryt
ColorChooser.reset.textAndMnemonic=&\u00C5terst\u00E4ll
ColorChooser.sample.textAndMnemonic=Exempeltext  Exempeltext
ColorChooser.swatches.textAndMnemonic=&Prov
ColorChooser.swatchesRecent.textAndMnemonic=Senaste:
ColorChooser.hsv.textAndMnemonic=&HSV
ColorChooser.hsvHue.textAndMnemonic=Nyans
ColorChooser.hsvSaturation.textAndMnemonic=M\u00E4ttnad
ColorChooser.hsvValue.textAndMnemonic=V\u00E4rde
ColorChooser.hsvTransparency.textAndMnemonic=Transparens
ColorChooser.hsl.textAndMnemonic=HS&L
ColorChooser.hslHue.textAndMnemonic=Nyans
ColorChooser.hslSaturation.textAndMnemonic=M\u00E4ttnad
ColorChooser.hslLightness.textAndMnemonic=Ljusstyrka
ColorChooser.hslTransparency.textAndMnemonic=Transparens
ColorChooser.rgb.textAndMnemonic=R&GB
ColorChooser.rgbRed.textAndMnemonic=R\u00F6&d
ColorChooser.rgbGreen.textAndMnemonic=Gr\u00F6&n
ColorChooser.rgbBlue.textAndMnemonic=&Bl\u00E5
ColorChooser.rgbAlpha.textAndMnemonic=Alfa
ColorChooser.rgbHexCode.textAndMnemonic=&F\u00E4rgkod
ColorChooser.cmyk.textAndMnemonic=C&MYK
ColorChooser.cmykCyan.textAndMnemonic=Cyan
ColorChooser.cmykMagenta.textAndMnemonic=Magenta
ColorChooser.cmykYellow.textAndMnemonic=Gul
ColorChooser.cmykBlack.textAndMnemonic=Svart
ColorChooser.cmykAlpha.textAndMnemonic=Alfa

############ OPTION PANE STRINGS #############
# We only define mnemonics for YES/NO, but for completeness you can
# define mnemonics for any of the buttons.
OptionPane.yesButton.textAndMnemonic=&Ja
OptionPane.noButton.textAndMnemonic=&Nej
OptionPane.okButton.textAndMnemonic=OK
#OptionPane.okButtonMnemonic=0
OptionPane.cancelButton.textAndMnemonic=Avbryt
#OptionPane.cancelButtonMnemonic=0
OptionPane.title.textAndMnemonic=V\u00E4lj ett alternativ
# Title for the dialog for the showInputDialog methods. Only used if
# the developer uses one of the variants that doesn't take a title.
OptionPane.inputDialog.titleAndMnemonic=Indata
# Title for the dialog for the showMessageDialog methods. Only used if
# the developer uses one of the variants that doesn't take a title.
OptionPane.messageDialog.titleAndMnemonic=Meddelande

############ Printing Dialog Strings ############
PrintingDialog.titleProgress.textAndMnemonic=Skriver ut
PrintingDialog.titleAborting.textAndMnemonic=Skriver ut (avbryter)

PrintingDialog.contentInitial.textAndMnemonic=Utskrift p\u00E5g\u00E5r...

# The following string will be formatted by a MessageFormat
# and {0} will be replaced by page number being printed
PrintingDialog.contentProgress.textAndMnemonic=Skriver ut sida {0}...

PrintingDialog.contentAborting.textAndMnemonic=Utskriften avbryts...

PrintingDialog.abortButton.textAndMnemonic=&Avbryt
PrintingDialog.abortButtonToolTip.textAndMnemonic=Avbryt utskrift

############ Internal Frame Strings ############
InternalFrame.iconButtonToolTip=Minimera
InternalFrame.maxButtonToolTip=Maximera
InternalFrame.restoreButtonToolTip=\u00C5terst\u00E4ll
InternalFrame.closeButtonToolTip=St\u00E4ng

############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=&\u00C5terst\u00E4ll
InternalFrameTitlePane.moveButton.textAndMnemonic=&Flytta
InternalFrameTitlePane.sizeButton.textAndMnemonic=&Storlek
InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimera
InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximera
InternalFrameTitlePane.closeButton.textAndMnemonic=&St\u00E4ng

############ Text strings #############
# Used for html forms
FormView.submitButton.textAndMnemonic=Skicka fr\u00E5ga
FormView.resetButton.textAndMnemonic=\u00C5terst\u00E4ll
FormView.browseFileButton.textAndMnemonic=Bl\u00E4ddra...

############ Abstract Document Strings ############
AbstractDocument.styleChange.textAndMnemonic=format\u00E4ndring
AbstractDocument.addition.textAndMnemonic=till\u00E4gg
AbstractDocument.deletion.textAndMnemonic=borttagning
AbstractDocument.undo.textAndMnemonic=\u00C5ngra
AbstractDocument.redo.textAndMnemonic=G\u00F6r om

############ Abstract Button Strings ############
AbstractButton.click.textAndMnemonic=klicka

############ Abstract Undoable Edit Strings ############
AbstractUndoableEdit.undo.textAndMnemonic=\u00C5ngra
AbstractUndoableEdit.redo.textAndMnemonic=G\u00F6r om

############ Combo Box Strings ############
ComboBox.togglePopup.textAndMnemonic=v\u00E4xlaPopup

############ Progress Monitor Strings ############
ProgressMonitor.progress.textAndMnemonic=P\u00E5g\u00E5r...

############ Split Pane Strings ############
SplitPane.leftButton.textAndMnemonic=v\u00E4nsterknapp
SplitPane.rightButton.textAndMnemonic=h\u00F6gerknapp
# Used for Isindex
IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord:

############ InternalFrameTitlePane Strings ############
InternalFrameTitlePane.iconifyButtonAccessibleName=Minimera
InternalFrameTitlePane.maximizeButtonAccessibleName=Maximera
InternalFrameTitlePane.closeButtonAccessibleName=St\u00E4ng
