Chrome.i18n是否有标准格式的message.json

时间:2013-01-15 09:10:59

标签: javascript google-chrome-extension

我使用了Chrome.i18n并编写了几个message.json文件。我不知道应该选择哪种文件格式。 ANSI,UTF-8或其他。我发现大多数镀铬扩展都选择了ANSI。它是message.json文件的标准格式吗?

1 个答案:

答案 0 :(得分:3)

您的文件必须保存为UTF-8,才能使非ASCII个字符(重音字母,中文字符,)正常工作。如果任何消息中不存在此类字符,则“ANSI”设置可能有效。请勿选择UTF-16

文本编辑器通常通过查找字节值的特征模式来猜测文本文件的字符编码。在没有非ASCII字符的情况下,无法区分Windows-1252或其他所谓的“ANSI”编码与UTF-8,因为ASCII是两者的共同子集。您的文本编辑器显然假定为“ANSI”,仅当您在所见的Chrome扩展程序中实际使用非ASCII字符时才表示UTF-8。

某些文本编辑器(特别是Windows记事本)会将byte order mark(BOM)添加到保存为UTF-8的任何文件中。虽然该字符允许确定文件的UTF-8编码,但Google Chrome不希望看到它和fails to load the JSON file

如果使用Windows记事本,则应切换到Notepad++或其他文本编辑器,该编辑器可选择另存为“无BOM的UTF-8”。您还应该考虑将编辑器设置为默认使用UTF-8,即使对于现有文件也是如此。