###############################################################################
# Copyright (c) 2001, 2004 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 API and implementation
###############################################################################
# To avoid name collisions, each extension point should preface their property names with an identifier.
#
#     *************************************************************************
#     * Code oriented instructions:
#     *
#     * In the string, you may see the following special sequences:
#     * a) {n}  where n is a number. These are replaceable parameters.
#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
#     *    string, sometimes two apostrophes must be entered in the string. In the translated
#     *    string, if there is at least one {n} in the string, then to show one apostrophe
#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
#     *    then put one apostrophe.
#     *    For example, say that you want the user to read "George's file". 
#     *        GEORGE=George's file was on the desk.
#     *        GEORGE2=George''s file and {0} were on the desk.
#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
#     *    uses two apostrophes because there is a {n}.
#     * c) '' text '' where text can be any word(s). The text between the double
#     *    apostrophes should not be translated. 
#     * d) <text> where text can be any word(s). The text between the angle
#     *    brackets should NOT be translated.
#     * e) "text" where text can be any word(s). The text between the quotation 
#     *    marks should NOT be translated.
#     *    
#     *************************************************************************
#     * Other instructions
#     * a) Do not translate any text that is on a line which begins with a comment 
#     *    symbol (#).
#     * b) Do not translate these words: 
#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
#     * c) Please return the .properties files using the same directory structure.
#     *    This is necessary because two of the files have the same name.
#     *
#     *************************************************************************
# Any other comments to the translators are on lines which start like this:  # 2TC:
#
# Version 1.14
#
#
# ID:
#    VBF - Validation Builder Framework
#       VBF_EXC=Exception or error text
#       VBF_STATUS=Status message
#       VBF_TASK=Task list message
#

# 
# Begin Validation Builder Framework Strings
#
# IDs:
#    VBF_EXC=Exception or error text
#    VBF_STATUS=Status message
#    VBF_TASK=Task list message
#
VBF_EXC_CANNOT_ADD_MARKER=IWAE0001E Die Markierung kann der Ressource {0} in der Taskliste nicht hinzugef\u00fcgt werden.
VBF_EXC_CANNOT_REMOVE_MARKER=IWAE0002E Die Markierung kann aus der Ressource {0} in der Taskliste nicht entfernt werden.

VBF_EXC_HELPER_MISSING=IWAE0003E {0} kann nicht geladen werden, da kein <helper> angegeben wurde. Jedes Pr\u00fcfprogramm muss die Helper-Klasse, die das entsprechende MOF-Modell l\u00e4dt identifizieren.
VBF_EXC_HELPER_CANNOTLOAD=IWAE0004E {0} kann nicht geladen werden da der entsprechende <helper>, {1}, nicht geladen werden konnte. Stellen Sie sicher, dass die Schreibweise (einschl. Gro\u00df-/Kleinschreibung) korrekt ist.

VBF_EXC_INTERNAL=IWAE0005E W\u00e4hrend der \u00dcberpr\u00fcfung ist ein interner Fehler aufgetreten. Die \u00dcberpr\u00fcfung wurde auf Projekt {0} mit Pr\u00fcfprogramm {1} ausgef\u00fchrt. Die ausgel\u00f6ste Nachricht war {2}.

# 2TC: In the following string, "type" is a noun
VBF_EXC_INVALID_TYPE_FILTER=IWAE0006E Ung\u00fcltiger Typfilter; {0} muss ein Exemplar von {1} sein.
VBF_EXC_INVALID_RESOURCE=IWAE0007E Nachricht "{0}" mit Zielobjekt "{1}" kann nicht hinzugef\u00fcgt werden, da keine Datei, kein Ordner oder kein Projekt gefunden werden kann, die/der/das der Nachricht zugeordnet werden kann.

VBF_EXC_MISSING_VALIDATOR_EP=IWAE0008E Das Pr\u00fcfprogrammger\u00fcst konnte nicht gestartet werden. Der Erweiterungspunkt mit dem Namen \"{0}\" konnte nicht gefunden werden. Bitte speichern Sie alle Protokolldateien, und setzen Sie sich mit Ihrem IBM Ansprechpartner in Verbindung.
VBF_EXC_MISSING_PROJECTNATURE_ID=IWAE0009E Eine projectNature muss eine zugeordnete ID haben. Die \u00dcberpr\u00fcfung ignoriert diesen Befehl und f\u00e4hrt fort.

