<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Locale SYSTEM 'locale.dtd'>
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->
<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.2">
<LC_INFO>
<Language>
<LangID>es</LangID>
<DefaultName>Spanish</DefaultName>
</Language>
<Country>
<CountryID>VE</CountryID>
<DefaultName>Venezuela</DefaultName>
</Country>
<Platform>
<PlatformID>generic</PlatformID>
</Platform>
</LC_INFO>
<LC_CTYPE ref="es_PY"/>
<LC_FORMAT ref="es_PE" replaceTo="[$Bs-200A]"/>
<LC_COLLATION ref="en_US"/>
<LC_SEARCH ref="en_US"/>
<LC_INDEX ref="es_ES"/>
<LC_CALENDAR ref="es_AR"/>
<LC_CURRENCY>
<Currency default="false" usedInCompatibleFormatCodes="true">
<CurrencyID>VEB</CurrencyID>
<CurrencySymbol>Bs</CurrencySymbol>
<BankSymbol>VEB</BankSymbol>
<CurrencyName>Bolivar</CurrencyName>
<DecimalPlaces>2</DecimalPlaces>
</Currency>
<Currency default="true" usedInCompatibleFormatCodes="false">
<CurrencyID>VEF</CurrencyID>
<CurrencySymbol>BsF</CurrencySymbol>
<BankSymbol>VEF</BankSymbol>
<CurrencyName>Bolivar Fuerte</CurrencyName>
<DecimalPlaces>2</DecimalPlaces>
</Currency>
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC ref="es_ES"/>
<LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
