(57)【要約】【課題】原文に翻訳の単位として階層的に単位部分が幾つか設定されている場合において、何れかの階層の翻訳語句に修正を加えたときに、全ての階層の翻訳語句における対応する箇所が修正されるようにする翻訳者支援プログラム，翻訳者支援装置及び翻訳者支援方法を、提供する。【解決手段】翻訳者支援装置１０は、作業画面２１の訳文表示欄２１ｃ内の翻訳語句に修正が加えられると、その修正箇所を範囲に含む階層の単位部分を検索し、検出した階層の単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれに対し、その修正を反映する。【選択図】図１２
2007233486.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶する記憶手段，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手段，
前記表示手段が前記表示装置に表示した翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索手段，及び、
前記検索手段が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播手段
として機能させる
ことを特徴とする翻訳者支援プログラム。
【請求項２】
前記記憶手段は、前記原文内の全ての単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分の識別情報，一つ上の階層の単位部分の識別情報，及び、その単位部分の属性を示す属性情報を、対応付けて前記記憶装置に記憶し、
前記修正伝播手段は、前記検索手段が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶部内のその単位部分の翻訳語句にその修正を反映させるとともに、その単位部分の属性情報を所定の属性情報に切り替える処理を、最下層から最上層に向かって順に行う
ことを特徴とする請求項１記載の翻訳者支援プログラム。
【請求項３】
前記属性情報は、翻訳語句の修正の可否を定義する情報であり、
前記修正伝播手段は、前記検索手段が検出した単位部分のうちの最下層の単位部分につき、その属性情報が修正の可能を定義するものである場合に、前記処理を行う
ことを特徴とする請求項２記載の翻訳者支援プログラム。
【請求項４】
前記コンピュータを、更に、
前記原文内の全ての単位部分のうち、何れかの単位部分について、その翻訳語句の修正の可否を切り替える指示を利用者から受け付けると、前記記憶装置内のその単位部分の属性情報を、指示されたものへ更新する施解錠手段
として機能させる
ことを特徴とする請求項３記載の翻訳者支援プログラム。
【請求項５】
前記コンピュータを、更に、
前記表示手段が前記表示装置に表示した翻訳語句に対し、その翻訳語句内にその一つ下の階層として設定されている単位部分に対応する組込記号を入力する指示を、利用者から受け付けると、前記表示装置に表示された翻訳語句におけるその組込記号を、その組込記号に対応する直下層の単位部分の翻訳語句で、置換するとともに、その置換後の翻訳語句で、前記記憶装置内の当該翻訳語句を更新する置換手段
として機能させる
ことを特徴とする請求項１記載の翻訳者支援プログラム。
【請求項６】
前記表示手段は、何れかの単位部分の原語句と翻訳語句とを前記表示装置に表示するとともに、それら原語句と翻訳語句とにおける一つ下の階層の単位部分を強調表示する
ことを特徴とする請求項１記載の翻訳者支援プログラム。
【請求項７】
前記記憶手段は、原文内の全ての単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分の識別情報，及び、一つ上の階層の単位部分の識別情報を、対応付けて記憶するデータ構造を、複数の原文のそれぞれについて前記記憶装置に保持し、
前記修正伝播手段は、前記複数の原文内の全ての単位部分のうち、利用者によって修正が指示された翻訳語句と同じ翻訳語句の単位部分につき、前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理をも行う
ことを特徴とする請求項１記載の翻訳者支援プログラム。
【請求項８】
前記コンピュータを、更に、
前記表示手段が前記表示装置に表示した原語句と翻訳語句の翻訳メモリ検索モジュールのデータベースへの登録の指示を利用者から受け付けると、それら原語句と翻訳語句とにおいて、一つ下の階層として設定されている単位部分があるか否かを判別する判別手段，及び、
前記判別手段が一つ下の階層の単位部分があると判別した場合に、原語句と翻訳語句とにおける一つ下の階層として設定されている単位部分を、同一の変数に置換し、これらを対応付けて前記データベースに登録する登録手段
として機能させる
ことを特徴とする請求項１記載の翻訳者支援プログラム。
【請求項９】
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶する記憶部，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示する表示部，
前記表示部に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索部，及び、
前記検索部が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶部内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播部
を備えることを特徴とする翻訳者支援装置。
【請求項１０】
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶させる記憶手順，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手順，
前記表示手順において前記表示装置に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する処理を、コンピュータに行わせる検索手順，及び、
前記検索手順において検出された単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に、コンピュータに行わせる修正伝播手順
からなることを特徴とする翻訳者支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文章の翻訳を行う翻訳者を支援する装置としてコンピュータを動作させるための翻訳者支援プログラム，そのような翻訳者支援プログラムが動作したコンピュータと同等に機能する翻訳者支援装置，及び、そのような翻訳者支援装置により実現される翻訳者支援方法に、関する。
【背景技術】
【０００２】
周知のように、構造が複雑で長い文章であっても、その文章を句や節などの幾つかの部分に区分し、それら部分を各々翻訳してから組み上げるようにすれば、その文章の翻訳が的確に且つ比較的容易に行える。
【０００３】
近年、このような翻訳方法により産業翻訳を行う翻訳者を支援するための装置が開発されている（例えば特許文献１参照）。図２０乃至図２４は、従来の翻訳者支援装置に表示される作業画面６１の一例を示す図である。
【０００４】
図１９乃至図２３に示されるように、作業画面６１は、文章列挙欄６１ａ，原文表示欄６１ｂ，訳文表示欄６１ｃ，及び、階層表示欄６１ｄを、含んでいる。このうち、文章列挙欄６１ａは、複数の文章が一文につき一行ずつ列挙されるように表示される欄である。また、原文表示欄６１ｂは、文章列挙欄６１ａに表示された文章のうちの一文が原文（翻訳対象の文章）として選択された場合において、その原文全体又はその一部（原語句と表記）が表示される欄である。訳文表示欄６１ｃは、原文表示欄６１ｂに表示された原文又は原語句を翻訳したものが表示される欄である。階層表示欄６１ｄは、原文表示欄６１ｂに表示された原文又は原語句の一部を翻訳単位且つ下の階層として選択するという作業を繰り返すことによって、原文に階層的に幾つかの単位部分を設定したとき、各単位部分がどの階層に属するかを項目として表示するための欄である。なお、この階層表示欄６１ｄにおいては、何れか一つの項目を選択できるようになっており、何れかの項目が選択されたときには、その選択された項目の原語句が、原文表示欄６１ｂに表示されるようになっている。
【０００５】
この作業画面６１を用いて翻訳を行う場合について、より具体的に説明する。まず、翻訳者は、文章列挙欄６１ａに表示された複数の文章のうちの一文を原文として選択することにより、その原文全体を原文表示欄６１ｂに表示させる（図１９の状態）。このとき、階層表示欄６１ｄには、その原文全体を最上位の階層として示す項目が、表示される。続いて、翻訳者は、原文表示欄６１ｂに表示された原文のうちの句や節などの部分をドラッグ等の操作にて選択し（図２０において反転表示された部分が選択された部分）、図２０の下位層作成ボタン６１ｅをクリックすることにより、その選択された部分を下の階層として決定させる。このとき、階層表示欄６１ｄには、その選択された単位部分の原語句を下位の階層として示す項目が、表示され、また、原文表示欄６１ｂには、その選択した単位部分の原語句が表示される（図２１の状態）。また、翻訳者が、下位の階層とした単位部分の原語句の中から、さらに一部を選択して、下位層作成ボタン６１ｅをクリックすることにより、その選択した部分を更に下位の階層として決定することができる。このような作業を繰り返し行って、原文に階層的に幾つかの単位部分を設定した後（図２２の状態）、翻訳者が、図２２の組立ボタン６１ｆをクリックすると、翻訳者支援装置が、原文表示欄６１ｂに表示中の原語句について機械翻訳又は翻訳メモリ検索を行い、得られた翻訳結果（翻訳語句と表記）を、その原語句と対応づけて記憶するとともに、訳文表示欄６１ｃに表示する。また、翻訳者支援装置は、原文表示欄６１ｂに表示された原語句につき一つ上の階層がある場合には、得られた翻訳語句を一つの固まりとしたまま、その一つ上の階層の翻訳語句の一部に組み込んで登録する。翻訳者は、最上位の階層を除く全ての階層について、このような組立ボタン６１ｆのクリックによる作業を繰り返し行うことにより、文章列挙欄６１ａにおいて選択した一文の訳文を、完成させることができる（図２３の状態）。
【０００６】
【特許文献１】国際公開２００４／０８１８１３号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述した従来の翻訳者支援装置では、訳文表示欄６１ｃに表示された翻訳語句に対し、修正を加えることができるようになっている。具体的には、翻訳者が、階層表示欄６１ｄにおける何れかの項目を選択することによって、その項目に示される原語句が、原文表示欄６１ｂに表示され、それに対応する翻訳語句が、訳文表示欄６１ｃに表示される。翻訳者は、訳文表示欄６１ｃに表示された翻訳語句に修正を加える場合に、その翻訳語句に対し、変更、追加、削除などの修正を行い、その作業を終えた後、組立ボタン６１ｆをクリックして、その修正後の翻訳語句で、当該項目について登録されている翻訳語句を更新するとともに、その一つ上の階層がある場合には、その一つ上の階層の翻訳語句における該当部分も更新する。
【０００８】
ところが、下位の階層の翻訳語句を修正した場合、最上位の階層のものとして登録されている原文の訳文にまでその修正を反映させるためには、その階層から上位の階層へと順に、項目を選択して組立ボタン６１ｆをクリックするという作業を、繰り返し行わねばならなかった。また、上位の階層の翻訳語句を訳文表示欄６１ｃに表示させている場合において、下位の階層の翻訳語句にも含まれる語に対して修正を加えても、下位の階層のものとして登録されている翻訳語句に対し、その修正を反映させることができなかった。
【０００９】
本発明は、前述したような従来技術の有する問題に鑑みてなされたものであり、その課題は、原文に翻訳の単位として階層的に単位部分が幾つか設定されている場合において、何れかの階層の翻訳語句に修正を加えたときに、全ての階層の翻訳語句における対応する箇所が修正されるようにことにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために案出された翻訳者支援プログラムは、コンピュータを、原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶する記憶手段，前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手段，前記表示手段が前記表示装置に表示した翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索手段，及び、前記検索手段が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播手段として機能させることを、特徴としている。
【００１１】
このように、或る階層の原語句と翻訳語句とが表示装置に表示されている場合において、その表示中の翻訳語句に修正を加えたときには、その修正箇所を範囲に含む単位部分が検索され、検出された単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれに対し、その修正が反映される。
【００１２】
また、上記の課題を解決するために案出された翻訳者支援装置は、原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶する記憶部，前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示する表示部，前記表示部に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索部，及び、前記検索部が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶部内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播部を備えることを、特徴としている。
【００１３】
従って、この翻訳者支援装置は、前述した本発明の翻訳者支援プログラムが動作したコンピュータと同等な装置として、機能することになる。
【００１４】
また、上記の課題を解決するために案出された翻訳者支援方法は、原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶させる記憶手順，前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手順，前記表示手順において前記表示装置に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する処理を、コンピュータに行わせる検索手順，及び、前記検索手順において検出された単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に、コンピュータに行わせる修正伝播手順からなることを、特徴としている。
【００１５】
従って、この翻訳者支援方法は、前述した本発明の翻訳者支援装置を通じて実現しようとする方法と同等なものとなっている。
【発明の効果】
【００１６】
従って、本発明によれば、原文に翻訳の単位として階層的に単位部分が幾つか設定されている場合において、何れかの階層の翻訳語句に修正を加えたときでも、全ての階層の翻訳語句における対応する箇所が修正されるようになる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明を実施するための最良の形態について、添付図面を参照しながら、詳細に説明する。
【００１８】
先ず、本実施形態の翻訳者支援装置の構成について説明する。
【００１９】
図１は、本実施形態の翻訳者支援装置１０の構成図である。
【００２０】
図１に示されるように、翻訳者支援装置１０は、文章の翻訳を行う翻訳者を支援するための装置である。具体的には、この翻訳者支援装置１０は、翻訳者支援ソフトウエアをパーソナルコンピュータにインストールしてなる装置である。
【００２１】
翻訳者支援装置１０を構成するパーソナルコンピュータは、液晶ディスプレイ等の表示装置１０ａ，キーボードやマウス等の入力装置１０ｂ，これら装置１０ａ，１０ｂが接続された本体とからなる。その本体は、ＣＰＵ［Central Processing Unit］１０ｃ，ＤＲＡＭ［Dynamic Random Access Memory］１０ｄ，ＭＤＤ［Multi Disk Drive］１０ｅ，及び、ＨＤＤ［Hard Disk Drive］１０ｆを、内蔵しており、このうち、ＨＤＤ１０ｆは、基本ソフトウエア１１を記憶している。
【００２２】
基本ソフトウエア１１は、表示装置１０ａや入力装置１０ｂにおける入出力の制御，並びに、ＤＲＡＭ１０ｄの記憶領域，及び、ＭＤＤ１０ｅやＨＤＤ１０ｆの記憶領域（ＣＤ［Compact Disk］やＤＶＤ［Digital Versatile Disk］やＨＤ［Hard Disk］の記憶領域）に対する読み書きの制御といった基本的な機能を多くのアプリケーションソフトウエアに提供するソフトウエアである。
【００２３】
さらに、このＨＤＤ１０ｆには、翻訳者支援ソフトウエア１２が、インストールされている。
【００２４】
この翻訳者支援ソフトウエア１２は、文章の翻訳を行う翻訳者を支援するための装置としてコンピュータを動作させるためのプログラム群及びデータ群である。この翻訳者支援ソフトウエア１２は、図２乃至図９を用いて後で説明する処理を行う機能の他、機械翻訳モジュール（プログラム）１２ａ，辞書データベース１２ｂ，翻訳メモリ検索モジュール（プログラム）１２ｃ，及び、訳例データベース１２ｄを、含んでいる。
【００２５】
機械翻訳モジュール１２ａは、周知の機能であるので、これを簡単に説明する。この機械翻訳モジュール１２ａは、同一内容について二つの言語により表した一対の単語又は一対の熟語を多数記憶した辞書データベース１２ｂを用いて、翻訳対象の文章内の各単語又は熟語から他方の言語の単語又は熟語を取得した後、翻訳対象の文章の構文を解析し、解析した構文を目的言語の構文に変換し、先に取得した各単語又は熟語を変換後の構文に当て嵌めることによって、翻訳対象の文章の訳文を生成するというものである。
【００２６】
また、翻訳メモリ検索モジュール１２ｃも、周知の機能であるので、これを簡単に説明する。この翻訳メモリ検索モジュール１２ｃは、同一内容について二つの言語により表した一対の文章や語句を多数記憶した訳例データベース１２ｄから、翻訳対象の文章と同一又は類似の文章や語句を検索し、検出された文章や語句に対応付けられている他方の言語の文章や語句を、翻訳結果として出力するモジュールである。
【００２７】
また、ＨＤＤ１０ｆは、翻訳対象となり得る多数の文章をコンテンツとして含むテキストデータ１３と、翻訳者支援ソフトウエア１２により生成された対訳データ１４とを、保存している。対訳データ１４のデータ構造は、テキストデータ１３のコンテンツである多数の文章のそれぞれについて、後で説明する図１１の作業テーブル３１と同じ内容のテーブルを有したものとなっている。この対訳データ１４は、翻訳者が翻訳者支援ソフトウエア１２を起動してテキストデータ１３をこれに読み込ませると、作成されるものである。
【００２８】
なお、対訳データ１４をＨＤＤ１０ｆ及びＤＲＡＭ１０ｄに記憶する翻訳者支援装置１０は、前述した記憶手段に相当している。
【００２９】
次に、本実施形態の翻訳者支援装置１０において行われる処理について説明する。
【００３０】
翻訳者支援装置１０のＣＰＵ１０ｃは、入力装置１０ｂを操作する操作者によって対訳データ１４が選択されると、ＨＤＤ１０ｆから翻訳者支援ソフトウエア１２を読み出して、翻訳者支援処理を開始する。
【００３１】
図２乃至図９は、この翻訳者支援処理の流れを示す図である。
【００３２】
翻訳者支援処理の開始後、最初のステップＳ０００では、ＣＰＵ１０ｃは、作業画面を表示装置１０ａに表示する処理を行う。
【００３３】
図１０は、作業画面２１の一例を示す図である。
【００３４】
図１０に示されるように、作業画面２１は、文章列挙欄２１ａ，原文表示欄２１ｂ，訳文表示欄２１ｃ，階層表示欄２１ｄ，及び、原文表示欄２１ｅを、含んでいる。このうち、文章列挙欄２１ａは、複数の文章が一文につき一行ずつ列挙されるように表示される欄である。また、原文表示欄２１ｂは、文章列挙欄２１ａに表示された文章のうちの一文が原文（翻訳対象の文章）として選択された場合において、その原文全体又はその一部（原語句と表記する）が表示される欄である。訳文表示欄２１ｃは、原文表示欄２１ｂに表示された原文又は原語句を翻訳したもの（原文を翻訳したものを訳文、原語句を翻訳したものを翻訳語句と表記する）が表示される欄である。なお、訳文表示欄２１ｃでは、表示中の訳文を修正するため、追加，削除又は訂正の編集が行えるようになっている。階層表示欄２１ｄは、原文表示欄２１ｂに表示された原文又は原語句の一部を翻訳単位且つ下の階層として選択するという作業を繰り返すことによって、原文に階層的に幾つかの単位部分を設定したとき、各単位部分がどの階層に属するかを項目として表示するための欄である（図１２の同欄参照）。なお、この階層表示欄２１ｄに表示される項目は、クリッカブルなボタンとして機能するようになっており、何れかの項目がクリックにて選択されたときには、その選択された項目の階層の原文又は原語句が、原文表示欄２１ｂに表示されるようになっている。また、原文表示欄２１ｅは、原文全体を表示するための欄である。原文表示欄２１ｂが原語句（すなわち原文の一部）しか表示していない場合であっても、原文表示欄２１ｅには、原文全体が表示される。
【００３５】
また、この作業画面２１は、一対の対象切替ボタン２１ｆ，下位層作成ボタン２１ｇ，モジュール切替ボタン２１ｈ，組立ボタン２１ｉ，翻訳メモリ登録ボタン２１ｊ，及び、訳検証ボタン２１ｋをも、含んでいる。一対の対象切替ボタン２１ｆは、文章列挙欄２１ａにおける何れかの行に表示されるカーソルを上の行又は下の行に移動させるためのボタンである。なお、このカーソルが重なる文章が、原文として指定された文章となる。下位層作成ボタン２１ｇは、原文表示欄２１ｂに表示された原文又は原語句のうちドラッグ等の操作により選択された一部を、その原文又は原語句の下位の階層として登録させるためのボタンである（図２参照）。なお、この下位層作成ボタン２１ｇは、ドラッグ等の操作により文章の一部が選択されないと、機能しないようになっている。モジュール切替ボタン２１ｈは、組立ボタン２１ｉがクリックされたときに利用される翻訳モジュールを、機械翻訳モジュール１２ａと翻訳メモリ検索モジュール１２ｃとで切り替えるためのボタンである（図６参照）。組立ボタン２１ｉは、原文表示欄２１ｂに表示されている原文又は原語句に対応する訳文又は翻訳語句と、その原文又は原語句に設定されている全ての下位の階層の原語句に対応する翻訳語句とを、設定されている翻訳モジュールに生成させるためのボタンである（図７参照）。翻訳メモリ登録ボタン２１ｊは、原文表示欄２１ｂと訳文表示欄２１ｃとに表示されている原文又は原語句と訳文又は翻訳語句，及び、それらの下位の階層の原語句と翻訳語句についての訳例データベース１２ｄへの登録を行わせるためのボタンである（図８参照）。訳検証ボタン２１ｋは、訳文表示欄２１ｃに表示されている訳文又は翻訳語句と翻訳モジュールによる翻訳結果との相違部分を表示させるためのボタンである（図４参照）。
【００３６】
そして、ＣＰＵ１０ｃは、図１０に示されるような作業画面２１を表示装置１０ａに表示した後、ステップＳ０００からステップＳ１００へ処理を進める。
【００３７】
なお、このステップＳ０００に従って、原文表示欄２１ｂ及び訳文表示欄２１ｃを含む作業画面２１を表示装置１０ａに表示するＣＰＵ１０は、前述した表示手段に相当している。
【００３８】
ステップＳ１００では、ＣＰＵ１０ｃは、イベントが発生するまで待機する。なお、イベントとしては、何れかのボタン２１ｆ〜２１ｋのクリック，階層表示欄２１ｄ内の何れかの項目の選択（クリック），階層表示欄２１ｄ内の何れかの項目の施解錠操作（後述），訳文表示欄２１ｃ内に表示されている訳文の修正，終了指示（ファイルメニュー内の終了ボタンのクリック），その他のイベントがある。
【００３９】
そして、その待機中にイベントが発生した場合、ＣＰＵ１０ｃは、ステップＳ１００からステップＳ１０１へ処理を進める。
【００４０】
ステップＳ１０１では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが対象切替ボタン２１ｆのクリックであるか否かを、判別する。
【００４１】
そして、ステップＳ１００で発生したイベントが対象切替ボタン２１ｆのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０１からステップＳ１１１へ処理を分岐させる。
【００４２】
ステップＳ１１１では、ＣＰＵ１０ｃは、起動時に指定された対訳データ１４から、文章列挙欄２１ａにおけるカーソルが重ね合わされた一文に関する情報を、取り込む。
【００４３】
次のステップＳ１１２では、ＣＰＵ１０ｃは、ステップＳ１１１で取り込んだ情報を作業テーブルに展開する。
【００４４】
図１１は、作業テーブル３１のデータ構造の一例を示す図である。
【００４５】
図１１に示されるように、作業テーブル３１は、原文全体についてのレコード，及び、この原文上に翻訳の単位として設定された単位部分と同じ数のレコードを、有している。各レコードは、「識別情報」，「原文」，「直上層」，「開始バイト」，「長さ」，「訳文」，「属性」及び「錠フラグ」のフィールドを、有している。
【００４６】
「識別情報」フィールドは、その単位部分を他の単位部分から個別に識別するための識別情報が記録されるフィールドである。「原文」フィールドは、原文又は原語句が記録されるフィールドである。「直上層」フィールドは、その単位部分を包含する一つ上の階層の単位部分の識別情報が記録されるフィールドである。なお、最上層の「直上層」フィールドは、直上層がないので、空欄となる。「開始バイト」及び「長さ」フィールドは、一つ上の階層の原文又は原語句における当該単位部分が占める範囲の先頭位置及び大きさを特定する情報として、その範囲の開始バイトと長さとがそれぞれ記録されるフィールドである。「訳文」フィールドは、原文（最上層の翻訳前の文章）の訳文（最上層の翻訳後の文章），又は，原語句（最上層以外の下位層の翻訳前の語句）の翻訳語句（最上層以外の下位層の翻訳後の語句）が記録されるフィールドである。なお、「訳文」フィールドは、訳文又は翻訳語句を生成する処理が対訳データ１４又は作業テーブル３１に未登録である場合、空欄となる。「属性」フィールドは、訳文又は翻訳語句が機械翻訳モジュール１２ａにより生成されたものか（機械）、翻訳メモリ検索モジュール１２ｃにより生成されたものか（訳例）、操作者によって修正されたものであるか（編集）を示す属性情報が記録されるフィールドである。「錠フラグ」フィールドは、訳文又は翻訳語句を修正してもよいか否かを定義する錠フラグが記録されるフィールドである。なお、錠フラグは、「０」が訳文又は翻訳語句の編集が可能な解錠状態を示している。
【００４７】
なお、このステップＳ１１１に従って、作業テーブル３１をＤＲＡＭ１０ｄに記憶するＣＰＵ１０ｃは、前述した記憶手段に相当している。
【００４８】
ＣＰＵ１０ｃは、ステップＳ１１１で取り込んだ情報を、このような作業テーブル３１に展開した後、ステップＳ１１２からステップＳ１１３へ処理を進める。
【００４９】
ステップＳ１１３では、ＣＰＵ１０ｃは、ステップＳ１１２で情報が展開された作業テーブル３１における最上層のレコードの「原文」フィールドの値（原文）を、図１１の作業画面２１の原文表示欄２１ｂに表示する処理を行う。また、ＣＰＵ１０ｃは、当該レコードの「訳文」フィールドに値（訳文）が格納されている場合、その値（訳文）を、作業画面２１の訳文表示欄２１ｃに表示する処理も行う。但し、「訳文」フィールドが空欄ときには、訳文表示欄２１ｃも空欄となる。さらに、ＣＰＵ１０ｃは、作業テーブル３１内の各レコードに対応する項目を、階層表示欄２１ｄに表示する処理も行う。
【００５０】
次のステップＳ１１４では、ＣＰＵ１０ｃは、ステップＳ１１３で原文表示欄２１ｂに表示された原文と同じ文章を、原文表示欄２１ｅに表示する処理を行う。
【００５１】
そして、ＣＰＵ１０ｃは、原文表示欄２１ｅに原文全体を表示した後、ステップＳ１１４からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００５２】
なお、これらステップＳ１１１乃至Ｓ１１４を実行するＣＰＵ１０ｃは、前述した表示手段に相当している。
【００５３】
一方、ステップＳ１０１において、ステップＳ１００で発生したイベントが対象切替ボタン２１ｆのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０１からステップＳ１０２へ処理を分岐させる。
【００５４】
ステップＳ１０２では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが下位層作成ボタン２１ｇのクリックであるか否かを、判別する。
【００５５】
そして、ステップＳ１００で発生したイベントが下位層作成ボタン２１ｇのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０２からステップＳ１２１へ処理を分岐させる。
【００５６】
ステップＳ１２１では、ＣＰＵ１０ｃは、下位層作成ボタン２１ｇのクリック時に選択されていた部分の中の語句を、原文表示欄２１ｂに表示された原文又は原語句の下位の階層として、作業テーブル３１に追加登録する処理を行う。なお、このとき、新たなレコードの「訳文」フィールドは、空欄となる。
【００５７】
次のステップＳ１２２では、ＣＰＵ１０ｃは、下位層作成ボタン２１ｇのクリック時に選択されていた部分の中の語句で、原文表示欄２１ｂ内の表示を更新する処理を行う。
【００５８】
次のステップＳ１２３では、ＣＰＵ１０ｃは、当該選択された部分の中の語句を示す項目を、階層表示欄２１ｄに追加表示する処理を行う。
【００５９】
なお、図１２は、階層表示欄２１ｄに項目が表示された状態の作業画面２１の一例を示す図である。図１２に示されているように、階層表示欄２１ｄでは、各項目が、その包含関係に応じて、階層的に表示されている。
【００６０】
そして、ＣＰＵ１０ｃは、選択された部分の中の語句を示す項目を階層表示欄２１ｄに表示した後、ステップＳ１２３からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００６１】
一方、ステップＳ１０２において、ステップＳ１００で発生したイベントが下位層作成ボタン２１ｇのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０２からステップＳ１０３へ処理を分岐させる。
【００６２】
ステップＳ１０３では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の選択であるか否かを、判別する。
【００６３】
そして、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の選択であった場合、ＣＰＵ１０ｃは、ステップＳ１０３からステップＳ１３１へ処理を分岐させる。
【００６４】
ステップＳ１３１では、ＣＰＵ１０ｃは、階層表示欄２１ｄの中から選択された項目の示す原文又は原語句で、原文表示欄２１ｂ内の表示を更新する処理を行う。また、ＣＰＵ１０ｃは、当該項目の原文又は原語句に対応する訳文又は翻訳語句が作業テーブル３１内に存在する場合、その訳文又は翻訳語句で、訳文表示欄２１ｃ内の表示を更新する処理も行う。但し、当該項目の文章に対応する訳文又は翻訳語句が作業テーブル３１内に存在しないときには、ＣＰＵ１０ｃは、訳文表示欄２１ｃを空欄にする。
【００６５】
次のステップＳ１３２では、ＣＰＵ１０ｃは、作業テーブル３１を参照して、選択された項目の原文又は原語句の内部に下位層が設定されているか否かを、判別する。
【００６６】
そして、選択された項目の原文又は原語句の内部に下位層が設定されていた場合、ＣＰＵ１０ｃは、ステップＳ１３２からステップＳ１３３へ処理を分岐させる。
【００６７】
ステップＳ１３３では、ＣＰＵ１０ｃは、原文表示欄２１ｂに表示された原文又は原語句のうち、直下層部分を強調表示する処理を行う。また、ＣＰＵ１０ｃは、訳文表示欄２１ｃに訳文又は翻訳語句が表示されていた場合、その訳文又は翻訳語句のうち、直下層部分を強調表示する処理も行う。なお、原文表示欄２１ｂ及び訳文表示欄２１ｃ内の語句において、強調表示すべき直下層部分が複数ある場合、ＣＰＵ１０ｃは、各直下層部分の色を相互に変えて強調表示しても良いし、何れも同じ色や同じ背景色や同じフォントなどで強調表示しても良い。
【００６８】
そして、ＣＰＵ１０ｃは、直下層部分を強調表示した後、ステップＳ１３３からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００６９】
また、ステップＳ１３２において、階層表示欄２１ｄの中から選択された項目の示す原文又は原語句の内部に下位層が設定されていなかった場合、ＣＰＵ１０ｃは、ステップＳ１３２からステップＳ１００へ処理を分岐させ、直下層部分の強調表示を行うことなく、イベントが発生するまで待機する状態になる。
【００７０】
なお、これらステップＳ１３１乃至Ｓ１３３を実行するＣＰＵ１０ｃは、前述した表示手段に相当している。
【００７１】
一方、ステップＳ１０３において、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の選択でなかった場合、ＣＰＵ１０ｃは、ステップＳ１０３からステップＳ１０４へ処理を分岐させる。
【００７２】
ステップＳ１０４では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の施解錠操作であるか否かを、判別する。なお、図１２に示されるように、階層表示欄２１ｄ内の各項目には、○と▲の何れかが表示されるボタン２１ｌが含まれている。このボタン２１ｌは、クリックされるたびに○と▲の表示が切り替わるようになっている。このボタン２１ｌが、前述した施解錠の操作を行うためのボタンとなっている。ここで、○は施錠状態を示し、▲は解錠状態を示している。
【００７３】
そして、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の施解錠操作（ボタン２１ｌのクリック）であった場合、ＣＰＵ１０ｃは、ステップＳ１０４からステップＳ１４１へ処理を分岐させる。
【００７４】
ステップＳ１４１では、ＣＰＵ１０ｃは、図１１の作業テーブル３１における当該項目の単位部分に対応するレコードの「錠フラグ」フィールドの値が「１（施錠）」であるか「０（解錠）」であるかを、判別する。
【００７５】
そして、図１１の作業テーブル３１における当該項目の単位部分に対応するレコードの「錠フラグ」フィールドの値が「１（施錠）」であった場合、ＣＰＵ１０ｃは、ステップＳ１４１からステップＳ１４２へ処理を分岐させる。
【００７６】
ステップＳ１４２では、ＣＰＵ１０ｃは、作業テーブル３１における当該項目の単位部分のレコードの「錠フラグ」フィールドの値を、「１（施錠）」から「０（解錠）」に切り替える処理を行う。
【００７７】
次のステップＳ１４３では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、当該項目の単位部分を包含する上位層の単位部分が存在するか否かを、判別する。
【００７８】
そして、当該項目の単位部分を包含する上位層の単位部分が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１４３からステップＳ１４４へ処理を分岐させる。
【００７９】
ステップＳ１４４では、ＣＰＵ１０ｃは、当該項目の単位部分を包含する全ての上位層の単位部分うち、図１１の作業テーブル３１における「錠フラグ」フィールドの値が「１（施錠）」である上位層の単位部分について、それら上位層の単位部分のレコードの「錠フラグ」フィールドの値を「０（解錠）」に切り替える処理を行う。
【００８０】
そして、このような解錠処理を行った後、ＣＰＵ１０ｃは、ステップＳ１４４からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００８１】
また、ステップＳ１４３において、当該項目の単位部分を包含する上位層の単位部分が一つも存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１４３からステップＳ１００へ処理を分岐させ、解錠処理を行うことなく、イベントが発生するまで待機する状態になる。
【００８２】
また、ステップＳ１４１において、図１１の作業テーブル３１における当該項目の単位部分に対応するレコードの「錠フラグ」フィールドの値が「０（解錠）」であった場合、ＣＰＵ１０ｃは、ステップＳ１４１からステップＳ１４５へ処理を分岐させる。
【００８３】
ステップＳ１４５では、ＣＰＵ１０ｃは、作業テーブル３１における当該項目の単位部分のレコードの「錠フラグ」フィールドの値を、「０（解錠）」から「１（施錠）」に切り替える処理を行う。
【００８４】
次のステップＳ１４６では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、当該項目の単位部分に含まれる下位層の単位部分が存在するか否かを、判別する。
【００８５】
そして、図１１の作業テーブル３１を参照して、当該項目の単位部分に含まれる下位層の単位部分が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１４６からステップＳ１４７へ処理を進める。
【００８６】
ステップＳ１４７では、ＣＰＵ１０ｃは、当該項目の単位部分に含まれる全ての下位層の単位部分うち、図１１の作業テーブル３１における「錠フラグ」フィールドの値が「０（解錠）」である下位層の単位部分について、それら下位層の単位部分のレコードの「錠フラグ」フィールドの値を「１（施錠）」に切り替える処理を行う。
【００８７】
そして、このような施錠処理を行った後、ＣＰＵ１０ｃは、ステップＳ１４７からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００８８】
また、ステップＳ１４６において、当該項目の単位部分に含まれる下位層の単位部分が一つも存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１４６からステップＳ１００へ処理を分岐させ、施錠処理を行うことなく、イベントが発生するまで待機する状態になる。
【００８９】
なお、これらステップＳ１４１乃至Ｓ１４６を実行するＣＰＵ１０ｃは、施解錠手段に相当している。
【００９０】
一方、ステップＳ１０４において、ステップＳ１００で発生したイベントが階層表示欄２１ｄ内の何れかの項目の施解錠操作（ボタン２１ｌのクリック）でなかった場合、ＣＰＵ１０ｃは、ステップＳ１０４からステップＳ１０５へ処理を分岐させる。
【００９１】
ステップＳ１０５では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントがモジュール切替ボタン２１ｈのクリックであるか否かを、判別する。
【００９２】
そして、ステップＳ１００で発生したイベントがモジュール切替ボタン２１ｈのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０５からステップＳ１５１へ処理を分岐させる。
【００９３】
ステップＳ１５１では、ＣＰＵ１０ｃは、翻訳モジュールが機械翻訳モジュール１２ａに設定されているか翻訳メモリ検索モジュール１２ｃに設定されているかを、判別する。
【００９４】
そして、翻訳モジュールが機械翻訳モジュール１２ａに設定されていた場合、ＣＰＵ１０ｃは、ステップＳ１５１からステップＳ１５２へ処理を進める。
【００９５】
ステップＳ１５２では、ＣＰＵ１０ｃは、翻訳モジュールを翻訳メモリ検索モジュール１２ｃに切り替える処理を行い、その後、ステップＳ１５２からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００９６】
また、ステップＳ１５１において、翻訳モジュールが翻訳メモリ検索モジュール１２ｃに設定されていた場合、ＣＰＵ１０ｃは、ステップＳ１５１からステップＳ１５３へ処理を進める。
【００９７】
ステップＳ１５３では、ＣＰＵ１０ｃは、翻訳モジュールを機械翻訳モジュール１２ａに切り替える処理を行い、その後、ステップＳ１５３からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【００９８】
一方、ステップＳ１０５において、ステップＳ１００で発生したイベントがモジュール切替ボタン２１ｈのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０５からステップＳ１０６へ処理を分岐させる。
【００９９】
ステップＳ１０６では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが組立ボタン２１ｉのクリックであるか否かを、判別する。
【０１００】
そして、ステップＳ１００で発生したイベントが組立ボタン２１ｉのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０６からステップＳ１６１へ処理を進める。
【０１０１】
ステップＳ１６１では、ＣＰＵ１０ｃは、図１１の作業テーブル３１内のレコードのうち、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句を含むレコードの「錠フラグ」フィールドの値が「０（解錠）」であるか否かを、判別する。
【０１０２】
そして、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句を含むレコードの「錠フラグ」フィールドの値が「１（施錠）」であった場合、ＣＰＵ１０ｃは、ステップＳ１６１からステップＳ１００へ処理を分岐させ、イベントが発生するまで待機する状態になる。
【０１０３】
また、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句を含むレコードの「錠フラグ」フィールドの値が「０（解錠）」であった場合、ＣＰＵ１０ｃは、ステップＳ１６１からステップＳ１６２へ処理を分岐させる。
【０１０４】
ステップＳ１６２では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句の一部をもつ下位層の単位部分が存在するか否かを、判別する。
【０１０５】
そして、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句の一部をもつ下位層の単位部分が一つも存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１６２からステップＳ１６３へ処理を進める。
【０１０６】
ステップＳ１６３では、ＣＰＵ１０ｃは、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句を、この時点で設定されている翻訳モジュールに翻訳させる処理を行う。なお、前述したように、機械翻訳モジュール１２ａは、翻訳対象の語句を機械的に翻訳するが、翻訳メモリ検索モジュール１２ｃは、翻訳対象の文章や語句に同一又は類似の文章や語句を検索し、検出した文章や語句に対応付けられている他言語の文章や語句を、翻訳結果として出力する。
【０１０７】
なお、ステップＳ１６３を実行するＣＰＵ１０ｃは、翻訳メモリ検索手段に相当している。
【０１０８】
次のステップＳ１６４では、ＣＰＵ１０ｃは、ステップＳ１６３で生成された翻訳結果（訳文又は翻訳語句）に変数が含まれているか否かを、判別する。なお、本実施形態では、翻訳モジュールとして翻訳メモリ検索モジュール１２ｃが設定されていた場合において、その翻訳メモリ検索モジュール１２ｃにより翻訳がなされたとき、その翻訳結果に変数が含まれていることがある。ここで、変数が含まれた翻訳結果について説明する。
【０１０９】
図１３は、翻訳メモリ検索モジュール１２ｃで翻訳（訳例検索）を行ったときの検索結果を示す図である。
【０１１０】
図１３において、上段２２ａには、翻訳対象の文章が示されている。また、中段２２ｂには、その翻訳対象の文章と同一又は類似の文章として訳例データベース１２ｄから検出された文章が、示されている。また、下段２２ｃには、訳例データベース１２ｄにおいて中段２２ｂ内の文章に対応付けられている訳文が、示されている。この図１３に示されているように、中段２２ｂの文章と下段２２ｃの訳文には、同一内容の箇所に変数「N0000」が含まれている。訳例データベース１２ｄにおいては、このような文章と訳文とが対をなして登録されている。
【０１１１】
そして、ステップＳ１６４において、ステップＳ１６３で生成された翻訳結果（訳文又は翻訳語句）に変数が含まれていなかった場合、ＣＰＵ１０ｃは、ステップＳ１６４からステップＳ１６５へ処理を分岐させる。
【０１１２】
ステップＳ１６５では、ＣＰＵ１０ｃは、図１１の作業テーブル３１内のレコードのうち、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句を含むレコードの「訳文」フィールドに、ステップＳ１６３で生成された訳文又は翻訳語句を格納するとともに、そのレコードの「属性」フィールドに翻訳モジュールに応じた属性情報（機械又は訳例）を格納する処理を行う。
【０１１３】
なお、ステップＳ３０３を実行するＣＰＵ１０ｃは、翻訳結果出力手段に相当している。
【０１１４】
そして、ＣＰＵ１０ｃは、訳例と属性情報とを作業テーブル３１に記録した後、ステップＳ１６５からステップＳ１７０へ処理を進める。
【０１１５】
また、ステップＳ１６４において、ステップＳ１６３で生成された翻訳結果（訳文又は翻訳語句）に変数が含まれていた場合、ＣＰＵ１０ｃは、ステップＳ１６４からステップＳ１６６へ処理を分岐させる。
【０１１６】
ステップＳ１６６では、ＣＰＵ１０ｃは、サブルーチンとして、階層生成処理を実行する。
【０１１７】
図１４は、その階層生成処理の流れを示す図である。
【０１１８】
階層生成処理の開始後、最初のステップＳ３０１では、ＣＰＵ１０ｃは、ステップＳ１６３において原文表示欄２１ｂ内の原文又は原語句に同一又は類似するものとして翻訳メモリ検索モジュール１２ｃが検出した文章又は語句と、翻訳対象の原文又は原語句とを比較し、翻訳対象の原文又は原語句における変数部分に対応する部分の語句を、直下層として、図１１の作業テーブル３１に追加登録する。
【０１１９】
なお、ステップＳ３０１を実行するＣＰＵ１０ｃは、階層生成手段に相当している。
【０１２０】
次のステップＳ３０２では、ＣＰＵ１０ｃは、ステップＳ３０１で生成した直下層の原語句を、機械翻訳モジュール１２ａにて翻訳する処理を行う。また、ＣＰＵ１０ｃは、作業テーブル３１における当該直下層の単位部分のレコードの「訳文」フィールドに、その翻訳結果を格納する処理を行う。
【０１２１】
なお、ステップＳ３０２を実行するＣＰＵ１０ｃは、直下層翻訳手段に相当している。
【０１２２】
次のステップＳ３０３では、ＣＰＵ１０ｃは、ステップＳ１６３で生成された翻訳結果における変数を、ステップＳ３０２で生成した翻訳結果に置換して、訳文表示欄２１ｃ内の表示を更新する処理を行う。また、ＣＰＵ１０ｃは、訳文表示欄２１ｃ内において置換部分（すなわち直下層の単位部分）を強調表示する処理も行う。その後、ＣＰＵ１０ｃは、図１４に係る階層生成処理を終了し、図７のステップＳ１６９へ処理を進める。
【０１２３】
なお、ステップＳ３０３を実行するＣＰＵ１０ｃは、訳例登録手段に相当している。
【０１２４】
また、ステップＳ１６２において、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句の一部をもつ下位層が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１６２からステップＳ１６７へ処理を分岐させる。
【０１２５】
ステップＳ１６７では、ＣＰＵ１０ｃは、サブルーチンとして、下位層翻訳処理を実行する。
【０１２６】
図１５は、その下位層翻訳処理の流れを示す図である。
【０１２７】
下位層翻訳処理では、ＣＰＵ１０ｃは、処理ループＬ１を実行する。この処理ループＬ１では、ＣＰＵ１０ｃは、全ての下位層の単位部分のそれぞれについて、ステップＳ４０１及びＳ４０４を実行する。このとき、ＣＰＵ１０ｃは、最下層から直下層への順に、ステップＳ４０１及びＳ４０４を実行する。
【０１２８】
ステップＳ４０１では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、この処理ループＬ１の処理対象の下位層の単位部分が解錠されているか否かを、判別する。
【０１２９】
そして、処理対象の下位層の単位部分が施錠されていた場合、ＣＰＵ１０ｃは、この処理対象についてのステップＳ４０１乃至Ｓ４０４の処理を終了する。
【０１３０】
一方、処理対象の下位層の単位部分が施錠されていた場合、ＣＰＵ１０ｃは、ステップＳ４０１からステップＳ４０２へ処理を分岐させる。
【０１３１】
ステップＳ４０２では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、この処理対象の下位層の単位部分がその「訳文」フィールドに翻訳語句が格納されているか否かを、判別する。
【０１３２】
そして、処理対象の下位層の単位部分がその「訳文」フィールドに翻訳語句が格納されていなかった場合、ＣＰＵ１０ｃは、この処理対象についてのステップＳ４０１乃４０４の処理を終了する。
【０１３３】
一方、処理対象の下位層の単位部分がその「訳文」フィールドに翻訳語句が格納されていた場合、ＣＰＵ１０ｃは、ステップＳ４０２からステップＳ４０３へ処理を分岐させる。
【０１３４】
ステップＳ４０３では、ＣＰＵ１０ｃは、処理対象の下位層の単位部分の原語句を、翻訳メモリ検索モジュール１２ｃにて翻訳する処理を行う。また、翻訳メモリ検索モジュール１２ｃで翻訳結果が得られなかったときには、ＣＰＵ１０ｃは、機械翻訳モジュール１２ａにて翻訳する処理を行う。このとき、ＣＰＵ１０ｃは、処理対象の下位層が一つ下の階層を有している場合、その一つ下の下位層の翻訳語句を一塊りにして、処理対象の下位層の翻訳語句に組み込む。
【０１３５】
次のステップＳ４０４では、ＣＰＵ１０ｃは、ステップＳ１６７で生成された翻訳語句で、図１１の作業テーブル３１における処理対象の下位層の単位部分に対応するレコードの「訳文」フィールドの値を、更新する処理を行う。また、この更新の際、ＣＰＵ１０ｃは、そのレコードの「属性」フィールドの値を、翻訳モジュールに応じた属性情報（機械又は訳例）で更新する処理も行う。
【０１３６】
なお、このステップＳ４０４を実行するＣＰＵ１０ｃは、保存手段に相当している。
【０１３７】
この処理ループＬ１により、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されていた原文又は原語句の一部を含む全ての下位層について、翻訳語句を生成した後、ＣＰＵ１０ｃは、処理ループＬ１から離脱し、図１５に係る下位層翻訳処理を終了して、図７のステップＳ１６８へ処理を進める。
【０１３８】
ステップＳ１６８では、ＣＰＵ１０ｃは、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されている原文又は原語句について、その直下層の翻訳語句を組み込みつつ、翻訳モジュールを利用して、翻訳する。続いて、ＣＰＵ１０ｃは、その翻訳により得られた訳文又は翻訳語句を、訳文表示欄２１ｃに表示する処理を行う。更に、ＣＰＵ１０ｃは、訳文表示欄２１ｃ内における直下層の単位部分を強調表示する処理も行う。その後、ＣＰＵ１０ｃは、ステップＳ１７０へ処理を進める。
【０１３９】
なお、このように、原文表示欄２１ｂに表示された原文又は原語句につき、それらに下位層の単位部分が設定されていれば、最も下位の階層から順に翻訳されることにより、原文表示欄２１ｂ内の原文又は原語句を翻訳したものが生成され（ステップＳ１６２；ＮＯ，Ｌ１，ステップＳ１６８）、また、原文表示欄２１ｂに表示された原文又は原語句に下位層が設定されていない場合であって翻訳結果に変数が含まれていたときには、変数部分の範囲が下位層として別途設定され、その下位層の単位部分が翻訳されてから、原文表示欄２１ｂ内の原文又は原語句を翻訳したものが生成される（ステップＳ１６２；ＹＥＳ，Ｓ１６３，Ｓ１６４；ＮＯ，Ｓ１６６）。
【０１４０】
ステップＳ１７０では、ＣＰＵ１０ｃは、組立ボタン２１ｉのクリック時に原文表示欄２１ｂに表示されている文章について作業テーブル３１に登録されている訳文又は翻訳語句を、訳文表示欄２１ｃに表示されている訳文又は翻訳語句にて、更新する処理を行う。また、この更新の際、ＣＰＵ１０ｃは、その訳文又は翻訳語句と同じレコードの「属性」フィールドを、翻訳モジュールに応じた属性情報（機械又は訳例）にて、更新する処理も行う。図１６は、図１５に係る下位層翻訳処理とステップＳ１６８とを経ることにより図１３内の翻訳結果が作業画面２１に示された状態を示している。
【０１４１】
そして、ＣＰＵ１０ｃは、このような作業テーブル３１の更新処理を行った後、ステップＳ１７０からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【０１４２】
一方、ステップＳ１０６において、ステップＳ１００で発生したイベントが組立ボタン２１ｉのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０６からステップＳ１０７へ処理を分岐させる。
【０１４３】
ステップＳ１０７では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが翻訳メモリ登録ボタン２１ｊのクリックであるか否かを、判別する。
【０１４４】
そして、ステップＳ１００で発生したイベントが翻訳メモリ登録ボタン２１ｊのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０７からステップＳ１７１へ処理を分岐させる。
【０１４５】
ステップＳ１７１では、ＣＰＵ１０ｃは、最上層の原文と訳文とを、図１１の作業テーブル３１から読み出し、それら原文と訳文とを含むレコードを訳例データベース１２ｄに追加する処理を行う。
【０１４６】
次のステップＳ１７２では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、ステップＳ１７１で訳例データベース１２ｄに登録した最上層の原文について、下位層が存在するか否かを、判別する。なお、このステップＳ１７２を実行するＣＰＵ１０ｃは、判別手段に相当している。
【０１４７】
そして、ステップＳ１７１で訳例データベース１２ｄに登録した最上層の原文について、下位層が存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１７２からステップＳ１００へ処理を分岐させ、イベントが発生するまで待機する状態になる。
【０１４８】
また、ステップＳ１７１で訳例データベース１２ｄに登録した最上層の原文について、下位層が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１７２からステップＳ１７３へ処理を分岐させる。
【０１４９】
ステップＳ１７３では、ＣＰＵ１０ｃは、最上層の原文と訳文とにおける直下層部分を変数に置換する処理を行う。このとき、ＣＰＵ１０ｃは、図１３に示される翻訳結果と同じように、原文と訳文とに同じ変数を使用する。そのＣＰＵ１０ｃは、一部を変数に置換した最上層の原文と訳文とを含むレコードを訳例データベース１２ｄに追加する処理を行う。そして、訳例データベース１２ｄへのレコードの追加後、ＣＰＵ１０ｃは、ステップＳ１７４へ処理を進める。
【０１５０】
ステップＳ１７４では、ＣＰＵ１０ｃは、最上層の一つ下の階層を、処理対象として特定し、ステップＳ１７５へ処理を進める。
【０１５１】
ステップＳ１７５では、ＣＰＵ１０ｃは、処理対象について登録対象としての指定があるか否かを、判別する。なお、登録対象の指定とは、階層表示欄２１ｄ内の各項目の中から、原文又は原語句と訳文又は翻訳語句とを訳例データベース１２ｄに登録すべき項目を選択して指定することを言う。具体的には、図１２及び図１６に示されるように、階層表示欄２１ｄ内の各項目には、チェックボックス２１ｍが含まれており、このチェックボックス２１ｍにチェックマークが入力されている場合、その項目が、原文又は原語句と訳文又は翻訳語句とを訳例データベース１２ｄに登録すべき項目として、選択されることとなる。すなわち、このステップＳ１７７は、処理対象の原文又は原語句と訳文又は翻訳語句とを含む項目のチェックボックスにチェックマークが入力されているか否かを判別する処理となっている。
【０１５２】
そして、処理対象について登録対象としての指定があった場合、ＣＰＵ１０ｃは、ステップＳ１７５からステップＳ１７６へ処理を進める。
【０１５３】
ステップＳ１７６では、ＣＰＵ１０ｃは、処理対象の階層の原語句と翻訳語句とを含むレコードを訳例データベース１２ｄに追加する処理を行う。なお、図１７は、変数を含む原文と訳文とが格納された訳例データベース１２ｄのデータ構造の一例を示す図である。この訳例データベース１２ｄでは、原文と訳文の対が各行に列挙されている。訳例データベース１２ｄへのレコードの追加の後、ＣＰＵ１０ｃは、ステップＳ１７７へ処理を進める。
【０１５４】
なお、このステップＳ１７６を実行するＣＰＵ１０ｃは、登録手段に相当している。
【０１５５】
また、ステップＳ１７５において、処理対象について登録対象としての指定がなかった場合、ＣＰＵ１０ｃは、ステップＳ１７５からステップＳ１７７へ処理を分岐させる。
【０１５６】
ステップＳ１７７では、ＣＰＵ１０ｃは、処理対象の階層の原語句と翻訳語句とについて、同一又は下位の階層が存在しているか否かを、判別する。なお、このステップＳ１７７を実行するＣＰＵ１０ｃは、判別手段に相当している。
【０１５７】
そして、処理対象の階層の原語句と翻訳語句とについて、同一又は下位の階層が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１７７からステップＳ１７８へ処理を分岐させる。
【０１５８】
ステップＳ１７８では、ＣＰＵ１０ｃは、処理対象の階層の原語句と翻訳語句とにおける直下層部分を変数に置換する処理を行う。また、ＣＰＵ１０ｃは、一部を変数に置換した処理対象の階層の原語句と翻訳語句とを含むレコードを訳例データベース１２ｄに追加する処理を行う。そして、訳例データベース１２ｄへのレコードの追加後、ＣＰＵ１０ｃは、ステップＳ１７９へ処理を進める。
【０１５９】
なお、このステップＳ１７８を実行するＣＰＵ１０ｃは、登録手段に相当している。
【０１６０】
ステップＳ１７９では、ＣＰＵ１０ｃは、処理対象の階層と同一又は下位の階層を、新たに処理対象として特定し、その後、ステップＳ１７５へ処理を戻して、新たな処理対象について登録対象としての指定があるか否かを判別する処理を行う。
【０１６１】
また、処理対象の階層の原語句と翻訳語句とについて、同一又は下位の階層が存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１７７からステップＳ１００へ処理を分岐させ、イベントが発生するまで待機する状態になる。
【０１６２】
一方、ステップＳ１０７において、ステップＳ１００で発生したイベントが翻訳メモリ登録ボタン２１ｊのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０７からステップＳ１０８へ処理を分岐させる。
【０１６３】
ステップＳ１０８では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが訳文表示欄２１ｃ内に表示されている訳文への修正であるか否かを、判別する。
【０１６４】
そして、ステップＳ１００で発生したイベントが訳文表示欄２１ｃ内に表示されている訳文への修正であった場合、ＣＰＵ１０ｃは、ステップＳ１０８からステップＳ１８１へ処理を分岐させる。
【０１６５】
ステップＳ１８１では、ＣＰＵ１０ｃは、訳文表示欄２１ｃ内の訳文の修正が組込記号の入力であるか否かを、判別する。なお、組込記号とは、原文表示欄２１ｂ内の原文又は原語句に一つ下の階層が設定されている場合において、訳文表示欄２１ｃの中に、その一つ下の階層の訳文を手作業にて入力することなく、自動的に入力させるための記号である。
【０１６６】
図１８は、組込記号の具体的な説明に使用する図である。
【０１６７】
図１８（ａ）に示されるように、操作者が、訳文表示欄２１ｃ内の訳文中に組込記号（Ｘ１〜Ｘ４）を入力すると、図１８（ｂ）に示されるように、その組込記号のある箇所に、その組込記号に対応する直下層の翻訳語句が、自動的に組み込まれる。ここで、原文表示欄２１ｂに表示された原文又は原語句に多数の直下層が設定されている場合、各直下層部分の先頭からの順番が、組込記号に定義される。従って、文頭から二番目にある直下層の翻訳語句を訳文表示欄２１ｃに入力したい場合、操作者は、多数の組込記号の中から、二番目の直下層を意味する組込記号（図１８ではＸ２）を選択して、訳文表示欄２１ｃに入力することとなる。
【０１６８】
そして、訳文表示欄２１ｃ内の訳文の修正が組込記号の入力であった場合、ＣＰＵ１０ｃは、ステップＳ１８１からステップＳ１８２へ処理を分岐させる。
【０１６９】
ステップＳ１８２では、ＣＰＵ１０ｃは、原文表示欄２１ｂ内の原文又は原語句に設定されている直下層のうち、組込記号に定義されている順番の直下層の翻訳語句を、図１１の作業テーブル３１から読み出す。
【０１７０】
次のステップＳ１８３では、ＣＰＵ１０ｃは、訳文表示欄２１ｃ内の当該組込記号を、ステップＳ１８２で読み出した翻訳語句に、置換する処理を行う。その後、ＣＰＵ１０ｃは、ステップＳ１８５へ処理を進める。
【０１７１】
なお、ステップＳ１８１乃至Ｓ１８３を実行するＣＰＵ１０ｃは、置換手段に相当している。
【０１７２】
また、ステップＳ１８１において、訳文表示欄２１ｃ内の訳文の修正が組込記号の入力でなかった場合、ＣＰＵ１０ｃは、ステップＳ１８１からステップＳ１８４へ処理を分岐させる。
【０１７３】
ステップＳ１８４では、ＣＰＵ１０ｃは、訳文表示欄２１ｃにおける修正前のカーソル位置が、原文表示欄２１ｂ内の文章上に設定されている下位層の範囲内に存在していたか否かを、判別する。
【０１７４】
そして、訳文表示欄２１ｃにおける修正前のカーソル位置が、原文表示欄２１ｂ内の原文又は原語句に設定されている下位層の範囲内に存在していなかった場合、ＣＰＵ１０ａは、ステップＳ１８４からステップＳ１８５へ処理を分岐させる。
【０１７５】
ステップＳ１８５では、ＣＰＵ１０ｃは、図１１の作業テーブル３１における原文表示欄２１ｂ内の原文又は原語句を含むレコードの「訳文」フィールドの値を、訳文表示欄２１ｃに表示されている翻訳語句で、更新する処理を行う。また、ＣＰＵ１０ｃは、当該レコードの「属性」フィールドの値を、属性情報（編集）で、更新する処理も行う。
【０１７６】
そして、ＣＰＵ１０ｃは、当該編集の反映後、ステップＳ１８５からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【０１７７】
また、ステップＳ１８４において、訳文表示欄２１ｃにおける修正前のカーソル位置が、原文表示欄２１ｂ内の文章上に設定されている下位層の範囲内に存在していた場合、ＣＰＵ１０ａは、ステップＳ１８４からステップＳ１８６へ処理を分岐させる。
【０１７８】
ステップＳ１８６では、ＣＰＵ１０ｃは、図１１の作業テーブル３１を参照して、修正前のカーソル位置を含む下位層のうちの最も下位の階層の単位部分が解錠状態であるか否かを、判別する。
【０１７９】
そして、修正前のカーソル位置を含む下位層のうちの最も下位の階層の単位部分が解錠状態でなかった場合、ＣＰＵ１０ｃは、ステップＳ１８６からステップＳ１００へ処理を分岐させ、イベントが発生するまで待機する状態になる。
【０１８０】
また、修正前のカーソル位置を含む下位層のうちの最も下位の階層の単位部分が解錠状態であった場合、ＣＰＵ１０ｃは、ステップＳ１８６からステップＳ１８７へ処理を分岐させる。
【０１８１】
ステップＳ１８７では、ＣＰＵ１０ｃは、図１１の作業テーブル３１における最下層の単位部分に対応するレコードの「訳文」フィールドの値（翻訳語句）に、当該修正を反映する処理を行う。また、ＣＰＵ１０ｃは、当該レコードの「属性」フィールドの値を、属性情報（編集）で、更新する処理も行う。
【０１８２】
次のステップＳ１８７’では、ＣＰＵ１０ｃは、最下層の階層の原語句と同じ原語句を「原文」フィールドに含むレコードが対訳データ１４内に格納されていれば、そのレコードの「原文」フィールドの値（原語句）に対し、当該修正を反映する処理を行う。
【０１８３】
そして、ＣＰＵ１０ｃは、対訳データ１４内の全文章に当該修正を反映した後、ステップＳ１８７’からステップＳ１８８へ処理を進める。
【０１８４】
ステップＳ１８８では、ＣＰＵ１０ｃは、当該階層について一つ上の階層が存在するか否かを、判別する。
【０１８５】
そして、当該階層について一つ上の階層が存在していた場合、ＣＰＵ１０ｃは、ステップＳ１８８からステップＳ１８９へ処理を分岐させる。
【０１８６】
ステップＳ１８９では、ＣＰＵ１０ｃは、図１１の作業テーブル３１において、処理対象の一つ上の階層のレコードの「訳文」フィールドの値（翻訳語句）における当該階層の部分を、当該階層の翻訳語句で、置換する処理を行う。
【０１８７】
次のステップＳ１９０では、ＣＰＵ１０ｃは、当該階層の一つ上の階層を、新たな処理対象として特定する。特定後、ＣＰＵ１０ｃは、ステップＳ１８８へ処理を戻し、新たに処理対象とした階層について一つ上の階層が存在しているか否かを判別する処理を、行う。
【０１８８】
なお、ステップＳ１８４を実行するＣＰＵ１０ｃは、前述した検出手段に相当している。また、ステップＳ１８６乃至Ｓ１９０を実行するＣＰＵ１０ｃは、前述した修正伝播手段に相当している。
【０１８９】
また、ステップＳ１８８において、当該階層について一つ上の階層が存在していなかった場合、ＣＰＵ１０ｃは、ステップＳ１８８からステップＳ１００へ処理を分岐させ、イベントが発生するまで待機する状態になる。
【０１９０】
一方、ステップＳ１０８において、ステップＳ１００で発生したイベントが訳文表示欄２１ｃ内に表示されている訳文への修正でなかった場合、ＣＰＵ１０ｃは、ステップＳ１０８からステップＳ１０９へ処理を分岐させる。
【０１９１】
ステップＳ１０９では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが訳検証ボタン２１ｋのクリックであるか否かを、判別する。
【０１９２】
そして、ステップＳ１００で発生したイベントが訳検証ボタン２１ｋのクリックであった場合、ＣＰＵ１０ｃは、ステップＳ１０９からステップＳ１９１へ処理を分岐させる。
【０１９３】
ステップＳ１９１では、ＣＰＵ１０ｃは、原文表示欄２１ｂに表示されている原文又は原語句を、翻訳メモリ検索モジュール１２ｃにて翻訳する処理を行う。また、翻訳メモリ検索モジュール１２ｃで翻訳結果が得られなかったときには、ＣＰＵ１０ｃは、機械翻訳モジュール１２ａにて翻訳する処理を行う。なお、このステップＳ１９１を実行するＣＰＵ１０ｃは、翻訳手段に相当している。
【０１９４】
次のステップＳ１９２では、ＣＰＵ１０ｃは、訳文表示欄２１ｃに表示されている訳文又は翻訳語句と、ステップＳ１９１で生成された翻訳結果とを比較して、相違部分を抽出する処理を行う。なお、この処理は、翻訳メモリ検索モジュール１２ｃの一機能が用いられても良いし、別途、文章の比較を行う周知の機能が用いられても良い。このステップＳ１９２を実行するＣＰＵ１０ｃは、相違抽出手段に相当している。
【０１９５】
次のステップＳ１９３では、ＣＰＵ１０ｃは、訳文表示欄２１ｃに表示されている文章（訳文又は翻訳語句）のうち、ステップＳ１９２で抽出された相違部分の背景色を、地色とは別の色に変更する処理を行う。この処理の実行後、ＣＰＵ１０ｃは、ステップＳ１９３からステップＳ１００へ処理を戻し、イベントが発生するまで待機する状態になる。
【０１９６】
なお、このステップＳ１９３を実行するＣＰＵ１０ｃは、相違強調手段に相当している。
【０１９７】
一方、ステップＳ１０９において、ステップＳ１００で発生したイベントが訳検証ボタン２１ｋのクリックでなかった場合、ＣＰＵ１０ｃは、ステップＳ１０９からステップＳ１１０へ処理を分岐させる。
【０１９８】
ステップＳ１１０では、ＣＰＵ１０ｃは、ステップＳ１００で発生したイベントが終了指示であるか否かを判別する。
【０１９９】
そして、ステップＳ１００で発生したイベントが終了指示でなかった場合、ＣＰＵ１０ｃは、ステップＳ１１０からステップＳ２００へ処理を分岐させる。
【０２００】
ステップＳ２００では、ＣＰＵ１０ｃは、そのイベントに応じた処理を実行し、その後、ステップＳ１００へ処理を戻して、イベントが発生するまで待機する状態になる。
【０２０１】
一方、ステップＳ１１０において、ステップＳ１００で発生したイベントが終了指示であった場合、ＣＰＵ１０ｃは、図２乃至図１１に係る翻訳者支援処理を終了する。
【０２０２】
次に、この翻訳者支援装置１０の作用及び効果について、説明する。
【０２０３】
翻訳者支援装置１０の操作者が、入力装置１０ｂを操作して、対訳データ１４を指定しると、図１０の作業画面２１が表示装置１０ａに表示され、文章列挙欄２１ａの各行に一文ずつ文章が表示される。
【０２０４】
そして、操作者が、その文章列挙欄２１ａの何れかの行にカーソルを合わせると、その行の文章について対訳データ１４に登録されている情報が、原文表示欄２１ｂ，訳文表示欄２１ｃ，階層表示欄２１ｄに表示される。
【０２０５】
この訳文表示欄２１ｃにおいて、例えば、図１１の作業テーブル１１における最上層の原文である『This is the pen I bought yesterday』が表示されていた場合に、操作者が、『the』の『t』の位置にカーソルを配置して、その『t』を削除する。ここで、図１１の作業テーブル３１における「直上層」及び「長さ」フィールドの値を参照すると、そのカーソル位置を含む最も下位の階層は、『the pen』であるので（ステップＳ１８４；ＹＥＳ）、この階層の翻訳語句である『the pen』は、『he pen』と修正される（ステップＳ１８７）。また、その上の階層の翻訳語句である『the pen I bought yesterday』は、『he pen I bought yesterday』と修正され、更にその上の階層の原文である『This is the pen I bought yesterday』は、『This is he pen I bought yesterday』と修正される（ステップＳ１８８〜Ｓ１９０）。
【０２０６】
また、訳文表示欄２１ｃに、『This is the pen I bought yesterday』が表示されていた場合に、操作者が、『pen』の『n』位置にカーソルを配置して、『s』を追加する。すると、そのカーソル位置を含む最も下位の階層は、図１１の作業テーブル３１を参照すると、『the pen』であるので（ステップＳ１８４；ＹＥＳ）、この階層の翻訳語句である『the pen』は、『the pens』と修正される（ステップＳ１８７）。また、その上の階層の翻訳語句である『the pen I bought yesterday』は、『the pens I bought yesterday』と修正され、更にその上の階層の原文である『This is the pen I bought yesterday』は、『This is the pens I bought yesterday』と修正される（ステップＳ１８８〜Ｓ１９０）。
【０２０７】
また、訳文表示欄２１ｃに、『This is the pen I bought yesterday』と表示されていた場合に、操作者が、『is』と『the』の間の空白にカーソルを配置して、『n』を追加する。すると、そのカーソル位置を含む最も下位の階層は、図１１の作業テーブル３１を参照すると、『This is the pen I bought yesterday』であるので（ステップＳ１８４；ＮＯ）、この階層の翻訳語句である『This is the pen I bought yesterday』は、『This is nthe pen I bought yesterday』と修正される（ステップＳ１８７）。このとき、『the pen』や『the pen I bought yesterday』の階層には、『n』は追加されない（ステップＳ１８８；ＮＯ）。そして、更に、そのカーソル位置において、操作者が、『o』，『t』，『 』と順次打ち込んでいけば、この階層の翻訳語句である『This is nthe pen I bought yesterday』は、『This is not the pen I bought yesterday』と修正されることとなる。
【０２０８】
このように、本実施形態の翻訳者支援装置１０によれば、訳文表示欄２１ｃ内の翻訳語句に修正を加えても、その修正箇所を範囲に含む階層の単位部分が検索され、検出された階層の単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれに対し、その修正が反映される。
【０２０９】
また、本実施形態によれば、操作者は、階層表示欄２１ｄ内の各項目に備られている施解錠ボタン２１ｌを操作することにより、その入力がなされた項目を、その翻訳語句が修正できない施錠状態に、設定することができる。これにより、操作者が、翻訳を完成させた項目について、誤って再編集に取り掛かってしまうことを、防ぐことができる（ステップＳ１４５）。然も、何れかの項目を施錠したとき、その施錠した項目に下位層があれば、その下位層も全て施錠されるので（ステップＳ１４６；ＹＥＳ，Ｓ１４７）、利用者は、その下位層について翻訳語句を修正した後でその修正を当該項目の翻訳語句に反映してしまうこともなくなる（ステップＳ１８６；ＮＯ）。また、解錠の際には、解錠した項目とともにその上位層も解錠されるので（ステップＳ１４２，Ｓ１４３；ＹＥＳ，Ｓ１４４）、操作者は、その解錠した項目の上位層において修正を行えば、その修正を当該項目から最上層まで伝播させることができる（ステップＳ１７２；ＮＯ，Ｓ１７３〜Ｓ１７９）。
【０２１０】
また、本実施形態によれば、操作者は、変数を含まない原語句と翻訳語句とを訳例データベース１２ｄに登録することもできるが（ステップＳ１７１）、それら原語句と翻訳語句が下位層を有している場合には、その下位層部分を変数に置換した原語句と翻訳語句をも、訳例データベース１２ｄに登録できる（ステップＳ１７２；ＮＯ，Ｓ１７３）。更に、その下位層が、一つ下の階層を有している場合には、その下位層における一つ下の階層の部分を変数に置換した原語句と翻訳語句をも、訳例データベース１２ｄに登録できる（ステップＳ１７７〜Ｓ１７９）。ここで、操作者は、階層表示欄２１ｄ内の各項目に備られているチェックボックス２１ｍに対し、チェックマークを入力することにより、訳例登録が行われる項目を、選択することができる。このため、操作者は、変数を含む訳例がたくさん登録されすぎてしまうことを、防ぐことができる。
【０２１１】
また、本実施形態によれば、操作者は、原文表示欄２１ｂに表示されている原語句を翻訳するため、組立ボタン２１ｉをクリックすると、その原語句に下位層がなければ、その原語句を翻訳してなる翻訳語句が生成される。このとき、翻訳結果に変数が含まれていれば、その変数に対応する部分が、直下層として別途登録される（ステップＳ１６６）。従って、操作者が、下位層を作成するための作業を行わなくて済む。
【０２１２】
また、操作者が、組立ボタン２１ｉをクリックしたときに、その原語句に下位層があれば、最下層から直下層まで順に、翻訳語句を上位層の翻訳語句に組み込む処理が行われる（ステップＳ１６７）。このとき、未翻訳の階層があったとしても、その階層の翻訳語句が翻訳モジュールにて生成されてからその上位層へ組み込まれる。このように、組立ボタン２１ｉをクリックしたときに、未翻訳の階層について翻訳が行われて、その翻訳結果が上位の階層に伝播するので、操作者は、未翻訳の階層について翻訳作業をわざわざ行わなくて済むようになる。
【０２１３】
また、本実施形態によれば、操作者は、訳文表示欄２１ｃに表示されている翻訳語句に、その直下層の順番に対応する組込記号を入力すれば、その組込記号に対応する順番の直下層の翻訳語句を、自動的に組み込むことができる（ステップＳ１８２，Ｓ１８３）。このため、操作者は、直下層の翻訳語句を入力する手間を、省くことができる。
【０２１４】
また、本実施形態によれば、原文表示欄２１ｂに表示される原文又は原語句において、その直下層部分が強調表示されるので（ステップＳ１３３，Ｓ１６８）、操作者は、原文表示欄２１ｂ内において直下層がどの部分かを、一目で把握することができる。然も、直下層が複数ある場合に、各部分が色分けされているので、より識別しやすくなる。
【０２１５】
また、本実施形態によれば、原文表示欄２１ｅには原文全体が表示されるので（ステップＳ１１４）、原文表示欄２１ｂにおいて原文の一部である原語句が表示されていても、原文全体が見渡せる。
【０２１６】
また、本実施形態によれば、操作者が、何れかの単位部分について、その翻訳語句に修正を行うと、その修正前の翻訳語句と同じ翻訳語句をもつ単位部分が、対訳データ１４から検出され、その検出された単位部分の翻訳語句に対し、その修正が反映される（ステップＳ１８７’）。つまり、操作者は、文章列挙欄２１ａにおいて翻訳対象として選択していない文章に対しても、その修正を反映させることができるので、この機能により、翻訳者支援装置１０の利便性が向上することとなる。
【０２１７】
また、本実施形態によれば、操作者が、訳文表示欄２１ｃに翻訳語句を入力した後、訳検証ボタン２１ｋをクリックすると、修正後の翻訳語句と翻訳モジュールによる翻訳結果との相違部分が、訳文表示欄２１ｃに表示される（ステップＳ１９１〜Ｓ１９３）。このため、操作者は、自分が作成した翻訳語句のどの部分が誤っているかを、検討することができる。
【０２１８】
（付記１）
コンピュータを、
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶する記憶手段，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手段，
前記表示手段が前記表示装置に表示した翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索手段，及び、
前記検索手段が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播手段
として機能させる
ことを特徴とする翻訳者支援プログラム。
【０２１９】
（付記２）
前記記憶手段は、前記原文内の全ての単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分の識別情報，一つ上の階層の単位部分の識別情報，及び、その単位部分の属性を示す属性情報を、対応付けて前記記憶装置に記憶し、
前記修正伝播手段は、前記検索手段が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶部内のその単位部分の翻訳語句にその修正を反映させるとともに、その単位部分の属性情報を所定の属性情報に切り替える処理を、最下層から最上層に向かって順に行う
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２０】
（付記３）
前記属性情報は、翻訳語句の修正の可否を定義する情報であり、
前記修正伝播手段は、前記検索手段が検出した単位部分のうちの最下層の単位部分につき、その属性情報が修正の可能を定義するものである場合に、前記処理を行う
ことを特徴とする付記２記載の翻訳者支援プログラム。
【０２２１】
（付記４）
前記コンピュータを、更に、
前記原文内の全ての単位部分のうち、何れかの単位部分について、その翻訳語句の修正の可否を切り替える指示を利用者から受け付けると、前記記憶装置内のその単位部分の属性情報を、指示されたものへ更新する施解錠手段
として機能させる
ことを特徴とする付記３記載の翻訳者支援プログラム。
【０２２２】
（付記５）
前記コンピュータを、更に、
前記表示手段が前記表示装置に表示した翻訳語句に対し、その翻訳語句内にその一つ下の階層として設定されている単位部分に対応する組込記号を入力する指示を、利用者から受け付けると、前記表示装置に表示された翻訳語句におけるその組込記号を、その組込記号に対応する直下層の単位部分の翻訳語句で、置換するとともに、その置換後の翻訳語句で、前記記憶装置内の当該翻訳語句を更新する置換手段
として機能させる
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２３】
（付記６）
前記表示手段は、何れかの単位部分の原語句と翻訳語句とを前記表示装置に表示するとともに、それら原語句と翻訳語句とにおける一つ下の階層の単位部分を強調表示する
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２４】
（付記７）
前記表示手段は、前記原語句と前記翻訳語句の内部において、一つ下の階層の単位部分が複数ある場合には、それら一つ下の階層の単位部分のそれぞれの強調色を変える
ことを特徴とする付記６記載の翻訳者支援プログラム。
【０２２５】
（付記８）
前記表示手段は、何れかの単位部分の原語句と翻訳語句とを前記表示装置に表示するとともに、その原語句を含む原文全体を前記表示装置に表示する
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２６】
（付記９）
前記記憶手段は、原文内の全ての単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分の識別情報，及び、一つ上の階層の単位部分の識別情報を、対応付けて記憶するデータ構造を、複数の原文のそれぞれについて前記記憶装置に保持し、
前記修正伝播手段は、前記複数の原文内の全ての単位部分のうち、利用者によって修正が指示された翻訳語句と同じ翻訳語句の単位部分につき、前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理をも行う
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２７】
（付記１０）
前記コンピュータを、更に、
前記表示手段が前記表示装置に表示した原語句と翻訳語句の翻訳メモリ検索モジュールのデータベースへの登録の指示を利用者から受け付けると、それら原語句と翻訳語句とにおいて、一つ下の階層として設定されている単位部分があるか否かを判別する判別手段，及び、
前記判別手段が一つ下の階層の単位部分があると判別した場合に、原語句と翻訳語句とにおける一つ下の階層として設定されている単位部分を、同一の変数に置換し、これらを対応付けて前記データベースに登録する登録手段
として機能させる
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２８】
（付記１１）
前記コンピュータを、更に、
前記原文内の全ての単位部分のうち、何れかの単位部分についての翻訳メモリ検索モジュールのデータベースへの登録の指示を利用者から受け付けると、利用者に指示された単位部分の原語句と翻訳語句とを対応付けて前記データベースに登録する登録手段
として機能させる
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２２９】
（付記１２）
前記コンピュータを、更に、
前記表示手段が前記表示装置に表示した翻訳語句についての検証の指示を利用者から受け付けると、前記表示装置に表示された原語句を、翻訳モジュールにて翻訳する翻訳手段，
前記表示装置に表示された翻訳語句における前記翻訳手段が生成した翻訳結果との相違単位部分を抽出する相違抽出手段，及び、
前記表示装置に表示された翻訳語句における前記相違抽出手段が抽出した相違単位部分を強調する相違強調手段
として機能させる
ことを特徴とする付記１記載の翻訳者支援プログラム。
【０２３０】
（付記１３）
前記翻訳モジュールは、機械翻訳モジュールである
ことを特徴とする付記１２記載の翻訳者支援プログラム。
【０２３１】
（付記１４）
前記翻訳モジュールは、翻訳メモリ検索モジュールである。
ことを特徴とする付記１２記載の翻訳者支援プログラム。
【０２３２】
（付記１５）
前記翻訳手段は、前記表示装置に表示された原語句を、翻訳メモリ検索モジュールにて翻訳し、翻訳できなかった場合には、更に、当該原語句を機械翻訳モジュールにて翻訳する
ことを特徴とする付記１２記載の翻訳者支援プログラム。
【０２３３】
（付記１６）
コンピュータを、
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶する第１の記憶手段，
前記原文内の全ての単位部分のうち、原語句を翻訳したものである翻訳語句が生成されている単位部分のそれぞれについて、その単位部分の原語句と翻訳語句とを対応付けて前記記憶装置に記憶する第２の記憶手段，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句を表示装置に表示する表示手段，
前記表示手段が前記表示装置に表示した原語句に対する翻訳の指示を利用者から受け付けると、その原語句と同一又は類似の文例を、翻訳メモリ検索モジュールにて検索する翻訳メモリ検索手段，
前記翻訳メモリ検索手段が検出した文例に対応する訳例を、当該原語句に対応する翻訳語句として前記表示装置に表示する翻訳結果出力手段，及び、
前記翻訳メモリ検索手段が検出した文例に変数が含まれている場合に、当該原語句におけるその変数部分に対応する部分を、その一つ下の階層の単位部分として、当該原語句に対応付けて前記記憶装置に追加記録する階層生成手段
として機能させる
ことを特徴とする翻訳者支援プログラム。
【０２３４】
（付記１７）
前記コンピュータを、更に、
前記階層生成手段が前記記憶装置に追加した単位部分の原語句を、翻訳モジュールにて翻訳する翻訳手段，及び、
前記翻訳結果出力手段が前記表示装置に表示した翻訳語句における変数部分を、前記翻訳手段が生成した翻訳結果で、置換して、置換後の翻訳語句と前記表示装置に表示されている原語句とを対応付けて前記記憶装置に記憶する登録手段
として機能させる
ことを特徴とする付記１６記載の翻訳者支援プログラム。
【０２３５】
（付記１８）
前記コンピュータを、更に、
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶する第１の記憶手段，
前記原文内の全ての単位部分のうち、原語句を翻訳したものである翻訳語句が生成されている単位部分のそれぞれについて、その単位部分の原語句と翻訳語句とを対応付けて前記記憶装置に記憶する第２の記憶手段，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句を表示装置に表示する表示手段，
前記表示手段が前記表示装置に表示した原語句に対する翻訳の指示を利用者から受け付けると、その原語句内に設定されている幾つかの下位の階層の単位部分のそれぞれについて、その単位部分の原語句に対応する翻訳語句をその一つ下の階層の翻訳語句を組み込みつつ翻訳モジュールにて生成する処理を、最も下位の階層から上位の階層へと順に行う翻訳手段，及び、
前記翻訳手段が各単位部分について生成した翻訳語句を、それぞれ、その単位部分の原語句に対応付けて前記記憶装置に記録する保存手段
として機能させる
ことを特徴とする翻訳者支援プログラム。
【０２３６】
（付記１９）
前記翻訳手段は、翻訳対象として利用者に指定された原語句内に設定されている幾つかの下位の階層の単位部分のうち、翻訳語句と原語句とが前記記憶装置に対応付けられていない単位部分についてのみ、翻訳モジュールにて翻訳語句を生成する
ことを特徴とする付記１８記載の翻訳者支援プログラム。
【０２３７】
（付記２０）
前記翻訳モジュールが、機械翻訳モジュールである
ことを特徴とする付記１９記載の翻訳者支援プログラム。
【０２３８】
（付記２１）
前記翻訳モジュールが、翻訳メモリ検索モジュールである
ことを特徴とする付記１９記載の翻訳者支援プログラム。
【０２３９】
（付記２２）
前記翻訳手段は、前記処理において原語句を翻訳メモリ検索モジュールにて翻訳し、翻訳できなかった場合には、更に、当該原語句を機械翻訳モジュールにて翻訳する
ことを特徴とする付記１９記載の翻訳者支援プログラム。
【０２４０】
（付記２３）
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶する記憶部，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示する表示部，
前記表示部に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する検索部，及び、
前記検索部が検出した単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶部内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に行う修正伝播部
を備えることを特徴とする翻訳者支援装置。
【０２４１】
（付記２４）
原文内に翻訳の単位として設定された幾つかの単位部分のそれぞれについて、その単位部分の原語句，その単位部分の翻訳語句，その単位部分を他の単位部分から個別に識別するための識別情報，及び、その単位部分を包含する一つ上の階層の単位部分の識別情報を、対応付けて記憶装置に記憶させる記憶手順，
前記原文内の全ての単位部分のうち、何れかの単位部分の原語句と翻訳語句とを表示装置に表示する表示手順，
前記表示手順において前記表示装置に表示された翻訳語句に対する修正の指示を利用者から受け付けると、その翻訳語句内にその下位層として設定されている幾つかの単位部分の中から、その修正がなされる箇所をその範囲に含む単位部分を、検索する処理を、コンピュータに行わせる検索手順，及び、
前記検索手順において検出された単位部分のうち最も下位の階層の単位部分を含む全ての階層の単位部分のそれぞれについて前記記憶装置内のその単位部分の翻訳語句にその修正を反映させる処理を、最下層から最上層に向かって順に、コンピュータに行わせる修正伝播手順
からなることを特徴とする翻訳者支援方法。
【図面の簡単な説明】
【０２４２】
【図１】本実施形態の翻訳者支援装置の構成図
【図２】翻訳者支援処理の流れを示す図
【図３】翻訳者支援処理の流れを示す図
【図４】翻訳者支援処理の流れを示す図
【図５】翻訳者支援処理の流れを示す図
【図６】翻訳者支援処理の流れを示す図
【図７】翻訳者支援処理の流れを示す図
【図８】翻訳者支援処理の流れを示す図
【図９】翻訳者支援処理の流れを示す図
【図１０】作業画面の一例を示す図
【図１１】作業テーブルのデータ構造の一例を示す図
【図１２】階層表示欄に項目が表示された状態の作業画面の一例を示す図
【図１３】翻訳メモリ検索モジュールで翻訳を行ったときの検索結果を示す図
【図１４】階層生成処理の流れを示す図
【図１５】下位層翻訳処理の流れを示す図
【図１６】図１３内の翻訳結果が作業画面に示された状態を示す図
【図１７】変数を含む原文と訳文とが格納された訳例データベースのデータ構造の一例を示す図
【図１８】組込記号の具体的な説明に使用する図
【図１９】従来の翻訳者支援装置に表示される作業画面の一例を示す図
【図２０】従来の翻訳者支援装置に表示される作業画面の一例を示す図
【図２１】従来の翻訳者支援装置に表示される作業画面の一例を示す図
【図２２】従来の翻訳者支援装置に表示される作業画面の一例を示す図
【図２３】従来の翻訳者支援装置に表示される作業画面の一例を示す図
【符号の説明】
【０２４３】
１０    翻訳者支援装置
１０ａ  表示装置
１０ｂ  入力装置
１０ｃ  ＣＰＵ
１０ｆ  ＨＤＤ
１２    翻訳者支援ソフトウエア
１２ａ  機械翻訳モジュール
１２ｂ  辞書データベース
１２ｃ  翻訳メモリ検索モジュール
１２ｄ  訳例データベース
【図１】
2007233486.tif 000003
【図２】
2007233486.tif 000004
【図３】
2007233486.tif 000005
【図４】
2007233486.tif 000006
【図５】
2007233486.tif 000007
【図６】
2007233486.tif 000008
【図７】
2007233486.tif 000009
【図８】
2007233486.tif 000010
【図９】
2007233486.tif 000011
【図１０】
2007233486.tif 000012
【図１１】
2007233486.tif 000013
【図１２】
2007233486.tif 000014
【図１３】
2007233486.tif 000015
【図１４】
2007233486.tif 000016
【図１５】
2007233486.tif 000017
【図１６】
2007233486.tif 000018
【図１７】
2007233486.tif 000019
【図１８】
2007233486.tif 000020
【図１９】
2007233486.tif 000021
【図２０】
2007233486.tif 000022
【図２１】
2007233486.tif 000023
【図２２】
2007233486.tif 000024
【図２３】
2007233486.tif 000025