(57)【要約】【課題】  利用者にロケール情報を選択させずに、且つブラウザから送信されるＨＴＴＰリクエストのロケール情報を用いずに、利用者のロケールを設定する。【解決手段】  実施形態のロケール用フィルタ手段は、入力された文字列を受けると、アプリケーションプログラムの実行の前に、ロケールをメモリに設定する処理を割り込ませるように、当該文字列を送出する。実施形態の文字コード変換手段は、前記送出された文字列に含まれる各文字を文字コードに変換する。実施形態のロケール判定手段は、前記各文字が変換された文字コードと、ロケール毎文字コード定義手段に定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定する。実施形態のロケール設定手段は、前記判定されたロケールを前記メモリに設定する処理を実行する。【選択図】図３
2012221231.tif 000002
【特許請求の範囲】
【請求項１】
入力された文字列に応じたロケールが設定されるメモリと、前記ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサとを備えたサーバ装置に用いられ、前記文字列に応じたロケールを前記メモリに設定する処理を前記プロセッサに実行させるロケール設定プログラムであって、
前記サーバ装置を、
予めロケール毎に文字コード範囲が定義されたロケール毎文字コード定義手段、
前記入力された文字列を受けると、前記アプリケーションプログラムの実行の前に、前記ロケールを前記メモリに設定する処理を割り込ませるように、当該文字列を送出するロケール用フィルタ手段、
前記送出された文字列に含まれる各文字を文字コードに変換する文字コード変換手段、
前記各文字が変換された文字コードと、前記ロケール毎文字コード定義手段に定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定するロケール判定手段、
前記判定されたロケールを前記メモリに設定する処理を実行するロケール設定手段、
として機能させるためのロケール設定プログラム。
【請求項２】
請求項１に記載のロケール設定プログラムにおいて、
前記ロケール判定手段は、前記変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定することを特徴とするロケール設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ロケール設定プログラムに関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションは、多くの場合、様々なロケール（国、言語）で利用可能とするように、国際化に対応することが求められている。国際化に対応したＷｅｂアプリケーションは、利用者の所属するロケールに合わせて、表示する文章の言語を切り替える処理や、利用者が入力した情報をロケール毎に用意されたチェックルールに基づいてチェックする処理等というように、利用者のロケール毎の処理が実装される。ここで、チェックする処理は、例えば、日本ロケールの場合には日付のフォーマットがYYYY/MM/DDであるかをチェックする処理であり、米国ロケールの場合には日付のフォーマットがMM/DD/YYYYであるかをチェックする処理等が該当する。
【０００３】
このようなロケール毎の処理を実現するには、Ｗｅｂアプリケーションが利用者のロケールを取得する必要がある。ロケールを取得する処理としては、ブラウザに設定されたロケールをＨＴＴＰ（HyperText Transfer Protocol）リクエストから取得する手法と、利用者に明示的にロケールを選択させて取得する手法とが一般的に知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Struts Validator Guide”、The Apache Software Foundation 発行、インターネット<URL: http://struts.apache.org/1.3.10/faqs/validator.html>.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上説明したように、Ｗｅｂアプリケーションがロケールを取得する処理としては、２つの一般的な手法が知られている。
【０００６】
１つ目は、ブラウザから送信されるＨＴＴＰリクエストの「Accept-Language HTTPヘッダーを参照して、ブラウザに設定されたロケールを取得し、これを利用者のロケールとする手法である。本手法を利用する技術には、オープンソースソフトウェアのＷｅｂアプリケーションであるStrutsに搭載されているメッセージリソース機能がある。
【０００７】
メッセージリソース機能によれば、ブラウザに設定されたロケール毎に、Ｗｅｂアプリケーションの画面の文字列が切替表示される。このため、利用者の所属するロケールとブラウザのロケールが異なる場合（例、日本に来たアメリカ人が、日本のＰＣ（personal computer）を使ってＷｅｂアプリケーションにアクセスする場合）、利用者のロケールに対応した処理を実行できない不都合がある。
【０００８】
このような不都合を解消する手法として、利用者に明示的にロケールを選択させる手法があり、これが２つ目の手法である。ＩＢＭ（登録商標）、富士通（登録商標）等の企業のＷｅｂサイトでは、トップページに配置されたロケール情報（ロケール選択ボタン）のいずれかを利用者が選択すると、選択されたロケール情報に応じた言語の文章が画面に表示される。但し、２つ目の手法では、ロケール情報を選択する、という余計な操作を利用者が行なう必要がある。
【０００９】
本発明が解決しようとする課題は、利用者にロケール情報を選択させずに、且つブラウザから送信されるＨＴＴＰリクエストのロケール情報を用いずに、利用者のロケールを設定し得るロケール設定プログラムを提供することである。
【課題を解決するための手段】
【００１０】
実施形態のロケール設定プログラムは、入力された文字列に応じたロケールが設定されるメモリと、前記ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサとを備えたサーバ装置に用いられる。実施形態のロケール設定プログラムは、前記文字列に応じたロケールを前記メモリに設定する処理を前記プロセッサに実行させる。
【００１１】
実施形態のロケール設定プログラムは、前記サーバ装置を、ロケール毎文字コード定義手段、ロケール用フィルタ手段、文字コード変換手段、ロケール判定手段、ロケール設定手段、として機能させるためのプログラムである。
【００１２】
前記ロケール毎文字コード定義手段は、予めロケール毎に文字コード範囲が定義されている。
【００１３】
前記ロケール用フィルタ手段は、前記入力された文字列を受けると、前記アプリケーションプログラムの実行の前に、前記ロケールを前記メモリに設定する処理を割り込ませるように、当該文字列を送出する。
【００１４】
前記文字コード変換手段は、前記送出された文字列に含まれる各文字を文字コードに変換する。
【００１５】
前記ロケール判定手段は、前記各文字が変換された文字コードと、前記ロケール毎文字コード定義手段に定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定する。
【００１６】
前記ロケール設定手段は、前記判定されたロケールを前記メモリに設定する処理を実行する。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態に係るクライアントサーバシステムの構成を示す模式図である。
【図２】同実施形態におけるロケール毎文字コード定義部を説明するための模式図である。
【図３】同実施形態における動作を説明するためのシーケンス図である。
【図４】同実施形態における動作を説明するためのフローチャートである。
【図５】同実施形態における動作を説明するためのシーケンス図である。
【図６】第２の実施形態に係るクライアントサーバシステムの構成を示す模式図である。
【図７】同実施形態における動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００１９】
＜第１の実施形態＞
図１は第１の実施形態に係るロケール設定プログラムが適用されたロケール設定部を備えたサーバ装置及びクライアント装置からなるクライアントサーバシステムの構成を示す模式図であり、図２はロケール毎文字コード定義部を説明するための模式図である。このクライアントサーバシステムは、図１に示すように、サーバ装置１００及びクライアント装置２００を備えている。
【００２０】
ここで、サーバ装置１００は、入力された文字列に応じたロケールが設定されるメモリ（図示せず）と、ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサ（図示せず）とを備えている。また、サーバ装置１００は、文字列に応じたロケールをメモリに設定する処理をプロセッサに実行させるロケール設定プログラムを用いている。また、サーバ装置１００は、アプリケーションサーバプログラムを用いている。
【００２１】
具体的には、サーバ装置１００は、アプリケーションサーバプログラムに基づくアプリケーションサーバ部１０１と、ロケール設定プログラムに基づくロケール設定部１０２と、Ｗｅｂアプリケーションプログラム（アプリケーションプログラム）に基づくサーバアプリケーション部１０３とを備えている。
【００２２】
アプリケーションサーバ部１０１は、一般的なアプリケーションサーバプログラムを実行するプロセッサ（図示せず）の一機能からなり、ブラウザ部２０１から送信されたリクエストを受信し、サーバアプリケーション部１０３を実行する機能をもっている。アプリケーションサーバ部１０１を構成するアプリケーションサーバプログラムとしては、例えば、WebSphere（登録商標）、WebLogic（登録商標）等のプログラムが使用可能となっている。
【００２３】
ロケール設定部１０２は、ロケール設定プログラムを実行するプロセッサの一機能からなり、利用者のロケールを自動的に判定してロケールを内部に設定する機能と、設定されたロケールをサーバアプリケーション部１０３が参照するための機能とをもっている。なお、本明細書中、ロケールの設定に関する「設定」の用語は、「保存」、「書込」又は「判定保存」等の用語に読み替えてもよい。
【００２４】
ロケール設定部１０２は、ロケール用フィルタ部１０２ａ、ロケール判定部１０２ｂ、文字コード変換部１０２ｃ、ロケール毎文字コード定義部１０２ｄ及びロケール保存部１０２ｅを備えている。
【００２５】
ロケール用フィルタ部１０２ａは、利用者によりブラウザ部２０１に入力された文字列をアプリケーションサーバ部１０１を介して文字列を受けると、アプリケーションプログラムの実行の前に、当該文字列に応じたロケールをロケール保存部１０２ｅ（メモリ）に設定する処理を割り込ませるように、当該文字列をロケール判定部１０２ｂに送出する機能をもっている。
【００２６】
ロケール判定部１０２ｂは、ロケール用フィルタ部１０２ａから送出された文字列を文字コード変換部１０２ｃに送出することにより、文字コード変換部１０２ｃから当該文字列に含まれる各文字が変換された文字コードを受ける機能と、当該各文字が変換された文字コードと、ロケール毎文字コード定義部１０２ｄに定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定するロケール判定機能と、当該判定されたロケールをロケール保存部１０２ｂに設定する処理を実行するロケール設定機能とをもっている。また、ロケール判定部１０２ｂのロケール判定機能においては、変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定する。例えば、半角アルファベットと全角カタカナが混在した文字列の場合、半角アルファベットが日本と英語のロケールに対応し、全角カタカナが日本のロケールに対応する結果、全ての文字コードを含む文字コード範囲に対応するロケールは、日本のロケールとなる。
【００２７】
文字コード変換部１０２ｃは、ロケール判定部１０２ｂから送出された文字列に含まれる各文字を文字コードに変換するものであり、変換した文字コードをロケール判定部１０２ｂへ返す機能をもっている。例えば東芝（登録商標）に関する入力が行われ、“東芝”の文字列が送出された場合、文字コード変換部１０２ｃは、Unicodeの“6771 829D”をロケール判定部１０２ｂに返す。
【００２８】
ロケール毎文字コード定義部１０２ｄは、図２に示すように、予め各ロケール（日本、中国、アメリカ等）毎に文字コード範囲が定義されており、ロケール判定部１０２ｂからロケールを含む文字コード取得要求を受けると、そのロケールに対応した文字コード範囲を返す機能をもっている。例えば、日本を表すロケールを含む文字コード取得要求を受けた場合、日本語で利用される全角・半角数字、ひらがな、全角・半角アルファベット等の文字コード範囲を返す。なお、ロケール毎文字コード定義部１０２ｄは、予め各ロケール（日本、中国、アメリカ等）毎に文字コード範囲が定義されていればよいので、ロケールを受けると文字コード範囲を返す機能を省略してもよい。この機能を省略した場合、ロケール毎文字コード定義部１０２ｄは、例えば、予め各ロケール毎に文字コード範囲が定義されたデータテーブルとして実現すればよい。
【００２９】
ロケール保存部１０２ｅは、利用者の所属するロケールがロケール判定部１０２ｂから設定されて当該ロケールを保存するメモリである。ロケール保存部１０２ｅに保存されたロケールは、ロケール設定部１０２を使用するサーバアプリケーション部１０３から参照可能となっている。
【００３０】
サーバアプリケーション部１０３は、ロケールに応じた処理が記述されたＷｅｂアプリケーションプログラムを実行するプロセッサの一機能からなり、ロケール設定部１０２が設定した利用者のロケールを取得する機能と、取得したロケールに応じて、ロケール毎に用意した処理やブラウザに表示するメッセージを切替可能に実行する機能とをもっている。
【００３１】
一方、クライアント装置２００は、ブラウザ部２０１を備えている。
【００３２】
ブラウザ部２０１は、一般的なＷｅｂブラウザのプログラムを実行するプロセッサ（図示せず）の一機能からなり、利用者の操作に応じて、アプリケーションサーバ部１０１を介してサーバアプリケーション部１０３を実行させる機能をもっている。また、ブラウザ部２０１は、利用者により入力された情報（氏名、生年月日等）を格納したＨＴＴＰリクエストをアプリケーションサーバ部１０１へ送信する機能と、アプリケーションサーバ部１０１から受けたレスポンスを表示する機能とをもっている。
【００３３】
次に、以上のように構成されたクライアントサーバシステムの動作を図３乃至図５を用いて説明する。
【００３４】
ブラウザ部２０１は、利用者の入力操作に応じて、表示画面への文字列の入力を受け付ける（ＳＴ１）。
【００３５】
ブラウザ部２０１は、利用者のクリック操作に応じて、表示画面上の送信ボタン等のクリック操作を受け付ける（ＳＴ２）。
【００３６】
ブラウザ部２０１は、ステップＳＴ１で入力を受け付けた文字列を格納したリクエストをアプリケーションサーバ部１０１に送信する（ＳＴ３）。
【００３７】
アプリケーションサーバ部１０１は、リクエストを受信すると、サーバアプリケーション部１０３を実行する前に、リクエストから抽出した文字列を含む実行要求をロケール用フィルタ部１０２ａに送出する（ＳＴ４）。
【００３８】
ロケール用フィルタ部１０２ａは、実行要求を受けると、サーバアプリケーション部１０３が実行される前に、ロケール設定処理（ステップＳＴ５〜ＳＴ１９）を割り込ませる。
【００３９】
ロケール設定処理では、ロケール用フィルタ部１０２ａは、この実行要求から抽出した文字列を含むロケール判定要求をロケール判定部１０２ｂに送出して、当該文字列に対するロケール判定処理（図４に示すＳＴ６〜ＳＴ１８）を要求する（ＳＴ５）。
【００４０】
ロケール判定部１０２ｂは、初期化操作を実行し、図示しないメモリ内の第１メモリ領域listには全ロケールのリスト（“日本語”、“英語”、“中国語”、…）を設定し、図示しないメモリ内の第２メモリ領域strには入力された文字列を設定する（ＳＴ６）。
【００４１】
ロケール判定部１０２ｂは、第２メモリ領域strに設定された文字毎に、ステップＳＴ７〜ＳＴ１８の大ループ処理を繰り返し実行する（ＳＴ７）。
【００４２】
ロケール判定部１０２ｂは、第１メモリ領域listが空か否かを判定する（ＳＴ８）。第１メモリ領域listには、ロケール判定結果となるロケールのリストが入っている。第１メモリ領域listが空になった場合、処理を終了し、「該当するロケール無し」とする。
【００４３】
ロケール判定部１０２ｂは、文字コード変換部１０２ｃを用い、文字列内のｉ番目の文字を文字コードに変換し、当該文字コードを、図示しないメモリ内の第３メモリ領域codeに設定する（ＳＴ９）。
【００４４】
ロケール判定部１０２ｂは、第１メモリ領域listに設定されたロケール毎に、ステップＳＴ１０〜ＳＴ１４の小ループ処理を繰り返し実行する（ＳＴ１０）。
【００４５】
ロケール判定部１０２ｂは、各ロケールで利用される文字の文字コード範囲をロケール毎文字コード定義部１０２ｄから取得し、当該文字コード範囲を、図示しないメモリ内の第４メモリ領域rangeに設定する（ＳＴ１１）。
【００４６】
例えば、第１メモリ領域list内のｊ番目のロケール（list[j]）が日本語を示すとき、日本語の文字コード範囲としては、日本語の文章で利用される｛全角数字、半角数字、ひらがな、全角カタカナ、半角カタカナ、全角アルファベット、半角アルファベット、…｝といった、以下に示す如き、文字コード範囲が取得される。
【００４７】
range＝｛ＦＦ１０〜ＦＦ１９（全角数字） and ＦＦ６１〜ＦＦ９Ｆ（半角数字） and ３０４０〜３０９Ｆ（ひらがな） and …｝
ロケール判定部１０２ｂは、第３メモリ領域code内の文字コードが、第４メモリ領域range内の文字コード範囲に含まれるかを判定する（ＳＴ１２）。
【００４８】
ステップＳＴ１２の判定の結果、含まれない場合（ＳＴ１２；Ｎ）には、ロケール判定部１０２ｂは、ステップＳＴ１４に移行する。
【００４９】
また、ステップＳＴ１２の判定の結果、含まれる場合（ＳＴ１２；Ｙ）には、ロケール判定部１０２ｂは、該当の１文字を文字コード範囲に含むロケールをループ処理で全て第５メモリ領域newListに格納する（ＳＴ１３）。
【００５０】
ロケール判定部１０２ｂは、第１メモリ領域listに設定された全てのロケールについて小ループ処理を実行した場合には小ループ処理を終了するが（ＳＴ１４）、それ以外の場合にはステップＳＴ１０に戻って小ループ処理を継続する。
【００５１】
小ループ処理を終了した場合、ロケール判定部１０２ｂは、該当の１文字を含むロケールのリストを第１メモリ領域listに上書きする（ＳＴ１５）。これにより、ロケール判定部１０２ｂは、この第１メモリ領域list内のロケールで次の大ループ処理を繰り返し実行してロケール候補を絞り込む。
【００５２】
ロケール判定部１０２ｂは、第２メモリ領域strに設定された全ての文字について大ループ処理を実行した場合には大ループ処理を終了するが（ＳＴ１６）、それ以外の場合にはステップＳＴ７に戻って大ループ処理を継続する。
【００５３】
ロケール判定部１０２ｂは、ステップＳＴ１６にて大ループ処理が終了したとき、第１メモリ領域listに格納されたロケールをロケール用フィルタ部１０２ａに送出する（ＳＴ１７）。このとき、送出されるロケールは、変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定した結果、第１メモリ領域listに格納されているロケールである。また、第１メモリ領域listには、複数のロケールが格納されている場合もある。例えば、入力された文字列が“東京”の場合には、大ループ処理の終了時点で第１メモリ領域listには、“日本”を表すロケールと“韓国”を表すロケールが格納されている場合がある。この場合、複数のロケールを送出してもよく、予めロケール毎に設定した重み付けが最も高いロケールを送出するようにしてもよい。
【００５４】
ロケール用フィルタ部１０２ａは、ロケール判定部１０２ｂから送出されたロケールをロケール保存部１０２ｅに設定し（ＳＴ１８）、実行完了をアプリケーションサーバ部１０１に通知する。なお、ロケール保存部１０２ｅに保存されたロケールはサーバアプリケーション部１０３から参照可能である。
【００５５】
アプリケーションサーバ部１０１は、ロケール用フィルタ部１０２ａの実行後、ステップＳＴ３で受信したリクエストをサーバアプリケーション部１０３に送出し（ＳＴ２０）、サーバアプリケーション部１０３を実行する。
【００５６】
サーバアプリケーション部１０３は、このリクエストを受けると、ロケール保存部１０２ｅからロケールを取得し（ＳＴ２１）、取得したロケールに応じた処理を実行し、ロケールに応じた処理結果をアプリケーションサーバ部１０１に送出する（ＳＴ２２）。
【００５７】
アプリケーションサーバ部１０１は、ロケールに応じた処理結果を含むレスポンスをブラウザ部２０１に送信する（ＳＴ２３）。
【００５８】
ブラウザ部２０１は、ロケールに応じた処理結果を含むレスポンスに基づいて、ロケールに応じた次画面を表示する（ＳＴ２４）。
【００５９】
上述したように本実施形態によれば、入力された文字列を受けると、サーバアプリケーション部１０３の実行の前に、ロケールをロケール保存部１０２ｅに設定する処理を割り込ませるように、当該文字列を送出し、当該送出された文字列に含まれる各文字を文字コードに変換し、当該各文字が変換された文字コードと、ロケール毎文字コード定義部１０２ｄに定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定し、当該判定されたロケールをロケール保存部１０２ｅに設定する処理を実行する構成により、利用者にロケール情報を選択させずに、且つブラウザ部２０１から送信されるＨＴＴＰリクエストのロケール情報を用いずに、利用者のロケールを設定することができる。
【００６０】
＜第２の実施形態＞
図６は第２の実施形態に係るロケール設定プログラムが適用されたロケール設定部を備えたサーバ装置及びクライアント装置からなるクライアントサーバシステムの構成を示す模式図であり、図１と同一部分については同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
【００６１】
本実施形態は、第１の実施形態におけるサーバアプリケーション部１０３の具体例であり、Ｗｅｂアプリケーションの入力チェックでエラーが発生した場合、利用者のロケールに応じた言語でエラーメッセージを表示する形態となっている。
【００６２】
例えば、Ｗｅｂアプリケーションで名前を入力する画面があり、３文字以内という入力チェックルールがあるとする。ここで、利用者が“東芝太郎”と入力した場合、前述したロケール設定部１０２により設定された日本を表すロケールに応じて“名前は３文字以内で入力してください”と日本語のエラーメッセージを表示する。また、利用者が“Taro Toshiba”と入力した場合、前述したロケール設定部１０２により設定された英語圏を表すロケールに応じて“Please input your name within 8 characters”と英語のエラーメッセージを表示する。
【００６３】
具体的には、サーバアプリケーション部１０３は、入力チェック実行部１０３ａ、入力チェックルール定義部１０３ｂ及びエラーメッセージ定義部１０３ｃを備えている。
【００６４】
入力チェック実行部１０３ａは、利用者がブラウザを使って入力した文字列に対し、チェックルールに基づいて入力チェックを実行する機能をもっている。具体的には、ロケール保存部１０２ｅから利用者のロケールを取得し、ロケールに応じた入力チェックルールを入力チェックルール定義部１０３ｂから取得してチェックを実行する。チェックルールを満たさない場合はエラーメッセージ定義部１０３ｃからロケールに応じたエラーメッセージを取得し、エラーメッセージを含む処理結果をアプリケーションサーバ部１０１に送出する。
【００６５】
入力チェックルール定義部１０３ｂは、ロケール毎の入力チェックルールが定義されており、ロケールを含むチェックルール取得要求を入力チェック実行部１０３ａから受けると、チェックルール取得要求内のロケールに対応する入力チェックルールを入力チェック実行部１０３ａに送出する機能をもっている。
【００６６】
エラーメッセージ定義部１０３ｃは、ロケール毎の入力チェックのエラーメッセージが定義されており、ロケールを含むエラーメッセージ取得要求を入力チェック実行部１０３ａから受けると、エラーメッセージ取得要求内のロケールに対応するエラーメッセージを入力チェック実行部１０３ａに送出する機能をもっている。
【００６７】
次に、以上のように構成されたクライアントサーバシステムの動作を図７を用いて説明する。
【００６８】
ステップＳＴ１〜ＳＴ１９までは、第１の実施形態と同様に実行される。これにより、ロケール保存部１０２ｅはロケールが設定された状態にあり、ロケール用フィルタ部１０２ｃは、実行完了をアプリケーションサーバ部１０１に通知した状態にある。
【００６９】
アプリケーションサーバ部１０１は、ロケール用フィルタ部１０２ａの実行後、ステップＳＴ３で受信した、文字列を格納したリクエストをサーバアプリケーション部１０３に送出し（ＳＴ３０）、サーバアプリケーション部１０３を実行する。
【００７０】
サーバアプリケーション部１０３は、このリクエストから文字列を抽出し、当該文字列を含む入力チェック要求を入力チェック部１０３ａに送出し（ＳＴ３１）、入力チェック実行部１０３ａを実行する。
【００７１】
入力チェック実行部１０３ａは、入力チェック要求を受けると、ロケール保存部１０２ｅからロケールを取得し（ＳＴ３２）、取得したロケールに応じた入力チェックルールを入力チェックルール定義部１０３ｂから取得して、入力チェック要求内の文字列のチェックを実行する（ＳＴ３３）。
【００７２】
ステップＳＴ３３によるチェックの実行結果が正当の場合（入力チェックルールを満たす場合）には、正当を示すチェック結果をサーバアプリケーション部１０３に送出する。以下、前述したステップＳＴ２１〜ＳＴ２４の処理が実行される。
【００７３】
一方、ステップＳＴ３３によるチェックの実行結果がエラーを示す場合（入力チェックルールを満たさない場合）には、入力チェック実行部１０３ａは、ロケールに応じたエラーメッセージをエラーメッセージ定義部１０３ｃから取得し（ＳＴ３４）、ロケールに応じたエラーメッセージを含む処理結果をサーバアプリケーション部１０３を介してアプリケーションサーバ部１０１に送出する（ＳＴ３５，ＳＴ３６）。
【００７４】
アプリケーションサーバ部１０１は、このロケールに応じたエラーメッセージを含む処理結果を含むレスポンスをブラウザ部２０１に送信する（ＳＴ３７）。
【００７５】
ブラウザ部２０１は、ロケールに応じたエラーメッセージを含む処理結果を含むレスポンスに基づいて、ロケールに応じたエラーメッセージを表示する（ＳＴ３８）。
【００７６】
上述したように本実施形態によれば、第１の実施形態と同様にしてロケールが設定されたロケール保存部１０２ｅからロケールを取得し、ロケールに応じた入力チェックルールに基づいて、入力の文字列に対するチェックを実行し、エラーを示す場合には、ロケールに応じたエラーメッセージをエラーメッセージ定義部１０３ｃから取得し、ロケールに応じたエラーメッセージを含む処理結果を送出する構成により、第１の実施形態の効果に加え、ロケールに応じたエラーメッセージを表示することができる。
【００７７】
以上説明した少なくとも一つの実施形態によれば、入力された文字列を文字コードに変換し、当該文字コードと、ロケール毎文字コード定義部１０２ｃに定義された文字コード範囲とを比較することにより、当該文字コードを含む文字コード範囲に対応するロケールを判定し、当該ロケールをロケール保存部１０２ｅに設定する処理を実行する構成により、利用者にロケール情報を選択させずに、且つブラウザから送信されるＨＴＴＰリクエストのロケール情報を用いずに、利用者のロケールを設定することができる。
【００７８】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００７９】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００８０】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００８１】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００８２】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００８３】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００８４】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００８５】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８６】
１００…サーバ装置、１０１…アプリケーションサーバ部、１０２…ロケール設定部、１０２ａ…ロケール用フィルタ部、１０２ｂ…ロケール判定部、１０２ｃ…文字コード変換部、１０２ｄ…ロケール毎文字コード定義部、１０２ｅ…ロケール保存部、１０３…サーバアプリケーション部、１０３ａ…入力チェック実行部、１０３ｂ…入力チェックルール定義部、１０３ｃ…エラーメッセージ定義部、２００…クライアント装置、２０１…ブラウザ部。
【図１】
2012221231.tif 000003
【図２】
2012221231.tif 000004
【図３】
2012221231.tif 000005
【図４】
2012221231.tif 000006
【図５】
2012221231.tif 000007
【図６】
2012221231.tif 000008
【図７】
2012221231.tif 000009