JP2015197922A - Linguistベースのヒューマン/マシンインタフェース構成要素のためのシステムおよび方法 - Google Patents

Linguistベースのヒューマン/マシンインタフェース構成要素のためのシステムおよび方法 Download PDF

Info

Publication number
JP2015197922A
JP2015197922A JP2015066258A JP2015066258A JP2015197922A JP 2015197922 A JP2015197922 A JP 2015197922A JP 2015066258 A JP2015066258 A JP 2015066258A JP 2015066258 A JP2015066258 A JP 2015066258A JP 2015197922 A JP2015197922 A JP 2015197922A
Authority
JP
Japan
Prior art keywords
data
module
electronic localization
localization data
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015066258A
Other languages
English (en)
Inventor
ハーン クリストファー
Hahn Christopher
ハーン クリストファー
コーウィッグ ジョシュア
Cowhig Joshua
コーウィッグ ジョシュア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iqvia Inc
Original Assignee
IMS Health Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IMS Health Inc filed Critical IMS Health Inc
Publication of JP2015197922A publication Critical patent/JP2015197922A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

【課題】アプリケーションプログラムの国際化及びローカライズを容易にするために、電子ローカライズデータを(出力のために)シリアル化及び又はシリアル化データから(入力して)電子ローカライズデータを生成する装置及び方法を提供する。
【解決手段】シリアル化するための装置は、電子ローカライズデータを収集するための受信機と、受信機に結合され受信機によって収集された電子ローカライズデータを受信するためのプロセッサと、プロセッサに結合されアプリケーションプログラムを格納するメモリと、受信機によって収集された電子ローカライズデータをシリアル化するためのシリアル化モジュールへの、アプリケーションプログラムから呼出し可能なインタフェースと、シリアル化モジュールからシリアル化データを格納するための記憶モジュールとを含む。
【選択図】図4

Description

