i18n-country-translations 1.1.1 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +2 -0
  3. data/lib/i18n_country_translations.rb +7 -1
  4. data/lib/i18n_country_translations/import_two_letter_codes.rb +78 -0
  5. data/lib/i18n_country_translations/version.rb +1 -1
  6. data/lib/tasks/i18n-country-translations_tasks.rake +8 -67
  7. data/rails/locale/iso_639-1/af.yml +263 -0
  8. data/rails/locale/iso_639-1/ak.yml +263 -0
  9. data/rails/locale/iso_639-1/am.yml +263 -0
  10. data/rails/locale/iso_639-1/ar.yml +263 -0
  11. data/rails/locale/iso_639-1/as.yml +262 -0
  12. data/rails/locale/iso_639-1/az.yml +263 -0
  13. data/rails/locale/iso_639-1/be.yml +263 -0
  14. data/rails/locale/iso_639-1/bg.yml +263 -0
  15. data/rails/locale/iso_639-1/bm.yml +263 -0
  16. data/rails/locale/iso_639-1/bn.yml +263 -0
  17. data/rails/locale/iso_639-1/bo.yml +262 -0
  18. data/rails/locale/iso_639-1/br.yml +263 -0
  19. data/rails/locale/iso_639-1/bs.yml +263 -0
  20. data/rails/locale/iso_639-1/ca.yml +263 -0
  21. data/rails/locale/iso_639-1/cs.yml +263 -0
  22. data/rails/locale/iso_639-1/cy.yml +263 -0
  23. data/rails/locale/iso_639-1/da.yml +263 -0
  24. data/rails/locale/iso_639-1/de.yml +263 -0
  25. data/rails/locale/iso_639-1/dz.yml +262 -0
  26. data/rails/locale/iso_639-1/ee.yml +263 -0
  27. data/rails/locale/iso_639-1/el.yml +263 -0
  28. data/rails/locale/iso_639-1/en.yml +263 -0
  29. data/rails/locale/iso_639-1/eo.yml +263 -0
  30. data/rails/locale/iso_639-1/es.yml +263 -0
  31. data/rails/locale/iso_639-1/et.yml +263 -0
  32. data/rails/locale/iso_639-1/eu.yml +263 -0
  33. data/rails/locale/iso_639-1/fa.yml +263 -0
  34. data/rails/locale/iso_639-1/ff.yml +263 -0
  35. data/rails/locale/iso_639-1/fi.yml +263 -0
  36. data/rails/locale/iso_639-1/fo.yml +263 -0
  37. data/rails/locale/iso_639-1/fr.yml +263 -0
  38. data/rails/locale/iso_639-1/ga.yml +263 -0
  39. data/rails/locale/iso_639-1/gd.yml +263 -0
  40. data/rails/locale/iso_639-1/gl.yml +263 -0
  41. data/rails/locale/iso_639-1/gu.yml +263 -0
  42. data/rails/locale/iso_639-1/ha.yml +263 -0
  43. data/rails/locale/iso_639-1/he.yml +263 -0
  44. data/rails/locale/iso_639-1/hi.yml +263 -0
  45. data/rails/locale/iso_639-1/hr.yml +263 -0
  46. data/rails/locale/iso_639-1/hu.yml +263 -0
  47. data/rails/locale/iso_639-1/hy.yml +262 -0
  48. data/rails/locale/iso_639-1/ia.yml +263 -0
  49. data/rails/locale/iso_639-1/id.yml +263 -0
  50. data/rails/locale/iso_639-1/ig.yml +262 -0
  51. data/rails/locale/iso_639-1/is.yml +263 -0
  52. data/rails/locale/iso_639-1/it.yml +263 -0
  53. data/rails/locale/iso_639-1/ja.yml +263 -0
  54. data/rails/locale/iso_639-1/ka.yml +263 -0
  55. data/rails/locale/iso_639-1/ki.yml +263 -0
  56. data/rails/locale/iso_639-1/kk.yml +262 -0
  57. data/rails/locale/iso_639-1/kl.yml +262 -0
  58. data/rails/locale/iso_639-1/km.yml +262 -0
  59. data/rails/locale/iso_639-1/kn.yml +263 -0
  60. data/rails/locale/iso_639-1/ko.yml +263 -0
  61. data/rails/locale/iso_639-1/ky.yml +262 -0
  62. data/rails/locale/iso_639-1/lg.yml +263 -0
  63. data/rails/locale/iso_639-1/ln.yml +263 -0
  64. data/rails/locale/iso_639-1/lo.yml +263 -0
  65. data/rails/locale/iso_639-1/lt.yml +263 -0
  66. data/rails/locale/iso_639-1/lu.yml +263 -0
  67. data/rails/locale/iso_639-1/lv.yml +263 -0
  68. data/rails/locale/iso_639-1/mg.yml +263 -0
  69. data/rails/locale/iso_639-1/mk.yml +263 -0
  70. data/rails/locale/iso_639-1/ml.yml +263 -0
  71. data/rails/locale/iso_639-1/mn.yml +262 -0
  72. data/rails/locale/iso_639-1/mr.yml +263 -0
  73. data/rails/locale/iso_639-1/ms.yml +263 -0
  74. data/rails/locale/iso_639-1/mt.yml +263 -0
  75. data/rails/locale/iso_639-1/my.yml +262 -0
  76. data/rails/locale/iso_639-1/nb.yml +263 -0
  77. data/rails/locale/iso_639-1/nd.yml +263 -0
  78. data/rails/locale/iso_639-1/ne.yml +263 -0
  79. data/rails/locale/iso_639-1/nl.yml +263 -0
  80. data/rails/locale/iso_639-1/nn.yml +263 -0
  81. data/rails/locale/iso_639-1/or.yml +263 -0
  82. data/rails/locale/iso_639-1/pa.yml +262 -0
  83. data/rails/locale/iso_639-1/pl.yml +263 -0
  84. data/rails/locale/iso_639-1/ps.yml +262 -0
  85. data/rails/locale/iso_639-1/pt.yml +263 -0
  86. data/rails/locale/iso_639-1/rm.yml +263 -0
  87. data/rails/locale/iso_639-1/rn.yml +263 -0
  88. data/rails/locale/iso_639-1/ro.yml +263 -0
  89. data/rails/locale/iso_639-1/rof.yml +263 -0
  90. data/rails/locale/iso_639-1/ru.yml +263 -0
  91. data/rails/locale/iso_639-1/se.yml +262 -0
  92. data/rails/locale/iso_639-1/sg.yml +263 -0
  93. data/rails/locale/iso_639-1/si.yml +263 -0
  94. data/rails/locale/iso_639-1/sk.yml +263 -0
  95. data/rails/locale/iso_639-1/sl.yml +263 -0
  96. data/rails/locale/iso_639-1/sn.yml +263 -0
  97. data/rails/locale/iso_639-1/so.yml +263 -0
  98. data/rails/locale/iso_639-1/sq.yml +262 -0
  99. data/rails/locale/iso_639-1/sr.yml +263 -0
  100. data/rails/locale/iso_639-1/sv.yml +263 -0
  101. data/rails/locale/iso_639-1/sw.yml +263 -0
  102. data/rails/locale/iso_639-1/ta.yml +263 -0
  103. data/rails/locale/iso_639-1/te.yml +263 -0
  104. data/rails/locale/iso_639-1/th.yml +263 -0
  105. data/rails/locale/iso_639-1/ti.yml +263 -0
  106. data/rails/locale/iso_639-1/to.yml +263 -0
  107. data/rails/locale/iso_639-1/tr.yml +263 -0
  108. data/rails/locale/iso_639-1/uk.yml +263 -0
  109. data/rails/locale/iso_639-1/ur.yml +263 -0
  110. data/rails/locale/iso_639-1/uz.yml +262 -0
  111. data/rails/locale/iso_639-1/vi.yml +263 -0
  112. data/rails/locale/iso_639-1/yo.yml +263 -0
  113. data/rails/locale/iso_639-1/zh-CN.yml +3 -0
  114. data/rails/locale/iso_639-1/zh-HK.yml +3 -0
  115. data/rails/locale/iso_639-1/zh-TW.yml +3 -0
  116. data/rails/locale/iso_639-1/zh.yml +263 -0
  117. data/rails/locale/iso_639-1/zu.yml +263 -0
  118. data/rails/locale/unicode_supported/asa.yml +262 -0
  119. data/rails/locale/unicode_supported/bas.yml +262 -0
  120. data/rails/locale/unicode_supported/bez.yml +262 -0
  121. data/rails/locale/unicode_supported/brx.yml +262 -0
  122. data/rails/locale/unicode_supported/byn.yml +262 -0
  123. data/rails/locale/unicode_supported/cgg.yml +262 -0
  124. data/rails/locale/unicode_supported/chr.yml +261 -0
  125. data/rails/locale/unicode_supported/dav.yml +262 -0
  126. data/rails/locale/unicode_supported/dje.yml +262 -0
  127. data/rails/locale/unicode_supported/dyo.yml +261 -0
  128. data/rails/locale/unicode_supported/ebu.yml +262 -0
  129. data/rails/locale/unicode_supported/ewo.yml +262 -0
  130. data/rails/locale/unicode_supported/fil.yml +262 -0
  131. data/rails/locale/unicode_supported/fur.yml +262 -0
  132. data/rails/locale/unicode_supported/gsw.yml +262 -0
  133. data/rails/locale/unicode_supported/guz.yml +262 -0
  134. data/rails/locale/unicode_supported/haw.yml +261 -0
  135. data/rails/locale/unicode_supported/jmc.yml +262 -0
  136. data/rails/locale/unicode_supported/kab.yml +262 -0
  137. data/rails/locale/unicode_supported/kam.yml +262 -0
  138. data/rails/locale/unicode_supported/kde.yml +262 -0
  139. data/rails/locale/unicode_supported/kea.yml +262 -0
  140. data/rails/locale/unicode_supported/khq.yml +262 -0
  141. data/rails/locale/unicode_supported/kln.yml +262 -0
  142. data/rails/locale/unicode_supported/ksb.yml +262 -0
  143. data/rails/locale/unicode_supported/ksf.yml +262 -0
  144. data/rails/locale/unicode_supported/ksh.yml +262 -0
  145. data/rails/locale/unicode_supported/lag.yml +262 -0
  146. data/rails/locale/unicode_supported/luo.yml +262 -0
  147. data/rails/locale/unicode_supported/luy.yml +262 -0
  148. data/rails/locale/unicode_supported/mas.yml +262 -0
  149. data/rails/locale/unicode_supported/mer.yml +262 -0
  150. data/rails/locale/unicode_supported/mfe.yml +262 -0
  151. data/rails/locale/unicode_supported/mgh.yml +261 -0
  152. data/rails/locale/unicode_supported/mua.yml +262 -0
  153. data/rails/locale/unicode_supported/naq.yml +262 -0
  154. data/rails/locale/unicode_supported/nmg.yml +262 -0
  155. data/rails/locale/unicode_supported/nus.yml +261 -0
  156. data/rails/locale/unicode_supported/nyn.yml +262 -0
  157. data/rails/locale/unicode_supported/rwk.yml +262 -0
  158. data/rails/locale/unicode_supported/saq.yml +262 -0
  159. data/rails/locale/unicode_supported/sbp.yml +262 -0
  160. data/rails/locale/unicode_supported/seh.yml +262 -0
  161. data/rails/locale/unicode_supported/ses.yml +262 -0
  162. data/rails/locale/unicode_supported/shi.yml +262 -0
  163. data/rails/locale/unicode_supported/swc.yml +262 -0
  164. data/rails/locale/unicode_supported/teo.yml +262 -0
  165. data/rails/locale/unicode_supported/tig.yml +262 -0
  166. data/rails/locale/unicode_supported/twq.yml +262 -0
  167. data/rails/locale/unicode_supported/tzm.yml +262 -0
  168. data/rails/locale/unicode_supported/vai.yml +262 -0
  169. data/rails/locale/unicode_supported/vun.yml +262 -0
  170. data/rails/locale/unicode_supported/wae.yml +262 -0
  171. data/rails/locale/unicode_supported/wal.yml +262 -0
  172. data/rails/locale/unicode_supported/xog.yml +262 -0
  173. data/rails/locale/unicode_supported/yav.yml +262 -0
  174. metadata +199 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04b5e46d4b4df3fcc98b8e54a735c426a3456838
