【问题标题】:Use custom locale in devise emails在设计电子邮件中使用自定义语言环境
【发布时间】:2012-03-20 17:05:59
【问题描述】:

我在rails 中使用devise_invitable gem,并且在我的rails 应用程序中配置了许多语言环境。我想做的是邀请具有我自己指定的语言环境的用户。它可能看起来像这样:

User.invite!(:email => "test@example.com", :locale => 'fr')

即使I18n.localeen,这也会发送一封以“fr”为区域设置的电子邮件。

这可能吗,即使使用与我上面使用的语法完全不同的语法

【问题讨论】:

    标签: ruby-on-rails devise i18n-gem


    【解决方案1】:

    挖掘,我发现devise_invitable 使用devise 邮件,见source。我不是 100% 确定 I18n.t 是如何工作的,但我想你知道这一点。所以使用alias_method_chaintranslate 方法进行猴子补丁。要通过其他语言,您可以选择一种:

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

    我建议使用 2.,请自行选择。然后使用该变量返回正确的翻译。

    【讨论】:

      猜你喜欢
      • 2013-06-04
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多