# 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.


# Translation:
#
# In this file, a couple of messages are split across multiple lines.  The main
# reason for that is that fdb is a command-line program, so we prefer to keep
# messages at less than 80 characters so that they fit in a typical command
# window.  When translating strings, you can either keep the line breaks in the
# same places, or move them, or even remove them altogether if a message will
# fit on a single line.

defaultBuildName=development
about=Apache FDB (Flash Player Debugger) [Build ${build}]
copyright=Copyright 2016 The Apache Software Foundation. All rights reserved.
noResponseException=Der Player hat nicht wie erwartet auf den Befehl reagiert; der Befehl wird abgebrochen.
notSuspendedException=Der Befehl kann nicht ausgestellt werden, w\u00e4hrend der Player ausgef\u00fchrt wird
illegalStateException=Der Befehl ist ohne Sitzung nicht zul\u00e4ssig.
illegalMonitorStateException=Der Befehl ist f\u00fcr einen ausgef\u00fchrten Player nicht zul\u00e4ssig. Dr\u00fccken Sie die Eingabetaste, um den Player zu unterbrechen.
playerDidNotStop=Der Player wurde nicht wie erwartet beendet. Dr\u00fccken Sie die Eingabetaste, um den Player zu unterbrechen.
noSuchElementException=Der Befehl erwartete mindestens ein zus\u00e4tzliches Argument.
numberFormatException=Das Befehlsargument ist eine Zeichenfolge, aber es wurde eine ganze Zahl erwartet.
socketException=Wahrscheinlich wird ein weiterer Flash-Debugger ausgef\u00fchrt; schlie\u00dfen Sie diesen Debugger. Details: \u201e${message}\u201c.
versionException=Der Befehl wird in diesem Kontext nicht unterst\u00fctzt.
unexpectedError=Unerwarteter Fehler bei der Verarbeitung des Befehls.
stackTraceFollows=Zu Diagnosezwecken folgt die Stapelverfolgung: 
sessionEndedAbruptly=Die Sitzung wurde abrupt beendet.
noUriReceived=Vom Player wurde kein URI empfangen
noSourceFilesFound=Es wurden keine Quelldateien gefunden
unknownBreakpointLocation=<unbekannt>
unknownFilename=<unbekannt>
inFunctionAt=in ${functionName}() an 
inSwf=in ${swf}
nonRestorable=; Nicht wiederherstellbar von vorheriger Sitzung
sourceDirectoriesSearched=Durchsuchte Quellverzeichnisse:
attemptingToSuspend=Es wird versucht, den Player anzuhalten...
playerStopped=Player wurde beendet
playerRunning=Player wird ausgef\u00fchrt
suspendReason_Unknown=Unknown
suspendReason_HitBreakpoint=Haltepunkt
suspendReason_HitWatchpoint=Watch
suspendReason_ProgramThrewException=Fault
suspendReason_StopRequest=StopRequest
suspendReason_ProgramFinishedStepping=Step
suspendReason_HaltOpcode=HaltOpcode
suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
noStackAvailable=Kein Stack verf\u00fcgbar
atFilename=in 
noVariables=keine Variablen
noArguments=keine Argumente
notInValidFrame=Nicht in einem g\u00fcltigen Frame. Kehren Sie mit dem Befehl \u201eframe\u201c zum aktuellen Frame zur\u00fcck.
noLocals=keine lokalen Variablen
noScopeChain=keine Bereichskette
noActiveSession=Keine aktive Sitzung
runWillLaunchUri=\u201erun\u201c startet ${uri}
targetUnknown=Unbekanntes Ziel
noSWFs=keine SWFs.
unrecognizedFault=Unbekannter Fehler.
noFunctionsFound=Es wurden keine Funktionen gefunden
functionListBeingPrepared=Die Funktionsliste wird im Hintergrund vorbereitet; wiederholen Sie den Vorgang sp\u00e4ter.
functionsInSourceFile=Funktionen in ${sourceFile}
breakpointNotYetResolved=(noch nicht aufgel\u00f6st)
breakpointAmbiguous=(nicht eindeutig)
breakpointNoCode=(kein ausf\u00fchrbarer Code in der angegebenen Zeile)
sessionTerminated=Die Player-Sitzung wurde beendet
additionalCodeLoaded=Zus\u00e4tzlicher ActionScript-Code wurde von einem SWF oder einem Frame geladen.\nGeben Sie \u201einfo files\u201c ein, um alle aktuell geladenen Dateien anzuzeigen.
setAdditionalBreakpoints=Legen Sie ggf. weitere Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein.
fixBreakpoints=Korrigieren oder entfernen Sie fehlerhafte Haltepunkte und geben Sie dann \u201econtinue\u201c ein.
executionHalted=Ausf\u00fchrung unterbrochen
hitBreakpoint=Haltepunkt ${breakpointNumber}
haltedInFunction=${reasonForHalting}, ${functionName}() in ${fileAndLine}
haltedInFile=${reasonForHalting}, ${fileAndLine}
linePrefixWhenDisplayingConsoleError=[Error]
linePrefixWhenDisplayingFault=[Fault]
linePrefixWhenSwfLoaded=[SWF]
linePrefixWhenSwfUnloaded=[UnloadSWF]
informationAboutFault=, information=
sizeAfterDecompression=${size} Byte nach der Dekomprimierung
breakpointNotPropagated=WARNUNG: Der Haltepunkt ${breakpointNumber} wurde nicht an alle SWF weitergegeben.\nSie m\u00fcssen ihn l\u00f6schen und erneut festlegen.
playerAlreadyRunning=Der Player wird bereits ausgef\u00fchrt und muss deshalb nicht fortgesetzt werden.
doYouWantToHalt=M\u00f6chten Sie die Ausf\u00fchrung unterbrechen?
debugInfoBeingLoaded=Debuginformationen werden derzeit geladen
attemptingToHalt=Es wird versucht, den Vorgang zu beenden.\nSie k\u00f6nnen auch den Player manipulieren (z.B. durch Dr\u00fccken einer Taste)
couldNotHalt=Unterbrechen nicht m\u00f6glich, da kein ActionScript ausgef\u00fchrt wird.
escapingFromDebuggerPendingLoop=Beendigung der Debuggerschleife; setze $nowaiting = 1
continuingDueToError=Der Vorgang wird aufgrund des Fehlers \u201e${error}\u201c fortgesetzt
currentLocationUnknown=aktuelle Position unbekannt
cannotStep=Fortsetzung nicht m\u00f6glich. Legen Sie Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein.
abortingStep=Der Player wurde nicht rechtzeitig reaktiviert; die restlichen ${count} Schritte werden abgebrochen.
finishCommandNotMeaningfulOnOutermostFrame=finish\u201e kann im \u00e4u\u00dfersten Frame nicht verwendet werden
finishCommandNotMeaningfulWithoutStack=finish\u201c kann ohne Stack nicht verwendet werden
noBreakpointNumber=Keine Haltepunktnummer ${breakpointNumber}
badBreakpointNumber=Warnung wegen fehlerhafter Haltepunktnummer in oder bei \u201e${token}\u201c
commandFailed=Der Befehl ist fehlgeschlagen.
createdBreakpoint=Haltepunkt ${breakpointNumber}: Datei ${file}, Zeile ${line}
createdBreakpointWithOffset=Haltepunkt ${breakpointNumber} an ${offset}: Datei ${file}, Zeile ${line}
breakpointCreatedButNotYetResolved=Der Haltepunkt ${breakpointNumber} wurde erstellt, aber noch nicht aufgel\u00f6st.\nDer Haltepunkt wird beim Laden der entsprechenden Datei oder Funktion aufgel\u00f6st.
fileNumber=Datei #${fileNumber}
breakpointNotSetNoCode=Der Haltepunkt ist nicht festgelegt; es ist kein ausf\u00fchrbarer Code in Zeile ${line} von ${filename} vorhanden.
breakpointLocationUnknown=Unbekannte Haltepunktposition.
breakpointNotCleared=Der Haltepunk wurde nicht gel\u00f6scht.
attemptingToResolve=Es wird versucht, Haltepunkt ${breakpointNumber}, Ausdruck \u201e${expression}\u201c aufzul\u00f6sen:
noExecutableCode=In der angegebenen Zeile ist kein ausf\u00fchrbarer Code vorhanden.
resolvedBreakpointToFunction=Der Haltepunkt ${breakpointNumber} wurde aufgel\u00f6st in ${functionName}() in ${file}:${line}
resolvedBreakpointToFile=Der Haltepunkt ${breakpointNumber} wurde aufgel\u00f6st in ${file}:${line}
setCommand=Der festgelegte Befehl erfordert eine Variable gefolgt von einem Ausdruck
missingOperator=Der Ausdruck muss den Operator \u201e${operator}\u201c enthalten.
noSideEffectsAllowed=F\u00fcr den Ausdruck sind keine Nebeneffekte wie z.B. eine Zuweisung zul\u00e4ssig.
couldNotEvaluate=Der Ausdruck konnte nicht ausgewertet werden.
commandHistoryIsEmpty=Das Protokoll ist leer
historyHasNotReached=Das Protokoll hat ${number} noch nicht erreicht
variableUnknown=Unbekannte Variable ${variable}
expressionCouldNotBeParsed=Der Ausdruck konnte nicht ordnungsgem\u00e4\u00df analysiert werden:
couldNotConvertToNumber=${value} konnte nicht in eine Zahl konvertiert werden
commandsLimitedToSpecifiedSwf=Die Befehle sind auf Quelldateien von ${swf} beschr\u00e4nkt
commandsApplyToAllSwfs=Quelldateien aus allen SWF sind in Befehlen verf\u00fcgbar.
notValidSwf=${swf} ist als SWF nicht zul\u00e4ssig.
frameDoesNotExist=Der Frame \u201e${frameNumber}\u201c ist nicht vorhanden.
notANumber=\u201e${token}\u201c ist keine Zahl.
expectedLineNumber=Eine Zeilennummer wurde erwartet; stattdessen wurde ${token} erhalten.
expectedFileNumber=Eine Dateinummer wurde erwartet; stattdessen wurde ${token} erhalten.
noSourceFileWithSpecifiedName=Die Quelldatei \u201e${name}\u201c existiert nicht.
noFunctionWithSpecifiedName=Die Funktion \u201e${name}\u201c existiert nicht.
ambiguousMatchingFilenames=Nicht eindeutige \u00fcbereinstimmende Dateinamen:
ambiguousMatchingFunctionNames=Nicht eindeutige \u00fcbereinstimmende Funktionsnamen:
functionInFile=${functionName} in ${filename}
expectedFile=Ein Dateiname oder eine Dateinummer beginnend mit # wurde erwartet; stattdessen wurde ${token} erhalten.
noSuchFileOrFunction=Die Datei oder Funktion \u201e${token}\u201c existiert nicht.
localVariable=local
functionArgumentVariable=Argument
mustBeOnlyOneVariable=Der Ausdruck darf nur eine einzige Variable enthalten
lineJunk=Datenm\u00fcll am Ende der Zeilenspezifikation
sourceFileNotFound=Die Quelldatei wurde nicht gefunden. Geben Sie mithilfe des Befehls 'directory' den\nSpeicherort der Quelldatei auf diesem Computer an. Geben Sie 'help directory' ein, um wichtige Informationen\nzum Angeben eines Verzeichnisses f\u00fcr Quelldateien in einem Paket anzuzeigen.
lineNumberOutOfRange=Die Zeilennummer ${line} liegt au\u00dferhalb des g\u00fcltigen Bereichs; die Datei ${filename} weist ${total} Zeilen auf.
noFilesFound=Es wurden keine Dateien gefunden
sessionInProgress=Die Sitzung wird bereits ausgef\u00fchrt
waitingForPlayerToConnect=Auf die Verbindungsherstellung des Players wird gewartet
waitingToConnectToPlayer=Mit dem Player verbinden...
launchingWithUrl=Es wird versucht, mithilfe der URL den Player zu starten und eine Verbindung mit dem Player herzustellen
playerConnectedSessionStarting=Verbindung mit dem Player hergestellt; die Sitzung wird gestartet.
setBreakpointsThenResume=Legen Sie Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein, um die Sitzung fortzusetzen.
warningNotAllCommandsSupported=WARNUNG: Der verwendete Player unterst\u00fctzt nicht alle FDB-Befehle.
fileDoesNotExist=Datei wurde nicht gefunden: ${uri}
failedToConnect=Verbindungsversuch fehlgeschlagen; Zeit\u00fcberschreitung der Sitzung.\nStellen Sie Folgendes sicher:\n  1. Sie haben das Flash-Movie mit aktivierter Debugfunktion kompiliert, und\n  2. Sie f\u00fchren die Debuggerversion von Flash Player aus.
manuallyLaunchPlayer=Geben Sie \u201erun\u201c ein und starten Sie dann den Player manuell.
sourceCommandRequiresPath=F\u00fcr den Befehl \u201esource\u201c ist der Pfadname der Quelldatei erforderlich.
fileNotFound=${filename}: Die Datei bzw. das Verzeichnis existiert nicht.
argumentRequired=Argument erforderlich (zu behandelnder Fehler).
breakpointNotChanged=Der Haltepunkt wurde nicht ge\u00e4ndert.
badWatchpointNumber=Fehlerhafte \u00dcberwachungspunktnummer.
couldNotResolveExpression=Der Ausdruck konnte nicht in eine Variable aufgel\u00f6st werden.
notAllBreakpointsEnabled=Nicht alle Haltepunkte sind aktiviert
programNotBeingRun=Das Programm wird nicht ausgef\u00fchrt.
commandNotValidUntilPlayerSuspended=Der Befehl kann erst ausgef\u00fchrt werden, wenn der Player angehalten wurde; versuchen Sie es mit dem Befehl \u201ehalt\u201c.
noHelpFileFound=Es wurde keine Hilfedatei (fdbhelp*.txt) gefunden.
invalidTargetFault=Fehlerhafter Zielname f\u00fcr ActionSetTarget-Anweisung
recursionLimitFault=Der obere Grenzwert f\u00fcr die Rekursion wurde erreicht
invalidWithFault=Das Ziel der \u201ewith\u201c-Anweisung ist kein Objekt
protoLimitFault=Bei der Suche in der Prototypkette wurde der Grenzwert erreicht
invalidUrlFault=\u00d6ffnen einer URL ist fehlgeschlagen
exceptionFault=Benutzerausnahme ausgel\u00f6st
stackUnderflowFault=Stapelunterlauf
divideByZeroFault=Fehler bei Division durch Null
scriptTimeoutFault=ActionScript-Code wird nicht verarbeitet
errorWhileProcessingFile=Fehler bei der Verarbeitung der Datei (${exceptionMessage})
unrecognizedAction=Unbekannte Aktion ${action}
typeCommandsForBreakpoint=Geben Sie jeweils in eine Zeile Befehle f\u00fcr den Fall ein, dass der Haltepunkt ${breakpointNumber} erreicht wird.\nBeenden Sie den Vorgang mit der Zeile \u201eend\u201c.
breakpointNowUnconditional=Der Haltepunkt ${breakpointNumber} ist nun bedingungslos.
watchpointCouldNotBeSet=F\u00fcr \u201e${expression}\u201c konnte kein \u00dcberwachungspunkt festgelegt werden

