i18n_data 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/cache/file_data_provider/countries-AF.txt +1 -1
  5. data/cache/file_data_provider/countries-AM.txt +1 -1
  6. data/cache/file_data_provider/countries-AR.txt +1 -1
  7. data/cache/file_data_provider/countries-AS.txt +1 -1
  8. data/cache/file_data_provider/countries-AZ.txt +1 -1
  9. data/cache/file_data_provider/countries-BE.txt +62 -62
  10. data/cache/file_data_provider/countries-BG.txt +1 -1
  11. data/cache/file_data_provider/countries-BN.txt +123 -123
  12. data/cache/file_data_provider/countries-BN_IN.txt +1 -1
  13. data/cache/file_data_provider/countries-BR.txt +1 -1
  14. data/cache/file_data_provider/countries-BS.txt +1 -1
  15. data/cache/file_data_provider/countries-CA.txt +1 -1
  16. data/cache/file_data_provider/countries-CS.txt +5 -5
  17. data/cache/file_data_provider/countries-CY.txt +1 -1
  18. data/cache/file_data_provider/countries-DA.txt +2 -2
  19. data/cache/file_data_provider/countries-DE.txt +1 -1
  20. data/cache/file_data_provider/countries-DZ.txt +1 -1
  21. data/cache/file_data_provider/countries-EL.txt +2 -2
  22. data/cache/file_data_provider/countries-EN.txt +1 -1
  23. data/cache/file_data_provider/countries-EO.txt +1 -1
  24. data/cache/file_data_provider/countries-ES.txt +4 -4
  25. data/cache/file_data_provider/countries-ET.txt +2 -2
  26. data/cache/file_data_provider/countries-EU.txt +2 -2
  27. data/cache/file_data_provider/countries-FA.txt +1 -1
  28. data/cache/file_data_provider/countries-FI.txt +1 -1
  29. data/cache/file_data_provider/countries-FO.txt +1 -1
  30. data/cache/file_data_provider/countries-FR.txt +1 -1
  31. data/cache/file_data_provider/countries-GA.txt +3 -3
  32. data/cache/file_data_provider/countries-GL.txt +1 -1
  33. data/cache/file_data_provider/countries-GU.txt +1 -1
  34. data/cache/file_data_provider/countries-HE.txt +1 -1
  35. data/cache/file_data_provider/countries-HI.txt +10 -10
  36. data/cache/file_data_provider/countries-HU.txt +1 -1
  37. data/cache/file_data_provider/countries-HY.txt +75 -75
  38. data/cache/file_data_provider/countries-IA.txt +249 -0
  39. data/cache/file_data_provider/countries-ID.txt +1 -1
  40. data/cache/file_data_provider/countries-IS.txt +6 -6
  41. data/cache/file_data_provider/countries-IT.txt +1 -1
  42. data/cache/file_data_provider/countries-JA.txt +1 -1
  43. data/cache/file_data_provider/countries-KA.txt +1 -1
  44. data/cache/file_data_provider/countries-KK.txt +1 -1
  45. data/cache/file_data_provider/countries-KM.txt +1 -1
  46. data/cache/file_data_provider/countries-KN.txt +1 -1
  47. data/cache/file_data_provider/countries-KO.txt +1 -1
  48. data/cache/file_data_provider/countries-KU.txt +1 -1
  49. data/cache/file_data_provider/countries-LT.txt +1 -1
  50. data/cache/file_data_provider/countries-LV.txt +1 -1
  51. data/cache/file_data_provider/countries-MI.txt +169 -169
  52. data/cache/file_data_provider/countries-MK.txt +1 -1
  53. data/cache/file_data_provider/countries-ML.txt +1 -1
  54. data/cache/file_data_provider/countries-MN.txt +1 -1
  55. data/cache/file_data_provider/countries-MR.txt +1 -1
  56. data/cache/file_data_provider/countries-MS.txt +1 -1
  57. data/cache/file_data_provider/countries-MT.txt +1 -1
  58. data/cache/file_data_provider/countries-NB.txt +2 -2
  59. data/cache/file_data_provider/countries-NE.txt +1 -1
  60. data/cache/file_data_provider/countries-NN.txt +7 -7
  61. data/cache/file_data_provider/countries-OC.txt +1 -1
  62. data/cache/file_data_provider/countries-OR.txt +1 -1
  63. data/cache/file_data_provider/countries-PA.txt +1 -1
  64. data/cache/file_data_provider/countries-PL.txt +1 -1
  65. data/cache/file_data_provider/countries-PS.txt +1 -1
  66. data/cache/file_data_provider/countries-PT.txt +1 -1
  67. data/cache/file_data_provider/countries-PT_BR.txt +8 -8
  68. data/cache/file_data_provider/countries-RO.txt +1 -1
  69. data/cache/file_data_provider/countries-RU.txt +1 -1
  70. data/cache/file_data_provider/countries-RW.txt +1 -1
  71. data/cache/file_data_provider/countries-SI.txt +1 -1
  72. data/cache/file_data_provider/countries-SK.txt +1 -1
  73. data/cache/file_data_provider/countries-SL.txt +1 -1
  74. data/cache/file_data_provider/countries-SO.txt +1 -1
  75. data/cache/file_data_provider/countries-SQ.txt +1 -1
  76. data/cache/file_data_provider/countries-SR.txt +1 -1
  77. data/cache/file_data_provider/countries-SV.txt +2 -2
  78. data/cache/file_data_provider/countries-SW.txt +1 -1
  79. data/cache/file_data_provider/countries-TA.txt +1 -1
  80. data/cache/file_data_provider/countries-TE.txt +1 -1
  81. data/cache/file_data_provider/countries-TH.txt +1 -1
  82. data/cache/file_data_provider/countries-TI.txt +1 -1
  83. data/cache/file_data_provider/countries-TK.txt +1 -1
  84. data/cache/file_data_provider/countries-TL.txt +1 -1
  85. data/cache/file_data_provider/countries-TR.txt +1 -1
  86. data/cache/file_data_provider/countries-TT.txt +228 -228
  87. data/cache/file_data_provider/countries-UG.txt +2 -2
  88. data/cache/file_data_provider/countries-UK.txt +1 -1
  89. data/cache/file_data_provider/countries-VE.txt +1 -1
  90. data/cache/file_data_provider/countries-VI.txt +1 -1
  91. data/cache/file_data_provider/countries-WA.txt +1 -1
  92. data/cache/file_data_provider/countries-WO.txt +1 -1
  93. data/cache/file_data_provider/countries-XH.txt +1 -1
  94. data/cache/file_data_provider/countries-ZH_HK.txt +1 -1
  95. data/cache/file_data_provider/countries-ZH_TW.txt +1 -1
  96. data/cache/file_data_provider/countries-ZU.txt +1 -1
  97. data/cache/file_data_provider/languages-BG.txt +7 -7
  98. data/cache/file_data_provider/{languages-BN_IN.txt → languages-BN.txt} +0 -0
  99. data/cache/file_data_provider/languages-DA.txt +184 -184
  100. data/cache/file_data_provider/languages-DE.txt +1 -1
  101. data/cache/file_data_provider/languages-HR.txt +4 -4
  102. data/cache/file_data_provider/languages-PT.txt +20 -20
  103. data/cache/file_data_provider/languages-TH.txt +12 -12
  104. data/cache/file_data_provider/languages-TR.txt +10 -10
  105. data/cache/file_data_provider/languages-TT.txt +150 -150
  106. data/cache/file_data_provider/languages-VI.txt +1 -1
  107. data/cache/file_data_provider/languages-ZH_TW.txt +1 -1
  108. data/lib/i18n_data.rb +7 -2
  109. data/lib/i18n_data/file_data_provider.rb +23 -2
  110. data/lib/i18n_data/live_data_provider.rb +25 -4
  111. data/lib/i18n_data/version.rb +1 -1
  112. metadata +31 -59
  113. metadata.gz.sig +0 -0
  114. data/.gitignore +0 -3
  115. data/.travis.yml +0 -4
  116. data/Gemfile +0 -6
  117. data/Gemfile.lock +0 -28
  118. data/Rakefile +0 -77
  119. data/Readme.md +0 -61
  120. data/example_output/all_names_for_DE.txt +0 -85
  121. data/example_output/all_names_for_FR.txt +0 -85
  122. data/example_output/all_names_for_GB.txt +0 -85
  123. data/example_output/all_names_for_US.txt +0 -85
  124. data/gem-public_cert.pem +0 -20
  125. data/i18n_data.gemspec +0 -14
  126. data/spec/i18n_data/file_data_provider_spec.rb +0 -29
  127. data/spec/i18n_data/live_data_provider_spec.rb +0 -45
  128. data/spec/i18n_data_spec.rb +0 -176
  129. data/spec/spec_helper.rb +0 -2
