@@ -58,12 +58,13 @@ gem "mini_magick" |
||
58 | 58 |
gem 'fog' |
59 | 59 |
gem "carrierwave" |
60 | 60 |
gem 'carrierwave_backgrounder' |
61 |
-gem 'i18n' |
|
61 |
+gem 'rails-i18n', '~> 4.0.0' |
|
62 | 62 |
gem 'rails_12factor', group: :production |
63 | 63 |
gem 'gibbon' |
64 | 64 |
gem 'redis' |
65 | 65 |
gem 'resque', '~> 1.22.0', :require => "resque/server" |
66 | 66 |
gem 'mixpanel-ruby' |
67 |
+gem "jquery-turbolinks" |
|
67 | 68 |
|
68 | 69 |
group :development do |
69 | 70 |
gem "rename" |
@@ -138,6 +138,9 @@ GEM |
||
138 | 138 |
jquery-rails (3.1.2) |
139 | 139 |
railties (>= 3.0, < 5.0) |
140 | 140 |
thor (>= 0.14, < 2.0) |
141 |
+ jquery-turbolinks (2.1.0) |
|
142 |
+ railties (>= 3.1.0) |
|
143 |
+ turbolinks |
|
141 | 144 |
json (1.8.1) |
142 | 145 |
kgio (2.9.2) |
143 | 146 |
launchy (2.4.2) |
@@ -183,6 +186,9 @@ GEM |
||
183 | 186 |
bundler (>= 1.3.0, < 2.0) |
184 | 187 |
railties (= 4.0.4) |
185 | 188 |
sprockets-rails (~> 2.0.0) |
189 |
+ rails-i18n (4.0.3) |
|
190 |
+ i18n (~> 0.6) |
|
191 |
+ railties (~> 4.0) |
|
186 | 192 |
rails_12factor (0.0.2) |
187 | 193 |
rails_serve_static_assets |
188 | 194 |
rails_stdout_logging |
@@ -312,16 +318,17 @@ DEPENDENCIES |
||
312 | 318 |
font-awesome-rails |
313 | 319 |
friendly_id (~> 5.0.0) |
314 | 320 |
gibbon |
315 |
- i18n |
|
316 | 321 |
jasny_bootstrap_extension_rails |
317 | 322 |
jbuilder (~> 1.2) |
318 | 323 |
jquery-rails |
324 |
+ jquery-turbolinks |
|
319 | 325 |
less-rails |
320 | 326 |
letter_opener |
321 | 327 |
mini_magick |
322 | 328 |
mixpanel-ruby |
323 | 329 |
pg |
324 | 330 |
rails (= 4.0.4) |
331 |
+ rails-i18n (~> 4.0.0) |
|
325 | 332 |
rails_12factor |
326 | 333 |
redcarpet |
327 | 334 |
redis |
@@ -11,6 +11,7 @@ |
||
11 | 11 |
// about supported directives. |
12 | 12 |
// |
13 | 13 |
//= require jquery |
14 |
+//= require jquery.turbolinks |
|
14 | 15 |
//= require jquery_ujs |
15 | 16 |
//= require twitter/bootstrap |
16 | 17 |
//= require bootstrap-switch |
@@ -23,6 +23,17 @@ class ApplicationController < ActionController::Base |
||
23 | 23 |
#I18n.config.enforce_available_locales = false |
24 | 24 |
I18n.locale = @config.default_language |
25 | 25 |
end |
26 |
+ |
|
27 |
+ def config_site |
|
28 |
+ @config = Info.first |
|
29 |
+ if cookies[:avalanche_locale] && I18n.available_locales.include?(cookies[:avalanche_locale].to_sym) |
|
30 |
+ l = cookies[:avalanche_locale].to_sym |
|
31 |
+ else |
|
32 |
+ l = @config.default_language |
|
33 |
+ cookies.permanent[:avalanche_locale] = l |
|
34 |
+ end |
|
35 |
+ I18n.locale = l |
|
36 |
+ end |
|
26 | 37 |
|
27 | 38 |
def analytics |
28 | 39 |
if current_user != nil |
@@ -0,0 +1,10 @@ |
||
1 |
+class SettingsController < ApplicationController |
|
2 |
+ |
|
3 |
+ def change_locale |
|
4 |
+ l = params[:locale].to_s.strip.to_sym |
|
5 |
+ l = I18n.default_locale unless I18n.available_locales.include?(l) |
|
6 |
+ cookies.permanent[:avalanche_locale] = l |
|
7 |
+ redirect_to :back || root_url |
|
8 |
+ end |
|
9 |
+ |
|
10 |
+end |
@@ -40,7 +40,7 @@ |
||
40 | 40 |
<script src='https://api.tiles.mapbox.com/mapbox.js/v2.1.4/mapbox.js'></script> |
41 | 41 |
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.1.4/mapbox.css' rel='stylesheet' /> |
42 | 42 |
</head> |
43 |
- <body> |
|
43 |
+ <body data-no-turbolink='true'> |
|
44 | 44 |
|
45 | 45 |
<nav class="navbar navbar-fixed-top"> |
46 | 46 |
<div class="navbar-inner"> |
@@ -53,24 +53,44 @@ |
||
53 | 53 |
<a class="nav-responsive-link btn-logo hidden-phone" href="/"><%= image_tag "logo_avalanche.png", class: 'brand', style: 'width: 250px;' %></a> |
54 | 54 |
<a class="nav-responsive-link btn-logo visible-phone" href="/"><%= image_tag "logo_avalanche_mobile.png", class: 'brand', style: 'height: 36px;' %></a> |
55 | 55 |
|
56 |
+ <ul class="nav navbar-nav navbar-right pull-right"> |
|
57 |
+ <li class="dropdown"> |
|
58 |
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#"> |
|
59 |
+ <%= t('menu.languages.lang') %> |
|
60 |
+ <span class="caret"></span> |
|
61 |
+ </a> |
|
62 |
+ <ul class="dropdown-menu" role="menu"> |
|
63 |
+ <li> |
|
64 |
+ <%= link_to t('menu.languages.en'), change_locale_path(:en) %> |
|
65 |
+ </li> |
|
66 |
+ <li> |
|
67 |
+ <%= link_to t('menu.languages.pt-BR'), change_locale_path(:"pt-BR") %> |
|
68 |
+ </li> |
|
69 |
+ </ul> |
|
70 |
+ </li> |
|
71 |
+ </ul> |
|
72 |
+ |
|
56 | 73 |
<div id="close-responsive-menu" class="container nav-collapse "> |
57 | 74 |
<ul class="nav pull-right"> |
58 | 75 |
<li><a class="nav-responsive-link btn-about" href="#about"><%= (t "landing_page.about").html_safe %></a></li> |
59 | 76 |
<li><a class="nav-responsive-link btn-features" href="#features"><%= (t "landing_page.features").html_safe %></a></li> |
60 | 77 |
<li><a class="nav-responsive-link btn-subscribe" href="#subscribe"><%= (t "landing_page.subscribe").html_safe %></a></li> |
61 |
- <li><%= link_to (t "registration.sign_in"), new_user_session_path, class: "btn-login" %></li> |
|
78 |
+ <% registrations = false %> |
|
79 |
+ <% if registrations == true %> |
|
80 |
+ <li><%= link_to (t "registration.sign_in"), new_user_session_path, class: "btn-login" %></li> |
|
62 | 81 |
|
63 |
- <% if user_signed_in? %> |
|
64 |
- <% if current_user.admin %> |
|
65 |
- <li><%= link_to ('<i class="fa fa-cogs"></i>').html_safe, admin_dashboard_path %></li> |
|
82 |
+ <% if user_signed_in? %> |
|
83 |
+ <% if current_user.admin %> |
|
84 |
+ <li><%= link_to ('<i class="fa fa-cogs"></i>').html_safe, admin_dashboard_path %></li> |
|
85 |
+ <% end %> |
|
86 |
+ <% end %> |
|
87 |
+ <% if user_signed_in? %> |
|
88 |
+ <li><%= link_to ('<i class="fa fa-user"></i>').html_safe, edit_user_registration_path %></li> |
|
89 |
+ <li><%= link_to ('<i class="fa fa-sign-out"></i>').html_safe, destroy_user_session_path, method: :delete %></li> |
|
90 |
+ <% else %> |
|
91 |
+ <li><% link_to ('<i class="fa fa-sign-in"></i>').html_safe, new_user_session_path %></li> |
|
92 |
+ <li><% link_to (t "nav.signup"), new_user_registration_path %></li> |
|
66 | 93 |
<% end %> |
67 |
- <% end %> |
|
68 |
- <% if user_signed_in? %> |
|
69 |
- <li><%= link_to ('<i class="fa fa-user"></i>').html_safe, edit_user_registration_path %></li> |
|
70 |
- <li><%= link_to ('<i class="fa fa-sign-out"></i>').html_safe, destroy_user_session_path, method: :delete %></li> |
|
71 |
- <% else %> |
|
72 |
- <li><% link_to ('<i class="fa fa-sign-in"></i>').html_safe, new_user_session_path %></li> |
|
73 |
- <li><% link_to (t "nav.signup"), new_user_registration_path %></li> |
|
74 | 94 |
<% end %> |
75 | 95 |
|
76 | 96 |
</ul> |
@@ -15,10 +15,11 @@ module Avalanche2 |
||
15 | 15 |
|
16 | 16 |
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. |
17 | 17 |
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. |
18 |
- # config.time_zone = 'Central Time (US & Canada)' |
|
18 |
+ config.time_zone = 'Central Time (US & Canada)' |
|
19 | 19 |
|
20 | 20 |
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. |
21 | 21 |
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] |
22 |
- # config.i18n.default_locale = :de |
|
22 |
+ config.i18n.default_locale = :en |
|
23 |
+ I18n.available_locales = [:en, :"pt-BR"] |
|
23 | 24 |
end |
24 | 25 |
end |
@@ -2,6 +2,8 @@ Avalanche2::Application.routes.draw do |
||
2 | 2 |
|
3 | 3 |
root 'start#index' |
4 | 4 |
|
5 |
+ get '/change_locale/:locale', to: 'settings#change_locale', as: :change_locale |
|
6 |
+ |
|
5 | 7 |
mount Resque::Server.new, :at => "/resque" |
6 | 8 |
|
7 | 9 |
get "subscription/create" |