summaryrefslogtreecommitdiff
path: root/gnu/java/locale/LocaleInformation_en.java
blob: 07027f92c4c9de51c1034a0b8609285d10bef7b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
/* LocaleInformation_en.java --
   Copyright (C) 2004  Free Software Foundation, Inc.

This file is part of GNU Classpath.

GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.

Linking this library statically or dynamically with other modules is
making a combined work based on this library.  Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.

As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module.  An independent module is a module which is not derived from
or based on this library.  If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so.  If you do not wish to do so, delete this
exception statement from your version. */


// This file was automatically generated by gnu.localegen from LDML

package gnu.java.locale;

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.StringTokenizer;
import java.util.ListResourceBundle;

public class LocaleInformation_en extends ListResourceBundle
{
  private static final String currenciesDisplayNameKeys = "JOD\u00A6BOV\u00A6XAU\u00A6FOK\u00A6LBP\u00A6EUR\u00A6VND\u00A6TZS\u00A6BOP\u00A6KHR\u00A6XAM\u00A6BOL\u00A6KHO\u00A6ZMP\u00A6AUP\u00A6XAG\u00A6XAF\u00A6MTP\u00A6GHR\u00A6ZMK\u00A6XAD\u00A6GHP\u00A6BOB\u00A6GHO\u00A6MTL\u00A6AUD\u00A6USS\u00A6ITL\u00A6USN\u00A6GHC\u00A6SGD\u00A6PAB\u00A6LAK\u00A6KGS\u00A6CHF\u00A6CHE\u00A6CHC\u00A6ATS\u00A6USD\u00A6ETD\u00A6BND\u00A6JMP\u00A6ETB\u00A6XXX\u00A6DZG\u00A6DZF\u00A6DZD\u00A6PYG\u00A6LYP\u00A6JMD\u00A6ISK\u00A6ESP\u00A6BMP\u00A6LYD\u00A6LYB\u00A6BMD\u00A6NLG\u00A6MRO\u00A6ESB\u00A6ESA\u00A6IRR\u00A6CFP\u00A6SEK\u00A6ERN\u00A6KES\u00A6CFF\u00A6ARS\u00A6ARP\u00A6ARM\u00A6TWD\u00A6SDR\u00A6SDP\u00A6GEL\u00A6GEK\u00A6MQF\u00A6FKP\u00A6ARA\u00A6SDD\u00A6IQD\u00A6EQE\u00A6TVD\u00A6SCR\u00A6LVR\u00A6FJP\u00A6LVL\u00A6CDL\u00A6CDG\u00A6CDF\u00A6FJD\u00A6NIO\u00A6MOP\u00A6NIG\u00A6NIC\u00A6XTS\u00A6XTR\u00A6LUL\u00A6FIN\u00A6FIM\u00A6SBD\u00A6LUF\u00A6LUC\u00A6TTO\u00A6AOS\u00A6AOR\u00A6RHD\u00A6MNT\u00A6HUF\u00A6BIF\u00A6AON\u00A6AOK\u00A6TTD\u00A6SZL\u00A6NHF\u00A6GBP\u00A6SAS\u00A6SAR\u00A6LTT\u00A6INR\u00A6PTE\u00A6AOA\u00A6PTC\u00A6LTL\u00A6KZT\u00A6KZR\u00A6VGD\u00A6NGP\u00A6MMX\u00A6NGN\u00A6HTG\u00A6SYP\u00A6PSP\u00A6BHD\u00A6MMK\u00A6ANG\u00A6CZK\u00A6IMP\u00A6LSM\u00A6BGX\u00A6TRY\u00A6LSL\u00A6GAF\u00A6BGO\u00A6BGN\u00A6BGM\u00A6XRE\u00A6CAD\u00A6BGL\u00A6TRL\u00A6KYD\u00A6CYP\u00A6ILS\u00A6GYD\u00A6AMD\u00A6ILP\u00A6MLF\u00A6ILL\u00A6VEB\u00A6ALX\u00A6LRD\u00A6ALV\u00A6HRK\u00A6REF\u00A6HRD\u00A6ALL\u00A6JEP\u00A6ALK\u00A6MKN\u00A6VDP\u00A6VDN\u00A6XPT\u00A6MKD\u00A6VDD\u00A6TPP\u00A6XPF\u00A6BEL\u00A6XPD\u00A6GWP\u00A6KWD\u00A6GWM\u00A6BEF\u00A6TPE\u00A6BEC\u00A6GWE\u00A6SVC\u00A6CWG\u00A6BDT\u00A6TOS\u00A6TOP\u00A6XOF\u00A6SUR\u00A6SUN\u00A6NCF\u00A6CVE\u00A6XNF\u00A6ZAR\u00A6DOP\u00A6CUX\u00A6ZAP\u00A6ZAL\u00A6TND\u00A6CUP\u00A6GUF\u00A6UGX\u00A6LNR\u00A6AIF\u00A6VAL\u00A6STE\u00A6UGS\u00A6STD\u00A6MHD\u00A6NZP\u00A6WST\u00A6WSP\u00A6HNL\u00A6XMF\u00A6TMM\u00A6GTQ\u00A6NZD\u00A6SSP\u00A6BBD\u00A6NAD\u00A6MGF\u00A6MGA\u00A6EGP\u00A6BZH\u00A6PLZ\u00A6BAN\u00A6PLX\u00A6BAM\u00A6BZD\u00A6BAD\u00A6PLN\u00A6YER\u00A6SRG\u00A6CSK\u00A6KRW\u00A6BYR\u00A6SRD\u00A6YEI\u00A6CSD\u00A6BYL\u00A6CSC\u00A6KRO\u00A6KRH\u00A6BYB\u00A6SQS\u00A6GRN\u00A6PKR\u00A6AFN\u00A6ZWD\u00A6LKR\u00A6GRD\u00A6IEP\u00A6AFA\u00A6YDD\u00A6RWF\u00A6CRC\u00A6TJS\u00A6TJR\u00A6EEK\u00A6GQP\u00A6MDR\u00A6HKD\u00A6DKK\u00A6MDL\u00A6GQF\u00A6GQE\u00A6IDR\u00A6AED\u00A6KPW\u00A6IDN\u00A6BWP\u00A6MDC\u00A6IDJ\u00A6KPP\u00A6IDG\u00A6VUV\u00A6XID\u00A6SOS\u00A6ADP\u00A6RUR\u00A6GPF\u00A6DJF\u00A6ADD\u00A6MCG\u00A6MCF\u00A6ECV\u00A6ECS\u00A6LIF\u00A6RUB\u00A6COU\u00A6PHP\u00A6UZS\u00A6COP\u00A6THB\u00A6BUR\u00A6IBP\u00A6COF\u00A6BUK\u00A6COB\u00A6UAK\u00A6UZC\u00A6QAR\u00A6UAH\u00A6GNS\u00A6CNY\u00A6CNX\u00A6MZM\u00A6UYU\u00A6GNI\u00A6SML\u00A6CNP\u00A6MZE\u00A6GNF\u00A6OMS\u00A6PGK\u00A6OMR\u00A6UYP\u00A6XFU\u00A6BTR\u00A6ZRZ\u00A6MAF\u00A6MAD\u00A6BTN\u00A6XFO\u00A6UYF\u00A6MYR\u00A6ZRN\u00A6AZM\u00A6GMP\u00A6KMF\u00A6SLL\u00A6GMD\u00A6XEU\u00A6BSP\u00A6CMF\u00A6MXV\u00A6XEF\u00A6BSD\u00A6MXP\u00A6MXN\u00A6PES\u00A6GLK\u00A6BRZ\u00A6PEN\u00A6CLP\u00A6SKK\u00A6PEI\u00A6BRR\u00A6XDR\u00A6FRG\u00A6FRF\u00A6BRN\u00A6CLF\u00A6CLE\u00A6BRL\u00A6CLC\u00A6BRE\u00A6DES\u00A6MWP\u00A6BRC\u00A6BRB\u00A6MWK\u00A6PDR\u00A6DEM\u00A6TDF\u00A6PDN\u00A6PDK\u00A6NPR\u00A6CKD\u00A6JPY\u00A6MVR\u00A6XCF\u00A6MVP\u00A6DDR\u00A6XCD\u00A6SIT\u00A6YUR\u00A6AWG\u00A6YUO\u00A6DDM\u00A6YUN\u00A6YUM\u00A6TCC\u00A6YUG\u00A6YUF\u00A6RON\u00A6YUD\u00A6ROL\u00A6SIB\u00A6NOK\u00A6MUR\u00A6XBD\u00A6GIP\u00A6VNS\u00A6XBC\u00A6VNR\u00A6XBB\u00A6XBA\u00A6KID\u00A6SHP\u00A6VNN";

