いんとろ
邪悪なM$帝国の劣悪な美的感覚を継承したこんな感じの見た目が
清涼で美麗なるMac OSの世界によく適合したこんな感じになります。
方針
GIMPみたいにgettextを使ってローカライズしているソフトの場合、ローカライズの源になるのは/usr/share/locale/ja/LC_MESSAGES/
の中にあるhogehoge.mo
ファイル。
( GIMPの場合は正確にはGIMP.app/Contents/Resources/share/…
で、MacPorts経由でインストールした場合は実体は/opt/local/share/…
にある)。
なので、これを適切に弄ってやれば改善するんだけど、これはhogehoge.po
ファイルをコンパイルして生成されているので、元のhogehoge.po
を入手してきてそれに手を加えて、またhogehoge.mo
にコンパイルして差し替えることになる。
hogehoge.po
の中で、今回問題の(F)みたいな奴は、(_F)
みたいな感じで記述されているから、これを正規表現的に $_ ~= s/\(_.\)//g;
で葬ってやればよい。
手順
本来、hogehoge.po
はhogehoge.mo
から逆コンパイルもできるはずなんだけど、なんかうまくいったりいかなかったりするから、素直にhogehoge.po
を調達してきた方がいいんじゃないかなと思う。
まず、GIMPのhogehoge.po
ファイルを調達するために、GIMPのソースを適当にダウンロードしてgimp-2.8.X.tgz
を適当に展開する。
ちなみにMacPortsで導入した場合は、インストール時にDLしたファイルが/opt/local/var/macports/distfiles/gimp2
に保存されているから、これをおもむろにダブルクリックすると手っ取り早い。
そしてこの中にあるローカライズ用のhogehoge.po
を書き換えることになる。書き換えた後make
とかmake install
とかすると手順はシンプルなんだけど、たかだかロケールファイルの差し替えのためにビルドするのも手間なので、丹精込めて手作業する。
GIMPの場合、/po*/ja.po
が該当するファイルなので、適当に作業ディレクトリに持って行く。
$ mkdir ~/gimp_locale/ $ mkdir ~/gimp_locale/new_files/ $ cd ~/Desktop/gimp-2.8.X/ $ cp po/ja.po ~/gimp_locale/gimp20.po $ cp po-libgimp/ja.po ~/gimp_locale/gimp20-libgimp.po $ cp po-plug-ins/ja.po ~/gimp_locale/gimp20-std-plug-ins.po $ cp po-python/ja.po ~/gimp_locale/gimp20-python.po $ cp po-script-fu/ja.po ~/gimp_locale/gimp20-script-fu.po $ cp po-tips/ja.po ~/gimp_locale/gimp20-tips.po
ファイル名はゴールになる/opt/local/share/locale/ja/LC_MESSAGES/
にあるファイルとにらめっこして決める。手作業。
んで、それぞれのファイル毎に処理を行う。1行目のperl
で(_.)
を消して、2行目のmsgfmt
でhogehoge.mo
に変換して、3行目でファイルを導入する。
$ perl -pale '$_ =~ s/\(_.\)//g; ' < ~/gimp_locale/gimp20.po > ~/gimp_locale/new_files/gimp20.po $ msgfmt -o ~/gimp_locale/new_files/gimp20.mo ~/gimp_locale/new_files/gimp20.po $ sudo cp ~/gimp_locale/new_files/gimp20.mo /opt/local/share/locale/ja/LC_MESSAGES/
めでたい。
備考
今回はperlのワンライナーで無慈悲に(_.)
を殲滅したけど、昔wxMaximaで同じ事をした時はローカライズの定義側にも(_.)
が含まれていておかしなことになってしまったことがあった。
なので、正規表現検索/置換のできるエディタで軽く確認しながら置換した方がよさげな気もする。