最近のlinuxのアプリは言語に依存する部分を別ファイル形式にして、それを差し替えていろんな言語に対応できるようになっています。
この言語ファイルが拡張子poの付いたテキストファイルで、これを変換してバイナリ形式のmoファイルにし、/usr/share/locale-langpack/ja/LC_MESSAGES/あたりに放り込むことで簡単に日本語化することが出来るのです。そこで早速poファイルを編集するための環境作りを。いそいそ。
Emacsにpo-modeを
とりあえずEmacsでpoファイルを編集するためのpo-modeが入っていなかったので、
sudo apt-get install gettext-elしてpo-modeをインストール。とくに~/.emacsに設定することもなく。さっそく、Darのソースを落としてきて展開し、中のpo/ディレクトリに移動し、
cp dar-pot ja.poとしてdarの言語テンプレートから日本語のja.poファイルを作り、emacsで開いてみました。
操作方法
u | 次の未翻訳項目に移動 |
C-j | 元の言語をコピペする |
RET | 項目の翻訳状態に入る |
C-c C-c | その項目の翻訳を終了する。 |
C-c C-k | 今いる項目の翻訳状態から抜ける。 |
V | poファイルに異常が無いか確認してからタイムスタンプを修正し、上書き保存する。 |
s | 該当個所のソースコードを開く。 |
E | po-modeを抜ける。 |
ネット接続で英文を翻訳
emacsでpo-modeで翻訳できる環境にはなったけど、これだけだとつらいので、Emacs でテキスト翻訳をする Emacs Lisp パッケージ text-translator をさくっと導入します。リンク先からダウンロードしてきて ~/.lisp に放り込み、~/.emacs に以下を追記します。(require 'text-translator)適当にC-xtにキーを設定し、おもむろに英文を範囲選択してからキーを押すと、見事に和訳された文章が表示されました。いろんな翻訳サイトに対応していて、ほかにもルー語変換も出来るそうです^^;
;;翻訳キー設定
(global-set-key "\C-xt" 'text-translator)
(global-set-key "\C-x\M-T" 'text-translator-translate-last-string)
ん〜シームレスにemacs内で完結するというのは気持ちがいいですね。普通だったら、翻訳したい文章をコピーして、Webブラウザで翻訳サイトを開き、テキスト入力部分にコピペし、翻訳ボタンをクリック。
英和辞書なら、和英辞書ソフトをを立ち上げて、同じくコピペするという・・・これだけの作業をマウスを使ってあっちのソフトからこっちのソフトへ行ったり来たりは、何回もやっているとむきゃーとなりますね^^;
emacsから英辞郎を利用する
上のだけではアレなんで英和辞書もemacsから使えるようにします。英辞郎の辞書データは別途用意してください。
手順としては、英辞郎のテキストファイルを sdic-eijiro パッケージに含まれているスクリプトでsdic形式に変換し、sdic.elを導入する、です。
インストール
sudo apt-get install sdic-eijiro sdic
- 辞書の変換 以下手順メモ
mkdir ~/sdic~/.emacsに、
cd ~/sdic
nkf -S -e EIJIRO98.TXT | perl /usr/share/sdic/eijiro.pl > eijiro.sdic
nkf -S -e WAEIJIRO98.TXT | perl /usr/share/sdic/eijiro.pl --waei > waeijiro.sdic
sudo ln -s ~/sdic/eijiro.sdic /usr/share/dict/eijiro.sdic
sudo ln -s ~/sdic/waeijiro.sdic /usr/share/dict/waeijiro.sdic
(global-set-key "\C-cw" 'sdic-describe-word) ;;英辞郎で翻訳する。
を追記して、キーバインドをC-cw に設定。試しに英単語上でC-cwしてみると見事に訳が。
ただ検索速度が遅すぎたので、sufary を導入してみました。
sudo apt-get install sufaryをした後に、再度
sudo apt-get install --reinstall sdic-eijiroしてみたところ、自動的にeijiro.sdic.arryが作成されました。結構時間がかかります。
その後特に何も設定せずともsufaryが効いているみたいで、検索速度が飛躍的に早まり、快適に使えるようになりました♪
これでemacsで快適な翻訳作業が構築完了。試しに
msgfmt -v ja.po -o ja.moしてみて無事darの日本語化が成功。
sudo cp ja.mo /usr/share/locale-langpack/ja/LC_MESSAGES/dar.mo
- 英文章を翻訳したい時は、
翻訳したい箇所を範囲選択し、おもむろにC-xt - 英単語を翻訳したい時は、
翻訳したい単語の上にカーソルを持っていき、おもむろにC-cw
オマケの翻訳中のdar画面
●20070902追記:
apt-cache search sdic してみると、
sdic - Emacs-Lisp program to view dictionaries
sdic-edict - EDICT dictionaries for sdic (installer)
sdic-eijiro - Installer for EIJIRO dictionaries for sdic
sdic-gene95 - Installer for GENE95 dictionaries for sdic
と出てきます。ubuntuの日本語版に標準で入っているGjiten日本語辞典が使用している英和辞書の形式がEDICTなので、sdic-edictパッケージを導入すればemacsから辞書の再利用ができるかもしれません。わざわざ英辞郎を用意するなんて・・・という人にはお薦めかもしれません。
2 件のコメント:
本文の内容とはあまり関係ないのですが、スクリーンショットのフォントがアンチエイリアスされていてきれいですね。
OSは過去の記事を読んだところubuntuだと思われますが、emacsはxftが有効になっているバージョン23でしょうか。それとも21系でしょうか。
フォントの設定などエントリーで紹介していただけるとありがたいです。
emacs23を利用しています。
あとでemacs23の記事書いておきますね><b
コメントを投稿