【问题标题】:Why locale won't work on my project?为什么语言环境不适用于我的项目?
【发布时间】:2013-01-25 11:38:59
【问题描述】:

请让我先解释一下我做了什么。

我安装了 gem rails-i18n 然后我做了 rails g i18n es 命令 它生成了translated_es.yml

模型名称和它们的列名都在里面,所以我是这样翻译的。

然后我重新启动服务器以检查它是否应用,但它不是。为什么?我尝试提交一个包含空字段的表单。

我看到验证错误消息,但列名是英文。我该如何解决这个问题?

es:
  activerecord:
    models:
      acts_as_taggable_on/tag: acts_as_taggable_on/tag  #g
      acts_as_taggable_on/tagging: acts_as_taggable_on/tagging  #g
      acts_as_votable/vote: acts_as_votable/vote  #g
      comment: comentario  #g
      community: comunidad  #g
      [...]

【问题讨论】:

  • 确保 .yml 中没有任何选项卡。只有你可以使用空格
  • @Vinary 谢谢!你的意思是列名和我输入的值之间的制表符?
  • 在整个 .yml 文件中,您不应在任何地方使用制表符。只需使用中间的空格。并且值将带有单引号或双引号
  • 如您所见,我没有使用任何单引号或双引号。是这个原因吗?
  • 前三列中的值是相同的......所以你不需要提及它。 comment: 'comentario'community: 'comunidad'。试试这个,让我知道...

标签: ruby-on-rails ruby-on-rails-3 internationalization


【解决方案1】:

试试这个,

es:
  activerecord:
    models:
      community: "comunidad"
      comment: "comentario" 
    attributes:
      "community":
        title: "titulo"
      "comment":
        title: "titulo"
      [...]

给每个空格,不要给制表符...尝试让知道...

修改后需要重启服务器。

【讨论】:

  • 否 您的型号名称是什么?您需要提及您的型号名称而不是 (您不需要箭头)
  • 我仍然收到内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 root@localhost 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。服务器错误日志中可能会提供有关此错误的更多信息。
  • 谢谢!!这是完美的答案
  • @Vinary!我还想问你一件事。如果我在模型名称后加上“comunidad”,则会出错。但如果我删除它,一切正常。但是我不能翻译模型。我该如何解决?
【解决方案2】:

首先你必须切换你当前的语言环境。如果您的项目只支持一种语言,您可以使用

I18n.locale = :es

进入你的初始化器之一。

如果此语言环境文件嵌套在 config/locales 内的某个目录中,则应加载 application.rb 内的嵌套目录

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]

【讨论】:

  • 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 root@localhost 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。
  • 您确定此内部服务器错误与 i18n 问题有关吗?当您使用rails server 启动服务器时,日志输出说明了什么?
【解决方案3】:

在您的config/application.rb 中设置默认语言以及当前语言:

    config.i18n.default_locale = config.i18n.locale = :es

【讨论】:

    猜你喜欢
    • 2020-08-28
    • 2016-09-25
    • 1970-01-01
    • 2017-11-06
    • 2016-05-02
    • 2018-07-25
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    相关资源
    最近更新 更多