我在rails中使用devise_invitable
gem,我在rails应用程序中配置了许多语言环境。我想做的是邀请用户使用我自己指定的语言环境。我可以看起来像这样:
User.invite!(:email => "test@example.com", :locale => 'fr')
即使I18n.locale
为en
,也会发送一封包含“fr”作为区域设置的电子邮件。
这是否可行,即使语法与我上面使用的语法完全不同?
答案 0 :(得分:0)
挖掘时,我发现devise_invitable
使用devise
邮件程序,请参阅source。我不是100%确定I18n.t
究竟是如何工作的,但我想你知道这一点。因此,使用alias_method_chain
对translate
方法进行修补。要传递其他语言,您可以选择一种语言:
Thread.current[]
使用伪全局变量。我建议使用2.,做出你的选择。然后使用该变量返回正确的翻译。