「マクロ辞書」の作り方と活用法(2) | 特許翻訳 A to Z

特許翻訳 A to Z

1992年5月から、フリーランスで特許翻訳者をしています。

3代目「特許翻訳の世界」 > 通訳翻訳ジャーナル連載「翻訳さんぽみち」 
 > 「マクロ辞書」の作り方と活用法-99年10月号

復刻シリーズです。

※小見出しは、99年当時『通訳翻訳ジャーナル』での掲載時に編集部で付けて下さったものをそのまま使います。


前回からの続きなので、冒頭が「以上が」から始まっています。お含みおきください。
 

自分用の用語集を
マクロ辞書に組み込むことも可能

以上がMS-Wordで翻訳作業をしながら用語をためていく方法ですが、同じようなことは秀丸エディタでもできます。
また、すでに自分用の用語集をお持ちの方はその用語集をマクロ辞書に組み込むこともできます。
私はこの1ヶ月で用語やフレーズを約20,000ほど追加し、現在では全部で25,000パターンくらいになっています。
すでに持っている辞書の形式に応じてエクセルなどを活用して単語と訳語のペアのリストを作成し、そのリストに対してマクロのコマンドを流し込みます。
Word 95の方がコマンドがシンプルなのでこれを例に説明しますが、97でも同じですので試してみて下さい。

 

semiconductor[タブ記号]半導体
storage device[タブ記号]記憶装置

 

最初に、上記のように単語と訳語との間に決まった文字か記号を入れ、一覧を作成します。
間に入れる文字は登録したい単語や訳語の中に含まれていないものであれば、何でも構いません。
次に、この一覧をワードの新規文書に貼り付け、次のように一括変換をします。
一括変換の際には曖昧検索のチェックは外して下さい。
 

[検索する文字列] ^p
[置換後の文字列] ^pEditReplace .Find = "


この条件で全文置換をかけると、1行目以外の全ての単語の頭にEditReplace .Find = "が入ります。
改行コードを改行+EditReplace .Find = "に置き換えているため、1行目だけは残りますが、これは手作業で追加します。
改行を示す^pをどうやって入力したらよいか分からないという人は、置換メニューの右下にある[特殊文字]を押して[段落記号]を選んで下さい。

 

EditReplace .Find = "semiconductor[タブ記号]半導体
EditReplace .Find = "storage device[タブ記号]記憶装置


さらに、

[検索する文字列] ^t
[置換後の文字列] ", .Replace = "


と置き換えます。
^tはタブ記号の意味ですので、単語と訳語の間に別の記号を挟んだ場合は、その記号を指定して下さい。これは1行目まで含めて全て置き換わります。

 

EditReplace .Find = "semiconductor", .Replace = "半導体
EditReplace .Find = "storage device", .Replace = "記憶装置


最後に、
[検索する文字列] ^p
[置換後の文字列] ", .Direction = 0, .MatchCase = 0, .MatchByte = 1, .WholeWord = 1, .ReplaceAll, .Wrap = 1^p


これで全て出来ました。
あとは、Sub MAINとEnd Subの間に入れて出来上がりです。
置換の時に使うEditReplace .Find = "などは手作業で入力すると間違えてしまう可能性もあるので、マクロの編集画面からコマンドの組を1つ別のファイルに移しておき、そこからコピー&ペーストしながら使うとよいでしょう。
コピーした内容は、新たに別のコピーを行うかパソコンを終了するかしない限りはそのまま保持されますので、コマンドの組をWord以外の(例えば秀丸などの)画面にコピー&ペーストで移しておいても全然問題はありません。

 

Sub MAIN
EditReplace .Find = "semiconductor", .Replace = "半導体", .Direction = 0, .MatchCase = 0, .MatchByte = 1, .WholeWord = 1, .ReplaceAll, .Wrap = 1
EditReplace .Find = "storage device", .Replace = "記憶装置", .Direction = 0, .MatchCase = 0, .MatchByte = 1, .WholeWord = 1, .ReplaceAll, .Wrap = 1
End Sub

 

ここまでくればお分かりだと思いますが、要するに最初に太字で示した置換をするコマンドの組を列挙しておくだけで、上から順に処理が行われていくわけです。
注意したいのは、semiconductorとsemiconductor deviceなど同一語が含まれる2つ以上の語句の場合、単語数の多い方(つまりsemiconductor deviceの方)が上にくるようにしておかないと、短い方が先に変換されることで形が変わってしまうということくらいですね。
 

忘却のカバーと作業効率アップに
ぜひマクロ辞書を

このようにして作成したマクロ辞書、長文のドキュメントを複数の翻訳者で処理する場合の用語統一などにも活用できます。
例えば、翻訳会社AでクライアントBに対する翻訳や校正作業の記録をマクロ辞書として登録するとします。
このクライアントBから長文の依頼があった場合、クライアントB用のマクロ辞書に対して、一覧をマクロにした時と逆の作業を行ってコマンドの文字列を取り除けば、簡単に用語集を作成できます。
この用語集を各翻訳者に渡すことで、用語の統一は随分と楽になるはずですね。
場合によっては翻訳者がこれを再度マクロ辞書化して、統一ミスや誤りをなくすこともできます。

