chromium 的资源管理 的grit

grd 文件  : 负责存放 chromium 字面用到的英文字符串,以及图片路径 和html 路径 

里面包含xml 格式的 标签 IDS_AUTOFILL_CC_AMEX,IDR_ 等

 

里面的outputfile 标签定义了 经过python 处理这些内容之后的输出文件

<grit base_dir="." latest_public_release="0" current_release="1"
source_lang_id="en" enc_check="möl">
<outputs>
<output filename="grit/generated_resources.h" type="rc_header">
<emit emit_type='prepend'></emit>
</output>

  <file path="resources/generated_resources_zh-CN.xtb" lang="zh-CN" />

先说说chromium 进行的字符串的国际化吧

E:\google\home\src_tarball\tarball\chromium\src\chrome\app\generated_resources.grd 这个grd 文件里面有三个标签 一个是

  <outputs></outputs>

<translations> </translations>// xtb 文件的路径

    <message></message>

其中message 里面是字符串, 

<message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_TITLE" desc="The title of the balloon that is displayed when a background app is installed">
New background app added
</message>

E:\google\home\src_tarball\tarball\chromium\src\tools\grit\grit\extern\FP.PY

Usage:
from extern import FP
print 'Fingerprint is %ld' % FP.FingerPrint('Hello world!')
"""

使用这个方法 传入message 里面的字符串会生成一个md5 的id ,这个id 对应xtb 文件里面的translation 标签里面对应的id 

grit/generated_resources.h 这个文件里面 对应IDS_BACKGROUND_APP_INSTALLED_BALLOON_TITLE 和一int值 

代码里面使用IDS_BACKGROUND_APP_INSTALLED_BALLOON_TITLE 获得message  ,通过message 获得翻译后的结果

里面的图片是放在 一个grd 文件里面 

E:\google\home\src_tarball\tarball\chromium\src\chrome\app\theme\theme_resources.grd

<grit latest_public_release="0" current_release="1">
<outputs>
<output filename="grit/theme_resources.h" type="rc_header" context="default_100_percent">//context 图片要放到的文件夹
<emit emit_type='prepend'></emit>
</output>
<output filename="grit/theme_resources_map.cc" type="resource_map_source" context="default_100_percent" />
<output filename="grit/theme_resources_map.h" type="resource_map_header" context="default_100_percent" />
<output filename="theme_resources_100_percent.pak" type="data_package" context="default_100_percent" />// 文件都会被压缩到pak 包里面去
<output filename="theme_resources_200_percent.pak" type="data_package" context="default_200_percent" />
<output filename="theme_resources_touch_100_percent.pak" type="data_package" context="touch_100_percent" />
<output filename="theme_resources_touch_140_percent.pak" type="data_package" context="touch_140_percent" />
<output filename="theme_resources_touch_180_percent.pak" type="data_package" context="touch_180_percent" />
</outputs>

给图片定义一个idr// 

《structure type="chrome_scaled_image" name="IDR_ACCESSED_COOKIES" file="accessed_cookies.png" />
<structure type="chrome_scaled_image" name="IDR_ACTION_BOX_BUTTON" file="action_box_button.png" />

"grit/theme_resources.h"

grit/theme_resources_map.cc  定义idr 对应的int 值来给代码使用

你可能感兴趣的:(ROM)