関連出願の相互参照
本出願は、2014年4月2日に出願された、米国仮特許出願第61/974,417号の利益を主張し、その内容全体が参照により全体として本明細書に組み込まれる。
本発明の実施形態は、一般に、データのローカライズに関し、詳細には、文化情報などの、ユーザーまたはトランザクション位置に関連した情報を考慮して、データをシリアル化するためのシステムおよび方法に関する。
関連技術の説明
開発プラットフォームは通常、ユーザーからの情報の取得、ユーザーへの情報の提示、およびその情報の、人間に解読可能な形式のために使用されるフォーマットに対して変化しない有形的コンピュータ可読形式に情報が格納される、ハードウェアへの、およびハードウェアからのシリアル化に対して利用可能な広範なツールを有する。しかし、広範なツールに関連する問題は、それらが何でも構築するのを可能にするが、堅牢かつ一貫した方法で、ローカルな文化データ表現、広範なエンタープライズデータタイプをサポートするか、または時間帯の複雑さに対処するアプリケーションの構築を容易にしないことである。
従って、上で特定した欠点の克服を容易にするための必要性が存在する。
本開示に従った実施形態は、基礎的なプラットフォーム、エンドユーザー、記憶サブシステム、およびアプリケーション開発者の間に論理層を提供する。様々な実施形態は、本明細書では、「The Linguist」または同様のものと呼ばれ得る。The Linguistシステムは、プラットフォームの複雑性に対処するために過度の開発者資源を注ぎ込む必要なく、アプリケーション開発者が、堅牢かつ一貫性のあるアプリケーションを構築するのを容易にする1組の一貫性のある原理および構成要素を提供する。これは、アプリケーション開発を促進して、開発されたアプリケーションにおけるエラー率を低下させ、アプリケーションの保守性を大幅に向上させる。
本開示に従った実施形態は、エンドユーザーおよびコンピュータシステムへの/からの情報をフォーマットおよび解析するための標準に準拠した複雑性低減アプローチを、開発者が提供できるようにするのを可能にする。
本開示に従った実施形態は、電子ローカライズデータをシリアル化するか、またはシリアル化データから電子ローカライズデータを生成するための装置および方法を含む。シリアル化するための装置は:電子ローカライズデータを収集するための受信機;受信機に結合されたプロセッサであって、受信機によって収集された電子ローカライズデータを受信するように構成されたプロセッサ;プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリ;受信機によって収集された電子ローカライズデータをシリアル化するための、シリアル化モジュールへのインタフェースであって、アプリケーションプログラムから呼出し可能なインタフェース;およびシリアル化データをシリアル化モジュールから格納するように構成された記憶モジュールを含む。
本開示に従った別の実施形態では、シリアル化データから電子ローカライズデータを生成するための装置は:シリアル化データを格納するように構成された記憶モジュール;記憶モジュールに結合されたプロセッサであって、シリアル化データを記憶モジュールから取得するように構成されたプロセッサ;プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリ;シリアル化モジュールへのインタフェースであって、シリアル化モジュールがシリアル化データから電子ローカライズデータを生成するためであり、インタフェースがアプリケーションプログラムから呼出し可能である、インタフェース;およびプロセッサに結合された送信機であって、電子ローカライズデータを送信するように構成された送信機を含む。
本開示に従った別の実施形態では、シリアル化データから電子ローカライズデータを生成するための方法は:メモリに結合されたプロセッサによって、シリアル化データを記憶モジュールから取得すること;電子ローカライズデータに関連した構成情報を取得すること;プロセッサによって、シリアル化データから電子ローカライズデータを生成するシリアル化モジュールを起動すること;および電子ローカライズデータを伝送することを含む。
前述は、本開示のいくつかの態様の理解を提供するための、本開示の実施形態の簡略な概要である。この概要は、本開示およびその様々な実施形態の広範な要約でも、包括的な要約でもない。本開示の重要な要素または必須の要素を特定することも、本開示の範囲を線引きすることも意図しておらず、本開示の選択された概念を簡略化した形式で、以下で提示するより詳細な説明への導入として提示することを意図する。理解されるように、前述したか、または以下で詳細に説明する特徴の1つ以上を、単独または組み合わせて利用する、本開示の他の実施形態が可能である。
本明細書で使用する見出しは編成目的のみであり、説明または請求項の範囲を制限するために使用されることを意図していない。本出願を通して、語「〜し得る(may)」は、強制的な意味(すなわち、〜しなければならない(must)を意味する)ではなく、許容の意味(すなわち、〜する可能性があることを意味する)で使用される。同様に、語「含む(include)」、「含む(including)」および「含む(includes)」は、制限ではなく、包含を意味する。理解を容易にするため、同様の参照番号が、可能な場合には、図に共通した同様の要素を示すために使用されている。図の任意選択部分は、使用コンテキストで特に指示していない限り、破線または点線を使用して示され得る。
本発明の前述およびさらなる特徴ならびに利点が、その実施形態の以下の詳細な説明を、特に添付の図と併せて、考慮すると明らかになり、様々な図中の同様の参照番号は、同様の構成要素を指定するために利用される。
一実施形態に従ったネットワーク図である。 ローカライズコンピューティングをサポートするためのコンピュータの一実施形態を示す。 本開示の一実施形態に従って、入力文字列を数値オブジェクトに変換するプロセスを示す。 本開示の一実施形態に従って、数値データオブジェクトを出力文字列値に変換するプロセスを示す。
以下の詳細な説明は、プロセッサ、プロセッサのためのメモリ記憶装置、結合されたディスプレイ装置、および入力装置を含む、従来型のコンピュータ構成要素によるプロセスならびに動作の記号表現の観点から主に表される。さらに、これらのプロセスおよび動作は、リモートファイルサーバー、コンピュータサーバー、およびメモリ記憶装置を含む、異種分散コンピューティング環境内の従来型のコンピュータ構成要素を利用し得る。これらの従来型の分散コンピューティング構成要素の各々は、通信ネットワークを経由して、プロセッサによりアクセス可能である。
ここで、図に示すように、実施形態の記述について詳細に説明する。実施形態は図および関連記述に関して説明されるが、範囲を本明細書で開示する実施形態に制限する意図はない。反対に、意図は、全ての代替手段、修正、および均等物を包含することである。代替実施形態では、追加の装置、または図示した装置の組合せが、本明細書で開示する実施形態の範囲を制限することなく、追加されるか、または組み合わされ得る。
国際化(「i18n」と呼ばれることもある)およびローカライズ(「L10n」と呼ばれることもある)は、コンピュータソフトウェアの、異なる言語、地域差、および対象とするマーケットの技術的要件への適合を指す。国際化は、ソフトウェアアプリケーションが、技術変更なしで様々な言語および地域に適合され得るように、ソフトウェアアプリケーションを設計することを指す。ローカライズは、国際化されたソフトウェアを、ロケール固有の構成要素を追加し、テキストを翻訳することにより、特定の地域または言語に適合させることを指す。国際化は、理想的には、進行中の開発の不可欠な部分として、一度だけ実行される。他方、ローカライズは、国際化によって提供された基礎構造または柔軟性を使用して、異なるロケールに対して複数回、実行され得る。
コンピューティングシステムに関して、国際化およびローカライズは、ローカルな習慣または標準に対する情報の表示の調整を伴い得る。かかる情報のコンピューティングシステム内での電子的格納は、必ずしも変わらないが、コンピューティングシステムから出力される情報の表示(例えば、ユーザーに対して、ディスプレイ上に表示される文字列値)、またはコンピューティングシステムに入力された情報の解釈(例えば、ユーザーキーボードからの文字列値)は、変わり得る。国際化およびローカライズの対象である情報は、テキスト情報(例えば、メニュー表示、エラーメッセージなど)および数値情報(例えば、数字、時間、通貨など)を含み得る。いくつかの情報は、テキストおよび数値の両方の特性(例えば、小切手の「金額」欄)を含み得る。本明細書で説明する実施形態は、主として、数値情報の表示および解釈を対象とするが、当業者は、かかる実施形態をテキスト情報の表示および解釈にどのように適用するかを認識するであろう。
このプロセスはシリアル化に関連し、それは、データ構造またはオブジェクトを、第1の形式(例えば、ローカライズ形式)から、(例えば、ファイルまたはメモリバッファ内に)格納できるか、またはネットワーク接続リンクを経由して伝送され、後で、同一または別のコンピュータ環境内で第1の形式に再構成して戻すことができる、第2の形式(例えば、シリアル化形式)に変換するプロセスとして知られる。結果として生じる一連のビットが、シリアル化形式に従って再度読み取られる場合、それは、元のオブジェクトの意味的に同一のクローンをそのローカライズ形式で作成するために使用できる。シリアル化は、データ構造またはオブジェクトを、ローカライズ形式からシリアル化形式へ、またはシリアル化形式から元のローカライズ形式へのいずれかに、変換するプロセスを指し得る。本開示に従った実施形態では、シリアル化は、数値データを人間のユーザーに対して表示するか、または数値データを人間のユーザーから格納するために使用される1つのステップである。しかし、シリアル化は単独では、ローカルな習慣または標準に基づくデータ構造の変換(例えば、変換装置自体)の変更または調整に対処しない。
数字情報の解釈に対する変更は:数字のフォーマット(例えば、小数点の記号および桁区切り);時間形式(例えば、12時間または24時間形式、軍事形式、グリニッジ標準時(GMT)の参照、夏時間に対する補正(合衆国法典第15巻第260(a)条)など);日付形式(例えば、アメリカの習慣のmm/dd/yyyyまたはヨーロッパの習慣のyyyy/mm/dd、4桁または2桁の年、グレゴリオ暦、ユリウス暦、中国暦、またはユダヤ暦などの異なるカレンダーの使用など);通貨記号および表現(例えば、ドル、ユーロ、円、元など);記述方向(例えば、英語で左から右、ヘブライ語およびアラビア語で右から左、ならびに任意選択で、いくつかのアジア言語で縦);およびその他、のうちの1つ以上に、任意の組合せで、影響し得る。通貨記号および表現は、2008年に公開された、国際標準化機構(ISO)4217:2008、「Codes for the representation of currencies and funds」によって指定されており、それは、参照により全体として本明細書に組み込まれる。
図1は、一実施形態に従った、いくつかの相互接続された装置を示す。数値情報データベース105、数値情報を表示可能な端末110、および数値情報コンピュータ200がネットワーク150に接続されている。様々な実施形態では、ネットワーク150は、通信切換え、ルーティング、および/またはデータ記憶機能を含む。様々な実施形態では、ネットワーク150は、インターネット、1つ以上のイントラネット、ならびに有線および/または無線ネットワーク部分の一部もしくは全部を含み得る。様々な実施形態では、2つ以上の数値情報データベース105、および/または端末110があり得る。その上、図1は単一の数値情報コンピュータ200を示しているが、代替実施形態では、数値情報コンピュータ200によって実行される、関数、プロセスおよびルーチンが、2つ以上の異なる装置間でホストされるか、または分散され得る。多くの実施形態は、例えば、数値情報コンピュータ200および/または数値情報データベース105が「クラウドコンピューティング」環境内で実行されるか、またはホストされる場合、1つの論理装置を含むために、複数の装置を使用し得る。
代替として、いくつかの実施形態では、数値情報コンピュータ200、端末110、および/または数値情報データベース105の2つ以上が、単一の物理コンピューティング装置上でホストされ得る。例えば、いくつかの実施形態では、数値情報データベース105は、数値情報コンピュータ200上で実行するプロセスであり得る。
端末110は、数値情報コンピュータ200と通信可能な任意の装置であり得、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話および他のモバイル機器、PDA、セットトップボックス、ならびに同様のものを含む。
様々な実施形態では、数値情報データベース105は、前述のような数値情報を表す1組のレコードを含み得る。いくつかのかかるタイプのレコード(例えば、勘定残高)は、個人を参照し得る。他のかかるタイプのレコードは、通常、金融機関、および同様のものなどの実体を参照し得る。いくつかのレコードタイプは、通常、個人および実体の両方を参照し得る。いくつかの状況では、混合表現を使用することが望ましくあり得る。例えば、旅行中に、ヨーロッパでATMを使用する北米の顧客は、何らかの情報(例えば、引出し金額)を、現地通貨、または自国の通貨(為替レートに対する適切なスケーリングと共に)のいずれかで見ることを好み得る。他方、何らかの他の情報(例えば、残高)は、自国の形式のみで表示され得、さらに他の情報(例えば、現地時間)は、現地文化の形式のみで表示され得る。いくつかの実施形態では、ユーザーは、外国または異文化を旅行中に、好ましい形式(例えば、自国文化および現地文化)の選択を提供され得、選択された好ましい形式が好ましい形式として格納され得る。
数値情報データベース105に投入するデータは、様々な供給源から来ている可能性があり、継続的に、および/または定期的に更新され得る。
1つの国が、本開示による実施形態に関連した2つ以上の文化を有し得る。例えば、カナダは、英語圏の文化およびフランス語圏の文化を有する。いくつかの国(例えば、スイス、ベルギー)は、不明瞭な境界を有する複数の共存する文化を有し得る。いくつかの国(例えば、合衆国)は、現地時間の表示に影響を及ぼし得る、明確な境界を有する複数の時間帯に渡り得る。何らかの情報は、国籍固有であり、潜在的に複数の文化に渡り得る(例えば、現地通貨に関連したフォーマット)。
図2は、例示的な数値情報インポートコンピュータ200を示す。図2のシステム例は、いくつかのサブシステム、モジュール、ルーチン、およびエンジンを示し、それらの一部または全部が特定の実施形態で採用され得るが;システム、モジュール、ルーチン、およびエンジンは、例示されたものに制限されない。他の実施形態は、任意の数の論理的ソフトウェアおよび物理的ハードウェアの構成要素およびモジュールで実施され得る。モジュールおよび構成要素は、本明細書では単なる例としてリストされる。
数値情報コンピュータ200は、処理装置210、メモリ225、および任意選択のディスプレイ240を含み、その全てが、バス220を経由して、ネットワークインタフェース230と共に、相互接続されている。メモリ250は、一般に、ランダムアクセスメモリ(「RAM」)、読取り専用メモリ(「ROM」)、および/またはディスクドライブなどの、永続的大容量記憶装置を含む。いくつかの実施形態では、メモリ250は、ローカルおよび/もしくはリモートのデータベース、データベースサーバー、ならびに/またはデータベースサービス(例えば、数値情報データベース105)も含み得る。他の実施形態では、ネットワークインタフェース230および/または他のデータベースインタフェース(図示せず)が、データベース(例えば、数値情報データベース105)と通信するために使用され得る。メモリ250は、数値情報関連レコード(複数可)インポートおよびエクスポートルーチン(図3〜図4を参照)の一部もしくは全部のためのプログラムコードおよび/またはデータ、フィールド比較スコアテーブル221、ならびに1組のレコード一致閾値236を格納する。加えて、メモリ250は、オペレーティングシステム255も格納する。
これらおよび他のソフトウェア構成要素は、フロッピィディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどの、非一時的な、有形的コンピュータ可読媒体295と関連付けられたドライブ機構(図示せず)を使用して、コンピュータ可読記憶媒体295から、数値情報データコンピュータ200のメモリ250にロードされ得る。いくつかの実施形態では、ソフトウェア構成要素は、また、ネットワークインタフェース230または他の非記憶媒体を経由してロードされ得る。
「リングイスト(linguist)」の辞書定義は「言語に熟練している人」である。人間によって入力された情報を読み取るか、または出力情報を文字列値の形で人間に提供する、コンピュータプログラムアプリケーションは、人間とコンピュータとの間の間隙を埋める人間/コンピュータインターフェースを採用する。プログラミング言語またはフレームワークは、これを行うための機能(例えば、呼出し可能関数、オブジェクトライブラリなど)を提供する。この目的のためのC++およびC#のような言語からの例は、printf、String.Format()、UInt32.Parse()を含む。しかし、これらの従来の機能は、ソフトウェア開発者のための標準化および使い易さを欠いている。
本開示に従った実施形態によって解決される問題をより良く理解するために、例について検討すると参考になる。C#をプログラミング言語例として使用し、例えば、文化固有または国籍固有(例えば、英語・合衆国文化、またはドイツ語・ドイツ文化)である、ユーザーのために数字をフォーマットする事例を考える。これを行うためには、下の表1に示す、以下のコードを書き得る:
Figure 2015197922
String.Format()メソッドは、アプリケーション開発者に著しい柔軟性を与える.NETプラットフォーム要素であるが、かかる柔軟性は、すぐに、アプリケーションの保守性および一貫性の問題を引き起こす。String.Format()メソッドは、異なるプラットフォームに関連した事例に対処するために広範なフォーマット変形をサポートし、それはプラットフォームにとっては良いが、規則的なソフトウェア開発にとっては悪い。異なる開発者は、「{0:N2}」の意味を異なって定義し得、それが小数位を示すように定義することもあれば、そうでないこともあり、文化設定を正しく含むこともあれば、そうでないこともある。さらに、開発者は、日常的に、「N」の意味を調べる必要があり、これは時間がかかる。これらは、開発者に関係するソフトウェア抽象化のレベルでの多すぎる不必要な選択の例であり、従って、アプリケーションの複雑さをもたらす。
不必要な選択を制限すると、より迅速でより保守可能なソフトウェア開発を可能にするであろう。不必要な選択は、通常、ソフトウェア開発者の注意を伴わない、抽象化またはソフトウェア実装レベルでのローカライズ関連の選択を処理することにより制限され得る。本開示に従った実施形態は、ソフトウェア開発者がかかる実施態様詳細に注意を払う必要性を含み、制限する。実施形態は、ソフトウェア開発者が、下の表2に示すような、はるかに保守可能で一貫したフォーマットコードを書くことを可能にする:
Figure 2015197922
本開示に従った実施形態は、シリアル化モジュールを使用して、様々な方法で実装され得る。シリアル化モジュールは:ミドルウェアソフトウェア層;公開ライブラリにアクセスするための公開されたアプリケーションプログラミングインタフェース(API)と共に、関数またはサブルーチン呼出しの公開ライブラリ;関連したメソッドおよび属性と共に、1組のオブジェクトクラス;などの1つ以上を含み得る。一実施形態では、シリアル化モジュールは、シリアル化モジュールを呼び出すか、または起動するアプリケーションプログラムと同じコンピューティング装置上でホストされ得る。別の実施形態では、シリアル化モジュールは、アプリケーションプログラムがその上で実行しているコンピューティング装置と通信可能に連絡する別個のコンピューティング装置上(例えば、クラウドストレージ内)でホストされ得る。
この例は、変数「n」を数字としてフォーマットするための明確な意図を追加することにより、複雑性および選択を減らすことを示す。開発者は、形式「N」も、小数位の数「2」も、特定の文化も選択する必要がない。代わりに、ソフトウェア開発者は、数字「n」がアプリケーションのデフォルト指定にフォーマットされることが分かっている。デフォルト指定は、「n」のデータタイプの検出、および「n」に適した所定の形式の適用に基づき得る。「n」に対する適切な形式は、同様に、ユーザーが現在、位置している、文化、国、地理的位置などに対する規則、および彼らのホーム位置に対する規則に基づき得る。ユーザーが遭遇する可能性のある、実質的に全ての文化、国、地理的位置などに適した完全な規則が、本発明のソフトウェア実施形態の開発中に一度、国際化され得る。ユーザーの好みは、デフォルト値(例えば、多文化国家における好ましい文化)で、別個に読み取られ得る。以後、実施形態にアクセスするアプリケーションプログラムは、適切なAPI、関数、オブジェクトクラスまたはメソッドなどを起動することにより、実施形態のローカライズの恩恵を受けることができる。
従って、本開示に従った実施形態にアクセスするアプリケーションソフトウェアは、本明細で説明する実施形態を使用して数字が表示されるたびに、現地の文化に適した、一貫性のある数値表現をそれらのユーザーに提示するであろう。実施形態は、図1の数値情報コンピュータ200などの、コンピューティング装置上に常駐する複数のソフトウェアアプリケーションから使用可能である。
既知の技術のいくつかのソーシャルネットワーキングプラットフォームは、いくつかのフォーマット機能を外部のソフトウェア開発者に提供するフォーマットライブラリ(例えば、Facebook(商標)Folly)を公開し得るが、かかるライブラリは、複雑性を低減しないか、または規約を通して標準を強制しない。それどころか、かかるフォーマットライブラリは、多くの場合、複雑性を減らすのではなく、それを追加しようとし、また、本開示に従った実施形態によって行われるのと同様にこれを行う、論理パラダイム(例えば、プログラミングモデル)を提供しない。
背景技術は、ソフトウェア開発者に対して選択を隠すか、または単純化するのとは対照的に、より多くの機能および/または物事を行う方法を追加することにより複雑性を追加しようと試みる。例えば、本開示に従った実施形態は、通貨および電話番号のフォーマットを実行し得るが、他方、既知の背景技術はこのフォーマットを実行しない。実施形態は、文化固有のフォーマットと文化固有でないフォーマットとの間の論理的な分離をサポートするが、他方、既知の背景技術は、この分離を実行しない。実施形態は、例えば、数字などの数値オブジェクトを表すために、複雑性低減規格を提供するが、既知の背景技術はこの複雑性低減を実行しない。
例えば、事前定義した構文を有する数値をマシン可読形式に変換するため、人間に示すために数値を従来型の人間に解読可能な形式に変換するために、数値を文字列に、またはその逆に変換する試みの問題について考慮する。数値が倍精度値1234567.89であると仮定する。C#では、この数値をユーザーが見るために、所定のフォーマットで表示したい場合には、下の表3に示すように、以下の構文を使用して、フォーマットライブラリ(例えば、Microsoft Developer Network(MSDN).NET(商標))内の関数を起動し得る:
Figure 2015197922
前述のように、String.Format()に対する呼出しは、いくつかの用途または目的に役立つ。構文は、従来の方式では、フォーマットライブラリの開発者が、フォーマットライブラリの開発中に、それが意味するように設計したものを意味し、フォーマットライブラリを使用するために、フォーマットライブラリを起動するソフトウェアアプリケーションの開発者は、フォーマットライブラリによる定義について知っている必要がある。例えば、パラメータ「CultureInfo.CurrentCulture」は、スレッドの文化が何の値(すなわち、どの文化)に設定されるべきかを識別し得る。「0:N2」パラメータは、「これを、区切り記号および小数点を含む数字としてフォーマットし、最大で2つの小数点が表示されるのを許可する」ことを意味するとして定義され得る。
フォーマットライブラリを起動するコード行を書いて保守する必要のあるアプリケーションプログラム開発者に対して問題および非効率性が生じ得る。第1に、「N」または「N2」または「0:N2」の定義が必ずしも明白または直感的ではなく、とりわけ、フォーマットライブラリ内にString.Format()と似ている他の関数がない場合、または多数の任意選択のパラメータ、構文、もしくは他の特質(idiosyncrasy)がある場合、その意味が推測できる規約が存在しない可能性がある。ソフトウェアアプリケーションの開発者は、反復により特質を覚えるまで、技術文書または他のヘルプ源を頻繁に調べる手段に訴える必要があり得る。他のソフトウェア開発者はString.Format()フォーマット呼出しを直接、または第1の開発者が好むものとは異なるパラメータのセットで、または異なる値で、またはパラメータのいくつかに対してデフォルト値に依存して、などと起動し得るので、問題は時間とともに悪化し得る。時間とともに、また、フォーマットライブラリを使用するコードに取り組むアプリケーションソフトウェア開発者人口に渡って、アプリケーションソフトウェアは、一貫性のないフォーマットを有し得、せいぜい弱々しく意図的な一貫性しかない数値を、ユーザーに対して出力し始め得、ユーザーには完全に非論理的に見える可能性があり、従って、ソフトウェアアプリケーションに対するユーザーの混乱および不満を引き起こす。
本開示に従った実施形態は、正しい数値フォーマットを自動的に判断するミドルウェアソフトウェアをソフトウェアアプリケーションのユーザーに対して提供することにより、ソフトウェアアプリケーションの開発者がフォーマットライブラリに対する基礎的な呼出しの構文上の特質を追跡するか、またはユーザー特性の変化(例えば、現在の地理的位置)に応じて調整を行う必要なく、前項で特定された問題に対処する。フォーマットは、ユーザーの自国文化、ユーザーが現在、位置している場所の文化、表されているデータのタイプなどの、ユーザーまたはデータに関する情報に基づき自動的に調整され得る。例えば、本開示に従った実施形態を使用すると、アプリケーションソフトウェア開発者は、下の表4に示すように、表3からのコードをより単純で保守可能な形式で書き換え得る:
Figure 2015197922
表4の形式は、アプリケーションソフトウェア開発者が利用可能なオプションおよび選択肢を好都合に制限し、それにより、複雑さを制限する。例えば、表3のコード例にあるような、明瞭でない構文を有する複数の呼出しパラメータのリストがない。アプリケーションソフトウェア開発者が一貫性がないか、または不適切な数値フォーマットを使用する可能性が少ない。アプリケーションソフトウェア開発者は、ソフトウェア開発中に、数値フォーマットの実装詳細を隠し、アプリケーションソフトウェア開発者が、アプリケーションの他の部分に集中して、アプリケーションソフトウェアを抽象化のさらに高いレベルで設計することを可能にするために、本明細書で説明する実施形態に依存できる。これは、アプリケーションのユーザーに対して、より一貫性のあるユーザーエクスペリエンス、従って、より大きなユーザー満足をもたらす可能性が高い。
表4の形式は、「AsDefault()」関数呼出しの利用を伴う。この関数呼出しは、数値「n」の表現を、数値「n」が表される最も一般的な形式に強制する。数値「n」が単純な数字を表している場合、AsDefault()は、AsNumber()呼出しと同等であろう。数値「n」が通貨を表している場合、AsDefault()呼出しは、「AsCurrency()」の呼出しと同等であろう。これは、アプリケーションソフトウェア開発者が特定の変数のデータタイプを知る必要性を免除する、柔軟な、データタイプベースのフォーマット機能を提供する。
本開示に従った実施形態は、追加の利益を提供する。例えば、ソフトウェアアプリケーション開発者が、完全な数字の代わりに、この数字の省略されたバージョンをユーザーに対して表示しようとすると仮定する(例えば、通貨の値が、最も近い千または百万ドルに丸められ、任意選択として、数値データのデータタイプに適した桁を示すために「K」または「M」などの接尾辞を付けて、千または百万ドルの単位で表現され得る会計報告)。省略された数字の特性(例えば、適切な接尾辞、省略された数字のフォーマット、適切な丸め、有効数字の数など)は、完全な数字のデータタイプによって決まり得る。従来技術(例えば、MSDN.NET)は、省略された数字をその数字のデータタイプに固有の特性とともに表示するような機能を欠いているが、実施形態は、アプリケーションソフトウェア開発者に、基礎的なデータの異なる態様または表現を使用して、数値データを表させるAsAspect()メソッドおよび関数呼び出しを元々サポートする。従って、「n」が単純な数値(例えば、通貨、時間、電話番号などを表していない10進数)である場合、実施形態は、表5のコメント内にリストされた出力を生成するために、下の表5に示すコードを使用して、実施され得る。その例では、「M」は、「百万」(例えば、百万の単位または百万の乗数)を示すために単純な数値に対する接尾辞として使用される。
Figure 2015197922
別の例では、「n」が通貨データタイプを表すと仮定する。実施形態は、表6のコメント内にリストされた出力を生成するために、下の表6に示すコードを使用して実施され得る。
Figure 2015197922
表6の例では、「mil」は「百万」(例えば、百万の単位または百万の乗数)を示すために通貨の値に対する接尾辞として使用される。さらに通貨記号が含まれる。
一般に、単純な数字対通貨などの、異なるデータタイプ間の特性(例えば、接尾辞または他のフォーマット)は、文化によって異なり得、従って、文化固有であり得る。例えば、英語の「百万」は、ロシア語では「миллион」に翻訳され、従って、百万を表す接尾辞はロシア語文化では異なり得る。Mは、いくつかの文化では一般に数字に対する標準であるが、英語のユーザーは通貨に対して「mil」の省略形を利用する。本明細書で使用される、これらの特定の省略形の選択は、例証のためであり、他の選択および組合せが考えられる。本開示に従った実施形態は、数値フォーマットの文化固有およびシステム固有の定義の複雑さを隠す。適切な定義が変わる(例えば、異なる自国文化をもつ異なるユーザー、または文化間を移動しているユーザー)場合、その適切な定義は、基礎的なアプリケーションソフトウェアコードに影響を及ぼすことなく、使用され得る。
設定は使用分野に対しても可能であり得る。例えば、使用分野を「財務」に設定すると、デフォルトにより数字が通貨として解釈されるようにし得、かかる数字を最も近い千に丸めて、3つの最下位の数字を落とすことにより、それらの数字を表示するように構成され得る。他方、使用分野が「科学」に設定され得、それは、デフォルトにより数字が単純な数字として解釈されるようにし得、かかる数字を科学的な形式(例えば、仮数および指数と共に)で表示するように構成され得る。使用分野は、データタイプを表すために使用される接尾辞にも影響を及ぼし得る。例えば、「財務」使用分野では、「thou」は、千の単位で通貨データタイプを示すための接尾辞として使用され得るが、「ジャーナリズム」使用分野では、「G」(口語表現「grand」に対する省略形)が、千の単位で通貨データタイプを示すための接尾辞として使用されるであろう。
実施形態によって提供されるパラダイムの有用性は、アプリケーションソフトウェア開発者がデータ表現を意識する必要がないことである。表現の詳細(例えば、フォーマット)が実施形態によって管理され得、従って、アプリケーションソフトウェア開発者が、アプリケーションソフトウェアの開発中に、より高いレベルの抽象化に集中するのを可能にする。実施形態は、アプリケーションソフトウェア開発者が使用するための一貫した呼出しインタフェース(例えば、「Linguist.Represent()」)を提供する。アプリケーションソフトウェア開発者は、抽象的な意味で「表す」概念を考える必要があるだけで、次いで、実施形態が、システム設定(例えば、文化設定、使用分野設定など)に従い、データのタイプに一致した、数値データの表現または解釈を処理するであろう。
本開示に従った実施形態は、ユーザーによって提供された文字列値を、例えば、ユーザーからのテキスト入力を解釈し、そのテキスト入力を、文化設定、使用分野設定などと一致する数値に変換することにより、解釈する場合にも使用可能である。例えば、アプリケーションソフトウェア開発者は、文字列値をユーザーから受け取り、次いでその文字列値を特定のデータタイプとして解釈するために、実施形態によって提供されるソフトウェアルーチンを呼び出すか、または別の方法で起動するためのアプリケーションプログラムをコーディングし得る。既知の技術と比較すると、実施形態は、カスタムデータタイプおよびアプリケーション固有のデータタイプ(例えば、「通貨」データタイプ)を解析できるという追加の利益を有する。実施形態は、より理解可能で、より一貫した、文化考慮の処理も行う。
本開示に従った実施形態は、文字値列が由来する供給源に固有の入力文字列値の解釈を調整するため、またはフォーマットされた出力文字列値が使用される方法もしくは場所に固有の出力文字列値のフォーマットを調整するために、実施形態を構成する「オーディエンス(audience)」と呼ばれる、設定も提供し得る。例えば、「Audience.User」パラメータがLinguist.Interpret()呼出しで使用される場合、実施形態は、入力文字列の供給源がオーディエンスのメンバーであると仮定し、従って、グループセパレータ、空白、その他に柔軟に対処する。しかし、実施形態が「Audience.System」パラメータをLinguist.Interpret()呼出しで使用した場合には、実施形態は、文字列値を生成するシステムが、人間と比べて、入力文字列値に対する正しい構文の順守においてより厳格であろうと仮定し得るので、実施形態は、入力文字列値を解析する際により厳格であり得、値がInvariantCulture設定(例えば、プログラムが実行している環境に基づき変化しない、ユーザーの自国文化などの、文化設定)の値に適合することを要求し得る。出力文字列値の処理は、同様に、「Audience.System」パラメータが使用される場合により厳格であろう。
例えば、表7は、値が記憶装置コンテキストから読み込まれ得る方法例を示す。AsUInt32およびTryAsUnt32変数の両方が、同じ動作を実行しようとしている。しかし、一方は、失敗すると、例外(すなわち、エラー状態)を引き起こして、プログラム実行を停止するのに対し、他方は、解釈が誤りの場合「偽」を返すが、プログラム実行は停止しない。
Figure 2015197922
本開示に従った実施形態は、下の表8に示すIInterpreterインタフェースに従って作成されたオブジェクトを使用して動作し得る。IInterpreterは、人または別のコンピュータシステムなどの、別の実体によって提供される入力文字列値の受取りおよび解釈に関連したオブジェクトを作成するために使用される。表8は、32ビット整数、64ビット整数、倍精度、単精度浮動小数点、通貨、電話番号および日付/時間を含むデータタイプを示す。しかし、表8のパラダイムは、追加のデータタイプに拡張できる。表8は関数インタフェースを示し:各かかるデータタイプを作成するため:オーディエンスを考慮して各かかるデータタイプを作成するため;入力文字列がデータタイプの1つに対応するかどうかブール値を返すため;時間データを異なる時間帯に変換するため;および時間データをUTCに変換するために使用される。関数インタフェースは、他の関数に拡張され得る。
Figure 2015197922
Figure 2015197922
本開示に従った実施形態は、下の表9に示すIRepresenterインタフェースに従って作成および使用された数値オブジェクトで動作し得る。IRepresenterは、様々なタイプの数値データを表す数値オブジェクトから出力文字列オブジェクトを作成するために使用される。出力文字列オブジェクトは、人または別のコンピュータシステムなどの別の実体に提供されることを目的とする。表9は、Default(デフォルト);Number(数字);Aspect(アスペクト);Currency(通貨);Percentage(百分率);Phone Number(電話番号);およびDate/Time(日付/時間)を含むデータタイプに適した実施形態を示す。
Figure 2015197922
Defaultは,そのデータタイプに基づく形式を示すので、「Number」は「Default」と異なる。例えば、「$1.2」.AsDefault()を使用すると、通貨の値としてフォーマットされた出力が生成されるが、「$1.2」.AsNumber()を使用すると、こちらは、数字の変形を明示的に要求しているので、通貨記号(例えば、「$」)なしで、出力「1.2」が生成される。
アスペクトは、データを表すための異なる方法を指す。日付/時間値は、変化するアスペクトの例である。例えば、「January 1,2014」のような日付は、例えば、「Jan 1,2014」、「Jan 1」、「January 1」、「1/1/2014」、「01/01/2014」、「2014/01/01」などの様々な方法で表され得る。これらの例の各々は、日付「January 1,2014」の異なるアスペクトであるが、それにもかかわらず、表現に内在するデータは完全な日付および時間値のままである。
IInterpreterは、入力文字列値を解釈して、それから厳密に型指定されたオブジェクトを作成することにより動作し得る。IRepresenterは、厳密に型指定されたオブジェクトを受け取り、それから、オブジェクトに比べてそれほど厳密に型指定されていない、出力文字列値を作成することにより動作し得る。
本開示に従った実施形態は、下の表10にリストされた機能呼出しによって公開された、公開関数インタフェースを使用して動作し得る。公開関数インタフェースは:様々なデータタイプの1つの数値オブジェクトの出力文字列を生成するためのIRepresenter Represent();様々なデータタイプの1つの数値オブジェクトを生成するために入力文字列値を解釈するためのIInterpreter Interpret();量固有および/またはデータタイプ固有の接尾辞を返すためのstring GetQuantityAbbreviation();地域固有の情報を取得するためのIFormatProvider GetRegionFormatProvider();ならびに日付および時間を解釈するため、または日付および時間をフォーマットするために使用する時間帯情報を取得するためのTimeZoneInfo GetTimeZoneInfo()を含む。
Figure 2015197922
本開示に従った実施形態は、3文字のISO通貨コードおよび金額(例えば、USD 1,000.00またはEUR 1,000.00)によって表される任意の額面金額の通貨の処理、様々な国および国際フォーマット規約に従った電話番号の処理、ならびにユーザー固有の時間帯またはUTCベースの時間帯(例えば、上の表8に示すAsConvertedDateTimeなど)に従った日付/時間の解析のための組込み論理を含み得る。
図3は、本開示の実施形態に従ったプロセス300を示す。プロセス300は、表8および表10に関連して説明したようなものを含む関数インタフェースを使用して、外部実体からの入力文字列を数値オブジェクトへ変換することが望ましい、トランザクション中に有用であり得る。外部実体は、例えば、図1に示すような端末110、またはそのユーザーであり得る。トランザクションは、実質的に世界中で起こり得る。プロセスの少なくとも一部が、図1に示す数値情報コンピュータ200によって、特に、図2のデータ関連インポート/エクスポートルーチン201によって実行可能であり得る。数値情報コンピュータ200内で実行しているアプリケーションプログラムは、数値データおよび/またはその数値データの1つ以上のテキスト表現を外部実体と交換する(すなわち、インポートおよび/またはエクスポートする)ために、データ関連インポート/エクスポートルーチン201を実行している可能性がある。
プロセス300はステップ301で開始し、そこで、アプリケーションが、入力文字列値を外部実体から受信する。
次に、プロセス300の制御はステップ303に進み、そこで、アプリケーションが、入力文字列値に関連した構成情報を受信する。例えば、構成情報は、オーディエンス指標(例えば、入力文字列が人間のユーザーまたは自動化供給源から来ているかどうかを示し得る)、使用分野指標、意図されたデータタイプなど、を含み得る。供給源が人間のユーザーである場合、ユーザーの自宅の地理的位置、母国、自国文化、トランザクションの地理的位置、トランザクションの国、トランザクションの文化、使用分野指標などの、そのユーザーにとって、またはトランザクションにとって適切な追加の構成情報が取得され得る。
次に、プロセス300の制御はステップ305に進み、そこで、可能性のあるデータタイプが仮定されるか、またはありそうにないデータタイプの除外が行われる。判断は、ステップ303で収集された情報に少なくとも一部基づき行われ得る。例えば、入力文字列値の形式、またはフォーマットされていない数値として表現される場合はその値に基づいて、あるデータタイプがありそうか、ありそうにないかが判断され得る。例えば、「(xxx)xxx−xxx」または「xxx.xxx.xxx」(ここで、「x」は任意の数字)の形式の入力文字列は、電話番号を表している可能性があり、時間を表している可能性はない。他方、「xxx.xxx.xxx.xxx」の形式の入力文字列は、電話番号ではなく、IPアドレスを表している可能性がある。
次に、プロセス300の制御はステップ307に進み、そこで、仮定されたデータタイプに対応するデータオブジェクトが作成され、そのデータオブジェクトは、入力文字列値が実際に仮定されたデータタイプであると仮定して、値が割り当てられ得る。
次に、プロセス300の制御は判断ステップ309に進み、そこで、入力文字列値が仮定されたデータタイプの規約に準拠するかどうかを判断するために、仮定されたデータタイプが検証され得る。例えば、9桁の米国の電話番号は、通常、「911」で始まらない。仮定されたデータタイプが検証テストに合格しないか、またはステップ307で作成されたデータオブジェクトが正当性テストに合格しない場合、プロセス300の制御はステップ7に戻り、そこで、異なるデータタイプが仮定される。ステップ309の結果が肯定である場合、プロセス300は終了し得る。
図4は、本開示の実施形態に従ったプロセス400を示す。プロセス400は、表9および表10に関連して説明したようなものを含む関数インタフェースを使用して、数値データオブジェクトを、外部実体への伝送前に、出力文字列値に変換するために有用であり得る。外部実体は、例えば、図1に示すような端末110、またはそのユーザーであり得る。プロセスの少なくとも一部が、図1に示す数値情報コンピュータ200によって、特に、図2のデータ関連インポート/エクスポートルーチン201によって実行可能であり得る。数値情報コンピュータ200内で実行しているアプリケーションプログラムは、数値データおよび/またはその数値データの1つ以上のテキスト表現を外部実体と交換する(すなわち、インポートおよび/またはエクスポートする)ために、データ関連インポート/エクスポートルーチン201を実行している可能性がある。
プロセス400はステップ401で開始し、そこで、アプリケーションプログラムが、文字列値が外部実体に出力されるべきことを示す指示を受信する。例えば、アプリケーションプログラムは、数値を端末110におけるユーザーに出力する命令(例えば、アプリケーションプログラムによりアルゴリズムで、または端末110におけるユーザーからの要求に応答して、判断された)を受信し得る。
次に、プロセス400の制御はステップ403に進み、そこで、アプリケーションプログラムが数値データのデータタイプを判断し得る。
次に、プロセス400の制御はステップ405に進み、そこで、アプリケーションプログラムが、数値データに関連した構成情報を取得するか、または別の方法で判断し得る。例えば、構成情報は、数値データ(例えば、電話番号、日付など)から作成されるべきデータオブジェクトのタイプ、文化指標(例えば、日付または10進数に対するアメリカまたはヨーロッパの規約など)、オーディエンス指標(例えば、入力文字列が人間のユーザーまたは自動化供給源から来ているかどうかを示すため)、使用分野指標、意図されたデータタイプなどを含み得る。かかる構成情報は、データベース105、コンピュータ可読媒体295、および任意選択のデータベースインタフェース245を通してアクセスされるデータベースの1つ以上から取得され得る。
次に、プロセス400の制御はステップ407に進み、そこで、数値データおよび構成情報に対応する、文字列値が生成される(例えば、シリアル化される)。これは、表9および表10に関連して説明したようなものを含む関数インタフェースを使用して達成され得る。
次に、プロセス400の制御はステップ409に進み、そこで、生成された文字列値が、端末110または端末110のユーザーに出力する(例えば、表示する)ために、出力装置に伝送される。
開示する方法は、様々なコンピュータまたはワークステーションプラットフォーム上で使用できる移植可能なソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境の使用によるなど、ソフトウェアで容易に実装され得る。代替として、開示するシステムは、標準的な論理回路またはVLSI設計の使用によるなど、ハードウェアで一部または完全に実装され得る。本開示の様々な実施形態に従ったシステムを実装するために、ソフトウェアまたはハードウェアが使用され得るかは、システムの速度または効率要件、特定の関数、および利用されている特定のソフトウェアまたはハードウェアなどの、様々な考慮事項によって決まり得る。
前述は本発明の実施形態に関するが、本発明の他の実施形態およびさらなる実施形態が、その基本的な範囲から逸脱することなく、考案され得る。本明細書で説明する様々な実施形態は、本明細書に包含される範囲から逸脱することなく、説明された任意の他の実施形態と組み合わせて利用され得ることを理解されたい。さらに、前述の説明は、包括的であることも、本発明を開示する正確な形式に制限することも意図しない。修正および変形が前述の教示を踏まえて可能であるか、または本発明の実施から得られ得る。ある例示的な実施形態は、リスト項目が実施形態の代表であること、およびリストがさらなる実施形態を除外する閉リストを表すことを意図しないことを示すための表現を含む無制限のリストの使用によって識別され得る。かかる表現は、「例えば(e.g.)」、「など(etc.)」、「などの(such as)」、「例えば(for example)」、「その他(and so forth)」、「および同様のもの(and the like)」など、および周囲のコンテキストから明らかであるような他の表現を含み得る。
本出願の記述で使用されるどの要素、動作、および命令も、そのようなものとして特に明記されない限り、本発明にとって重大であるか、または必須であると解釈されるべきでない。また、本明細書では、冠詞「1つの(a)」は、1つ以上の項目を含むことを意図する。1つだけの項目が意図される場合は、用語「1つ(one)」または同様の言葉が使用される。さらに、複数の項目および/または複数の項目のカテゴリのリストに続く、用語「のいずれか(any of)」は、本明細書では、項目および/もしくは項目のカテゴリ「のいずれか」、「の任意の組合せ」、「の任意の複数」、および/もしくは「の複数の任意の組合せ」を、個別に、または他の項目および/もしくは他の項目のカテゴリと併せて、含むことを意図する。
その上、請求項は、その趣旨で明記しない限り、記述された順序または要素に制限されると読み取られるべきではない。加えて、任意の請求項における用語「手段(means)」の使用は、米国特許法第112条第6段落を行使することを意図し、用語「手段(means)」のない任意の請求項はそのように意図しない。

