[JM:02465] Re: [POST:DP] GNU which which.1

Back to archive index
Akihiro Motoki amoto****@gmail*****
2021年 6月 1日 (火) 20:41:26 JST


元木です。

On Thu, May 27, 2021 at 10:42 PM Akihiro Motoki <amoto****@gmail*****> wrote:
>
> On Thu, May 27, 2021 at 10:20 PM matsuand <michio_matsu****@yahoo*****> wrote:
> >
> > matsuand です。
> >
> >
> > > 本文も見ようと思いましたが、読点の位置が違和感あるのがけっこうあって、
> > > 他のも含めてコメントを書いていましたが、日本語を書いているうちに
> > > 私の HP が尽きて man ページの時間は終了してゲームの時間になりました。
> > > 直接 diff をつけるならすぐコメントできますが。
> > > とりあえず今週は断念。
> >
> > diff でも構わないですが、そのかわり校正者の意図が不明になると思いますので、
> > 単純な誤字脱字程度は見てわかるでしょうが、それ以外は校正の意味をなさない
> > ことになりそうな気がします。
>
> このメールを書いているうちに思いましたが、
> which.1 など通常のユーティリティー系ツールは時間かかるかもしれませんが
> 見ようと思うので、これらはきちんとしたコメントをお送りしますね。

which.1 の翻訳に対するフィードバックです。
取捨選択は翻訳者が絶対的な権限を持っていると思っているので、
主観的な部分は適当にしてください。
いくつかそういうものが混じっていますので。

今回は PO ファイルを引用の形にしてそこにコメントを書く形にしました。
コメントを付けるのに、原文をいちいち探して、それをコピペして、というのは
レビューする側で面倒な部分の(それなりに大きな)1つなので、ご容赦を。
po4a ベースの翻訳の場合にいつも付きまとう問題ですが、もっと楽な方法があれば
教えてください。

以下、コメントの本体です。

---

> #. type: SH
> #: original/man1/which.1:24
> #, no-wrap
> msgid "NAME"
> msgstr "名前"
>
> #. type: Plain text
> #: original/man1/which.1:26
> msgid "which - shows the full path of (shell) commands."
> msgstr "which - (シェル)コマンドのフルパスを表示します"

閉じ括弧の後ろにスペースがありません。
他の箇所では括弧の前後にスペースがあるので、
一貫性の観点からはあった方がよいのではないでしょうか。

>
> #. type: SH
> #: original/man1/which.1:26
> #, no-wrap
> msgid "SYNOPSIS"
> msgstr "書式"
>
> #. type: Plain text
> #: original/man1/which.1:29
> msgid "B<which> [options] [--] programname [...]"
> msgstr "B<which> [options] [--] programname [...]"
>
> #. type: SH
> #: original/man1/which.1:29
> #, no-wrap
> msgid "DESCRIPTION"
> msgstr "説明"
>
> #. type: Plain text
> #: original/man1/which.1:36
> msgid ""
> "B<Which> takes one or more arguments. For each of its arguments it prints to "
> "stdout the full path of the executables that would have been executed when "
> "this argument had been entered at the shell prompt. It does this by "
> "searching for an executable or script in the directories listed in the "
> "environment variable B<PATH> using the same algorithm as B<bash(1)>."
> msgstr ""
> "B<which> は 1 つまたは複数の引数を取ります。その引数それぞれに対して、その引"
> "数がシェルプロンプトから入力された際の、実行されることになる実行モジュールの"
> "フルパスを stdout に出力します。実行モジュールやスクリプトが検索される場所"
> "は、環境変数 B<PATH> に列記されたパスです。これは B<bash(1)> と同じアルゴリズ"
> "ムを用いています。"

「際の」よりも「際に」の方が自然だと思いました。
「・・・された際に実行されることになる・・・・」

excutable は「実行モジュール」よりも「実行ファイル」と呼ぶことが多くない
でしょうか? モジュールというと、通常は何かとリンクされるものを連想します。

It does this by .... は、どうやって実行ファイルのフルパスを探すかを
説明していますが、翻訳は検索対象の説明だけになっています。
PATH で指定された場所を検索することを訳にも入れた方がよいと思います。

また、directories は「場所」ではなく「ディレクトリ」ときちんと書いた方が
よいと思います。

