(57)【要約】【課題】文字列の誤りを発見した場合等に当該文字列の格納位置を出力する装置等を提供すること。【解決手段】装置１が有する割当て部１１は、検証対象文字列に対してＩＤを割り当て、マッピング・ファイル生成部１２は、ＩＤと検証対象文字列の位置を示す位置データとを対応付けたマッピング・ファイル２２を生成する。また、装置１が有するエンコード部１３は、ＩＤをゼロ幅の文字列にエンコードし、文字列連結部１４は、ゼロ幅の文字列を検証対象文字列に連結する。更に、装置１が有するデコード部１６は、検証対象文字列出力部１５により表示された検証対象文字列の選択を受け付けてＩＤにデコードし、抽出部１７は、デコードされたＩＤに基づき、マッピング・ファイル２２から位置データを抽出する。最後に、装置１が有するマッピング・データ出力部１８は、抽出した位置データを含むマッピング・データを表示する。【選択図】図２
2008257478.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアで出力する検証対象文字列の格納位置を出力する装置であって、
前記装置は、制御部と、入力部と、表示部と、を備え、
前記制御部は、
前記検証対象文字列の各々に対してＩＤを割り当てる割当て部と、
割り当てられた前記ＩＤに対応した前記検証対象文字列を有するテキスト・リソース・ファイル及び前記テキスト・リソース・ファイル内の前記検証対象文字列の位置に関する位置データと、割り当てられた前記ＩＤと、を対応付けたマッピング・ファイルを生成するマッピング・ファイル生成部と、
割り当てられた前記ＩＤを、ユーザが視認不可なゼロ幅の文字列にエンコードするエンコード部と、
エンコードされた前記ゼロ幅の文字列を、前記ＩＤに対応する前記テキスト・リソース・ファイルの検証対象文字列に連結する文字列連結部と、
前記テキスト・リソース・ファイルを用いて、前記ゼロ幅の文字列を含む前記検証対象文字列を前記表示部に出力する検証対象文字列出力部と、
表示された前記ゼロ幅の文字列を含む前記検証対象文字列に対する検証者からの選択入力を前記入力部から受け付けたことに応じて、エンコードされた前記ゼロ幅の文字列を、前記ＩＤにデコードするデコード部と、
デコードされた前記ＩＤに基づき、前記マッピング・ファイルから前記位置データを抽出する抽出部と、
抽出した前記位置データを含むマッピング・データを前記表示部に出力するマッピング・データ出力部と、を有する装置。
【請求項２】
前記ゼロ幅の文字列は、画面に表示されない文字制御コードを用いて行う、請求項１記載の装置。
【請求項３】
前記ＩＤは整数値であり、
前記エンコード部は、予め定めた基数に基づき前記ＩＤを変換する、請求項２記載の装置。
【請求項４】
前記ＩＤは整数値であり、
前記エンコード部は、前記ＩＤの整数値の大きさにより基数を決定し、
決定した前記基数に基づき前記ＩＤを変換する、請求項２記載の装置。
【請求項５】
変換した前記ＩＤは、
文字の始まりを示す開始文字と、
前記基数を示す数だけ文字を並べる桁区切り文字と、
桁ごとに数値の分だけ文字を並べる桁文字と、
文字の終了を示す終了文字と、からなり、
前記桁区切り文字は、桁ごとの区切りを示す文字として前記桁文字の前に挿入される、請求項４記載の装置。
【請求項６】
前記開始文字と前記終了文字とは同一文字からなる、請求項５記載の装置。
【請求項７】
前記テキスト・リソース・ファイルは、前記装置または前記装置とネットワークを介して接続された外部記憶装置に記憶され、
前記テキスト・リソース・ファイルは、前記検証対象文字列に対応するキーを有する、請求項１記載の装置。
【請求項８】
前記検証対象文字列に対応する前記キーと同一のキーを有する前記テキスト・リソース・ファイルとは異なる他のテキスト・リソース・ファイルを検索する検索部を有し、
前記表示部は、前記検証者からの選択入力を前記入力部から受け付けたことに応じて、前記テキスト・リソース・ファイルの属性情報と、検索された前記他のテキスト・リソース・ファイルの属性情報と、を対比して表示する、請求項７記載の装置。
【請求項９】
前記装置または前記外部記憶装置は、前記ソフトウェアで出力する他の文字列及び前記他の文字列に対応するキーを有する対応ファイルを更に記憶しており、
前記表示部は、前記検証者からの選択入力を前記入力部から受け付けたことに応じて、前記テキスト・リソース・ファイルの属性情報と、前記テキスト・リソース・ファイルと同一のキーを有する前記対応ファイルの属性情報と、を対比して表示する、請求項７記載の装置。
【請求項１０】
前記表示部は、前記ソフトウェアにより呼び出されて前記テキスト・リソース・ファイルを使用するプログラム・モジュールを更に表示する、請求項１記載の装置。
【請求項１１】
前記検証対象文字列出力部は、検証用のソフトウェアを起動させることにより、前記ゼロ幅の文字列を含む前記検証対象文字列を前記表示部に出力する、請求項１記載の装置。
【請求項１２】
前記検証者からの選択入力に用いるキー操作を、予め前記検証用のソフトウェアの動作として割り当てられていないキー操作から割り当てる、請求項１１記載の装置。
【請求項１３】
前記表示部は、前記ソフトウェアが有するグラフィカル・ユーザ・インタフェースの画面を表示する、請求項１記載の装置。
【請求項１４】
前記検証対象文字列は翻訳文字列を含む、請求項１記載の装置。
【請求項１５】
ソフトウェアで出力する検証対象文字列の格納位置を出力する方法であって、
前記検証対象文字列の各々に対してＩＤを割り当てるステップと、
割り当てられた前記ＩＤに対応した前記検証対象文字列を有するテキスト・リソース・ファイル及び前記テキスト・リソース・ファイル内の前記検証対象文字列の位置に関する位置データと、割り当てられた前記ＩＤと、を対応付けたマッピング・ファイルを生成するステップと、
割り当てられた前記ＩＤを、ユーザが視認不可なゼロ幅の文字列にエンコードするステップと、
エンコードされた前記ゼロ幅の文字列を、前記ＩＤに対応する前記テキスト・リソース・ファイルの検証対象文字列に連結するステップと、
前記テキスト・リソース・ファイルを用いて、前記ゼロ幅の文字列を含む前記検証対象文字列を出力するステップと、
表示された前記ゼロ幅の文字列を含む前記検証対象文字列に対する検証者からの選択入力を受け付けたことに応じて、エンコードされた前記ゼロ幅の文字列を、前記ＩＤにデコードするステップと、
デコードされた前記ＩＤに基づき、前記マッピング・ファイルから前記位置データを抽出するステップと、
抽出した前記位置データを含むマッピング・データを出力するステップと、を含む方法。
【請求項１６】
ソフトウェアで出力する検証対象文字列の格納位置を出力するコンピュータにおいて実行されるコンピュータ・プログラムであって、
前記コンピュータに、
前記検証対象文字列の各々に対してＩＤを割り当てるステップと、
割り当てられた前記ＩＤに対応した前記検証対象文字列を有するテキスト・リソース・ファイル及び前記テキスト・リソース・ファイル内の前記検証対象文字列の位置に関する位置データと、割り当てられた前記ＩＤと、を対応付けたマッピング・ファイルを生成するステップと、
割り当てられた前記ＩＤを、ユーザが視認不可なゼロ幅の文字列にエンコードするステップと、
エンコードされた前記ゼロ幅の文字列を、前記ＩＤに対応する前記テキスト・リソース・ファイルの検証対象文字列に連結するステップと、
前記テキスト・リソース・ファイルを用いて、前記ゼロ幅の文字列を含む前記検証対象文字列を出力するステップと、
表示された前記ゼロ幅の文字列を含む前記検証対象文字列に対する検証者からの選択入力を受け付けたことに応じて、エンコードされた前記ゼロ幅の文字列を、前記ＩＤにデコードするステップと、
デコードされた前記ＩＤに基づき、前記マッピング・ファイルから前記位置データを抽出するステップと、
抽出した前記位置データを含むマッピング・データを出力するステップと、を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアで出力する検証対象文字列の格納位置を出力する装置、方法、及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータ技術が発達した今日において、ソフトウェア製品は、世界中の様々な国で用いられており、汎用的なソフトウェア製品が作成されている。ここで、例えば、英語でソフトウェア製品を作成した場合には、他の言語として日本語を母国語として用いる日本のような国においても、ユーザ・インタフェース部分に関して英語が表示される。すると、ユーザにとっては、表示された意味が即座に理解できず、ソフトウェア製品が使いづらいものとなってしまう。そのため、ユーザ・インタフェース部分に関して、他の言語で表示可能とする仕組みを用いることが行われている。この仕組みは、もとになるソフトウェアの言語を他の言語に翻訳した翻訳ファイルを予め作成し、この翻訳ファイルをソフトウェア製品が用いることにより、ユーザ・インタフェース部分に関して他の言語で表示できようにするものである。このような仕組みを用いれば、どの国の言語に対しても、ソフトウェアに対応した翻訳ファイルをそれぞれ用意するだけで、他の言語によるユーザ・インタフェースとすることができ、ソフトウェア自体を汎用的に使用することができる。この翻訳ファイルは、ソフトウェアの作成者ではなく、翻訳者が行うことが多く行われている。しかし、翻訳者は、翻訳を担当したソフトウェア製品に関する知識を有しているとは限られず、必ずしもそのソフトウェア製品に関して詳しいわけではない。そのため、翻訳においてしばしば誤訳が生じる現実がある。
【０００３】
そして、このような翻訳の誤訳は、実際にソフトウェア製品に関するテストを行う者（テスターともいう）により発見される。そして、テスターが誤訳を発見した場合に、テスターから翻訳者に誤訳箇所や内容が伝達され、翻訳者がソフトウェア製品の誤訳を修正することが行われている。しかし、今般のソフトウェア製品の高度化及び複雑化により、ソフトウェア製品の規模が大きくなっており、このようにソフトウェア製品の規模が大きくなるにつれ、テスターが誤訳を発見してから翻訳者がソフトウェア製品を修正するまでに多くの時間を要してしまうようになった。例えば、Ｒａｔｉｏｎａｌ  Ｓｏｆｔｗａｒｅ
Ｄｅｖｅｌｏｐｍｅｎｔ  Ｐｌａｔｆｏｒｍ（ＳＤＰ）のｖ６での翻訳ファイル数は、１言語あたり１５００以上あり、この中から誤訳と判明したユーザ・インタフェースに対応する翻訳ファイルを特定するには、テスター及び開発者双方にとって非常に時間がかかるものとなっている。
【０００４】
このような問題を解決するために、翻訳ファイルを作成する方法として、特許文献１では、翻訳文を原文と関連付けた翻訳支援データベースを準備しておき、特に翻訳支援データベースに格納された翻訳者が過去に翻訳した翻訳文を再利用することにより、翻訳対象となる文書を翻訳する工程を効率化する翻訳支援装置が開示されている。
【特許文献１】特開２００３−９９４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、過去に翻訳していないものには当該方法が当然適用されないものであるため、一切の誤訳を発生させないことは不可能である。そのため、誤訳を発見してから修正する作業の効率化が求められるが、そのような方法は開示されていない。よって、数千から数万のオーダーのファイル量である膨大な翻訳ファイルから誤訳箇所を特定するのは煩雑で
あるという問題がある。また、このような問題は、誤訳に限られず、他の文字列の誤りについても同様である。
【０００６】
本発明は、文字列の誤りを発見した場合等に当該文字列の格納位置を出力する装置、方法、及びコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の１つの態様では、以下のような解決手段を提供する。
【０００８】
本発明の第１の形態によると、ソフトウェアで出力する検証対象文字列の格納位置を出力する装置を提供する。当該装置は、制御部、入力部、及び表示部を備えており、割当て部は、検証対象文字列の各々に対してＩＤを割り当てる。ＩＤは、例えば１からの連続番号等の一意に定まるコードであれば何でもよいが、整数値であることが望ましい。次にマッピング・ファイル生成部が、割り当てられたＩＤと、検証対象文字列を有するテキスト・リソース・ファイルに関する位置データとを対応付けた、マッピング・ファイルを生成する。テキスト・リソース・ファイルとは、テキスト形式のリソース・ファイルであり、ソフトウェアで参照されるファイルである。例えば、Ｊａｖａ（登録商標）のプロパティ・ファイルや、Ｗｉｎｄｏｗｓ（登録商標）のｒｃファイル（リソース・スプリクト・ファイル）が該当する。位置データとは、検索対象文字列を有するテキスト・リソース・ファイルの位置（ディレクトリを含むファイルの絶対パス）、及びテキスト・リソース・ファイル内の検索対象文字列の位置であり、例えば、検索対象文字列に対応するキーや、検索対象文字列の記載された行番号等を示す。次にエンコード部は、ＩＤを、ユーザが視認不可なゼロ幅の文字列にエンコードする。次に文字列連結部は、エンコードされたゼロ幅の文字列を、ＩＤに対応するテキスト・リソース・ファイルの検証対象文字列に連結する。連結とは、検証対象文字列に続けてエンコードされたゼロ幅の文字列を記述することを示し、元のテキスト・リソース・ファイルを追加更新することにより実現してもよいし、新たなテキスト・リソース・ファイルを生成してもよい。次に検証対象文字列出力部は、テキスト・リソース・ファイルを用いて、ゼロ幅の文字列を含む検証対象文字列を表示部に出力する。次にデコード部は、表示されたゼロ幅の文字列を含む検証対象文字列に対する検証者からの選択入力を入力部から受け付けたことに応じて、エンコードされたゼロ幅の文字列を、ＩＤにデコードする。次に抽出部は、デコードされたＩＤに基づき、マッピング・ファイルから位置データを抽出する。最後にマッピング・データ出力部は、抽出した位置データを含むマッピング・データを表示部に出力する。
【０００９】
本発明の第２の形態によると、ゼロ幅の文字列は、画面に表示されない文字制御コードを用いて行う。文字制御コードは、ＵｎｉｃｏｄｅやＥＵＣ等の既存の文字コードのうち、例えば、文字の表示を制御する文字コードを示す。また、エンコード部は、予め定めた整数値である基数に基づきＩＤを変換する。基数を予め定めることにより、エンコードに用いる文字数には基数の値に関する記述を行うことなく、文字数を最小限にすることができる。その他には、エンコード部は、整数値であるＩＤの値の大きさにより基数を決定し、決定した基数に基づきＩＤを変換する。この場合には、変換したＩＤは、文字の始まりを示す開始文字と、基数を示す数だけ文字を並べる桁区切り文字と、桁ごとに数値の分だけ文字を並べる桁文字と、文字の終了を示す終了文字と、からなり、桁区切り文字は、桁ごとの区切りを示す文字として桁文字の前に挿入される。このようにすることで、ＩＤの値の大きさにより基数を最適化することができる。更に、開始文字と終了文字とは同一文字とすることで、エンコードに用いる文字コードの種類を抑えてＩＤを変換することができる。
【００１０】
本発明の第３の形態によると、当該装置または当該装置とネットワークを介して接続された外部記憶装置にテキスト・リソース・ファイルを記憶する。また、テキスト・リソー
ス・ファイルは、検証対象文字列に対応するキーを有する。そして、当該装置は、検証対象文字列に対応するキーと同一のキーを有する他のテキスト・リソース・ファイルを検索する検索部を有し、表示部は、検証者からの選択入力を入力部から受け付けたことに応じて、テキスト・リソース・ファイルの属性情報と、検索された他のテキスト・リソース・ファイルの属性情報と、を対比して表示する。その他には、当該装置または外部記憶装置は、ソフトウェアで出力する他の文字列及び他の文字列に対応するキーを有する対応ファイルを記憶することにより、表示部は、テキスト・リソース・ファイルの属性情報と、テキスト・リソース・ファイルと同一のキーを有する対応ファイルの属性情報と、を対比して表示する。
【００１１】
本発明の第４の形態によると、表示部は、ソフトウェアにより呼び出されてテキスト・リソース・ファイルを使用するプログラム・モジュールを更に表示する。プログラム・モジュールとは、テキスト・リソース・ファイルの呼び出し元のコンピュータ・プログラムであり、例えば、Ｊａｖａ（登録商標）であればクラスファイルが該当する。また、ゼロ幅の文字列を含む検証対象文字列を、検証用のソフトウェアを起動させることにより表示部に出力する。そして、検証者からの選択入力に用いるキー操作を、予め検証用のソフトウェアの動作として割り当てられていないキー操作から割り当てる。そのようにすることで、通常のソフトウェアの動作を検証しつつ、文字列の誤りを発見した際には、簡易な操作によって、マッピング・データを表示することができる。また、表示部は、ソフトウェアが有するグラフィカル・ユーザ・インタフェースの画面を表示してもよい。そのようにすることで、ユーザが、一見して容易に知りたい情報を得ることができる。また、検証対象文字列は翻訳文字列を含むものとしてもよい。そのようにすることで、翻訳の誤りに対して、本発明を使用することができる。
【００１２】
また、本発明は、別の態様として、方法、あるいはコンピュータにおいて実行されるコンピュータ・プログラムとしても提供できる。
【００１３】
本発明の利点は以下のとおりである。
【００１４】
第１に、検索対象文字列のテキスト・リソース・ファイルの位置データと、ＩＤとを対応付けたマッピング・ファイルを生成する。そして、テキスト・リソース・ファイルは、検索対象文字列にＩＤを連結したものとする。したがって、例えば、誤訳のメッセージを発見した際には、検索対象文字列に連結して記述されたＩＤから、マッピング・ファイルを用いて記述場所を特定できる。よって、誤訳のメッセージが、どのファイルのどの場所に記述されているかを追跡することを簡便に行うことができる。
【００１５】
第２に、ＩＤはユーザが視認不可なゼロ幅の文字列にエンコードされて、検索対象文字列に連結して追加している。したがって、ＩＤを追加することによっても、画面表示がずれることがない。よって、起動したソフトウェアの操作性を損なうことなく、ＩＤを追加することができる。
【００１６】
第３に、ＩＤをエンコードする方法として、基数にしたがって変換することにより、少ない文字コードの種類でエンコードをすることができる。そのため、ユーザの視認不可なゼロ幅の文字列として最小限の種類の文字コードを用意することで、本発明の機能を実現することができる。また、基数を、ＩＤの値の大きさに応じて決定することにより、最適化した基数を用いてＩＤをエンコードすることができる。
【発明の効果】
【００１７】
本発明によれば、文字列の誤りを発見した場合等に当該文字列の格納位置を出力する装置、方法、及びコンピュータ・プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明に係る好適な実施形態の一例について、図面に基づいて以下に説明する。
【００１９】
［現状の処理手順］
図１は、現状のソフトウェア製品に関する翻訳の誤りを修正する流れの概要を示す図である。
【００２０】
まず、ソフトウェア作成者がソフトウェアを作成する。作成したソフトウェアは、例えば、ユーザ・インタフェースが英語で表示されるものである（図１の（ａ））。次に、翻訳者は、翻訳ファイルを作成する。翻訳ファイルとは、ソフトウェアのユーザ・インタフェースで、例えば、英語で表示されているものを日本語に表示させるためのものであり、ソフトウェアで使用する文字列と、そのキーとを対応付けたテキスト・リソース・ファイルである。図１の（ｂ）の例では、ユーザ・インタフェースとして「Ｆｉｌｅ」と表示される部分を、翻訳ファイルを使用することにより「フアイル（Ｆ）」と表示させることを示している。
【００２１】
翻訳ファイルが作成できると、次に、テスターは、ソフトウェアの動作確認や表示確認のテストを行う。この例であれば、翻訳ファイルの作成の誤りにより「ファイル」が「フアイル」と表示されており、「ア」の文字の大きさが間違っている。このように、テスト中に翻訳の誤りを発見すると（Ｓ１）、テスターは、誤りが特定できるようにレポートを作成する（Ｓ２）。レポートは、例えば、発見した誤訳の場所が特定できるように、手順を段階的にレポート形式で記述するものである（図１の（ｃ））。また、必要に応じて、画面のハードコピーをとっておく（図１の（ｄ））。
【００２２】
その際の問題点として、誤りを出力するための手順が複雑なものである場合に、テスターが事象の再現を行うのに時間がかかる可能性がある。また、誤りを出力するための手順が複雑なものである場合に、テスターが、その再現内容を詳細に説明するためのレポートを作成するのに時間がかかるという問題点がある。
【００２３】
テスターが、レポート及び必要に応じて画面のハードコピー等の誤りを特定するための資料を翻訳者に渡すと、翻訳者は、誤りの事象とその場所を特定するために、受け取ったレポートをもとに再現を行う（Ｓ３）。ここで、上述のＳ２においてテスターが作成したレポートが再現するために十分な記載がされていないと、誤りの事象を再現できなかったり、再現するのに時間がかかるという問題がある。
【００２４】
再現により翻訳の誤りが特定されると（Ｓ４）、翻訳者は、誤りの場所が記載されている該当の翻訳ファイルを、翻訳ファイルが入っている場所（ディレクトリを含むファイルの絶対パス）から探す（Ｓ５）。その際の問題点として、翻訳ファイルが膨大であったり、翻訳ファイルの管理が悪いと、翻訳者が該当の翻訳ファイルを探すのに時間がかかるという問題がある。
【００２５】
そして、翻訳ファイルを探し当てると、翻訳者は、該当の翻訳ファイルの修正を行う（Ｓ６）。ここでは、翻訳ファイルの「Ｆｉｌｅ」の記載を、「フアイル（Ｆ）」から正しい記載である「ファイル（Ｆ）」に「ァ」の文字を小さい文字にした修正をする（図１の（ｂ’））。この一連の流れにより、テスターが発見した翻訳の誤りを、翻訳者が修正することができる。
【００２６】
［装置の構成図］
図２は、本発明の装置１の構成の一例を示す図である。装置１は、主に制御部１０、記
憶部２０、入力部３０、及び表示部３２を備える。制御部１０は、主として割当て部１１、マッピング・ファイル生成部１２、エンコード部１３、文字列連結部１４、検証対象文字列出力部１５、デコード部１６、抽出部１７、マッピング・データ出力部１８、及び検索部１９を有する。また、記憶部２０は、テキスト・リソース・ファイル２１及びマッピング・ファイル２２を有し、更に対応ファイル２３を有していてもよい。なお、本実施例では、テキスト・リソース・ファイル２１を記憶部２０に有するものとして記述するが、これに限らず、装置１とネットワークを介して接続された外部記憶装置に有してもよい。
【００２７】
テキスト・リソース・ファイル２１は、ソフトウェアで出力する検証対象文字列と、ソフトウェア側でサーチする検証対象文字列に対応するキーと、を対応付けたファイルである。割当て部１１は、検証対象文字列に対して１つのＩＤを割り当てる。また、マッピング・ファイル生成部１２は、テキスト・リソース・ファイル２１の記憶部２０での記憶場所（ディレクトリを含むファイルの絶対パス）及びテキスト・リソース・ファイル２１内のキーの位置を、割り当てたＩＤと対応付けたマッピング・ファイル２２を生成し、記憶部２０に格納する。エンコード部１３は、ＩＤをユーザが視認不可のゼロ幅の文字制御コードに変換する。文字列連結部１４は、エンコードされたゼロ幅の文字制御コードをテキスト・リソース・ファイル２１内の検証対象文字列の後ろに追加する。もしくは、新たにテキスト・リソース・ファイルを生成してもよい。
【００２８】
検証対象文字列出力部１５は、翻訳の誤り等のソフトウェア製品を検証するための検証用ソフトウェアを起動させることにより、検証対象文字列を含むＧＵＩ（グラフィカル・ユーザ・インタフェース）画面データを、表示部３２に出力する。検証用ソフトウェアは、例えばテスターが使用するソフトウェアであり、エンコードされたゼロ幅の文字制御コードを含むテキスト・リソース・ファイル２１を当該検証用ソフトウェアが読み込んで起動する。
【００２９】
デコード部１６は、入力部３０からのテスターの選択入力に応じて、選択された検証対象文字列の後ろに追加されているテキスト・リソース・ファイル２１のエンコードされたゼロ幅の文字制御コードをデコードし、もとのＩＤに戻す。抽出部１７は、デコードにより戻されたＩＤに基づき、マッピング・ファイル２２を検索し、ＩＤに対応する位置データを抽出する。マッピング・データ出力部１８は、位置データ及びキーの属性情報を含むマッピング・データを、表示部３２に出力する。
【００３０】
検索部１９は、検証対象文字列に対応するキーと同一のキーを有する他のテキスト・リソース・ファイル２１を検索する。なお、この検索を行わずとも、対応ファイル２３を用いることにより同様の処理を行うことができる。対応ファイル２３とは、テキスト・リソース・ファイル２１に対応するファイルであり、ソフトウェアで出力する他の出力文字列と、当該他の出力文字列に対応するキーとを有するものである。より具体的には、テキスト・リソース・ファイル２１が、例えば日本語でＧＵＩに表示される内容が記載されているのに対し、対応ファイル２３は、英語でＧＵＩに表示される内容が記載されたものである。
【００３１】
［テキスト・リソース・ファイルの書き換え例］
図３は、テキスト・リソース・ファイル２１の書き換え例を示す図である。ここで、製品上の翻訳ファイルは、テキスト・リソース・ファイル２１の一例として示されている。また、この例では、Ｊａｖａ（登録商標）で作成されたソフトウェアで使用される翻訳ファイルである、プロパティ・ファイルが用いられている。更に、図３で示す一連の処理は、装置１の制御部１０により行われる。
【００３２】
先ず、図３の左上部に示す（１）では、ソフトウェア製品上の翻訳ファイルとして、「
ｍａｓｓａｇｅ＿ｊａ．ｐｒｏｐｅｒｔｉｅｓ」という名のプロパティ・ファイルが用意されている。これは、上述の図１によると、例えば翻訳者が作成するものである。ここで、キー名４１として「Ｆｉｌｅ．ｍｅｎｕ」が、検索対象文字列４２として「ファイル（＆Ｆ）」が、「＝」により対応付けて格納されている。なお、検索対象文字列４２の「（＆Ｆ）」とは、ＧＵＩ画面に「（Ｆ）」と、「Ｆ」を下線付きの文字で示すためのものであり、例えば、「Ａｌｔキー」を押しながら「Ｆ」のキーを押下すると、ツールバーの「ファイル」が選択されたことを示すものである。
【００３３】
次に、右上部に示す（２）では、検索対象文字列４２に対して、通し番号等の一意の数値で表すＩＤ４３を割り当てる。（２）の例では、「１２３４」がＩＤ４３として割り当てられていることを示す。そして（３）では、翻訳ファイルのファイル位置４４及び翻訳ファイル内のキー名４１により構成される位置データ４５をＩＤ４３と対応付けた、マッピング・ファイル２２を生成する。この例では、翻訳ファイルである「ｍａｓｓａｇｅ＿ｊａ．ｐｒｏｐｅｒｔｉｅｓ」は、装置１のＣドライブのあるフォルダ内に格納されており、その中の「Ｆｉｌｅ．ｍｅｎｕ」というキー名４１が、「１２３４」というＩＤ４３によって対応付けられていることを表している。なお、この例の場合は、ファイル内のキーがキー名４１であるが、これに限らず、ファイル内の行番号等、ＩＤ４３に対応する検索対象文字列４２の存在場所を特定できるものであればよい。次に（４）では、ＩＤ４３である「１２３４」を、エンコードＩＤ４６である「［ａｂｃｄ］」にエンコードする。なお「［」は開始文字を、「］」は終了文字をそれぞれ示す。最後に、左下部に示す（５）では、エンコードＩＤ４６を、翻訳ファイルの検索対象文字列４２に連結させて追加する。この一連の処理により、翻訳ファイルは、キー名４１と検索対象文字列４２とが対応付けられていたものが、キー名４１と検索対象文字列４２及びエンコードＩＤ４６の連結文字列とが対応付いたものに変換される。
【００３４】
［ＧＵＩ表示画面例］
図４は、ＩＤ４３のエンコード方法により、ＧＵＩ画面に表示される違いを示す図である。図４の（ａ）は、エンコードＩＤ４６を通常の文字コードにより変換した場合を示したものである。また、（ｂ）は、エンコードＩＤ４６をゼロ幅の特殊な文字制御コードにより変換した場合を示したものである。
【００３５】
先ず、（ａ）において、検索対象文字列４２として翻訳した文字列には、上述の図３に示す処理により、それぞれエンコードＩＤ４６が割り当てられる。そして、エンコードＩＤ４６は、検索対象文字列４２の後ろに連結されている。（ａ）に示す例のように、エンコードＩＤ４６を、通常の文字コードで表すと、ＧＵＩ画面に表示する場合の画面に英数字の羅列された文字としてエンコードＩＤ４６が表示されてしまう。よって、画面表示が美しくなく、またバランスが崩れた目障りなものとなってしまう。また、エンコードＩＤ４６が表示されることにより、表示された文字列分スペースをとってしまい、ＧＵＩの画面構成が変わってしまう。場合によっては、検索対象文字列４２が画面の外にはみ出してしまい、テスターが検索対象文字列４２を選択できないという問題が生じる。
【００３６】
他方、図４の（ｂ）の場合は、エンコードＩＤ４６にゼロ幅の文字コードを用いている。そのため、検索対象文字列４２の後ろにエンコードＩＤ４６が連結されていても、ＧＵＩ画面上には何らの文字列も現れない。そのため、マッピング・ファイル２２の位置を示すＩＤ４３がデータとして追加されていながら、上述の（ａ）のようにＧＵＩ画面の見栄えが変更されることがなく、検索対象文字列４２が画面の外にはみ出してしまうことによる問題も発生しない。
【００３７】
［エンコード方法］
図５は、ＩＤ４３をエンコードしてユーザが視認不可のエンコードＩＤ４６を作成する
方法を示す図である。ここでは、ＩＤ４３が整数値「３２８７」の場合を例に説明する。
【００３８】
まず、ＩＤ４３の値から基数を決める。基数は、予め装置１において決定した固定値でもよいし、ＩＤ４３の値に応じて最適な基数を決定してもよい。ここでは、基数は予め決定されておらず、ＩＤ４３の値によって定まるものを説明する。そして、決定した基数にしたがってＩＤ４３の値を基数変換する。例えば基数が１０であれば、「３２８７」は「３；２；８；７」（「；」を桁区切りとする）として表すことができ、基数が１６であれば、「３２８７」は「１２；１３；７」と表すことができる。
【００３９】
次に、桁ごとに数値の分だけ文字を並べて、ＩＤ４３をエンコードする。この際、まず文字の開始を示す開始文字を並べ、次に基数を示す数だけ桁区切りの文字を並べる。そして、桁ごとに数値の分だけ桁の文字を並べて、各桁の数値の間に桁区切りの文字を並べる。最後に、文字の終了を示す終了文字を並べる。これにより、「３２８７」は基数を１０とした場合には、図５に示すように「ＣＢＢＢＢＢＢＢＢＢＢＡＡＡＢＡＡＢＡＡＡＡＡＡＡＡＢＡＡＡＡＡＡＡＣ」と表すことができる。ここで、Ａ、Ｂ、Ｃは、特定の文字コードを示す。また、この例では、開始文字と終了文字を同一の文字を使用したが、これに限らず、開始文字と終了文字とを別々の文字コードにより表してもよい。
【００４０】
なお、この際に考慮しなければならないのは、エンコードに用いる文字をユーザが視認不可能なゼロ幅の文字コードとする点である。ゼロ幅の文字コードにしなければ、上述の図４の（ａ）に示すように画面の見栄えが悪いものとなってしまうからである。また、表示画面がずれることにより、起動したソフトウェアの操作性を損なう場合も生じうる。例えば、Ｕｎｉｃｏｄｅの文字コードを使用することができる。Ｕｎｉｃｏｄｅとは、国際標準化機構（ＩＳＯ）で標準化された文字コード体系であり、全ての文字を１６ビットで表現した文字コードである。Ｕｎｉｃｏｄｅの文字コードの中で、文字コードがＵ＋２００ＢであるＺｅｒｏ−Ｗｉｄｔｈ  Ｓｐａｃｅ（以下、ＺＷＳＰという）、文字コードがＵ＋２００ＣであるＺｅｒｏ−Ｗｉｄｔｈ  Ｎｏｎ−Ｊｏｉｎｅｒ（以下、ＺＷＮＪという）、及び文字コードがＵ＋２００ＤであるＺｅｒｏ−Ｗｉｄｔｈ  Ｊｏｉｎｅｒ（以下、ＺＷＪという）といった文字コードを用いることができる。例えば、ＺＷＳＰは、本来の使用法としては英単語の間に使用し、改行を制御する文字コードである。これら上述の文字コードは、本来の使用法として、表示をコントロールする文字であるが、本方法では、本来の使用法とは異なる方法で用いる。しかしながら、検索対象文字列４２の後に連結して文末に用いるものであるため、ソフトウェアに影響を与えることはない。
【００４１】
なお、この例では、Ｕｎｉｃｏｄｅを用いたエンコード処理を行う記載としたが、他の文字コードであっても、同様にユーザに視認不可能な文字コードであり、かつ、ソフトウェアに影響を与えるような使用方法をしないものであれば、どのような文字コードを用いても本機能を実現することができる。
【００４２】
［位置データ表示までの処理の流れ］
図６は、検索対象文字列４２に基づきマッピングを検索し、ユーザ・インタフェースに位置データ４５を表示する一連の状況を示す図である。
【００４３】
先ず、図６の左上に示す、エンコードＩＤ４６を追加更新したテキスト・リソース・ファイル２１を、ソフトウェアのファイル・メニューのオブジェクト４７が読み込む（図６の（１））。すると、オブジェクト４７が起動され（図６の（２））、ファイル・メニューの画面が表示される。この表示されたファイル・メニューの画面には、エンコードＩＤ４６が上述のユーザが視認不可能な文字コードによりエンコードされているため、エンコードされた文字は何ら表示されていない。
【００４４】
ここで、（３）において、ユーザであるテスターが、例えば、「ファイル（Ｆ）」と表示された場所を「フック」すると、「ファイル（Ｆ）」の後ろに連結されたエンコードＩＤ４６をデコードする（図６の（４））。そして、デコードされたＩＤ４３をキーとして、ファイルの位置データ４５をマッピング・ファイル２２から取得する。なお、「フック」とは、通常のソフトウェアでは割り当てられていないアクションを、キーやマウス操作と関連付けて記憶させておき、本機能を実現させるための処理を行うためのキーやマウス等の入力操作を示す。
【００４５】
最後に、デコードしたＩＤ４３に基づき、ユーザであるテスターに表示する情報を得る（図６の（５））。ユーザに表示する情報としては、検索対象文字列４２、及び該当のテキスト・リソース・ファイル２１の位置データ４５である。該当の検索対象文字列４２の起動元であるオブジェクト４７を表示することもできる。
【００４６】
［位置データ表示画面例］
図７は、テスターに、テキスト・リソース・ファイル２１の位置データ４５を表示する表示画面の例を示す図である。画面上部には、プロパティ・エントリとして、プロパティ・ファイル位置５１やオブジェクト５２の情報をディレクトリ階層がわかるように、例えばエクスプローラ形式で表示する。プロパティ・ファイル位置５１には、テキスト・リソース・ファイル２１である、翻訳ファイルのプロパティ・ファイル名、及びキー名５６が表示されている。また、オブジェクト５２には、プロパティ・ファイル位置５１のキー名５６に紐つく形で、キー名５６を使用するオブジェクト名が表示されている。
【００４７】
また、画面下部には、プロパティ画面を表示している。このプロパティ画面は、画面上部のプロパティ・エントリにおいて、該当のプロパティ・ファイルを選択することにより表示される。この例では、プロパティ・ファイルに関して、もとのファイルと比較して表示している。そして、もとのファイルが、ユーザ・インタフェースとして英語で表示されるファイルであることを示している。また、もとのファイルのバンドル名５３、及びキー名５４が、翻訳ファイルのバンドル名５５、及びキー名５６と対比可能な形で表示されている。このような表示方法を行うことにより、翻訳ファイルに対応するもとのファイルの情報を一覧で表示でき、例えば、英語の文字列を対訳として同時に表示することができる。
【００４８】
［フローチャート］
図８は、テキスト・リソース・ファイル２１の書換処理を示すフローチャートである。テキスト・リソース・ファイル２１は、本処理により、エンコードＩＤ４６が検索対象文字列４２の後ろに付加される。
【００４９】
先ず、ステップＳ１１では、装置１の制御部１０は、ソフトウェアとテキスト・リソース・ファイル２１とが一体となった、ソフトウェア製品である実行ファイルから、テキスト・リソース・ファイル２１を抽出する。もともと、ソフトウェア製品は、ソフトウェアとテキスト・リソース・ファイル２１とが一体となったビルド製品であるため、本処理により、テキスト・リソース・ファイル２１を抽出する必要がある。その後、制御部１０は、処理をステップＳ１２に移す。
【００５０】
次に、ステップＳ１２では、制御部１０（割当て部１１）は、テキスト・リソース・ファイル２１の中のエントリ（検索対象文字列４２）に対してＩＤ４３を割り当てる。割り当てるＩＤ４３は、各エントリに対して一意の数値である。その後、制御部１０は、処理をステップＳ１３に移す。
【００５１】
ステップＳ１３では、制御部１０（マッピング・ファイル生成部１２）は、ＩＤ４３を
キーとして、テキスト・リソース・ファイル２１の位置（ディレクトリを含むファイルの絶対パス）とエントリ（検索対象文字列４２）のキーとを組み合わせたマッピング・ファイル２２を生成する。その後、制御部１０は、処理をステップＳ１４に移す。
【００５２】
ステップＳ１４では、制御部１０（エンコード部１３及び文字列連結部１４）は、テキスト・リソース・ファイル２１中のエントリ（検索対象文字列４２）を、“キー＝文字列”から、“キー＝文字列＜エンコードＩＤ＞”に書き換える。その後、制御部１０は、本処理を終了する。ここで、「＜エンコードＩＤ＞」は、ユーザが視認不可のエンコードＩＤ４６であることを示す。この一連の処理により、テキスト・リソース・ファイル２１を書き換えると共に、書き換えたテキスト・リソース・ファイル２１のエントリ（検索対象文字列４２）を特定するための情報をマッピング・ファイル２２として生成する。このことにより、後述の処理において、検索対象文字列４２に基づき、該当のマッピング・ファイル２２の位置を求めることができる。
【００５３】
図９及び図１０は、図８のステップＳ１４の処理の一部であるエンコードＩＤ書換処理を示すフローチャートである。ここでは、主なエンコードＩＤ書換処理として、予め基数が定められている場合と、ＩＤ４３の値に応じて基数を決定する場合と、の２つの処理について説明する。先ずは、エンコードするための基数が予め求められている場合について、図９に基づき説明する。
【００５４】
先ず、ステップＳ２１では、制御部１０（エンコード部１３）は、文字として有効かつＧＵＩ（グラフィカル・ユーザ・インタフェース）を通じて画面に表示されない文字を３種類用意する。上述で説明したとおり、例えば、Ｕｎｉｃｏｄｅの文字コードであれば、ＺＷＳＰ、ＺＷＮＪ、ＺＷＪ等の文字コードを用意する。その後、制御部１０（エンコード部１３）は、処理をステップＳ２２に移す。
【００５５】
ステップＳ２２では、制御部１０（エンコード部１３）は、ＩＤ４３を１６進数に変換する。この例では、基数を１６進数としているが、予め決定された基数であればどのような値であってもよい。その後、制御部１０（エンコード部１３）は、処理をステップＳ２３に移す。
【００５６】
ステップＳ２３では、ステップＳ２１で用意した３つの文字のうち１つ目（ここでは「Ａ」と記載する）を開始文字及び終了文字とし、２つ目（ここでは「Ｂ」と記載する）をＩＤ４３の各桁の数値の分だけ並べる桁の文字とし、３つ目（ここでは「Ｃ」と記載する）を各桁の区切りの文字とし、ＩＤ４３を変換する。具体的には、例えば、ＩＤ４３が１６進数で「３１２」である場合には、「ＡＢＢＢＣＢＣＢＢＡ」と変換できる。その後、制御部１０は、処理をステップＳ２４に移す。
【００５７】
ステップＳ２４では、制御部１０（文字列連結部１４）は、変換後ＩＤであるエンコードＩＤ４６を＜エンコードＩＤ＞に書き換える。その後、制御部１０（文字列連結部１４）は、本処理を終了する。なお、ここでは、開始文字及び終了文字を１つの文字としているが、開始文字と終了文字とは異なる文字としてもよい。その場合には、もう１つ画面に表示されない文字を用意する必要がある。
【００５８】
次に、エンコードするための基数をＩＤ４３の値に応じて決定する場合について、図１０に基づき説明する。
【００５９】
先ず、ステップＳ３１では、制御部１０（エンコード部１３）は、文字として有効かつＧＵＩ（グラフィカル・ユーザ・インタフェース）を通じて画面に表示されない文字を３種類用意する。その後、制御部１０（エンコード部１３）は、処理をステップＳ３２に移
す。
【００６０】
ステップＳ３２では、制御部１０（エンコード部１３）は、ＩＤ４３の値に応じて基数を決定する。その後、制御部１０（エンコード部１３）は、処理をステップＳ３３に移す。
【００６１】
ステップＳ３３では、ステップＳ２１で用意した３つの文字のうち１つ目（ここでは「Ａ」と記載する）を開始文字及び終了文字とし、２つ目（ここでは「Ｂ」と記載する）をＩＤ４３の各桁の数値の分だけ並べる桁の文字とする。更に、３つ目（ここでは「Ｃ」と記載する）を各桁の区切りの文字とし、加えて、開始文字の後に決定した基数分を並べる文字として、ＩＤ４３を変換する。具体的には、例えば、ＩＤ４３が１０進数で「３４２」である場合には、基数を１６進数とすると「１５６」と表せるため、「ＡＣＣＣＣＣＣＣＣＣＣＣＣＣＣＣＣＢＣＢＢＢＢＢＣＢＢＢＢＢＢＡ」と変換できる。また、基数を１０進数とすると、「ＡＣＣＣＣＣＣＣＣＣＣＢＢＢＣＢＢＢＢＣＢＢＡ」と変換できる。その後、制御部１０は、処理をステップＳ３４に移す。
【００６２】
ステップＳ３４では、制御部１０（文字列連結部１４）は、変換後ＩＤであるエンコードＩＤ４６を＜エンコードＩＤ＞に書き換える。その後、制御部１０（文字列連結部１４）は、本処理を終了する。なお、ここでは図９と同様に、開始文字及び終了文字を１つの文字としているが、開始文字と終了文字とは異なる文字としてもよい。その場合には、もう１つ画面に表示されない文字を用意する必要がある。
【００６３】
このように、ＩＤ４３の値に応じて基数を決定できるので、本処理によれば、ＩＤ４３の値に応じて最適な基数を用いてＩＤ４３をエンコードＩＤ４６にエンコードすることができる。
【００６４】
図１１は、検証用ソフトウェアでの処理を示すフローチャートである。この検証用ソフトウェアは、ユーザであるテスターにより起動される。
【００６５】
先ず、ステップＳ４１では、制御部１０は、検証用ソフトウェアを、書き換え後のテキスト・リソース・ファイル２１を使用して起動する。その後、制御部１０は、処理をステップＳ４２に移す。
【００６６】
ステップＳ４２では、制御部１０（検証対象文字列出力部１５）は、ＧＵＩ画面を表示する。この処理により、具体的には図４の（ｂ）に示すような画面が表示される。その後、制御部１０は、処理をステップＳ４３に移す。
【００６７】
ステップＳ４３では、ＧＵＩ上の文字列が選択されたか否かを判断する。具体的には、ＧＵＩ上の検索対象文字列４２が選択され、検証用ソフトウェアにより位置データ４５を表示するためのアクションがユーザ（テスター）により実行されたか否かを判断する。ＧＵＩ上の文字列が選択された場合（ステップＳ４３の処理でＹＥＳが判断された場合）には、制御部１０は、処理をステップＳ４４に移す。他方、ＧＵＩ上の文字列が選択されていない場合（ステップＳ４３の処理でＮＯが判断された場合）には、制御部１０は、引続きステップＳ４３の処理を行い、ＧＵＩ上の文字列が選択されるのを待つ。
【００６８】
ステップＳ４４では、制御部１０（デコード部１６）は、該当の文字列の＜エンコードＩＤ＞をＩＤ４３にデコードする。その後、制御部１０は、処理をステップＳ４５に移す。
【００６９】
ステップＳ４５では、制御部１０（抽出部１７）は、ＩＤ４３をもとにマッピング・フ
ァイル２２からテキスト・リソース・ファイル２１の位置（ディレクトリを含むファイルの絶対パス）データを抽出する。その後、制御部１０は、処理をステップＳ４６に移す。
【００７０】
ステップＳ４６では、制御部１０（マッピング・データ出力部１８）は、ステップＳ４５で抽出したテキスト・リソース・ファイル２１の位置データ４５を含む情報を画面に表示する。その後、制御部１０は、処理をステップＳ４７に移す。
【００７１】
ステップＳ４７では、制御部１０（検索部１９）は、該当の文字列に対応するキーと同一のキーを有する他のテキスト・リソース・ファイル２１を記憶部２０から検索する。更に、検索された他のテキスト・リソース・ファイル２１の属性情報を、該当の文字列を含むテキスト・リソース・ファイル２１の属性情報と対比して画面に表示する。属性情報とは、キー名やバンドル名が該当する。その後、制御部１０は、本処理を終了する。
【００７２】
［ハードウェア構成］
図１２は、本発明の一実施形態に係る装置１のハードウェア構成を示す図である。以下は、コンピュータを典型とする情報処理装置として全般的な構成を説明するが、専用機や組み込み型装置の場合、その環境に応じて必要最小限な構成を選択できることはいうまでもない。
【００７３】
装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ
Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、パラレルポート１０８０、ＵＳＢポート１０９０、グラフィック・コントローラ１０２０、ＶＲＡＭ１０２４、音声プロセッサ１０３０、Ｉ／Ｏコントローラ１０７０、ならびにキーボード及びマウス・アダプタ等１１００の入力手段を備える。Ｉ／Ｏコントローラ１０７０には、フレキシブル・ディスク（ＦＤ）ドライブ１０７２、ハード・ディスク１０７４、光ディスク・ドライブ１０７６、半導体メモリ１０７８、等の記憶手段を接続することができる。グラフィック・コントローラ１０２０には、表示装置１０２２が接続されている。また、オプションとして、音声プロセッサ１０３０には、増幅回路１０３２及びスピーカ１０３４が接続される。
【００７４】
ＢＩＯＳ１０６０は、装置１の起動時にＣＰＵ１０１０が実行するブートプログラムや、装置１のハードウェアに依存するプログラム等を格納する。ＦＤ（フレキシブル・ディスク）ドライブ１０７２は、フレキシブル・ディスク１０７１からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供する。
【００７５】
光ディスク・ドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この際は各ドライブに対応した光ディスク１０７７を使用する必要がある。光ディスク・ドライブ１０７６は光ディスク１０７７からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供することもできる。
【００７６】
装置１に提供されるコンピュータ・プログラムは、フレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリカード等の記録媒体に格納されて利用者によって提供される。このコンピュータ・プログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、または通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、装置１にインストールされ実行される。コンピュータ・プログラムが情報処理装置に働きかけて行わせる動作は、既に説明した装置における動作と同一であるので省略する。
【００７７】
上述のコンピュータ・プログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としてはフレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハード・ディスクまたは光ディスク・ライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してコンピュータ・プログラムを装置１に提供してもよい。
【００７８】
以上の例は、装置１について主に説明したが、コンピュータに、情報処理装置で説明した機能を有するプログラムをインストールして、そのコンピュータを情報処理装置として動作させることにより上記で説明した情報処理装置と同様な機能を実現することができる。したがって、本発明において１つの実施形態として説明した情報処理装置は、方法及びそのコンピュータ・プログラムによっても実現可能である。
【００７９】
本発明の装置１は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。かかる場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明に係る処理を実行させる。このプログラムは、任意の言語、コード、または表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、または（１）他の言語、コード、もしくは表記への変換、（２）他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【００８０】
以上、本発明を実施形態に則して説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態または実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００８１】
【図１】現状のソフトウェア製品に関する翻訳の誤りを修正する流れの概要を示す図である。
【図２】本発明の装置の構成の一例を示す図である。
【図３】テキスト・リソース・ファイルの書き換え例を示す図である。
【図４】ＩＤのエンコード方法により、ＧＵＩ画面に表示される違いを示す図である。
【図５】ＩＤをエンコードしてユーザが視認不可のエンコードＩＤを作成する方法を示す図である。
【図６】検索対象文字列に基づきマッピングを検索し、ユーザ・インタフェースに位置を表示する一連の状況を示す図である。
【図７】テスターにテキスト・リソース・ファイルの位置データを表示する表示画面の例を示す図である。
【図８】テキスト・リソース・ファイルの書換処理を示すフローチャートである。
【図９】エンコードＩＤ書換処理の一例を示すフローチャートである。
【図１０】エンコードＩＤ書換処理の一例を示すフローチャートである。
【図１１】検証用ソフトウェアでの処理を示すフローチャートである。
【図１２】本発明の一実施形態に係る装置のハードウェア構成を示す図である。
【符号の説明】
【００８２】
１    装置
１０  制御部
１１  割当て部
１２  マッピング・ファイル生成部
１３  エンコード部
１４  文字列連結部
１５  検証対象文字列出力部
１６  デコード部
１７  抽出部
１８  マッピング・データ出力部
１９  検索部
２０  記憶部
２１  テキスト・リソース・ファイル
２２  マッピング・ファイル
２３  対応ファイル
３０  入力部
３２  表示部
４１  キー名
４２  検索対象文字列
４３  ＩＤ
４４  ファイル位置
４５  位置データ
４６  エンコードＩＤ
４７  オブジェクト
【図１】
2008257478.tif 000003
【図２】
2008257478.tif 000004
【図３】
2008257478.tif 000005
【図４】
2008257478.tif 000006
【図５】
2008257478.tif 000007
【図６】
2008257478.tif 000008
【図７】
2008257478.tif 000009
【図８】
2008257478.tif 000010
【図９】
2008257478.tif 000011
【図１０】
2008257478.tif 000012
【図１１】
2008257478.tif 000013
【図１２】
2008257478.tif 000014