countries 5.0.2 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (498) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/README.markdown +16 -7
  4. data/Rakefile +15 -21
  5. data/UPGRADE.md +15 -2
  6. data/countries.gemspec +0 -1
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/ab.json +1 -1
  9. data/lib/countries/cache/locales/af.json +1 -1
  10. data/lib/countries/cache/locales/ak.json +1 -1
  11. data/lib/countries/cache/locales/am.json +1 -1
  12. data/lib/countries/cache/locales/an.json +1 -1
  13. data/lib/countries/cache/locales/ar.json +1 -1
  14. data/lib/countries/cache/locales/as.json +1 -1
  15. data/lib/countries/cache/locales/ay.json +1 -1
  16. data/lib/countries/cache/locales/az.json +1 -1
  17. data/lib/countries/cache/locales/ba.json +1 -1
  18. data/lib/countries/cache/locales/be.json +1 -1
  19. data/lib/countries/cache/locales/bg.json +1 -1
  20. data/lib/countries/cache/locales/bi.json +1 -1
  21. data/lib/countries/cache/locales/bn-in.json +1 -1
  22. data/lib/countries/cache/locales/bn.json +1 -1
  23. data/lib/countries/cache/locales/br.json +1 -1
  24. data/lib/countries/cache/locales/bs.json +1 -1
  25. data/lib/countries/cache/locales/ca.json +1 -1
  26. data/lib/countries/cache/locales/ce.json +1 -1
  27. data/lib/countries/cache/locales/ch.json +1 -1
  28. data/lib/countries/cache/locales/cs.json +1 -1
  29. data/lib/countries/cache/locales/cv.json +1 -1
  30. data/lib/countries/cache/locales/cy.json +1 -1
  31. data/lib/countries/cache/locales/da.json +1 -1
  32. data/lib/countries/cache/locales/de.json +1 -1
  33. data/lib/countries/cache/locales/dv.json +1 -1
  34. data/lib/countries/cache/locales/dz.json +1 -1
  35. data/lib/countries/cache/locales/ee.json +1 -1
  36. data/lib/countries/cache/locales/el.json +1 -1
  37. data/lib/countries/cache/locales/en.json +1 -1
  38. data/lib/countries/cache/locales/eo.json +1 -1
  39. data/lib/countries/cache/locales/es.json +1 -1
  40. data/lib/countries/cache/locales/et.json +1 -1
  41. data/lib/countries/cache/locales/eu.json +1 -1
  42. data/lib/countries/cache/locales/fa.json +1 -1
  43. data/lib/countries/cache/locales/ff.json +1 -1
  44. data/lib/countries/cache/locales/fi.json +1 -1
  45. data/lib/countries/cache/locales/fo.json +1 -1
  46. data/lib/countries/cache/locales/fr.json +1 -1
  47. data/lib/countries/cache/locales/fy.json +1 -1
  48. data/lib/countries/cache/locales/ga.json +1 -1
  49. data/lib/countries/cache/locales/gl.json +1 -1
  50. data/lib/countries/cache/locales/gn.json +1 -1
  51. data/lib/countries/cache/locales/gu.json +1 -1
  52. data/lib/countries/cache/locales/gv.json +1 -1
  53. data/lib/countries/cache/locales/ha.json +1 -1
  54. data/lib/countries/cache/locales/he.json +1 -1
  55. data/lib/countries/cache/locales/hi.json +1 -1
  56. data/lib/countries/cache/locales/hr.json +1 -1
  57. data/lib/countries/cache/locales/ht.json +1 -1
  58. data/lib/countries/cache/locales/hu.json +1 -1
  59. data/lib/countries/cache/locales/hy.json +1 -1
  60. data/lib/countries/cache/locales/ia.json +1 -1
  61. data/lib/countries/cache/locales/id.json +1 -1
  62. data/lib/countries/cache/locales/io.json +1 -1
  63. data/lib/countries/cache/locales/is.json +1 -1
  64. data/lib/countries/cache/locales/it.json +1 -1
  65. data/lib/countries/cache/locales/iu.json +1 -1
  66. data/lib/countries/cache/locales/ja.json +1 -1
  67. data/lib/countries/cache/locales/ka.json +1 -1
  68. data/lib/countries/cache/locales/ki.json +1 -1
  69. data/lib/countries/cache/locales/kk.json +1 -1
  70. data/lib/countries/cache/locales/kl.json +1 -1
  71. data/lib/countries/cache/locales/km.json +1 -1
  72. data/lib/countries/cache/locales/kn.json +1 -1
  73. data/lib/countries/cache/locales/ko.json +1 -1
  74. data/lib/countries/cache/locales/kv.json +1 -1
  75. data/lib/countries/cache/locales/kw.json +1 -1
  76. data/lib/countries/cache/locales/ky.json +1 -1
  77. data/lib/countries/cache/locales/lo.json +1 -1
  78. data/lib/countries/cache/locales/lt.json +1 -1
  79. data/lib/countries/cache/locales/lv.json +1 -1
  80. data/lib/countries/cache/locales/mi.json +1 -1
  81. data/lib/countries/cache/locales/mk.json +1 -1
  82. data/lib/countries/cache/locales/ml.json +1 -1
  83. data/lib/countries/cache/locales/mn.json +1 -1
  84. data/lib/countries/cache/locales/mr.json +1 -1
  85. data/lib/countries/cache/locales/ms.json +1 -1
  86. data/lib/countries/cache/locales/mt.json +1 -1
  87. data/lib/countries/cache/locales/my.json +1 -1
  88. data/lib/countries/cache/locales/na.json +1 -1
  89. data/lib/countries/cache/locales/nb.json +1 -1
  90. data/lib/countries/cache/locales/ne.json +1 -1
  91. data/lib/countries/cache/locales/nl.json +1 -1
  92. data/lib/countries/cache/locales/nn.json +1 -1
  93. data/lib/countries/cache/locales/nv.json +1 -1
  94. data/lib/countries/cache/locales/oc.json +1 -1
  95. data/lib/countries/cache/locales/or.json +1 -1
  96. data/lib/countries/cache/locales/pa.json +1 -1
  97. data/lib/countries/cache/locales/pi.json +1 -1
  98. data/lib/countries/cache/locales/pl.json +1 -1
  99. data/lib/countries/cache/locales/ps.json +1 -1
  100. data/lib/countries/cache/locales/pt-br.json +1 -1
  101. data/lib/countries/cache/locales/pt.json +1 -1
  102. data/lib/countries/cache/locales/ro.json +1 -1
  103. data/lib/countries/cache/locales/ru.json +1 -1
  104. data/lib/countries/cache/locales/rw.json +1 -1
  105. data/lib/countries/cache/locales/sc.json +1 -1
  106. data/lib/countries/cache/locales/sd.json +1 -1
  107. data/lib/countries/cache/locales/si.json +1 -1
  108. data/lib/countries/cache/locales/sk.json +1 -1
  109. data/lib/countries/cache/locales/sl.json +1 -1
  110. data/lib/countries/cache/locales/so.json +1 -1
  111. data/lib/countries/cache/locales/sq.json +1 -1
  112. data/lib/countries/cache/locales/sr.json +1 -1
  113. data/lib/countries/cache/locales/sv.json +1 -1
  114. data/lib/countries/cache/locales/sw.json +1 -1
  115. data/lib/countries/cache/locales/ta.json +1 -1
  116. data/lib/countries/cache/locales/te.json +1 -1
  117. data/lib/countries/cache/locales/tg.json +1 -1
  118. data/lib/countries/cache/locales/th.json +1 -1
  119. data/lib/countries/cache/locales/ti.json +1 -1
  120. data/lib/countries/cache/locales/tk.json +1 -1
  121. data/lib/countries/cache/locales/tl.json +1 -1
  122. data/lib/countries/cache/locales/tr.json +1 -1
  123. data/lib/countries/cache/locales/tt.json +1 -1
  124. data/lib/countries/cache/locales/ug.json +1 -1
  125. data/lib/countries/cache/locales/uk.json +1 -1
  126. data/lib/countries/cache/locales/ur.json +1 -1
  127. data/lib/countries/cache/locales/uz.json +1 -1
  128. data/lib/countries/cache/locales/ve.json +1 -1
  129. data/lib/countries/cache/locales/vi.json +1 -1
  130. data/lib/countries/cache/locales/wa.json +1 -1
  131. data/lib/countries/cache/locales/wo.json +1 -1
  132. data/lib/countries/cache/locales/xh.json +1 -1
  133. data/lib/countries/cache/locales/yo.json +1 -1
  134. data/lib/countries/cache/locales/zh-cn.json +1 -1
  135. data/lib/countries/cache/locales/zh-hk.json +1 -1
  136. data/lib/countries/cache/locales/zh-tw.json +1 -1
  137. data/lib/countries/cache/locales/zu.json +1 -1
  138. data/lib/countries/country/class_methods.rb +8 -26
  139. data/lib/countries/country.rb +31 -5
  140. data/lib/countries/data/countries/AU.yaml +1 -1
  141. data/lib/countries/data/countries/BS.yaml +1 -2
  142. data/lib/countries/data/countries/CZ.yaml +1 -0
  143. data/lib/countries/data/countries/GB.yaml +3 -0
  144. data/lib/countries/data/countries/GM.yaml +1 -1
  145. data/lib/countries/data/countries/MK.yaml +1 -0
  146. data/lib/countries/data/countries/MM.yaml +1 -1
  147. data/lib/countries/data/countries/NL.yaml +1 -0
  148. data/lib/countries/data/countries/TH.yaml +1 -0
  149. data/lib/countries/data/countries/TW.yaml +1 -1
  150. data/lib/countries/data/countries/US.yaml +1 -1
  151. data/lib/countries/data/countries/VI.yaml +1 -0
  152. data/lib/countries/data/subdivisions/AD.yaml +14 -7
  153. data/lib/countries/data/subdivisions/AE.yaml +14 -7
  154. data/lib/countries/data/subdivisions/AF.yaml +196 -201
  155. data/lib/countries/data/subdivisions/AG.yaml +16 -22
  156. data/lib/countries/data/subdivisions/AL.yaml +24 -12
  157. data/lib/countries/data/subdivisions/AM.yaml +22 -11
  158. data/lib/countries/data/subdivisions/AO.yaml +36 -18
  159. data/lib/countries/data/subdivisions/AR.yaml +48 -24
  160. data/lib/countries/data/subdivisions/AT.yaml +18 -9
  161. data/lib/countries/data/subdivisions/AU.yaml +16 -8
  162. data/lib/countries/data/subdivisions/AZ.yaml +434 -412
  163. data/lib/countries/data/subdivisions/BA.yaml +75 -223
  164. data/lib/countries/data/subdivisions/BB.yaml +22 -11
  165. data/lib/countries/data/subdivisions/BD.yaml +188 -116
  166. data/lib/countries/data/subdivisions/BE.yaml +174 -161
  167. data/lib/countries/data/subdivisions/BF.yaml +2918 -2860
  168. data/lib/countries/data/subdivisions/BG.yaml +56 -28
  169. data/lib/countries/data/subdivisions/BH.yaml +8 -21
  170. data/lib/countries/data/subdivisions/BI.yaml +176 -157
  171. data/lib/countries/data/subdivisions/BJ.yaml +24 -12
  172. data/lib/countries/data/subdivisions/BN.yaml +8 -4
  173. data/lib/countries/data/subdivisions/BO.yaml +18 -9
  174. data/lib/countries/data/subdivisions/BQ.yaml +6 -3
  175. data/lib/countries/data/subdivisions/BR.yaml +54 -27
  176. data/lib/countries/data/subdivisions/BS.yaml +575 -697
  177. data/lib/countries/data/subdivisions/BT.yaml +40 -20
  178. data/lib/countries/data/subdivisions/BW.yaml +337 -321
  179. data/lib/countries/data/subdivisions/BY.yaml +106 -116
  180. data/lib/countries/data/subdivisions/BZ.yaml +12 -6
  181. data/lib/countries/data/subdivisions/CA.yaml +26 -13
  182. data/lib/countries/data/subdivisions/CD.yaml +488 -525
  183. data/lib/countries/data/subdivisions/CF.yaml +34 -17
  184. data/lib/countries/data/subdivisions/CG.yaml +40 -28
  185. data/lib/countries/data/subdivisions/CH.yaml +52 -26
  186. data/lib/countries/data/subdivisions/CI.yaml +244 -516
  187. data/lib/countries/data/subdivisions/CL.yaml +81 -65
  188. data/lib/countries/data/subdivisions/CM.yaml +20 -10
  189. data/lib/countries/data/subdivisions/CN.yaml +2152 -2084
  190. data/lib/countries/data/subdivisions/CO.yaml +66 -33
  191. data/lib/countries/data/subdivisions/CR.yaml +14 -7
  192. data/lib/countries/data/subdivisions/CU.yaml +32 -16
  193. data/lib/countries/data/subdivisions/CV.yaml +427 -401
  194. data/lib/countries/data/subdivisions/CY.yaml +12 -6
  195. data/lib/countries/data/subdivisions/CZ.yaml +1116 -85
  196. data/lib/countries/data/subdivisions/DE.yaml +32 -16
  197. data/lib/countries/data/subdivisions/DJ.yaml +12 -6
  198. data/lib/countries/data/subdivisions/DK.yaml +25 -17
  199. data/lib/countries/data/subdivisions/DM.yaml +20 -10
  200. data/lib/countries/data/subdivisions/DO.yaml +84 -42
  201. data/lib/countries/data/subdivisions/DZ.yaml +96 -48
  202. data/lib/countries/data/subdivisions/EC.yaml +158 -134
  203. data/lib/countries/data/subdivisions/EE.yaml +501 -334
  204. data/lib/countries/data/subdivisions/EG.yaml +54 -27
  205. data/lib/countries/data/subdivisions/ER.yaml +12 -6
  206. data/lib/countries/data/subdivisions/ES.yaml +1459 -1390
  207. data/lib/countries/data/subdivisions/ET.yaml +22 -11
  208. data/lib/countries/data/subdivisions/FI.yaml +185 -1
  209. data/lib/countries/data/subdivisions/FJ.yaml +443 -424
  210. data/lib/countries/data/subdivisions/FM.yaml +8 -4
  211. data/lib/countries/data/subdivisions/FR.yaml +438 -275
  212. data/lib/countries/data/subdivisions/GA.yaml +18 -9
  213. data/lib/countries/data/subdivisions/GB.yaml +1185 -1708
  214. data/lib/countries/data/subdivisions/GD.yaml +14 -7
  215. data/lib/countries/data/subdivisions/GE.yaml +24 -12
  216. data/lib/countries/data/subdivisions/GH.yaml +114 -155
  217. data/lib/countries/data/subdivisions/GL.yaml +24 -79
  218. data/lib/countries/data/subdivisions/GM.yaml +12 -6
  219. data/lib/countries/data/subdivisions/GN.yaml +444 -403
  220. data/lib/countries/data/subdivisions/GQ.yaml +24 -13
  221. data/lib/countries/data/subdivisions/GR.yaml +114 -73
  222. data/lib/countries/data/subdivisions/GT.yaml +44 -22
  223. data/lib/countries/data/subdivisions/GW.yaml +69 -57
  224. data/lib/countries/data/subdivisions/GY.yaml +20 -10
  225. data/lib/countries/data/subdivisions/HN.yaml +36 -18
  226. data/lib/countries/data/subdivisions/HR.yaml +42 -21
  227. data/lib/countries/data/subdivisions/HT.yaml +73 -63
  228. data/lib/countries/data/subdivisions/HU.yaml +106 -63
  229. data/lib/countries/data/subdivisions/ID.yaml +229 -188
  230. data/lib/countries/data/subdivisions/IE.yaml +128 -97
  231. data/lib/countries/data/subdivisions/IL.yaml +12 -6
  232. data/lib/countries/data/subdivisions/IN.yaml +245 -396
  233. data/lib/countries/data/subdivisions/IQ.yaml +111 -91
  234. data/lib/countries/data/subdivisions/IR.yaml +1463 -1451
  235. data/lib/countries/data/subdivisions/IS.yaml +160 -25
  236. data/lib/countries/data/subdivisions/IT.yaml +8740 -8292
  237. data/lib/countries/data/subdivisions/JM.yaml +28 -14
  238. data/lib/countries/data/subdivisions/JO.yaml +24 -12
  239. data/lib/countries/data/subdivisions/JP.yaml +94 -47
  240. data/lib/countries/data/subdivisions/KE.yaml +95 -48
  241. data/lib/countries/data/subdivisions/KG.yaml +95 -86
  242. data/lib/countries/data/subdivisions/KH.yaml +64 -39
  243. data/lib/countries/data/subdivisions/KI.yaml +6 -3
  244. data/lib/countries/data/subdivisions/KM.yaml +6 -3
  245. data/lib/countries/data/subdivisions/KN.yaml +32 -16
  246. data/lib/countries/data/subdivisions/KP.yaml +24 -227
  247. data/lib/countries/data/subdivisions/KR.yaml +34 -17
  248. data/lib/countries/data/subdivisions/KW.yaml +12 -6
  249. data/lib/countries/data/subdivisions/KZ.yaml +47 -102
  250. data/lib/countries/data/subdivisions/LA.yaml +36 -34
  251. data/lib/countries/data/subdivisions/LB.yaml +71 -63
  252. data/lib/countries/data/subdivisions/LC.yaml +116 -106
  253. data/lib/countries/data/subdivisions/LI.yaml +22 -11
  254. data/lib/countries/data/subdivisions/LK.yaml +445 -411
  255. data/lib/countries/data/subdivisions/LR.yaml +146 -129
  256. data/lib/countries/data/subdivisions/LS.yaml +20 -10
  257. data/lib/countries/data/subdivisions/LT.yaml +1706 -1636
  258. data/lib/countries/data/subdivisions/LU.yaml +24 -12
  259. data/lib/countries/data/subdivisions/LV.yaml +1623 -1577
  260. data/lib/countries/data/subdivisions/LY.yaml +44 -22
  261. data/lib/countries/data/subdivisions/MA.yaml +810 -1589
  262. data/lib/countries/data/subdivisions/MC.yaml +261 -244
  263. data/lib/countries/data/subdivisions/MD.yaml +74 -79
  264. data/lib/countries/data/subdivisions/ME.yaml +217 -195
  265. data/lib/countries/data/subdivisions/MG.yaml +12 -6
  266. data/lib/countries/data/subdivisions/MH.yaml +167 -140
  267. data/lib/countries/data/subdivisions/MK.yaml +160 -80
  268. data/lib/countries/data/subdivisions/ML.yaml +48 -37
  269. data/lib/countries/data/subdivisions/MM.yaml +30 -15
  270. data/lib/countries/data/subdivisions/MN.yaml +44 -22
  271. data/lib/countries/data/subdivisions/MR.yaml +30 -34
  272. data/lib/countries/data/subdivisions/MT.yaml +136 -68
  273. data/lib/countries/data/subdivisions/MU.yaml +24 -262
  274. data/lib/countries/data/subdivisions/MV.yaml +161 -254
  275. data/lib/countries/data/subdivisions/MW.yaml +250 -219
  276. data/lib/countries/data/subdivisions/MX.yaml +64 -32
  277. data/lib/countries/data/subdivisions/MY.yaml +32 -16
  278. data/lib/countries/data/subdivisions/MZ.yaml +22 -11
  279. data/lib/countries/data/subdivisions/NA.yaml +58 -44
  280. data/lib/countries/data/subdivisions/NE.yaml +16 -8
  281. data/lib/countries/data/subdivisions/NG.yaml +74 -37
  282. data/lib/countries/data/subdivisions/NI.yaml +34 -17
  283. data/lib/countries/data/subdivisions/NL.yaml +303 -285
  284. data/lib/countries/data/subdivisions/NO.yaml +39 -17
  285. data/lib/countries/data/subdivisions/NP.yaml +302 -276
  286. data/lib/countries/data/subdivisions/NR.yaml +28 -14
  287. data/lib/countries/data/subdivisions/NZ.yaml +34 -17
  288. data/lib/countries/data/subdivisions/OM.yaml +260 -311
  289. data/lib/countries/data/subdivisions/PA.yaml +57 -44
  290. data/lib/countries/data/subdivisions/PE.yaml +107 -81
  291. data/lib/countries/data/subdivisions/PG.yaml +163 -158
  292. data/lib/countries/data/subdivisions/PH.yaml +5062 -4992
  293. data/lib/countries/data/subdivisions/PK.yaml +145 -235
  294. data/lib/countries/data/subdivisions/PL.yaml +51 -3
  295. data/lib/countries/data/subdivisions/PS.yaml +32 -16
  296. data/lib/countries/data/subdivisions/PT.yaml +40 -20
  297. data/lib/countries/data/subdivisions/PW.yaml +32 -16
  298. data/lib/countries/data/subdivisions/PY.yaml +36 -18
  299. data/lib/countries/data/subdivisions/QA.yaml +27 -78
  300. data/lib/countries/data/subdivisions/RO.yaml +84 -42
  301. data/lib/countries/data/subdivisions/RS.yaml +104 -72
  302. data/lib/countries/data/subdivisions/RU.yaml +166 -83
  303. data/lib/countries/data/subdivisions/RW.yaml +10 -5
  304. data/lib/countries/data/subdivisions/SA.yaml +26 -13
  305. data/lib/countries/data/subdivisions/SB.yaml +20 -10
  306. data/lib/countries/data/subdivisions/SC.yaml +54 -25
  307. data/lib/countries/data/subdivisions/SD.yaml +798 -780
  308. data/lib/countries/data/subdivisions/SE.yaml +42 -21
  309. data/lib/countries/data/subdivisions/SG.yaml +15 -10
  310. data/lib/countries/data/subdivisions/SH.yaml +21 -32
  311. data/lib/countries/data/subdivisions/SI.yaml +475 -263
  312. data/lib/countries/data/subdivisions/SK.yaml +16 -8
  313. data/lib/countries/data/subdivisions/SL.yaml +23 -18
  314. data/lib/countries/data/subdivisions/SM.yaml +18 -9
  315. data/lib/countries/data/subdivisions/SN.yaml +188 -174
  316. data/lib/countries/data/subdivisions/SO.yaml +36 -18
  317. data/lib/countries/data/subdivisions/SR.yaml +20 -10
  318. data/lib/countries/data/subdivisions/SS.yaml +20 -10
  319. data/lib/countries/data/subdivisions/ST.yaml +38 -52
  320. data/lib/countries/data/subdivisions/SV.yaml +28 -14
  321. data/lib/countries/data/subdivisions/SY.yaml +28 -14
  322. data/lib/countries/data/subdivisions/SZ.yaml +8 -4
  323. data/lib/countries/data/subdivisions/TD.yaml +312 -303
  324. data/lib/countries/data/subdivisions/TG.yaml +10 -5
  325. data/lib/countries/data/subdivisions/TH.yaml +211 -133
  326. data/lib/countries/data/subdivisions/TJ.yaml +161 -156
  327. data/lib/countries/data/subdivisions/TL.yaml +26 -13
  328. data/lib/countries/data/subdivisions/TM.yaml +12 -6
  329. data/lib/countries/data/subdivisions/TN.yaml +48 -24
  330. data/lib/countries/data/subdivisions/TO.yaml +10 -5
  331. data/lib/countries/data/subdivisions/TR.yaml +162 -81
  332. data/lib/countries/data/subdivisions/TT.yaml +128 -160
  333. data/lib/countries/data/subdivisions/TV.yaml +57 -63
  334. data/lib/countries/data/subdivisions/TW.yaml +143 -183
  335. data/lib/countries/data/subdivisions/TZ.yaml +62 -31
  336. data/lib/countries/data/subdivisions/UA.yaml +55 -28
  337. data/lib/countries/data/subdivisions/UG.yaml +4806 -4660
  338. data/lib/countries/data/subdivisions/UM.yaml +18 -9
  339. data/lib/countries/data/subdivisions/US.yaml +114 -57
  340. data/lib/countries/data/subdivisions/UY.yaml +99 -80
  341. data/lib/countries/data/subdivisions/UZ.yaml +28 -14
  342. data/lib/countries/data/subdivisions/VC.yaml +12 -6
  343. data/lib/countries/data/subdivisions/VE.yaml +50 -25
  344. data/lib/countries/data/subdivisions/VN.yaml +3576 -3513
  345. data/lib/countries/data/subdivisions/VU.yaml +12 -6
  346. data/lib/countries/data/subdivisions/WF.yaml +6 -3
  347. data/lib/countries/data/subdivisions/WS.yaml +22 -11
  348. data/lib/countries/data/subdivisions/YE.yaml +222 -200
  349. data/lib/countries/data/subdivisions/ZA.yaml +86 -100
  350. data/lib/countries/data/subdivisions/ZM.yaml +20 -10
  351. data/lib/countries/data/subdivisions/ZW.yaml +20 -10
  352. data/lib/countries/data/translations/countries-ab.yaml +254 -0
  353. data/lib/countries/data/translations/countries-af.yaml +254 -0
  354. data/lib/countries/data/translations/countries-ak.yaml +254 -0
  355. data/lib/countries/data/translations/countries-am.yaml +254 -0
  356. data/lib/countries/data/translations/countries-an.yaml +254 -0
  357. data/lib/countries/data/translations/countries-ar.yaml +254 -0
  358. data/lib/countries/data/translations/countries-as.yaml +254 -0
  359. data/lib/countries/data/translations/countries-ay.yaml +254 -0
  360. data/lib/countries/data/translations/countries-az.yaml +254 -0
  361. data/lib/countries/data/translations/countries-ba.yaml +254 -0
  362. data/lib/countries/data/translations/countries-be.yaml +254 -0
  363. data/lib/countries/data/translations/countries-bg.yaml +254 -0
  364. data/lib/countries/data/translations/countries-bi.yaml +254 -0
  365. data/lib/countries/data/translations/countries-bn.yaml +254 -0
  366. data/lib/countries/data/translations/countries-bn_IN.yaml +254 -0
  367. data/lib/countries/data/translations/countries-br.yaml +254 -0
  368. data/lib/countries/data/translations/countries-bs.yaml +254 -0
  369. data/lib/countries/data/translations/countries-ca.yaml +254 -0
  370. data/lib/countries/data/translations/countries-ce.yaml +254 -0
  371. data/lib/countries/data/translations/countries-ch.yaml +254 -0
  372. data/lib/countries/data/translations/countries-cs.yaml +254 -0
  373. data/lib/countries/data/translations/countries-cv.yaml +254 -0
  374. data/lib/countries/data/translations/countries-cy.yaml +254 -0
  375. data/lib/countries/data/translations/countries-da.yaml +254 -0
  376. data/lib/countries/data/translations/countries-de.yaml +254 -0
  377. data/lib/countries/data/translations/countries-dv.yaml +254 -0
  378. data/lib/countries/data/translations/countries-dz.yaml +254 -0
  379. data/lib/countries/data/translations/countries-ee.yaml +254 -0
  380. data/lib/countries/data/translations/countries-el.yaml +254 -0
  381. data/lib/countries/data/translations/countries-en.yaml +254 -0
  382. data/lib/countries/data/translations/countries-eo.yaml +254 -0
  383. data/lib/countries/data/translations/countries-es.yaml +254 -0
  384. data/lib/countries/data/translations/countries-et.yaml +254 -0
  385. data/lib/countries/data/translations/countries-eu.yaml +254 -0
  386. data/lib/countries/data/translations/countries-fa.yaml +254 -0
  387. data/lib/countries/data/translations/countries-ff.yaml +254 -0
  388. data/lib/countries/data/translations/countries-fi.yaml +254 -0
  389. data/lib/countries/data/translations/countries-fo.yaml +254 -0
  390. data/lib/countries/data/translations/countries-fr.yaml +254 -0
  391. data/lib/countries/data/translations/countries-fy.yaml +254 -0
  392. data/lib/countries/data/translations/countries-ga.yaml +254 -0
  393. data/lib/countries/data/translations/countries-gl.yaml +254 -0
  394. data/lib/countries/data/translations/countries-gn.yaml +254 -0
  395. data/lib/countries/data/translations/countries-gu.yaml +254 -0
  396. data/lib/countries/data/translations/countries-gv.yaml +254 -0
  397. data/lib/countries/data/translations/countries-ha.yaml +254 -0
  398. data/lib/countries/data/translations/countries-he.yaml +254 -0
  399. data/lib/countries/data/translations/countries-hi.yaml +254 -0
  400. data/lib/countries/data/translations/countries-hr.yaml +254 -0
  401. data/lib/countries/data/translations/countries-ht.yaml +254 -0
  402. data/lib/countries/data/translations/countries-hu.yaml +254 -0
  403. data/lib/countries/data/translations/countries-hy.yaml +254 -0
  404. data/lib/countries/data/translations/countries-ia.yaml +254 -0
  405. data/lib/countries/data/translations/countries-id.yaml +254 -0
  406. data/lib/countries/data/translations/countries-io.yaml +254 -0
  407. data/lib/countries/data/translations/countries-is.yaml +254 -0
  408. data/lib/countries/data/translations/countries-it.yaml +254 -0
  409. data/lib/countries/data/translations/countries-iu.yaml +254 -0
  410. data/lib/countries/data/translations/countries-ja.yaml +254 -0
  411. data/lib/countries/data/translations/countries-ka.yaml +254 -0
  412. data/lib/countries/data/translations/countries-ki.yaml +254 -0
  413. data/lib/countries/data/translations/countries-kk.yaml +254 -0
  414. data/lib/countries/data/translations/countries-kl.yaml +254 -0
  415. data/lib/countries/data/translations/countries-km.yaml +254 -0
  416. data/lib/countries/data/translations/countries-kn.yaml +254 -0
  417. data/lib/countries/data/translations/countries-ko.yaml +254 -0
  418. data/lib/countries/data/translations/countries-ku.yaml +254 -0
  419. data/lib/countries/data/translations/countries-kv.yaml +254 -0
  420. data/lib/countries/data/translations/countries-kw.yaml +254 -0
  421. data/lib/countries/data/translations/countries-ky.yaml +254 -0
  422. data/lib/countries/data/translations/countries-lo.yaml +254 -0
  423. data/lib/countries/data/translations/countries-lt.yaml +254 -0
  424. data/lib/countries/data/translations/countries-lv.yaml +254 -0
  425. data/lib/countries/data/translations/countries-mi.yaml +254 -0
  426. data/lib/countries/data/translations/countries-mk.yaml +254 -0
  427. data/lib/countries/data/translations/countries-ml.yaml +254 -0
  428. data/lib/countries/data/translations/countries-mn.yaml +254 -0
  429. data/lib/countries/data/translations/countries-mr.yaml +254 -0
  430. data/lib/countries/data/translations/countries-ms.yaml +254 -0
  431. data/lib/countries/data/translations/countries-mt.yaml +254 -0
  432. data/lib/countries/data/translations/countries-my.yaml +254 -0
  433. data/lib/countries/data/translations/countries-na.yaml +254 -0
  434. data/lib/countries/data/translations/countries-nb.yaml +254 -0
  435. data/lib/countries/data/translations/countries-ne.yaml +254 -0
  436. data/lib/countries/data/translations/countries-nl.yaml +254 -0
  437. data/lib/countries/data/translations/countries-nn.yaml +254 -0
  438. data/lib/countries/data/translations/countries-nv.yaml +254 -0
  439. data/lib/countries/data/translations/countries-oc.yaml +254 -0
  440. data/lib/countries/data/translations/countries-or.yaml +254 -0
  441. data/lib/countries/data/translations/countries-pa.yaml +254 -0
  442. data/lib/countries/data/translations/countries-pi.yaml +254 -0
  443. data/lib/countries/data/translations/countries-pl.yaml +254 -0
  444. data/lib/countries/data/translations/countries-ps.yaml +254 -0
  445. data/lib/countries/data/translations/countries-pt.yaml +254 -0
  446. data/lib/countries/data/translations/countries-pt_BR.yaml +254 -0
  447. data/lib/countries/data/translations/countries-ro.yaml +254 -0
  448. data/lib/countries/data/translations/countries-ru.yaml +254 -0
  449. data/lib/countries/data/translations/countries-rw.yaml +254 -0
  450. data/lib/countries/data/translations/countries-sc.yaml +254 -0
  451. data/lib/countries/data/translations/countries-sd.yaml +254 -0
  452. data/lib/countries/data/translations/countries-si.yaml +254 -0
  453. data/lib/countries/data/translations/countries-sk.yaml +254 -0
  454. data/lib/countries/data/translations/countries-sl.yaml +254 -0
  455. data/lib/countries/data/translations/countries-so.yaml +254 -0
  456. data/lib/countries/data/translations/countries-sq.yaml +254 -0
  457. data/lib/countries/data/translations/countries-sr.yaml +254 -0
  458. data/lib/countries/data/translations/countries-sv.yaml +254 -0
  459. data/lib/countries/data/translations/countries-sw.yaml +254 -0
  460. data/lib/countries/data/translations/countries-ta.yaml +254 -0
  461. data/lib/countries/data/translations/countries-te.yaml +254 -0
  462. data/lib/countries/data/translations/countries-tg.yaml +254 -0
  463. data/lib/countries/data/translations/countries-th.yaml +254 -0
  464. data/lib/countries/data/translations/countries-ti.yaml +254 -0
  465. data/lib/countries/data/translations/countries-tk.yaml +254 -0
  466. data/lib/countries/data/translations/countries-tl.yaml +254 -0
  467. data/lib/countries/data/translations/countries-tr.yaml +254 -0
  468. data/lib/countries/data/translations/countries-tt.yaml +254 -0
  469. data/lib/countries/data/translations/countries-ug.yaml +254 -0
  470. data/lib/countries/data/translations/countries-uk.yaml +254 -0
  471. data/lib/countries/data/translations/countries-ur.yaml +254 -0
  472. data/lib/countries/data/translations/countries-uz.yaml +254 -0
  473. data/lib/countries/data/translations/countries-ve.yaml +254 -0
  474. data/lib/countries/data/translations/countries-vi.yaml +254 -0
  475. data/lib/countries/data/translations/countries-wa.yaml +254 -0
  476. data/lib/countries/data/translations/countries-wo.yaml +254 -0
  477. data/lib/countries/data/translations/countries-xh.yaml +254 -0
  478. data/lib/countries/data/translations/countries-yo.yaml +254 -0
  479. data/lib/countries/data/translations/countries-zh_CN.yaml +254 -0
  480. data/lib/countries/data/translations/countries-zh_HK.yaml +254 -0
  481. data/lib/countries/data/translations/countries-zh_TW.yaml +254 -0
  482. data/lib/countries/data/translations/countries-zu.yaml +254 -0
  483. data/lib/countries/data.rb +40 -8
  484. data/lib/countries/iso3166.rb +0 -1
  485. data/lib/countries/sources/cldr/subdivision_updater.rb +1 -1
  486. data/lib/countries/subdivision.rb +19 -8
  487. data/lib/countries/version.rb +1 -1
  488. data/spec/country_spec.rb +63 -19
  489. data/spec/data_spec.rb +74 -5
  490. metadata +133 -24
  491. data/lib/countries/cache/locales/zh.json +0 -1
  492. data/lib/countries/data/subdivisions/AI.yaml +0 -197
  493. data/lib/countries/data/subdivisions/BM.yaml +0 -155
  494. data/lib/countries/data/subdivisions/CK.yaml +0 -155
  495. data/lib/countries/data/subdivisions/EH.yaml +0 -80
  496. data/lib/countries/data/subdivisions/SJ.yaml +0 -29
  497. data/lib/countries/data/subdivisions/TK.yaml +0 -43
  498. data/lib/countries/data/translation_corrections.yaml +0 -53
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: baeec795ef76c0171afb436d9371e30837e0eef7290642e36ae9ac96a99d02aa
4
- data.tar.gz: e621054ef6fa804e1116a0ac79fbaf6251a32181bd4941c9028b9fcf0a9c6b19
3
+ metadata.gz: b239f5f25018bc1ba87fd49d3b1b8adfad49b7e24e4e17a2793aa886d1cd4c59
4
+ data.tar.gz: a6fc5738ec1c281a68efd1109d6763ad08a6082e63c2d400b7216d862b7e823a
5
5
  SHA512:
