億万単位を自動で英語置換

某所でWildLightセミナーを開催したのですが、こんな課題をいただきました。

  1. 〇〇〇億〇〇百万円 ⇒ 〇〇,〇〇〇 million yen
    ex. 158億32百万円 ⇒ 15,832 million yen
  2. 〇〇億〇〇百万円 ⇒ 〇,〇〇〇 million yen
    ex. 11億70百万円 ⇒ 1,170 million yen
  3. 〇億〇〇百万円 ⇒ 〇〇〇 million yen
    ex. 6億47百万円 ⇒ 647 million yen
  4. 〇〇百万 ⇒ 〇〇 million yen
    ex. 6百万円 ⇒ 6 million yen
  5. 〇〇〇億〇百万円 ⇒ 〇〇,〇0〇million yen
    ex. 530億2百万円 ⇒ 53,002 million yen
  6. 〇〇億〇百万円 ⇒ 〇,〇0〇 million yen
    ex. 10億9百万円 ⇒ 1,009 million yen
  7.  〇,〇〇〇,〇〇〇千円 ⇒ 〇,〇〇〇 million yen
    ex. 9,144,781 ⇒ 9,144 million yen (下3桁を削除)

これを実現するためのWildLight辞書を作ってみました。
DEMO_変換_和数字を英語へ.txt」として公開しておきました。

辞書の中身は、以下のような記述になっています。

WILDCARD:ON
Zen2Han,[0-9]
([0-9]{1,2})([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])億([0-9]{2})百万 \1\2 million 
([0-9]{1,2})([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])億([0-9])百万 \10\2 million 
([0-9])億 \100 million 
([0-9]{1,3},[0-9]{3}),[0-9]{3}千 \1 million 
([0-9]{1,3}),[0-9]{3}千 \1 million 
([0-9,]{1,11})百万 \1 million 
百万 million 
円 yen

1行目:ワイルドカードモードに切り替えます。
2行目:全角の数字を Zen2Han コマンドで半角に変換します。
3~5行目:「〇〇〇億〇〇百万」を置換します。
6~8行目:「〇〇〇億〇百万」を置換します。
9行目:「〇億」を置換します。
10行目:「〇〇〇,〇〇〇,〇〇〇千」を置換します。
11行目:「〇〇〇,〇〇〇千」を置換します。
12行目:「〇〇〇,〇〇〇,〇〇〇百万」を置換します。
13行目:「百万」を置換します。
14行目:「円」を置換します。

お役に立つようでしたら、お使いくださいませ。

広告

全角スペースを半角に変換する

先日、某所でWildLight初級セミナーを行いました。そこで「全角スペースを半角へ変換する方法」の質問を受けましたので、WildLight辞書の記述方法を記しておきます。

' ワイルドカードモードにする
WILDCARD:ON
' 全角スペースに蛍光ペンを付ける(変換箇所が分かるように)
[ ]
Zen2Han,[ ]

辞書ファイル「WLDIC_変換_全角スペースを半角へ変換.txt」としてWildLight共有フォルダーに公開しておきましたので、ダウンロードしてご利用ください。

対訳表作成時間

WildLightを使って翻訳チェックする上で、欠かせないのが対訳表作成。

対訳表によるチェックは、問題検出効果が大きいという話を、いままであちこちの講演でしてきました。ところが、対訳表作成に時間が掛かることから、なかなか踏み込めない方が多いようです。

対訳表作成に、どれくらいの時間を見積もっておけばいいのでしょうか?

“対訳表作成時間”の続きを読む

WildLightの対訳表作成機能

WildLightの「対訳表作成機能」について、説明ビデオをYouTubeにアップロードしましたので、お役立てください。

今後、WildLightの機能紹介をYouTubeへ続々とアップロードしていく予定です。(場合によっては、オンラインセミナーの開催も考えています。)

WildLight関連の動画リスト

※アライメントをする前に「数チェック辞書」を適用しておくと、作業がやりやすいです。

WildLight Ver. 2.53 公開

久し振りのバージョンアップになります。新機能を特に利用する予定がない場合は、現在お使いのバージョンを継続してお使いください。

前回公開の Ver.2.50 からの主要変更点は以下の通りです。

“WildLight Ver. 2.53 公開”の続きを読む

WildLight Ver. 2.50 を公開

