zoukankan      html  css  js  c++  java
  • chromium 的资源管理 的grit GIS

    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 值来给代码使用

  • 相关阅读:
    Leetcode Valid Sudoku
    Leetcode Surrounded Regions
    LeetCode Sqrt
    LeetCode POW
    LeetCode Next Permutation
    ACK-Ackermann, 阿克曼函数
    再不懂时序就 OUT 啦!,DBengine 排名第一时序数据库,阿里云数据库 InfluxDB 正式商业化!
    阿里云提供全托管 ZooKeeper
    性能压测中的SLA,你知道吗?
    第一个入驻阿里云自营心选商城,如今它已经是营收过亿的SaaS独角兽
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/2891509.html
Copyright © 2011-2022 走看看