エンジニア流・日本語リファクタリング術 - 英訳は因数分解だ
僕のチームは社内文書をかなりの頻度で書くのですが、僕は「英語に翻訳することを前提に、伝わる文章か」という観点で査読依頼を受けることがよくあります。
実際にどんな観点で見ているか、言語化してみようと思います。
査読している時の頭の動き
[プロセス]
- [理解]まずは日本語の文章を読み込み、文章で伝えたい内容を把握する
- [再構築]同じ要旨を英語で喋る時にどう表現するかを考える
- [逆算]英語の表現を日本語に翻訳した時に、どういう表現になるか考える
[ルール]
- 原文の語順や表現にはとらわれずに考える
- 時には主語を入れ替えて大胆に再構築することも考える
- 1文で伝えたいことが2つ以上ある場合は、文章を区切る
英語の変換は数式やプログラム
この「英語らしい表現」を考える過程を他の人にも再現できるように言語化すると、何に似ているのか考えてみました。
数学の方程式を解く時や、プログラムを効率化する時の過程に似ているような気がします。
- 言いたいこと(原文=解・出力)は決まっている
- 言いたいことを表現するまでの過程(用語や言い回し=途中式・関数)を読み解く
- どのように組み替えれば簡潔に表現できるか考える
- (主語の変更)x=ayをy=x/aに入れ替えて視点を変える, 変数の因果関係を逆転させる
- (リファクタリング)因数分解して言いたいことをまとめる, 繰り返す表現を関数にまとめる
- (冗長表現の省略)約分して簡単な表現にする, if文の条件を見直して短く表現する
- (文章の分割)長い式は新しい変数を作って、複数の式にわける
- いくつか表現パターンを作ってみて、一番しっくりくる言い回しを探す
例
プラグインAの説明として、機能Bが動作している時は、ブラウザ上に機能Bが動作している旨のアイコンが表示され、日英翻訳された状態でWebページが表示されます。
この例文を分解すると、こんな感じになります。
- プラグインAというものがある
- プラグインAの中には、機能Bがある
- 機能Bが動作している時は、ブラウザ上にアイコンが表示される
- 機能Bが動作している時は、日英翻訳された状態で表示される
[主語の変更] 機能Bの動作を説明したいので、「機能B」を主語にする
[リファクタリング] 機能Bが動作している時の記述が2つあるので、箇条書きにしてまとめる
[冗長表現の省略] つなぎの言葉の「説明として」「機能Bが動作している旨の」を省略
[文章の分割] ここまでの点を踏まえて、一文一意になるようにする
変換後の英文
While Function B in Plugin A is working,
- Icon appears on the browser
- You can see Translated Web page
英文を踏まえた日本語の修正案
プラグインAの中の機能Bが動作している時は、
- ブラウザ上にアイコンが表示される
- Webページが日英翻訳された状態で表示される
補足
日本語ではそもそも省略することすらあるため、主語というのをあまり気にしないかもしれません。
英語では主語と述語のセットが命ですので、「誰の/何の視点でどう見えるか」を意識するとよいです。
なお、英語では日本語であまり使い慣れない主語を据えて柔軟に表現することもよくあります。いろんな文章を読んで、英語特有の言い回しに慣れておくとよいでしょう。
it is ... (一般的な事柄を述べる時)
~ing/To ~ xx is ... (動作自体を主語に据えたい時)
you can/will see ... (相手=資料の読み手の視点から物事を説明する)
おわりに
日本語と英語は構造が根本的に異なるため、元の文章にこだわりすぎると伝わりやすい文章は作れません。
「意味・伝えたいこと」を中心に据えて、結論に至るまでの組み立てを自由に考え直し、再構成することが重要です。
プログラミングなど論理的な思考に慣れているエンジニアは、他の職業と比較すると英語が習得しやすいのではないかと個人的には思っています。
コツさえ掴めば、あとは使うボキャブラリー(Excel関数のようなもの)を覚える感覚で実践あるのみです。
この記事を読んで、英語に対する抵抗感を少しでも減らしてもらえたらうれしいです。
Discussion