  private static final String currenciesDisplayNameValues = "Jordanian Dinar\u00A6Bolivian Mvdol\u00A6Gold\u00A6Faeroe Islands Kronur\u00A6Lebanese Pound\u00A6Euro\u00A6Vietnamese Dong\u00A6Tanzanian Shilling\u00A6Bolivian Peso\u00A6Cambodian Riel\u00A6Asian Monetary Unit\u00A6Boliviano (1863-1962)\u00A6Cambodian Old Riel\u00A6Zambian Pound\u00A6Australian Pound\u00A6Silver\u00A6CFA Franc BEAC\u00A6Maltese Pound\u00A6Ghana Revalued Cedi\u00A6Zambian Kwacha\u00A6Asian Dinar Unit of Account\u00A6Ghana Pound\u00A6Boliviano\u00A6Ghana Old Cedi\u00A6Maltese Lira\u00A6Australian Dollar\u00A6US Dollar (Same day)\u00A6Italian Lira\u00A6US Dollar (Next day)\u00A6Ghana Cedi\u00A6Singapore Dollar\u00A6Panamanian Balboa\u00A6Laotian Kip\u00A6Kyrgystan Som\u00A6Swiss Franc\u00A6WIR Euro\u00A6WIR Franc\u00A6Austrian Schilling\u00A6US Dollar\u00A6Ethiopian Dollar\u00A6Brunei Dollar\u00A6Jamaican Pound\u00A6Ethiopian Birr\u00A6No Currency\u00A6Algerian Franc Germinal\u00A6Algerian New Franc\u00A6Algerian Dinar\u00A6Paraguay Guarani\u00A6Libyan Pound\u00A6Jamaican Dollar\u00A6Icelandic Krona\u00A6Spanish Peseta\u00A6Bermudan Pound\u00A6Libyan Dinar\u00A6Libyan British Military Authority Lira\u00A6Bermudan Dollar\u00A6Netherlands Guilder\u00A6Mauritania Ouguiya\u00A6Spanish Peseta (convertible account)\u00A6Spanish Peseta (A account)\u00A6Iranian Rial\u00A6CFP Franc\u00A6Swedish Krona\u00A6Eritrean Nakfa\u00A6Kenyan Shilling\u00A6Central African Republic CFA Franc\u00A6Argentine Peso\u00A6Argentine Peso (1983-1985)\u00A6Argentine Peso Moneda Nacional\u00A6Taiwan New Dollar\u00A6IMF SDR\u00A6Sudanese Pound\u00A6Georgian Lari\u00A6Georgian Kupon Larit\u00A6Martinique Franc\u00A6Falkland Islands Pound\u00A6Argentine Austral\u00A6Sudanese Dinar\u00A6Iraqi Dinar\u00A6Ekwele\u00A6Tuvalu Dollar\u00A6Seychelles Rupee\u00A6Latvian Ruble\u00A6Fiji Pound\u00A6Latvian Lats\u00A6Congolese Zaire\u00A6Congolese Republic Franc\u00A6Congolese Franc Congolais\u00A6Fiji Dollar\u00A6Nicaraguan Cordoba Oro\u00A6Macao Pataca\u00A6Nicaraguan Gold Cordoba\u00A6Nicaraguan Cordoba\u00A6Testing Currency Code\u00A6COMECON Transferable Ruble\u00A6Luxembourg Financial Franc\u00A6Finnish Markka (1860-1962)\u00A6Finnish Markka\u00A6Solomon Islands Dollar\u00A6Luxembourg Franc\u00A6Luxembourg Convertible Franc\u00A6Trinidad and Tobago Old Dollar\u00A6Angolan Escudo\u00A6Angolan Kwanza Reajustado (1995-1999)\u00A6Rhodesian Dollar\u00A6Mongolian Tugrik\u00A6Hungarian Forint\u00A6Burundi Franc\u00A6Angolan New Kwanza (1990-2000)\u00A6Angolan Kwanza (1977-1990)\u00A6Trinidad and Tobago Dollar\u00A6Swaziland Lilangeni\u00A6New Hebrides CFP Franc\u00A6British Pound Sterling\u00A6Saudi Sovereign Riyal\u00A6Saudi Riyal\u00A6Lithuanian Talonas\u00A6Indian Rupee\u00A6Portuguese Escudo\u00A6Angolan Kwanza\u00A6Portuguese Conto\u00A6Lithuanian Lita\u00A6Kazakhstan Tenge\u00A6Kazakhstan Ruble\u00A6British Virgin Islands Dollar\u00A6Nigerian Pound\u00A6Myanmar Dollar Foreign Exchange Certificates\u00A6Nigerian Naira\u00A6Haitian Gourde\u00A6Syrian Pound\u00A6Palestine Pound\u00A6Bahraini Dinar\u00A6Myanmar Kyat\u00A6Netherlands Antillan Guilder\u00A6Czech Republic Koruna\u00A6Isle of Man Pound Sterling\u00A6Maloti\u00A6Bulgarian Lev Foreign Exchange Certificates\u00A6New Turkish Lira\u00A6Lesotho Loti\u00A6Gabon CFA Franc\u00A6Bulgarian Lev (1879-1952)\u00A6Bulgarian New Lev\u00A6Bulgarian Socialist Lev\u00A6RINET Funds\u00A6Canadian Dollar\u00A6Bulgarian Hard Lev\u00A6Turkish Lira\u00A6Cayman Islands Dollar\u00A6Cyprus Pound\u00A6Israeli New Sheqel\u00A6Guyana Dollar\u00A6Armenian Dram\u00A6Israeli Pound\u00A6Mali Franc\u00A6Israeli Sheqel\u00A6Venezuelan Bolivar\u00A6Albanian Dollar Foreign Exchange Certificates\u00A6Liberian Dollar\u00A6Albanian Lek Valute\u00A6Croatian Kuna\u00A6Reunion Franc\u00A6Croatian Dinar\u00A6Albanian Lek\u00A6Jersey Pound Sterling\u00A6Albanian Lek (1946-1961)\u00A6Macedonian Denar (1992-1993)\u00A6North Vietnam Viet Minh Piastre Dong Viet\u00A6North Vietnam New Dong\u00A6Platinum\u00A6Macedonian Denar\u00A6North Vietnam Piastre Dong Viet\u00A6Timor Pataca\u00A6CFP Franc\u00A6Belgian Franc (financial)\u00A6Palladium\u00A6Guinea-Bissau Peso\u00A6Kuwaiti Dinar\u00A6Portuguese Guinea Mil Reis\u00A6Belgian Franc\u00A6Timor Escudo\u00A6Belgian Franc (convertible)\u00A6Portuguese Guinea Escudo\u00A6El Salvador Colon\u00A6Curacao Guilder\u00A6Bangladesh Taka\u00A6Tonga Pound Sterling\u00A6Tonga Pa\u02bbanga\u00A6CFA Franc BCEAO\u00A6Soviet Rouble\u00A6Soviet New Ruble\u00A6New Caledonia Franc Germinal\u00A6Cape Verde Escudo\u00A6French Antilles CFA Franc\u00A6South African Rand\u00A6Dominican Peso\u00A6Cuban Foreign Exchange Certificates\u00A6South African Pound\u00A6South African Rand (financial)\u00A6Tunisian Dinar\u00A6Cuban Peso\u00A6French Guyana Franc Guiana\u00A6Ugandan Shilling\u00A6Ceylon Rupee\u00A6Affars and Issas Franc\u00A6Vatican City Lira\u00A6Sao Tome and Principe Escudo\u00A6Ugandan Shilling (1966-1987)\u00A6Sao Tome and Principe Dobra\u00A6Marshall Islands Dollar\u00A6New Zealand Pound\u00A6Western Samoa Tala\u00A6Western Samoa Pound\u00A6Hoduras Lempira\u00A6French Metropolitan Nouveau Franc\u00A6Turkmenistan Manat\u00A6Guatemala Quetzal\u00A6New Zealand Dollar\u00A6Scotland Pound\u00A6Barbados Dollar\u00A6Namibia Dollar\u00A6Madagascar Franc\u00A6Madagascar Ariary\u00A6Egyptian Pound\u00A6British Honduras Dollar\u00A6Polish Zloty (1950-1995)\u00A6Bosnia-Herzegovina New Dinar\u00A6Polish US Dollar Foreign Exchange Certificates\u00A6Bosnia-Herzegovina Convertible Mark\u00A6Belize Dollar\u00A6Bosnia-Herzegovina Dinar\u00A6Polish Zloty\u00A6Yemeni Rial\u00A6Suriname Guilder\u00A6Czechoslovak Hard Koruna\u00A6South Korean Won\u00A6Belarussian Ruble\u00A6Surinam Dollar\u00A6Yemeni Imadi Riyal\u00A6Serbian Dinar\u00A6Belarussian Ruble (1992-1994)\u00A6Czechoslovak Koruna\u00A6South Korean Old Won\u00A6South Korean Hwan\u00A6Belarussian New Ruble (1994-1999)\u00A6Somaliland Shilling\u00A6Greek New Drachma\u00A6Pakistan Rupee\u00A6Afghani\u00A6Zimbabwe Dollar\u00A6Sri Lanka Rupee\u00A6Greek Drachma\u00A6Irish Pound\u00A6Afghani (1927-2002)\u00A6Yemeni Dinar\u00A6Rwandan Franc\u00A6Costa Rican Colon\u00A6Tajikistan Somoni\u00A6Tajikistan Ruble\u00A6Estonian Kroon\u00A6Equatorial Guinea Peseta Guineana\u00A6Moldovan Ruble Cupon\u00A6Hong Kong Dollar\u00A6Danish Krone\u00A6Moldovan Leu\u00A6Equatorial Guinea Franco\u00A6Equatorial Guinea Ekwele Guineana\u00A6Indonesian Rupiah\u00A6United Arab Emirates Dirham\u00A6North Korean Won\u00A6Indonesian New Rupiah\u00A6Botswanan Pula\u00A6Moldovan Leu Cupon\u00A6Indonesian Java Rupiah\u00A6North Korean People\u2019s Won\u00A6Indonesian Nica Guilder\u00A6Vanuatu Vatu\u00A6Islamic Dinar\u00A6Somali Shilling\u00A6Andorran Peseta\u00A6Russian Ruble (1991-1998)\u00A6Guadeloupe Franc\u00A6Djibouti Franc\u00A6Andorran Diner\u00A6Monaco Franc Germinal\u00A6Monaco Franc Nouveau\u00A6Ecuador Unidad de Valor Constante (UVC)\u00A6Ecuador Sucre\u00A6Liechtenstein Franc\u00A6Russian Ruble\u00A6Unidad de Valor Real\u00A6Philippine Peso\u00A6Uzbekistan Sum\u00A6Colombian Peso\u00A6Thai Baht\u00A6Burmese Rupee\u00A6Northern Irish Pound\u00A6Congo CFA Franc\u00A6Burmese Kyat\u00A6Colombian Paper Peso\u00A6Ukrainian Karbovanetz\u00A6Uzbekistan Coupon Som\u00A6Qatari Rial\u00A6Ukrainian Hryvnia\u00A6Guinea Syli\u00A6Chinese Yuan Renminbi\u00A6Chinese US Dollar Foreign Exchange Certificates\u00A6Mozambique Metical\u00A6Uruguay Peso Uruguayo\u00A6Guinea Franc (1960-1972)\u00A6San Marino Lira\u00A6Chinese Jen Min Piao Yuan\u00A6Mozambique Escudo\u00A6Guinea Franc\u00A6Oman Rial Saidi\u00A6Papua New Guinea Kina\u00A6Oman Rial\u00A6Uruguay Peso (1975-1993)\u00A6French UIC-Franc\u00A6Bhutan Rupee\u00A6Zairean Zaire\u00A6Moroccan Franc\u00A6Moroccan Dirham\u00A6Bhutan Ngultrum\u00A6French Gold Franc\u00A6Uruguay Peso Fuerte\u00A6Malaysian Ringgit\u00A6Zairean New Zaire\u00A6Azerbaijanian Manat\u00A6Gambia Pound\u00A6Comoro Franc\u00A6Sierra Leone Leone\u00A6Gambia Dalasi\u00A6European Currency Unit\u00A6Bahamian Pound\u00A6Cameroon CFA Franc\u00A6Mexican Unidad de Inversion (UDI)\u00A6CFA Franc BCEAEC\u00A6Bahamian Dollar\u00A6Mexican Silver Peso (1861-1992)\u00A6Mexican Peso\u00A6Peruvian Sol\u00A6Greenland Krone\u00A6Brazilian Cruzeiro (1942-1967)\u00A6Peruvian Sol Nuevo\u00A6Chilean Peso\u00A6Slovak Koruna\u00A6Peruvian Inti\u00A6Brazilian Cruzeiro\u00A6Special Drawing Rights\u00A6French Franc Germinal/Franc Poincare\u00A6French Franc\u00A6Brazilian Cruzado Novo\u00A6Chilean Unidades de Fomento\u00A6Chilean Escudo\u00A6Brazilian Real\u00A6Chilean Condor\u00A6Brazilian Cruzeiro (1990-1993)\u00A6German Sperrmark\u00A6Malawi Pound\u00A6Brazilian Cruzado\u00A6Brazilian Cruzeiro Novo (1967-1986)\u00A6Malawi Kwacha\u00A6Transdniestria Ruble\u00A6Deutsche Mark\u00A6Chad CFA Franc\u00A6Transdniestria New Ruble\u00A6Transdniestria Ruble Kupon\u00A6Nepalese Rupee\u00A6Cook Islands Dollar\u00A6Japanese Yen\u00A6Maldive Islands Rufiyaa\u00A6CFA Nouveau Franc\u00A6Maldive Islands Rupee\u00A6East German Mark\u00A6East Caribbean Dollar\u00A6Slovenia Tolar\u00A6Yugoslavian Reformed Dinar\u00A6Aruban Guilder\u00A6Yugoslavian October Dinar\u00A6East German Ostmark\u00A6Yugoslavian Convertible Dinar\u00A6Yugoslavian Noviy Dinar\u00A6Turks and Caicos Crown\u00A6Yugoslavian 1994 Dinar\u00A6Yugoslavian Federation Dinar\u00A6Romanian New Leu\u00A6Yugoslavian Hard Dinar\u00A6Romanian Leu\u00A6Slovenia Tolar Bons\u00A6Norwegian Krone\u00A6Mauritius Rupee\u00A6European Unit of Account (XBD)\u00A6Gibraltar Pound\u00A6Vietnamese National Dong\u00A6European Unit of Account (XBC)\u00A6Vietnamese Republic Dong\u00A6European Monetary Unit\u00A6European Composite Unit\u00A6Kiribati Dollar\u00A6Saint Helena Pound\u00A6Vietnamese New Dong";