4
- data.tar.gz: d527ef6adcf27f7fc91b303ec739767c3a3423f4
3
+ metadata.gz: 066948e4b568058f8609da2fe02a06e32fe362b0
4
+ data.tar.gz: 5f27b2fded776b32458f9196ca99b79f08bf4258
5
5
  SHA512:
6
- metadata.gz: 6a0ea08e6ea46db9617e493d937b1705898d0977cd8d65f020071ec9a942158eb9a17554d8ceaec952c521b910195e205a8c059f58183fb997f99b29e7a506f2
7
- data.tar.gz: 6d5855dea77ba97bbebd39ec07fd2bc1655d131b926f6ee117d0564098de953fd967b57866a867cb682fb0c11c3a1cb5bb271bff0a9801de3b0555adf9aef8b9
6
+ metadata.gz: 0af025240d865df2f108e325877324d2106bd08c486f62f890cb49ceaf0b74182efd2710e2005384c377d9fea91ee192ef66bfbaa2e726301c96fba9cc677261
7
+ data.tar.gz: 98a8d75d8f6e69dfea9c5503ad700194a150579d77a120e9f9ac825cd162d7f6bc77e2a33d41201a94a7f739fc8a56dec27248ee65b867e798f284332d8cdefe
data/README.rdoc CHANGED
@@ -51,6 +51,7 @@ You can also use these standard translations to help if you don't want to use th
51
51
  * Fábio André Damas - https://github.com/skkeeper
