refinerycms-i18n 0.9.9.12 → 0.9.9.13

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