  private static final Hashtable currenciesDisplayName;
  static
  {
    currenciesDisplayName = new Hashtable();
    Enumeration keys = new StringTokenizer(currenciesDisplayNameKeys, "\u00A6");
    Enumeration values = new StringTokenizer(currenciesDisplayNameValues, "\u00A6");
    while (keys.hasMoreElements())
      {
         String key = (String) keys.nextElement();
         String value = (String) values.nextElement();
         currenciesDisplayName.put(key, value);
      }
  }

  private static final String currenciesSymbolKeys = "JOD\u00A6BOV\u00A6XAU\u00A6FOK\u00A6LBP\u00A6VND\u00A6TZS\u00A6BOP\u00A6KHR\u00A6XAM\u00A6BOL\u00A6KHO\u00A6ZMP\u00A6AUP\u00A6XAF\u00A6MTP\u00A6GHR\u00A6ZMK\u00A6XAD\u00A6GHP\u00A6BOB\u00A6GHO\u00A6MTL\u00A6AUD\u00A6USS\u00A6USN\u00A6GHC\u00A6SGD\u00A6PAB\u00A6LAK\u00A6KGS\u00A6CHF\u00A6ATS\u00A6USD\u00A6ETD\u00A6BND\u00A6JMP\u00A6ETB\u00A6DZG\u00A6DZF\u00A6DZD\u00A6PYG\u00A6LYP\u00A6JMD\u00A6ISK\u00A6ESP\u00A6BMP\u00A6LYD\u00A6LYB\u00A6BMD\u00A6NLG\u00A6MRO\u00A6IRR\u00A6SEK\u00A6ERN\u00A6KES\u00A6CFF\u00A6ARS\u00A6ARP\u00A6ARM\u00A6TWD\u00A6SDP\u00A6GEL\u00A6GEK\u00A6MQF\u00A6FKP\u00A6ARA\u00A6SDD\u00A6IQD\u00A6TVD\u00A6SCR\u00A6LVR\u00A6FJP\u00A6LVL\u00A6CDL\u00A6CDG\u00A6CDF\u00A6FJD\u00A6NIO\u00A6MOP\u00A6NIG\u00A6NIC\u00A6XTR\u00A6FIN\u00A6FIM\u00A6SBD\u00A6LUF\u00A6TTO\u00A6AOS\u00A6AOR\u00A6MNT\u00A6HUF\u00A6BIF\u00A6AON\u00A6AOK\u00A6TTD\u00A6SZL\u00A6NHF\u00A6SAS\u00A6SAR\u00A6LTT\u00A6PTE\u00A6AOA\u00A6PTC\u00A6LTL\u00A6KZT\u00A6KZR\u00A6VGD\u00A6NGP\u00A6MMX\u00A6NGN\u00A6HTG\u00A6SYP\u00A6PSP\u00A6BHD\u00A6MMK\u00A6ANG\u00A6CZK\u00A6IMP\u00A6BGX\u00A6LSL\u00A6GAF\u00A6BGO\u00A6BGN\u00A6BGM\u00A6CAD\u00A6BGL\u00A6TRL\u00A6KYD\u00A6CYP\u00A6ILS\u00A6GYD\u00A6AMD\u00A6ILP\u00A6MLF\u00A6ILL\u00A6VEB\u00A6ALX\u00A6LRD\u00A6ALV\u00A6HRK\u00A6REF\u00A6HRD\u00A6ALL\u00A6JEP\u00A6ALK\u00A6MKN\u00A6VDP\u00A6VDN\u00A6MKD\u00A6VDD\u00A6TPP\u00A6XPF\u00A6BEL\u00A6GWP\u00A6KWD\u00A6GWM\u00A6BEF\u00A6TPE\u00A6BEC\u00A6GWE\u00A6SVC\u00A6CWG\u00A6BDT\u00A6TOS\u00A6TOP\u00A6XOF\u00A6SUR\u00A6SUN\u00A6NCF\u00A6CVE\u00A6XNF\u00A6ZAR\u00A6DOP\u00A6CUX\u00A6ZAP\u00A6ZAL\u00A6TND\u00A6CUP\u00A6GUF\u00A6UGX\u00A6LNR\u00A6AIF\u00A6VAL\u00A6STE\u00A6UGS\u00A6STD\u00A6MHD\u00A6NZP\u00A6WST\u00A6WSP\u00A6HNL\u00A6XMF\u00A6TMM\u00A6GTQ\u00A6NZD\u00A6SSP\u00A6BBD\u00A6NAD\u00A6MGF\u00A6MGA\u00A6EGP\u00A6BZH\u00A6PLZ\u00A6BAN\u00A6PLX\u00A6BAM\u00A6BZD\u00A6BAD\u00A6PLN\u00A6YER\u00A6SRG\u00A6CSK\u00A6KRW\u00A6BYR\u00A6YEI\u00A6BYL\u00A6CSC\u00A6KRO\u00A6KRH\u00A6BYB\u00A6SQS\u00A6GRN\u00A6PKR\u00A6AFN\u00A6ZWD\u00A6LKR\u00A6GRD\u00A6IEP\u00A6AFA\u00A6YDD\u00A6RWF\u00A6CRC\u00A6TJS\u00A6TJR\u00A6EEK\u00A6GQP\u00A6MDR\u00A6HKD\u00A6DKK\u00A6MDL\u00A6GQF\u00A6GQE\u00A6IDR\u00A6AED\u00A6KPW\u00A6IDN\u00A6BWP\u00A6MDC\u00A6IDJ\u00A6KPP\u00A6IDG\u00A6VUV\u00A6XID\u00A6SOS\u00A6ADP\u00A6RUR\u00A6GPF\u00A6DJF\u00A6ADD\u00A6MCG\u00A6MCF\u00A6ECV\u00A6ECS\u00A6LIF\u00A6RUB\u00A6PHP\u00A6UZS\u00A6COP\u00A6THB\u00A6IBP\u00A6BUR\u00A6COF\u00A6BUK\u00A6COB\u00A6UZC\u00A6UAK\u00A6QAR\u00A6UAH\u00A6GNS\u00A6CNY\u00A6MZM\u00A6CNX\u00A6UYU\u00A6GNI\u00A6SML\u00A6CNP\u00A6MZE\u00A6GNF\u00A6OMS\u00A6PGK\u00A6OMR\u00A6UYP\u00A6XFU\u00A6BTR\u00A6ZRZ\u00A6MAF\u00A6MAD\u00A6BTN\u00A6XFO\u00A6UYF\u00A6MYR\u00A6ZRN\u00A6AZM\u00A6GMP\u00A6KMF\u00A6SLL\u00A6GMD\u00A6XEU\u00A6BSP\u00A6CMF\u00A6MXV\u00A6XEF\u00A6BSD\u00A6MXP\u00A6MXN\u00A6PES\u00A6GLK\u00A6BRZ\u00A6PEN\u00A6CLP\u00A6SKK\u00A6PEI\u00A6BRR\u00A6XDR\u00A6FRG\u00A6FRF\u00A6BRN\u00A6CLF\u00A6CLE\u00A6BRL\u00A6CLC\u00A6BRE\u00A6DES\u00A6MWP\u00A6BRC\u00A6BRB\u00A6MWK\u00A6PDR\u00A6DEM\u00A6TDF\u00A6PDN\u00A6PDK\u00A6NPR\u00A6CKD\u00A6MVR\u00A6XCF\u00A6MVP\u00A6XCD\u00A6SIT\u00A6YUR\u00A6AWG\u00A6YUO\u00A6DDM\u00A6YUN\u00A6YUM\u00A6TCC\u00A6YUG\u00A6YUF\u00A6RON\u00A6YUD\u00A6ROL\u00A6SIB\u00A6NOK\u00A6MUR\u00A6XBD\u00A6GIP\u00A6VNS\u00A6XBC\u00A6VNR\u00A6XBB\u00A6XBA\u00A6KID\u00A6SHP\u00A6VNN";

