複雑なテキストドキュメントは、memoQプロジェクトにインポートする前に少し変更する必要があるかもしれません。この変更または変換は前処理と呼ばれ、ドキュメントがインポートされる前に実行されます。
ドキュメントをインポート前に前処理する場合は、エクスポート後に元に戻す必要があります。そのため、ドキュメントをインポートする前に前処理を実行する場合は、エクスポート後に後処理を実行する必要があります。
ほとんどの場合、必要な操作は、ドキュメントに対していくつかの検索と置換動作を実行するだけです。そのために正規表現を使う必要がある場合もあります。Notepad++やUltraEditなどの開発者用テキストエディタを使用して、これらの変更を試すことができます。
これらをすべて行うには、memoQ 8.1以降のバージョンに含まれている検索と置換スクリプトを使用します。検索と置換スクリプトを使用すると、ドキュメントに対して一連の検索と置換動作を実行できます。プログラミングをする必要はありません。正規表現を使用して、構成ファイル内の検索と置換動作をリストする必要があります。これにより、C#やPowerShell、Pythonなどを学習する必要はなく、正規表現だけを学べばよいです。
テキスト (プレーンテキスト) ドキュメントのみ: 検索と置換スクリプトは、プレーンテキストドキュメント、タブ区切りテキストドキュメント (CSVなど)、タグ付きドキュメント (XMLやHTMLなど)、またはソースコードドキュメント (JSON、.propertiesなど) など、人間が読めるドキュメントで動作します。
このトピックでは、次の内容について説明します:
memoQまたはmemoQ TMS で検索と置換スクリプトを設定する方法
検索と置換の操作を記述する方法
プロジェクトテンプレートで検索と置換スクリプトを使用する方法:前処理 (インポート前)、後処理 (エクスポート後)、およびプロジェクト中 (インポート後など) の3つの使用例
memoQの準備:コンピュータで検索と置換スクリプトを設定する
コンピュータでは、検索と置換スクリプトが C:\Program Files\memoQ\FindReplace Tool フォルダにインストールされます。
旧バージョンでは、フォルダのパスが異なります: ご自分のmemoQバージョン のドキュメントを参照してください。
フォルダには、MemoQ.Tools.FindAndReplace.exe プログラムと、検索と置換ルールを含む.xmlファイルが含まれています。
memoQ 9.12以降がインストールされている場合は、自分のコンピュータで検索と置換スクリプトを使用できます。フォルダパスは後で使用する必要があるためメモしてください。
管理者アクセスが必要な場合があります: このフォルダを変更するには (検索と置換ルールを編集するなど)、管理者ユーザーのユーザー名とパスワードを入力する必要があります。十分なアクセス権がない場合は、Windowsの User Account Control サービスによって警告が表示されます。
memoQ TMS の準備:サーバーコンピュータで検索と置換スクリプトを設定する
管理者アクセスが必要: そのためには、 Remote Desktop を使用してmemoQ TMS コンピュータにアクセスし、管理者である必要があります。memoQ TMS コンピュータに対する管理者権限がない場合は、組織のシステムオペレータに連絡して、このトピックを参照してください。
memoQ TMS で、カスタムコード実行を設定します。
リモートデスクトップからmemoQ TMS コンピュータにログオンします。
Deployment tool を実行します:開始 キーを押して、deployment と入力します (最初の数文字で十分です)。結果リストで、 memoQ Server Deployment Administration をクリックします。memoQ Server Deployment Administration ウィンドウが開きます。
ツールが見つからない場合、またはmemoQ TMS がインストールされていない場合:memoQ TMS をインストールします。手順については、関連ドキュメント を参照してください。
memoQ TMS で、詳細 をクリックします。メニューで、 Configure custom code execution をクリックします。Configure custom code execution ウィンドウが開きます。
カスタムコードの実行のためのユーザーアカウント で、仮想サービスアカウント をクリックします。memoQ TMS がプログラムを実行すると、サーバー上のユーザーのように動作します。仮想サービスアカウント を選択すると、memoQ TMS は memoQ custom code execution service というユーザー名でプログラムを実行します。
スクリプトはネットワークにアクセスする必要がありますか? 仮想サービスアカウントは、memoQ TMS コンピュータ上で必要なすべての権限を受け取りますが、ネットワーク内の他のコンピュータにログオンすることはできません。スクリプトが他のコンピュータにアクセスする必要がある場合は、カスタムアカウント を使用します。サービスで使用できるドメインアカウントについては、IT部門またはIT管理者に問い合わせてください。詳細 (ユーザー名、パスワード、ドメイン名) が表示されたら、このアカウント をクリックし、受信した名前とパスワードをアカウント名 ボックスとパスワード ボックスに入力します。
Limit executable files to scripting and batch files only (no EXEs) チェックボックスをオフ にします。検索と置換ツールは.exe ファイルです。
次へ をクリックします。次の画面では不足しているものがあるか表示されます。すべてが緑のティックマークの場合は、完了 をクリックします。デプロイメントツールは、カスタムコード実行用にサービスを構成します。サービスアカウントは、必要なすべての権限とアクセス許可を受け取ります。
検索と置換ツールをmemoQ TMS が実行できるフォルダにコピーする
検索と置換 ツールを使用する前に、memoQ TMS が使用できるフォルダにツールのファイルをコピーする必要があります。
Remote Desktop を使用してmemoQ TMS コンピュータにログインし、File Explorer を使用してファイルをコピーします。
サーバ上での作業: すべてのドライブ、フォルダ、パスは、memoQ TMS コンピュータ上にローカルに存在します。この説明は、memoQ TMS がデフォルト設定でインストールされている場合に有効です。
まず、検索と置換 ツールはC:\Program Files\Kilgray\MemoQ Server\FindReplace Tool フォルダにあります。最初にこのフォルダを開く:File Explorer を開きます。このフォルダをファイルエクスプローラ (This PC ) ウィンドウのアドレスバーにコピー&ペーストし、Enter を押します。
FindReplace Tool フォルダ内の両方のファイルを選択してコピーします。
次に、ファイルエクスプローラでC:\ProgramData\MemoQ Server\Scripting フォルダを開きます。通常、このフォルダは非表示になっています。このフォルダを開くには、ファイルエクスプローラウィンドウのアドレスバーにこのトピックのパスを入力 (貼り付けない) し、Enter を押します。(フォルダをコピーして貼り付けると、ファイルをコピーできなくなります。)
Scripting フォルダ内に、FindAndReplace という別のフォルダを作成します。その新しいフォルダを開きます。
FindAndReplace フォルダ内のファイルを貼り付けます。
ドキュメント変換の設定:構成ファイルに検索と置換動作を記述します。
検索と置換ツールを使用するには、検索されたテキストの置換方法を知るための構成ファイルが必要です。
構成ファイルは、ツール自体と同じフォルダにある必要があります。したがって、実際の検索と置換の動作を設定するには、構成ファイルをサーバコンピュータにコピーするか、構成ファイルを編集する必要があります。
構成ファイルはハードコードされていません。検索と置換ツールを呼び出すときに、構成ファイルを選択できます。ただし、どの構成ファイルを選択した場合でも、そのファイルはサーバコンピュータのフォルダにある必要があります。
作業に必要なドキュメント形式ごとに個別の構成ファイルを使用できます。または、1つの構成ファイルを使用して、フォーマットと変換ごとに個別のセクションを記述することもできます。
プロジェクトテンプレートで自動操作を設定する場合は、検索と置換ツールを呼び出す必要があります。その後、 構成ファイルそして 構成ファイル内のセクションを選択する必要があります。
検索と置換構成ファイルはXMLファイルであり、1つのドキュメントフォーマットに対する検索と置換動作をリストします。複数のセクション、またはユースケース (usecase 要素) があります。各セクションまたはユースケースは、次のいずれかの動作に関するものです:
ドキュメントをインポートする前の変換 (例:PreImport )、
ドキュメントのエクスポート後の変換 (例:PostExport )、または
memoQ取り込み後のドキュメントの変換:ドキュメントのインポート後、前翻訳後、またはドキュメント完了後 (例:PostImport )。
これらのユースケースには任意の名前を付けることができます。たとえば、.xmlファイルにJSONのインポート/エクスポート変換と.poファイルのインポート/エクスポート変換を含めることができます。この場合、各ユースケースのセクションは、JSON-PreImport 、JSON-PostExport 、PO-PreImport 、PO-PostExport と呼ばれます。
インポート時に変換する場合は、エクスポート時に再び変換する必要があります: PreImport 変換を実行する場合は、エクスポート後に反対の変換を実行する必要があります (PostExport )。
既にプロジェクト内にあるドキュメントに対して検索と置換を実行するにはどうすればよいですか? ドキュメントのインポート後にカスタム動作を設定すると、memoQ TMS はドキュメントをプレーン (非圧縮) memoQ XLIFFファイルにエクスポートし、指定したスクリプトを実行して、変更したXLIFFファイルをプロジェクトにインポートします。これらはすべてバックグラウンドで実行されます。
構成ファイルを一から作成する必要はありません。FindAndReplace またはFindReplace Tool フォルダには、サンプル構成ファイルが含まれています。独自の変換を設定するには、example_config.xmlファイルのコピーを作成するだけです。ファイル内の変換を自分の変換に置き換えます。
この検索と置換 ツールは、2種類の検索置換動作をサポートしています。プレーンテキストを置換することも、正規表現とプレースホルダを使用してテキストを置換することもできます。
それぞれのユースケースについて、いくつかの検索と置換のルールを作成することができます。各ルールはsearchItem 要素に記述されます。searchItem要素のタイプ ("text"または"regex") は、プレーンテキストを置換するか、正規表現を使用するかを定義します。
各searchItem 要素には、searchExpression とreplaceExpression 要素があります。searchExpression 要素には、プレーンテキスト検索語または正規表現を1つだけ含める必要があります。replaceExpression 要素には、searchExpression の正規表現のプレースホルダを使用して、プレーンテキストの一節または置換ルールを1つだけ含める必要があります。
一例をあげます
このXMLドキュメントを翻訳する必要があるとします:
このドキュメントには、検索と置換 ツールを使用して解決できる2つの問題があります。
第一に、memoQは\n キャラクターを見つけたときに新しいセグメントを始めることができなければなりません。これらの文字は、memoQが認識できるマークアップに変換する必要があります。ドキュメントをインポートした (正規表現タグ化ツールを実行する重ねがけフィルタを使用して) 後 では、セグメンテーションルールが\n 文字を認識しないため、タグ付けはできません。ただし、ドキュメントをインポートする前に、各\n シーケンスを<break/> タグで置き換えることができます。これを行う場合は、ファイルのエクスポート後に<break/> タグを\n シーケンスに再度置き換える必要があります。XMLフィルタ構成では、<break/> タグを構造タグとして定義する必要があります。これにより、memoQは<break/> ごとに新しいセグメントを開始します。これらの変換は、検索と置換構成ファイルのPreImport およびPostExport 使用例で設定されます。
第2に、数字のみを含むセグメントがあります。翻訳者がドキュメントを受け取る前に、これらをロックする必要があります。これを行うには、ドキュメントがプロジェクト内に存在する間に実行されるカスタム自動操作であるmidscript を、ドキュメントのインポート直後に実行します。midscriptを実行すると、memoQ TMS はドキュメントを非圧縮memoQ XLIFFファイルにエクスポートし、スクリプトを実行してから、変更されたmemoQ XLIFFファイルからプロジェクトのドキュメントを更新します。
インポート後にドキュメントを変更するには、常にmemoQのXLIFFファイルで作業し、形式を念頭に置いて検索語または正規表現を記述する必要があります。
サンプル構成ファイルのPostImport ユースケースを次に示します:
検索と置換ツールを使用するようにプロジェクトテンプレートを設定する
トリック:検索と置換ツールを呼び出す小さなファイルをテンプレートに追加する
カスタムプログラムをテンプレート内に配置する必要があります。しかし検索と置換 ツールはその外にあります:お使いのコンピュータまたはmemoQ TMS コンピュータのフォルダにあります。
この時点で、ツールはどのようにテンプレートに組み込まれますか?
それにはコツがあります。検索と置換ツールを呼び出す小さなバッチファイルを作成する必要があります。
ツールがmemoQ TMS 上にある場合、バッチファイルは次のようになります。
"C:\ProgramData\MemoQ Server\Scripting\FindAndReplace\MemoQ.Tools.FindAndReplace.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9
ツールがコンピュータ上にある場合、バッチファイルは次のようになります:
"C:\Program Files\memoQ\FindReplace Tool\MemoQ.Tools.FindAndReplace.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9
含めるファイルを作成するには、上記の行を選択してコピーします。Notepad を開いて、この行を貼り付けます。ドキュメントを独自の文書 フォルダに保存し、StartScript.bat という名前を付けます。
memoQ TMS コンピュータでは、検索と置換 ツールがScripting フォルダ内のFindAndReplace フォルダに設定されている場合、この行はシステムで機能します。それ以外の場合は、行のパスを変更する必要があります。
プロジェクトテンプレートの編集 ウィンドウの自動操作 で、このファイルを自動操作のスクリプトとして追加します。
詳細については: このトピックの他のセクションを参照してください。
ドキュメントをインポートする前に実行する検索と置換動作を追加する
特定の種類のドキュメントに対して検索と置換動作を実行するには、検索と置換操作を含む.xmlファイルがあることを確認します。.xmlファイルは、memoQ TMS コンピュータ の検索と置換 ツールと同じフォルダにある必要があります。
ドキュメントをインポートする前に検索と置換動作を実行するには、.xmlファイルにPreImport セクションが含まれている必要があります。
検索と置換動作を使用して.xmlファイルを設定するには: 上記のmemoQ TMS の準備:検索と置換スクリプトの設定 の最後の展開セクションをお読みください。
編集するオンラインプロジェクトテンプレート を開きます。プロジェクトテンプレートの編集 ウィンドウが開きます。
プロジェクトテンプレートの編集 ウィンドウで、自動操作 を選択します。自動操作 ペインで、インポート前のスクリプト タブをクリックします。
ワイルドカード表現がフルパスと一致 で、* 拡張子 と入力します。拡張子 は、インポートする前に処理するドキュメント名の末尾です。
スクリプト名 で、この動作のフレンドリ名を入力します。
コードを実行するために必要なファイルを選択 ボックスの横にあるファイルを追加 をクリックします。開く ウィンドウが表示されます。
前に保存したStartScript.bat ファイルを検索して選択します。(方法については、前のセクションを参照してください。)StartScript.bat ファイルがコードを実行するために必要なファイルを選択 ボックスに表示されます。
コマンドライン引数 で、次のように入力ます:
ローカルテンプレート:
/m
PreImport
"C:\Program Files\MemoQ\FindReplace Tool\findandreplace-config.xml" {InputFilePath} {OutputFilePath}
オンラインテンプレート:
/m PreImport
"C:\ProgramData\MemoQ Server\Scripting\FindAndReplace\documenttype-config.xml" {InputFilePath} {OutputFilePath}
設定を保存する前に、「documenttype-config.xml 」という名前を、検索と置換動作を含む.xml ファイルの名前に置き換えます。また、検索と置換ルールが別のセクションに記述されている場合は、PreImport を別のセクション名に置き換える必要があります。設定は次のようになります:
スクリプトとファイルの種類 で、新しい項目として追加 をクリックします。
エクスポート後のスクリプト タブでリバーススクリプトを設定することを忘れないでください。方法については、次のセクションを参照してください。
ドキュメントのエクスポート後に実行するリバース検索と置換動作を追加する
ドキュメントをインポートする前に変換する場合は、エクスポートされたファイルも変換する必要があります。これにより、クライアントが期待する形式でエクスポートされたドキュメントを取得できます。ファイルをエクスポートしたら、ドキュメントをインポートする前に実行したアクションとはまったく逆の検索と置換アクションを実行する必要があります。
特定の種類のドキュメントに対して検索と置換動作を実行するには、検索と置換操作を含む.xmlファイルがあることを確認します。.xmlファイルは、memoQ TMS コンピュータ の検索と置換 ツールと同じフォルダにある必要があります。
ドキュメントのエクスポート後に検索と置換動作を実行するには、.xmlファイルにPostExport セクションが含まれている必要があります。
検索と置換動作を使用して.xmlファイルを設定するには: 上記のmemoQ TMS の準備:検索と置換スクリプトの設定 の最後の展開セクションをお読みください。
編集するオンラインプロジェクトテンプレート を開きます。プロジェクトテンプレートの編集 ウィンドウが開きます。
プロジェクトテンプレートの編集 ウィンドウで、自動操作 を選択します。自動操作 ペインで、インポート前のスクリプト タブをクリックします。エクスポート後のスクリプト タブをクリックします。プロジェクトの自動化 タブをクリックします。
ワイルドカード表現がフルパスと一致 で、* 拡張子 と入力します。拡張子 は、インポートする前に処理するソース ドキュメント名の末尾です。
スクリプト名 で、この動作のフレンドリ名を入力します。スクリプト名 で、この動作のフレンドリ名を入力します。
コードを実行するために必要なファイルを選択 ボックスの横にあるファイルを追加 をクリックします。開く ウィンドウが表示されます。
前に保存したStartScript.bat ファイルを検索して選択します。(方法については、前のセクションを参照してください。)StartScript.bat ファイルがコードを実行するために必要なファイルを選択 ボックスに表示されます。
コマンドライン引数 で、次のように入力ます:
ローカルテンプレート:
/m
PostExport
"C:\Program Files\MemoQ\FindReplace Tool\findandreplace-config.xml" {InputFilePath} {OutputFilePath}
オンラインテンプレート:
/m PostExport
"C:\ProgramData\MemoQ Server\Scripting\FindAndReplace\documenttype-config.xml" {InputFilePath} {OutputFilePath}
設定を保存する前に、「documenttype-config.xml 」という名前を、検索と置換動作を含む.xml ファイルの名前に置き換えます。また、検索と置換ルールが別のセクションに記述されている場合は、PostExport を別のセクション名に置き換える必要があります。設定は次のようになります:
スクリプトとファイルの種類 で、新しい項目として追加 をクリックします。
必要に応じて、プロジェクトテンプレートをさらに変更します。終了したら、プロジェクトテンプレートの編集 ウィンドウ内のOK(O) をクリックします。
ドキュメントのインポート後または前翻訳後に実行するカスタム「midscript」の追加
memoQプロジェクトの進行中にドキュメントに変更を加える必要がある場合があります。ドキュメントのインポート後 (またはプロジェクト内の任意の時点) に実行する自動操作を設定できます。プロジェクトの途中で実行するプログラムは、midscriptsとも呼ばれます。
memoQプロジェクトのドキュメントに対してカスタム動作を実行すると、次のようになります:
memoQ TMS は、ドキュメントを非圧縮memoQ XLIFF (.mqxliff) ファイルにエクスポートします。
memoQカスタムコードサービスは、プレーンテキストであるかのように.mqxliffファイルを介してスクリプトを実行します。スクリプトは、有効な.mqxliffファイルを保存する必要があります。
memoQ TMS は、スクリプトによって保存された.mqxliffファイルからドキュメントを更新します。
検索と置換ツールは、プロジェクトの途中でドキュメントを変換するmidscriptとして使用できます。
これらのドキュメントに対して検索と置換を実行するには、検索と置換動作を含む.xmlファイルがあることを確認します。.xmlファイルは、memoQ TMS コンピュータ の検索と置換 ツールと同じフォルダにある必要があります。
プロジェクトの途中で検索と置換動作を実行するには、.xmlファイルにPostImport セクションが含まれている必要があります。
検索と置換動作を使用して.xmlファイルを設定するには: 上記のmemoQ TMS の準備:検索と置換スクリプトの設定 の最後の展開セクションをお読みください。
編集するオンラインプロジェクトテンプレート を開きます。プロジェクトテンプレートの編集 ウィンドウが開きます。
プロジェクトテンプレートの編集 ウィンドウで、自動操作 を選択します。自動操作 ペインで、プロジェクトの自動化 タブをクリックします。
使用可能なトリガ で、文書のインポート後 をクリックします。プロジェクト内の別のポイントを選択することもできます。たとえば、ドキュメントが前翻訳された後にスクリプトを実行する場合などです。
選択済みトリガに動作を追加 ボックスの横にある追加 アイコンをクリックします。「このトリガーに追加する動作を選択」ウィンドウが開きます。
このトリガに追加する動作を選択 ウィンドウで、カスタムコードを実行 をクリックします。追加 をクリックします。カスタムコードの詳細を指定 ウィンドウが開きます。
コードを実行するために必要なファイルを選択 ボックスの横にあるファイルを追加 をクリックします。開く ウィンドウが表示されます。
前に保存したStartScript.bat ファイルを検索して選択します。(方法については、前のセクションを参照してください。)StartScript.bat ファイルがコードを実行するために必要なファイルを選択 ボックスに表示されます。
コマンドライン引数 で、次のように入力ます:
ローカルテンプレート:
/m
PostImport
"C:\Program Files\MemoQ\FindReplace Tool\findandreplace-config.xml" {InputFilePath} {OutputFilePath}
オンラインテンプレート:
/m PostImport
"C:\ProgramData\MemoQ Server\Scripting\FindAndReplace\documenttype-config.xml" {InputFilePath} {OutputFilePath}
スクリプト処理のため MQXLIFF で文書をエクスポート およびスクリプト出力よりプロジェクト内の文書を更新 チェックボックスをオンにします。
設定を保存する前に、「documenttype-config.xml 」という名前を、検索と置換動作を含む.xml ファイルの名前に置き換えます。また、検索と置換ルールが別のセクションに記述されている場合は、PostImport を別のセクション名に置き換える必要があります。設定は次のようになります:
OK(O) をクリックします。
必要に応じて、プロジェクトテンプレートをさらに変更します。終了したら、プロジェクトテンプレートの編集 ウィンドウ内でOK(O) をクリックします。
完了したら
検索と置換 スクリプトをテストするには:設定したテンプレートからオンラインプロジェクトを作成 し、処理するドキュメントをインポート します。ドキュメントが正常にインポートされた場合は、プロジェクトをチェックアウト し、編集するドキュメントを開いて 変換が正しいかどうかを確認します。
または、ローカルプロジェクトテンプレートを使用している場合は:設定したテンプレートからローカルプロジェクトを作成 し、処理するドキュメントをインポート します。ドキュメントが正常にインポートされた場合は、編集するドキュメントを開いて 変換が正しいかどうかを確認します。
検索と置換動作を変更するには:プロジェクトテンプレートで使用する.xmlファイルを編集します。(オンラインテンプレートを使用している場合は、Remote Desktop を介してmemoQ TMS コンピュータにログインします。)必要に応じて検索と置換動作を追加または変更します。プロジェクトテンプレートを変更する必要はありません 。さらに、このテンプレートを使用する既存のプロジェクトを開き 、新しいファイルをインポートすることができます。その場合でも、memoQまたはmemoQ TMS は更新された検索と置換動作を使用します。
検索と置換動作の詳細を表示するには: 上記の変換の設定 セクションを参照してください。