i18n_csv 0.1.3 → 0.1.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9fd247b725ef51da78c7892151f975099bbdc215
4
- data.tar.gz: b51a480ce2588979d7d4cf34c01d744c9184c5e3
3
+ metadata.gz: 02e37ae91ef7e51bc52b1ecd0c97d6d6493e3561
4
+ data.tar.gz: f035e8841449cab7496b3d6e10561f2b1e2e2b5b
5
5
  SHA512:
6
- metadata.gz: 48e07f947671fa68e79d1310d2a2a3412120d9de4c8f5ccd90a31a19cf5370d13c4514df23a4eff71ebd57635fd51bc4c68a7598704232604b253ec837171677
7
- data.tar.gz: 065ca3572a915c126efe1ecd2e02b74800341d7159a9a4e621e0afc6b4e467e978be7fd0d43cc95c05e288638cfc486ec72e9329df5310c379c63025105c8d8a
6
+ metadata.gz: 94a27aa7fd96313fcc60ee59b7a9280d510820b8b76dbc8f24c8923962bc296a3a5ea1a93bc35f743db1e457a36475a9e34df9c1464e841e1140dea2c9101066
7
+ data.tar.gz: dd8292f0b955790b20ee147c30ceec22ad1e1066632f68a2d5c0c477bc6fad4caf3e0751548ced760ae974009eb9ee944a62d8c500d453f00a2cd055a38ecca3
@@ -8,11 +8,12 @@ module I18n
8
8
  def load_csv(filename)
9
9
  begin
10
10
  lines = CSV.read(filename)
11
- locale = ::File.basename(filename, '.csv').to_sym
11
+ locale = ::File.basename(filename, '.csv').gsub /^([^.]+\.)/, ''
12
+ locale = locale.to_sym
12
13
  values = Hash[ lines.map { |l| l if l.size == 2 } ]
13
14
 
14
15
  @translations ||= {}
15
- @translations[locale].merge! values
16
+ @translations[locale] = values.merge @translations[locale]
16
17
 
17
18
  { locale => values }
18
19
  rescue Exception => e
@@ -25,13 +26,23 @@ module I18n
25
26
 
26
27
  class MissingTranslation
27
28
  module Base
29
+ def candidate_lookup
30
+ translations = I18n.backend.send :translations
31
+ locale = keys.first
32
+ path = ((keys - [ locale ]).map { |k| k.to_s }).join('.')
33
+
34
+ translations[locale][path] || keys.last.to_s
35
+ end
36
+
28
37
  def message
29
- keys.last.to_s
38
+ candidate_lookup
30
39
  end
31
40
 
32
41
  def html_message
33
- keys.last.to_s
42
+ candidate_lookup
34
43
  end
35
44
  end
36
45
  end
37
- end
46
+ end
47
+
48
+ I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.csv')]
@@ -1,3 +1,3 @@
1
1
  module I18nCsv
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Shoobovych
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-08 00:00:00.000000000 Z
11
+ date: 2013-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler