gettext の .po 翻訳ファイルを編集するには、Emacs の po-mode が非常に便利です。お馴染みの font-lock による強調表示で読みやすいですし、最初に簡単ないくつかのキーバインドさえ覚えてしまえば編集も効率的です。
例えばポイントの下の「fuzzy なエントリを unfuzzy する」なら、M-x po-unfuzzy、もしくはこのコマンドの既定のキーバインド <TAB> で済んでしまいます。つまりタブを一回タイプするだけでいいのです。
さらに、大きな .po ファイルを編集する際に「多くのエントリを一度に unfuzzy する」という操作をしたくなります。指定方法としては、リージョンで囲んでそこに含まれるエントリを削除する、というのが良さそうです。そのための関数 po-unfuzzy-region を作成しました:
(require 'po-mode)
(defun po-unfuzzy-region (beg end)
"Remove the fuzzy attribute for entries in region."
(interactive "r")
(save-excursion
(goto-char beg)
(let ((here beg))
(while (and (< 0 po-fuzzy-counter)
(< here end))
(po-unfuzzy)
(goto-char here)
(cond ((re-search-forward po-fuzzy-regexp end t)
(setq here (match-end 0))
(goto-char (match-beginning 0)))
(t
(setq here end)))
))))
これをそのまま M-x po-unfuzzy-region と呼ぶか、あるいはさらに
(defadvice po-unfuzzy (around po-unfuzzy-with-or-without-region activate)
(if (and (interactive-p)
mark-active)
(po-unfuzzy-region (region-beginning) (region-end))
ad-do-it))
を追加して <TAB> に引っ掛けておくのもオススメです。いずれにしても関数 po-undo は期待通り動作します。
Fedora 8 が2007/11/08にリリースされました。今回から日本語のリリースノートが用意されており便利です。
2007/06/01に記しているように、手元のSony VAIO PCG-883 には Fedora 7 がインストールされていました。早速そのアップグレードを試み、以下の手順で作業を行いました:
$ sudo yum update
$ sudo yum upgrade
$ sudo rpm -Uvh fedora-release-8-3.noarch.rpm fedora-release-notes-8.0.0-3.noarch.rpm
$ sudo yum clean all
$ su -
# exec init 1
# service network start
# yum -y upgrade
なお
参考