@@ -17,7 +17,7 @@ BM;;Tiếng Bam-ba-ra
17
17
  EU;;Tiếng Baxcơ
18
18
  BE;;Tiếng Be-la-ruxợ
19
19
  BN;;Tiếng Băng Gan
20
- BH;;Hệ ngôn ngữ Tai
20
+ BH;;Hệ ngôn ngữ Bihari
21
21
  BI;;Tiếng Bix-la-ma
22
22
  BS;;Tiếng Bô-xni-a
23
23
  BR;;Tiếng Boue-ton (Pháp)
@@ -17,7 +17,7 @@ BM;;班巴拉語
17
17
  EU;;巴斯克語
18
18
  BE;;白俄語
19
19
  BN;;孟加拉語
20
- BH;;泰語諸語言
20
+ BH;;比哈諸語言
21
21
  BI;;比斯拉馬語
22
22
  BS;;波士尼亞語
23
23
  BR;;布里敦語
@@ -1,12 +1,17 @@
1
1
  require 'i18n_data/version'
2
2
 
3
3
  module I18nData
4
- class NoTranslationAvailable < Exception
4
+
5
+ class BaseException < Exception
5
6
  def to_s
6
- "NoTranslationAvailable -- #{super}"
7
+ "#{self.class} -- #{super}"
7
8
  end
