Всякий раз, когда вы выводите какой-либо текст на экран, используйте I18n.t
(в представлениях может быть t
).Поэтому вместо (в поле зрения):
<h1>Hello, world!</h1>
используйте:
<h1><%= t("message.hello") -%></h1>
Тогда ваши файлы локали должны быть:
# en.yml
message:
hello: "Hello, world!"
# de.yml
message:
hello: "Hallo, Welt!"
Вы также можете переводить тексты, которые выназначить в контроллерах.Вместо @message = "Hello, world"
используйте @message = I18n.t("message.hello")
.
Вы можете установить локаль с помощью I18n.locale = :en
.Учебное пособие , которое вы уже нашли , является хорошим началом.
Обратите внимание, что существуют также локализованные представления.Вместо присвоения имени файлу вида, например index.html.erb
, вы можете указать index.fi.html.erb
для финского языка, index.pl.html.erb
для польского и т. Д. Если локализованный файл не найден, будет отображаться нелокализованный файл.