(57)【要約】【課題】表示されるメッセージの欠落をその都度目視確認する必要がなく、表示されるメッセージが欠落していた場合それを報知することができ、各国語対応（ローカライズ、グローバライズ）のアプリケーション開発において表示するメッセージの欠落の有無の確認が容易になるメッセージ表示部品およびメッセージ表示部品のチェック方法を提供する。【解決手段】あらかじめ表示するメッセージおよび当該メッセージのフォント、フォントサイズ、表示領域のサイズ等の情報を設定しておき、これら設定された情報から表示するメッセージが表示領域に収まるか否かを判定し、この判定の結果、表示するメッセージが表示領域に収まらなかった場合は、その旨を当該アプリケーションの開発者に対し報知する。【選択図】      図３
2009193334.tif 000002
【特許請求の範囲】
【請求項１】
表示するメッセージおよび当該メッセージのフォント、フォントサイズ、表示領域のサイズ等の情報を設定する手段と、
これら設定された情報から表示するメッセージが表示領域に収まるか否かを判定する手段と、
この判定の結果、表示するメッセージが表示領域に収まらなかった場合、その旨を報知する手段と、
を具備したことを特徴とするメッセージ表示部品。
【請求項２】
あらかじめ表示するメッセージおよび当該メッセージのフォント、フォントサイズ、表示領域のサイズ等の情報を設定しておき、これら設定された情報から表示するメッセージが表示領域に収まるか否かを判定し、この判定の結果、表示するメッセージが表示領域に収まらなかった場合は、その旨を報知することを特徴とするメッセージ表示部品のチェック方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、パーソナルコンピュータ等の電子機器において、各国語（ローカライズ、グローバライズ）対応アプリケーションを容易に開発できるメッセージ表示部品およびメッセージ表示部品のチェック方法に関する。
【背景技術】
【０００２】
従来、たとえば、ＧＵＩ（Graphic User Interface）アプリケーションや帳票アプリケーションにおいて、表示画面や印刷レイアウトを設計する際、テキスト表示用の部品、ボタン表示用の部品など、多数の部品が提供されている。当該アプリケーションの開発者は、これらの部品を使い、表示画面や印刷レイアウトに配置し設計する。
【０００３】
ところで、たとえば、パーソナルコンピュータ等の電子機器において、日本語用、英語用、フランス語用など、各国語でローカライズしたメッセージを表示するアプリケーションや、利用者が日本語、英語、フランス語など言語を選択すると表示メッセージが、その国の言語に切換わるようなグローバライズ（国際化対応）アプリケーションを開発する場合、個別の各国語用アプリケーションを作ることはせず、業務ロジックや画面表示レイアウトなど、各国語に依存しない部分は共用し、表示するメッセージなど選択された国語によって切換える実装方法を取るのが一般的である（たとえば、特許文献１等参照）。
【０００４】
以下、本発明では、表示画面にメッセージを表示する部品（一般的に、このような部品は「ラベルコントロール」と呼ばれる）を「メッセージ表示部品」という仮称で統一して説明する。
【特許文献１】特開平７−２４４５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
各国語に対応したアプリケーションを作成した場合、以下のような問題点がある。  
（１）国語によって同意の単語の長さが変わる。  
日本語では表示できた単語が、英語やフランス語では単語が長くなり、表示領域に納まらず、単語が欠落して表示される場合や、２行で表示される場合がある。
【０００６】
（２）微妙な文字の欠落などは実際に動かして目視確認しないとわからない。  
極端に長短の変化があるメッセージに関しては、各国語用メッセージを決める段階で、表示領域に納まらないことをある程度予測できるが、最後の１文字が半分欠けて表示されるなど微妙な違いは、実際にアプリケーション上で表示させ目視確認が必要である。
【０００７】
（３）動的なメッセージの表示（プログラムの中でメッセージを作成し表示するようなもの）  
上記（２）同様、実際にアプリケーションを実行し目視確認が必要である。
【０００８】
（４）表示領域を自動的に拡張する機能を有する部品もあるが、その機能を使えないケースもある。表示しようとしている文字が表示領域に入らない場合、自動的に表示領域を広げる機能を有する部品も存在する。表示画面に数百もの部品を貼り付けているようなものでは、表示領域を自動的に拡張できる余裕もない場合がある。
【０００９】
上記（２）、（３）の目視確認は、表示画面が１つしかないアプリケーションや、表示画面に数個の部品しか配置していない場合はよいが、表示画面が多数ある場合や、１つの表示画面に数百もの部品が配置されている場合、目視での確認は困難となる。
【００１０】
そこで、本発明は、表示されるメッセージの欠落をその都度目視確認する必要がなく、表示されるメッセージが欠落していた場合それを報知することができ、各国語対応（ローカライズ、グローバライズ）のアプリケーション開発において表示するメッセージの欠落の有無の確認が容易になるメッセージ表示部品およびメッセージ表示部品のチェック方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のメッセージ表示部品は、表示するメッセージおよび当該メッセージのフォント、フォントサイズ、表示領域のサイズ等の情報を設定する手段と、これら設定された情報から表示するメッセージが表示領域に収まるか否かを判定する手段と、この判定の結果、表示するメッセージが表示領域に収まらなかった場合、その旨を報知する手段とを具備している。
【００１２】
本発明のメッセージ表示部品のチェック方法は、あらかじめ表示するメッセージおよび当該メッセージのフォント、フォントサイズ、表示領域のサイズ等の情報を設定しておき、これら設定された情報から表示するメッセージが表示領域に収まるか否かを判定し、この判定の結果、表示するメッセージが表示領域に収まらなかった場合は、その旨を報知することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、表示されるメッセージの欠落をその都度目視確認する必要がなく、表示されるメッセージが欠落していた場合それを報知することができ、各国語対応（ローカライズ、グローバライズ）のアプリケーション開発において表示するメッセージの欠落の有無の確認が容易になるメッセージ表示部品およびメッセージ表示部品のチェック方法を提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本発明の実施の形態に係るメッセージ表示部品の概念図を示している。図１の例は、日本語表示版と英語表示版で業務ロジックや画面表示レイアウトは共用し、表示するメッセージのみ切換えるように作成した場合の一例を示していて、図１（ａ）は日本語表示版を、図１（ｂ）は図１（ａ）に対応した英語表示版を、それぞれ示している。
【００１５】
図１において、１１は表示画面、１２は画面（フォーム）の名称（Ｆｏｍ１）、１３（破線で囲った部分）はメッセージ表示部品をそれぞれ示している。図１の例は、メッセージ表示部品１３ａに「1.Customer Management」と表示させるつもりが文字が欠けてしまっている場合を示している。
【００１６】
まず、メッセージ表示部品１３の概要について説明する。  
メッセージ表示部品１３の概念図は図１の通りである。メッセージ表示部品１３は、表示画面１２上にメッセージを配置し、配置した場所（表示領域）に指定したメッセージを、指定したフォントおよびフォントサイズで表示する部品である。
【００１７】
また、メッセージ表示部品１３は、単にメッセージ表示を行なうだけでなく、指定したメッセージが表示しきれない（表示が欠落している）場合、当該アプリケーションの開発者に対し正しく表示されていないことを通知（報知）する機能を有する。
【００１８】
正しく表示されていないことの通知方法には以下の３つがある。  
第１の方法：プログラムにエラーを通知する。  
第２の方法：後述するトレースファイルに記録する。この例では、異常のもののみ記録する方法と、正常および異常の両方を記録する方法を選択可能とする。  
第３の方法：第１の方法と第２の方法との組合わせ。
【００１９】
メッセージの表示が欠落していないかのチェックの有無などは、後述する設定情報ファイルに記述する。その場合、デバッグ中は有効にし、本番運用では無効にすることで、本運用での表示チェックに要するオーバーヘッドを軽減できるようになっている。
【００２０】
次に、本発明に係る各種設定情報の概要について説明する。  
メッセージ表示部品１３には、様々な設定情報が必要となる。本発明実現のため、メッセージ表示部品個別の情報と、全てのメッセージ表示部品共通の情報を設定できるようにする。前者は各メッセージ表示部品１３にそれぞれ「プロパティ情報１４」で実装し、後者は特定のファイル、たとえば設定情報ファイル（Config.ini）１５に情報を記述する形で実装する。
【００２１】
プロパティ情報１４は、たとえば、図２に示すように、１画面上に複数のメッセージ表示部品を配置した際に識別するための名前（Name）、表示させるメッセージ（Text）、表示させるメッセージ（Text）のフォント（明朝やゴシックなど）を指定するフォント（Font）、表示させるメッセージ（Text）のフォントサイズを指定するフォントサイズ（FontSize）、表示画面１１上で表示可能な領域のサイズを指定するエリアサイズ（AreaSize）から構成される。
【００２２】
なお、エリアサイズは、手入力で数値を指定してもよいし、表示画面１１上に部品を配置し、サイズを調整することで自動的に設定してもよい。  
また、実際にはこの他にも多数のプロパティ情報が存在する。たとえば、メッセージ表示部品１３を配置した座標情報、背景色やフォントの色などである。しかし、本実施の形態の説明には不要な情報であるため省略する。
【００２３】
設定情報ファイル１５の内容は、たとえば、図２に示すように、チェックモード（CheckMode）、チェックするメッセージ表示部品１３の名前（CheckControlName）、エラー通知の有無（OnError）、トレース記録の有無（Trace）、トレースファイルの名前（TraceFileName）から構成されており、その各設定項目の意味は以下の通りである。
【００２４】
（ａ）チェックモード（CheckMode）  
表示メッセージのチェック有無を指定する。すなわち、表示させるメッセージ（Text）が表示領域（AreaSize）に収まって表示されたかどうかのチェック有無を設定する。たとえば、「True」の場合はチェックし、「False」の場合はチェックしない。なお、当該設定情報ファイル１５が存在しなかった場合は「False」として扱う。
【００２５】
（ｂ）チェックするメッセージ表示部品１３の名前（CheckControlName）  
チェックするメッセージ表示部品１３の名前（Name）を羅列する。なお、ここに何も記載されていない場合、全てのメッセージ表示部品１３がチェック対象となるようにしてもよい。
【００２６】
（ｃ）エラー通知の有無（OnError）  
表示メッセージをチェックした結果、表示領域内に収まらなかった場合、エラーの通知を行なうか否かを指定する。たとえば、「True」の場合はアプリケーションプログラムにエラーを通知し、「False」の場合はアプリケーションプログラムにエラーを通知しない。
【００２７】
（ｄ）トレース記録の有無（Trace）  
メッセージ表示部品１３のトレース記録の有無を設定する。たとえば、「０」の場合はトレースを収集せず、「１」の場合はトレースを収集する（表示領域内に収まらなかったときのみトレースに記録）。また、「２」の場合もトレースを収集する（表示可否に関わらず全てトレースに記録）。
【００２８】
（ｅ）トレースファイルの名前（TraceFileName）  
トレースを保存するファイル名を指定する。たとえば、「C:\Trace.txt」と指定すると、トレースファイル（Trace.txt）にトレース情報が記録される。
【００２９】
次に、たとえば、図２に示すようなアプリケーションおよびプロパティ情報１４、設定情報ファイル１５の記述を例に、図３に示すフローチャートを参照してメッセージ表示部品１３の動作を説明する。なお、図２の例は、メッセージ表示部品１３ａに「1.Customer Management」と表示させるつもりが文字が欠けてしまっている場合を示している。
【００３０】
まず、たとえば、図２に示すアプリケーションの画面が表示される際、メッセージ表示部品１３内にて設定情報ファイル１５の有無をチェックし（ステップＳ１）、設定情報ファイル１５が存在しない場合、メッセージ表示可否のチェックは行なわない（何も行なわない）。
【００３１】
ステップＳ１におけるチェックの結果、設定情報ファイル１５が存在する場合（図２の例では設定情報ファイル１５が存在する）、当該設定情報ファイル１５から各種設定情報を読込む（ステップＳ２）。
【００３２】
設定情報ファイル１５から各種設定情報を読込んだら、まず、チェックモード（CheckMode）が「True」（メッセージ表示可否のチェックを行なう）か否かをチェックする（ステップＳ３）。このチェックの結果、チェックモードが「False」の場合、メッセージ表示可否のチェックは行なわない（何も行なわない）。
【００３３】
ステップＳ３におけるチェックの結果、チェックモードが「True」の場合（図２の例では「True」に設定されている）、チェックするメッセージ表示部品１３の名前（CheckControlName）に当該メッセージ表示部品の名前が記載されているか否かをチェックする（ステップＳ４）。このチェックの結果、チェックするメッセージ表示部品１３の名前が記載されていない場合、メッセージ表示可否のチェックは行なわない（何も行なわない）。
【００３４】
ステップＳ４におけるチェックの結果、チェックするメッセージ表示部品１３の名前が記載されている場合、その名前が記載されているメッセージ表示部品１３がチェック対象となる。  
すなわち、プロパティ情報１４表示するメッセージ（Text）、フォント（Font）、フォントサイズ（FontSize）、および、メッセージ（Text）に含まれる半角文字、全角文字の数などを基に表示に必要なサイズを計算することにより、表示するメッセージ（Text）が表示領域に入るか否かを確認する（ステップＳ５，Ｓ６）。
【００３５】
この確認の結果、表示するメッセージ（Text）が表示領域に入らない場合（表示が欠落する場合）、すなわち、（（ステップＳ５で計算した値）>（実際の表示領域（AreaSize））の場合、設定情報ファイル１５内のトレース記録の有無（Trace）が「１」か否かをチェックする（ステップＳ７）。
【００３６】
このチェックの結果、トレース記録の有無（Trace）が「１」の場合、設定情報ファイル１５内のトレースファイルの名前（TraceFileName）で指定されるトレースファイルに異常だったことを示す情報を記録する（ステップＳ８）。この場合、トレースファイルには、たとえば、［2007/09/20 15:00 Form1.labelCustomerにメッセージ"1. Customer Management"が表示できません。］というような情報が記録される。  
これにより、当該アプリケーションの開発者は、デバッグ作業完了後にトレースファイルを参照することにより、問題点を修正することが可能となる。  
なお、トレース記録の有無（Trace）が「１」でない場合、ステップＳ８の処理は行なわない。
【００３７】
ステップＳ５，Ｓ６における確認の結果、表示するメッセージ（Text）が表示領域に入る場合（表示が欠落しない場合）、設定情報ファイル１５内のトレース記録の有無（Trace）が「２」か否かをチェックする（ステップＳ９）。
【００３８】
このチェックの結果、トレース記録の有無（Trace）が「２」の場合、設定情報ファイル１５内のトレースファイルの名前（TraceFileName）で指定されるトレースファイルに正常だったことを示す情報を記録する（ステップＳ１０）。  
これにより、当該アプリケーションの開発者は、デバッグ作業完了後にトレースファイルを参照することにより、チェック結果することが可能となる。  
なお、トレース記録の有無（Trace）が「２」でない場合、ステップＳ９の処理は行なわない。
【００３９】
次に、設定情報ファイル１５内のエラー通知の有無（OnError）が「True」か否かをチェックする（ステップＳ１１）。このチェックの結果、エラー通知の有無（OnError）が「True」の場合、当該アプリケーションにエラーを通知し（ステップＳ１２）、当該処理を終了する。
【００４０】
図２の例では、エラー通知の有無（OnError）が「True」なので、当該アプリケーションにエラーを通知する。この通知を受けたアプリケーションでは、エラーメッセージの表示などを行なう。これにより、当該アプリケーションの開発者に対し、その場で即時に知らせる場合に便利である。
【００４１】
なお、ステップＳ１１におけるチェックの結果、エラー通知の有無（OnError）が「True」ではなく、「False」の場合、ステップＳ１２の処理は行なわず、当該処理を終了する。
【００４２】
以上説明したように、上記実施の形態によれば、メッセージ表示部品のチェックが自動的に行なわれるので、表示されるメッセージの欠落をその都度目視確認する必要がなく、表示されるメッセージが欠落していた場合、当該アプリケーションの開発者に警告することができ、各国語対応（ローカライズ、グローバライズ）のアプリケーション開発において表示するメッセージの欠落の有無の確認が容易になる。
【００４３】
なお、前記実施の形態では、各種設定情報をプロパティ情報１４と設定情報ファイル１５とに分割した場合を例に説明したが、本発明はこれに限定されるものではなく、たとえば、設定情報ファイル１５の情報をプロパティ情報１４に加えることにより、各部品ごとに設定する方法も可能である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態に係るメッセージ表示部品の概念図。
【図２】本発明に係る各種設定情報の概要について説明する概念図。
【図３】メッセージ表示部品の動作を説明するフローチャート。
【符号の説明】
【００４５】
１１…表示画面、１２…画面の名称、１３…メッセージ表示部品、１４…プロパティ情報、１５…設定情報ファイル。
【図１】
2009193334.tif 000003
【図２】
2009193334.tif 000004
【図３】
2009193334.tif 000005