8
9
  end
9
10
 
11
+ class NoTranslationAvailable < BaseException; end
12
+ class AccessDenied < BaseException; end
13
+ class Unknown < BaseException; end
14
+
10
15
  class << self
11
16
  def languages(language_code='EN')
12
17
  fetch :languages, language_code do
@@ -12,18 +12,39 @@ module I18nData
12
12
 
13
13
  def write_cache(provider)
14
14
  languages = provider.codes(:languages, 'EN').keys + ['zh_CN', 'zh_TW', 'zh_HK','bn_IN','pt_BR']
15
- languages.each do |language_code|
15
+ unless progress_bar = build_progress_bar(languages.count)
16
+ $stderr.puts 'i18n_data: Updating file cache, will take about 8 minutes...'
17
+ end
18
+
19
+ languages.map do |language_code|
16
20
  [:languages, :countries].each do |type|
17
21
  begin
18
22
  data = provider.send(:codes, type, language_code)
19
23
  write_to_file(data, cache_file_for(type, language_code))
20
24
  rescue NoTranslationAvailable
25
+ $stderr.puts "No translation available for #{type} #{language_code}" if $DEBUG
26
+ rescue AccessDenied
27
+ $stderr.puts "Access denied for #{type} #{language_code}"
21
28
  end
22
29
  end
30
+ progress_bar.increment if progress_bar
23
31
  end
24
32
  end
25
33
 
