r18n-core 1.1.5 → 1.1.6
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/ChangeLog +4 -0
- data/README.md +6 -0
- data/lib/r18n-core/filter_list.rb +6 -1
- data/lib/r18n-core/translation.rb +2 -1
- data/lib/r18n-core/version.rb +1 -1
- data/r18n-core.gemspec +0 -10
- data/spec/filters_spec.rb +17 -1
- metadata +5 -155
data/ChangeLog
CHANGED
data/README.md
CHANGED
@@ -429,6 +429,12 @@ If you want to load a translation with some type for filter, use
|
|
429
429
|
t.users(5) #=> "5 users"
|
430
430
|
```
|
431
431
|
|
432
|
+
You can also set several loaders to merge translations from different sources:
|
433
|
+
|
434
|
+
```ruby
|
435
|
+
R18n.default_places = [MyLoader.new, DBLoader.new, 'path/to/yaml']
|
436
|
+
```
|
437
|
+
|
432
438
|
### Extension Translations
|
433
439
|
|
434
440
|
For r18n plugin you can add loaders with translations, which will be used with
|
@@ -56,7 +56,12 @@ module R18n
|
|
56
56
|
enabled(filters_type, String).each do |f|
|
57
57
|
value = f.call(value, config, *params)
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
|
+
if value.class == String
|
61
|
+
TranslatedString.new(value, config[:locale], config[:path])
|
62
|
+
else
|
63
|
+
value
|
64
|
+
end
|
60
65
|
end
|
61
66
|
|
62
67
|
# Array of enabled filters with +filters_type+ for +type+.
|
@@ -150,7 +150,8 @@ module R18n
|
|
150
150
|
value = @data[name]
|
151
151
|
case value
|
152
152
|
when TranslatedString
|
153
|
-
@
|
153
|
+
path = @path.empty? ? name : "#{@path}.#{name}"
|
154
|
+
@filters.process_string(:active, value, path, params)
|
154
155
|
when Typed
|
155
156
|
@filters.process_typed(:active, value, params)
|
156
157
|
when nil
|
data/lib/r18n-core/version.rb
CHANGED
data/r18n-core.gemspec
CHANGED
@@ -22,14 +22,4 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.author = 'Andrey "A.I." Sitnik'
|
23
23
|
s.email = 'andrey@sitnik.ru'
|
24
24
|
s.homepage = 'https://github.com/ai/r18n'
|
25
|
-
|
26
|
-
s.add_development_dependency "bundler", [">= 1.0.10"]
|
27
|
-
s.add_development_dependency "yard", [">= 0"]
|
28
|
-
s.add_development_dependency "rake", [">= 0", "!= 0.9.0"]
|
29
|
-
s.add_development_dependency "rspec-core", [">= 0"]
|
30
|
-
s.add_development_dependency "rspec-expectations", [">= 0"]
|
31
|
-
s.add_development_dependency "rspec-mocks", [">= 0"]
|
32
|
-
s.add_development_dependency "kramdown", [">= 0"]
|
33
|
-
s.add_development_dependency "RedCloth", [">= 0"]
|
34
|
-
s.add_development_dependency "redcarpet", [">= 0"]
|
35
25
|
end
|
data/spec/filters_spec.rb
CHANGED
@@ -42,7 +42,7 @@ describe R18n::Filters do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should use passive filters" do
|
45
|
-
filter =
|
45
|
+
filter = double()
|
46
46
|
filter.should_receive(:process).twice.and_return(1)
|
47
47
|
|
48
48
|
R18n::Filters.add('my', :passive, :passive => true) { filter.process }
|
@@ -121,6 +121,22 @@ describe R18n::Filters do
|
|
121
121
|
@i18n.my_filter[:unknown_value].should be_nil
|
122
122
|
end
|
123
123
|
|
124
|
+
it "should set path in config" do
|
125
|
+
R18n::Filters.add(String) do |i, config|
|
126
|
+
config[:path]
|
127
|
+
end
|
128
|
+
|
129
|
+
@i18n.in.another.level.should == 'in.another.level'
|
130
|
+
end
|
131
|
+
|
132
|
+
it "should return translated string after filters" do
|
133
|
+
R18n::Filters.add(String) { |i, config| i + '1' }
|
134
|
+
|
135
|
+
@i18n.one.should be_a(R18n::TranslatedString)
|
136
|
+
@i18n.one.path.should == 'one'
|
137
|
+
@i18n.one.locale.should == R18n.locale('en')
|
138
|
+
end
|
139
|
+
|
124
140
|
it "should use one config for cascade filters" do
|
125
141
|
R18n::Filters.add('my') { |content, config| config[:new_secret] ? 2 : 1 }
|
126
142
|
@i18n.my_filter.should == 1
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r18n-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,158 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: bundler
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.10
|
22
|
-
type: :development
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.0.10
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: yard
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :development
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rake
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
- - ! '!='
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.9.0
|
57
|
-
type: :development
|
58
|
-
prerelease: false
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
|
-
requirements:
|
62
|
-
- - ! '>='
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '0'
|
65
|
-
- - ! '!='
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 0.9.0
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
name: rspec-core
|
70
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
|
-
requirements:
|
73
|
-
- - ! '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
|
-
requirements:
|
81
|
-
- - ! '>='
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
|
-
- !ruby/object:Gem::Dependency
|
85
|
-
name: rspec-expectations
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
|
-
requirements:
|
89
|
-
- - ! '>='
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '0'
|
92
|
-
type: :development
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
|
-
requirements:
|
97
|
-
- - ! '>='
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '0'
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
name: rspec-mocks
|
102
|
-
requirement: !ruby/object:Gem::Requirement
|
103
|
-
none: false
|
104
|
-
requirements:
|
105
|
-
- - ! '>='
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: '0'
|
108
|
-
type: :development
|
109
|
-
prerelease: false
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
|
-
requirements:
|
113
|
-
- - ! '>='
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: '0'
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
name: kramdown
|
118
|
-
requirement: !ruby/object:Gem::Requirement
|
119
|
-
none: false
|
120
|
-
requirements:
|
121
|
-
- - ! '>='
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '0'
|
124
|
-
type: :development
|
125
|
-
prerelease: false
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- - ! '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: RedCloth
|
134
|
-
requirement: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
|
-
requirements:
|
137
|
-
- - ! '>='
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
140
|
-
type: :development
|
141
|
-
prerelease: false
|
142
|
-
version_requirements: !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
|
-
requirements:
|
145
|
-
- - ! '>='
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: '0'
|
148
|
-
- !ruby/object:Gem::Dependency
|
149
|
-
name: redcarpet
|
150
|
-
requirement: !ruby/object:Gem::Requirement
|
151
|
-
none: false
|
152
|
-
requirements:
|
153
|
-
- - ! '>='
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: '0'
|
156
|
-
type: :development
|
157
|
-
prerelease: false
|
158
|
-
version_requirements: !ruby/object:Gem::Requirement
|
159
|
-
none: false
|
160
|
-
requirements:
|
161
|
-
- - ! '>='
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
version: '0'
|
12
|
+
date: 2013-08-25 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
164
14
|
description: ! " R18n is a i18n tool to translate your Ruby application.\n It
|
165
15
|
has nice Ruby-style syntax, filters, flexible locales, custom loaders,\n translation
|
166
16
|
support for any classes, time and number localization, several\n user language
|
@@ -300,7 +150,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
300
150
|
version: '0'
|
301
151
|
segments:
|
302
152
|
- 0
|
303
|
-
hash:
|
153
|
+
hash: -2490264881183161480
|
304
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
305
155
|
none: false
|
306
156
|
requirements:
|
@@ -309,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
309
159
|
version: '0'
|
310
160
|
segments:
|
311
161
|
- 0
|
312
|
-
hash:
|
162
|
+
hash: -2490264881183161480
|
313
163
|
requirements: []
|
314
164
|
rubyforge_project:
|
315
165
|
rubygems_version: 1.8.23
|