在chromium中增加资源

增加字符串资源

增加字符串资源在chromium的开发文档里有介绍,链接是http://dev.chromium.org/developers/design-documents/ui-localization。

参照现有的惯例在grd文件中(generated_resources.grd, webkit_strings.grd, chromium_strings.grd or google_chrome_strings.grd)增加你的字符串资源。比如下面这样:

可以用<if>标签可以选择性的把你的资源加入某些平台。这是为了减小资源文件的大小。编译的工程的时候,会自动把en-US字符串打进en-US.dll。然后你的代码里include上ui/base/l10n/l10n_util.h和grit/generated_resources.h。使用l10n_util::GetStringUTF16函数根据IDS_TOOLTIP_SIDEBAR去得到你想到的字符串资源。

grd文件中的资源都是英文的,如果你想做本地化,你可以为grd文件添加对应的xtb文件。比如在/src/chrome/app/resources目录中就是对应grd文件的本地化xtb文件。xtb中的内容是这样的:<translation id=”4644940341880760945″>打开或者关闭侧边栏</translation>。
这个ID是通过grd文件中的对应条目的内容hash过来的,这个值我们不能自己指定。

在/src/tools/grit目录下有个grit.py的工具,可以帮助我们生成这个ID。一种办法是用
grit.py -i [输入的grd文件] xmb [输出的xmb文件]生成xmb文件,xmb文件里面就有grit为grd文件生成的对应id。另一种办法是调用python代码是生成:

grit的更多用法可以参考这里https://code.google.com/p/grit-i18n/wiki/GritUsersGuide

增加图片资源

增加图片等其他资源跟字符串资源很类似,所以官方文档里没有提及。
比如我们为chromium增加一个按钮,在src/chrome/app/theme/theme_resources.grd 添加你的资源ID和对应的资源路径。重新编译工程,在代码中include上grit/theme_resources.h就行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注