  private static final String currenciesSymbolValues = "JD\u00A6BOV\u00A6XAU\u00A6FOK\u00A6LL\u00A6VND\u00A6T Sh\u00A6BOP\u00A6CR\u00A6XAM\u00A6BOL\u00A6KHO\u00A6ZMP\u00A6AUP\u00A6XAF\u00A6MTP\u00A6GHR\u00A6ZMK\u00A6XAD\u00A6GHP\u00A6Bs\u00A6GHO\u00A6Lm\u00A6$A\u00A6USS\u00A6USN\u00A6GHC\u00A6S$\u00A6PAB\u00A6LAK\u00A6som\u00A6SwF\u00A6ATS\u00A6US$\u00A6ETD\u00A6BND\u00A6JMP\u00A6Br\u00A6DZG\u00A6DZF\u00A6DA\u00A6PYG\u00A6LYP\u00A6J$\u00A6ISK\u00A6\u20a7\u00A6BMP\u00A6LD\u00A6LYB\u00A6Ber$\u00A6NLG\u00A6UM\u00A6RI\u00A6SKr\u00A6ERN\u00A6K Sh\u00A6CFF\u00A6Arg$\u00A6ARP\u00A6ARM\u00A6NT$\u00A6SDP\u00A6lari\u00A6GEK\u00A6MQF\u00A6FKP\u00A6ARA\u00A6SDD\u00A6ID\u00A6TVD\u00A6SR\u00A6LVR\u00A6FJP\u00A6LVL\u00A6CDL\u00A6CDG\u00A6CDF\u00A6F$\u00A6NIO\u00A6MOP\u00A6NIG\u00A6NIC\u00A6XTR\u00A6FIN\u00A6FIM\u00A6SI$\u00A6LUF\u00A6TTO\u00A6AOS\u00A6AOR\u00A6Tug\u00A6Ft\u00A6Fbu\u00A6AON\u00A6AOK\u00A6TT$\u00A6E\u00A6NHF\u00A6SAS\u00A6SRl\u00A6LTT\u00A6PTE\u00A6AOA\u00A6PTC\u00A6LTL\u00A6T\u00A6KZR\u00A6VGD\u00A6NGP\u00A6MMX\u00A6NGN\u00A6HTG\u00A6LS\u00A6PSP\u00A6BD\u00A6MMK\u00A6NA f.\u00A6CZK\u00A6IMP\u00A6BGX\u00A6M\u00A6GAF\u00A6BGO\u00A6BGN\u00A6BGM\u00A6Can$\u00A6lev\u00A6TL\u00A6KYD\u00A6\u00a3C\u00A6ILS\u00A6G$\u00A6dram\u00A6ILP\u00A6MLF\u00A6ILL\u00A6Be\u00A6ALX\u00A6LRD\u00A6ALV\u00A6HRK\u00A6REF\u00A6HRD\u00A6lek\u00A6JEP\u00A6ALK\u00A6MKN\u00A6VDP\u00A6VDN\u00A6MDen\u00A6VDD\u00A6TPP\u00A6CFPF\u00A6BEL\u00A6GWP\u00A6KD\u00A6GWM\u00A6BF\u00A6TPE\u00A6BEC\u00A6GWE\u00A6SVC\u00A6CWG\u00A6Tk\u00A6TOS\u00A6T$\u00A6XOF\u00A6SUR\u00A6SUN\u00A6NCF\u00A6CVEsc\u00A6XNF\u00A6R\u00A6RD$\u00A6CUX\u00A6ZAP\u00A6ZAL\u00A6TND\u00A6CUP\u00A6GUF\u00A6U Sh\u00A6LNR\u00A6AIF\u00A6VAL\u00A6STE\u00A6UGS\u00A6Db\u00A6MHD\u00A6NZP\u00A6WST\u00A6WSP\u00A6L\u00A6XMF\u00A6TMM\u00A6Q\u00A6$NZ\u00A6SSP\u00A6BDS$\u00A6N$\u00A6MGF\u00A6MGA\u00A6EGP\u00A6BZH\u00A6PLZ\u00A6BAN\u00A6PLX\u00A6KM\u00A6BZ$\u00A6BAD\u00A6Zl\u00A6YRl\u00A6Sf\u00A6CSK\u00A6KRW\u00A6Rbl\u00A6YEI\u00A6BYL\u00A6CSC\u00A6KRO\u00A6KRH\u00A6BYB\u00A6SQS\u00A6GRN\u00A6Pra\u00A6Af\u00A6Z$\u00A6SL Re\u00A6GRD\u00A6IR\u00a3\u00A6AFA\u00A6YDD\u00A6RWF\u00A6C\u00A6TJS\u00A6TJR\u00A6EEK\u00A6GQP\u00A6MDR\u00A6HK$\u00A6DKr\u00A6MDL\u00A6GQF\u00A6GQE\u00A6Rp\u00A6AED\u00A6KPW\u00A6IDN\u00A6BWP\u00A6MDC\u00A6IDJ\u00A6KPP\u00A6IDG\u00A6VT\u00A6XID\u00A6So. Sh.\u00A6ADP\u00A6RUR\u00A6GPF\u00A6DF\u00A6ADD\u00A6MCG\u00A6MCF\u00A6ECV\u00A6ECS\u00A6LIF\u00A6RUB\u00A6PHP\u00A6UZS\u00A6Col$\u00A6THB\u00A6IBP\u00A6BUR\u00A6COF\u00A6BUK\u00A6COB\u00A6UZC\u00A6UAK\u00A6QR\u00A6UAH\u00A6GNS\u00A6Y\u00A6Mt\u00A6CNX\u00A6Ur$\u00A6GNI\u00A6SML\u00A6CNP\u00A6MZE\u00A6GF\u00A6OMS\u00A6PGK\u00A6RO\u00A6UYP\u00A6XFU\u00A6BTR\u00A6ZRZ\u00A6MAF\u00A6MAD\u00A6Nu\u00A6XFO\u00A6UYF\u00A6RM\u00A6ZRN\u00A6AZM\u00A6GMP\u00A6CF\u00A6SLL\u00A6GMD\u00A6XEU\u00A6BSP\u00A6CMF\u00A6MXV\u00A6XEF\u00A6BSD\u00A6MXP\u00A6MEX$\u00A6PES\u00A6GLK\u00A6BRZ\u00A6PEN\u00A6Ch$\u00A6Sk\u00A6PEI\u00A6BRR\u00A6XDR\u00A6FRG\u00A6FRF\u00A6BRN\u00A6CLF\u00A6CLE\u00A6R$\u00A6CLC\u00A6BRE\u00A6DES\u00A6MWP\u00A6BRC\u00A6BRB\u00A6MK\u00A6PDR\u00A6DEM\u00A6TDF\u00A6PDN\u00A6PDK\u00A6Nrs\u00A6CKD\u00A6MVR\u00A6XCF\u00A6MVP\u00A6EC$\u00A6SIT\u00A6YUR\u00A6AWG\u00A6YUO\u00A6DDM\u00A6YUN\u00A6YUM\u00A6TCC\u00A6YUG\u00A6YUF\u00A6RON\u00A6YUD\u00A6leu\u00A6SIB\u00A6NKr\u00A6MUR\u00A6XBD\u00A6GIP\u00A6VNS\u00A6XBC\u00A6VNR\u00A6XBB\u00A6XBA\u00A6KID\u00A6SHP\u00A6VNN";

  private static final Hashtable currenciesSymbol;
  static
  {
    currenciesSymbol = new Hashtable();
    Enumeration keys = new StringTokenizer(currenciesSymbolKeys, "\u00A6");
    Enumeration values = new StringTokenizer(currenciesSymbolValues, "\u00A6");
    while (keys.hasMoreElements())
      {
         String key = (String) keys.nextElement();
         String value = (String) values.nextElement();
         currenciesSymbol.put(key, value);
      }
  }

  private static final String[] shortMonths = {
    "Jan",
    "Feb",
    "Mar",
    "Apr",
    "May",
    "Jun",
    "Jul",
    "Aug",
    "Sep",
    "Oct",
    "Nov",
    "Dec",
    null,
  };

