可能・不可能の表現

技術文書には、可能・不可能の表現が実にたくさん登場します。

ここでは、英語で可能・不可能がどのように表現されるか、そしてその英語をどのように翻訳するか説明します。 さらに、名詞を中心とした表現 (名詞構文) を動詞中心に読みほどいて翻訳する方法についても解説します。

名詞中心の構文を動詞中心に読みほどく技術は、ここで解説するallowに限らず、さまざまな場面で応用できます。 幅広く応用できる翻訳技術ですが、 具体的な英文を例にとると分かりやすいので、allowの翻訳について説明するときに、読みほどきについても説明します。

読みほどきは翻訳の必須テクニックです。 名詞中心の構文を動詞中心に読みほどくことで、翻訳がぐっと楽になります。 自在に使いこなせるようになりましょう。

キーポイント
  • S1 allow S2 to V2
    S1 によって S2 が(は) V2 することができる。
  • S allow action
    S によって action することができる。
  • action allow ...
    action すると……
  • enableやletも同様の考え方で翻訳できる。

この章の目次

翻訳入門の目次に戻る

can

助動詞canによって可能・不可能を表現することができます。canが表す可能性の範囲は広く、動作ができる・できないを表すほか、「……する可能性がある・ない」を表すこともあります。 詳細については「can」を参照してください。

possible

it is (not) possible to ...やit is (not) possible that ...によって可能・不可能を表現することができます。

it is possible to modify the artistid of the row.
it is possible that the cached data is invalid.

possibleが表す可能性の範囲も広く、動作ができる・できないを表すほか、「……する可能性がある・ない」を表すこともあります。

allow、enable、let

技術文書で頻繁に使用される可能・不可能表現として、以下の構文があります。

S allow somebody/something to do

S enable somebody/something to do

S let somebody/something do

これらの構文は以下のように翻訳します。

キーポイント

S1 allow S2 to V2
S1 によって S2 が(は) V2 することができる

enableやletも同様に翻訳する。

例を示します。

This adaptor allows user routines to communicate with the local networks.
この文を翻訳する場合は、「user routines」と「communicate with the local networks」を主語・述語と見なすと考えやすくなります。
このアダプタによって、ユーザ ルーチンローカル ネットワークと通信することができます

このallowを「……許可する」と翻訳している例を見かけますが、許可・不許可の意味ではありません。

(×) このアダプタ、ユーザ ルーチンローカル ネットワークと通信することを許可します

allowのほかにenableやletが使われることもありますが、意味は同じです。

The Configuration window enables you to view the key assignment.

「you」と「view the key assignment」を主語・述語と見なします。ただし、youは訳出しません (詳細については「youの翻訳」を参照してください)。

[Configuration] ウィンドウによって、キー割り当てを表示させることができます

letの場合も同様に考えて翻訳します。

This lets you specify a string consisting of double-byte characters.

「you」と「specify a string ...」を主語・述語と見なします。

これによって、2バイト文字から構成される文字列を指定することができます

allow、enable、letはいずれも同じ考え方で翻訳できるので、以下ではallowを例にとって説明していきます。

to doの箇所が受動態になる場合もあります。この場合は受動態の翻訳技術も応用します。

The fork() function allows another process to be executed concurrently.
(△) fork()関数によって、別のプロセス並列に実行されることができます
→(○) fork()関数によって、別のプロセス並列に実行することができます。

名詞から動詞への変換 — 動作を表す名詞

前節では、allowなどの後に主語・述語が置かれる構文について説明しました。 このほか、allowの後に動作を表す名詞が置かれる場合もあります。 以下の文では、allowの後に主語・述語の構造を置かずに、 動作を表す名詞 (名詞節)「access to relational databases」だけを置いています。

This adaptor class allows access to relational databases.

allowを「……が……を可能にする」と翻訳すると以下のようになります。

このアダプタ クラスリレーショナル データベースへのアクセスを可能にします

しかし、この訳文は翻訳臭が強く感じられます。 翻訳臭の原因は、英語と日本語の性質の違いです。 英語では名詞を中心にした構文が多いが、日本語では動詞を中心にした構文が多いという特徴があります。 また、原文の名詞句が長くなると、「……の……の……の……を可能にする」と翻訳することになり、日本語の文としてかなり苦しくなってしまいます。

英語で名詞中心の表現になっている場合は、動詞中心の日本語に書き換えられないか検討する必要があります。

上記の例 (再掲) This adaptor class allows access to relational databases. では名詞を中心にして access to relational databases と書かれていますが、日本語では動詞を中心に書くことが多いので、 リレーショナル データベースにアクセスする と翻訳すると、自然な日本語訳にすることができます。

最終的な訳文は以下のようになります。

このアダプタ クラスによってリレーショナル データベースにアクセスすることができます

訳文の後半を文の形にしたので、「このアダプタ クラスは」→「このアダプタ クラスによって」と変更する必要があることに注意してください。

キーポイント

S allow action
S によって action することができる

  • actionを動詞的に訳出すると、自然な日本語訳になる。
  • 英文が名詞中心であっても、日本語訳では動詞中心にする。
  • enableやletも同様に翻訳できる。

名詞から動詞への変換 — 主語が動作を表す場合

前節では、allowの目的語として動作を表す名詞が来るケースについて検討しました。ここでは、動作を表す名詞がallowなどの主語になっているケースについて検討します。

例として以下の文を翻訳してみます。 この文では、主語が動名詞 (calling ...) になっています。

Calling the finish() function allows the task to terminate safely.

Calling the finish() functionが動名詞なので、名詞的に翻訳すると「finish()関数の呼び出し」になります。この訳を翻訳の原則に当てはめて翻訳してみましょう。

翻訳の原則は以下のとおりです。