26
- private
34
+ private
35
+
36
+ def build_progress_bar(max_count)
37
+ return unless $stderr.tty?
38
+ require 'ruby-progressbar'
39
+ ProgressBar.create(
40
+ :format => '%t %E: |%w|',
41
+ :title => 'writing translation cache data',
42
+ :total => max_count
43
+ )
44
+ rescue LoadError
45
+ $stderr.puts ':: i18n_data file write cache update ::'
46
+ $stderr.puts 'for progress install "ruby-progressbar" gem'
47
+ end
27
48
 
28
49
  def read_from_file(file)
29
50
  return nil unless File.exist?(file)
@@ -51,9 +51,16 @@ module I18nData
51
51
 
52
52
  begin
53
53
  url = TRANSLATIONS[type]+"#{code}.po"
54
- data = open(url).read
55
- rescue
56
- raise NoTranslationAvailable, "for #{type} and language code = #{code} (#{$!})"
54
+ data = get(url)
55
+ rescue => e
56
+ case e.to_s
57
+ when /\A404 /
58
+ raise NoTranslationAvailable, "for #{type} and language code = #{code} (#{$!})"
59
+ when /\A502 /
60
+ raise AccessDenied, "for #{type} and language code = #{code} (#{$!})"
61
+ else
62
+ raise Unknown, "#{e.to_s} for #{type} and language code = #{code} (#{$!})"
63
+ end
57
64
  end
58
65
 
59
66
  data = data.force_encoding('utf-8') if data.respond_to?(:force_encoding) # 1.9
@@ -96,9 +103,23 @@ module I18nData
96
103
  end]
97
104
  end
98
105
 
106
+ def get(url)
107
+ $stderr.puts "GET #{url}" if $DEBUG
108
+ @@cache ||= {}
109
+ return @@cache[url] if @@cache.include? url
110
+ @@cache[url] = open(url).read
111
+ end
112
+
99
113
  def xml(type)
100
- xml = open(XML_CODES[type]).read
114
+ xml = get(XML_CODES[type])
101
115
  REXML::Document.new(xml)
116
+ rescue => e
117
+ case e.to_s
118
+ when /\A502 /
119
+ raise AccessDenied, "for index of #{type} (#{$!})"
120
+ else
121
+ raise Unknown, "#{e.to_s} for index of #{type} (#{$!})"
122
+ end
102
123
  end
103
124
  end
104
125
  end
@@ -1,3 +1,3 @@
1
1
  module I18nData
