LOCALE::PO4A::VIMHELP.3PM(1)

名前
Locale::Po4a::VimHelp - VimのヘルプファイルとPOファイルの相互変換。

説明
po4a (PO for anything) プロジェクトは、gettext ツールが想定していないドキュメントのような領域で翻訳をしやすくすること (またより興味深いのは、翻訳文の保守がしやすくなること) を目標にしています。

"Locale::Po4a::VimHelp" はVimのヘルプファイルの翻訳を補助するモジュールです。構文については ヘルプファイルの書き方 <https://vimhelp.org/helphelp.txt.html#help-writing> （ 日本語訳 <https://vim-jp.org/vimdoc-ja/helphelp.html#help-writing> ）もご参照ください。"Locale::Po4a::VimHelp" はVimのヘルプファイルの翻訳を補助するモジュールです。構文については ヘルプファイルの書き方 <https://vimhelp.org/helphelp.txt.html#help-writing> （ 日本語訳 <https://vim-jp.org/vimdoc-ja/helphelp.html#help-writing> ）もご参照ください。

このモジュールの状態
このモジュールは開発が始まったばかりです。 "helphelp.txt" のような単純なファイルで試すとうまくいっています。しかし、まだヘルプファイル全体で試せてはおらず、修正や改善のため、解析方法が変更されることがあります。特に段落の折り返し周りです。

開発
po4aでVimヘルプを構文解析することは困難です。以下はこのモジュールを開発するときに支障となる点です。もっといい考えがあったら、ぜひパッチ（と追加のテストケース）をご提案ください。

"1. ナントカ" は順序付きリストっぽいけど
    そうとも限りません。以下の段落について考えてみましょう。

     There are 2 wandering tanukis, not
     1. He's using his cloning technique.

    同じ理由から、見出しのように見えるもの（例えば "1.1 カントカ" ）や順序なしリスト（例えば "o トカトカ" ）は検知できません。

右揃えのタグは、翻訳される対象から除いたほうがよさそう
    これも難しい話です。というのも、現地化における言語の違いが関係してくるからです。

    以下の例を考えてみましょう。

     この言語では一般なので短く済む概念 *タグ*

    これが以下に翻訳されるかもしれません。

     こちらの言語では馴染みがなく、一致するものがないため、 *タグ*
     表現するにはより長い文が必要な概念

    こうしたことが起きると、タグをどの地点に うまく 追加するか決めなければなりません。これは簡単なことではないでしょう。Vimのヘルプファイルは強制的に折り返される形式であり、コードブロックでない部分さえそうなのです。

    同じことが "|参照|" のようなタグ参照にも言えます。

"--wrapcol" を活用してテキストの幅を監視したい
    "--wrapcol" オプションを使い、テキストの幅が指定された上限を越えたときに警告が出るのは、理に適っているように思われます。公式のVimヘルプファイルにはモードラインがあり、 "vim:tw=78:ts=8:noet:ft=help:norl:" といった感じになっています。 "runtime/doc/if_perl.txt" <https://github.com/vim/vim/blob/04cc8975930b7b2c5d6753d3eddf57dab2816518/runtime/doc/if_perl.txt#L307> で見られます。しかし、課題はあって、以下を検討しなければなりません。

    ファイル解析の動作
        このオプションが実装されると、まずファイル全体を読み、モードラインが存在するか検出するのが理想的です。そして、どの節が影響を受けるのか決定するのです。残念ながらこの場合、逐次的な構文解析の仕組みは活かせません。

    既定値と独自の値
        一般的な "--wrapcol" の既定値は76です。一方でVimヘルプファイルはよく78が使われます。ほとんどの場合、このモジュールに渡されるオプションの値は76ですが、それではこの値が明示的に設定されたものなのか、暗に適用されたものなのかがはっきりしません。

関連項目
Locale::Po4a::TransTractor(3pm), po4a(7)

著者
 gemmaro <gemmaro.dev@gmail.com>

訳者
 倉澤 望 <nabetaro@debian.or.jp>
 Debian JP Documentation ML <debian-doc@debian.or.jp>

著作権とライセンス
 Copyright © 2024, 2025 gemmaro.

本プログラムは自由ソフトウェアです。GPL v2.0以降の条項に基づき再頒布と変更を行えます（COPYING ファイルを参照）。