« 2014年11月 | トップページ | 2015年4月 »

2015.03.13

指定していない正規表現の回避方法

★★
前のエントリで書いた、検索機能の変な挙動(side TRADOS: ただの検索でも正規表現?)ですが、これは2014のSP2で入ってきちゃったバグだろうと、しんハムさんがおっしゃってました。たしかに、タイミング的にはそんな感じです。

この挙動を回避する方法が、シーブレインさんのブログで紹介されていました。

リンク:つぼログ。-IT翻訳の現場から-: Trados Studio のちょっとホラーな検索機能

おもしろいタイトルにひかれて見てみたら、そういう話でした。


ちなみに、このブログを運営しているシーブレインさんの方も、4月のJTFスタイルガイドセミナーに登壇します。

リンク:JTFスタイルガイドセミナー|JTF 日本翻訳連盟

4/13(月)、私が担当する第1部に続く第2部です。翻訳会社の人に直接役に立つ内容ですが、翻訳会社がスタイルガイドをどう扱っているか、フリーランス翻訳者としても知っておくと必ず参考になるはずです。

さて、検索機能の不審な挙動の回避方法です。

簡単に言うと、

1. 正規表現を使ってもいないのにエラーと言われる。

2. [使用]をオンにして[ワイルドカード]を選択すし、[使用]をオフにする。

3. いったん検索ウィンドウを閉じる

1503131

ということです。これをやると、あ~ら不思議。エラーがなくなります。しかも、これは「つぼログ」さんに書いてなかったのですが、いったんこの操作をすると、

引き続き正常に動作する

ということです。これはうれしい。


ただし、いったん[使用]をオンにして[正規表現]を選択し、またエラーが出ると、

1503132_2
(このエラー表示は正しいわけです)

またヘンな挙動が復活します。

たしかに、なかなかホラーなバグでした。

03:02 午前 バージョン - Studio 2014 | | コメント (0) | トラックバック (0)

はてなブックマークに追加

2015.03.02

検索で正規表現を回避

★★
前エントリで書いた検索ダイアログの挙動、なにが困るって

正規表現というものを知らなかったら、対処のしようがない

ということです。


対策は簡単。

正規表現をおぼえなくてもいいので、検索文字列の前に

半角の円記号(\)

を付けてください。

前回のエントリーで、

> 半角の丸括弧 ( ) というのは、正規表現で特殊な機能を持つ記号(メタ文字)です

と書きました。半角の円記号(\)を付けると、この特殊機能が無効になって、指定した文字がそのまま文字として検索される、ということです。これを、正規表現の世界では「エスケープする」と言います。


丸括弧だけでなく、以下の文字を検索したいときは同じ方法で対処できます。

・半角の角括弧 [ ]

・半角のアスタリスク *

・半角の疑問符 ?

・半角のプラス記号 +

以上の記号を検索するときは--- そんな機会、あんまりないかもしれませんが ---、これをお試しください。


以下は、正規表現のことを知っている人のための補足です。

上にあげた以外のメタ文字は、エスケープしなくてもいいみたいです。

・半角の中括弧 { }

・半角のハイフン -

・半角のカレット ^

・半角のドル記号 $

じゃあ、逆にこれらのメタ文字は正規表現に使えないのか? と思って試しましたが、そういうわけではありません。ちゃんと使えます。

ってことは、一部のメタ文字だけ、正規表現を指定しないときでもエスケープしなきゃいけないのって、これは仕様じゃなく、

単純なバグ

なんだゃないの? ということになります。


ちなみに、検索ダイアログについてのヘルプを見ると、こんな記述がありました。

Studio では正規表現に .Net 構文を使用します。正規表現の使用方法の詳細については、www.regular-expressions.info/reference.html を参照してください。

つまり、Perl系の正規表現と違う可能性があるようです(.Netの正規表現はよく知らない)。


※検索ダイアログで[ヘルプ]を押しても英語版ヘルプしか表示されない場合は、オンラインで以下のページをどうぞ。

http://producthelp.sdl.com/SDL_Trados_Studio_2014/client_ja/SDL_Trados_Studio_Help.htm

[翻訳とレビュー]→[テキストの使用方法]→[検索と置換における正規表現]


03:42 午前 バージョン - Studio 2014 | | コメント (0) | トラックバック (0)

はてなブックマークに追加

ただの検索でも正規表現?

★★
前回(といっても、もう3か月以上も空いてますが...)、QA Checkerの「単語リスト」でも正規表現を使える、というか、指定しなきゃいけない場合がある、ということを書きましたが、実は

ただの検索でも正規表現の指定が必要

らしいことがわかりました。


試しに、検索ダイアログで、半角丸括弧を検索文字列に指定してみてください。

1503021_2

こんな風に、エラーマークが表示されませんか?

赤い感嘆符にカーソルを合わせると、エラーの詳細が表示されます。

正規表現にエラーがあり、使用できません:解析中 "(" - )が足りません。

なんだそうです。

これ、正規表現のこと知らなかったら、何を言われてるかすらわかりませんよね?



先にこのメッセージの意味を解説しておきましょう。

半角の丸括弧 ( ) というのは、正規表現で特殊な機能を持つ記号(メタ文字)です。ご存じない方は、こちらの過去記事をどうぞ。

リンク: 翻訳者のための正規表現~基本その3

つまり、半角の丸括弧は常にペアで使わないといけない。でも、ここでは

開きカッコ ( しかなくて、閉じかっこ ) がありませんよー

というメッセージだったわけです。


でも、さっき指定した検索ダイアログ、別に正規表現を使うなんて指定してませんよね?

1503022_2

どうやら、Studioの検索/置換機能は、正規表現を指定しなくても、

特定の文字がメタ文字として認識されてしまう

という仕様のようです。


こんな変な仕様、Wordだろうと、正規表現に対応したテキストエディターだろうと、ほかのアプリケーションではいっさい見たことありません。さすがのTradosクォリティーです。

具体的な対策は、次のエントリに書きます。

03:14 午前 バージョン - Studio 2014 | | コメント (2) | トラックバック (0)

はてなブックマークに追加