这是我的
whole source code最低限度的Devise OmniAuth应用程序.
如您所见,日语devise.ja.yml在config / locales中.
问题:当我使用lang = ja访问该网站时,某些字符串不是日语,而是英文:
“サインアップ”正确显示,但“密码确认”等仍然是英文.实际上,我grep’d我的整个项目和我的整个.rvm目录:没有文件包含“密码确认”!这真让人困惑
那些字符串来自哪里?他们不是在devise.ja.yml怎么样?是OmniAuth吗?
解决方法
实际上,它们来自您的默认语言yml文件.设计区域设置文件只是具有警报消息和一些通知的区域设置.他们不提供表单属性的属性转换.
你可能想去参观
https://github.com/svenfuchs/rails-i18n/tree/f8606e62def45279f3498549f97699049135bd11/rails/locale
并下载足够的(您的案例中的日语)语言文件,并将其放在./config/locales/文件夹中
然后在您的rails应用程序配置文件(./config/application.rb)中,将区域设置更改为使用日语区域设置文件.
config.i18n.default_locale = :ja
更改设置后,如果希望任何属性具有日语名称,请添加如下所示的规则.
activerecord: attributes: user: email: "Email address in Japanese" password: "Password in Japanese" password_confirmation: "Password confirmation in Japanese"