Ответ 1
для уведомлений, которые вы можете сделать
def create
if user.save
flash[:notice] = t(:user_was_successfully_created)
redirect_to users_users_path
else
render :new
end
end
вы должны не иметь 4 разных маршрута
API интернационализации Rails (I18n)
взгляните на эту ссылку http://guides.rubyonrails.org/i18n.html
API интернационализации Rails (I18n)
Драйвер Ruby I18n (сокращенное для интернационализации), поставляемый с Ruby on Rails (начиная с Rails 2.2), обеспечивает простую в использовании и расширяемую структуру для перевода вашего приложения на отдельный пользовательский язык, отличный от английского, или для предоставления поддержка нескольких языков в вашем приложении.
Процесс "интернационализации" обычно означает абстрагирование всех строк и других битов конкретной локали (таких как форматы даты или валюты) из вашей заявки. Процесс "локализации" означает предоставление переводов и локализованных форматов для этих бит .1
Итак, в процессе интернационализации вашего приложения Rails вам необходимо:
Ensure you have support for i18n.
Tell Rails where to find locale dictionaries.
Tell Rails how to set, preserve and switch locales.
В процессе локализации вашего приложения вы, вероятно, захотите сделать следующие три вещи:
Replace or supplement Rails' default locale — e.g. date and time formats, month names, Active Record model names, etc.
Abstract strings in your application into keyed dictionaries — e.g. flash messages, static text in your views, etc.
Store the resulting dictionaries somewhere.
Это руководство проведет вас через API I18n и содержит руководство по интернационализации приложения Rails с самого начала.
После прочтения этого руководства вы узнаете: