説明

データ言語中の複数の言語の管理

【課題】データ言語中の複数の言語の管理。
【解決手段】記載されたものは、複数のリソース型に対する変形を提供し、そして共通変数及び体系化されたファイル構造の使用によりこれらのリソースを効果的に管理することを提供する様々な方法及び装置である。ファイル構造は、共通変数、例えば、$lang変数、により体系化され、そしてリソース参照値を含み、その結果、一旦共通変数が定義されると、類似のリソースは、共通変数を変更することの使用によって同じ命令を使用して参照されることができる。テキスト、画像、同様に別のリソース型を含む複数のリソース型は、本明細書中に開示されるファイル構造を使用して管理されることができる。

【発明の詳細な説明】
【関連文献】
【0001】
本出願は、2005年5月31日出願に出願された米国特許仮出願番号第60/686,180号に優先権を主張し、その全体が、この引用によって本明細書中にこのようにして取り込まれている。
【技術分野】
【0002】
本発明は、一般にソフトウェア・アプリケーションの変数処理に係る。より詳しくは、本発明は、ファイル構造を生成すること及び共通変数を用いてリソースを処理することに関する。
【背景技術】
【0003】
データ言語は、プログラムするためにより一層浸透した方法になりつつある。データ言語は、XMLに基づくもののようなマークアップ言語を含み、HTML、TRIGML(登録商標)(QUALCOM(クァルコム)株式会社により所有される)を含む。データを御する言語は、ウェブ・ベースのアプリケーションをプログラムする際に広く使用されているが、これに限定されない。XLMベースの言語の例は、請求書作成アプリケーション及びトランザクション処理アプリケーションも同様に含む。
【0004】
データ言語を使用するときに幾つかの事例において困難が生じる。例えば、ユーザ・インターフェース(UI:user interface)を開発する際に、デバイス上でランしているアプリケーションによって望まれる言語に応じてアプリケーションのために複数の言語への利用可能性を有することが望ましい。例えば、フランスで使用される無線デバイスは、用語“ボンジュール”へのアクセスを望むことができ、一方で、イギリスで使用される無線デバイスは、同じ目的のために用語“ハロー”をアクセスするように望むことができる。
【0005】
しかしながら、テキストに加えて、アプリケーションが文化、言語、又は別の変化に基づいて変更することを望む他のリソース型があり得る。例えば、アプリケーションは、言語がフランス語として選択される場合に、背景としてエッフェル塔を表示するように望むことができ、しかも、英語に対してバッキンガム宮殿を表示するように望むことができる。同様に、アプリケーション開発者が信じるそれらの言語/文化がより控え目であるものに対するより控え目である画像に対して、アプリケーション開発者が信じるそれらの言語/文化がより適切であるとして、よりきわどい絵が望まれることがある。
【0006】
この問題に対処するために使用する現在の方法は、言語パックの使用である。例えば、マイクロソフト・ワードは、言語パックをインストールすることができる。例えば、インストールされたフランス語言語パックは、“edit(編集)”に対するメニューのオプションを、“editer”のような対応するフランス語の単語に置き換えるはずである。複数の言語パックがインストールされることができるが、言語パックは、リソースに左右される言語の数が多くなるにつれて管理することが困難になってきている。さらに、別の変形に基づいてリソースを管理するための解がない。
【0007】
したがって、この分野において必要とされているものは、複数の型のリソースのための言語変形を管理することを可能にする方法、装置及びシステムである。さらに、必要とされているものは、複数のリソース型に対する変形を提供するための、そして複数の変形を使用してリソースを管理するための方法、装置及びシステムである。
【発明の開示】
【発明のサマリー】
【0008】
本発明に整合するシステム及び方法は、複数のリソース型のための変形を提供し、そして共通変数と体系化されたファイル構造の使用によってリソースを効率的に管理するシステム、方法及び装置を作り出すことによって現在のシステムの欠点を克服する。
【0009】
1つの実施形態では、データ言語中の変数を使用して複数のリソースを管理するための構造を生成するための方法は、変数によって識別される複数のリソース参照値を受け取ること、及び該変数及び該複数のリソース参照値を使用して構造を構築することを具備し、ここにおいて、該複数のリソース参照値は、該変数の値を変更することによってアクセスされることができる。
【0010】
別の1つの実施形態では、共通変数によって識別される類似のリソース参照値をアクセスするためのファイル構造を生成するための方法は、該ファイル構造の内部の同じ相対的位置の該類似のリソース参照値のそれぞれに関係付けられる値の場所を決める該共通変数型を使用して該ファイル構造を分割することを具備する。
【0011】
さらに別の1つの実施形態では、共通変数によって識別される類似のリソース参照値をアクセスするためのファイル構造を記憶するためのデバイスは、メモリ、該メモリ中に記憶された該ファイル構造、ここにおいて、該ファイル構造は共通変数を介して体系化され、そして該類似のリソース参照値は異なる共通変数値の中で同じ位置として該ファイル構造の内部に位置を決められる、及び該共通変数値を使用して該リソース参照値を検索するためのプロセッサ、を具備する。
【0012】
さらに別の1つの実施形態では、コンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、該命令は、実行されるときに、共通変数を使用してファイル構造を分割すること、及び該共通変数によって参照される該ファイル構造の内部の同じ相対的位置の類似のリソース参照値のそれぞれに関係付けられる値の場所を決める、ステップを実行することにより、共通変数によって識別される類似のリソース参照値をアクセスするためのファイル構造を生成する。
【0013】
さらに別の1つの実施形態では、データ言語中のリソースを管理する方法は、パラメータを使用してリソースに対する要請を受け取ること、該パラメータを変更すること、及び該パラメータを使用して変更された関連するリソースに対する要請を受け取ることを具備する。
【0014】
さらに別の1つの実施形態では、共通変数を使用して体系化されたファイル構造内に含まれるリソース値に対する要請を受け取るための方法は、該共通変数の値を記憶すること、リソースに対する該要請を受け取ること、ここにおいて、該要請は、該共通変数及びリソース参照値を含む、該共通変数の該値を検索すること、及び該検索した共通値及び該リソース参照値を使用して該共通値及び該リソース参照値に関係付けられる該ファイル構造中の位置を照合することによって該リソース値を検索すること、を具備する。この方法は、該共通変数の値を変更すること、該共通変数及び該リソース参照値を使用して体系化された該ファイル構造内に含まれる第2のリソース値に対する要請を受け取ること、該変更された共通変数を検索すること、該変更された共通変数及び該リソース参照値を使用して第2のリソース値を検索することをさらに含む。
【0015】
本発明のその他の目的、利点及び特徴は、図面の簡単な説明、本発明の詳細な説明及び特許請求の範囲の記載に鑑みて本明細書を概観した後で明らかになるであろう。
【0016】
[詳細な説明]
同じ参照符号は、全体を通して同じ要素を表す図面を参照する。
【0017】
参照は、添付した図面に図示されるように本発明の現在の具体例の実施形態及び好ましい実施形態に対して詳細にここに行われ、図面では、同じ参照符号は、複数の図面を通して同じ部分又は対応する部分を示す。本発明の本質、目的、及び利点は、図面に関連して以下に述べる詳細な説明を考慮した後で、当業者にとってさらに明確になるであろう。
【0018】
用語の使用に関して、本明細書では、用語“無線デバイス”、“無線電話機”、及び“移動デバイス”は、互換的に使用される。本明細書中に使用されるように用語“アプリケーション”は、実行可能なそして実行できないソフトウェア・ファイル、生データ、データの集合、パッチ、コンテント、ユーザ・インターフェース及びユーザ・インターフェース・コンポーネント、及び他のコード・セグメントを包含するように意図される。さらに、類似の参照符号は、複数の図面を通して類似の要素を呼び、そして冠詞“a”と“the”は、明細書中に指定されない限り、複数の表示を含む。
【0019】
以下の説明は、TrigMLデータ言語を使用するユーザ・インターフェース・リソース管理方法、装置及びシステムに関する。TrigMLは、ユーザ・インターフェースを開発する際に有用なデータ言語である。TrigMLは、QUALCOM(クァルコム)社により所有される製品である。XMLの下で定義されるデータ言語のように、TrigMLコードは、タグの使用を含む。上記の説明はUI、TrigML及び管理言語に関してであるが、UI以外の別のアプリケーションに適用可能であること、別のXMLベースの言語を含むTrigML以外のデータ言語で実行され得ること、そして言語以外の変数を使用する別のリソース型を管理するために使用されることができることは、当業者によって理解される。
【0020】
本発明の複数の実施形態は、リソースを管理すること、例えば、管理言語によりテキスト及び画像を管理すること、を含む。リソースは、テキスト、画像、ページ・レイアウト、プログラムの断片、デバイス・コンポーネント及び機能へのアクセスを含む任意のリソースであり得るが、これらに限定されない。
【0021】
図1は、その環境においてデバイスが本発明の1実施形態で動作することができる通信環境100の機能図である。この例では、通信環境100は、無線ネットワーク122を含む。無線ネットワーク122は、無線サービス・プロバイダによって操業されている通信ネットワークであり得て、移動デバイスへのデータ接続性又は電気通信接続性を提供する。さらに、無線ネットワーク122は、有線ネットワーク、インターネット、ワイド・エリア・ネットワーク、公衆交換電話ネットワーク(PSTN:Public Switch Telephone Network)、及び他の公開ネットワーク及び/又は非公開ネットワークを同様に含むことができ、その結果、デバイスは、これらのネットワークからネットワークへと接続されている他のデバイスを使用して直接的に又は間接的に通信することができる。
【0022】
1つの例では、無線ネットワーク122は、セルラ電話ネットワークを含むことができる。例えば、セルラ電話機112、ラップトップ・コンピュータ116、PDA118、及び移動メッセージ通信デバイス120の様な、複数の移動デバイスが、無線ネットワーク122と通信している。これらのデバイスは、無線ネットワーク122を経由して通信することができる多くの型のデバイスの例示として示されているだけである。
【0023】
図1に図示されているものは、アプリケーション・サーバ124及びユーザ・インターフェース・サーバ126である。ユーザ・インターフェース・サーバ126は、ユーザ・インターフェース・コンポーネント130(下記にさらに詳細に説明される)を取り扱う計算デバイスである。これらのユーザ・インターフェース・コンポーネント130は、無線ネットワーク122に接続された他のデバイスにダウンロードされることができる。ユーザ・インターフェース・コンポーネントは、ユーザ・インターフェース(例えば、機能コール、メニュー、コンテント・コールにためのコード、スキン、等)を与える(render)ためのコード及び/又はデータを含む。コンテント・サーバを含む複数の他のサーバが、ネットワークに接続するために使用されることができ、情報を配信することができることに、注意する。利用可能にされ得る情報の型は、制限がなく、そして非常に多くの異なる例が、当業者に明らかであろう。ユーザ・インターフェース・サーバ126は、サーバ・ソフトウェアを含み、それは無線ネットワーク122を経由して要請しているデバイスにユーザ・インターフェース・コンポーネント130を提供するように構成される。
【0024】
アプリケーション・サーバ124は、無線ネットワーク122に接続された計算デバイス又は計算システムであり、それはソフトウェア・アプリケーション128が移動デバイスによってダウンロードされることを可能にする。一般的に述べると、アプリケーション128は、無線ネットワーク122に接続されたデバイス、例えば、セルラ電話機112、上で実行するためにそれらのデバイスによってダウンロードされることができる。この特定の実施において、アプリケーション・ダウンロード・サーバ124によって取り扱われるアプリケーション128のうちの少なくとも1つは、少なくとも1つの移動デバイス上での実行のために構成されたコンテント・ベースのアプリケーションである。コンテント・ベースのアプリケーション(クライアント)は、移動デバイスによる表示のためにユーザ・インターフェースを介してコンテント・サーバ(図示されず)からコンテントを検索するように構成される。
【0025】
図2は、本発明の1実施形態において、1つのサンプルの移動デバイス201の構成要素を一般的に説明する機能ブロック図である。移動デバイス201は、計算機能を有する任意のデバイスであることができ、例えば、セルラ電話機、個人ディジタル補助装置、手持ち“パームトップ”デバイス、ラップトップ・コンピュータ、携帯型音楽プレーヤ、全地球位置決定衛星(GPS:global positioning satellite)デバイス、又はその他である。
【0026】
移動デバイス201は、コンピュータ・プラットフォーム250を有し、それはソフトウェア・アプリケーションを受信しそして実行することができ、データを表示することができる。コンピュータ・プラットフォーム250は、プロセッサ252を含み、例えば、用途特定集積回路“ASIC(application specific integrated circuit)”、ディジタル信号プロセッサ(“DSP(digital signal processor)”)、マイクロプロセッサ、マイクロコントローラ、論理回路、ステート・マシーン、又は他のデータ処理デバイスである。プロセッサ252は、アプリケーション・プログラミング・インターフェース(“API(application programming interface)”)層254を実行し、それは移動デバイスのメモリ256中の任意の常駐プログラムをインターフェースする。メモリ256は、ランダム・アクセス・メモリ又は読み取り専用メモリ(RAM又はROM)、EPROM、EEPROM、フラッシュ・メモリ、又はコンピュータ・プラットフォームに一般的ないずれかのメモリを含むことができる。コンピュータ・プラットフォーム250は、しかもローカル記憶装置258を含み、それはメモリ256中でアクティブに使用されないソフトウェア・アプリケーション、ファイル、又はデータ、例えば、ユーザ・インターフェース・サーバ126(図1)からダウンロードされたソフトウェア・アプリケーション又はユーザ・インターフェース・コンポーネント、を保持することができる。ローカル記憶装置258は、一般的に1又はそれより多くのフラッシュ・メモリ・セルを備えるが、本分野において公知のいずれかの2次記憶デバイス又は3次記憶デバイスであり得て、例えば、磁気媒体、EPROM、EEPROM、光学的媒体、テープ、若しくはソフト・ディスク又はハード・ディスクであり得る。
【0027】
コンピュータ・プラットフォーム250は、しかもディスプレイ260も含み、それはユーザ・インターフェース(図示されず)を使用してデータを表示するためにソフトウェア・アプリケーションによって使用されることができる。
【0028】
図2に示される構成要素は、多くの型の移動デバイスで一般的であるが、他の構成要素が移動デバイス201に追加されることができ、そしてあるケースでは、図2に示されたある構成要素は、移動デバイス201から省略されることがある。
【0029】
図3は、本発明の1実施形態において、1つのサンプルの計算デバイス301の核となる構成要素を一般的に説明する機能ブロック図である。計算デバイス301は、任意の固定計算デバイス、例えば、デスクトップ・コンピュータ又はサーバであり得る。
【0030】
この例では、計算デバイス301は、プロセッサ・ユニット304、メモリ306、記憶媒体313、及びオーディオ・ユニット331を含む。プロセッサ・ユニット304は、好都合なことにマイクロプロセッサ又はディジタル信号プロセッサのような特殊用途プロセッサを含むが、代わりにいずれかの従来形式のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシーンであり得る。プロセッサ・ユニット304は、メモリ306に接続され、それはプロセッサ・ユニット304によって実行されるソフトウェア命令を保有しているRAMメモリとして都合の良いことに実装される。代案の実施形態では、メモリ306は、ファームウェア又はフラッシュ・メモリにより構成されることができる。この実施形態では、メモリ306中に記憶されたソフトウェア命令は、オペレーティング・システム310及び1又はそれより多くの別のアプリケーション312、例えば、ユーザ・インターフェースを使用するアプリケーション(図示されず)、を含む。
【0031】
移動デバイス301は、しかも通信モジュール321を含み、それは計算デバイス301と1又はそれより多くの別の計算デバイス、例えば、移動デバイスとの間の双方向通信を可能にする。通信モジュール321は、RF無線通信又は他の無線通信を可能にする構成要素、例えば、セルラ電話ネットワーク、ブルートース接続、無線ローカル・エリア・ネットワーク、又はおそらく無線ワイド・エリア・ネットワーク、を含むことができる。あるいは、通信モジュール321は、地上回線すなわち配線接続されたネットワーク通信、例えば、イサーネット(登録商標)接続、RJ−11接続、ユニバーサル・シリアル・バス接続、IEEE1394(ファイアワイア)接続、又はその他、を可能にする構成要素を含むことができる。これらは非網羅的なリストとして意図されており、そして多くの他の代案が可能である。オーディオ・ユニット331は、移動デバイス301の構成要素であり、アナログ・フォーマットとディジタル・フォーマットとの間で信号を変換するために構成される。オーディオ・ユニット331は、移動デバイス301によって使用され、スピーカ332を使用して音を出力しそしてマイクロフォン333からの入力信号を受け取る。
【0032】
図3は、多くの従来型の計算デバイスにおいて一般的に見られるある種の構成要素だけを図示する。非常に多くの他の構成要素が、同様に特定の装置においてごく普通に見られ、そしてある種のケースでは、図3に示されたある構成要素が省略されることができる。しかしながら、図3に示された計算デバイス301は、今日一般的に見られる計算デバイスの典型である。
【0033】
図4は、本発明の1実施形態における1つのデバイスのアプリケーション・アーキテクチャを図示する。本デバイスは、“コンピュータ・プラットフォーム”を含む。コンピュータ・プラットフォームは、ハードウェア、ソフトウェア、又は両方を含むデバイスの構成要素を呼ぶことができる。例えば、それはオペレーティング・システム、基盤となるハードウェア構成要素を含むことができ、そのハードウェア構成要素は、チップ、ユーザ・インターフェース・ハードウェア(例えば、ディスプレイ、入力デバイスと出力デバイス)、ライブラリ、サポーティングAPI、オペレーティング・システムへの追加の拡張、等を含む。
【0034】
1つの実施形態では、無線デバイスのアプリケーション・アーキテクチャ400は、Device API405、BREW API410、BREW Extension415、Trigplayer420、Actor425、及びTrig430を含む。Device API405は、そのデバイスに明確に関係付けられた機能に対処するためのソフトウェア・プラットフォームによって使用されるそれらのAPIを含むことができ、例えば、特定のプロセッサ又はASIC機能、特定のデバイス・ハードウェア機能、等である。
【0035】
BREW API410は、QUALCOM株式会社によって開発されたソフトウェア・プラットフォームである。BREW API410は、そのデバイスに対して特別に書き込まれることを必要とせずにDevice API405及びその他の機能を呼び出すためのアプリケーションに対する能力を提供する。言い換えると、アプリケーションからハードウェアの特定の側面を取り出し、それによってそのデバイス上でアプリケーションを実行する各特定のデバイスに対して、合わせる必要なく又はわずかに合わせることを必要とするだけで、アプリケーションが複数のデバイスに対して書き込まれることを可能にする。
【0036】
BREW Extension415は、BREWプラットフォームに追加の能力、例えば、MP3プレーヤ、Java(登録商標) Virtual Machines(ジャヴァ仮想マシーン)、等、を追加する能力を提供する。
【0037】
Trigplayer420、Trig430及びActor425は、QUALCOM株式会社によって開発されたuiOne(登録商標)アーキテクチャのコンポーネントである。これらのコンポーネントは、一般的にデバイス400のユーザ・インターフェースの側面を呼ぶ。1つの実施形態では、Trig430は、コンパイルされたTrigML(登録商標)コード、及びデバイス400上にユーザ・インターフェースを与えるためのアプリケーションによって使用される他のリソース(それはメタデータ、テキスト・ファイル、及び画像を含むことができる)である。複数のTrig430及びTrigへの最新版、Triglet(図示されず)と呼ばれる、は、ユーザ・インターフェースに対して使用されることができる。
【0038】
TrigMLコード、QUALCOM株式会社によって所有される、は、XMLに基づくデータ言語であり、そしてTrig430を書き表すためのユーザ・インターフェース表示言語として使用されることができ、そして移動体に的を絞った機能性、双方向ユーザ・インターフェース・イベント・モデルの利点を含み、そしてその他の利点の中でピクセル位置決定の利点を含む。
【0039】
Actor425は、基盤となるCコードを含み、Trigを基盤となるDevice API405及び/又はBREW API410に結びつける。Actor425は、しかも入力/出力のための実行可能なもの(executables)として機能することができる。そして複数のアクタが基盤となるDevice API及びBREW APIを結び付けるので、それらはコンピュータ・プラットフォーム機能へのアクセスを有する。
【0040】
たとえ、Trigplayer420が図4では分離されているとしても、Trigplayer420は、BREW Extension415として与えられることができる。Trigplayerは、Trig及びActorを使用してユーザ・インターフェースを与えるために使用される。
【0041】
図4の考察は、QUALCOM株式会社のuiOneアーキテクチャ(コンパイルされたTrigML、Trigplyer、BREW API、等を含む)に関してであるが、これは説明の目的のためであり、そして本発明が他のデータ言語、コンピュータ・プラットフォームとソフトウェア・プラットフォーム並びにデバイス・アーキテクチャを含むことが、理解されるであろう。
【0042】
図5は、本発明の1実施形態におけるユーザ・インターフェースを更新するシステム及びTrigplayer420、Actor425及びTrig430を図示するアーキテクチャを説明するブロック図である。デバイス500は、Trigplayer420、Actor425及びTrig430を含む。Trigは、TrigMLコード505、テキスト・ストリング510、画像515、及び更新チャネル520(更新チャネルは、URLを規定しそしてTriglet530を引き出すタイミング方式を規定することができる)を含むことができる。Trigは、無線を介して更新されることができ、それによってデバイスが製造者をとっくに離れてしまった後で、ユーザ・インターフェースが更新されることを可能にする。サーバ525は、新たなTrig及び又はTrigの更新されたコンポーネント(例えば、Triglet530)をダウンロードするために使用されることができ、それゆえデバイスのためのユーザ・インターフェースがカスタム化されることを可能にする。
【0043】
図6は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値を管理することに関係するファイル構造600を説明するブロック図である。1つの実施形態は、ソフトウェア開発ツール及びその構造をアクセスするための実行プロセスを使用してファイル構造600を作り出すことに関する使用を含む。ソフトウェア開発ツールの一例は、QUALCOM株式会社によって所有されるtrigbuilderとtrigpublisherを含む。本構造をアクセスするための実行プロセスの一例は、trigplayerを含む。ユーザ・インターフェース・エレメントを構築する際に、trigbuilderは、そのエレメントの側面を規定する属性を開発者から受け取る。このユーザ・インターフェース・エレメント及びファイル構造は、図4及び図5に関係して説明されたTrig中に常駐することができる。1つの属性は、$lang属性を含むことができる。ファイル構造は、共通変数、例えば、$lang変数、により体系化され、そしてリソース参照値を含み、その結果共通変数が一旦規定されると、同様なリソース値は、共通変数を修正して使用することによって同じ命令を使用して参照されることができる。
【0044】
複数の言語を管理することを可能にするシステムを構築する際に、開発者は、次のようなTrigMLエレメントを作り出す:
<text res=”text/$lang/a”>
構築ツールは、開発者がサポートすることを望んでいる言語をその開発者から同様に受け取る。例えば、開発者は、英語及びフランス語を選択することができる。上記の例では、テキスト・リソース“a”が、既に作り出されており、そして付随する英語値及びフランス語値を有する。
【0045】
1つの実施形態は、開発者によって選択されるリソース“a”及び言語に基づいてファイル構造を作り出す。図6は、ファイル構造600の一例を図示する。この例では、英語版におけるテキスト・リソース参照値“a”は、“ハロー”605の値を有し、そしてテキスト・リソース“a”のフランス語版に対しては“ボンジュール”610の値を有する。
【0046】
図7は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値を管理することに関係するより複雑なファイル構造700を図示する。複数のリソース間の関連を用いてファイル構造700を構築することは、それらの管理を単純化する。例えば、図7において、テキスト・リソース参照値“a”は、“ハロー”705,710の2つの異なる表示を表し、そしてテキスト・リソース“b”は、“グッドバイ”715,720の2つの異なる表示を表す。
【0047】
図7を続けて、異なるリソースは、$lang変数を使用するアクセスであり、次のようである:
text/$lang/a
もし“$lang”が“英語”として規定される場合、上の表現は、“ハロー”に決められる。もし“$lang”が“フランス語”として規定される場合、上の表現は、“ボンジュール”に決められる。同じリソース参照値“a”が関連するテキスト・リソースの2つの表現、すなわち、“ハロー”と“ボンジュール”、をアクセスするために使用されることに、注意する。
【0048】
図8は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値及び異なる参照形(例えば、テキストと画像を含む)を管理することに関係する別の1つのより複雑なファイル構造800を図示する。上記及び下記に説明されるように、任意のリソース型は、言語変数を使用してテキスト・リソースを単に操作するのではなく、変数語形変化の管理を使用して与えられることができる。
【0049】
$lang変数の決定
1つの実施形態では、trigplayerは、コンパイルされたコード中の$lang変数を決めるために使用されることができる。しかしながら、いずれかのパーサ又は別のコード解析器が使用され得ることは、当業者により理解される。さらに、コードは、必ずしもコンパイルされる必要がない。
【0050】
$lang変数は、デバイスによって、開発者によって、アプリケーションによって又はその変数をアクセスすることができる他のエンティティによって設定されることができる又は変更されることができる。1つの語形変化では、$langは、デフォルト値、例えば、“英語”を有し、そして後の時点においてデバイスによって変更されることができる。
【0051】
$lang値が変更されるべきであれば、trigplayerは、どのリソースにアクセスするかを決定するときにその値を使用するように試みる。言語リソースが存在するはずがなければ、trigplayerは、最後の有効な$lang値に戻ることができる。例えば、$langの前の値が英語であり、そして次にドイツ語に変更された場合に、下記の表現に遭遇する:
text/$lang/a
trigplayerは、“text/German/a”を見つけようと試みるはずである。しかしながら、もし“ドイツ語”が存在しない場合、trigplayerは、有効であった前の$lang値に戻ろうとするはずである。それゆえ、もし英語の$lang値が前にうまく使用された場合、上記の表現に遭遇したときに、trigplayerは、“text/English/a”を見つけようと試みるはずである。
【0052】
あるいは、trigplayerは、常にそれに戻る$langに対するデフォルト値を有することができる。そしてさらに別の1つの代案は、リソースが見つけなかったエラーのような、エラーを返すことがある。
【0053】
複数の実施形態は、言語及び$lang変数に関して説明された。しかしながら、別の変数が変数値を制御するために同じ方法で言語以外に使用されることができる。例えば、変数は、サポートされる複数のデバイス、その他のデバイス・リソース、例えば、スクリーンの大きさ、機能、等を管理するために使用されることができる。いずれかのリソースが本明細書中に記載された方法及び装置を使用して管理されることができることが、認識される。
【0054】
本発明の実施形態のさらなる説明
Trig又はTriglet(UIエレメント)中のリソースのパスが$langを含み、そしてあなたが複数の言語をコンパイルする場合に、各言語に対する各リソース・データは、2文字の国コードで置き換えられたパスの$lang部分を含むであろう。(注:示されない限り明細書全体を通して“(複数の)Trig”の使用は、(複数の)Trig又は(複数の)Trigletを呼ぶ)。
【0055】
例えば、テキスト・リソースは、3ヶ国語を含み、パスは、text/$lang/greetingであり、
en=hello
de=guten tag
fr=bonjour
これらのパスは、次のように拡張される
text/en/greeting
text/de/greeting
text/fr/greeting。
【0056】
TrigML中のパスを参照するために、$lang変数は、パス中に保持され、そして、Trigplayerは、手持ち機器の言語を照合し、そして正しいリソースが複数の値の存在を含むように選択する。
【0057】
<?xml version=”1.0” encoding=”UTF-8”?>
<trigml>
<layer>
<group>
<text res=”text/$lang/mlang”/>
</group>
</layer>
</trigml>
デフォルト言語
デフォルト言語は、Trigプロパティ中で搬送するために使用する特別な情報であり、その結果、trigがコンパイルされるときにデフォルト言語は言語の /config/supportedLangsデータ・リスト中の最初の言語になる。
【0058】
1つの実施形態では、コンパイラは、それがそのコンパイラに渡される配列中の最初の言語であると仮定することができる。
【0059】
TrigPlayer
Trigplayerは、Trigがサポートする言語の新たな行の別のリストを含んでいる /config/supportedLangs のところに位置するテキスト・リソースを現在読み出す。リスト中の最初の言語は、“デフォルト”言語であり、それは手持ち機器上で選択された言語がサポートされていないはずであれば、プレーヤがたよりにする。
【0060】
もし、上記のリソースが存在しない場合に、$langは、NULLストリングを返すであろう。
【0061】
動作(behavior)の一例は、下記を含む:
・現在の手持ち機器の言語を試す
・trigによってサポートされていない場合、最後に上手く使用された言語をたよりにする
・最後に上手く使用された言語がない場合(例えば、最初に電源を入れる場合)、最初にサポートされる言語をたよりにする。
【0062】
Parcel変更
別の1つの実施形態では、Parcelforceコードの使用は、リソース・オブジェクト is_multilang 上の方法によって、リソースが多言語であるか否かどうかの意味を引き出す。この方法は、ストリング$langが、そのリソース・オブジェクトのためのリソース・パス中に存在するかどうかを検査する。
【0063】
オブジェクトのリソース・パスがlangの新たな独立変数(argument)であるとき、もしそれが渡される場合に、それは渡された言語で現在の$langを置き換える。このコードがバー・ファイルの中に入るリソース・パスを生成しているときに、その時には、このコードは、TrigCompilerによって呼び出されることができる。get_resource_path の全てのその他の使用は、例えば、TrigBuilderにおける使用のために$langを置き換えることなくパスを返す。
【0064】
しかも、Trigが多言語であるか又はそうでないかを知るために検査することを統一するためのコールがある。Trigオブジェクト上の方法 is_multilang は、それが含んでいる全てのリソースが多言語であるかを検査する。この共通コードは、複数の場所で使用され、そして共通コードを1つの場所に置く良いプログラミング手法に続く。
【0065】
このようにして取り出すことによって、将来において複数の言語の取り扱いの異なるインプリメンテーションへとさらに容易に移ることができる。
【0066】
上の方法及びソフトウェア設計の説明は、同様に装置に実装されることができ、RAM中に又は他のメモリ記憶デバイス中に命令として記憶されることができる。本明細書中に示されたプロセスが特定の順番で連続的に例示されそして説明されてきているとはいえ、他の実施形態では、プロセスのステップは、別の順番で、複数回、及び/又は並行に実行されることができる。さらに、ある複数の実施形態では、複数のプロセスにおいて記載された1又はそれより多くのステップは、別々のステップとして実行されることができ、より少ない数のステップへと統合されることができる、又はおそらく完全に省略されることができる。
【0067】
これまでの開示が本発明の例示的な実施形態を示している一方で、様々な変更及び変形が添えられた特許請求の範囲によって規定されるように本発明の精神及び範囲から逸脱することなく記載された実施形態に行われることができることに、注意すべきである。さらに本発明の要素が、単数形で記載される又は特許請求されることがあるが、複数形は、単数形への限定が明確に述べられない限り予期される。
【図面の簡単な説明】
【0068】
【図1】図1は、その環境においてデバイスが本発明の1実施形態で動作することができる通信環境の機能図である。
【図2】図2は、本発明の1実施形態における1つのサンプルの移動デバイスの構成要素を一般的に説明する機能ブロック図である。
【図3】図3は、本発明の1実施形態における1つのサンプルの計算デバイスの構成要素を一般的に説明する機能ブロック図である。
【図4】図4は、本発明の1実施形態におけるコンピュータ・プラットフォームの1つのアプリケーション・アーキテクチャを説明するブロック図である。
【図5】図5は、本発明の1実施形態におけるユーザ・インターフェース・コンポーネントを更新するシステム及びトリグプレーヤ、アクタ及びトリグを図示するアーキテクチャを説明するブロック図である。
【図6】図6は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値を管理することに関係するファイル構造を説明するブロック図である。
【図7】図7は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値を管理することに関係するより複雑なファイル構造を図示する。
【図8】図8は、本発明の1実施形態において言語の共通変数によって体系化される複数の類似のリソース参照値及び異なる参照形を管理することに関係する別の1つのより複雑なファイル構造を図示する。
【符号の説明】
【0069】
100…通信環境,250…コンピュータ・プラットフォーム,400…アプリケーション・アーキテクチャ,505…TrigMLコード,510…テキスト・ストリング,515…画像,520…更新チャネル,530…URL及びTriglet,600,700,800…ファイル構造。

