Emacs公式マニュアルを日本語化する
Emacsのマニュアルとは
Emacsには標準でマニュアルが用意されている。このマニュアルには膨大な量のEmacsに関する情報が記載されている。
便利は便利なのだが、如何せん英語で記述されている。初心者にとってはLisp+英語で厳しい面がある。
この記事ではマニュアルの日本語化に挑戦してみる。ただし、ちょっと大変だからゆっくりやっていこう。
なお利用する環境は以下の通りである。
こちらの記事を参考にさせてもらいました。
http://emacs.rubikitch.com/emacs245-manual-ja/
必要なコマンドを揃える
日本語のマニュアルを利用するにあたりmakeinfoコマンドが必要になる。Macには標準でこのコマンドがあるが、バージョンが古く--document-language
オプションが無い事がある。筆者のコマンドにはなかった。
$ makeinfo --version makeinfo (GNU texinfo) 4.8 Copyright (C) 2004 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.
下のコマンドを実行し、「General options」に--document-language
があるか確認する。
makeinfo --help
あればそれを使う。なければbrewからインストールする。
makeinfoコマンドはtexinfo
コマンドに付随してるらしいのでtexinfoをインストールする。
こちらを参考にさせてもらいました。
brew install texinfo
インストールが終わったらシンボリックリンクをはる。これでシステムコマンドがbrewのコマンドになる。
brew ln texinfo --force
brew lnコマンドを実行すると以下のような情報が出ると思う。
Warning: Refusing to link macOS-provided software: texinfo If you need to have texinfo first in your PATH run: echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile
そしたら、そこに表示されているechoコマンドを実行する。
echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile
別のターミナルを起動して、makeinfoコマンドをリロードして、再度makeinfoコマンドを確認する。
$ makeinfo --version texi2any (GNU texinfo) 6.7 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
ヘルプを見ると、document-languageがあるはずだ。
makeinfo -help
日本語マニュアルをダウンロード
続いて日本語マニュアルを用意する。
ソースファイルはここに置かれている。
今回はVer26.3を利用する。ファイルはいくつかあるけど、Texinfo source
というのを利用する。
まず、~/emacs.d
に移動する。
cd ~/.emacs.d
wgetでダウンロード。
wget https://ayatakesi.github.io/emacs/26.3/emacs-ja.texis.tar.gz
解凍する。
tar xzvf emacs-ja.texis.tar.gz
不要な圧縮ファイルを削除する。
rm -y emacs-ja.texis.tar.gz
準備ができました。
Emacsマニュアルの展開
解凍したフォルダに移動する。
cd emacs-ja.texis
makeinfoコマンドで日本語のマニュアルを生成する。
makeinfo --document-language=ja --no-split -o emacs263-ja.info emacs-ja.texi
emacs263-ja.info
というファイルが作られている。
これをEmacsで読み込み、正しく日本語が表示されるか確認してみる。
emacsを起動して、このコマンドでファイルをロードする。
C-u M-x info ↩︎(リターン) ~/.emacs.d/emacs-ja.texis/emacs263-ja.info
と、この様にばっちし日本語になっているはずだ。
常に日本語をロード
上のコマンドでは用意した日本語のドキュメントを明示的に読み込んだ。一方で、普通にemacsのマニュアルを開くと英語版が読み込まれてしまう。そこで、~/.emacs.d/init.el
ファイルに日本語のリファレンスへのパスを通してあげて常に日本語が開くようにする。
(setq Info-default-directory-list (append Info-default-directory-list (list (expand-file-name "~/.emacs.d/emacs-ja.texis/")))) (defun Info-find-node--info-ja (orig-fn filename &rest args) (apply orig-fn (pcase filename ("emacs" "emacs263-ja") (t filename)) args)) (advice-add 'Info-find-node :around 'Info-find-node--info-ja)
ファイルを保存して再度Emacsを起動してC-h r
でマニュアルを開くと日本語になっている。
余談
余談だけど、これさえもEmacsのヘルプの一部分なんだよね。マニュアルを開いた状態でu
キーを押すと、1つ上の階層に行けるんだけど、そこに行くと他にも大量のドキュメントがあるのが分かるよね。
今、日本語化したのはこの中でも「Emacs」っていう項目のところだけ。