没有设计闪烁的翻译

No translation for devise flashes

我有 ru.ymlen.yml 文件,我需要的部分如下所示:

en:
  devise:
    failure:
      already_authenticated: You are already signed in.
ru:
  devise:
    failure:
      already_authenticated: Вы уже вошли в систему.

问题是,无论用户选择哪种语言,这条(以及其他几条)警告消息都将使用俄语。

我的控制器有 around_action :localize_request,它应该确定语言环境。它对网站上的任何其他功能都适用,除了这个特殊情况。

我认为这可能是设计中的一个错误。看看这个 issue 他们讨论了类似的东西并创建了一个 PR 来修复它,我认为这就是你无法翻译你的消息的原因。

作为解决方法,也许您可​​以尝试进行此更改以测试它是否有效:

ru:
  devise:
    failure:
      user: # <<<
        already_authenticated: Вы уже вошли в систему.

看起来是 Devise 中的一个错误 gem -- https://github.com/heartcombo/devise/issues/5247