52
52
  * Allen Wyma - https://github.com/HangingClowns
53
53
  * Touch Ungboriboonpisal - https://github.com/erks
54
+ * https://github.com/mstark
54
55
 
55
56
  == Related
56
57
  You may also be intersted in the i18n_country_select gem which basically gives you a helper to make use of these translations in a coutry select dropdown.
@@ -60,6 +61,7 @@ If you need to use timezones, we also created a convenient way to translate the
60
61
  https://github.com/onomojo/i18n-timezones
61
62
 
62
63
  == Version History
64
+ * 1.2.1 - Update glob to include locales again. Fix import task
63
65
  * 1.1.1 - Fixing bug from incorrect translation paths. Update gemspec for Rails 4 support.
64
66
  * 1.1.0 - Updating all locales and separating out iso639-1 locales from 3 character unicode supported locales
65
67
  * 1.0.4 - Adding zh-HK and zh-CN translations.
@@ -1 +1,7 @@
1
- require 'i18n_country_translations/railtie'
1
+ require 'i18n_country_translations/railtie'
2
+
3
+ module I18nCountryTranslations
4
+ def self.root
5
+ File.expand_path('../..', __FILE__)
6
+ end
7
+ end
@@ -0,0 +1,78 @@
1
+ require 'yaml'
2
+ require 'open-uri'
3
+ require 'nokogiri'
4
+ # Imports ISO 639-1 country codes
5
+ # It parses a HTML file from Unicode.org for given locale and saves the
6
+ # Rails' I18n hash in the plugin +locale+ directory
7
+ module I18nCountryTranslations
8
+ class ImportTwoLetterCodes
9
+ attr_accessor :output_dir
10
+ attr_reader :locales
11
+
12
+ def initialize(locales = nil)
13
+ @locales = if locales
14
+ [locales]
15
+ else
16
+ present_locales
17
+ end
18
+
19
+ @output_dir = file_location
20
+ end
21
+
22
+ def process
23
+ @locales.each_with_index do |locale, index|
24
+ # ----- Get the CLDR HTML --------------------------------------------------
25
+ begin
26
+ doc = Nokogiri::HTML(open("http://www.unicode.org/cldr/charts/latest/summary/#{locale}.html"))
27
+ rescue => e
28
+ puts "[!] Invalid locale name '#{locale}'! Not found in CLDR (#{e})"
29
+ return if index == @locales.length - 1
30
+ end
31
+ # ----- Parse the HTML with Nokogiri ----------------------------------------
32
+ output = { locale => { "countries" => search_for_countries(doc) } }
33
+ # ----- Write the parsed values into file ---------------------------------
34
+ write_for(locale, output)
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def search_for_countries(doc)
41
+ result = {}
42
+ doc.search("//tr").each do |row|
43
+ if row.search("td[@class='n']") &&
44
+ row.search("td[@class='n']").first &&
45
+ (row.search("td[@class='n']").first.inner_text =~ /^Locale Display Names$/) &&
46
+ row.search("td[@class='g']") &&
47
+ row.search("td[@class='g']").last &&
48
+ (row.search("td[@class='g']").last.inner_text =~ /^\s*[A-Z]{2}\s*$/) &&
49
+ row.search("td[@class='v']") &&
50
+ row.search("td[@class='v']").first
51
+ code = row.search("td[@class='g']").last.inner_text
52
+ code = code[-code.size, 2]
53
+ name = row.search("td[@class='v']").first.inner_text
54
+ result.update({ code.to_s => name.to_s })
55
+ end
56
+ end
57
+ # result.sort_by { |key, value| key }.to_h works in Ruby 2.x
58
+ Hash[result.sort_by { |key, value| key }]
59
+ end
60
+
61
+ def present_locales
62
+ locale_files = Dir.glob(file_location + "/*")
63
+ locale_files.map{ |f| f.split("/").last.split(".")[0] }
64
+ end
65
+
66
+ def file_location
67
+ File.join(File.dirname(__FILE__), "..", "..", "rails", "locale", "iso_639-1")
68
+ end
69
+
70
+ def write_for(locale, output)
71
+ puts "\n... writing the output"
72
+ filename = File.join(@output_dir, "#{locale}.yml")
73
+ File.rename(filename, filename + ".OLD") if File.exists?(filename) # Rename by appending 'OLD' if file exists
74
+ File.open(filename, "w+") { |f| f << output.to_yaml }
75
+ puts "\n---\nWritten values for the '#{locale}' into file: #{filename}\n"
76
+ end
77
+ end
78
+ end
@@ -1,3 +1,3 @@
1
1
  module I18nCountryTranslations
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -1,84 +1,25 @@
1
1
  require 'rubygems'
