Я пытаюсь реализовать интернационализацию в своем приложении rails. Вот часть моего контроллера приложенияRails Интернационализация: настройка локали из доменного имени
before_action :set_locale
def set_locale
I18n.locale = extract_locale_from_tld || I18n.default_locale
end
def extract_locale_from_tld
parsed_locale = request.host.split('.').last
I18n.available_locales.include?(parsed_locale.to_sym) ? parsed_locale : nil
end
Это, кажется, не работает, и я могу только установить локаль из URL PARAMS заставляет меня использовать scope "(:locale)", locale: /en|se/ do
в моих маршрутах, которые я не хочу.
Из направляющей направляющих они указывают, что меню переключения должно быть выполнено следующим образом.
link_to("Deutsch", "#{APP_CONFIG[:deutsch_website_url]}#{request.env['REQUEST_URI']}")
как вы это реализуете? Мое текущее меню переключения выглядит так.
<% if I18n.locale == I18n.default_locale %>
<li><%= link_to image_tag("eng.png", :alt => "England", :class =>"round"), :locale=>'en' %>
<li><h5><%= link_to_unless I18n.locale == :se, "Swedish", "#{'http://www.natkurser.se'}" %></h5>
<% else %>
<li><%= link_to image_tag("swe.png", :alt => "Sweden", :class =>"round"), :locale=>'se' %>
<li><h5><%= link_to_unless I18n.locale == :en, "English", "#{'http://gettheskill.com'}" %></h5>
<%end%>
Я добавил 127.0.0.1 gettheskill.com и 127.0.0.1 natkuser.se к/и т.д./хостов, но он по-прежнему не работает на Развитию. Какие файлы (я) изменить, чтобы он работал на производстве? Я думаю, что файлы конфигурации nginx. И в конечном счете, как должны появляться маршруты. Это главное, что, как представляется, было оставлено в документации по интернационализации рельсов. Подробный ответ был бы оценен.
благодарит за сообщение. Вот что, однако, у меня проблема с переключением языка. Языковой стандарт по умолчанию на английском языке, мне нужно, чтобы он изменился на шведский, когда я нажимаю ссылку на меню переключения. Теперь он работал с областью (: locale)/en | se на маршрутах, но после того, как я удалил его, это не так. Мне пришлось удалить область, потому что я хотел реализовать i18n от имени домена. Надеюсь, вы поняли мое мнение. –