"入力された文字列に応じたロケールが設定されるメモリと、前記ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサとを備えたサーバ装置に用いられ、前記文字列に応じたロケールを前記メモリに設定する処理を前記プロセッサに実行させるロケール設定プログラムであって、前記サーバ装置を、予めロケール毎に文字コード範囲が定義されたロケール毎文字コード定義手段、前記入力された文字列を受けると、前記アプリケーションプログラムの実行の前に、前記ロケールを前記メモリに設定する処理を割り込ませるように、当該文字列を送出するロケール用フィルタ手段、前記送出された文字列に含まれる各文字を文字コードに変換する文字コード変換手段、前記各文字が変換された文字コードと、前記ロケール毎文字コード定義手段に定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定するロケール判定手段、前記判定されたロケールを前記メモリに設定する処理を実行するロケール設定手段、として機能させるためのロケール設定プログラム。請求項1に記載のロケール設定プログラムにおいて、前記ロケール判定手段は、前記変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定することを特徴とするロケール設定プログラム。以上説明したように、Webアプリケーションがロケールを取得する処理としては、2つの一般的な手法が知られている。1つ目は、ブラウザから送信されるHTTPリクエストのAcceptLanguageHTTPヘッダーを参照して、ブラウザに設定されたロケールを取得し、これを利用者のロケールとする手法である。本手法を利用する技術には、オープンソースソフトウェアのWebアプリケーションであるStrutsに搭載されているメッセージリソース機能がある。メッセージリソース機能によれば、ブラウザに設定されたロケール毎に、Webアプリケーションの画面の文字列が切替表示される。このため、利用者の所属するロケールとブラウザのロケールが異なる場合例、日本に来たアメリカ人が、日本のPCpersonalcomputerを使ってWebアプリケーションにアクセスする場合、利用者のロケールに対応した処理を実行できない不都合がある。このような不都合を解消する手法として、利用者に明示的にロケールを選択させる手法があり、これが2つ目の手法である。IBM登録商標、富士通登録商標等の企業のWebサイトでは、トップページに配置されたロケール情報ロケール選択ボタンのいずれかを利用者が選択すると、選択されたロケール情報に応じた言語の文章が画面に表示される。但し、2つ目の手法では、ロケール情報を選択する、という余計な操作を利用者が行なう必要がある。本発明が解決しようとする課題は、利用者にロケール情報を選択させずに、且つブラウザから送信されるHTTPリクエストのロケール情報を用いずに、利用者のロケールを設定し得るロケール設定プログラムを提供することである。実施形態のロケール設定プログラムは、入力された文字列に応じたロケールが設定されるメモリと、前記ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサとを備えたサーバ装置に用いられる。実施形態のロケール設定プログラムは、前記文字列に応じたロケールを前記メモリに設定する処理を前記プロセッサに実行させる。実施形態のロケール設定プログラムは、前記サーバ装置を、ロケール毎文字コード定義手段、ロケール用フィルタ手段、文字コード変換手段、ロケール判定手段、ロケール設定手段、として機能させるためのプログラムである。前記ロケール毎文字コード定義手段は、予めロケール毎に文字コード範囲が定義されている。前記ロケール用フィルタ手段は、前記入力された文字列を受けると、前記アプリケーションプログラムの実行の前に、前記ロケールを前記メモリに設定する処理を割り込ませるように、当該文字列を送出する。前記文字コード変換手段は、前記送出された文字列に含まれる各文字を文字コードに変換する。前記ロケール判定手段は、前記各文字が変換された文字コードと、前記ロケール毎文字コード定義手段に定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定する。前記ロケール設定手段は、前記判定されたロケールを前記メモリに設定する処理を実行する。以下、各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。<第1の実施形態>図1は第1の実施形態に係るロケール設定プログラムが適用されたロケール設定部を備えたサーバ装置及びクライアント装置からなるクライアントサーバシステムの構成を示す模式図であり、図2はロケール毎文字コード定義部を説明するための模式図である。このクライアントサーバシステムは、図1に示すように、サーバ装置100及びクライアント装置200を備えている。ここで、サーバ装置100は、入力された文字列に応じたロケールが設定されるメモリ図示せずと、ロケールに応じた処理が記述されたアプリケーションプログラムを実行するプロセッサ図示せずとを備えている。また、サーバ装置100は、文字列に応じたロケールをメモリに設定する処理をプロセッサに実行させるロケール設定プログラムを用いている。また、サーバ装置100は、アプリケーションサーバプログラムを用いている。具体的には、サーバ装置100は、アプリケーションサーバプログラムに基づくアプリケーションサーバ部101と、ロケール設定プログラムに基づくロケール設定部102と、Webアプリケーションプログラムアプリケーションプログラムに基づくサーバアプリケーション部103とを備えている。アプリケーションサーバ部101は、一般的なアプリケーションサーバプログラムを実行するプロセッサ図示せずの一機能からなり、ブラウザ部201から送信されたリクエストを受信し、サーバアプリケーション部103を実行する機能をもっている。アプリケーションサーバ部101を構成するアプリケーションサーバプログラムとしては、例えば、WebSphere登録商標、WebLogic登録商標等のプログラムが使用可能となっている。ロケール設定部102は、ロケール設定プログラムを実行するプロセッサの一機能からなり、利用者のロケールを自動的に判定してロケールを内部に設定する機能と、設定されたロケールをサーバアプリケーション部103が参照するための機能とをもっている。なお、本明細書中、ロケールの設定に関する設定の用語は、保存、書込又は判定保存等の用語に読み替えてもよい。ロケール設定部102は、ロケール用フィルタ部102a、ロケール判定部102b、文字コード変換部102c、ロケール毎文字コード定義部102d及びロケール保存部102eを備えている。ロケール用フィルタ部102aは、利用者によりブラウザ部201に入力された文字列をアプリケーションサーバ部101を介して文字列を受けると、アプリケーションプログラムの実行の前に、当該文字列に応じたロケールをロケール保存部102eメモリに設定する処理を割り込ませるように、当該文字列をロケール判定部102bに送出する機能をもっている。ロケール判定部102bは、ロケール用フィルタ部102aから送出された文字列を文字コード変換部102cに送出することにより、文字コード変換部102cから当該文字列に含まれる各文字が変換された文字コードを受ける機能と、当該各文字が変換された文字コードと、ロケール毎文字コード定義部102dに定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定するロケール判定機能と、当該判定されたロケールをロケール保存部102bに設定する処理を実行するロケール設定機能とをもっている。また、ロケール判定部102bのロケール判定機能においては、変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定する。例えば、半角アルファベットと全角カタカナが混在した文字列の場合、半角アルファベットが日本と英語のロケールに対応し、全角カタカナが日本のロケールに対応する結果、全ての文字コードを含む文字コード範囲に対応するロケールは、日本のロケールとなる。文字コード変換部102cは、ロケール判定部102bから送出された文字列に含まれる各文字を文字コードに変換するものであり、変換した文字コードをロケール判定部102bへ返す機能をもっている。例えば東芝登録商標に関する入力が行われ、東芝の文字列が送出された場合、文字コード変換部102cは、Unicodeの6771829Dをロケール判定部102bに返す。ロケール毎文字コード定義部102dは、図2に示すように、予め各ロケール日本、中国、アメリカ等毎に文字コード範囲が定義されており、ロケール判定部102bからロケールを含む文字コード取得要求を受けると、そのロケールに対応した文字コード範囲を返す機能をもっている。例えば、日本を表すロケールを含む文字コード取得要求を受けた場合、日本語で利用される全角半角数字、ひらがな、全角半角アルファベット等の文字コード範囲を返す。なお、ロケール毎文字コード定義部102dは、予め各ロケール日本、中国、アメリカ等毎に文字コード範囲が定義されていればよいので、ロケールを受けると文字コード範囲を返す機能を省略してもよい。この機能を省略した場合、ロケール毎文字コード定義部102dは、例えば、予め各ロケール毎に文字コード範囲が定義されたデータテーブルとして実現すればよい。ロケール保存部102eは、利用者の所属するロケールがロケール判定部102bから設定されて当該ロケールを保存するメモリである。ロケール保存部102eに保存されたロケールは、ロケール設定部102を使用するサーバアプリケーション部103から参照可能となっている。サーバアプリケーション部103は、ロケールに応じた処理が記述されたWebアプリケーションプログラムを実行するプロセッサの一機能からなり、ロケール設定部102が設定した利用者のロケールを取得する機能と、取得したロケールに応じて、ロケール毎に用意した処理やブラウザに表示するメッセージを切替可能に実行する機能とをもっている。一方、クライアント装置200は、ブラウザ部201を備えている。ブラウザ部201は、一般的なWebブラウザのプログラムを実行するプロセッサ図示せずの一機能からなり、利用者の操作に応じて、アプリケーションサーバ部101を介してサーバアプリケーション部103を実行させる機能をもっている。また、ブラウザ部201は、利用者により入力された情報氏名、生年月日等を格納したHTTPリクエストをアプリケーションサーバ部101へ送信する機能と、アプリケーションサーバ部101から受けたレスポンスを表示する機能とをもっている。次に、以上のように構成されたクライアントサーバシステムの動作を図3乃至図5を用いて説明する。ブラウザ部201は、利用者の入力操作に応じて、表示画面への文字列の入力を受け付けるST1。ブラウザ部201は、利用者のクリック操作に応じて、表示画面上の送信ボタン等のクリック操作を受け付けるST2。ブラウザ部201は、ステップST1で入力を受け付けた文字列を格納したリクエストをアプリケーションサーバ部101に送信するST3。アプリケーションサーバ部101は、リクエストを受信すると、サーバアプリケーション部103を実行する前に、リクエストから抽出した文字列を含む実行要求をロケール用フィルタ部102aに送出するST4。ロケール用フィルタ部102aは、実行要求を受けると、サーバアプリケーション部103が実行される前に、ロケール設定処理ステップST5~ST19を割り込ませる。ロケール設定処理では、ロケール用フィルタ部102aは、この実行要求から抽出した文字列を含むロケール判定要求をロケール判定部102bに送出して、当該文字列に対するロケール判定処理図4に示すST6~ST18を要求するST5。ロケール判定部102bは、初期化操作を実行し、図示しないメモリ内の第1メモリ領域listには全ロケールのリスト日本語、英語、中国語、...を設定し、図示しないメモリ内の第2メモリ領域strには入力された文字列を設定するST6。ロケール判定部102bは、第2メモリ領域strに設定された文字毎に、ステップST7~ST18の大ループ処理を繰り返し実行するST7。ロケール判定部102bは、第1メモリ領域listが空か否かを判定するST8。第1メモリ領域listには、ロケール判定結果となるロケールのリストが入っている。第1メモリ領域listが空になった場合、処理を終了し、該当するロケール無しとする。ロケール判定部102bは、文字コード変換部102cを用い、文字列内のi番目の文字を文字コードに変換し、当該文字コードを、図示しないメモリ内の第3メモリ領域codeに設定するST9。ロケール判定部102bは、第1メモリ領域listに設定されたロケール毎に、ステップST10~ST14の小ループ処理を繰り返し実行するST10。ロケール判定部102bは、各ロケールで利用される文字の文字コード範囲をロケール毎文字コード定義部102dから取得し、当該文字コード範囲を、図示しないメモリ内の第4メモリ領域rangeに設定するST11。例えば、第1メモリ領域list内のj番目のロケールlistjが日本語を示すとき、日本語の文字コード範囲としては、日本語の文章で利用される{全角数字、半角数字、ひらがな、全角カタカナ、半角カタカナ、全角アルファベット、半角アルファベット、...}といった、以下に示す如き、文字コード範囲が取得される。range={FF10~FF19全角数字andFF61~FF9F半角数字and3040~309Fひらがなand...}ロケール判定部102bは、第3メモリ領域code内の文字コードが、第4メモリ領域range内の文字コード範囲に含まれるかを判定するST12。ステップST12の判定の結果、含まれない場合ST12;Nには、ロケール判定部102bは、ステップST14に移行する。また、ステップST12の判定の結果、含まれる場合ST12;Yには、ロケール判定部102bは、該当の1文字を文字コード範囲に含むロケールをループ処理で全て第5メモリ領域newListに格納するST13。ロケール判定部102bは、第1メモリ領域listに設定された全てのロケールについて小ループ処理を実行した場合には小ループ処理を終了するがST14、それ以外の場合にはステップST10に戻って小ループ処理を継続する。小ループ処理を終了した場合、ロケール判定部102bは、該当の1文字を含むロケールのリストを第1メモリ領域listに上書きするST15。これにより、ロケール判定部102bは、この第1メモリ領域list内のロケールで次の大ループ処理を繰り返し実行してロケール候補を絞り込む。ロケール判定部102bは、第2メモリ領域strに設定された全ての文字について大ループ処理を実行した場合には大ループ処理を終了するがST16、それ以外の場合にはステップST7に戻って大ループ処理を継続する。ロケール判定部102bは、ステップST16にて大ループ処理が終了したとき、第1メモリ領域listに格納されたロケールをロケール用フィルタ部102aに送出するST17。このとき、送出されるロケールは、変換された全ての文字コードを含む文字コード範囲に対応するロケールを判定した結果、第1メモリ領域listに格納されているロケールである。また、第1メモリ領域listには、複数のロケールが格納されている場合もある。例えば、入力された文字列が東京の場合には、大ループ処理の終了時点で第1メモリ領域listには、日本を表すロケールと韓国を表すロケールが格納されている場合がある。この場合、複数のロケールを送出してもよく、予めロケール毎に設定した重み付けが最も高いロケールを送出するようにしてもよい。ロケール用フィルタ部102aは、ロケール判定部102bから送出されたロケールをロケール保存部102eに設定しST18、実行完了をアプリケーションサーバ部101に通知する。なお、ロケール保存部102eに保存されたロケールはサーバアプリケーション部103から参照可能である。アプリケーションサーバ部101は、ロケール用フィルタ部102aの実行後、ステップST3で受信したリクエストをサーバアプリケーション部103に送出しST20、サーバアプリケーション部103を実行する。サーバアプリケーション部103は、このリクエストを受けると、ロケール保存部102eからロケールを取得しST21、取得したロケールに応じた処理を実行し、ロケールに応じた処理結果をアプリケーションサーバ部101に送出するST22。アプリケーションサーバ部101は、ロケールに応じた処理結果を含むレスポンスをブラウザ部201に送信するST23。ブラウザ部201は、ロケールに応じた処理結果を含むレスポンスに基づいて、ロケールに応じた次画面を表示するST24。上述したように本実施形態によれば、入力された文字列を受けると、サーバアプリケーション部103の実行の前に、ロケールをロケール保存部102eに設定する処理を割り込ませるように、当該文字列を送出し、当該送出された文字列に含まれる各文字を文字コードに変換し、当該各文字が変換された文字コードと、ロケール毎文字コード定義部102dに定義された文字コード範囲とを比較することにより、当該変換された文字コードを含む文字コード範囲に対応するロケールを判定し、当該判定されたロケールをロケール保存部102eに設定する処理を実行する構成により、利用者にロケール情報を選択させずに、且つブラウザ部201から送信されるHTTPリクエストのロケール情報を用いずに、利用者のロケールを設定することができる。<第2の実施形態>図6は第2の実施形態に係るロケール設定プログラムが適用されたロケール設定部を備えたサーバ装置及びクライアント装置からなるクライアントサーバシステムの構成を示す模式図であり、図1と同一部分については同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。本実施形態は、第1の実施形態におけるサーバアプリケーション部103の具体例であり、Webアプリケーションの入力チェックでエラーが発生した場合、利用者のロケールに応じた言語でエラーメッセージを表示する形態となっている。例えば、Webアプリケーションで名前を入力する画面があり、3文字以内という入力チェックルールがあるとする。ここで、利用者が東芝太郎と入力した場合、前述したロケール設定部102により設定された日本を表すロケールに応じて名前は3文字以内で入力してくださいと日本語のエラーメッセージを表示する。また、利用者がTaroToshibaと入力した場合、前述したロケール設定部102により設定された英語圏を表すロケールに応じてPleaseinputyournamewithin8charactersと英語のエラーメッセージを表示する。具体的には、サーバアプリケーション部103は、入力チェック実行部103a、入力チェックルール定義部103b及びエラーメッセージ定義部103cを備えている。入力チェック実行部103aは、利用者がブラウザを使って入力した文字列に対し、チェックルールに基づいて入力チェックを実行する機能をもっている。具体的には、ロケール保存部102eから利用者のロケールを取得し、ロケールに応じた入力チェックルールを入力チェックルール定義部103bから取得してチェックを実行する。チェックルールを満たさない場合はエラーメッセージ定義部103cからロケールに応じたエラーメッセージを取得し、エラーメッセージを含む処理結果をアプリケーションサーバ部101に送出する。入力チェックルール定義部103bは、ロケール毎の入力チェックルールが定義されており、ロケールを含むチェックルール取得要求を入力チェック実行部103aから受けると、チェックルール取得要求内のロケールに対応する入力チェックルールを入力チェック実行部103aに送出する機能をもっている。エラーメッセージ定義部103cは、ロケール毎の入力チェックのエラーメッセージが定義されており、ロケールを含むエラーメッセージ取得要求を入力チェック実行部103aから受けると、エラーメッセージ取得要求内のロケールに対応するエラーメッセージを入力チェック実行部103aに送出する機能をもっている。次に、以上のように構成されたクライアントサーバシステムの動作を図7を用いて説明する。ステップST1~ST19までは、第1の実施形態と同様に実行される。これにより、ロケール保存部102eはロケールが設定された状態にあり、ロケール用フィルタ部102cは、実行完了をアプリケーションサーバ部101に通知した状態にある。アプリケーションサーバ部101は、ロケール用フィルタ部102aの実行後、ステップST3で受信した、文字列を格納したリクエストをサーバアプリケーション部103に送出しST30、サーバアプリケーション部103を実行する。サーバアプリケーション部103は、このリクエストから文字列を抽出し、当該文字列を含む入力チェック要求を入力チェック部103aに送出しST31、入力チェック実行部103aを実行する。入力チェック実行部103aは、入力チェック要求を受けると、ロケール保存部102eからロケールを取得しST32、取得したロケールに応じた入力チェックルールを入力チェックルール定義部103bから取得して、入力チェック要求内の文字列のチェックを実行するST33。ステップST33によるチェックの実行結果が正当の場合入力チェックルールを満たす場合には、正当を示すチェック結果をサーバアプリケーション部103に送出する。以下、前述したステップST21~ST24の処理が実行される。一方、ステップST33によるチェックの実行結果がエラーを示す場合入力チェックルールを満たさない場合には、入力チェック実行部103aは、ロケールに応じたエラーメッセージをエラーメッセージ定義部103cから取得しST34、ロケールに応じたエラーメッセージを含む処理結果をサーバアプリケーション部103を介してアプリケーションサーバ部101に送出するST35,ST36。アプリケーションサーバ部101は、このロケールに応じたエラーメッセージを含む処理結果を含むレスポンスをブラウザ部201に送信するST37。ブラウザ部201は、ロケールに応じたエラーメッセージを含む処理結果を含むレスポンスに基づいて、ロケールに応じたエラーメッセージを表示するST38。上述したように本実施形態によれば、第1の実施形態と同様にしてロケールが設定されたロケール保存部102eからロケールを取得し、ロケールに応じた入力チェックルールに基づいて、入力の文字列に対するチェックを実行し、エラーを示す場合には、ロケールに応じたエラーメッセージをエラーメッセージ定義部103cから取得し、ロケールに応じたエラーメッセージを含む処理結果を送出する構成により、第1の実施形態の効果に加え、ロケールに応じたエラーメッセージを表示することができる。以上説明した少なくとも一つの実施形態によれば、入力された文字列を文字コードに変換し、当該文字コードと、ロケール毎文字コード定義部102cに定義された文字コード範囲とを比較することにより、当該文字コードを含む文字コード範囲に対応するロケールを判定し、当該ロケールをロケール保存部102eに設定する処理を実行する構成により、利用者にロケール情報を選択させずに、且つブラウザから送信されるHTTPリクエストのロケール情報を用いずに、利用者のロケールを設定することができる。なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフロッピー登録商標ディスク、ハードディスクなど、光ディスクCD-ROM、DVDなど、光磁気ディスクMO、半導体メモリなどの記憶媒体に格納して頒布することもできる。また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOSオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のMWミドルウェア等が上記実施形態を実現するための各処理の一部を実行しても良い。さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"