2
- VERSION = Version = "0.4.0"
2
+ VERSION = Version = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,42 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.4.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michael Grosser
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain:
12
- - !binary |-
13
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURNakNDQWhxZ0F3SUJB
14
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREEvTVJBd0RnWURWUVFEREFkdGFX
15
- Tm8KWVdWc01SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSFozSnZjM05sY2pFU01C
16
- QUdDZ21TSm9tVDhpeGtBUmtXQW1sMApNQjRYRFRFek1ESXdNekU0TVRNeE1W
17
- b1hEVEUwTURJd016RTRNVE14TVZvd1B6RVFNQTRHQTFVRUF3d0hiV2xqCmFH
18
- RmxiREVYTUJVR0NnbVNKb21UOGl4a0FSa1dCMmR5YjNOelpYSXhFakFRQmdv
19
- SmtpYUprL0lzWkFFWkZnSnAKZERDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFB
20
- RGdnRVBBRENDQVFvQ2dnRUJBTW9yWG8vaGdiVXE5NytrSUk5SApNc1FjTGRD
21
- Lzd3UTFaUDJPc2hWSFBrZVAwcUg4TUJIR2c2ZVlpc09YMnViTmFnRjlZVENa
22
- V25ocmRLcndwTE9PCmNQTGFaYmpVamxqSjNjUVIzQjhZbjF2ZVY1SWhHODZR
23
- c2VUQmp5bXpKV3NMcHFKMVVaR3BmQjl0WGNzRnR1eE8KNnZIdmNJSGR6dmMv
24
- T1VrSUN0dExiSCsxcWI2cnNIVWNlcWgrSnJINEdyc0o1SDRoQWZJZHlTMlhN
25
- SzdZUktiaApoK0lCdTZkRldKSkJ5ekZzWW1WMVBEWGxuM1VCbWdBdDY1Y21D
26
- dTRxUGZUaGlvQ0dEemJTSnJHREdMbXcvcEZYCkZQcFZDbTF6Z1lTYjF2NlFu
27
- ZjNjZ1hhMmYyd1lHbTE3K3pBVnlJRHB3cnlGcnU5eUYvakp4RTM4ei9EUnNk
28
- OVIKLzg4Q0F3RUFBYU01TURjd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZn
29
- UVVzaU5uWEh0S2VNWVljcjR5SlZtUQpXT05MK0l3d0N3WURWUjBQQkFRREFn
30
- U3dNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFseU43a0tvL05RQ1EwCkFP
31
- elpMWjNXQWVQdlN0a0NGSUo1M3RzdjVLeW80cE1BbGx2K0JnUHp6QnQ3cWk2
32
- MDVtRlNMNnpCZDl1TG91K1cKQ28zczQ4cDFkeTdDampBZlZRZG1WTkhGM013
33
- WHRmQzJPRXl2U1FQaTR4S1I4aWJhOHdhM3hwOUxWbzFQdUxwdwovNkRzckNo
34
- V3c3NEhmc0pONnFKT0s2ODRoSmVUOGxCWUFVZmlDM3dEMG93b1BTZytYdHlB
35
- QWRkaXNSK0tWNVkxCk5tVkh1THRRY05UWnkrZ1JodDNhaEpSTXVDNlF5TG1r
36
- VHNmKzZNYWVud0FNa0FnSGRzd0dzSnp0T25ObkJhM0YKeTBrQ1NXbUs2RCt4
37
- L1NiZlM2cjdLZTA3TVJxemlKZEI5R3VFMSswY0lSdUZoOEVRK0xONkhYQ0tN
38
- NXBvbi9HVQp5Y3dNWGZsMAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
39
- date: 2013-02-13 00:00:00.000000000 Z
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MRAwDgYDVQQDDAdtaWNo
14
+ YWVsMRcwFQYKCZImiZPyLGQBGRYHZ3Jvc3NlcjESMBAGCgmSJomT8ixkARkWAml0
15
+ MB4XDTE0MDIwNDIwMjk0MVoXDTE1MDIwNDIwMjk0MVowPzEQMA4GA1UEAwwHbWlj
16
+ aGFlbDEXMBUGCgmSJomT8ixkARkWB2dyb3NzZXIxEjAQBgoJkiaJk/IsZAEZFgJp
17
+ dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMorXo/hgbUq97+kII9H
18
+ MsQcLdC/7wQ1ZP2OshVHPkeP0qH8MBHGg6eYisOX2ubNagF9YTCZWnhrdKrwpLOO
19
+ cPLaZbjUjljJ3cQR3B8Yn1veV5IhG86QseTBjymzJWsLpqJ1UZGpfB9tXcsFtuxO
20
+ 6vHvcIHdzvc/OUkICttLbH+1qb6rsHUceqh+JrH4GrsJ5H4hAfIdyS2XMK7YRKbh
21
+ h+IBu6dFWJJByzFsYmV1PDXln3UBmgAt65cmCu4qPfThioCGDzbSJrGDGLmw/pFX
22
+ FPpVCm1zgYSb1v6Qnf3cgXa2f2wYGm17+zAVyIDpwryFru9yF/jJxE38z/DRsd9R
23
+ /88CAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFLIj
24
+ Z1x7SnjGGHK+MiVZkFjjS/iMMB0GA1UdEQQWMBSBEm1pY2hhZWxAZ3Jvc3Nlci5p
25
+ dDAdBgNVHRIEFjAUgRJtaWNoYWVsQGdyb3NzZXIuaXQwDQYJKoZIhvcNAQEFBQAD
26
+ ggEBAExBcUWfGuamYn+IddOA0Ws8jUKwB14RXoZRDrTiTAlMm3Bkg2OKyxS3uJXa
27
+ 6Z+LwFiZwVYk62yHXqNzEJycQk4SEmY+xDWLj0p7X6qEeU4QZKwR1TwJ5z3PTrZ6
28
+ irJgM3q7NIBRvmTzRaAghWcQn+Eyr5YLOfMksjVBMUMnzh5/ZDgq53LphgJbGwvz
29
+ ScJAgfNclLHnjk9q1mT1s0e1FPWbiAL3siBIR5HpH8qtSEiivTf2ntciebOqS93f
30
+ F5etKHZg0j3eHO31/i2HnswY04lqGImUu6aM5EnijFTB7PPW2KwKKM4+kKDYFdlw
31
+ /0WV1Ng2/Y6qsHwmqGg2VlYj2h4=
32
+ -----END CERTIFICATE-----
33
+ date: 2014-03-15 00:00:00.000000000 Z
40
34
  dependencies: []
