新規記事の投稿を行うことで、非表示にすることが可能です。
2022年12月23日
テキスト読み上げソフト
Advent Calendar 「翻訳に役立ってくれそうなツール」の記事です。今回は、テキスト読み上げソフトについてです。
せっかくの Advent Calendar なので Trados 以外のことも書こうと思い、今回はテキスト読み上げソフトの SofTalk を紹介するつもりだったのですが、なんだか、ご紹介できなそうな状況になっていました。
私は SofTalk をかなり前から使用していましたが、今回の記事を書くにあたって念のため最新版を確認したところ、SofTalk は今年の 7 月頃から音声合成エンジンが変わっていたことがわかりました。現在のバージョンでは AquesTalk (通称、ゆっくりボイス) が使用できなくなっています。うぅ、残念です。
今は手元にある古いバージョンが正常に動くのでそれを使っていますが、今後はどうしたらいいんでしょう。Word の読み上げ機能はあまり便利じゃないし、Edge の読み上げ (Ctrl+Shif+U) は流暢すぎて訳文のチェックには向かない気がしています。「ずんだもん」とか使ってみたらいいのかしら。
というわけで、すみません、今回はここまでです。最新版の SofTalk でも AquesTalk 以外のエンジンで一応読み上げはできるので、その辺りのことについて調べたらまた記事にしたいと思います。
Tweet
せっかくの Advent Calendar なので Trados 以外のことも書こうと思い、今回はテキスト読み上げソフトの SofTalk を紹介するつもりだったのですが、なんだか、ご紹介できなそうな状況になっていました。
私は SofTalk をかなり前から使用していましたが、今回の記事を書くにあたって念のため最新版を確認したところ、SofTalk は今年の 7 月頃から音声合成エンジンが変わっていたことがわかりました。現在のバージョンでは AquesTalk (通称、ゆっくりボイス) が使用できなくなっています。うぅ、残念です。
今は手元にある古いバージョンが正常に動くのでそれを使っていますが、今後はどうしたらいいんでしょう。Word の読み上げ機能はあまり便利じゃないし、Edge の読み上げ (Ctrl+Shif+U) は流暢すぎて訳文のチェックには向かない気がしています。「ずんだもん」とか使ってみたらいいのかしら。
というわけで、すみません、今回はここまでです。最新版の SofTalk でも AquesTalk 以外のエンジンで一応読み上げはできるので、その辺りのことについて調べたらまた記事にしたいと思います。
Tweet
2022年12月20日
原文と訳文を入れ替える
Advent Calendar 「翻訳に役立ってくれそうなツール」の記事です。今回も Trados です。すみません。
前回の英単語チェックの記事で、原文と訳文を入れ替えてチェックをすると効果的という話をしました。今回は、実際に Trados で原文と訳文を入れ替える方法を説明します。
原文と訳文を入れ替えるといっても、その目的はさまざまだと思います。また、入れ替える方法も実はたくさんあります。この記事では、前回の記事で説明した英単語チェックを目的として入れ替える方法を紹介します。ここで紹介する方法は、すべての分節が含まれない、タグが消える、などの問題もあるので、原文と訳文を入れ替える目的によっては使えません。
以下の 2 つの方法を説明します。
・テキスト形式のメモリ (TMX ファイル) を使う
・Excel ファイルにエクスポートする
すべての分節がメモリに登録されるわけではない
テキスト形式のメモリ (TMX ファイル) は、原文と訳文の入れ替えを行うには手軽に使えてとても便利です。TMX ファイルには、原文と訳文の区別だけでなく「英語」や「日本語」など言語の種類も記録されています。このため、英日メモリ (.sdltm ファイル) からエクスポートした .tmx ファイルは、そのまま反対方向の日英メモリにインポートできます。これで入れ替えができます。タグもほぼ維持されます。変更履歴が付いていてもメモリは履歴を適切に処理できます。
ただ、1 つ問題があります。それは、固定要素だけが違う分節はメモリに登録されないことです (固定要素の詳細については、以前の記事【前編】タイピングを減らそうも参照してください)。以下のような 2 つの分節があり、頭字語の「AC」と「DC」が固定要素として認識されていたとします。
この場合、2 つの分節を訳しても、メモリに登録される分節は「AC電源ケーブルをチェックします。」の 1 つだけです。「DC」の分節は「AC」の分節と固定要素以外がまったく同じなのでメモリに登録されません。前回の英単語チェックではこうした英単語こそチェックしたいので、1 つしかメモリに登録されない仕様は困ります。
もうメモリの形になっていて、それをチェックしたいというときは TMX ファイルを使って問題ありませんが、sdlxliff ファイルの状態でチェックをしたい場合はメモリを介さない方法が必要になります。
Excel へのエクスポートはタグと変更履歴を無視する
メモリを介さない方法の 1 つが、sdlxliff ファイルを Excel ファイルにエクスポートして原文と訳文を入れ替える方法です。これなら、sdlxliff ファイル内にある分節をすべてチェックできます。ただ、この方法にも問題があります。Excel ファイルにエクスポートするとタグがほぼ消えます。また、変更履歴が認識されないので、変更履歴を残している場合は使えません (削除した文字もすべてそのままエクスポートされます)。
今回の英単語チェックという目的では、タグは消えても構わないので、私は Excel ファイルにエクスポートする方法を使います。変更履歴があるときは悩ましいですが、変更履歴付きのファイルをバックアップした上で、変更履歴をすべて適用します。これでファイルをエクスポートし、その後で元の変更履歴付きのファイルを戻します (かなり、面倒です)。
TMX ファイルを使う方法から説明していきます。以下の説明では「英日翻訳をしているときに、日英に入れ替えてチェックを行う」という状況を想定しています。
事前に必要なもの: TMX ファイル用のファイル タイプ定義 (File type definition for TMX)
手順は、以下のようになります。
1. すべての分節をメモリに登録する
2. 登録した英日メモリを TMX ファイルにエクスポートする
3. 日英メモリを作り、TMX ファイルをインポートする (ここで、入れ替えを行う)
4. 日英メモリを TMX ファイルにエクスポートする
5. 日英プロジェクトに TMX ファイルを追加する
では、始めていきましょう。
事前準備
事前準備として、TMX ファイル用のファイル タイプ定義を Trados にインストールします。このファイル タイプをインストールしておくと .tmx ファイルをそのまま翻訳ファイルとしてエディターで開くことができます。
ファイル タイプは、他のアプリと同様に AppStore からダウンロードしてインストールできます。バージョン 2021 以降だったら、Trados の [ようこそ] 画面から検索できます。インストールすると、プロジェクトの設定の [ファイルの種類] 画面に [新たなインストール済みのファイルの種類が存在します。] というメッセージが表示されるので、そこをクリックして TMX ファイル用のファイル タイプを有効にします。
事前準備はこれで完了です。では、実際の手順に進みます。
1. すべての分節をメモリに登録する
まず、念のため、現在エディターに入力してある訳文をすべてメモリに登録します。ファイル リストから、対象の翻訳ファイルを右クリックして [一括タスク] > [メインの翻訳メモリの更新] を選択します。画面の指示に従ってウィザードを進めます。メモリに登録する分節のステータスなども必要に応じて設定できます。なお、この操作を行っても、最初に説明した「固定要素以外がまったく同じ分節」は登録されません。
2. 英日メモリを TMX ファイルにエクスポートする
メモリを更新したらエクスポートします。[プロジェクトの設定] のメモリの設定画面で、対象のメモリを選択して [エクスポート] をクリックします。既定で TMX ファイルにエクスポートされると思いますが、念のためファイル名を指定するときにファイルの形式も確認します。
3. 日英メモリを作り、TMX ファイルをインポートする
ここで、言語方向を入れ替えた日英メモリを新しく作成します。そこに、エクスポートした TMX ファイルをインポートします。英日メモリからエクスポートした TMX ファイルをそのまま日英メモリにインポートできます。これで、入れ替えは完了です。
4. 日英メモリを TMX ファイルにエクスポートする
日英メモリにインポートできたら、改めて TMX ファイルにエクスポートします。これで、日英の TMX ファイルの完成です。
5. 日英プロジェクトに TMX ファイルを追加する
最後に、日英プロジェクトを作成して、日英の TMX ファイルを翻訳ファイルとして追加します。これで、日英の TMX ファイルに対して QA Checker を実行できます。日英プロジェクトは、チェック用のものを 1 つ作り、そこに QA Checker の設定などをしておくと便利です。 毎回、そのプロジェクトにファイルを追加してチェックできます。
TMX ファイルを使う手順は以上です。書いてみると、意外と手順が多くなってしまいました。英日の TMX ファイルをそのまま日英プロジェクトに追加できないかと思って試してみたのですが、それはできませんでした。メモリ (.sdltm ファイル) にインポートして入れ替えるという処理がどうしても必要なようです。次の Excel ファイルを使う方が手順は少ないです。
次に、メモリを介さず、sdlxliff ファイルを Excel ファイルにエクスポートして入れ替えをする方法を説明します。
事前に必要なもの: Excel にエクスポートするアプリ (Export to Excel)
手順は、以下のようになります。
1. Excel ファイルにエクスポートする
2. 日英プロジェクトに Excel ファイルを Bilingual Excel として追加する (ここで、入れ替えを行う)
事前準備
事前準備として、sdlxliff ファイルを Excel ファイルにエクスポートしてくれるアプリ Export to Excel をインストールします。Excel ファイルへのエクスポートを行う方法はこのアプリを使う以外にもいくつかありますが、このアプリはいろいろな設定もできて便利なので私はこれを使っています。
では、始めましょう。
1. Excel ファイルにエクスポートする
Export to Excel アプリをインストールすると、ファイル リストの [一括タスク] に [Export to Excel] というコマンドが表示されるようになります。このコマンドをクリックしてエクスポートします。
エクスポートする対象などを設定できます。ロックされている分節をチェックしない場合は、[Exclude locked segments] を選択して、ロックされている分節がエクスポートされないようにします。
以下のような Excel ファイルがエクスポートされます。この Excel ファイルはエクスポート元の sdlxliff ファイルと同じ場所に生成されます。残念ながら、この時点でタグはなくなっています。
2. 日英プロジェクトに Excel ファイルを Bilingual Excel として追加する
Excel ファイルへのエクスポートができたら、今度はそれを日英プロジェクトに翻訳ファイルとして追加します。このとき、Excel ファイルを通常の Excel ファイルではなく「Bilingual Excel」として追加します。
ファイルを追加する前に、ファイルの種類として Bilingual Excel が選ばれるように設定をします。日英プロジェクトの [プロジェクトの設定] から [ファイルの種類] 画面を開き、拡張子「.xlsx」に対してBilingual Excel だけが有効になるように他の Excel 関連のチェックボックスをオフにします。
このリストは、上から順番に適用されていくので、チェックボックスをオフにするのではなく、Bilingual Excel を一番上に移動することでも Bilingual Excel が選ばれるように設定できます。
Bilingual Excel が選ばれるように設定したら、次に、Bilingual Excel の中身を設定します。 左側のリストから [Bilingual Excel] > [全般設定] を選択すると、以下の画面が表示されます。
[原文列:] には、先ほどエクスポートした Excel ファイルで日本語が入力されている「C」列を指定し、[訳文列:] には英語が入力されている「B」列を指定します。ここで、原文と訳文の入れ替えを行います。
これで準備は完了です。後は、エクスポートした Excel ファイルをプロジェクトに追加すれば、原文が日本語、訳文が英語の翻訳ファイルができあがります。これで QA Checker を実行できます。
今回は以上です。「原文と訳文を入れ替える」というタイトルにしていますが、それ以外の説明が少し多くなってしまいました。原文と訳文を入れ替える方法はその目的によっていろいろあると思いますので、目的に合った方法を探してみてください。
Tweet
前回の英単語チェックの記事で、原文と訳文を入れ替えてチェックをすると効果的という話をしました。今回は、実際に Trados で原文と訳文を入れ替える方法を説明します。
原文と訳文を入れ替えるといっても、その目的はさまざまだと思います。また、入れ替える方法も実はたくさんあります。この記事では、前回の記事で説明した英単語チェックを目的として入れ替える方法を紹介します。ここで紹介する方法は、すべての分節が含まれない、タグが消える、などの問題もあるので、原文と訳文を入れ替える目的によっては使えません。
以下の 2 つの方法を説明します。
・テキスト形式のメモリ (TMX ファイル) を使う
・Excel ファイルにエクスポートする
どちらの方法にも問題がある
すべての分節がメモリに登録されるわけではない
テキスト形式のメモリ (TMX ファイル) は、原文と訳文の入れ替えを行うには手軽に使えてとても便利です。TMX ファイルには、原文と訳文の区別だけでなく「英語」や「日本語」など言語の種類も記録されています。このため、英日メモリ (.sdltm ファイル) からエクスポートした .tmx ファイルは、そのまま反対方向の日英メモリにインポートできます。これで入れ替えができます。タグもほぼ維持されます。変更履歴が付いていてもメモリは履歴を適切に処理できます。
ただ、1 つ問題があります。それは、固定要素だけが違う分節はメモリに登録されないことです (固定要素の詳細については、以前の記事【前編】タイピングを減らそうも参照してください)。以下のような 2 つの分節があり、頭字語の「AC」と「DC」が固定要素として認識されていたとします。
この場合、2 つの分節を訳しても、メモリに登録される分節は「AC電源ケーブルをチェックします。」の 1 つだけです。「DC」の分節は「AC」の分節と固定要素以外がまったく同じなのでメモリに登録されません。前回の英単語チェックではこうした英単語こそチェックしたいので、1 つしかメモリに登録されない仕様は困ります。
もうメモリの形になっていて、それをチェックしたいというときは TMX ファイルを使って問題ありませんが、sdlxliff ファイルの状態でチェックをしたい場合はメモリを介さない方法が必要になります。
Excel へのエクスポートはタグと変更履歴を無視する
メモリを介さない方法の 1 つが、sdlxliff ファイルを Excel ファイルにエクスポートして原文と訳文を入れ替える方法です。これなら、sdlxliff ファイル内にある分節をすべてチェックできます。ただ、この方法にも問題があります。Excel ファイルにエクスポートするとタグがほぼ消えます。また、変更履歴が認識されないので、変更履歴を残している場合は使えません (削除した文字もすべてそのままエクスポートされます)。
今回の英単語チェックという目的では、タグは消えても構わないので、私は Excel ファイルにエクスポートする方法を使います。変更履歴があるときは悩ましいですが、変更履歴付きのファイルをバックアップした上で、変更履歴をすべて適用します。これでファイルをエクスポートし、その後で元の変更履歴付きのファイルを戻します (かなり、面倒です)。
テキスト形式のメモリ (TMX ファイル) を使う
TMX ファイルを使う方法から説明していきます。以下の説明では「英日翻訳をしているときに、日英に入れ替えてチェックを行う」という状況を想定しています。
事前に必要なもの: TMX ファイル用のファイル タイプ定義 (File type definition for TMX)
手順は、以下のようになります。
1. すべての分節をメモリに登録する
2. 登録した英日メモリを TMX ファイルにエクスポートする
3. 日英メモリを作り、TMX ファイルをインポートする (ここで、入れ替えを行う)
4. 日英メモリを TMX ファイルにエクスポートする
5. 日英プロジェクトに TMX ファイルを追加する
では、始めていきましょう。
事前準備
事前準備として、TMX ファイル用のファイル タイプ定義を Trados にインストールします。このファイル タイプをインストールしておくと .tmx ファイルをそのまま翻訳ファイルとしてエディターで開くことができます。
ファイル タイプは、他のアプリと同様に AppStore からダウンロードしてインストールできます。バージョン 2021 以降だったら、Trados の [ようこそ] 画面から検索できます。インストールすると、プロジェクトの設定の [ファイルの種類] 画面に [新たなインストール済みのファイルの種類が存在します。] というメッセージが表示されるので、そこをクリックして TMX ファイル用のファイル タイプを有効にします。
事前準備はこれで完了です。では、実際の手順に進みます。
1. すべての分節をメモリに登録する
まず、念のため、現在エディターに入力してある訳文をすべてメモリに登録します。ファイル リストから、対象の翻訳ファイルを右クリックして [一括タスク] > [メインの翻訳メモリの更新] を選択します。画面の指示に従ってウィザードを進めます。メモリに登録する分節のステータスなども必要に応じて設定できます。なお、この操作を行っても、最初に説明した「固定要素以外がまったく同じ分節」は登録されません。
2. 英日メモリを TMX ファイルにエクスポートする
メモリを更新したらエクスポートします。[プロジェクトの設定] のメモリの設定画面で、対象のメモリを選択して [エクスポート] をクリックします。既定で TMX ファイルにエクスポートされると思いますが、念のためファイル名を指定するときにファイルの形式も確認します。
3. 日英メモリを作り、TMX ファイルをインポートする
ここで、言語方向を入れ替えた日英メモリを新しく作成します。そこに、エクスポートした TMX ファイルをインポートします。英日メモリからエクスポートした TMX ファイルをそのまま日英メモリにインポートできます。これで、入れ替えは完了です。
4. 日英メモリを TMX ファイルにエクスポートする
日英メモリにインポートできたら、改めて TMX ファイルにエクスポートします。これで、日英の TMX ファイルの完成です。
5. 日英プロジェクトに TMX ファイルを追加する
最後に、日英プロジェクトを作成して、日英の TMX ファイルを翻訳ファイルとして追加します。これで、日英の TMX ファイルに対して QA Checker を実行できます。日英プロジェクトは、チェック用のものを 1 つ作り、そこに QA Checker の設定などをしておくと便利です。 毎回、そのプロジェクトにファイルを追加してチェックできます。
TMX ファイルを使う手順は以上です。書いてみると、意外と手順が多くなってしまいました。英日の TMX ファイルをそのまま日英プロジェクトに追加できないかと思って試してみたのですが、それはできませんでした。メモリ (.sdltm ファイル) にインポートして入れ替えるという処理がどうしても必要なようです。次の Excel ファイルを使う方が手順は少ないです。
Excel ファイルにエクスポートする
次に、メモリを介さず、sdlxliff ファイルを Excel ファイルにエクスポートして入れ替えをする方法を説明します。
事前に必要なもの: Excel にエクスポートするアプリ (Export to Excel)
手順は、以下のようになります。
1. Excel ファイルにエクスポートする
2. 日英プロジェクトに Excel ファイルを Bilingual Excel として追加する (ここで、入れ替えを行う)
事前準備
事前準備として、sdlxliff ファイルを Excel ファイルにエクスポートしてくれるアプリ Export to Excel をインストールします。Excel ファイルへのエクスポートを行う方法はこのアプリを使う以外にもいくつかありますが、このアプリはいろいろな設定もできて便利なので私はこれを使っています。
では、始めましょう。
1. Excel ファイルにエクスポートする
Export to Excel アプリをインストールすると、ファイル リストの [一括タスク] に [Export to Excel] というコマンドが表示されるようになります。このコマンドをクリックしてエクスポートします。
エクスポートする対象などを設定できます。ロックされている分節をチェックしない場合は、[Exclude locked segments] を選択して、ロックされている分節がエクスポートされないようにします。
以下のような Excel ファイルがエクスポートされます。この Excel ファイルはエクスポート元の sdlxliff ファイルと同じ場所に生成されます。残念ながら、この時点でタグはなくなっています。
2. 日英プロジェクトに Excel ファイルを Bilingual Excel として追加する
Excel ファイルへのエクスポートができたら、今度はそれを日英プロジェクトに翻訳ファイルとして追加します。このとき、Excel ファイルを通常の Excel ファイルではなく「Bilingual Excel」として追加します。
ファイルを追加する前に、ファイルの種類として Bilingual Excel が選ばれるように設定をします。日英プロジェクトの [プロジェクトの設定] から [ファイルの種類] 画面を開き、拡張子「.xlsx」に対してBilingual Excel だけが有効になるように他の Excel 関連のチェックボックスをオフにします。
このリストは、上から順番に適用されていくので、チェックボックスをオフにするのではなく、Bilingual Excel を一番上に移動することでも Bilingual Excel が選ばれるように設定できます。
Bilingual Excel が選ばれるように設定したら、次に、Bilingual Excel の中身を設定します。 左側のリストから [Bilingual Excel] > [全般設定] を選択すると、以下の画面が表示されます。
[原文列:] には、先ほどエクスポートした Excel ファイルで日本語が入力されている「C」列を指定し、[訳文列:] には英語が入力されている「B」列を指定します。ここで、原文と訳文の入れ替えを行います。
これで準備は完了です。後は、エクスポートした Excel ファイルをプロジェクトに追加すれば、原文が日本語、訳文が英語の翻訳ファイルができあがります。これで QA Checker を実行できます。
今回は以上です。「原文と訳文を入れ替える」というタイトルにしていますが、それ以外の説明が少し多くなってしまいました。原文と訳文を入れ替える方法はその目的によっていろいろあると思いますので、目的に合った方法を探してみてください。
Tweet
2022年12月18日
CamelCase と ALLUPPER CASE を自作する
Advent Calendar 「翻訳に役立ってくれそうなツール」の記事です。今回は、Trados と正規表現です。
私はしつこく Xbench の無料版 (V2.9) を使っていますが、無料版で一番残念なのが QA チェックの CamelCase Mismatch と ALLUPPER CASE Mismatch を有効にできないことです。有料版の V3 以降では有効にできるらしいですが、V2.9 では DISABLED と表示されるだけで、これを有効にするオプションがありません。このチェックは、大文字の単語 (WAF や HTTP など) とキャメルケースの単語 (GetStatus や SetTranslationMemory など) が原文と訳文で一致しているかを確認してくれるものだと思います。英単語は「必ず原文からコピーする」というルールを徹底していれば間違うはずはないのですが、それでも抜けてしまったりすることがあるので、こうしたチェックはどうしても必要になります。
そこで、今回はこのチェックを Trados の QA Checker を使って再現することに挑戦します。日英翻訳と英日翻訳の両方向について再現する方法を考えてみました。で、考えてみたので今回はその方法を紹介しますが、実はあまりうまく機能しないケースがあります。どうしても誤検出が増えてしまいます。もし、改善案などありましたら、教えて頂けると嬉しいです。
QA Checker の詳細については、以前の記事「正規表現なしで、検証機能を使う」を参照してください。この記事でも書いているとおり、QA Checker の設定はファイルにエクスポートして保存しておくことができます。同じように、正規表現にも [アクション] の中に [アイテムのエクスポート] と [アイテムのインポート] が用意されています。この画面のエクスポートは正規表現のみをエクスポートします。また便利な点として、この画面のインポートは削除をせず、追加と更新だけをしてくれます。つまり、既存のアイテムはそのまま残り、新しいアイテムは追加され、そして更新されたアイテムは更新されます。QA Checker 全体のプロファイルからインポートをすると、総入れ替えになるので古いアイテムは削除されます。
日英翻訳の場合は、大文字やキャメルケースなど関係なく単純に「英単語を抜き出す」と考えればよいので簡単です。
英単語
原文:
訳文:
私は、数字、ハイフン、ピリオドも含めて上記のように設定しています。これで、英語の小文字、大文字、数字、ハイフン、ピリオドで構成される単語を原文から抽出できます。訳文の
全角の英単語
ここまでは簡単ですが、日英翻訳で問題になるのは全角です。原文が日本語の場合、英数字が全角で書かれていることがあります。上記の式は全角にはマッチしません。そこで、私は以下の式も追加しています。
原文:
訳文:
これで全角の英数字も抽出できます。抽出はできますが、訳文の
原文が英語の場合は、当然ながらすべてが英単語なので上記のように単純にはいきません。大文字とキャメルケースを指定する必要があります。
大文字で構成される単語
大文字は比較的簡単です。私は、ハイフンも含めて以下のように指定しています。「大文字かハイフンが 2 回以上連続する」という意味です。
原文:
1 文字の英数字
上記の条件は「2 回以上」という指定なので server A などにはマッチしません。そこで、英数字 1 文字だけを抽出する式も追加します。
原文:
キャメルケース
いよいよキャメルケースです。少し複雑になります。私は、考えていたら複雑すぎてよくわからなくなったので「小文字始まり」と「大文字始まり」の 2 つに分けることにしました。
・小文字始まりキャメルケース (getTableStatus など)
原文:
・大文字始まりキャメルケース (GetTableStatus など)
原文:
こちらは「大文字で始まって、小文字が登場して、また大文字が登場する」という条件です。「大文字で始まって、小文字が登場する」だけでは、先頭を大文字にする通常の文すべてに一致してしまうので、2 度目の大文字が必要です。
文頭以外の大文字始まり (This is a Windows server など)
大文字の連続やキャメルケースではなく、単に文の中で大文字で始まる単語もチェックしたい場合があります。ただ、英語の文は通常大文字で始まるのでこれがなかなか大変です。文頭の大文字は抽出しないようにする必要があります。
原文:
先頭の
さて、いろいろなチェックをしても、コマンドやプロパティ名などが満載の IT 系文書のときは英単語の記述にどうしても不安が残ります。そんなときは、原文と訳文を入れ替えてチェックをしてみます。これはかなり有効です。
Trados の正規表現の一部は「原文から訳文」方向のチェックしか行いません。正規表現の条件をよく見てみると「グループ化された検索表現」は以下の 2 つしか条件がありません。
訳文に
また、上記のとおり、英語 -> 日本語のチェックはかなり複雑で False positive も False negative も多くなります。これを、日本語 -> 英語に変えるとチェックが単純になり、エラーも見つかりやすくなります。英語 -> 日本語の場合、set や get などの小文字始まりのプログラム コマンドは普通の英語と区別がつかないので検出できませんが、訳出後に日本語 -> 英語に変えて英単語のチェックをすれば検出できます。このチェックは、私の経験上、けっこう有効に機能します。
今回は以上です。Trados で原文と訳文を入れ替える方法については、次回とりあげたいと思います。正規表現をいろいろ考えていると、素直に新しい Xbench を購入した方がいいんじゃないかという考えが頭をよぎらないこともないですが、とりあえず、もう少し頑張ってみます。正規表現はよくわからないことが多いので、アドバイス頂けるととても嬉しいです。
Tweet
私はしつこく Xbench の無料版 (V2.9) を使っていますが、無料版で一番残念なのが QA チェックの CamelCase Mismatch と ALLUPPER CASE Mismatch を有効にできないことです。有料版の V3 以降では有効にできるらしいですが、V2.9 では DISABLED と表示されるだけで、これを有効にするオプションがありません。このチェックは、大文字の単語 (WAF や HTTP など) とキャメルケースの単語 (GetStatus や SetTranslationMemory など) が原文と訳文で一致しているかを確認してくれるものだと思います。英単語は「必ず原文からコピーする」というルールを徹底していれば間違うはずはないのですが、それでも抜けてしまったりすることがあるので、こうしたチェックはどうしても必要になります。
そこで、今回はこのチェックを Trados の QA Checker を使って再現することに挑戦します。日英翻訳と英日翻訳の両方向について再現する方法を考えてみました。で、考えてみたので今回はその方法を紹介しますが、実はあまりうまく機能しないケースがあります。どうしても誤検出が増えてしまいます。もし、改善案などありましたら、教えて頂けると嬉しいです。
QA Checker の正規表現
QA Checker の詳細については、以前の記事「正規表現なしで、検証機能を使う」を参照してください。この記事でも書いているとおり、QA Checker の設定はファイルにエクスポートして保存しておくことができます。同じように、正規表現にも [アクション] の中に [アイテムのエクスポート] と [アイテムのインポート] が用意されています。この画面のエクスポートは正規表現のみをエクスポートします。また便利な点として、この画面のインポートは削除をせず、追加と更新だけをしてくれます。つまり、既存のアイテムはそのまま残り、新しいアイテムは追加され、そして更新されたアイテムは更新されます。QA Checker 全体のプロファイルからインポートをすると、総入れ替えになるので古いアイテムは削除されます。
日本語 -> 英語の場合
日英翻訳の場合は、大文字やキャメルケースなど関係なく単純に「英単語を抜き出す」と考えればよいので簡単です。
英単語
原文:
([a-zA-Z0-9\-\.]+)
訳文:
$1
私は、数字、ハイフン、ピリオドも含めて上記のように設定しています。これで、英語の小文字、大文字、数字、ハイフン、ピリオドで構成される単語を原文から抽出できます。訳文の
$1
は「原文の (
)
内とまったく同じ内容」ということを意味します。原文から CAT が抽出されたら、訳文でも CAT を探します。全角の英単語
ここまでは簡単ですが、日英翻訳で問題になるのは全角です。原文が日本語の場合、英数字が全角で書かれていることがあります。上記の式は全角にはマッチしません。そこで、私は以下の式も追加しています。
原文:
([a-zA-Z0-9]+)
訳文:
$1
これで全角の英数字も抽出できます。抽出はできますが、訳文の
$1
はうまく機能しません。訳文の英語では英数字は半角にするので、原文の全角 CAT を訳文で正しく半角 CAT に変換していてもすべてエラーとして検出されます。安全のためにこの式を使ってはいますが、誤検出が多くなります。英語 -> 日本語の場合
原文が英語の場合は、当然ながらすべてが英単語なので上記のように単純にはいきません。大文字とキャメルケースを指定する必要があります。
大文字で構成される単語
大文字は比較的簡単です。私は、ハイフンも含めて以下のように指定しています。「大文字かハイフンが 2 回以上連続する」という意味です。
原文:
([A-Z\-]{2,})
1 文字の英数字
上記の条件は「2 回以上」という指定なので server A などにはマッチしません。そこで、英数字 1 文字だけを抽出する式も追加します。
原文:
(\b[\w\d]\b)
\b
は単語の始まりまたは終わりを示します。\w
は英文字、\d
は数字です。この式は「単語の始まりがあって、英数字が 1 つあって、単語の終わりになる」という条件になります。私は数字も含めていますが、数字は数字チェックの機能が別にあるのでここに含めなくても OK です。キャメルケース
いよいよキャメルケースです。少し複雑になります。私は、考えていたら複雑すぎてよくわからなくなったので「小文字始まり」と「大文字始まり」の 2 つに分けることにしました。
・小文字始まりキャメルケース (getTableStatus など)
原文:
(\b[a-z]+\-*[A-Z]+[a-z\-]*)
\b
は単語の始まりなので「小文字で始まって、大文字が 1 回以上登場して、また小文字がある」という条件です。念のため、ハイフンもありということにしています。・大文字始まりキャメルケース (GetTableStatus など)
原文:
(\b[A-Z]+\-*[a-z]+\-*[A-Z]+[\w\d\-]*)
こちらは「大文字で始まって、小文字が登場して、また大文字が登場する」という条件です。「大文字で始まって、小文字が登場する」だけでは、先頭を大文字にする通常の文すべてに一致してしまうので、2 度目の大文字が必要です。
文頭以外の大文字始まり (This is a Windows server など)
大文字の連続やキャメルケースではなく、単に文の中で大文字で始まる単語もチェックしたい場合があります。ただ、英語の文は通常大文字で始まるのでこれがなかなか大変です。文頭の大文字は抽出しないようにする必要があります。
原文:
^.+([A-Z]+\-*[a-z0-9]+\-*\b)
先頭の
^
は正規表現で「文頭」を意味します。この式は「文頭から何か文字があった後に大文字が登場する」という条件になります。すみません、これも考えてはみたものの、かなり誤検出が多くなります。文頭以外に大文字が登場する文は実はかなりあります。たとえば、見出しでヘッドライン スタイルが使われている、文全体が丸括弧で囲まれている、Note: のようなコロンの後に文が書かれている、などです。こうしたケースを除外しようとするとなかなか面倒です。原文と訳文を入れ替えてチェックする
さて、いろいろなチェックをしても、コマンドやプロパティ名などが満載の IT 系文書のときは英単語の記述にどうしても不安が残ります。そんなときは、原文と訳文を入れ替えてチェックをしてみます。これはかなり有効です。
Trados の正規表現の一部は「原文から訳文」方向のチェックしか行いません。正規表現の条件をよく見てみると「グループ化された検索表現」は以下の 2 つしか条件がありません。
訳文に
$1
などと記述するケースが「グループ化された検索表現」にあたりますが、この場合は必ず原文を先に検索する必要があります。それ以外の場合は「訳文は一致するが〜」や「訳文チェックのみ」が可能ですが、$1
などを使う場合はそれができません (この画面上ではどの条件も選択できますが、期待どおりの動作になりません)。このため、通常は「訳文に余計な英単語が入っている」というケースは検出できませんが、原文と訳文を入れ替えてチェックをすれば検出できます。また、上記のとおり、英語 -> 日本語のチェックはかなり複雑で False positive も False negative も多くなります。これを、日本語 -> 英語に変えるとチェックが単純になり、エラーも見つかりやすくなります。英語 -> 日本語の場合、set や get などの小文字始まりのプログラム コマンドは普通の英語と区別がつかないので検出できませんが、訳出後に日本語 -> 英語に変えて英単語のチェックをすれば検出できます。このチェックは、私の経験上、けっこう有効に機能します。
今回は以上です。Trados で原文と訳文を入れ替える方法については、次回とりあげたいと思います。正規表現をいろいろ考えていると、素直に新しい Xbench を購入した方がいいんじゃないかという考えが頭をよぎらないこともないですが、とりあえず、もう少し頑張ってみます。正規表現はよくわからないことが多いので、アドバイス頂けるととても嬉しいです。
Tweet