Show page source of DevelopMemo #66930

= 開発メモ =

HandBrake日本語版開発に関する雑多なメモ。

== リポジトリ ==

2011年2月21日に[https://github.com/HandBrake Githubでミラーが公開された]ので、ここからcloneしてきたリポジトリをベースに日本語化を行う予定。でもタグやブランチが切られていないのでどうしよう。


→githubはgit-svnを使っている。SVNのchangeset 3735(https://trac.handbrake.fr/changeset/3735)が0.9.5のtagに相当。なので、changeset 3734に相当するcommitにタグを付けて対処。

→[http://git.sourceforge.jp/view?p=handbrake-jp/handbrake-jp-git.git handbrake-jp-git]をgithubからのfolkブランチとして作成、今後はこのリポジトリを開発のベースとする。


gitベースのリポジトリの場合、subwcrev.exeが使えない。そのため、下記のビルドイベントを削除し、手動で相当する操作をあらかじめ行っておく。

HandBrakeCSのやつ

 subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"
 subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"
 subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Installer\MakeNightly.nsi.tmpl" "$(ProjectDir)Installer\MakeNightly.nsi"

HandBrake.ApplicationServicesのやつ

 subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"
 subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"

やること:   

 1. $(ProjectDir)Properties\AssemblyInfo.cs.tmpl を $(ProjectDir)Properties\AssemblyInfo.cs としてコピー
 2. $(ProjectDir)Installer\MakeNightly.nsi.tmpl を $(ProjectDir)Installer\MakeNightly.nsi としてコピー
 3. 1.2.のファイル内の「$WCREV$」を適当なリビジョン文字列に置き換える

== ビルド方法 ==

=== 1. Jamrulesファイルを編集

 HB_VERSIONにバージョン番号をセットする。

(以下、作成中)


== Windows向け裏ビルド方法

 ライブラリのビルド面倒くさい! GUIだけビルドしたい! という場合、win/C#/以下にあるHandBrakeCS.slnをVisual Studioで開いてビルドすればOK。win/C#/bin/{Debug|Release}/以下にHandbrake.exeができる。ただし、実行にはHandBrakeCLI.exeとか関連dllが必要なので要注意。HandBrakeCLI.exeはコマンドライン版HandBrakeに含まれているやつでOK。

=== アップデート ===

$ find . -name '*.resx' > files.txt
$ find . -name '*.cs' > files.txt
$ awk '{print "git diff jp-0.9.4 original-0.9.5 " $1 " > " $1 ".diff"}' files.txt > mkdiff.sh
$ . mkdiff.sh


=== バージョン番号表記

 HandBrakeのバージョン番号は、HandBrakeCLI.exeから取得される(「HandBrakeCLI.exe -u -v0」を実行して表示される文字列)。HandBrake UI versionはAssemblyInfo.cs内に記述してある。

== プリセット周りの日本語化処理
 * QyeryParser内では英語のまま
 * PresetLoader内で対応する日本語に置き換える

=== 置き換えが必要そうな項目 

 * PictureSettings(「サイズ」タブ)
   * drp_anamorphic -> Index指定なので不要
   * drp_modulus -> 数値のみなので不要
 * Filters(「フィルタ」タブ) : Filters内にsetXXX関数が用意されているのでそこで調整( // Setup for each component for the preset loader.  以下)
   * drop_detelecine
   * drop_decomb
   * drop_deinterlace
   * drop_denoise
 * 「動画」タブ
   * drp_videoEncoder -> 英語なのでそのまま
   * drp_videoFramerate -> 「Same as source」のみを変換
 * AudioPanel(「音声」タブ):QueryParserとPresetLoaderの両方で
 * Subtitles(「字幕」タブ)
   * drp_subtitleTracks ->
   * srt_lang
   * srt_charcode -> なし
 * 「チャプター」タブ
   * なし
 * 「詳細設定」タブ
   * なし
 * 「コマンドライン」タブ
   * なし