>
> #. type: Plain text
> #: original/man1/which.1:38
> msgid "This man page is generated from the file I<which.texinfo>."
> msgstr "この man ページは I<which.texinfo> ファイルから生成されています。"
>
> #. type: SH
> #: original/man1/which.1:38
> #, no-wrap
> msgid "OPTIONS"
> msgstr "オプション"
>
> #. type: TP
> #: original/man1/which.1:40
> #, no-wrap
> msgid "B<--all>, B<-a>"
> msgstr "B<--all>, B<-a>"
>
> #. type: Plain text
> #: original/man1/which.1:43
> msgid "Print all matching executables in B<PATH>, not just the first."
> msgstr ""
> "B<PATH> 内に見つかった実行モジュールすべてを表示します。最初に見つかったもの"
> "だけではありません。"

後半に少し不自然さを感じました。
「最初に見つかったもの以外も表示します」くらいでしょうか。

>
> #. type: TP
> #: original/man1/which.1:43
> #, no-wrap
> msgid "B<--read-alias>, B<-i>"
> msgstr "B<--read-alias>, B<-i>"
>
> #. type: Plain text
> #: original/man1/which.1:48
> msgid ""
> "Read aliases from stdin, reporting matching ones on stdout. This is useful "
> "in combination with using an alias for which itself. For example"
> msgstr ""
> "標準入力からエイリアスを読み込んで、合致したものを標準出力します。これは "
> "alias と which そのものを組み合わせて用いると便利です。たとえば以下です。"

alias と which そのものを組み合わせるのではなく、
"an alias for which itself" なので、
which を含んだ which という名前の alias を作る場合の話になります。

なので、「which 自身に対してエイリアスを使用する場合に、
このオプションを一緒に使用すると便利である」ということだと思います。

>
> #. type: Plain text
> #: original/man1/which.1:51
> msgid "B<alias which=\\'alias | which -i\\'>."
> msgstr "B<alias which=\\'alias | which -i\\'>."
>
> #. type: TP
> #: original/man1/which.1:51
> #, no-wrap
> msgid "B<--skip-alias>"
> msgstr "B<--skip-alias>"
>
> #. type: Plain text
> #: original/man1/which.1:56
> msgid ""
> "Ignore option \\`--read-alias\\', if any. This is useful to explicity search "
> "for normal binaries, while using the \\`--read-alias\\' option in an alias "
> "or function for which."
> msgstr ""
> "\\`--read-alias\\' が指定されても無視します。which に対して \\`--read-alias"
> "\\' オプションによりエイリアスや関数を利用している場合であっても、明示的に通"
> "常の実行モジュールを検索する場合に利用できます。"

while using ... 以降ですが、訳文を読んだときにが意味が理解できませんでした。
「--read-alias オプションにより」というところが特によく分からなかったです。
--read-alias の例を元に考えると、訳としては「which に対するエイリアスや関数で
--raed-alias を使用している場合であっても」ということにならないでしょうか?

文の先頭の which の前にスペースがあった方がいいと思います。
日本語と英語の間にスペースを置くのであれば、ここも該当すると思います。

>
> #. type: TP
> #: original/man1/which.1:56
> #, no-wrap
> msgid "B<--read-functions>"
> msgstr "B<--read-functions>"
>
> #. type: Plain text
> #: original/man1/which.1:61
> msgid ""
> "Read shell function definitions from stdin, reporting matching ones on "
> "stdout. This is useful in combination with using a shell function for which "
> "itself.  For example:"
> msgstr ""
> "標準入力からシェル関数定義を読み込んで、合致したものを標準出力します。これは"
> "シェル関数と which そのものを組み合わせて用いると便利です。たとえば以下です。"

--read-alias と同じコメント。

>
> #. type: Plain text
> #: original/man1/which.1:64
> msgid "B<which() { declare -f | which --read-functions $@ }>"
> msgstr "B<which() { declare -f | which --read-functions $@ }>"
>
> #. type: Plain text
> #: original/man1/which.1:66
> msgid "export -f which"
> msgstr "export -f which"
>
> #. type: TP
> #: original/man1/which.1:66
> #, no-wrap
> msgid "B<--skip-functions>"
> msgstr "B<--skip-functions>"
>
> #. type: Plain text
> #: original/man1/which.1:71
> msgid ""
> "Ignore option \\`--read-functions\\', if any. This is useful to explicity "
> "search for normal binaries, while using the \\`--read-functions\\' option in "
> "an alias or function for which."
> msgstr ""
> "\\`--read-functions\\' が指定されても無視します。which に対して \\`--read-"
> "functions\\' オプションによりエイリアスや関数を利用している場合であっても、明"
> "示的に通常の実行モジュールを検索する場合に利用できます。"

