Разработать ресурс i18n - PullRequest
       18

Разработать ресурс i18n

3 голосов
/ 31 августа 2011

Я пытаюсь использовать локаль для перевода языка разработки по умолчанию (английский) на португальский.Я нашел довольно хороший ресурс для этого, он работает по большей части, но всякий раз, когда у меня есть указатель на переменную ресурса внутри локали, он дает мне имя на английском языке.Например, у меня есть модель с именем User, поэтому, когда что-то идет не так при обновлении этого пользователя, я хотел бы показать флэш-сообщение, содержащее правильный перевод «User», в данном случае «Usuário».

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

перевод названий моделей должен быть переведен в config/locales/pt.yml

pt:
  activerecord:
    models:
      user: Usuário
0 голосов
/ 15 февраля 2013

Devise не использует переводы ActiveRecord, вероятно, не для связывания с каким-либо ORM.

Я только что закончил с переопределением представления devise, добавив перевод с ключами ActiveRecord:

h2 =t('.sign_up')
= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-vertical' }) do |f|
  = f.error_notification
  = display_base_errors resource
  = f.input :name, label: t('activerecord.attributes.user.name'), :autofocus => true
  = f.input :email, label: t('activerecord.attributes.user.email'), :required => true
  = f.input :password, label: t('activerecord.attributes.user.password'),:required => true
  = f.input :password_confirmation, label: t('activerecord.attributes.user.password_confirmation'), :required => true
  = f.button :submit, t('.sign_up'), :class => 'btn-primary'
= render "devise/shared/links"

Дляпереводя другие сообщения (не метки полей) вы должны попробовать https://github.com/mcasimir/devise-i18n-views

...