2012-03-20 82 views
2

我在rails中使用devise_invitable gem,并在我的rails应用程序中配置了多个语言环境。我想要做的是邀请一个用户使用我将指定自己的语言环境。余吨可能是这个样子:在设计电子邮件中使用自定义语言环境

User.invite!(:email => "[email protected]", :locale => 'fr') 

这将发送电子邮件与“FR”作为区域设置,即使I18n.localeen

这是可能的吗,即使使用完全不同于我在以上使用的语法?

回答

0

挖掘,我发现devise_invitable使用devise邮件,请参阅source。我不是100%确定I18n.t是如何工作的,但我想你知道这一点。所以用alias_method_chain来修补translate方法。要通过其他的语言,你可以选择一个:

  1. 修改整个调用堆栈向下传递变量
  2. 通过Thread.current[]使用伪全局变量。

我建议使用2.,做出您的选择。然后使用该变量返回正确的翻译。

相关问题