2
2
  require 'open-uri'
3
-
3
+ require 'i18n_country_translations/import_two_letter_codes'
4
4
  # Rake task for importing country names from Unicode.org's CLDR repository
5
5
  # (http://www.unicode.org/cldr/data/charts/summary/root.html).
6
- #
7
- # It parses a HTML file from Unicode.org for given locale and saves the
6
+ #
7
+ # It parses a HTML file from Unicode.org for given locale and saves the
8
8
  # Rails' I18n hash in the plugin +locale+ directory
9
- #
9
+ #
10
10
 
11
11
  namespace :import do
12
12
 
13
13
  desc "Import country codes and names for various languages from the Unicode.org CLDR archive. Depends on Hpricot gem."
14
14
  task :country_translation do
15
15
  begin
16
- require 'hpricot'
16
+ require 'nokogiri'
17
17
  rescue LoadError
18
- puts "Error: Hpricot library required to use this task (import:country_select)"
18
+ puts "Error: Nokogiri library required to use this task (import:country_select)"
19
19
  exit
20
20
  end
21
-
22
- # Setup variables
23
- if ENV['IMPORT_LOCALE']
24
- locales = [ENV['IMPORT_LOCALE']]
25
- else
26
- locale_files = Dir.glob("rails/locale/iso_639-1/*")
27
- locales = locale_files.map{|f| f.split('/')[2].split('.')[0] }
28
- end
29
-
30
-
31
- locales.each_with_index do |locale, index|
32
- # ----- Get the CLDR HTML --------------------------------------------------
33
- begin
34
- doc = Hpricot( open("http://www.unicode.org/cldr/data/charts/summary/#{locale}.html") )
35
- rescue => e
36
- puts "[!] Invalid locale name '#{locale}'! Not found in CLDR (#{e})"
37
- exit 0 if index == locales.length - 1
38
- next
39
- end
40
-
41
-
42
- # ----- Parse the HTML with Hpricot ----------------------------------------
43
- countries = []
44
- doc.search("//tr").each do |row|
45
- if row.search("td[@class='n']") &&
46
- row.search("td[@class='n']").first &&
47
- (row.search("td[@class='n']").first.inner_text =~ /^Locale Display Names$/) &&
48
- row.search("td[@class='g']") &&
49
- row.search("td[@class='g']").last &&
50
- (row.search("td[@class='g']").last.inner_text =~ /^\s*[A-Z]{2}\s*$/) &&
51
- row.search("td[@class='v']") &&
52
- row.search("td[@class='v']").first
53
- code = row.search("td[@class='g']").last.inner_text
54
- code = code[-code.size, 2]
55
- name = row.search("td[@class='v']").first.inner_text
56
- countries << { :code => code.to_sym, :name => name.to_s }
57
- end
58
- end
59
-
60
- # ----- Prepare the output format ------------------------------------------
61
- output =<<HEAD
62
- #{locale}:
63
- countries:
64
- HEAD
65
- countries.sort { |x,y| x[:code] <=> y[:code] }.each do |country|
66
- country_code = country[:code] == :NO ? "\'NO\'" : country[:code]
67
- country_name = country[:name].gsub("; [draft=contributed]", "")
68
- output << " #{country_code}: \"#{country_name}\"\n"
69
- end
70
- output <<<<TAIL
71
- TAIL
72
-
73
-
74
- # ----- Write the parsed values into file ---------------------------------
75
- puts "\n... writing the output"
76
- filename = File.join(File.dirname(__FILE__), '..', '..', 'rails', 'locale', "#{locale}.yml")
77
- File.rename(filename, filename + ".OLD") if File.exists?(filename) # Rename by appending 'OLD' if file exists
78
- File.open(filename, 'w+') { |f| f << output }
79
- puts "\n---\nWritten values for the '#{locale}' into file: #{filename}\n"
80
- # ------------------------------------------------------------------------------
81
- end
82
21
 