VBF_EXC_RUNTIME=IWAE0010E W\u00e4hrend der \u00dcberpr\u00fcfung ist eine Laufzeitausnahmebedingung {0} aufgetreten. Das ausgef\u00fchrte Pr\u00fcfprogramm lautete {1} und die ausgel\u00f6ste Nachricht war {2}.

VBF_EXC_SYNTAX_NULL_NAME=IWAE0011E Ressource {0} kann der Dateiliste nicht hinzugef\u00fcgt werden, da IHelper.getPortableName() Null zur\u00fcckgibt. Die Ressource wird nicht von dem Pr\u00fcfprogramm mit dem Namen {1} \u00fcberpr\u00fcft.
VBF_EXC_SYNTAX_NO_HELPER=IWAE0012E Es ist kein <helper>-Element in der Datei plugin.xml f\u00fcr Pr\u00fcfprogramm {0} angegeben. Da der Helper nicht erstellt werden kann, wird das Pr\u00fcfprogramm nicht geladen.
VBF_EXC_SYNTAX_NO_HELPER_CLASS=IWAE0013E Es ist kein "class"-Attribut im <helper>-Element in der Datei plugin.xml f\u00fcr Pr\u00fcfprogramm {0} angegeben. Der Helper kann nicht ohne den Namen einer Klasse, die ihn implementiert, erstellt werden. Da der Helper nicht erstellt werden kann, wird das Pr\u00fcfprogramm nicht geladen.
VBF_EXC_SYNTAX_NO_HELPER_THROWABLE=IWAE0014E Der Helper {0} kann nicht erstellt werden, da ein throwable abgefangen wurde.
VBF_EXC_SYNTAX_NO_VAL_RUN=IWAE0015E Das Pr\u00fcfprogramm kann nicht erstellt werden, da kein <run>-Element in der Datei plugin.xml f\u00fcr das Pr\u00fcfprogramm mit dem Namen {0} angegeben ist. Es kann kein Pr\u00fcfprogramm erstellt werden - es sei denn, ein <run>-Element ist vorhanden, das das "class"-Attribut angibt. Der Wert des "class"-Attributs muss der Name der Klasse sein, die die Schnittstelle IWorkbenchHelper implementiert.
VBF_EXC_SYNTAX_NO_VAL_CLASS=IWAE0016E Das Pr\u00fcfprogramm kann nicht erstellt werden, da kein "class"-Attribut im <run>-Element in der Datei plugin.xml f\u00fcr das Pr\u00fcfprogramm mit dem Namen {0} angegeben ist. Es kann kein Pr\u00fcfprogramm erstellt werden - es sei denn, ein <run>-Element ist vorhanden, das das "class"-Attribut angibt. Der Wert des "class"-Attributs muss der Name der Klasse sein, die die Schnittstelle IWorkbenchHelper implementiert.
VBF_EXC_SYNTAX_NO_VAL_THROWABLE=IWAE0017E Das Pr\u00fcfprogramm {0} kann nicht erstellt werden, weil ein throwable abgefangen wurde.
VBF_EXC_SYNTAX_NO_VAL_NULL=IWAE0018E Pr\u00fcfprogrammklasse {0} konnte nicht erstellt werden. IConfigurationElement.createExecutableExtension(String) gab Null zur\u00fcck.

VBF_EXC_DISABLEV=IWAE0019E Pr\u00fcfprogramm {0} kann nicht instanziert werden. Pr\u00fcfprogramm wird inaktiviert; im Protokoll sind Einzelheiten hierzu enthalten.
VBF_EXC_DISABLEH=IWAE0020E Helper {0} kann nicht instanziert werden. Pr\u00fcfprogramm {1} wird inaktiviert; im Protokoll sind Einzelheiten hierzu enthalten.
VBF_EXC_ORPHAN_IVALIDATOR=IWAE0021E F\u00fcr das Pr\u00fcfprogramm {0} k\u00f6nnen keine Metadaten gefunden werden.

VBF_EXC_VALIDATORNAME_IS_NULL=IWAE0022E Das Plug-in mit ID {0} wurde inaktiviert, da seine getName()-Methode Null zur\u00fcckgibt. Die Methode muss einen Wert zur\u00fcckgeben.

VBF_EXC_NULLCREATE=IWAE0023E Eine \u00dcberpr\u00fcfungskonfiguration kann nicht in einer Nullressource erstellt werden.
VBF_EXC_NULLSAVE=IWAE0024E Eine \u00dcberpr\u00fcfungskonfiguration kann nicht in einer Nullressource gespeichert werden.
VBF_EXC_SAVE=IWAE0025E Speichern der \u00dcberpr\u00fcfungskonfiguration in Ressource {0} nicht m\u00f6glich.
VBF_EXC_NULLRETRIEVE=IWAE0026E Die \u00dcberpr\u00fcfungskonfiguration kann nicht abgerufen werden, da die Ressource den Wert Null hat.
VBF_EXC_RETRIEVE=IWAE0027E Abrufen der \u00dcberpr\u00fcfungskonfiguration f\u00fcr Ressource {0} nicht m\u00f6glich.

VBF_EXC_BADVMD=IWAE0028E ValidatorMetaData[] darf nicht den Wert Null haben oder leer sein.
VBF_EXC_OPENPRJ=IWAE0029E Projekt {0} muss ge\u00f6ffnet sein.
VBF_EXC_EXISTPRJ=IWAE0030E Projekt {0} muss vorhanden sein.
VBF_EXC_BADPRJ=IWAE0031E Das Projekt {0} muss die Ressourcen in IResource[] enthalten.
VBF_EXC_MULTIPRJ=IWAE0032E Alle IResource-Exemplare in IResource[] m\u00fcssen Teil des gleichen IProject-Exemplars sein. Die Ressourcen stammen von den folgenden Projekten: {0}.
VBF_EXC_BADVAL=IWAE0033E Pr\u00fcfprogramm {0} muss auf {1} konfiguriert sein;

VBF_STATUS_INITIALIZING={0} wird initialisiert.

VBF_STATUS_VALIDATOR_CLEANUP=Bereinigung auf {0} wird vor der Beendigung ausgef\u00fchrt.

VBF_STATUS_PROGRESSMONITOR_TITLE=\u00dcberpr\u00fcfung
VBF_STATUS_NULL_DELTA=Letzter Erstellungsstatus von {0} konnte nicht abgerufen werden. Es wird eine vollst\u00e4ndige Auswertung ausgef\u00fchrt.

VBF_STATUS_VALIDATOR_TERMINATED=\u00dcberpr\u00fcfung von {0} unter Verwendung von {1} wurde abgebrochen.

VBF_STATUS_START_REMOVING_OLD_MESSAGES=Das Entfernen von {0} Nachrichten auf {1} wurde gestartet...
VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES=Nachrichten entfernt.

VBF_STATUS_STARTING_VALIDATION=\u00dcberpr\u00fcfung von {0} nach {1} wurde gestartet...
VBF_STATUS_ENDING_VALIDATION=\u00dcberpr\u00fcfung von {0} nach {1} ist vollst\u00e4ndig. Alle bekannten Probleme wurden gemeldet.
VBF_STATUS_ENDING_VALIDATION_ABNORMALLY=\u00dcberpr\u00fcfung von {0} nach {1} wurde abnormal beendet. Die Liste der Probleme kann unvollst\u00e4ndig sein. In den Informationsnachrichten ist der Grund f\u00fcr die abnormale Beendigung aufgef\u00fchrt.

VBF_STATUS_LOOKING=\u00dcberpr\u00fcfungsnachrichten von deinstallierten Pr\u00fcfprogrammen werden gesucht...
VBF_STATUS_LOOKINGDONE=Suche nach \u00dcberpr\u00fcfungsnachrichten von deinstallierten Pr\u00fcfprogrammen...beendet.
VBF_STATUS_REMOVING=\u00dcberpr\u00fcfungsnachrichten von deinstallierten Pr\u00fcfprogrammen werden entfernt...
VBF_STATUS_REMOVINGDONE=Entfernen von \u00dcberpr\u00fcfungsnachrichten von deinstallierten Pr\u00fcfprogrammen...beendet.

# The following message will be deleted soon.
VBF_TASK_WARN_MESSAGE_LIMIT_ABORT=IWAE0034W IWAD3000I: {1} hat die Auswertung von {0} beendet, weil die maximal zul\u00e4ssige Anzahl von Nachrichten gemeldet wurde. M\u00f6glicherweise fehlen einige Nachrichten.

VBF_TASK_WARN_MESSAGE_LIMIT_VAL=IWAE0035W IWAD3000I: Es k\u00f6nnen einige Nachrichten fehlen, da die maximale Anzahl an Nachrichten erreicht wurde. Erh\u00f6hen Sie die maximale Anzahl der Nachrichten, und versuchen Sie den Vorgang erneut.

#
# End Validation Builder Framework Strings
#