  private static final String[] months = {
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December",
    null,
  };

  private static final String[] shortWeekdays = {
    null,
    "Sun",
    "Mon",
    "Tue",
    "Wed",
    "Thu",
    "Fri",
    "Sat",
  };

  private static final String[] weekdays = {
    null,
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday",
  };

  private static final String[] eras = {
    "BC",
    "AD",
  };

  private static final String[][] zoneStrings =
  {
    {  "America/Los_Angeles", "PST", "Pacific Standard Time", "PDT", "Pacific Daylight Time"},
    {  "Pacific/Honolulu", "HST", "Hawaii Standard Time", "HDT", "Hawaii Daylight Time"},
    {  "Etc/GMT", "GMT", "Greenwich Mean Time", "GMT", "Greenwich Mean Time"},
    {  "Europe/London", "BST", "British Standard Time", "BDT", "British Daylight Time"},
    {  "America/Phoenix", "MST", "Mountain Standard Time", "MDT", "Mountain Daylight Time"},
    {  "America/Denver", "MST", "Mountain Standard Time", "MDT", "Mountain Daylight Time"},
    {  "Asia/Jerusalem", "IST", "Israel Standard Time", "IDT", "Israel Daylight Time"},
    {  "America/Edmonton", "MST (CA)", "Mountain Standard Time (CA)", "MDT (CA)", "Mountain Daylight Time (CA)"},
    {  "America/Anchorage", "AKST", "Alaska Standard Time", "AKDT", "Alaska Daylight Time"},
    {  "Europe/Paris", "CEST", "Central European Standard Time", "CEDT", "Central European Daylight Time"},
    {  "America/Indianapolis", "EST", "Eastern Standard Time", "EDT", "Eastern Daylight Time"},
    {  "Europe/Bucharest", "EET", "Eastern European Standard Time", "EEST", "Eastern European Daylight Time"},
    {  "Asia/Tokyo", "JST", "Japan Standard Time", "JDT", "Japan Daylight Time"},
    {  "America/Winnipeg", "CST (CA)", "Central Standard Time (CA)", "CDT (CA)", "Central Daylight Time (CA)"},
    {  "Asia/Shanghai", "CST", "China Standard Time", "CDT", "China Daylight Time"},
    {  "America/Vancouver", "PST (CA)", "Pacific Standard Time (CA)", "PDT (CA)", "Pacific Daylight Time (CA)"},
    {  "America/New_York", "EST", "Eastern Standard Time", "EDT", "Eastern Daylight Time"},
    {  "America/Montreal", "EST (CA)", "Eastern Standard Time (CA)", "EDT (CA)", "Eastern Daylight Time (CA)"},
    {  "America/Halifax", "AST", "Atlantic Standard Time", "ADT", "Atlantic Daylight Time"},
    {  "America/St_Johns", "NST", "Newfoundland Standard Time", "NDT", "Newfoundland Daylight Time"},
    {  "America/Chicago", "CST", "Central Standard Time", "CDT", "Central Daylight Time"},
  };

  private static final String territoriesKeys = "GY\u00A6GW\u00A6GU\u00A6GT\u00A6GS\u00A6GR\u00A6GQ\u00A6GP\u00A6GN\u00A6GM\u00A6GL\u00A6GI\u00A6GH\u00A6GF\u00A6GE\u00A6GD\u00A6GB\u00A6GA\u00A6FX\u00A6FR\u00A6FQ\u00A6FO\u00A6FM\u00A6FK\u00A6FJ\u00A6FI\u00A6ET\u00A6ES\u00A6ER\u00A6EH\u00A6EG\u00A6EE\u00A6EC\u00A6DZ\u00A6DY\u00A6DO\u00A6DM\u00A6DK\u00A6DJ\u00A6DE\u00A6DD\u00A6CZ\u00A6CY\u00A6CX\u00A6CV\u00A6CU\u00A6CT\u00A6CS\u00A6CR\u00A6CO\u00A6CN\u00A6CM\u00A6CL\u00A6CK\u00A6CI\u00A6CH\u00A6CG\u00A6CF\u00A6CD\u00A6CC\u00A6CA\u00A6BZ\u00A6BY\u00A6BW\u00A6BV\u00A6BU\u00A6BT\u00A6BS\u00A6BR\u00A6BQ\u00A6BO\u00A6BN\u00A6BM\u00A6BJ\u00A6BI\u00A6BH\u00A6BG\u00A6BF\u00A6BE\u00A6BD\u00A6ZZ\u00A6BB\u00A6BA\u00A6ZW\u00A6ZR\u00A6AZ\u00A6AX\u00A6AW\u00A6ZM\u00A6AU\u00A6AT\u00A6AS\u00A6AR\u00A6AQ\u00A6AO\u00A6AN\u00A6AM\u00A6AL\u00A6ZA\u00A6AI\u00A6AG\u00A6AF\u00A6AE\u00A6AD\u00A6YU\u00A6YT\u00A6YE\u00A6YD\u00A6172\u00A6WS\u00A6WK\u00A6WF\u00A6155\u00A6154\u00A6151\u00A6150\u00A6VU\u00A6VN\u00A6VI\u00A6VG\u00A6VE\u00A6145\u00A6VD\u00A6VC\u00A6142\u00A6VA\u00A6UZ\u00A6UY\u00A6US\u00A6UM\u00A6UG\u00A6UA\u00A6TZ\u00A6TW\u00A6TV\u00A6TT\u00A6TR\u00A6TP\u00A6TO\u00A6TN\u00A6TM\u00A6TL\u00A6TK\u00A6TJ\u00A6TH\u00A6TG\u00A6TF\u00A6TD\u00A6TC\u00A6SZ\u00A6SY\u00A6SV\u00A6SU\u00A6ST\u00A6SR\u00A6SO\u00A6SN\u00A6SM\u00A6SL\u00A6SK\u00A6SJ\u00A6SI\u00A6SH\u00A6SG\u00A6SE\u00A6SD\u00A6SC\u00A6SB\u00A6SA\u00A6RW\u00A6RU\u00A6RO\u00A6RH\u00A6RE\u00A6062\u00A6061\u00A6QA\u00A6057\u00A6054\u00A6PZ\u00A6053\u00A6PY\u00A6PW\u00A6PU\u00A6PT\u00A6PS\u00A6PR\u00A6PN\u00A6PM\u00A6PL\u00A6PK\u00A6PH\u00A6PG\u00A6PF\u00A6PE\u00A6PC\u00A6PA\u00A6OM\u00A6833\u00A6830\u00A6039\u00A6035\u00A6NZ\u00A6030\u00A6NU\u00A6NT\u00A6NR\u00A6NQ\u00A6NP\u00A6NO\u00A6NL\u00A6NI\u00A6NH\u00A6NG\u00A6NF\u00A6NE\u00A6NC\u00A6NA\u00A6029\u00A6MZ\u00A6MY\u00A6MX\u00A6021\u00A6MW\u00A6MV\u00A6MU\u00A6MT\u00A6MS\u00A6MR\u00A6MQ\u00A6MP\u00A6MO\u00A6MN\u00A6MM\u00A6ML\u00A6MK\u00A6419\u00A6MI\u00A6MH\u00A6MG\u00A6MD\u00A6MC\u00A6MA\u00A6019\u00A6018\u00A6017\u00A6015\u00A6014\u00A6013\u00A6LY\u00A6011\u00A6LV\u00A6LU\u00A6LT\u00A6LS\u00A6LR\u00A6LK\u00A6LI\u00A6LC\u00A6LB\u00A6LA\u00A6009\u00A6005\u00A6KZ\u00A6003\u00A6KY\u00A6002\u00A6001\u00A6KW\u00A6KR\u00A6KP\u00A6KN\u00A6KM\u00A6KI\u00A6KH\u00A6KG\u00A6KE\u00A6JT\u00A6JP\u00A6JO\u00A6JM\u00A6IT\u00A6IS\u00A6IR\u00A6IQ\u00A6IO\u00A6IN\u00A6IL\u00A6IE\u00A6ID\u00A6HV\u00A6HU\u00A6HT\u00A6HR\u00A6HN\u00A6HM\u00A6HK";

