无法加载翻译:YAML 中的尾随 UTF-8 八位字节无效

问题描述 投票:0回答:4

我是 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
4个回答
12
投票

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

单击

Encoding -> Convert to UTF-8
,错误就消失了。


1
投票

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

# encoding: utf-8    

0
投票

有同样的错误,就我而言,我在文本中间有 : ,但是 : 是功能性符号,所以去掉它,这可能是由从在线或 ord 复制并粘贴的任何符号引起的。


0
投票

我在使用 helm update 命令时解决了同样的问题。不幸的是,helm 没有告诉我问题的确切位置(显示了不存在的行),因此我从头开始创建了一个空白文件,并复制粘贴了损坏文件的所有内容。这次手术后一切都很顺利。

© www.soinside.com 2019 - 2024. All rights reserved.