6
- metadata.gz: 388d84578afe4d7c8fd5e31dbfa0827e0a1ed2f63aee0f4ebd59da436200268ffa23af28952351474c47bd51ac4d6bfe1ea798353987da9ec1e6e31dce1da2af
7
- data.tar.gz: a610bd578f9ceba72e04353c1edb69d4f93b23ba4ad398f1280b86959b4d19ef079c30df102b715097755136b32926d3e5ffdd48176e032fd05047303390e84d
6
+ metadata.gz: da2b9eeb20881a037dffc3c0280405deac1d1be3c9ed01be1fe5bbb9ff1f8ace189ee97803371080e07df93118b3dd982bb67349f745252d2e7e411c14a90517
7
+ data.tar.gz: 1044da2ddbf3ec28d3676d480185f7ad6d370ac81dd9d2e07e77f637110db3a9d0689128072a273785aedf7b6b33b2aa9550d6417cd567cf371d375b40bdcaf8
data/CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project adheres to [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [5.1.2](https://github.com/countries/countries/releases/tag/v5.1.1') (2022/08/11 14:35 +00:00)
7
+
8
+ * Missing unofficial translations, addresses the remaining translations in [\#580](https://github.com/countries/countries/issues/580) - [\#764](https://github.com/countries/countries/pull/764) ([pmor](https://github.com/pmor))
9
+
10
+
11
+ ## [5.1.1](https://github.com/countries/countries/releases/tag/v5.1.1') (2022/07/18 09:10 +00:00)
12
+
13
+ **Important changes**
14
+
15
+ - Subdivision loading now respects the configured locales and will only load subdivision translations for the configured locales instead of loading all translations. This fixes [\#580](https://github.com/countries/countries/issues/580)
16
+
17
+ **Merged pull requests:**
18
+
19
+ * Refactor subdivision loading to respect the configured locales. [\#762](https://github.com/countries/countries/pull/762) ([pmor](https://github.com/pmor))
20
+ * Add an alternative name for USVI lookup [\#763](https://github.com/countries/countries/pull/763) ([tadejm](https://github.com/tadejm))
21
+
22
+
23
+ ## [5.1.0](https://github.com/countries/countries/releases/tag/v5.1.0') (2022/06/27 07:50 +00:00)
24
+
25
+ **Important changes**
26
+
27
+ - `Subdivision` now has a `type` attribute obtained from ISO3166-2 subdivision types. `type` is a _lowercase_ and _snake_cased_ string.
28
+ - Adds `Country#subdivision_types` and `#humanized_subdivision_types` to list a country's subdivision types
29
+ - Adds `Country#subdivisions_of_types(types)` to allow getting subdivisions of given type(s)
30
+ - `Country#states` is now deprecated to avoid confusion (this method was just an alias to `#subdivisions` and retuns all subdivisions, regarless of type)
31
+
32
+ **Merged pull requests:**
33
+
34
+ * Remove i18n_data dependency [\#755](https://github.com/countries/countries/pull/755) ([pmor](https://github.com/pmor))
35
+ * Update subdivision YAML with codes [\#757](https://github.com/countries/countries/pull/757) ([pmor](https://github.com/pmor))
36
+ * Add subdivision types from ISO3166-2 [\#758](https://github.com/countries/countries/pull/758) ([pmor](https://github.com/pmor))
37
+
6
38
  ## [5.0.2](https://github.com/countries/countries/releases/tag/v5.0.2') (2022/06/02 20:01 +00:00)
7
39
 
8
40
  **Merged pull requests:**
data/README.markdown CHANGED
@@ -99,10 +99,11 @@ c.local_name # => "België"
99
99
  c.translation('de') # => 'Vereinigte Staaten von Amerika'
100
100
  c.translations['fr'] # => "États-Unis"
101
101
 
102
+ # Get all translations for a locale, defaults to 'en'
102
103
  ISO3166::Country.translations # {"DE"=>"Germany",...}
103
- ISO3166::Country.translations('DE') # {"DE"=>"Deutschland",...}
104
+ ISO3166::Country.translations('de') # {"DE"=>"Deutschland",...}
104
105
  ISO3166::Country.all_translated # ['Germany', ...]
105
- ISO3166::Country.all_translated('DE') # ['Deutschland', ...]
106
+ ISO3166::Country.all_translated('de') # ['Deutschland', ...]
106
107
 
107
108
  # Nationality
108
109
  c.nationality # => "American"
@@ -112,8 +113,14 @@ c.nationality # => "American"
112
113
 
113
114
  ```ruby
114
115
  c.subdivisions # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
116
+ c.subdivision_types # => ["state", "outlying_area", "district"]
117
+ c.subdivisions_of_types(['state']) # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
118
+ c.humanized_subdivision_types # => ["State", "Outlying area", "District"]
119
+
120
+ # This is now deprecated. #states is an alias of #subdivisions and returns all subdivisions regardless of type
115
121
  c.states # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
116
122
 
123
+
117
124
  # Get specific translations for the country subdivisions
118
125
  c.subdivision_names_with_codes('es') #=> [ ..., ["Nuevo Hampshire", "NH"], ["Nueva Jersey", "NJ"], ... ]
119
126
  ```
@@ -249,6 +256,9 @@ ISO3166.configure do |config|
249
256
  end
250
257
  ```
251
258
 
259
+ If you change the value of `ISO3166.configuration.locales` after initialization, you should call `ISO3166::Data.reset` to reset the data cache, or you may end up with inconsistently loaded locales.
260
+ As of 5.1.1, subdivision translations also respect this and will only load the selected locales.
261
+
252
262
  ## Loading Custom Data
253
263
 
254
264
  As of 2.0 countries supports loading custom countries / overriding data in its data set, though if you choose to do this please contribute back to the upstream repo!
@@ -318,10 +328,7 @@ end
318
328
 
319
329
  **Please do not submit pull requests on `cache/**/*`**. These files generated by a rake task when preparing new releases and are not meant to be manually updated.
320
330
 
321
- Localized country name data is sourced from the [i18n_data](https://github.com/grosser/i18n_data) gem (which is based on [pkg-isocodes](https://salsa.debian.org/iso-codes-team/iso-codes)).
322
- Issues regarding localized country names can be reported to https://github.com/grosser/i18n_data/issues or https://salsa.debian.org/iso-codes-team/iso-codes/issues
323
-
324
- If you need to correct an upstream translation please add it to the `lib/countries/data/translations_corrections.yaml`, and they will be injected during the next `rake update_cache`.
331
+ If you with to submit a PR to correct an translation, please edit the `lib/countries/data/translations/countries-<locale>.yaml` file. Changes to the locale YAML files will be injected during the next `rake update_cache`.
325
332
 
326
333
  * Fork the project.
327
334
  * Make your feature addition or bug fix.
@@ -335,6 +342,8 @@ If you need to correct an upstream translation please add it to the `lib/countri
335
342
 
336
343
  ## Copyright
337
344
 
338
- Copyright (c) 2012-2015 hexorx; 2015-2021 hexorx, rposborne; 2022 hexorx, rposborne, pmor
345
+ Copyright (c) 2012-2015 hexorx \
346
+ Copyright (c) 2015-2021 hexorx, rposborne \
347
+ Copyright (c) 2022 hexorx, rposborne, pmor
339
348
 
340
349
  See LICENSE for details.
data/Rakefile CHANGED
@@ -30,30 +30,12 @@ end
30
30
 
31
31
  desc 'Update Cache'
32
32
  task :update_cache do
33
- require 'yaml'
34
- require 'i18n_data'
35
-
36
33
  codes = Dir['lib/countries/data/countries/*.yaml'].map { |x| File.basename(x, File.extname(x)) }.uniq.sort
37
34
  data = {}
38
35
 
39
- corrections_file = File.join(File.dirname(__FILE__), 'lib', 'countries', 'data', 'translation_corrections.yaml')
40
- corrections = YAML.load_file(corrections_file) || {}
41
-
42
- language_keys = I18nData.languages.keys + %w[zh_CN zh_TW zh_HK bn_IN pt_BR]
43
- # Ignore locales that have bad data in i18n_data 0.16.0
44
- language_keys -= %w[AY AM BA]
45
- language_keys.each do |locale|
46
- locale = locale.downcase
47
- begin
48
- local_names = I18nData.countries(locale)
49
- rescue I18nData::NoTranslationAvailable
50
- next
51
- end
52
-
53
- # Apply any known corrections to i18n_data
54
- corrections[locale]&.each do |alpha2, localized_name|
55
- local_names[alpha2] = localized_name
56
- end
36
+ Dir['lib/countries/data/translations/countries-*.yaml'].each do |locale_file|
37
+ locale = locale_file.split('-').last.split('.').first.downcase
38
+ local_names = YAML.load_file(locale_file)
57
39
 
58
40
  out = File.join(File.dirname(__FILE__), 'lib', 'countries', 'cache', 'locales', "#{locale.gsub(/_/, '-')}.json")
59
41
  File.binwrite(out, local_names.to_json)
@@ -67,3 +49,15 @@ task :update_cache do
67
49
  out_file = File.join(File.dirname(__FILE__), 'lib', 'countries', 'cache', 'countries.json')
68
50
  File.binwrite(out_file, data.to_json)
69
51
  end
52
+
53
+ desc 'Sort subdivision YAML by code and translations by locale'
54
+ task :cleanup_subdivision_yaml do
55
+ ISO3166::Country.codes.each do |c_code|
56
+ sd = Sources::Local::Subdivision.new(c_code)
57
+ data = sd.load
58
+ next if data.nil? || data == {}
59
+ data = data.sort.to_h
60
+ data['translations'] = data['translations'].sort.to_h unless data['translations'].nil?
61
+ sd.save(data)
62
+ end
63
+ end
data/UPGRADE.md CHANGED
@@ -21,6 +21,19 @@ With the addition of the new name attributes, there are now also the following f
21
21
  - `#find_by_iso_short_name`/`#find_*_by_iso_short_name`
22
22
  - `#find_by_iso_long_name`/`#find_*_by_iso_long_name`
23
23
 
24
- For translated country names, we use data from [pkg-isocodes](https://salsa.debian.org/iso-codes-team/iso-codes), via the [i18n_data](https://github.com/grosser/i18n_data) gem, and these generally correspond to the expected "common names". These names and the corresponding methods have not been changed.
24
+ For translated country names, we use data originally sourced from [pkg-isocodes](https://salsa.debian.org/iso-codes-team/iso-codes), via the [i18n_data](https://github.com/grosser/i18n_data) gem, and these generally correspond to the expected "common names". Some corrections have been applied to these localized names. The methods to access translated names have not been changed.
25
25
 
26
- The 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)
26
+ The 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)
27
+
28
+ # Upgrading to 5.1
29
+
30
+ In release 5.1 a `type` attribute was added to the subdivisions object, to allow filtering the collection of subdivisions.
31
+
32
+ - `Country#subdivision_types` returns a list of subdivision types for that country (lowercase, snake_cased)
33
+ - `#subdivisions_of_types(types)` accepts an array of subdivision types and returns the subdivisions for those types
34
+
35
+ The `#states` method is deprecated to avoid confusion, as this method is an alias to `#subdivisions` and returns all subdivisions, regardless of type.
36
+
37
+ To get a list of `state` subdivisions (something that was not possible before 5.1), use `subdivisions_of_types(['state'])`
38
+
39
+ Please note that the subdivision types are obtained from ISO data, and each country defines its own subdivision types, eg: `state`, `district`, `region`, `municipality` and many others types exist.
data/countries.gemspec CHANGED
@@ -23,7 +23,6 @@ Gem::Specification.new do |gem|
23
23
 
24
24
  gem.required_ruby_version = '>= 2.7'
25
25
 
26
- gem.add_dependency('i18n_data', '~> 0.16.0')
27
26
  gem.add_dependency('sixarm_ruby_unaccent', '~> 1.1')
28
27
  gem.add_development_dependency('activesupport', '>= 3')
29
28
  gem.add_development_dependency('nokogiri', '>= 1.8')