i18n_csv 0.1.3 → 0.1.5

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
  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