###############################################################################
# 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 Suporte ao arquivo RAR: arquivo DTD n\u00e3o encontrado: {0}
io_ex_saving_EXC_=IWAE0079E Ocorreu uma Exce\u00e7\u00e3o E/S ao salvar {0}
could_not_create_file_EXC_=IWAE0080E N\u00e3o foi poss\u00edvel criar o arquivo denominado {0}
unsupported_encoding_EXC_=IWAE0081E {0} n\u00e3o \u00e9 uma codifica\u00e7\u00e3o suportada nesta plataforma
unsupported_type_EXC_=IWAE0082E O tipo n\u00e3o \u00e9 reconhecido ou ainda n\u00e3o \u00e9 suportado: PUBLIC_ID={0} SYSTEM_ID={1}
dtd_not_found_EXC_=IWAE0083E N\u00e3o foi poss\u00edvel analisar xml porque o recurso resolvido "{0}" n\u00e3o p\u00f4de ser encontrado no classpath
must_be_boolean_EXC_=IWAE0084E Ocorreu uma exce\u00e7\u00e3o ao ler {0}. O valor deve ser um booleano: Valor de cadeia = {1}
must_be_int_EXC_=IWAE0085E Ocorreu uma exce\u00e7\u00e3o ao ler {0}. O valor deve ser um inteiro: Valor de cadeia = {1}
empty_collection_EXC_=IWAE0086E Coleta vazia para {0} em {1}
missing_req_field_EXC_=IWAE0087E Campo requerido ausente {0} em {1}
An_Exception_occurred_whil_EXC_=IWAE0088E Ocorreu uma Exce\u00e7\u00e3o durante a grava\u00e7\u00e3o de xml
Not_supported_in_this_rele_EXC_=IWAE0089E N\u00e3o suportado neste release
RAR_file_support__IO_excep_EXC_=IWAE0090E Suporte ao arquivo RAR: exce\u00e7\u00e3o ES no solucionador DTD personalizado.
An_IO_Exception_occurred_w_EXC_=IWAE0091E Ocorreu uma Exce\u00e7\u00e3o E/S durante a grava\u00e7\u00e3o de xml
Failure_occurred_reading_x_EXC_=IWAE0092E Ocorreu uma falha ao ler xml:
Invalid_value_for__EXC_=IWAE0093E Valor inv\u00e1lido para
Valid_values_are___EXC_=IWAE0094E Os valores v\u00e1lidos s\u00e3o:

