Rails3: разработайте интернационализацию не локализует "Подтверждение пароля" и другие - PullRequest
9 голосов
/ 23 июня 2011

Вот мой весь исходный код для минималистского приложения Devise + OmniAuth.

Как видите, японский devise.ja.yml находится в config/locales.

ПРОБЛЕМА: Когда я захожу на сайт с lang = ja, некоторые строки не на японском, а на английском:

devise i18n password confirmation

«サ イ ン ア ッ プ» отображается правильно, но «Подтверждение пароля» и другие по-прежнему на английском языке.На самом деле, я grep'd весь мой проект и весь каталог .rvm: Нет файла содержит "Подтверждение пароля"!Это сбивает с толку.

Откуда эти строки?Почему они не в devise.ja.yml?Это OmniAuth?

1 Ответ

14 голосов
/ 27 июня 2011

На самом деле, они взяты из вашего языкового файла по умолчанию.Разработайте файл локали, в котором есть локали для предупреждений и некоторых уведомлений.Они не обеспечивают перевод атрибутов для атрибутов формы.

Возможно, вы захотите посетить

https://github.com/svenfuchs/rails-i18n/tree/f8606e62def45279f3498549f97699049135bd11/rails/locale

, загрузить соответствующий (в вашем случае японский) языковой файл и поместитьв папке ./config/locales/

Затем в файле конфигурации приложения rails (./config/application.rb) измените настройку локали на использование файла локали на японском языке.Если вы хотите, чтобы какой-либо атрибут имел японское имя, добавьте правила, как показано ниже.

activerecord:
    attributes:
        user:
            email: "Email address in Japanese"
            password: "Password in Japanese"
            password_confirmation: "Password confirmation in Japanese"
...