修改chromium的国际化资源

dmt 4月前 114

chromium的国际化资源文件大部分在目录src\chrome\app\resources下,例如我们在设置中选取一句话。

系统->关闭 Chromium 后继续运行后台应用

在资源文件src\chrome\app\resources\chromium_strings_zh-CN.xtb,可以找到这句话

<translation id="3296368748942286671">关闭 Chromium 后继续运行后台应用</translation>
它其实对应的是src/chrome/app/chromium_strings.grd中以下文字国际化的翻译。

<message name="IDS_OPTIONS_SYSTEM_ENABLE_BACKGROUND_MODE" desc="The label of the check-box that enables background mode">
   Continue running background apps when Chromium is closed
</message>
这个translation id是根据翻译内容计算出来的一个id值。

计算方法可以查看src/tools/grit/grit/extern/tclib.py的GenerateMessageId函数

在src/tools/grit目录下运行以下python命令
from grit.extern.tclib import GenerateMessageId
GenerateMessageId("Continue running background apps when Chromium is closed")
就能看到输出'3296368748942286671'

也就是说translation id '3296368748942286671' 是根所需要翻译内容"Continue running background apps when Chromium is closed”计算出来的。

现在把翻译的内容改成
<translation id="3296368748942286671">关闭浏览器后继续运行后台应用</translation>
在重新编译之前需要删除之前编译的资源文件,例如我们修改的是chromium_strings_zh-CN.xtb,那么对应删除的文件是

src\out\Release\gen\chrome\chromium_strings_zh-CN.pak

然后运行重新编译的命令
ninja -C out\Release chrome
编译后启动chromium,就能看到改动已经生效。

来自:https://blog.csdn.net/ljm198745/article/details/42100375

感谢
最新回复 (5)
  • dmt 4月前
    引用 2
    There isn't a centralized place to change all at once. I'll advise you to go through .grd files search for .ico file an look at resources folder under chrome/browser/ it will give you a good start. There are actually more places needs to be changed and I didn't found any doc describing the process.

    There are some branding constants which are in the source itself, Like the folder name under app data which is embedded inside the code itself.
  • dmt 4月前
    引用 3
    What is the right place to change Chromium application name, program 
    title, .exe file name, and logo image. I guess there is place in 
    source code for windows, where it could be changed centralized for 
    whole project?



    In the case of Windows, many of these come from the base BrowserDistribution class:

    http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/util/browser_distribution.cc?view=markup










    (GetApplicationName(), GetAppShortCutName(), GetIconIndex(), etc).

    The icons are baked into the .exe and .dll in http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/chrome_dll.rc?view=markup and http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/chrome_exe.rc?view=markup.
  • dmt 4月前
    引用 4
    https://blog.csdn.net/ljm198745/article/details/44678735
    更改标签风格
  • dmt 4月前
    引用 5
    http://www.zhimengzhe.com/bianchengjiaocheng/cbiancheng/214156.html
  • ttt 3月前
    引用 6
    大部分字符串在 src\components\strings 和 src\chrome\app\resources 里面的翻译文件中。 
    其中chromium主要修改带有chromium文件名称的字符串翻译文件。 
    src\components\strings\components_chromium_strings_en-GB.xtb 
    src\components\strings\components_chromium_strings_zh-CN.xtb

    src\chrome\app\resources\chromium_strings_en-GB.xtb 
    src\chrome\app\resources\chromium_strings_zh-CN.xtb
返回