我昨天开始在55.0.2版本上开发我的第一个Firefox Web扩展。我想为该扩展添加不同的语言,所以我在官方网站上阅读了这个主题:https://developer.mozilla.org/fr/Add-ons/WebExtensions/Internationalization。
然而,事情并没有按照他们的意愿进行,因为现在每当我尝试使用about:debugging加载我的应用程序时,它会不断弹出此错误消息“安装期间出错:扩展无效”。
我搜索了一些可能导致此问题的内容,我发现的内容完全是奇怪的。每当我在_locales文件夹中有一个像“en”或“fr”这样的文件夹时,Firefox就会不断向我显示该错误消息。
我试图在manifest.json中添加一个默认的语言环境来修复它,但是没有运气,它不起作用。我尝试通过更改扩展名称&尽可能简单地使我的messages.json变得简单。扩展说明,没有运气。
由于我不明白的原因,这些子文件夹阻止我添加不同的语言。
这是我的manifest.json:
{
"manifest_version": 2,
"default_locale": "en",
"name": "__MSG_extensionName__",
"description": "__MSG_extensionDescription__",
"version": "1.0",
"applications": {
"gecko":{
}
},
"permissions": [
"contextMenus",
"activeTab"
],
"background": {
"scripts": ["ddo.js"]
},
"browser_action": {
"default_title": "Download Destination Organizer"
}
}
这是我的messages.json里面_locales里面的“en”子文件夹:
{
"extensionName": {
"message": "DDO",
"description": "Name of the extension."
},
"extensionDescription": {
"message": "Insert description here",
"description": "Description of the extension."
}
}
这是我在_locales里面的“fr”子文件夹里面的messages.json:
{
"extensionName": {
"message": "DDO",
"description": "Name of the extension."
},
"extensionDescription": {
"message": "Insérer la description ici.",
"description": "Description of the extension."
}
}
答案 0 :(得分:1)
使用Mozilla存储库中的官方web-ext
工具:https://github.com/mozilla/web-ext
当我使用此命令(在MacOS上)运行示例时,它对我有用:
web-ext run --firefox
您也可以使用以下命令在firefox开发人员版中运行它:
web-ext run --firefox /Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox
此外,您可以使用详细选项(-v
)运行它,以确切了解失败问题的位置:
web-ext run --firefox -v
这是我的架构(我没有改变你提供的内容,我只添加了清单中描述的ddo.js文件 - ddo.js文件包含console.log
):
|- _locales
| |- en
| | |- messages.json
| |
| |- fr
| | |- messages.json
|
|- ddo.js
|- manifest.json
答案 1 :(得分:0)
您是否正在加载压缩的WebExtension?
您如何压缩它?
您必须使用"compatible"
程序对其进行压缩,例如,当我使用Compress-Archive通过powershell命令行对其进行压缩时,会出现该错误,但是如果我使用Windows send to -> Compressed (zipped) folder
菜单对其进行压缩或使用zip的7z默认选项,则效果会很好。