我使用 Chrome.i18n 并编写了几个 message.json 文件。而且我不知道应该选择哪种文件格式。 ANSI、UTF-8 或其他。而且我发现大多数 chrome 扩展都选择了 ANSI。它是 message.json 文件的标准格式吗?
最佳答案
您的文件必须保存为 UTF-8对于非 ASCII字符(重音字母、汉字、等)来工作。如果任何消息中不存在此类字符,则“ANSI”设置可能有效。不要选择UTF-16 .
文本编辑器经常通过查找字节值的特征模式来猜测文本文件的字符编码。无法区分Windows-1252或其他所谓的 UTF-8 的“ANSI”编码(不含非 ASCII 字符),因为 ASCII 是两者的公共(public)子集。您的文本编辑器显然假定为“ANSI”,仅当您所看到的 Chrome 扩展程序中实际使用非 ASCII 字符时才指示 UTF-8。
某些文本编辑器(特别是 Windows 记事本)会添加 byte order mark (BOM) 到保存为 UTF-8 的任何文件。尽管该字符允许确定文件的 UTF-8 编码,但 Google Chrome 并不希望看到它并且 fails to load the JSON file .
如果您使用 Windows 记事本,则应该切换到 Notepad++或其他可以选择另存为“UTF-8 without BOM”的文本编辑器。您还应该考虑将编辑器设置为默认使用 UTF-8,即使对于现有文件也是如此。
关于javascript - Chrome.i18n 是否有标准格式的 message.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14334331/