【问题标题】:Devise Internationalization设计国际化
【发布时间】:2017-02-04 23:37:46
【问题描述】:

我已经为我的应用程序设置了设计,并在我的语言环境文件夹中创建了一个 fr.yml 文件,以便翻译错误消息。

这是我现在的 fr.yml 文件。

fr:
  activerecord:
    attributes:
      client:
        password: "Mot de passe"
        email: "Email"
        password_confirmation: "Confirmation du mot de passe"
        remember_me: "Se souvenir de moi"
        log_in: "Connection"
    errors:
      models:
        client:
          attributes:
            password_confirmation:
              confirmation: "Confirmation du mot de passe"

(目前还很粗略,但我稍后会开发它。)

虽然发生了一件有趣的事情:当我尝试创建client 模型的新用户并假设我忘记输入密码确认时,Devise 返回以下错误:

“Confirmation du mot de passe Confirmation du mot de passe”

错误信息似乎重复了。

我已删除我的fr.yml 文件中“password_confirmation”的所有法语翻译并收到以下错误:

“密码确认翻译缺失:fr.activerecord.errors.models.client.attributes.password_confirmation.confirmation”

不知道我能做些什么来让 fr.yml 正确

【问题讨论】:

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


    【解决方案1】:

    老实说,我不知道为什么会发生这种情况,但您没有遵循 Devise 本地化标准。

    请在此处检查来自Devise-i18n 项目的设计 fr.yml:https://github.com/tigrish/devise-i18n/blob/master/rails/locales/fr.yml - 您不必安装 gem -。

    【讨论】:

    • 感谢 Ehsan,实际上您的代码不起作用。似乎所有的翻译都需要在引号内。但是 Devise github 拥有一切:gist.github.com/qsypoq/4cf3b858ff8242ffb013(但作为一个单独的文件 devise.fr.yml,不过没什么大不了的)我将首先完成记录我的 fr.yml 并查看它是否会改变任何东西..
    • 不,翻译不必在引号内。
    猜你喜欢
    • 2019-08-05
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2015-08-31
    • 2011-12-27
    • 2021-12-10
    相关资源
    最近更新 更多