【问题标题】:Could not load translations: Invalid trailing UTF-8 octet in YAML无法加载翻译:YAML 中的尾随 UTF-8 八位字节无效
【发布时间】:2014-03-24 14:58:41
【问题描述】:

我是 Rails 新手,正在尝试使用 I18n 国际化我的应用程序。在西班牙语版本的语言环境 yaml 文件中,我尝试按如下方式设置翻译:

es:
  categories: "Categorias"
  home: Inicio
  live_casino: "Casino en Vivo"
  sportsbook: Deportes

这就像一个魅力,但只要我像这样在西班牙语单词中添加重音:

categories: "Categorías"

Rails 给我以下错误:

I18n::InvalidLocaleData in WelcomeController#index
can not load translations from .../config/locales/es.yml: #<Psych::SyntaxError: (.../config/locales/es.yml): invalid trailing UTF-8 octet at line 1 column 1>

我已经尝试了我在网上找到的所有东西,但没有任何效果,请帮忙!

【问题讨论】:

    标签: ruby-on-rails ruby internationalization


    【解决方案1】:

    我在 Notepad++ 中打开了语言环境文件,发现它是以“UTF-8 w/o BOM”编码的。

    点击Encoding -&gt; Convert to UTF-8,错误就消失了。

    【讨论】:

    • 如果您使用的是 Textmate – 我通过 File/Re-open With Encoding/UTF8 使用了相同的基本技术,然后保存文件。 YAML 加载然后工作。在我更改之前,菜单中的复选标记为ISO-8859-1 (Latin 1)
    • 我使用的文件是用 ANSI 编码的。所以从记事本++我不得不点击Encoding -&gt; Convert to UTF-8
    • 与 UltraEdit 相同。此外,Rails 报告的错误位于一个文件中,该文件数月未触及,实际上并没有任何翻译调用。
    【解决方案2】:

    尝试将下面一行放在 es.yml 文件的开头:

    # encoding: utf-8    
    

    【讨论】:

      【解决方案3】:

      有同样的错误,在我的例子中,我有:在文本的中间,但是:是功能符号,所以去掉它,这可能是由从网上复制或粘贴的任何符号引起的.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 2015-07-04
        • 2012-03-25
        相关资源
        最近更新 更多