mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-14 22:41:41 +00:00
centralizar la detección del idioma
This commit is contained in:
parent
e0eeaf7fc6
commit
9faecbc289
2 changed files with 12 additions and 2 deletions
|
@ -40,11 +40,21 @@ class ApplicationController < ActionController::Base
|
||||||
site
|
site
|
||||||
end
|
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
|
# El idioma es el preferido por le usuarie, pero no necesariamente se
|
||||||
# corresponde con el idioma de los artículos, porque puede querer
|
# corresponde con el idioma de los artículos, porque puede querer
|
||||||
# traducirlos.
|
# traducirlos.
|
||||||
def set_locale(&action)
|
def set_locale(&action)
|
||||||
I18n.with_locale(current_usuarie&.lang || I18n.default_locale, &action)
|
I18n.with_locale(current_locale(include_params: false), &action)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Muestra una página 404
|
# Muestra una página 404
|
||||||
|
|
|
@ -14,7 +14,7 @@ class PostsController < ApplicationController
|
||||||
|
|
||||||
# Las URLs siempre llevan el idioma actual o el de le usuarie
|
# Las URLs siempre llevan el idioma actual o el de le usuarie
|
||||||
def default_url_options
|
def default_url_options
|
||||||
{ locale: params[:locale] || current_usuarie&.lang || I18n.locale }
|
{ locale: current_locale }
|
||||||
end
|
end
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
|
Loading…
Reference in a new issue