i18n_routing 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +8 -0
- data/lib/i18n_routing_common.rb +4 -0
- data/lib/i18n_routing_rails2.rb +4 -5
- data/lib/i18n_routing_rails3.rb +3 -3
- data/spec/i18n_routing/i18n_spec.rb +24 -0
- data/spec/locales/pt-br.yml +9 -0
- metadata +5 -7
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
0.4.4 (November 03, 2010)
|
2
|
+
|
3
|
+
* Fix bug with locale with a dash like pt-br
|
4
|
+
|
5
|
+
0.4.3 (October 10, 2010)
|
6
|
+
|
7
|
+
* Named route can be translated by name or by path
|
8
|
+
|
1
9
|
0.4.2 (September 20, 2010)
|
2
10
|
|
3
11
|
* Fix a Rails3 bug, enabling again to do things like that: get :one, :two, :three
|
data/lib/i18n_routing_common.rb
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
# I18nRouting module for common usage methods
|
4
4
|
module I18nRouting
|
5
|
+
def self.locale_escaped(locale)
|
6
|
+
locale.to_s.downcase.gsub('-', '_')
|
7
|
+
end
|
8
|
+
|
5
9
|
# Return the correct translation for given values
|
6
10
|
def self.translation_for(name, type = :resources, option = nil)
|
7
11
|
|
data/lib/i18n_routing_rails2.rb
CHANGED
@@ -21,7 +21,7 @@ module ActionController
|
|
21
21
|
def generation_requirements
|
22
22
|
r = mkd_generation_requirements
|
23
23
|
if @glang and !r.blank?
|
24
|
-
r << " and I18n.locale.to_sym ==
|
24
|
+
r << " and I18n.locale.to_sym == :'#{@glang}'"
|
25
25
|
end
|
26
26
|
|
27
27
|
return r
|
@@ -73,7 +73,7 @@ module ActionController
|
|
73
73
|
alias_method :gl#{selector}, :#{selector}
|
74
74
|
|
75
75
|
def #{selector}(*args)
|
76
|
-
selector_g = '#{rlang}'.gsub('glang', I18n.locale
|
76
|
+
selector_g = '#{rlang}'.gsub('glang', I18nRouting.locale_escaped(I18n.locale)).to_sym
|
77
77
|
|
78
78
|
#logger.debug "Call routes : #{selector} => \#{selector_g} (#{rlang}) "
|
79
79
|
#puts "Call routes : #{selector} => \#{selector_g} (#{rlang}) Found:\#{respond_to? selector_g and selector_g != :#{selector}}"
|
@@ -98,7 +98,7 @@ module ActionController
|
|
98
98
|
|
99
99
|
@locales.each do |l|
|
100
100
|
I18n.locale = l
|
101
|
-
nt = "#{l}_#{name}"
|
101
|
+
nt = "#{I18nRouting.locale_escaped(l)}_#{name}"
|
102
102
|
t = I18nRouting.translation_for(name, :named_routes) || I18nRouting.translation_for(path, :named_routes_path)
|
103
103
|
if nt != name and t
|
104
104
|
gl_add_named_route(nt, t, options.merge(:glang => l))
|
@@ -169,9 +169,8 @@ module ActionController
|
|
169
169
|
localized(nil) do
|
170
170
|
locales.each do |l|
|
171
171
|
I18n.locale = l
|
172
|
-
nt = "#{l}_#{name}"
|
172
|
+
nt = "#{I18nRouting.locale_escaped(l)}_#{name}"
|
173
173
|
if nt != name and (t = I18nRouting.translation_for(name, namespace))
|
174
|
-
nt = "#{l}_#{name}"
|
175
174
|
opts[:as] = t
|
176
175
|
opts[:glang] = l
|
177
176
|
opts[:controller] ||= name.to_s.pluralize
|
data/lib/i18n_routing_rails3.rb
CHANGED
@@ -44,7 +44,7 @@ module I18nRouting
|
|
44
44
|
|
45
45
|
resource = resource_from_params(type, r, opts.dup)
|
46
46
|
|
47
|
-
res = ["#{locale}_#{r}".to_sym, opts]
|
47
|
+
res = ["#{I18nRouting.locale_escaped(locale)}_#{r}".to_sym, opts]
|
48
48
|
|
49
49
|
constraints = opts[:constraints] ? opts[:constraints].dup : {}
|
50
50
|
constraints[:i18n_locale] = locale.to_s
|
@@ -304,7 +304,7 @@ module I18nRouting
|
|
304
304
|
# If a translated path exists, set localized infos
|
305
305
|
if @localized_path and @localized_path != @path
|
306
306
|
#@options[:controller] ||= @options[:as]
|
307
|
-
@options[:as] = "#{locale}_#{@options[:as]}"
|
307
|
+
@options[:as] = "#{I18nRouting.locale_escaped(locale)}_#{@options[:as]}"
|
308
308
|
@path = @localized_path
|
309
309
|
@options[:constraints] = @options[:constraints] ? @options[:constraints].dup : {}
|
310
310
|
@options[:constraints][:i18n_locale] = locale.to_s
|
@@ -348,7 +348,7 @@ module I18nRouting
|
|
348
348
|
alias_method :localized_#{selector}, :#{selector}
|
349
349
|
|
350
350
|
def #{selector}(*args)
|
351
|
-
selector_g = '#{rlang}'.gsub('glang', I18n.locale.to_s).to_sym
|
351
|
+
selector_g = '#{rlang}'.gsub('glang', I18nRouting.locale_escaped(I18n.locale.to_s)).to_sym
|
352
352
|
|
353
353
|
#puts "Call routes : #{selector} => \#{selector_g} (\#{I18n.locale}) "
|
354
354
|
if respond_to? selector_g and selector_g != :#{selector}
|
@@ -325,6 +325,30 @@ describe :localized_routes do
|
|
325
325
|
|
326
326
|
end
|
327
327
|
|
328
|
+
context 'locale with a dash (pt-br)' do
|
329
|
+
|
330
|
+
before do
|
331
|
+
I18n.locale = 'pt-BR'
|
332
|
+
end
|
333
|
+
|
334
|
+
it 'users resources' do
|
335
|
+
routes.send(:users_path).should == "/#{I18n.t :users, :scope => :'resources'}"
|
336
|
+
end
|
337
|
+
|
338
|
+
it "routes for the singleton resource alone should be translated correctly" do
|
339
|
+
routes.send(:foo_path).should == "/#{I18n.t :foo, :scope => :resource}"
|
340
|
+
end
|
341
|
+
|
342
|
+
it "named_route generates route using localized values" do
|
343
|
+
routes.send(:about_path).should == "/#{I18n.t :about, :scope => :named_routes_path}"
|
344
|
+
end
|
345
|
+
|
346
|
+
it "custom translated path names" do
|
347
|
+
routes.send(:new_user_path).should == "/#{I18n.t :users, :scope => :resources}/#{I18n.t :new, :scope => :'path_names'}"
|
348
|
+
end
|
349
|
+
|
350
|
+
end
|
351
|
+
|
328
352
|
# context "just output" do
|
329
353
|
# it "output all routes properly" do
|
330
354
|
# nested_routes.keys.collect(&:to_s).sort.each do |k|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
8
|
+
- 4
|
9
|
+
version: 0.4.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Guillaume Luccisano
|
@@ -14,14 +14,13 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-11-03 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: i18n
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
24
|
requirements:
|
26
25
|
- - ">"
|
27
26
|
- !ruby/object:Gem::Version
|
@@ -48,6 +47,7 @@ files:
|
|
48
47
|
- spec/i18n_routing/i18n_spec.rb
|
49
48
|
- spec/locales/en.yml
|
50
49
|
- spec/locales/fr.yml
|
50
|
+
- spec/locales/pt-br.yml
|
51
51
|
- spec/spec_helper.rb
|
52
52
|
- CHANGELOG.rdoc
|
53
53
|
- MIT-LICENSE
|
@@ -64,7 +64,6 @@ rdoc_options: []
|
|
64
64
|
require_paths:
|
65
65
|
- lib
|
66
66
|
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
67
|
requirements:
|
69
68
|
- - ">="
|
70
69
|
- !ruby/object:Gem::Version
|
@@ -72,7 +71,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
71
|
- 0
|
73
72
|
version: "0"
|
74
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
74
|
requirements:
|
77
75
|
- - ">="
|
78
76
|
- !ruby/object:Gem::Version
|
@@ -84,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
82
|
requirements: []
|
85
83
|
|
86
84
|
rubyforge_project: i18n_routing
|
87
|
-
rubygems_version: 1.3.
|
85
|
+
rubygems_version: 1.3.6
|
88
86
|
signing_key:
|
89
87
|
specification_version: 3
|
90
88
|
summary: I18n routing module for Rails 2.3.x and Rails 3. Translate your routes with ease !
|