Claims (20)

  1. 電子ローカライズデータをシリアル化するための装置であって、
    電子ローカライズデータを収集するための受信機と、
    前記受信機に結合されたプロセッサであって、前記受信機によって収集された前記電子ローカライズデータを受信するように構成されたプロセッサと、
    前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
    前記受信機によって収集された電子ローカライズデータをシリアル化するための、シリアル化モジュールへのインタフェースであって、前記アプリケーションプログラムから呼出し可能なインタフェースと、
    前記シリアル化モジュールから前記シリアル化データを格納するように構成された記憶モジュールと
    を含む、電子ローカライズデータをシリアル化するための装置。
  2. 前記シリアル化モジュールが前記装置によってホストされる、請求項1に記載の装置。
  3. 前記シリアル化モジュールが前記装置の外部でホストされる、請求項1に記載の装置。
  4. 前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース(API)を含む、請求項1に記載の装置。
  5. 前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項1に記載の装置。
  6. 前記構成情報が、文化情報を含む、請求項5に記載の装置。
  7. 前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項5に記載の装置。
  8. 前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項1に記載の装置。
  9. シリアル化データから電子ローカライズデータを生成するための装置であって、
    シリアル化データを格納するように構成された記憶モジュールと、
    前記記憶モジュールに結合されたプロセッサであって、前記シリアル化データを前記記憶モジュールから取得するように構成されたプロセッサと、
    前記プロセッサに結合されたメモリであって、アプリケーションプログラムを格納するように構成されたメモリと、
    シリアル化モジュールへのインタフェースであって、前記シリアル化モジュールがシリアル化データから電子ローカライズデータを生成するためであり、前記インタフェースが前記アプリケーションプログラムから呼出し可能である、インタフェースと、
    前記プロセッサに結合された送信機であって、前記電子ローカライズデータを送信するように構成された送信機と
    を含む、シリアル化データから電子ローカライズデータを生成するための装置。
  10. 前記シリアル化モジュールが前記装置によってホストされる、請求項9に記載の装置。
  11. 前記シリアル化モジュールが前記装置の外部でホストされる、請求項9に記載の装置。
  12. 前記シリアル化モジュールへの前記インタフェースが、それぞれのアプリケーションプログラムインタフェース(API)を含む、請求項9に記載の装置。
  13. 前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項9に記載の装置。
  14. 前記構成情報が、文化情報を含む、請求項13に記載の装置。
  15. 前記構成情報が、ユーザーの自国文化、地理的位置、前記地理的位置の文化、データのタイプ、使用分野およびオーディエンスから成るグループから選択された情報を含む、請求項13に記載の装置。
  16. 前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項9に記載の装置。
  17. シリアル化データから電子ローカライズデータを生成するための方法であって、
    メモリに結合されたプロセッサによって、シリアル化データを記憶モジュールから取得することと、
    前記電子ローカライズデータに関連した構成情報を取得することと、
    前記プロセッサによって、前記シリアル化データから電子ローカライズデータを生成するシリアル化モジュールを起動することと
    を含む、シリアル化データから電子ローカライズデータを生成するための方法。
  18. 前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含む、請求項17に記載の装置。
  19. 前記シリアル化モジュールが、前記電子ローカライズデータに関連した構成情報を受け入れるための構成モジュールをさらに含み、前記構成情報が文化情報を含む、請求項17に記載の装置。
  20. 前記電子ローカライズデータが、通貨、日付、時間および電話番号から成るグループから選択されたデータを含む、請求項17に記載の装置。
JP2015066258A 2014-04-02 2015-03-27 Linguistベースのヒューマン/マシンインタフェース構成要素のためのシステムおよび方法 Pending JP2015197922A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461974417P 2014-04-02 2014-04-02
US61/974,417 2014-04-02

Publications (1)

Publication Number Publication Date
JP2015197922A true JP2015197922A (ja) 2015-11-09

Family

ID=52810977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015066258A Pending JP2015197922A (ja) 2014-04-02 2015-03-27 Linguistベースのヒューマン/マシンインタフェース構成要素のためのシステムおよび方法

Country Status (5)

Country Link
US (1) US20150286609A1 (ja)
EP (1) EP2927822A1 (ja)
JP (1) JP2015197922A (ja)
CN (1) CN105094793A (ja)
BR (1) BR102015007307A8 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062954A1 (en) * 2012-09-15 2016-03-03 Numbergun Llc Flexible high-speed generation and formatting of application-specified strings
US10430521B2 (en) * 2016-09-02 2019-10-01 Sap Se Translatable texts in cloud applications
US11477258B2 (en) * 2020-03-30 2022-10-18 Oracle International Corporation Serialization of objects using multiple serialization algorithms
US11599551B2 (en) 2020-03-30 2023-03-07 Oracle International Corporation Deserialization of stream objects using multiple deserialization algorithms
US11288045B1 (en) 2021-02-09 2022-03-29 Oracle International Corporation Object creation from structured data using indirect constructor invocation
US11256480B1 (en) 2021-02-09 2022-02-22 Oracle International Corporation Deserialization of stream objects using constant-foldable method handles

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184308A1 (en) * 1999-08-23 2002-12-05 Levy Martin J. Globalization and normalization features for processing business objects

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900871A (en) * 1997-03-10 1999-05-04 International Business Machines Corporation System and method for managing multiple cultural profiles in an information handling system
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
US6983238B2 (en) * 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
US7603403B2 (en) * 2001-05-30 2009-10-13 International Business Machines Corporation Localization in distributed computer environments
US20050050548A1 (en) * 2003-08-28 2005-03-03 Sun Microsystems, Inc. Application internationalization using dynamic proxies
US8195766B2 (en) * 2005-03-15 2012-06-05 Microsoft Corporation Dynamic implicit localization of web content
CN101242567A (zh) * 2007-02-09 2008-08-13 杭州义盛祥通信技术有限公司 移动终端设备本地化内容提供系统及方法
US8073847B2 (en) * 2008-06-27 2011-12-06 Microsoft Corporation Extended user profile
US8843360B1 (en) * 2011-03-04 2014-09-23 Amazon Technologies, Inc. Client-side localization of network pages
US9104744B2 (en) * 2011-06-30 2015-08-11 Google Inc. Cluster-based language detection
US9128579B2 (en) * 2012-06-14 2015-09-08 Intuit Inc. Software localization through user contribution
US20140316844A1 (en) * 2013-04-22 2014-10-23 Nipendo Ltd. Messaging engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184308A1 (en) * 1999-08-23 2002-12-05 Levy Martin J. Globalization and normalization features for processing business objects

