翻訳を更新してくださる方への連絡事項

○ which-ja.info というファイル名について

  info マニュアルは、/usr/share/info ディレクトリに入れるのが基本です
  (ファイルは gzip で圧縮してもよい)。そのため、英語版と翻訳のマニュアルが
  同じディレクトリに同居することになるので、英語版の which.info と区別
  するために、日本語版のファイル名を which-ja.info にしています。

  なお、これは翻訳者より、info マニュアルの利用者に対する注意書きですが、
  ついでに書いておきます。which-ja.info を info マニュアル群のトップ
  メニューに登録するには、/usr/share/info に移動し、root 権限で次の
  コマンドを実行します。ファイルを圧縮している場合でも、".gz" は付けても
  付けなくても構いません。二つ目の引数 dir は、/usr/share/info/dir という
  登録先のメニューファイルです。

    install-info which-ja.info dir

○ texinfo と po4a の問題点

  texinfo の、すなわち info プログラムの多国語対応は (我々にとっては、
  日本語対応ですが)、現時点では完全ではありません (texinfo-7.0)。
  一応、メニューやノード名に UTF-8 の文字を使うことはできます。つまり、
  メニュー名などをドイツ語、フランス語、中国語、日本語などにすることは
  でき、そうしたメニュー項目にカーソルを合わせて、リターンキーを押せば、
  その項目に飛ぶことができます。しかし、メニュー項目名やノード名が英語
  (つまり、ASCII  文字集合の文字) でないと、info マニュアルを info 
  プログラムで読んでいる場合に、m コマンド (メニュー選択) や g コマンド
  (指定したノードに移動) がうまく動かなくなります。m や g コマンドで
  入力文字の補完をしようと Tab キーを押しても、m や g に続く入力文字中に
  ASCII 以外の文字があると、文字列の補完に失敗してしまうのです。文字列の
  補完ができないと、info プログラムは、ほとんど使い物にならないほど、
  使いにくくなります (Emacs の info  リーダーなら、日本語や中国語でも
  問題なく入力文字の補完ができるようです)。私がメニュー名やノード名を
  英語のままにしているのは、それが理由です。

  そのことに関連しますが、texinfo と po4a の相性もあまりよくありません。
  po4a の作成する texi では、英語のままにしておきたいところが日本語に、
  日本語にしたいところが英語になってしまうことがあります。しかも、
  この修正は、po4a の addendum ではうまくできません。現在のところ、
  addendum は、テキストの追加はできても、変更や削除はできないからです。
  そんなわけで、po4a の作った texi ファイルの修正は、手作業でやるか、
  パッチを使うかということになります。

○ パッチについて

  which-ja.texi.patch は po ファイルから作った which-ja.texi に当てるものです。
  version.texi.patch の方は、original/version.texi に直接当てます。これは、
  "@set UPDATED 20 March 2015" を "@set UPDATED 2015-03-20" に書き換えて
  いるだけです。ですから、patch を使わずに、手で書き換えても構いません。

  po ファイル、texi ファイル、patch ファイル、info ファイルの関係の説明を単純化
  するため、仮に which.texi (原文), version.texi (原文), which-ja.po,
  version.texi.patch, which-ja.texi.patch が、同一ディレクトリにあるとします。
  その場合、たとえば、こんなふうに実行します。

  $ po4a-translate -f texinfo -m which.texi -p which-ja.po -l which-ja.texi -v
  $ patch -p0 <which-ja.texi.patch
  $ patch -p0 <version.texi.patch
  $ makeinfo which-ja.texi

  それから、作成した version.texi, which-ja.texi, which-ja.info を
  draft ディレクトリなり、release ディレクトリなりへ移動するわけです。

  なお、このパッチは、Version 2.21 の日本語 texi ファイルに対して
  作ったものですから、バージョンアップがあれば、当然ながら、新しい 
  which-ja.texi に当てても、失敗する箇所が出てくると思います。
  そのときは、reject ファイルを参考に  which-ja.texi を手作業で修正します。
  それから、パッチを当てる前の which-ja.texi (たとえば、which-ja.texi.temp 
  という名前で保存しておく) との間で "diff -u" をして、新しいパッチを作って
  ください。
 
○ pdf と html ファイル

  ついでに、texi ファイルを pdf や html に変換することについて
  注意点を書いておきます。

・ pdf ファイル

  texinfo が 6.3 以降なら、pdf ファイルを作って、印刷することが出来ます。
  ただしそれには、LuaTex 0.95 以降、または XeTeX 0.9998 以降 (後者の場合は、
  zhspacing も)、それに、texinfo-ja.tex ファイルが必要だそうです。

  LuaTex や XeTex は、たぶんお使いのディストリビューションにパッケージが
  存在するでしょう。zhspacing は、debian では texlive-lang-chinese
  パッケージに入っているようです。texinfo-ja.tex は、たぶん texinfo
  パッケージに入っています。

  texinfo 6.3 以降を使っている場合でも、texinfo-ja.tex が存在しない
  ことがあるかもしれません。その場合は、texinfo の開発元から
  (https://www.gnu.org/software/texinfo/) texinfo の新しいパッケージを
  もらって来て、texinfo-ja.tex を取り出し、which-ja.texi や version.texi 
  と同じディレクトリに入れてください。texinfo.tex と txi-ja.tex も、
  開発元のバージョンを同じディレクトリに入れておいた方が無難かもしれません。
  そうしたものはシステムにも存在するはずですが、バージョンの違いで処理が
  中断することがあるからです。

  ここでは、LuaTex を使う方法を書いておきます。

  which-ja.texi を少し変更します。まず、冒頭の行を

    \input texinfo

  から

    \input texinfo-ja 

  に書き換えます。それから、次の二行を  "@setfilename which-ja.info" の
  下あたりに追加します。

    @documentencoding UTF-8 (これは、たぶんすでに書いてあります)
    @documentlanguage ja

  そして、以下を実行します。

    $ PDFTEX=luatex texi2pdf which-ja.texi

  より詳しくは、texinfo-ja.tex の作者である細田さんのお書きになった記事を
  ご覧ください。

    http://www.trueroad.jp/2016/05/14-01.html
    http://www.trueroad.jp/2016/09/18-01.html

・ html ファイル

  これも version.text と which-ja.texi があれば、texi2html で簡単に
  作れます。ただし、texi ファイルに "@documentlanguage ja" の指定を
  してはいけません。これがあると、[Contents] とか "Jump to:" といった
  文字が化けます。

  html ファイルは、texi2html ではなく、"makeinfo --html --no-split" を
  使って作ることもできます。makeinfo を使う場合は、"@documentlanguage ja" 
  があっても、問題がないようです。

-- 
cyoichi (2023/03/03)

