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

标签 javascript google-chrome-extension

我使用 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/

相关文章:

javascript - 选择以空格分隔的单词的元素

javascript - 似乎无法使用空依赖数组影响 React 的 useEffect() 中的状态。套接字.io

javascript - 使用 Google chrome api 缓存 .js 和 .css 文件

javascript - 从 dom 中删除 iframe

javascript - 如何在隐身模式下为 chrome 扩展启用 pageAction 图标?

javascript - 在 Javascript 中每 n 秒读取一次 JSON

javascript - Angular 2选择具有初始值的复杂对象

javascript - 在 Chrome 扩展中包含第三方库后 undefined variable

google-chrome-extension - chrome 扩展中用户可配置的 url 权限

javascript - 为什么我的 Bootstrap 导航栏不显示事件按钮?