class Layout::LocaleSwitcherComponent < ApplicationComponent use_helpers :name_for_locale, :link_list, :current_path_with_query_params, :rtl? def render? locales.size > 1 end private def many_locales? locales.size > 4 end def locales Setting.enabled_locales end def label t("layouts.header.locale") end def label_id "locale_switcher_label" end def language_links locales.map do |locale| [ name_for_locale(locale), current_path_with_query_params(locale: locale), locale == I18n.locale, lang: locale, data: { turbolinks: rtl?(I18n.locale) == rtl?(locale) } ] end end def language_options language_links.map do |text, path, _, options| [text, path, options] end end end