flag_icon 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +25 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +42 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +43 -0
  10. data/Rakefile +8 -0
  11. data/flag_icon.gemspec +34 -0
  12. data/lib/flag_icon/countries.rb +486 -0
  13. data/lib/flag_icon/helper.rb +40 -0
  14. data/lib/flag_icon/rails/engine.rb +6 -0
  15. data/lib/flag_icon/rails/version.rb +5 -0
  16. data/lib/flag_icon/rails.rb +7 -0
  17. data/lib/flag_icon/railtie.rb +10 -0
  18. data/lib/flag_icon.rb +4 -0
  19. data/vendor/assets/images/flags/4x3/ab.svg +18 -0
  20. data/vendor/assets/images/flags/4x3/ac.svg +76 -0
  21. data/vendor/assets/images/flags/4x3/ad.svg +150 -0
  22. data/vendor/assets/images/flags/4x3/ae.svg +6 -0
  23. data/vendor/assets/images/flags/4x3/af.svg +81 -0
  24. data/vendor/assets/images/flags/4x3/ag.svg +14 -0
  25. data/vendor/assets/images/flags/4x3/ai.svg +763 -0
  26. data/vendor/assets/images/flags/4x3/al.svg +5 -0
  27. data/vendor/assets/images/flags/4x3/am.svg +5 -0
  28. data/vendor/assets/images/flags/4x3/ao.svg +13 -0
  29. data/vendor/assets/images/flags/4x3/aq.svg +5 -0
  30. data/vendor/assets/images/flags/4x3/ar.svg +31 -0
  31. data/vendor/assets/images/flags/4x3/as.svg +33 -0
  32. data/vendor/assets/images/flags/4x3/at.svg +6 -0
  33. data/vendor/assets/images/flags/4x3/au.svg +9 -0
  34. data/vendor/assets/images/flags/4x3/aw.svg +186 -0
  35. data/vendor/assets/images/flags/4x3/ax.svg +18 -0
  36. data/vendor/assets/images/flags/4x3/az.svg +8 -0
  37. data/vendor/assets/images/flags/4x3/ba.svg +12 -0
  38. data/vendor/assets/images/flags/4x3/bb.svg +6 -0
  39. data/vendor/assets/images/flags/4x3/bd.svg +4 -0
  40. data/vendor/assets/images/flags/4x3/be.svg +7 -0
  41. data/vendor/assets/images/flags/4x3/bf.svg +7 -0
  42. data/vendor/assets/images/flags/4x3/bg.svg +7 -0
  43. data/vendor/assets/images/flags/4x3/bh.svg +9 -0
  44. data/vendor/assets/images/flags/4x3/bi.svg +15 -0
  45. data/vendor/assets/images/flags/4x3/bj.svg +14 -0
  46. data/vendor/assets/images/flags/4x3/bl.svg +7 -0
  47. data/vendor/assets/images/flags/4x3/bm.svg +99 -0
  48. data/vendor/assets/images/flags/4x3/bn.svg +36 -0
  49. data/vendor/assets/images/flags/4x3/bo.svg +676 -0
  50. data/vendor/assets/images/flags/4x3/bq.svg +5 -0
  51. data/vendor/assets/images/flags/4x3/br.svg +45 -0
  52. data/vendor/assets/images/flags/4x3/bs.svg +13 -0
  53. data/vendor/assets/images/flags/4x3/bt.svg +89 -0
  54. data/vendor/assets/images/flags/4x3/bv.svg +13 -0
  55. data/vendor/assets/images/flags/4x3/bw.svg +7 -0
  56. data/vendor/assets/images/flags/4x3/by.svg +20 -0
  57. data/vendor/assets/images/flags/4x3/bz.svg +145 -0
  58. data/vendor/assets/images/flags/4x3/ca.svg +4 -0
  59. data/vendor/assets/images/flags/4x3/cc.svg +19 -0
  60. data/vendor/assets/images/flags/4x3/cd.svg +5 -0
  61. data/vendor/assets/images/flags/4x3/cf.svg +15 -0
  62. data/vendor/assets/images/flags/4x3/cg.svg +12 -0
  63. data/vendor/assets/images/flags/4x3/ch.svg +9 -0
  64. data/vendor/assets/images/flags/4x3/ci.svg +7 -0
  65. data/vendor/assets/images/flags/4x3/ck.svg +9 -0
  66. data/vendor/assets/images/flags/4x3/cl.svg +13 -0
  67. data/vendor/assets/images/flags/4x3/cm.svg +15 -0
  68. data/vendor/assets/images/flags/4x3/cn.svg +11 -0
  69. data/vendor/assets/images/flags/4x3/co.svg +7 -0
  70. data/vendor/assets/images/flags/4x3/cp.svg +7 -0
  71. data/vendor/assets/images/flags/4x3/cr.svg +7 -0
  72. data/vendor/assets/images/flags/4x3/cu.svg +13 -0
  73. data/vendor/assets/images/flags/4x3/cv.svg +13 -0
  74. data/vendor/assets/images/flags/4x3/cw.svg +14 -0
  75. data/vendor/assets/images/flags/4x3/cx.svg +15 -0
  76. data/vendor/assets/images/flags/4x3/cy.svg +6 -0
  77. data/vendor/assets/images/flags/4x3/cz.svg +5 -0
  78. data/vendor/assets/images/flags/4x3/de.svg +5 -0
  79. data/vendor/assets/images/flags/4x3/dg.svg +138 -0
  80. data/vendor/assets/images/flags/4x3/dj.svg +13 -0
  81. data/vendor/assets/images/flags/4x3/dk.svg +5 -0
  82. data/vendor/assets/images/flags/4x3/dm.svg +152 -0
  83. data/vendor/assets/images/flags/4x3/do.svg +6745 -0
  84. data/vendor/assets/images/flags/4x3/dz.svg +5 -0
  85. data/vendor/assets/images/flags/4x3/ea.svg +544 -0
  86. data/vendor/assets/images/flags/4x3/ec.svg +138 -0
  87. data/vendor/assets/images/flags/4x3/ee.svg +7 -0
  88. data/vendor/assets/images/flags/4x3/eg.svg +38 -0
  89. data/vendor/assets/images/flags/4x3/eh.svg +16 -0
  90. data/vendor/assets/images/flags/4x3/en.svg +7 -0
  91. data/vendor/assets/images/flags/4x3/er.svg +8 -0
  92. data/vendor/assets/images/flags/4x3/es-ct.svg +4 -0
  93. data/vendor/assets/images/flags/4x3/es-ga.svg +189 -0
  94. data/vendor/assets/images/flags/4x3/es.svg +544 -0
  95. data/vendor/assets/images/flags/4x3/et.svg +14 -0
  96. data/vendor/assets/images/flags/4x3/eu.svg +28 -0
  97. data/vendor/assets/images/flags/4x3/fi.svg +5 -0
  98. data/vendor/assets/images/flags/4x3/fj.svg +122 -0
  99. data/vendor/assets/images/flags/4x3/fk.svg +90 -0
  100. data/vendor/assets/images/flags/4x3/fm.svg +11 -0
  101. data/vendor/assets/images/flags/4x3/fo.svg +12 -0
  102. data/vendor/assets/images/flags/4x3/fr.svg +7 -0
  103. data/vendor/assets/images/flags/4x3/ga.svg +7 -0
  104. data/vendor/assets/images/flags/4x3/gb-eng.svg +5 -0
  105. data/vendor/assets/images/flags/4x3/gb-nir.svg +132 -0
  106. data/vendor/assets/images/flags/4x3/gb-sct.svg +4 -0
  107. data/vendor/assets/images/flags/4x3/gb-wls.svg +9 -0
  108. data/vendor/assets/images/flags/4x3/gb.svg +7 -0
  109. data/vendor/assets/images/flags/4x3/gd.svg +27 -0
  110. data/vendor/assets/images/flags/4x3/ge.svg +6 -0
  111. data/vendor/assets/images/flags/4x3/gf.svg +7 -0
  112. data/vendor/assets/images/flags/4x3/gg.svg +9 -0
  113. data/vendor/assets/images/flags/4x3/gh.svg +6 -0
  114. data/vendor/assets/images/flags/4x3/gi.svg +32 -0
  115. data/vendor/assets/images/flags/4x3/gl.svg +4 -0
  116. data/vendor/assets/images/flags/4x3/gm.svg +14 -0
  117. data/vendor/assets/images/flags/4x3/gn.svg +7 -0
  118. data/vendor/assets/images/flags/4x3/gp.svg +7 -0
  119. data/vendor/assets/images/flags/4x3/gq.svg +23 -0
  120. data/vendor/assets/images/flags/4x3/gr.svg +16 -0
  121. data/vendor/assets/images/flags/4x3/gs.svg +242 -0
  122. data/vendor/assets/images/flags/4x3/gt.svg +204 -0
  123. data/vendor/assets/images/flags/4x3/gu.svg +39 -0
  124. data/vendor/assets/images/flags/4x3/gw.svg +13 -0
  125. data/vendor/assets/images/flags/4x3/gy.svg +9 -0
  126. data/vendor/assets/images/flags/4x3/hi.svg +25 -0
  127. data/vendor/assets/images/flags/4x3/hk.svg +30 -0
  128. data/vendor/assets/images/flags/4x3/hm.svg +9 -0
  129. data/vendor/assets/images/flags/4x3/hn.svg +18 -0
  130. data/vendor/assets/images/flags/4x3/hr.svg +58 -0
  131. data/vendor/assets/images/flags/4x3/ht.svg +116 -0
  132. data/vendor/assets/images/flags/4x3/hu.svg +7 -0
  133. data/vendor/assets/images/flags/4x3/ic.svg +7 -0
  134. data/vendor/assets/images/flags/4x3/id.svg +6 -0
  135. data/vendor/assets/images/flags/4x3/ie.svg +7 -0
  136. data/vendor/assets/images/flags/4x3/il.svg +14 -0
  137. data/vendor/assets/images/flags/4x3/im.svg +36 -0
  138. data/vendor/assets/images/flags/4x3/in.svg +25 -0
  139. data/vendor/assets/images/flags/4x3/io.svg +138 -0
  140. data/vendor/assets/images/flags/4x3/iq.svg +10 -0
  141. data/vendor/assets/images/flags/4x3/ir.svg +219 -0
  142. data/vendor/assets/images/flags/4x3/is.svg +12 -0
  143. data/vendor/assets/images/flags/4x3/it.svg +7 -0
  144. data/vendor/assets/images/flags/4x3/ja.svg +11 -0
  145. data/vendor/assets/images/flags/4x3/je.svg +47 -0
  146. data/vendor/assets/images/flags/4x3/jm.svg +8 -0
  147. data/vendor/assets/images/flags/4x3/jo.svg +16 -0
  148. data/vendor/assets/images/flags/4x3/jp.svg +11 -0
  149. data/vendor/assets/images/flags/4x3/ke.svg +23 -0
  150. data/vendor/assets/images/flags/4x3/kg.svg +15 -0
  151. data/vendor/assets/images/flags/4x3/kh.svg +61 -0
  152. data/vendor/assets/images/flags/4x3/ki.svg +36 -0
  153. data/vendor/assets/images/flags/4x3/km.svg +16 -0
  154. data/vendor/assets/images/flags/4x3/kn.svg +14 -0
  155. data/vendor/assets/images/flags/4x3/ko.svg +24 -0
  156. data/vendor/assets/images/flags/4x3/kp.svg +15 -0
  157. data/vendor/assets/images/flags/4x3/kr.svg +24 -0
  158. data/vendor/assets/images/flags/4x3/kw.svg +13 -0
  159. data/vendor/assets/images/flags/4x3/ky.svg +225 -0
  160. data/vendor/assets/images/flags/4x3/kz.svg +23 -0
  161. data/vendor/assets/images/flags/4x3/la.svg +12 -0
  162. data/vendor/assets/images/flags/4x3/lb.svg +15 -0
  163. data/vendor/assets/images/flags/4x3/lc.svg +8 -0
  164. data/vendor/assets/images/flags/4x3/li.svg +43 -0
  165. data/vendor/assets/images/flags/4x3/lk.svg +22 -0
  166. data/vendor/assets/images/flags/4x3/lr.svg +14 -0
  167. data/vendor/assets/images/flags/4x3/ls.svg +8 -0
  168. data/vendor/assets/images/flags/4x3/lt.svg +7 -0
  169. data/vendor/assets/images/flags/4x3/lu.svg +5 -0
  170. data/vendor/assets/images/flags/4x3/lv.svg +6 -0
  171. data/vendor/assets/images/flags/4x3/ly.svg +13 -0
  172. data/vendor/assets/images/flags/4x3/ma.svg +4 -0
  173. data/vendor/assets/images/flags/4x3/mc.svg +6 -0
  174. data/vendor/assets/images/flags/4x3/md.svg +70 -0
  175. data/vendor/assets/images/flags/4x3/me.svg +116 -0
  176. data/vendor/assets/images/flags/4x3/mf.svg +7 -0
  177. data/vendor/assets/images/flags/4x3/mg.svg +7 -0
  178. data/vendor/assets/images/flags/4x3/mh.svg +7 -0
  179. data/vendor/assets/images/flags/4x3/mk.svg +5 -0
  180. data/vendor/assets/images/flags/4x3/ml.svg +7 -0
  181. data/vendor/assets/images/flags/4x3/mm.svg +16 -0
  182. data/vendor/assets/images/flags/4x3/mn.svg +13 -0
  183. data/vendor/assets/images/flags/4x3/mo.svg +9 -0
  184. data/vendor/assets/images/flags/4x3/mp.svg +86 -0
  185. data/vendor/assets/images/flags/4x3/mq.svg +7 -0
  186. data/vendor/assets/images/flags/4x3/mr.svg +6 -0
  187. data/vendor/assets/images/flags/4x3/ms.svg +78 -0
  188. data/vendor/assets/images/flags/4x3/mt.svg +49 -0
  189. data/vendor/assets/images/flags/4x3/mu.svg +8 -0
  190. data/vendor/assets/images/flags/4x3/mv.svg +6 -0
  191. data/vendor/assets/images/flags/4x3/mw.svg +10 -0
  192. data/vendor/assets/images/flags/4x3/mx.svg +382 -0
  193. data/vendor/assets/images/flags/4x3/my.svg +11 -0
  194. data/vendor/assets/images/flags/4x3/mz.svg +21 -0
  195. data/vendor/assets/images/flags/4x3/na.svg +16 -0
  196. data/vendor/assets/images/flags/4x3/nb.svg +7 -0
  197. data/vendor/assets/images/flags/4x3/nc.svg +14 -0
  198. data/vendor/assets/images/flags/4x3/ne.svg +6 -0
  199. data/vendor/assets/images/flags/4x3/nf.svg +9 -0
  200. data/vendor/assets/images/flags/4x3/ng.svg +6 -0
  201. data/vendor/assets/images/flags/4x3/ni.svg +129 -0
  202. data/vendor/assets/images/flags/4x3/nl.svg +5 -0
  203. data/vendor/assets/images/flags/4x3/no.svg +7 -0
  204. data/vendor/assets/images/flags/4x3/np.svg +14 -0
  205. data/vendor/assets/images/flags/4x3/nr.svg +12 -0
  206. data/vendor/assets/images/flags/4x3/nu.svg +26 -0
  207. data/vendor/assets/images/flags/4x3/nz.svg +42 -0
  208. data/vendor/assets/images/flags/4x3/om.svg +115 -0
  209. data/vendor/assets/images/flags/4x3/pa.svg +14 -0
  210. data/vendor/assets/images/flags/4x3/pe.svg +244 -0
  211. data/vendor/assets/images/flags/4x3/pf.svg +19 -0
  212. data/vendor/assets/images/flags/4x3/pg.svg +9 -0
  213. data/vendor/assets/images/flags/4x3/ph.svg +9 -0
  214. data/vendor/assets/images/flags/4x3/pk.svg +15 -0
  215. data/vendor/assets/images/flags/4x3/pl.svg +6 -0
  216. data/vendor/assets/images/flags/4x3/pm.svg +7 -0
  217. data/vendor/assets/images/flags/4x3/pn.svg +97 -0
  218. data/vendor/assets/images/flags/4x3/pr.svg +13 -0
  219. data/vendor/assets/images/flags/4x3/ps.svg +15 -0
  220. data/vendor/assets/images/flags/4x3/pt.svg +57 -0
  221. data/vendor/assets/images/flags/4x3/pw.svg +11 -0
  222. data/vendor/assets/images/flags/4x3/py.svg +157 -0
  223. data/vendor/assets/images/flags/4x3/qa.svg +4 -0
  224. data/vendor/assets/images/flags/4x3/re.svg +7 -0
  225. data/vendor/assets/images/flags/4x3/ro.svg +7 -0
  226. data/vendor/assets/images/flags/4x3/rs.svg +292 -0
  227. data/vendor/assets/images/flags/4x3/ru.svg +7 -0
  228. data/vendor/assets/images/flags/4x3/rw.svg +13 -0
  229. data/vendor/assets/images/flags/4x3/sa.svg +26 -0
  230. data/vendor/assets/images/flags/4x3/sb.svg +13 -0
  231. data/vendor/assets/images/flags/4x3/sc.svg +14 -0
  232. data/vendor/assets/images/flags/4x3/sd.svg +13 -0
  233. data/vendor/assets/images/flags/4x3/se.svg +5 -0
  234. data/vendor/assets/images/flags/4x3/sg.svg +13 -0
  235. data/vendor/assets/images/flags/4x3/sh.svg +76 -0
  236. data/vendor/assets/images/flags/4x3/si.svg +18 -0
  237. data/vendor/assets/images/flags/4x3/sj.svg +7 -0
  238. data/vendor/assets/images/flags/4x3/sk.svg +9 -0
  239. data/vendor/assets/images/flags/4x3/sl.svg +7 -0
  240. data/vendor/assets/images/flags/4x3/sm.svg +91 -0
  241. data/vendor/assets/images/flags/4x3/sn.svg +8 -0
  242. data/vendor/assets/images/flags/4x3/so.svg +11 -0
  243. data/vendor/assets/images/flags/4x3/sr.svg +6 -0
  244. data/vendor/assets/images/flags/4x3/ss.svg +8 -0
  245. data/vendor/assets/images/flags/4x3/st.svg +16 -0
  246. data/vendor/assets/images/flags/4x3/sv.svg +594 -0
  247. data/vendor/assets/images/flags/4x3/sx.svg +56 -0
  248. data/vendor/assets/images/flags/4x3/sy.svg +6 -0
  249. data/vendor/assets/images/flags/4x3/sz.svg +45 -0
  250. data/vendor/assets/images/flags/4x3/ta.svg +76 -0
  251. data/vendor/assets/images/flags/4x3/tc.svg +67 -0
  252. data/vendor/assets/images/flags/4x3/td.svg +7 -0
  253. data/vendor/assets/images/flags/4x3/tf.svg +15 -0
  254. data/vendor/assets/images/flags/4x3/tg.svg +14 -0
  255. data/vendor/assets/images/flags/4x3/th.svg +7 -0
  256. data/vendor/assets/images/flags/4x3/tj.svg +22 -0
  257. data/vendor/assets/images/flags/4x3/tk.svg +5 -0
  258. data/vendor/assets/images/flags/4x3/tl.svg +13 -0
  259. data/vendor/assets/images/flags/4x3/tm.svg +206 -0
  260. data/vendor/assets/images/flags/4x3/tn.svg +13 -0
  261. data/vendor/assets/images/flags/4x3/to.svg +10 -0
  262. data/vendor/assets/images/flags/4x3/tr.svg +8 -0
  263. data/vendor/assets/images/flags/4x3/tt.svg +5 -0
  264. data/vendor/assets/images/flags/4x3/tv.svg +16 -0
  265. data/vendor/assets/images/flags/4x3/tw.svg +34 -0
  266. data/vendor/assets/images/flags/4x3/tz.svg +13 -0
  267. data/vendor/assets/images/flags/4x3/ua.svg +6 -0
  268. data/vendor/assets/images/flags/4x3/ug.svg +30 -0
  269. data/vendor/assets/images/flags/4x3/um.svg +15 -0
  270. data/vendor/assets/images/flags/4x3/un.svg +16 -0
  271. data/vendor/assets/images/flags/4x3/us.svg +10 -0
  272. data/vendor/assets/images/flags/4x3/uy.svg +28 -0
  273. data/vendor/assets/images/flags/4x3/uz.svg +30 -0
  274. data/vendor/assets/images/flags/4x3/va.svg +479 -0
  275. data/vendor/assets/images/flags/4x3/vc.svg +8 -0
  276. data/vendor/assets/images/flags/4x3/ve.svg +26 -0
  277. data/vendor/assets/images/flags/4x3/vg.svg +127 -0
  278. data/vendor/assets/images/flags/4x3/vi.svg +28 -0
  279. data/vendor/assets/images/flags/4x3/vn.svg +11 -0
  280. data/vendor/assets/images/flags/4x3/vu.svg +18 -0
  281. data/vendor/assets/images/flags/4x3/wf.svg +7 -0
  282. data/vendor/assets/images/flags/4x3/ws.svg +7 -0
  283. data/vendor/assets/images/flags/4x3/xk.svg +16 -0
  284. data/vendor/assets/images/flags/4x3/xx.svg +5 -0
  285. data/vendor/assets/images/flags/4x3/ye.svg +7 -0
  286. data/vendor/assets/images/flags/4x3/yt.svg +7 -0
  287. data/vendor/assets/images/flags/4x3/za.svg +17 -0
  288. data/vendor/assets/images/flags/4x3/zh.svg +11 -0
  289. data/vendor/assets/images/flags/4x3/zm.svg +27 -0
  290. data/vendor/assets/images/flags/4x3/zw.svg +21 -0
  291. data/vendor/assets/stylesheets/flag-icons/_flag-icons-base.scss +25 -0
  292. data/vendor/assets/stylesheets/flag-icons/_flag-icons-list.scss +282 -0
  293. data/vendor/assets/stylesheets/flag-icons/_variables.scss +2 -0
  294. data/vendor/assets/stylesheets/flag-icons/flag-icons.scss +3 -0
  295. data/vendor/assets/stylesheets/flag_icon.scss +1 -0
  296. metadata +383 -0
