refinerycms-i18n 0.9.9.12 → 0.9.9.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/gemspec.rb +2 -2
  2. data/lib/refinery/i18n.rb +23 -7
  3. metadata +4 -4
data/lib/gemspec.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- version = '0.9.9.12'
2
+ version = '0.9.9.13'
3
3
  raise "Could not get version so gemspec can not be built" if version.nil?
4
4
  files = Dir.glob("**/*").flatten.reject do |file|
5
5
  file =~ /\.gem(spec)?$/
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.authors = %w(Resolve\\ Digital)
18
18
  s.require_paths = %w(lib)
19
19
 
20
- s.add_dependency 'refinerycms', '>= 0.9.8'
20
+ s.add_dependency 'refinerycms-core', '>= 0.9.9.8'
21
21
  s.add_dependency 'routing-filter', '>= 0.2.3'
22
22
 
23
23
  s.files = [
data/lib/refinery/i18n.rb CHANGED
@@ -27,16 +27,16 @@ module Refinery
27
27
 
28
28
  def find_or_set_locale
29
29
  if ::Refinery::I18n.enabled?
30
+ ::I18n.locale = ::Refinery::I18n.current_locale
31
+
30
32
  if ::Refinery::I18n.has_locale?(locale = params[:locale].try(:to_sym))
31
- ::I18n.locale = locale
33
+ Thread.current[:globalize_locale] = locale
32
34
  elsif locale.present? and locale != ::Refinery::I18n.default_frontend_locale
33
- params[:locale] = ::I18n.locale = ::Refinery::I18n.default_frontend_locale
35
+ params[:locale] = Thread.current[:globalize_locale] = ::Refinery::I18n.default_frontend_locale
34
36
  redirect_to(params, :notice => "The locale '#{locale}' is not supported.") and return
35
37
  else
36
- ::I18n.locale = ::Refinery::I18n.default_frontend_locale
38
+ Thread.current[:globalize_locale] = ::Refinery::I18n.default_frontend_locale
37
39
  end
38
-
39
- Thread.current[:globalize_locale] = ::I18n.locale
40
40
  end
41
41
  end
42
42
 
@@ -86,8 +86,8 @@ module Refinery
86
86
 
87
87
  class << self
88
88
 
89
- attr_accessor :built_in_locales, :current_locale, :default_locale,
90
- :default_frontend_locale, :enabled, :locales
89
+ attr_accessor :built_in_locales, :current_locale, :current_frontend_locale,
90
+ :default_locale, :default_frontend_locale, :enabled, :locales
91
91
 
92
92
  def enabled?
93
93
  RefinerySetting.find_or_set(:i18n_translation_enabled, true, {
@@ -126,6 +126,22 @@ module Refinery
126
126
  }).to_sym
127
127
  end
128
128
 
129
+ def current_frontend_locale
130
+ if Thread.current[:globalize_locale].present?
131
+ if Thread.current[:globalize_locale].to_s != ::Refinery::I18n.default_frontend_locale.to_s
132
+ Thread.current[:globalize_locale]
133
+ else
134
+ ::Refinery::I18n.default_frontend_locale
135
+ end
136
+ elsif ::I18n.locale.present? && ::I18n.locale.to_s != ::Refinery::I18n.default_frontend_locale.to_s
137
+ ::I18n.locale
138
+ elsif ::Refinery::I18n.default_frontend_locale.present?
139
+ ::Refinery::I18n.default_frontend_locale
140
+ else
141
+ ::I18n.locale
142
+ end
143
+ end
144
+
129
145
  def default_frontend_locale
130
146
  RefinerySetting.find_or_set(:i18n_translation_default_frontend_locale, :en, {
131
147
  :scoping => 'refinery'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: refinerycms-i18n
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.9.12
5
+ version: 0.9.9.13
6
6
  platform: ruby
7
7
  authors:
8
8
  - Resolve Digital
@@ -10,18 +10,18 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-10 00:00:00 +13:00
13
+ date: 2011-03-11 00:00:00 +13:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: refinerycms
17
+ name: refinerycms-core
18
18
  prerelease: false
19
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 0.9.8
24
+ version: 0.9.9.8
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency