tcshに、ver6.07から日本語パッチが配布され始めました。 ということは、これを利用して自分の好きなように日本語カタログを編集出来てしまうと言うことです。 つまり、自分のお気に入りの○○○のセリフをシェルメッセージとして喋らせることが出来るというわけでして、つまり、つまり、、、。
と、壊れている場合じゃありません。 カタログを作ってから壊れることにしましょう。
但し、本ページに書いてあることを実行した結果起こったいかなる事態に対しても、当方では責任を負いかねますので予めご了承下さい (と、一応免責事項らしきものを書いておきます。 滅多なことでは事故なんて起こるとは思いませんが、、、)。
カタログを自作するにあたって、まずはオリジナルのカタログを入手しましょう。 tcshのオリジナルアーカイブは下記の場所にあります。 ご使用の環境に合わせてファイルをダウンロードして下さい。
そしてアーカイブファイルを適当な処に解凍します。 すると、解凍先のディレクトリの下にnls/ja/ があるはずです。ここには、メッセージセットがファイルset1,2,5,6,8,10,11,12,13,15,16,17,18,21,24,29,30に分けて置かれています。 これらを好きに書き換えちゃいます。 精一杯萌えましょう、壊れましょう。
また、当然ですが、複数ユーザーのいる環境でお試しになりたい方は、ユーザー全員の了承を得てから試すようにしましょう。
書き換え終わったら、「やったぁ、これで萌え萌えなtcshライフを送れるぞ!」ではなく、これらのファイルからカタログを編集する必要があるのです。 もう少しご辛抱。
まずは作成したメッセージファイル達を一つにまとめてテンポラリファイルにします。
% cat set[0-9] set[0-9][0-9] > tmpそしてgencatコマンドにてバイナリなカタログを作成します。
% gencat tcsh.ja.myself.cat tmp
~~~~~~~~~~~~~~~~~~
~~~部は、お好きな名前で結構ですが、tcsh.(ほにゃらら).catとしておくのが慣例のようです。
テンポラリファイルを消しておくことを忘れずに。
% rm tmp
で、作成したカタログを適切なディレクトリに置くわけですが、まずは今使っているカタログがどこにあるかを確認してみましょう。 これは、環境によって違うようです。 参考までに私の環境、Debian GNU/Linux 3.0(woody)では、
/usr/share/locale/ja/LC_MESSAGES/にあることになってます。 以下は、ここに置くことを前提として話を進めます。他にも
/usr/lib/locale/ /usr/local/share/locale/ /etc/locale/などが候補としてありそうです。 探してみましょう。
デフォルトなカタログの名前はその名も"tcsh"です。これは一応とっておきましょう。
% cd /usr/share/locale/ja/LC_MESSAGES/ % mv tcsh tcsh.org % cd -自作したカタログをここに置きます。
% mv tcsh.ja.myself.cat /usr/share/locale/ja/LC_MESSAGES/そしてシンボリックリンクを貼るわけです。
% cd - % ln -s ./tcsh.ja.myself.cat tcsh最後に.cshrc(または.tcshrc)をsource し直せば完了です。
% source ~/.cshrcでたらめな単語をコマンドプロンプトから打ち込み、エラーメッセージを表示させてみましょう。 うまくいきましたか?
「うまくいかねーぞ!!」なときは、、、
「俺はスーパーユーザになれねーんだ!!」「俺のシェルだけメッセージを換えることはできねーのか?」な方は、、、
実はローカルディレクトリにカタログを置く方法もあります。以下は、Linux(Debian, Vine)にて確認しました。
ホームディレクトリに tcsh なるディレクトリを作り、そこにカタログを移動したとします。こののち.cshrc の中に
setenv NLSPATH $HOME/tcsh/%Nの一行を加えます。 要はNLSのパスをローカルな場所に通すというだけです。 環境変数 NLSPATH は LANG よりも先に設定して下さい。 でないと先にデフォルトlocaleをディテクトされてしまいます。
更に
% cd ~/tcsh % ln -s tcsh.ja.myself.cat tcsh % source ~/.cshrcとすればOKです。
参考までに、私の作ったカタログを幾つか置いておきます。
あ、ついでに簡単なmakefileも入れておきました。詳しくは同梱のREADMEをお読み下さい。それから、末尾で失礼ながら、tcsh ver6.07まで日本語化パッチの作成に御尽力下さっていた榊原さんのサイトにリンクを張らせて頂きます。