(57)【要約】      （修正有）【課題】ローカライズ可能にマークアップを変換できるようにする技法と機構を提供する。【解決手段】一般的には、変換は、入力として２つのもの、すなわち、（１）マークアップを含む入力文書と、（２）ローカライズされた変数に基づいて異なる値を持つ特定の要素の識別子を含む変換命令とを受取る。このプロセスの間に変換は、データ構造から識別子に関連するローカライズされた値を検索する。次に、変換は、ローカライズされた値を用いて変換を進める。【選択図】図３
2006053892.tif 000002
【特許請求の範囲】
【請求項１】
ローカライズされた情報に変換するコンピュータ実施方法であって、
入力マークアップ文書を受取ること、
前記入力マークアップ文書に対する変換命令で定義するインデックス用のローカライズされた値を判定すること、および、
前記ローカライズされた値を用いて入力マークアップ文書に変換を実行すること
を備えたことを特徴とする方法。
【請求項２】
前記入力マークアップ文書は、ＸＭＬ文書を含むことを特徴とする請求項１に記載のコンピュータによる実施方法。
【請求項３】
前記入力マークアップ文書は、前記インデックスのローカライズされた値に従って変換することを意図した少なくとも１つの要素を含むことを特徴とする請求項１に記載のコンピュータによる実施方法。
【請求項４】
前記少なくとも１つの要素は、文字列を備え、
前記ローカライズされた値は、変換を実行するホストコンピュータに設定したローカル言語に対応する情報を備え、
前記変換は、ローカライズされた値を用いて文字列をローカル言語に組込むことを備えたことを特徴とする請求項３に記載のコンピュータによる実施方法。
【請求項５】
前記ローカライズされた値は、前記インデックスによって識別されるローカル変数の値を含むことを特徴とする請求項１に記載のコンピュータによる実施方法。
【請求項６】
前記インデックスに対するローカライズされた値を判定することは、
前記変換を実行するホストコンピュータから前記ホストコンピュータの特性を識別する修飾子を検索すること、および、
前記ローカライズされた値に対する複数の選択肢からローカライズされた値を検索することであって、前記特性を用いて複数の選択肢のどれがローカライズされた値に適当であるかを判別すること
を備えたことを特徴とする請求項１に記載のコンピュータによる実施方法。
【請求項７】
前記特性は、前記ホストコンピュータに対する特定の言語設定を備え、
前記複数の選択肢は、各種の言語の設定を備えたことを特徴とする請求項６に記載のコンピュータによる実施方法。
【請求項８】
前記特性が、前記複数の選択肢のどれが適当であるかを確定的に判別するのに使用することが出来ない場合、前記複数の選択肢からフォールバック・オプションを選択することをさらに備えたことを特徴とする請求項６に記載のコンピュータによる実施方法。
【請求項９】
前記変換命令を、スタイルシート文書内に含むことを特徴とする請求項１に記載のコンピュータによる実施方法。
【請求項１０】
請求項１に記載のコンピュータによる実施方法を実行するコンピュータが実行可能な命令でエンコードされることを特徴とするコンピュータ読取り可能媒体。
【請求項１１】
情報をローカライズするためのコンピュータで実行可能なコンポーネントを持つコンピュータ読取り可能媒体であって、
前記コンポーネントは、
ローカライズされた値にインデックスをマッピングするマッピング装置と、
翻訳処理装置と通信動作を行うトランスレータ拡張部であって、前記翻訳処理装置は、変換命令を用いて入力マークアップ文書を変換するよう構成されており、前記トランスレータ拡張部は、前記翻訳処理装置からの要求に応じて前記マッピング装置から前記ローカライズされた値を検索するよう構成され、前記要求は、インデックスを含むトランスレータ拡張部と
を備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項１２】
前記マッピング装置は、修飾子を用いて前記ローカライズされた値に前記インデックスをマッピングし、前記修飾子は、ローカライズされた変数に対する複数の選択肢から１つを識別することを特徴とする請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記修飾子は、ホストコンピュータのロケール設定を識別することを特徴とする請求項１２に記載のコンピュータ読取り可能媒体。
【請求項１４】
前記マッピング装置は、テーブルを含むことを特徴とする請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１５】
前記翻訳処理装置は、ＸＳＬスタイルシート変換処理装置を含むことを特徴とする請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１６】
前記変換命令は、スタイルシート文書の中に含まれることを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１７】
データ構造でエンコードされたコンピュータ読取り可能媒体であって、
前記データ構造は、
ローカライズ可能なコンテンツを識別するインデックスを収容する第１フィールドと、
各々がインデックスにより識別されるローカライズ可能なコンテンツの可能性のあるローカライズされた値を含む複数の第２フィールドと、
各々が前記第２フィールドに関連しており、各々がロケールに関連する修飾子を含む複数の第３フィールドとを備え、
前記各修飾子は、修飾子に関連したロケールに基づいて、前記インデックスを特定のローカライズされた値にマッピングすることを特徴とするコンピュータ読取り可能媒体。
【請求項１８】
前記データ構造は、ＸＭＬ文書を含むことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記データ構造は、テーブルを備えたことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２０】
少なくとも１つの第２フィールドは、可能性のあるローカライズされた値の中で情報が組込まれる位置を識別する挿入ポイント識別子を含むことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２１】
前記情報は、前記インデックスと結合して提供される入力情報を含むことを特徴とする請求項２０に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
以下に記載するいろいろな実施例は、一般的に、マークアップ文書の翻訳に関し、より詳細には、マークアップ文書のロケールを意識した翻訳に関するが、これに限定されない。
【背景技術】
【０００２】
今日のビジネスでは、マークアップ形式、特にＸＭＬ（eXtensible Markup Language）形式の大量のデータを取り扱う。ビジネスにおいては、マークアップ文書に関連するプロセスを構築し、こうした文書の形式を別の形式に変換して、所望の最終結果を得ることがある。ＸＭＬ文書に関するプロセスを構築する場合、典型的には、ＸＭＬの別々の断片を変換して、集約し、プロセスの最後に所望の出力を得ている。ＸＳＬ（eXtensible Style Language）は、現在多くの他の言語を使用できる中で、こうした変換の適用に好んで使用されている言語である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在、変換言語を実行して、元のＸＭＬマークアップを選択し、集約し、スライスして許容できる程度に所望の出力を得られるが、概してグローバリゼーションおよびローカリゼーションに対応していない。言い換えれば、従来の技術では、ローカライズされたデータを自動的に変換プロセスに取込む機構を備えていない。むしろ、別々の変換を、変換プロセスを実行する各ローカリティに対して生成しなければならない。こうした問題に対する適切な解決方法を、これまで、当業者は見出せなかった。
【課題を解決するための手段】
【０００４】
本発明は、グローバリゼーションおよびローカリゼーションを現存する変換プロセスまたはエンジン（例えば、ＸＳＬ変換）に組込む技法と機構に関する。簡単に言うと、変換は、マークアップを含む入力文書、およびローカライズされた変数に基づいて異なる値を持つ特定の要素である識別子を含む変換命令を受取る。変換命令は、ＸＳＬのスタイルシートの形であってもよい。変換は、ホストシステム上でローカライズされた変数の特定の状態を識別する。ローカライズされた変数の状態を用いて、変換は、データ構造からローカライズされた変数による識別子に関連するローカライズされた値を検索する。変換は、それ以降ローカライズされた値を用いて変換を進める。
【０００５】
限定的でなく網羅的でもない実施例を以下の図を参照して説明する。その際、特に他に規定しない限り、全図を通して、同一参照番号は同一部品を示す。
【発明を実施するための最良の形態】
【０００６】
以下の技法および機構では、ローカライズ可能にマークアップを変換できるようにすることを目的としている。一般的に言うと、変換は、入力として２つのもの、すなわち、（１）マークアップを含む入力文書と、（２）ローカライズされた変数に基づいて異なる値を持つ特定の要素の識別子を含む変換命令とを受取る。このプロセスの間に変換は、データ構造から識別子に関連するローカライズされた値を検索する。次に、変換は、ローカライズされた値を用いて変換を進める。この一般的な概念に関する具体的実施例を以下に説明する。
【０００７】
図１は、「インデックス」を「修飾子」によって「値」にマッピングするのに充分な情報を保有するデータ構造（例えば、テーブル１０１）の概念図である。この特定の実施例では、インデックス１１２、修飾子１１４、値１１６の３つの欄を有するテーブルを用いる。インデックス１１２は、特定のローカライズできるコンテンツのための識別子で、その実際の値は、変換を制御するロケールに依存する。言い換えると、インデックス１１２は、ローカライズされていない形で所望する結果の内容を識別する。インデックス１１２は、ローカライズされるデータの各項目について固有のものである。
【０００８】
修飾子１１４は、インデックス１１２を変換して求める特定のコンテキストのための識別子である。例えば、ローカル言語変数に基づいて変換を実施する場合、修飾子１１４は、所望の特定の言語を識別することができる。図１に示す例では、３つの異なる言語に対する３つの修飾子１１４、すなわち英語に対するｅｎ−ＵＳ、カタロニア語に対するｃａ−ＥＳ、フランス語に対するｆｒ−ＦＲを示している。ここで示した修飾子は単なる例であって、その他無数の形が使用可能であることに注意が必要である。値１１６は、各修飾子に対応する意図した結果である。値１１６は、また挿入ポイント識別子１２０を有し、どこに追加テキストまたはデータを値データ中に含めるかを識別することができる。この特徴については後でさらに詳細に論じる。
【０００９】
例えば、変換をローカル言語を基に実行する場合、値１１６は、修飾子１１４で識別される言語のインデックス１１２から識別される内容に対応する特定のテキストを含むことになる。図１の特定の例では、１つのインデックス（idGoodMorning）と３つの異なる言語（英語、カタロニア語、フランス語）に対する３つの異なるエントリが示されている。
【００１０】
この特定の実施例において、第４のエントリ１２５は、フォールバック・エントリとして含まれている。フォールバック・エントリは、所望の特定の修飾子１１４がテーブル１０１に存在しない場合に、デフォルトまたはキャッチオールとして考えてもよい。単なる例として言語識別子を使うと、最初の２文字（例えば”ｅｎ”）を用いて、言語の属（例えば英語）を識別し、最後の２文字（例えば”ＵＳ”）を用いて、その属の種（例えば、アメリカ英語）を識別することができる。このように所望の言語がテーブル中に存在しない”ｅｎ−ＣＡ”の場合には、フォールバック・エントリ１２５が使用される。また複数のフォールバック・エントリも使用できる。唯一の、最終的なフォールバック・エントリは、これは空白のエントリとなるだろうが、他の識別可能なフォールバックが存在しない場合に使用することもできる。
【００１１】
テーブル１０１に収容される情報の格納場所として、スタンドアロンのテーブルまたはファイル、データベースまたは類似のリポジトリ中のメタデータまたはデータ、またはＸＭＬマークアップ、または変換プロセスがアクセスできるその他の場所などの１または複数の場所の内のいずれかに格納できる。
【００１２】
図２は、ＸＳＬ変換を入力ＸＭＬ文書２０３に適用するシステム２０１を一般的に示す機能ブロック図である。一般的には、ＸＳＬ変換において、ＸＳＬプロセッサ２０５は、入力ＸＭＬ文書およびＸＳＬスタイルシート２０７を読む。ＸＳＬスタイルシート２０７にある命令に基づいて、プロセッサ２０５は、新たな（変換された）ＸＭＬ文書２１１を出力するが、これは、入力ＸＭＬ文書２０３の元のコンテンツを全部含むことも、一部含むことも、全く含まないことも可能である。
【００１３】
入力ＸＭＬ文書２０３は、ユーザがＸＳＬ変換を使って変換を望むいかなる任意のマークアップを含む。以下は、入力ＸＭＬ文書２０３に含むことができるＸＭＬマークアップの例である。  
<contact>
<name>John Smith</name>
<phone>11111111</phone>
</contact>
【００１４】
見て判るように、このマークアップ例は、名前（name）サブ要素および電話番号（phone number）サブ要素を持つ接続（contact）要素を定義する。実際には、入力ＸＭＬ文書２０３は、各種の要素やデータを持つ、様々な形の任意のマークアップを含む可能性があると考えられる。
【００１５】
システム２１０は、またトランスレータ拡張部２１５を含むが、これは、翻訳テーブル２１９（図１と関連して上述したように）にアクセスするオブジェクトであり、インデックスをローカライズされた値に変えるための、例えば、翻訳を実行するまたは異なる言語に文をフォーマットするための各種方法を提供する。ひとつの具体的な例として、次のトランスレータ拡張部２１５のための疑似コードが挙げられる。  
interface Translator
{
string Translate(string index),
string Translate(string index,  object argument),
}
【００１６】
この例では、２つのメソッドでそれぞれ静的および動的翻訳を実行する。例えば意図する言語（修飾子）がフランス語（ｆｒ−ＦＲ）の場合、Translate (”idGoodMorning”)は、”Bon jour”と翻訳し、Translate (”idGoodMorning”, “John”)は、”Bonjour John”と翻訳する。
【００１７】
ロケールＩＤ２２１は、ローカルシステムで使用する言語のような、いくつかのローカル変数の特定の状態を定義し、変換にどの修飾子（図１参照）を使用するかを判定するのに用いられる。ここに提示した例ではローカル言語に焦点を当てたが、ロケールＩＤ２２１として、システムの現在のユーザ、システムに設定した特定の時間帯、通貨構成、またはその他のローカライズできるまたはローカライズできない環境または動的変数のような、いかなる環境変数でも使えるという理解が必要である。
【００１８】
最後に、ＸＳＬスタイルシート２０７は、入力ＸＭＬ文書２０３を修飾して所望の結果を得る方法を定義する指令または命令を含む。それにより、ＸＳＬスタイルシート２０７は、ロケールＩＤ２２１に定義されているローカル変数に従いトランスレータ拡張部２１５を呼び出して任意のローカリゼーション操作を実行する式を含むことができる。例えば、次のＸＳＬマークアップの例を考えてみる。  
<xsl stylesheet version=”1 0”
xmlns xsl=”http //www w3 org/1999/XSL/Transform”
xmlns translator=”TranslatorExtension”>
<xsl template match=”/contact/name”>
<xsl value-of select = ”translator Translate(“idGoodMorning”, )”/>
</xsl template>
</xsl stylesheet>
【００１９】
上記のＸＳＬマークアップの例では、ＸＳＬプロセッサで実行される場合、インデックス”idGoodMorning”および入力ＸＭＬ文書２０３にある最初の”/contact/name”要素のコンテンツを有するトランスレータ拡張部２１５の翻訳メソッドを呼び出す。この命令によってトランスレータ拡張部２１５は、ローカルシステムに対するロケールＩＤ２２１の現在の状態を検索し、翻訳テーブル２１９からロケールＩＤ２２１に対応するインデックスに対するローカライズされた値を検索する。言い換えれば、ロケールＩＤ２２１を修飾子として用いて、トランスレータ拡張部２１５は、インデックス”idGoodMorning”に対するローカライズされた値を検索する。上記のマークアップの例が入力ＸＭＬ文書２０３に対するものとすれば、ローカル言語がフランス語（ｆｒ−ＦＲ）の場合の翻訳結果は、”Bon jour John Smith”となろう。ここで説明した特定のメソッドに従えば、”/contact/name”要素のコンテンツ（この例では”John Smith”）が挿入ポイント１２０（図１）でローカライズされた値に付加されることに注意されたい。
【００２０】
次に図３によると、ローカライズされたマークアップ変換を実行するための一般化したプロセス３００が示されている。プロセス３００は、上記のようにＸＳＬプロセッサが入力マークアップ文書およびインデックスを含む変換命令（ブロック３０３）を受取る（ブロック３０１）と開始する。インデックスの存在は、ローカライズされたデータが要求されていることを示し、それに応じて、ＸＳＬプロセッサは、インデックスに対応する修飾子（ローカル変数）を検索するようになる（ブロック３０５）。言い換えれば、インデックスがホストシステム上の特定のローカル言語設定に関係する場合、修飾子は言語識別子などとなる。上記の操作はＸＳＬプロセッサの拡張部で実行されるか、さもなければＸＳＬプロセッサ内部に含まれる機能によって実行されることを理解することが必要である。
【００２１】
次に、特定の修飾子を使用して、インデックスに対応するローカライズされた値を検索する（ブロック３０７）。より具体的には、インデックスは、ホストシステムの言語のようなローカル変数の特定の状態に依存する様々なローカライズされた値を取ってもよい。修飾子は、ホストシステム上のローカル変数の状態を定義するので、ホストシステム上のインデックスに対する適切なローカライズされた値を識別するのに用いられる。１つの実施例として、ローカライズされた値を翻訳テーブルなどから検索することもできる。
【００２２】
その情報を用いて、ＸＳＬプロセッサは、今見つけたばかりのローカライズされた値を使用して変換を実行する。このプロセスを用いて、同じＸＳＬスタイルシートを使用して、様々な任意のホストシステムで変換を実行することができ、ローカライズされた最終結果を得られることが判る。
【００２３】
図４は、ホストシステム上のローカル変数設定に基づいて入力マークアップ文書からの文字列を、翻訳された文字列に翻訳する特定のプロセスを典型的に示すフロー図である。この特定のプロセスでは、翻訳テーブル中にローカル変数と完全に一致するものが見つからなくても、反復プロセスを実行して翻訳された文字列（すなわちローカライズされた値）を識別してもよいことを示している。
【００２４】
プロセス４００は、インデックス（本図の翻訳ＩＤ）および修飾子（本図のロケールＩＤ）が変換部に提供される（ブロック４０１）と開始する。インデックスと修飾子を用いて、変換は、修飾子に対応するインデックスに対するローカライズされた値（本図の翻訳文字列）の検索を試みる（ブロック４０３）。適切なローカライズされた値（翻訳文字列）が見つかった場合、変換は、該文字列を返し（ブロック４１３）、プロセス４００は終了する。
【００２５】
しかしながら、ローカライズされた値（翻訳文字列）に完全に一致するものが見つからなかった場合、現在の修飾子（ロケールＩＤ）が親を持つかどうかの判定が行われる（ブロック４０７）。場合によっては、修飾子（ロケールＩＤ）は、親を持つオブジェクトまたはその他のコンテキストに関係しており、親が、子のオブジェクトまたはコンテキストとは異なる親自身の修飾子（ロケールＩＤ）をそれぞれ持つことがある。そうした場合（ブロック４０９）、変換は、親の修飾子（ロケールＩＤ）を用いてローカライズされた値（翻訳文字列）の検索を再度試みる。そうでない場合には、変換は、デフォルトまたはフォールバックのローカライズされた値（翻訳文字列）を検索し（ブロック４１１）、この値を返してもよい（ブロック４１３）。これを行う１つの方法として、最も近くにサブ文字列を組み合わせて使用することが挙げられる。従って、”ｅｎ−ＣＡ”に関して最も近くに組合わさるサブ文字列は、”ｅｎ”になる。
【００２６】
上記のプロセスを逐次的に説明、記述したが、他の実施例ではブロックに記述した操作を異なる順序、多数回、および平行してまたはそのいずれかで実行してもよい。
【００２７】
（例示的動作環境）
上記の様々な実施例は、サーバおよびクライアントのコンピュータ環境において実施できる。サーバおよびクライアントで使用するのに適したコンピュータ環境の例を、図５により以下に説明する。
【００２８】
図５に示すように、本発明を実施するための典型的なシステムは、コンピューティングデバイス５００のようなコンピューティングデバイスが含む。その最も基本的な構成において、コンピューティングデバイス５００は、典型的には、少なくとも１個の処理装置５０２とメモリ５０４を含む。コンピューティングデバイスの正確な構成および種類によって、メモリ５０４は、揮発性（例えばＲＡＭ）であっても、不揮発性（例えばＲＯＭ、フラッシュメモリなど）であっても、またはこの両者のある組合せであってもよい。上記の最も基本的な構成を図５に破線５０６で示した。さらにデバイス５００は、追加の性能または機能を有することもできる。例えば、デバイス５００は、磁気または光学ディスクまたはテープを含む、しかしこれに限定されない、追加のストレージ（取外し可能および取外し不能またはそのいずれか）を含むこともできる。図５は、かかる追加のストレージを取外し可能なストレージ５０８および取外し不能なストレージ５１０で示している。コンピュータの記憶媒体は、揮発性および不揮発性、取外し可能および取外し不能な媒体があり、これら媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、またはその他のデータのような情報を記憶するいかなる方法や技術でも実施される。メモリ５０４、取外し可能なストレージ５０８および取外し不能なストレージ５１０は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または所望の情報の格納に使用されることができ、デバイス５００がアクセスできるその他の媒体を含むが、これに限定されない。
【００２９】
デバイス５００は、他の装置との通信を可能にする通信接続部５１２も収容することができる。通信接続部５１２は、通信媒体の一例である。通信媒体は、典型的には、搬送波またはその他のトランスポート機構のような変調データ信号にコンピュータ読取り可能命令、データ構造、プログラムモジュールまたはその他のデータを実現するもので、いかなる情報送達媒体をも含む。用語「変調データ信号」とは、信号に情報をエンコードするような仕方で設定または変化させられた１または複数の特性を有する信号を意味する。例として通信媒体は、有線網または直接有線接続等の有線媒体、および音波、高周波、赤外線等の無線媒体を含むが、これに限定されない。ここで使用されている用語「コンピュータ読取り可能媒体」は、記憶媒体と通信媒体の両方を含む。
【００３０】
デバイス５００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置５１４を有している。ディスプレイ、スピーカ、プリンタなどの出力装置５１６も含まれている。これらの装置はすべて当技術分野で公知であり、ここで詳細に説明する必要はない。
【００３１】
デバイス５００は、各種のコンピュータ読取り可能媒体を含んでもよい。コンピュータ読取り可能媒体は、デバイス５００がアクセスでき、揮発性および不揮発性、取外し可能および取外し不能な媒体の両方を含む、いかなる使用可能な媒体でもよい。一例として、これに限定されないが、コンピュータ読取り可能媒体は、コンピュータ記憶媒体と通信媒体とを含んでもよい。コンピュータ記憶媒体は、揮発性および不揮発性、取外し可能および取外し不能な媒体の両方を含み、該媒体はコンピュータ読取り可能命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を格納するいかなる方法または技術においても実施される。コンピュータ記憶媒体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または所望の情報を格納するのに使用でき、デバイス５００がアクセスできるその他の媒体を含むが、これに限定されない。通信媒体は、一般に搬送波またはその他のトランスポート機構のような変調データ信号にコンピュータ読取り可能命令、データ構造、プログラムモジュールまたはその他のデータを実現するもので、いかなる情報送達媒体も含んでいる。用語「変調データ信号」とは、信号に情報をエンコードするような仕方で設定または変化させられた１または複数の特性を有する信号を意味する。例として、これに限定されないが、通信媒体は、有線網または直接有線接続等の有線媒体、および音波、高周波、赤外線等の無線媒体を含む。上記のいかなる組合せもコンピュータ読取り可能媒体の範疇に含まれる。
【００３２】
各種のモジュールおよび技法は、１台または複数のコンピュータまたはその他の装置において実行される、プログラムモジュールなどの、コンピュータによる実行命令の一般的な文脈で説明される。一般的に、プログラムモジュールは、特定のタスクを実行または特定の抽象データ型を実施するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュールなどをネイティブコードとして実行したり、または仮想マシンまたはその他のジャスト・イン・タイムのコンパイル実行環境などでダウンロードして実行したりする。典型的にはプログラムモジュールの機能を、様々な実施例において要求に応じて組合わせたり、分散したりできる。
【００３３】
これらのモジュールおよび技法を実施した結果を格納、または、ある形式のコンピュータ読取り可能媒体間で伝送できる。コンピュータ読取り可能媒体は、コンピュータがアクセスできれば使用可能などのような媒体であってもよい。例えば、コンピュータ読取り可能媒体は、「コンピュータ記憶媒体」および「通信媒体」を含んでもよいが、これに限定されない。
【００３４】
「コンピュータ記憶媒体」は、揮発性および不揮発性、取外し可能および取外し不能な媒体を含み、該媒体はコンピュータ読取り可能命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を格納するいかなる方法または技術においても実施される。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または所望の情報を格納するのに使用でき、コンピュータがアクセス可能なその他のいかなる媒体を含むが、これに限定されない。
【００３５】
「通信媒体」は、典型的に搬送波またはその他のトランスポート機構のような変調データ信号にコンピュータ読取り可能命令、データ構造、プログラムモジュールまたはその他のデータを実現するものである。通信媒体はいかなる情報送達媒体も含む。用語「変調データ信号」は、信号に情報をエンコードするような仕方で設定または変化させられた１または複数の特性を有する信号を意味する。それに限定されない例として、通信媒体は、有線網または直接有線接続等の有線媒体、および音波、高周波、赤外線、その他の無線媒体のような無線媒体を含む。上記のいずれの組合わせもコンピュータ読取り可能媒体の範疇に含まれる。
【００３６】
本明細書において「１つの実施例」、「実施例」、「実施の例」について言及したが、それによりその例で説明した性能、構造または特性が本発明の少なくとも１つの実施例に含まれることを意味している。したがって、かかる表現を使用することにより、実施例は唯１つに限定されないことに言及している。さらに、説明した特徴、構造、または特性を１例または複数の実施例において適切なやり方で組合わせてもよい。
【００３７】
しかしながら、当業者は、本発明を１または複数の特定の詳細説明なしに実行できる、または他の方法、リソース、材料などを使い実行できるかもしれない。他の例では、本発明の特徴をわかりにくくしないために、公知の構造、リソースまたは操作を示していないかまたは説明をしていない。
【００３８】
実施および適用例を示し、説明してはいるが、本発明が上述した構成およびリソースに限定されないということを理解する必要がある。当業者にとって明白な、様々な修正、変更、変形が、ここで開示した本発明の方法およびシステムの配置、操作および詳細に関して本発明の請求範囲から逸脱することなく可能である。
【図面の簡単な説明】
【００３９】
【図１】インデックスをそのインデックスに対するローカライズされた値にマッピングするためのデータ構造を示す概念的ブロック図である。
【図２】入力マークアップ文書にローカライズ可能な変換を行うシステムを示す機能的ブロック図である。
【図３】ローカライズされたマークアップ変換を行うプロセスを典型的に示すフロー図である。
【図４】入力マークアップ文書からの文字列をホストシステムに設定したローカル変数に基づいて翻訳文字列に翻訳するプロセスを典型的に示すフロー図である。
【図５】ここで記述する技法と機構の様々な実施例を実施できる例示的な計算環境を典型的に示す機能的ブロック図である。
【符号の説明】
【００４０】
２０１  システム
２０３  入力ＸＭＬ文書
２０５  ＸＳＬプロセッサ
２０７  ＸＳＬスタイルシート
２１１  変換されたＸＭＬ文書
２１５  トランスレータ拡張部
２１９  翻訳テーブル
２２１  ロケールＩＤ
【図１】
2006053892.tif 000003
【図２】
2006053892.tif 000004
【図３】
2006053892.tif 000005
【図４】
2006053892.tif 000006
【図５】
2006053892.tif 000007
【外国語明細書】
2006053892000001.pdf