我devise_invitable
在 rails 中使用 gem,并且在我的 rails 应用程序中配置了许多语言环境。我想做的是邀请具有我自己指定的语言环境的用户。我可能看起来像这样:
User.invite!(:email => "test@example.com", :locale => 'fr')
这将发送一封带有“fr”作为 locale 的电子邮件,即使I18n.locale
是en
。
即使使用与我上面使用的语法完全不同的语法,这是否可能?
我devise_invitable
在 rails 中使用 gem,并且在我的 rails 应用程序中配置了许多语言环境。我想做的是邀请具有我自己指定的语言环境的用户。我可能看起来像这样:
User.invite!(:email => "test@example.com", :locale => 'fr')
这将发送一封带有“fr”作为 locale 的电子邮件,即使I18n.locale
是en
。
即使使用与我上面使用的语法完全不同的语法,这是否可能?
挖掘,我发现devise_invitable
使用devise
邮件程序,请参阅源代码。我不是 100% 确定究竟是如何I18n.t
工作的,但我想你知道这一点。所以使用alias_method_chain
猴子补丁translate
方法。要通过另一种语言,您可以选择一种:
Thread.current[]
。我建议使用2.,做出你的选择。然后使用该变量返回正确的翻译。