オープンソース

GObject Ref. translation is completed.

いろいろあって:X作業が停滞しずいぶん前に取りかかった翻訳もなんとか完了した =)。原文が意外とよくメンテナンスされていたので、単なるコピペと校正だけではすまなかったという点も遅れの原因だけども。一大ブームを引き起こした Vala コンパイラなんかもさりげなく紹介されていたりして。
まぁ、とにかく一段落してほっとした感じ。
See Also GObject リファレンスマニュアル: v2.18.4 版の API リファレンス
See Also SVN リポジトリ: 翻訳作業の SVN リポジトリ
See Also GObject Reference Manual: オリジナルのドキュメント
See Also バグ報告と追跡: 翻訳バグなどの報告はこちらへどうぞ
See Also 前バージョンのドキュメント: その他関連するドキュメント一覧
ということで、次は GIO Reference Manual の翻訳に取りかかる予定:

gvfs-overview.png

こちらは量もさることながら完全に新規翻訳なので時間かかりそうだ :|
あと仕事の関係で調査していた D-Bus 関連の翻訳ドキュメントも近いうちに公開する予定。

Liferea new stable will be soon out as very likely.

Liferea の次の安定版がそろそろ出てきそうなので、liferea-1_6 版をビルドして ja.po更新しておいた (commit も完了したようだ)。
安定版として正式リリースされればアナウンスがあると思うけど:

  • バックエンドは WebKit (>= 1.1.7) のみ
  • GLib/GTK+ (>= 2.16)、libsoup (>= 2.26)
  • 前バージョンpolish up
  • UI の見直し

といったところ。個人的には、結構な数の配信元をストックしているものの前バージョンよりも起動が気持ち速くなったという感じ :)。操作や表示は特に問題ない。

liferea16rc5-2009062101.png
liferea16rc5-2009062102.png

My Favorite Productivity Applications.

最近、仕事でもお世話になっている GNOME-Office類するアプリケーションがリリースされたので、ビルドしてメッセージの更新などしてみた。
Planner (バージョン 0.14.4)
プロジェクト管理アプリ。

planner-20090426-01.png

このバージョンでは、印刷機能が最新の GTK+ に合わせて書き直されたり、Windows 向けのインストーラの更新などあまり大きな変更はないのだけれど、実際に使ってみて気づいたところなどを反映するために日本語のメッセージは全体的に見直してみた。例えば “Predecessor” という用語を「前の作業」に変更した。今までは、作業者の引き継ぎなんかをイメージして、そのまま「前任」としていたんだけど、どうやらこれは誤訳。そんな感じで、あまり馴染みがなく、実際に使ってみないとイメージがつかめない専門用語が結構多い。この変更に合わせて、前作業の種類 (FS とか SS とか略語) も冗長かとは思ったけど日本語にしておいた (以前は英語のまま):

planner-20090426-02.png

印刷プレビューも横向きになれば良いんだけど、用紙を横向きにしても、プレビューが横向きにならないので今ひとつ:

planner-20090426-03.png

ちなみに、このアプリは GObject ベースな実装になっており、オブジェクト指向的な設計やクラスとインタフェースの実装もかなりよくできている (と思う) し、コードの量や読みやすさも良なので、もし GObject を使ったアプリを作ってみようと考えているならば、このアプリを参考に作るとよいと思います ;)。関数や変数の名前の付け方なんかも参考になります。
Dia (バージョン 0.97-pre3)
ダイアグラム・エディタ。

dia-20090426-01.png

今まではエディタとパレット (図形や描画メニュー) がこんな感じで分離していたけれど、このバージョンから –integrated というオプションを指定して起動すると、上のような1個だけのメイン・ウィンドウに各部が統合されて表示されるようになった。最近のPCの環境は大画面が当たり前になったので、これはこれで便利。提供されている図形 (シェイプ) はいろいろあるけど、仕事柄、主に基本図形でフローチャートを書いたり、UML でプロジェクトの設計なんかしている。UML なんかはオブジェクトとして管理できるし、Python なんかで機能を拡張できるようだけど、今のところ Dia の XML ファイルからプログラムのコードを出力してくれる機能はない。そういう意味でまだまだ Productivity があるとは言えないのだけれど、ダイアグラム・エディタとしてはそれなりに良。操作性もなかなか。このバージョンからレイヤも管理できるようになったし。
アンチエイリアス効果を有効にすると、Cairo を使って描画しているようで、新しくアウトラインなんて描画もできるようになった:

dia-20090426-02.png

こちらの方も日本語のメッセージを更新しておいた。

Git migration is now underway.

かねてから予定されていた GNOME.orgGit 移行は順調に進行中のようだ。この1両日中には主要なシステムが Ready To Use になる予定 (というか、今は併用で運用している段階か) ;)
GNOME.org プロジェクトの「バージョン管理」として CVS から Subversion に移行したのが 2007年の元旦だったから、2年ほどで新しいシステムに移行になるわけだけど、まぁ個人的には「やっと落ち着いた」という感じがする。この Opensource なプロジェクトの de-facto が Git になった頃から、GNOME.org のいくつかのモジュール (プロジェクト) も Private で移行していたし。そういう意味で、GNOME.org も内外から Git や他の管理ツール (DVCS: Distributed Version Control System) の移行をせかされたり議論したりしていたのは、ある意味良い経験だったような気がする。Subversion への移行の時はあまり議論せず移行だけを急ぎ過ぎた感じがする。そういうこともあって、DVCS 選びは翻訳者を含むプロジェクト貢献者に対するアンケートなんかも実施され、その結果から使うツールを選択したりして。自分の場合は Scratchbox をメンテする際に使用していた darcs と Git で迷ったけど、情報の豊富さやポピュラーな理由から後者にしたわけだけど。
ということで、うちのサイトのヘッダcgit のインタフェースへのリンクに張り替えおいた。
See Also GitMigration: GNOME.org の Git 移行プロジェクトページ
See Also How to use Git for GNOME translators: GNOME.org 翻訳者向けの Git の使い方とルール
See Also Gitを使いこなすための20のコマンド:
See Also (Mikeforce::Wiki) Git コマンドのページ: いろいろ覚え書きなど書き込んでいく予定

Brasero crashes S-J.

今回 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)が、なんと実行時に日本語になってしまい、妥当なプロパティ名かチェックするアサーションにひっかかるという具合 :o。英語版では発生しない問題なので、あとで GIT リポジトリを確認して、未だ修正されていなければ、このパッチと共に報告しておく予定報告しておいた