У мене є додаток, доступний в EN та DE. Наразі, коли ви вводите веб-сайт www.example.com
він не переспрямовує на стандартний регіон. В ідеалі, я б хотів, щоб root відразу переадресовував, так що я отримую: www.example.com/en
.
Коли я натискаю посилання root_path у додатку, він йде на головну сторінку, що включає мову www.example.org/en
як і очікувалося.
Запитання: як я можу забезпечити користувачів, які входять www.example.com
переспрямовується на www.example.com/en
відразу
Маршрути:
Rails.application.routes.draw do
scope "(:locale)", locale: /en|de/ do
root "pages#landingpage"
Контроль додатків:
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options = {})
{locale: I18n.locale}
end
Відповіді:
0 для відповіді № 1Перш за все, будь ласка, пройдіть через це Настанови з інтернаціоналізації
Тепер спробуйте це в маршрутах:
scope "(/:locale)" {}
і використовуйте config.default_locale
опція в конфігурації. ви можете налаштувати fallback для локалізації.
якщо ви використовуєте файли cookie для відстеження вашого мови, ви можете пропустити default_url_options
, вам доведеться завжди зберігати нелікалізовані версії для зворотної сумісності.