今回 GNOME Family 入りを果たした Brasero だけど個人的にはかなり疑問。このアプリ、bonfire という名称の時に日本語訳を初めたんだけど、実際にフル・オプション (beagle を使った検索や D-Bus を使った通知機能付き) でビルドすると起動しなかったり、「CD/DVDを焼く」程度の操作さえも満足に機能しない「出来損ない」の印象が強かった。
そんなこんなでメッセージ翻訳もやる気無くして放置していたが、G26 入りになったもので (仕方なく) ビルドとメッセージ翻訳を繰り返したが、やっぱり採用された理由が分からない。UI がごちゃごちゃしていて、ウィンドウを大きくしないとまともな操作ができないし。昨年末の new-module-proposal のやりとりで既に「こなれた機能」 (Nautilus-CD-Burner) なのにリプレイスが必要なのかの疑問には同意できる (N-C-B にも不満な点があるらしいが)。ここまで主張されるのは Ubuntu でこのアプリが採用されたからだろうとは思うが。
で、G26 になって CD/DVD 作成機能が GObject を使って他の言語やアプリ向けにエキスポートされるようになった (libbrasero-media ライブラリ)。このライブラリを使っているアプリの1つに Sound-Juicer があるんだけど、この G26 版が起動しない。バージョンアップしても起動しない:
$ sound-juicer (sound-juicer:19434): GLib-GObject-CRITICAL **: g_param_spec_internal: assertion `(name[0] >= 'A' && name[0] <= 'Z') || (name[0] >= 'a' && name[0] <= 'z')' failed $
gdb で backtracing してみると、この libbrasero-media ライブラリに問題があったが、これまた情けない実装だった:
--- brasero-2.26.0/libbrasero-media/brasero-drive-selection.c.org 2009-04-11 08:47:01.000000000 +0900 +++ brasero-2.26.0/libbrasero-media/brasero-drive-selection.c 2009-04-11 08:47:52.000000000 +0900 @@ -623,7 +623,7 @@ combo_class->changed = brasero_drive_selection_changed; g_object_class_install_property (object_class, PROP_DRIVE, - g_param_spec_object (_("Drive"), + g_param_spec_object ("Drive", "Selected drive", "The currently selected drive", BRASERO_TYPE_DRIVE, G_PARAM_READWRITE));
ここで登録しているプロパティの名前 (Drive)が、なんと実行時に日本語になってしまい、妥当なプロパティ名かチェックするアサーションにひっかかるという具合 。英語版では発生しない問題なので、あとで GIT リポジトリを確認して、未だ修正されていなければ、このパッチと共に
報告しておく予定報告しておいた。