Also Published As

Publication number Publication date
US20150286609A1 (en) 2015-10-08
EP2927822A1 (en) 2015-10-07
CN105094793A (zh) 2015-11-25
BR102015007307A8 (pt) 2018-08-14
BR102015007307A2 (pt) 2017-07-11

Similar Documents

Publication Publication Date Title
JP2015197922A (ja) Linguistベースのヒューマン/マシンインタフェース構成要素のためのシステムおよび方法
US8543913B2 (en) Identifying and using textual widgets
US11429779B2 (en) Method and system for intelligently suggesting paraphrases
US9483240B1 (en) Data binding dependency analysis
US20090132232A1 (en) Methods and apparatus for implementing multilingual software applications
US10445423B2 (en) Domain-specific lexically-driven pre-parser
EP2867797A2 (en) Generating localized user interfaces
EP2756433B1 (en) Efficiently providing multiple metadata representations of the same type
KR102578982B1 (ko) 번역 서비스를 제공하는 방법 및 이를 위한 전자 장치
US20120290284A1 (en) Creating and implementing language-dependent string pluralizations
KR20100059947A (ko) 비지니스 프로세스를 재사용가능 서비스들로 변형하기 위한 시스템 및 방법
Lam et al. Crossing the linguistic causeway: A binational approach for translating soundscape attributes to Bahasa Melayu
US20210208858A1 (en) Automatic translation of computer code
US11275754B2 (en) Application development platform using pre-defined logic based on assumptions
US20220198153A1 (en) Model training
US10769376B2 (en) Domain-specific lexical analysis
Chmielewski et al. Declarative GUI descriptions for device-independent applications
US20200019866A1 (en) Dynamic configurable rule representation
CN116579275B (zh) 系统级芯片的设计方法、系统、电子设备及存储介质
US11354630B1 (en) Electronic apparatus for processing information for point conversion and method thereof
US20220245160A1 (en) Relevance prediction-based ranking and presentation of documents for intelligent searching
US20230004924A1 (en) Computerized systems and methods for electronic document preparation
Zalieskaitė Automating detection of software cultural elements ‘inconsistencies with locale norms
US20210034946A1 (en) Recognizing problems in productivity flow for productivity applications
Sethuraman Modeling Metric Suite for Multilingual Software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611