  private static final String territoriesValues = "Guyana\u00A6Guinea-Bissau\u00A6Guam\u00A6Guatemala\u00A6South Georgia and the South Sandwich Islands\u00A6Greece\u00A6Equatorial Guinea\u00A6Guadeloupe\u00A6Guinea\u00A6Gambia\u00A6Greenland\u00A6Gibraltar\u00A6Ghana\u00A6French Guiana\u00A6Georgia\u00A6Grenada\u00A6United Kingdom\u00A6Gabon\u00A6Metropolitan France\u00A6France\u00A6French Southern and Antarctic Territories\u00A6Faroe Islands\u00A6Federated States of Micronesia\u00A6Falkland Islands\u00A6Fiji\u00A6Finland\u00A6Ethiopia\u00A6Spain\u00A6Eritrea\u00A6Western Sahara\u00A6Egypt\u00A6Estonia\u00A6Ecuador\u00A6Algeria\u00A6Benin\u00A6Dominican Republic\u00A6Dominica\u00A6Denmark\u00A6Djibouti\u00A6Germany\u00A6East Germany\u00A6Czech Republic\u00A6Cyprus\u00A6Christmas Island\u00A6Cape Verde\u00A6Cuba\u00A6Canton and Enderbury Islands\u00A6Czechoslovakia\u00A6Costa Rica\u00A6Colombia\u00A6China\u00A6Cameroon\u00A6Chile\u00A6Cook Islands\u00A6C\u00f4te d\u2019Ivoire\u00A6Switzerland\u00A6Congo\u00A6Central African Republic\u00A6Congo (Brazzaville)\u00A6Cocos (Keeling) Islands\u00A6Canada\u00A6Belize\u00A6Belarus\u00A6Botswana\u00A6Bouvet Island\u00A6Myanmar\u00A6Bhutan\u00A6Bahamas\u00A6Brazil\u00A6British Antarctic Territory\u00A6Bolivia\u00A6Brunei\u00A6Bermuda\u00A6Benin\u00A6Burundi\u00A6Bahrain\u00A6Bulgaria\u00A6Burkina Faso\u00A6Belgium\u00A6Bangladesh\u00A6Outlying Oceania\u00A6Barbados\u00A6Bosnia and Herzegovina\u00A6Zimbabwe\u00A6Congo, The Democratic Republic of the\u00A6Azerbaijan\u00A6Aland Islands\u00A6Aruba\u00A6Zambia\u00A6Australia\u00A6Austria\u00A6American Samoa\u00A6Argentina\u00A6Antarctica\u00A6Angola\u00A6Netherlands Antilles\u00A6Armenia\u00A6Albania\u00A6South Africa\u00A6Anguilla\u00A6Antigua and Barbuda\u00A6Afghanistan\u00A6United Arab Emirates\u00A6Andorra\u00A6Serbia and Montenegro\u00A6Mayotte\u00A6Yemen\u00A6People's Democratic Republic of Yemen\u00A6Commonwealth of Independent States\u00A6Samoa\u00A6Wake Island\u00A6Wallis and Futuna\u00A6Western Europe\u00A6Northern Europe\u00A6Eastern Europe\u00A6Europe\u00A6Vanuatu\u00A6Vietnam\u00A6U.S. Virgin Islands\u00A6British Virgin Islands\u00A6Venezuela\u00A6Western Asia\u00A6North Vietnam\u00A6Saint Vincent and the Grenadines\u00A6Asia\u00A6Vatican\u00A6Uzbekistan\u00A6Uruguay\u00A6United States\u00A6United States Minor Outlying Islands\u00A6Uganda\u00A6Ukraine\u00A6United Republic of Tanzania\u00A6Taiwan, Provience of China\u00A6Tuvalu\u00A6Trinidad and Tobago\u00A6Turkey\u00A6Timor-Leste\u00A6Tonga\u00A6Tunisia\u00A6Turkmenistan\u00A6Timor-Leste\u00A6Tokelau\u00A6Tajikistan\u00A6Thailand\u00A6Togo\u00A6French Southern Territories\u00A6Chad\u00A6Turks and Caicos Islands\u00A6Swaziland\u00A6Syria\u00A6El Salvador\u00A6Union of Soviet Socialist Republics\u00A6Sao Tome and Principe\u00A6Suriname\u00A6Somalia\u00A6Senegal\u00A6San Marino\u00A6Sierra Leone\u00A6Slovakia\u00A6Svalbard and Jan Mayen\u00A6Slovenia\u00A6Saint Helena\u00A6Singapore\u00A6Sweden\u00A6Sudan\u00A6Seychelles\u00A6Solomon Islands\u00A6Saudi Arabia\u00A6Rwanda\u00A6Russia\u00A6Romania\u00A6Zimbabwe\u00A6R\u00e9union\u00A6South-central Asia\u00A6Polynesia\u00A6Qatar\u00A6Micronesia\u00A6Melanesia\u00A6Panama Canal Zone\u00A6Australia and New Zealand\u00A6Paraguay\u00A6Palau\u00A6U.S. Miscellaneous Pacific Islands\u00A6Portugal\u00A6Palestinian Territory\u00A6Puerto Rico\u00A6Pitcairn\u00A6Saint Pierre and Miquelon\u00A6Poland\u00A6Pakistan\u00A6Philippines\u00A6Papua New Guinea\u00A6French Polynesia\u00A6Peru\u00A6Pacific Islands Trust Territory\u00A6Panama\u00A6Oman\u00A6Isle of Man\u00A6Channel Islands\u00A6Southern Europe\u00A6South-eastern Asia\u00A6New Zealand\u00A6Eastern Asia\u00A6Niue\u00A6Neutral Zone\u00A6Nauru\u00A6Dronning Maud Land\u00A6Nepal\u00A6Norway\u00A6Netherlands\u00A6Nicaragua\u00A6Vanuatu\u00A6Nigeria\u00A6Norfolk Island\u00A6Niger\u00A6New Caledonia\u00A6Namibia\u00A6Caribbean\u00A6Mozambique\u00A6Malaysia\u00A6Mexico\u00A6Northern America\u00A6Malawi\u00A6Maldives\u00A6Mauritius\u00A6Malta\u00A6Montserrat\u00A6Mauritania\u00A6Martinique\u00A6Northern Mariana Islands\u00A6Macao S.A.R., China\u00A6Mongolia\u00A6Myanmar\u00A6Mali\u00A6Macedonia\u00A6Latin America and the Caribbean\u00A6Midway Islands\u00A6Marshall Islands\u00A6Madagascar\u00A6Moldova\u00A6Monaco\u00A6Morocco\u00A6Americas\u00A6Southern Africa\u00A6Middle Africa\u00A6Northern Africa\u00A6Eastern Africa\u00A6Central America\u00A6Libya\u00A6Western Africa\u00A6Latvia\u00A6Luxembourg\u00A6Lithuania\u00A6Lesotho\u00A6Liberia\u00A6Sri Lanka\u00A6Liechtenstein\u00A6Saint Lucia\u00A6Lebanon\u00A6Laos\u00A6Oceania\u00A6South America\u00A6Kazakhstan\u00A6North America\u00A6Cayman Islands\u00A6Africa\u00A6World\u00A6Kuwait\u00A6Republic of Korea\u00A6Democratic People's Republic of Korea\u00A6Saint Kitts and Nevis\u00A6Comoros\u00A6Kiribati\u00A6Cambodia\u00A6Kyrgyzstan\u00A6Kenya\u00A6Johnston Island\u00A6Japan\u00A6Jordan\u00A6Jamaica\u00A6Italy\u00A6Iceland\u00A6Islamic Republic of Iran\u00A6Iraq\u00A6British Indian Ocean Territory\u00A6India\u00A6Israel\u00A6Ireland\u00A6Indonesia\u00A6Burkina Faso\u00A6Hungary\u00A6Haiti\u00A6Croatia\u00A6Honduras\u00A6Heard Island and McDonald Islands\u00A6Hong Kong S.A.R., China";

  private static final Hashtable territories;
  static
  {
    territories = new Hashtable();
    Enumeration keys = new StringTokenizer(territoriesKeys, "\u00A6");
    Enumeration values = new StringTokenizer(territoriesValues, "\u00A6");
    while (keys.hasMoreElements())
      {
         String key = (String) keys.nextElement();
         String value = (String) values.nextElement();
         territories.put(key, value);
      }
  }

