Files
openfoodnetwork/lib/open_food_network/i18n_config.rb
Jean-Baptiste Bellet 1a8a12fb0c Filter language to not display the current lang in the dropdown
No need to set a lang that is actually already set
2021-07-08 09:15:09 +02:00

35 lines
1.0 KiB
Ruby

# frozen_string_literal: true
module OpenFoodNetwork
# Provides access to the language settings.
# Currently, language settings are read from the environment.
# See: config/application.yml
class I18nConfig
# Users don't need to select the already selected locale.
def self.locale_options
selectable_locales - [I18n.locale.to_s]
end
# Locales that can be selected by users.
def self.selectable_locales
ENV["AVAILABLE_LOCALES"].andand.split(/[\s,]+/) || []
end
# All locales that can be accessed by the application, including fallbacks.
def self.available_locales
(selectable_locales + [default_locale, source_locale]).uniq
end
# The default locale that is used when the user doesn't have a preference.
def self.default_locale
ENV["LOCALE"] || ENV["I18N_LOCALE"] || source_locale
end
# This locale is changed with the code and should always be complete.
# All translations are done from this locale.
def self.source_locale
"en"
end
end
end