diff --git a/app/views/shared/menu/_language_selector.html.haml b/app/views/shared/menu/_language_selector.html.haml index e93be64540..6e91e73165 100644 --- a/app/views/shared/menu/_language_selector.html.haml +++ b/app/views/shared/menu/_language_selector.html.haml @@ -3,6 +3,6 @@ %i.ofn-i_071-globe %span= t 'language_name' %ul.dropdown - - OpenFoodNetwork::I18nConfig.selectable_locales.each do |l| + - OpenFoodNetwork::I18nConfig.locale_options.each do |l| %li = link_to t('language_name', locale: l), main_app.locale_path(l.to_s) diff --git a/lib/open_food_network/i18n_config.rb b/lib/open_food_network/i18n_config.rb index 8830f93378..6e39493c8a 100644 --- a/lib/open_food_network/i18n_config.rb +++ b/lib/open_food_network/i18n_config.rb @@ -5,6 +5,11 @@ module OpenFoodNetwork # 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,]+/) || [] diff --git a/spec/features/consumer/multilingual_spec.rb b/spec/features/consumer/multilingual_spec.rb index fcd7b16e7e..4dd8418066 100644 --- a/spec/features/consumer/multilingual_spec.rb +++ b/spec/features/consumer/multilingual_spec.rb @@ -127,7 +127,7 @@ feature 'Multilingual', js: true do find('.language-switcher').click within '.language-switcher .dropdown' do - expect(page).to have_link I18n.t('language_name', locale: :en), href: '/locales/en' + expect(page).not_to have_link I18n.t('language_name', locale: :en), href: '/locales/en' expect(page).to have_link I18n.t('language_name', locale: :es, default: 'Language Name'), href: '/locales/es'