在我的rails3应用中,我使用设计进行身份验证
现在我正在尝试做i18n。因为我在devise.en.yml
中看到config/locales
,我认为我要做的就是让devise.ro.yml
用我的另一种语言翻译它。但如果devise.ro.yml
存在,无论我使用何种语言
更改语言,我在我的网址中使用区域设置参数。因为我在应用程序控制器中设置了这样的东西:
before_filter :set_locale
def set_locale
I18n.locale=params[:locale]
end
def default_url_options(options={})
{ :locale => I18n.locale }
end
我的应用程序中的所有内容都已翻译好,但设计部分除外
我在这里错过了什么吗?答案 0 :(得分:3)
我可以假设你在devise.ro.yml ro
而不是en
之上做了吗?
答案 1 :(得分:1)
首先,您需要使用:rails generate devise:views
生成Devise视图,然后您可以翻译每个视图以满足您的语言环境需求。
devise.en.yml
仅适用于Flash消息。
答案 2 :(得分:1)
默认情况下,设计视图不使用i18n,从现在开始,您可以使用https://github.com/mcasimir/devise-i18n-views为设计视图和邮件添加I18n支持。 (见https://github.com/plataformatec/devise/pull/1989)
答案 3 :(得分:0)
devise.ro.yml应该可以工作。
作为旁注:
我有类似的问题,并使用这个技巧来调试/找出Rails尝试查找翻译的位置:
http://unixgods.org/~tilo/Rails/which_l10n_strings_is_rails_trying_to_lookup.html