国际化(I18n)我的扩展,翻译文件上传错误

时间:2012-01-22 17:08:18

标签: utf-8 internationalization google-chrome-extension

上传我的扩展程序时出现以下错误:

An error occurred: Message JSON file must be in UTF-8 encoding.

我有大约19个翻译文件。

当我在本地运行以下命令时:

file extension/_locales/[locale]/messages.json

我明白了:

extension/[locale]/messages.json: UTF-8 Unicode English text

在一些语言环境翻译(波兰语,加泰罗尼亚语,葡萄牙语,法语等)上,我收到以下消息

extension/[locale]/messages.json: UTF-8 Unicode English text, with very long lines

我已将Chrome网上论坛的上传错误跟踪到“文件”命令输出“非常长的行”的语言环境翻译文件。

我不确定如何解决这个问题。有什么建议吗?

哦,我应该提一下翻译文件:

  • 没有BOM
  • 不包含评论

更新:

此错误是由两个问题引起的:

  • 忘记删除其中一个区域设置json文件中的注释。
  • 一些区域设置文件中存在错误的字符。

真的让我很沮丧,因为我在开发过程中没有遇到过这个问题。来吧Chrome ...

1 个答案:

答案 0 :(得分:0)

如果问题确实是键/值超出了某个大小限制,那么您可以尝试将超过300个字符的行分成多行:

{
    "longMessage": {
        "message": "This is a really long message 
                   over 300 characters that has 
                   been put on multiple lines"
     }
}

有关300个字符限制的详细信息,请参阅此问题:

https://superuser.com/questions/91660/how-long-is-long-for-the-unix-file-command

将这个错误重新缩小到一个键/值对是很有用的,这样你就可以在一个字符串上运行这个测试,而不是全部。此外,如果您能够将其缩小到只有一个,那么使用字符串编辑您的问题,以便我可以在本地尝试。