0

我不知道这是否只是一个愚蠢的语法错误,或者这是否是我应该合理关注的问题。我在网上搜索过这个错误,但几乎没有发现任何关于它的信息。所以我的猜测是,这要么是太“不合时宜”,以至于几乎没有人会遇到这个错误,要么是太晦涩难懂,以至于 - 再一次 - 几乎没有人会遇到这个错误。尽管如此,我们开始:这就是我正在使用的:Ruby 2.1.1p76 Rails 4.0.5 SafeYAML 1.0.3 RubyMine 6.3 [如果您需要更多信息,请询问]

我得到的错误是:“Rails i18n 语言环境文件应该有单根”

这是我的 en.yml 文件的缩短版本(我将包括我认为是问题区域的内容)

    <%
      object_names = **{**   
        :administrator => 'Administrator',
        :activity_log => 'Site Activity',
        :answer => 'Answer',
        :approval => 'Approval',
        :user => 'Member',
        :video => 'Video',
        :vote => 'Like'
      }

      section_names = **{**
        :approvals => 'Items Awaiting Review',
        :advertisements => 'Advertisements',
        :ad_placements => 'Ad Placements',
        :awarded_badges => 'Badges',
        :badges => 'Badges',
        :videos => 'Videos'
      }

      anonymous = 'Anonymous**'
    %>

    en:
      homepage:
        mine: "My %{site_name}"
      site_name: "%{site_name}"
      site_condition_name: "%{site_condition_name}"

      titles:
        main: "%{site_name}"
        delimiters:
          minor:** ' **-** '
          major: ' | '
        scopes:
          popular: Popular
          newest: Newest
          active: Active

          my_feed: My Friends
          my_activity: What I've Done
          tracked_items: "Only <%= object_names[:tracked_item].pluralize %>"
          everyone: Everyone

          user: "By %{name}"
          view: "By %{view}"
          sent: "Sent <%= object_names[:message].pluralize %>"
          page: "Page %{page}"
          letter: "Starting With %{letter}"
          query: "%{query}"
          category: "%{category}"

      **meta_description:**
        main: "%{site_name} is a social network that connects people"

      footer:
        about: "About %{site_name}"
        about_alliance_health: About Alliance Health
        community_advocates: Community Advocates
        terms_of_use: Terms of Use

哦 - 哇。好的,看起来粗体在代码标记中不起作用。但我相信你们可以破译发生了什么。基本上,任何粗体字(或用双星号“**”分隔)都是 IDE 用此特定错误标记代码的地方。所以,正如你所看到的,它看起来相当混乱和荒谬。但我经常发现,当这样的事情发生时,通常是某个地方的一个小小的角色把其他一切都抛诸脑后。

现在,我不是 YAML 专家——事实上,我什至几乎不知道这些东西(这是我计划在不久的将来在这里改变的东西),所以这可能是“no duh”的东西。然而,有趣的是,大部分带错误标记的语法从单词的最后一个单引号开始:“'anonymous'”,一直到:“minor:”,跳过后面的第一个单引号, 并再次拿起连字符,之后该文件的近 5,500 行的其余部分不再有错误。

感谢任何提供帮助的人。我一直在研究这个问题太久了,而且关于这个特定问题的在线信息很少。所以非常感谢任何帮助:)

谢谢!

4

1 回答 1

0

所以 - 我不确定这会帮助任何人......但如果可能的话,这就是我重新设计脚本以避免错误的方式。我只是删除了导致解析混乱的常用分隔符。@mu 太短了,你是对的。这是一个 erb.yml 文件,但我不确定为什么原始创建者关闭了双扩展名。无论如何-感谢所有提供任何建议和想法的人:)

<%
  object_names = Hash.new
  object_names[:administrator] = %q<Administrator>
  object_names[:activity_log] = %q<Site Activity>
  object_names[:answer] = %q<Answer>
  object_names[:approval] = %q<Approval>
  object_names[:user] = %q<Member>
  object_names[:video] = %q<Video>
  object_names[:vote] = %q<Like>

  section_names = Hash.new
  section_names[:approvals] = %q<Items Awaiting Review>
  section_names[:advertisements] = %q<Advertisements>
  section_names[:ad_placements] = %q<Ad Placements>
  section_names[:awarded_badges] = %q<Badges>
  section_names[:badges] = %q<Badges>
  section_names[:videos] = %q<Videos>
%>

en:
  homepage:
    mine: "My %{site_name}"
  site_name: "%{site_name}"
  site_condition_name: "%{site_condition_name}"

  titles:
    main: "%{site_name}"
    delimiters:
      minor: ' - '
      major: ' | '
    scopes:
      popular: Popular
      newest: Newest
      active: Active

      my_feed: My Friends
      my_activity: What I've Done
      tracked_items: "Only <%= object_names[:tracked_item].pluralize %>"
      everyone: Everyone

      user: "By %{name}"
      view: "By %{view}"
      sent: "Sent <%= object_names[:message].pluralize %>"
      page: "Page %{page}"
      letter: "Starting With %{letter}"
      query: "%{query}"
      category: "%{category}"

  meta_description:
    main: "%{site_name} is a social network that connects people"

  footer:
    about: "About %{site_name}"
    about_alliance_health: About Alliance Health
    community_advocates: Community Advocates
    terms_of_use: Terms of Use
于 2014-05-12T17:17:19.757 回答