###############################################################################
# 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 Supporto file RAR: impossibile trovare il file DTD: {0}
io_ex_saving_EXC_=IWAE0079E Eccezione IO durante il salvataggio di {0}
could_not_create_file_EXC_=IWAE0080E Impossibile creare il file {0}
unsupported_encoding_EXC_=IWAE0081E {0} non \u00e8 un tipo di codice supportato su questa piattaforma
unsupported_type_EXC_=IWAE0082E Tipo non riconosciuto o non supportato: PUBLIC_ID={0} SYSTEM_ID={1}
dtd_not_found_EXC_=IWAE0083E Impossibile eseguire l''analisi xml. Risorsa risolta "{0}" non trovata nel percorso classi
must_be_boolean_EXC_=IWAE0084E Eccezione durante la lettura di {0}.  Il valore fornito deve essere booleano: valore stringa = {1}
must_be_int_EXC_=IWAE0085E Eccezione durante la lettura di {0}.  Il valore fornito deve essere un numero intero: valore stringa = {1}
empty_collection_EXC_=IWAE0086E Insieme vuoto per {0} in {1}
missing_req_field_EXC_=IWAE0087E Campo {0} richiesto mancante in {1}
An_Exception_occurred_whil_EXC_=IWAE0088E Eccezione durante la scrittura xml
Not_supported_in_this_rele_EXC_=IWAE0089E Non supportato in questa versione
RAR_file_support__IO_excep_EXC_=IWAE0090E Supporto file RAR: eccezione IO nel resolver personalizzato DTD.
An_IO_Exception_occurred_w_EXC_=IWAE0091E Eccezione IO durante la scrittura xml
Failure_occurred_reading_x_EXC_=IWAE0092E Errore durante la lettura xml:
Invalid_value_for__EXC_=IWAE0093E Valore non valido per
Valid_values_are___EXC_=IWAE0094E I valori non validi sono:

