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

Back to archive index
matsuand michio_matsu****@yahoo*****
2021年 6月 4日 (金) 18:06:32 JST


matsuand です。
校正ご指摘に対して返信します。


----- Original Message -----
> From: Akihiro Motoki <amoto****@gmail*****>
> To: matsuand <michio_matsu****@yahoo*****>; Linux JM discussion <linux****@lists*****>
> Cc: 
> Date: 2021/6/1, Tue 20:42
> Subject: [JM:02465] Re: [POST:DP] GNU which which.1
...

> > msgstr "which - (シェル)コマンドのフルパスを表示します"
> 
> 閉じ括弧の後ろにスペースがありません。

そのとおりです。修正します。


> > 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 は「場所」ではなく「ディレクトリ」ときちんと書いた方が
> よいと思います。

当翻訳の「..が検索される(場所は)」という動詞の中に It does this by のニュアンス
を含めたつもりでした。「場所」と「ディレクトリ」についてですが、そもそも
当翻訳において「列記されたパス」と訳してしまったことが誤りでした。
ここは「列記されたディレクトリ」と訳すべきであり、ここから逆算すると、
「検索される場所」の "場所" を「ディレクトリ」と訳すとすると、
「..ディレクトリは..ディレクトリです」と重複表現になってしまうため、
以下のようにしようと思います。

再翻訳 (It does this by から)
これを実現する際には、環境変数 B<PATH> に列記されたディレクトリ内から
実行ファイルやスクリプトを検索します。

> > msgid "Print all matching executables in B<PATH>, not just the first."
> > msgstr ""
> > "B<PATH> 内に見つかった実行モジュールすべてを表示します。最初に見つかったもの"
> > "だけではありません。"
> 
> 後半に少し不自然さを感じました。
> 「最初に見つかったもの以外も表示します」くらいでしょうか。

ご提案文を採用します。

> > 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 自身に対してエイリアスを使用する場合に、
> このオプションを一緒に使用すると便利である」ということだと思います。

ご指摘そのとおりです。

再翻訳
これは which そのものを含む alias において、本オプションを合わせて利用すると便利です。

> > 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 を使用している場合であっても」ということにならないでしょうか?

ご指摘そのとおりです。

再翻訳
"\\`--read-alias\\' が指定されても無視します。which に対するエイリアスや関数"
"の中で \\`--read-alias\\' オプションを利用している場合であっても、明示的に通"
"常の実行ファイルを検索する場合に利用できます。"

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

[JM:02476] で取り上げた件です。出力結果をよく見て判断します。

> > 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 と同じコメント。

ご指摘そのとおりです。

再翻訳
"標準入力からシェル関数定義を読み込んで、合致したものを標準出力します。これは"
"which そのものを含むシェル関数において、本オプションを合わせて利用すると便利です。"
"たとえば以下です。"

> > 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 と同じコメント。

ご指摘そのとおりです。

再翻訳
"\\`--read-functions\\' が指定されても無視します。which に対するエイリアスや関数"
"の中で \\`--read-functions\\' オプションを利用している場合であっても、明示的に"
"通常の実行ファイルを検索する場合に利用できます。"

> > msgid "Skip directories in B<PATH> that start with a dot."
> > msgstr ""
> > "B<PATH> 内のディレクトリにおいて、ドットで始まるディレクトリは除外します。"
> 
> 「において」→「のうち」の方がわかりやすくないでしょうか?

ご提案を採用します。

再翻訳
"B<PATH> 内のディレクトリにうち、ドットで始まるディレクトリは除外します。"

> > 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" のようなディレクトリでも
> 適用されるのか、よく分かりませんでした。例が悪いだけでしょうか?


> > 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 から」だと、
> 「〜な場所から実行した」のか、「ユーザーとして実行した」のかわかりにくいので、
> ユーザーであることがわかりやすい表現だとうれしいです。

"invoked as" ですから root ユーザーのことです。
個人的な翻訳経験からすると、「root ユーザー」と「ルートディレクトリ」のように
前者は英語表記を用いるべき呼称、後者は訳表記して構わない呼称と思っていました。
後者のことを「root ディレクトリ」とはあまり書かないと思っています。
ただ不明確さはご指摘のとおりです。直します。

再翻訳
"ディレクトリが B<HOME> に合致した場合、チルドを表示します。このオプションは "
"root ユーザーが実行した際には無視されます。"

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

特になし。

> > msgid ""
> > "B<Which> returns the number of failed arguments, or -1 when no \\`programname"
> > "\\' was given."
> > msgstr ""
> > "B<Which> は検索に失敗した引数の数を返します。また \\`programname\\' が指定さ"
> > "れなかった場合は -1 を返します。"
> 
> B<which> のように小文字にする方が自然なはずです。
> 日本語には、行頭を大文字にする習慣はないので。

これは当然と承知しています。
英文翻訳にありがちな落とし穴にハマったものです。
これに通じることで言うと、B<options> と B<option> が英文上は単数複数を
厳密に意識して書き分けている場面があったとして、日本語翻訳文では
何も評価せずにそのまま表記することがありがちかと思います。
どちらかに統一するなど、気をつけて見ることが必要でしょう。

> > 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 シェル) を追加して利用する方法です。た"
> > "とえば以下です。"
> 
> 「このユーティリティーのお薦めの使い方は〜」くらいでいかがでしょうか?
> 「利用するにあたって推奨されるのは」はちょっとまわりくどい印象でした。
> 最初、日本語だけを読んだときに、何度か読み直して理解できました。

ご指摘のように感じます。直します。

再翻訳
"このユーティリティーのお薦めの使い方は、B<which> に対するエイリアス (C シェル) "
"やシェル関数 (Bourne シェル) を追加して利用する方法です。"
"たとえば以下です。"

> > 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 ""
> > "こうすることでプロンプトから実行した場合には、見やすいように ~/ や ./ を出力"
> > "します。一方スクリプトから利用した場合は、そのままフルパスで出力します。"
> 
> 「こうすることで」と「一方」の後ろに「、」があった方がいいかなと思いました。
> また、「こうすることで」は「こうすると」の方が文のつながりがいいかもしれません。

「こうすることで」について直します。
「一方」について、「一方、スクリプトから..」という、読点による切り方がどうも
切りすぎのように感じられ、"一方"という語句だけが浮いてしまうように思っています。
「一方」は取り除いて良いように思うようになりました。
「一方」を取り除き、代わりに「..利用した場合**に**は」というように **に** を
加えることで、原義の while のニュアンスを表現しようと思います。

再翻訳
"こうすることで、プロンプトから実行した場合には、見やすいように ~/ や ./ を出力"
"します。スクリプトから利用した場合には、そのままフルパスで出力します。"

> > 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> の前に空白が必要。

ご指摘に同意します。

再翻訳
"B<HOME> ディレクトリは、環境変数 B<HOME> を調べることで決定されますが、"
"この変数が存在しない場合には、その処理がキャンセルされます。"
"B<which> は 2 つの同等のディレクトリであっても、その 1 つにシンボリック"
"リンクを使ったパスが含まれている場合に、別のディレクトリと取り扱ってしまいます。"

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

[JM:02480] にて感想述べました。



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