HandBrake日本語版プロジェクト

最近の更新

2011-07-12
2011-03-01
2010-07-28
2010-01-26

PR

開発メモ

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

リポジトリ

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

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

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内に記述してある。

プリセット周りの日本語化処理

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

  • 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(「音声」タブ):QueryParserPresetLoaderの両方で
  • Subtitles(「字幕」タブ)
    • drp_subtitleTracks ->
    • srt_lang
    • srt_charcode -> なし
  • 「チャプター」タブ
    • なし
  • 「詳細設定」タブ
    • なし
  • 「コマンドライン」タブ
    • なし

対訳テーブル

 オリジナルのHandBrakeには多国語対応の仕組みがない(ソースにテキストがハードコードされている)ので大変。ということで、とりあえず対訳テーブルを用意してみる。