chromium 修改添加国际化字符串

这边谢谢楼主们!具体参考如下

https://blog.csdn.net/longji/article/details/81623820?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control

https://blog.csdn.net/longji/article/details/81907586

https://blog.csdn.net/weixin_37972910/article/details/104984859?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control

单纯修改中文字符串:

如果只是单纯的修改中文字符串的话,可以找到对应的地方的xtb,里面是翻译文件.......修改就行了 比如把关于Chromium 改成 关于Feikua

可以这么找,在对应的html找到对应的i18n字符串,找到对应的标识符IDS,然后在

srcchromeappchromium_strings.grd srcchromeappgenerated_resources.grd

这两边就可以找到对应的IDS了,就知道原始的英文字符串是什么了...然后去要修改的语言的xtb,比如中文chromium_strings_zh-CN.xtb,generated_resources_zh-CN.xtb去修改对应的字符串,但是英文字符串不要动,因为是根据英文字符串计算出来的translation 所有翻译文件都有一份。

这边

srccomponentsstringscomponents_chromium_strings_en-GB.xtb

srccomponentsstringscomponents_chromium_strings_zh-CN.xtb

srcchromeapp esourceschromium_strings_en-GB.xtb

srcchromeapp esourceschromium_strings_zh-CN.xtb

修改chromium为自己浏览器的名称,就可以直接简单粗暴....这边细节的东西最后再说

新增字符串:

chromium_string.grd文件涉及到chromium项目的本地化和setup的本地化,其中包含安装卸载软件介绍等字符串的本地化。

generated_resources.grd主要涉及chromium项目的本地化,几乎包含所有chrome.exe中所要使用到的字符串的本地化。

所以,生成Id是在generated_resources.grd中完成。

各种语言的翻译文件在

C:feikuachromiumsrcchromeapp esources

C:feikuachromiumsrcchromeapp

比如:

xtb里面的translation id 是通过字符串计算出来的

具体计算在C:feikuachromiumsrc oolsgrit>

C:feikuachromiumsrc	oolsgrit>python
Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from grit.extern import tclib
>>> tclib.GenerateMessageId("About Feikua");
'7907918642462179362'
>>>

然后可以在对应的grd文件中找到相关的定义IDS

比如:

C:feikuachromiumsrcchromeappgenerated_resources.grd

我们额

重新编译后,就可以在C++文件中引用了

ninja -C outDefault chrome

我的主要改动是:

翻译文件:

C:feikuachromiumsrcchromeapp esourcesgenerated_resources_zh-CN.xtb

C:feikuachromiumsrcchromeapp esourcesgenerated_resources_en-GB.xtb

定义的文件是

C:feikuachromiumsrcchromeappgenerated_resources.grd

 

编译一下下下下:

C:feikuachromiumsrc>ninja -C outDefault chrome

然后太感动了这边这边!!!

C:feikuachromiumsrcoutDefaultgenchromegritgenerated_resources.h

终于出现了#define IDS_FEIKUA_BROWSER 8833

终于有定义了  这玩意又是半天....... 之前也这么干过,但是一直有问题,后来关了VS...........再来一次

C:feikuachromiumsrc>ninja -C outDefault chrome

我也不知道为啥 但是就有了!

然后就可以开始我们愉快的跟字符串的斗争了!

去C++引用

矫情一下,突然想到郝工语重心长的跟我说,你如果怕犯错,很难成长的,确实是,我也发现自己的问题了,按部就班。

加油~

原文地址:https://www.cnblogs.com/Galesaur-wcy/p/14793932.html