carmen 0.2.13 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (873) hide show
  1. data/CHANGELOG.md +7 -0
  2. data/MIT-LICENSE +15 -2
  3. data/README.md +176 -0
  4. data/iso_data/world.yml +997 -0
  5. data/iso_data/world/ad.yml +15 -0
  6. data/iso_data/world/ae.yml +15 -0
  7. data/iso_data/world/af.yml +69 -0
  8. data/iso_data/world/ag.yml +17 -0
  9. data/iso_data/world/al.yml +25 -0
  10. data/iso_data/world/al/01.yml +7 -0
  11. data/iso_data/world/al/02.yml +5 -0
  12. data/iso_data/world/al/03.yml +9 -0
  13. data/iso_data/world/al/04.yml +7 -0
  14. data/iso_data/world/al/05.yml +7 -0
  15. data/iso_data/world/al/06.yml +9 -0
  16. data/iso_data/world/al/07.yml +7 -0
  17. data/iso_data/world/al/08.yml +7 -0
  18. data/iso_data/world/al/09.yml +7 -0
  19. data/iso_data/world/al/10.yml +7 -0
  20. data/iso_data/world/al/11.yml +5 -0
  21. data/iso_data/world/al/12.yml +7 -0
  22. data/iso_data/world/am.yml +23 -0
  23. data/iso_data/world/ao.yml +37 -0
  24. data/iso_data/world/ar.yml +47 -0
  25. data/iso_data/world/at.yml +19 -0
  26. data/iso_data/world/au.yml +17 -0
  27. data/iso_data/world/az.yml +143 -0
  28. data/iso_data/world/az/nx.yml +13 -0
  29. data/iso_data/world/ba.yml +7 -0
  30. data/iso_data/world/ba/bih.yml +21 -0
  31. data/iso_data/world/bb.yml +23 -0
  32. data/iso_data/world/bd.yml +13 -0
  33. data/iso_data/world/bd/1.yml +13 -0
  34. data/iso_data/world/bd/2.yml +23 -0
  35. data/iso_data/world/bd/3.yml +35 -0
  36. data/iso_data/world/bd/4.yml +21 -0
  37. data/iso_data/world/bd/5.yml +33 -0
  38. data/iso_data/world/bd/6.yml +9 -0
  39. data/iso_data/world/be.yml +23 -0
  40. data/iso_data/world/bf.yml +27 -0
  41. data/iso_data/world/bf/01.yml +13 -0
  42. data/iso_data/world/bf/02.yml +5 -0
  43. data/iso_data/world/bf/03.yml +3 -0
  44. data/iso_data/world/bf/04.yml +7 -0
  45. data/iso_data/world/bf/05.yml +7 -0
  46. data/iso_data/world/bf/06.yml +9 -0
  47. data/iso_data/world/bf/07.yml +7 -0
  48. data/iso_data/world/bf/08.yml +11 -0
  49. data/iso_data/world/bf/09.yml +7 -0
  50. data/iso_data/world/bf/10.yml +9 -0
  51. data/iso_data/world/bf/11.yml +7 -0
  52. data/iso_data/world/bf/12.yml +9 -0
  53. data/iso_data/world/bf/13.yml +9 -0
  54. data/iso_data/world/bg.yml +57 -0
  55. data/iso_data/world/bh.yml +11 -0
  56. data/iso_data/world/bi.yml +33 -0
  57. data/iso_data/world/bj.yml +25 -0
  58. data/iso_data/world/bl.yml +1 -0
  59. data/iso_data/world/bn.yml +9 -0
  60. data/iso_data/world/bo.yml +19 -0
  61. data/iso_data/world/br.yml +57 -0
  62. data/iso_data/world/bs.yml +65 -0
  63. data/iso_data/world/bt.yml +41 -0
  64. data/iso_data/world/bw.yml +21 -0
  65. data/iso_data/world/by.yml +15 -0
  66. data/iso_data/world/bz.yml +13 -0
  67. data/iso_data/world/ca.yml +27 -0
  68. data/iso_data/world/cd.yml +25 -0
  69. data/iso_data/world/cf.yml +35 -0
  70. data/iso_data/world/cg.yml +23 -0
  71. data/iso_data/world/ch.yml +53 -0
  72. data/iso_data/world/ci.yml +39 -0
  73. data/iso_data/world/cl.yml +31 -0
  74. data/iso_data/world/cm.yml +21 -0
  75. data/iso_data/world/cn.yml +69 -0
  76. data/iso_data/world/co.yml +67 -0
  77. data/iso_data/world/cr.yml +15 -0
  78. data/iso_data/world/cu.yml +31 -0
  79. data/iso_data/world/cv.yml +5 -0
  80. data/iso_data/world/cv/b.yml +15 -0
  81. data/iso_data/world/cv/s.yml +31 -0
  82. data/iso_data/world/cy.yml +13 -0
  83. data/iso_data/world/cz.yml +29 -0
  84. data/iso_data/world/cz/jc.yml +15 -0
  85. data/iso_data/world/cz/jm.yml +15 -0
  86. data/iso_data/world/cz/ka.yml +7 -0
  87. data/iso_data/world/cz/kr.yml +11 -0
  88. data/iso_data/world/cz/li.yml +9 -0
  89. data/iso_data/world/cz/mo.yml +13 -0
  90. data/iso_data/world/cz/ol.yml +11 -0
  91. data/iso_data/world/cz/pa.yml +9 -0
  92. data/iso_data/world/cz/pl.yml +15 -0
  93. data/iso_data/world/cz/pr.yml +31 -0
  94. data/iso_data/world/cz/st.yml +25 -0
  95. data/iso_data/world/cz/us.yml +15 -0
  96. data/iso_data/world/cz/vy.yml +11 -0
  97. data/iso_data/world/cz/zl.yml +9 -0
  98. data/iso_data/world/de.yml +33 -0
  99. data/iso_data/world/dj.yml +13 -0
  100. data/iso_data/world/dk.yml +11 -0
  101. data/iso_data/world/dm.yml +21 -0
  102. data/iso_data/world/do.yml +61 -0
  103. data/iso_data/world/dz.yml +97 -0
  104. data/iso_data/world/ec.yml +49 -0
  105. data/iso_data/world/ee.yml +31 -0
  106. data/iso_data/world/eg.yml +57 -0
  107. data/iso_data/world/er.yml +13 -0
  108. data/iso_data/world/es.yml +39 -0
  109. data/iso_data/world/es/an.yml +17 -0
  110. data/iso_data/world/es/ar.yml +7 -0
  111. data/iso_data/world/es/as.yml +3 -0
  112. data/iso_data/world/es/cb.yml +3 -0
  113. data/iso_data/world/es/cl.yml +19 -0
  114. data/iso_data/world/es/cm.yml +11 -0
  115. data/iso_data/world/es/cn.yml +5 -0
  116. data/iso_data/world/es/ct.yml +9 -0
  117. data/iso_data/world/es/ex.yml +5 -0
  118. data/iso_data/world/es/ga.yml +9 -0
  119. data/iso_data/world/es/ib.yml +3 -0
  120. data/iso_data/world/es/mc.yml +3 -0
  121. data/iso_data/world/es/md.yml +3 -0
  122. data/iso_data/world/es/nc.yml +3 -0
  123. data/iso_data/world/es/pv.yml +7 -0
  124. data/iso_data/world/es/ri.yml +3 -0
  125. data/iso_data/world/es/vc.yml +7 -0
  126. data/iso_data/world/et.yml +23 -0
  127. data/iso_data/world/fi.yml +13 -0
  128. data/iso_data/world/fj.yml +11 -0
  129. data/iso_data/world/fm.yml +9 -0
  130. data/iso_data/world/fr.yml +71 -0
  131. data/iso_data/world/fr/a.yml +5 -0
  132. data/iso_data/world/fr/b.yml +11 -0
  133. data/iso_data/world/fr/c.yml +9 -0
  134. data/iso_data/world/fr/d.yml +9 -0
  135. data/iso_data/world/fr/e.yml +9 -0
  136. data/iso_data/world/fr/f.yml +13 -0
  137. data/iso_data/world/fr/g.yml +9 -0
  138. data/iso_data/world/fr/h.yml +5 -0
  139. data/iso_data/world/fr/i.yml +9 -0
  140. data/iso_data/world/fr/j.yml +17 -0
  141. data/iso_data/world/fr/k.yml +11 -0
  142. data/iso_data/world/fr/l.yml +7 -0
  143. data/iso_data/world/fr/m.yml +9 -0
  144. data/iso_data/world/fr/n.yml +17 -0
  145. data/iso_data/world/fr/o.yml +5 -0
  146. data/iso_data/world/fr/p.yml +7 -0
  147. data/iso_data/world/fr/q.yml +5 -0
  148. data/iso_data/world/fr/r.yml +11 -0
  149. data/iso_data/world/fr/s.yml +7 -0
  150. data/iso_data/world/fr/t.yml +9 -0
  151. data/iso_data/world/fr/u.yml +13 -0
  152. data/iso_data/world/fr/v.yml +17 -0
  153. data/iso_data/world/ga.yml +19 -0
  154. data/iso_data/world/gb.yml +475 -0
  155. data/iso_data/world/gd.yml +15 -0
  156. data/iso_data/world/ge.yml +25 -0
  157. data/iso_data/world/gg.yml +1 -0
  158. data/iso_data/world/gh.yml +21 -0
  159. data/iso_data/world/gl.yml +9 -0
  160. data/iso_data/world/gm.yml +13 -0
  161. data/iso_data/world/gn.yml +17 -0
  162. data/iso_data/world/gn/b.yml +11 -0
  163. data/iso_data/world/gn/d.yml +11 -0
  164. data/iso_data/world/gn/f.yml +9 -0
  165. data/iso_data/world/gn/k.yml +11 -0
  166. data/iso_data/world/gn/l.yml +11 -0
  167. data/iso_data/world/gn/m.yml +7 -0
  168. data/iso_data/world/gn/n.yml +13 -0
  169. data/iso_data/world/gq.yml +19 -0
  170. data/iso_data/world/gr.yml +29 -0
  171. data/iso_data/world/gr/a.yml +11 -0
  172. data/iso_data/world/gr/b.yml +15 -0
  173. data/iso_data/world/gr/c.yml +9 -0
  174. data/iso_data/world/gr/d.yml +7 -0
  175. data/iso_data/world/gr/e.yml +9 -0
  176. data/iso_data/world/gr/f.yml +11 -0
  177. data/iso_data/world/gr/g.yml +7 -0
  178. data/iso_data/world/gr/h.yml +11 -0
  179. data/iso_data/world/gr/i.yml +3 -0
  180. data/iso_data/world/gr/j.yml +11 -0
  181. data/iso_data/world/gr/k.yml +7 -0
  182. data/iso_data/world/gr/l.yml +5 -0
  183. data/iso_data/world/gr/m.yml +9 -0
  184. data/iso_data/world/gt.yml +45 -0
  185. data/iso_data/world/gw.yml +9 -0
  186. data/iso_data/world/gw/l.yml +5 -0
  187. data/iso_data/world/gw/n.yml +7 -0
  188. data/iso_data/world/gw/s.yml +7 -0
  189. data/iso_data/world/gy.yml +21 -0
  190. data/iso_data/world/hn.yml +37 -0
  191. data/iso_data/world/hr.yml +43 -0
  192. data/iso_data/world/ht.yml +19 -0
  193. data/iso_data/world/hu.yml +87 -0
  194. data/iso_data/world/id.yml +15 -0
  195. data/iso_data/world/id/ij.yml +5 -0
  196. data/iso_data/world/id/jw.yml +13 -0
  197. data/iso_data/world/id/ka.yml +9 -0
  198. data/iso_data/world/id/ma.yml +5 -0
  199. data/iso_data/world/id/nu.yml +7 -0
  200. data/iso_data/world/id/sl.yml +13 -0
  201. data/iso_data/world/id/sm.yml +21 -0
  202. data/iso_data/world/ie.yml +9 -0
  203. data/iso_data/world/ie/c.yml +11 -0
  204. data/iso_data/world/ie/l.yml +25 -0
  205. data/iso_data/world/ie/m.yml +13 -0
  206. data/iso_data/world/ie/u.yml +7 -0
  207. data/iso_data/world/il.yml +13 -0
  208. data/iso_data/world/im.yml +1 -0
  209. data/iso_data/world/in.yml +71 -0
  210. data/iso_data/world/iq.yml +37 -0
  211. data/iso_data/world/ir.yml +61 -0
  212. data/iso_data/world/is.yml +19 -0
  213. data/iso_data/world/it.yml +41 -0
  214. data/iso_data/world/it/21.yml +17 -0
  215. data/iso_data/world/it/23.yml +3 -0
  216. data/iso_data/world/it/25.yml +25 -0
  217. data/iso_data/world/it/32.yml +5 -0
  218. data/iso_data/world/it/34.yml +15 -0
  219. data/iso_data/world/it/36.yml +9 -0
  220. data/iso_data/world/it/42.yml +9 -0
  221. data/iso_data/world/it/45.yml +19 -0
  222. data/iso_data/world/it/52.yml +21 -0
  223. data/iso_data/world/it/55.yml +5 -0
  224. data/iso_data/world/it/57.yml +11 -0
  225. data/iso_data/world/it/62.yml +11 -0
  226. data/iso_data/world/it/65.yml +9 -0
  227. data/iso_data/world/it/67.yml +5 -0
  228. data/iso_data/world/it/72.yml +11 -0
  229. data/iso_data/world/it/75.yml +13 -0
  230. data/iso_data/world/it/77.yml +5 -0
  231. data/iso_data/world/it/78.yml +11 -0
  232. data/iso_data/world/it/82.yml +19 -0
  233. data/iso_data/world/it/88.yml +17 -0
  234. data/iso_data/world/je.yml +1 -0
  235. data/iso_data/world/jm.yml +29 -0
  236. data/iso_data/world/jo.yml +25 -0
  237. data/iso_data/world/jp.yml +95 -0
  238. data/iso_data/world/ke.yml +15 -0
  239. data/iso_data/world/kg.yml +17 -0
  240. data/iso_data/world/kh.yml +49 -0
  241. data/iso_data/world/ki.yml +7 -0
  242. data/iso_data/world/km.yml +7 -0
  243. data/iso_data/world/kn.yml +5 -0
  244. data/iso_data/world/kn/k.yml +19 -0
  245. data/iso_data/world/kn/n.yml +11 -0
  246. data/iso_data/world/kp.yml +23 -0
  247. data/iso_data/world/kr.yml +33 -0
  248. data/iso_data/world/kw.yml +11 -0
  249. data/iso_data/world/kz.yml +33 -0
  250. data/iso_data/world/la.yml +37 -0
  251. data/iso_data/world/lb.yml +17 -0
  252. data/iso_data/world/li.yml +23 -0
  253. data/iso_data/world/lk.yml +19 -0
  254. data/iso_data/world/lk/1.yml +7 -0
  255. data/iso_data/world/lk/2.yml +7 -0
  256. data/iso_data/world/lk/3.yml +7 -0
  257. data/iso_data/world/lk/4.yml +11 -0
  258. data/iso_data/world/lk/5.yml +7 -0
  259. data/iso_data/world/lk/6.yml +5 -0
  260. data/iso_data/world/lk/7.yml +5 -0
  261. data/iso_data/world/lk/8.yml +5 -0
  262. data/iso_data/world/lk/9.yml +5 -0
  263. data/iso_data/world/lr.yml +27 -0
  264. data/iso_data/world/ls.yml +21 -0
  265. data/iso_data/world/lt.yml +21 -0
  266. data/iso_data/world/lu.yml +7 -0
  267. data/iso_data/world/lv.yml +67 -0
  268. data/iso_data/world/ly.yml +47 -0
  269. data/iso_data/world/ma.yml +33 -0
  270. data/iso_data/world/ma/01.yml +11 -0
  271. data/iso_data/world/ma/02.yml +5 -0
  272. data/iso_data/world/ma/03.yml +7 -0
  273. data/iso_data/world/ma/04.yml +13 -0
  274. data/iso_data/world/ma/05.yml +9 -0
  275. data/iso_data/world/ma/06.yml +11 -0
  276. data/iso_data/world/ma/07.yml +9 -0
  277. data/iso_data/world/ma/08.yml +9 -0
  278. data/iso_data/world/ma/09.yml +7 -0
  279. data/iso_data/world/ma/10.yml +5 -0
  280. data/iso_data/world/ma/11.yml +15 -0
  281. data/iso_data/world/ma/12.yml +5 -0
  282. data/iso_data/world/ma/13.yml +15 -0
  283. data/iso_data/world/ma/14.yml +11 -0
  284. data/iso_data/world/ma/15.yml +5 -0
  285. data/iso_data/world/ma/16.yml +5 -0
  286. data/iso_data/world/md.yml +75 -0
  287. data/iso_data/world/me.yml +43 -0
  288. data/iso_data/world/mf.yml +1 -0
  289. data/iso_data/world/mg.yml +13 -0
  290. data/iso_data/world/mh.yml +5 -0
  291. data/iso_data/world/mh/l.yml +29 -0
  292. data/iso_data/world/mh/t.yml +21 -0
  293. data/iso_data/world/mk.yml +169 -0
  294. data/iso_data/world/ml.yml +19 -0
  295. data/iso_data/world/mm.yml +29 -0
  296. data/iso_data/world/mn.yml +45 -0
  297. data/iso_data/world/mo.yml +1 -0
  298. data/iso_data/world/mr.yml +27 -0
  299. data/iso_data/world/mt.yml +137 -0
  300. data/iso_data/world/mu.yml +35 -0
  301. data/iso_data/world/mv.yml +41 -0
  302. data/iso_data/world/mw.yml +7 -0
  303. data/iso_data/world/mw/c.yml +19 -0
  304. data/iso_data/world/mw/n.yml +15 -0
  305. data/iso_data/world/mw/s.yml +25 -0
  306. data/iso_data/world/mx.yml +65 -0
  307. data/iso_data/world/my.yml +33 -0
  308. data/iso_data/world/mz.yml +23 -0
  309. data/iso_data/world/na.yml +27 -0
  310. data/iso_data/world/ne.yml +17 -0
  311. data/iso_data/world/ng.yml +75 -0
  312. data/iso_data/world/ni.yml +35 -0
  313. data/iso_data/world/nl.yml +25 -0
  314. data/iso_data/world/no.yml +43 -0
  315. data/iso_data/world/np.yml +11 -0
  316. data/iso_data/world/np/1.yml +7 -0
  317. data/iso_data/world/np/2.yml +7 -0
  318. data/iso_data/world/np/3.yml +7 -0
  319. data/iso_data/world/np/4.yml +7 -0
  320. data/iso_data/world/np/5.yml +5 -0
  321. data/iso_data/world/nr.yml +29 -0
  322. data/iso_data/world/nz.yml +7 -0
  323. data/iso_data/world/nz/n.yml +19 -0
  324. data/iso_data/world/nz/s.yml +15 -0
  325. data/iso_data/world/om.yml +19 -0
  326. data/iso_data/world/pa.yml +25 -0
  327. data/iso_data/world/pe.yml +53 -0
  328. data/iso_data/world/pg.yml +41 -0
  329. data/iso_data/world/ph.yml +35 -0
  330. data/iso_data/world/ph/01.yml +9 -0
  331. data/iso_data/world/ph/02.yml +11 -0
  332. data/iso_data/world/ph/03.yml +15 -0
  333. data/iso_data/world/ph/05.yml +13 -0
  334. data/iso_data/world/ph/06.yml +13 -0
  335. data/iso_data/world/ph/07.yml +9 -0
  336. data/iso_data/world/ph/08.yml +13 -0
  337. data/iso_data/world/ph/09.yml +9 -0
  338. data/iso_data/world/ph/10.yml +9 -0
  339. data/iso_data/world/ph/11.yml +13 -0
  340. data/iso_data/world/ph/12.yml +7 -0
  341. data/iso_data/world/ph/13.yml +11 -0
  342. data/iso_data/world/ph/14.yml +9 -0
  343. data/iso_data/world/ph/15.yml +13 -0
  344. data/iso_data/world/ph/40.yml +11 -0
  345. data/iso_data/world/ph/41.yml +11 -0
  346. data/iso_data/world/pk.yml +17 -0
  347. data/iso_data/world/pl.yml +33 -0
  348. data/iso_data/world/ps.yml +1 -0
  349. data/iso_data/world/pt.yml +41 -0
  350. data/iso_data/world/pw.yml +33 -0
  351. data/iso_data/world/py.yml +37 -0
  352. data/iso_data/world/qa.yml +19 -0
  353. data/iso_data/world/ro.yml +85 -0
  354. data/iso_data/world/rs.yml +41 -0
  355. data/iso_data/world/rs/km.yml +11 -0
  356. data/iso_data/world/rs/vo.yml +15 -0
  357. data/iso_data/world/ru.yml +167 -0
  358. data/iso_data/world/rw.yml +11 -0
  359. data/iso_data/world/sa.yml +27 -0
  360. data/iso_data/world/sb.yml +21 -0
  361. data/iso_data/world/sc.yml +51 -0
  362. data/iso_data/world/sd.yml +51 -0
  363. data/iso_data/world/se.yml +43 -0
  364. data/iso_data/world/sg.yml +11 -0
  365. data/iso_data/world/sh.yml +1 -0
  366. data/iso_data/world/si.yml +421 -0
  367. data/iso_data/world/sk.yml +17 -0
  368. data/iso_data/world/sl.yml +9 -0
  369. data/iso_data/world/sm.yml +19 -0
  370. data/iso_data/world/sn.yml +29 -0
  371. data/iso_data/world/so.yml +37 -0
  372. data/iso_data/world/sr.yml +21 -0
  373. data/iso_data/world/st.yml +5 -0
  374. data/iso_data/world/sv.yml +29 -0
  375. data/iso_data/world/sy.yml +29 -0
  376. data/iso_data/world/sz.yml +9 -0
  377. data/iso_data/world/td.yml +45 -0
  378. data/iso_data/world/tg.yml +11 -0
  379. data/iso_data/world/th.yml +155 -0
  380. data/iso_data/world/tj.yml +7 -0
  381. data/iso_data/world/tl.yml +27 -0
  382. data/iso_data/world/tm.yml +13 -0
  383. data/iso_data/world/tn.yml +49 -0
  384. data/iso_data/world/to.yml +11 -0
  385. data/iso_data/world/tr.yml +163 -0
  386. data/iso_data/world/tt.yml +33 -0
  387. data/iso_data/world/tv.yml +17 -0
  388. data/iso_data/world/tw.yml +47 -0
  389. data/iso_data/world/tz.yml +53 -0
  390. data/iso_data/world/ua.yml +55 -0
  391. data/iso_data/world/ug.yml +9 -0
  392. data/iso_data/world/ug/c.yml +33 -0
  393. data/iso_data/world/ug/e.yml +49 -0
  394. data/iso_data/world/ug/n.yml +43 -0
  395. data/iso_data/world/ug/w.yml +39 -0
  396. data/iso_data/world/um.yml +19 -0
  397. data/iso_data/world/us.yml +115 -0
  398. data/iso_data/world/uy.yml +39 -0
  399. data/iso_data/world/uz.yml +29 -0
  400. data/iso_data/world/vc.yml +13 -0
  401. data/iso_data/world/ve.yml +51 -0
  402. data/iso_data/world/vn.yml +129 -0
  403. data/iso_data/world/vu.yml +13 -0
  404. data/iso_data/world/ws.yml +23 -0
  405. data/iso_data/world/ye.yml +41 -0
  406. data/iso_data/world/za.yml +19 -0
  407. data/iso_data/world/zm.yml +19 -0
  408. data/iso_data/world/zw.yml +21 -0
  409. data/lib/carmen.rb +52 -143
  410. data/lib/carmen/country.rb +56 -0
  411. data/lib/carmen/i18n.rb +105 -0
  412. data/lib/carmen/querying.rb +34 -0
  413. data/lib/carmen/region.rb +107 -0
  414. data/lib/carmen/region_collection.rb +30 -0
  415. data/lib/carmen/utils.rb +53 -0
  416. data/lib/carmen/version.rb +1 -1
  417. data/lib/carmen/world.rb +29 -0
  418. data/locale/cn/world.yml +963 -0
  419. data/locale/cs/world.yml +983 -0
  420. data/locale/de/world.yml +1051 -0
  421. data/locale/en/world.yml +999 -0
  422. data/locale/en/world/ad.yml +18 -0
  423. data/locale/en/world/ae.yml +18 -0
  424. data/locale/en/world/af.yml +72 -0
  425. data/locale/en/world/ag.yml +20 -0
  426. data/locale/en/world/al.yml +28 -0
  427. data/locale/en/world/al/01.yml +11 -0
  428. data/locale/en/world/al/02.yml +9 -0
  429. data/locale/en/world/al/03.yml +13 -0
  430. data/locale/en/world/al/04.yml +11 -0
  431. data/locale/en/world/al/05.yml +11 -0
  432. data/locale/en/world/al/06.yml +13 -0
  433. data/locale/en/world/al/07.yml +11 -0
  434. data/locale/en/world/al/08.yml +11 -0
  435. data/locale/en/world/al/09.yml +11 -0
  436. data/locale/en/world/al/10.yml +11 -0
  437. data/locale/en/world/al/11.yml +9 -0
  438. data/locale/en/world/al/12.yml +11 -0
  439. data/locale/en/world/am.yml +26 -0
  440. data/locale/en/world/ao.yml +40 -0
  441. data/locale/en/world/ar.yml +50 -0
  442. data/locale/en/world/at.yml +22 -0
  443. data/locale/en/world/au.yml +20 -0
  444. data/locale/en/world/az.yml +146 -0
  445. data/locale/en/world/az/nx.yml +17 -0
  446. data/locale/en/world/ba.yml +10 -0
  447. data/locale/en/world/ba/bih.yml +25 -0
  448. data/locale/en/world/bb.yml +26 -0
  449. data/locale/en/world/bd.yml +16 -0
  450. data/locale/en/world/bd/1.yml +17 -0
  451. data/locale/en/world/bd/2.yml +27 -0
  452. data/locale/en/world/bd/3.yml +39 -0
  453. data/locale/en/world/bd/4.yml +25 -0
  454. data/locale/en/world/bd/5.yml +37 -0
  455. data/locale/en/world/bd/6.yml +13 -0
  456. data/locale/en/world/be.yml +26 -0
  457. data/locale/en/world/bf.yml +30 -0
  458. data/locale/en/world/bf/01.yml +17 -0
  459. data/locale/en/world/bf/02.yml +9 -0
  460. data/locale/en/world/bf/03.yml +7 -0
  461. data/locale/en/world/bf/04.yml +11 -0
  462. data/locale/en/world/bf/05.yml +11 -0
  463. data/locale/en/world/bf/06.yml +13 -0
  464. data/locale/en/world/bf/07.yml +11 -0
  465. data/locale/en/world/bf/08.yml +15 -0
  466. data/locale/en/world/bf/09.yml +11 -0
  467. data/locale/en/world/bf/10.yml +13 -0
  468. data/locale/en/world/bf/11.yml +11 -0
  469. data/locale/en/world/bf/12.yml +13 -0
  470. data/locale/en/world/bf/13.yml +13 -0
  471. data/locale/en/world/bg.yml +60 -0
  472. data/locale/en/world/bh.yml +14 -0
  473. data/locale/en/world/bi.yml +36 -0
  474. data/locale/en/world/bj.yml +28 -0
  475. data/locale/en/world/bl.yml +4 -0
  476. data/locale/en/world/bn.yml +12 -0
  477. data/locale/en/world/bo.yml +22 -0
  478. data/locale/en/world/br.yml +60 -0
  479. data/locale/en/world/bs.yml +68 -0
  480. data/locale/en/world/bt.yml +44 -0
  481. data/locale/en/world/bw.yml +24 -0
  482. data/locale/en/world/by.yml +18 -0
  483. data/locale/en/world/bz.yml +16 -0
  484. data/locale/en/world/ca.yml +30 -0
  485. data/locale/en/world/cd.yml +28 -0
  486. data/locale/en/world/cf.yml +38 -0
  487. data/locale/en/world/cg.yml +26 -0
  488. data/locale/en/world/ch.yml +56 -0
  489. data/locale/en/world/ci.yml +42 -0
  490. data/locale/en/world/cl.yml +34 -0
  491. data/locale/en/world/cm.yml +24 -0
  492. data/locale/en/world/cn.yml +72 -0
  493. data/locale/en/world/co.yml +70 -0
  494. data/locale/en/world/cr.yml +18 -0
  495. data/locale/en/world/cu.yml +34 -0
  496. data/locale/en/world/cv.yml +8 -0
  497. data/locale/en/world/cv/b.yml +19 -0
  498. data/locale/en/world/cv/s.yml +35 -0
  499. data/locale/en/world/cy.yml +16 -0
  500. data/locale/en/world/cz.yml +32 -0
  501. data/locale/en/world/cz/jc.yml +19 -0
  502. data/locale/en/world/cz/jm.yml +19 -0
  503. data/locale/en/world/cz/ka.yml +11 -0
  504. data/locale/en/world/cz/kr.yml +15 -0
  505. data/locale/en/world/cz/li.yml +13 -0
  506. data/locale/en/world/cz/mo.yml +17 -0
  507. data/locale/en/world/cz/ol.yml +15 -0
  508. data/locale/en/world/cz/pa.yml +13 -0
  509. data/locale/en/world/cz/pl.yml +19 -0
  510. data/locale/en/world/cz/pr.yml +35 -0
  511. data/locale/en/world/cz/st.yml +29 -0
  512. data/locale/en/world/cz/us.yml +19 -0
  513. data/locale/en/world/cz/vy.yml +15 -0
  514. data/locale/en/world/cz/zl.yml +13 -0
  515. data/locale/en/world/de.yml +36 -0
  516. data/locale/en/world/dj.yml +16 -0
  517. data/locale/en/world/dk.yml +14 -0
  518. data/locale/en/world/dm.yml +24 -0
  519. data/locale/en/world/do.yml +64 -0
  520. data/locale/en/world/dz.yml +100 -0
  521. data/locale/en/world/ec.yml +52 -0
  522. data/locale/en/world/ee.yml +34 -0
  523. data/locale/en/world/eg.yml +60 -0
  524. data/locale/en/world/er.yml +16 -0
  525. data/locale/en/world/es.yml +42 -0
  526. data/locale/en/world/es/an.yml +21 -0
  527. data/locale/en/world/es/ar.yml +11 -0
  528. data/locale/en/world/es/as.yml +7 -0
  529. data/locale/en/world/es/cb.yml +7 -0
  530. data/locale/en/world/es/cl.yml +23 -0
  531. data/locale/en/world/es/cm.yml +15 -0
  532. data/locale/en/world/es/cn.yml +9 -0
  533. data/locale/en/world/es/ct.yml +13 -0
  534. data/locale/en/world/es/ex.yml +9 -0
  535. data/locale/en/world/es/ga.yml +13 -0
  536. data/locale/en/world/es/ib.yml +7 -0
  537. data/locale/en/world/es/mc.yml +7 -0
  538. data/locale/en/world/es/md.yml +7 -0
  539. data/locale/en/world/es/nc.yml +7 -0
  540. data/locale/en/world/es/pv.yml +11 -0
  541. data/locale/en/world/es/ri.yml +7 -0
  542. data/locale/en/world/es/vc.yml +11 -0
  543. data/locale/en/world/et.yml +26 -0
  544. data/locale/en/world/fi.yml +16 -0
  545. data/locale/en/world/fj.yml +14 -0
  546. data/locale/en/world/fm.yml +12 -0
  547. data/locale/en/world/fr.yml +74 -0
  548. data/locale/en/world/fr/a.yml +9 -0
  549. data/locale/en/world/fr/b.yml +15 -0
  550. data/locale/en/world/fr/c.yml +13 -0
  551. data/locale/en/world/fr/d.yml +13 -0
  552. data/locale/en/world/fr/e.yml +13 -0
  553. data/locale/en/world/fr/f.yml +17 -0
  554. data/locale/en/world/fr/g.yml +13 -0
  555. data/locale/en/world/fr/h.yml +9 -0
  556. data/locale/en/world/fr/i.yml +13 -0
  557. data/locale/en/world/fr/j.yml +21 -0
  558. data/locale/en/world/fr/k.yml +15 -0
  559. data/locale/en/world/fr/l.yml +11 -0
  560. data/locale/en/world/fr/m.yml +13 -0
  561. data/locale/en/world/fr/n.yml +21 -0
  562. data/locale/en/world/fr/o.yml +9 -0
  563. data/locale/en/world/fr/p.yml +11 -0
  564. data/locale/en/world/fr/q.yml +9 -0
  565. data/locale/en/world/fr/r.yml +15 -0
  566. data/locale/en/world/fr/s.yml +11 -0
  567. data/locale/en/world/fr/t.yml +13 -0
  568. data/locale/en/world/fr/u.yml +17 -0
  569. data/locale/en/world/fr/v.yml +21 -0
  570. data/locale/en/world/ga.yml +22 -0
  571. data/locale/en/world/gb.yml +478 -0
  572. data/locale/en/world/gd.yml +18 -0
  573. data/locale/en/world/ge.yml +28 -0
  574. data/locale/en/world/gg.yml +4 -0
  575. data/locale/en/world/gh.yml +24 -0
  576. data/locale/en/world/gl.yml +12 -0
  577. data/locale/en/world/gm.yml +16 -0
  578. data/locale/en/world/gn.yml +20 -0
  579. data/locale/en/world/gn/b.yml +15 -0
  580. data/locale/en/world/gn/d.yml +15 -0
  581. data/locale/en/world/gn/f.yml +13 -0
  582. data/locale/en/world/gn/k.yml +15 -0
  583. data/locale/en/world/gn/l.yml +15 -0
  584. data/locale/en/world/gn/m.yml +11 -0
  585. data/locale/en/world/gn/n.yml +17 -0
  586. data/locale/en/world/gq.yml +22 -0
  587. data/locale/en/world/gr.yml +32 -0
  588. data/locale/en/world/gr/a.yml +15 -0
  589. data/locale/en/world/gr/b.yml +19 -0
  590. data/locale/en/world/gr/c.yml +13 -0
  591. data/locale/en/world/gr/d.yml +11 -0
  592. data/locale/en/world/gr/e.yml +13 -0
  593. data/locale/en/world/gr/f.yml +15 -0
  594. data/locale/en/world/gr/g.yml +11 -0
  595. data/locale/en/world/gr/h.yml +15 -0
  596. data/locale/en/world/gr/i.yml +7 -0
  597. data/locale/en/world/gr/j.yml +15 -0
  598. data/locale/en/world/gr/k.yml +11 -0
  599. data/locale/en/world/gr/l.yml +9 -0
  600. data/locale/en/world/gr/m.yml +13 -0
  601. data/locale/en/world/gt.yml +48 -0
  602. data/locale/en/world/gw.yml +12 -0
  603. data/locale/en/world/gw/l.yml +9 -0
  604. data/locale/en/world/gw/n.yml +11 -0
  605. data/locale/en/world/gw/s.yml +11 -0
  606. data/locale/en/world/gy.yml +24 -0
  607. data/locale/en/world/hn.yml +40 -0
  608. data/locale/en/world/hr.yml +46 -0
  609. data/locale/en/world/ht.yml +22 -0
  610. data/locale/en/world/hu.yml +90 -0
  611. data/locale/en/world/id.yml +18 -0
  612. data/locale/en/world/id/ij.yml +9 -0
  613. data/locale/en/world/id/jw.yml +17 -0
  614. data/locale/en/world/id/ka.yml +13 -0
  615. data/locale/en/world/id/ma.yml +9 -0
  616. data/locale/en/world/id/nu.yml +11 -0
  617. data/locale/en/world/id/sl.yml +17 -0
  618. data/locale/en/world/id/sm.yml +25 -0
  619. data/locale/en/world/ie.yml +12 -0
  620. data/locale/en/world/ie/c.yml +15 -0
  621. data/locale/en/world/ie/l.yml +29 -0
  622. data/locale/en/world/ie/m.yml +17 -0
  623. data/locale/en/world/ie/u.yml +11 -0
  624. data/locale/en/world/il.yml +16 -0
  625. data/locale/en/world/im.yml +4 -0
  626. data/locale/en/world/in.yml +74 -0
  627. data/locale/en/world/iq.yml +40 -0
  628. data/locale/en/world/ir.yml +64 -0
  629. data/locale/en/world/is.yml +22 -0
  630. data/locale/en/world/it.yml +44 -0
  631. data/locale/en/world/it/21.yml +21 -0
  632. data/locale/en/world/it/23.yml +7 -0
  633. data/locale/en/world/it/25.yml +29 -0
  634. data/locale/en/world/it/32.yml +9 -0
  635. data/locale/en/world/it/34.yml +19 -0
  636. data/locale/en/world/it/36.yml +13 -0
  637. data/locale/en/world/it/42.yml +13 -0
  638. data/locale/en/world/it/45.yml +23 -0
  639. data/locale/en/world/it/52.yml +25 -0
  640. data/locale/en/world/it/55.yml +9 -0
  641. data/locale/en/world/it/57.yml +15 -0
  642. data/locale/en/world/it/62.yml +15 -0
  643. data/locale/en/world/it/65.yml +13 -0
  644. data/locale/en/world/it/67.yml +9 -0
  645. data/locale/en/world/it/72.yml +15 -0
  646. data/locale/en/world/it/75.yml +17 -0
  647. data/locale/en/world/it/77.yml +9 -0
  648. data/locale/en/world/it/78.yml +15 -0
  649. data/locale/en/world/it/82.yml +23 -0
  650. data/locale/en/world/it/88.yml +21 -0
  651. data/locale/en/world/je.yml +4 -0
  652. data/locale/en/world/jm.yml +32 -0
  653. data/locale/en/world/jo.yml +28 -0
  654. data/locale/en/world/jp.yml +98 -0
  655. data/locale/en/world/ke.yml +18 -0
  656. data/locale/en/world/kg.yml +20 -0
  657. data/locale/en/world/kh.yml +52 -0
  658. data/locale/en/world/ki.yml +10 -0
  659. data/locale/en/world/km.yml +10 -0
  660. data/locale/en/world/kn.yml +8 -0
  661. data/locale/en/world/kn/k.yml +23 -0
  662. data/locale/en/world/kn/n.yml +15 -0
  663. data/locale/en/world/kp.yml +26 -0
  664. data/locale/en/world/kr.yml +36 -0
  665. data/locale/en/world/kw.yml +14 -0
  666. data/locale/en/world/kz.yml +36 -0
  667. data/locale/en/world/la.yml +40 -0
  668. data/locale/en/world/lb.yml +20 -0
  669. data/locale/en/world/li.yml +26 -0
  670. data/locale/en/world/lk.yml +22 -0
  671. data/locale/en/world/lk/1.yml +11 -0
  672. data/locale/en/world/lk/2.yml +11 -0
  673. data/locale/en/world/lk/3.yml +11 -0
  674. data/locale/en/world/lk/4.yml +15 -0
  675. data/locale/en/world/lk/5.yml +11 -0
  676. data/locale/en/world/lk/6.yml +9 -0
  677. data/locale/en/world/lk/7.yml +9 -0
  678. data/locale/en/world/lk/8.yml +9 -0
  679. data/locale/en/world/lk/9.yml +9 -0
  680. data/locale/en/world/lr.yml +30 -0
  681. data/locale/en/world/ls.yml +24 -0
  682. data/locale/en/world/lt.yml +24 -0
  683. data/locale/en/world/lu.yml +10 -0
  684. data/locale/en/world/lv.yml +70 -0
  685. data/locale/en/world/ly.yml +50 -0
  686. data/locale/en/world/ma.yml +36 -0
  687. data/locale/en/world/ma/01.yml +15 -0
  688. data/locale/en/world/ma/02.yml +9 -0
  689. data/locale/en/world/ma/03.yml +11 -0
  690. data/locale/en/world/ma/04.yml +17 -0
  691. data/locale/en/world/ma/05.yml +13 -0
  692. data/locale/en/world/ma/06.yml +15 -0
  693. data/locale/en/world/ma/07.yml +13 -0
  694. data/locale/en/world/ma/08.yml +13 -0
  695. data/locale/en/world/ma/09.yml +11 -0
  696. data/locale/en/world/ma/10.yml +9 -0
  697. data/locale/en/world/ma/11.yml +19 -0
  698. data/locale/en/world/ma/12.yml +9 -0
  699. data/locale/en/world/ma/13.yml +19 -0
  700. data/locale/en/world/ma/14.yml +15 -0
  701. data/locale/en/world/ma/15.yml +9 -0
  702. data/locale/en/world/ma/16.yml +9 -0
  703. data/locale/en/world/md.yml +78 -0
  704. data/locale/en/world/me.yml +46 -0
  705. data/locale/en/world/mf.yml +4 -0
  706. data/locale/en/world/mg.yml +16 -0
  707. data/locale/en/world/mh.yml +8 -0
  708. data/locale/en/world/mh/l.yml +33 -0
  709. data/locale/en/world/mh/t.yml +25 -0
  710. data/locale/en/world/mk.yml +172 -0
  711. data/locale/en/world/ml.yml +22 -0
  712. data/locale/en/world/mm.yml +32 -0
  713. data/locale/en/world/mn.yml +48 -0
  714. data/locale/en/world/mo.yml +4 -0
  715. data/locale/en/world/mr.yml +30 -0
  716. data/locale/en/world/mt.yml +140 -0
  717. data/locale/en/world/mu.yml +38 -0
  718. data/locale/en/world/mv.yml +44 -0
  719. data/locale/en/world/mw.yml +10 -0
  720. data/locale/en/world/mw/c.yml +23 -0
  721. data/locale/en/world/mw/n.yml +19 -0
  722. data/locale/en/world/mw/s.yml +29 -0
  723. data/locale/en/world/mx.yml +68 -0
  724. data/locale/en/world/my.yml +36 -0
  725. data/locale/en/world/mz.yml +26 -0
  726. data/locale/en/world/na.yml +30 -0
  727. data/locale/en/world/ne.yml +20 -0
  728. data/locale/en/world/ng.yml +78 -0
  729. data/locale/en/world/ni.yml +38 -0
  730. data/locale/en/world/nl.yml +28 -0
  731. data/locale/en/world/no.yml +46 -0
  732. data/locale/en/world/np.yml +14 -0
  733. data/locale/en/world/np/1.yml +11 -0
  734. data/locale/en/world/np/2.yml +11 -0
  735. data/locale/en/world/np/3.yml +11 -0
  736. data/locale/en/world/np/4.yml +11 -0
  737. data/locale/en/world/np/5.yml +9 -0
  738. data/locale/en/world/nr.yml +32 -0
  739. data/locale/en/world/nz.yml +10 -0
  740. data/locale/en/world/nz/n.yml +23 -0
  741. data/locale/en/world/nz/s.yml +19 -0
  742. data/locale/en/world/om.yml +22 -0
  743. data/locale/en/world/pa.yml +28 -0
  744. data/locale/en/world/pe.yml +56 -0
  745. data/locale/en/world/pg.yml +44 -0
  746. data/locale/en/world/ph.yml +38 -0
  747. data/locale/en/world/ph/01.yml +13 -0
  748. data/locale/en/world/ph/02.yml +15 -0
  749. data/locale/en/world/ph/03.yml +19 -0
  750. data/locale/en/world/ph/05.yml +17 -0
  751. data/locale/en/world/ph/06.yml +17 -0
  752. data/locale/en/world/ph/07.yml +13 -0
  753. data/locale/en/world/ph/08.yml +17 -0
  754. data/locale/en/world/ph/09.yml +13 -0
  755. data/locale/en/world/ph/10.yml +13 -0
  756. data/locale/en/world/ph/11.yml +17 -0
  757. data/locale/en/world/ph/12.yml +11 -0
  758. data/locale/en/world/ph/13.yml +15 -0
  759. data/locale/en/world/ph/14.yml +13 -0
  760. data/locale/en/world/ph/15.yml +17 -0
  761. data/locale/en/world/ph/40.yml +15 -0
  762. data/locale/en/world/ph/41.yml +15 -0
  763. data/locale/en/world/pk.yml +20 -0
  764. data/locale/en/world/pl.yml +36 -0
  765. data/locale/en/world/ps.yml +4 -0
  766. data/locale/en/world/pt.yml +44 -0
  767. data/locale/en/world/pw.yml +36 -0
  768. data/locale/en/world/py.yml +40 -0
  769. data/locale/en/world/qa.yml +22 -0
  770. data/locale/en/world/ro.yml +88 -0
  771. data/locale/en/world/rs.yml +44 -0
  772. data/locale/en/world/rs/km.yml +15 -0
  773. data/locale/en/world/rs/vo.yml +19 -0
  774. data/locale/en/world/ru.yml +170 -0
  775. data/locale/en/world/rw.yml +14 -0
  776. data/locale/en/world/sa.yml +30 -0
  777. data/locale/en/world/sb.yml +24 -0
  778. data/locale/en/world/sc.yml +54 -0
  779. data/locale/en/world/sd.yml +54 -0
  780. data/locale/en/world/se.yml +46 -0
  781. data/locale/en/world/sg.yml +14 -0
  782. data/locale/en/world/sh.yml +4 -0
  783. data/locale/en/world/si.yml +424 -0
  784. data/locale/en/world/sk.yml +20 -0
  785. data/locale/en/world/sl.yml +12 -0
  786. data/locale/en/world/sm.yml +22 -0
  787. data/locale/en/world/sn.yml +32 -0
  788. data/locale/en/world/so.yml +40 -0
  789. data/locale/en/world/sr.yml +24 -0
  790. data/locale/en/world/st.yml +8 -0
  791. data/locale/en/world/sv.yml +32 -0
  792. data/locale/en/world/sy.yml +32 -0
  793. data/locale/en/world/sz.yml +12 -0
  794. data/locale/en/world/td.yml +48 -0
  795. data/locale/en/world/tg.yml +14 -0
  796. data/locale/en/world/th.yml +158 -0
  797. data/locale/en/world/tj.yml +10 -0
  798. data/locale/en/world/tl.yml +30 -0
  799. data/locale/en/world/tm.yml +16 -0
  800. data/locale/en/world/tn.yml +52 -0
  801. data/locale/en/world/to.yml +14 -0
  802. data/locale/en/world/tr.yml +166 -0
  803. data/locale/en/world/tt.yml +36 -0
  804. data/locale/en/world/tv.yml +20 -0
  805. data/locale/en/world/tw.yml +50 -0
  806. data/locale/en/world/tz.yml +56 -0
  807. data/locale/en/world/ua.yml +58 -0
  808. data/locale/en/world/ug.yml +12 -0
  809. data/locale/en/world/ug/c.yml +37 -0
  810. data/locale/en/world/ug/e.yml +53 -0
  811. data/locale/en/world/ug/n.yml +47 -0
  812. data/locale/en/world/ug/w.yml +43 -0
  813. data/locale/en/world/um.yml +22 -0
  814. data/locale/en/world/us.yml +118 -0
  815. data/locale/en/world/uy.yml +42 -0
  816. data/locale/en/world/uz.yml +32 -0
  817. data/locale/en/world/vc.yml +16 -0
  818. data/locale/en/world/ve.yml +54 -0
  819. data/locale/en/world/vn.yml +132 -0
  820. data/locale/en/world/vu.yml +16 -0
  821. data/locale/en/world/ws.yml +26 -0
  822. data/locale/en/world/ye.yml +44 -0
  823. data/locale/en/world/za.yml +22 -0
  824. data/locale/en/world/zm.yml +22 -0
  825. data/locale/en/world/zw.yml +24 -0
  826. data/locale/es/world.yml +891 -0
  827. data/locale/fi/world.yml +1015 -0
  828. data/locale/hi/world.yml +983 -0
  829. data/locale/it/world.yml +955 -0
  830. data/locale/jp/world.yml +983 -0
  831. data/locale/ko/world.yml +955 -0
  832. data/locale/nl/world.yml +1003 -0
  833. data/locale/pl/world.yml +983 -0
  834. data/locale/pt/world.yml +1015 -0
  835. data/locale/ru/world.yml +1015 -0
  836. data/locale/sk/world.yml +983 -0
  837. data/locale/sv/world.yml +1039 -0
  838. data/locale/tr/world.yml +955 -0
  839. metadata +883 -101
  840. data/README.rdoc +0 -112
  841. data/data/countries/cn.yml +0 -481
  842. data/data/countries/cs.yml +0 -495
  843. data/data/countries/de.yml +0 -527
  844. data/data/countries/en.yml +0 -508
  845. data/data/countries/es.yml +0 -439
  846. data/data/countries/fi.yml +0 -508
  847. data/data/countries/hi.yml +0 -491
  848. data/data/countries/it.yml +0 -477
  849. data/data/countries/jp.yml +0 -491
  850. data/data/countries/nl.yml +0 -501
  851. data/data/countries/pl.yml +0 -495
  852. data/data/countries/pt.yml +0 -508
  853. data/data/countries/ru.yml +0 -507
  854. data/data/countries/sk.yml +0 -495
  855. data/data/countries/sv.yml +0 -519
  856. data/data/states/au.yml +0 -17
  857. data/data/states/br.yml +0 -55
  858. data/data/states/ca.yml +0 -27
  859. data/data/states/cu.yml +0 -31
  860. data/data/states/de.yml +0 -33
  861. data/data/states/dk.yml +0 -11
  862. data/data/states/es.yml +0 -39
  863. data/data/states/hr.yml +0 -43
  864. data/data/states/in.yml +0 -73
  865. data/data/states/it.yml +0 -207
  866. data/data/states/mx.yml +0 -65
  867. data/data/states/nl.yml +0 -25
  868. data/data/states/no.yml +0 -39
  869. data/data/states/nz.yml +0 -35
  870. data/data/states/ua.yml +0 -51
  871. data/data/states/us.yml +0 -126
  872. data/lib/carmen/action_view_helpers.rb +0 -68
  873. data/lib/carmen/railtie.rb +0 -17
