From 9faecbc2892eedfcbb8d682772c68cea3d618251 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 10 May 2021 14:48:48 -0300 Subject: [PATCH] =?UTF-8?q?centralizar=20la=20detecci=C3=B3n=20del=20idiom?= =?UTF-8?q?a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/application_controller.rb | 12 +++++++++++- app/controllers/posts_controller.rb | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index bc375dcf..acd0134d 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -40,11 +40,21 @@ class ApplicationController < ActionController::Base site end + # Devuelve el idioma actual y si no lo encuentra obtiene uno por + # defecto. + # + # Esto se refiere al idioma de la interfaz, no de los artículos. + def current_locale(include_params: true, site: nil) + return params[:locale] if include_params && params[:locale].present? + + current_usuarie&.lang || I18n.locale + end + # El idioma es el preferido por le usuarie, pero no necesariamente se # corresponde con el idioma de los artículos, porque puede querer # traducirlos. def set_locale(&action) - I18n.with_locale(current_usuarie&.lang || I18n.default_locale, &action) + I18n.with_locale(current_locale(include_params: false), &action) end # Muestra una página 404 diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb index 5b8f1a16..34055faf 100644 --- a/app/controllers/posts_controller.rb +++ b/app/controllers/posts_controller.rb @@ -14,7 +14,7 @@ class PostsController < ApplicationController # Las URLs siempre llevan el idioma actual o el de le usuarie def default_url_options - { locale: params[:locale] || current_usuarie&.lang || I18n.locale } + { locale: current_locale } end def index