mirror of
https://0xacab.org/sutty/sutty
synced 2025-02-21 11:31:49 +00:00
feat: al crear un sitio configurarlo con el idioma de le usuarie #10022
This commit is contained in:
parent
ca989fe8a7
commit
74af751264
2 changed files with 19 additions and 1 deletions
|
@ -179,10 +179,20 @@ class Site < ApplicationRecord
|
||||||
# Siempre tiene que tener algo porque las traducciones están
|
# Siempre tiene que tener algo porque las traducciones están
|
||||||
# incorporadas a los sitios de Sutty, aunque les usuaries no traduzcan
|
# incorporadas a los sitios de Sutty, aunque les usuaries no traduzcan
|
||||||
# sus sitios.
|
# sus sitios.
|
||||||
|
#
|
||||||
|
# @return [Array]
|
||||||
def locales
|
def locales
|
||||||
@locales ||= config.fetch('locales', I18n.available_locales).map(&:to_sym)
|
@locales ||= config.fetch('locales', I18n.available_locales).map(&:to_sym)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Modificar los locales disponibles
|
||||||
|
#
|
||||||
|
# @param :new_locales [Array]
|
||||||
|
# @return [Array]
|
||||||
|
def locales=(new_locales)
|
||||||
|
@locales = new_locales.map(&:to_sym).uniq
|
||||||
|
end
|
||||||
|
|
||||||
# Similar a site.i18n en jekyll-locales
|
# Similar a site.i18n en jekyll-locales
|
||||||
#
|
#
|
||||||
# @return [Hash]
|
# @return [Hash]
|
||||||
|
@ -484,6 +494,7 @@ class Site < ApplicationRecord
|
||||||
config.title = title
|
config.title = title
|
||||||
config.url = url(slash: false)
|
config.url = url(slash: false)
|
||||||
config.hostname = hostname
|
config.hostname = hostname
|
||||||
|
config.locales = locales.map(&:to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Valida si el sitio tiene al menos una forma de alojamiento asociada
|
# Valida si el sitio tiene al menos una forma de alojamiento asociada
|
||||||
|
|
|
@ -11,7 +11,14 @@ SiteService = Struct.new(:site, :usuarie, :params, keyword_init: true) do
|
||||||
add_role temporal: false, rol: 'usuarie'
|
add_role temporal: false, rol: 'usuarie'
|
||||||
sync_nodes
|
sync_nodes
|
||||||
|
|
||||||
I18n.with_locale(usuarie&.lang&.to_sym || I18n.default_locale) do
|
I18n.with_locale(usuarie.lang.to_sym || I18n.default_locale) do
|
||||||
|
# No se puede llamar a site.config antes de save porque el sitio
|
||||||
|
# todavía no existe.
|
||||||
|
#
|
||||||
|
# TODO: hacer que el repositorio se cree cuando es necesario, para
|
||||||
|
# que no haya estados intermedios.
|
||||||
|
site.locales = [usuarie.lang] + I18n.available_locales
|
||||||
|
|
||||||
site.save &&
|
site.save &&
|
||||||
site.config.write &&
|
site.config.write &&
|
||||||
commit_config(action: :create)
|
commit_config(action: :create)
|
||||||
|
|
Loading…
Reference in a new issue