#-------------------------------------------------------------------------------
# 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

# Error Messages
invalidNameError_msg=Navnet ''{0}'' er ugyldigt. Metodeelementnavnet m\u00e5 ikke indeholde f\u00f8lgende tegn: \\ / : * ? " < > |
objNotFoundError_msg=Kan ikke finde objekt med id''en ''{0}''
loadLibraryError_msg=Der er opst\u00e5et fejl under indl\u00e6sning af metodebibliotek:
loadLibraryError_details=\ \ linje: {0}, kolonne: {1}, meddelelse: {2}
restoreResourceError_msg=Kan ikke gendanne ressourcen ''{0}''
FileManager_fileReadOnly=Filen ''{0}'' er skrivebeskyttet
ErrMsg_CouldNotDelete=Kan ikke slette {0}. {1}
renameError_msg=Kan ikke omd\u00f8be ''{0}'' til ''{1}''
backupError_msg=Kan ikke sikkerhedskopiere ressourcen ''{0}''
marker_err_cannotResolveProxy=Kan ikke opl\u00f8se proxyen {0}
modifyFileError_msg=Kan ikke \u00e6ndre filen ''{0}''
loadResourceError_msg=Kan ikke indl\u00e6se ressourcen ''{0}''
loadResourceErrorWithReason_msg=Kan ikke indl\u00e6se ressourcen ''{0}''. \u00c5rsag: {1}
invalidLibraryFileError_msg=Ugyldig metodebiblioteksfil:
fileNotFoundError_msg=Kan ikke finde nogen metodebiblioteksfil i arbejdsomr\u00e5det ''{0}''
normalizeURIError_msg=Kan ikke finde normaliseret URI for ''{0}''
moveError_msg=Kan ikke flytte ''{0}'' til ''{1}''. Destinationen findes allerede.
modifyReadOnlyFileError_msg=Kan ikke \u00e6ndre en eller flere skrivebeskyttede filer: {0}
moveResourceError_msg=Ressourcen ''{0}'' er omfattet af en persistensfunktion, som ikke er committet.
modifyFilesError_msg=Kan ikke \u00e6ndre en eller flere filer
resourceOutOfSynch_msg=Ressourcen er ikke synkroniseret og skal indl\u00e6ses igen: {0}

# Progress Messages
loadLibraryTask_name=Indl\u00e6ser metodebibliotek...
moveDataTask_name=Flytter data...
saveLibraryTask_name=Gemmer metodebibliotek...
loadResourcesTask_name=Indl\u00e6ser alle ressourcer i hukommelse...
migrateContentDescriptionsTask_name=Overf\u00f8rer procesindholdsbeskrivelser...
fixPresentationNameTask_name=Indstiller NULL/tomt pr\u00e6sentationsnavn p\u00e5 hvert nedbrydningselement til dets navn...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Kan ikke opl\u00f8se proxyen ''{0}''
refreshLibraryFilesTask_name=Opfrisker biblioteksfiler i arbejdsomr\u00e5de
versionMismatch_oldTool=De valgte filer underst\u00f8ttes ikke. Opgrad\u00e9r til en nyere version af {0}. 