このゴールデンウィークを使い、以前から盛り込みたかった機能を追加しました。大きな変更点は以下のとおりです。

  1. 複数辞書を指定したプロジェクトを扱えるようにした。
  2. 対訳表作成でソースファイルにエクセルやパワーポイントのファイルを直接指定できるようにした(Fバージョンのみ)

“WildLight Ver. 2.50 を公開”の続きを読む

大阪で中級セミナー(8月)

大阪のほんまかいブログに、それとなく告知されましたので、こちらでも告知しておきます。

まだまだ先の話になりますが、8月に大阪のほんまかい主催で「WildLight中級セミナー」を行います。詳細は、ほんまかいブログにて発表になると思いますので、そちらを定期的にご確認ください。

もちろん「中級」ですので、WildLightのインストールが終わり、それなりに使っておられる方が対象となります。ほんまかいでは、事前のワイルドカード勉強会を開催されて、中級セミナーに臨んて下さっているので心強い限りです。きっと、通常の中級セミナーより上級へ踏み込んだセミナーになりそうで、今から楽しみです。

【ワイルドカード】全角丸括弧の一括半角置換(半角丸括弧の一括全角置換を含む)

英文にせよ和文にせよ、丸括弧に全角や半角が混在し、揃っていない訳文を見掛けることがあります。以下の前提のもとに、強制的に丸括弧を半角、もしくは全角に揃えるワイルドカードを記述してみたいと思います。

【前提】

  • 半角にせよ全角にせよ、丸括弧はちゃんと対になっていること。
  • その組合せは、半角全角()、全角半角()、全角全角()、半角半角()の4通りとする。

この前提に従い、これらの4通りの組合せをヒットさせるためには、以下のように記述します。

検索する文字列

[\((](*)[\))]

次に「置換後の文字列」の記述の仕方ですが、すべて全角の丸括弧へ揃える場合は、以下のように記述します。

置換後の文字列:(丸括弧は全角です。)

(\1)

この記述から分かるとおり、正しい全角の丸括弧の組合せであっても、強制的に置換してしまうということです。ワイルドカードの記述を考えるとき、正しいものを回避しようと考えてしまい、1文で記述できずに悩んでしまうことが多いですが、正しいものも置換してしまうというアプローチを取れば、1文で表現できることが多いです。

では、次にすべて半角の丸括弧へ揃えて置換するための「置換後の文字列」を記述をします。

置換後の文字列:(丸括弧は半角です)

(\1)

 

【ワイルドカード】【英文】単語間のスペースが2つ以上あるものをチェック

英訳文で、単語の間にスペースが2つ以上入っているものがときどき見られます。これをチェックするためのワイルドカードの記述方法を考えてみましょう。

一番簡単なのは以下の記述かもしれません。スペースが2つ以上あれば、すべて蛍光ペンを付けてしまえという発想です。

[ ]{2,}

文末のピリオドの後はスペース2つというルールの場合だと、それもヒットすることになって、少し都合が悪いですね。では、スペースの前がピリオドでないときにヒットするようにしてみましょう。

[!.][ ]{2,}

この場合、気をつけなくてはならないのは No. とか Dr. や Mr. などの後のスペースはチェックされないということです。チェックの方法を考えるときは、どこまでチェックするかを冷静に考えて判断するようにします。

では、この検索方法を使って、2スペース以上あったときは、強制的に1スペースになるように置換してみましょう。

検索する文字列

([!.])([ ]){2,}

置換後の文字列

\1 \2

間は半角スペース1つです。意図的に2スペース以上入力されているところも置換されてしまいますから、注意しましょう。

【ワイルドカード】数字列から任意の桁数を抜いて、別形式の番号体系に置換する。

決められた番号体系に基づいて付与された管理番号の一部を、他の番号体系へ転記して、新たな番号を作らなくてはならない・・・というようなことが、事務処理の中ではよく発生します。

例として、以下のようなものを想定してみましょう。

例)Aから始まる9桁の番号があり、うしろ8桁の数字部を抜き出し、抜き出した数字部の後にUS01を付与して、新しい番号を作成して置き換える。

A12345678  →  12345678US01

ワードの置換機能を使い、「ワイルドカードを使用する」をONにして、以下の記述を行います。

検索する文字列

<A([0-9]{8})

置換後の文字列

\1US01

検索する文字列は、Aから始まり、続いて8桁の数字を持ったものを検索するように記述してあり、その8桁の数字は()で閉じることで\1へ代入されます。置換後の文字列の\1にその8桁の数字が展開され、その後にUS01が付与されることになります。