@@ -0,0 +1,56 @@
1
+ require 'forwardable'
2
+
3
+ require 'carmen/world'
4
+ require 'carmen/region'
5
+ require 'carmen/querying'
6
+
7
+ module Carmen
8
+ class Country < Region
9
+ extend Querying
10
+ extend SingleForwardable
11
+
12
+ attr_reader :alpha_2_code
13
+ attr_reader :alpha_3_code
14
+
15
+ def initialize(data={}, parent=nil)
16
+ @alpha_2_code = data['alpha_2_code']
17
+ @alpha_3_code = data['alpha_3_code']
18
+ super
19
+ end
20
+
21
+ def common_name
22
+ Carmen.i18n_backend.translate(path('common_name'))
23
+ end
24
+
25
+ def official_name
26
+ Carmen.i18n_backend.translate(path('official_name'))
27
+ end
28
+
29
+ def self.all
30
+ World.instance.subregions
31
+ end
32
+
33
+ def self.query_collection
34
+ all
35
+ end
36
+
37
+ def inspect
38
+ %(<##{self.class} name="#{name}">)
39
+ end
40
+
41
+ def code
42
+ alpha_2_code
43
+ end
44
+
45
+ private
46
+
47
+ def self.attribute_to_search_for_code(code)
48
+ code.to_s.size == 2 ? :alpha_2_code : :alpha_3_code
49
+ end
50
+
51
+ def subregion_directory
52
+ alpha_2_code.downcase
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,105 @@
1
+ require 'yaml'
2
+ require 'pp'
3
+ require 'carmen/utils'
4
+
5
+ module Carmen
6
+ module I18n
7
+
8
+ # A simple object to handle I18n translation in simple situations.
9
+ class Simple
10
+
11
+ DEFAULT_LOCALE = 'en'
12
+
13
+ attr_accessor :cache
14
+ attr_reader :locale
15
+ attr_reader :fallback_locale
16
+ attr_reader :locale_paths
17
+
18
+ def initialize(*initial_locale_paths)
19
+ @locale = DEFAULT_LOCALE
20
+ @fallback_locale = DEFAULT_LOCALE
21
+ @locale_paths = []
22
+ @cache = nil
23
+ initial_locale_paths.each do |path|
24
+ append_locale_path(path)
25
+ end
26
+ end
27
+
28
+ def append_locale_path(path)
29
+ reset!
30
+ @locale_paths << Pathname.new(path)
31
+ end
32
+
33
+ # Set a new locale
34
+ #
35
+ # Calling this method will clear the cache.
36
+ def locale=(locale)
37
+ reset!
38
+ @locale = locale.to_s
39
+ end
40
+
41
+ # Retrieve a translation for a key in the following format: 'a.b.c'
42
+ #
43
+ # This will attempt to find the key in the current locale, and if nothing
44
+ # is found, a value found in the fallback locale will be used instead.
45
+ def translate(key)
46
+ read(key.to_s)
47
+ end
48
+
49
+ alias :t :translate
50
+
51
+ # Clear the cache. Should be called after appending a new locale path
52
+ # manually (in case lookups have already occurred.)
53
+ #
54
+ # When adding a locale path, it's best to use #append_locale_path, which
55
+ # resets the cache automatically.
56
+ def reset!
57
+ @cache = nil
58
+ end
59
+
60
+ def inspect
61
+ "<##{self.class} locale=#{locale}>"
62
+ end
63
+
64
+ def available_locales
65
+ load_cache_if_needed
66
+ @cache.keys.sort
67
+ end
68
+
69
+ private
70
+
71
+ def read(key)
72
+ load_cache_if_needed
73
+ translated = read_from_hash(key, @cache[@locale])
74
+ translated ||= read_from_hash(key, @cache[@fallback_locale]) if @locale != @fallback_locale
75
+ translated
76
+ end
77
+
78
+ def read_from_hash(key, source_hash)
79
+ key.split('.').inject(source_hash) { |hash, key|
80
+ hash[key] unless hash.nil?
81
+ }
82
+ end
83
+
84
+ # Load all files located at the @locale_path, merge them, and store the
85
+ # result in @cache.
86
+ def load_cache_if_needed
87
+ return unless @cache.nil?
88
+ hashes = load_hashes_for_paths(@locale_paths)
89
+ @cache = Utils.deep_hash_merge(hashes)
90
+ end
91
+
92
+ def load_hashes_for_paths(paths)
93
+ paths.collect { |path|
94
+ if !File.exist?(path)
95
+ fail "Path #{path} not found when loading locale files"
96
+ end
97
+ Dir[path + '**/*.yml'].map { |file_path|
98
+ YAML.load_file(file_path)
99
+ }
100
+ }.flatten
101
+ end
102
+
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,34 @@
1
+ module Carmen
2
+ module Querying
3
+
4
+ # Find a region by code.
5
+ #
6
+ # code - The String code to search for
7
+ #
8
+ # Returns a region with the supplied code, or nil ir none is found.
9
+ def coded(code)
10
+ attribute = attribute_to_search_for_code(code)
11
+ if attribute.nil?
12
+ fail "could not find an attribute to search for code '#{code}'"
13
+ end
14
+ query_collection.find do |region|
15
+ region.send(attribute) == code
16
+ end
17
+ end
18
+
19
+ # Find a region by name.
20
+ #
21
+ # name - The String name to search for.
22
+ # options - The Hash options used to modify the search (default:{}):
23
+ # :fuzzy - Whether to use fuzzy matching when finding a
24
+ # matching name (optional, default: false)
25
+ #
26
+ # Returns a region with the supplied name, or nil if none if found.
27
+ def named(name, options={})
28
+ query_collection.find do |region|
29
+ name === region.name
30
+ end
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,107 @@
1
+ require 'yaml'
2
+
3
+ require 'carmen/region_collection'
4
+ require 'carmen/utils'
5
+
6
+ module Carmen
7
+ class Region
8
+
9
+ attr_reader :type
10
+ attr_reader :code
11
+ attr_reader :parent
12
+
13
+ def initialize(data={}, parent=nil)
14
+ @type = data['type']
15
+ @code = data['code']
16
+ @parent = parent
17
+ end
18
+
19
+ def name
20
+ Carmen.i18n_backend.translate(path('name'))
21
+ end
22
+
23
+ def subregions
24
+ @subregions ||= load_subregions
25
+ end
26
+
27
+ def subregions?
28
+ !subregions.empty?
29
+ end
30
+
31
+ def subregion_data_path
32
+ @parent.subregion_data_path.sub('.yml', "/#{subregion_directory}.yml")
33
+ end
34
+
35
+ def subregion_class
36
+ Region
37
+ end
38
+
39
+ # Return a path string for this region. Useful for use with I18n.
40
+ #
41
+ # Returns a string in the format "world.$PARENT_CODE.$REGION_CODE", such as
42
+ # "world.us.il". The number of segments is the depth of the region plus one.
43
+ def path(suffix=nil)
44
+ base = "#{parent.path}.#{subregion_directory}"
45
+ base << ".#{suffix.to_s}" if suffix
46
+ base
47
+ end
48
+
49
+ def inspect
50
+ "<##{self.class} name=\"#{name}\" type=\"#{type}\">"
51
+ end
52
+
53
+ # Clears the subregion cache
54
+ def reset!
55
+ @subregions = nil
56
+ end
57
+
58
+ private
59
+
60
+ def subregion_directory
61
+ code.downcase
62
+ end
63
+
64
+ def load_subregions
65
+ if Carmen.data_paths.any? {|path| (path + subregion_data_path).exist? }
66
+ load_subregions_from_path(subregion_data_path, self)
67
+ else
68
+ []
69
+ end
70
+ end
71
+
72
+ def load_subregions_from_path(path, parent=nil)
73
+ regions = load_data_at_path(path).collect do |data|
74
+ subregion_class.new(data, parent)
75
+ end
76
+ RegionCollection.new(regions)
77
+ end
78
+
79
+ # Load the data for a path.
80
+ #
81
+ # The resulting data will be the result of loading the file from the data_path
82
+ # and overlaying matching data (if it exists) from the overlay_path.
83
+ def load_data_at_path(path)
84
+ data_sets = Carmen.data_paths.map do |data_path|
85
+ YAML.load_file(data_path + path)
86
+ end
87
+ flatten_data(data_sets)
88
+ end
89
+
90
+ # Merge multiple arrays of hashes together
91
+ #
92
+ # Use either 'code' or 'alpha_2_code' to match elements between the sets.
93
+ #
94
+ # Returns a single merged array of hashes.
95
+ def flatten_data(arrays)
96
+
97
+ keys = %w(code alpha_2_code)
98
+ flattened = Utils.merge_arrays_by_keys(arrays, keys)
99
+
100
+ flattened.each do |hash|
101
+ flattened.delete(hash) if hash['_enabled'] == false
102
+ end
103
+
104
+ flattened
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,30 @@
1
+ require 'carmen/querying'
2
+
3
+ module Carmen
4
+ # RegionCollection is responsible for holding the subregions for a
5
+ # region and also provides an interface to query said subregions.
6
+ #
7
+ # Example:
8
+ #
9
+ # states = Carmen::Country.coded('US').subregions
10
+ # => #<RegionCollection>
11
+ # states.size
12
+ # => 5
13
+ # states.named('Illinois')
14
+ # => #<Region name:"Illinois" code: "IL">
15
+ #
16
+ class RegionCollection < Array
17
+ include Querying
18
+
19
+ private
20
+
21
+ def query_collection
22
+ self
23
+ end
24
+
25
+ def attribute_to_search_for_code(code)
26
+ :code
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,53 @@
1
+ module Carmen
2
+ module Utils
3
+ # Merge an array of hashes deeply.
4
+ #
5
+ # When a conflict occurs and either the old value or the new value don't
6
+ # respond_to? :merge, the new value is used.
7
+ #
8
+ # Returns a meged hash.
9
+ def self.deep_hash_merge(hashes)
10
+ return hashes.first if hashes.size == 1
11
+
12
+ hashes.inject { |acc, hash|
13
+ acc.merge(hash) { |key, old_value, new_value|
14
+ if old_value.respond_to?(:merge) && new_value.respond_to?(:merge)
15
+ deep_hash_merge([old_value, new_value])
16
+ else
17
+ new_value
18
+ end
19
+ }
20
+ }
21
+ end
22
+
23
+ # Merge arrays of hashes using the specified keys.
24
+ #
25
+ # If two hashes have the same value for a key, they are merged together.
26
+ # Otherwise, a new hash is appened to the array.
27
+ #
28
+ # Matching arrays uses the keys in the order they are provided.
29
+ #
30
+ # Returns a single merges array of hashes.
31
+ def self.merge_arrays_by_keys(arrays, keys)
32
+ arrays.inject do |aggregate, array|
33
+
34
+ array.each do |new_hash|
35
+ # Find the matching element in the agregate array
36
+ existing = aggregate.find do |hash|
37
+ keys.any? {|key| hash[key] && hash[key] == new_hash[key] }
38
+ end
39
+
40
+ # Merge the new hash to an existing one, or append it if new
41
+ if existing
42
+ existing.merge!(new_hash)
43
+ else
44
+ aggregate << new_hash
45
+ end
46
+ end
47
+
48
+ aggregate
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -1,3 +1,3 @@
1
1
  module Carmen
2
- VERSION = '0.2.13'
2
+ VERSION = '1.0.0.beta1'
3
3
  end
@@ -0,0 +1,29 @@
1
+ require 'singleton'
2
+
3
+ require 'carmen/region'
4
+
5
+ module Carmen
6
+ class World < Region
7
+ include Singleton
8
+
9
+ def type; 'world'; end
10
+ def name; 'Earth'; end
11
+
12
+ def subregion_data_path
13
+ 'world.yml'
14
+ end
15
+
16
+ def subregion_class
17
+ Country
18
+ end
19
+
20
+ def path
21
+ 'world'
22
+ end
23
+
24
+ def inspect
25
+ "<##{self.class}>"
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,963 @@
1
+ ---
2
+ cn:
3
+ world:
4
+ ad:
5
+ common_name: !!null
6
+ name: 安道尔共和国
7
+ official_name: !!null
8
+ ae:
9
+ common_name: !!null
10
+ name: 阿拉伯联合酋长国
11
+ official_name: !!null
12
+ af:
13
+ common_name: !!null
14
+ name: 阿富汗
15
+ official_name: !!null
16
+ ag:
17
+ common_name: !!null
18
+ name: 安提瓜和巴布达
19
+ official_name: !!null
20
+ ai:
21
+ common_name: !!null
22
+ name: 安圭拉岛
23
+ official_name: !!null
24
+ al:
25
+ common_name: !!null
26
+ name: 阿尔巴尼亚
27
+ official_name: !!null
28
+ am:
29
+ common_name: !!null
30
+ name: 亚美尼亚
31
+ official_name: !!null
32
+ an:
33
+ common_name: !!null
34
+ name: 荷属安德烈斯群岛
35
+ official_name: !!null
36
+ ao:
37
+ common_name: !!null
38
+ name: 安哥拉
39
+ official_name: !!null
40
+ aq:
41
+ common_name: !!null
42
+ name: 南极洲
43
+ official_name: !!null
44
+ ar:
45
+ common_name: !!null
46
+ name: 阿根廷
47
+ official_name: !!null
48
+ as:
49
+ common_name: !!null
50
+ name: 美属萨摩亚
51
+ official_name: !!null
52
+ at:
53
+ common_name: !!null
54
+ name: 奥地利
55
+ official_name: !!null
56
+ au:
57
+ common_name: !!null
58
+ name: 澳大利亚
59
+ official_name: !!null
60
+ aw:
61
+ common_name: !!null
62
+ name: 阿鲁巴岛
63
+ official_name: !!null
64
+ ax:
65
+ common_name: !!null
66
+ name: 奥兰群岛
67
+ official_name: !!null
68
+ az:
69
+ common_name: !!null
70
+ name: 阿塞拜疆
71
+ official_name: !!null
72
+ ba:
73
+ common_name: !!null
74
+ name: 波黑
75
+ official_name: !!null
76
+ bb:
77
+ common_name: !!null
78
+ name: 巴巴多斯岛
79
+ official_name: !!null
80
+ bd:
81
+ common_name: !!null
82
+ name: 孟加拉国
83
+ official_name: !!null
84
+ be:
85
+ common_name: !!null
86
+ name: 比利时
87
+ official_name: !!null
88
+ bf:
89
+ common_name: !!null
90
+ name: 布基纳法索
91
+ official_name: !!null
92
+ bg:
93
+ common_name: !!null
94
+ name: 保加利亚
95
+ official_name: !!null
96
+ bh:
97
+ common_name: !!null
98
+ name: 巴林
99
+ official_name: !!null
100
+ bi:
101
+ common_name: !!null
102
+ name: 布隆迪
103
+ official_name: !!null
104
+ bj:
105
+ common_name: !!null
106
+ name: 贝宁
107
+ official_name: !!null
108
+ bl:
109
+ common_name: !!null
110
+ name: 圣巴泰勒米
111
+ official_name: !!null
112
+ bm:
113
+ common_name: !!null
114
+ name: 百慕大群岛
115
+ official_name: !!null
116
+ bn:
117
+ common_name: !!null
118
+ name: 文莱
119
+ official_name: !!null
120
+ bo:
121
+ common_name: !!null
122
+ name: 玻利维亚
123
+ official_name: !!null
124
+ br:
125
+ common_name: !!null
126
+ name: 巴西
127
+ official_name: !!null
128
+ bs:
129
+ common_name: !!null
130
+ name: 巴哈马群岛
131
+ official_name: !!null
132
+ bt:
133
+ common_name: !!null
134
+ name: 不丹
135
+ official_name: !!null
136
+ bv:
137
+ common_name: !!null
138
+ name: 布维岛
139
+ official_name: !!null
140
+ bw:
141
+ common_name: !!null
142
+ name: 博茨瓦纳
143
+ official_name: !!null
144
+ by:
145
+ common_name: !!null
146
+ name: 白俄罗斯
147
+ official_name: !!null
148
+ bz:
149
+ common_name: !!null
150
+ name: 伯利兹城
151
+ official_name: !!null
152
+ ca:
153
+ common_name: !!null
154
+ name: 加拿大
155
+ official_name: !!null
156
+ cc:
157
+ common_name: !!null
158
+ name: 科科斯(基林)群岛
159
+ official_name: !!null
160
+ cf:
161
+ common_name: !!null
162
+ name: 中非共和国
163
+ official_name: !!null
164
+ cg:
165
+ common_name: !!null
166
+ name: 刚果
167
+ official_name: !!null
168
+ ch:
169
+ common_name: !!null
170
+ name: 瑞士
171
+ official_name: !!null
172
+ ci:
173
+ common_name: !!null
174
+ name: 科特迪瓦
175
+ official_name: !!null
176
+ ck:
177
+ common_name: !!null
178
+ name: 库克群岛
179
+ official_name: !!null
180
+ cl:
181
+ common_name: !!null
182
+ name: 智利
183
+ official_name: !!null
184
+ cm:
185
+ common_name: !!null
186
+ name: 喀麦隆
187
+ official_name: !!null
188
+ cn:
189
+ common_name: !!null
190
+ name: 中国
191
+ official_name: !!null
192
+ co:
193
+ common_name: !!null
194
+ name: 哥伦比亚
195
+ official_name: !!null
196
+ cr:
197
+ common_name: !!null
198
+ name: 哥斯达黎加
199
+ official_name: !!null
200
+ cu:
201
+ common_name: !!null
202
+ name: 古巴
203
+ official_name: !!null
204
+ cv:
205
+ common_name: !!null
206
+ name: 佛得角
207
+ official_name: !!null
208
+ cx:
209
+ common_name: !!null
210
+ name: 圣诞岛
211
+ official_name: !!null
212
+ cy:
213
+ common_name: !!null
214
+ name: 塞浦路斯
215
+ official_name: !!null
216
+ cz:
217
+ common_name: !!null
218
+ name: 捷克共和国
219
+ official_name: !!null
220
+ de:
221
+ common_name: !!null
222
+ name: 德国
223
+ official_name: !!null
224
+ dj:
225
+ common_name: !!null
226
+ name: 吉布提
227
+ official_name: !!null
228
+ dk:
229
+ common_name: !!null
230
+ name: 丹麦
231
+ official_name: !!null
232
+ dm:
233
+ common_name: !!null
234
+ name: 多米尼加
235
+ official_name: !!null
236
+ do:
237
+ common_name: !!null
238
+ name: 多米尼加共和国
239
+ official_name: !!null
240
+ dz:
241
+ common_name: !!null
242
+ name: 阿尔及利亚
243
+ official_name: !!null
244
+ ec:
245
+ common_name: !!null
246
+ name: 厄瓜多尔
247
+ official_name: !!null
248
+ ee:
249
+ common_name: !!null
250
+ name: 爱沙尼亚
251
+ official_name: !!null
252
+ eg:
253
+ common_name: !!null
254
+ name: 埃及
255
+ official_name: !!null
256
+ eh:
257
+ common_name: !!null
258
+ name: 西撒哈拉
259
+ official_name: !!null
260
+ er:
261
+ common_name: !!null
262
+ name: 厄立特里亚
263
+ official_name: !!null
264
+ es:
265
+ common_name: !!null
266
+ name: 西班牙
267
+ official_name: !!null
268
+ et:
269
+ common_name: !!null
270
+ name: 埃塞俄比亚
271
+ official_name: !!null
272
+ fi:
273
+ common_name: !!null
274
+ name: 芬兰
275
+ official_name: !!null
276
+ fj:
277
+ common_name: !!null
278
+ name: 斐济
279
+ official_name: !!null
280
+ fk:
281
+ common_name: !!null
282
+ name: 福克兰群岛
283
+ official_name: !!null
284
+ fm:
285
+ common_name: !!null
286
+ name: 密克罗尼西亚联邦
287
+ official_name: !!null
288
+ fo:
289
+ common_name: !!null
290
+ name: 法罗群岛
291
+ official_name: !!null
292
+ fr:
293
+ common_name: !!null
294
+ name: 法国
295
+ official_name: !!null
296
+ ga:
297
+ common_name: !!null
298
+ name: 加蓬
299
+ official_name: !!null
300
+ gb:
301
+ common_name: !!null
302
+ name: 英国
303
+ official_name: !!null
304
+ gd:
305
+ common_name: !!null
306
+ name: 格林纳达
307
+ official_name: !!null
308
+ ge:
309
+ common_name: !!null
310
+ name: 格鲁吉亚
311
+ official_name: !!null
312
+ gf:
313
+ common_name: !!null
314
+ name: 法属圭亚那
315
+ official_name: !!null
316
+ gg:
317
+ common_name: !!null
318
+ name: 格恩西
319
+ official_name: !!null
320
+ gh:
321
+ common_name: !!null
322
+ name: 加纳
323
+ official_name: !!null
324
+ gi:
325
+ common_name: !!null
326
+ name: 直布罗陀
327
+ official_name: !!null
328
+ gl:
329
+ common_name: !!null
330
+ name: 格陵兰
331
+ official_name: !!null
332
+ gm:
333
+ common_name: !!null
334
+ name: 冈比亚
335
+ official_name: !!null
336
+ gn:
337
+ common_name: !!null
338
+ name: 几内亚
339
+ official_name: !!null
340
+ gp:
341
+ common_name: !!null
342
+ name: 瓜德罗普
343
+ official_name: !!null
344
+ gq:
345
+ common_name: !!null
346
+ name: 赤道几内亚
347
+ official_name: !!null
348
+ gr:
349
+ common_name: !!null
350
+ name: 希腊
351
+ official_name: !!null
352
+ gs:
353
+ common_name: !!null
354
+ name: 南乔治亚岛和南桑威奇群岛
355
+ official_name: !!null
356
+ gt:
357
+ common_name: !!null
358
+ name: 危地马拉
359
+ official_name: !!null
360
+ gu:
361
+ common_name: !!null
362
+ name: 关岛
363
+ official_name: !!null
364
+ gw:
365
+ common_name: !!null
366
+ name: 几内亚比绍
367
+ official_name: !!null
368
+ gy:
369
+ common_name: !!null
370
+ name: 圭亚那
371
+ official_name: !!null
372
+ hk:
373
+ common_name: !!null
374
+ name: 香港
375
+ official_name: !!null
376
+ hm:
377
+ common_name: !!null
378
+ name: 赫德岛和麦克唐纳群岛
379
+ official_name: !!null
380
+ hn:
381
+ common_name: !!null
382
+ name: 洪都拉斯
383
+ official_name: !!null
384
+ hr:
385
+ common_name: !!null
386
+ name: 克罗地亚
387
+ official_name: !!null
388
+ ht:
389
+ common_name: !!null
390
+ name: 海底
391
+ official_name: !!null
392
+ hu:
393
+ common_name: !!null
394
+ name: 匈牙利
395
+ official_name: !!null
396
+ id:
397
+ common_name: !!null
398
+ name: 印度尼西亚
399
+ official_name: !!null
400
+ ie:
401
+ common_name: !!null
402
+ name: 爱尔兰
403
+ official_name: !!null
404
+ il:
405
+ common_name: !!null
406
+ name: 以色列
407
+ official_name: !!null
408
+ im:
409
+ common_name: !!null
410
+ name: 马恩岛
411
+ official_name: !!null
412
+ in:
413
+ common_name: !!null
414
+ name: 印度
415
+ official_name: !!null
416
+ iq:
417
+ common_name: !!null
418
+ name: 伊拉克
419
+ official_name: !!null
420
+ is:
421
+ common_name: !!null
422
+ name: 冰岛
423
+ official_name: !!null
424
+ it:
425
+ common_name: !!null
426
+ name: 意大利
427
+ official_name: !!null
428
+ je:
429
+ common_name: !!null
430
+ name: 泽西
431
+ official_name: !!null
432
+ jm:
433
+ common_name: !!null
434
+ name: 牙买加
435
+ official_name: !!null
436
+ jo:
437
+ common_name: !!null
438
+ name: 约旦
439
+ official_name: !!null
440
+ jp:
441
+ common_name: !!null
442
+ name: 日本
443
+ official_name: !!null
444
+ ke:
445
+ common_name: !!null
446
+ name: 肯尼亚
447
+ official_name: !!null
448
+ kg:
449
+ common_name: !!null
450
+ name: 吉尔吉斯斯坦
451
+ official_name: !!null
452
+ kh:
453
+ common_name: !!null
454
+ name: 柬埔寨
455
+ official_name: !!null
456
+ ki:
457
+ common_name: !!null
458
+ name: 基里巴斯
459
+ official_name: !!null
460
+ km:
461
+ common_name: !!null
462
+ name: 科摩罗
463
+ official_name: !!null
464
+ kn:
465
+ common_name: !!null
466
+ name: 圣基茨和尼维斯
467
+ official_name: !!null
468
+ kp:
469
+ common_name: !!null
470
+ name: 韩国
471
+ official_name: !!null
472
+ kv:
473
+ common_name: !!null
474
+ name: 科索沃
475
+ official_name: !!null
476
+ kw:
477
+ common_name: !!null
478
+ name: 科威特
479
+ official_name: !!null
480
+ ky:
481
+ common_name: !!null
482
+ name: 开曼群岛
483
+ official_name: !!null
484
+ kz:
485
+ common_name: !!null
486
+ name: 哈萨克斯坦
487
+ official_name: !!null
488
+ la:
489
+ common_name: !!null
490
+ name: 老挝人民民主共和国
491
+ official_name: !!null
492
+ lb:
493
+ common_name: !!null
494
+ name: 黎巴嫩
495
+ official_name: !!null
496
+ lc:
497
+ common_name: !!null
498
+ name: 圣卢西亚
499
+ official_name: !!null
500
+ li:
501
+ common_name: !!null
502
+ name: 列支敦士登
503
+ official_name: !!null
504
+ lk:
505
+ common_name: !!null
506
+ name: 斯里兰卡
507
+ official_name: !!null
508
+ lr:
509
+ common_name: !!null
510
+ name: 利比里亚
511
+ official_name: !!null
512
+ ls:
513
+ common_name: !!null
514
+ name: 莱索托
515
+ official_name: !!null
516
+ lt:
517
+ common_name: !!null
518
+ name: 立陶宛
519
+ official_name: !!null
520
+ lu:
521
+ common_name: !!null
522
+ name: 卢森堡
523
+ official_name: !!null
524
+ lv:
525
+ common_name: !!null
526
+ name: 拉脱维亚
527
+ official_name: !!null
528
+ ly:
529
+ common_name: !!null
530
+ name: 阿拉伯利比亚共和国
531
+ official_name: !!null
532
+ ma:
533
+ common_name: !!null
534
+ name: 摩洛哥
535
+ official_name: !!null
536
+ mc:
537
+ common_name: !!null
538
+ name: 摩纳哥
539
+ official_name: !!null
540
+ md:
541
+ common_name: !!null
542
+ name: 摩尔多瓦共和国
543
+ official_name: !!null
544
+ me:
545
+ common_name: !!null
546
+ name: 蒙特内哥罗
547
+ official_name: !!null
548
+ mf:
549
+ common_name: !!null
550
+ name: 圣马丁
551
+ official_name: !!null
552
+ mg:
553
+ common_name: !!null
554
+ name: 马达加斯加
555
+ official_name: !!null
556
+ mh:
557
+ common_name: !!null
558
+ name: 马绍尔群岛
559
+ official_name: !!null
560
+ mk:
561
+ common_name: !!null
562
+ name: 马其顿
563
+ official_name: !!null
564
+ ml:
565
+ common_name: !!null
566
+ name: 马里
567
+ official_name: !!null
568
+ mm:
569
+ common_name: !!null
570
+ name: 缅甸
571
+ official_name: !!null
572
+ mo:
573
+ common_name: !!null
574
+ name: 澳门
575
+ official_name: !!null
576
+ mp:
577
+ common_name: !!null
578
+ name: 北马利亚纳群岛
579
+ official_name: !!null
580
+ mq:
581
+ common_name: !!null
582
+ name: 马提尼克
583
+ official_name: !!null
584
+ mr:
585
+ common_name: !!null
586
+ name: 毛里塔尼亚
587
+ official_name: !!null
588
+ ms:
589
+ common_name: !!null
590
+ name: 蒙特塞拉特
591
+ official_name: !!null
592
+ mt:
593
+ common_name: !!null
594
+ name: 马耳他
595
+ official_name: !!null
596
+ mu:
597
+ common_name: !!null
598
+ name: 毛里求斯
599
+ official_name: !!null
600
+ mv:
601
+ common_name: !!null
602
+ name: 马尔代夫
603
+ official_name: !!null
604
+ mw:
605
+ common_name: !!null
606
+ name: 马拉维
607
+ official_name: !!null
608
+ mx:
609
+ common_name: !!null
610
+ name: 墨西哥
611
+ official_name: !!null
612
+ my:
613
+ common_name: !!null
614
+ name: 马来西亚
615
+ official_name: !!null
616
+ mz:
617
+ common_name: !!null
618
+ name: 莫桑比克
619
+ official_name: !!null
620
+ na:
621
+ common_name: !!null
622
+ name: 纳米比亚
623
+ official_name: !!null
624
+ nc:
625
+ common_name: !!null
626
+ name: 新喀里多尼亚
627
+ official_name: !!null
628
+ ne:
629
+ common_name: !!null
630
+ name: 尼日尔
631
+ official_name: !!null
632
+ nf:
633
+ common_name: !!null
634
+ name: 诺福克到
635
+ official_name: !!null
636
+ ng:
637
+ common_name: !!null
638
+ name: 尼日利亚
639
+ official_name: !!null
640
+ ni:
641
+ common_name: !!null
642
+ name: 尼加拉瓜
643
+ official_name: !!null
644
+ nl:
645
+ common_name: !!null
646
+ name: 荷兰
647
+ official_name: !!null
648
+ 'no':
649
+ common_name: !!null
650
+ name: 挪威
651
+ official_name: !!null
652
+ np:
653
+ common_name: !!null
654
+ name: 尼泊尔
655
+ official_name: !!null
656
+ nr:
657
+ common_name: !!null
658
+ name: 瑙鲁
659
+ official_name: !!null
660
+ nu:
661
+ common_name: !!null
662
+ name: 纽埃
663
+ official_name: !!null
664
+ nz:
665
+ common_name: !!null
666
+ name: 新西兰
667
+ official_name: !!null
668
+ om:
669
+ common_name: !!null
670
+ name: 阿曼
671
+ official_name: !!null
672
+ pa:
673
+ common_name: !!null
674
+ name: 巴拿马
675
+ official_name: !!null
676
+ pe:
677
+ common_name: !!null
678
+ name: 秘鲁
679
+ official_name: !!null
680
+ pf:
681
+ common_name: !!null
682
+ name: 法属波利尼西亚
683
+ official_name: !!null
684
+ pg:
685
+ common_name: !!null
686
+ name: 巴布亚新几内亚
687
+ official_name: !!null
688
+ ph:
689
+ common_name: !!null
690
+ name: 菲律宾
691
+ official_name: !!null
692
+ pk:
693
+ common_name: !!null
694
+ name: 巴基斯坦
695
+ official_name: !!null
696
+ pl:
697
+ common_name: !!null
698
+ name: 波兰
699
+ official_name: !!null
700
+ pm:
701
+ common_name: !!null
702
+ name: 圣皮埃尔和密克隆
703
+ official_name: !!null
704
+ pn:
705
+ common_name: !!null
706
+ name: 皮特凯恩
707
+ official_name: !!null
708
+ pr:
709
+ common_name: !!null
710
+ name: 波多黎各
711
+ official_name: !!null
712
+ pt:
713
+ common_name: !!null
714
+ name: 葡萄牙
715
+ official_name: !!null
716
+ pw:
717
+ common_name: !!null
718
+ name: 帕劳
719
+ official_name: !!null
720
+ py:
721
+ common_name: !!null
722
+ name: 巴拉圭
723
+ official_name: !!null
724
+ qa:
725
+ common_name: !!null
726
+ name: 卡塔尔
727
+ official_name: !!null
728
+ re:
729
+ common_name: !!null
730
+ name: 留尼旺
731
+ official_name: !!null
732
+ ro:
733
+ common_name: !!null
734
+ name: 罗马尼亚
735
+ official_name: !!null
736
+ rs:
737
+ common_name: !!null
738
+ name: 塞尔维亚
739
+ official_name: !!null
740
+ ru:
741
+ common_name: !!null
742
+ name: 俄罗斯联邦
743
+ official_name: !!null
744
+ rw:
745
+ common_name: !!null
746
+ name: 卢旺达
747
+ official_name: !!null
748
+ sa:
749
+ common_name: !!null
750
+ name: 沙特阿拉伯
751
+ official_name: !!null
752
+ sb:
753
+ common_name: !!null
754
+ name: 所罗门群岛
755
+ official_name: !!null
756
+ sc:
757
+ common_name: !!null
758
+ name: 塞舌尔
759
+ official_name: !!null
760
+ sd:
761
+ common_name: !!null
762
+ name: 苏丹
763
+ official_name: !!null
764
+ se:
765
+ common_name: !!null
766
+ name: 瑞典
767
+ official_name: !!null
768
+ sg:
769
+ common_name: !!null
770
+ name: 新加坡
771
+ official_name: !!null
772
+ sh:
773
+ common_name: !!null
774
+ name: 圣赫勒拿
775
+ official_name: !!null
776
+ si:
777
+ common_name: !!null
778
+ name: 斯洛文尼亚
779
+ official_name: !!null
780
+ sj:
781
+ common_name: !!null
782
+ name: 斯瓦尔巴岛和扬马延岛
783
+ official_name: !!null
784
+ sk:
785
+ common_name: !!null
786
+ name: 斯诺伐克
787
+ official_name: !!null
788
+ sl:
789
+ common_name: !!null
790
+ name: 塞拉利昂
791
+ official_name: !!null
792
+ sm:
793
+ common_name: !!null
794
+ name: 圣马力诺
795
+ official_name: !!null
796
+ sn:
797
+ common_name: !!null
798
+ name: 塞内加尔
799
+ official_name: !!null
800
+ so:
801
+ common_name: !!null
802
+ name: 索马里
803
+ official_name: !!null
804
+ sr:
805
+ common_name: !!null
806
+ name: 苏里南
807
+ official_name: !!null
808
+ st:
809
+ common_name: !!null
810
+ name: 圣多美和普林西比
811
+ official_name: !!null
812
+ sv:
813
+ common_name: !!null
814
+ name: 萨尔瓦多
815
+ official_name: !!null
816
+ sy:
817
+ common_name: !!null
818
+ name: 阿拉伯叙利亚共和国
819
+ official_name: !!null
820
+ sz:
821
+ common_name: !!null
822
+ name: 斯威士兰
823
+ official_name: !!null
824
+ tc:
825
+ common_name: !!null
826
+ name: 特克斯和凯克斯群岛
827
+ official_name: !!null
828
+ td:
829
+ common_name: !!null
830
+ name: 乍得
831
+ official_name: !!null
832
+ tf:
833
+ common_name: !!null
834
+ name: 法国南部领土
835
+ official_name: !!null
836
+ tg:
837
+ common_name: !!null
838
+ name: 多哥
839
+ official_name: !!null
840
+ th:
841
+ common_name: !!null
842
+ name: 泰国
843
+ official_name: !!null
844
+ tj:
845
+ common_name: !!null
846
+ name: 塔吉克斯坦
847
+ official_name: !!null
848
+ tk:
849
+ common_name: !!null
850
+ name: 托克劳
851
+ official_name: !!null
852
+ tl:
853
+ common_name: !!null
854
+ name: 东帝汶
855
+ official_name: !!null
856
+ tm:
857
+ common_name: !!null
858
+ name: 土库曼斯坦
859
+ official_name: !!null
860
+ tn:
861
+ common_name: !!null
862
+ name: 突尼斯
863
+ official_name: !!null
864
+ to:
865
+ common_name: !!null
866
+ name: 汤加
867
+ official_name: !!null
868
+ tr:
869
+ common_name: !!null
870
+ name: 土耳其
871
+ official_name: !!null
872
+ tt:
873
+ common_name: !!null
874
+ name: 特里尼达和多巴哥
875
+ official_name: !!null
876
+ tv:
877
+ common_name: !!null
878
+ name: 图瓦卢
879
+ official_name: !!null
880
+ tw:
881
+ common_name: !!null
882
+ name: 台湾
883
+ official_name: !!null
884
+ tz:
885
+ common_name: !!null
886
+ name: 坦桑尼亚共和国
887
+ official_name: !!null
888
+ ua:
889
+ common_name: !!null
890
+ name: 乌克兰
891
+ official_name: !!null
892
+ ug:
893
+ common_name: !!null
894
+ name: 乌干达
895
+ official_name: !!null
896
+ um:
897
+ common_name: !!null
898
+ name: 美国本土外小岛屿
899
+ official_name: !!null
900
+ us:
901
+ common_name: !!null
902
+ name: 美国
903
+ official_name: !!null
904
+ uy:
905
+ common_name: !!null
906
+ name: 乌拉圭
907
+ official_name: !!null
908
+ uz:
909
+ common_name: !!null
910
+ name: 乌兹别克斯坦
911
+ official_name: !!null
912
+ va:
913
+ common_name: !!null
914
+ name: 罗马教廷
915
+ official_name: !!null
916
+ vc:
917
+ common_name: !!null
918
+ name: 圣文森特和格林纳丁斯
919
+ official_name: !!null
920
+ ve:
921
+ common_name: !!null
922
+ name: 委内瑞拉
923
+ official_name: !!null
924
+ vg:
925
+ common_name: !!null
926
+ name: 英属维京群岛
927
+ official_name: !!null
928
+ vi:
929
+ common_name: !!null
930
+ name: 美属维尔京群岛
931
+ official_name: !!null
932
+ vn:
933
+ common_name: !!null
934
+ name: 越南
935
+ official_name: !!null
936
+ vu:
937
+ common_name: !!null
938
+ name: 瓦努阿图
939
+ official_name: !!null
940
+ ws:
941
+ common_name: !!null
942
+ name: 萨摩亚
943
+ official_name: !!null
944
+ ye:
945
+ common_name: !!null
946
+ name: 也门
947
+ official_name: !!null
948
+ yt:
949
+ common_name: !!null
950
+ name: 马约特
951
+ official_name: !!null
952
+ za:
953
+ common_name: !!null
954
+ name: 南非
955
+ official_name: !!null
956
+ zm:
957
+ common_name: !!null
958
+ name: 赞比亚
959
+ official_name: !!null
960
+ zw:
961
+ common_name: !!null
962
+ name: 津巴布韦
963
+ official_name: !!null