[JM:01653] Re: [POST:DP] util-linux hexdump.1

Back to archive index
長南洋一 cyoic****@maple*****
2019年 12月 5日 (木) 15:58:40 JST


長南です。

このマニュアルは、全体としてかなりよい訳だと思います。
手を入れたいところは、"getopt" と同じスタイルで翻訳原稿に直接書き込みました。
書き込みがたくさんあるように見えますが、"Counters" を抜かせば、余分な空白を
取るために二行を一行にしたり、タイポを直したり、意味をはっきりさせるために
助詞や「、」を補っただけのところもあるので、見かけほどではありません。

"Counters" サブセクションの "The amount of data ..." 以下は、
何を言っているのかさっぱり分かりませんでした。Web で hexdump の解説を
いくつか読んだり、フォーマット文字列を何度か自分で書いて試してみたところ、
一箇所を抜かして、ほとんど正しい訳をしているのが分かりましたが、それでも、
非常に意味の取りにくい訳文であることに変わりはありません。もっとも、
原文の欠陥だと、つまり、説明が足りない、語るべきことと省略すべきことの
選択を間違えている、実例を上げて説明しなければ、こういうことは分かるわけがない、
ということは言えると思います。そんなわけで、この部分は、訳注を入れて、
訳し直してみました。まだまだ読者に理解してもらえないかもしれません。
もっと分かりやすい案があれば、うかがいたいと思います。

例によって、訳語、訳文についていくつか。

○ OPTIONS:
  Below,  the  length  and offset arguments may be followed by the
  multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so  on
  for  GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional,
  e.g. "K" has the same meaning as "KiB"), or the suffixes KB (=1000),
  MB (=1000*1000), and  so on for GB, TB, PB, EB, ZB and YB.

    拡張子と倍数については、前にも言ったと思います。「接尾辞」「乗数」
    の方がよいでしょう。

    "and so on for GiB, Tib ..." の "and so on" は、普通「等々」と
    訳しますが、ここの "so on" は "(=1024*1024) などを指していると
    考えるべきではないでしょうか。「Gib, Tib ... についても等々である」と。
    こういう使い方がよくあるかどうかは知りませんけれど。

    ここでまとめて言ってしまいますが、'the "iB" is optional' とか、
    'The optional argument "when" can be auto, never or always."
    のような「あってもなくてもよい、省略可」の意味で使っている 'optional'
    の訳では、「オプションである、オプションの」などと「オプショション」という
    言葉を使うのは、避けた方がよいと思います。'-b', '-d' のような本来の
    オプションもあり、オプション引数もあるので、紛らわしいと思います。
    それでは、どう訳すか、というとかなり面倒なのですが。

○ -b, -c などの "zero-filled"、"space-filled" の「字詰め」という訳:

    「0 で字詰めした、空白で字詰めした」と訳してありますが、そういう言い方は
    普通にあるのでしょうか。「四百字詰め原稿用紙」という言い方は普通にします。
    また、「(先頭を) 0 で埋めた」といった表現もよく見かけます。もっとも、
    「字詰め」で何を言っているか十分わかると思うので、そのままにしておきました。

○ -L について、および COLORS (カラー表示) セクションについて:

    "--color=always" はわかります。"--color=auto" というのは、
    どういう意味なのでしょうか。手元の debian 9 (最新は 10) に
    util-linux 2.34 の hexdump を入れたところ、"hexdump --help"
    の結果に "colors are enabled by default" が現れました。
    これは、"-L" オプションのデフォルトの auto でカラー表示をする
    ということではないでしょうか。なお、/etc/terminal-colors.d/ には
    hexdump.enable も hexdump.disable もありません。この状態で
    カラー表示をするフォーマットファイル color.fmt を作り、以下を実行します。

      $ hexdump -L -f color.fmt sample.txt

    カラー表示になりません。"-Lauto" でも ("--color=auto" でも) カラー表示に
    なりません。"-Lalways" ならカラー表示になります。/etc/terminal-colors.d/
    hexdump.enable を作ってみても同じことです。

    なお、COLORS セクションに従って、/etc/terminal-colors.d/hexdump.disable
    を作ってみても、"-Lalways" でカラー表示が行われます (これは、そういうもの
    なのでしょうけれど)。

    どうなっているのでしょう? debian ではうまく行かないのか、うちの debian が
    古いせいか、それとも私が util-linux のビルドに微妙に失敗しているのか。
    あるいは、使用している端末のせいなのか (主として xfce4-terminal ですが、
    Ctrl-Alt-F1 などの仮想コンソールでも結果は同じです)。

