[JM:00538] Re: bash.1 の翻訳で意見が分かれています

Back to archive index

長南洋一 cyoic****@maple*****
2012年 1月 6日 (金) 22:06:17 JST


長南です。

新年おめでとうございます。

年末は雑用があるし、年始は毎日二日酔いだし。大谷さんのメールに
反論しておくべきだったのかもしれませんが、一例としてお出しになった
訳例に細かい注文を付けるのも、やりすぎな気がしましたし。

Takahashi さんのメールより [JM:00537]
>
> ひとまず年末年始を挟んで、異論もないようでしたので、大谷さんの訳を
> 反映しました。

やはり原文があった方がよいでしょう。

  If the first character of parameter is  an  exclamation  point  (!),
  a level  of  variable  indirection is introduced.  Bash uses the
  value of the variable formed from the rest of parameter as the name
  of the variable; this variable is then expanded and that value is
  used in the rest of the substitution, rather than the value of
  parameter itself. This is known as indirect expansion.

こうなさったのですね。

  parameter の最初の文字が感嘆符ならば、変数間接展開が行われます。
  bash は残りの parameter からなる変数の値を変数の名前と見なします。
  そしてそこで得られた名前の変数を展開した値を、置換処理の続きで使います。
  これが間接展開です。

一番大きな問題は、"variable  indirection" を「変数間接展開」と
訳していることです。

大谷さんは、"variable indirection" と "indirect expansion" を同じもの
と解していらっしゃるようです。それは一つの解釈ですが、この二つはやはり
同じではないと思います。

上記原文の最後の文を直訳すると、「これ (こうした動作) は、間接展開として
知られています」になります。すなわち、(今ここで説明した) bash の
"variable  indirection" の動作は、一般的には「間接展開」と言われる
ものだ、と言っているのです。もう一度言い換えると、bash の "variable
indirection" は「間接展開」の一種である、と言っている。ですから、
"variable indirection" と "indirect expansion" は訳し分ける必要が
ありますし、"konwn as" は生かさなければなりません。

「間接参照」は「Weblio英和対訳辞書」にあった訳語です。「日英・英日
専門用語辞書」(日中韓辞典研究所)や「クロスランゲージ 37分野専門語辞書」
には、「間接指定」という訳語もありました。Google で indirection を
調べたら出てきただけで、どのくらい信用できる辞書かはわかりませんけれど。

「残りの parameter からなる変数の値」という表現は一読してわかりやすい
とは言えません。だからこそ、元の訳でも「parameter の感嘆符を除いた
残りの文字を」と補足して訳しているのです (わたしの訳は、「parameter の
感嘆符を除いた部分からなる変数 (の値)」)。翻訳者は同じ訳文を何度も読み
返しますから、わかりにくい表現でもわかってしまうものです。気をつけないと、
初読の読者の感覚がわからなくなります。

"rather than the value of parameter itself" を省略すべきではない、
ということについては、[JM:00532] に書きました。他人を納得させることが
できる積極的な理由がないかぎり、原文を省略すべきではありません。
原文の筆者はそれが必要だと思うからこそ、そう書いているのですから。

"in the rest of the substitution" の訳については、大谷さんのメールに
反論しておくべきでした。微妙な話なので面倒くさがっていたのです。
「置換処理の続きで」と「置換の残りの過程で」(「置換処理の残りで」も
ありそうです) のどちらを使っても構わないと思います。でも、わたしは
どちらかと言うと、「残り」の方がよいと思うのです。

ここで、大谷さんの言葉をお借りすると、([JM:00534])

>>> the rest of the substitutionは、% や # や / 等による修正の事でしょう。
>
>> とは言え、${!AAA} といったシンプルな場合もあり、このパラグラフで
>> 考慮の対象にしているのは、むしろそちらの方でしょう。
>
> 単純な場合も、% # / - = ? 等がある場合も含めた、置換の残り行程全部
> でしょうね。単純な場合だけとか、複雑な場合だけとかいった風に限定する
> 必要は無いと思います。

rest の訳語は両方の場合に対応するものがよいということには賛成なのです。
ただ、このパラグラフで使うには、どちらが読者に抵抗なく読めるかという話です。

わたしが「残り」を勧める理由の一つは、rest は「続き」と訳すことができる
場合もあるでしょうが、第一義的には「残り」だということ。

理由の二つ目は、「続き」と言うと、まだまだ処理が続く感じがする、
それに対して、「残り」だと処理過程がもうあまり残っていない感じになる、
ということです (理屈を言えば、「続き」が短く、「残り」が長くたって
構わないのですけれど)。ですから、${parameter:-word} 以下を考えに入れると、
「続き」の方がふさわしいかもしれませんが、このパラグラフは、一面では
${parameter} の補足説明であり、parameter が ! で始まる特殊な場合について
語っているのですから、ここでは「残り」の方が妥当だと思うわけです。「続き」
と言うと、前から順番に読んできた (つまり、まだ、${parameter:-word} 以下を
読んでいない) 読者は、「間接展開が終われば、${!AAA} などを得られた値に
置き換えるだけでしょう。『続き』って、まだ何が続くの?」と戸惑いかねない
と思います。「残り」にしておけば、そうした戸惑いもなく (あるいは、戸惑いも
少なく)、${parameter:-word} 以下に読み進んでも、違和感を感じないだろう
ということです。

繰り返えしますが、「続き」ではいけないと言っているのではありません。
どちらでもよいと思います。でも、どちらかと言えば「残り」だろうと
いうことです。

-- 
長南洋一




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