(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムに記述された手順に従って、ウィジェットによって構成されユーザに提示されるユーザインタフェース画面を表示手段に表示させる表示制御手段と、
前記ユーザインタフェース画面を走査し、当該画面を構成するウィジェットに含まれる文字列を抽出する抽出手段と、
前記抽出手段によって抽出された文字列を含むウィジェットの描画可能領域の位置とサイズを特定する特定手段と、
前記抽出手段によって抽出された文字列を翻訳する翻訳手段であって、翻訳対象の１つの文字列を複数とおりに翻訳する翻訳手段と、
前記ユーザインタフェース画面が配置されているレイヤよりも上層のレイヤに前記翻訳手段による翻訳結果を配置することで、前記ユーザインタフェース画面に前記翻訳結果を重ね合わせて前記表示手段に表示させる翻訳結果表示手段であって、前記翻訳手段による複数の翻訳結果のうち、前記特定手段によって特定されたウィジェットの描画可能領域のサイズに収まる翻訳結果を選択し、選択した翻訳結果を前記特定手段によって特定された位置に表示させる翻訳結果表示手段と
を備えることを特徴とする表示装置。
【請求項２】
ユーザの操作によって前記ユーザインタフェース画面上で移動させられる操作子画像を前記ユーザインタフェース画面が配置されているレイヤと、前記翻訳結果が配置されているレイヤとの間にあるレイヤであって、前記ユーザインタフェース画面が配置されているレイヤの１つだけ上層のレイヤに配置して前記表示手段に表示させる操作子画像表示手段と、
前記操作子画像に対する操作イベントが発生した場合、前記操作イベントの内容と前記操作子画像の表示位置とを、前記ユーザインタフェース画面が配置されているレイヤに伝える制御手段と
を備えることを特徴とする請求項１記載の表示装置。
【請求項３】
翻訳元の文字列及び翻訳先の文字列を対応付けた翻訳辞書を複数記憶した辞書記憶手段と、
前記表示手段によって表示されている文字列の表示属性を特定する属性特定手段とを備え、
前記翻訳手段は、前記属性特定手段によって同一の表示属性として特定された文字列については同一の翻訳辞書を選択し、当該翻訳辞書を用いて翻訳を行う
ことを特徴とする請求項１又は２に記載の表示装置。
【請求項４】
表示装置が、
ユーザインタフェース画面を走査し、当該画面を構成するウィジェットに含まれる文字列を抽出する抽出ステップと、
前記抽出ステップによって抽出された文字列を含むウィジェットの描画可能領域の位置とサイズを特定する特定ステップと、
前記抽出手段によって抽出された文字列を翻訳する翻訳ステップであって、翻訳対象の１つの文字列を複数とおりに翻訳する翻訳ステップと、
前記ユーザインタフェース画面が配置されているレイヤよりも上層のレイヤに前記翻訳ステップによる翻訳結果を配置することで、前記ユーザインタフェース画面に前記翻訳結果を重ね合わせて前記表示手段に表示させる翻訳結果表示ステップであって、前記翻訳ステップによる複数の翻訳結果のうち、前記特定ステップによって特定された、前記抽出ステップによって抽出された文字列を含むウィジェットの描画可能領域のサイズに収まる翻訳結果を選択し、選択した翻訳結果を表示させる翻訳結果表示ステップと
を備えることを特徴とする翻訳結果表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに提示されるユーザインタフェース画面の内容を翻訳し、その翻訳結果を表示する技術に関する。
【背景技術】
【０００２】
表示画面を２つの領域に区分し、一方の領域にはある言語で記述された文章を表示し、他方の領域にはその文章の翻訳結果を表示するという仕組みが提案されている（例えば特許文献１参照）。
【特許文献１】特開平１−２００６０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ユーザがアプリケーションプログラムをコンピュータに実行させて各種のアプリケーションを利用しようとする場合、このコンピュータには、いわゆるユーザインタフェース画面が表示される。このユーザインタフェース画面は、通常、ＧＵＩ（Graphical User Interface）であり、ユーザが各種の操作や指示を容易に行えるようにするために、各種メッセージが表記されたソフトボタンなどが含まれている。
【０００４】
ユーザの自国語以外の言語によって表現されたユーザインタフェース画面を参照する場合には、その表示内容を理解するためのスキルがユーザに要求されるか、または、翻訳者による翻訳作業が必要になってしまう。そこで、アプリケーションの開発者らが、各々の言語に対応する言語サポート版のアプリケーションプログラムを開発することが望ましい。ところが、この開発には、ユーザインタフェース画面に含まれる各種のメッセージを翻訳し、さらにその翻訳結果をユーザインタフェース画面中のメッセージと置換するなどのプログラミングが必要になる。この工程には多大な労力と時間を要するという問題がある。
【０００５】
本発明はこのような背景に鑑みてなされたものであり、その目的は、ユーザインタフェース画面を表示するアプリケーションプログラムそのものはできるだけ改変せずに、そのユーザインタフェース画面中のメッセージ（文字列）を他言語に翻訳して表示することにある。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、本発明は、アプリケーションプログラムに記述された手順に従って、ウィジェットによって構成されユーザに提示されるユーザインタフェース画面を表示手段に表示させる表示制御手段と、前記ユーザインタフェース画面を走査し、当該画面を構成するウィジェットに含まれる文字列を抽出する抽出手段と、前記抽出手段によって抽出された文字列を含むウィジェットの描画可能領域の位置とサイズを特定する特定手段と、前記抽出手段によって抽出された文字列を翻訳する翻訳手段であって、翻訳対象の１つの文字列を複数とおりに翻訳する翻訳手段と、前記ユーザインタフェース画面が配置されているレイヤよりも上層のレイヤに前記翻訳手段による翻訳結果を配置することで、前記ユーザインタフェース画面に前記翻訳結果を重ね合わせて前記表示手段に表示させる翻訳結果表示手段であって、前記翻訳手段による複数の翻訳結果のうち、前記特定手段によって特定されたウィジェットの描画可能領域のサイズに収まる翻訳結果を選択し、選択した翻訳結果を前記特定手段によって特定された位置に表示させる翻訳結果表示手段とを備えることを特徴とする表示装置を提供する。
【０００７】
また、本発明は、表示装置が、ユーザインタフェース画面を走査し、当該画面を構成するウィジェットに含まれる文字列を抽出する抽出ステップと、前記抽出ステップによって抽出された文字列を含むウィジェットの描画可能領域の位置とサイズを特定する特定ステップと、前記抽出手段によって抽出された文字列を翻訳する翻訳ステップであって、翻訳対象の１つの文字列を複数とおりに翻訳する翻訳ステップと、前記ユーザインタフェース画面が配置されているレイヤよりも上層のレイヤに前記翻訳ステップによる翻訳結果を配置することで、前記ユーザインタフェース画面に前記翻訳結果を重ね合わせて前記表示手段に表示させる翻訳結果表示ステップであって、前記翻訳ステップによる複数の翻訳結果のうち、前記特定ステップによって特定された、前記抽出ステップによって抽出された文字列を含むウィジェットの描画可能領域のサイズに収まる翻訳結果を選択し、選択した翻訳結果を表示させる翻訳結果表示ステップとを備えることを特徴とする翻訳結果表示方法を提供する。
【発明を実施するための最良の形態】
【０００８】
次に、発明を実施するための最良の形態について説明する。
図１は、本実施形態に係る表示装置１０の構成を示す図である。この表示装置１０は、例えば汎用のコンピュータに対して、図１に示すような翻訳・表示プログラム、翻訳辞書及びアプリケーションプログラムがインストールされた装置である。これらの翻訳・表示プログラム、翻訳辞書及びアプリケーションプログラムは、ハードディスクなどの記憶部１２に記憶されている。翻訳辞書は、翻訳元の文字列と、その対訳である翻訳先の文字列とが対応付けられたものであり、カテゴリ別に複数種類の翻訳辞書が用意されている。制御部１１は例えばＣＰＵであり、記憶部１２に記憶されているプログラムを実行する。表示部１３は、例えば液晶ディスプレイやＣＲＴ（Cathode Ray Tube）である。
【０００９】
制御部１１は、アプリケーションプログラムに記述された手順に従って、ユーザに提示されるユーザインタフェース画面を表示部１３に表示させる。ユーザインタフェース画面は、ユーザが各種の操作や指示を行うために用いられるものであり、例えばウィンドウフォーム、タイトルバー、ラベル、テキストボックス、ソフトボタン、チョイスコンボ、チェックボックス、ラジオボックス、スクロールバー、ウィンドウメニュー、ポップアップメニュー、バルーンヒントなどの、いわゆるWidget（ウィジェット）によって構成されている。Widget（ウィジェット）は、ＧＵＩ（Graphical User Interface）を構成する部品である。
【００１０】
次に、図２は、翻訳・表示プログラムに記述された手順を示すフローチャートである。
制御部１１は、アプリケーションプログラムに記述された手順に従ってユーザインタフェース画面を表示部１３に表示させる。ここでは英語表記のユーザインタフェース画面とする。この状態において、ユーザが操作部１４を用いて或る言語（例えば日本語）を指定し、ユーザインタフェース画面を翻訳するように指示すると、制御部１１は、翻訳・表示プログラムを記憶部１２から読み出して図２に示す処理を開始する。まず、制御部１１は、表示部１３に表示されているユーザインタフェース画面の内容を走査し、当該画面に含まれる文字列（英語のメッセージ）を抽出する（ステップＳ１）。これらの文字列は、上述したWidgetに含まれているから、制御部１１はユーザインタフェース画面を構成している各Widgetから文字列を抽出すればよい。これにより、例えば、図３（ａ）に示したソフトボタンＳＢに表記された「Resolution」という文字列が抽出されることになる。
【００１１】
次に、制御部１１は、抽出した各文字列の位置とサイズ（文字列の長さ）を特定し、これを記憶部１２に記憶する（ステップＳ２）。この場合、制御部１１は、各文字列の位置とサイズとして、その文字列を含むWidgetの描画可能領域の位置とサイズを用いればよい。次に、制御部１１は、ステップＳ１において抽出された各文字列を翻訳する（ステップＳ３）。前述したように複数種類の翻訳辞書が記憶部１２に記憶されている場合、制御部１１は、この中から適切な翻訳辞書を選択して使用することが望ましい。例えば、制御部１１は、翻訳対象となる文字列の位置から所定の範囲内に表示されている文字列を抽出し、これらの文字列と一致する翻訳元の文字列を多く含んだ翻訳辞書を選択する。つまり、ユーザインタフェース画面において比較的近い位置にある文字列は同じカテゴリに含まれる可能性が高いから、そのカテゴリに応じた翻訳辞書を利用するというわけである。また、制御部１１は、表示されている各文字列の表示属性を特定し、この表示属性が同一の文字列については同一の翻訳辞書を選択する。ここでいう表示属性とは、例えば前述したWidgetの種類（ウィンドウフォーム、タイトルバー、ラベル、テキストボックス、ソフトボタン、チョイスコンボ、チェックボックス、ラジオボックス、スクロールバー、ウィンドウメニュー、ポップアップメニュー、バルーンヒント）である。例えばソフトボタンに表記された文字列を翻訳するときには、それ専用の翻訳辞書が使用されるといった具合である。
【００１２】
次に、制御部１１は、ステップＳ２で記憶した翻訳前の文字列の位置及びサイズに基づいて、翻訳結果を表示する位置とその翻訳結果のサイズ（翻訳結果を表す文字列の長さ）を決定する（ステップＳ４）。
まず、翻訳結果を表示する位置は、次のようにして決定される。
翻訳前の文字列が例えば図３（ａ）に示したような表示例の場合、例えば図３（ｂ）に示すように、翻訳結果の文字列「解像度」を翻訳前の文字列「Resolution」の位置に丁度重なるようにして表示する。この場合、翻訳結果「解像度」の奥に翻訳前の文字列「Resolution」が透けて見えるように表示されることになる。また、図３（ｃ）に示すように、翻訳前の文字列を塗りつぶした上に表示（上書き表示）するようにしてもよい。さらに、図３（ｄ）に示すように、翻訳前の文字列の近傍に翻訳結果を表示するようにしてもよい。この図３（ｄ）の場合、ユーザが操作部１４によって翻訳前の文字列と翻訳結果との間の距離を指定可能としておき、制御部１１は、翻訳前の文字列の位置から、指定された距離だけ離れた位置に翻訳結果を表示する。さらに、図３（ｂ）〜図３（ｄ）の場合、ユーザが操作部１４によって翻訳結果の文字の色ないし文字の濃さを指定可能としておき、制御部１１は、翻訳結果を表示する場合には、その指定された色ないし濃さの文字で表示する。
【００１３】
次に、翻訳結果のサイズは、翻訳前の文字列を含むwidgetの描画可能領域の長さに収まるようなサイズとなる。特に制御部１１が翻訳対象の１つの文字列を複数とおりに翻訳できるような場合には、複数の翻訳結果のうち、上記のwidgetの描画可能領域の長さに収まるような翻訳結果を選択する。これにより、図３（ｂ）〜図３（ｃ）に示したように、「Resolution」の日本語訳である「解像度」という文字列は、ソフトボタンＳＢの内側に収まった状態で表示される。
【００１４】
このように翻訳結果を表示する位置とその翻訳結果のサイズが決定されると、制御部１１は、ユーザインタフェース画面が配置されているレイヤよりも上層のレイヤにその翻訳結果を配置し、ユーザインタフェース画面の上に翻訳結果を重ね合わせるようにして表示部１３に表示させる（図２のステップＳ５）。
【００１５】
このとき、ユーザインタフェース画面が配置されるレイヤと、翻訳結果が配置されるレイヤと、ユーザの操作によってユーザインタフェース画面上で移動させられるポインタ（操作子画像）が配置されるレイヤとは、次のような２通りの位置関係を採り得る。
まず、１つ目の位置関係について説明する。
図４（ａ）は、ユーザインタフェース画面が配置されるレイヤＬ１の上層のレイヤＬ２に翻訳結果が配置され、更にその上層にポインタＰが配置されて表示された場合を説明する図ある。このような位置関係を採った場合、ユーザが視認する画面Ｌ３においては、図５（ａ）に示すように、ポインタＰが一番手前に見え、その奥に翻訳結果が見え、更にその奥にユーザインタフェース画面が見えることになる。一般にポインタＰは最も手前に見えるのが自然であるから、図５（ａ）の表示は自然な見え方と言える。ところが、ポインタＰに操作イベント（例えばクリックやドラッグ）が発生した場合、制御部１１は、その操作イベントの内容とポインタＰの表示位置（操作イベントが発生した位置）をレイヤＬ２を介してレイヤＬ１に伝える、という従来にはない手順が必要になる。よって、この手順をプログラマが翻訳・表示プログラムに追加しなければならない。
【００１６】
これに対し、図４（ｂ）は、ユーザインタフェース画面が配置されるレイヤＬ１と、翻訳結果が配置されるレイヤＬ２との間にポインタＰが配置されて表示された場合を説明する図である。この方法を採った場合には、図５（ｂ）に示すように、ユーザが視認する画面Ｌ３においては、翻訳結果が一番手前に見え、その奥にポインタＰが見え、更にその奥にユーザインタフェース画面が見えることになる。文字列の奥にポインタＰが見えるのは少々不自然である。特に、図３（ｃ）に示したように、翻訳前の文字列を塗りつぶした上に翻訳結果を上書き表示するような場合には、ユーザからは、ポインタＰの一部又は全部が見えないケースも生じ得る。ただし、ポインタＰに操作イベントが発生した場合には、制御部１１は、従来と同じように、そのイベントをすぐ下層のレイヤＬ１に伝えるだけでよいから、翻訳・表示プログラムに対して改変を施す手間が不要となる。
【００１７】
以上説明した実施形態によれば、ユーザインタフェース画面を表示するアプリケーションプログラムそのものを改変することなく、そのユーザインタフェース画面に含まれる文字列を翻訳して表示することが可能となる。よって、ユーザには、言語理解のための高いスキルも必要とされないし、翻訳作業のためのコストも発生しない。また、ユーザインタフェース画面のレイアウトを乱さず、且つ、翻訳結果をその翻訳前の文字列との対応関係が一目で理解できるような位置に表示しているので、ユーザの操作感や操作性も損なわない。なお、上述した実施形態は、ユーザインタフェース画面を表示可能なコンピュータであれば適応可能であり、例えば、プリンタやスキャナなどを搭載した複合機であってもよい。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る表示装置の構成を示すブロック図である。
【図２】表示装置の制御部の動作を示すフローチャートである。
【図３（ａ）】翻訳前の文字列の一例を示す図である。
【図３（ｂ）】翻訳結果の表示例を示す図である。
【図３（ｃ）】翻訳結果の表示例を示す図である。
【図３（ｄ）】翻訳結果の表示例を示す図である。
【図４（ａ）】ユーザインタフェース画面が配置されるレイヤＬ１と、翻訳結果が配置されるレイヤＬ２と、ポインタが配置されるレイヤとの関係を説明する図である。
【図４（ｂ）】ユーザインタフェース画面が配置されるレイヤＬ１と、翻訳結果が配置されるレイヤＬ２と、ポインタが配置されるレイヤとの関係を説明する図である。
【図５（ａ）】ユーザに見える画面を例示する図である。
【図５（ｂ）】ユーザに見える画面を例示する図である。
【符号の説明】
【００１９】
１０・・・表示装置、１１・・・制御部、１２・・・記憶部、１３・・・表示部、１４・・・操作部。
【図１】
0004735148.tif 000002
【図２】
0004735148.tif 000003
【図３（ａ）】
0004735148.tif 000004
【図３（ｂ）】
0004735148.tif 000005
【図３（ｃ）】
0004735148.tif 000006
【図３（ｄ）】
0004735148.tif 000007
【図４（ａ）】
0004735148.tif 000008
【図４（ｂ）】
0004735148.tif 000009
【図５（ａ）】
0004735148.tif 000010
【図５（ｂ）】
0004735148.tif 000011