Share
Embed
Transcript
66 slides
-
2019/8/10 NSEG 19/08 ⾃⼰紹介 ・名前︓アベヒロキ (@hATrayflood) ・職業︓⾃宅サーバ管理者 ・URL︓rayflood.org/diary-temp/ ・地元︓東部町 by
ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 OSSの主な領域 ・firefox ・python ・ubuntu ・コンパイラ by ABE
Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 デスクトップ版 以下のビルドルールにあるファイル名を変更 chrome/BUILD.gn chrome_binary("chrome_initial") action("reorder_imports") chrome/installer/mini_installer/BUILD.gn action(archive_name)
build/win/reorder-imports.py input_image, output_image by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 zipアーカイブするコマンドの変更 chrome/tools/build/win/FILES.cfg 'filename': 'chrome.exe', chrome/tools/build/win/make_zip.bat set archive=%outdir%\chrome-win32.zip
cd src chrome\tools\build\win\make_zip.bat ..\out by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 デスクトップ版 windows: chrome/install_static/chromium_install_modes.cc kCompanyPathName kProductPathName kInstallModes (拡張⼦登録情報)
linux: chrome/common/chrome_paths_linux.cc GetDefaultUserDataDirectory() mac: chrome/common/chrome_paths_mac.mm ProductDirNameForBundle() 共通: chrome/common/chrome_paths.cc ユーザーデータ以外いろいろたくさん by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 英語の例 <message name="IDS_TASK_MANAGER_TITLE" desc="The title of the
Task Manager window"> Task Manager - Chromium </message> <message name="IDS_SESSION_CRASHED_VIEW_UMA_OPTIN" desc="Text besides the checkbox to let users optin to UMA in the restore from previous crash bubble."> Help make Chromium better by sending crash reports and <ph name="UMA_LINK">$1<ex>usage statistics</ex></ph> to Google </message> by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 ⽇本語の例 <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle
lang="ja"> <translation id="1065672644894730302">ユーザー設定ファイルを 読み込むことができません。⼀部の機能が利⽤できない可能性があります。 また、設定への変更は保存されません。</translation> <translation id="1104942323762546749">Chromium から パスワードをエクスポートするための許可を求められています。 許可するには Windows のパスワードを⼊⼒してください。</translation> by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 英語: chromium_strings.grd <message name="IDS_ABOUT" desc="In Title Case:
The text label of the About Chrome menu item"> About &Nseg Browser </message> ⽇本語: resources/chromium_strings_ja.xtb <translation id="2910007522516064972"> Nseg Browser について(&C)</translation> by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 ____ / \ / _ノ ヽ、_
\ そんなこと⾔われても / (•) (•) \ どうすりゃいいのさ | (__⼈__) | \ ` ⌒´ / /´ `\ / / l l . __l l_.[] _____/_/__ \, ´-'ヽ ヾ_ノ | | |__ コロ・・・・ _____\ コロ・・・・ ()__)」 by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 cd src tools/grit/grit.py -v -i chrome/app/chromium_strings.grd build
-o /tmp WARNING: Fell back to English for the following translations: 8739167630197873875 "You clear cookies when you quit Chromium..." gu,zh-TW,vi,sv,cs,es and 18 more 7827169012280634081 "Clear cookies and site data when you qui..." gu,zh-TW,vi,sv,cs,es and 18 more 5652071883946975157 "About &Nseg Browser" el,gu,zh-TW,sw,ca,am and 46 more by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 tools/grit/grit/node/message.py: Translate() + _URL_PATTERN = lazy_re.compile(r'^[a-zA-Z0-9-]+:\/\/.*', re.I)
+ _GOOGLE_CHROME_PATTERN = lazy_re.compile(r'Google Chrom[a-zA-Z]+', re.I) + _CHROME_PATTERN = lazy_re.compile(r'Chrom[a-zA-Z]+', re.I) + _CHROME_PATTERN_HI = lazy_re.compile(u'\u0915\u094D\u0930\u094B\u092E', re.U) + + if not _URL_PATTERN.match(msg): + msg = _GOOGLE_CHROME_PATTERN.sub('Nseg Browser', msg) + msg = _CHROME_PATTERN.sub('Nseg Browser', msg) + msg = _CHROME_PATTERN_HI.sub('Nseg Browser', msg) by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 ヒンディー語だけはなぜか Chromiumというブランド名も ोिमयम と翻訳されてます ⽇本語だとカタカナの感覚か︖ by ABE
Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 ブラウザー名などはここで定義 configure.sh MOZ_APP_DISPLAYNAME="Nseg Browser" MOZ_APP_BASENAME=NsegBrowser MOZ_APP_VENDOR=NSEG MOZ_APP_UA_NAME=Firefox
MOZ_DISTRIBUTION_ID=jp.nseg by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 ・リンク集 twitter @hATrayflood http://twitter.com/hATrayflood The Chromium Projects
https://www.chromium.org/ ブランディング画像 デスクトップ版 https://cs.chromium.org/chromium/src/chrome/app/theme/chromium/ ブランディング画像 android版 https://cs.chromium.org/chromium/src/chrome/android/java/res_chromium/ 実⾏ファイル名の変更 https://cs.chromium.org/chromium/src/chrome/BUILD.gn?l=369 https://cs.chromium.org/chromium/src/chrome/BUILD.gn?l=62 https://cs.chromium.org/chromium/src/chrome/installer/mini_installer/BUILD.gn?l=128 https://cs.chromium.org/chromium/src/build/win/reorder-imports.py?l=17 by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 zipアーカイブするコマンドの変更 https://cs.chromium.org/chromium/src/chrome/tools/build/win/FILES.cfg?l=45 https://cs.chromium.org/chromium/src/chrome/tools/build/win/make_zip.bat?l=15 標準ユーザーデータフォルダ https://cs.chromium.org/chromium/src/chrome/install_static/chromium_install_modes.cc https://cs.chromium.org/chromium/src/chrome/common/chrome_paths_linux.cc?l=93 https://cs.chromium.org/chromium/src/chrome/common/chrome_paths_mac.mm?l=62
https://cs.chromium.org/chromium/src/chrome/common/chrome_paths.cc ブラウザー名 デスクトップ版 https://cs.chromium.org/chromium/src/chrome/app/theme/chromium/BRANDING ブラウザー名 android版 https://cs.chromium.org/chromium/src/chrome/android/java/res_chromium/values/channel_constants.xml androidパッケージID https://cs.chromium.org/chromium/src/chrome/android/BUILD.gn?l=34 by ABE Hiroki aka hATrayflood -
2019/8/10 NSEG 19/08 grit https://www.chromium.org/developers/tools-we-use-in-chromium/grit/grit-users-guide 構成例 英語 https://cs.chromium.org/chromium/src/chrome/app/chromium_strings.grd 構成例 ⽇本語
https://cs.chromium.org/chromium/src/chrome/app/resources/chromium_strings_ja.xtb 謎のtranslation id https://cs.chromium.org/chromium/src/tools/grit/grit/extern/tclib.py?l=395 https://cs.chromium.org/chromium/src/tools/grit/grit/clique.py?l=105 tools/grit/grit.py https://cs.chromium.org/chromium/src/tools/grit/grit.py 出⼒時の整形 https://cs.chromium.org/chromium/src/tools/grit/grit/node/message.py?l=260 ヒンディー語でのChromiumの表記 ोिमयम https://cs.chromium.org/chromium/src/chrome/app/resources/chromium_strings_hi.xtb Chromium本家としての⽇本語翻訳作業 https://translations.launchpad.net/chromium-browser/translations/+lang/ja by ABE Hiroki aka hATrayflood