コンテンツ
HandBrake 0.9.4日本語版開発中
先日本家からHandBrake 0.9.4がリリースされていたので、日本語化をちょこちょこと進め中。現在の状況ですが、おおむね(外観的には)日本語になっている、という感じ。あとは設定ファイル周りと、HandBrakeコマンドに渡すオプション周り、ツールチップ周りをいじればひとまず完了、という感じでしょうか。
Mac OS X向けのHandBrakeの日本語化版もとりあえずリリース
日本語化をちょこちょことやっているHandBrakeですが、Mac OS X版もとりあえずリリースしてみました。
ダウンロードはファイル置き場、ソースコード置き場に利用している SourceForge.JPのHandBrake日本語版プロジェクト からどうぞ。
Universal Binaryではビルドできなかった(やろうと思えばできるのだが相当に面倒くさそう)ので、とりあえずPPC版とIntel版で別のパッケージにしました。あと、Intel版は自分の環境で動作チェックできているのですが、PPC版は環境がない(一応あるにはあるがMac OS X 10.4なので動かない)ので、もし起動できないなどの問題が起こったらお教えいただけると助かります。
あと、ほとんどの個所は日本語化しているんですがH.264エンコードの詳細設定あたりはまだ英語のままです。いじってもそんなに変わらない上にもしかしたら大仕事になりそうな気もしたので後回しですが、いずれこちらも日本語化予定。
あとは本家に日本語化のために加えた変更点のパッチを送るかどうかですね……。
HandBrake Mac OS X版・日本語化
HandBrake日本語版開発日誌(1/5)
1/1の記事 で紹介したgenstringsを使ってソースコード中のテキスト文字列をローカライズしていたんだけど、genstringsではすべての文字列を抜き出してStringsファイルを作ってくれるわけではない(当たり前だが)。というか、genstringsはどちらかというとソースコード中でNSLocalizedString()を使っている個所からテキストを抜き出す、というのがメインの目的のようだ。ということで、genstringsで自動的に抜き出してくれた以外のテキストを検索し、NSLocalizedString()に置き換える作業を行う。
ただし、すべてをNSLocalizedString()に置き換えてしまうとどのテキストがどこで呼ばれているのか分からなくなるので、適宜コメントを入れたり、テーブル(=テキストデータが格納されているStringsファイル)を適宜分けたりして対処する。ちなみにNSLocalizedString()の引数は下記のとおり。
NSLocalizedString( @"キー", @"コメント" )
この「コメント」の部分に入れたコメントは、genstringsが自動的にStringsファイル中にコメントとして埋め込んでくれる。なお、NSLocalizedString()は<言語>.lprojディレクトリ以下の「Localizable.strings」というファイルからテキストを読み出す。別のStringsファイルからテキストを読み出したい場合はNSLocalizedStringFromTable()を使えばよい。
NSLocalizedStringFromTable( @"キー", @"Stringsファイル名", @"コメント" )
NSLocalizedStringFromTable()は、第2引数で指定したファイルからキーに対応するテキストを読み出す。なお、Stringsファイルの拡張子は「.strings」で、拡張子を除いた部分を第2引数に指定する。
今回、HandBrakeの日本語化ではソースファイルごとに別のStringsファイルにテキストを格納することにし、さらに全アプリケーションで共通に呼び出されるテキストはLocalizable.stringsに格納することにした。
なお、これらの作業(どのファイルにどのテキストリソースを保存するのかの決定)は翻訳作業を行う前に行っておくべきである。自分は翻訳作業に手を付けて始めてからテキストリソースの多さに気付き分割を行ったが、genstringsツールにはすでに翻訳していたテキストをマージする機能がないため、別途スクリプトを作って翻訳済みテキストをマージする羽目になった。