S1 allow S2 to V2
S1 によって S2 が(は) V2 することができる

この原則の主語Sに「finish()関数の呼び出し」を当てはめると、以下のような訳文になります。

finish()関数の呼び出しによって、タスクが安全に終了することができます。

この訳文においても、名詞中心の表現を動詞中心の表現に書き換える技術を応用することができます。allowの主語に対応する訳「……の呼び出し」は名詞中心なので、以下のように書き換えます。

finish()関数の呼び出し
→ finish()関数を呼び出す

最終的な訳文は以下のようになります。

finish()関数を呼び出すと、タスクが安全に終了することができます。

簡潔かつ自然な日本語訳にすることができました。この翻訳技術は、原文が長くなればなるほど効果を発揮します。先ほどの例文の主語を長くしてみましょう。

Calling the finish() function with the IMMEDIATE specification in a deeply nested function allows ...
深くネストされた関数でのIMMEDIATE指定を伴うfinish()関数の呼び出しによって、……

名詞中心の訳文では、読んでいる間に息切れしそうです。動詞を使用して「……すると」の形に書き換えると読みやすい訳文になります。

深くネストされた関数でIMMEDIATEを指定してfinish()関数を呼び出すと、……

ここでは、主語が動名詞 (calling ...) の場合を例にとりましたが、変化を表す名詞 (change、increaseなど) や状態を表す名詞 (stabilityなど) の場合も、同様の要領で動詞に読みほどいて翻訳することができます。

もちろん、名詞中心の表現を動詞中心の表現に書き換える技術はenableやletにも応用できます。 さらに、allowやenableに限らず、さまざまな場面で応用できます。

形容詞から動詞への変換 — 修飾語を述語に

名詞そのものが動作を表さずに、名詞を修飾する語句が動作を表す場合もあります。 以下の文では、「used in printf()」が「the %x format specification」を修飾しています。

The %x format specification used in printf() allows you to display an integer as a hexadecimal number.

allowを翻訳するときの原則 S1 allow S2 to V2
S1 によって S2 が(は) V2 することができる
に従って翻訳すると、以下のような訳文になります。 printf()で使用された%x書式指定によって、整数を16進数として表示することができます。

この訳文においても、名詞中心の表現を動詞中心の表現に書き換えることができます。

主語の部分 the %x format specification used in printf() が名詞中心の表現ですから、この部分だけを取り出して検討していきます。

この名詞句において、それぞれの要素 the %x format specification
used
in printf()
の関係は、以下の英文における各要素の関係と同じです。 The %x format specification is used in printf().

つまり、この文と同じように翻訳すれば、名詞中心の表現を動詞中心に読みほどくことができます。 (名詞中心の訳) printf()で使用された%x書式指定
(動詞中心の訳) printf()で%x書式指定が使用される
受動態の翻訳技術を応用して受動を能動に書き換えると、 printf()で%x書式指定を使用する と翻訳できます。 最初に示した名詞中心の訳と比較してください。 (名詞中心の訳) printf()で使用された%x書式指定
(動詞中心の訳) printf()で%x書式指定を使用する

この動詞中心の訳を主語の部分に組み込むと、最終的な訳文が完成します。

printf()で%x書式指定を使用すると、整数を16進数として表示することができます。

名詞中心のまま翻訳した訳文と比較してください。

(×) printf()で使用された%x書式指定によって、整数を16進数として表示することができます。
キーポイント

action allow ...
action すると……

つまり
action allow S2 to V2
action すると S2 が(は) V2 することができる
action1 allow action2
action1 すると action2 することができる

enableやletも同様に翻訳できる。

allowの翻訳技術の応用

allowと他の構文が組み合わされている場合は、それぞれの翻訳技術を的確に応用しなければなりません。

例として以下の文を翻訳してみます。

The memfree() function releases the allocated memory, allowing another task to reuse it.

まず、allowingが現在分詞であることに気付きます (分詞構文の詳細については、分詞構文の訳し下ろしを参照してください)。 このallowingは結果を表しています。 つまり、「the memfree() function releases the allocated memory」の結果として「allowing another task to reuse it」となると述べています。

分詞構文が結果を表すときは、まず2文に切ります。

The memfree() function releases the allocated memory / allowing another task to reuse it.

次に、前半と後半をそれぞれ日本語に翻訳します。後半のallowも原則どおりに翻訳します。

memfree()関数は割り当て済みメモリを解放します / 別のタスクがそれを再利用することができます

最後に訳文をまとめます。ただし、allowing ...は結果を表す分詞構文です。 結果を表すので、訳文にもそのニュアンスを出さなければなりません。

memfree()関数が割り当て済みメモリを解放する
↓(その結果として)
別のタスクがそれを再利用することができる

この点に注意しながら訳文をまとめると、以下のようになります。

memfree()関数は割り当て済みメモリを解放し、別のタスクがそれを再利用できるようにします

初級の段階ではここまで翻訳できれば合格です。 「それを」の翻訳臭が気になる場合は、以下のように書き換えることができます。

memfree()関数は割り当て済みメモリを解放し、別のタスク再利用できるようにします。

可能・不可能の表現のまとめ

可能・不可能の表現には、SとVが1つだけ含まれる形や、2つ含まれる形、名詞構文を取る形など、いくつかのバリエーションがあります。

S can V
it is possible to V
it is possible for S to V
it is possible that S V
→S が(は) V することができる / S が V する可能性がある

S1 allow S2 to V2
S1 let S2 V2
→ S1 によって S2 が(は) V2 することができる

S allow action
→ S1 によって action することができる

action allow S to V
action すると S が(は) V することができる

action1 allow action2
action1 すると action2 することができる

enableもallowと同様に翻訳できます。

翻訳講座のご案内

翻訳のお問い合わせはこちら