41
35
  description:
42
36
  email: michael@grosser.it
@@ -44,12 +38,6 @@ executables: []
44
38
  extensions: []
45
39
  extra_rdoc_files: []
46
40
  files:
47
- - .gitignore
48
- - .travis.yml
49
- - Gemfile
50
- - Gemfile.lock
51
- - Rakefile
52
- - Readme.md
53
41
  - cache/file_data_provider/countries-AF.txt
54
42
  - cache/file_data_provider/countries-AM.txt
55
43
  - cache/file_data_provider/countries-AR.txt
@@ -85,6 +73,7 @@ files:
85
73
  - cache/file_data_provider/countries-HR.txt
86
74
  - cache/file_data_provider/countries-HU.txt
87
75
  - cache/file_data_provider/countries-HY.txt
76
+ - cache/file_data_provider/countries-IA.txt
88
77
  - cache/file_data_provider/countries-ID.txt
89
78
  - cache/file_data_provider/countries-IS.txt
90
79
  - cache/file_data_provider/countries-IT.txt
@@ -152,7 +141,7 @@ files:
152
141
  - cache/file_data_provider/languages-AZ.txt
153
142
  - cache/file_data_provider/languages-BE.txt
154
143
  - cache/file_data_provider/languages-BG.txt
155
- - cache/file_data_provider/languages-BN_IN.txt
144
+ - cache/file_data_provider/languages-BN.txt
156
145
  - cache/file_data_provider/languages-BR.txt
157
146
  - cache/file_data_provider/languages-BS.txt
158
147
  - cache/file_data_provider/languages-CA.txt
@@ -223,49 +212,32 @@ files:
223
212
  - cache/file_data_provider/languages-ZH_HK.txt
224
213
  - cache/file_data_provider/languages-ZH_TW.txt
225
214
  - cache/file_data_provider/languages-ZU.txt
226
- - example_output/all_names_for_DE.txt
227
- - example_output/all_names_for_FR.txt
228
- - example_output/all_names_for_GB.txt
229
- - example_output/all_names_for_US.txt
230
- - gem-public_cert.pem
231
- - i18n_data.gemspec
232
215
  - lib/i18n_data.rb
233
216
  - lib/i18n_data/file_data_provider.rb
234
217
  - lib/i18n_data/live_data_provider.rb
235
218
  - lib/i18n_data/version.rb
236
- - spec/i18n_data/file_data_provider_spec.rb
237
- - spec/i18n_data/live_data_provider_spec.rb
238
- - spec/i18n_data_spec.rb
239
- - spec/spec_helper.rb
240
219
  homepage: https://github.com/grosser/i18n_data
