以下本発明の好適な実施例を、図面を参照しつつ詳細に説明する。
本発明のメインフローチャートは4つあり、
1)図5では翻訳者を兼任する一次確認者の確認を経て、承認者によって、ある原文語句に対する訳語が承認される場合について、一次確認者が自ら訳語を登録する場合の承認申請処理と、一次確認者以外の翻訳者の訳語を収集して訳揺れを検出する処理を主に説明する。
2)図12では一次確認者の確認を経て、承認者によってある原文語句に対する訳語が決定される場合について、一次確認者以外の翻訳者による訳語の承認申請に対する承認処理を主に説明する。
3)図33では翻訳者を兼任する承認者によって、ある原文語句に対する訳語が承認される場合について、承認者が自ら訳語を登録する場合の処理と、承認者以外の翻訳者の訳語を収集して訳揺れを検出する処理を主に説明する。
4)図34では承認者によって、ある原文語句に対する訳語が承認される場合について、承認者以外の翻訳者による訳語の承認申請に対する承認処理を主に説明する。
図1は翻訳支援システムのシステム構成を示す図である。図1のクライアントA、クライアントB、クライアントCはそれぞれ翻訳者を示しているが、翻訳者が操作するクライアントの数はこれら3台に限るものではない。翻訳者が操作するクライアントの数は翻訳プロジェクトの規模に応じて変化し、より大きな翻訳プロジェクトでは、クライアントD、クライアントE、…、クライアントXなど数十台規模から数百台規模のクライアントが同一プロジェクトに参加する場合もある。
(1)各翻訳者個々人の各クライアントパソコン(例えばクライアントA、クライアントB、クライアントC)、及び承認者が操作するクライアントYは、これらクライアントパソコンにインストールされているクライアント用ソフトウェア(例えばクライアント用専用アプリケーション又はブラウザ)を用いてLAN又はインターネットなどのネットワーク100を通じて、管理サーバー150へ接続し、管理サーバー150の記憶手段(例えばハードディスク28)の共通メモリ151に記憶された原文語句と訳語と品詞を含むメモリ情報や後述する図5乃至図7及び図9乃至図15、図17、図19、図21、図25乃至図31、図33乃至図34、図37のフローチャートに示すアプリケーションプログラム(各クライアントのディスプレイの表示画面に図8、図16、図18、図20、図22乃至図24に示すアプリケーションの画面を表示させるための画面情報を含む)や、一つ又は複数の翻訳プロジェクトファイル152毎に記憶された原文や訳文を含む翻訳ファイルを読み出し、あるいは訳文を翻訳作業により更新する。
ここで翻訳作業とは元の言語で記載された原文を用いてその原文の語句単位で目的とする言語の語句に置き換えることを繰り返し、原文の意味にできる限り等しい意味を持つ、目的言語により記述された訳文を作成していく作業を意味する。ここで共通メモリ151は、クライアントAを操作する一次確認者及びクライアントYを操作する承認者により承認されたプロジェクト全体で共通に用いられるメモリであり、プロジェクトIDと原文語句と品詞と訳語とを含む。共通メモリ151に新たに登録された訳語は全翻訳者(クライアントA、クライアントB、クライアントC)に通知され、各翻訳者は自己が操作するクライアントのローカルメモリに新たに共通メモリ151登録された訳語を追加する。一次確認者は、他の翻訳者から申請された原文語句と品詞と訳語とを一次確認して、容認するか、あるいは否認するか、あるいは新たに訳語を入力して容認するかの操作も行う他、例えば先端技術分野等での初出の訳語についての調査を含む時間を要する訳語調査が必要な場合には、承認者に訳語調査を依頼することがある。
このように時間を要する承認作業や訳語調査を二名で分担することで、全体として迅速な承認処理を行うことができる。また一次確認者は複数の訳語の候補を示した上で承認者に訳語調査を依頼することもある。特にプロジェクトの初期段階において、主に頻出の訳語を確定させるために、例えば冒頭部分やクレーム部分の一部について一次確認者が自ら翻訳を行う場合がしばしば生じる。更に別の実施形態として、一次確認者がおらずに承認者と、一名又は複数の翻訳者を含む場合がある。比較的少人数の翻訳者で納期にも多少余裕がある場合や専門用語の定訳がほぼ定まっている技術分野で訳語調査の工数が比較的少ないと予想される場合にはこの実施形態を取ることがある。更に、必要に応じて、重要な原文語句に対応する訳語を確定させるために、承認者から外部の第三者に原文語句に対応する訳語をオーソライズする依頼を行い、外部の第三者からの回答に基づいて承認者が訳語を決定する場合もある。この部分の処理については他の実施例の説明で説明する。
(2)管理サーバー150が例えばクライアントAのリクエストを受け、共通メモリ151や複数の翻訳プロジェクトファイル152中のリポジトリ(Repository)へ翻訳ファイルを登録したり、リポジトリから情報をクライアントAへ送信する。ここでリポジトリ(Repository)とはデータの貯蔵庫(「貯蔵庫」は比喩的な表現であり、実体は論理的なデータの管理区画)を意味し、特定の翻訳プロジェクトの翻訳ファイルを含む様々な情報を一元管理する。この翻訳プロジェクトファイル152にはプロジェクトの期間、参加している翻訳者のID、原文ファイル、訳文ファイル、図38に示す各種管理ファイルが含まれている。
図2は管理サーバー150及びクライアントA乃至クライアントC及びクライアントYのハードウェア構成を示す模式図である。それぞれの筐体内でCPU21とROM22とRAM23とビデオグラフィックアダプタ(VGA)24とLANアダプタ25とキーボード26とマウス27とHDD28とDVD-ROMドライブ29はそれぞれシステムバス20を介して接続されている。すなわち符号は各筐体で同じハードウェア要素に対しては同じ符号を用いており、例えば「管理サーバー150のCPU21は」等の表現で主体を明確にすることで区別している。なお、これらと各構成要素とシステムバス20との間にインタフェース部が存在する場合があるが図では省略されている。CPU21は管理サーバー150及び各クライアントそれぞれの筐体の全体の制御を司り、具体的には起動時にはROM22から起動プログラム(ブートローダ)を読み込んでハードウェアのチェック及び初期化を行い、その後HDD28からシステムプログラムを読み出してRAM23にロードし、オペレーティングシステム(OS)を立ち上げる。更にCPU21はユーザの操作に応じてアプリケーションプログラムをHDD28からRAM23にロードし、実行する。
ROM22は前述のように起動プログラム(Bootプログラム)を記憶しており、RAM23はいわゆるメインメモリとしてオペレーティングシステム及びアプリケーションプログラム及びワークエリアとして使用する。VGA24は液晶ディスプレイ又はCRTに接続して画面表示を行うためのアダプタであり、LANアダプタ25は無線又はLANケーブルを外部のネットワークと接続しデータの送受信を行う。キーボード26及びマウス27はユーザの操作を入力する入力手段として機能する。
又HDD28には各種プログラム(オペレーティングシステム、本発明の図5乃至図15、図17、図19、図21、図25乃至図31、図33乃至図34、図37に記載の各フローチャートを実行する各アプリケーションプログラム及び図16、図18、図20と図22乃至図24に示すクライアント画面に表示するためのHTMLの画面情報)や各種テーブルや承認申請履歴情報(承認申請の詳細情報)等を記憶している。DVD−ROMドライブ29は各種プログラムを記憶したDVD−ROMやDVD−Rを読み込むためのドライブであり、各種データ類をDVD−Rに書き出すことも可能である。DVD−ROMドライブ29はブルーレイディスクを読書き可能なBDドライブであっても良い。
各クライアントのパソコンのハードウェア(ファームウェアを含む)の記憶手段(例えばハードディスク28や不図示のフラッシュメモリ)にはWindows(登録商標)等のオペレーティングシステム34(OS)がインストールされており、ブラウザ及びアプリケーションプログラムのクライアント側の各プログラムの他に、各社から提供されている電子辞書や対訳用語集、科学技術用語辞典などの各辞書ファイルの集合体である基本辞書データもハードディスク28に記憶されており、これらの基本辞書データは各翻訳者が翻訳原文の分野に応じて適宜訳語決定時の検索優先順位をつけた設定情報がハードディスク28に記憶されている。
通常は共通メモリ151が順位第1位であり、各翻訳者が独自に追加した原文語句とその訳語を含むローカルメモリ115等が順位第2位であり、基本辞書データは順位第3位以下になる。この設定情報で順位第1位の共通メモリ原文語句で検索しても、順位第1位のメモリに該当する原文語句が含まれない場合は順位第2位のローカルメモリが検索され、ヒットした場合は訳語が原文語句と共にRAM23のワークエリアに読み出されてアプリケーションプログラムに利用される。基本辞書データは翻訳作業時に翻訳メモリに登録する語句の候補を検索する際に用いる他、原文語句に対応する訳語が訳文中に存在するかの検索の際にも参照される。
図2のCPU21の制御の下で起動時に例えばRAM23で構成されるパソコンの主記憶装置に読み出されて実行される。ランタイム32はアプリケーションプログラムの一部として、CPU21の制御の下で実行時に必要に応じてハードディスク28などの記憶手段からRAM23などの主記憶装置に読み出されて実行される。以上で図2の説明を終わる。
図38は本発明の翻訳支援システムで用いるメモリ及び管理ファイルのデータ項目とデータ例を示す図である。ローカルメモリは各翻訳者が自分の操作するクライアントで用いるいわばマイ辞書ファイルであり、辞書用のデータ項目としては、名詞(n)、動詞(v)、形容詞(a)などの品詞と、原文語句とその原文語句に対応する訳語と、このメモリの当該行の品詞と原文語句とその訳語の登録日と、最新の使用日と、区分とが記憶されている。このローカルメモリはプロジェクトの開始時に指定されたものを用いる場合がある。ただ2番目の優先順位で翻訳者個人が従来から利用している今回のプロジェクトに適したローカルメモリを用いることができる。使用日時刻は実際は年月日のみならず使用時刻(時分秒)まで記録される(図38のデータ例では日までが記載されている)。区分は翻訳者が自分で登録した場合は「L」であり、共通メモリからダウンロードして更新した場合「M」が記憶される。
更に管理用のデータ項目としてはプロジェクトIDとメモリIDとがある。プロジェクトIDは翻訳プロジェクト毎に採番される一意の番号である。メモリIDは各翻訳者が用いるローカルメモリをシステム全体で一意に識別するための一意の番号である。各翻訳者は1つ又は複数のローカルメモリを持つことができ、複数を使い分ける。ローカルメモリは各翻訳者のハードディスク28に記憶され、適宜管理サーバー150にアップロードされる。詳細は後にフローチャートにて説明する。
次に図38の共通メモリ151は、承認者により承認されたプロジェクト全体で共通に用いられるメモリであり、この承認者の翻訳者IDが記憶されている。つまり承認者は、他の翻訳者から申請され、一次確認者の一次確認(容認又は否認)を経た原文語句と品詞と訳語とを確認して、最終承認するか、あるいは否認するか、あるいは訳語を修正して最終承認するための操作を行う。次に管理ファイル1)はプロジェクトIDとプロジェクトに参加している承認者を除く全ての翻訳者の翻訳者IDと各翻訳者が担当する原文の範囲の最初と最後とを示す開始ページ、開始段落、開始文番号、終了ページ、終了段落、終了文番号が記憶される。
この管理ファイル1)に代えて、
A)原文ファイルを翻訳者の数と同数に分割する。ファイル名は例えばプロジェクトID_翻訳者ID.docとする。このようにファイル名自体で各翻訳者の担当原文を特定する方法も可能であり、又は
B)原文ファイルを翻訳者の数と同数に分割する。分割した各原文のファイル名は任意とし、翻訳者IDとこの原文ファイル名とを関連づけたテーブルをハードディスク28に記憶する方法も可能であり、これらA)B)に限らず翻訳者毎の担当範囲が特定できる方法であれば良い。
次に管理ファイル2)にはプロジェクトIDとプロジェクトIDと種別(翻訳者の種類を示すものであり、一次確認者はCT、ベテラン翻訳者はET、比較的経験の浅い翻訳者はNTが記憶される)。更に定期的に管理サーバー150にアップロードされる訳文の段落番号及び訳文のバイト数とを用いて、原文に換算した翻訳完了ページと翻訳完了分が概算され、翻訳完了ページと翻訳完了行を用いて翻訳の進捗率(100分率)が計算され、ステータス(標準より進み:AD、ほぼ標準:NM、標準より遅れ:LT)が計算され記憶される。ステータスは例えば10日間の翻訳プロジェクトであれば、6割(6日)の日数で翻訳が完了し、2割(2日)で各翻訳者別の見直しが完了し、残り2割で全体の整合チェックが行われることを基準に全体の翻訳分量と翻訳完了分量から、進み/標準/遅れが計算される。管理ファイル3)には、プロジェクトIDとメモリIDと各メモリの優先順位と、原文の原語を示す元原語と翻訳先の原語を示す先原語、技術分野を示す「分野」、メモリの開始年月日、使用中(V)か使用していない(W)かを示すステータスが記憶されている。
更に管理ファイルの他の各ファイルについて説明する。これら各ファイルはプロジェクトID毎に管理サーバー150の翻訳プロジェクトファイル152に記憶されている。
(1)実施例の翻訳支援システムで処理できるファイルフォーマットは例えばマイクロソフト社製のワープロソフトで使用するMS-Word(doc)、各種のブラウザで使用するHTML、textを含むがこの他にアドビ社製のPDF(登録商標Portable Document Format)やマイクロソフト社製のXPF(XML Paper Specification)フォーマット、その他ODF(Open Document Format)も使用することができる。
(2)実施例の翻訳支援システムの翻訳支援アプリケーションにより読み込まれた原稿ファイルをこの翻訳支援システム専用の翻訳プロジェクトファイル152に保存することができる。翻訳プロジェクトファイル152は原文や翻訳文を含む翻訳結果を保持する「翻訳ファイル」、翻訳メモリを保持する「翻訳メモリ」および認証用の「認証ファイル」から構成される。
(3)その他に、翻訳する際に翻訳作業を行った翻訳者の翻訳者IDや作業時刻などを記憶しているログファイル、翻訳文の章節などの見出し情報を記憶する見出しファイル、作業時に新たな訳語のメモリ登録やメモリから読み出した訳語候補により原文の一部を一括置換したり、通常の個別置換を行ったデータを履歴ファイルに記憶し、更に翻訳時に入力した翻訳コメントなどをコメントファイルに記憶することにより、これらを適宜読み出して画面に表示したり、印刷出力することが可能となっている。
図3は本発明の翻訳システムの機能ブロックを示す模式図であり、各ブロックの〜部の一部は特許請求の範囲の各構成要件(〜手段)に該当する。以下各機能ブロックの動作の概要を説明する。図3の中央部分の水平方向の細い破線はネットワーク100を意味している。つまり管理サーバー150と各翻訳者用クライアント340(クライアントB、クライアントC)との間の情報のやりとりや、管理サーバー150と承認者用クライアント330(クライアントA、クライアントY)との間の情報のやりとりは、特に断りのない限り、全てネットワーク100を経由している。図5以降のフローチャート及び画面で、詳細を説明する。
まず管理サーバー150は各翻訳者用クライアント340からの原文語句及びこの原文語句に対応する候補訳語を含む申請情報を送受信制御部320の申請情報受信部321で受信し、承認申請履歴記憶部351に記憶する。申請情報は転送部322に送られ、転送部322からクライアントAに送信される。次いで承認申請履歴記憶部351と原文記憶部352とを参照して、今回受信した申請情報の原文語句が翻訳担当範囲に含まれるかを検索部311で検索し、検索結果と担当範囲記憶部353からの検索結果も通知判断部315に引き渡す。通知判断部315は同一原文語句で既に申請されているか、今回の申請情報の原文語句は各翻訳者が翻訳を担当する範囲の原文に含まれるか、承認訳語は今回の申請情報に含まれる候補訳語と一致するか、通知タイミング記憶部356を参照して各翻訳者別の通知タイミングが到来しているか、を総合的に判断して、通知すべき翻訳者に適切な通知内容を通知記憶部355から読み出して、通知情報生成部314に引き渡し、通知情報送信部325から通知対象の各クライアントに送信される。
通知を受信した各クライアントの表示画面(個別ウィンドウ又はタブの表示欄)に通知内容が表示される。通知内容には申請された原文語句とその原文語句に対応する候補訳語の承認結果情報(そのまま承認、異なる承認訳語で承認、否認(不承認))であるか、承認申請に対するメッセージ(同一原文語句と承認訳語とで承認済み、同一原文語句と異なる承認訳語で承認済み等)が含まれる。
又、各翻訳者用クライアント340で原文語句とこの原文語句に対応する訳語とをローカルメモリ940に登録すると、原文語句とこの原文語句に対応する訳語とを含む登録情報が送受信制御部341から管理サーバー150に送信され、管理サーバー150の登録情報受信部324からの原文語句及びこの原文語句に対応する訳語を含む登録情報は個別の登録情報として個別登録情報記憶部354に記憶される。このように個別登録情報記憶部354は各翻訳者の操作するクライアントのローカルメモリ940を管理サーバー150上に翻訳者毎の個別登録情報として記憶したものと言える。なおローカルメモリ940は各クライアントのローカルメモリを総称したものであり、個別のクライアントのローカルメモリを特定する際には図1に記載された符号を用いる。
個別登録情報記憶部354に記憶された訳語は判断部312で原文語句をキーにして比較され、同一原文語句で翻訳者により異なる訳語が登録された場合には、該当する原文語句とそれぞれの訳語と翻訳者IDを含む訳揺れ警告情報が表示情報生成部323で生成され、送受信制御部320でクライアントA110に送信され、クライアントA110の画面でこれらの警告情報が表示され、統一候補訳語が入力されると、入力された統一候補訳語と原文語句とが管理サーバー150に送信され、承認者の操作するクライアントY190に転送され、クライアントY190から折り返し統一訳語を含む承認情報を登録情報受信部324で受信した後、承認情報は共通メモリ151と個別登録情報記憶部354とに追加される。さらにこの承認情報の原文語句をキーにして個別登録情報記憶部354の各翻訳者が個別登録している原文語句に対応する訳語が検索され、訳語比較部313でこの原文語句に対応する承認情報の統一訳語と比較され、一致しない場合は、通知情報生成部314で個別登録している原文語句と、個別登録している統一訳語と一致しない訳語と、統一訳語とを含む通知情報が、管理サーバー150の通知送信部325から統一訳語と一致していない翻訳者が操作するクライアントに送信される。
他方一次確認者が操作するクライアントAでローカルメモリ940(より具体的にはローカルメモリ115)に追記された原文語句とこの原文語句に対応する訳語とを含む承認申請情報は、管理サーバー150の申請情報受信部321を経由して、承認申請履歴記憶部351に記憶され、更にこの承認申請情報は転送部322を経由して、承認者が操作するクライアントYに転送され、折り返しクライアントYから管理サーバー150に送信される登録情報は、承認結果情報受信部326で受信した後、通知判断部315を経由して共通メモリ151に記憶されると共に、通知判断部315により新規承認語句と判断され、通知情報生成部314が新規承認情報を生成し、通知情報送信部325から各翻訳者用クライアントに送信される。
各翻訳者用クライアント340は送受信制御部341から承認情報を受信すると、受信した承認情報をRAM23のワークエリアに記憶すると共に承認一覧情報生成部342に引き渡し、承認一覧情報生成部342では、承認一覧情報を各翻訳者用クライアント340の画面に表示するための表示情報を生成してRAM23のワークエリアに記憶する。
又、RAM23に記憶されている受信した承認情報に含まれる原文語句をキーとして検索部343が原文記憶部361を検索し、ヒット箇所の全ての原文を段落番号単位又は段落番号と文番号で特定される文単位で読み出してRAM23のワークエリアに記憶すると共に抽出部344に引き渡す。抽出部344は抽出された原文に対応する全ての訳文を段落番号と文番号に基づいて訳文記憶部362から抽出してRAM23のワークエリアに記憶する。文単位の抽出に失敗した箇所については段落全体を抽出してRAM23のワークエリアに記憶し、類似判定部345に引き渡す。類似判定部345は抽出した原文と訳文のペア(それぞれ段落単位又は文単位で抽出)のそれぞれの異同を判定する。具体的には原文語句の前後の所定ワード(例えば2ワード)又は所定文字(例えば4文字)を比較し、同一のものには同一のグループIDを付与して、RAM23のワークエリアに記憶し、分類部346に引き渡す。
分類部346ではグループIDにより原文と訳語のペアをソートしてグループID毎に分類してRAM23のワークエリアに記憶する。対訳画面表示部347はRAM23のワークエリアに記憶されているグループID毎に分類されかつ同一グループID内で出現順にソートされた原文と訳語のペアと承認一覧情報とを用いて、承認一覧情報の1件の原文語句とそれに対応するグループ化されグループ内でソートされた原文と訳語のペアからなる対訳表示情報を生成して、画面に表示する。なお、前後の語句の異同の判定を行わず、対応訳文検索部344から対訳画面表示部347にRAM23のワークエリア経由で引き渡すことで、単に出現順に承認された原文語句単位で原文と対応する訳文の対比表示を行うこともできる。
最後にクライアントY330では送受信制御部331経由で受信した申請情報をRAM23のワークエリアに記憶し、申請情報表示部332に引き渡して、画面に原文語句と候補訳語とを含む申請情報を表示し、承認入力部333はこの画面で入力された承認又は否認の入力、又は承認訳語の入力を検知して、原文語句とその原文語句に対応する承認訳語をローカルメモリ115に登録すると共に、入力されたこれらの入力情報をRAM23のワークエリアに記憶し、承認情報生成部334に引き渡す。承認情報生成部334は管理サーバーに送信するための承認情報を生成して、RAM23のワークエリアに記憶し送受信制御部331に引き渡す。送受信制御部331は承認情報を管理サーバー150に送信する。管理サーバーは承認情報を承認結果情報受信部326経由で受信し共通メモリ151に登録すると共に承認情報を通知情報生成部314に引き渡して、承認通知情報が生成されて、通知送信部325経由で各翻訳者用クライアントに送信される。以上で概要であるが図3の説明を終わる。
次に図4について説明する。図4は図3と同じ機能ブロック図であり、図3に記載しきれなかった機能について図を分けて記載しているものであり、各翻訳者クライアント340や承認者クライアント330、管理サーバー150の各ハードウェアは図3と同様である。まず、翻訳者用クライアント340の判断部444は翻訳者クライアント340が翻訳時にある原文語句に対する訳語を選択する際に、承認訳語を選択したかを判断し、承認訳語以外を選択したと判断した場合は、注意情報生成部445において翻訳者ID又は他のクライアントを特定するための情報の少なくともいずれか1つと前記原文語句と前記承認語句と異なる訳語とを含む注意情報を生成し、生成した注意情報を管理サーバー150に送信する。管理サーバー150はこの注意情報を図3の申請情報受信部320で受信し、転送部322からクライアントYに注意情報を転送する。この処理の詳細は図28で説明する。
次に図4の翻訳者用クライアント340のタイミング到来判定部441は所定の確認タイミングが到来したか否かを判定し、所定の確認タイミングが到来しており、かつ前記新規承認情報判定ステップにて新規承認情報が有りと判定した場合に、新規承認情報判定部442において新たに承認情報を受信したかを判定し、前記タイミング到来判定部441において所定の確認タイミングが到来したと判定し、かつ前記新規承認情報判定部442にて新規承認情報が有りと判定した場合に、新規承認情報に含まれる原文語句が特定のクライアントの操作者が翻訳すべき原文に含まれるかを原文検索部343で検索し、新規承認情報に含まれる承認訳語がこの翻訳者クライアントの操作者により翻訳された訳文記憶部362訳文ファイルに含まれるか否かを訳語検索部443が検索する。原文語句がこのクライアントの操作者が翻訳すべき原文に含まれ、かつ承認訳語が前記特定のクライアントの操作者により翻訳された訳文ファイルに含まれない場合に、報告情報生成部446が前記特定のクライアントの操作者により翻訳された前記訳文ファイルに前記承認訳語が含まれない旨の情報を含む報告情報を生成して、管理サーバー150経由で、報告情報が承認者の操作するクライアントYに送信される。この処理の詳細は後で図26において説明する。
次に管理サーバー150において、申請履歴検索部421は、特定のクライアントから訳語承認申請情報を受信すると、申請履歴検索に含まれる原文語句と申請訳語とを用いて、承認申請履歴記憶部351の承認申請履歴ファイルを検索する。申請履歴検索部421の検索で、承認申請履歴ファイルに同一の原文語句と申請訳語と同一の承認訳語とが既に存在する場合には、この特定のクライアントに対して同一原文語句と承認訳語とで承認済みである旨の第一通知情報を、通知生成部422中の第一通知生成部423で生成して、この特定のクライアントに対して送信する。次に申請履歴検索部421の検索で、承認申請履歴ファイルに同一の原文語句と異なる訳語とが既に存在する場合には、この特定のクライアントに対して同一原文語句と異なる訳語とで承認済みである旨とこの異なる訳語を了解するかを問う旨の第二通知情報を通知生成部422中の第二通知生成部424で生成して、この特定のクライアントに対して送信し、折り返しの応答を待つ。次にこの第二通知情報に応じて特定のクライアントから受信した応答メッセージに異なる訳語を了解しない旨の情報が含まれる場合には、承認者の操作するクライアントY190に送信するための訳語承認申請情報に含まれる原文語句と訳語と再申請である旨とを通知するための第三通知情報を通知生成部422中の第三通知生成部425にて生成し、クライアントY330に送信する。更に、前記申請履歴検索部421の検索で、前記承認申請履歴ファイルに同一の前記原文語句が存在しない場合に、承認者クライアントY330に訳語承認申請情報に含まれる原文語句を通知するための第四通知情報を通知生成部422中の第四通知生成部426で生成してクライアントY330に送信する。この処理の詳細は図13のフローチャートで説明する。
この承認申請に対する申請履歴検索はクライアントYで実行することも可能であり、クライアントYが直接翻訳者クライアントからの訳語承認申請情報を送受信制御部331経由で受信しても良いし、管理サーバー150経由で訳語承認申請情報を同様に受信しても良い。受信した訳語承認申請情報に含まれる原文語句と申請訳語とをキーにして同一プロジェクトIDの承認申請履歴を履歴検索部431で検索する。検索対象は管理サーバー150の承認申請履歴記憶部351でも良いし、不図示のクライアントY330のハードディスク28の承認申請履歴ファイルでも良い。承認申請履歴の検索結果に応じて、上述と同様のケースで第一承認通知生成部432で第一承認通知を生成し、第二承認通知生成部433で第二承認通知を生成し、申請した特定のクライアントに直接又は管理サーバー150経由で送信する。再申請の場合はクライアントYが承認者クライアントであることから、上記の第三通知ではなく、再申請である旨のメッセージと原文語句、申請訳語等を含む第一メッセージを第一メッセージ生成部434で生成してクライアントYの画面に表示する。同様に新規申請の場合に、第四通知ではなく、新規申請である旨のメッセージと原文語句申請訳語等を含む第二メッセージを第二メッセージ生成部435で生成して、クライアントYの画面に表示する。
更に管理サーバー150では訳揺れの検索処理を行っており、以下に概要を述べる。各クライアントがそれぞれのローカルメモリに原文語句と品詞、対応する訳語を登録すると、これらの個別登録情報は管理サーバーに適宜送信され、前記クライアントから受信した、少なくとも各クライアントが個別登録した原文語句と原文語句に対応する訳語とを含む個別登録情報をそれぞれ記憶する個別登録情報記憶部351に記憶することは既に述べた。管理サーバー150には更に各クライアントが翻訳すべき原文を記憶する原文記憶部352と、各クライアントから受信した訳文を記憶する訳文記憶部357も存在する。個別登録情報の送信頻度はネットワークに常時接続しているか、1日に1回程度であるかなどネットワークへの接続頻度に応じて異なる。常時接続環境では例えば1回/5分〜10分程度であり、接続頻度が1日に5回以下であれば、接続のたびに毎回送信される。この接続頻度の判断はネットワーク接続のログを参照することにより行う。
ある翻訳者用の個別登録情報記憶手段に新たに個別登録された特定の原文語句を含む原文が、他の翻訳者を含む全翻訳者の翻訳すべき原文が記憶されている原文記憶部352に存在するかを、対応原文検索部413が検索して、新たに個別登録された特定の原文語句を含む原文を文単位で特定してRAM23のワークエリアに記憶する。次に訳文記憶部357から、対応訳文検索部411が、訳文記憶部357から、特定された原文に対応する訳文を検索して、特定された原文に対応する訳文に新たに記憶された特定の原文語句に対応する承認訳語が存在するかを検索し、特定された原文に対応する訳文に対応する承認訳語が存在しない場合には特定された原文と対応する訳文とをRAM23のワークエリアに記憶する。
次に個別訳語検索部414が、個別登録情報記憶部354を前記新たに個別登録された特定の原文語句をキーとして検索し、新たに個別登録された特定の原文語句に対応する全ての個別訳語を検索してRAM23のワークエリアに記憶する。次に個別訳語が複数存在する場合に、異同判断部412が複数存在する個別訳語の異同を判断する。異同判断部412が、複数存在する個別訳語に異なる訳語が存在すると判断した場合に、表示情報生成部427が、複数のクライアントのうち所定のクライアント(承認者が操作するクライアントY又は一次確認者が操作するクライアントA)の表示画面に、新たに登録された特定の原文語句と新たに登録された特定の原文語句に対応する異なる複数の個別訳語とを表示するための表示情報、又は前記記憶された特定された原文と対応する訳文とを表示するための表示情報の少なくとも一方を生成する。更に好ましくは管理サーバー150は、各翻訳者クライアントからこれらクライアントに入力された入力情報を含む操作情報を受信する操作情報受信部428を備えており、承認申請履歴記憶部351には訳語承認申請情報と承認訳語と承認の可否を示す承認フラグと承認された時刻を示す承認時刻とを記憶するように構成することもできる。そして、表示情報生成部427は、翻訳者が操作する翻訳者クライアントの画面に、前記担当範囲原文を用いて前記クライアントの操作者により翻訳すべき原文を表示する原文表示ウィンドウと、前記受信した操作情報に応じて前記原文を翻訳した結果である訳文を表示ウィンドウとを翻訳者クライアントの画面に表示する表示情報を生成する。更には表示情報生成部427は、承認フラグと承認時刻とに応じて、所定時刻以前に承認された訳語承認申請情報を表示する図24の承認済み訳語表示ウィンドウ2401と、所定時刻より後に承認された訳語承認申請情報を表示する図24の新着承認訳語表示ウィンドウ2402と、未承認の訳語承認申請情報を表示する図24の申請中訳語表示ウィンドウ2403と、否認された前記訳語承認申請情報を表示する図24の否認訳語表示ウィンドウ2404の少なくともいずれか1つを承認者クライアントの画面に表示する表示情報を生成することもできる。以上で図4の説明を終わる。
図5はメモリの登録処理及び登録されたメモリの収集処理を示すフローチャートである。図5のゼネラルフローチャートにおいては、クライアントAを操作する一次確認者が自ら翻訳も行い、翻訳する際に訳語を共通メモリ151に登録すべく承認者が操作するクライアントYに承認依頼する処理、及び承認者に承認された訳語を、一次確認者でない他の翻訳者が操作するクライアントB及びクライアントCに通知する処理と、これらクライアントB及びクライアントCでそれぞれのローカルメモリに新規登録された訳語を収集して訳揺れがあれば、クライアントAに通知する処理について記載している。他方、後述する図25のゼネラルフローチャートでは、一次確認者でない他の翻訳者が操作するクライアントB及びクライアントCで翻訳を行う際に訳語を共通メモリ151に登録すべく承認者が操作するクライアントYに承認依頼する処理、及び承認者に承認された訳語を、全翻訳者に通知する処理について記載している。図5の説明に戻る。図5のステップS501〜ステップS512は一次確認者が操作するクライアントAで実行する処理であり、ステップS521〜ステップS532は管理サーバー150が実行する処理であり、ステップS550〜ステップS556はクライアントC及びクライアントBが実行する処理であり、ステップS561〜ステップS563は承認者が操作するクライアントYが実行する処理であり、これらはそれぞれのハードウェアのCPU21の制御の下で実行する処理である。以後の各フローチャート(図5乃至図15、図17、図19、図21、図25乃至図31、図33乃至図34、図37の各フローチャート)でも同様である。
図5を含め以後のフローチャートの処理では、特に独立して実行する処理であることが明記されていない限り、既に管理サーバー150への接続(セッションの確立)やログイン(認証処理)が終了しているものとする。また、管理サーバー150ではマルチプロセスで各処理が実行されているものとする。すなわち例えば図5に示す処理と図12に示す処理は別プロセスとして実行されているし、同じフローチャートの中でも別プロセスとして実行される場合がある。例えば図12のクライアントBの処理でステップS1201〜ステップS1208とステップS1209〜ステップS1212は別プロセスであり、クライアントCのステップS1251〜ステップステップ1253とステップS1241〜ステップS1244は別プロセスである。まず、ステップS501ではクライアントAを操作する一次確認者が管理サーバー150にメモリの登録用画面を要求し、ステップS521で管理サーバー150はメモリの登録画面を表示させるための画面情報をクライアントAに送信して、処理をステップS522に進めクライアントAからの情報受信待ち状態になる。クライアントAが画面情報を受信するとRAM23のワークエリアに画面情報を記憶し、クライアントAのディスプレイに、不図示の最初の画面(プロジェクトIDの入力欄と登録先のメモリIDの入力欄とOKボタン)が表示され、プロジェクトIDと登録先のメモリIDが入力され、更にOKボタンが押下された事を検知入力すると、次の画面に遷移する。次の画面では品詞と原文語句と訳語とを入力する入力欄及び「登録」の文字が記された登録ボタンを含む不図示の登録画面が表示される。表示されている画面の入力内容は全てRAM23のワークエリアに記憶され、表示されている画面の入力必須項目が全て入力されている場合に管理サーバー150への送信を許すRAM23のワークエリアの送信フラグがオンになり、登録ボタンを押下が検知されると処理をステップS502に進める。ステップS502では送信フラグがオンになっているかが判定され、送信フラグがオンであれば、処理をステップS503に進める。他方、送信フラグがオフであるか、又は登録画面から他の画面やメニューへの遷移操作が検知された場合は処理をステップ505に進める。
ステップS503では操作情報を管理サーバー150に送信し、処理をステップS504に進める。操作情報が例えばメモリの申請情報であれば、操作情報にはプロジェクトID、メモリID、翻訳者ID、品詞と原文語句と候補訳語が含まれる。ステップS504では、RAM23のワークエリアに記憶されている画面情報と入力内容から、操作情報がメモリ申請操作であるかが判定され、メモリ申請操作であると判定した場合には、処理をステップS5042に進め、メモリ申請操作でないと判定した場合には、処理をステップS505に進める。ステップS5042では入力された品詞と原文語句と訳語とが最初の画面で入力されたプロジェクトIDで予め指定されているディフォルトのローカルメモリに区分=「L」で登録され、処理をステップS505に進める。クライアントAのステップS505〜ステップS512及びステップS530の処理については後で別途説明する。ステップS5042の処理の詳細は後で図6のフローチャートで説明する。再び管理サーバー150側の処理の説明に戻る。
ここで管理サーバー150側の処理を説明する。ステップS522で情報受信待ち状態の管理サーバー150はクライアントAから情報を受信すると、処理をステップS523に進め、受信した情報がメモリの申請情報であるかを判定し、メモリの申請情報であると判定した場合は、処理をステップS524に進める。ステップS524では、承認者が操作するクライアントYにメモリ申請情報(プロジェクトID、メモリID、品詞と原文語句と候補訳語)を送信する。ステップS561では、クライアントYがメモリ申請情報を受信し、RAM23のワークエリアに記憶して、メモリ申請情報を受信した旨とOKボタン及びキャンセルボタンを表示したダイアログ画面を受信し、ダイアログ画面でOKボタンが押下されたことを検知すると、メモリ申請情報を含むメモリ承認入力画面(メモリ更新情報、承認ボタン、否認ボタン、承認訳語入力欄、コメント入力欄、保存ボタンを表示する画面)を表示して処理をステップS562に進める。ステップS561では、ダイアログを表示せずに、メモリ申請情報を受信した旨のアイコン表示又はアニメーションを例えばタスクバーの右隅などの所定の位置に表示し、このアイコン又はアニメーションを選択する操作を検知してメモリ承認入力画面を表示しても良い。
ステップS562では、メモリ承認入力画面が表示され、承認訳語入力欄又は承認者コメント入力欄にテキストが入力された状態で保存ボタンが押下されたことを検知すると、承認訳語又は承認者コメントを識別するための入力区分と入力されたテキストがRAM23のワークエリアに記憶され、承認ボタン又は否認ボタンが押下されたことを検知すると押下されたボタンに応じた承認フラグをRAM23のワークエリアに記憶する。ステップS563では、RAM23のワークエリアに記憶している少なくともプロジェクトIDと承認フラグと原文語句と品詞と候補訳語と承認訳語、(もし訳語入力欄やコメント入力欄に入力されている場合は)修正された承認訳語又は承認者コメントを識別するための入力区分(承認訳語が修正された場合は1、承認者コメントが入力された場合は2、両方入力された場合は3)と入力されたテキストとを含むメモリ承認情報を、管理サーバー150に送信する。
ステップS525では、管理サーバー150がメモリ承認情報を受信し、RAM23のワークエリアに記憶し、処理をステップS526に進める。ステップS526では、RAM23のワークエリアを参照して、メモリ承認情報の候補訳語と承認訳語とが同一であるかを判定し、同一であると判定した場合には処理をステップS528に進め、同一でないと判定した場合には処理をステップS527に進める。ステップS527では、承認者が操作するクライアントYから一次確認者のメモリ更新情報に対して候補訳語で承認しなかった例外的な場合であるため、クライアントAのメモリ申請内容(候補訳語と承認訳語)についての確認依頼情報をクライアントAに送信する。この処理の詳細は図9の詳細フローチャートで説明する。
ステップS528では、管理ファイル1)の当該プロジェクトIDで登録されている各翻訳者IDで特定される送信先にメモリ更新情報(プロジェクトID、メモリID、品詞と原文語句と訳語)を送信して、処理をステップS529に進める。ステップS529ではプロジェクトIDと翻訳者IDとをキーにして管理ファイル1)を検索し、種別がCTであれば、図3に示す共通メモリに受信したプロジェクトID、メモリID、翻訳者ID、品詞と原文語句と訳語とを登録し、処理をステップS530に進める。ステップS530ではクライアントAの操作に応じた処理を実行し、処理をステップS522に戻す。ステップS530の詳細については後ほど説明する。
次に、ステップS550〜ステップS556では一例としてクライアントCが受信したメモリ更新情報を自己のローカルメモリに反映する処理と、自己のローカルメモリに区分Lで自己登録したメモリを収集して管理サーバー150に送信する処理について説明する。ステップS550では、管理サーバーから受信したメモリ更新情報(プロジェクトID、メモリID、品詞と原文語句と訳語)をRAM23のワークエリアに記憶し、処理をステップS551に進める。ステップS551では、ハードディスク28に記憶されているクライアントCの設定ファイルをRAM23に読み込んで自動更新フラグがONになっているかを判定し、ONになっている場合は処理をステップS553に進め、ONになっていない場合は処理をステップS552に進める。ステップS552ではメモリの更新操作(具体的にはメモリ更新画面での更新ボタンの押下)があったかを判定し、あったと判定した場合は処理をステップS553に進め、なかったと判定した場合は処理をステップS550に戻す。ステップS553では、受信したメモリ更新情報を用いて、当該プロジェクトIDのディフォルトのローカルメモリを更新する。全てのメモリ更新情報をローカルメモリに追加したら処理をステップS554に進める
ステップS554では、このローカルメモリを検索し区分が「L」で登録日がシステム日付と一致する行があれば、一致する行の全てについて、プロジェクトID、翻訳者IDと品詞と原文語句と訳語とをRAM23のワークエリアに記憶して、処理をステップS555に進める。なお、ステップS554の実行に先だってクライアントCが翻訳作業時に原文語句とその原文語句に対応する訳語を登録する操作により、自己の操作するクライアントのローカルメモリに区分が「L」の行が予め追加されている。ステップS555では、区分が「L」で登録日がシステム日付又は最後にネットワーク100に接続した日以降のいずれか早い日以降の日付と一致する行が1つでもあれば、処理をステップS556に進め、1つもない場合は処理をステップS550に戻す。ステップS556では、RAM23のワークエリアに記憶したプロジェクトID、翻訳者IDと品詞と原文語句と訳語とを管理サーバー150に送信し、処理をステップS550に戻す。
ステップS531では管理サーバー150は自己登録分のメモリ情報を受信しRAM23のワークエリアに記憶して、自己登録分のメモリを送信した翻訳者IDが一次確認者であれば受信したメモリ情報をクライアントYに転送し、クライアントYの承認後に共通メモリ151に登録(新規登録または更新)し処理をステップS532に進める。一次確認者でない場合は、共通メモリ151への登録は行わずに処理をステップS532に進める。ステップS532では、個別登録情報記憶部354の他の翻訳者のメモリの個別登録情報に同一原文語句があるか、あるいは既に翻訳された部分の原文に同一の原文語句があるかを検索し、翻訳文の対応する訳語が今回受信した自己登録分のメモリ情報の訳語と一致するかを判定し、一致しない場合は一次確認者又は承認者に通知する。このステップの処理の詳細は別途図7の詳細フローチャートで説明する。
ステップS509では一次確認者が操作するクライアントAに訳揺れ情報が通知される。最後にステップS505〜ステップS512及びステップS530の処理について説明する。ステップS505では、検出された操作が終了操作(例えば画面右上の「×」ボタンの押下や「終了」メニューの選択や「終了ボタン」の押下を検出した場合)であるかを判定する。終了操作である場合には、処理をステップS506に進め、ステップS506では開いているファイルを閉じたり、未保存のデータを保存して処理を終了する。終了操作でない場合は、処理をステップS507に進め、ステップS507では、上記のメモリ登録操作又は終了操作以外の操作を検知したかを判定する。メモリ登録操作又は終了操作以外の操作を検知した場合は、処理をステップS508に進め、操作を検知していない場合は、処理をステップS509に進める。
ステップS508では、その他の操作に応じた処理を実行し処理をステップS509に進める。その他の操作とは、翻訳語句を決めるための範囲指定操作、メモリを検索する検索操作、検索にヒットした訳語公報のうち所望の訳語を選択する選択操作、ファイル保存操作など翻訳支援システムにて翻訳を進めるための操作であり、ステップS508の処理の詳細及びそれに対応する管理サーバー150の処理であるステップS530の処理の詳細は図27のフローチャートで説明する。
次にステップS509では、管理サーバー150から通知情報を受信したかを判定し、受信したと判定した場合は受信した通知情報をRAM23のワークエリアに記憶し、処理をステップS510に進める。ステップS510では、受信した通知内容により処理が分岐する。通知内容で品詞が名詞で訳語が不一致の場合、又は品詞が動詞で同一原文語句に対して3通り以上訳語の不一致が含まれる場合は、表示が必要と判定し、処理をステップS511に進める。品詞が動詞で2通りの訳語の不一致の場合は処理をステップS512に進める。ステップS511では、クライアントAの画面にアイコンを表示し、処理をステップS512に進める。ステップS512では、ハードディスク28の通知ログに今回受信した通知情報を追加する。以上で図5の説明を終わる。
図6はTMEモードにおける各クライアントのローカルメモリへの新規登録処理(図5のステップS5042)の詳細フローチャートを示す図である。図6の処理はクライアントAのCPU21及び管理サーバー150のCPU21の制御の下で実行する処理である。ここでTMEモードとは、原文の用語(原語)に対する訳語を選択し、選択した訳語を登録し、選択した訳語で原文の語句(例えば単語の一部、単語又はフレーズ)を置換するモードである。原文のある単語又は語句を訳語に置換すると、それより後に出てくる同じ単語又は語句は同様に置換されるが、前に遡って文書全体が一括置換される訳ではなく、従ってある原語を途中から別の訳語に置換することも可能だし、TMEモード外で個別に置換することも可能である。ステップS601では、クライアントA側で特定範囲の文字を選択する操作を検知すると選択範囲の文字と特定範囲の文字を選択した旨の操作情報をRAM23のワークエリアに記憶し、処理をステップS602に進める。
ステップS602では、クライアントA側でスペースキーの押下を検知すると、RAM23のワークエリアに記憶した操作情報を管理サーバー150に送信して、処理をステップS603に進める。ステップS603では管理サーバー150で受信した選択範囲の文字をキーにしてローカルメモリ115をメモリ検索して、処理をステップS604に進める。ステップS604では検索結果を訳語候補のキャッシュ項目としてRAM23のワークエリアのメモリキャッシュ945に記憶して処理をステップS605に進める。
ステップS605では、メモリキャッシュ945に記憶しているキャッシュ項目を使用日>更新日>使用頻度によりソートして処理をステップS606に進める。ステップS606では、スペースキーの押下を検知すると、ソートしたキャッシュ項目をドロップダウンリストとして表示して、処理をステップS607に進める。つまり、TMEにおけるローカルメモリへの追加はスペースキーをおすと出現するドロップダウンリストから行われる。ステップS607ではEnterキーの押下を検知するとステップS608に処理を進める。クライアントAがローカルメモリに訳語を新規登録した場合は図5に示す処理(ステップS504)に従って、管理サーバー150が受信して(ステップS522)、クライアントYに転送され(ステップS524)、クライアントYによる承認処理が実行されることになる。他方クライアントA以外の翻訳者がローカルメモリに訳語を新規登録した場合は、図5に示す自己登録分メモリとして管理サーバー150に送信される(ステップS556)。
ステップS608では、新規登録用ウィンドウを表示して登録内容の入力を待つ。文字が入力されて更にEnterキーが押下されたことを検知するとステップS609に進む。ステップS609では登録された訳語をローカルメモリ940に使用日と更新日が最新のものとして保存し、TMEモードの表示画面に登録結果を反映する(入力文字で表示を更新する)。次いで処理をステップS610に進める。ステップS610ではEnterキーが再度押下されたことを検知すると元のTMEモードに戻って処理を終了する。新規登録した用語(訳語)は同じ原語で別の訳語が登録され、又は他の訳語が選択されるまではドロップダウンリストの最上位に表示される。以上で図6の説明を終わる。
次に、図7は訳揺れ検索処理及び通知処理(図5のステップS532)の詳細を示す詳細フローチャートである。図7でステップS701〜ステップS714の処理は管理サーバー150のCPU21の制御の下で実行する処理であり、ステップS721〜ステップS723の処理はクライアントAのCPU21の制御の下で実行する処理であり、ステップS741〜ステップS743の処理はクライアントYのCPU21の制御の下で実行する処理である。ステップS701では新たに個別登録した個別登録情報に含まれる翻訳者ID、プロジェクトID、原文語句、訳語をRAM23のワークエリアに記憶し、処理をステップS702に進める。
ステップS702(対応原文検索)では登録した翻訳者を含むこのプロジェクトに参加している全翻訳者の原文記憶部352の原文を、ステップS701でRAM23のワークエリアに記憶した新たに個別登録した原文語句をキーにして検索し、検索結果としてヒット箇所の段落番号、文番号、原文語句、訳揺れフラグ(初期状態ではオフ)、失敗フラグ(初期状態ではオフ))をハードディスク28が記憶する訳揺れワークファイルに出力する。
ステップS703(対応訳文検索)ではワークファイルの段落番号とその段落番号の文番号とを用いて原文語句に対応するステップS701でRAM23のワークエリアに記憶した訳語をキーにしてこのプロジェクトに参加している全翻訳者の全訳文について訳文記憶部357から検索する。前提として、原文と訳文の両方にそれぞれ段落番号が入っており、原文のある段落に例えば原文の0011段落の段落番号に対応する訳文の段落には0011段落の段落番号が入っている。ある段落における原文の文の数(文番号の最大値)と対応する段落の訳文の文の数が一致しない場合、文番号の例えばプラスマイナス1の文番号も検索する。その際、例えば英日翻訳の場合であれば、日本語の一文の文字数の約半分を対応する英語のワード数として文番号毎に照合する。具体的には、例えば経験的に英文のワード数に2を乗じプラスマイナス20%程度の誤差範囲を、対応する同じ段落番号の日本文の文字数とし、この誤差範囲内(1.6〜2.4)にあれば、文の分割はないと判断する。文の分割の判定も含めて原文に対応する訳文の文番号に対応する訳語がない場合はその箇所(文単位)について訳揺れフラグをオンにし、対応する原文と訳文とRAM23のワークエリアに記憶する。
もしこの範囲外であれば、訳文である日本文の文字数が最小値よりも少なければ訳文の分割があったと判断し、訳文である日本文の文字数が最大値よりも大きければ訳文の統合があったと判断する。ある原文の段落に対する訳文の文字データがゼロである場合は未翻訳と判断して、この段落番号の全ての文については訳揺れフラグをオフにして失敗フラグをオンにする。対応する訳語があったとしても、原文と訳文の数が大きく異なる等対応する訳語の有無の判定に失敗する可能性もある。失敗したら、失敗フラグをオンにする。失敗フラグがオフで、かつ訳揺れフラグがオンである場合、この訳者が作成している訳文中で同一原文語句に対する訳語の訳揺れがある可能性が高いことになる。
ステップS704(個別訳語検索)では、ステップS701でRAM23のワークエリアに記憶した自己登録分メモリの原文語句をキーにして他翻訳者の自己登録分メモリ及び共通メモリ151の対応する訳語を検索して、RAM23のワークエリアにプロジェクトIDの他に、ヒットした全てのメモリの翻訳者ID、メモリID、原文語句、品詞、訳語をRAM23のワークエリアに記憶して処理をステップS705に進める。ステップS705では自己登録分メモリの訳語とRAM23のワークエリアに記憶した他翻訳者の訳語及び共通メモリ151の訳語との異同を比較し、訳語が全ての翻訳者の自己登録分について一致したと判定した場合は処理を終わり、少なくとも1名の翻訳者の自己登録分について一致しないと判定した場合、又はハードディスク28に記憶している訳揺れワークファイルで訳揺れフラグがオンの訳文が1つでもある場合は、処理をステップS706へ進める。
ステップS706では、訳語が一致しない原文語句についての一次確認者への通知情報1)(プロジェクトIDと原文語句と品詞と翻訳者IDとその翻訳者のそれぞれの訳語、それぞれのメモリID、又は訳揺れフラグがオンの訳文が1つでもある場合は、訳揺れフラグがオンの訳文を含むプロジェクトIDと該当する全ての翻訳者IDとその翻訳者IDに対して該当する訳揺れフラグがオンの全ての段落番号と、原文と対応する訳文)を、ステップS703で訳揺れワークファイルに記憶した訳揺れフラグがオンの訳文における訳揺れ情報と、ステップS704でRAM23のワークエリアに記憶したメモリの訳語の訳揺れ情報とを用いて生成し、RAM23のワークエリアに記憶して処理をステップS707へ進める。ステップS707では、RAM23のワークエリアに記憶した通知情報1)を一次確認者が操作するクライアントAに送信し、処理をステップS708に進めてクライアントAからの応答の受信待ち状態になる。
ステップS721では、クライアントAが通知情報1)を受信し、RAM23のワークエリアに記憶し、クライアントAのディスプレイには不統一訳語を知らせる通知情報1)を受信したことを意味するアニメーション又はアイコンが表示され、一次確認者がこのアニメーション又はアイコンを選択(例えばマウスの左ボタンでクリック)すると、処理をステップS722に進め、ディスプレイには図8に示す不統一訳語通知及び統一訳語入力画面800が表示され、この画面の上部には不統一訳語通知ウィンドウ810が表示される。この不統一訳語通知及び統一訳語入力画面800では、所定数を超える同一の訳揺れ箇所はページを分けて標示する。例えば最初の1ページには訳揺れの初出箇所が表示され、2ページ以降に同一の訳揺れが表示されるようにすることができる。
不統一訳語通知ウィンドウ810には左から、チェック欄、原文語句、訳語、翻訳者ID、原文表示ボタンが表示される。一次確認者は原文語句と訳語を確認して、採用すべき訳語の記載された行のチェック欄にチェックマーク「レ」を入力する。図8では、不統一訳語通知ウィンドウ810に原文語句「精神病の1種」に対して、翻訳者ID786の翻訳者が a kind of mental diseaseを使用し、翻訳者ID777の翻訳者が one of mental diseaseを使用し、翻訳者ID751の翻訳者が a mental diseaseを使用している旨が表示されている。この画面で「原文」ボタン811を押下することにより、翻訳者ID786の翻訳担当範囲テーブルに該当する原文ファイルを、原文語句をキーにして検索し、最初にヒットした箇所の原文のセンテンス又は文を中心にして、ピリオド又は句読点によりセンテンス又は文を識別してヒット箇所の前後3センテンス又は3文程度をRAM23のワークエリアに記憶し、画面中段の原文表示ウィンドウ820に翻訳者ID786の翻訳者が翻訳を担当する原文範囲における原文語句を含む最初の該当箇所の原文を表示する。これにより各翻訳者の訳語の当否の確認が容易になる。又複数の通知を見る場合には前頁ボタン833か次頁ボタン834を押下することで別の通知情報を不統一訳語通知ウィンドウ810に表示させることができる。原文表示ウィンドウ820の下には訳語新規入力ウィンドウ830が表示されており、この訳語新規入力ウィンドウ830に訳語を新規入力後に新規入力ボタン835を押下することで新しい訳語を登録することができる。
一次確認者がチェック「レ」を入力した後で承認ボタン832を押下すると、この行の訳語a kind of mental diseaseが原文語句「精神病の1種」に対応する統一候補訳語として容認され、一次確認された旨の情報がRAM23のワークエリアに記憶され、処理をステップS723に進め、プロジェクトIDと原文語句と品詞と等を含む通知情報1)と承認された統一候補訳語とを管理サーバー150に送信する。なお、複数の訳語に対してそれぞれチェック「レ」を入力した場合、両方の訳語を使い分ける(訳し分ける)ことを一次確認したことになり、統一候補訳語として2語が含まれることになる。
ステップS708では管理サーバー150は受信した情報をRAM23のワークエリアに記憶し、処理をステップS709に進める。ステップS709では、RAM23のワークエリアに記憶した情報をクライアントYに転送して、処理をステップS710に進めてクライアントYからの応答の受信待ち状態になる。ステップS741〜ステップS743は、実行主体がクライアントYであり、管理サーバー150から受信した統一訳語候補が承認されて統一訳語として通知情報1)と共にサーバーに送信される点が異なるだけなので詳細は省略する。管理サーバー150はステップS710で受信した通知情報1)と統一訳語とをRAM23のワークエリアに記憶し、処理をステップS711に進める。ステップS711では、原文語句と統一訳語とをキーにしてステップS703と同様の対応訳語検索を実行し、プロジェクトに参加している翻訳者が使用した訳語1人分ずつとその訳語が出現する原文語句が存在する原文の段落番号と文番号とを抽出して、処理をステップS712に進める。ステップS712では、抽出した訳語と統一訳語とを比較して、訳語が一致するかを判定する。複数の訳語の使い分けを認めている場合(統一訳語が複数ある場合)は、複数の統一訳語のいずれか一方と一致すれば、訳語が一致したと判定する。
訳語が一致しない場合は、処理をステップS713に進める。訳語が一致する場合は、処理をステップS714に進める。ステップS713では、ステップS707でRAM23のワークエリアに記憶した情報と、ステップS710で受信してRAM23のワークエリアに記憶した情報とを用いて、訳語が一致しない翻訳者IDが操作する他のクライアントに訳語を確認するための通知情報2)を送信し、RAM23のワークエリアに予め記憶している翻訳者IDと送信フラグとを含む送信ログで、通知情報2)を送信した翻訳者IDに対応する送信フラグをオンにする。通知情報2)には、プロジェクトIDと原文語句と統一訳語と当該統一訳語に対応する他の翻訳者の原文と通知先の翻訳者毎の翻訳担当範囲内の原文語句が最初に出現する箇所の原文の段落番号と文番号が含まれる。
ステップS731では他のクライアントが通知情報2)を受信しRAM23のワークエリアに記憶し、通知情報2)の受信を知らせるアイコン又はアニメーションが画面に表示される。このアイコン又はアニメーションが選択されると処理をステップS732に進め、通知情報2)の内容と確認を依頼するメッセージ(例えば、プロジェクトID=xxxxxで貴殿は原文語句「精神病の1種」に対して訳語”one of mental disease”を使用されていますが、承認者により訳語“a kind of mental disease”が承認されましたので通知します。該当初出箇所(00XX段落のy番目の文)の原文と訳文の確認をお願いします。)が画面に表示される。勿論これらの通知情報2)の内容を複数一覧形式(複数の訳揺れ箇所を一覧表示する表示形式)で表示しても良い。
ステップS714では全翻訳者についてステップS712の訳語の一致判定が終了しているかをRAM23のワークエリアの送信ログの送信フラグにより判断し、全ての翻訳者IDに対して送信フラグがオンであれば処理を終了する。送信ログ中に送信フラグがオンでない翻訳者IDが存在する場合は処理をステップS711に戻す。このような処理により、訳語の承認申請をしない場合でも訳揺れを一次確認者及び承認者が確認し、承認訳語以外を使用している翻訳者に統一訳語を通知して注意を喚起することが可能になる。なお、変形例(他の実施例)として、統一訳語を図12に示す処理と同様に承認訳語として通知し(ステップS1232参照)、図16、図18、及び図20の画面に表示させ、ローカルメモリを更新する処理も本発明に含まれる。以上で図7の説明を終わる。
次に図9のフローチャートについて説明する。図9は図5のステップS527の確認依頼処理(一次確認者の候補訳語と承認者の承認訳語が一致しない場合の処理)の詳細を説明する詳細フローチャートである。図9において、ステップS921乃至ステップS926は管理サーバー150のCPU21の制御の下で実行する処理であり、ステップS901乃至ステップS903は一次確認者が操作するクライアントAのCPU21の制御の下で実行する処理であり、ステップS961乃至ステップS963は承認者が操作するクライアントYのCPU21の制御の下で実行する処理である。まずステップS921では、管理サーバー150は、RAM23のワークエリアに記憶しているメモリ承認情報(図5のステップS562の説明参照)を用いてクライアントAに送信するための確認依頼情報(候補訳語が承認者によって修正された旨のメッセージ、内容を確認することを依頼するメッセージ、プロジェクトID、原文語句、品詞、承認訳語、候補訳語、承認者コメントを含む)を生成してRAM23のワークエリアに記憶し、処理をステップS922に進める。ステップS922では、RAM23のワークエリアに記憶している確認依頼情報をクライアントAに送信し処理をステップS923に進める。
ここで一旦クライアントA側の処理を説明する。ステップS901では、クライアントAが確認依頼情報を受信し、RAM23のワークエリアに記憶して、処理をステップS902に進める。ステップS902ではRAM23のワークエリアに記憶した確認依頼情報を用いて確認情報を受信した旨のアイコン表示又はアニメーションを例えばタスクバーの右隅などの所定の位置に表示し、このアイコン又はアニメーションを選択する操作を検知して不図示の一次確認者コメント入力画面(候補訳語が承認者によって修正された旨のメッセージ、内容を確認することを依頼するメッセージ、プロジェクトID、原文語句、品詞、承認訳語、候補訳語、承認者コメントと一次確認者のコメント入力欄、及びOKボタンを表示する画面)を表示し、OKボタンの押下を検知すると処理をステップS903に進める。ステップS903では、プロジェクトID、原文語句、品詞、承認訳語、候補訳語、一次確認者が入力したコメントを含む一次確認者コメントを管理サーバーに送信する。
ここで管理サーバー150の処理の説明に戻る。ステップS923では、管理サーバー150はRAM23のワークエリアに記憶している確認依頼情報を、プロジェクトID、原文語句、品詞をキーとして承認申請履歴ファイル153に追加して、処理をステップS924に進める。ステップS924では、クライアントAからの一次確認者コメントの受信を待ち、一次確認者コメントを受信するとRAM23のワークエリアに記憶し、処理をステップS925に進める。ステップS925ではRAM23のワークエリアに記憶した一次確認者コメントをプロジェクトID、原文語句、品詞をキーとして承認申請履歴ファイル153に追加して、処理をステップS926に進める。ステップS926ではRAM23のワークエリアに記憶した一次確認者コメントをクライアントYに送信する。
ステップS961では、クライアントYは受信した一次確認者コメントをRAM23のワークエリアに記憶し処理をステップS962に進める。ステップS962では、クライアントYの画面に一次確認者コメンを受信した旨のアイコン表示又はアニメーションを例えばタスクバーの右隅などの所定の位置に表示し、このアイコン又はアニメーションを選択する操作を検知して不図示の一次確認者コメント確認画面(プロジェクトID、原文語句、品詞、承認訳語、候補訳語、承認者コメントと一次確認者のコメント入力したコメント、修正訳語を入力するための修正入力欄、及びOKボタンを表示する画面))を表示し、OKボタンの押下を検知すると処理をステップS963に進める。ステップS963では、修正訳語を入力するための修正入力欄に修正訳語であるテキストが入力されたかを判定し、テキストが入力された場合には図5のステップS528に処理を進める。テキストが入力されていない場合には図5のステップS522に処理を進める。以上で図9の説明を終わる。
次に図10では、ある原文語句1)と訳語(旧訳語)が承認された後、別の原語2)について同一の訳語(旧訳語)の申請が別途あり、前の原文語句1)の訳語(旧訳語)を別の新訳語に一括置換したい場合の処理について説明する。図10の処理は各クライアントのCPU21の制御の下で実行される処理であり、図5のステップS508又は後述する図12のステップS1208で実行される処理である。
例えば当初device(原文語句1))の申請があり、一次確認者が訳語「装置」(旧訳語)で承認したが、後で類義語のapparatus(原文語句2))が訳語「装置」で再申請があり、一次確認者が「しまった、deviceの訳語は「デバイス」(新訳語)に変更してapparatusの訳語を「装置」(旧訳語)にしよう」などということが時々生じる。
訳文側ではdeviceに対応する語句は既に「装置」になっており、新たにそのままapparatusを装置に置換すると両者が混じってしまう。そこで再申請処理が承認され、クライアント側で訳語を変更する場合、訳文側で以下の処理を行う。以下実例を挙げつつ説明する。
ステップS1001では、変更したい旧訳語を入力し又は範囲指定により選択し、RAM23のワークエリアに記憶して、処理をステップS1002に進める。ステップS1002では、原文語句1)(前述の例では「device」)に対応する旧訳語を訳文中から検索し、検索にヒットした旧訳語とその旧訳語の存在位置(段落番号と文番号)をRAM23のワークエリアに記憶し処理をステップS1003に進める。ステップS1003では、検索した対応する旧訳語(前述の例では「装置」)の文字色又は背景色(地の色)等の表示属性を所定の第一表示属性に変更し、この旧訳語と変更した第一表示属性とをRAM23のワークエリアに記憶して、処理をステップS1004に進める。なお、フローチャート中では原文語句を「原語」と略記している。
ステップS1004では旧訳語(「装置」)から変更すべく、新たに画面から原文語句1)に対する新訳語が入力され、RAM23のワークエリアに旧訳語とは別に新訳語と第一表示属性とを追加して記憶し、処理をステップS1005に進める。ステップS1005では、RAM23のワークエリアに記憶された第一表示属性で訳文中の旧訳語を新訳語(「デバイス」)に置換して、処理をステップS1006に進める。ステップS1006では訳文中の原文語句2)(「apparatus」)の表示属性を変更し、この表示属性をRAM23のワークエリアに別途記憶し、処理をステップS1007に進める。ステップS1007では、予め設定されている表示属性(第二表示属性)で、訳文中の原文語句2)(「apparatus」)をRAM23のワークエリアに記憶されている旧訳語(「装置」)に置換し、処理をステップS1008に進める。
ステップS1008では訳文側に未置換の原文語句1)(「device」)が残存するかどうかを検索し、処理をステップS1009に進める。ステップS1009では訳文中に原文語句1)がなお残存する場合、ステップS1010に処理を進め、ステップS1010では訳文中に未置換の原文語句1)(「device」)が残存したら表示属性を予め設定されている表示属性(第三表示属性)に変更して、この第三表示属性も更にRAM23のワークエリアに記憶し、処理をステップS1011に進める。ステップS1009で訳文中に原文語句1)が残存しないと判定した場合は処理を終了する。ステップS1011ではステップS1010で更に予め設定した第三表示属性を維持したままで、訳文中の原文語句1)(「device」)を、ステップS1004でRAM23のワークエリアに記憶した新訳語(「デバイス」)に置換する。この第三表示属性はハードディスク28に記憶されている設定ファイルに含まれ、同じく設定ファイルに含まれる第一表示属性とも第二表示属性とも異なる表示属性として設定されている。
ここで表示属性とは文字の色、フォント(種類又は大きさの少なくともいずれか1つ)、太文字/標準、地の色(背景の色)、斜体などを意味する。このように表示属性を変える処理を先に実行することで、訳語の変更処理をワンクリックで実行することができる。かつ第一表示属性乃至第三表示属性をそれぞれことなる表示属性として記憶し、(例えば3つのそれぞれことなる背景色、あるいはそれぞれ異なる太文字の文字色として記憶し)、一括置換後もこのそれぞれ異なる表示属性を維持したまま表示することで、一括置換後にも一括置換部分を容易に確認することができる。以上で図10の説明を終わる。
次に図12について説明する。図12は本発明の翻訳支援システムのクライアントが入力したメモリの承認申請処理及びメモリの更新通知処理の実施例を示すゼネラルフローチャートである。図12のステップS1201乃至ステップS1208は一次確認者でない一般の翻訳者が操作するクライアントBのCPU21の制御の下で実行される処理であり、ステップS1209乃至ステップS1212はクライアントAとクライアントBのそれぞれのCPU21の制御の下で実行される処理であり、ステップS1221乃至ステップS1232は管理サーバー150のCPU21の制御の下で実行される処理である。図12のステップS1240乃至ステップS1244はクライアントCのCPU21の制御の下で実行される処理であり、ステップS1251乃至ステップS1253はクライアントAのCPU21の制御の下で実行される処理であり、ステップS1261乃至ステップS1263は承認者が操作するクライアントYのCPU21の制御の下で実行される処理である。
以下、クライアントBがある訳語の承認を申請する場合を例にとって説明する。ステップS1201でクライアントBがメモリの承認申請画面を要求し、ステップS1221で管理サーバー150がメモリの承認申請画面を表示するための画面情報をクライアントBに送信し、処理をステップS1222に進めクライアントBからの情報受信待ち状態になる。ステップS1201で承認申請画面にてメモリの訳語承認申請情報(プロジェクトID、翻訳者ID、品詞と原文語句と訳語)とを入力し、画面の「申請」ボタンの押下が検知されると、全ての必須入力項目が入力されている場合は送信フラグがオンに設定してRAM23のワークエリアに記憶し、処理をステップS1202に進め、ステップS1202ではRAM23のワークエリアの送信フラグがオンの場合は処理をステップS1203に進め、ステップS1203では操作情報を管理サーバー150に送信して、送信後RAM23のワークエリアの送信フラグをオフにし、処理をステップS1204に進める。
この訳語承認申請情報はクライアントBのハードディスク28にも申請中情報として記憶され、承認履歴ファイル153の承認申請中のメモリ情報として後述する掲示板で参照することができる。次にステップS1202で全ての項目が入力されていないか、又は承認申請操作でない場合は処理をステップSステップS1204に進める。ステップSステップS1203乃至ステップS1208は図5のステップS504乃至ステップS508と同様であり、ステップS1208の処理の詳細及びそれに対応する管理サーバー150の処理であるステップS1226の処理の詳細は図27のフローチャートで説明する。
次に情報受信待ち状態だった管理サーバー150はステップS1222では情報を受信しRAM23のワークエリアに記憶しステップS1223に処理を進める。ステップS1223では受信した情報が訳語承認申請情報であるかを判定する。訳語承認申請情報であると判定した場合は処理をステップS1224に進め、訳語承認申請情報でないと判定した場合は処理をステップS1226に進め、ステップS1226では受信した情報で特定されるクライアント側の操作に応じた処理を行う。ステップS1226の詳細は図27で説明する。
ステップS1224では同じ原文語句について承認申請履歴ファイル153(プロジェクトID、メモリID、翻訳者ID、品詞、原文語句、訳語、承認訳語、承認者ID、承認年月日)中に既に承認申請があるかを、原文語句をキーに検索して、原文語句が一致する承認申請が存在する場合、対応する訳語と承認年月日とをRAM23のワークエリアに記憶し、処理をステップS1225に進める。ステップS1225では、同一原文語句と訳語とで承認済みの場合は、既に承認済みである旨のメッセージをクライアントBに送信し、異なる訳語で既に承認されている場合は、その異なる訳語と原文語句と、「異なる語句で承認されていますが、この訳語で良いでしょうか?それとも別途申請しますか?」を尋ねるメッセージをクライアントBに送信し、クライアントBからの応答が別途申請を要求するものであれば、承認申請処理を進める。ステップS1225の詳細は別途図13に示す詳細フローチャートで説明する。
訳語承認申請情報は一次確認者が操作するクライアントAに送信され、それとは別にクライアントCなどの他の翻訳者にも送信され、ステップS1240では、承認情報に含まれる承認申請中の原文語句に対応する、他の翻訳者が担当する原文の同じ原文語句を含む箇所全ての表示属性(例えば文字色や背景色、太文字など)が変更され、翻訳者に当該原文語句が承認申請中であることを容易に気付かせることで二重の承認申請を抑制する。ステップS1240の詳細は別途図14に示す詳細フローチャートで説明する。
ステップS1251では、訳語承認申請情報をクライアントAが受信し、受信した訳語承認申請情報をハードディスク28の承認申請中ワークファイルに登録すると共にRAM23のワークエリアに記憶され、処理をステップS1252に進める。ステップS1252ではクライアントAの画面に訳語承認申請情報を受信した旨のアイコン又はアニメーションが表示され、一次確認者である一次確認者による訳語承認申請情報を表示させる操作を検知するとプロジェクトIDと品詞と原文語句と承認を要求する訳語とを含む訳語承認申請情報が表示され、申請の容認又は否認と、場合により修正された一次確認訳語、又は承認者に承認訳語の調査を依頼するコメントが一次確認者により一次確認入力されRAM23のワークエリアに記憶され、処理をステップS1253に進めて、一次確認情報(プロジェクトID、翻訳者ID、品詞と原文語句と一次確認訳語、処理フラグ)が管理サーバー150に送信される。否認されるのは、承認申請された原文語句に対応する訳語が既に共通メモリに登録されており、新規追加も訳語の修正も必要がない場合である。ステップS1227では、管理サーバー150は一次確認情報を受信してこの一次確認情報をRAM23のワークエリアに記憶し、承認申請履歴ファイル153に受信した一次確認情報を追加して、処理をステップS1228に進める。ステップ628では、承認者が操作するクライアントYに対しRAM23のワークエリアに記憶した一次確認情報と同内容の承認依頼情報を送信する。
ステップS1261では、クライアントYが承認依頼情報を受信し、RAM23のワークエリアに記憶して、承認依頼情報を受信した旨とOKボタン及びキャンセルボタンを表示したダイアログ画面を受信し、ダイアログ画面でOKボタンが押下されたことを検知すると、承認依頼情報を含む承認入力画面(承認依頼情報、承認ボタン、否認ボタン、訳語入力欄、コメント入力欄、保存ボタンを表示する画面)を表示して処理をステップS1262に進める。ステップS1261では、ダイアログを表示せずに、承認依頼情報を受信した旨のアイコン表示又はアニメーションを例えばタスクバーの右隅などの所定の位置に表示し、このアイコン又はアニメーションを選択する操作を検知して承認依頼入力画面を表示しても良い。
ステップS1262では、承認入力画面が表示され、訳語入力欄又はコメント入力欄にテキストが入力された状態で保存ボタンが押下されたことを検知すると、訳語又はコメントを識別するための入力区分と入力されたテキストがRAM23のワークエリアに記憶され、承認ボタン又は否認ボタンが押下されたことを検知すると押下されたボタンに応じた承認フラグをRAM23のワークエリアに記憶する。ステップS1263では、RAM23のワークエリアに記憶している少なくとも承認フラグと原文語句と承認訳語、(もし訳語入力欄やコメント入力欄に入力されている場合は)修正された承認訳語又はコメントを識別するための入力区分(承認訳語が修正された場合は1、コメントが入力された場合は2、両方入力された場合は3)と入力されたテキストとを含む承認情報(プロジェクトID、原文語句と品詞と承認訳語、処理フラグを含む)を、管理サーバー150に送信する。
ステップS1229では管理サーバー150は承認情報を受信し、RAM23のワークエリアに記憶し、システム時刻に基づく受信時刻とプロジェクトIDと承認フラグ、原文語句、品詞、承認訳語、クライアントに通知したか否かを示す通知フラグ(初期値はオフ)、各翻訳者が操作するクライアント毎に承認訳語を複文に反映したかを示す翻訳者ID毎の反映フラグ(初期値はオフ)を管理サーバー150のハードディスク28の承認申請履歴記憶部351の承認申請履歴ファイルに記憶し、処理をステップS1230に進める。ステップS1230で、この承認情報に含まれる承認フラグがオンであれば、承認情報に含まれるプロジェクトIDに対応する共通メモリ151を更新し、クライアントA及びクライアントBにメモリ更新情報(プロジェクトID、原文語句と品詞と承認訳語、処理フラグを含む)を送信すると共にクライアントCにもメモリ更新情報を送信する。CPU21は処理をステップS1231に進めて、ステップS1231では、各翻訳者向けの掲示版と共通掲示板の表示情報(管理サーバー側がこれらのクライアントの画面に図22乃至図24に示す掲示板を表示するためのHTML)を新たな承認情報を用いて更新する。ステップS1231の詳細は別途図21に示す詳細フローチャートで説明する。次に処理をステップS1232に進め、承認申請者と承認された原文語句が担当している翻訳範囲に含まれている翻訳者が操作するクライアントに向けて承認通知を送信する。ステップS1232の詳細は別途図25に示す詳細フローチャートで説明する。
次にクライアント側の処理を説明する。クライアントA及びクライアントBはステップS1209でそれぞれメモリ更新情報を受信し、RAM23のワークエリアに記憶して、それぞれ処理をステップS1210に進める。ステップS1210では受信したメモリ更新情報ステップを用いてローカルメモリ115又はローカルメモリ125、及びプロジェクトIDに対応する原文の更新をそれぞれ行い、処理をステップS1211に進める。ステップS1210の詳細は図15のフローチャートで説明する。ステップS1211ではクライアントA及びクライアントBがそれぞれ承認通知を受信しRAM23のワークエリアに記憶して、承認通知があることを示すアイコンまたはアニメーションが例えば画面のタスクバーなどの所定の位置にそれぞれ表示され、これらのアイコンまたはアニメーションをマウスのカーソルで選択すると処理をステップS1212に進め図22乃至図24に示すような画面に承認通知をそれぞれ表示する。他方、クライアントCはステップS1241でメモリ更新情報を受信し、RAM23のワークエリアに記憶して、処理をステップS1242に進める。ステップS1242では受信したメモリ更新情報ステップを用いてローカルメモリ135及びプロジェクトIDに対応する原文の更新を行い、処理をステップS1243に進める。ステップS1242の詳細は図15のフローチャートで説明する。ステップS1243でクライアントCが承認通知を受信し、RAM23のワークエリアに記憶して、承認通知があることを示すアイコンまたはアニメーションが例えば画面のタスクバーなどの所定の位置に表示され、これらのアイコンまたはアニメーションをマウスのカーソルで選択すると処理をステップS1244に進め図22乃至図24に示すような画面に承認通知を表示する。以上で図12の説明を終わる。
図13は承認申請があった場合の詳細(図12の(ステップS1222乃至ステップS1225の詳細処理))を示す詳細フローチャートである。以下のステップS1301乃至ステップS1311は管理サーバー150のCPU21の制御の下で実行する処理である。掲示板に掲載された承認情報の見落としなどにより、最初の承認後に申請者以外の翻訳者から同一の原文語句について再度承認申請をした場合であっても、承認申請された原文語句をキーとしてハードディスク28に記憶されている申請履歴情報を記憶している承認申請履歴ファイル153を検索して原文語句が既に承認されていたら、再度承認申請をした翻訳者の端末に原文語句と承認済みの訳文語句と例えば「原文語句XXXXは○月△日に既に訳語YYYYで承認済みです」とのメッセージを表示する機能を備えるため、一次確認者に何度も同じ内容の承認申請が行く煩雑さを防止できる。
まず管理サーバー150はステップS1301では情報を受信しRAM23のワークエリアに記憶しステップS1302に処理を進める。ステップS1302では受信した情報が訳語承認申請情報であるかを判定する。訳語承認申請情報(プロジェクトID、翻訳者ID、品詞と原文語句と訳語を含む)であると判定した場合は処理をステップS1303に進め、訳語承認申請情報でないと判定した場合は処理をステップS1226に進め、ステップS1226では受信した情報で特定されるクライアント側の操作に応じた処理を行う。
ステップS1303では同じ原文語句について承認申請履歴記憶部351の承認申請履歴ファイル153中に既に承認申請があるかを、新たな訳語承認申請情報の原文語句と訳語とをキーにして検索して、原文語句が一致する承認申請が存在する場合対応する原文語句と承認訳語と承認年月日とをRAM23のワークエリアに記憶し、原文語句が一致する承認申請が存在しない場合一致する原文語句が存在しない旨のメッセージをRAM23のワークエリアに記憶し、処理をステップS1304に進める。ステップS1304ではRAM23のワークエリアを参照して同一の原文語句の承認申請が承認申請履歴ファイル153に既にあるかを判断し、あると判断した場合はステップS1305に処理を進め、ないと判断した場合はステップS1311に処理を進める。ステップS1305では、承認申請履歴ファイル153に同一原文語句同一訳語の承認申請があれば、ステップS1306に処理を進める。
ステップS1306では、第一通知情報(例えば、「原文語句XXXXは訳語YYYYで○月△日に承認されています。」といった承認済みである旨を意味するメッセージ)を生成してRAM23のワークエリアに記憶後、申請した翻訳者が操作するクライアントBに送信する。他方ステップS1305で訳語が同一でない場合はステップS1307に処理を進める。ステップS1307では、通知記憶部355から読みだしたメッセージ情報を用いて承認申請者のクライアントの画面に確認メッセージを表示させるための情報(第二通知情報)を生成してRAM23のワークエリアに記憶し、この第二通知情報(例えば、「原文語句XXXXは訳語YYYYで○月△日に承認されていますが、この訳語でよろしいですか?。」といった確認メッセージ)をクライアントBに送信して、この訳語でOKか再承認申請かの応答を申請したクライアントBを操作する翻訳者に要求し、処理をステップS1308に進め応答を待つ。ステップS1308でこのクライアントBからの応答メッセージを受信すると、この応答メッセージをRAM23のワークエリアに記憶し、処理をステップS1309に進める。
ステップS1309で「承認済の訳語に同意」の応答を翻訳者の操作するクライアントから受信したらステップS1301へ処理を戻す。受信した応答が「承認済みの訳語に不同意」(再承認申請)ならステップS1310に進む。ステップS1310では、訳語承認申請情報に承認可否フラグの項目(当初オフに設定)と処理フラグの項目(当初オフに設定)と再申請である旨の情報とを付加して第三通知情報を生成しRAM23のワークエリアに記憶し、一次確認者が操作するクライアントAへ、この第三通知情報(同一原文語句についての再承認申請情報)を生成してRAM23のワークエリアに記憶し、管理サーバー150から送信する。クライアントAはこの第三通知情報を受信してステップS1251を実行する。ステップS1311では、訳語承認申請情報に承認可否フラグの項目(当初オフに設定)と処理フラグの項目(当初オフに設定)とを付加した新規の承認申請である第四通知情報を生成しRAM23のワークエリアに記憶し、一次確認者の操作するクライアントAへ送信し、クライアントAはこの第三通知情報を受信してステップS1251を実行する。
なおこの図13と同様のフローチャートの処理を承認者が操作するクライアントYで実行することもできる。以下に差分について説明する。図13では申請履歴情報を記憶している承認申請履歴ファイル153は管理サーバー150のハードディスク28に記憶されているが、クライアントYのハードディスク28に記憶されている点(又はクライアントYから管理サーバー150の承認申請履歴ファイル153を検索する点)が異なる。また、管理サーバー150経由ではなく、他のクライアントから直接訳語承認申請情報を受信しRAM23のワークエリアに記憶して処理を進める点が異なる。なお管理サーバー150がクライアントAに単に情報を転送する構成も勿論可能である。
ステップS1301乃至ステップS1309はクライアントYで実行する点以外は同じである。ステップS1310では原文語句と申請訳語と再承認申請である旨の第一メッセージを表示するための表示情報を生成してクライアントYの画面に表示する点と、ステップS1311では原文語句と申請訳語と新規承認申請である旨の第二メッセージを表示するための表示情報を生成してクライアントYの画面に表示する点が異なる。更にクライアントYの画面に再承認申請又は新規承認申請がある旨のメッセージ自体、又はこれらのメッセージが有る旨を意味するアイコンやアニメーション等の間接的な情報を表示する点が異なる。又申請者が操作するクライアントとのメッセージのやり取りであるステップS1306乃至ステップS1308でも、申請者が操作するクライアントと承認者が操作するクライアントYが直接メッセージをやり取りしても良いし、管理サーバー150経由でやり取りをしても良い。以上で図13及びその変形例の説明を終わる。
次に図14のフローチャートについて説明する。図14のフローチャート、図12のステップS1240の原文表示属性変更処理の詳細を示す図12ではクライアントCで実行される処理のフローチャートである。但し、クライアントCは例示であり、他のクライアントで実行することも可能である。ステップS1401乃至ステップS1409の各処理はクライアントCのCPU21の制御の下で、実行される処理である。ステップS1401で通知情報を受信すると、処理をステップS1402に進め、ステップS1402では例えば画面のタスクバーやガジェットの表示エリア、あるいはアプリケーションのウィンドウの所定位置に承認申請の通知情報を受信したことを示すアイコンを表示し、処理をステップS1403に進める。表示箇所は上記に限らない。又アイコンに代えて小さなアニメーションを表示することもできる。
ステップS1403では操作情報を判定する。具体的には例えばマウスの左ボタンの押下などのイベントの有無を判定する。イベントの発生を判定すると処理をステップS1404に進める。ステップS1404では、承認申請の通知情報を受信したことを示すアイコンをマウスの左ボタンのクリックで選択したと判定した場合、処理をステップS1405に進める。ステップS1405では、図16に示すような画面に類似する不図示の属性変更画面で承認申請中の情報を一覧表示する。属性変更画面が図16の画面と異なるのは、「更新」ボタンの代わりに、「属性変更」ボタンが表示されることである。この属性変更画面が表示されると処理をステップS1406に進める。
ステップS1406では、「属性変更」ボタンが押下されたことを検知すると処理をステップS1407に進める。ステップS1407では、属性変更画面でチェックボックスにチェックマークが入力された原文語句について、表示属性が変更される。表示属性は予め各クライアントのハードディスク28に設定情報として記憶されており、変更することも可能である。ステップS1406で、「属性変更」ボタンが押下されたのでない場合は、処理をステップS1408に進める。ステップS1408では、「属性変更」ボタンの押下を除くその他の操作があったと判定すると処理をステップS1409に進め、何らの操作もなかったと判定した場合は処理をステップS1403戻す。ステップS1409では、操作に応じた処理を実行する。以上で図14の説明を終わる。
次に図15はクライアント側のローカルメモリ更新処理(図12のステップS1210及びステップS1242)の詳細を示す詳細フローチャートである。図15でステップS1521乃至ステップS1528は管理サーバー150のCPU21の制御の下で実行する処理であり、ステップS1501乃至ステップS1506はクライアントBのCPU21の制御の下で実行する処理である。まずステップS1521で新たな承認情報を受信したと判定した場合、処理をステップS1522に進め、ステップS1522で新たに受信した承認情報を元にNo.、原文語句、訳文語句、表示属性を含むワークファイルを生成しRAM23のワークエリアに記憶し処理をステップS1523に進め、ステップS1523ではRAM23のワークエリアに記憶されている承認情報に含まれるこの翻訳者の翻訳者IDとプロジェクトIDとをキーとして担当範囲記憶部353を検索して、特定される翻訳担当範囲について原文語句をキーとして原文記憶部352を検索し、検索結果(プロジェクトID、翻訳者ID、段落番号、文番号、原文語句)をRAM23のワークエリアに記憶して処理をステップS1524に進める。
ステップS1524ではRAM23のワークエリアに記憶されているステップS1523の検索の結果に基づいて、この原文語句が担当する翻訳範囲の原文に含まれかを判定し、含まれると判定された場合、処理をステップS1525に進める。ステップS1525では翻訳担当範囲の原文に含まれる原文語句の表示属性を所定の表示属性R(例えば文字色を橙文字)に変更し、処理をステップS1527に進める。他方ステップS1524で、この原文語句が担当する翻訳範囲の原文に含まれないと判定された場合、処理をステップS1526に進める。ステップS1526では翻訳範囲の原文に含まれない語句の表示属性を所定の表示属性Rとは異なる表示属性P(例えば文字色を紫文字)に変更し、処理をステップS1527に進める。ここでステップS1525又はステップS1526のいずれか一方のみを実行し、つまりいずれか一方の表示属性の変更のみを行いステップS1525又はステップS1526のいずれか一方では表示属性を変更しない処理も可能であり、要するに翻訳範囲に含まれる語句と含まれない語句を容易に区別できれば良い。
ステップS1527で新たに受信した全ての承認情報の検索と表示属性の変更が完了したと判定したら、処理をステップS1528に進め、ステップS1528では図16に示すような画面をクライアントに表示させるための表示情報(承認一覧情報(原文語句162、訳文語句163))を生成して、クライアントBに送信して処理を終了する。他方ステップS1527で全ての承認情報の検索と表示属性の更新が完了していないと判定したら、処理をステップS1523に戻す。クライアントBはステップS1501で承認一覧情報を受信してRAM23のワークエリアに記憶し、処理をステップS1502に進め、ステップS1502では図16に示す画面を表示し処理をステップS1503に進め、ステップS1503では特定の行のチェックボックス161にチェックマークが入力されているかを判定し、チェックマークが入力されていれば、処理をステップS1504に進める。ステップS1504では、RAM23のワークエリアに記憶している、そのチェックボックスに対応する承認情報の置換フラグをONにして、処理をステップS1505に進める。チェックマークが入力されていなければ、処理をステップS1501に戻す。ステップS1505で図16の画面の「更新」ボタン160が押下されたことを検知したら処理をステップS1506に進め、ステップS1506では置換フラグがONになっている承認情報分のメモリでこの翻訳者が操作するクライアントのローカルメモリを更新して処理を終了する。ステップでS1506画面の「更新」ボタン160が押下されたことを検知しなかったら処理をステップS1501に戻す。以上で図15の説明を終わる。
次に図15の更新処理に引き続き、あるいはローカルメモリには自動反映されることを前提に、現在作業している翻訳文中の訳語を承認訳語の更新を行う方法として以下の2つの変形例を説明する。1つ目の変形例では、図15のステップS1507で、図18に示すように1段落分又は前後各3〜5センテンス分の原文語句1802と訳文1803の対訳表示とチェックボックス1801とを表示する点が図16の一覧画面と比べた特徴となる。
以下前述のメモリ更新処理との差分についてクライアント側の処理を図17のフローチャートを用いて説明する。ステップS1721〜ステップS1725は、前述の図15のステップS1501〜ステップS1505と同様なので説明を省略する。ステップS1726では、ステップS1725で生成した原文の表示情報の段落番号と文番号をキーにして原文に対応する訳文を検索し、原文語句とこの原文語句を含む原文と検索結果である対応する訳文とをRAM23のワークエリアにワークファイルとして出力し、処理をステップS1727に進める。ステップS1726の検索処理の詳細は図7のステップS703の検索処理と同様である。ステップS1727では訳語更新用チェックボックス1801を含む表示情報を生成しRAM23のワークエリアにワークファイルとして出力し、処理をステップS1728に進める。ステップS1728では、担当範囲の原文の全情報の検索が完了したかを判定し、検索を完了したと判定した場合には処理をステップS1729に進め、完了していないと判定した場合は処理をステップS1723に戻す。
ステップS1729では1つの文に対して複数の訳語更新がある場合、重複した原文と訳文とを削除し、1つの文の表示欄に更新チェックボックス1501を複数表示させることを含めて対訳表示画面を表示させるための表示情報を生成し、処理をステップS1730に進める。ステップS1730では、図18に示すメモリ更新用の対訳表示画面を表示して、処理をステップS1731に進める。なお、図18の画面において、1つの文の表示欄に更新チェックボックス1801を複数表示させる場合はチェックボックスの例えば右横に反映する語句を特定するための情報(例えば※1、※2など)を表示するとともに、該当する原文語句の直後にも「(※1)」、「(※2)」などを表示して対応付けを明確にする(この部分不図示)。ステップS1731〜ステップS1734は、前述の図15のステップS1508〜ステップS1511とそれぞれ同様なので説明を省略する。以上で図17のフローチャートの説明を終わる。
次に2番目の変形例を、図19のフローチャートと図20の画面とを用いて、説明する。2番目の変形例は承認された語句の前後の1〜2ワード程度の語句の類似性が高いものをグループ別にまとめて表示し、グループ単位での一括更新を可能にする処理を実行する。図19のフローチャートでステップS1941〜ステップS1945は図15のステップS1501〜ステップS1505と同様なので説明を省略する。
ステップS1946ではステップS1945で生成した原文表示情報に含まれる段落番号と文番号をキーにして対応訳文を検索しRAM23のワークエリアにワークファイルとして出力し、処理をステップS1947に進める。ステップS1947では訳文の表示情報を生成し、RAMのワークエリアに記憶して処理をステップS1948に進めるがステップS1527と同様なので詳しい説明は省略する。ステップS1948では全ての原文と対応する訳文の検索が完了しているかを判定し、完了している場合は処理をステップS1949に進め、完了していない場合は処理をステップS1943に戻す。ステップS1949では同一訳語を含む訳文を検索してRAM23のワークファイルに出力して、処理をステップS1950に進める。ステップS1950ではRAM23のワークファイルの訳文で、同一訳語の前後の所定の数(例えば2〜3単語又は3〜4文字)の単語又は文字を比較し、同一訳語で前後の所定の数(例えば2〜3単語又は3〜4文字)の単語又は文字が類似する文を1つのグループとし、ワークファイルを訳語>前後単語(又は文字)のグループでソートして処理をステップS1951に進める。ステップS1950で類似とは例えば訳文が英語であれば“a”とthe”が異なっていてもその後の単語が同一であれば類似と判断する。
ステップS1951では表示される画面は、図20に示すように、グループ別にチェック欄2001と原文2002、訳文2003と更新ボタン2000を1セットにして表示され、2番目のグループでも、それぞれチェック欄2011と原文2012、訳文2013と更新ボタン2010が表示され、処理をステップS1952に進める。図20の3番目のグループではチェック欄2021と原文2022、訳文2023と更新ボタン2020が表示され、それぞれグループ単位で更新ボタンの押下によるメモリが更新される点が図18の画面と異なる。ステップS1952乃至ステップS1955はそれぞれ、図15のステップS1531乃至ステップS1534と同様なので説明を省略する。以上で図19の説明を終わる。
図21は掲示板更新処理(図12のステップS1231)の詳細を示す詳細フローチャートであり、管理サーバー150のCPU21の制御の下で実行する処理である。ステップS2101では受信した更新情報を用いて掲示板に表示するためのHTML情報を生成してRAM23のワークエリアに記憶し、処理をステップS2102に進める。ステップS2102では共通掲示板の情報を生成したHTML情報を用いて掲示板の表示情報を更新する。ステップS2103では各翻訳者が翻訳を担当する原文を管理ファイル1)の翻訳担当範囲テーブルに記憶した翻訳者別の担当範囲に応じてRAM23のワークエリアに記憶し、処理をステップS2104に進める。ステップS2104では全員の翻訳を担当する原文のRAM23のワークエリアへの記憶処理及びステップS2105乃至ステップS2107の処理が終了しているかを判定し、終了していなければ、処理をステップS2105に進める。今回のプロジェクトの翻訳者全員の処理が終了していれば処理を終了する。
ステップS2105で今回受信した更新情報の原文語句で翻訳者1人分の原文を検索して、ステップS2106で今回受信した更新情報の原文語句がこの翻訳者の原文に含まれると判定した場合は、ステップS2107で当該翻訳者用の掲示板に更新情報を掲載するために掲示板情報を更新する。この処理により、各翻訳者は自分の翻訳範囲で必要な承認情報のみを参照できる。他の部分の参照時には必要となる自分の翻訳範囲には含まれない原文語句)は共通掲示板である承認済掲示板で別途確認することができる。又は翻訳担当範囲に含まれる原文語句(又はその訳語)と翻訳担当範囲に含まれない原文語句(又はその訳語)とを異なる表示属性(例えば異なる文字色又は異なる背景色)で表示することもできる。
個人用掲示板と共通掲示板は、図22に示すように原文表示ウィンドウと訳文表示/入力ウィンドウが並置された入力編集用画面の一部として掲示板部分をタブブラウザと同様にタブ形式で表示する。従ってタブ部分(2201乃至2205)にカーソルを移動させマウスのボタンを押下することにより、ワンタッチで個人用掲示板と共通掲示板を切替表示することができる。図22の下の画面は新着承認情報タブ2201を選択した表示状態を示している。
また個人用掲示板には新たに承認者により承認されたメモリ情報である新着承認メモリ表示用の「新着」承認情報表示タブ2201、前述したハードディスク28に記憶している訳語承認申請情報の申請中訳語用の「申請中」タブ2203、訳語情報が変更されて承認された場合の原文語句と元の訳語を含む否認訳語用のタブ2204を備える。共通掲示板として承認済訳語用の「承認済」タブ2202があり、掲示板用タブには更に「設定」タブ2205と不図示の「設定」メニューがあり、メモリの承認情報の表示形式を選択することができる。
「設定」タブ2205又は「設定」メニューでは、「新着」承認情報表示タブ2201に自己の翻訳する担当範囲の原文には含まれない原文語句とその訳語も表示するか否かを設定可能であり、担当範囲の原文には含まれない原文語句とその訳語を表示する場合には、担当範囲の原文に含まれる原文語句とその訳語のフォント表示色及び背景表示色と、担当範囲の原文には含まれない原文語句とその訳語のフォント表示色及び背景表示色とを設定できる。更に新たに受信してからどの位の時間(例えば12時間、1日、2日など)新着承認メモリとして表示するかを設定できる。又、新着承認メモリ、承認済メモリ、申請中メモリ、否認メモリのそれぞれについて、表示タイミング(通知を受信次第、30分に1回、1時間に1回、午前9時から3時間毎、など)を設定できる。
更に図22に示すように、ロールテロップ形式で横長のロールティッカー表示部2212に右から左に新着メモリの原文語句と訳語とを流して表示するよう、「設定」タブ2205又は「設定メニュー」で設定できる。
又、図23に示すように画面に並置されている原文表示ウィンドウ2310と訳文表示/入力ウィンドウ2311の左右端部分に細長いミニウィンドウ(ナビゲーションウィンドウをメインウィンドウの左右に表示するように表示された縦長のウィンドウ)を左右に合計4つ表示し、そのうちの1つを新着承認訳語2302の原文語句のみ又は原文語句と訳語とを表示する。他の3つ、すなわち承認申請中訳語2303、承認済訳語2301、否認された承認申請を表示する否認訳語2304についても該当する原文語句のみ又は原文語句と訳語とをそれぞれ表示するように「設定」タブ2205又は「設定メニュー」で設定することもできる。このように表示することで承認された情報を適宜参照しながら効率的に翻訳作業を進めることができる。
更に図24に示すように画面2410内に並置されている原文表示ウィンドウ2411と訳文表示/入力ウィンドウ2412とは別の画面2401で上下左右にミニウィンドウをに合計4つ表示し、そのうちの1つを新着承認訳語2402の原文語句のみ又は原文語句と訳語とを表示する。他の3つ、すなわち承認申請中訳語2403、承認済訳語2401、否認された承認申請を表示する否認訳語2404についても該当する原文語句のみ又は原文語句と訳語とをそれぞれ表示するように「設定」タブ2205又は「設定メニュー」で設定することもできる。このように表示することで例えば通常時には翻訳作業用の画面2410を大きく前面に表示し、承認された情報を適宜参照する際には画面2401を前面に表示するなどして効率的に翻訳作業を進めることができる。
図25は承認通知処理(図12のステップS1232)の詳細を示す詳細フローチャートである。ステップS2500では新たな承認情報を受信したと判定したらステップS2501に進み、新たな承認情報を受信ていないと判定したらステップS2507に進む。ステップS2501では、訳語承認申請情報中の申請訳語と承認訳語とを比較し、申請訳語と承認訳語が一致しない場合(訳語が修正されて承認された場合)は修正フラグがオンになり、申請訳語と承認訳語が一致する場合は修正フラグがオフになりRAM23のワークエリアに記憶されてステップS2502に処理を進める。ステップS2502では、修正フラグ(訳語修正の有無)に応じて通知記憶部355からメッセージ又は表示属性の少なくとも1つを更に読み出して、元々の申請者(クライアントB)へ通知する情報である通知情報3)を生成してRAM23のワークエリアに記憶する。通知情報3)はプロジェクトID、品詞、原文語句、承認された訳語と通知記憶部355から読み出したメッセージとを含む。修正フラグがオンの場合は、例えば「訳語XXXは訳語YYYに修正されて承認されました」等の訳語が修正された旨のメッセージが通知情報3)に付加される。あるいは、前述の訳語が修正された旨のメッセージに加えて、あるいはこのメッセージに代えて、修正された訳語の表示属性を変更して(例えば赤文字に表示を変えて)表示させるための情報も、あるいは表示属性を特定するための情報(例えば文字の表示色を特定する情報、文字部分の背景色を特定するための情報、文字の書体を特定するための情報の少なくともいずれか1つ)も生成され通知情報3)に含まれる。処理をステップS2503に進める。
ステップS2503では通知情報3)をクライアントBに送信する。このように承認されたら元々の申請者には無条件に通知して処理をステップS2504に進める。ステップS2504では申請が否認されたか否かで処理を分岐する。具体的には、申請が否認された場合(RAM23のワークエリアに記憶している承認フラグがオフの場合)は処理をステップS2505に進め、ステップS2505では、申請が否認された旨の通知情報4)B(図22の否認訳語用のタブ2204又は図23乃至図24の否認訳語ウィンドウ2304等への表示用の情報)が生成されRAM23のワークエリアに記憶し、処理をステップS2507に進める。申請が否認されていない場合(RAM23のワークエリアに記憶している承認フラグがオンの場合)は処理をステップS2506に進め、ステップS2506では、申請が承認された旨の通知情報4)Aを生成してRAM23のワークエリアに記憶し、処理をステップS2507に進める。通知情報4)Aには変更されて承認された旨のメッセージは通常含まない。申請元の翻訳者は承認結果としての承認訳語以外の元々の申請訳語を知る必要は通常ないと考えられるからである。
ステップS2507では申請元の翻訳者を除く他の翻訳者向けの通知スケジュール(例えば3時間毎、あるいは午前9時、午後1時、午後5時等)がハードディスク28の設定ファイルから読み込まれRAM23のワークエリアに記憶され、ステップS2508ではシステム時刻と比較して通知時刻が到来したかが判定され、通知時刻が到来したと判定した翻訳者の通知スケジュールがある場合は、ステップS2509に処理を進める。いずれの翻訳者の通知スケジュールでも通知時刻が到来していない場合は処理をステップS2500に戻す。ステップS2509では翻訳者が自己の翻訳する原文に含まれていない語句の承認情報も通知する旨のオプションを指定している場合は、ステップS2512に処理を進める。
ステップS2512では自己が担当する原文に含まれない語句が承認された場合も通知する。ステップS2509で原文に含まれていない語句の承認情報も通知する旨のオプションを指定していない場合は、ステップS2510に処理を進める。ステップS2510では承認情報に含まれている原文語句が当該翻訳者の担当する原文の翻訳担当範囲に含まれるかを、原文記憶部352の翻訳担当範囲テーブルに基づく範囲で原文記憶部352の原文ファイルを検索し、検索結果をRAM23のワークエリアに記憶し、処理をステップS2511に進める。ステップS2511では検索で原文語句がヒットしたら(翻訳担当範囲に含まれたら)ステップS2511からステップS2512に処理を進め、他方検索で原文語句がヒットしない場合は処理をステップS2500に戻す。ステップS2512では、当該翻訳者に、RAM23のワークエリアに記憶されている通知情報4)(承認申請者以外の翻訳者への通知情報)を送信して、処理をステップS2513に進める。ステップS2513では、ハードディスク28に記憶する通知ログ(通知情報3)に含まれる項目及び通知情報4)に含まれる項目及び通知ステータスを含むログ)の通知ステータスを未通知から通知済に変更し、その後処理をステップS2500に戻す。なお、本発明の出願当初の請求項1等の「通知判断手段」は図25におけるステップS2508、ステップS2509、ステップS2511の少なくとも1つが該当する処理ステップであり、本発明の出願当初の請求項1等の「通知情報生成手段」は、図25におけるステップS2502、ステップS2504(承認内容によって通知が変わるため)、ステップS2512が該当する処理ステップである。図25の処理により、申請者であるクライアントや申請者以外のクライアントに、各翻訳者の翻訳担当範囲に応じ、更に訳語変更の有無を含む承認内容に応じて所望のタイミングで訳語申請結果が通知されることになる。以上で図25の説明を終わる。
次に図26は反映チェック処理の詳細(承認した訳語を訳文に反映しているかのチェック)であり、一次確認者が承認した訳語が、自己が担当する翻訳範囲の原文に含まれているにもかかわらず、承認後所定時間経過しても、ある翻訳者が訳語を修正していない場合に、一次確認者に翻訳者の氏名と未修正箇所の数を通知し、一次確認者の操作に応じて、該当する翻訳者に修正を促すメッセージを送信する機能である。
ステップS2601乃至ステップS2610は管理サーバー150が独立したプロセスで実行する処理である。管理サーバー150は各クライアントが入力・編集している訳文を適宜各クライアントから受信し、管理サーバー150のハードディスク28の翻訳プロジェクトファイル152の訳文ファイルに記憶している。なお変形例として、各翻訳者が操作するクライアントA、クライアントB、クライアントCのそれぞれで、他のアプリケーションプログラムとは独立したプロセスとしてCPU21の制御の下で実行するとすることも可能である。
なお、本発明の出願当初の請求項1等の「通知判断手段」は図25におけるステップS2508、ステップS2509、ステップS2511の少なくとも1つが該当する処理ステップであり、本発明の出願当初の請求項1等の「通知情報生成手段」は、図25におけるステップS2502、ステップS2512が該当する処理ステップである。
ステップS2601では、所定時間待機後処理をステップS2602に進める。ステップS2602では承認された内容が通知されても、直後に翻訳者が承認された通知内容を訳文に反映するとは限らないので、例えば最後の承認情報受信後4時間経過など一定の時間が経過したか、又は午後0時と午後5時など所定の確認時刻が到来したかを含む所定の確認タイミングが到来したかを判定し、確認タイミングが到来したと判定した場合は処理をステップS2603に進め、到来していない場合は処理をステップS2601に戻す。所定の確認タイミングは管理サーバー150のハードディスク28の設定ファイル中にプロジェクトID毎に予め記憶されている。
ステップS2603では承認申請履歴記憶部351の承認申請履歴ファイルを検索して前回確認時刻以降に新たに受信した承認情報があるかを判定し、新たな承認情報がある場合は処理をステップS2604に進め、新たな承認情報がない場合は処理をステップS2601に戻す。ステップS2604では訳文への反映が確認されていない語句(反映フラグが1つでもオフの語句)があればハードディスク28のワークファイルに追加しステップS2605へ処理を進める。ステップS2605では担当範囲記憶部353の翻訳担当範囲テーブルに基づいてそれぞれの翻訳担当範囲の原文ファイルを、新たな承認情報の原文語句をキーにして検索して、プロジェクトIDと原文語句と承認語句と各翻訳者毎の存否フラグ(存在した場合オン、不存在の場合オフ)とをRAM23のワークエリアに記憶し処理をステップS2606に進める。
ステップS2606では新たな承認情報の原文語句が翻訳者の担当範囲の原文にあれば(存否フラグがオンであれば)ステップS2607に処理を進め、原文になければ(存否フラグがオフであれば)ステップS2601に戻る。ステップS2607では存否フラグがオンである全ての翻訳者(該当翻訳者)の翻訳ファイルのそれぞれについて、RAM23のワークエリアに記憶しているプロジェクトIDの訳文ファイル中に受信した承認情報の承認訳語が1つでも含まれているかを検索する。1つでも含まれていればその翻訳ファイルを更新している翻訳者については承認訳語を反映済みと判断し、その原文語句の承認情報のその翻訳者の「反映フラグ」をオンにして処理をステップS2608に進める。
ステップS2608では、反映フラグに応じて処理を反映フラグがオフの場合には処理をステップS2601に戻し、反映フラグがオフの場合には処理をステップS2609に進める。ステップS2609では検索結果から承認された訳語が1つも含まれていない旨の報告情報(プロジェクトID、翻訳者ID、原文語句、訳語と未反映である旨のメッセージ)を作成する。1つでも含まれる場合は反映されている(反映フラグがオン)との報告情報が作成され、処理をステップS2610に進める。ステップS2610では管理サーバー150が、一次確認者が操作するクライアントA及び承認者が操作するクライアントYに報告情報を送信して処理をステップS2601に戻す。以上で図26の説明を終わる。
図27は本発明の翻訳支援システムのクライアントサーバー型の実施例における図12のクライアント側のステップS1208と管理サーバー150側のステップS1226、又は図5のクライアント側のステップS508と管理サーバー150側のステップS530の詳細を示すフローチャートであり、訳語承認や通知処理以外の翻訳時の訳語選択操作などの各種の操作に応じた処理を説明する。一例としてクライアントBのステップS1208と管理サーバー150のステップS1226で実行される処理について説明する。図27のフローチャートでは既に認証処理が終了しているものとする。つまりクライアントBからユーザID及びパスワードが管理サーバー150に送信され、次いで管理サーバー150では、クライアントBから受信したユーザIDをキーにして認証ファイル533を参照し、当該ユーザIDとペアで記憶されているパスワードと、クライアントBから受信してRAM23のワークエリアに記憶している受信したパスワードとを比較して、パスワードが一致した場合は認証OKと判定して、当該ユーザIDに対応する初期画面の画面情報(クライアントBの画面に初期画面を表示させるためのHTMLフォーマットの画面情報)を送信し、セッションNo.を採番してセッションメモリを管理サーバー150のRAM23のワークアリアに確保し、このセッションメモリ内にユーザIDとセッションNo.を記憶して認証処理を終了する。
以後のクライアントBとのやり取りのデータにはこのセッションNo.が含まれ、セッション終了まではこのセッションNo.を用いてどのクライアントからの要求なのかが特定され、クライアントにデータを送信する場合にはこのセッションNo.を用いて送信先アドレスが特定される。パスワードが一致しない場合は、管理サーバー150からクライアントBにパスワードが一致しない旨のメッセージを送信して認証処理を終了する。次に認証処理以降の処理について説明する。
図27でステップS2702〜ステップS2712はクライアントBのCPU21の制御の下で実行する処理であり、ステップS2722〜ステップS2735は管理サーバー150のCPU21の制御の下で実行する処理である。図の実線の矢印は制御の流れを示し、破線の矢印はデータの流れを示す。データがクライアントBと管理サーバー150との間を往復する場合は両矢印で表示している(他のフローチャートでも同様とする)。
ステップS2702では、クライアントBのCPU21は、送信フラグがオンであることを判定した場合には、処理をステップS2703に進める。ステップS2703では管理サーバー150の翻訳プロジェクトファイル152中の翻訳文を保存している翻訳ファイル又は原文を保存している原文ファイルを特定するファイル名などの情報と翻訳ファイル又は原文ファイルの読み出し要求を操作情報として管理サーバー150に送信する。管理サーバー150はステップS2722では受信した操作情報を管理サーバー150のRAM23のワークエリアに記憶し、処理をステップS2723に進める。
ステップS2723では管理サーバー150のCPU21はRAM23のワークエリアを参照して、操作情報がファイル操作(翻訳ファイル又は原文ファイルの読み出し要求操作又はこれらファイルの保存要求操作)であることを判定した場合、処理をステップS2724に進める。ファイル操作ではないと判定した場合、処理をステップS2725に進める。ステップS2724では選択された翻訳ファイルをハードディスク28からRAM23のワークエリアに読み出し、次いでクライアントBに送信する。
クライアントBはステップS2709で選択を指示した翻訳ファイル又は原文ファイルと、翻訳ファイル又は原文ファイルの読出しが成功したか失敗したかを示す旨のメッセージである結果メッセージを管理サーバー150より受信し、受信した翻訳ファイルと結果メッセージをRAM23のワークエリアに記憶し、結果メッセージを画面に表示して図27の処理を終わり、図12のステップS1201に処理を戻す。
次にステップS2702で、原文と訳文とを読み込んで少なくともその一部を画面の原文ウィンドウに表示した状態(例えば画面の下部に横長の原文ウィンドウを表示し、画面の上部に横長の翻訳文ウィンドウを表示した状態)から、Ctrl+W/Qまたはマウスボタンの操作(例えば選択範囲の始点をマウスの左ボタン押下で指定し、マウスを右方向にドラッグして、選択範囲の終点で左ボタンを離す操作)で訳文中の文又は語句を選択できる。この選択範囲の文又は語句は翻訳文中の未翻訳の原文語句であり、このような選択操作を行った場合、処理はステップS2702からステップS2704に進み、ステップS2704でNo判定からステップS2706でのNo判定を経由してステップS2708に進む。
ステップS2708では、複数の文(文章)を選択することもできるが段落記号や文末記号をまたいだ状態(選択範囲が複数の段落範囲に及ぶ状態や、選択範囲が複数の文にまたがり、かつ選択範囲の末尾が文末記号(例えば「。」やピリオド“.”)と一致しない状態)でそのままTMEモードに入ることは出来ないため、選択部分の末尾が段落記号や文末記号で自動的に切られた状態に修正され、処理をステップS1202に戻す。
再びステップS2702で選択フラグがオンの状態でスペースキーの押下(モード切替操作)のイベントを検知した場合、処理はステップS2704に進み、ステップS2704でYesが判定され、処理をステップS2705に進め、編集モードがTMEモードに変更され変更された編集モードはRAM23のワークエリアに記憶され、処理はステップS1202に戻る。
ステップS2702で処理モードがTMEモードの状態で選択範囲指示キー(例えば→キー)の押下を検知した場合、処理はステップS2704(No)を経由してステップS2706に進む。
ステップS2706ではTMEモードでの選択範囲指示キー(例えばマウスの左ボタン又は→キー)の押下を検知した場合(Yes)処理をステップS2707に進める。
ステップS2707では選択した文字列又は文と検索を要求する旨の選択フラグオン、送信フラグオンの情報がRAM23のワークエリアに記憶され、ステップS1202〜ステップS1204〜ステップS1207〜ステップS1208に戻りS2702に処理を戻し、送信フラグがオン(更新要求操作又は検索要求操作があった:Yes)と判断して処理をステップS2703に進める。
ステップS2703では、選択範囲の文字列と検索要求とを含む操作情報を管理サーバー150に送信後送信フラグをオフにする。ステップS2722では管理サーバー150は操作情報を受信してRAM23のワークエリアに追加し、この操作情報に含まれる選択範囲の文字列を履歴情報920に追加し、ステップS2723(No)を経由して処理をステップS2725に処理を進め、ステップS2725では、RAM23のワークエリアに記憶している操作情報中の選択フラグオンに基づいて検索要求であると判定し(Yes)、次いで処理をステップS2726に進める。ステップS2726では、共通メモリ151を選択範囲の文字列をキーにして検索し、検索にヒットした訳語候補の一覧情報をRAM23のワークエリアに記憶し、処理をステップS2727に進め、ステップS2727では訳語候補の一覧情報をクライアントに送信する。検索処理の詳細は図28で説明する。ステップS2723でファイル操作であると判定した場合、すなわち管理サーバー150のCPU21がRAM22のワークエリアを参照して、操作情報がファイル操作(翻訳ファイルの読み出し要求操作又はファイルの保存要求操作)であることを判定した場合、処理をステップS2724に進める。
ステップS2724では選択された翻訳ファイルをハードディスク28からRAM22のワークエリアに読み出し、次いでクライアントBに送信する。クライアントBはステップS2709で選択を指示した翻訳ファイルと結果メッセージを管理サーバー150より受信し、受信した翻訳ファイルと結果メッセージをRAM22のワークエリアに記憶し、結果メッセージを画面に表示して処理を。図12のステップS1201に戻す。図12のステップS1201ではRAM22に記憶した翻訳ファイルを画面に表示し処理をステップS2702に進める。次にステップS2725で検索要求でないと判定した場合(No)、処理をステップS2728に進める。
ステップS2728では、ステップS2722で受信した情報が報告情報であるかを判定する。クライアント側からの報告情報の送信は図26のステップS2609を参照願う。報告情報であると判定した場合は処理をステップS2729に進め、受信した報告情報を一次確認者が操作するクライアントA及び承認者が操作するクライアントYに送信し、処理をステップS2722に戻す(この部分矢印はフローチャートに不図示)。報告情報でないと判定した場合は処理をステップS2731に進める。
ステップS2731では、ステップS2722で受信した操作情報が置換要求であるかを判定する。置換要求であると判定した場合には、処理をステップS2732に進める。ステップS2732では、置換処理を実行する。具体的には、訳文の現在の語句の選択位置以降に出現する訳文の選択部分を選択された訳語候補で一括置換し、各翻訳者の操作履歴を記憶する履歴情報920(。図28参照)を更新し、クライアントBの訳文表示ウィンドウの選択部分を置換により更新するためのテキスト情報をクライアントBに送信し処理をステップS1222に戻す。ステップS2711ではクライアントBがこのテキスト情報を受信し、訳文表示ウィンドウの範囲指定処理により指定された部分の表示を受信したテキスト情報により更新する。ステップS2731で置換要求でないと判定した場合には、処理をステップS2734に進める。
ステップS2734における設定・データ変換処理は、例えば設定処理では、複数のメモリがある場合の図28に示す各ローカルメモリ940(図27の処理が図12のステップS1208を実行している場合はクライアントBのローカルメモリ125に該当するメモリ、図27の処理が図5のステップS508を実行している場合はクライアントAのローカルメモリ115に該当するメモリ)と共通メモリ151との間の優先順位設定処理や、訳語候補の検索モード等の各種設定処理と、各種データを本システムで内部的に使用するデータフォーマットに変換する変換処理を意味する。変換処理の詳細は後述する図29で説明する。これらの各種処理の後ステップS2735に処理を進め、設定処理又は変換処理の結果メッセージをクライアントに送信し、結果情報待ち状態のクライアントBのステップS2712に処理を進め、クライアントBの画面に結果メッセージを表示する。以上で図27の説明を終わる。
以下ステップ図27のステップS2726(検索処理)及び2732(置換処理)の詳細及び関連部分の説明を図28のフローチャートを用いて説明する。図27のステップS2726は、図12の管理サーバー150側のステップS1226(操作に応じた処理)、又は図5の管理サーバー150側のステップS530に該当する処理である。図28のフローチャートでステップS2801乃至ステップS2806は、一例としてクライアントBのCPU21の制御の下で実行する処理である。ステップS2821乃至ステップS2837は管理サーバー150のCPU21の制御の下で実行する処理である。
ステップS2821では図27のステップS2722でRAM23のワークエリアに記憶されている範囲指定された文字列である原文語句とプロジェクトIDをキーにして履歴情報920を検索し検索結果をRAM23のワークエリアに記憶して、処理をステップS2822に進める。ステップS2822では、RAM23のワークエリアに記憶されている検索結果が検索条件(範囲指定された文字列とプロジェクトID)に対応する場合(検索がヒットした場合)、処理をステップS2826に進める。検索がヒットしない場合(検索条件合致件数が0件である場合)、処理をステップS2823に進める。なお、ステップS2822で検索がヒットした場合でも、処理をステップS2823に進めて、履歴情報920の検索結果と共通メモリ151の検索結果の両方をRAM23のワークエリアに記憶することもできる。ステップS2823では、範囲指定された文字列とプロジェクトIDをキーにして共通メモリ151を検索し検索結果をRAM23のワークエリアに記憶して、検索がヒットした場合、処理をステップS2826に進める。検索がヒットしなければ、処理をステップS2825に進める。ステップS2825では、範囲指定された文字列をキーにして基本辞書データを検索し検索結果をRAM23のワークエリアに記憶して、処理をステップS2826に進める。
ステップS2826では検索がヒットした場合検索結果をメモリ項目の最終使用日・登録日などにより降順にソートしRAM23のワークエリアに記憶し、処理をステップS2827に進める。ステップS2821、ステップS2823、ステップS2825のいずれにおいても、検索がヒットしなかった場合、「範囲指定された文字列に対応する訳語が存在しません」とのエラーメッセージをRAM23のワークエリアに記憶し、処理をステップS2827に進める。ステップS2827ではRAM23のワークエリアに記憶した検索結果又はエラーメッセージを用いてクライアントBの画面に表示するための画面情報を生成して、処理をステップS2828に進め、訳語候補一覧情報(又はエラーメッセージ)としてクライアントBに送信する。ステップS2801ではクライアントBが訳語候補一覧情報(又はエラーメッセージ)を受信し、画面に訳語候補のドロップダウンリストとして表示して、処理をステップS2802に進める。ステップS2802では、検索結果が存在する場合(対応する訳語が存在する場合)は処理をステップS2803に進める。検索結果が存在しない場合(エラーメッセージの場合)又はドロップダウンリストの表示状態を解除する操作を検知した場合は図12のステップS1202に戻る。
ステップS2803ではドロップダウンリストの訳語候補のいずれかが選択された操作があったかを判定して、訳語を選択する操作があった場合は、その操作の内容を示す選択情報(訳語候補そのもの又は訳語候補を特定する情報と、一括置換するか該当箇所のみを個別置換するかの置換区分情報を含む)をRAM23のワークエリアに記憶して処理をステップS2804に進め、選択する操作がなかった場合は処理をステップS2801に戻す。ステップS2804では、選択された訳語を特定するための選択情報を管理サーバー150に送信する。ステップS2829では管理サーバー150選択情報を受信しRAM23のワークエリアに記憶して処理をステップS2830に進める。ステップS2830では、選択情報を用いてRAM23のワークエリアに記憶している訳文の置換処理(一括置換又は個別置換)を行い、処理をステップS2831に進める。ステップS2831では、訳文の置換結果を反映したクライアントBに更新後の訳文を画面表示するための画面情報を送信して処理をステップS2832に進める。クライアントBはステップS2805では受信してRAM23のワークエリアに記憶した画面情報を用いての画面の訳文表示欄を更新し、処理をステップS2806に進める。ステップS2806では、クライアントBのハードディスク28のローカルメモリのステップS2803で選択操作を行ったと判定された訳語の最新使用時刻を更新して処理を図12にステップS1202に戻す。このように管理サーバー150の共通メモリ151を第一優先順位に設定している場合であっても、ローカルメモリの最新使用時刻を更新するのは、通常は共通メモリを使用していてもネットワーク障害等が発生した場合やネットワークに常時接続していない場合を考慮している。
ここで管理サーバー150側の処理の説明に戻る。ステップ2832では、ステップS2829で受信した選択情報により特定される訳語とRAM23のワークエリアに記憶されている範囲指定された文字列である原文語句とプロジェクトIDにより、各クライアント毎の操作情報や選択した訳語等をハードディスク28に記憶する履歴情報920を更新して、処理をステップS2833に進める。ステップS2833では原文語句と選択情報により特定される訳語とを用いて共有メモリ151を検索し、原文語句に対応する訳語を全てRAM23のワークエリアに記憶して、処理をステップS2834に進め、ステップS2834では、選択情報により特定される訳語が区分Mの承認訳語であるかを判断(判断部444)し、承認訳語と一致した場合は、図12のステップS1222に処理を戻す。
選択情報により特定される訳語が承認訳語と一致しない場合は、処理をステップS2835に進め、ステップS2835では承認訳語と一致しない訳語を選択した翻訳者の翻訳者IDと原文語句と選択情報により特定される訳語より、承認訳語と一致しない訳語を使用している旨のメッセージを含む注意情報を生成してRAM23のワークエリアに記憶し、処理をステップS2836に進める。ステップS2836では承認者が操作するクライアントYと一次確認者が操作するクライアントAにこの注意情報を送信してから、処理を図12のステップS1222に戻す。
又ステップS2810又はステップS2813で、クライアントA側でESCキーが押されたと判定した場合は、処理をステップS2814に進め、ステップS2814では、操作情報が管理サーバー150に送信され、折り返し管理サーバー150からは(図27ではステップS2729、ステップS2730で)クライアントの画面を更新させるための画面情報が送信され、ステップS2812ではクライアントAでは画面が更新され原文ウィンドウでドロップダウンリストが消える。以上で図28の説明を終え、図27の説明に戻る。この後、クライアントAのCPU21は処理をステップS2711からステップS501又はステップS1202に戻す。
次に図11のフローチャートについて説明する。図11のフローチャートは、図27のフローチャートの処理のいわゆるスタンドアローン型の変形例である。図11の処理はクライアント側と管理サーバー150側のメモリ登録やメモリ申請などを除いたその他の操作に応じた処理をクライアント側でおこなうものである。図11では、図27のステップS2703及びステップS2722がない他は図27のステップS27XXが、図11のステップS11XXにそれぞれ対応しており、図27のステップS2722乃至ステップS2735が管理サーバー150で実行されるのに対して、図11のステップS1123乃至ステップS1135がクライアントで実行され、仕事が一区切りした段階で作業の成果物である個別登録されたローカルメモリや、追記された翻訳ファイルが管理サーバーにアップロードされる点が異なり、処理の内容は同様であるため、詳細な説明は省略する。この実施形態は管理サーバー150との回線(ネットワーク100)が低速である場合、通常は回線に接続していない状態使う場合等に有用である。以上で図11の説明を終わる。
図29は原文・訳文の同時編集処理の詳細を示す概要図であり図12のステップS1208の一部又は図5のステップS508に該当する処理である。ここでの同時編集処理とは原文と訳文が両方(例えばそれぞれのウィンドウに)表示された状態で所望のどちらかを一連の操作で表示又は(訳文ウィンドウ側を)編集することができるという意味であり、タイミングが「同時」であることを意味しない。
同時編集機能実行時には、ディスプレイ画面には、共通メモリ151から読み出した画面情報(画面のレイアウト情報)を用いて、原文ウィンドウ及び訳文ウィンドウが表示されている。
(1)編集制御部2940はユーザー30によるキーボード26の入力又はマウス27の操作を検知して、操作内容およびマウス27のカーソルの位置情報を用いて、原文ウィンドウに対する編集操作・入力か、訳文ウィンドウに対する編集操作・入力か、又は外部データの読込や保存を命ずるデータ変換操作かを判定し、これら入力又は操作に応じてAdaptor2910によるデータ変換処理を実行させ、又は各種の編集処理を実行する。
(2)判定した操作が外部データの読込操作であった場合、MS-Wordファイル、textファイル、HTMLファイル、PDFファイルなどの一般ファイル2901を、キーボード26又はマウス27の読込データの変換を命じる入力を検知する編集制御部2940を介してAdaptor2910のデータ変換機能により内部モデル2920に変換する。又内部モデル2920をキーボード26又はマウス27の保存を命じる入力を検知する編集制御部2940を介してAdaptor2930のデータ変換機能により翻訳支援システムの専用ファイル2902に変換してハードディスク28の翻訳プロジェクトファイル152の一部として保存する。
(3)同時編集モードでは、編集制御部2940は、原文ウィンドウ及び訳文ウィンドウのどちらに対する編集操作(入力操作、削除・挿入等の修正操作)かを判定して、原文又は訳文のどちらを修正しても、内部モデルに反映し(操作に対応する更新を行い)、それぞれ原文又は訳文に編集操作の結果を反映して原文ウィンドウ表示制御部2950又は訳文ウィンドウ表示制御部2960の表示を更新する。以上で図29の説明を終わる。
図30はTMEモードにおける文節伸縮処理の詳細フローチャートの1例を示す図であり、図27のステップS2707の一部又は図12のステップS1208とステップS1226の一部に該当する処理である。図30の処理はクライアントBのCPU21及び管理サーバー150のCPU21の制御の下で実行する処理である。
ステップS3001では、クライアントB側でTMEモードにおいて、Shift+->/←やCtrl+-> /←操作があったことを検知すると、操作情報(選択範囲の文字と範囲指定操作を行った旨の情報)を管理サーバー150に送信し、管理サーバー150では操作情報をRAM23のワークエリアに記憶し、処理をステップS3002に進める。ステップS3002では、選択範囲の文字をキーにしてメモリ検索を行う。このように選択範囲に応じて検索範囲を調整することができる。検索結果をRAM23のワークエリアに記憶して処理をステップS3003に進める。
以降選択範囲を調整するたびに、ローカルメモリに対してメモリ検索を再度実行し、合致した結果である訳語候補(複数可)をRAM23のワークエリアに記憶する。ステップS3003ではローカルメモリに合致(マッチ)する項目があるかを判定し、合致する項目がある場合は処理をステップS3004に進める。
ステップS3003で合致する項目がない場合は処理をステップS3006に進める。ステップS3004ではRAM23のワークエリアに記憶している合致した項目の情報を保持したまま、処理をステップS3005に進め、ステップS3005では、管理サーバー150では合致した訳語が複数ある場合に、使用日>更新日>使用頻度の順にソートし、ソートした訳語の情報をクライアントBに送信し、クライアントB側では受信した訳語の最上位項目を表示して、処理をステップS3007に進める。ステップS3007では選択範囲の文字をハイライト表示して処理を終了する。ステップS3003で選択範囲にある単語にマッチするローカルメモリ940のメモリ項目がない場合、処理をステップS3006に進め、原文をそのままTMEウィンドゥに表示して処理を終了する。以上で図30の説明を終わる。
図31は図12のステップS1208とステップS1226(図27のステップS2726)に該当するクライアントBと管理サーバー150における全体最長一致検索処理の詳細フローチャートの1例を示す図である。ここでクライアントBは翻訳作業を行っている。ここではクライアントBの優先順位1位のメモリは管理サーバー150の共通メモリ151である。
まずステップS3101では、管理サーバー150が、クライアントBから操作情報として予め受信して管理サーバー150のRAM23のワークエリアに記憶している選択範囲の文字をキーにして、個別登録情報記憶部354のクライアントB分のローカルメモリ940を検索して処理をステップS3102に進める。ステップS3102では、ローカルメモリ940に選択範囲の文字に該当する訳語が記憶されているかを判定し、該当する訳語が記憶されている場合は処理をステップS3103に進め、該当する訳語が記憶されていない場合は処理をステップS3106に進める。
ステップS3103では、選択範囲の文字と検索した結果の訳語(合致するもの全て)とをRAM23のワークエリアに別途記憶し、処理をステップS3104に進める。ステップS3104では、複数の訳語を記憶している場合、使用日>更新日>使用頻度の順にソートして(最適順にソートして)ソートした訳語の情報をクライアントBに送信して、処理をステップS3107に進める。ステップS3107では、選択範囲の文字のうちローカルメモリに合致しない残り部分を新たに選択範囲の文字列としてRAM23のワークエリアに記憶して処理をステップS3102に戻す。
このように一部を置き換えて一部を原文語句のままにした状態Node分解と言う。Node分解とは、例えば原文が“atypical”、メモリには“typical”と「典型的」が記憶されていたとすると、“typical”が「典型的」に置き換えられて「a典型的」となり、「a」と「典型的」の2つのノードに分解される状態になることを言う。他方、ステップS3102で該当する訳語が記憶されていない場合は処理をステップS3106に進め、ステップS3106では、RAM23のワークエリアに記憶されている選択範囲の文字が1文字であるかを判定し、1文字である場合は処理をステップS3105に進め、1文字でない場合は処理をステップS3108に進める。つまり、検索終了条件は切る文字がなくなったタイミングとなる。ステップS3105では、検索文字列は二単語にまたがるケースの場合、Node分解により切られた残りの原文はそのまま表示することになり、処理を終える。他方ステップS3106で選択範囲の文字が1文字でない場合は、ステップS3108に進む。ステップS3108ではRAM23のワークエリアに記憶されている選択範囲の文字を頭から1文字短縮(頭から1文字削除)して処理をステップS3101に戻す。以上で図31の説明を終わる。
[他の実施例1]
本発明の翻訳支援システムの他の実施例を図32のシステム構成図と図33及び図34のフローチャートを用いて説明する。この実施例では、図32に示すように、クライアントAは翻訳者としての役割と承認者としての役割を果たす。従って他の実施例1におけるメモリの登録及び収集処理を示す図33のフローチャートでは、図5のフローチャートと比べて以下の点が異なる。まず、クライアントYが承認を行う図5のステップS561乃至ステップS563に該当する図33の処理ステップがなくなる。図33のフローチャートでは承認者自身がメモリ登録を行っているため改めて承認申請を実行する必要がないためである。更に管理サーバーが実行するメモリ情報を受信した場合にクライアントYに転送するステップS524乃至ステップS527の処理もなくなる。
更に図5のステップS532の訳揺れ検索・通知の詳細処理である、図7の処理では、ステップS722乃至ステップS723、ステップS708乃至ステップS709、ステップS741がなくなり、ステップS721から直接ステップS742に進み、ステップS742乃至ステップS743はクライアントAが実行する点が異なる。
あとはステップ番号が異なることと、一部のステップの実行順が異なるだけで実質的に同じ処理となる。すなわち、図33のステップS3301乃至ステップS3312は、それぞれ図5のステップS501乃至ステップS512に該当する。図33のステップS3321乃至ステップS3323は、それぞれ図5のステップS521乃至ステップS523に該当する。図33のステップS3524は、図5のステップS529に該当する。図33のステップS3325は、図5のステップS528に該当するがステップS3325からステップS3322に戻る点は図5と異なる。図33のステップS3326乃至ステップS3328は、それぞれ図5のステップS530乃至ステップS532に該当する。この実施形態は比較的少人数の翻訳プロジェクトに適している。一次確認者は例えば全くの新規分野の特許の場合など訳語の確定に相当の調査が必要な場合には図32に示すような外部のアドバイザーZや専門家に電話やFAXで問い合わせる、あるいは直接面談することにより、その助言や回答により訳語を確定することができる。
次に他の実施例1におけるメモリの承認申請及びメモリ更新通知処理を示す図34に示すフローチャートでは、図12のフローチャートと比べて以下の点が異なる。まず、図12でクライアントYが実行するステップS1261乃至ステップS1263がなくなり、図12ではクライアントAで実行していたステップS1251乃至ステップS1253は、図34ではステップS3451乃至ステップS3453を承認者が操作するクライアントYが実行する。それに伴い図12のステップS1252が「一次確認入力」であったのに対して、図34のステップS3452では「承認/否認入力」に変わる。同様に図12のステップS1253が「一次確認情報送信」であったのが、図34のステップS3453では「承認情報送信」に変わりる。図12のステップS1227とステップS1228に該当する転送のためのステップが図34の処理では無くなり、図12のステップS1227で実行していた承認申請履歴情報ファイル153への一次確認情報の追加は、図34のS3427で承認申請履歴情報ファイル153への承認情報の追加として実行する。
あとはステップ番号が異なるだけで実質的に同じ処理となる。すなわち、図34のステップS3401乃至ステップS3412は、それぞれ図12のステップS1201乃至ステップS1212に該当する。図34のステップS3421乃至ステップS3426はそれぞれ図12のステップS1221乃至ステップS1226に該当する。図34のステップS3427乃至ステップS3430は、それぞれ図12のステップS1229乃至ステップS1232に該当する。図34のステップS3440乃至ステップS3444は図12のステップS1240乃至ステップS1244に該当する。
但し、図12ではステップS1209乃至ステップS1212はクライアントAとクライアントCとでそれぞれ実行する処理であるが、図34のステップS3409乃至ステップS3412ではクライアントBで実行する処理である点が異なる。また、図12ではステップS1240乃至ステップS1244はクライアントCで実行する処理であるが、図34のステップS3440乃至ステップS3444ではクライアントAとクライアントCとでそれぞれ実行する処理である点が異なる。図34のステップS3451乃至ステップS3453は図12のステップS1251乃至ステップS1253に該当するが、入力内容の意味の違いは既に説明したので省略する。以上で図34の説明を終わると共に他の実施例1の説明を終わる。
[他の実施例2]
図35のシステム構成図を用いて、本発明の変形例について説明する。図35は本発明の翻訳支援システムの変形例のシステム構成図である。図1のシステム構成図との違いは、サーバーが3つに分割されている点にある。すなわち、図1では管理サーバーのハードディスク28に承認申請履歴153と共通メモリ151と翻訳プロジェクトファイル152が記憶され、さらに各アプリケーションプログラムもハードディスク28からRAM23に読み出して実行している。これに対して、図35に示す翻訳支援システムでは、アプリ管理サーバー3530は、ネットワーク100を介してメモリ管理サーバー3520とプロジェクト管理サーバー3540、及び各クライアントと通信可能である。またアプリ管理サーバー3530は、アプリケーションプログラム3531をハードディスク28に記憶しており、アプリケーションプログラム3531をハードディスク28からRAM23に適宜読み出して実行している。更にアプリ管理サーバー3530は、承認申請履歴ファイル153をハードディスク28に記憶しており、各クライアントから受信した操作情報や各種情報に応じて、承認申請履歴ファイル153を検索し、又は新たな訳語承認申請情報を追加する。
また、アプリ管理サーバー3530は、各クライアントから受信した操作情報や各種情報に応じて、メモリ管理サーバー3520の共通メモリ151又は個別メモリ3521の検索要求を送信して、メモリ管理サーバー3520からの検索結果情報を受信し、検索結果情報に応じて次の処理を実行する。メモリ管理サーバー3520の共通メモリ151又は個別メモリ3521に新たなメモリ情報を追加すべく登録情報を送信し、折り返しプロジェクト管理サーバー3540から登録結果情報(登録成功/登録失敗)を受信し、受信した登録結果情報に応じて例えば通知処理等の次のステップの処理を実行する。あるいはこれらのメモリ中の既存のメモリ情報を更新する。
同様にアプリ管理サーバー3530は、各クライアントから受信した操作情報や各種情報に応じて、プロジェクト管理サーバー3540の翻訳プロジェクトファイル152の検索要求をプロジェクト管理サーバー3540に送信し、プロジェクト管理サーバー3540から検索結果情報を受信する。又はアプリ管理サーバー3530は、プロジェクト管理サーバー3540の翻訳プロジェクトファイル152に新たな情報を追加すべく登録情報を送信し、折り返しプロジェクト管理サーバー3540から登録結果情報(正常終了/異常終了)を受信し、受信した登録結果情報に応じて次のステップの処理を実行する。あるいはアプリ管理サーバー3530は、プロジェクト管理サーバー3540の翻訳プロジェクトファイル152の既存の情報を更新すべく更新情報を送信し、プロジェクト管理サーバー3540は翻訳プロジェクトファイル152の既存の情報を更新する。折り返しアプリ管理サーバー3530は、折り返しプロジェクト管理サーバー3540から更新結果情報(更新成功/更新失敗)を受信し、受信した更新結果情報に応じて次のステップの処理を実行する。
要するにアプリ管理サーバー3530は、3つのサーバーのコントロールタワーとなり、メモリ管理サーバー3520とプロジェクト管理サーバー3540とは、ネットワーク100を介していわば別々のネットワークエアストレージとして機能するに過ぎない。またメモリ管理サーバー3520とプロジェクト管理サーバー3540とを1つの筐体として構成することも本発明に含まれる。フローチャート上では、元々の実施例の管理サーバー150の各ファイルの検索や追加・更新処理の際に、この変形例では、アプリ管理サーバー3530と、メモリ管理サーバー3520又はプロジェクト管理サーバー3540との間に、各種要求情報(検索要求、情報追加要求、情報更新要求)又は各種結果情報(検索結果、登録結果、更新結果)のネットワーク100を介した送受信のステップが加わる点が異なり、その他の部分では、実質的に変わりは無い。
更に承認申請履歴ファイル153をアプリ管理サーバー3530以外の申請履歴管理サーバー(不図示)のハードディスク28に記憶する構成も本発明に含まれる。この場合も、アプリ管理サーバー3530と、申請履歴管理サーバーとの間に、各種要求情報(検索要求、情報追加要求、情報更新要求)又は各種結果情報(検索結果、登録結果、更新結果)のネットワーク100を介した送受信のステップが加わる点が異なり、その他の部分では、実質的に変わりは無い。以上で他の実施例2の説明を終わる。
[他の実施例3]
図36のシステム構成図を用いて、本発明の別の変形例について説明する。図36は本発明の翻訳支援システムの変形例のシステム構成図である。図1のシステム構成図との違いは、サーバーが3つに分割されており、かつクライアントAは一次確認者ではなく、翻訳専任者が操作するクライアントである点にある。この2つの差異点については、既に他の実施例1と他の実施例2で説明しており、他の実施例3ではこれらを組み合わせたに過ぎず、説明済みの各フローチャートとの差異も既にそれぞれ説明しており、承認処理におけるクライアントAと管理サーバー150のやりとりのステップがない点、アプリ管理サーバー3530と他の2サーバーとのやり取りのステップがある点は同様なので詳細は省略する。以上で他の実施例3の説明を終わる。
[他の実施例4]
上述の図7のステップS703、ステップS711、図10のステップS1002では、自己登録分のメモリ個別登録情報記憶部354に新規に個別登録された原文語句とその原文語句に対応する訳語を用いて、段落番号と文番号をベースにして、文の分割の有無の判断を含めて対応する存在する文を特定し、更に公知の形態素解析の手法を用い、原文全体で個別登録した原文語句があるか、更にはその原文語句に対応する個別登録した訳語が存在するかを検索して訳揺れのチェックをするようにしている。しかしこの方法では、原文と訳文のそれぞれに段落番号が付されていることが前提となっており、顧客が提供する原文に段落番号が付されていない場合はマクロ等のプログラムにより段落番号を付す必要があるという短所がある。その反面各翻訳者が個別登録情報記憶部354又は各クライアントのローカルメモリに登録しない場合(典型的にはメモリ登録操作をしないで直接訳文に訳語を入力した場合)でも訳揺れを検知できるという長所を有する。
この方法に変えて、単に各翻訳者の個別登録メモリの原文語句と原文語句に対応する訳語を共通メモリ151の同一の原文語句とその原文語句に対応する訳語と一致するか比較して、同一の原文語句に対してある個別登録メモリの訳語が共通メモリ151と一致しない場合に訳揺れとして通知情報を送信する実施形態も可能である。またある翻訳者の個別登録メモリの原文語句と原文語句に対応する訳語を共通メモリ151だけではなく、他の全ての翻訳者の個別登録メモリと比較する方法も可能である。これらの方法では精度はやや落ちるが処理の負荷は軽減される。また、文単位で比較せずに、段落番号単位で原文語句に対応する訳語が存在しない場合に訳揺れとして通知情報を送信する実施形態も可能であり、この方法によれば、文の分割判定も不要になる。これらのうちの少なくともいずれか1つの訳揺れの判定方法を用いた翻訳支援システム等も本発明に含まれる。
[他の実施例5]
以下他の実施例5として、ステップ図27のステップS2726(検索処理)及び2732(置換処理)の詳細及び関連部分の変形例の説明を図37のフローチャートを用いて説明する。この図37のフローチャートは図28のフローチャートの変形例であり、図28において管理サーバー150で実行していた一部の処理をクライアント側に移したに過ぎない。図37のクライアント側の処理であるステップS3701乃至ステップS3706は、それぞれ図28のステップS2801乃至ステップS2806に該当する処理である。図37の管理サーバー150側の処理であるステップS3721乃至ステップS3732は、それぞれ図28のステップS2821乃至ステップS2832に該当する処理である。
図37の処理と図28の処理の差異点はクライアント側のステップS3707で共通メモリ151の検索要求を管理サーバー150に送信し、管理サーバー150がステップS3733で共通メモリ151の検索を実行し、折り返し検索結果をクライアントに送信して処理をステップS1222に戻す点と、クライアント側はステップS3707で検索結果を受信して、処理をステップS3708に進め、以降ステップS3708乃至ステップS3710では、図28では管理サーバー150が実行してるステップS2834乃至ステップS2836を実行してから処理をステップS1202に戻す点が異なるだけであるため詳細な説明は省略する。なおクライアントからの注意情報の送信は管理サーバー150経由で一次確認者が操作する場合のクライアントAとクライアントYに送信するが、直接クライアントAとクライアントYに送信してもよく、いずれか1つのクライアントに送信しても良い。
[他の実施例6]
以上の各実施例で説明した本発明は管理サーバー150又はアプリ管理サーバー3530及び各クライアントを制御する、図5乃至図7及び図9乃至図15、図17、図19、図21、図25乃至図31、図33乃至図34、図37に記載の各フローチャートを実行する各アプリケーションプログラム及び図8、図16、図18、図20と図22乃至図24に示すクライアント画面に表示するためのHTMLの画面情報を記憶媒体や通信回線を介した通信媒体で、管理サーバー150及び各クライアントに提供して実行した場合や、又は単体のパソコンや端末でこの制御プログラムを実行した場合(いわゆるスタンドアローン型)も含み、この場合にはクライアントと管理サーバー150間の通信の各ステップは、いわゆるプロセス間通信の通信ステップに置き換わって実行することができる。あるいはこれらの通信の各ステップを省略して、単一プロセスとして実行することも可能である。
[他の実施例6]
上述の実施例では(例えばマウス左ボタンダウンと右方向(原文が縦表示なら下方向)へのドラッグと左ボタンアップで表示を反転させた部分を選択範囲(スコープ)とし、その選択範囲に応じた全体最長一致検索を実行して、対応する訳語をドロップダウンリストに一つ又は複数(該当がない場合は原文の選択範囲の語句)を表示している。ドロップダウンリストでの訳語候補の表示は選択範囲が延びるにつれて、その都度全体最長一致検索を行い、合致した訳語候補を表示しているが、該当する訳語候補を累積的に表示することも可能である。すなわち、RAM23のワークエリアにドラッグ操作の各位置での最長一致検索で該当する訳語をすべて記憶しておき、ドロップダウンリストで全て表示させることも可能である。
この場合ドラッグ操作により、カーソル位置(1)の最長一致検索で訳語候補Aと訳語候補Bがヒットし、引き続きドラッグ操作を行いカーソル位置(2)の最長一致検索で訳語候補Cと訳語候補Dがヒットした場合、訳語候補Cと訳語候補Dと訳語候補Aと訳語候補Bがドロップダウンリストに表示される。ここでは後からヒットした訳語候補Cと訳語候補Dが上に表示され、訳語候補Aと訳語Bはその下に表示される(RAM23のワークエリアから逆順に読み出す)。勿論ドロップダウンリストで訳語候補Aと訳語Bを上に表示し、訳語候補Cと訳語候補Dをその下に表示することも可能である。ここでの訳語候補A乃至訳語候補Dは一つの単語でもよいし、(句、節を含む)複数語から構成されてもよい。
[他の実施例7]
選択範囲のスコープ(反転表示範囲)に合わせてスコープの最初の選択位置からの前方最長一致検索でヒットした訳語候補をRAM23のワークエリアに記憶し、ドロップダウンリストに複数表示(選択位置を拡大するに従って複数表示)させるようにする。全体の表示数は例えば40個(40行)とし、選択範囲を左から右に伸ばした時点で新たにヒットした訳語候補をドロップダウンリストの上に表示し、40個を超えた古い訳語候補は非表示にする。この40個は所定の数値範囲(例えば最大100個以内)で設定変更することができ、この設定値は各クライアントのハードディスク28のクライアントアプリケーション用フォルダ内の設定情報ファイルの一部として記憶される。
[他の実施例8]
ドロップダウンリストでの訳語候補の表示は選択範囲が延びるにつれて、その都度全体最長一致検索を行い、合致した訳語候補を表示しているが、選択範囲の指定タイミングに応じて(例えばマウスのドラッグ操作の動きに応じて)メモリ検索を再実行する構成も可能である。すなわち例えば、原文の特定の位置でマウスの左ボタンを押下して選択範囲の始点を指定し、次にマウスを右方向にドラッグ操作する、ドラッグの動きが所定時間(例えば0.5秒以上)停止した場合に、メモリ検索を再実行し、該当する訳語候補を表示することも可能である。
すなわち、マウスのドラッグ操作によるカーソル位置を検知し、所定時間カーソル位置が変らなかった又は一定値(例えばX座標とY座標の変化が5以下)以下しか変化しなかった場合停止したと判定するステップを追加し、停止判定=Yesの場合のみメモリ検索を実行するようにすることで実現できる。この場合も直前のメモリ検索でヒットした訳語候補だけをドロップダウン表示させることができるし、他方RAM23のワークエリアにドラッグ操作の各位置での最長一致検索で該当する訳語をすべて記憶しておき、ドロップダウンリストで全て表示させることも可能である。これらの所定時間や座標変化の一定値もハードディスク28のクライアントアプリケーション用フォルダ内の設定情報ファイルの一部として記憶される。
[他の実施例9]
以上の各実施例で説明した本発明は管理サーバー150又はアプリ管理サーバー3530及び各クライアントを制御する、図5乃至図7及び図9乃至図15、図17、図19、図21、図25乃至図31、図33乃至図34、図37に記載の各フローチャートを実行する各アプリケーションプログラム及び図8、図16、図18、図20と図22乃至図24に示すクライアント画面に表示するためのHTMLの画面情報を記憶媒体や通信回線を介した通信媒体で、管理サーバー150及び各クライアントに提供して実行した場合や、又は単体のパソコンや端末でこの制御プログラムを実行した場合(いわゆるスタンドアローン型)も含み、この場合にはクライアントと管理サーバー150間の通信の各ステップは、いわゆるプロセス間通信の通信ステップに置き換わって実行することができる。あるいはこれらの通信の各ステップを省略して、単一プロセスとして実行することも可能である。これらのフローチャートに記載の制御プログラムを実行する各制御ステップを管理サーバー150及び各クライアント、又は単体のパソコン(PC)で実行し画面を表示させる制御方法も本発明に含まれる。
一例を挙げれば、承認者が操作するクライアントAの処理と管理サーバー150の処理を同一ハードウェアで実行する場合も本発明に含まれる。この場合、前述の各フローチャートにおけるクライアントAと管理サーバー150との間のネットワーク100を経由したメッセージのやり取りは、例えばクライアントAと管理サーバー150との間のプロセス間通信として置き換えられる。またこれらの制御プログラム及び画面を表示させるための情報を記憶したコンピュータ可読の記憶媒体も、この記憶媒体を管理サーバー150及び各クライアント、又は単体のパソコン(PC)に読み込ませて制御プログラムを実行することにより本発明を実施するものであり、これらの制御プログラム及び画面を表示させる情報を記憶したコンピュータ可読の記憶媒体自体も本発明に含まれる。
<付記的記載>
複数のサーバーと、複数のクライアントが通信回線を介して通信可能な翻訳支援システムのアプリ管理サーバーであって、
前記サーバーは、
少なくとも翻訳すべき原文と前記原文に対応する訳文とをプロジェクト単位で記憶する翻訳プロジェクト記憶手段と前記翻訳プロジェクト記憶手段を検索するプロジェクト検索手段とを備えたプロジェクト管理サーバと、
前記各クライアントが共通して使用可能な記憶手段であって、少なくとも原文語句と前記承認者によって承認された前記原文語句に対応する承認訳語とを記憶する共通記憶手段と前記共通記憶手段を検索する共通検索手段と前記共通記憶手段に前記原文語句と前記承認語句とを登録する共通登録手段とを備えたメモリ管理サーバーとを含み、
前記クライアントは、特定の原文語句の訳語の承認を承認者に申請する申請元の翻訳者により操作される申請元クライアントと、前記承認者により操作される承認者クライアントとを含み、
前記アプリ管理サーバは、
前記クライアントから受信した検索要求を用いて、前記プロジェクト管理サーバーの前記プロジェクト検索手段へ検索を要求するか又は前記メモリ管理サーバーの前記共通検索手段に検索を要求する検索要求手段と、
前記プロジェクト管理サーバー又は前記メモリ管理サーバーから受信した検索結果情報を、前記検索要求を受信した前記クライアントへ転送する検索結果転送手段と、
前記クライアントから受信した前記原文語句と前記承認語句との登録を要求する情報をメモリ管理サーバーに対して送信する登録要求手段と、
前記申請元クライアントから受信した少なくとも原文語句を含む訳語承認申請情報を、前記承認者クライアントに転送する転送手段と、
前記承認者クライアントから受信した少なくとも前記訳語承認申請情報に応じた承認可否情報と前記原文語句に対応した訳語である承認訳語とを含む承認結果情報を記憶する承認申請履歴記憶部と、
前記承認可否情報に応じた通知メッセージ情報を記憶する通知記憶手段と、
前記承認可否情報に応じて、前記承認者クライアント以外のクライアントへの通知の要否と前記記憶手段に記憶されたいずれの通知メッセージ情報を各クライアントに通知すべきかを判断する通知判断手段と、
前記判断手段の判断に応じて、通知を要と判断された1つ又は複数のクライアントに対し、各通知を要と判断されたクライアントに応じた前記通知メッセージ情報と前記原文語句と前記承認訳語とを含む通知情報を送信するための通知情報生成手段とを備えることを特徴とする図35に示すアプリ管理サーバー。前記承認者クライアントは一次確認者に操作される一次確認者クライアントと承認者により操作される承認者クライアントとを含み、
前記サーバは、前記一次確認者クライアントから受信した前記承認候補訳語と前記承認者クライアントから受信した前記承認訳語とが一致しない場合に、前記承認者クライアントから受信した前記承認訳語を前記一次確認者クライアントに転送する確認依頼手段を更に備えることを特徴とするアプリ管理サーバ。