changedWatchpointMode=\u00dcberwachungspunkt ${watchpointNumber} in Ausdruck \u201e${expression}\u201c nun ${watchpointMode}
# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
watchpointMode_read=Lesen
watchpointMode_write=Schreiben
watchpointMode_readWrite=Lesen/Schreiben

createdWatchpoint=Unterbrechungspunkt ${watchpointNumber} festgelegt f\u00fcr den Ausdruck \u201e${expression}\u201c
couldNotFindWatchpoint=Die \u00dcberwachung von \u201e${variable}\u201c konnte nicht gefunden oder entfernt werden.
noDisplayNumber=Keine Anzeigenummer ${displayNumber}
badDisplayNumber=Warnung wegen fehlerhafter Anzeigenummer in oder bei \u201e${token}\u201c
breakpointLocationNoLongerExists=Die Quelldatei und die Zeilennummer sind f\u00fcr den Haltepunkt ${breakpointNumber} nicht mehr vorhanden.
unknownCommand=Unbekannter Befehl \u201e${command}\u201c wird ignoriert
unknownSubcommand=Unbekannter ${commandCategory}-Befehl \u201e${command}\u201c wird ignoriert
unknownEvent=Unbekannter Ereignistyp \u201e${type}\u201c wurde empfangen, Info = ${info}
problemWithConnection=Problem bei Sitzungsverbindung, \u201e${socketErrorMessage}\u201c, die wahrscheinlich am besten mit dem Befehl \u201ekill\u201c beendet werden sollte.
unexpectedErrorWithStackTrace=Unerwarteter Fehler bei der Verarbeitung des Befehls.\nZu Diagnosezwecken folgt die Stapelverfolgung: 
ambiguousCommand=Nicht eindeutiger Befehl \u201e${input}\u201c:
faultHasNoTableEntry=F\u00fcr den Fehler ${faultName} gibt es keinen Tabelleneintrag
swfInfo=${swfName} - ${size} Byte nach der Dekomprimierung, ${scriptCount} Skripts [#${min} - #${max}]${plus} ${moreInfo}, die URL lautet ${url}
remainingSourceBeingLoaded=Die verbleibende Quelle wird noch geladen

# the following string is appended to the end of any question; tells the user what to type
yesOrNoAppendedToAllQuestions=(y oder n) 
# the following string is what character the user should to answer "yes" to a yes/no question
singleCharacterUserTypesForYes=y
# a bunch of questions:
askDeleteAllBreakpoints=Sollen alle Haltepunkte gel\u00f6scht werden?
askDeleteAllAutoDisplay=Sollen alle automatisch angezeigten Ausdr\u00fccke gel\u00f6scht werden?
askKillProgram=Soll das debuggte Programm beendet werden?
askProgramIsRunningExitAnyway=Das Programm wird ausgef\u00fchrt. Soll es dennoch beendet werden?
askReinitSourcePath=Soll der Quellpfad als leerer Pfad neu initialisiert werden?
askExpressionContainsAssignment=Der Ausdruck enth\u00e4lt eine Zuweisung! Soll der Vorgang fortgesetzt werden?
# the following string is output if someone answers "no" to any of the above questions
yesNoQueryNotConfirmed=Nicht best\u00e4tigt.
stopOnlyIfConditionMet=nur bei ${breakpointCondition} beenden
breakpointAlreadyHit=Haltepunkt wurde bereits ${count} Mal erreicht
silentBreakpoint=automatisch
getterFunction=Getter
setterFunction=Setter
function=Funktion
unknownVariableType=<unbekannt>
variableAttribute_dontEnumerate=nicht aufz\u00e4hlen
variableAttribute_readOnly=schreibgesch\u00fctzt
variableAttribute_localVariable=lokal
variableAttribute_functionArgument=Argument
variableAttribute_getterFunction=Getter
variableAttribute_setterFunction=Setter
variableAttribute_hasNamespace=hat Namespace
key16=Empfangene Meldungen:
key17=Gesendete Meldungen:
key18=Es wurden keine Quelldateien gefunden
key19=Es wurden keine Funktionen gefunden
key20=Die Funktionsliste wird im Hintergrund vorbereitet; wiederholen Sie den Vorgang sp\u00e4ter.
key21=--- SessionManager-Eigenschaften
key22=--- Sitzungseigenschaften
stopped=Stopped
key24=Player wird ausgef\u00fchrt.
key25=Es wurden keine Halteinformationen gefunden
key26=Unbekannte Variable
key27=Die Quellinformationen sind unbekannt, aktueller Speicherort wurde disassembliert
key28=Datenm\u00fcll am Ende der Zeilenspezifikation
key29=F\u00fcr die Datei ${arg3} wurde kein SWF gefunden
key30=Es wurde keine Funktion gefunden
key31=---- Anzeigen nicht zugeordneter Anweisungen in 0x${arg4}, die \u00fcbersprungen wurden ----
key32=Die Zeilennummer ${arg5} liegt au\u00dferhalb des g\u00fcltigen Bereichs; die Datei ${arg6} weist ${arg7} Zeilen auf.
key33=Es wurden keine Dateien gefunden
key34=Der Player wurde derzeit nicht f\u00fcr Aktionen unterbrochen.
key35=in \u201e${swfName}\u201c
atAddress=an ${address}
haltedDueToFault=aufgrund von ${fault}