  private static final String languagesKeys = "gwi\u00A6akk\u00A6eka\u00A6ijo\u00A6xh\u00A6sux\u00A6sus\u00A6mis\u00A6loz\u00A6tog\u00A6pon\u00A6min\u00A6suk\u00A6wo\u00A6lol\u00A6kut\u00A6mic\u00A6wa\u00A6kum\u00A6zap\u00A6cus\u00A6jbo\u00A6doi\u00A6vo\u00A6oto\u00A6vi\u00A6vai\u00A6rar\u00A6ve\u00A6rap\u00A6raj\u00A6ota\u00A6nzi\u00A6nap\u00A6uz\u00A6uga\u00A6tmh\u00A6nai\u00A6nah\u00A6ur\u00A6fat\u00A6uk\u00A6egy\u00A6ug\u00A6fan\u00A6ssa\u00A6mga\u00A6bat\u00A6nyo\u00A6bas\u00A6nyn\u00A6nym\u00A6hmn\u00A6ban\u00A6osa\u00A6bal\u00A6ty\u00A6bai\u00A6tw\u00A6srr\u00A6tli\u00A6tlh\u00A6tt\u00A6ts\u00A6bad\u00A6tr\u00A6to\u00A6tn\u00A6tl\u00A6tk\u00A6ti\u00A6th\u00A6kru\u00A6tg\u00A6byn\u00A6te\u00A6kro\u00A6csb\u00A6ta\u00A6tkl\u00A6efi\u00A6sw\u00A6sv\u00A6su\u00A6krc\u00A6st\u00A6ss\u00A6sr\u00A6sq\u00A6men\u00A6crp\u00A6so\u00A6afh\u00A6sn\u00A6sm\u00A6sl\u00A6grc\u00A6sk\u00A6grb\u00A6si\u00A6sh\u00A6crh\u00A6afa\u00A6sg\u00A6se\u00A6sd\u00A6udm\u00A6sc\u00A6sa\u00A6rw\u00A6nwc\u00A6ru\u00A6mdr\u00A6ro\u00A6rn\u00A6rm\u00A6mdf\u00A6tiv\u00A6ady\u00A6zun\u00A6kpe\u00A6qu\u00A6tig\u00A6son\u00A6cpp\u00A6sog\u00A6ada\u00A6kos\u00A6hit\u00A6cpf\u00A6cpe\u00A6him\u00A6kok\u00A6hil\u00A6got\u00A6gor\u00A6gon\u00A6din\u00A6nub\u00A6pt\u00A6ps\u00A6fur\u00A6phn\u00A6goh\u00A6snk\u00A6cop\u00A6yap\u00A6ach\u00A6yao\u00A6phi\u00A6pl\u00A6ace\u00A6pi\u00A6pa\u00A6bug\u00A6iba\u00A6sms\u00A6bua\u00A6mas\u00A6smn\u00A6os\u00A6map\u00A6or\u00A6man\u00A6smj\u00A6smi\u00A6mak\u00A6om\u00A6mai\u00A6oj\u00A6mag\u00A6mad\u00A6sma\u00A6oc\u00A6nso\u00A6btk\u00A6myv\u00A6dgr\u00A6ny\u00A6myn\u00A6nv\u00A6kmb\u00A6nr\u00A6gmh\u00A6no\u00A6nn\u00A6nl\u00A6root\u00A6ng\u00A6sla\u00A6ne\u00A6nd\u00A6cmc\u00A6tet\u00A6nb\u00A6na\u00A6ter\u00A6tem\u00A6my\u00A6lez\u00A6mt\u00A6peo\u00A6ms\u00A6mr\u00A6fro\u00A6mo\u00A6frm\u00A6mn\u00A6jrb\u00A6ml\u00A6mk\u00A6mi\u00A6mh\u00A6mg\u00A6mwr\u00A6bra\u00A6mwl\u00A6den\u00A6lv\u00A6lu\u00A6del\u00A6lt\u00A6lo\u00A6ln\u00A6li\u00A6ewo\u00A6lg\u00A6lb\u00A6la\u00A6jpr\u00A6vot\u00A6sit\u00A6ky\u00A6kw\u00A6kv\u00A6ku\u00A6sio\u00A6ks\u00A6kr\u00A6awa\u00A6ko\u00A6kn\u00A6km\u00A6kl\u00A6kk\u00A6rom\u00A6kj\u00A6sid\u00A6ki\u00A6kg\u00A6non\u00A6ka\u00A6mus\u00A6roa\u00A6nog\u00A6mun\u00A6mul\u00A6jv\u00A6gil\u00A6znd\u00A6shn\u00A6fon\u00A6ji\u00A6xal\u00A6aus\u00A6kho\u00A6ja\u00A6khi\u00A6pau\u00A6chy\u00A6iw\u00A6tai\u00A6iu\u00A6pap\u00A6it\u00A6sgn\u00A6is\u00A6kha\u00A6chr\u00A6pam\u00A6pal\u00A6chp\u00A6io\u00A6cho\u00A6in\u00A6chn\u00A6chm\u00A6tyv\u00A6bnt\u00A6pag\u00A6ik\u00A6chk\u00A6ii\u00A6haw\u00A6lam\u00A6ig\u00A6chg\u00A6sga\u00A6paa\u00A6ie\u00A6id\u00A6lah\u00A6day\u00A6chb\u00A6ia\u00A6lad\u00A6hz\u00A6hai\u00A6dar\u00A6hy\u00A6ath\u00A6hu\u00A6ht\u00A6dak\u00A6hr\u00A6ho\u00A6hi\u00A6dyu\u00A6he\u00A6ast\u00A6ha\u00A6wen\u00A6gv\u00A6gu\u00A6sem\u00A6sel\u00A6iro\u00A6gn\u00A6gl\u00A6arw\u00A6gez\u00A6art\u00A6gd\u00A6ira\u00A6ga\u00A6arp\u00A6arn\u00A6fy\u00A6bla\u00A6gem\u00A6ypk\u00A6arc\u00A6fr\u00A6fo\u00A6cel\u00A6fj\u00A6fi\u00A6ff\u00A6tvl\u00A6ceb\u00A6fa\u00A6eu\u00A6sco\u00A6et\u00A6scn\u00A6es\u00A6eo\u00A6en\u00A6el\u00A6tut\u00A6niu\u00A6tup\u00A6ee\u00A6tum\u00A6mos\u00A6dz\u00A6nic\u00A6lus\u00A6fiu\u00A6dv\u00A6nia\u00A6moh\u00A6luo\u00A6lun\u00A6apa\u00A6fil\u00A6lui\u00A6hup\u00A6bin\u00A6de\u00A6lua\u00A6bik\u00A6was\u00A6und\u00A6war\u00A6da\u00A6dum\u00A6wal\u00A6mno\u00A6wak\u00A6sat\u00A6cy\u00A6sas\u00A6kbd\u00A6cv\u00A6cu\u00A6mni\u00A6cs\u00A6sam\u00A6cr\u00A6sal\u00A6dua\u00A6co\u00A6sai\u00A6mnc\u00A6sah\u00A6kaw\u00A6inh\u00A6gba\u00A6sad\u00A6ch\u00A6ine\u00A6bho\u00A6enm\u00A6kar\u00A6inc\u00A6ce\u00A6gay\u00A6ca\u00A6umb\u00A6syr\u00A6kam\u00A6tsi\u00A6ang\u00A6kac\u00A6cau\u00A6kab\u00A6kaa\u00A6bs\u00A6car\u00A6br\u00A6bo\u00A6bn\u00A6bm\u00A6gaa\u00A6cai\u00A6bi\u00A6bh\u00A6bg\u00A6be\u00A6cad\u00A6ba\u00A6zu\u00A6zen\u00A6pro\u00A6hsb\u00A6az\u00A6ay\u00A6av\u00A6as\u00A6dsb\u00A6ar\u00A6ilo\u00A6elx\u00A6zh\u00A6an\u00A6pra\u00A6am\u00A6new\u00A6ak\u00A6za\u00A6af\u00A6ae\u00A6alt\u00A6ab\u00A6aa\u00A6yo\u00A6alg\u00A6ale\u00A6mkh\u00A6yi\u00A6dra\u00A6ber\u00A6nds\u00A6bem\u00A6bej\u00A6tpi";