--skip-alias と同じコメント。

>
> #. type: TP
> #: original/man1/which.1:71
> #, no-wrap
> msgid "B<--skip-dot>"
> msgstr "B<--skip-dot>"
>
> #. type: Plain text
> #: original/man1/which.1:74
> msgid "Skip directories in B<PATH> that start with a dot."
> msgstr ""
> "B<PATH> 内のディレクトリにおいて、ドットで始まるディレクトリは除外します。"

「において」→「のうち」の方がわかりやすくないでしょうか?

>
> #. type: TP
> #: original/man1/which.1:74
> #, no-wrap
> msgid "B<--skip-tilde>"
> msgstr "B<--skip-tilde>"
>
> #. type: Plain text
> #: original/man1/which.1:78
> msgid ""
> "Skip directories in B<PATH> that start with a tilde and executables which "
> "reside in the B<HOME> directory."
> msgstr ""
> "チルダで始まる B<PATH> 内のディレクトリ、および B<HOME> ディレクトリ内に存在"
> "する実行モジュールは除外します。"
>
> #. type: TP
> #: original/man1/which.1:78
> #, no-wrap
> msgid "B<--show-dot>"
> msgstr "B<--show-dot>"
>
> #. type: Plain text
> #: original/man1/which.1:83
> msgid ""
> "If a directory in B<PATH> starts with a dot and a matching executable was "
> "found for that path, then print \"./programname\" rather than the full path."
> msgstr ""
> "B<PATH> 内にドットで始まるディレクトリがあって、合致した実行モジュールがその"
> "中に見つかった場合には、フルパスでなく \"./programname\" と表示します。"

原文が曖昧ですが、これは "." のときだけの話か、 ".xxx" のようなディレクトリでも
適用されるのか、よく分かりませんでした。例が悪いだけでしょうか?

>
> #. type: TP
> #: original/man1/which.1:83
> #, no-wrap
> msgid "B<--show-tilde>"
> msgstr "B<--show-tilde>"
>
> #. type: Plain text
> #: original/man1/which.1:88
> msgid ""
> "Output a tilde when a directory matches the B<HOME> directory. This option "
> "is ignored when which is invoked as root."
> msgstr ""
> "ディレクトリが B<HOME> に合致した場合、チルドを表示します。このオプションは "
> "root から実行した際には無視されます。"

「チルダ」の間違い?

as root はルートユーザーのことでしょうか?
この理解が正しい場合、「root から」だと、
「〜な場所から実行した」のか、「ユーザーとして実行した」のかわかりにくいので、
ユーザーであることがわかりやすい表現だとうれしいです。

>
> #. type: TP
> #: original/man1/which.1:88
> #, no-wrap
> msgid "B<--tty-only>"
> msgstr "B<--tty-only>"
>
> #. type: Plain text
> #: original/man1/which.1:91
> msgid "Stop processing options on the right if not on tty."
> msgstr "tty 上でない場合、この右側に指定されたオプションの実行を停止します。"
>
> #. type: TP
> #: original/man1/which.1:91
> #, no-wrap
> msgid "B<--version,-v,-V>"
> msgstr "B<--version,-v,-V>"
>
> #. type: Plain text
> #: original/man1/which.1:95
> msgid "Print version information on standard output then exit successfully."
> msgstr "バージョン情報を標準出力して正常終了します。"
>
> #. type: TP
> #: original/man1/which.1:95
> #, no-wrap
> msgid "B<--help>"
> msgstr "B<--help>"
>
> #. type: Plain text
> #: original/man1/which.1:99
> msgid "Print usage information on standard output then exit successfully."
> msgstr "利用方法を標準出力して正常終了します。"
>
> #. type: SH
> #: original/man1/which.1:99
> #, no-wrap
> msgid "RETURN VALUE"
> msgstr "返り値"

単なる感想です。
コマンドなのに、「EXIT STATUS」ではなく「RETURN VALUE」というセクションが
あるのは珍しいですね。原文尊重だと思うので、そのままでいいです。

>
> #. type: Plain text
> #: original/man1/which.1:102
> msgid ""
> "B<Which> returns the number of failed arguments, or -1 when no \\`programname"
> "\\' was given."
> msgstr ""
> "B<Which> は検索に失敗した引数の数を返します。また \\`programname\\' が指定さ"
> "れなかった場合は -1 を返します。"

B<which> のように小文字にする方が自然なはずです。
日本語には、行頭を大文字にする習慣はないので。

