###############################################################################
# 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 Support de fichier RAR : fichier DTD introuvable : {0}
io_ex_saving_EXC_=IWAE0079E Une exception d''E-S s''est produite lors de la sauvegarde de {0}.
could_not_create_file_EXC_=IWAE0080E Impossible de cr\u00e9er le fichier nomm\u00e9 {0}.
unsupported_encoding_EXC_=IWAE0081E {0} n''est pas un encodage support\u00e9 sur cette plateforme.
unsupported_type_EXC_=IWAE0082E Type non reconnu ou pas encore support\u00e9 : PUBLIC_ID={0} SYSTEM_ID={1}
dtd_not_found_EXC_=IWAE0083E Impossible d''analyser le fichier xml car la ressource r\u00e9solue "{0}" est introuvable dans le chemin d''acc\u00e8s aux classes.
must_be_boolean_EXC_=IWAE0084E Une exception s''est produite lors de la lecture de {0}.  La valeur doit \u00eatre un bool\u00e9en : valeur de cha\u00eene = {1}
must_be_int_EXC_=IWAE0085E Une exception s''est produite lors de la lecture de {0}.  La valeur doit \u00eatre un entier : valeur de cha\u00eene = {1}
empty_collection_EXC_=IWAE0086E Collection vide pour {0} dans {1}.
missing_req_field_EXC_=IWAE0087E Zone requise manquante {0} dans {1}.
An_Exception_occurred_whil_EXC_=IWAE0088E Une exception s'est produite lors de l'\u00e9criture du fichier xml
Not_supported_in_this_rele_EXC_=IWAE0089E Non support\u00e9 dans cette \u00e9dition.
RAR_file_support__IO_excep_EXC_=IWAE0090E Support du fichier RAR : exception d'E-S dans le r\u00e9solveur DTD personnalis\u00e9.
An_IO_Exception_occurred_w_EXC_=IWAE0091E Une exception d'E-S s'est produite lors de l'\u00e9criture du fichier xml.
Failure_occurred_reading_x_EXC_=IWAE0092E Echec lors de la lecture du fichier xml :
Invalid_value_for__EXC_=IWAE0093E Valeur non valide pour
Valid_values_are___EXC_=IWAE0094E Les valeurs valides sont :

