(57)【特許請求の範囲】
【請求項１】
コンピュータの情報処理を用いて、アプリケーションの国際化対応のための画面を生成する、国際化対応画面生成システムであって、
前記アプリケーションの画面を構築及び描画して出力する処理を行う画面出力機能と、
前記アプリケーションの画面の項目に対応するＵＩオブジェクトを前記国際化対応のための複数の各言語に翻訳する処理を行うＵＩ翻訳機能と、
前記翻訳の際に用いる情報のメンテナンスのためのＵＩを提供する処理を行うメンテナンス機能と、を有し、
前記画面出力機能は、
前記画面の項目に対するＵＩオブジェクトをツリー状に構築する構築部と、
前記ＵＩオブジェクトのツリーを用いて前記画面をレンダリングするレンダリング部と、を有し、
前記メンテナンス機能は、
前記画面及び項目ごとに、翻訳対象とする翻訳位置情報を第１のデータベースに登録・管理する第１のメンテナンスＵＩと、
前記複数の各言語に関する翻訳キーと翻訳値を含む翻訳辞書情報を第２のデータベースに登録・管理する第２のメンテナンスＵＩと、を有し、
前記ＵＩ翻訳機能は、
前記ＵＩオブジェクトのツリーをレンダリングする処理の前に割り込む割り込み部と、
前記割り込み部による前記ＵＩオブジェクトのツリーを入力として、前記第１のデータベースの翻訳位置情報の参照に基づき、翻訳対象となる翻訳位置を解析する処理を行う解析部と、
前記解析部による前記翻訳位置の情報を入力として、前記第２のデータベースの翻訳辞書情報の参照に基づき、当該翻訳位置に対応する翻訳対象の値を翻訳値へ変換する処理を行う翻訳実施部と、を有し、
前記第１のデータベースの前記翻訳位置情報は、前記翻訳位置に相当するＵＩオブジェクトの名称、及び当該ＵＩオブジェクトのフィールドの名称を含む構造であり、
前記解析部は、前記解析の際、前記入力されたＵＩオブジェクトに対する前記翻訳位置情報を前記第１のデータベースからロードし、当該ＵＩオブジェクトのフィールドが前記翻訳対象となる翻訳位置であるかどうかを特定すること、を特徴とする国際化対応画面生成システム。
【請求項２】
請求項１記載の国際化対応画面生成システムにおいて、
前記ＵＩ翻訳機能の前記翻訳実施部による翻訳の処理時に、前記第２のデータベースから前記翻訳値の情報を検索する処理を行い、その際、前記翻訳位置となるＵＩオブジェクトを含む条件により検索すること、を特徴とする国際化対応画面生成システム。
【請求項３】
請求項１記載の国際化対応画面生成システムにおいて、
前記ＵＩ翻訳機能の前記翻訳実施部による翻訳の処理時に、前記第２のデータベースから前記翻訳値の情報を検索する処理を行い、その際、前記翻訳キーとなる名称や文字列を含む条件により検索すること、を特徴とする国際化対応画面生成システム。
【請求項４】
アプリケーションの国際化対応のための画面を生成する情報処理をコンピュータに実行させる、国際化対応画面生成プログラムであって、
前記アプリケーションの画面を構築及び描画して出力する処理を行う画面出力機能を実現するプログラムと、
前記アプリケーションの画面の項目に対応するＵＩオブジェクトを前記国際化対応のための複数の各言語に翻訳する処理を行うＵＩ翻訳機能を実現するプログラムと、
前記翻訳の際に用いる情報のメンテナンスのためのＵＩを提供する処理を行うメンテナンス機能を実現するプログラムと、を有し、
前記画面出力機能のプログラムは、
前記画面の項目に対するＵＩオブジェクトをツリー状に構築する処理と、
前記ＵＩオブジェクトのツリーを用いて前記画面をレンダリングする処理と、を行わせ、
前記メンテナンス機能のプログラムは、
前記画面及び項目ごとに、翻訳対象とする翻訳位置情報を第１のデータベースに登録・管理する第１のメンテナンスＵＩを提供する処理と、
前記複数の各言語に関する翻訳キーと翻訳値を含む翻訳辞書情報を第２のデータベースに登録・管理する第２のメンテナンスＵＩを提供する処理と、を行わせ、
前記ＵＩ翻訳機能のプログラムは、
前記ＵＩオブジェクトのツリーをレンダリングする処理の前に割り込む割り込み処理と、
前記割り込み処理による前記ＵＩオブジェクトのツリーを入力として、前記第１のデータベースの翻訳位置情報の参照に基づき、翻訳対象となる翻訳位置を解析する解析処理と、
前記解析処理による前記翻訳位置の情報を入力として、前記第２のデータベースの翻訳辞書情報の参照に基づき、当該翻訳位置に対応する翻訳対象の値を翻訳値へ変換する翻訳実施処理と、を行わせ、
前記第１のデータベースの前記翻訳位置情報は、前記翻訳位置に相当するＵＩオブジェクトの名称、及び当該ＵＩオブジェクトのフィールドの名称を含む構造であり、
前記解析処理は、前記解析の際、前記入力されたＵＩオブジェクトに対する前記翻訳位置情報を前記第１のデータベースからロードし、当該ＵＩオブジェクトのフィールドが前記翻訳対象となる翻訳位置であるかどうかを特定すること、を特徴とする国際化対応画面生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション（ソフトウェア）等の画面の国際化（複数言語、多言語）対応の技術に関する。特に、画面（国際化対応画面）の生成、画面項目（ＵＩオブジェクト）の翻訳の処理に関する。
【背景技術】
【０００２】
従来の方式においてアプリケーションの国際化対応を行う場合、アプリケーション内の画面（ユーザインタフェース（ＵＩ）となる画面）に出力される自然言語部分（画面タイトル、項目ラベル、メッセージなど）を設定ファイルやデータベースなどに外部化して言語別に保存しておき、画面出力時に該当部分に適切な言語データをセットすることにより、国際化対応画面（国際化対応した内容の画面）の生成を行う。
【０００３】
先行技術例として、特開平８−４４７４７号公報（特許文献１）（「文書作成装置及び言語翻訳方法」）などがある。特許文献１では、指定された複数の翻訳言語及びその翻訳順位をテーブルに記憶し、指定された翻訳対象文字列データを、上記テーブルに従って順次翻訳し、翻訳された言語ごとのデータを一括して表示することが記載されている。特許文献１では、翻訳対象はユーザが指定した位置のみとしており、その翻訳位置（翻訳対象）の言語（文字列）を複数言語へ一括翻訳することを実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−４４７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の方式においては、非国際化対応の既存のアプリケーション等に対して国際化対応を行う場合は、既存コードのそれぞれの出力部分に対して修正が必要になり、それぞれの修正項目は小さいものの、修正範囲は広範囲に及ぶ可能性がある。
【０００６】
また上記の場合、画面出力箇所、それぞれの翻訳ポイント（翻訳が必要な部分）ごとに、国際化対応処理を実装する必要がある。従来は、国際化対応が必要な画面及び項目ごとに、国際化対応処理を実装することが一般的であった。個別に国際化対応処理を実装する必要があるため、国際化対応処理を一元的に管理することは困難であり実現されていなかった。
【０００７】
上述のように、従来の方式では、アプリケーションの画面の国際化対応に係わる修正範囲・量などの大きさ、及び、画面・項目ごとの個別の国際化対応処理の実装による、労力やコストの問題などがある。
【０００８】
以上を鑑み、本発明の主な目的は、アプリケーションの画面の国際化対応に係わり、画面・項目の国際化対応処理の一元管理化により、修正範囲・量の削減を含む労力やコストの削減などを実現できる技術を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の代表的な形態は、アプリケーション等の画面の国際化対応の情報処理を行うシステム（国際化対応画面生成システム）及びプログラム等であって、以下に示す構成を有することを特徴とする。
【００１０】
本発明では、画面の項目に対応するＵＩオブジェクトのオンメモリ翻訳による国際化対応方式を提供する。本発明の方式では、アプリケーション等の画面の国際化対応の処理に係わる、翻訳位置情報・翻訳辞書情報などの管理に基づく一元的な管理を行う。本方式は、画面出力割り込み機能や翻訳位置特定機能などを含む機能（処理部）や、翻訳位置情報・翻訳辞書情報などのデータベース及びそれらのメンテナンス手段などにより実現される。本方式では、画面及び項目の翻訳に関する一元管理、及び国際化対応の画面の自動的な生成を行うことにより、修正範囲・量の削減などが実現される。
【００１１】
本国際化対応画面生成システムは、アプリケーションの画面を構築及び描画して出力する処理を行う画面出力機能と、アプリケーションの画面の項目に対応するＵＩオブジェクトを国際化対応のための複数の各言語に翻訳する処理を行うＵＩ翻訳機能と、翻訳の際に用いる情報のメンテナンスのためのＵＩを提供する処理を行うメンテナンス機能とを有する。
【００１２】
前記画面出力機能は、画面の項目に対するＵＩオブジェクトをツリー状に構築する構築部と、ＵＩオブジェクトのツリーを用いて画面をレンダリングするレンダリング部と、を有する。前記メンテナンス機能は、画面及び項目ごとに、翻訳対象とする翻訳位置情報を第１のデータベースに登録・管理する第１のメンテナンスＵＩと、複数の各言語に関する翻訳キーと翻訳値を含む翻訳辞書情報を第２のデータベースに登録・管理する第２のメンテナンスＵＩとを有する。前記ＵＩ翻訳機能は、ＵＩオブジェクトのツリーをレンダリングする処理の前に割り込む割り込み部と、割り込み部によるＵＩオブジェクトのツリーを入力として、第１のデータベースの翻訳位置情報の参照に基づき、翻訳対象となる翻訳位置を解析する処理を行う解析部と、解析部による翻訳位置の情報を入力として、第２のデータベースの翻訳辞書情報の参照に基づき、当該翻訳位置に対応する翻訳対象の値を翻訳値へ変換する処理を行う翻訳実施部とを有する。
【００１３】
上記構成により、画面出力機能による画面出力の際に、ＵＩ翻訳機能により割り込み、第１のデータベース（翻訳位置情報）及び第２のデータベース（翻訳辞書情報）を組み合わせて用いて、翻訳位置を解析し、当該翻訳位置の値に対する翻訳を実施し、結果を返すことにより、アプリケーションの国際化対応画面を生成する。
【００１４】
また、本システムは、翻訳位置（ＵＩオブジェクトやフィールド）と翻訳キー（名称や文字列）との両面から検索して翻訳可能とするデータ保持方式及び処理方式を備える。
【００１５】
また、本システムは、画面項目の翻訳位置の特定を行うために、ＵＩオブジェクト名称、及びフィールド名などのプログラム構造体を利用するためのデータ保持方式及び処理方式を備える。
【発明の効果】
【００１６】
本発明の代表的な形態によれば、アプリケーションの画面の国際化対応に係わり、画面・項目の国際化対応処理の一元管理化により、修正範囲・量の削減を含む労力やコストの削減などを実現できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態のシステム（国際化対応画面生成システム）の全体構成を示す図である。
【図２】本実施の形態のシステムを実現（稼働）するコンピュータの構成例を示す図である。
【図３】（ａ）画面と（ｂ）ＵＩオブジェクトツリーのイメージ（例）を示す図である。
【図４】翻訳位置ＤＢのレコード（翻訳位置情報）のイメージ（例）を示す図である。
【図５】翻訳辞書ＤＢのレコード（翻訳辞書情報）のイメージ（例）を示す図である。
【図６】翻訳位置解析部の翻訳位置解析処理のフローチャートである。
【図７】翻訳実施部の翻訳処理のフローチャートである。
【図８】本実施の形態において生成された画面イメージを示す図であり、（ａ）日本語、（ｂ）英語、（ｃ）ドイツ語の場合である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１９】
［方式（概要）］
本実施の形態の方式（国際化対応画面生成システム等）では、前述の目的に対し、図１のような構成（１０１〜１０３の機能を含む）を有する。本方式は、国際化対応の対象アプリケーション（国際化対応が必要な既存アプリケーション等）の画面（１０４）を生成する際に、画面項目に対応するＵＩオブジェクトのオンメモリでの翻訳を行う機能を有する。本方式では、生成される画面（１０４）に対して、翻訳位置を別途定義しておく。これは、翻訳位置メンテナンスＵＩ１１６による翻訳位置ＤＢ１１８の翻訳位置情報に相当する。そして、これに基づき、指定された画面上の翻訳位置を、オンメモリで翻訳処理する。これは、画面出力機能１０１による画面１０４を生成・出力する処理に対する、ＵＩ翻訳機能１０２による処理（画面出力割り込み部１１３による割り込み、翻訳位置解析部１１４による翻訳位置の解析、及び翻訳実施部１１５による翻訳変換処理など）による。これにより、対象アプリケーションの国際化対応画面（１０４）を自動的に生成することができる。
【００２０】
また画面出力機能１０１のＵＩオブジェクト構築部１１１では、画面（１０４）の出力を行うために、メモリ上に、画面項目に対応するＵＩオブジェクトをツリー状（ツリー構造、階層構造）に組み上げる（構築する）処理が行われる（図２、メモリ２０２上のＵＩオブジェクトツリー２１３）。このようにＵＩオブジェクトのツリーによって画面を表現することによって、翻訳位置特定機能（翻訳位置解析部１１４）で翻訳位置の特定（解析）が容易になる。また一般的なオブジェクト指向言語によるＵＩ画面の開発では、ＵＩオブジェクトをツリー状に組み合わせることで画面出力を実現しているケースが多いため、本方式は自然な方式である。
【００２１】
また、上記メモリ上に構築されたツリー状のＵＩオブジェクトを、レンダリング部１１２により実際の画面出力用に描画（レンダリング）する前に、ＵＩ翻訳機能１０２の画面出力割り込み部１１３により、翻訳処理を割り込ませる。この割り込みの翻訳処理によって、すべての画面出力（対象の画面及び項目）を、翻訳済みＵＩオブジェクトに変換することが可能である。これによって、複数の各画面及び複数の各項目に関する国際化対応を一元的に実施可能である。
【００２２】
また、翻訳位置解析部１１４では、上記割り込みによる入力されたＵＩオブジェクト（群）のうち、翻訳が必要な箇所（翻訳位置）を、翻訳位置ＤＢ１１８の翻訳位置情報と照らし合わせて解析・抽出する。翻訳位置解析部１１４により抽出された翻訳部位（翻訳実施対象となる翻訳位置の情報など）は、翻訳実施部１１５に渡される。翻訳実施部１１５では、複数の言語（翻訳言語）に対応した翻訳辞書ＤＢ１１９の翻訳辞書情報を利用して、実際に必要な言語の文字列など（翻訳値）への翻訳（変換）が実施され、この翻訳された情報（翻訳値）は、翻訳位置解析部１１４へ返され、翻訳位置解析部１１４では、対象の翻訳位置の値に対しこの翻訳値による置き換えが実施される。そして、画面出力割り込み部１１３を介して画面出力機能１０１へと結果が返される。
【００２３】
また、メンテナンス機能１０３を用いることにより、翻訳の機能（１０２）を、他の言語に対応するように置き換えることも可能としており、複数言語対応が容易になる。
【００２４】
本方式では、これらの一連の処理を行う機能（１０１〜１０３）により、アプリケーションの画面の項目（ＵＩオブジェクト）に関する、国際化対応画面の自動的な生成、及び一元的な管理を実現している。
【００２５】
［システム構成］
図１は、本発明の一実施の形態のシステムの全体構成を示す。本システムは、画面出力機能１０１、ＵＩ翻訳機能１０２、及びメンテナンス機能１０３、の３つの機能（処理部）を有して構成されている。画面１０４は、生成される画面（そのデータ等）を示す。なお本実施の形態の説明で、画面（１０４）とは、アプリケーションのＵＩ（ユーザインタフェース）画面を指す。例えばＷｅｂアプリケーションの場合であれば、Ｗｅｂ画面である。
【００２６】
画面出力機能１０１は、アプリケーションの画面（１０４）の生成・出力を行う機能である。画面出力機能１０１は、ＵＩオブジェクト構築部１１１、レンダリング部１１２を有する。
【００２７】
ＵＩオブジェクト構築部１１１は、画面（１０４）をレンダリングするために、ツリー状に画面要素（画面の項目に対応するＵＩオブジェクト（群））を構築する処理を行う（図２、ＵＩオブジェクトツリー２１３）。
【００２８】
レンダリング部１１２は、ＵＩオブジェクト構築部１１１の出力（ＵＩオブジェクトツリー２１３）をもとに、ＵＩオブジェクトをレンダリングして、画面１０４を生成する処理を行う。
【００２９】
ＵＩ翻訳機能１０２は、画面出力機能１０１の画面出力の際に、割り込んで、画面項目（ＵＩオブジェクト）の翻訳処理を行う機能である。ＵＩ翻訳機能１０２は、画面出力割り込み部１１３、翻訳位置解析部１１４、及び翻訳実施部１１５を有し、翻訳位置ＤＢ１１８、及び翻訳辞書ＤＢ１１９を利用する。ＵＩ翻訳機能１０２は、ＵＩオブジェクト構築部１１１で生成されたＵＩオブジェクト群（ＵＩオブジェクトツリー２１３）を、国際化対応のために適切な言語に翻訳する処理を行う。
【００３０】
画面出力割り込み部１１３は、ＵＩオブジェクト（画面項目）を翻訳変換するためにハンドリングする処理を行う。画面出力割り込み部１１３は、ＵＩオブジェクト構築部１１１の出力（ＵＩオブジェクトツリー２１３）に対して割り込み、翻訳変換後の結果を返す。
【００３１】
翻訳位置解析部１１４は、翻訳位置ＤＢ１１８の翻訳位置情報の参照をもとに、画面出力割り込み部１１３からのＵＩオブジェクトのツリーを走査して翻訳位置（翻訳部位）を解析・抽出する処理を行う。
【００３２】
翻訳実施部１１５は、翻訳辞書ＤＢ１１９の翻訳辞書情報の参照をもとに、翻訳位置解析部１１４による翻訳位置（翻訳部位）の情報及び当該位置（部位）に対応する翻訳対象の値（文字列）に対して、翻訳変換（翻訳値への変換）を実施する処理を行う。
【００３３】
メンテナンス機能１０３は、ＵＩ翻訳機能１０２の翻訳処理に関して必要な翻訳位置や翻訳辞書などの情報（対応する１１８，１１９）をメンテナンスする処理を行う機能であり、メンテナンスのためのＵＩ（画面など）やＤＢ（１１８，１１９）をユーザに対して提供する。メンテナンス機能１０３は、翻訳位置メンテナンスＵＩ１１６、及び翻訳辞書メンテナンスＵＩ１１７を有し、これらにより対応する翻訳位置ＤＢ１１８及び翻訳辞書ＤＢ１１９をメンテナンス（読み書き）する。
【００３４】
翻訳位置メンテナンスＵＩ１１６は、翻訳位置ＤＢ１１８をメンテナンスするＵＩであり、翻訳位置ＤＢ１１８に対する翻訳位置情報の登録や更新などを可能とする画面などをユーザに提供する。翻訳位置ＤＢ１１８は、翻訳位置情報を保持するＤＢ（データベース）である。ユーザはコンピュータ（図２）の操作により本ＵＩ（１１６）を用いることにより、翻訳対象の画面及び項目に関する翻訳位置情報を定義することができる。
【００３５】
翻訳辞書メンテナンスＵＩ１１７は、翻訳辞書ＤＢ１１９をメンテナンスするＵＩであり、翻訳辞書ＤＢ１１９に対する翻訳辞書情報の登録や更新などを可能とする画面などをユーザに対して提供する。翻訳辞書ＤＢ１１９は、翻訳辞書情報を保持するＤＢである。ユーザはコンピュータ（図２）の操作により本ＵＩ（１１７）を用いることにより、対象の複数言語の各言語及びその辞書情報を設定・変更することができる。
【００３６】
図２は、本システム（図１）を実現するハードウェア・ソフトウェアの具体構成例として、本システム（図１）を稼働させるコンピュータの構成例を示す。本コンピュータは、ユーザ（アプリケーションの画面の開発者、国際化対応の作業者など）が利用する一般的なＰＣなどであり、プロセッサ２０１、メモリ２０２（プロセッサ２０１が直接利用するメモリ）、入力装置２０３（キーボード等）、出力装置２０４（ディスプレイ等）、通信Ｉ/Ｆ（インタフェース）２０５、及びＨＤＤ（ハードディスクドライブ）２０６等が接続された構成である。
【００３７】
プロセッサ２０１は、ＨＤＤ２０６（２次メモリ）等に格納されている本実施の形態のプログラムである機能プログラム２１０からメモリ２０２上へロードした機能プログラムコード２１１を実行することにより、図１の各機能（１０１〜１０３）を含む処理機能を実現する。これにより、画面（１０４）の生成に伴うオンメモリでの翻訳処理を行う構成である。なおオンメモリ処理として、図２では、プロセッサ２０１により利用される機能プログラム２１０の全コードがメモリ２０２上にロードされた状態で実行処理される。またメモリ２０２上では、画面データ２１２（画面１０４のデータ）、ＵＩオブジェクトツリー２１３（ＵＩオブジェクト構築部１１１により構築されたＵＩオブジェクト群の情報）、等のデータ情報が処理される。またメモリ２０２上では、ＨＤＤ２０６（２次メモリ）の翻訳位置ＤＢ２１６（図１の１１８）から読み出した翻訳位置情報２１４や、翻訳辞書ＤＢ２１７（図１の１１９）から読み出した翻訳辞書情報２１５等が処理される。
【００３８】
なお、図２の構成に限らず、例えばネットワークに接続されたサーバによりサービス処理をユーザ端末に対して提供する構成などとしてもよい。上記に基づき、以下、各部の動作などについて詳細に説明する。
【００３９】
［画面出力機能］
まず画面出力機能１０１に関して説明する。ＵＩオブジェクト構築部１１１では、画面（１０４）の出力を行うために、画面項目をツリー状のＵＩオブジェクト群で表現されるようにＵＩオブジェクト（ＵＩオブジェクトツリー２１３）の構築を行う。ＵＩオブジェクトとは、ページ、パネル、フォーム、ラベル、セレクトボックス、等のコントロール群を指し、最終的に出力される画面を構成する要素のことである（公知技術）。
【００４０】
図３に、本実施の形態で国際化対応の対象としている画面とＵＩオブジェクトのイメージ（例）を示す。（ａ）は、画面例としてユーザ登録画面（一部）を示し、「基本情報」の欄で「ユーザ名」や「年齢」の情報をフォーム等（３０１，３０２）に入力して登録が可能な例である。（ｂ）は、（ａ）の画面（一部）に対応したＵＩオブジェクトツリー（一部）を示す。ＵＩオブジェクトツリー（２１３と対応）は、プログラム構造体により実現され、例示するページ、フォーム、ラベル、等の要素によるツリー構造を有する。
【００４１】
ＵＩオブジェクト構築部１１１により上記のようにツリー状に構成されたＵＩオブジェクト（ＵＩオブジェクトツリー２１３）は、レンダリング部１１２で処理され、画面１０４として出力される。
【００４２】
［メンテナンス機能］
メンテナンス機能１０３では、翻訳位置メンテナンスＵＩ１１６より入力された翻訳位置情報を翻訳位置ＤＢ１１８に保管する。この翻訳位置情報は、翻訳位置解析部１１４で利用される。
【００４３】
図４に、翻訳位置ＤＢ１１８のレコード（翻訳位置情報）のイメージ（例）を示す。なお図４，図５の例は図３の例と対応している。この翻訳位置情報は、画面上の翻訳位置、翻訳項目（翻訳対象）を保持する情報であり、図４のフォーマットでは、「ＵＩオブジェクト名」、「フィールド名」の列を有する。例えば、翻訳位置（翻訳対象）として“UserRegPage:title”があることを定義している。
【００４４】
また、メンテナンス機能１０３では、翻訳辞書メンテナンスＵＩ１１７より入力された翻訳辞書情報を翻訳辞書ＤＢ１１９に保管する。この翻訳辞書情報は、翻訳実施部１１５で利用される。
【００４５】
図５に、翻訳辞書ＤＢ１１９のレコード（翻訳辞書情報）のイメージ（例）を示す。この翻訳辞書情報は、各画面項目に対応するＵＩオブジェクトの訳語（翻訳値）を、言語別（例えば、日本語、英語、ドイツ語など）に保持している。図５のフォーマットでは、「翻訳位置」、「翻訳キー」、「言語」、「翻訳値」の列を有する。例えば、「翻訳位置」（翻訳対象）が“UserRegPage:title”の場合、「翻訳キー」（翻訳対象となる値、文字列）が“ユーザ登録画面”であり、「言語」（翻訳言語）が“en”（英語）であり、「翻訳値」（翻訳での置き換え後の値）が“User Registration”である（後述の図８とも対応）。
【００４６】
［ＵＩ翻訳機能−画面出力割り込み部］
ＵＩ翻訳機能１０２では、まず、画面出力割り込み部１１３において、画面出力機能１０１に対して割り込んで、翻訳変換処理を行う。即ち、画面出力割り込み部１１３は、ＵＩオブジェクト構築部１１１で生成されたＵＩオブジェクト（ＵＩオブジェクトツリー２１３）を処理対象として、レンダリング部１１２で処理する前に、割り込んで、翻訳位置解析部１１４及び翻訳実施部１１５を用いた翻訳変換処理を行わせる。画面出力割り込み部１１３でハンドリングされた処理対象（翻訳対象）のＵＩオブジェクト（群）は、翻訳の必要がある場合には、翻訳位置解析部１１４に渡される。そして、画面出力割り込み部１１３では、翻訳変換処理後のＵＩオブジェクトを翻訳位置解析部１１４から受け取り、画面出力機能１０１のレンダリング部１１２に受け渡す。
【００４７】
［ＵＩ翻訳機能−翻訳位置解析処理］
翻訳位置解析部１１４では、翻訳位置ＤＢ１１８の情報を用いながら、画面出力割り込み部１１３から入力された、ツリー状に保持されたＵＩオブジェクト群（ＵＩオブジェクトツリー２１３）の解析を行い、翻訳対象とする位置（翻訳位置）及びその値（文字列）を抽出する。
【００４８】
図６は、翻訳位置解析部１１４での処理を示す（Ｓ１０１等は処理ステップを表す）。まず、入力されたＵＩオブジェクトに対する翻訳位置情報を翻訳位置ＤＢ１１８からロードする（Ｓ１０１）。以下、Ｓ１０２〜Ｓ１０８は、入力ＵＩオブジェクトのフィールド分の処理ループである。翻訳位置解析部１１４は、入力ＵＩオブジェクトが保持するフィールドを走査し、当該フィールドが翻訳対象であった場合（Ｓ１０３−Ｙ）は、翻訳実施部１１５を呼び出して翻訳を依頼し（Ｓ１０４）、翻訳実施部１１５からの返却値（翻訳結果）として得た、変換された翻訳データ（翻訳値）によって、当該フィールドの値を置き換える（Ｓ１０５）。
【００４９】
また上記で当該フィールドが翻訳対象ではない場合（Ｓ１０３−Ｎ）において、当該フィールドがサブＵＩオブジェクト（ツリー構造の階層の下位のＵＩオブジェクト）であった場合（Ｓ１０６−Ｙ）は、当該フィールドを入力（入力オブジェクト）として再帰的に本処理（翻訳位置解析部１１４の処理）を呼び出して同様に実施する（Ｓ１０７）。
【００５０】
これらの処理ループによって、ＵＩオブジェクトのツリー内におけるすべての翻訳対象が変換される。変換されたＵＩオブジェクトツリーは、画面出力割り込み部１１３に返却される。
【００５１】
［ＵＩ翻訳機能−翻訳実施処理］
翻訳実施部１１５では、翻訳辞書ＤＢ１１９の情報を用いながら、翻訳位置解析部１１４から入力された翻訳位置の情報及び対応する翻訳実施対象の値（文字列）などをもとに、対象言語への翻訳変換を行う（例えば日本語の文字列から英語の文字列へ変換）。
【００５２】
図７は、翻訳実施部１１５での処理を示す。翻訳実施部１１５は、まず入力された翻訳位置の情報と翻訳対象の文字列（翻訳キー）と言語（翻訳言語）との３つのキー（検索キー）により、翻訳辞書ＤＢ１１９を検索し、合致するレコードをロードする（Ｓ２０１）。上記３つのキー情報は、図５の翻訳辞書情報の列（翻訳位置、翻訳キー、言語）と対応している。上記検索の結果、合致するレコードが存在する場合（Ｓ２０２−Ｙ）は、そのレコードの翻訳値を結果（戻り値）とする（Ｓ２０３）。
【００５３】
上記第１の検索処理（Ｓ２０１）で合致するレコードが見つからない場合（Ｓ２０２−Ｎ）は、次に、第２の検索処理として、翻訳位置と翻訳言語との２つのキーで合致するレコードの検索を行う（Ｓ２０４）。この結果、該当レコードが存在する場合（Ｓ２０５−Ｙ）は、そのレコードの翻訳値を結果とする（Ｓ２０３）。
【００５４】
上記第２の検索処理（Ｓ２０４）でも合致するレコードが見つからない場合（Ｓ２０５−Ｎ）は、更に、第３の検索処理として、翻訳対象の文字列（翻訳キー）と翻訳言語との２つのキーで合致するレコードの検索を行う（Ｓ２０６）。この結果、該当レコードが存在する場合（Ｓ２０７−Ｙ）は、そのレコードの翻訳値を結果とする（Ｓ２０３）。
【００５５】
以上の検索処理で合致するレコードが見つからない場合（Ｓ２０７−Ｎ）は、入力値である翻訳対象の文字列（翻訳キー）をそのまま結果（戻り値）とする（Ｓ２０８）。上記結果が翻訳位置解析部１１４に返却される。
【００５６】
［画面］
図８に、本方式により得られる国際化対応画面（画面１０４）のイメージ（例）を示す。図３の例と同様の画面１０４に関して、（ａ）は日本語、（ｂ）は英語、（ｃ）はドイツ語の場合である。例えば（ａ）の“ユーザ登録画面”文字列は、（ｂ）の英語の場合、“User Registration”に翻訳変換されている。
【００５７】
［効果等］
以上のように、本実施の形態の方式によれば、アプリケーションの画面（１０４）の国際化対応に係わり、画面・項目（ＵＩオブジェクト）の国際化対応処理（翻訳）の一元管理化により、修正範囲・量の削減を含む労力やコストの削減などを実現できる。本実施の形態では、画面出力割り込み機能（１１３）や翻訳位置特定機能（翻訳位置解析部１１４）などを含む機能、並びに翻訳位置情報（１１８）及び翻訳辞書情報（１１９）に基づく一元的な管理、及びオンメモリ翻訳の方式を実現している。これにより、国際化対応の画面の自動的な生成を行うことができ、修正範囲・量の削減などが可能である。一元管理などにより、既存処理に手を加えること無く又は少なく、複数言語に対応するアプリケーション等を効率的に開発可能である。
【００５８】
本方式の利用ケースとして、例えば、国際化対応の必要がある新規のアプリケーションに対して、国際化対応画面の効率的な開発が可能である。また、元々国際化対応を意識していない既存のアプリケーションに対しても、後開発において国際化対応が可能である。
【００５９】
前記特許文献１等の先行技術例では、翻訳位置（翻訳対象）が固定的である。一方、本発明の方式では、翻訳位置を、アプリケーションのメタ情報として保持しており（翻訳位置ＤＢ１１８の翻訳位置情報に対応する）、アプリケーションの画面の一括翻訳、及び国際化対応時の翻訳処理の一元管理を実現している。
【００６０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００６１】
本発明は、アプリケーション等のＵＩ全般の開発のための情報処理システム等に利用可能である。
【符号の説明】
【００６２】
１０１…画面出力機能、１０２…ＵＩ翻訳機能、１０３…メンテナンス機能、１０４…画面、１１１…ＵＩオブジェクト構築部、１１２…レンダリング部、１１３…画面出力割り込み部、１１４…翻訳位置解析部、１１５…翻訳実施部、１１６…翻訳位置メンテナンスＵＩ、１１７…翻訳辞書メンテナンスＵＩ、１１８，２１６…翻訳位置ＤＢ、１１９，２１７…翻訳辞書ＤＢ、２０１…プロセッサ、２０２…メモリ、２０３…入力装置、２０４…出力装置、２０５…通信Ｉ/Ｆ、２０６…ＨＤＤ（２次メモリ）、２１０…機能プログラム、２１１…機能プログラムコード、２１２…画面データ、２１３…ＵＩオブジェクトツリー、２１４…翻訳位置情報、２１５…翻訳辞書情報。
【図１】
0005596517.tif 000002
【図２】
0005596517.tif 000003
【図３】
0005596517.tif 000004
【図４】
0005596517.tif 000005
【図５】
0005596517.tif 000006
【図６】
0005596517.tif 000007
【図７】
0005596517.tif 000008
【図８】
0005596517.tif 000009