#ruby-on-rails
#ruby-on-rails
Вопрос:
Пользователи, регистрирующиеся на нашем сайте, будут иметь разные типы компаний (врачи, адвокаты и т.д.) И, следовательно, будут использовать разный жаргон во всем приложении. Например, врач увидит «Информацию о практике», а адвокат — «Информацию о фирме».
Это задание для локализаций в Rails 3, или есть лучший метод или даже драгоценный камень?
Комментарии:
1. IMO, locales подходит для этого. Создайте файлы типа
doctor.en.yml
,attorney.en.yml
. Или, может быть, более широкие имена, такие какmedical.en.yml
/law.en.yml
.. как вам больше нравится.2. @Zabba: Спасибо! Но где мне поместить логику, чтобы определить, какой язык использовать?
Ответ №1:
В этом случае хорошо бы работали локали. Вы можете установить local во время обработки вашего контроллера, прежде чем представление начнет обрабатываться. Проверьте http://guides.rubyonrails.org/i18n.html для получения множества отличных подробностей о том, как управлять вашими файлами yml и загружать их, а также как устанавливать значение по умолчанию и изменять локаль по запросу. По сути, вам просто нужно сделать что-то вроде:
before_filter :set_locale
def set_locale
I18n.locale = @user.company_type_locale_code
end