>
> #. type: SH
> #: original/man1/which.1:102
> #, no-wrap
> msgid "EXAMPLE"
> msgstr "例"
>
> #. type: Plain text
> #: original/man1/which.1:105
> msgid ""
> "The recommended way to use this utility is by adding an alias (C shell)  or "
> "shell function (Bourne shell) for B<which> like the following:"
> msgstr ""
> "このユーティリティーを利用するにあたって推奨されるのは、B<which> に対するエイ"
> "リアス (C シェル) やシェル関数 (Bourne シェル) を追加して利用する方法です。た"
> "とえば以下です。"

「このユーティリティーのお薦めの使い方は〜」くらいでいかがでしょうか?
「利用するにあたって推奨されるのは」はちょっとまわりくどい印象でした。
最初、日本語だけを読んだときに、何度か読み直して理解できました。

>
> #. type: Plain text
> #: original/man1/which.1:107
> msgid "[ba]sh:"
> msgstr "[ba]sh の場合:"
>
> #. type: Plain text
> #: original/man1/which.1:116
> #, no-wrap
> msgid ""
> "which ()\n"
> "{\n"
> "  (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n"
> "}\n"
> "export -f which\n"
> msgstr ""
> "which ()\n"
> "{\n"
> "  (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n"
> "}\n"
> "export -f which\n"
>
> #. type: Plain text
> #: original/man1/which.1:121
> msgid "[t]csh:"
> msgstr "[t]csh の場合:"
>
> #. type: Plain text
> #: original/man1/which.1:126
> #, no-wrap
> msgid "alias which \\'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde\\'\n"
> msgstr "alias which \\'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde\\'\n"
>
> #. type: Plain text
> #: original/man1/which.1:133
> msgid ""
> "This will print the readable ~/ and ./ when starting which from your prompt, "
> "while still printing the full path when used from a script:"
> msgstr ""
> "こうすることでプロンプトから実行した場合には、見やすいように ~/ や ./ を出力"
> "します。一方スクリプトから利用した場合は、そのままフルパスで出力します。"

「こうすることで」と「一方」の後ろに「、」があった方がいいかなと思いました。
また、「こうすることで」は「こうすると」の方が文のつながりがいいかもしれません。

>
> #. type: Plain text
> #: original/man1/which.1:141
> #, no-wrap
> msgid ""
> "E<gt> which q2\n"
> "~/bin/q2\n"
> "E<gt> echo \\`which q2\\`\n"
> "/home/carlo/bin/q2\n"
> msgstr ""
> "E<gt> which q2\n"
> "~/bin/q2\n"
> "E<gt> echo \\`which q2\\`\n"
> "/home/carlo/bin/q2\n"
>
> #. type: SH
> #: original/man1/which.1:145
> #, no-wrap
> msgid "BUGS"
> msgstr "バグ"
>
> #. type: Plain text
> #: original/man1/which.1:151
> msgid ""
> "The B<HOME> directory is determined by looking for the B<HOME> environment "
> "variable, which aborts when this variable doesn\\'t exist.  B<Which> will "
> "consider two equivalent directories to be different when one of them "
> "contains a path with a symbolic link."
> msgstr ""
> "B<HOME> ディレクトリは環境変数 B<HOME> により決定されますが、この変数が存在し"
> "ない場合に処理がキャンセルされます。B<which> は 2 つの同等のディレクトリで"
> "あっても、その 1 つにシンボリックリンクを使ったパスが含まれている場合に、別の"
> "ディレクトリと取り扱ってしまいます。"

abort されるのは looking for ... です。
「処理がキャンセル」とありますが、もう少し具体的に訳したほうがよいと思います。
HOME ディレクトリを探す処理がキャンセルされるということだと思います。

ふたつの文の先頭の B<which> の前に空白が必要。

>
> #. type: SH
> #: original/man1/which.1:151
> #, no-wrap
> msgid "AUTHOR"
> msgstr "著者"

「著者」になっていますが、これはマニュアルの著者であっているでしょうか?
AUTHOR(S) で、マニュアルの著者を載せている場合と、ソフトウェアの開発者を
載せている場合があります。前者なら「著者」が自然で、後者なら「作者」などが
自然です。訳すときは可能な限り確認するようにしています。

>
> #. type: Plain text
> #: original/man1/which.1:154
> msgid "Carlo Wood E<lt>carlo****@gnu*****<gt>"
> msgstr "Carlo Wood E<lt>carlo****@gnu*****<gt>"


linuxjm-discuss メーリングリストの案内
Back to archive index