#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
#
# Message ID Range:
#

# Import XML Wizard
importXMLWizard_title=Import\u00e9r XML

# Select Import XML File Wizard Page
selectXMLFilePage_title=Angiv importfil
selectXMLFilePage_desc=Angiv den XML-fil, som indeholder det metodebiblioteksindhold, du vil importere, og v\u00e6lg den relevante importfunktion, der skal udf\u00f8res.
fileLabel_text=XML-fil:
browseButton_text=Gennemse...
optionGroup_text=Importvalg
overwriteRadioButton_text=Tilsides\u00e6t eksisterende metodebiblioteksindhold med importeret indhold
mergeRadioButton_text=Flet importeret indhold ind i eksisterende metodebibliotek

# Progress Messages
importingXML_text=Importerer XML-biblioteksindhold til det aktuelle metodebibliotek...

# Import XML Error Dialog
review_log_files=Importen er udf\u00f8rt. Gennemse logfilerne i \nfolderen ''{0}'' for at finde eventuelle fejl.
importXMLError_msg=IUPM0000E: Importen kan ikke forts\u00e6tte.
importXMLError_reason=IUPM0009E: Det aktuelle metodebibliotek er skrivebeskyttet.\n\nKontroll\u00e9r, at ''{0}'' kan redigeres, eller opret et nyt metodebibliotek, og pr\u00f8v igen.

# Error Messages
invalidXMLFile_error=Den angivne XML-fil er ikke gyldig.
versionMismatch_oldData=IUPM0010E: Den angivne XML-fil er eksporteret med en tidligere version ({0}) af {1}. Filerne skal eksporteres med den aktuelle version af {1}.
versionMismatch_oldData_unknown=IUPM0011E: Den angivne XML-fil er eksporteret med en tidligere version af {0}. Filerne skal eksporteres med den aktuelle version af {0}.
versionMismatch_oldTool=IUPM0012E: Den angivne XML-fil er eksporteret med en nyere version ({0}) af {1}. Du skal opgradere {1} for at kunne importere filen. 
versionMismatch_oldTool_unknown=IUPM0013E: Den angivne XML-fil kan ikke \u00e5bnes. Du skal opgradere {0} for at kunne importere filen. 

importXMLService_element_not_handled=Element ikke h\u00e5ndteret: {0}
importXMLService_element_without_id=Element uden id: {0}
importXMLService_import_failed=Import er ikke udf\u00f8rt: {0}
importXMLService_missing_plugin=Mangler p\u00e5kr\u00e6vet plugin: {0}
importXMLService_error_missing_plugins=Mangler en eller flere p\u00e5kr\u00e6vede plugins. Der er flere oplysninger i logfilen.

library_error_no_eclass=Fejl under oprettelse af indholdskategori. Kan ikke hente EClass for {0}
library_no_package=Kan ikke finde ejerpakke for objektet {0}
library_error_create_element=Fejl under oprettelse af element: {0}
library_object_string=objekt {0}, funktion {1}
library_error_set_attribute_2=Fejl under angivelse af attribut: Ugyldig attributfunktionsv\u00e6rdi: {0}
library_error_set_attribute=Fejl under angivelse af attribut for objekt {0}, funktion {1} og v\u00e6rdi {2}
library_error_set_attribute_3=Ved ikke, hvordan attribut for objekt {0}, funktion {1} og v\u00e6rdi {2} skal angives
library_error_set_reference=Fejl under angivelse af reference for funktion {0}: Ingen element med id''en {1}
library_error_set_reference_2=Fejl under angivelse af reference for objekt {0}, funktion {1} og v\u00e6rdi {2}

