ruby-on-rails-3 – Rails3:Devise国际化不会本地化“密码确认”等

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – Rails3:Devise国际化不会本地化“密码确认”等前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的 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"

猜你在找的Ruby相关文章