22
+ import = I18nCountryTranslations::ImportTwoLetterCodes.new(ENV['IMPORT_LOCALE'])
23
+ import.process
83
24
  end
84
25
  end
@@ -0,0 +1,263 @@
1
+ ---
2
+ af:
3
+ countries:
4
+ AC: Ascensioneiland
5
+ AD: Andorra
6
+ AE: Verenigde Arabiese Emirate
7
+ AF: Afganistan
8
+ AG: Antigua en Barbuda
9
+ AI: Anguilla
10
+ AL: Albanië
11
+ AM: Armenië
12
+ AN: Nederlands-Antille
13
+ AO: Angola
14
+ AQ: Antarktika
15
+ AR: Argentinië
16
+ AS: Amerikaans-Samoa
17
+ AT: Oostenryk
18
+ AU: Australië
19
+ AW: Aruba
20
+ AX: Ålandeilande
21
+ AZ: Azerbeidjan
22
+ BA: Bosnië en Herzegowina
23
+ BB: Barbados
24
+ BD: Bangladesj
25
+ BE: België
26
+ BF: Burkina Faso
27
+ BG: Bulgarye
28
+ BH: Bahrein
29
+ BI: Burundi
30
+ BJ: Benin
31
+ BL: Sint Barthélemy
32
+ BM: Bermuda
33
+ BN: Broenei
34
+ BO: Bolivië
35
+ BQ: Karibiese Nederland
36
+ BR: Brasilië
37
+ BS: Bahamas
38
+ BT: Bhoetan
39
+ BV: Bouveteiland
40
+ BW: Botswana
41
+ BY: Belarus
42
+ BZ: Belize
43
+ CA: Kanada
44
+ CC: Cocos- (Keeling) eilande
45
+ CD: Demokratiese Republiek van die Kongo
46
+ CF: Sentraal-Afrikaanse Republiek
47
+ CG: Republiek van die Kongo
48
+ CH: Switserland
49
+ CI: Ivoorkus
50
+ CK: Cookeilande
51
+ CL: Chili
52
+ CM: Kameroen
53
+ CN: Sjina
54
+ CO: Colombië
55
+ CP: Clippertoneiland
56
+ CR: Costa Rica
57
+ CU: Kuba
58
+ CV: Kaap Verde
59
+ CW: Curaçao
60
+ CX: Kerseiland
61
+ CY: Siprus
62
+ CZ: Tjeggiese Republiek
63
+ DE: Duitsland
64
+ DG: Diego Garcia
65
+ DJ: Djiboeti
66
+ DK: Denemarke
67
+ DM: Dominica
68
+ DO: Dominikaanse Republiek
69
+ DZ: Algerië
70
+ EA: Ceuta en Melilla
71
+ EC: Ecuador
72
+ EE: Estland
73
+ EG: Egipte
74
+ EH: Wes-Sahara
75
+ ER: Eritrea
76
+ ES: Spanje
77
+ ET: Ethiopië
78
+ EU: Europese Unie
79
+ FI: Finland
80
+ FJ: Fidji
81
+ FK: Falklandeilande
82
+ FM: Mikronesië
83
+ FO: Faroëreilande
84
+ FR: Frankryk
85
+ GA: Gaboen
86
+ GB: Verenigde Koninkryk
87
+ GD: Grenada
88
+ GE: Georgië
89
+ GF: Frans-Guyana
90
+ GG: Guernsey
91
+ GH: Ghana
92
+ GI: Gibraltar
93
+ GL: Groenland
94
+ GM: Gambië
95
+ GN: Guinee
96
+ GP: Guadeloupe
97
+ GQ: Ekwatoriaal-Guinee
98
+ GR: Griekeland
99
+ GS: Suid-Georgië en die Suidelike Sandwicheilande
100
+ GT: Guatemala
101
+ GU: Guam
102
+ GW: Guinee-Bissau
103
+ GY: Guyana
104
+ HK: Hongkong SAS Sjina
105
+ HM: Heard- en McDonaldeilande
106
+ HN: Honduras
107
+ HR: Kroasië
108
+ HT: Haïti
109
+ HU: Hongarye
110
+ IC: Kanariese Eilande
111
+ ID: Indonesië
112
+ IE: Ierland
113
+ IL: Israel
114
+ IM: Eiland Man
115
+ IN: Indië
116
+ IO: Britse Indiese Oseaangebied
117
+ IQ: Irak
118
+ IR: Iran
119
+ IS: Ysland
120
+ IT: Italië
121
+ JE: Jersey
122
+ JM: Jamaika
123
+ JO: Jordanië
124
+ JP: Japan
125
+ KE: Kenia
126
+ KG: Kirgisië
127
+ KH: Kambodja
128
+ KI: Kiribati
129
+ KM: Comore
130
+ KN: Sint Kitts en Nevis
131
+ KP: Noord-Korea
132
+ KR: Suid-Korea
133
+ KW: Koeweit
134
+ KY: Kaaimanseilande
135
+ KZ: Kazakstan
136
+ LA: Laos
137
+ LB: Libanon
138
+ LC: Sint Lucia
139
+ LI: Liechtenstein
140
+ LK: Sri Lanka
141
+ LR: Liberië
142
+ LS: Lesotho
143
+ LT: Litaue
144
+ LU: Luxemburg
145
+ LV: Letland
146
+ LY: Libië
147
+ MA: Marokko
148
+ MC: Monaco
149
+ MD: Moldowa
150
+ ME: Montenegro
151
+ MF: Sint Martin
152
+ MG: Madagaskar
153
+ MH: Marshalleilande
154
+ MK: Macedonië
155
+ ML: Mali
156
+ MM: Mianmar (Birma)
157
+ MN: Mongolië
158
+ MO: Macau SAS Sjina
159
+ MP: Noordelike Mariana-eilande
160
+ MQ: Martinique
161
+ MR: Mauritanië
162
+ MS: Montserrat
163
+ MT: Malta
164
+ MU: Mauritius
165
+ MV: Maledive
166
+ MW: Malawi
167
+ MX: Meksiko
168
+ MY: Maleisië
169
+ MZ: Mosambiek
170
+ NA: Namibië
171
+ NC: Nieu-Kaledonië
172
+ NE: Niger
173
+ NF: Norfolkeiland
174
+ NG: Nigerië
175
+ NI: Nicaragua
176
+ NL: Nederland
177
+ 'NO': Noorweë
178
+ NP: Nepal
179
+ NR: Nauru
180
+ NU: Niue
181
+ NZ: Nieu-Seeland
182
+ OM: Oman
183
+ PA: Panama
184
+ PE: Peru
185
+ PF: Frans-Polinesië
186
+ PG: Papoea-Nieu-Guinee
187
+ PH: Filippyne
188
+ PK: Pakistan
189
+ PL: Pole
190
+ PM: Sint Pierre en Miquelon
191
+ PN: Pitcairneilande
192
+ PR: Puerto Rico
193
+ PS: Palestynse gebiede
194
+ PT: Portugal
195
+ PW: Palau
196
+ PY: Paraguay
197
+ QA: Katar
198
+ QO: Omliggende Oseanië
199
+ RE: Réunion
200
+ RO: Roemenië
201
+ RS: Serwië
202
+ RU: Rusland
203
+ RW: Rwanda
204
+ SA: Saoedi-Arabië
205
+ SB: Solomoneilande
206
+ SC: Seychelle
207
+ SD: Soedan
208
+ SE: Swede
209
+ SG: Singapoer
210
+ SH: Sint Helena
211
+ SI: Slowenië
212
+ SJ: Svalbard en Jan Mayen
213
+ SK: Slowakye
214
+ SL: Sierra Leone
215
+ SM: San Marino
216
+ SN: Senegal
217
+ SO: Somalië
218
+ SR: Suriname
219
+ SS: Suid-Soedan
220
+ ST: Sao Tome en Principe
221
+ SV: El Salvador
222
+ SX: Sint Maarten
223
+ SY: Sirië
224
+ SZ: Swaziland
225
+ TA: Tristan da Cunha
226
+ TC: Turks- en Caicoseilande
227
+ TD: Tsjad
228
+ TF: Franse Suidelike Gebiede
229
+ TG: Togo
230
+ TH: Thailand
231
+ TJ: Tadjikistan
232
+ TK: Tokelau
233
+ TL: Oos-Timor
234
+ TM: Turkmenië
235
+ TN: Tunisië
236
+ TO: Tonga
237
+ TR: Turkye
238
+ TT: Trinidad en Tobago
239
+ TV: Tuvalu
240
+ TW: Taiwan
241
+ TZ: Tanzanië
242
+ UA: Oekraïne
243
+ UG: Uganda
244
+ UM: VS klein omliggende eilande
245
+ US: Verenigde State van Amerika
246
+ UY: Uruguay
247
+ UZ: Oesbekistan
248
+ VA: Vatikaanstad
249
+ VC: Sint Vincent en die Grenadine
250
+ VE: Venezuela
251
+ VG: Britse Maagde-eilande
252
+ VI: Amerikaanse Maagde-eilande
253
+ VN: Viëtnam
254
+ VU: Vanuatu
255
+ WF: Wallis en Futuna
256
+ WS: Samoa
257
+ XK: Kosovo
258
+ YE: Jemen
259
+ YT: Mayotte
260
+ ZA: Suid-Afrika
261
+ ZM: Zambië
262
+ ZW: Zimbabwe
263
+ ZZ: Onbekende gebied