百分浏览器论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖回复
楼主: 匿名

如何才能读取重载manifest.json和messages.json 这两个文件?

[复制链接]
匿名  发表于 2020-7-6 17:39:25
Admin 发表于 2020-7-6 00:09
可以把你用的crx发给我们测试一下,以及修改了manifest.json和messages.json中的什么内容 ...

不是具体哪个crx,而是全部的都是这样。
您随便打开User Data\Default\Extensions\目录下随意一个具有多语言的扩展测试就会知道了。

manifest.json 是修改"name":或 "description":  也就是扩展的名称和描述。
如果该扩展是国际多语言,"name":或 "description":是个翻译字符串的变量。
可以直接到messages.json去改动本地翻译的字符串。

另外messages.json其他内容改动显示名称的, 它就是一个变量的翻译字符串而已,
改动不影响扩展本身的功能,只是文本字符而已。

最后,随便改下你试试看, 浏览器重启后也不会生效的。
回复

使用道具

匿名  发表于 2020-7-6 19:30:18
不是哪个具体crx,而是全部的都是这样。
您随便打开User Data\Default\Extensions\目录下随意一个具有多语言的扩展测试便会知道了。


manifest.json 是修改"name":或 "description":  也就是扩展的名称和描述。
如果该扩展是国际多语言,manifest.json的"name": 和 "description":是个变量。
可以直接到messages.json的"name":或 "description"   去改动本地翻译字符串。


另外messages.json的其他内容是改动显示名称的,
  1. <font size="3">"message": "翻译字符串"</font>
复制代码
它就是一个变量的翻译字符串而已, 改动不影响扩展本身的功能,只是文本字符而已。
随便改下你试试看, 浏览器重启后也不会生效的。


回复

使用道具

匿名  发表于 2020-7-6 19:33:06
游客 121.207.56.x 发表于 2020-7-6 19:30
不是哪个具体crx,而是全部的都是这样。
您随便打开User Data\Default\Extensions\目录下随意一个具有多语 ...

晕,这个被格式化了,应是这样的。
  1. "message": "翻译字符串"
复制代码


回复

使用道具

7

主题

6771

回帖

1万

积分

超级版主

(^^ゞ

Rank: 8Rank: 8

积分
19229
发表于 2020-7-6 21:50:08 | 显示全部楼层
看完了前面的讨论我从头开始试了一遍并记录下过程,可以正常改动扩展信息并生效啊。
1. 下载一个支持多语言的扩展,这里就选 Adblock Plus 吧:

install.png

2. 进入管理扩展程序找到并记录一下 id:

info.png

3. 彻底退出浏览器 (注意:确保 chrome://settings/system 中 "关闭 Cent Browser 后继续运行后台应用" 选项是禁用的。)

4. 根据 id 进入相关的扩展程序目录,找到 manifest.json 和浏览器使用语言下的 messages.json 文件 (建议复制出来并备份一下):

manifest.png messages.png

5. 打开对应文件查找相关字段 ("name", "description") 并修改成想要的内容并保存:

manifest_content.png

(这里 manifest.json 中的内容可以不用修改)

messages_content_name.png

(这里 messages.json 中与 "name" 相关的字段有三个,我统一把其中的 "Adblock Plus" 修改成了 "Sulp Kcolbda")

messages_content_description.png

(这里 mesaages.json 中与 "description" 相关的字段只有一个,我直接把其内容由 "阻止 YouTube™ 广告、弹出窗口并抵御恶意软件!" 更改为 "这是一段描述。")

6. 找到 Preferences 文件 (默认情况下在 "User Data\Default\" 路径下;建议复制出来并备份一下):

Preferences.png

7. 打开 Preferences 文件并修改相应的内容并保存:

Preferences_content.png

8. 所有涉及到的文件及其备份如下所示:

files.png

9. 启用浏览器查看效果:

result.png

结果符合预期,可见是可以修改扩展的相关信息的。
¯\(°_o)/¯
回复

使用道具 举报

41

主题

5933

回帖

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
20478
发表于 2020-7-6 23:59:55 | 显示全部楼层
辛苦楼上了
QQ(2530160833)
回复

使用道具 举报

匿名  发表于 2020-7-7 00:06:03
十分谢谢版主大人的辛苦测试。 我也测试了下, 发现不用去改扩展的messages.json和manifest.json这两个文件, 直接在 Preferences(浏览器先退出) 文件里查找目标字符串,然后改动下就能生效了,


那么问题来了,Preferences  这是浏览器的重要资源文件,随意改动它感觉就像动手术似的,会不会容易导致浏览器的不稳定什么的,会不会呢?
是不是不改 Preferences  的情况下就没法生效的对吗,另外之前测试过的是切换浏览器语言并重启有时能生效有时也不行。




回复

使用道具

7

主题

6771

回帖

1万

积分

超级版主

(^^ゞ

Rank: 8Rank: 8

积分
19229
发表于 2020-7-7 12:11:08 | 显示全部楼层
游客 121.207.56.x 发表于 2020-7-7 00:06
十分谢谢版主大人的辛苦测试。 我也测试了下, 发现不用去改扩展的messages.json和manifest.json这两个文件 ...

1. 如前面时光机所说,浏览器读取的扩展程序信息是在 Preferences 文件里的,所以其实直接修改 Preferences 文件是可以实现改动扩展程序信息的效果;之所以还去改动扩展目录下的 messages.json 其实只是为了统一化配置,并在 Preferences 重载时无需再手动更改 Preferences。

2. Preferences 本质上一是个纯文本的 json 格式文件,用于保存浏览器运行时的配置参数。理论上只要改动后的格式正确,且不修改到某些希哈加密的字段,不会触发重置机制;而且手动改 Preferences 的情况在网上其实不少见 (无论如何,手动修改前请备份原 Preferences 文件,以便在出错后恢复)。

3. 如果没有特殊的需求,是肯定不会建议用户去手动修改 Preferences 文件的。像改动扩展程序信息这个情况,理论上在不手动修改 Preferences 文件的前提下,去修改扩展程序目录下 _locales 里所对应的 messages.json 文件,切换一次浏览器所使用语言后应该就会生效的。至于可能会出现修改无效的情况,你可以试试按我以下的方法去做:

只去修改 "\_locales\zh_CN\messages.json",然后在 chrome://settings/cbOtherOptions 中添加启动命令行如: "--lang=ko" (我觉得这里还是不要用默认语言 en 了吧),然后在地址栏中输入 "chrome://restart" 回车重启浏览器,删除所添加的启动命令行,手动关闭并重启浏览器。(我用 Adblock Plus 测试结果是可行的)
¯\(°_o)/¯
回复

使用道具 举报

匿名  发表于 2020-7-7 16:09:23
十分感谢S8F8ry再次详情解答,其实语言切换的我也遇到过有点问题,碰到过极少情况是切换后不好再切回来。
要很多步骤去实现还要小心翼翼,最后还是放弃算了,不去修改扩展的messages.json原生信息。
就算改好了,扩展一更新也会覆盖重置的。
所以还是决定尽量不去动 Preferences 文件和语言切换,让浏览器最大化稳定哈。


回复

使用道具

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|百分浏览器论坛

GMT+8, 2024-6-1 12:57 , Processed in 0.057057 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表