IT翻訳者の疑問

この業界に入って約20年。私の疑問は相変わらず解決しません。

関係代名詞の限定用法は後ろから訳すべき?

9月8日に引き続き、「Windows Vista カーネルの内部」(http://www.microsoft.com/japan/technet/community/columns/secmgmt/sm0708.mspx、英語版はhttp://technet.microsoft.com/en-us/magazine/cc162458.aspxと思われます)からの引用です。念のため書いておきますが、ここでマイクロソフトのWebページを取り上げるのはマイクロソフトの翻訳品質管理にあれこれ言うためではありません。ふだんの翻訳レビューの仕事で目にする訳文との共通点が多いように思われるので、サンプルとして使わせていただいています。

カーネル トランザクション マネージャー
ソフトウェア開発において退屈な作業の 1 つは、エラー状態の処理です。このことは、アプリケーションで一連の高度な操作を行っていく中で、ファイル システムやレジストリを変更する 1 つ以上のサブタスクを既に完了している場合に特に当てはまります。たとえば、アプリケーションのソフトウェア更新サービスでレジストリをいくつか更新し、アプリケーションの実行可能ファイルの 1 つを置き換えた後に、2 つ目の実行可能ファイルを更新しようとしたときに、アクセスが拒否されたとします。このサービスでは、このような結果としてアプリケーションを一貫性のない状態のままにしておくことができない場合、行ったすべての変更を追跡して、それらを元に戻す準備を行う必要があります。エラーを回復するコードのテストは困難で、その結果としてテストがスキップされることもよくあるので、回復コードのエラーによって、それまでの作業が無効になる可能性もあります。

Kernel Transaction Manager
One of the more tedious aspects of software development is handling error conditions. This is especially true if, in the course of performing a high-level operation, an application has completed one or more subtasks that result in changes to the file system or registry. For example, an application's software updating service might make several registry updates, replace one of the application's executables, and then be denied access when it attempts to update a second executable. If the service doesn't want to leave the application in the resulting inconsistent state, it must track all the changes it makes and be prepared to undo them. Testing the error recovery code is difficult and consequently often skipped, so errors in the recovery code can negate the effort.

「アプリケーションで一連の高度な操作を行っていく中で、」は「in the course of performing a high-level operation,」の訳だと思いますが、「a high-level operation」なのに「一連の」と訳されているのが謎です。後のsubtasksというのはおそらく「a high-level operation」を構成するタスクのことなので、operationとsubtaskが1:Nの関係であることがわかるように、不定冠詞のaは「一つの」と訳出すべきでしょう。「high-level」は「(技術的に)高度な」というよりは、「high-level language(高水準言語)」のhigh-levelと同じような意味で使われているのだと思います。つまり、主記憶装置の所定のアドレスからデータを取り出して云々というコンピュータの基本的な操作(低水準の操作)ではなく、アプリケーションのインストールのような高水準の操作を指しています(「高水準の操作」で通じるかどうかは自信がありませんが)。
「ファイル システムやレジストリを変更する 1 つ以上のサブタスクを既に完了している場合に」もちょっと引っかかりますね。ここで強調すべきは「完了した」かどうかではなく、that result in以降の部分でしょう。つまり、「このことを特に感じるのは、アプリケーションで一つの高水準操作を実行する中で実行したサブタスクが、ファイル システムやレジストリを変更するものであった場合です」ということです。サブタスクが更新を伴うものでなければ、エラー処理が面倒になることはありませんので。
関係代名詞の限定用法といえば後ろから訳すのがセオリーと言われるかもしれませんが、先行する言葉の意味を関係代名詞以降の記述で絞り込んでいくのだと思えば、頭から訳すという方法も有りかと思います。