  private static final String languagesValues = "Gwich\u02bbin\u00A6Akkadian\u00A6Ekajuk\u00A6Ijo\u00A6Xhosa\u00A6Sumerian\u00A6Susu\u00A6Miscellaneous Languages\u00A6Lozi\u00A6Tonga (Nyasa)\u00A6Pohnpeian\u00A6Minangkabau\u00A6Sukuma\u00A6Wolof\u00A6Mongo\u00A6Kutenai\u00A6Micmac\u00A6Walloon\u00A6Kumyk\u00A6Zapotec\u00A6Cushitic (Other)\u00A6Lojban\u00A6Dogri\u00A6Volap\u00fck\u00A6Otomian Languages\u00A6Vietnamese\u00A6Vai\u00A6Rarotongan\u00A6Venda\u00A6Rapanui\u00A6Rajasthani\u00A6Ottoman Turkish\u00A6Nzima\u00A6Neapolitan\u00A6Uzbek\u00A6Ugaritic\u00A6Tamashek\u00A6North American Indian (Other)\u00A6Nahuatl\u00A6Urdu\u00A6Fanti\u00A6Ukrainian\u00A6Egyptian (Ancient)\u00A6Uighur\u00A6Fang\u00A6Nilo-Saharam (Other)\u00A6Middle Irish\u00A6Baltic (Other)\u00A6Nyoro\u00A6Basa\u00A6Nyankole\u00A6Nyamwezi\u00A6Hmong\u00A6Balinese\u00A6Osage\u00A6Baluchi\u00A6Tahitian\u00A6Bamileke Languages\u00A6Twi\u00A6Serer\u00A6Tlingit\u00A6Klingon\u00A6Tatar\u00A6Tsonga\u00A6Banda\u00A6Turkish\u00A6Tonga (Tonga Islands)\u00A6Tswana\u00A6Tagalog\u00A6Turkmen\u00A6Tigrinya\u00A6Thai\u00A6Kurukh\u00A6Tajik\u00A6Blin\u00A6Telugu\u00A6Kru\u00A6Kashubian\u00A6Tamil\u00A6Tokelau\u00A6Efik\u00A6Swahili\u00A6Swedish\u00A6Sundanese\u00A6Karachay-Balkar\u00A6Southern Sotho\u00A6Swati\u00A6Serbian\u00A6Albanian\u00A6Mende\u00A6Creoles and Pidgins (Other)\u00A6Somali\u00A6Afrihili\u00A6Shona\u00A6Samoan\u00A6Slovenian\u00A6Ancient Greek\u00A6Slovak\u00A6Gerbo\u00A6Sinhalese\u00A6Serbo-Croatian\u00A6Crimean Turkish; Crimean Tatar\u00A6Afro-Asiatic (Other)\u00A6Sango\u00A6Northern Sami\u00A6Sindhi\u00A6Udmurt\u00A6Sardinian\u00A6Sanskrit\u00A6Kinyarwanda\u00A6Classical Newari\u00A6Russian\u00A6Mandar\u00A6Romanian\u00A6Rundi\u00A6Rhaeto-Romance\u00A6Moksha\u00A6Tiv\u00A6Adyghe\u00A6Zuni\u00A6Kpelle\u00A6Quechua\u00A6Tigre\u00A6Songhai\u00A6Portuguese-based Creoles and Pidgins\u00A6Sogdien\u00A6Adangme\u00A6Kosraean\u00A6Hittite\u00A6French-based Creoles and Pidgins\u00A6English-based Creoles and Pidgins\u00A6Himachali\u00A6Konkani\u00A6Hiligaynon\u00A6Gothic\u00A6Gorontalo\u00A6Gondi\u00A6Dinka\u00A6Nubian Languages\u00A6Portuguese\u00A6Pashto (Pushto)\u00A6Friulian\u00A6Phoenician\u00A6Old High German\u00A6Soninke\u00A6Coptic\u00A6Yapese\u00A6Acoli\u00A6Yao\u00A6Philippine (Other)\u00A6Polish\u00A6Achinese\u00A6Pali\u00A6Punjabi\u00A6Buginese\u00A6Iban\u00A6Skolt Sami\u00A6Buriat\u00A6Masai\u00A6Inari Sami\u00A6Ossetic\u00A6Austronesian\u00A6Oriya\u00A6Mandingo\u00A6Lule Sami\u00A6Sami languages (Other)\u00A6Makasar\u00A6Oromo\u00A6Maithili\u00A6Ojibwa\u00A6Magahi\u00A6Madurese\u00A6Southern Sami\u00A6Occitan (post 1500); Proven\u00e7al\u00A6Northern Sotho\u00A6Batak\u00A6Erzya\u00A6Dogrib\u00A6Nyanja; Chichewa; Chewa\u00A6Mayan\u00A6Navajo\u00A6Kimbundu\u00A6South Ndebele\u00A6Middle High German\u00A6Norwegian\u00A6Norwegian Nynorsk\u00A6Dutch\u00A6Root\u00A6Ndonga\u00A6Slavic (Other)\u00A6Nepali\u00A6North Ndebele\u00A6Chamic Languages\u00A6Tetum\u00A6Norwegian Bokm\u00e5l\u00A6Nauru\u00A6Tereno\u00A6Timne\u00A6Burmese\u00A6Lezghian\u00A6Maltese\u00A6Old Persian\u00A6Malay\u00A6Marathi\u00A6Old French\u00A6Moldavian\u00A6Middle French\u00A6Mongolian\u00A6Judeo-Arabic\u00A6Malayalam\u00A6Macedonian\u00A6Maori\u00A6Marshallese\u00A6Malagasy\u00A6Marwari\u00A6Braj\u00A6Mirandese\u00A6Slave\u00A6Latvian\u00A6Luba-Katanga\u00A6Delaware\u00A6Lithuanian\u00A6Lao\u00A6Lingala\u00A6Limburgish\u00A6Ewondo\u00A6Ganda\u00A6Luxembourgish\u00A6Latin\u00A6Judeo-Persian\u00A6Votic\u00A6Sino-Tibetan (Other)\u00A6Kirghiz\u00A6Cornish\u00A6Komi\u00A6Kurdish\u00A6Siouan Languages\u00A6Kashmiri\u00A6Kanuri\u00A6Awadhi\u00A6Korean\u00A6Kannada\u00A6Khmer\u00A6Kalaallisut\u00A6Kazakh\u00A6Romany\u00A6Kuanyama\u00A6Sidamo\u00A6Kikuyu\u00A6Kongo\u00A6Norse, Old\u00A6Georgian\u00A6Creek\u00A6Romance (Other)\u00A6Nogai\u00A6Munda Languages\u00A6Multiple Languages\u00A6Javanese\u00A6Gilbertese\u00A6Zande\u00A6Shan\u00A6Fon\u00A6Yiddish\u00A6Kalmyk\u00A6Australian Languages\u00A6Khotanese\u00A6Japanese\u00A6Khoisan (Other)\u00A6Palauan\u00A6Cheyenne\u00A6Hebrew\u00A6Tai (Other)\u00A6Inuktitut\u00A6Papiamento\u00A6Italian\u00A6Sign Languages\u00A6Icelandic\u00A6Khasi\u00A6Cherokee\u00A6Pampanga\u00A6Pahlavi\u00A6Chipewyan\u00A6Ido\u00A6Choctaw\u00A6Indonesian\u00A6Chinook Jargon\u00A6Mari\u00A6Tuvinian\u00A6Bantu\u00A6Pangasinan\u00A6Inupiaq\u00A6Chuukese\u00A6Sichuan Yi\u00A6Hawaiian\u00A6Lamba\u00A6Igbo\u00A6Chagatai\u00A6Old Irish\u00A6Papuan (Other)\u00A6Interlingue\u00A6Indonesian\u00A6Lahnda\u00A6Dayak\u00A6Chibcha\u00A6Interlingua\u00A6Ladino\u00A6Herero\u00A6Haida\u00A6Dargwa\u00A6Armenian\u00A6Athapascan Languages\u00A6Hungarian\u00A6Haitian\u00A6Dakota\u00A6Croatian\u00A6Hiri Motu\u00A6Hindi\u00A6Dyula\u00A6Hebrew\u00A6Asturian\u00A6Hausa\u00A6Sorbian Languages\u00A6Manx\u00A6Gujarati\u00A6Semitic (Other)\u00A6Selkup\u00A6Iroquoian languages\u00A6Guarani\u00A6Gallegan\u00A6Arawak\u00A6Geez\u00A6Artificial (Other)\u00A6Scottish Gaelic\u00A6Iranian\u00A6Irish\u00A6Arapaho\u00A6Araucanian\u00A6Frisian\u00A6Siksika\u00A6Germanic (Other)\u00A6Yupik Languages\u00A6Aramaic\u00A6French\u00A6Faroese\u00A6Celtic (Other)\u00A6Fijian\u00A6Finnish\u00A6Fulah\u00A6Tuvalu\u00A6Cebuano\u00A6Persian\u00A6Basque\u00A6Scots\u00A6Estonian\u00A6Sicilian\u00A6Spanish\u00A6Esperanto\u00A6English\u00A6Greek\u00A6Altaic (Other)\u00A6Niuean\u00A6Tupi languages\u00A6Ewe\u00A6Tumbuka\u00A6Mossi\u00A6Dzongkha\u00A6Niger - Kordofanian (Other)\u00A6Lushai\u00A6Finno - Ugrian (Other)\u00A6Divehi\u00A6Nias\u00A6Mohawk\u00A6Luo\u00A6Lunda\u00A6Apache Languages\u00A6Filipino\u00A6Luiseno\u00A6Hupa\u00A6Bini\u00A6German\u00A6Luba-Lulua\u00A6Bikol\u00A6Washo\u00A6Undetermined\u00A6Waray\u00A6Danish\u00A6Middle Dutch\u00A6Walamo\u00A6Manobo Languages\u00A6Wakashan Languages\u00A6Santali\u00A6Welsh\u00A6Sasak\u00A6Kabardian\u00A6Chuvash\u00A6Church Slavic\u00A6Manipuri\u00A6Czech\u00A6Samaritan Aramaic\u00A6Cree\u00A6Salishan languages\u00A6Duala\u00A6Corsican\u00A6South American Indian (Other)\u00A6Manchu\u00A6Yakut\u00A6Kawi\u00A6Ingush\u00A6Gbaya\u00A6Sandawe\u00A6Chamorro\u00A6Indo-European (Other)\u00A6Bhojpuri\u00A6Middle English\u00A6Karen\u00A6Indic (Other)\u00A6Chechen\u00A6Gayo\u00A6Catalan\u00A6Umbundu\u00A6Syriac\u00A6Kamba\u00A6Tsimshian\u00A6Old English (ca.450-1100)\u00A6Kachin\u00A6Caucasian (Other)\u00A6Kabyle\u00A6Kara-Kalpak\u00A6Bosnian\u00A6Carib\u00A6Breton\u00A6Tibetan\u00A6Bengali\u00A6Bambara\u00A6Ga\u00A6Central American Indian (Other)\u00A6Bislama\u00A6Bihari\u00A6Bulgarian\u00A6Belarusian\u00A6Caddo\u00A6Bashkir\u00A6Zulu\u00A6Zenaga\u00A6Old Proven\u00e7al\u00A6Upper Sorbian\u00A6Azerbaijani\u00A6Aymara\u00A6Avaric\u00A6Assamese\u00A6Lower Sorbian\u00A6Arabic\u00A6Iloko\u00A6Elamite\u00A6Chinese\u00A6Aragonese\u00A6Prakrit Languages\u00A6Amharic\u00A6Newari\u00A6Akan\u00A6Zhuang\u00A6Afrikaans\u00A6Avestan\u00A6Southern Altai\u00A6Abkhazian\u00A6Afar\u00A6Yoruba\u00A6Algonquian Languages\u00A6Aleut\u00A6Mon-Khmer (Other)\u00A6Yiddish\u00A6Dravidian (Other)\u00A6Berber\u00A6Low German; Low Saxon\u00A6Bemba\u00A6Beja\u00A6Tok Pisin";

  private static final Hashtable languages;
  static
  {
    languages = new Hashtable();
    Enumeration keys = new StringTokenizer(languagesKeys, "\u00A6");
    Enumeration values = new StringTokenizer(languagesValues, "\u00A6");
    while (keys.hasMoreElements())
      {
         String key = (String) keys.nextElement();
         String value = (String) values.nextElement();
         languages.put(key, value);
      }
  }

  private static final String variantsKeys = "REVISED\u00A6lojban\u00A6POSIX\u00A6gaulish\u00A6rozaj\u00A6nedis\u00A6boont\u00A61996\u00A6guoyu\u00A6hakka\u00A6xiang\u00A61901\u00A6scouse";

  private static final String variantsValues = "Revised Orthography\u00A6Lojban\u00A6Computer\u00A6Gaulish\u00A6Resian\u00A6Natisone dialect\u00A6Boontling\u00A6German orthography of 1996\u00A6Mandarin or Standard Chinese\u00A6Hakka\u00A6Xiang or Hunanese\u00A6Traditional German orthography\u00A6Scouse";

  private static final Hashtable variants;
  static
  {
    variants = new Hashtable();
    Enumeration keys = new StringTokenizer(variantsKeys, "\u00A6");
    Enumeration values = new StringTokenizer(variantsValues, "\u00A6");
    while (keys.hasMoreElements())
      {
         String key = (String) keys.nextElement();
         String value = (String) values.nextElement();
         variants.put(key, value);
      }
  }

  private static final Object[][] contents =
  {
    { "currencyFormat", "\u00a4#,##0.00;-\u00a4#,##0.00" },
    { "currenciesDisplayName", currenciesDisplayName },
    { "currenciesSymbol", currenciesSymbol },
    { "shortMonths", shortMonths },
    { "months", months },
    { "shortWeekdays", shortWeekdays },
    { "weekdays", weekdays },
    { "eras", eras },
    { "shortDateFormat", "M/d/yy" },
    { "mediumDateFormat", "MMM d, yyyy" },
    { "longDateFormat", "MMMM d, yyyy" },
    { "fullDateFormat", "EEEE, MMMM d, yyyy" },
    { "shortTimeFormat", "h:mm a" },
    { "mediumTimeFormat", "h:mm:ss a" },
    { "longTimeFormat", "h:mm:ss a z" },
    { "fullTimeFormat", "h:mm:ss a z" },
    { "zoneStrings", zoneStrings },
    { "territories", territories },
    { "languages", languages },
    { "variants", variants },
  };

  public Object[][] getContents() { return contents; }
}