○ whitespase:

    訳語を「空白」のままにしておきました。「空白 (またはタブ)」にしたところも
    一箇所あります。ほかのメールでは、"whitespace" は普通の "spase" と
    区別して、「ホワイトスペース」と訳したほうがよいと書きましたが、hexdump
    では、空白やタブと改行では働きが違うので、「ホワイトスペース」と訳すと、
    不正確になってしまうからです。こういう、改行を含めない「ホワイトスペース」の
    使い方もあるのですね。

○ Conversion strings サブセクションの "_u":

  "Output US ASCII characters,  with  the  exception  that  control
  characters are displayed using the following, lower-case, names.
  Characters greater than  0xff,  hexadecimal,  are  displayed  as
  hexadecimal strings.

    character の表示なんですから、"greater than 0xff" は、"greater
    than 0x7f" のタイポだと思います。すぐ下の表の「0FF」も、"del" なら
    「07F」でしょう。

○ Colors サブセクション:

  "Negate  the  condition.  Please note that it only makes sense to
  negate a unit if both a value/string and an  offset  are  specified.
  In  that case the respective output string will be highlighted
  if and only if the value/string does not match  the  one
  at the offset."

    こうした "value/string" の "string" が何のことか、イマイチわかりません。
    "/" は、"or" であり、"0x61" といった値の代わりに、"abc" といった文字列
    が指定できるということでしょうか。それとも、"lf (Line Feed)" とか
    "ht" とかが使えるのでしょうか。いろいろ試してみたのですが、"lf" などは
    使えないようです。"abc" のようなものなら、確かに、"%s" を使い、フィールド精度を
    文字数に合わせれば、文字列のカラー表示ができないこともありませんが、カラーに
    ならないところもあって、「文字列が指定できます」と威張って言えるようなものでは
    ありませんでした。なお、一文字なら、"%c, %_p, %_u" などでもできます。
    オフセットの指定の仕方によっては、エラーが出ますけれど。

    もしかすると、"string" は「文字列」ではなく、ただの「列、連続」でしょうか。
    "bit string" なんて言葉もあるそうですし、16 進数や 8 進数の「列、行列」。
    たとえば、4 バイトづつ 16 進数に変換したときの "2c796548" といったもの。

    でも、そう考えると、"VALUE" の項の "... specified in hexadecimal,
    or octal base, or as astring" がわからなくなります。"2c796548"
    は "in hexadecimal base" ではないのか。

    そんなわけですので、取りあえず「文字列」のままにしておきました。

    それから、"Please note that it only makes sense ..." 以下も、
    なぜ、値とオフセットの両方を指定しないと意味がないのか、よくわかりません。

      条件を否定する。  注意していただきたいが、あるカラー指定単位につ
      いて否定することに意味があるのは、 値/文字列と、オフセットの両方
      を指定したときだけである。 その場合は、値/文字列がそのオフセット
      にあるものとマッチしなかったときにのみ、  対応する出力文字列がハ
      イライトされることになる。

      [訳注] 上で言っているのは、否定は、あるオフセットまたは比較的
             狭いオフセットの範囲に、 ある値が存在しないことを調べるた
             めのものだということだろう。   広範囲についてそれをやるの
             は、色彩を反転させるだけで、否定しないときと事実上同じこ
             とになる。

    一応、上のように解しましたが、そういうことでしょうか。他の解釈があったら、
    教えていただきたいと思います。

○ Counters サブセクション:

    この "Counters" をどう訳したらよいのか。Counter というのは、「数を数える人、
    数を数える道具、計算をする場所(いわゆるカウンター)」のことでしょう。この場合、
    どう取ったらよいのか。一応、すぐ後に続く文章から、「処理されるバイト数」と
    しておきましたが、もっとピッタリな表現があるかもしれません。

○ EXIT STATUS セクション:

    このマニュアルでは "return value (code)" を使ったところがありませんから、
    原文どおり「終了ステータス」と訳した方がよいと思います。

○ 翻訳者謝辞:

    FreeBSD jpman project に謝意を表されていますが、翻訳履歴を見ると、
    NetBSD jman project からいただいたもののようです。どっちなのでしょう。
    NetBSD のものを元にして手を入れたが、FreeBSD の翻訳も参考した、
    ということでしょうか。その場合でも、謝辞で FreeBSD に謝意を表するなら、
    NetBSD にもお礼を言ったほうがよいのではないかと思います。

手を入れた原稿は、hexdump.new.gz として添付します。

-- 
長南洋一
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: hexdump.new.gz
型:         application/octet-stream
サイズ:     11885 バイト
説明:       無し
URL:        <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20191205/8bf92387/attachment.obj>


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