#
# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
# @version $Id: SAXMessages_sv.properties /st_wptg_1.9.0.0.0jdk/2 2016/04/14 01:57:20 gmolloy Exp $


BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n

# JAXP messages
schema-not-supported = Angivet schemaspr\u00E5k st\u00F6ds inte.
jaxp-order-not-supported = Egenskapen ''{0}'' m\u00E5ste anges f\u00F6re inst\u00E4llning av egenskapen ''{1}''. 
schema-already-specified = Egenskapen ''{0}'' kan inte anges om ett Schema-objekt som \u00E4r icke-null redan har angetts.

# feature messages
feature-not-supported = Funktionen ''{0}'' st\u00F6ds inte.
feature-not-recognized = Funktionen ''{0}'' \u00E4r ok\u00E4nd.
true-not-supported = True-tillst\u00E5nd f\u00F6r funktionen ''{0}'' st\u00F6ds inte.
false-not-supported = False-tillst\u00E5nd f\u00F6r funktionen ''{0}'' st\u00F6ds inte.
feature-read-only = Funktionen ''{0}'' \u00E4r skrivskyddad.
jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: Funktionen kan inte anges till false om s\u00E4kerhetshanteraren anv\u00E4nds.

# property messages
property-not-supported = Egenskapen ''{0}'' st\u00F6ds inte.
property-not-recognized = Egenskapen ''{0}'' \u00E4r ok\u00E4nd.
property-read-only = Egenskapen ''{0}'' \u00E4r skrivskyddad.
property-not-parsing-supported = Egenskapen ''{0}'' st\u00F6ds inte vid tolkning.
dom-node-read-not-supported = Kan inte l\u00E4sa egenskap f\u00F6r DOM-nod. Det finns inget DOM-tr\u00E4d.
incompatible-class = V\u00E4rdet angivet f\u00F6r egenskapen ''{0}'' kan inte omvandlas till {1}.

start-document-not-called=Egenskapen "{0}" b\u00F6r anropas efter startDocument-h\u00E4ndelsen utl\u00F6ses
nullparameter=namnparametern f\u00F6r "{0}" \u00E4r null
errorHandlerNotSet=Varning: valideringen startades, men det fanns ingen angiven org.xml.sax.ErrorHandler. Parser anv\u00E4nder ErrorHandler av standardtyp vid utskrift av de f\u00F6rsta {0} felen. Korrigera felet genom anrop av setErrorHandler-metoden.
errorHandlerDebugMsg=Fel: URI = "{0}", Rad = "{1}", : {2} 
