Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / libaddressinput / chromium / cpp / src / region_data_constants.cc
1 // Copyright (C) 2013 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 //
15 // The data in this file will be automatically generated. For now, the address
16 // data comes from:
17 //
18 // https://code.google.com/p/libaddressinput/source/browse/trunk/java/src/com/android/i18n/addressinput/RegionDataConstants.java?r=137
19 //
20 // The language-to-separator mapping and primary input languages are loosely
21 // based on:
22 //
23 // http://unicode.org/cldr/trac/browser/tags/release-24/common/supplemental/supplementalData.xml
24
25 #include "region_data_constants.h"
26
27 #include <algorithm>
28 #include <map>
29 #include <string>
30 #include <utility>
31 #include <vector>
32
33 namespace i18n {
34 namespace addressinput {
35
36 namespace {
37
38 std::map<std::string, std::string> InitRegionData() {
39   std::map<std::string, std::string> region_data;
40   region_data.insert(std::make_pair("AD", "{"
41       "\"name\":\"ANDORRA\","
42       "\"lang\":\"ca\","
43       "\"languages\":\"ca\","
44       "\"input_languages\":\"ca\","
45       "\"fmt\":\"%N%n%O%n%A%n%Z %S\","
46       "\"require\":\"AS\","
47       "\"state_name_type\":\"parish\""
48       "}"));
49   region_data.insert(std::make_pair("AE", "{"
50       "\"name\":\"UNITED ARAB EMIRATES\","
51       "\"input_languages\":\"ar\","
52       "\"fmt\":\"%N%n%O%n%A%n%C\","
53       "\"require\":\"AC\""
54       "}"));
55   region_data.insert(std::make_pair("AF", "{"
56       "\"name\":\"AFGHANISTAN\","
57       "\"input_languages\":\"fa~ps\""
58       "}"));
59   region_data.insert(std::make_pair("AG", "{"
60       "\"name\":\"ANTIGUA AND BARBUDA\","
61       "\"input_languages\":\"en\","
62       "\"require\":\"A\""
63       "}"));
64   region_data.insert(std::make_pair("AI", "{"
65       "\"name\":\"ANGUILLA\","
66       "\"input_languages\":\"en\""
67       "}"));
68   region_data.insert(std::make_pair("AL", "{"
69       "\"name\":\"ALBANIA\","
70       "\"input_languages\":\"sq\""
71       "}"));
72   region_data.insert(std::make_pair("AM", "{"
73       "\"name\":\"ARMENIA\","
74       "\"lang\":\"hy\","
75       "\"languages\":\"hy\","
76       "\"input_languages\":\"hy\","
77       "\"fmt\":\"%N%n%O%n%A%n%Z%n%C%n%S\","
78       "\"lfmt\":\"%N%n%O%n%A%n%Z%n%C%n%S\""
79       "}"));
80   region_data.insert(std::make_pair("AN", "{"
81       "\"name\":\"NETHERLANDS ANTILLES\""
82       "}"));
83   region_data.insert(std::make_pair("AO", "{"
84       "\"name\":\"ANGOLA\","
85       "\"input_languages\":\"pt\""
86       "}"));
87   region_data.insert(std::make_pair("AQ", "{"
88       "\"name\":\"ANTARCTICA\""
89       "}"));
90   region_data.insert(std::make_pair("AR", "{"
91       "\"name\":\"ARGENTINA\","
92       "\"lang\":\"es\","
93       "\"languages\":\"es\","
94       "\"input_languages\":\"es\","
95       "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
96       "\"state_name_type\":\"state\""
97       "}"));
98   region_data.insert(std::make_pair("AS", "{"
99       "\"name\":\"AMERICAN SAMOA\","
100       "\"input_languages\":\"en~sm\","
101       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
102       "\"require\":\"ACSZ\","
103       "\"zip_name_type\":\"zip\","
104       "\"state_name_type\":\"state\""
105       "}"));
106   region_data.insert(std::make_pair("AT", "{"
107       "\"name\":\"AUSTRIA\","
108       "\"input_languages\":\"de\","
109       "\"fmt\":\"%O%n%N%n%A%n%Z %C\","
110       "\"require\":\"ACZ\""
111       "}"));
112   region_data.insert(std::make_pair("AU", "{"
113       "\"name\":\"AUSTRALIA\","
114       "\"lang\":\"en\","
115       "\"languages\":\"en\","
116       "\"input_languages\":\"en\","
117       "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\","
118       "\"require\":\"ACSZ\","
119       "\"state_name_type\":\"state\""
120       "}"));
121   region_data.insert(std::make_pair("AW", "{"
122       "\"name\":\"ARUBA\","
123       "\"input_languages\":\"nl~pap\""
124       "}"));
125   region_data.insert(std::make_pair("AX", "{"
126       "\"name\":\"FINLAND\","
127       "\"input_languages\":\"sv\","
128       "\"fmt\":\"%O%n%N%n%A%nAX-%Z %C%n\xC3\x85LAND\","  // \xC3\x85 is Å.
129       "\"require\":\"ACZ\""
130       "}"));
131   region_data.insert(std::make_pair("AZ", "{"
132       "\"name\":\"AZERBAIJAN\","
133       "\"input_languages\":\"az\","
134       "\"fmt\":\"%N%n%O%n%A%nAZ %Z %C\""
135       "}"));
136   region_data.insert(std::make_pair("BA", "{"
137       "\"name\":\"BOSNIA AND HERZEGOVINA\","
138       "\"input_languages\":\"bs~hr~sr\","
139       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
140       "}"));
141   region_data.insert(std::make_pair("BB", "{"
142       "\"name\":\"BARBADOS\","
143       "\"input_languages\":\"en\","
144       "\"state_name_type\":\"parish\""
145       "}"));
146   region_data.insert(std::make_pair("BD", "{"
147       "\"name\":\"BANGLADESH\","
148       "\"input_languages\":\"bn\","
149       "\"fmt\":\"%N%n%O%n%A%n%C - %Z\""
150       "}"));
151   region_data.insert(std::make_pair("BE", "{"
152       "\"name\":\"BELGIUM\","
153       "\"input_languages\":\"de~fr~nl\","
154       "\"fmt\":\"%O%n%N%n%A%n%Z %C\","
155       "\"require\":\"ACZ\""
156       "}"));
157   region_data.insert(std::make_pair("BF", "{"
158       "\"name\":\"BURKINA FASO\","
159       "\"input_languages\":\"fr\","
160       "\"fmt\":\"%N%n%O%n%A%n%C %X\""
161       "}"));
162   region_data.insert(std::make_pair("BG", "{"
163       "\"name\":\"BULGARIA (REP.)\","
164       "\"input_languages\":\"bg\","
165       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
166       "}"));
167   region_data.insert(std::make_pair("BH", "{"
168       "\"name\":\"BAHRAIN\","
169       "\"input_languages\":\"ar\","
170       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
171       "}"));
172   region_data.insert(std::make_pair("BI", "{"
173       "\"name\":\"BURUNDI\","
174       "\"input_languages\":\"fr~rn\""
175       "}"));
176   region_data.insert(std::make_pair("BJ", "{"
177       "\"name\":\"BENIN\","
178       "\"input_languages\":\"fr\""
179       "}"));
180   region_data.insert(std::make_pair("BL", "{"
181       "\"name\":\"SAINT BARTHELEMY\","
182       "\"input_languages\":\"fr\","
183       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
184       "\"require\":\"ACZ\""
185       "}"));
186   region_data.insert(std::make_pair("BM", "{"
187       "\"name\":\"BERMUDA\","
188       "\"input_languages\":\"en\","
189       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
190       "}"));
191   region_data.insert(std::make_pair("BN", "{"
192       "\"name\":\"BRUNEI DARUSSALAM\","
193       "\"input_languages\":\"ms\","
194       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
195       "}"));
196   region_data.insert(std::make_pair("BO", "{"
197       "\"name\":\"BOLIVIA\","
198       "\"input_languages\":\"ay~es~qu\""
199       "}"));
200   region_data.insert(std::make_pair("BR", "{"
201       "\"name\":\"BRAZIL\","
202       "\"lang\":\"pt\","
203       "\"languages\":\"pt\","
204       "\"input_languages\":\"pt\","
205       "\"fmt\":\"%O%n%N%n%A%n%C-%S%n%Z\","
206       "\"require\":\"ASCZ\","
207       "\"state_name_type\":\"state\""
208       "}"));
209   region_data.insert(std::make_pair("BS", "{"
210       "\"name\":\"BAHAMAS\","
211       "\"lang\":\"en\","
212       "\"languages\":\"en\","
213       "\"input_languages\":\"en\","
214       "\"fmt\":\"%N%n%O%n%A%n%C, %S\","
215       "\"state_name_type\":\"island\""
216       "}"));
217   region_data.insert(std::make_pair("BT", "{"
218       "\"name\":\"BHUTAN\","
219       "\"input_languages\":\"dz\""
220       "}"));
221   region_data.insert(std::make_pair("BV", "{"
222       "\"name\":\"BOUVET ISLAND\""
223       "}"));
224   region_data.insert(std::make_pair("BW", "{"
225       "\"name\":\"BOTSWANA\","
226       "\"input_languages\":\"en~tn\""
227       "}"));
228   region_data.insert(std::make_pair("BY", "{"
229       "\"name\":\"BELARUS\","
230       "\"input_languages\":\"be~ru\","
231       "\"fmt\":\"%S%n%Z %C %X%n%A%n%O%n%N\""
232       "}"));
233   region_data.insert(std::make_pair("BZ", "{"
234       "\"name\":\"BELIZE\","
235       "\"input_languages\":\"en\""
236       "}"));
237   region_data.insert(std::make_pair("CA", "{"
238       "\"name\":\"CANADA\","
239       "\"lang\":\"en\","
240       "\"languages\":\"en~fr\","
241       "\"input_languages\":\"en~fr\","
242       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
243       "\"require\":\"ACSZ\""
244       "}"));
245   region_data.insert(std::make_pair("CC", "{"
246       "\"name\":\"COCOS (KEELING) ISLANDS\","
247       "\"input_languages\":\"en\","
248       "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\""
249       "}"));
250   region_data.insert(std::make_pair("CD", "{"
251       "\"name\":\"CONGO (DEM. REP.)\","
252       "\"input_languages\":\"fr\","
253       "\"fmt\":\"%N%n%O%n%A%n%C %X\""
254       "}"));
255   region_data.insert(std::make_pair("CF", "{"
256       "\"name\":\"CENTRAL AFRICAN REPUBLIC\","
257       "\"input_languages\":\"fr~sg\""
258       "}"));
259   region_data.insert(std::make_pair("CG", "{"
260       "\"name\":\"CONGO (REP.)\","
261       "\"input_languages\":\"fr~ln\""
262       "}"));
263   region_data.insert(std::make_pair("CH", "{"
264       "\"name\":\"SWITZERLAND\","
265       "\"lang\":\"de\","
266       "\"languages\":\"de~fr~it\","
267       "\"input_languages\":\"de~fr~gsw~it\","
268       "\"fmt\":\"%O%n%N%n%A%nCH-%Z %C\","
269       "\"require\":\"ACZ\""
270       "}"));
271   region_data.insert(std::make_pair("CI", "{"
272       "\"name\":\"COTE D'IVOIRE\","
273       "\"input_languages\":\"fr\","
274       "\"fmt\":\"%N%n%O%n%X %A %C %X\""
275       "}"));
276   region_data.insert(std::make_pair("CK", "{"
277       "\"name\":\"COOK ISLANDS\","
278       "\"input_languages\":\"en\","
279       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
280       "}"));
281   region_data.insert(std::make_pair("CL", "{"
282       "\"name\":\"CHILE\","
283       "\"lang\":\"es\","
284       "\"languages\":\"es\","
285       "\"input_languages\":\"es\","
286       "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
287       "\"state_name_type\":\"state\""
288       "}"));
289   region_data.insert(std::make_pair("CM", "{"
290       "\"name\":\"CAMEROON\","
291       "\"input_languages\":\"en~fr\""
292       "}"));
293   region_data.insert(std::make_pair("CN", "{"
294       "\"name\":\"P.R. CHINA\","
295       "\"lang\":\"zh-hans\","
296       "\"languages\":\"zh-hans\","
297       "\"input_languages\":\"zh\","
298       "\"fmt\":\"%Z%n%S%C%D%n%A%n%O%n%N\","
299       "\"lfmt\":\"%N%n%O%n%A, %D%n%C%n%S, %Z\","
300       "\"require\":\"ACSZ\""
301       "}"));
302   region_data.insert(std::make_pair("CO", "{"
303       "\"name\":\"COLOMBIA\","
304       "\"input_languages\":\"es\","
305       "\"fmt\":\"%N%n%O%n%A%n%C, %S\""
306       "}"));
307   region_data.insert(std::make_pair("CR", "{"
308       "\"name\":\"COSTA RICA\","
309       "\"input_languages\":\"es\","
310       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
311       "}"));
312   region_data.insert(std::make_pair("CS", "{"
313       "\"name\":\"SERBIA AND MONTENEGRO\","
314       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
315       "}"));
316   region_data.insert(std::make_pair("CV", "{"
317       "\"name\":\"CAPE VERDE\","
318       "\"lang\":\"pt\","
319       "\"languages\":\"pt\","
320       "\"input_languages\":\"pt\","
321       "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
322       "\"state_name_type\":\"island\""
323       "}"));
324   region_data.insert(std::make_pair("CX", "{"
325       "\"name\":\"CHRISTMAS ISLAND\","
326       "\"input_languages\":\"en\","
327       "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\""
328       "}"));
329   region_data.insert(std::make_pair("CY", "{"
330       "\"name\":\"CYPRUS\","
331       "\"input_languages\":\"el~tr\","
332       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
333       "}"));
334   region_data.insert(std::make_pair("CZ", "{"
335       "\"name\":\"CZECH REP.\","
336       "\"input_languages\":\"cs\","
337       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
338       "}"));
339   region_data.insert(std::make_pair("DE", "{"
340       "\"name\":\"GERMANY\","
341       "\"input_languages\":\"de\","
342       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
343       "\"require\":\"ACZ\""
344       "}"));
345   region_data.insert(std::make_pair("DJ", "{"
346       "\"name\":\"DJIBOUTI\","
347       "\"input_languages\":\"ar~fr\""
348       "}"));
349   region_data.insert(std::make_pair("DK", "{"
350       "\"name\":\"DENMARK\","
351       "\"input_languages\":\"da\","
352       "\"fmt\":\"%O%n%N%n%A%n%Z %C\","
353       "\"require\":\"ACZ\""
354       "}"));
355   region_data.insert(std::make_pair("DM", "{"
356       "\"name\":\"DOMINICA\","
357       "\"input_languages\":\"en\""
358       "}"));
359   region_data.insert(std::make_pair("DO", "{"
360       "\"name\":\"DOMINICAN REP.\","
361       "\"input_languages\":\"es\","
362       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
363       "}"));
364   region_data.insert(std::make_pair("DZ", "{"
365       "\"name\":\"ALGERIA\","
366       "\"input_languages\":\"ar~fr\","
367       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
368       "}"));
369   region_data.insert(std::make_pair("EC", "{"
370       "\"name\":\"ECUADOR\","
371       "\"input_languages\":\"es\","
372       "\"fmt\":\"%N%n%O%n%A%n%Z%n%C\""
373       "}"));
374   region_data.insert(std::make_pair("EE", "{"
375       "\"name\":\"ESTONIA\","
376       "\"input_languages\":\"et\","
377       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
378       "}"));
379   region_data.insert(std::make_pair("EG", "{"
380       "\"name\":\"EGYPT\","
381       "\"input_languages\":\"ar\","
382       "\"fmt\":\"%N%n%O%n%A%n%C%n%S%n%Z\""
383       "}"));
384   region_data.insert(std::make_pair("EH", "{"
385       "\"name\":\"WESTERN SAHARA\","
386       "\"input_languages\":\"ar\""
387       "}"));
388   region_data.insert(std::make_pair("ER", "{"
389       "\"name\":\"ERITREA\","
390       "\"input_languages\":\"ar~en~ti\""
391       "}"));
392   region_data.insert(std::make_pair("ES", "{"
393       "\"name\":\"SPAIN\","
394       "\"lang\":\"es\","
395       "\"languages\":\"es\","
396       "\"input_languages\":\"es\","
397       "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\","
398       "\"require\":\"ACSZ\""
399       "}"));
400   region_data.insert(std::make_pair("ET", "{"
401       "\"name\":\"ETHIOPIA\","
402       "\"input_languages\":\"am\","
403       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
404       "}"));
405   region_data.insert(std::make_pair("FI", "{"
406       "\"name\":\"FINLAND\","
407       "\"input_languages\":\"fi~sv\","
408       "\"fmt\":\"%O%n%N%n%A%nFI-%Z %C\","
409       "\"require\":\"ACZ\""
410       "}"));
411   region_data.insert(std::make_pair("FJ", "{"
412       "\"name\":\"FIJI\","
413       "\"input_languages\":\"en~fj\""
414       "}"));
415   region_data.insert(std::make_pair("FK", "{"
416       "\"name\":\"FALKLAND ISLANDS (MALVINAS)\","
417       "\"input_languages\":\"en\","
418       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
419       "\"require\":\"ACZ\""
420       "}"));
421   region_data.insert(std::make_pair("FM", "{"
422       "\"name\":\"MICRONESIA (Federated State of)\","
423       "\"input_languages\":\"chk~en~kos~pon~uli~yap\","
424       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
425       "\"require\":\"ACSZ\","
426       "\"zip_name_type\":\"zip\","
427       "\"state_name_type\":\"state\""
428       "}"));
429   region_data.insert(std::make_pair("FO", "{"
430       "\"name\":\"FAROE ISLANDS\","
431       "\"input_languages\":\"fo\","
432       "\"fmt\":\"%N%n%O%n%A%nFO%Z %C\""
433       "}"));
434   region_data.insert(std::make_pair("FR", "{"
435       "\"name\":\"FRANCE\","
436       "\"input_languages\":\"fr\","
437       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
438       "\"require\":\"ACZ\""
439       "}"));
440   region_data.insert(std::make_pair("GA", "{"
441       "\"name\":\"GABON\","
442       "\"input_languages\":\"fr\""
443       "}"));
444   region_data.insert(std::make_pair("GB", "{"
445       "\"name\":\"UNITED KINGDOM\","
446       "\"input_languages\":\"en\","
447       "\"fmt\":\"%N%n%O%n%A%n%C%n%S%n%Z\","
448       "\"require\":\"ACZ\","
449       "\"state_name_type\":\"county\""
450       "}"));
451   region_data.insert(std::make_pair("GD", "{"
452       "\"name\":\"GRENADA (WEST INDIES)\","
453       "\"input_languages\":\"en\""
454       "}"));
455   region_data.insert(std::make_pair("GE", "{"
456       "\"name\":\"GEORGIA\","
457       "\"input_languages\":\"ka\","
458       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
459       "}"));
460   region_data.insert(std::make_pair("GF", "{"
461       "\"name\":\"FRENCH GUIANA\","
462       "\"input_languages\":\"fr\","
463       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
464       "\"require\":\"ACZ\""
465       "}"));
466   region_data.insert(std::make_pair("GG", "{"
467       "\"name\":\"CHANNEL ISLANDS\","
468       "\"input_languages\":\"en\","
469       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%nGUERNSEY%n%Z\","
470       "\"require\":\"ACZ\""
471       "}"));
472   region_data.insert(std::make_pair("GH", "{"
473       "\"name\":\"GHANA\","
474       "\"input_languages\":\"en\""
475       "}"));
476   region_data.insert(std::make_pair("GI", "{"
477       "\"name\":\"GIBRALTAR\","
478       "\"input_languages\":\"en\","
479       "\"fmt\":\"%N%n%O%n%A\","
480       "\"require\":\"A\""
481       "}"));
482   region_data.insert(std::make_pair("GL", "{"
483       "\"name\":\"GREENLAND\","
484       "\"input_languages\":\"da~kl\","
485       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
486       "\"require\":\"ACZ\""
487       "}"));
488   region_data.insert(std::make_pair("GM", "{"
489       "\"name\":\"GAMBIA\","
490       "\"input_languages\":\"en\""
491       "}"));
492   region_data.insert(std::make_pair("GN", "{"
493       "\"name\":\"GUINEA\","
494       "\"input_languages\":\"fr\","
495       "\"fmt\":\"%N%n%O%n%Z %A %C\""
496       "}"));
497   region_data.insert(std::make_pair("GP", "{"
498       "\"name\":\"GUADELOUPE\","
499       "\"input_languages\":\"fr\","
500       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
501       "\"require\":\"ACZ\""
502       "}"));
503   region_data.insert(std::make_pair("GQ", "{"
504       "\"name\":\"EQUATORIAL GUINEA\","
505       "\"input_languages\":\"es~fr\""
506       "}"));
507   region_data.insert(std::make_pair("GR", "{"
508       "\"name\":\"GREECE\","
509       "\"input_languages\":\"el\","
510       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
511       "\"require\":\"ACZ\""
512       "}"));
513   region_data.insert(std::make_pair("GS", "{"
514       "\"name\":\"SOUTH GEORGIA\","
515       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
516       "\"require\":\"ACZ\""
517       "}"));
518   region_data.insert(std::make_pair("GT", "{"
519       "\"name\":\"GUATEMALA\","
520       "\"input_languages\":\"es\","
521       "\"fmt\":\"%N%n%O%n%A%n%Z- %C\""
522       "}"));
523   region_data.insert(std::make_pair("GU", "{"
524       "\"name\":\"GUAM\","
525       "\"input_languages\":\"ch~en\","
526       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
527       "\"require\":\"ACSZ\","
528       "\"zip_name_type\":\"zip\","
529       "\"state_name_type\":\"state\""
530       "}"));
531   region_data.insert(std::make_pair("GW", "{"
532       "\"name\":\"GUINEA-BISSAU\","
533       "\"input_languages\":\"pt\","
534       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
535       "}"));
536   region_data.insert(std::make_pair("GY", "{"
537       "\"name\":\"GUYANA\","
538       "\"input_languages\":\"en\""
539       "}"));
540   region_data.insert(std::make_pair("HK", "{"
541       "\"name\":\"HONG KONG\","
542       "\"lang\":\"zh\","
543       "\"languages\":\"zh\","
544       "\"input_languages\":\"en~zh\","
545       "\"fmt\":\"%S%n%A%n%O%n%N\","
546       "\"lfmt\":\"%N%n%O%n%A%n%S\","
547       "\"require\":\"AS\","
548       "\"state_name_type\":\"area\""
549       "}"));
550   region_data.insert(std::make_pair("HM", "{"
551       "\"name\":\"HEARD AND MCDONALD ISLANDS\","
552       "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\""
553       "}"));
554   region_data.insert(std::make_pair("HN", "{"
555       "\"name\":\"HONDURAS\","
556       "\"input_languages\":\"es\","
557       "\"fmt\":\"%N%n%O%n%A%n%C, %S%n%Z\","
558       "\"require\":\"ACS\""
559       "}"));
560   region_data.insert(std::make_pair("HR", "{"
561       "\"name\":\"CROATIA\","
562       "\"input_languages\":\"hr\","
563       "\"fmt\":\"%N%n%O%n%A%nHR-%Z %C\""
564       "}"));
565   region_data.insert(std::make_pair("HT", "{"
566       "\"name\":\"HAITI\","
567       "\"input_languages\":\"fr~ht\","
568       "\"fmt\":\"%N%n%O%n%A%nHT%Z %C %X\""
569       "}"));
570   region_data.insert(std::make_pair("HU", "{"
571       "\"name\":\"HUNGARY (Rep.)\","
572       "\"input_languages\":\"hu\","
573       "\"fmt\":\"%N%n%O%n%C%n%A%n%Z\""
574       "}"));
575   region_data.insert(std::make_pair("ID", "{"
576       "\"name\":\"INDONESIA\","
577       "\"input_languages\":\"id~su\","
578       "\"fmt\":\"%N%n%O%n%A%n%C %Z%n%S\""
579       "}"));
580   region_data.insert(std::make_pair("IE", "{"
581       "\"name\":\"IRELAND\","
582       "\"lang\":\"en\","
583       "\"languages\":\"en\","
584       "\"input_languages\":\"en~ga\","
585       "\"fmt\":\"%N%n%O%n%A%n%C%n%S\","
586       "\"state_name_type\":\"county\""
587       "}"));
588   region_data.insert(std::make_pair("IL", "{"
589       "\"name\":\"ISRAEL\","
590       "\"input_languages\":\"ar~he\","
591       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
592       "}"));
593   region_data.insert(std::make_pair("IM", "{"
594       "\"name\":\"ISLE OF MAN\","
595       "\"input_languages\":\"en~gv\","
596       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
597       "\"require\":\"ACZ\""
598       "}"));
599   region_data.insert(std::make_pair("IN", "{"
600       "\"name\":\"INDIA\","
601       "\"lang\":\"en\","
602       "\"languages\":\"en\","
603       "\"input_languages\":\"en~hi\","
604       "\"fmt\":\"%N%n%O%n%A%n%C %Z%n%S\","
605       "\"require\":\"ACSZ\","
606       "\"state_name_type\":\"state\""
607       "}"));
608   region_data.insert(std::make_pair("IO", "{"
609       "\"name\":\"BRITISH INDIAN OCEAN TERRITORY\","
610       "\"input_languages\":\"en\","
611       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
612       "\"require\":\"ACZ\""
613       "}"));
614   region_data.insert(std::make_pair("IQ", "{"
615       "\"name\":\"IRAQ\","
616       "\"input_languages\":\"ar\","
617       "\"fmt\":\"%O%n%N%n%A%n%C, %S%n%Z\","
618       "\"require\":\"ACS\""
619       "}"));
620   region_data.insert(std::make_pair("IS", "{"
621       "\"name\":\"ICELAND\","
622       "\"input_languages\":\"is\","
623       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
624       "}"));
625   region_data.insert(std::make_pair("IT", "{"
626       "\"name\":\"ITALY\","
627       "\"lang\":\"it\","
628       "\"languages\":\"it\","
629       "\"input_languages\":\"it\","
630       "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\","
631       "\"require\":\"ACSZ\""
632       "}"));
633   region_data.insert(std::make_pair("JE", "{"
634       "\"name\":\"CHANNEL ISLANDS\","
635       "\"input_languages\":\"en\","
636       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%nJERSEY%n%Z\","
637       "\"require\":\"ACZ\""
638       "}"));
639   region_data.insert(std::make_pair("JM", "{"
640       "\"name\":\"JAMAICA\","
641       "\"lang\":\"en\","
642       "\"languages\":\"en\","
643       "\"input_languages\":\"en\","
644       "\"fmt\":\"%N%n%O%n%A%n%C%n%S %X\","
645       "\"require\":\"ACS\","
646       "\"state_name_type\":\"parish\""
647       "}"));
648   region_data.insert(std::make_pair("JO", "{"
649       "\"name\":\"JORDAN\","
650       "\"input_languages\":\"ar\","
651       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
652       "}"));
653   region_data.insert(std::make_pair("JP", "{"
654       "\"name\":\"JAPAN\","
655       "\"lang\":\"ja\","
656       "\"languages\":\"ja\","
657       "\"input_languages\":\"ja\","
658       "\"fmt\":\"\xE3\x80\x92%Z%n%S%C%n%A%n%O%n%N\","  // \xE3\x80\x92 is 〒.
659       "\"lfmt\":\"%N%n%O%n%A%n%C, %S%n%Z\","
660       "\"require\":\"ACSZ\","
661       "\"state_name_type\":\"prefecture\""
662       "}"));
663   region_data.insert(std::make_pair("KE", "{"
664       "\"name\":\"KENYA\","
665       "\"input_languages\":\"en~sw\","
666       "\"fmt\":\"%N%n%O%n%A%n%C%n%Z\""
667       "}"));
668   region_data.insert(std::make_pair("KG", "{"
669       "\"name\":\"KYRGYZSTAN\","
670       "\"input_languages\":\"ky~ru\","
671       "\"fmt\":\"%Z %C %X%n%A%n%O%n%N\""
672       "}"));
673   region_data.insert(std::make_pair("KH", "{"
674       "\"name\":\"CAMBODIA\","
675       "\"input_languages\":\"km\","
676       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
677       "}"));
678   region_data.insert(std::make_pair("KI", "{"
679       "\"name\":\"KIRIBATI\","
680       "\"input_languages\":\"en~gil\","
681       "\"fmt\":\"%N%n%O%n%A%n%S%n%C\","
682       "\"state_name_type\":\"island\""
683       "}"));
684   region_data.insert(std::make_pair("KM", "{"
685       "\"name\":\"COMOROS\","
686       "\"input_languages\":\"ar~fr~zdj\""
687       "}"));
688   region_data.insert(std::make_pair("KN", "{"
689       "\"name\":\"SAINT KITTS AND NEVIS\","
690       "\"lang\":\"en\","
691       "\"languages\":\"en\","
692       "\"input_languages\":\"en\","
693       "\"fmt\":\"%N%n%O%n%A%n%C, %S\","
694       "\"require\":\"ACS\","
695       "\"state_name_type\":\"island\""
696       "}"));
697   region_data.insert(std::make_pair("KR", "{"
698       "\"name\":\"KOREA (REP.)\","
699       "\"lang\":\"ko\","
700       "\"languages\":\"ko\","
701       "\"input_languages\":\"ko\","
702       "\"fmt\":\"%S %C%D%n%A%n%O%n%N%nSEOUL %Z\","
703       "\"lfmt\":\"%N%n%O%n%A%n%D%n%C%n%S%nSEOUL %Z\","
704       "\"require\":\"ACSZ\","
705       "\"state_name_type\":\"do_si\""
706       "}"));
707   region_data.insert(std::make_pair("KW", "{"
708       "\"name\":\"KUWAIT\","
709       "\"input_languages\":\"ar\","
710       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
711       "}"));
712   region_data.insert(std::make_pair("KY", "{"
713       "\"name\":\"CAYMAN ISLANDS\","
714       "\"lang\":\"en\","
715       "\"languages\":\"en\","
716       "\"input_languages\":\"en\","
717       "\"fmt\":\"%N%n%O%n%A%n%S\","
718       "\"require\":\"AS\","
719       "\"state_name_type\":\"island\""
720       "}"));
721   region_data.insert(std::make_pair("KZ", "{"
722       "\"name\":\"KAZAKHSTAN\","
723       "\"input_languages\":\"kk~ru\","
724       "\"fmt\":\"%Z%n%S%n%C%n%A%n%O%n%N\""
725       "}"));
726   region_data.insert(std::make_pair("LA", "{"
727       "\"name\":\"LAO (PEOPLE'S DEM. REP.)\","
728       "\"input_languages\":\"lo\","
729       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
730       "}"));
731   region_data.insert(std::make_pair("LB", "{"
732       "\"name\":\"LEBANON\","
733       "\"input_languages\":\"ar\","
734       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
735       "}"));
736   region_data.insert(std::make_pair("LC", "{"
737       "\"name\":\"SAINT LUCIA\","
738       "\"input_languages\":\"en\""
739       "}"));
740   region_data.insert(std::make_pair("LI", "{"
741       "\"name\":\"LIECHTENSTEIN\","
742       "\"input_languages\":\"de~gsw\","
743       "\"fmt\":\"%O%n%N%n%A%nFL-%Z %C\","
744       "\"require\":\"ACZ\""
745       "}"));
746   region_data.insert(std::make_pair("LK", "{"
747       "\"name\":\"SRI LANKA\","
748       "\"input_languages\":\"si~ta\","
749       "\"fmt\":\"%N%n%O%n%A%n%C%n%Z\""
750       "}"));
751   region_data.insert(std::make_pair("LR", "{"
752       "\"name\":\"LIBERIA\","
753       "\"input_languages\":\"en\","
754       "\"fmt\":\"%N%n%O%n%A%n%Z %C %X\""
755       "}"));
756   region_data.insert(std::make_pair("LS", "{"
757       "\"name\":\"LESOTHO\","
758       "\"input_languages\":\"en~st\","
759       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
760       "}"));
761   region_data.insert(std::make_pair("LT", "{"
762       "\"name\":\"LITHUANIA\","
763       "\"input_languages\":\"lt\","
764       "\"fmt\":\"%O%n%N%n%A%nLT-%Z %C\""
765       "}"));
766   region_data.insert(std::make_pair("LU", "{"
767       "\"name\":\"LUXEMBOURG\","
768       "\"input_languages\":\"de~fr~lb\","
769       "\"fmt\":\"%O%n%N%n%A%nL-%Z %C\","
770       "\"require\":\"ACZ\""
771       "}"));
772   region_data.insert(std::make_pair("LV", "{"
773       "\"name\":\"LATVIA\","
774       "\"input_languages\":\"lv\","
775       "\"fmt\":\"%N%n%O%n%A%n%C, %Z\""
776       "}"));
777   region_data.insert(std::make_pair("LY", "{"
778       "\"name\":\"LIBYA\","
779       "\"input_languages\":\"ar\""
780       "}"));
781   region_data.insert(std::make_pair("MA", "{"
782       "\"name\":\"MOROCCO\","
783       "\"input_languages\":\"ar~fr~tzm\","
784       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
785       "}"));
786   region_data.insert(std::make_pair("MC", "{"
787       "\"name\":\"MONACO\","
788       "\"input_languages\":\"fr\","
789       "\"fmt\":\"%N%n%O%n%A%nMC-%Z %C %X\""
790       "}"));
791   region_data.insert(std::make_pair("MD", "{"
792       "\"name\":\"Rep. MOLDOVA\","
793       "\"input_languages\":\"ro\","
794       "\"fmt\":\"%N%n%O%n%A%nMD-%Z %C\""
795       "}"));
796   region_data.insert(std::make_pair("ME", "{"
797       "\"name\":\"MONTENEGRO\","
798       "\"input_languages\":\"sr\","
799       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
800       "}"));
801   region_data.insert(std::make_pair("MF", "{"
802       "\"name\":\"SAINT MARTIN\","
803       "\"input_languages\":\"fr\","
804       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
805       "\"require\":\"ACZ\""
806       "}"));
807   region_data.insert(std::make_pair("MG", "{"
808       "\"name\":\"MADAGASCAR\","
809       "\"input_languages\":\"en~fr~mg\","
810       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
811       "}"));
812   region_data.insert(std::make_pair("MH", "{"
813       "\"name\":\"MARSHALL ISLANDS\","
814       "\"input_languages\":\"en~mh\","
815       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
816       "\"require\":\"ACSZ\","
817       "\"zip_name_type\":\"zip\","
818       "\"state_name_type\":\"state\""
819       "}"));
820   region_data.insert(std::make_pair("MK", "{"
821       "\"name\":\"MACEDONIA\","
822       "\"input_languages\":\"mk~sq\","
823       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
824       "}"));
825   region_data.insert(std::make_pair("ML", "{"
826       "\"name\":\"MALI\","
827       "\"input_languages\":\"fr\""
828       "}"));
829   region_data.insert(std::make_pair("MN", "{"
830       "\"name\":\"MONGOLIA\","
831       "\"input_languages\":\"mn\","
832       "\"fmt\":\"%N%n%O%n%A%n%S %C-%X%n%Z\""
833       "}"));
834   region_data.insert(std::make_pair("MO", "{"
835       "\"name\":\"MACAO\","
836       "\"lang\":\"zh-hant\","
837       "\"languages\":\"zh-hant\","
838       "\"input_languages\":\"pt~zh\","
839       "\"fmt\":\"%A%n%O%n%N\","
840       "\"lfmt\":\"%N%n%O%n%A\","
841       "\"require\":\"A\""
842       "}"));
843   region_data.insert(std::make_pair("MP", "{"
844       "\"name\":\"NORTHERN MARIANA ISLANDS\","
845       "\"input_languages\":\"en\","
846       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
847       "\"require\":\"ACSZ\","
848       "\"zip_name_type\":\"zip\","
849       "\"state_name_type\":\"state\""
850       "}"));
851   region_data.insert(std::make_pair("MQ", "{"
852       "\"name\":\"MARTINIQUE\","
853       "\"input_languages\":\"fr\","
854       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
855       "\"require\":\"ACZ\""
856       "}"));
857   region_data.insert(std::make_pair("MR", "{"
858       "\"name\":\"MAURITANIA\","
859       "\"input_languages\":\"ar\""
860       "}"));
861   region_data.insert(std::make_pair("MS", "{"
862       "\"name\":\"MONTSERRAT\","
863       "\"input_languages\":\"en\""
864       "}"));
865   region_data.insert(std::make_pair("MT", "{"
866       "\"name\":\"MALTA\","
867       "\"input_languages\":\"en~mt\","
868       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
869       "}"));
870   region_data.insert(std::make_pair("MU", "{"
871       "\"name\":\"MAURITIUS\","
872       "\"input_languages\":\"en~fr\","
873       "\"fmt\":\"%N%n%O%n%A%n%Z%n%C\""
874       "}"));
875   region_data.insert(std::make_pair("MV", "{"
876       "\"name\":\"MALDIVES\","
877       "\"input_languages\":\"dv\","
878       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
879       "}"));
880   region_data.insert(std::make_pair("MW", "{"
881       "\"name\":\"MALAWI\","
882       "\"input_languages\":\"en~ny\","
883       "\"fmt\":\"%N%n%O%n%A%n%C %X\""
884       "}"));
885   region_data.insert(std::make_pair("MX", "{"
886       "\"name\":\"MEXICO\","
887       "\"lang\":\"es\","
888       "\"languages\":\"es\","
889       "\"input_languages\":\"es\","
890       "\"fmt\":\"%N%n%O%n%A%n%Z %C, %S\","
891       "\"require\":\"ACZ\","
892       "\"state_name_type\":\"state\""
893       "}"));
894   region_data.insert(std::make_pair("MY", "{"
895       "\"name\":\"MALAYSIA\","
896       "\"lang\":\"ms\","
897       "\"languages\":\"ms\","
898       "\"input_languages\":\"ms\","
899       "\"fmt\":\"%N%n%O%n%A%n%Z %C, %S\","
900       "\"require\":\"ACZ\","
901       "\"state_name_type\":\"state\""
902       "}"));
903   region_data.insert(std::make_pair("MZ", "{"
904       "\"name\":\"MOZAMBIQUE\","
905       "\"input_languages\":\"pt\","
906       "\"fmt\":\"%N%n%O%n%A%n%C\""
907       "}"));
908   region_data.insert(std::make_pair("NA", "{"
909       "\"name\":\"NAMIBIA\","
910       "\"input_languages\":\"af~en\""
911       "}"));
912   region_data.insert(std::make_pair("NC", "{"
913       "\"name\":\"NEW CALEDONIA\","
914       "\"input_languages\":\"fr\","
915       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
916       "\"require\":\"ACZ\""
917       "}"));
918   region_data.insert(std::make_pair("NE", "{"
919       "\"name\":\"NIGER\","
920       "\"input_languages\":\"fr\","
921       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
922       "}"));
923   region_data.insert(std::make_pair("NF", "{"
924       "\"name\":\"NORFOLK ISLAND\","
925       "\"input_languages\":\"en\","
926       "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\""
927       "}"));
928   region_data.insert(std::make_pair("NG", "{"
929       "\"name\":\"NIGERIA\","
930       "\"lang\":\"fr\","
931       "\"languages\":\"fr\","
932       "\"input_languages\":\"efi~en~ha~ig~yo\","
933       "\"fmt\":\"%N%n%O%n%A%n%C %Z%n%S\","
934       "\"state_name_type\":\"state\""
935       "}"));
936   region_data.insert(std::make_pair("NI", "{"
937       "\"name\":\"NICARAGUA\","
938       "\"lang\":\"es\","
939       "\"languages\":\"es\","
940       "\"input_languages\":\"es\","
941       "\"fmt\":\"%N%n%O%n%A%n%Z%n%C, %S\","
942       "\"state_name_type\":\"department\""
943       "}"));
944   region_data.insert(std::make_pair("NL", "{"
945       "\"name\":\"NETHERLANDS\","
946       "\"input_languages\":\"nl\","
947       "\"fmt\":\"%O%n%N%n%A%n%Z %C\","
948       "\"require\":\"ACZ\""
949       "}"));
950   region_data.insert(std::make_pair("NO", "{"
951       "\"name\":\"NORWAY\","
952       "\"input_languages\":\"nb~nn\","
953       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
954       "\"require\":\"ACZ\""
955       "}"));
956   region_data.insert(std::make_pair("NP", "{"
957       "\"name\":\"NEPAL\","
958       "\"input_languages\":\"ne\","
959       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
960       "}"));
961   region_data.insert(std::make_pair("NR", "{"
962       "\"name\":\"NAURU CENTRAL PACIFIC\","
963       "\"lang\":\"en\","
964       "\"languages\":\"en\","
965       "\"input_languages\":\"en~na\","
966       "\"fmt\":\"%N%n%O%n%A%n%S\","
967       "\"require\":\"AS\","
968       "\"state_name_type\":\"district\""
969       "}"));
970   region_data.insert(std::make_pair("NU", "{"
971       "\"name\":\"NIUE\","
972       "\"input_languages\":\"en~niu\""
973       "}"));
974   region_data.insert(std::make_pair("NZ", "{"
975       "\"name\":\"NEW ZEALAND\","
976       "\"input_languages\":\"en~mi\","
977       "\"fmt\":\"%N%n%O%n%A%n%C %Z\","
978       "\"require\":\"ACZ\""
979       "}"));
980   region_data.insert(std::make_pair("OM", "{"
981       "\"name\":\"OMAN\","
982       "\"input_languages\":\"ar\","
983       "\"fmt\":\"%N%n%O%n%A%n%Z%n%C\""
984       "}"));
985   region_data.insert(std::make_pair("PA", "{"
986       "\"name\":\"PANAMA (REP.)\","
987       "\"input_languages\":\"es\","
988       "\"fmt\":\"%N%n%O%n%A%n%C%n%S\""
989       "}"));
990   region_data.insert(std::make_pair("PE", "{"
991       "\"name\":\"PERU\","
992       "\"input_languages\":\"es~qu\""
993       "}"));
994   region_data.insert(std::make_pair("PF", "{"
995       "\"name\":\"FRENCH POLYNESIA\","
996       "\"input_languages\":\"fr~ty\","
997       "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\","
998       "\"require\":\"ACSZ\","
999       "\"state_name_type\":\"island\""
1000       "}"));
1001   region_data.insert(std::make_pair("PG", "{"
1002       "\"name\":\"PAPUA NEW GUINEA\","
1003       "\"input_languages\":\"en~ho~tpi\","
1004       "\"fmt\":\"%N%n%O%n%A%n%C %Z %S\","
1005       "\"require\":\"ACS\""
1006       "}"));
1007   region_data.insert(std::make_pair("PH", "{"
1008       "\"name\":\"PHILIPPINES\","
1009       "\"input_languages\":\"en~fil\","
1010       "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
1011       "\"require\":\"AC\""
1012       "}"));
1013   region_data.insert(std::make_pair("PK", "{"
1014       "\"name\":\"PAKISTAN\","
1015       "\"input_languages\":\"en~ur\","
1016       "\"fmt\":\"%N%n%O%n%A%n%C-%Z\""
1017       "}"));
1018   region_data.insert(std::make_pair("PL", "{"
1019       "\"name\":\"POLAND\","
1020       "\"input_languages\":\"pl\","
1021       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
1022       "\"require\":\"ACZ\""
1023       "}"));
1024   region_data.insert(std::make_pair("PM", "{"
1025       "\"name\":\"ST. PIERRE AND MIQUELON\","
1026       "\"input_languages\":\"fr\","
1027       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
1028       "\"require\":\"ACZ\""
1029       "}"));
1030   region_data.insert(std::make_pair("PN", "{"
1031       "\"name\":\"PITCAIRN\","
1032       "\"input_languages\":\"en\","
1033       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
1034       "\"require\":\"ACZ\""
1035       "}"));
1036   region_data.insert(std::make_pair("PR", "{"
1037       "\"name\":\"PUERTO RICO\","
1038       "\"input_languages\":\"en~es\","
1039       "\"fmt\":\"%N%n%O%n%A%n%C PR %Z\","
1040       "\"require\":\"ACZ\","
1041       "\"zip_name_type\":\"zip\""
1042       "}"));
1043   region_data.insert(std::make_pair("PS", "{"
1044       "\"name\":\"PALESTINIAN TERRITORY\","
1045       "\"input_languages\":\"ar\""
1046       "}"));
1047   region_data.insert(std::make_pair("PT", "{"
1048       "\"name\":\"PORTUGAL\","
1049       "\"input_languages\":\"pt\","
1050       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
1051       "\"require\":\"ACZ\""
1052       "}"));
1053   region_data.insert(std::make_pair("PW", "{"
1054       "\"name\":\"PALAU\","
1055       "\"input_languages\":\"en~pau\","
1056       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
1057       "\"require\":\"ACSZ\","
1058       "\"zip_name_type\":\"zip\","
1059       "\"state_name_type\":\"state\""
1060       "}"));
1061   region_data.insert(std::make_pair("PY", "{"
1062       "\"name\":\"PARAGUAY\","
1063       "\"input_languages\":\"es~gn\","
1064       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1065       "}"));
1066   region_data.insert(std::make_pair("QA", "{"
1067       "\"name\":\"QATAR\","
1068       "\"input_languages\":\"ar\""
1069       "}"));
1070   region_data.insert(std::make_pair("RE", "{"
1071       "\"name\":\"REUNION\","
1072       "\"input_languages\":\"fr\","
1073       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
1074       "\"require\":\"ACZ\""
1075       "}"));
1076   region_data.insert(std::make_pair("RO", "{"
1077       "\"name\":\"ROMANIA\","
1078       "\"input_languages\":\"ro\","
1079       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1080       "}"));
1081   region_data.insert(std::make_pair("RS", "{"
1082       "\"name\":\"REPUBLIC OF SERBIA\","
1083       "\"input_languages\":\"sr\","
1084       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1085       "}"));
1086   region_data.insert(std::make_pair("RU", "{"
1087       "\"name\":\"RUSSIAN FEDERATION\","
1088       "\"input_languages\":\"ru\","
1089       "\"fmt\":\"%Z %C  %n%A%n%O%n%N\","
1090       "\"require\":\"ACZ\""
1091       "}"));
1092   region_data.insert(std::make_pair("RW", "{"
1093       "\"name\":\"RWANDA\","
1094       "\"input_languages\":\"en~fr~rw\""
1095       "}"));
1096   region_data.insert(std::make_pair("SA", "{"
1097       "\"name\":\"SAUDI ARABIA\","
1098       "\"input_languages\":\"ar\","
1099       "\"fmt\":\"%N%n%O%n%A%n%C %Z\""
1100       "}"));
1101   region_data.insert(std::make_pair("SB", "{"
1102       "\"name\":\"SOLOMON ISLANDS\","
1103       "\"input_languages\":\"en\""
1104       "}"));
1105   region_data.insert(std::make_pair("SC", "{"
1106       "\"name\":\"SEYCHELLES\","
1107       "\"input_languages\":\"en~fr\","
1108       "\"fmt\":\"%N%n%O%n%A%n%C%n%S\","
1109       "\"state_name_type\":\"island\""
1110       "}"));
1111   region_data.insert(std::make_pair("SE", "{"
1112       "\"name\":\"SWEDEN\","
1113       "\"input_languages\":\"sv\","
1114       "\"fmt\":\"%O%n%N%n%A%nSE-%Z %C\","
1115       "\"require\":\"ACZ\""
1116       "}"));
1117   region_data.insert(std::make_pair("SG", "{"
1118       "\"name\":\"REP. OF SINGAPORE\","
1119       "\"input_languages\":\"en~ms~ta~zh\","
1120       "\"fmt\":\"%N%n%O%n%A%nSINGAPORE %Z\","
1121       "\"require\":\"AZ\""
1122       "}"));
1123   region_data.insert(std::make_pair("SH", "{"
1124       "\"name\":\"SAINT HELENA\","
1125       "\"input_languages\":\"en\","
1126       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
1127       "\"require\":\"ACZ\""
1128       "}"));
1129   region_data.insert(std::make_pair("SI", "{"
1130       "\"name\":\"SLOVENIA\","
1131       "\"input_languages\":\"sl\","
1132       "\"fmt\":\"%N%n%O%n%A%nSI- %Z %C\""
1133       "}"));
1134   region_data.insert(std::make_pair("SJ", "{"
1135       "\"name\":\"SVALBARD AND JAN MAYEN ISLANDS\","
1136       "\"input_languages\":\"nb\","
1137       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
1138       "\"require\":\"ACZ\""
1139       "}"));
1140   region_data.insert(std::make_pair("SK", "{"
1141       "\"name\":\"SLOVAKIA\","
1142       "\"input_languages\":\"sk\","
1143       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1144       "}"));
1145   region_data.insert(std::make_pair("SL", "{"
1146       "\"name\":\"SIERRA LEONE\","
1147       "\"input_languages\":\"en\""
1148       "}"));
1149   region_data.insert(std::make_pair("SM", "{"
1150       "\"name\":\"SAN MARINO\","
1151       "\"input_languages\":\"it\","
1152       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
1153       "\"require\":\"AZ\""
1154       "}"));
1155   region_data.insert(std::make_pair("SN", "{"
1156       "\"name\":\"SENEGAL\","
1157       "\"input_languages\":\"fr~wo\","
1158       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1159       "}"));
1160   region_data.insert(std::make_pair("SO", "{"
1161       "\"name\":\"SOMALIA\","
1162       "\"lang\":\"so\","
1163       "\"languages\":\"so\","
1164       "\"input_languages\":\"ar~so\","
1165       "\"fmt\":\"%N%n%O%n%A%n%C, %S %Z\","
1166       "\"require\":\"ACS\""
1167       "}"));
1168   region_data.insert(std::make_pair("SR", "{"
1169       "\"name\":\"SURINAME\","
1170       "\"lang\":\"nl\","
1171       "\"languages\":\"nl\","
1172       "\"input_languages\":\"nl\","
1173       "\"fmt\":\"%N%n%O%n%A%n%C %X%n%S\""
1174       "}"));
1175   region_data.insert(std::make_pair("ST", "{"
1176       "\"name\":\"SAO TOME AND PRINCIPE\","
1177       "\"input_languages\":\"pt\","
1178       "\"fmt\":\"%N%n%O%n%A%n%C %X\""
1179       "}"));
1180   region_data.insert(std::make_pair("SV", "{"
1181       "\"name\":\"EL SALVADOR\","
1182       "\"lang\":\"es\","
1183       "\"languages\":\"es\","
1184       "\"input_languages\":\"es\","
1185       "\"fmt\":\"%N%n%O%n%A%n%Z-%C%n%S\","
1186       "\"require\":\"ACS\""
1187       "}"));
1188   region_data.insert(std::make_pair("SZ", "{"
1189       "\"name\":\"SWAZILAND\","
1190       "\"input_languages\":\"en~ss\","
1191       "\"fmt\":\"%N%n%O%n%A%n%C%n%Z\""
1192       "}"));
1193   region_data.insert(std::make_pair("TC", "{"
1194       "\"name\":\"TURKS AND CAICOS ISLANDS\","
1195       "\"input_languages\":\"en\","
1196       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%Z\","
1197       "\"require\":\"ACZ\""
1198       "}"));
1199   region_data.insert(std::make_pair("TD", "{"
1200       "\"name\":\"CHAD\","
1201       "\"input_languages\":\"ar~fr\""
1202       "}"));
1203   region_data.insert(std::make_pair("TF", "{"
1204       "\"name\":\"FRENCH SOUTHERN TERRITORIES\""
1205       "}"));
1206   region_data.insert(std::make_pair("TG", "{"
1207       "\"name\":\"TOGO\","
1208       "\"input_languages\":\"fr\""
1209       "}"));
1210   region_data.insert(std::make_pair("TH", "{"
1211       "\"name\":\"THAILAND\","
1212       "\"lang\":\"th\","
1213       "\"languages\":\"th\","
1214       "\"input_languages\":\"th\","
1215       "\"fmt\":\"%N%n%O%n%A%n%C%n%S %Z\","
1216       "\"lfmt\":\"%N%n%O%n%A%n%C%n%S %Z\""
1217       "}"));
1218   region_data.insert(std::make_pair("TJ", "{"
1219       "\"name\":\"TAJIKISTAN\","
1220       "\"input_languages\":\"tg\","
1221       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1222       "}"));
1223   region_data.insert(std::make_pair("TK", "{"
1224       "\"name\":\"TOKELAU\","
1225       "\"input_languages\":\"en~tkl\""
1226       "}"));
1227   region_data.insert(std::make_pair("TL", "{"
1228       "\"name\":\"TIMOR-LESTE\","
1229       "\"input_languages\":\"pt~tet\""
1230       "}"));
1231   region_data.insert(std::make_pair("TM", "{"
1232       "\"name\":\"TURKMENISTAN\","
1233       "\"input_languages\":\"tk\","
1234       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1235       "}"));
1236   region_data.insert(std::make_pair("TN", "{"
1237       "\"name\":\"TUNISIA\","
1238       "\"input_languages\":\"ar~fr\","
1239       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1240       "}"));
1241   region_data.insert(std::make_pair("TO", "{"
1242       "\"name\":\"TONGA\","
1243       "\"input_languages\":\"en~to\""
1244       "}"));
1245   region_data.insert(std::make_pair("TR", "{"
1246       "\"name\":\"TURKEY\","
1247       "\"input_languages\":\"tr\","
1248       "\"fmt\":\"%N%n%O%n%A%n%Z %C/%S\","
1249       "\"require\":\"ACZ\""
1250       "}"));
1251   region_data.insert(std::make_pair("TT", "{"
1252       "\"name\":\"TRINIDAD AND TOBAGO\","
1253       "\"input_languages\":\"en\""
1254       "}"));
1255   region_data.insert(std::make_pair("TV", "{"
1256       "\"name\":\"TUVALU\","
1257       "\"lang\":\"tyv\","
1258       "\"languages\":\"tyv\","
1259       "\"input_languages\":\"en~tvl\","
1260       "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%S\","
1261       "\"state_name_type\":\"island\""
1262       "}"));
1263   region_data.insert(std::make_pair("TW", "{"
1264       "\"name\":\"TAIWAN\","
1265       "\"lang\":\"zh-hant\","
1266       "\"languages\":\"zh-hant\","
1267       "\"input_languages\":\"zh\","
1268       "\"fmt\":\"%Z%n%S%C%n%A%n%O%n%N\","
1269       "\"lfmt\":\"%N%n%O%n%A%n%C, %S %Z\","
1270       "\"require\":\"ACSZ\","
1271       "\"state_name_type\":\"county\""
1272       "}"));
1273   region_data.insert(std::make_pair("TZ", "{"
1274       "\"name\":\"TANZANIA (UNITED REP.)\","
1275       "\"input_languages\":\"en~sw\""
1276       "}"));
1277   region_data.insert(std::make_pair("UA", "{"
1278       "\"name\":\"UKRAINE\","
1279       "\"input_languages\":\"ru~uk\","
1280       "\"fmt\":\"%Z %C%n%A%n%O%n%N\""
1281       "}"));
1282   region_data.insert(std::make_pair("UG", "{"
1283       "\"name\":\"UGANDA\","
1284       "\"input_languages\":\"en~sw\""
1285       "}"));
1286   // NOTE: The fmt value for UM and US differs from the i18napis fmt by the
1287   // insertion of a comma separating city and state.
1288   region_data.insert(std::make_pair("UM", "{"
1289       "\"name\":\"UNITED STATES MINOR OUTLYING ISLANDS\","
1290       "\"input_languages\":\"en\","
1291       "\"fmt\":\"%N%n%O%n%A%n%C, %S %Z\","
1292       "\"require\":\"ACS\","
1293       "\"zip_name_type\":\"zip\","
1294       "\"state_name_type\":\"state\""
1295       "}"));
1296   region_data.insert(std::make_pair("US", "{"
1297       "\"name\":\"UNITED STATES\","
1298       "\"lang\":\"en\","
1299       "\"languages\":\"en\","
1300       "\"input_languages\":\"en\","
1301       "\"fmt\":\"%N%n%O%n%A%n%C, %S %Z\","
1302       "\"require\":\"ACSZ\","
1303       "\"zip_name_type\":\"zip\","
1304       "\"state_name_type\":\"state\""
1305       "}"));
1306   region_data.insert(std::make_pair("UY", "{"
1307       "\"name\":\"URUGUAY\","
1308       "\"lang\":\"es\","
1309       "\"languages\":\"es\","
1310       "\"input_languages\":\"es\","
1311       "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\""
1312       "}"));
1313   region_data.insert(std::make_pair("UZ", "{"
1314       "\"name\":\"UZBEKISTAN\","
1315       "\"input_languages\":\"uz\","
1316       "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\""
1317       "}"));
1318   region_data.insert(std::make_pair("VA", "{"
1319       "\"name\":\"VATICAN\","
1320       "\"input_languages\":\"la\","
1321       "\"fmt\":\"%N%n%O%n%A%n%Z %C\""
1322       "}"));
1323   region_data.insert(std::make_pair("VC", "{"
1324       "\"name\":\"SAINT VINCENT AND THE GRENADINES (ANTILLES)\","
1325       "\"input_languages\":\"en\""
1326       "}"));
1327   region_data.insert(std::make_pair("VE", "{"
1328       "\"name\":\"VENEZUELA\","
1329       "\"lang\":\"es\","
1330       "\"languages\":\"es\","
1331       "\"input_languages\":\"es\","
1332       "\"fmt\":\"%N%n%O%n%A%n%C %Z, %S\","
1333       "\"require\":\"ACS\""
1334       "}"));
1335   region_data.insert(std::make_pair("VG", "{"
1336       "\"name\":\"VIRGIN ISLANDS (BRITISH)\","
1337       "\"input_languages\":\"en\","
1338       "\"require\":\"A\""
1339       "}"));
1340   region_data.insert(std::make_pair("VI", "{"
1341       "\"name\":\"VIRGIN ISLANDS (U.S.)\","
1342       "\"input_languages\":\"en\","
1343       "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
1344       "\"require\":\"ACSZ\","
1345       "\"zip_name_type\":\"zip\","
1346       "\"state_name_type\":\"state\""
1347       "}"));
1348   region_data.insert(std::make_pair("VN", "{"
1349       "\"name\":\"VIET NAM\","
1350       "\"lang\":\"vi\","
1351       "\"languages\":\"vi\","
1352       "\"input_languages\":\"vi\","
1353       "\"fmt\":\"%N%n%O%n%A%n%C%n%S\","
1354       "\"lfmt\":\"%N%n%O%n%A%n%C%n%S\","
1355       "\"require\":\"AC\""
1356       "}"));
1357   region_data.insert(std::make_pair("VU", "{"
1358       "\"name\":\"VANUATU\","
1359       "\"input_languages\":\"bi~en~fr\""
1360       "}"));
1361   region_data.insert(std::make_pair("WF", "{"
1362       "\"name\":\"WALLIS AND FUTUNA ISLANDS\","
1363       "\"input_languages\":\"fr\","
1364       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
1365       "\"require\":\"ACZ\""
1366       "}"));
1367   region_data.insert(std::make_pair("WS", "{"
1368       "\"name\":\"SAMOA\","
1369       "\"input_languages\":\"en~sm\""
1370       "}"));
1371   region_data.insert(std::make_pair("YE", "{"
1372       "\"name\":\"YEMEN\","
1373       "\"input_languages\":\"ar\","
1374       "\"require\":\"AC\""
1375       "}"));
1376   region_data.insert(std::make_pair("YT", "{"
1377       "\"name\":\"MAYOTTE\","
1378       "\"input_languages\":\"fr\","
1379       "\"fmt\":\"%O%n%N%n%A%n%Z %C %X\","
1380       "\"require\":\"ACZ\""
1381       "}"));
1382   region_data.insert(std::make_pair("ZA", "{"
1383       "\"name\":\"SOUTH AFRICA\","
1384       "\"input_languages\":\"af~en~nr~nso~ss~st~tn~ts~ve~xh~zu\","
1385       "\"fmt\":\"%N%n%O%n%A%n%C%n%Z\","
1386       "\"require\":\"ACZ\""
1387       "}"));
1388   region_data.insert(std::make_pair("ZM", "{"
1389       "\"name\":\"ZAMBIA\","
1390       "\"input_languages\":\"en\","
1391       "\"fmt\":\"%N%n%O%n%A%n%Z %C\","
1392       "\"require\":\"AC\""
1393       "}"));
1394   region_data.insert(std::make_pair("ZW", "{"
1395       "\"name\":\"ZIMBABWE\","
1396       "\"input_languages\":\"en~nd~sn\""
1397       "}"));
1398   return region_data;
1399 }
1400
1401 const std::map<std::string, std::string>& GetAllRegionData() {
1402   static const std::map<std::string, std::string> kRegionData(InitRegionData());
1403   return kRegionData;
1404 }
1405
1406 struct SelectFirst {
1407   template <typename Pair>
1408   const typename Pair::first_type& operator()(const Pair& pair) const {
1409     return pair.first;
1410   }
1411 };
1412
1413 std::vector<std::string> InitRegionCodes() {
1414   std::vector<std::string> region_codes(GetAllRegionData().size());
1415   std::transform(GetAllRegionData().begin(), GetAllRegionData().end(),
1416                  region_codes.begin(), SelectFirst());
1417   return region_codes;
1418 }
1419
1420 }  // namespace
1421
1422 // static
1423 const std::vector<std::string>& RegionDataConstants::GetRegionCodes() {
1424   static const std::vector<std::string> kRegionCodes(InitRegionCodes());
1425   return kRegionCodes;
1426 }
1427
1428 // static
1429 const std::string& RegionDataConstants::GetRegionData(
1430     const std::string& region_code) {
1431   static const std::string kEmptyString;
1432   std::map<std::string, std::string>::const_iterator it =
1433       GetAllRegionData().find(region_code);
1434   return it != GetAllRegionData().end() ? it->second : kEmptyString;
1435 }
1436
1437 // static
1438 const std::string& RegionDataConstants::GetDefaultRegionData() {
1439   static const std::string kDefaultRegionData(
1440       "{"
1441       "\"fmt\":\"%N%n%O%n%A%n%C\","
1442       "\"require\":\"AC\","
1443       "\"state_name_type\":\"province\","
1444       "\"zip_name_type\":\"postal\""
1445       "}");
1446   return kDefaultRegionData;
1447 }
1448
1449 // static
1450 const std::string& RegionDataConstants::GetLanguageCompactLineSeparator(
1451     const std::string& language_code) {
1452   static const std::string kEmptyString;
1453   static const std::string kArabicSeparator =  "، ";
1454   static const std::string kSpace = " ";
1455   static const std::string kCommaAndSpace = ", ";
1456   if (language_code == "ja" ||
1457       language_code == "zh" ||
1458       language_code == "zh-hant" ||
1459       language_code == "zh-hans") {
1460     return kEmptyString;
1461   }
1462
1463   if (language_code == "ar" ||
1464       language_code == "cjm" ||
1465       language_code == "doi" ||
1466       language_code == "fa" ||
1467       language_code == "lah" ||
1468       language_code == "prd" ||
1469       language_code == "ps" ||
1470       language_code == "swb" ||
1471       language_code == "ug" ||
1472       language_code == "ur") {
1473     return kArabicSeparator;
1474   }
1475
1476   if (language_code == "ko" ||
1477       language_code == "kdt" ||
1478       language_code == "lcp" ||
1479       language_code == "lwl" ||
1480       language_code == "th" ||
1481       language_code == "tts") {
1482     return kSpace;
1483   }
1484
1485   return kCommaAndSpace;
1486 }
1487
1488 }  // namespace addressinput
1489 }  // namespace i18n