###############################################################################
# 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
###############################################################################
rar_dtd_not_found_EXC_=IWAE0078E Unterst\u00fctzung f\u00fcr RAR-Datei: DTD-Datei nicht gefunden: {0}
io_ex_saving_EXC_=IWAE0079E E/A-Ausnahmebedingung beim Speichern von {0}.
could_not_create_file_EXC_=IWAE0080E Die Datei mit dem Namen {0} konnte nicht erstellt werden.
unsupported_encoding_EXC_=IWAE0081E {0} ist auf dieser Plattform keine unterst\u00fctzte Codierung.
unsupported_type_EXC_=IWAE0082E Der Typ wird nicht erkannt oder noch nicht unterst\u00fctzt: PUBLIC_ID={0} SYSTEM_ID={1}
dtd_not_found_EXC_=IWAE0083E F\u00fcr die XML konnte kein Parsing ausgef\u00fchrt werden, weil die aufgel\u00f6ste Ressourcen "{0}" nicht im Klassenpfad gefunden wurde.
must_be_boolean_EXC_=IWAE0084E Beim Lesen von {0} ist eine Ausnahmebedingung aufgetreten.  Der Wert muss ein Boolescher Wert sein: Zeichenfolgewert = {1}
must_be_int_EXC_=IWAE0085E Beim Lesen von {0} ist eine Ausnahmebedingung aufgetreten.  Der Wert muss eine ganze Zahl sein: Zeichenfolgewert = {1}
empty_collection_EXC_=IWAE0086E Leere Collection f\u00fcr {0} in {1}
missing_req_field_EXC_=IWAE0087E Das erforderliche Feld {0} in {1} fehlt.
An_Exception_occurred_whil_EXC_=IWAE0088E Beim Schreiben von XML ist eine Ausnahmebedingung aufgetreten.
Not_supported_in_this_rele_EXC_=IWAE0089E Keine Unterst\u00fctzung in diesem Release
RAR_file_support__IO_excep_EXC_=IWAE0090E Unterst\u00fctzung f\u00fcr RAR-Datei: E/A-Ausnahmebedingung im angepassten DTD-Aufl\u00f6ser.
An_IO_Exception_occurred_w_EXC_=IWAE0091E Beim Schreiben von XML ist eine Ausnahmebedingung aufgetreten.
Failure_occurred_reading_x_EXC_=IWAE0092E Fehler beim Lesen von XML:
Invalid_value_for__EXC_=IWAE0093E Ung\u00fcltiger Wert f\u00fcr
Valid_values_are___EXC_=IWAE0094E G\u00fcltige Werte sind:

