i18n_data 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f6c5d2fd7892ae09db4bd6dd2b7ce38fa6895a94d823c666b0af763fb0be646
4
- data.tar.gz: efea2ece2e8f0a1d725303cfc9c43d54887bd8958a96538a511f17717b559fa1
3
+ metadata.gz: cef7557c880a861685742eb311bb3cf8ed3d32a1d4e27f255fb9941283457ee4
4
+ data.tar.gz: fcb5942c51099ddd8b6061b00d69f1214f2f910822b4cf2735d342b97d4d0435
5
5
  SHA512:
6
- metadata.gz: 128c9bb8a1479702dd00919de3ccdb867c2cc7bb904ad768517ea1bd79bd3c1360a5e8c9b6442d34819d0c945a15934387d763bbba25922f24f5eebe61424a6c
7
- data.tar.gz: d159a8289f57daeaa27bd0225baa04283fe60944c7e028892625590b5a07f7b35013e3aa86ef9addc68dbf10e55bb9e7811b64d7f6a39d879a322df027aa5245
6
+ metadata.gz: 3089716d745bf37d7af6508e04efa64d2bc0ef7cc7fa54276cdc248b84a2a880915e3f1586982d6fc1c97ea78e88db771ab92b35ea3ab621c12ca23f92fc01b0
7
+ data.tar.gz: e907127312dae56ad842f8d83f0aae27afba3999bf0e4e4a806d65953fee096c40909911e629039d55b4730e8708f2bd570a4d2c2a1e0552ab2f010aeadca609
@@ -65,20 +65,27 @@ module I18nData
65
65
  search = search.strip
66
66
 
67
67
  # common languages first <-> faster in majority of cases
68
- common_languages = ['EN','ES','FR','DE','ZH']
69
- langs = (common_languages + (languages.keys - common_languages))
68
+ common_language_codes = ['EN','ES','FR','DE','ZH']
69
+ language_codes = common_language_codes.concat (available_language_codes - common_language_codes)
70
70
 
71
- langs.each do |lang|
71
+ language_codes.detect do |language_code|
72
72
  begin
73
- send(type, lang).each do |code, name|
74
- # supports "Dutch" and "Dutch; Flemish", checks for inclusion first -> faster
75
- match_found = (name.include?(search) and name.split(';').map{|s| s.strip }.include?(search))
76
- return code if match_found
73
+ send(type, language_code).detect do |code, name|
74
+ # support "Dutch" and "Dutch; Flemish", checks for inclusion first -> faster
75
+ return code if (name.include?(search) && name.split(';').each(&:strip!).include?(search))
77
76
  end
78
77
  rescue NoTranslationAvailable
79
78
  end
80
79
  end
81
- nil
80
+ end
81
+
82
+ # NOTE: this is not perfect since the used provider might have more or less languages available
83
+ # but it's better than just using the available english language codes
84
+ def available_language_codes
85
+ @available_languges ||= begin
86
+ files = Dir[File.expand_path("../../cache/file_data_provider/languages-*", __FILE__)]
87
+ files.map! { |f| f[/languages-(.*)\./, 1] }
88
+ end
82
89
  end
83
90
  end
84
91
  end
@@ -1,3 +1,3 @@
1
1
  module I18nData
2
- VERSION = Version = "0.9.1"
2
+ VERSION = Version = "0.10.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-08 00:00:00.000000000 Z
11
+ date: 2019-01-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: michael@grosser.it