Интернационализация рельсов - PullRequest
2 голосов
/ 16 июля 2011

Я следую инструкциям из http://guides.rubyonrails.org/i18n.html, чтобы добавить несколько переводов на мою страницу, используя "http://mysite/en/page", и все работает нормально, за исключением того, что я не могу добавить переключатель языка на свою страницу .

Я хотел бы перейти на ту же страницу, которую я показываю, но на другом языке. Для этого я предполагаю, что должен использовать тот же URL, за исключением параметра: locale. Как это сделать с помощью вызова link_to?

Действительно глупый вопрос, но я только начал в Rails, и я застрял с ним.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

Чтобы связать текущую страницу с другим языковым стандартом, используйте url_for только с параметром языкового стандарта:

url_for(:locale => "de")

Это сохранит любые другие параметры URL.Так, например, предоставить ссылку на немецкую версию текущей страницы:

link_to "German version", url_for(:locale => "de")
1 голос
/ 16 июля 2011

Вы можете использовать дополнительный метод для настройки локального бесшовного пользователя (он будет сохранен в cookie / сессиях) как

controllers / application.rb

before_filter :set_user_language
def set_user_language
  I18n.locale = current_user.language if logged_in?
end

см. подробности на Railscasts.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...