svenfuchs-i18n 0.1.1 → 0.1.2
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.
- data/i18n.gemspec +2 -2
- data/lib/i18n/backend/simple.rb +7 -1
- data/lib/i18n.rb +5 -0
- data/test/simple_backend_test.rb +34 -0
- metadata +2 -2
data/i18n.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "i18n"
|
3
|
-
s.version = "0.1.
|
4
|
-
s.date = "
|
3
|
+
s.version = "0.1.2"
|
4
|
+
s.date = "2009-01-09"
|
5
5
|
s.summary = "Internationalization support for Ruby"
|
6
6
|
s.email = "rails-i18n@googlegroups.com"
|
7
7
|
s.homepage = "http://rails-i18n.org"
|
data/lib/i18n/backend/simple.rb
CHANGED
@@ -69,6 +69,12 @@ module I18n
|
|
69
69
|
@initialized ||= false
|
70
70
|
end
|
71
71
|
|
72
|
+
# Returns an array of locales for which translations are available
|
73
|
+
def available_locales
|
74
|
+
init_translations unless initialized?
|
75
|
+
translations.keys
|
76
|
+
end
|
77
|
+
|
72
78
|
def reload!
|
73
79
|
@initialized = false
|
74
80
|
@translations = nil
|
@@ -76,7 +82,7 @@ module I18n
|
|
76
82
|
|
77
83
|
protected
|
78
84
|
def init_translations
|
79
|
-
load_translations(*I18n.load_path)
|
85
|
+
load_translations(*I18n.load_path.flatten)
|
80
86
|
@initialized = true
|
81
87
|
end
|
82
88
|
|
data/lib/i18n.rb
CHANGED
@@ -45,6 +45,11 @@ module I18n
|
|
45
45
|
Thread.current[:locale] = locale
|
46
46
|
end
|
47
47
|
|
48
|
+
# Returns an array of locales for which translations are available
|
49
|
+
def available_locales
|
50
|
+
backend.available_locales
|
51
|
+
end
|
52
|
+
|
48
53
|
# Sets the exception handler.
|
49
54
|
def exception_handler=(exception_handler)
|
50
55
|
@@exception_handler = exception_handler
|
data/test/simple_backend_test.rb
CHANGED
@@ -124,6 +124,16 @@ class I18nSimpleBackendTranslationsTest < Test::Unit::TestCase
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
|
+
class I18nSimpleBackendAvailableLocalesTest < Test::Unit::TestCase
|
128
|
+
def test_available_locales
|
129
|
+
@backend = I18n::Backend::Simple.new
|
130
|
+
@backend.store_translations 'de', :foo => 'bar'
|
131
|
+
@backend.store_translations 'en', :foo => 'foo'
|
132
|
+
|
133
|
+
assert_equal ['de', 'en'], @backend.available_locales.map{|locale| locale.to_s }.sort
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
127
137
|
class I18nSimpleBackendTranslateTest < Test::Unit::TestCase
|
128
138
|
include I18nSimpleBackendTestSetup
|
129
139
|
|
@@ -472,6 +482,30 @@ class I18nSimpleBackendLoadTranslationsTest < Test::Unit::TestCase
|
|
472
482
|
end
|
473
483
|
end
|
474
484
|
|
485
|
+
class I18nSimpleBackendLoadPathTest < Test::Unit::TestCase
|
486
|
+
include I18nSimpleBackendTestSetup
|
487
|
+
|
488
|
+
def teardown
|
489
|
+
I18n.load_path = []
|
490
|
+
end
|
491
|
+
|
492
|
+
def test_nested_load_paths_do_not_break_locale_loading
|
493
|
+
@backend = I18n::Backend::Simple.new
|
494
|
+
I18n.load_path = [[File.dirname(__FILE__) + '/locale/en.yml']]
|
495
|
+
assert_nil backend_get_translations
|
496
|
+
assert_nothing_raised { @backend.send :init_translations }
|
497
|
+
assert_not_nil backend_get_translations
|
498
|
+
end
|
499
|
+
|
500
|
+
def test_adding_arrays_of_filenames_to_load_path_do_not_break_locale_loading
|
501
|
+
@backend = I18n::Backend::Simple.new
|
502
|
+
I18n.load_path << Dir[File.dirname(__FILE__) + '/locale/*.{rb,yml}']
|
503
|
+
assert_nil backend_get_translations
|
504
|
+
assert_nothing_raised { @backend.send :init_translations }
|
505
|
+
assert_not_nil backend_get_translations
|
506
|
+
end
|
507
|
+
end
|
508
|
+
|
475
509
|
class I18nSimpleBackendReloadTranslationsTest < Test::Unit::TestCase
|
476
510
|
include I18nSimpleBackendTestSetup
|
477
511
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: svenfuchs-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Fuchs
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date:
|
16
|
+
date: 2009-01-09 00:00:00 -08:00
|
17
17
|
default_executable:
|
18
18
|
dependencies: []
|
19
19
|
|