@@ -0,0 +1,486 @@
1
+ module FlagIcon::Countries
2
+ # ISO country codes to county name
3
+ NAMES = {
4
+ ad: "Andorra",
5
+ ae: "United Arab Emirates",
6
+ af: "Afghanistan",
7
+ ag: "Antigua and Barbuda",
8
+ ai: "Anguilla",
9
+ al: "Albania",
10
+ am: "Armenia",
11
+ ao: "Angola",
12
+ aq: "Antarctica",
13
+ ar: "Argentina",
14
+ as: "American Samoa",
15
+ at: "Austria",
16
+ au: "Australia",
17
+ aw: "Aruba",
18
+ ax: "Aland Islands",
19
+ az: "Azerbaijan",
20
+ ba: "Bosnia and Herzegovina",
21
+ bb: "Barbados",
22
+ bd: "Bangladesh",
23
+ be: "Belgium",
24
+ bf: "Burkina Faso",
25
+ bg: "Bulgaria",
26
+ bh: "Bahrain",
27
+ bi: "Burundi",
28
+ bj: "Benin",
29
+ bl: "Saint Barthelemy",
30
+ bm: "Bermuda",
31
+ bn: "Brunei",
32
+ bo: "Bolivia",
33
+ bq: "Bonaire, Saint Eustatius and Saba ",
34
+ br: "Brazil",
35
+ bs: "Bahamas",
36
+ bt: "Bhutan",
37
+ bv: "Bouvet Island",
38
+ bw: "Botswana",
39
+ by: "Belarus",
40
+ bz: "Belize",
41
+ ca: "Canada",
42
+ cc: "Cocos Islands",
43
+ cd: "Democratic Republic of the Congo",
44
+ cf: "Central African Republic",
45
+ cg: "Republic of the Congo",
46
+ ch: "Switzerland",
47
+ ci: "Ivory Coast",
48
+ ck: "Cook Islands",
49
+ cl: "Chile",
50
+ cm: "Cameroon",
51
+ cn: "China",
52
+ co: "Colombia",
53
+ cr: "Costa Rica",
54
+ cu: "Cuba",
55
+ cv: "Cape Verde",
56
+ cw: "Curacao",
57
+ cx: "Christmas Island",
58
+ cy: "Cyprus",
59
+ cz: "Czech Republic",
60
+ de: "Germany",
61
+ dj: "Djibouti",
62
+ dk: "Denmark",
63
+ dm: "Dominica",
64
+ do: "Dominican Republic",
65
+ dz: "Algeria",
66
+ ec: "Ecuador",
67
+ ee: "Estonia",
68
+ eg: "Egypt",
69
+ eh: "Western Sahara",
70
+ er: "Eritrea",
71
+ es: "Spain",
72
+ et: "Ethiopia",
73
+ fi: "Finland",
74
+ fj: "Fiji",
75
+ fk: "Falkland Islands",
76
+ fm: "Micronesia",
77
+ fo: "Faroe Islands",
78
+ fr: "France",
79
+ ga: "Gabon",
80
+ gb: "United Kingdom",
81
+ gd: "Grenada",
82
+ ge: "Georgia",
83
+ gf: "French Guiana",
84
+ gg: "Guernsey",
85
+ gh: "Ghana",
86
+ gi: "Gibraltar",
87
+ gl: "Greenland",
88
+ gm: "Gambia",
89
+ gn: "Guinea",
90
+ gp: "Guadeloupe",
91
+ gq: "Equatorial Guinea",
92
+ gr: "Greece",
93
+ gs: "South Georgia and the South Sandwich Islands",
94
+ gt: "Guatemala",
95
+ gu: "Guam",
96
+ gw: "Guinea-Bissau",
97
+ gy: "Guyana",
98
+ hk: "Hong Kong",
99
+ hm: "Heard Island and McDonald Islands",
100
+ hn: "Honduras",
101
+ hr: "Croatia",
102
+ ht: "Haiti",
103
+ hu: "Hungary",
104
+ id: "Indonesia",
105
+ ie: "Ireland",
106
+ il: "Israel",
107
+ im: "Isle of Man",
108
+ in: "India",
109
+ io: "British Indian Ocean Territory",
110
+ iq: "Iraq",
111
+ ir: "Iran",
112
+ is: "Iceland",
113
+ it: "Italy",
114
+ je: "Jersey",
115
+ jm: "Jamaica",
116
+ jo: "Jordan",
117
+ jp: "Japan",
118
+ ke: "Kenya",
119
+ kg: "Kyrgyzstan",
120
+ kh: "Cambodia",
121
+ ki: "Kiribati",
122
+ km: "Comoros",
123
+ kn: "Saint Kitts and Nevis",
124
+ kp: "North Korea",
125
+ kr: "South Korea",
126
+ kw: "Kuwait",
127
+ ky: "Cayman Islands",
128
+ kz: "Kazakhstan",
129
+ la: "Laos",
130
+ lb: "Lebanon",
131
+ lc: "Saint Lucia",
132
+ li: "Liechtenstein",
133
+ lk: "Sri Lanka",
134
+ lr: "Liberia",
135
+ ls: "Lesotho",
136
+ lt: "Lithuania",
137
+ lu: "Luxembourg",
138
+ lv: "Latvia",
139
+ ly: "Libya",
140
+ ma: "Morocco",
141
+ mc: "Monaco",
142
+ md: "Moldova",
143
+ me: "Montenegro",
144
+ mf: "Saint Martin",
145
+ mg: "Madagascar",
146
+ mh: "Marshall Islands",
147
+ mk: "Macedonia",
148
+ ml: "Mali",
149
+ mm: "Myanmar",
150
+ mn: "Mongolia",
151
+ mo: "Macao",
152
+ mp: "Northern Mariana Islands",
153
+ mq: "Martinique",
154
+ mr: "Mauritania",
155
+ ms: "Montserrat",
156
+ mt: "Malta",
157
+ mu: "Mauritius",
158
+ mv: "Maldives",
159
+ mw: "Malawi",
160
+ mx: "Mexico",
161
+ my: "Malaysia",
162
+ mz: "Mozambique",
163
+ na: "Namibia",
164
+ nc: "New Caledonia",
165
+ ne: "Niger",
166
+ nf: "Norfolk Island",
167
+ ng: "Nigeria",
168
+ ni: "Nicaragua",
169
+ nl: "Netherlands",
170
+ no: "Norway",
171
+ np: "Nepal",
172
+ nr: "Nauru",
173
+ nu: "Niue",
174
+ nz: "New Zealand",
175
+ om: "Oman",
176
+ pa: "Panama",
177
+ pe: "Peru",
178
+ pf: "French Polynesia",
179
+ pg: "Papua New Guinea",
180
+ ph: "Philippines",
181
+ pk: "Pakistan",
182
+ pl: "Poland",
183
+ pm: "Saint Pierre and Miquelon",
184
+ pn: "Pitcairn",
185
+ pr: "Puerto Rico",
186
+ ps: "Palestinian Territory",
187
+ pt: "Portugal",
188
+ pw: "Palau",
189
+ py: "Paraguay",
190
+ qa: "Qatar",
191
+ re: "Reunion",
192
+ ro: "Romania",
193
+ rs: "Serbia",
194
+ ru: "Russia",
195
+ rw: "Rwanda",
196
+ sa: "Saudi Arabia",
197
+ sb: "Solomon Islands",
198
+ sc: "Seychelles",
199
+ sd: "Sudan",
200
+ se: "Sweden",
201
+ sg: "Singapore",
202
+ sh: "Saint Helena",
203
+ si: "Slovenia",
204
+ sj: "Svalbard and Jan Mayen",
205
+ sk: "Slovakia",
206
+ sl: "Sierra Leone",
207
+ sm: "San Marino",
208
+ sn: "Senegal",
209
+ so: "Somalia",
210
+ sr: "Suriname",
211
+ ss: "South Sudan",
212
+ st: "Sao Tome and Principe",
213
+ sv: "El Salvador",
214
+ sx: "Sint Maarten",
215
+ sy: "Syria",
216
+ sz: "Swaziland",
217
+ tc: "Turks and Caicos Islands",
218
+ td: "Chad",
219
+ tf: "French Southern Territories",
220
+ tg: "Togo",
221
+ th: "Thailand",
222
+ tj: "Tajikistan",
223
+ tk: "Tokelau",
224
+ tl: "East Timor",
225
+ tm: "Turkmenistan",
226
+ tn: "Tunisia",
227
+ to: "Tonga",
228
+ tr: "Turkey",
229
+ tt: "Trinidad and Tobago",
230
+ tv: "Tuvalu",
231
+ tw: "Taiwan",
232
+ tz: "Tanzania",
233
+ ua: "Ukraine",
234
+ ug: "Uganda",
235
+ um: "United States Minor Outlying Islands",
236
+ us: "United States",
237
+ uy: "Uruguay",
238
+ uz: "Uzbekistan",
239
+ va: "Vatican",
240
+ vc: "Saint Vincent and the Grenadines",
241
+ ve: "Venezuela",
242
+ vg: "British Virgin Islands",
243
+ vi: "U.S. Virgin Islands",
244
+ vn: "Vietnam",
245
+ vu: "Vanuatu",
246
+ wf: "Wallis and Futuna",
247
+ ws: "Samoa",
248
+ xk: "Kosovo",
249
+ ye: "Yemen",
250
+ yt: "Mayotte",
251
+ za: "South Africa",
252
+ zm: "Zambia",
253
+ zw: "Zimbabwe"
254
+ }
255
+
256
+ LANGUAGE_FLAGS = {
257
+ ca: "es-ct",
258
+ gl: "es-ga",
259
+ ar: "ae",
260
+ fa: "af",
261
+ en: "gb",
262
+ al: "al",
263
+ am: "am",
264
+ hy: "am",
265
+ es: "es",
266
+ fr: "fr",
267
+ de: "de",
268
+ bn: "bd",
269
+ dz: "bt",
270
+ be: "by",
271
+ cn: "cn",
272
+ el: "gr",
273
+ cs: "cz",
274
+ da: "dk",
275
+ et: "ee",
276
+ aa: "er",
277
+ fi: "fi",
278
+ fo: "fo",
279
+ ka: "ge",
280
+ kl: "gl",
281
+ zh: "hk",
282
+ hr: "hr",
283
+ ht: "ht",
284
+ hu: "hu",
285
+ id: "id",
286
+ in: "in",
287
+ hi: "in",
288
+ ta: "in",
289
+ te: "in",
290
+ is: "is",
291
+ it: "it",
292
+ ja: "jp",
293
+ ky: "kg",
294
+ km: "kh",
295
+ ko: "ko",
296
+ kr: "ko",
297
+ kk: "kz",
298
+ lo: "la",
299
+ si: "lk",
300
+ lt: "lt",
301
+ lb: "lu",
302
+ lv: "lv",
303
+ mo: "md",
304
+ mg: "mg",
305
+ mh: "mh",
306
+ mk: "mk",
307
+ ml: "ml",
308
+ my: "mm",
309
+ mn: "mn",
310
+ dv: "mv",
311
+ ny: "mw",
312
+ ms: "my",
313
+ nl: "nl",
314
+ no: "no",
315
+ ne: "np",
316
+ na: "nr",
317
+ ur: "pk",
318
+ pl: "pl",
319
+ ro: "ro",
320
+ sr: "rs",
321
+ ru: "ru",
322
+ rw: "rw",
323
+ sv: "se",
324
+ se: "se",
325
+ so: "so",
326
+ th: "th",
327
+ tg: "tj",
328
+ tl: "tl",
329
+ pt: "pt",
330
+ to: "to",
331
+ tr: "tr",
332
+ tvl: "tv",
333
+ sw: "tz",
334
+ uk: "ua",
335
+ lg: "ug",
336
+ uz: "uz",
337
+ vi: "vn",
338
+ bi: "vu",
339
+ sm: "ws",
340
+ zu: "za",
341
+ }
342
+
343
+ # language code to language name
344
+ LANGUAGES = {
345
+ "ab": "Abkhazian",
346
+ "aa": "Afar",
347
+ "af": "Afrikaans",
348
+ "sq": "Albanian",
349
+ "am": "Amharic",
350
+ "ar": "Arabic",
351
+ "hy": "Armenian",
352
+ "as": "Assamese",
353
+ "ay": "Aymara",
354
+ "az": "Azerbaijani",
355
+ "ba": "Bashkir",
356
+ "eu": "Basque",
357
+ "bn": "Bengali (Bangla)",
358
+ "dz": "Bhutani",
359
+ "bh": "Bihari",
360
+ "bi": "Bislama",
361
+ "br": "Breton",
362
+ "bg": "Bulgarian",
363
+ "my": "Burmese",
364
+ "be": "Byelorussian (Belarusian)",
365
+ "km": "Cambodian",
366
+ "ca": "Catalan",
367
+ "cn": "Chinese",
368
+ "zh": "Chinese (Traditional)",
369
+ "co": "Corsican",
370
+ "hr": "Croatian",
371
+ "cs": "Czech",
372
+ "da": "Danish",
373
+ "nl": "Dutch",
374
+ "en": "English",
375
+ "eo": "Esperanto",
376
+ "et": "Estonian",
377
+ "fo": "Faeroese",
378
+ "fa": "Farsi",
379
+ "fj": "Fiji",
380
+ "fi": "Finnish",
381
+ "fr": "French",
382
+ "fy": "Frisian",
383
+ "gl": "Galician",
384
+ "gd": "Gaelic (Scottish)",
385
+ "gv": "Gaelic (Manx)",
386
+ "ka": "Georgian",
387
+ "de": "German",
388
+ "el": "Greek",
389
+ "kl": "Greenlandic",
390
+ "gn": "Guarani",
391
+ "gu": "Gujarati",
392
+ "ha": "Hausa",
393
+ "he": "Hebrew",
394
+ "hi": "Hindi",
395
+ "hu": "Hungarian",
396
+ "is": "Icelandic",
397
+ "id": "Indonesian",
398
+ "ia": "Interlingua",
399
+ "ie": "Interlingue",
400
+ "iu": "Inuktitut",
401
+ "ik": "Inupiak",
402
+ "ga": "Irish",
403
+ "it": "Italian",
404
+ "ja": "Javanese",
405
+ "kn": "Kannada",
406
+ "ks": "Kashmiri",
407
+ "kk": "Kazakh",
408
+ "rw": "Kinyarwanda (Ruanda)",
409
+ "ky": "Kirghiz",
410
+ "rn": "Kirundi (Rundi)",
411
+ "ko": "Korean",
412
+ "ku": "Kurdish",
413
+ "lo": "Laothian",
414
+ "la": "Latin",
415
+ "lv": "Latvian (Lettish)",
416
+ "li": "Limburgish ( Limburger)",
417
+ "ln": "Lingala",
418
+ "lt": "Lithuanian",
419
+ "mk": "Macedonian",
420
+ "mg": "Malagasy",
421
+ "ms": "Malay",
422
+ "ml": "Malayalam",
423
+ "mt": "Maltese",
424
+ "mi": "Maori",
425
+ "mr": "Marathi",
426
+ "mo": "Moldavian",
427
+ "mn": "Mongolian",
428
+ "na": "Nauru",
429
+ "ne": "Nepali",
430
+ "no": "Norwegian",
431
+ "oc": "Occitan",
432
+ "or": "Oriya",
433
+ "om": "Oromo (Afan, Galla)",
434
+ "ps": "Pashto (Pushto)",
435
+ "pl": "Polish",
436
+ "pt": "Portuguese",
437
+ "pa": "Punjabi",
438
+ "qu": "Quechua",
439
+ "rm": "Rhaeto-Romance",
440
+ "ro": "Romanian",
441
+ "ru": "Russian",
442
+ "sm": "Samoan",
443
+ "sg": "Sangro",
444
+ "sa": "Sanskrit",
445
+ "sr": "Serbian",
446
+ "sh": "Serbo-Croatian",
447
+ "st": "Sesotho",
448
+ "tn": "Setswana",
449
+ "sn": "Shona",
450
+ "sd": "Sindhi",
451
+ "si": "Sinhalese",
452
+ "ss": "Siswati",
453
+ "sk": "Slovak",
454
+ "sl": "Slovenian",
455
+ "so": "Somali",
456
+ "es": "Spanish",
457
+ "su": "Sundanese",
458
+ "sw": "Swahili (Kiswahili)",
459
+ "sv": "Swedish",
460
+ "tl": "Tagalog",
461
+ "tg": "Tajik",
462
+ "ta": "Tamil",
463
+ "tt": "Tatar",
464
+ "te": "Telugu",
465
+ "th": "Thai",
466
+ "bo": "Tibetan",
467
+ "ti": "Tigrinya",
468
+ "to": "Tonga",
469
+ "ts": "Tsonga",
470
+ "tr": "Turkish",
471
+ "tk": "Turkmen",
472
+ "tw": "Twi",
473
+ "ug": "Uighur",
474
+ "uk": "Ukrainian",
475
+ "ur": "Urdu",
476
+ "uz": "Uzbek",
477
+ "vi": "Vietnamese",
478
+ "vo": "Volapük",
479
+ "cy": "Welsh",
480
+ "wo": "Wolof",
481
+ "xh": "Xhosa",
482
+ "yi": "Yiddish",
483
+ "yo": "Yoruba",
484
+ "zu": "Zulu"
485
+ }
486
+ end
@@ -0,0 +1,40 @@
1
+ module FlagIcon
2
+ private
3
+
4
+ def language_name(code)
5
+ FlagIcon::Countries::LANGUAGES[code.to_sym]
6
+ end
7
+
8
+ def country_name(code)
9
+ FlagIcon::Countries::NAMES[code.to_sym]
10
+ end
11
+
12
+ def language_flag(code)
13
+ FlagIcon::Countries::LANGUAGE_FLAGS[code.to_sym]
14
+ end
15
+
16
+ def select_language
17
+ {
18
+ 'Popular' => popular_languages,
19
+ 'Available' => available_languages.map { |lang| [language_name(lang), lang] }
20
+ }
21
+ end
22
+
23
+ def language_icon(code)
24
+ "<span class='flag-icon flag-icon-#{language_flag(code)}' title='Audio language - #{language_name(code)}'></span>"
25
+ end
26
+
27
+ def flag_icon(code)
28
+ "<span class='flag-icon flag-icon-#{code}' title='Available in #{country_name(code)}'></span>"
29
+ end
30
+
31
+ public
32
+
33
+ def popular_languages
34
+ [['English', :en], ['Spanish', :es]]
35
+ end
36
+
37
+ def available_languages
38
+ @languages ||= FlagIcon::Countries::LANGUAGES.keys
39
+ end
40
+ end
@@ -0,0 +1,6 @@
1
+ module FlagIcon
2
+ module Rails
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module FlagIcon
2
+ module Rails
3
+ VERSION = "1.0.0"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ require 'flag_icon/rails/version'
2
+ require 'flag_icon/rails/engine'
3
+
4
+ module FlagIcon
5
+ module Rails
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ require 'rails'
2
+ require "flag_icon/helper"
3
+
4
+ module FlagIcon
5
+ class Railtie < ::Rails::Railtie
6
+ initializer "flag_icon.helper" do
7
+ ActionView::Base.send :include, FlagIcon
8
+ end
9
+ end
10
+ end
data/lib/flag_icon.rb ADDED
@@ -0,0 +1,4 @@
1
+ require "flag_icon/helper"
2
+ require "flag_icon/countries"
3
+ require "flag_icon/railtie"
4
+ require 'flag_icon/rails'
@@ -0,0 +1,18 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="600" height="300" viewBox="0 0 600 300">
2
+ <rect fill="#00993E" width="600" height="300"/>
3
+ <g fill="#FFF">
4
+ <rect y="42.857" width="600" height="42.857"/>
5
+ <rect y="128.571" width="600" height="42.857"/>
6
+ <rect y="214.286" width="600" height="42.857"/>
7
+ </g>
8
+ <rect fill="#C8312A" width="228" height="128.571"/>
9
+ <g fill="#FFF">
10
+ <path d="M96.352 71.821c0 0-1.965 0.823-0.619 16.509 1.099 12.911 5.699 17.117 5.699 17.117l2.009 7.992 19.056 0.078c0 0 0.345-4.949 1.083-6.514 1.813-3.845 8.999-8.24 12.079-14.876 3.312-4.045 1.653-12.3 8.301-20.268 3.301-3.957-3.867-2.282-3.867-2.282 -3.931 2.607-5.852 5.667-6.843 7.805 -0.667 4.119-3.75 7.563-4.041 4.572 0 0-1.12-5.172-4.481-15.226 -0.333-2.98-1.774-13.286-2.082-21.152 -0.219-5.118-4.699-5.426-5.073-0.231l-0.541 20.595 -1.071-23.786c-0.455-6.732-5.548-5.734-5.769-0.155l-0.219 24.767 -0.928-24.008c-1.38-4.586-5.006-1.868-5.073 3.1l-0.618 23.36c0 0-0.781-12.793-0.957-18.195 -0.166-3.249-3.971-3.009-4.33 1.636C97.549 59.377 96.734 64.86 96.352 71.821L96.352 71.821z"/><path d="M108.206 27.97L114 10.138l5.794 17.832L104.625 16.95h18.749L108.206 27.97z"/>
11
+ <path d="M153.263 35.084l-15.169-11.021h18.749l-15.169 11.021 5.794-17.832L153.263 35.084z"/>
12
+ <path d="M181.896 56.272l-15.169-11.021h18.749l-15.169 11.021 5.794-17.832L181.896 56.272z"/>
13
+ <path d="M198.484 86.198l-15.169-11.021h18.749l-15.168 11.021 5.794-17.832L198.484 86.198z"/>
14
+ <path d="M74.738 35.084l15.169-11.021H71.157l15.169 11.021 -5.794-17.832L74.738 35.084z"/>
15
+ <path d="M46.104 56.272l15.169-11.021H42.524l15.169 11.021L51.898 38.44 46.104 56.272z"/>
16
+ <path d="M29.516 86.198l15.169-11.021H25.935l15.169 11.021L35.31 68.366 29.516 86.198z"/>
17
+ </g>
18
+ </svg>