IT翻訳者の疑問

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

無生物主語+「では、」

9月12日に取り上げた段落の続きです。引用元は「Windows Vista カーネルの内部」(http://www.microsoft.com/japan/technet/community/columns/secmgmt/sm0708.mspx、英語版はhttp://technet.microsoft.com/en-us/magazine/cc162458.aspxと思われます)です。

たとえば、アプリケーションのソフトウェア更新サービスでレジストリをいくつか更新し、アプリケーションの実行可能ファイルの 1 つを置き換えた後に、2 つ目の実行可能ファイルを更新しようとしたときに、アクセスが拒否されたとします。このサービスでは、このような結果としてアプリケーションを一貫性のない状態のままにしておくことができない場合、行ったすべての変更を追跡して、それらを元に戻す準備を行う必要があります。エラーを回復するコードのテストは困難で、その結果としてテストがスキップされることもよくあるので、回復コードのエラーによって、それまでの作業が無効になる可能性もあります。

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.

handling error conditionsが特にtediousである具体的な場面の説明です。「a second executable」が「2 つ目の実行可能ファイル」でも通じないことはありませんが、the secondではなくa secondであることを考えれば、「別の実行可能ファイル」ですね。「〜を置き換えた後に、〜したときに、」と「に」が続くので、「〜を置き換えた後に、〜を更新しようとしてアクセスが拒否されたとします」とすればすっきりします。
次の「If the service doesn't want to...」は、訳しづらいですね。the serviceという無生物主語とwantという主観的な動詞の組み合わせをそのまま「サービスが〜したくない場合」と訳すわけにはいきません。かといって、受動態にすることもできないし。「このサービスでは、」でいったん切るのは最近の流行(?)なのかもしれませんが、「は」は文の話題を提示するときに使うものであることを考えると、「このサービスでは」が話題とは言えないと思います。
原文で「the service doesn't want」と書かれてはいますが、doesn't wantなのはそのサービスの設計者が考えることなので、設計者の立場に立って、たとえば「その結果、アプリケーションは不整合状態になりますが、この状態のままにしておきたくない場合は、このサービスで行うすべての変更を把握して元に戻せるようにしておく必要があります」と訳せばよいと思います。「それら」はなくてもわかるでしょう。
その次の文章の「error recovery code」の訳は「エラーを回復するコード」でよいのでしょうか。「回復」の意味は「(1) 一度悪い状態になったものが,元の状態になること。(2) 一度失ったものを取り戻すこと」(大辞林)です。「エラーから回復するコード」ならわかりますが、「エラー回復コード」では「(失った)エラーを取り戻すコード」になってしまいかねないので、「エラー復旧コード」か「エラーリカバリーコード」とすべきでしょう。「作業が無効になる」も、コンピュータの動作の話をしているわけではいので、もうちょっと工夫して「復旧コードの中にエラーが残っていると、それまでの努力が無駄になってしまうおそれがあります」などとしたほうがよいと思います。