241
220
  licenses:
242
221
  - MIT
222
+ metadata: {}
243
223
  post_install_message:
244
224
  rdoc_options: []
245
225
  require_paths:
246
226
  - lib
247
227
  required_ruby_version: !ruby/object:Gem::Requirement
248
- none: false
249
228
  requirements:
250
- - - ! '>='
229
+ - - '>='
251
230
  - !ruby/object:Gem::Version
252
231
  version: '0'
253
- segments:
254
- - 0
255
- hash: 3936433807610975866
256
232
  required_rubygems_version: !ruby/object:Gem::Requirement
257
- none: false
258
233
  requirements:
259
- - - ! '>='
234
+ - - '>='
260
235
  - !ruby/object:Gem::Version
261
236
  version: '0'
262
- segments:
263
- - 0
264
- hash: 3936433807610975866
265
237
  requirements: []
266
238
  rubyforge_project:
267
- rubygems_version: 1.8.24
239
+ rubygems_version: 2.0.14
268
240
  signing_key:
269
- specification_version: 3
241
+ specification_version: 4
270
242
  summary: country/language names and 2-letter-code pairs, in 85 languages
271
243
  test_files: []
metadata.gz.sig CHANGED
Binary file
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- Manifest
2
- pkg
3
- output
@@ -1,4 +0,0 @@
1
- rvm:
2
- - ree
3
- - 1.9.2
4
- - 1.9.3
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source :rubygems
2
- gemspec
3
-
4
- gem "bump"
5
- gem "rake"
6
- gem "rspec", "~>2"
@@ -1,28 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- i18n_data (0.4.0)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- bump (0.3.9)
10
- diff-lcs (1.1.3)
11
- rake (10.0.3)
12
- rspec (2.12.0)
13
- rspec-core (~> 2.12.0)
14
- rspec-expectations (~> 2.12.0)
15
- rspec-mocks (~> 2.12.0)
16
- rspec-core (2.12.2)
17
- rspec-expectations (2.12.1)
18
- diff-lcs (~> 1.1.3)
19
- rspec-mocks (2.12.2)
20
-
21
- PLATFORMS
22
- ruby
23
-
24
- DEPENDENCIES
25
- bump
26
- i18n_data!
27
- rake
28
- rspec (~> 2)
data/Rakefile DELETED
@@ -1,77 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'bump/tasks'
3
- $LOAD_PATH << "lib"
4
- require 'i18n_data'
5
-
6
- task :default do
7
- sh "rspec spec/"
8
- end
9
-
10
- desc "write all languages to output"
11
- task :all_languages do
12
- I18nData.languages.keys.each do |lc|
13
- `rake languages LANGUAGE=#{lc}`
14
- end
15
- end
16
-
17
- desc "write languages to output/languages_{language}"
18
- task :languages do
19
- raise unless language = ENV['LANGUAGE']
20
- `mkdir output -p`
21
- data = I18nData.languages(language.upcase)
22
- File.open("output/languages_#{language.downcase}.yml",'w') {|f|f.puts data.to_yaml}
23
- end
24
-
25
- desc "write all countries to output"
26
- task :all_countries do
27
- I18nData.languages.keys.each do |lc|
28
- `rake countries LANGUAGE=#{lc}`
29
- end
30
- end
31
-
32
- desc "write countries to output/countries_{language}"
33
- task :countries do
34
- raise unless language = ENV['LANGUAGE']
35
- `mkdir output -p`
36
- data = I18nData.countries(language.upcase)
37
- File.open("output/countries_#{language.downcase}.yml",'w') {|f|f.puts data.to_yaml}
38
- end
39
-
40
- desc "write example output, just to show off :D"
41
- task :example_output do
42
- `mkdir example_output -p`
43
-
44
- #all names for germany, france, united kingdom and unites states
45
- ['DE','FR','GB','US'].each do |cc|
46
- names = I18nData.languages.keys.map do |lc|
47
- begin
48
- [I18nData.countries(lc)[cc], I18nData.languages[lc]]
49
- rescue I18nData::NoTranslationAvailable
50
- nil
51
- end
52
- end
53
- File.open("example_output/all_names_for_#{cc}.txt",'w') do |f|
54
- f.puts names.reject(&:nil?).map{|x|x*" ---- "} * "\n"
55
- end
56
- end
57
- end
58
-
59
- desc "show stats"
60
- task :stats do
61
- dir = "cache/file_data_provider"
62
- [:languages, :countries].each do |type|
63
- files = FileList["#{dir}/#{type}*"]
64
- lines = File.readlines(files.first).reject{|l|l.empty?}
65
- puts "#{lines.size} #{type} in #{files.size} languages"
66
- end
67
- end
68
-
69
- desc "write cache for I18nData::FileDataProvider"
70
- task :write_cache_for_file_data_provider do
71
- raise "use 1.9+, we need sorted hashes or diff is giant" if RUBY_VERSION < "1.9"
72
- require 'i18n_data/file_data_provider'
73
- require 'i18n_data/live_data_provider'
74
- sh "rm -rf cache/file_data_provider" # clean everything so old stuff goes away
75
- puts "writing new caches, this can take a few minutes..."
76
- I18nData::FileDataProvider.write_cache(I18nData::LiveDataProvider)
77
- end
data/Readme.md DELETED
@@ -1,61 +0,0 @@
1
- - Present users coutries/languages in their language
2
- - Convert a country/language-name to its 2-letter-code
3
- - List of 2-letter-code/name pairs for all countries/languages in all languages
4
-
5
- ###Translations
6
- Through [pkg-isocodes](http://git.debian.org/?p=iso-codes/iso-codes.git):
7
-
8
- - 185 Language codes (iso 639 - 2 letter) in 68 Languages
9
- - 246 Country codes (iso 3166 - 2 letter) in 86 Languages
10
- - contry specific codes e.g. zh_TW are also available, have a look at the isocodes website for all options
11
-
12
- Install
13
- =======
14
-
15
- gem install i18n_data
16
-
17
- Usage
18
- =====
19
-
20
- require 'i18n_data'
21
- ...
22
- I18nData.languages # {"DE"=>"German",...}
23
- I18nData.languages('DE') # {"DE"=>"Deutsch",...}
24
- I18nData.languages('FR') # {"DE"=>"Allemand",...}
25
- ...
26
-
27
- I18nData.countries # {"DE"=>"Germany",...}
28
- I18nData.countries('DE') # {"DE"=>"Deutschland",...}
29
- ...
30
-
31
- I18nData.language_code('German') # DE
32
- I18nData.language_code('Deutsch') # DE
33
- I18nData.language_code('Allemand') # DE
34
- ..
35
-
36
- I18nData.country_code('Germany') # DE
37
- I18nData.country_code('Deutschland') # DE
38
- ..
39
-
40
- Data Providers
41
- ==============
42
- - FileDataProvider: _FAST_ (default) (loading data from cache-files)
43
- - LiveDataProvider: _SLOW_ (fetching up-to-date data from svn repos)
44
-
45
- Development
46
- =======
47
- - update FileDataProvider caches after each code-change to make changes available to users `rake write_cache_for_file_data_provider`
48
- - FileDataProvider tests might fail if caches are not updates
49
-
50
- TODO
51
- ====
52
- - include other language/country code formats (3-letter codes...) ?
53
- - parse list of files on isocodes for write_cache instead of hardcoding country-specific ones
54
-
55
- Author
56
- ======
57
- [Michael Grosser](http://grosser.it)<br/>
58
- michael@grosser.it<br/>
59
- License: MIT<br/>
60
- [![Build Status](https://travis-ci.org/grosser/i18n_data.png)](https://travis-ci.org/grosser/i18n_data)
61
-