マクロ辞書は、機械翻訳のようではあっても単なる一括変換です。
翻訳に限らず、校正作業での変換プロセスなどにも同じように活用できます。
別々のマクロをいくつでも作成することができるため、クライアントごとに用語が異なる場合や、全角半角の扱い、インデントやスペースの扱いが異なる場合など、別々のマクロファイルとして記録しておくだけで、以後の作業は随分と楽になるのではないでしょうか。
少なくとも目視で用語集を確認しながら手作業で直していくことに比べれば、数段楽だと思います。
校正作業などでは、文書全体に対して一括で変換をかけてしまうのはこわいという時には、「すべて置換」ではなく「置換」コマンドを使って同じようにマクロを作成し、1つずつ置換してよいか確認してから先に進むようにすればよいでしょう。
あるいは、化学式の上付きや下付きなど面倒な処理を自動化するのも便利です。

私は自分のWordを1回のキー操作上付き/下付き処理出来るようにしてしまってあるため、1カ所や2カ所出てくる程度であればキーの操作だけでやっていますが、数が多くなるとキー操作1回といえども結構大変です。そういう時にはマクロ辞書のオート上付やオート下付を使います。

マクロ辞書による作業方法では、置換文字列などを入力する手間や辞書引きの手間が省けるといった利点もさることながら、人間の記憶の曖昧さを補えるという長所があります。
クライアントから指定された用語やフォーマットなど、使用頻度が高いものは覚えていることもできますが、あまり使わないものだと忘れてしまうのですよね。
訳語でも、数ヶ月前にすごく苦労して調べた記憶があるけれど訳は何だっけ?といった忘却は発生します。
紙に書き留めておけばすむこととはいえ、数が多くなってくると手でめくって調べるのも大変です。
マクロ辞書は、このような忘却をカバーするメモ代わりにもなり、作業効率アップにも役立つという、一石二鳥の手法ですので、上手に活用してもらえればと思います。

 

【2016年の目線から】
この記事で用語ペアをマクロのプログラムコードに組み込むために使用した置換の考え方は、さまざまな場面で活用できます。

具体例として、
  1-1、1-2、1-3
  2-1、2-2、2-3

という文字の並びから、

 

1-11-21-3
2-12-22-3


といったHTMLの表を作る場面を示します。

 

タグは、
<table border="1" width="100%" cellpadding="5" bgcolor="#f0f8ff">
<tr><td>1-1</td><td>1-2</td><td>1-3</td></tr>
<tr><td>2-1</td><td>2-2</td><td>2-3</td></tr>

 

</table>

です。


【手順】
①改行を、「</td></tr>+改行+<tr><td>」に置換する

1-1、1-2、1-3</td></tr>
<tr><td>
2-1、2-2、2-3</td></tr>
<tr><td>

 

  ↓


②最後にある「<tr><td>」を先頭に移動する


<tr><td>1-1、1-2、1-3</td></tr>
<tr><td>2-1、2-2、2-3</td></tr>
 

  ↓

 

③読点を、「</td><td>」に置換する


<tr><td>1-1</td><td>1-2</td><td>1-3</td></tr>
<tr><td>2-1</td><td>2-2</td><td>2-3</td></tr> 

 

  ↓


最初と最後に必要なタグを入れる。

 

 

 

<table border="1" width="100%" cellpadding="5" bgcolor="#f0f8ff">
<tr><td>1-1</td><td>1-2</td><td>1-3</td></tr>
<tr><td>2-1</td><td>2-2</td><td>2-3</td></tr>
</table>
 

完成です。1行は、
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
</tr>
という、これで一組なので、見やすくするのであれば最後に適宜改行を入れてもよいでしょう。

前回示した
  .Text = "semiconductor"
  .Replacement.Text = "半導体"
  .Forward = True
  .Wrap = wdFindContinue
  .Format = False ・・・・・
のように分量の多いものを作りたいときは、先に

●"semiconductor"■"半導体"▼◆★

など、短い記号で置換しておいて、それをあとから

[検索する文字列] ■
[置換後の文字列] ^p  .Replacement.Text =


という具合に長い文字列に戻すという方法もあります。

検索窓にあまり長い文字列を一度に入れるとミスが出やすいですから、できるだけ短く区切って細かく置換するのがコツです。

今回は文字列をHTMLの表にする場合の例ですが、頻繁に使う置換は、それ自体をマクロにしておけば次回からは同じ変換処理を自動で実行できます。
 


■関連記事
翻訳さんぽみち

  ├原文理解に対する誤解-(1)

  ├原文理解に対する誤解-(2)

  ├原文理解に対する誤解-(3)
  │
  ├仕事の効率化-(1)
  ├仕事の効率化-(2)
  │       └用語一括置換マクロ誕生の舞台裏

  │
  ├「マクロ辞書」の作り方と活用法(1)
  ├「マクロ辞書」の作り方と活用法(2)
  │
  └作業効率化の目的

古いWordマクロを活用する方法
 


インデックスへ