(57)【要約】      （修正有）【課題】アプリケーションプログラムの国際化及びローカライズを容易にするために、電子ローカライズデータを（出力のために）シリアル化及び又はシリアル化データから（入力して）電子ローカライズデータを生成する装置及び方法を提供する。【解決手段】シリアル化するための装置は、電子ローカライズデータを収集するための受信機と、受信機に結合され受信機によって収集された電子ローカライズデータを受信するためのプロセッサと、プロセッサに結合されアプリケーションプログラムを格納するメモリと、受信機によって収集された電子ローカライズデータをシリアル化するためのシリアル化モジュールへの、アプリケーションプログラムから呼出し可能なインタフェースと、シリアル化モジュールからシリアル化データを格納するための記憶モジュールとを含む。【選択図】図４
2015197922.tif 000002
【特許請求の範囲】
【請求項１】
電子ローカライズデータをシリアル化するための装置であって、
電子ローカライズデータを収集するための受信機と、
前記受信機に結合されたプロセッサであって、前記受信機によって収集された前記電子ローカライズデータを受信するように構成されたプロセッサと、
前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
前記受信機によって収集された電子ローカライズデータをシリアル化するための、シリアル化モジュールへのインタフェースであって、前記アプリケーションプログラムから呼出し可能なインタフェースと、
前記シリアル化モジュールから前記シリアル化データを格納するように構成された記憶モジュールと
を含む、電子ローカライズデータをシリアル化するための装置。
【請求項２】
前記シリアル化モジュールが前記装置によってホストされる、請求項１に記載の装置。
【請求項３】
前記シリアル化モジュールが前記装置の外部でホストされる、請求項１に記載の装置。
【請求項４】
前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース（ＡＰＩ）を含む、請求項１に記載の装置。
【請求項５】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項１に記載の装置。
【請求項６】
前記構成情報が、文化情報を含む、請求項５に記載の装置。
【請求項７】
前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項５に記載の装置。
【請求項８】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項１に記載の装置。
【請求項９】
シリアル化データから電子ローカライズデータを生成するための装置であって、
シリアル化データを格納するように構成された記憶モジュールと、
前記記憶モジュールに結合されたプロセッサであって、前記シリアル化データを前記記憶モジュールから取得するように構成されたプロセッサと、
前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
シリアル化モジュールへのインタフェースであって、前記シリアル化モジュールがシリアル化データから電子ローカライズデータを生成するためであり、前記インタフェースが前記アプリケーションプログラムから呼出し可能である、インタフェースと、
前記プロセッサに結合された送信機であって、前記電子ローカライズデータを送信するように構成された送信機と
を含む、シリアル化データから電子ローカライズデータを生成するための装置。
【請求項１０】
前記シリアル化モジュールが前記装置によってホストされる、請求項９に記載の装置。
【請求項１１】
前記シリアル化モジュールが前記装置の外部でホストされる、請求項９に記載の装置。
【請求項１２】
前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース（ＡＰＩ）を含む、請求項９に記載の装置。
【請求項１３】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項９に記載の装置。
【請求項１４】
前記構成情報が、文化情報を含む、請求項１３に記載の装置。
【請求項１５】
前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項１３に記載の装置。
【請求項１６】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項９に記載の装置。
【請求項１７】
シリアル化データから電子ローカライズデータを生成するための方法であって、
メモリに結合されたプロセッサによって、シリアル化データを記憶モジュールから取得することと、
前記電子ローカライズデータに関連した構成情報を取得することと、
前記プロセッサによって、前記シリアル化データから電子ローカライズデータを生成するシリアル化モジュールを起動することと
を含む、シリアル化データから電子ローカライズデータを生成するための方法。
【請求項１８】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項１７に記載の装置。
【請求項１９】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含み、前記構成情報が文化情報を含む、請求項１７に記載の装置。
【請求項２０】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１４年４月２日に出願された、米国仮特許出願第６１／９７４，４１７号の利益を主張し、その内容全体が参照により全体として本明細書に組み込まれる。
【０００２】
本発明の実施形態は、一般に、データのローカライズに関し、詳細には、文化情報などの、ユーザーまたはトランザクション位置に関連した情報を考慮して、データをシリアル化するためのシステムおよび方法に関する。
【背景技術】
【０００３】
関連技術の説明
開発プラットフォームは通常、ユーザーからの情報の取得、ユーザーへの情報の提示、およびその情報の、人間に解読可能な形式のために使用されるフォーマットに対して変化しない有形的コンピュータ可読形式に情報が格納される、ハードウェアへの、およびハードウェアからのシリアル化に対して利用可能な広範なツールを有する。しかし、広範なツールに関連する問題は、それらが何でも構築するのを可能にするが、堅牢かつ一貫した方法で、ローカルな文化データ表現、広範なエンタープライズデータタイプをサポートするか、または時間帯の複雑さに対処するアプリケーションの構築を容易にしないことである。
【０００４】
従って、上で特定した欠点の克服を容易にするための必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示に従った実施形態は、基礎的なプラットフォーム、エンドユーザー、記憶サブシステム、およびアプリケーション開発者の間に論理層を提供する。様々な実施形態は、本明細書では、「Ｔｈｅ  Ｌｉｎｇｕｉｓｔ」または同様のものと呼ばれ得る。Ｔｈｅ  Ｌｉｎｇｕｉｓｔシステムは、プラットフォームの複雑性に対処するために過度の開発者資源を注ぎ込む必要なく、アプリケーション開発者が、堅牢かつ一貫性のあるアプリケーションを構築するのを容易にする１組の一貫性のある原理および構成要素を提供する。これは、アプリケーション開発を促進して、開発されたアプリケーションにおけるエラー率を低下させ、アプリケーションの保守性を大幅に向上させる。
【０００６】
本開示に従った実施形態は、エンドユーザーおよびコンピュータシステムへの／からの情報をフォーマットおよび解析するための標準に準拠した複雑性低減アプローチを、開発者が提供できるようにするのを可能にする。
【０００７】
本開示に従った実施形態は、電子ローカライズデータをシリアル化するか、またはシリアル化データから電子ローカライズデータを生成するための装置および方法を含む。シリアル化するための装置は：電子ローカライズデータを収集するための受信機；受信機に結合されたプロセッサであって、受信機によって収集された電子ローカライズデータを受信するように構成されたプロセッサ；プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリ；受信機によって収集された電子ローカライズデータをシリアル化するための、シリアル化モジュールへのインタフェースであって、アプリケーションプログラムから呼出し可能なインタフェース；およびシリアル化データをシリアル化モジュールから格納するように構成された記憶モジュールを含む。
【０００８】
本開示に従った別の実施形態では、シリアル化データから電子ローカライズデータを生成するための装置は：シリアル化データを格納するように構成された記憶モジュール；記憶モジュールに結合されたプロセッサであって、シリアル化データを記憶モジュールから取得するように構成されたプロセッサ；プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリ；シリアル化モジュールへのインタフェースであって、シリアル化モジュールがシリアル化データから電子ローカライズデータを生成するためであり、インタフェースがアプリケーションプログラムから呼出し可能である、インタフェース；およびプロセッサに結合された送信機であって、電子ローカライズデータを送信するように構成された送信機を含む。
【０００９】
本開示に従った別の実施形態では、シリアル化データから電子ローカライズデータを生成するための方法は：メモリに結合されたプロセッサによって、シリアル化データを記憶モジュールから取得すること；電子ローカライズデータに関連した構成情報を取得すること；プロセッサによって、シリアル化データから電子ローカライズデータを生成するシリアル化モジュールを起動すること；および電子ローカライズデータを伝送することを含む。
【００１０】
前述は、本開示のいくつかの態様の理解を提供するための、本開示の実施形態の簡略な概要である。この概要は、本開示およびその様々な実施形態の広範な要約でも、包括的な要約でもない。本開示の重要な要素または必須の要素を特定することも、本開示の範囲を線引きすることも意図しておらず、本開示の選択された概念を簡略化した形式で、以下で提示するより詳細な説明への導入として提示することを意図する。理解されるように、前述したか、または以下で詳細に説明する特徴の１つ以上を、単独または組み合わせて利用する、本開示の他の実施形態が可能である。
【００１１】
本明細書で使用する見出しは編成目的のみであり、説明または請求項の範囲を制限するために使用されることを意図していない。本出願を通して、語「〜し得る（ｍａｙ）」は、強制的な意味（すなわち、〜しなければならない（ｍｕｓｔ）を意味する）ではなく、許容の意味（すなわち、〜する可能性があることを意味する）で使用される。同様に、語「含む（ｉｎｃｌｕｄｅ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」および「含む（ｉｎｃｌｕｄｅｓ）」は、制限ではなく、包含を意味する。理解を容易にするため、同様の参照番号が、可能な場合には、図に共通した同様の要素を示すために使用されている。図の任意選択部分は、使用コンテキストで特に指示していない限り、破線または点線を使用して示され得る。
【００１２】
本発明の前述およびさらなる特徴ならびに利点が、その実施形態の以下の詳細な説明を、特に添付の図と併せて、考慮すると明らかになり、様々な図中の同様の参照番号は、同様の構成要素を指定するために利用される。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に従ったネットワーク図である。
【図２】ローカライズコンピューティングをサポートするためのコンピュータの一実施形態を示す。
【図３】本開示の一実施形態に従って、入力文字列を数値オブジェクトに変換するプロセスを示す。
【図４】本開示の一実施形態に従って、数値データオブジェクトを出力文字列値に変換するプロセスを示す。
【発明を実施するための形態】
【００１４】
以下の詳細な説明は、プロセッサ、プロセッサのためのメモリ記憶装置、結合されたディスプレイ装置、および入力装置を含む、従来型のコンピュータ構成要素によるプロセスならびに動作の記号表現の観点から主に表される。さらに、これらのプロセスおよび動作は、リモートファイルサーバー、コンピュータサーバー、およびメモリ記憶装置を含む、異種分散コンピューティング環境内の従来型のコンピュータ構成要素を利用し得る。これらの従来型の分散コンピューティング構成要素の各々は、通信ネットワークを経由して、プロセッサによりアクセス可能である。
【００１５】
ここで、図に示すように、実施形態の記述について詳細に説明する。実施形態は図および関連記述に関して説明されるが、範囲を本明細書で開示する実施形態に制限する意図はない。反対に、意図は、全ての代替手段、修正、および均等物を包含することである。代替実施形態では、追加の装置、または図示した装置の組合せが、本明細書で開示する実施形態の範囲を制限することなく、追加されるか、または組み合わされ得る。
【００１６】
国際化（「ｉ１８ｎ」と呼ばれることもある）およびローカライズ（「Ｌ１０ｎ」と呼ばれることもある）は、コンピュータソフトウェアの、異なる言語、地域差、および対象とするマーケットの技術的要件への適合を指す。国際化は、ソフトウェアアプリケーションが、技術変更なしで様々な言語および地域に適合され得るように、ソフトウェアアプリケーションを設計することを指す。ローカライズは、国際化されたソフトウェアを、ロケール固有の構成要素を追加し、テキストを翻訳することにより、特定の地域または言語に適合させることを指す。国際化は、理想的には、進行中の開発の不可欠な部分として、一度だけ実行される。他方、ローカライズは、国際化によって提供された基礎構造または柔軟性を使用して、異なるロケールに対して複数回、実行され得る。
【００１７】
コンピューティングシステムに関して、国際化およびローカライズは、ローカルな習慣または標準に対する情報の表示の調整を伴い得る。かかる情報のコンピューティングシステム内での電子的格納は、必ずしも変わらないが、コンピューティングシステムから出力される情報の表示（例えば、ユーザーに対して、ディスプレイ上に表示される文字列値）、またはコンピューティングシステムに入力された情報の解釈（例えば、ユーザーキーボードからの文字列値）は、変わり得る。国際化およびローカライズの対象である情報は、テキスト情報（例えば、メニュー表示、エラーメッセージなど）および数値情報（例えば、数字、時間、通貨など）を含み得る。いくつかの情報は、テキストおよび数値の両方の特性（例えば、小切手の「金額」欄）を含み得る。本明細書で説明する実施形態は、主として、数値情報の表示および解釈を対象とするが、当業者は、かかる実施形態をテキスト情報の表示および解釈にどのように適用するかを認識するであろう。
【００１８】
このプロセスはシリアル化に関連し、それは、データ構造またはオブジェクトを、第１の形式（例えば、ローカライズ形式）から、（例えば、ファイルまたはメモリバッファ内に）格納できるか、またはネットワーク接続リンクを経由して伝送され、後で、同一または別のコンピュータ環境内で第１の形式に再構成して戻すことができる、第２の形式（例えば、シリアル化形式）に変換するプロセスとして知られる。結果として生じる一連のビットが、シリアル化形式に従って再度読み取られる場合、それは、元のオブジェクトの意味的に同一のクローンをそのローカライズ形式で作成するために使用できる。シリアル化は、データ構造またはオブジェクトを、ローカライズ形式からシリアル化形式へ、またはシリアル化形式から元のローカライズ形式へのいずれかに、変換するプロセスを指し得る。本開示に従った実施形態では、シリアル化は、数値データを人間のユーザーに対して表示するか、または数値データを人間のユーザーから格納するために使用される１つのステップである。しかし、シリアル化は単独では、ローカルな習慣または標準に基づくデータ構造の変換（例えば、変換装置自体）の変更または調整に対処しない。
【００１９】
数字情報の解釈に対する変更は：数字のフォーマット（例えば、小数点の記号および桁区切り）；時間形式（例えば、１２時間または２４時間形式、軍事形式、グリニッジ標準時（ＧＭＴ）の参照、夏時間に対する補正（合衆国法典第１５巻第２６０（ａ）条）など）；日付形式（例えば、アメリカの習慣のｍｍ／ｄｄ／ｙｙｙｙまたはヨーロッパの習慣のｙｙｙｙ／ｍｍ／ｄｄ、４桁または２桁の年、グレゴリオ暦、ユリウス暦、中国暦、またはユダヤ暦などの異なるカレンダーの使用など）；通貨記号および表現（例えば、ドル、ユーロ、円、元など）；記述方向（例えば、英語で左から右、ヘブライ語およびアラビア語で右から左、ならびに任意選択で、いくつかのアジア言語で縦）；およびその他、のうちの１つ以上に、任意の組合せで、影響し得る。通貨記号および表現は、２００８年に公開された、国際標準化機構（ＩＳＯ）４２１７：２００８、「Ｃｏｄｅｓ  ｆｏｒ  ｔｈｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  ｃｕｒｒｅｎｃｉｅｓ  ａｎｄ  ｆｕｎｄｓ」によって指定されており、それは、参照により全体として本明細書に組み込まれる。
【００２０】
図１は、一実施形態に従った、いくつかの相互接続された装置を示す。数値情報データベース１０５、数値情報を表示可能な端末１１０、および数値情報コンピュータ２００がネットワーク１５０に接続されている。様々な実施形態では、ネットワーク１５０は、通信切換え、ルーティング、および／またはデータ記憶機能を含む。様々な実施形態では、ネットワーク１５０は、インターネット、１つ以上のイントラネット、ならびに有線および／または無線ネットワーク部分の一部もしくは全部を含み得る。様々な実施形態では、２つ以上の数値情報データベース１０５、および／または端末１１０があり得る。その上、図１は単一の数値情報コンピュータ２００を示しているが、代替実施形態では、数値情報コンピュータ２００によって実行される、関数、プロセスおよびルーチンが、２つ以上の異なる装置間でホストされるか、または分散され得る。多くの実施形態は、例えば、数値情報コンピュータ２００および／または数値情報データベース１０５が「クラウドコンピューティング」環境内で実行されるか、またはホストされる場合、１つの論理装置を含むために、複数の装置を使用し得る。
【００２１】
代替として、いくつかの実施形態では、数値情報コンピュータ２００、端末１１０、および／または数値情報データベース１０５の２つ以上が、単一の物理コンピューティング装置上でホストされ得る。例えば、いくつかの実施形態では、数値情報データベース１０５は、数値情報コンピュータ２００上で実行するプロセスであり得る。
【００２２】
端末１１０は、数値情報コンピュータ２００と通信可能な任意の装置であり得、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話および他のモバイル機器、ＰＤＡ、セットトップボックス、ならびに同様のものを含む。
【００２３】
様々な実施形態では、数値情報データベース１０５は、前述のような数値情報を表す１組のレコードを含み得る。いくつかのかかるタイプのレコード（例えば、勘定残高）は、個人を参照し得る。他のかかるタイプのレコードは、通常、金融機関、および同様のものなどの実体を参照し得る。いくつかのレコードタイプは、通常、個人および実体の両方を参照し得る。いくつかの状況では、混合表現を使用することが望ましくあり得る。例えば、旅行中に、ヨーロッパでＡＴＭを使用する北米の顧客は、何らかの情報（例えば、引出し金額）を、現地通貨、または自国の通貨（為替レートに対する適切なスケーリングと共に）のいずれかで見ることを好み得る。他方、何らかの他の情報（例えば、残高）は、自国の形式のみで表示され得、さらに他の情報（例えば、現地時間）は、現地文化の形式のみで表示され得る。いくつかの実施形態では、ユーザーは、外国または異文化を旅行中に、好ましい形式（例えば、自国文化および現地文化）の選択を提供され得、選択された好ましい形式が好ましい形式として格納され得る。
【００２４】
数値情報データベース１０５に投入するデータは、様々な供給源から来ている可能性があり、継続的に、および／または定期的に更新され得る。
【００２５】
１つの国が、本開示による実施形態に関連した２つ以上の文化を有し得る。例えば、カナダは、英語圏の文化およびフランス語圏の文化を有する。いくつかの国（例えば、スイス、ベルギー）は、不明瞭な境界を有する複数の共存する文化を有し得る。いくつかの国（例えば、合衆国）は、現地時間の表示に影響を及ぼし得る、明確な境界を有する複数の時間帯に渡り得る。何らかの情報は、国籍固有であり、潜在的に複数の文化に渡り得る（例えば、現地通貨に関連したフォーマット）。
【００２６】
図２は、例示的な数値情報インポートコンピュータ２００を示す。図２のシステム例は、いくつかのサブシステム、モジュール、ルーチン、およびエンジンを示し、それらの一部または全部が特定の実施形態で採用され得るが；システム、モジュール、ルーチン、およびエンジンは、例示されたものに制限されない。他の実施形態は、任意の数の論理的ソフトウェアおよび物理的ハードウェアの構成要素およびモジュールで実施され得る。モジュールおよび構成要素は、本明細書では単なる例としてリストされる。
【００２７】
数値情報コンピュータ２００は、処理装置２１０、メモリ２２５、および任意選択のディスプレイ２４０を含み、その全てが、バス２２０を経由して、ネットワークインタフェース２３０と共に、相互接続されている。メモリ２５０は、一般に、ランダムアクセスメモリ（「ＲＡＭ」）、読取り専用メモリ（「ＲＯＭ」）、および／またはディスクドライブなどの、永続的大容量記憶装置を含む。いくつかの実施形態では、メモリ２５０は、ローカルおよび／もしくはリモートのデータベース、データベースサーバー、ならびに／またはデータベースサービス（例えば、数値情報データベース１０５）も含み得る。他の実施形態では、ネットワークインタフェース２３０および／または他のデータベースインタフェース（図示せず）が、データベース（例えば、数値情報データベース１０５）と通信するために使用され得る。メモリ２５０は、数値情報関連レコード（複数可）インポートおよびエクスポートルーチン（図３〜図４を参照）の一部もしくは全部のためのプログラムコードおよび／またはデータ、フィールド比較スコアテーブル２２１、ならびに１組のレコード一致閾値２３６を格納する。加えて、メモリ２５０は、オペレーティングシステム２５５も格納する。
【００２８】
これらおよび他のソフトウェア構成要素は、フロッピィディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどの、非一時的な、有形的コンピュータ可読媒体２９５と関連付けられたドライブ機構（図示せず）を使用して、コンピュータ可読記憶媒体２９５から、数値情報データコンピュータ２００のメモリ２５０にロードされ得る。いくつかの実施形態では、ソフトウェア構成要素は、また、ネットワークインタフェース２３０または他の非記憶媒体を経由してロードされ得る。
【００２９】
「リングイスト（ｌｉｎｇｕｉｓｔ）」の辞書定義は「言語に熟練している人」である。人間によって入力された情報を読み取るか、または出力情報を文字列値の形で人間に提供する、コンピュータプログラムアプリケーションは、人間とコンピュータとの間の間隙を埋める人間／コンピュータインターフェースを採用する。プログラミング言語またはフレームワークは、これを行うための機能（例えば、呼出し可能関数、オブジェクトライブラリなど）を提供する。この目的のためのＣ＋＋およびＣ＃のような言語からの例は、ｐｒｉｎｔｆ、Ｓｔｒｉｎｇ．Ｆｏｒｍａｔ（）、ＵＩｎｔ３２．Ｐａｒｓｅ（）を含む。しかし、これらの従来の機能は、ソフトウェア開発者のための標準化および使い易さを欠いている。
【００３０】
本開示に従った実施形態によって解決される問題をより良く理解するために、例について検討すると参考になる。Ｃ＃をプログラミング言語例として使用し、例えば、文化固有または国籍固有（例えば、英語・合衆国文化、またはドイツ語・ドイツ文化）である、ユーザーのために数字をフォーマットする事例を考える。これを行うためには、下の表１に示す、以下のコードを書き得る：
【表１】
2015197922.tif 000003
【００３１】
Ｓｔｒｉｎｇ．Ｆｏｒｍａｔ（）メソッドは、アプリケーション開発者に著しい柔軟性を与える．ＮＥＴプラットフォーム要素であるが、かかる柔軟性は、すぐに、アプリケーションの保守性および一貫性の問題を引き起こす。Ｓｔｒｉｎｇ．Ｆｏｒｍａｔ（）メソッドは、異なるプラットフォームに関連した事例に対処するために広範なフォーマット変形をサポートし、それはプラットフォームにとっては良いが、規則的なソフトウェア開発にとっては悪い。異なる開発者は、「｛０：Ｎ２｝」の意味を異なって定義し得、それが小数位を示すように定義することもあれば、そうでないこともあり、文化設定を正しく含むこともあれば、そうでないこともある。さらに、開発者は、日常的に、「Ｎ」の意味を調べる必要があり、これは時間がかかる。これらは、開発者に関係するソフトウェア抽象化のレベルでの多すぎる不必要な選択の例であり、従って、アプリケーションの複雑さをもたらす。
【００３２】
不必要な選択を制限すると、より迅速でより保守可能なソフトウェア開発を可能にするであろう。不必要な選択は、通常、ソフトウェア開発者の注意を伴わない、抽象化またはソフトウェア実装レベルでのローカライズ関連の選択を処理することにより制限され得る。本開示に従った実施形態は、ソフトウェア開発者がかかる実施態様詳細に注意を払う必要性を含み、制限する。実施形態は、ソフトウェア開発者が、下の表２に示すような、はるかに保守可能で一貫したフォーマットコードを書くことを可能にする：
【表２】
2015197922.tif 000004
【００３３】
本開示に従った実施形態は、シリアル化モジュールを使用して、様々な方法で実装され得る。シリアル化モジュールは：ミドルウェアソフトウェア層；公開ライブラリにアクセスするための公開されたアプリケーションプログラミングインタフェース（ＡＰＩ）と共に、関数またはサブルーチン呼出しの公開ライブラリ；関連したメソッドおよび属性と共に、１組のオブジェクトクラス；などの１つ以上を含み得る。一実施形態では、シリアル化モジュールは、シリアル化モジュールを呼び出すか、または起動するアプリケーションプログラムと同じコンピューティング装置上でホストされ得る。別の実施形態では、シリアル化モジュールは、アプリケーションプログラムがその上で実行しているコンピューティング装置と通信可能に連絡する別個のコンピューティング装置上（例えば、クラウドストレージ内）でホストされ得る。
【００３４】
この例は、変数「ｎ」を数字としてフォーマットするための明確な意図を追加することにより、複雑性および選択を減らすことを示す。開発者は、形式「Ｎ」も、小数位の数「２」も、特定の文化も選択する必要がない。代わりに、ソフトウェア開発者は、数字「ｎ」がアプリケーションのデフォルト指定にフォーマットされることが分かっている。デフォルト指定は、「ｎ」のデータタイプの検出、および「ｎ」に適した所定の形式の適用に基づき得る。「ｎ」に対する適切な形式は、同様に、ユーザーが現在、位置している、文化、国、地理的位置などに対する規則、および彼らのホーム位置に対する規則に基づき得る。ユーザーが遭遇する可能性のある、実質的に全ての文化、国、地理的位置などに適した完全な規則が、本発明のソフトウェア実施形態の開発中に一度、国際化され得る。ユーザーの好みは、デフォルト値（例えば、多文化国家における好ましい文化）で、別個に読み取られ得る。以後、実施形態にアクセスするアプリケーションプログラムは、適切なＡＰＩ、関数、オブジェクトクラスまたはメソッドなどを起動することにより、実施形態のローカライズの恩恵を受けることができる。
【００３５】
従って、本開示に従った実施形態にアクセスするアプリケーションソフトウェアは、本明細で説明する実施形態を使用して数字が表示されるたびに、現地の文化に適した、一貫性のある数値表現をそれらのユーザーに提示するであろう。実施形態は、図１の数値情報コンピュータ２００などの、コンピューティング装置上に常駐する複数のソフトウェアアプリケーションから使用可能である。
【００３６】
既知の技術のいくつかのソーシャルネットワーキングプラットフォームは、いくつかのフォーマット機能を外部のソフトウェア開発者に提供するフォーマットライブラリ（例えば、Ｆａｃｅｂｏｏｋ（商標）Ｆｏｌｌｙ）を公開し得るが、かかるライブラリは、複雑性を低減しないか、または規約を通して標準を強制しない。それどころか、かかるフォーマットライブラリは、多くの場合、複雑性を減らすのではなく、それを追加しようとし、また、本開示に従った実施形態によって行われるのと同様にこれを行う、論理パラダイム（例えば、プログラミングモデル）を提供しない。
【００３７】
背景技術は、ソフトウェア開発者に対して選択を隠すか、または単純化するのとは対照的に、より多くの機能および／または物事を行う方法を追加することにより複雑性を追加しようと試みる。例えば、本開示に従った実施形態は、通貨および電話番号のフォーマットを実行し得るが、他方、既知の背景技術はこのフォーマットを実行しない。実施形態は、文化固有のフォーマットと文化固有でないフォーマットとの間の論理的な分離をサポートするが、他方、既知の背景技術は、この分離を実行しない。実施形態は、例えば、数字などの数値オブジェクトを表すために、複雑性低減規格を提供するが、既知の背景技術はこの複雑性低減を実行しない。
【００３８】
例えば、事前定義した構文を有する数値をマシン可読形式に変換するため、人間に示すために数値を従来型の人間に解読可能な形式に変換するために、数値を文字列に、またはその逆に変換する試みの問題について考慮する。数値が倍精度値１２３４５６７．８９であると仮定する。Ｃ＃では、この数値をユーザーが見るために、所定のフォーマットで表示したい場合には、下の表３に示すように、以下の構文を使用して、フォーマットライブラリ（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｄｅｖｅｌｏｐｅｒ  Ｎｅｔｗｏｒｋ（ＭＳＤＮ）．ＮＥＴ（商標））内の関数を起動し得る：
【表３】
2015197922.tif 000005
【００３９】
前述のように、Ｓｔｒｉｎｇ．Ｆｏｒｍａｔ（）に対する呼出しは、いくつかの用途または目的に役立つ。構文は、従来の方式では、フォーマットライブラリの開発者が、フォーマットライブラリの開発中に、それが意味するように設計したものを意味し、フォーマットライブラリを使用するために、フォーマットライブラリを起動するソフトウェアアプリケーションの開発者は、フォーマットライブラリによる定義について知っている必要がある。例えば、パラメータ「ＣｕｌｔｕｒｅＩｎｆｏ．ＣｕｒｒｅｎｔＣｕｌｔｕｒｅ」は、スレッドの文化が何の値（すなわち、どの文化）に設定されるべきかを識別し得る。「０：Ｎ２」パラメータは、「これを、区切り記号および小数点を含む数字としてフォーマットし、最大で２つの小数点が表示されるのを許可する」ことを意味するとして定義され得る。
【００４０】
フォーマットライブラリを起動するコード行を書いて保守する必要のあるアプリケーションプログラム開発者に対して問題および非効率性が生じ得る。第１に、「Ｎ」または「Ｎ２」または「０：Ｎ２」の定義が必ずしも明白または直感的ではなく、とりわけ、フォーマットライブラリ内にＳｔｒｉｎｇ．Ｆｏｒｍａｔ（）と似ている他の関数がない場合、または多数の任意選択のパラメータ、構文、もしくは他の特質（ｉｄｉｏｓｙｎｃｒａｓｙ）がある場合、その意味が推測できる規約が存在しない可能性がある。ソフトウェアアプリケーションの開発者は、反復により特質を覚えるまで、技術文書または他のヘルプ源を頻繁に調べる手段に訴える必要があり得る。他のソフトウェア開発者はＳｔｒｉｎｇ．Ｆｏｒｍａｔ（）フォーマット呼出しを直接、または第１の開発者が好むものとは異なるパラメータのセットで、または異なる値で、またはパラメータのいくつかに対してデフォルト値に依存して、などと起動し得るので、問題は時間とともに悪化し得る。時間とともに、また、フォーマットライブラリを使用するコードに取り組むアプリケーションソフトウェア開発者人口に渡って、アプリケーションソフトウェアは、一貫性のないフォーマットを有し得、せいぜい弱々しく意図的な一貫性しかない数値を、ユーザーに対して出力し始め得、ユーザーには完全に非論理的に見える可能性があり、従って、ソフトウェアアプリケーションに対するユーザーの混乱および不満を引き起こす。
【００４１】
本開示に従った実施形態は、正しい数値フォーマットを自動的に判断するミドルウェアソフトウェアをソフトウェアアプリケーションのユーザーに対して提供することにより、ソフトウェアアプリケーションの開発者がフォーマットライブラリに対する基礎的な呼出しの構文上の特質を追跡するか、またはユーザー特性の変化（例えば、現在の地理的位置）に応じて調整を行う必要なく、前項で特定された問題に対処する。フォーマットは、ユーザーの自国文化、ユーザーが現在、位置している場所の文化、表されているデータのタイプなどの、ユーザーまたはデータに関する情報に基づき自動的に調整され得る。例えば、本開示に従った実施形態を使用すると、アプリケーションソフトウェア開発者は、下の表４に示すように、表３からのコードをより単純で保守可能な形式で書き換え得る：
【表４】
2015197922.tif 000006
【００４２】
表４の形式は、アプリケーションソフトウェア開発者が利用可能なオプションおよび選択肢を好都合に制限し、それにより、複雑さを制限する。例えば、表３のコード例にあるような、明瞭でない構文を有する複数の呼出しパラメータのリストがない。アプリケーションソフトウェア開発者が一貫性がないか、または不適切な数値フォーマットを使用する可能性が少ない。アプリケーションソフトウェア開発者は、ソフトウェア開発中に、数値フォーマットの実装詳細を隠し、アプリケーションソフトウェア開発者が、アプリケーションの他の部分に集中して、アプリケーションソフトウェアを抽象化のさらに高いレベルで設計することを可能にするために、本明細書で説明する実施形態に依存できる。これは、アプリケーションのユーザーに対して、より一貫性のあるユーザーエクスペリエンス、従って、より大きなユーザー満足をもたらす可能性が高い。
【００４３】
表４の形式は、「ＡｓＤｅｆａｕｌｔ（）」関数呼出しの利用を伴う。この関数呼出しは、数値「ｎ」の表現を、数値「ｎ」が表される最も一般的な形式に強制する。数値「ｎ」が単純な数字を表している場合、ＡｓＤｅｆａｕｌｔ（）は、ＡｓＮｕｍｂｅｒ（）呼出しと同等であろう。数値「ｎ」が通貨を表している場合、ＡｓＤｅｆａｕｌｔ（）呼出しは、「ＡｓＣｕｒｒｅｎｃｙ（）」の呼出しと同等であろう。これは、アプリケーションソフトウェア開発者が特定の変数のデータタイプを知る必要性を免除する、柔軟な、データタイプベースのフォーマット機能を提供する。
【００４４】
本開示に従った実施形態は、追加の利益を提供する。例えば、ソフトウェアアプリケーション開発者が、完全な数字の代わりに、この数字の省略されたバージョンをユーザーに対して表示しようとすると仮定する（例えば、通貨の値が、最も近い千または百万ドルに丸められ、任意選択として、数値データのデータタイプに適した桁を示すために「Ｋ」または「Ｍ」などの接尾辞を付けて、千または百万ドルの単位で表現され得る会計報告）。省略された数字の特性（例えば、適切な接尾辞、省略された数字のフォーマット、適切な丸め、有効数字の数など）は、完全な数字のデータタイプによって決まり得る。従来技術（例えば、ＭＳＤＮ．ＮＥＴ）は、省略された数字をその数字のデータタイプに固有の特性とともに表示するような機能を欠いているが、実施形態は、アプリケーションソフトウェア開発者に、基礎的なデータの異なる態様または表現を使用して、数値データを表させるＡｓＡｓｐｅｃｔ（）メソッドおよび関数呼び出しを元々サポートする。従って、「ｎ」が単純な数値（例えば、通貨、時間、電話番号などを表していない１０進数）である場合、実施形態は、表５のコメント内にリストされた出力を生成するために、下の表５に示すコードを使用して、実施され得る。その例では、「Ｍ」は、「百万」（例えば、百万の単位または百万の乗数）を示すために単純な数値に対する接尾辞として使用される。
【表５】
2015197922.tif 000007
【００４５】
別の例では、「ｎ」が通貨データタイプを表すと仮定する。実施形態は、表６のコメント内にリストされた出力を生成するために、下の表６に示すコードを使用して実施され得る。
【表６】
2015197922.tif 000008
【００４６】
表６の例では、「ｍｉｌ」は「百万」（例えば、百万の単位または百万の乗数）を示すために通貨の値に対する接尾辞として使用される。さらに通貨記号が含まれる。
【００４７】
一般に、単純な数字対通貨などの、異なるデータタイプ間の特性（例えば、接尾辞または他のフォーマット）は、文化によって異なり得、従って、文化固有であり得る。例えば、英語の「百万」は、ロシア語では「миллион」に翻訳され、従って、百万を表す接尾辞はロシア語文化では異なり得る。Ｍは、いくつかの文化では一般に数字に対する標準であるが、英語のユーザーは通貨に対して「ｍｉｌ」の省略形を利用する。本明細書で使用される、これらの特定の省略形の選択は、例証のためであり、他の選択および組合せが考えられる。本開示に従った実施形態は、数値フォーマットの文化固有およびシステム固有の定義の複雑さを隠す。適切な定義が変わる（例えば、異なる自国文化をもつ異なるユーザー、または文化間を移動しているユーザー）場合、その適切な定義は、基礎的なアプリケーションソフトウェアコードに影響を及ぼすことなく、使用され得る。
【００４８】
設定は使用分野に対しても可能であり得る。例えば、使用分野を「財務」に設定すると、デフォルトにより数字が通貨として解釈されるようにし得、かかる数字を最も近い千に丸めて、３つの最下位の数字を落とすことにより、それらの数字を表示するように構成され得る。他方、使用分野が「科学」に設定され得、それは、デフォルトにより数字が単純な数字として解釈されるようにし得、かかる数字を科学的な形式（例えば、仮数および指数と共に）で表示するように構成され得る。使用分野は、データタイプを表すために使用される接尾辞にも影響を及ぼし得る。例えば、「財務」使用分野では、「ｔｈｏｕ」は、千の単位で通貨データタイプを示すための接尾辞として使用され得るが、「ジャーナリズム」使用分野では、「Ｇ」（口語表現「ｇｒａｎｄ」に対する省略形）が、千の単位で通貨データタイプを示すための接尾辞として使用されるであろう。
【００４９】
実施形態によって提供されるパラダイムの有用性は、アプリケーションソフトウェア開発者がデータ表現を意識する必要がないことである。表現の詳細（例えば、フォーマット）が実施形態によって管理され得、従って、アプリケーションソフトウェア開発者が、アプリケーションソフトウェアの開発中に、より高いレベルの抽象化に集中するのを可能にする。実施形態は、アプリケーションソフトウェア開発者が使用するための一貫した呼出しインタフェース（例えば、「Ｌｉｎｇｕｉｓｔ．Ｒｅｐｒｅｓｅｎｔ（）」）を提供する。アプリケーションソフトウェア開発者は、抽象的な意味で「表す」概念を考える必要があるだけで、次いで、実施形態が、システム設定（例えば、文化設定、使用分野設定など）に従い、データのタイプに一致した、数値データの表現または解釈を処理するであろう。
【００５０】
本開示に従った実施形態は、ユーザーによって提供された文字列値を、例えば、ユーザーからのテキスト入力を解釈し、そのテキスト入力を、文化設定、使用分野設定などと一致する数値に変換することにより、解釈する場合にも使用可能である。例えば、アプリケーションソフトウェア開発者は、文字列値をユーザーから受け取り、次いでその文字列値を特定のデータタイプとして解釈するために、実施形態によって提供されるソフトウェアルーチンを呼び出すか、または別の方法で起動するためのアプリケーションプログラムをコーディングし得る。既知の技術と比較すると、実施形態は、カスタムデータタイプおよびアプリケーション固有のデータタイプ（例えば、「通貨」データタイプ）を解析できるという追加の利益を有する。実施形態は、より理解可能で、より一貫した、文化考慮の処理も行う。
【００５１】
本開示に従った実施形態は、文字値列が由来する供給源に固有の入力文字列値の解釈を調整するため、またはフォーマットされた出力文字列値が使用される方法もしくは場所に固有の出力文字列値のフォーマットを調整するために、実施形態を構成する「オーディエンス（ａｕｄｉｅｎｃｅ）」と呼ばれる、設定も提供し得る。例えば、「Ａｕｄｉｅｎｃｅ．Ｕｓｅｒ」パラメータがＬｉｎｇｕｉｓｔ．Ｉｎｔｅｒｐｒｅｔ（）呼出しで使用される場合、実施形態は、入力文字列の供給源がオーディエンスのメンバーであると仮定し、従って、グループセパレータ、空白、その他に柔軟に対処する。しかし、実施形態が「Ａｕｄｉｅｎｃｅ．Ｓｙｓｔｅｍ」パラメータをＬｉｎｇｕｉｓｔ．Ｉｎｔｅｒｐｒｅｔ（）呼出しで使用した場合には、実施形態は、文字列値を生成するシステムが、人間と比べて、入力文字列値に対する正しい構文の順守においてより厳格であろうと仮定し得るので、実施形態は、入力文字列値を解析する際により厳格であり得、値がＩｎｖａｒｉａｎｔＣｕｌｔｕｒｅ設定（例えば、プログラムが実行している環境に基づき変化しない、ユーザーの自国文化などの、文化設定）の値に適合することを要求し得る。出力文字列値の処理は、同様に、「Ａｕｄｉｅｎｃｅ．Ｓｙｓｔｅｍ」パラメータが使用される場合により厳格であろう。
【００５２】
例えば、表７は、値が記憶装置コンテキストから読み込まれ得る方法例を示す。ＡｓＵＩｎｔ３２およびＴｒｙＡｓＵｎｔ３２変数の両方が、同じ動作を実行しようとしている。しかし、一方は、失敗すると、例外（すなわち、エラー状態）を引き起こして、プログラム実行を停止するのに対し、他方は、解釈が誤りの場合「偽」を返すが、プログラム実行は停止しない。
【表７】
2015197922.tif 000009
【００５３】
本開示に従った実施形態は、下の表８に示すＩＩｎｔｅｒｐｒｅｔｅｒインタフェースに従って作成されたオブジェクトを使用して動作し得る。ＩＩｎｔｅｒｐｒｅｔｅｒは、人または別のコンピュータシステムなどの、別の実体によって提供される入力文字列値の受取りおよび解釈に関連したオブジェクトを作成するために使用される。表８は、３２ビット整数、６４ビット整数、倍精度、単精度浮動小数点、通貨、電話番号および日付／時間を含むデータタイプを示す。しかし、表８のパラダイムは、追加のデータタイプに拡張できる。表８は関数インタフェースを示し：各かかるデータタイプを作成するため：オーディエンスを考慮して各かかるデータタイプを作成するため；入力文字列がデータタイプの１つに対応するかどうかブール値を返すため；時間データを異なる時間帯に変換するため；および時間データをＵＴＣに変換するために使用される。関数インタフェースは、他の関数に拡張され得る。
【表８】
2015197922.tif 000010
2015197922.tif 000011
【００５４】
本開示に従った実施形態は、下の表９に示すＩＲｅｐｒｅｓｅｎｔｅｒインタフェースに従って作成および使用された数値オブジェクトで動作し得る。ＩＲｅｐｒｅｓｅｎｔｅｒは、様々なタイプの数値データを表す数値オブジェクトから出力文字列オブジェクトを作成するために使用される。出力文字列オブジェクトは、人または別のコンピュータシステムなどの別の実体に提供されることを目的とする。表９は、Ｄｅｆａｕｌｔ（デフォルト）；Ｎｕｍｂｅｒ（数字）；Ａｓｐｅｃｔ（アスペクト）；Ｃｕｒｒｅｎｃｙ（通貨）；Ｐｅｒｃｅｎｔａｇｅ（百分率）；Ｐｈｏｎｅ  Ｎｕｍｂｅｒ（電話番号）；およびＤａｔｅ／Ｔｉｍｅ（日付／時間）を含むデータタイプに適した実施形態を示す。
【表９】
2015197922.tif 000012
【００５５】
Ｄｅｆａｕｌｔは，そのデータタイプに基づく形式を示すので、「Ｎｕｍｂｅｒ」は「Ｄｅｆａｕｌｔ」と異なる。例えば、「＄１．２」．ＡｓＤｅｆａｕｌｔ（）を使用すると、通貨の値としてフォーマットされた出力が生成されるが、「＄１．２」．ＡｓＮｕｍｂｅｒ（）を使用すると、こちらは、数字の変形を明示的に要求しているので、通貨記号（例えば、「＄」）なしで、出力「１．２」が生成される。
【００５６】
アスペクトは、データを表すための異なる方法を指す。日付／時間値は、変化するアスペクトの例である。例えば、「Ｊａｎｕａｒｙ  １，２０１４」のような日付は、例えば、「Ｊａｎ  １，２０１４」、「Ｊａｎ  １」、「Ｊａｎｕａｒｙ  １」、「１／１／２０１４」、「０１／０１／２０１４」、「２０１４／０１／０１」などの様々な方法で表され得る。これらの例の各々は、日付「Ｊａｎｕａｒｙ  １，２０１４」の異なるアスペクトであるが、それにもかかわらず、表現に内在するデータは完全な日付および時間値のままである。
【００５７】
ＩＩｎｔｅｒｐｒｅｔｅｒは、入力文字列値を解釈して、それから厳密に型指定されたオブジェクトを作成することにより動作し得る。ＩＲｅｐｒｅｓｅｎｔｅｒは、厳密に型指定されたオブジェクトを受け取り、それから、オブジェクトに比べてそれほど厳密に型指定されていない、出力文字列値を作成することにより動作し得る。
【００５８】
本開示に従った実施形態は、下の表１０にリストされた機能呼出しによって公開された、公開関数インタフェースを使用して動作し得る。公開関数インタフェースは：様々なデータタイプの１つの数値オブジェクトの出力文字列を生成するためのＩＲｅｐｒｅｓｅｎｔｅｒ  Ｒｅｐｒｅｓｅｎｔ（）；様々なデータタイプの１つの数値オブジェクトを生成するために入力文字列値を解釈するためのＩＩｎｔｅｒｐｒｅｔｅｒ  Ｉｎｔｅｒｐｒｅｔ（）；量固有および／またはデータタイプ固有の接尾辞を返すためのｓｔｒｉｎｇ  ＧｅｔＱｕａｎｔｉｔｙＡｂｂｒｅｖｉａｔｉｏｎ（）；地域固有の情報を取得するためのＩＦｏｒｍａｔＰｒｏｖｉｄｅｒ  ＧｅｔＲｅｇｉｏｎＦｏｒｍａｔＰｒｏｖｉｄｅｒ（）；ならびに日付および時間を解釈するため、または日付および時間をフォーマットするために使用する時間帯情報を取得するためのＴｉｍｅＺｏｎｅＩｎｆｏ  ＧｅｔＴｉｍｅＺｏｎｅＩｎｆｏ（）を含む。
【表１０】
2015197922.tif 000013
【００５９】
本開示に従った実施形態は、３文字のＩＳＯ通貨コードおよび金額（例えば、ＵＳＤ  １，０００．００またはＥＵＲ  １，０００．００）によって表される任意の額面金額の通貨の処理、様々な国および国際フォーマット規約に従った電話番号の処理、ならびにユーザー固有の時間帯またはＵＴＣベースの時間帯（例えば、上の表８に示すＡｓＣｏｎｖｅｒｔｅｄＤａｔｅＴｉｍｅなど）に従った日付／時間の解析のための組込み論理を含み得る。
【００６０】
図３は、本開示の実施形態に従ったプロセス３００を示す。プロセス３００は、表８および表１０に関連して説明したようなものを含む関数インタフェースを使用して、外部実体からの入力文字列を数値オブジェクトへ変換することが望ましい、トランザクション中に有用であり得る。外部実体は、例えば、図１に示すような端末１１０、またはそのユーザーであり得る。トランザクションは、実質的に世界中で起こり得る。プロセスの少なくとも一部が、図１に示す数値情報コンピュータ２００によって、特に、図２のデータ関連インポート／エクスポートルーチン２０１によって実行可能であり得る。数値情報コンピュータ２００内で実行しているアプリケーションプログラムは、数値データおよび／またはその数値データの１つ以上のテキスト表現を外部実体と交換する（すなわち、インポートおよび／またはエクスポートする）ために、データ関連インポート／エクスポートルーチン２０１を実行している可能性がある。
【００６１】
プロセス３００はステップ３０１で開始し、そこで、アプリケーションが、入力文字列値を外部実体から受信する。
【００６２】
次に、プロセス３００の制御はステップ３０３に進み、そこで、アプリケーションが、入力文字列値に関連した構成情報を受信する。例えば、構成情報は、オーディエンス指標（例えば、入力文字列が人間のユーザーまたは自動化供給源から来ているかどうかを示し得る）、使用分野指標、意図されたデータタイプなど、を含み得る。供給源が人間のユーザーである場合、ユーザーの自宅の地理的位置、母国、自国文化、トランザクションの地理的位置、トランザクションの国、トランザクションの文化、使用分野指標などの、そのユーザーにとって、またはトランザクションにとって適切な追加の構成情報が取得され得る。
【００６３】
次に、プロセス３００の制御はステップ３０５に進み、そこで、可能性のあるデータタイプが仮定されるか、またはありそうにないデータタイプの除外が行われる。判断は、ステップ３０３で収集された情報に少なくとも一部基づき行われ得る。例えば、入力文字列値の形式、またはフォーマットされていない数値として表現される場合はその値に基づいて、あるデータタイプがありそうか、ありそうにないかが判断され得る。例えば、「（ｘｘｘ）ｘｘｘ−ｘｘｘ」または「ｘｘｘ．ｘｘｘ．ｘｘｘ」（ここで、「ｘ」は任意の数字）の形式の入力文字列は、電話番号を表している可能性があり、時間を表している可能性はない。他方、「ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ」の形式の入力文字列は、電話番号ではなく、ＩＰアドレスを表している可能性がある。
【００６４】
次に、プロセス３００の制御はステップ３０７に進み、そこで、仮定されたデータタイプに対応するデータオブジェクトが作成され、そのデータオブジェクトは、入力文字列値が実際に仮定されたデータタイプであると仮定して、値が割り当てられ得る。
【００６５】
次に、プロセス３００の制御は判断ステップ３０９に進み、そこで、入力文字列値が仮定されたデータタイプの規約に準拠するかどうかを判断するために、仮定されたデータタイプが検証され得る。例えば、９桁の米国の電話番号は、通常、「９１１」で始まらない。仮定されたデータタイプが検証テストに合格しないか、またはステップ３０７で作成されたデータオブジェクトが正当性テストに合格しない場合、プロセス３００の制御はステップ７に戻り、そこで、異なるデータタイプが仮定される。ステップ３０９の結果が肯定である場合、プロセス３００は終了し得る。
【００６６】
図４は、本開示の実施形態に従ったプロセス４００を示す。プロセス４００は、表９および表１０に関連して説明したようなものを含む関数インタフェースを使用して、数値データオブジェクトを、外部実体への伝送前に、出力文字列値に変換するために有用であり得る。外部実体は、例えば、図１に示すような端末１１０、またはそのユーザーであり得る。プロセスの少なくとも一部が、図１に示す数値情報コンピュータ２００によって、特に、図２のデータ関連インポート／エクスポートルーチン２０１によって実行可能であり得る。数値情報コンピュータ２００内で実行しているアプリケーションプログラムは、数値データおよび／またはその数値データの１つ以上のテキスト表現を外部実体と交換する（すなわち、インポートおよび／またはエクスポートする）ために、データ関連インポート／エクスポートルーチン２０１を実行している可能性がある。
【００６７】
プロセス４００はステップ４０１で開始し、そこで、アプリケーションプログラムが、文字列値が外部実体に出力されるべきことを示す指示を受信する。例えば、アプリケーションプログラムは、数値を端末１１０におけるユーザーに出力する命令（例えば、アプリケーションプログラムによりアルゴリズムで、または端末１１０におけるユーザーからの要求に応答して、判断された）を受信し得る。
【００６８】
次に、プロセス４００の制御はステップ４０３に進み、そこで、アプリケーションプログラムが数値データのデータタイプを判断し得る。
【００６９】
次に、プロセス４００の制御はステップ４０５に進み、そこで、アプリケーションプログラムが、数値データに関連した構成情報を取得するか、または別の方法で判断し得る。例えば、構成情報は、数値データ（例えば、電話番号、日付など）から作成されるべきデータオブジェクトのタイプ、文化指標（例えば、日付または１０進数に対するアメリカまたはヨーロッパの規約など）、オーディエンス指標（例えば、入力文字列が人間のユーザーまたは自動化供給源から来ているかどうかを示すため）、使用分野指標、意図されたデータタイプなどを含み得る。かかる構成情報は、データベース１０５、コンピュータ可読媒体２９５、および任意選択のデータベースインタフェース２４５を通してアクセスされるデータベースの１つ以上から取得され得る。
【００７０】
次に、プロセス４００の制御はステップ４０７に進み、そこで、数値データおよび構成情報に対応する、文字列値が生成される（例えば、シリアル化される）。これは、表９および表１０に関連して説明したようなものを含む関数インタフェースを使用して達成され得る。
【００７１】
次に、プロセス４００の制御はステップ４０９に進み、そこで、生成された文字列値が、端末１１０または端末１１０のユーザーに出力する（例えば、表示する）ために、出力装置に伝送される。
【００７２】
開示する方法は、様々なコンピュータまたはワークステーションプラットフォーム上で使用できる移植可能なソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境の使用によるなど、ソフトウェアで容易に実装され得る。代替として、開示するシステムは、標準的な論理回路またはＶＬＳＩ設計の使用によるなど、ハードウェアで一部または完全に実装され得る。本開示の様々な実施形態に従ったシステムを実装するために、ソフトウェアまたはハードウェアが使用され得るかは、システムの速度または効率要件、特定の関数、および利用されている特定のソフトウェアまたはハードウェアなどの、様々な考慮事項によって決まり得る。
【００７３】
前述は本発明の実施形態に関するが、本発明の他の実施形態およびさらなる実施形態が、その基本的な範囲から逸脱することなく、考案され得る。本明細書で説明する様々な実施形態は、本明細書に包含される範囲から逸脱することなく、説明された任意の他の実施形態と組み合わせて利用され得ることを理解されたい。さらに、前述の説明は、包括的であることも、本発明を開示する正確な形式に制限することも意図しない。修正および変形が前述の教示を踏まえて可能であるか、または本発明の実施から得られ得る。ある例示的な実施形態は、リスト項目が実施形態の代表であること、およびリストがさらなる実施形態を除外する閉リストを表すことを意図しないことを示すための表現を含む無制限のリストの使用によって識別され得る。かかる表現は、「例えば（ｅ．ｇ．）」、「など（ｅｔｃ．）」、「などの（ｓｕｃｈ  ａｓ）」、「例えば（ｆｏｒ  ｅｘａｍｐｌｅ）」、「その他（ａｎｄ  ｓｏ  ｆｏｒｔｈ）」、「および同様のもの（ａｎｄ  ｔｈｅ  ｌｉｋｅ）」など、および周囲のコンテキストから明らかであるような他の表現を含み得る。
【００７４】
本出願の記述で使用されるどの要素、動作、および命令も、そのようなものとして特に明記されない限り、本発明にとって重大であるか、または必須であると解釈されるべきでない。また、本明細書では、冠詞「１つの（ａ）」は、１つ以上の項目を含むことを意図する。１つだけの項目が意図される場合は、用語「１つ（ｏｎｅ）」または同様の言葉が使用される。さらに、複数の項目および／または複数の項目のカテゴリのリストに続く、用語「のいずれか（ａｎｙ  ｏｆ）」は、本明細書では、項目および／もしくは項目のカテゴリ「のいずれか」、「の任意の組合せ」、「の任意の複数」、および／もしくは「の複数の任意の組合せ」を、個別に、または他の項目および／もしくは他の項目のカテゴリと併せて、含むことを意図する。
【００７５】
その上、請求項は、その趣旨で明記しない限り、記述された順序または要素に制限されると読み取られるべきではない。加えて、任意の請求項における用語「手段（ｍｅａｎｓ）」の使用は、米国特許法第１１２条第６段落を行使することを意図し、用語「手段（ｍｅａｎｓ）」のない任意の請求項はそのように意図しない。
【図１】
2015197922.tif 000014
【図２】
2015197922.tif 000015
【図３】
2015197922.tif 000016
【図４】
2015197922.tif 000017
【手続補正書】
【提出日】平成27年4月2日(2015.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子ローカライズデータをシリアル化するための装置であって、
電子ローカライズデータを収集するための受信機と、
前記受信機に結合されたプロセッサであって、前記受信機によって収集された前記電子ローカライズデータを受信するように構成されたプロセッサと、
前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
前記受信機によって収集された電子ローカライズデータをシリアル化するための、シリアル化モジュールへのインタフェースであって、前記アプリケーションプログラムから呼出し可能なインタフェースと、
前記シリアル化モジュールから前記シリアル化データを格納するように構成された記憶モジュールと
を含む、電子ローカライズデータをシリアル化するための装置。
【請求項２】
前記シリアル化モジュールが前記装置によってホストされる、請求項１に記載の装置。
【請求項３】
前記シリアル化モジュールが前記装置の外部でホストされる、請求項１に記載の装置。
【請求項４】
前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース（ＡＰＩ）を含む、請求項１に記載の装置。
【請求項５】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項１に記載の装置。
【請求項６】
前記構成情報が、文化情報を含む、請求項５に記載の装置。
【請求項７】
前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項５に記載の装置。
【請求項８】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項１に記載の装置。
【請求項９】
シリアル化データから電子ローカライズデータを生成するための装置であって、
シリアル化データを格納するように構成された記憶モジュールと、
前記記憶モジュールに結合されたプロセッサであって、前記シリアル化データを前記記憶モジュールから取得するように構成されたプロセッサと、
前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
シリアル化モジュールへのインタフェースであって、前記シリアル化モジュールがシリアル化データから電子ローカライズデータを生成するためであり、前記インタフェースが前記アプリケーションプログラムから呼出し可能である、インタフェースと、
前記プロセッサに結合された送信機であって、前記電子ローカライズデータを送信するように構成された送信機と
を含む、シリアル化データから電子ローカライズデータを生成するための装置。
【請求項１０】
前記シリアル化モジュールが前記装置によってホストされる、請求項９に記載の装置。
【請求項１１】
前記シリアル化モジュールが前記装置の外部でホストされる、請求項９に記載の装置。
【請求項１２】
前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース（ＡＰＩ）を含む、請求項９に記載の装置。
【請求項１３】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項９に記載の装置。
【請求項１４】
前記構成情報が、文化情報を含む、請求項１３に記載の装置。
【請求項１５】
前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項１３に記載の装置。
【請求項１６】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項９に記載の装置。
【請求項１７】
シリアル化データから電子ローカライズデータを生成するための方法であって、
メモリに結合されたプロセッサによって、シリアル化データを記憶モジュールから取得することと、
前記電子ローカライズデータに関連した構成情報を取得することと、
前記プロセッサによって、前記シリアル化データから電子ローカライズデータを生成するシリアル化モジュールを起動することと
を含む、シリアル化データから電子ローカライズデータを生成するための方法。
【請求項１８】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含み、前記構成情報が文化情報を含む、請求項１７に記載の方法。
【請求項２０】
前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項１７に記載の方法。
【外国語明細書】
2015197922000001.pdf