【特許請求の範囲】
【請求項1】
データ言語中の変数を使用して複数のリソースを管理するための構造を生成するための方法であって、
変数によって識別される複数のリソース参照値を受け取ること;及び
該変数及び該複数のリソース参照値を使用して構造を構築すること、を具備し、ここにおいて、該複数のリソース参照値は、該変数値を変更することによってアクセスされることができる
ことを特徴とする、方法。
【請求項2】
共通変数によって識別される類似のリソース参照値をアクセスするためのファイル構造を生成するための方法であって、
該ファイル構造の内部の同じ相対的位置に該類似のリソース参照値のそれぞれに関係付けられる値の場所を決める該共通変数型を使用して該ファイル構造を分割すること
を具備する方法。
【請求項3】
共通変数によって識別される類似のリソース参照値をアクセスするためのファイル構造を記憶するためのデバイスであって、
メモリ;
該メモリ中に記憶された該ファイル構造、ここにおいて、該ファイル構造は共通変数を介して体系化され、そして該類似のリソース参照値は異なる共通変数値の中で同じ場所として該ファイル構造の内部に位置を決められる;及び
該共通変数値を使用して該リソース参照値を検索するためのプロセッサ
を具備するデバイス。
【請求項4】
コンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、該命令は、実行されるときに、
共通変数を使用してファイル構造を分割すること、及び該共通変数によって参照される該ファイル構造の内部の同じ相対的位置の該類似のリソース参照値のそれぞれに関係付けられる値の場所を決める
ステップを実行することにより、該共通変数によって識別される該類似のリソース参照値をアクセスするための該ファイル構造を生成する
ことを特徴とする、コンピュータ読み取り可能な媒体。
【請求項5】
共通変数によって識別される類似のリソース型をアクセスするためのファイル構造を生成するためのデバイスであって、
該ファイル構造の内部の同じ相対的位置の類似のリソース参照値のそれぞれに関係付けられる値の場所を決める共通変数を使用して該ファイル構造を分割するための手段
を具備するデバイス。
【請求項6】
データ言語中のリソースを管理する方法であって、
パラメータを使用してリソースに対する要請を受け取ること;
該パラメータを変更すること;及び
該パラメータを使用して変更された関連するリソースに対する要請を受け取ること
を具備する方法。
【請求項7】
共通変数を使用して体系化されたファイル構造内に含まれるリソース値に対する要請を受け取るための方法であって、
該共通変数の値を記憶すること;
該リソースに対する要請を受け取ること、ここにおいて、該要請は、該共通変数及びリソース参照値を含む;
該共通変数の該値を検索すること;及び
該共通変数及び該リソース参照値に関係付けられる該ファイル構造中の位置を照合することによって該検索した共通変数及び該リソース参照値を使用して該リソース値を検索すること
を具備する方法。
【請求項8】
該共通変数の値を変更すること;
該共通変数及び該リソース参照値を使用して体系化された該ファイル構造内に含まれる第2のリソース値に対する要請を受け取ること;
該変更された共通変数を検索すること;及び
該変更された共通変数及び該リソース参照値を使用して第2のリソース値を検索すること
をさらに具備する、請求項7の方法。
【請求項9】
リソース値を検索するためのデバイスであって、
共通変数及びリソース参照値を使用して体系化されるファイル構造を含むメモリ;及び
リソース値に対する要請を受け取るように動作するプロセッサ、を具備し、該要請は該共通変数及び該リソース参照値を含み、ここにおいて、該プロセッサは、該共通変数の値を検索しそして該共通変数の該値及び該リソース参照値に関係付けられる該ファイル構造内部の該メモリ位置を見ることにより該リソースの該値を検索するようにさらに動作する
ことを特徴とする、デバイス。
【請求項10】
共通変数を使用して体系化されたファイル構造内に含まれるリソース値に対する要請を受け取るためのコンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、該命令は、実行されるときに、
該共通変数の値を記憶すること;
該リソースに対する要請を受け取ること、ここにおいて、該要請は、該共通変数及びリソース参照値を含む;
該共通変数の該値を検索すること;及び
該検索した共通値及び該リソース参照値を使用して該共通値及び該リソース参照値に関係付けられる該ファイル構造中の位置を照合することによって該リソース値を検索すること
のステップを実行することを特徴とする、コンピュータ読み取り可能な媒体。
【請求項11】
共通変数を使用して体系化されたファイル構造内に含まれるリソース値に対する要請を受け取るためのデバイスであって、
該共通変数の値を記憶するための手段;
該リソースに対する要請を受け取るための手段、ここにおいて、該要請は、該共通変数及びリソース参照値を含む;
該共通変数の該値を検索するための手段;及び
該検索した共通値及び該リソース参照値を使用して該共通値及び該リソース参照値に関係付けられる該ファイル構造中の位置を照合することによって該リソース値を検索するための手段
を具備するデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2008−542918(P2008−542918A)
【公表日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願番号】特願2008−514740(P2008−514740)
【出願日】平成18年5月31日(2006.5.31)
【国際出願番号】PCT/US2006/020702
【国際公開番号】WO2006/130536
【国際公開日】平成18年12月7日(2006.12.7)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】