Super Awesome Advanced CakePHP Tips 訳と註2

誰が作成・修正したのか、自動的に追跡する

……
Super Awesome Advanced CakePHP Tipsの翻訳2回目です。内容的には前回の続きになっています。

Automatically Tracking Created/Modified By註

Created/Modified By
この章に出てくる created/modified by は、そのままでは日本語に訳すことができない。ある程度説明的に訳すしかない。
establish
細かいことだが現在形。つまり著者はこの本が先頭から読まれるものだとは必ずしも想定していないということになる。
the previous section
翻訳上は全く問題無いのだが、この the previous section が具体的に何を指しているのかはちょっと興味深い。というのも、この本の中で見出しが付けられた内容のまとまりを何と呼ぶべきかに関わるからだ。
もしこの section が『Getting the Logged In User from Anywhere』全体を指すのであれば(文脈からはそれが最も自然だろう)、この本の中で最も大きなまとまりは「section = 節」と呼ばれていることになる。しかし個人的には、節では少し小さく感じる。「章 = chapter」と呼んだ方が相応しいような気がする。そして実は作者もブログの中で「Chapter」という呼び方をしている。Check out Chapter 2: “How to Learn CakePHP”. だがもし『Getting the Logged In User from Anywhere』や『Automatically Tracking Created/Modified By』を章と呼ぶのであれば、ここの the previous section は何を指すのだろうか?前の章の最後の節である『Full Source』だろうか?意味の上ではあり得なくもないが、ちょっと変に感じる。
Now we can apply this to setting the created by …
この文はうまく訳せなかった。わずかな単語にいろいろな意味が圧縮されているので、日本語だと説明的になりすぎて文にならない。created by and modified by fields で「誰が作成・更新したのか記録するためのフィールド」、setting は他の用例から考えれば「(フィールドに)値を設定する」という意味。for various database records は構造の異なる様々なレコード(テーブル)に対して、という意図だろう。
Model beforeValidate Callback
この段落全体は著者の勝手な仮定によるお遊びで、それゆえ仮定法が用いられている。「こんな文を書くくらいなら素直に beforeValidate コールバックの例を書けば良いじゃないか!」と読者に思わせるための、ツッコミ待ちの文章。
make this into a behavior
もちろん「これをビヘイビアの中に入れる」と直訳しても意味は通じるが、「ビヘイビア化する」という日本語がぴったりだろう。
Then
この Then は「すぐに」の意味だろうか。
feel mildly foolish
feel foolish で「きまりが悪い」「ばつが悪い」といった意味。
justified in believing …
be justified in doing … で「…は正当である」「…するのももっともである」といった意味になるのだが、主語と動詞が欠けている。文脈からすれば主語は多分 you だろう。
So I won’t insult your intelligence …
最後のこの文は仮定法ではない。「あくまで仮定」という装いで散々書いておきながら、最後に「私はそういうことはしないよ」と言っている。読者からのツッコミ待ち。
We’re making a bit of a leap here, in believing that …
非常に訳しにくいので訳文はごまかした。すいません。leap はここでは多分「論理の」飛躍という意味で、段落冒頭の The logic と対応している。「『idが設定されていれば更新だ』と考えるのは論理が飛躍している」ということで文脈にも合う。さらに進行形なので、「今論じているこのロジックの中で、論理の飛躍を犯しつつある」といった感じか。また前置詞 in は時間または状況の中という意味にとって、「このロジックの中の、具体的には…と考えているところで、論理の飛躍を犯しつつある」という風に解釈するのが最も自然だろうか。
If you wanted to be diligent
仮定法。その前の文の outside possibility と対応しており、著者はidの偽装が問題となる可能性は非常に低いと見ている。そもそも「誰が作ったか」を自動追跡することが必要になるアプリケーションというのは、かなり限られたユーザだけが使うログイン制のシステムだから、だろうか?
less
この less は excluding と同じ意味で、「〜を除いて」。

Leave a Reply