JP5058966B2 - オントロジを組み込むリソース・オーサリング - Google Patents

オントロジを組み込むリソース・オーサリング Download PDF

Info

Publication number
JP5058966B2
JP5058966B2 JP2008501082A JP2008501082A JP5058966B2 JP 5058966 B2 JP5058966 B2 JP 5058966B2 JP 2008501082 A JP2008501082 A JP 2008501082A JP 2008501082 A JP2008501082 A JP 2008501082A JP 5058966 B2 JP5058966 B2 JP 5058966B2
Authority
JP
Japan
Prior art keywords
localization
localized
application
data
translation
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.)
Expired - Fee Related
Application number
JP2008501082A
Other languages
English (en)
Other versions
JP2008533598A (ja
Inventor
コールメイアー,ベルンハルト
ブラウネル,ロリ・エイ
ウー,ウェイ
イェ,シェングア(エドワード)
マルティ,ジョルディ・モラ
ネルソン,ジャン・アンダース
エル−ガマル・モハメド
ベネット,ジュリー・ディー
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008533598A publication Critical patent/JP2008533598A/ja
Application granted granted Critical
Publication of JP5058966B2 publication Critical patent/JP5058966B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本発明はデータ処理を扱う。
ローカライズは、異なるマーケットの差を調節するように製品又はサービスを修正するプロセスである。ローカライズの非常に一般的な例は、アプリケーションがソース言語でオーサリングされ、元の言語とは異なるターゲット言語を使用するマーケットに導入されるときに生じる。例えば、アプリケーションが英語でオーサリングされ、次いで中国に導入された場合、アプリケーション内の様々な英語文字列及びUI要素(メニュー、アイコンなど)、ソフトウェア・コンポーネント、及びユーザ支援を中国語に翻訳することによってローカライズされることになる。UIレイアウト及びスタイル(フォント・タイプ、サイズ、制御位置などを含む)もターゲット言語に適合するように変更される可能性が高い。もちろん、ローカライズの概念は、単に言語を修正するよりも広い。同一の言語を使用するマーケットが、他の理由で異なることがある。例えば、ソフトウェア・アプリケーションが、様々な年齢グループ向けに「ローカライズ」されることがある。ソフトウェア・アプリケーションは、大人向けの1組の言語及び外観を有し、子供又はティーン向けの別の1組の言語及び外観を有することがある。したがって、ローカライズは例示的に、異なるマーケットの多種多様な違いに対処する。
上述のように、ローカライズは、単に文字列を翻訳よりも多くの事柄を含む。ここでは、文書が読み易いように、そのシナリオに関する説明に専念する。同様に、例の大部分をソフトウェア・ローカライズの分野から取るが、本発明はソフトウェア・ローカライズに限定されない。同様に、この議論の多くを製品のローカライズに焦点を当てるが、本発明はそのように限定されず、サービスにも適用可能であり、したがってこの説明では、「製品」という用語は「サービス」を含む。過去には、ローカライズを実現するためにシステム・レベルの試みが行われず、ローカライズは、個々の問題を解決するために個々の構成要素を使用して実施されていた。例えば、ローカライザをいくつかの機械翻訳技法で強化し、ローカライズ速度、精度、及び整合性を改善することができる。しかし、異なるローカライザは、以前の翻訳を再利用し、したがってツールを使用しない場合よりも高速に一層一貫性のある結果を提供することによってリサイクル速度を増加させるために、単に翻訳メモリを使用することができる。
さらに、このことは従来、オフラインで行われてきた。言い換えれば、作者はアプリケーション全体又は構成要素の大部分を作成し、その構成要素又はアプリケーションはローカライズのためにローカライザに提供される。通常のプロセスは、ローカライザの元の作者との対話が最小となり又は存在しないようなものとなる。これにより、元のコンテンツのローカライズを容易にする元のコンテンツの変更を導入することが難しくなる。実際に、多くの場合、製品全体が開発されたかなり後まで、また、異なる言語を使用し、又は別個の異なるマーケットに製品を拡張するように戦略的マーケティングの判定が行われたかなり後まで、ローカライズは実施されない。こうした場合のすべてにおいて、通常は、ローカライズ、さらにはローカライズのための最適化を念頭に置いてアプリケーションを開発する際に事前の作業が行われることはほとんどない。同様に、開発/オーサリング段階において、容易にローカライズ可能である製品又はサービスのオーサリングは、ローカライズが容易ではないものをオーサリングするよりも難しくはないとしても、ローカライズが比較的容易となるアプリケーション又はその他の製品/サービスを開発するためのサポートはほとんどない。
したがって、製品、サービス、及びアプリケーションは、複雑で手作業の労働集約的プロセスによって様々な言語に翻訳され、又はローカライズされてきた。このソフトウェア製品のローカライズと、製品に関する内容の翻訳に関するコストは、新しいマーケットに入るために克服しなければならない著しい障害を表す。このことは特に、小規模から中規模の独立ソフトウェア・ベンダ又はコンテンツ作者に対して当てはまる。
ローカライズの問題はまた、ソフトウェアが開発される特定の位置に応じてスケールが変化する。大規模マーケットを有する位置でソフトウェアをオーサリングしている開発者にとっては、様々な(かつ小規模である可能性の高い)マーケットに対してソフトウェアをローカライズすることの必要性は低い。しかし、比較的小規模のマーケットを有する位置にある(かつ比較的小規模のマーケットを有する言語を使用する)開発者の場合、製品の全体的存立可能性は、その製品をより大規模なマーケットで使用される言語にローカライズする能力に依存する可能性がある。このことは、製造業者がローカライズに対して過度に多量のリソースを消費することを必要とする。このことはしばしば、開発に使用可能なリソースを損ねる。
従来のローカライズ作業に関連する別の問題は、他の様々なローカライズ・ソースの成果を利用するための良い方法がなかったことである。例えば、多種多様なベンダは、様々なマーケット向けに製品をローカライズする。異なるベンダによって開発された同様のアプリケーションは、同一のマーケット向けに同一の又は非常に類似した文字列又はソフトウェアをローカライズしている可能性が高い。しかし、現在のところ、両者が一方の作者の成果を利用し、又は共用するための適切な方法はない。したがって、製品をローカライズする際に労力が非常に多く重複する。
さらに、異なるタイプのリソース・マネージャ、リソース・フォーマット、及びデータ・ストアを伴う多くの異なるプログラミング・モデル(Win32、CLR、WEBスクリプティングなど)が存在する。それらは、ローカライズを処理するために異なるパーサ及びツールセットを必要とし、その結果、プロセスが複雑かつ高コストとなり、ローカライズ品質が不整合となる。
発明の概要
本発明は、データを処理するシステムを提供する。
発明の実施の形態の詳細な説明
本発明は、統合ローカライズ・プラットフォームを備えるオペレーティング・システム、又は完全には統合されないが、オペレーティング・システムと共に緊密に動作可能な構成要素を有するローカライズ・プラットフォームを提供する。このローカライズ・プラットフォームを、オペレーティング・システムによって要求されるサービスとして提供することもできる。本発明は、ローカライズ・プラットフォームを使用してコンテンツ及びソフトウェアをローカライズする。製品又はサービスの開発中に本発明を使用することもでき、製品又はサービスのより迅速かつ効率的なローカライズを可能にする手法が実施される。この議論は主に、ローカライズ・プロセス中の翻訳に関して進めるが、本発明はそのように限定されず、ローカライズは、異なるマーケット向けの多種多様な他の適応も含む。本発明を一層詳細に説明する前に、本発明を使用することのできる環境の一つの実施の形態を説明する。
図1は、本発明を実装することのできる適切なコンピューティング・システム環境100の一例を示す。コンピューティング・システム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用法又は機能の範囲に関する何らかの制限を示唆するものではない。例示的動作環境100に示される構成要素のいずれか1つあるいはその組合せに関して、コンピューティング環境100が何らかの依存関係又は要件を有すると解釈すべきでもない。
本発明は、他の多数の汎用又は特殊目的コンピューティング・システム環境又は構成で動作可能である。本発明と共に使用するのに適した周知のコンピューティング・システム、環境、及び/又は構成の例は、限定はしないが、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラム可能消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、電話システム、上記のシステム又は装置のいずれかを含む分散コンピューティング環境などを含む。
本発明は、コンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行し又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワーク又はその他のデータ伝送媒体を介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境で実施されるよう設計される。分散コンピューティング環境では、プログラム・モジュールは、メモリ記憶装置を含む、ローカル・コンピュータ記憶媒体とリモート・コンピュータ記憶媒体のどちらにも位置することができる。
図1を参照すると、本発明を実装する例示的システムは、コンピュータ110の形態の汎用コンピューティング装置を含む。コンピュータ110の構成要素は、限定はしないが、処理装置120と、システム・メモリ130と、システム・メモリを含む様々なシステム構成要素を処理装置120に結合するシステム・バス121とを含むことができる。システム・バス121は、メモリバス又はメモリ・コントローラと、周辺バスと、様々なバス・アーキテクチャのうちのいずれかを用いるローカル・バスとを含むいくつかのタイプのバス構造のうちのいずれでもよい。例えば、限定はしないが、そのようなアーキテクチャは、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、及びメザニン・バスとも呼ばれるPeripheral Component Interconnect(PCI)バスを含む。
コンピュータ110は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110がアクセス可能である入手可能な任意の媒体でよく、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体のどちらも含む。例えば、限定はしないが、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、又は他のデータなどの情報を格納するための何らかの方法又は技術で実装された、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体のどちらも含む。コンピュータ記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュ・メモリ、又は他のメモリ技術、CD−ROM、デジタル・バーサタイル・ディスク(DVD)、又は他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、又は他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ110でアクセスすることのできる他の任意の媒体を含む。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラム・モジュール、又は他のデータを、搬送波や他の移送機構などの被変調データ信号で実施し、任意の情報送達媒体を含む。「被変調データ信号」という用語は、その特性集合のうちの1つ又は複数を有する信号、又は情報を信号として符号化するように変化する信号を意味する。例えば、限定はしないが、通信媒体は、有線ネットワーク又はダイレクト・ワイヤード接続などの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、他のワイヤレス媒体などのワイヤレス媒体を含む。上記のいずれの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
システム・メモリ130は、読取り専用メモリ(ROM)131やランダム・アクセス・メモリ(RAM)132などの揮発性メモリ及び/又は不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中などにコンピュータ110内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム(BIOS)133が、一般にROM131内に格納される。RAM132は一般に、処理装置120にとって即座にアクセス可能であり、かつ/又は処理装置120によって現在操作中のデータ及び/又はプログラム・モジュールを含む。例えば、限定はしないが、図1は、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、及びプログラム・データ137を示す。
コンピュータ110はまた、他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体も含むことができる。単なる例であるが、図1は、取外し不能不揮発性磁気媒体を読み書きするハードディスク・ドライブ141と、取外し可能不揮発性磁気ディスク152を読み書きする磁気ディスク・ドライブ151と、CD−ROM又は他の光媒体などの取外し可能不揮発性光ディスク156を読み書きする光ディスク・ドライブ155とを示す。例示的動作環境で使用することのできる他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体は、限定はしないが、磁気テープカセット、フラッシュ・メモリ・カード、デジタル・バーサタイル・ディスク、デジタル・ビデオテープ、固体RAM、固体ROMなどを含む。ハードディスク・ドライブ141は一般に、インタフェース140などの取外し不能メモリ・インタフェースを介してシステム・バス121に接続され、磁気ディスク・ドライブ151及び光ディスク・ドライブ155は一般に、インタフェース150などの取外し可能メモリ・インタフェースによってシステム・バス121に接続される。
上記で議論し、図1に図示するドライブとその関連するコンピュータ記憶媒体は、コンピュータ110に対してコンピュータ可読命令、データ構造、プログラム・モジュール、及び他のデータの記憶を提供する。図1では、例えば、ハードディスク・ドライブ141がオペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146、及びプログラム・データ147を格納するものとして図示されている。これらの構成要素は、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、及びプログラム・データ137と同じでよく、又は異なるものでよいことに留意されたい。ここでは、オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146、及びプログラム・データ147には、少なくともこれらが相異なるコピーであることを示すために異なる番号が付けられている。
ユーザは、キーボード162、マイクロフォン163、マウス、トラックボール、タッチパッドなどのポインティング・デバイス161などの入力装置を介して、コマンド及び情報をコンピュータ110に入力することができる。他の入力装置(図示せず)は、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナなどを含むことができる。上記及び他の入力装置はしばしば、システム・バスに結合されるユーザ入力インタフェース160を介して処理装置120に接続されるが、パラレル・ポート、ゲーム・ポート、又はユニバーサル・シリアル・バス(USB)などの他のインタフェース及びバス構造によって接続することもできる。モニタ191又は他のタイプのディスプレイ装置もまた、ビデオ・インタフェース190などのインタフェースを介してシステム・バス121に接続される。モニタに加えて、コンピュータはまた、スピーカ197やプリンタ196などの他の周辺出力装置も含むことができ、それらを出力周辺インタフェース195を介して接続することができる。
コンピュータ110は、リモート・コンピュータ180などの1つ又は複数のリモート・コンピュータへの論理接続を使用して、ネットワーク環境で動作する。リモート・コンピュータ180は、パーソナル・コンピュータ、ハンドヘルド装置、サーバ、ルータ、ネットワークPC、ピア装置、又は他の共通ネットワークノードでよく、一般に、パーソナル・コンピュータ110に関して上記で述べた要素のうちの多数又はすべてを含む。図1に示される論理接続は、ローカル・エリア・ネットワーク(LAN)171及び広域ネットワーク(WAN)173を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータ・ネットワーク、イントラネット、及びインターネットで一般的なものである。
LANネットワーキング環境で使用される際、コンピュータ110は、ネットワーク・インタフェース又はアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される際、コンピュータ110は一般に、インターネットなどのWAN173を介して通信を確立するためのモデム172又は他の手段を含む。モデム172は内蔵又は外付けでよく、ユーザ入力インタフェース160、又は他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク環境では、コンピュータ110に関して示したプログラム・モジュール又はその一部を、リモート・メモリ記憶装置内に格納することができる。例えば、限定はしないが、図1は、リモート・アプリケーション・プログラム185がリモート・コンピュータ180上に常駐するものとして示す。図示されるネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。
図2は、図1に示されるオペレーティング・システム134に統合されるローカライズ・プラットフォーム(又はシステム)200を示す。ローカライズ・プラットフォーム200がいくつかの異なるメモリ・ストアと共に示されており、図1に示される様々な記憶装置のいずれかでこうしたメモリ・ストアを具体化できることを理解されよう。システム200が、ローカライズを受けるアプリケーション202と、データ収集構成要素205を介して様々な翻訳をシステム200内のデータ・ストアに入力する様々な入力ソース204と共に対話的に構成されるように示されている。
システム200自体は、リソース・マネージャ206、レイアウト・エンジン208、翻訳メモリ(TM)マッチャ210、ダウンロード・マネージャ212、翻訳メモリ(TM)データ・サービス214、機械翻訳(MT)システム216、フィルタ218、証明書システム220、及び複数の異なるデータ・ストアを含む。図2に示されるデータ・ストアは、アプリケーション規則データ・ストア222、ローカル・ストア224及びプライベート・ストア226、用語ベースデータ・ストア228及び用語ベース翻訳データ・ストア230、オントロジ・ストア232、翻訳メモリ234、ならびに共通UI要素データ・ストア236を含む。一般には、アプリケーション規則は、アプリケーション関連のリッチ・データを指定するためにリソースで使用され、そのフィルタは、データに寄与するエンティティ(又は入力ソース204)はそれが寄与するデータの修正のみが可能であること、及び追加されたすべてのデータが一定の規則に基づいてフィルタリングされることを保証するのに使用される。もちろん、各データ・ストアを別々に所望の方式でグループ化、併合、分割することができる。本明細書の後の部分で図2〜6に関してシステム200の詳細な動作を説明する。しかし、システム200及び図2に示される項目の動作の簡潔な議論をこれから行う。
実行期間に、リソース・マネージャ206は、アプリケーション202に関連するリソースをキャッシュ・メモリ207にロードする(コンテンツ及び他のタイプのローカライズ可能データに関して同様のシナリオを見出すことができる)。リソース・マネージャ206はまた、アプリケーション202からリソースを求める呼出しも受信する。それに応答して、リソース・マネージャ206はまず、プラットフォーム200によって現在選択されているロケールに関連する言語の文字列をロードする。リソース・マネージャ206は、可用性、信頼水準、ユーザ設定などの様々な基準に基づいてリソースのどのバージョンをロードするかを決定する。リソース・マネージャ206は、TMマッチャ210を起動することを決定することができる。そのようにするために、リソース・マネージャ206は、TMマッチャ210を呼び出して、指定のリソースの翻訳(又はローカライズ)を得る。TMマッチャ210は、リソース・ローディングでの実行時遅延を防止するために事前設定済みリソース・データを有することもでき、事前設定済み情報は、MTシステム216から来たのか、それともTMマッチャ210から来たのか、その信頼ソースなどの関連情報でタグ付けされる。このことは以下でより詳細に議論する。TMマッチャ210がリソースに対するマッチを返さない場合、リソース・マネージャ206は、異なるフォールバック言語で翻訳を与えることができるように、リソース・フォールバックを介して縦続接続する。このことも以下でより詳細に説明する。さらに、一つの実施の形態では、リソース・マネージャ206とTMマッチャ210はどちらもフォールバックを有する。これらは互いに異なるものでよく、TMマッチャ210の結果はリソース・マネージャ206に影響を及ぼす可能性があるが、リソース・マネージャ206は、TMマッチャ210を呼び出すことなくフォールバックすることを決定することができる。
ローカライズによって文字列に対して行われる変更が、そうした文字列を含むディスプレイ項目に対する変更を強制することは珍しくない。一般的な例は、より多くのスペースの必要(文字列の延長)、ダイアログの流れに関する変更(左から右に書く言語と左から右に書く言語)などを含む。調節プロセスは、ローカライズ時、レンダリング時、又はその両方で行うことができる。最も一般的なケースは、ダイアログ中の項目の再構成及びサイズ変更が必要であることであり、そのプロセスは自動レイアウトと呼ばれる。オーサリング・プロセス期間に与えられる情報の量及び正確さは、実行時に生成される結果に影響を及ぼす。
TMマッチャ210は、様々な翻訳のソースと、コンテンツをマッチングする(又は別の言語に翻訳し、あるいはローカライズする)ことを要求するリソース・マネージャ206との間に位置する。TMマッチャ210は、利用可能なソース(及びアプリケーション202によって信頼されるソース)を探索して、それに関連する最高の信頼スコアを有する翻訳を見つける。
やはり、TMマッチャ210の動作のより詳細な議論は、図4に関して以下で行われる。しかし、簡潔には、TMマッチャ210は、アプリケーション規則データ・ストア222内のアプリケーション又はコンテンツ202に関連する規則にアクセスして、リソース・マネージャ206に戻されるローカライズが何であっても、アプリケーション202に誤作動を引き起こさないことを保証する。TMマッチャ210はまず、ローカル・データ・ストア224及びプライベート・データ・ストア226を探索して、ローカライズが既に存在するかどうかを確認する。リソース・マネージャ206によって行われている命令が以前に行われた命令である場合、ローカル・データ・ストア224は、既にローカライズされているリソースの翻訳又は他のローカライズを保持する。
TMマッチャ210はまた、TMデータ・サービス214を起動する。TMデータサービス214は、ストア236に格納された共通ユーザ・インタフェース(UI)要素などの多種多様な異なる事柄の翻訳又は他のローカライズを含む翻訳メモリ234、並びに用語ベース228に格納された定義済み用語にアクセスし、オントロジ・ストア232は、アプリケーション202及び関連するドメインに関するコンテキスト情報を提供する。
ローカライズがストア224又は226上にローカルに存在せず、ストア234上にリモートに存在しない場合、ローカライズすべきコンテンツに関する機械翻訳を実施するために、TMマッチャ210は、任意選択で利用可能な機械翻訳(MT)システム216(又は複数の利用可能なMTシステムのうちの1つ)にアクセスすることができる。TMマッチャ210によるMTシステム216を起動する決定は、ユーザ・プリファレンス、翻訳の可用性、利用可能な翻訳及びMT提供の翻訳の品質などに基づくことができる。一つの実施の形態では、機械翻訳システム216は任意の市販のMTシステムであり、例示的には、他のメモリソース(TMデータサービス214、ローカル・データ・ストア224、プライベート・データ・ストア226など)のいずれからもより高い信頼水準のマッチがなかった場合の翻訳のためにのみ使用される。新しいMTシステム又は異なるMTシステムをTMマッチャ210で容易に使用することができるので、MTシステム216がほぼ任意のMTシステム、又は異なるストア内のデータ(例えば以前の翻訳)を使用して翻訳を生成することのできる任意のシステムでよいことは、システムの拡張性を著しく高める。
もちろん、MTシステムの拡張性は、システムの拡張性だけではなく、一例に過ぎない。システム拡張性のいくつかの他の例は、コンテンツ・オーサリング・エディタ、言語パーサ、サードパーティ翻訳メモリ、コミュニティ・エディタ、開発オーサリング環境、ウェブ・サービスへの接続などを含む。上記又はその他のエリアの拡張性が、プラットフォーム200内のAPIによってサポートされる。
いずれにしても、TMマッチャ210によって呼び出される各翻訳リソースは、例示的には、要求されているローカライズに関連する信頼性又は再利用速度を示す信頼スコア(又は翻訳速度、リサイクル速度、又は他の同様の尺度)をTMマッチャ210に提供する。次いで、TMマッチャ210は、最高のスコアに関連する翻訳を提供する信頼されるソースからのローカライズ又は翻訳を選択することができる。次いで、翻訳がまだローカル・ストア224に格納されていない場合、翻訳がダウンロード・マネージャ212によってローカル・ストア224にダウンロードされる。
1つの例示的な実施の形態では、多種多様な入力ソース204が、システム200内の様々なメモリに翻訳入力を提供することができる。例えば、ローカライズ・プラットフォーム200を組み込むオペレーティング・システムを開発するベンダ又はソフトウェア製造業者が、例示的には、信頼される用語を様々なメモリに提供する。しかし、一つの実施の形態では、入力ソース204は、コミュニティ全体及び開発コミュニティを含むことができる。コミュニティ全体は、システム200を使用してローカライズ・サービスを実施する任意の人が、データ収集構成要素205を介して1つのコンテンツの提案されるローカライズを適切なメモリに提供することを可能にする。入力ソース204はまた、開発者と公式に認識される開発者のみによって提供される翻訳を格納する(コミュニティ全体ではなく)開発コミュニティも含むことができる。したがって、プラットフォーム200は、ローカライズ・プロセスを非常に大規模なコミュニティ参加に対して開放することを可能にし、ユーザの必要及び期待を満たすようにグラニュール・レベルで調節することを可能にする(例えば、ユーザが何を信頼し、何を信頼しないかを決定する)。
さらに、データ収集構成要素は、様々な入力ソース204から(セットアップ、実行、構成などの期間に)動的に、断続的に新しいデータを収集することができる。新しいデータはもちろん、新しいリソース・データならびに事前ローカライズ済みデータ又は翻訳メモリデータでよく、新しいアプリケーション、新しいドメインをサポートし、動作中のオペレーティング・システムの自己回転を実施する。これは、システムの適応性及び精度を含む。
しかし、特定のアプリケーション開発者、システム管理者、又はユーザは、あるローカライズ・コンテンツのみを信頼することを望むことがある。例えば、開発者は、コミュニティ全体又は開発コミュニティからのローカライズ・コンテンツを信頼することを望まず、ベンダ及びOS製造業者からのローカライズ・コンテンツのみを信頼することを望むことがある。これは、プラットフォーム200がローカライズ・タスクを様々なソースに公開する範囲を開発者又はユーザが設定することを可能にする。文字列単位でこれを設定することさえできる。
そのような一つの実施の形態では、システム200は、あるソースによって提供されるコンテンツに証明書を添付する証明書システム220を含む。その場合には、アプリケーション202の開発者は、証明書が添付されたローカライズ・コンテンツのみを信頼することを望むことがある。例えば、開発者及び他の貢献者は、その人のアプリケーションに関連して、その人のいる層に対するその人のコンテンツに署名する権利を得ることができることがある。そのことは、アプリケーションの開発者の証明書がその特定のアプリケーションに関する開発者層にその開発者を置き、他のすべての貢献者が「他のISV」コミュニティ内の1つ下の層又はユーザ層であることを意味する。貢献者の層に対して証明書は信頼することができる。例えば、所与の製造業者は、最高の層を常に有することがあるが、その層から下では、ユーザは、信頼される層を決定することができ、層内で信頼されるソースを決定することができる。ローカライズ・コンテンツを任意の所与のアプリケーション202又は任意のユーザで信頼すべきであることに関する表示をアプリケーション規則データ・ストア222に格納することができる。証明書は、翻訳に関する信頼システムを確立する助けとなる。
ユーザ又は開発者は、階層型信頼ソースを選ぶこともできる。例えば、ローカライズ・コンテンツの源に基づいて、ユーザは、OS製造業者のみを信頼するかどうかを決定することができ、利用可能なものがない場合、独立ソフトウェア・ベンダの翻訳を信頼するかどうかを決定することができ、それらが利用可能でない場合、開発コミュニティのみを信頼するかどうかを決定することができ、以下同様である。例示的な一つの実施の形態では、この階層はデフォルトで確立されるが、ユーザは単にそれを受諾することができ、又はそれを個人設定で上書きすることができる。そのような設定を、各アプリケーション、又はアプリケーションを実行する個々のマシンに関連するアプリケーション規則として実装することができる。
更に、プライベート・ストア226は、ユーザのデータ・ストア上に常駐する点でローカル・ストア224と同様であることに留意されたい。しかし、ローカル・ストア224は例示的にはシステム全体のストアであり、一方プライベート・ストア226は、ユーザ自身のプライベートの使用のためにユーザによって入力されたデータを含む、個々のユーザに対応する信頼されるローカライズ・コンテンツを示すのに使用することのできるストアである。したがって、それぞれの個々のユーザは、異なる信頼されるローカライズ・コンテンツを識別することができる。そのコンテンツは、プライベート・ストア226内のその特定のユーザに対して識別される。これは、個々のユーザが、個々のアプリケーションに関連するものよりもさらに、ローカライズ・プロセスをカスタマイズすることを可能にする。例えば、ユーザは、アプリケーションによって必要とされ、許可される通りに、ユーザ自身のアプリケーションに対する変更を行うことができる。ユーザはまた、ローカル・ストア又はプライベート・ストアをコミュニティに対して共有することもできる。
更に、いくつかの翻訳が変更されないようにそれをロックすることができる。このことは、潜在的に悪質な翻訳を避けるために決定的に重要である可能性がある。例えば、入力ソースのうちの1つが、「ここでクリックしてあなたのハードドライブをフォーマットします」という用語を「ここでクリックして続行します」と翻訳する悪質な翻訳を提供することがある。
TMマッチャ210がリソース・マネージャ206からの要求に関する所望のローカライズを得た後、TMマッチャ210は、ストア222からのフィルタ218及びアプリケーション規則を適用する。フィルタ218は、例示的には、任意の所与の言語で任意のローカライズ・コンテンツに配置すべきでない用語を定義する。例えば、あるユーザは、猥褻な用語又は任意の他の不快なコンテンツをフィルタリングすることを望むことがある。したがって、リソース・マネージャ206によって要求されたローカライズ済みコンテンツを使用する前にフィルタ218が適用される。留意されるように、フィルタ(ならびに任意の他のタイプの検証)の適用はローカライズでの1ステップであり、編集、ダウンロード、使用などのプロセスの多くのステップでフィルタを適用できる。
例えば、構成要素が完全に互いを信頼せず、通信するのに使用されるチャネルも(内密の活動などに対して)信頼されないならば、検証は、一般には、2つの構成要素がデータを交換するときにはいつでも行われる。したがって、例えば、リソースが信頼されるソースからダウンロードされ、リソースが有効な署名を含む場合、他の検証(署名の検証以外)を行う必要はない。ソースは信頼されるがファイルが署名されていない場合、情報を移送するのに使用されるチャネルが評価され、それも信頼されるかどうかが決定される。例えば、インターネットからダウンロードされた未署名ファイルは、ユーザが同一のコンピュータ内の別のフォルダからコピーした未署名ファイルよりも改ざんされている可能性が高い。いくつかの因子に応じて、迅速な機能検証に着手することを決定することができ、又は不快な語に関するチェック、又は元のリソース内の用語がターゲット・リソース上に存在することを保証すること(例えば、したがって「メニュー」は「フォルダ」と翻訳されない)などのいくつかの追加のコンテンツ検証を実施することができる。
アプリケーション・セットアップ/構成構成要素240は、セットアップ期間に及びセットアップ構成後に使用される。セットアップ期間に、アプリケーション202は、そのリソースをローカル・リソース・ストア224に登録する。構成要素240は、例示的には、アプリケーションがまだローカライズされていない場合にユーザがアプリケーションをプラットフォームでサポートされるターゲット言語にローカライズすることを可能にするユーザ・インタフェースを公開する。ユーザ・インタフェースは、ユーザがターゲット言語を明示的に選択することを可能にすることができる。オンデマンド・ローカライズ構成要素241は、こうした用語をリソース・マネージャ206、場合によってはさらにTMマッチャ210に渡す。
レガシー・アプリケーション242は、開発されたがプラットフォーム200を認識しないアプリケーションを表す。互換性層243は、アプリケーション242によって使用される既存のリソースインタフェースをサポートし、呼出しをリソース・マネージャ206にリダイレクトする。
図3は、本発明の一つの実施の形態によるプラットフォーム200の動作をより詳細に示す流れ図である。実行期間に、ユーザはまずアプリケーション202を選択し、又は立ち上げる。このことが図3のブロック300で示される。次に、この実施の形態では、リソース・マネージャ206がアプリケーション202に関連する必要なリソースをキャッシュ・メモリ207(又は別の記憶装置。本明細書ではこの状況でそれらすべてを「キャッシュ」と呼ぶ)にロードする。このことがブロック302で示される。
バックグラウンドでは、オペレーティング・システム(具体的にはローカライズ・プラットフォーム200)が、キャッシュ207内のリソースを所望の言語に翻訳することを開始する。その際に、プラットフォーム200は、アプリケーション202に関連するアプリケーション規則222と、アプリケーション202又はユーザ(どちらが当てはまるとしても)に関連する信頼モデル(すなわち信頼されるローカライズ・ソース)を実装する。リソース・マネージャ206は、キャッシュ207に格納されたリソースに関するTMマッチャ210を起動して、そのローカライズされた値を得る。バックグラウンドでキャッシュ207にロードされたリソースのローカライズが、図3のブロック304で示される。
アプリケーションに関するローカライズされたリソースを追加することは実行時まで待つ必要がないことにも留意されたい。その代わりに、セットアップ期間に又は別の時間に行うことができる。さらに、ローカライズの一部を実行時に実行することができ、他の部分はセットアップ時又は別の時間に行うことができる。例えば、より計算コストがかかり、時間のかかるタスクの一部をセットアップ期間に又は別の時間にバックグラウンドで実行することができ、より迅速なタスクを実行時に実行することができる。さらに別の実施の形態では、(ユーザが)実行タスクを任意の特定の時間に割り当てることができ、そうしたタスクのステータスを表示することもできる。
リソースがバックグラウンドでローカライズされるので、ローカライズされた値がキャッシュ207に格納されるだけではなく、ローカル・ストア224にも配置される。したがって、ローカライズされたこうしたリソース値のすべてがローカル・ストア224に既に配置されることになるので、次回にアプリケーション202が立ち上がる時、ローカライズ・プロセスがずっと迅速になる。したがって、ローカライズがシステムによって記憶されるので、TMマッチャ210は、TMデータ・サービス214を探索する必要がなく、又は機械翻訳システム216を使用して値を変換させる必要がない。その代わりに、それらを単にローカル・ストア224から取り出すことができる。翻訳をローカル・ストア224に格納することが、図3のブロック306で示される。さらに、オンデマンドで、ダウンロード・マネージャ212を使用して全翻訳をローカル・ストア224にロードすることができる。
もちろん、このシステムは更新をチェックすることもできる。例えば、より良い翻訳の位置を突き止めることができないので、理想的でない翻訳が最初に選ばれることがある。しかし、後で、ソース204のうちの1つにより、より良い翻訳をメモリのうちの1つにロードすることができる。次いで、これに対処するためにリソースを周期的に更新することができる。
同様に、コード更新は、以前にローカライズされたリソースを無効にすることができる。したがって、一つの実施の形態では、コード変更は、リソースの一部又はすべての再ローカライズをトリガする。
リソース翻訳が作成されると、レイアウト・エンジン208は、アプリケーションに関するディスプレイのレイアウトに対する修正を必要とする一定の翻訳を識別する。さらに、アプリケーションのソース言語で使用されるフォントがターゲット言語のフォントにマッピングされる。このことは、実行時又は前の時間にレイアウト・エンジン208又は他の構成要素によって行うことができる。レイアウト及びフォント・マッピングが、図3のブロック308で示される。
このようにして、オペレーティング・システム内のローカライズ・プラットフォーム200は、アプリケーション202に関連し、キャッシュ207に格納されたリソースを引き続きローカライズする。しかし、バックグラウンドでまだローカライズされていないリソースを求める要求をアプリケーションが行うことが生じる可能性がある。そのような要求が、図3のブロック310で示される。リソース・マネージャ206はまず、要求されたリソースが既にローカライズされ、キャッシュ207に格納されているかどうかを決定する。このことが図3のブロック312で示される。格納されている場合、要求されたリソースのローカライズが単にキャッシュ・メモリ207からアプリケーション202に返される。このことがブロック314で示される。
しかし、リソースがバックグラウンドでまだローカライズされておらず、キャッシュ207に格納されていない場合、リソース・マネージャ206は、リソースのローカライズをTMマッチャ210に要求する。次いで、TMマッチャ210は、リソースのローカライズを、TMマッチャ210がアクセスを有する様々なソースに要求し、様々なソースは、要求されたリソースのローカライズを返す。TMマッチャ210の起動が、図3のブロック316に示される。TMマッチャ210のオペレーションを図4に関連してより詳細に説明する。
キャッシュ207内のリソースをバックグラウンドでローカライズすることにより、ローカライズ・プラットフォーム200は従来のシステムから著しく異なっている。従来のシステムは、キャッシュにリソースをロードする。しかし、これにより、ローカライズの著しい欠点が生じる。MTを起動することによってオンザフライでリソースをローカライズするようアプリケーションがリソースを要求するのをローカライズ・プラットフォームが待機する場合、この結果として、アプリケーション202の動作の望ましくない遅延が生じる可能性が高く、又は結果がそのような制限された環境で使用することのできるアルゴリズムの組によって制限される(性能要件が精度を制限することができる)。現在の機械翻訳技術は、一つの文を翻訳するのに約0.5秒を必要とする。オンザフライ翻訳及び他のローカライズが確かに本発明によって企図されるが、機械翻訳システム216を使用してリソースのすべてをオンザフライで翻訳する結果として、アプリケーションの動作が過度に遅延する可能性が高い。もちろん、かなりの数のリソースが事前にローカライズされており、ローカル・ストア224又はプライベート・ストア226に格納される場合、又はそれらが翻訳メモリ234に格納され、リソースの比較的小部分をMTシステム216で翻訳する必要がある場合、バックグラウンドでのキャッシュ207のローカライズは、アプリケーション202の動作を損なうことを回避するのにそれほど重要ではない。
いずれにしても、TMマッチャ210は、バックグラウンド及び/又はオンザフライでキャッシュ207内の値を引き続きローカライズする。TMマッチャ210は、すべてのリソースがローカライズされるまで続行する。
一般には、TMマッチャ210は、1つ又は複数のデータ・ストアに対して働くことができる。任意選択で、TMマッチャ210は、他のリサイクル・エンジン(TMマッチャやMTシステムなど)と統合することができる。任意選択で、TMマッチャ210は、用語をその翻訳及び関係(オントロジ)と共に利用することができる。TMマッチャ210は、メタデータを使用して、ストア内のどのデータが探索空間(ドメイン・エリア、作者、承認ステータス、又は他のメタデータ)を構成すると考えられるかを判断することができる。TMマッチャ210は、文字列自体に関する制限(アプリケーション規則/フィルタ)に注目し、それを利用して、より良いマッチ又はより容易に検証されるマッチを生成する。もちろん、こうした特徴はすべて任意選択であり、要望に応じて、別のものを追加することができ、又はこれらを変更し、又はTMマッチャ動作から削除することができる。
図4は、単に例示目的で、TMマッチャ210の動作の一つの実施の形態をより詳細に示す流れ図である。リソース・マネージャ206はまず、ローカライズを求める要求をTMマッチャ210に提供する。このことが、図4のブロック350で示される。次いで、TMマッチャ210は、現コンテキストに関する信頼モデル情報を得る。一つの実施の形態では、信頼モデル情報がデータ自体と共に格納されるが、現コンテキストが与えられた場合に、信頼されるローカライズ・ソースを決定すべきコンテキストの任意の他の項目を識別するプライベート・ストア226又は任意の他のソースに格納することもできる。信頼モデル情報は、どのソースが信頼されるかの表示、又は、ローカライズされた項目が有効であって考慮されるために満たさなければならない要件のリストを含むことができる。これは、更新シナリオの助けにもなる。コードに関する更新は、リソースが満たさなければならない制約の組を変更することができる。こうした変更は、以前に仮定した有効なリソースの再検証を必要とする。このことが、図4のブロック352で示される。
次いで、TMマッチャ210は、例示的には、すべての信頼されるローカライズ・ソースにリソースのローカライズを要求するが、所与の順序でそのように行うことができる。チェックされるソースの順序及び数は、例示的には、環境に応じて変化する(ローカライズが実行時に行われているか、セットアップ時に行われているか、バッチ処理で行われているかなど)。このことが、ブロック354で示される。言い換えれば、一つの実施の形態では、TMマッチャ210は、信頼されないソースには翻訳を要求することさえしない。その場合、ユーザは入力ソース204中のコミュニティ全体又は開発コミュニティからの翻訳を信頼することを望まないと仮定する。TMマッチャ210は、信頼されるソースを起源とするローカライズ・コンテンツのみを求め、それによってコミュニティ全体及び開発コミュニティによって与えられたローカライズ・コンテンツのすべてを除外する。もちろん、TMマッチャ210は、現コンテキストが与えられた場合に信頼されるソースに基づいて、ローカライズ結果がそこから要求されるソースを修正する。
TMマッチャ210からの要求に応答して、ローカライズ・コンテンツを要求された様々なソースが、その関連する信頼スコアを返す。非常に一般的であるが、例えば、翻訳結果は、ソース言語の入力が与えられた場合に翻訳が正しい可能性がどれほどかを示す、関連する信頼水準を有する。翻訳又は他のローカライズに関連する信頼性を示すのにどんな特定の尺度が使用されるかは、本発明の目的にとって重要ではない。例示的な実施の形態では、すべてのソースからのスコアは、同一の尺度、又は互いに相関する尺度を使用し、その結果、TMマッチャ210は、スコアの相対的大きさを求めることができる。翻訳(又はローカライズ・コンテンツ)に関連する信頼スコアを返すことが、図4のブロック356で示される。
次いで、TMマッチャ210は、最高スコアの信頼されるソースからローカライズ済みコンテンツ(例えば翻訳)を得る。このことがブロック358で示される。さらに、TMマッチャ210は、ローカライズ済みコンテンツを得るのに必要な時間、ローカライズ済みコンテンツがターゲット・マーケットに対してどれほど近いか、検証基準又は他の基準あるいは任意の基準の組合せなどの他の基準又は追加の基準に基づいて、ローカライズ済みコンテンツを選択することもできる。さらに、TMマッチャは、複数のソースからローカライズ・コンテンツを取り出し、それらを組み合わせることができる。
翻訳が受信されると、TMマッチャ210は、フィルタ218及び他の検証を適用して、アプリケーション及びコンテキスト及びユーザが望む任意のフィルタ又は検証基準が与えられた場合にローカライズ・コンテンツ(又は翻訳)が適切であることを保証する。フィルタ及び他の検証を適用することが、図4のブロック360に示される。TMマッチャ210はまた、例示的には、所与のリソースに関して取り出されたローカライズ・コンテンツがアプリケーションの動作を禁止しないように、又は不適切な動作を引き起こさないように、あるいはアプリケーションをクラッシュさせないように、アプリケーション規則を適用する。留意されるように、プロセスにおいてこの時点でのすべての必要なステップを実行するのを待機するのではなく、フィルタリング及び検証処理の一部を事前計算できる。
これが行われると、TMマッチャ210は、結果をリソース・マネージャ206に返す。このことが、ブロック362で示される。理解されるように、このプロセスは、TMマッチャ210がリソース・マネージャ206によって起動されるときはいつでも実行される。したがって、プロセスは、キャッシュ207内のリソースがバックグラウンドでローカライズされているときに実行され、アプリケーション202が今のところローカライズされていないリソースに対する要求を行うと実行される。
どちらの場合も、TMマッチャ210は、所望の言語利用可能な翻訳が存在せず、又は返された信頼スコアが所与の閾値未満であるが、機械翻訳システム216を使用して翻訳に着手しなければならないことを発見することができる。この時点で、一つの実施の形態では、リソース・マネージャ206は通知を受け、TMマッチャ210にフォールバック言語での翻訳を探すように要求することができる。例えば、ターゲット言語がカタロニア語である場合、アプリケーション202は、リソースの翻訳を要求することができるが、カタロニア語では利用可能ではないことがある。しかし、スペイン語がカタロニア語に対する第1フォールバック言語となるようにリソース・マネージャ206を構成することができる。その場合、TMマッチャ210はリソース・マネージャ206に返し、カタロニア語では翻訳が利用可能ではなく、機械翻訳システム216を起動してそのような翻訳を得なければならないことを示す(あるいは、TMマッチャ210による最初の呼出し時にMTシステム216を呼び出すこともできる)。リソース・マネージャ206は、オンザフライ機械翻訳に関連する性能上の不利益を被る代わりに、要求したリソースの翻訳をスペイン語で返すようにTMマッチャ210に単に要求することができる。それが利用可能である場合、それがTMマッチャ210によって返される。
もちろん、上に示したように、様々なロケールが様々な他のロケールに関するフォールバックとなるように、フォールバック・ロケール/言語を任意の所望の程度まで階層的に縦続接続することができ、様々なロケールの最終フォールバックはソース言語であり得る。したがって、要求されたリソースの翻訳を提供する代わりに、最終フォールバックに達した場合、リソース・マネージャ206は単に、要求されたリソースを最終フォールバックでアプリケーション202に返す。これはプラットフォームによって保証されるので、アプリケーションは、プラットフォームのためにユーザとの対話地点とクラッシュし又は対話地点を失うことはない。
ユーザはまた、例示的には、フォールバック階層がどのように機能するかを設定することができる。例えば、ユーザは、1群のリソース(例えば、いくつかの文字列を有するダイアログ)を一緒に表示することが、ダイアログの一部をある言語で示し(又は、あるマーケットにローカライズされ))、一部を別の言語で(例えばフォールバックで)示すことができることを指示することができる。他のユーザは、表示されたグループのリソースがすべて1つの言語となるべきである(又は、同一のマーケットにローカライズされる)ことを指示することができる。
留意されるように、ユーザはアプリケーションをプラットフォーム200で翻訳させるためにアプリケーションを立ち上げる必要はない。ユーザは、ローカライズのためにアプリケーション又は他のソフトウェア・コンポーネントを単に選択することができ、プラットフォーム200は、それをバックグラウンドでローカライズすることができる。例えば、一つの実施の形態では、ユーザは、アプリケーション上で右クリックし、メニューから「ローカライズ」を選択する。次いで、プラットフォーム200は、バックグラウンドでアプリケーションのローカライズを開始し、ローカライズ済みコンテンツをローカル・ストアに格納する。コンテンツもバックグラウンドでローカライズすることができる。一つの実施の形態では、ユーザはファイル・システム内又はサーバ上に格納される文書上で右クリックし、「ローカライズ」を選ぶ。ローカライズ・プラットフォームは、バックグラウンドで文書をローカライズする。同じことが、インターネットからダウンロードされた文書に当てはまる。
さらに、アプリケーションがインストールされるとき(又は後の時間に)、ユーザは、インストールのために複数の異なる言語を選択することができる。次いで、これらの言語がローカル・データ・ストア224にロードされる。翻訳を製品コンパクト・ディスク又は他の媒体上に格納することができる。
図5は、開発コンテキストでのプラットフォーム200の構成要素を示すブロック図である。多数の項目が図2に示される項目と同様であり、それらは同様に番号付けされている。
図5は、支援プラットフォーム380及び開発構成要素382を示す。開発構成要素382は、ワシントン州レドモンドのマイクロソフト社から入手可能なVisual Studioなどの任意の望ましい開発構成要素、又は、ソフトウェアをオーサリングするための任意の他の所望の開発構成要素でよい。支援プラットフォーム380は、翻訳プラットフォーム381などのプラットフォーム200の1つ又は複数の構成要素と対話することによってコンテンツをオーサリングする際の助けとなり、開発者が高リサイクル速度を有する製品を開発することを可能にし、したがって異なる言語にローカライズするためのコストを著しく削減する。開発構成要素382と支援プラットフォーム380は共に、プラットフォーム200によって提供されるサービスを消費する。その際に、開発構成要素382及び支援プラットフォーム380は、他の構成要素と共に、ある手法ではフロントエンド開発オーサリング・プロセスを構築し、これにより、製品をローカライズして様々な異なるマーケットに参入する能力を非常に高める可能性が高く、したがって開発投資に対する収益を大きく向上させる。
構築構成要素384は、ローカライズ・プラットフォーム及び/又は支援プラットフォーム380その他の、APIを介してローカライズ・プラットフォームにアクセスすることのできる任意のコンテンツ・オーサリング・ツールによって提供される情報と、データ・ストア222内のアプリケーション規則とを使用し、アプリケーション202ならびにコンテンツ文書を構築する。
この図5の議論は、一般に、アプリケーションを開発する開発者又はコンテンツをオーサリングする作者に関して進められることにも留意されたい。しかし、開発者が開発中している又は作者がオーサリングしているコンテンツ又はソフトウェアのタイプに拘わらず、様々な事柄に関してシステムを使用することができる。
本発明の一つの実施の形態によれば、開発者又は作者がそれぞれ開発構成要素382を使用してソフトウェア又は支援プラットフォーム380を開発し、コンテンツを開発するための2つの方式がある。第1の方式は、プラットフォーム・アプリケーション・プログラミング・インタフェース(API)又は他の類似の機構を介して、何らかの類似のコンテンツ又はソフトウェアが既に開発されているかどうかを決定し、プラットフォーム200のメモリのいずれかに格納される、開発者又は作者のオーサリング/開発環境における特徴を使用することである。第2の方式は、開発者が単にソフトウェア又はコンテンツ(オリジナル又は非オリジナル)を開発することである。後者の場合、プラットフォーム200は単に、コンテンツ/ソフトウェアのリサイクル速度(例えば、以前の翻訳が与えられた場合にプラットフォーム200で異なる言語に翻訳することのできるコンテンツ/ソフトウェアの量)に関するフィードバックを開発者に提供し、リサイクル速度を増加させる可能性の高い手法を提案し、ローカライズ後にアプリケーションが機能不全となることを阻止する手法をも提案するように働く。
第1の実施の形態によれば、コンテンツ作者は、支援プラットフォーム380を介して入力を与え、支援プラットフォーム380はAPI又は他の類似の機構を呼び出してリソースをオーサリングする。このことが、図6のブロック500で示される。次いで、支援プラットフォーム380はTMマッチャ210を起動してローカル・ストア224にアクセスし、既に翻訳を有するすべてのタイプのリソースを返す。このことが、図6のブロック502で示される。例えば、開発者プラットフォームはAPIを起動して、コンテンツ開発者がリソースをオーサリングしたいことを示すことができる。それに応答して、プラットフォーム380は、プラットフォーム200に含まれ且つ様々な異なる言語への翻訳を既に有する様々なクラスのリソースのすべての表示を返す。例えば、プラットフォームからの、開発者プラットフォームによってユーザに提示される結果が「メニュー」及び「エラー・メッセージ」のクラスであると仮定する。
API内の公開される機能を介して、開発者は、「エラー・メッセージ」クラスを選ぶことができ、支援プラットフォーム380は、プラットフォーム200のこの情報を要求し(これは任意のメモリ内のストアでよい)、次いで、プラットフォーム200に含まれるエラー・メッセージの様々なクラスのすべてを返す。次いで、開発者は、エラー・メッセージのクラスの1つを選択し、プラットフォーム380は、そのクラスに関連する特定のエラー・メッセージのすべてを返す。次いで、ユーザは、(例えば、既に様々な異なる言語に翻訳され、あるいはローカライズされているので)既にオーサリングされており、ローカライズがそれに関して既に非常に効率的となるエラー・メッセージのうちの1つを単に選択することができる。タイプ、クラス、及び利用可能であれば特定のリソースを選択する開発者が、図6のブロック504で示される。
もちろん、理解されるように、開発者がオーサリングすることを望む特定の正確なメッセージが既に利用可能でない可能性がある。その場合、ユーザは非常に近いメッセージを選択し、それを修正することができる。修正済みメッセージは、多くの場合、その大部分は既にローカライズ・プラットフォーム200に存在していたので、非常に効率的にローカライズすることができる可能性が高い。いずれにしても、類似の同一ではないメッセージを選ぶ結果、信頼性の不利益が生じることになる。選ばれたリソースを修正することが、図6のブロック506で示される。
このタイプのリサイクルは、開発後に生じる従来技術のローカライザと比較して高度な柔軟性を作者に提供する。例えば、作者は、ソフトウェア文字列に関する配置可能物の数を変更することができるのに対して、従来のローカライザはずっと制限される。さらに、作者は(キー用語は維持されると仮定して)ソース文を完全に配置することができるのに対して、従来のローカライザはそうすることができない。「ファイル(0)が存在しません」というエラー・メッセージに関する文を考察する。作者は、これを「ドライブ(1)上のファイル(0)が見つかりません」に変更することができるのに対して、従来のローカライザは、最初の文の翻訳を第2の文に関する翻訳として使用することができない。これは、コードへのアクセスがなければ、従来のローカライザは配置可能物の数に関するコード内の基礎となる仮定を変更することができないからである。リサイクルを、メッセージ中に見つかったテキストに関してばかりでなく、データ・ストア236内の共通UI要素に関しても行うことができる。以前のUI要素を再利用することは、製品のリサイクル速度及びローカライズをも高める。
開発期間に、開発者はオントロジ・オントロジ・ストア232を提供することを望むこともある。オントロジは概念化の仕様であり、コンテンツ及び文字列の意味符号化を可能にする、用語間の関係を記述する。オントロジの一つの実施の形態は米国特許第6253170号及び第6098033号に記載されている。オントロジの別の説明は、Gruber著「A TRANSLATION APPROACH TO PORTABLE ONTOLOGIES」、Knowledge Acquisition、5(2):199〜220(1993年)に記載されている。
一般に、コンテキストに応じて語は別々に翻訳される。具体的には、ソフトウェア・ローカライズでのアプリケーション・コンテキストに応じて、語又は用語を別々に翻訳することができる。ローカライズ・プラットフォーム200は、用語間の関係を記述するオントロジ・データ・ストア282の形の意味データへのアクセスを有する。オントロジは、語又は用語と共に意味情報を入力することによってマニュアルで生成することができ、あるいは、語又は用語の他の語又は用語に対する近接性によって意味コンテキストを決定することのできるアルゴリズムを適用することによって自動的に生成することができる。データ・ストア282は、例示的には、リソース・フォーマットから導出される構造及びアプリケーション・コンテキストによってポピュレートされる。オントロジ・ストア282における意味論的符号化のタイプは、プラットフォーム200が翻訳すべきリソースに関する意味論を一義化することを可能にすると共に、照会一義化も可能にするので、強力な探索機能も提供する。翻訳プラットフォーム381は、図6のブロック508で、一義化が必要であるかどうかを決定する。必要である場合、オントロジ・ストア232がアクセスされて一義化意味情報を取得し、又は、支援プラットフォーム380が、開発構成要素382が開発者に行うことができるのと同じに、一義化意味情報を作者に要求することができる。このことが、図6のブロック510で示される。
開発者が製品を引き続き開発すると、オーサリングされたリソースのそれぞれは、プラットフォーム200内の翻訳プラットフォーム381によるローカライズ速度推定を施される。オーサリングされたリソースのローカライズ速度を推定する際に、翻訳プラットフォーム381は、既に翻訳(あるいはローカライズ)されたリソース、及びプラットフォーム200上のどこかに存在するリソースの割合を識別する。翻訳プラットフォーム381はまた、システム216によってリソースを機械翻訳にかけるための要件を明らかにし、プラットフォーム200上に存在する各翻訳に関連する信頼スコアも考慮に入れる。こうした項目が組み合わされ、オーサリングされている製品が様々な言語の下で動作するマーケットにローカライズすることの容易さについての尺度であるリサイクル速度が得られる。動作中の全リサイクル速度を与えることが、図6のブロック512に示される。
留意されるように、多種多様な異なる方式でリサイクル速度を使用することができる。例えば、開発者がシステム全体の構成要素を開発しているだけである場合、構成要素は、チェックインされることが許可される前に、あるリサイクル速度閾値を満たすことが必要となることがある。同様に、リサイクル速度は、製品が他のマーケットに導入される可能性がどれほどであるかが与えられた場合に、製品の価値を十分に示すことができる。もちろん、多種多様な他の方式でリサイクル速度を使用することもできる。
システムは、プラットフォーム上で開発されないコードに関するリサイクル速度を計算できることにも留意されたい。コードは単にプラットフォーム200に提供されるだけであり、TMマッチャ210はコードに関するリサイクル速度を全体として計算することができ、要望に応じてそれを返すことができる。これは、新しいマーケットに製品を出すかどうか、さらには製品の権利を購入するかどうかを決定する際に使用され得る。
次に、開発者が既存のリソースを選んでいない実施の形態に関して議論を進める。開発者は、事前オーサリングされたリソースから選択することを望まないと仮定すると、元のリソース又はコンテンツをオーサリングすることができる。このことが、図6のブロック514で示される。その場合、開発者はコンテンツの一部を単にオーサリングするだけであり、支援プラットフォーム380がTMマッチャ210を呼び出して、オーサリングされたコンテンツに関するリサイクル速度を決定する。このことが、図6のブロック516で示される。次いで、TMマッチャ210はそのローカライズ・ソースにアクセスし、新しくオーサリングされたリソース又はコンテンツに関するリサイクル速度を返す。このことが、図6のブロック518で示される。
この時点で、プラットフォーム200を使用して、作者が製品のリサイクル速度を改善する助けとなり得る手法に関して作者に通知し、又はローカライズされた後にアプリケーションに誤作動を引き起こし得るいくつかの手法を作者に警報することもできる。こうしたヒントを返すことが、図6のブロック520によって示される。一つの実施の形態では、製品のソースが再利用されている場合であっても、こうしたヒントが提供される。もちろん、ソースが再利用されていることは、チェックの一部が既に実施されたことを意味する。
リサイクル速度又はアプリケーション機能に影響を及ぼす可能性のある手法のいくつかの例は、例えば、長い文字列を書き込むことを含む。長い文字列は理解が難しいだけでなく、翻訳も難しい。さらに、ソフトウェアは、アプリケーションをクラッシュさせることになるバッファ・オーバーランの危険を提示する。リサイクル速度又はアプリケーション機能に影響を及ぼし得る他の手法は、特別な文字の使用、あるいは不適切な又は非公式の文法の使用を含む。適切な文法構成の使用により、テキストを翻訳する能力が非常に向上する。したがって、TMマッチャ210は、コードのリサイクル速度及び実施ヒントに関して実時間フィードバックを提供する。
さらに、プラットフォーム200は、分析を受けるコンテンツ内のこうした問題エリアの負の影響を低減するために適切な措置を講じることができる。こうした措置は、ローカライズが施された後にアプリケーションがクラッシュする可能性を低減する。プラットフォーム200は、こうした補強措置が行われることをユーザに警報することができる。
本発明に関して、いくつかの他の項目に注目すべきである。まず、本発明は、例示的にはホットキー自動化を提供する。翻訳プラットフォーム381は、例示的には、2つの機能が所与のUI上の同一のホットキーに割り当てられることを回避するよう、任意の所与のUI上に表示されるホットキーを追跡する。翻訳プラットフォーム381を起動して自動的にホットキーを選択することができ、又は翻訳プラットフォーム381を単に起動してチェックを行い、所与のUIに対してホットキー重複がないことを保証することができる。ホットキーを選択すること、又はユーザにホットキーを提案することを可能とするために、プラットフォームは、どの項目がユーザにとって同時に利用可能であり、したがって反復を避けることができるかに関する情報を必要とする。その情報は、情報をユーザのコンピュータに与えるのに必要な情報と密接に関係する。
本発明はまた、実行時環境の検証及びシミュレーションを提供することができる。開発者が構成要素をオーサリングすると、開発者は開発プラットフォーム382上でAPIを起動することができ、プラットフォーム200はローカライズが必要な実行時環境をシミュレートする。実行時シミュレーションは、ローカライズされた後のディスプレイ画面上の表示を開発者が物理的に見ることを可能にする。これは、開発者がバグをスキャンし、ディスプレイの美的魅力を評価し、望みに応じて変更を行うことを可能にする。
このように、本発明は、既に開発されたコンテンツを開発者が再利用する能力を高める。これは製品のリサイクル速度及びローカライズを著しく高める。
さらに、本発明は、オペレーティング・システム、アプリケーション、コミュニティ、及びサードパーティからのローカライズ済みコンテンツと、機械翻訳からのローカライズ済みコンテンツを知的に組み合わせるシステムを提供する。リソース・マネージャは、様々なソース又はデータ・ストア(ローカライズ・コンテンツ構成要素とも呼ばれる)からの所要の言語あるいは他の文化的基準又はマーケット基準に従って、要求されたリソースを返すことにより、アプリケーションのリソースをロードする。
さらに、ローカライズ・プラットフォームは、アプリケーション、ブラウザ、検索エンジン、リソース・ローダ、オーサリング・ツールなどの多種多様な要求側エンティティにローカライズ済みデータを提供するために使用することができる。
さらに、コミュニティ及びコミュニティ全体がローカライズ代替を示唆することを可能にすることにより、本発明はコミュニティ標準ローカライズを定義することを可能にし、時には、何らかの非常に小さいマーケットへのローカライズを可能にする。例えば、本発明により、ユーザはスワヒリ語に対して英語アプリケーションをローカライズすることが可能になる。ユーザは、アプリケーションにおける様々なリソースの示唆される翻訳として、このローカライズをプラットフォーム200に戻すことができる。他の南アフリカのユーザは、このローカライズ済みコンテンツを信頼してそれをスワヒリ語でダウンロードすることを選ぶことができ、あるいは、該コンテンツをユーザ自身でローカライズし、又はローカライズを修正して、ユーザ自身のローカライズをプラットフォーム200に戻すことを選ぶことができる。このようにして、アプリケーションはローカライズ及び改訂されて、マーケット・サイズが小さいために利用できないマーケットで利用可能にすることができる。
一つの実施の形態では、入力ソース204がデータを提供するとき、データ収集構成要素205は、源、使用法、コンテキスト情報(リソースのバージョンなど)、信頼水準、属性、機械翻訳ヒントなどのメタデータも記録する。他のデータを収集及びソートすることもできる。さらに、一つの実施の形態では、データを提供した入力ソース204のみが該データを変更することができる。
本発明は、コミュニティからの翻訳のダウンロードを提供するだけでなく、翻訳のアップロードをも提供する。さらに、ソース文字列を同様にアップロード/ダウンロードすることができる。
留意されるように、サードパーティの会社及びコミュニティが新しいソース及び翻訳メモリをプラットフォーム200に追加できる。例示的な一つの実施の形態では、プラットフォーム200は、新しいソース用語及びそのメタデータの追加を可能にするウェブ・ページ又はウェブ・サービスを提供する。例示的には、プラットフォーム200が新しく追加された各項目のソースを決定することができるように、ユーザは認証を受ける。
さらに、プラットフォーム200は、例示的には、ユーザがいくつかの文字列を直ちにアップロードすることを可能にする、発行されたスキーマ(XMLスキーマなど)に従って機能する。さらに、あらゆる操作は認証を必要とするので、各文字列のソースは既知である。例示的には、そのようなソース文字列を1つ又は複数の翻訳と共に追加することができる。プラットフォーム200は用語データベースにおける用語に関して同様に動作する。
さらに、一つの実施の形態によれば、コミュニティは、プラットフォーム200においてソース文字列に対する翻訳を提供することができる。翻訳を編集するとき、例示的には、ソースに存在するメタデータが「翻訳者」にとって利用可能であり、翻訳を受け入れる前にメタデータが実施される。このことを単純なウェブ・インタフェースを介して行うことができる。こうした翻訳は、ユーザがユーザの翻訳をコミュニティと共有することを選ぶ場合、他の人々が使用することができる。
本発明はまた、例示的には、コミュニティがプラットフォーム200上に既に存在する翻訳を検討することを可能にする。これは、ユーザの翻訳を他のユーザが何回選んだかを翻訳のソースが決定することを可能にする。これは、コミュニティの入力ソースが、作業の品質に基づいてそれ自体の名前を構築することを可能にし、これは、コミュニティ内で一層高く評価されるように入力ソースが一層良い仕事を行うように駆り立てる。
本発明のさらに別の実施の形態によれば、開発者が翻訳のためにアプリケーションをアップロードすると、開発者には、エンド・ユーザが製品のエンド・ユーザ自身のローカライズ・バージョンをダウンロードすることを可能にする機会が与えられる。そのオプションが使用可能とされる場合、ユーザはプラットフォーム200にログインし、製品の個人バージョンを生成するためにどの言語、エンジン、翻訳を使用するかを選ぶことができる。
例えば、ユーザは、コミュニティ(又は特定のユーザ)が承認した翻訳メモリを使用して翻訳エンジンの厳密なマッチを指定しながら、製品の「xyz」バージョンを求めることができる。このプロセスを周期的に反復して、より高い割合のリソース翻訳を得ることができる。また、プラットフォーム200は、新しい翻訳が利用可能であるとき、メール又は他の警報サービスを介してユーザへ通知を提供することもできる。
別の実施の形態によれば、サードパーティは新しいソース検証(又は翻訳)エンジンをプラットフォーム200に追加することができる。上記で検討したように、開発者は、アプリケーションをプラットフォーム200に提出して、アプリケーションをローカライズできる度合いが高いかどうかを決定することができる。サードパーティは新しいエンジンを書き込んでこれをサポートすることができる。サードパーティは、ソース検証を実施するための基準を満たすエンジンを開発したとき(例えば、所望のインタフェースを実装したとき)、該エンジンをプラットフォーム200にアップロードし、ユーザがエンジンをダウンロードすることに対して課金する。本発明に関して説明したプロセスの他の部分と同じく、例示的には、エンジンのソースが既知であること、及び、ユーザがそのソースを信頼すると判断したことを保証するために、署名及び認証が使用される。
翻訳エンジンを同様に追加することができるが、例示的には、翻訳エンジンは、該翻訳エンジンが既存の任意の翻訳データを破壊しないことを保証するように行われるステップと共に、プラットフォーム200を実装するサーバ上で動作することができる。さらに、本発明は、作者を支援するためにグローバル化及び言語チェックを実施する。本発明はまた、コミュニティが作者を助けることも可能にする。例えば、ソース文字列を容易にローカライズすることができる場合、コミュニティに対して、あるドメインにおけるダイアログ・ボックス上のソース文字列を求めることができる。これは、ローカライズ可能な度合いの高いコンテンツのオーサリングの着手時に作者を助ける。
記載の実施の形態では或る機能が或る構成要素に割り当てられるが、そうである必要はないことにも留意されたい。異なる構成要素によって機能を実施することができ、したがって、ある構成要素を削除、修正又は追加することができ、それらはすべて本発明の範囲内である。
したがって、本発明は、多種多様な製品及び多種多様な入力ソースの過去のローカライズからのローカライズのデータを統合する。プラットフォーム200は、開発者又はユーザの望みに応じて、この情報を、他の製品によってはアクセスできないそれ自体の翻訳メモリを有する各アプリケーション又は製品の代わりに、様々な製品の後続のローカライズに対して利用可能にする。プラットフォーム200はまた、エンド・ユーザがそのコンピュータ体験をカスタマイズ(ローカライズ)するよう広い範囲のオプションへのアクセスを有するように、ローカライズ・プロセスを変更する。プラットフォーム200はまた、プロセスへのコミュニティ参加を可能にする。その結果、ローカライズ・タスク自体は製品独立となり、アプリケーション・コンテキストを介して製品にリンクされるだけである。他のアプリケーションは、信頼モデル及びアプリケーション・コンテキストが許容する場合に、ローカライズされた文字列にいつでもアクセスすることができる。
特定の実施の形態を参照しながら本発明を説明したが、当業者は理解するように、本発明の精神及び範囲から逸脱することなく形態及び詳細の変更を行うことができる。
本発明を使用することのできる環境の例示的な一つの実施の形態である。 本発明の諸態様を配置する実行時環境のより詳細なブロック図である。 翻訳が利用不能である図2に示されるプラットフォーム(又はシステム)の動作全体を示す流れ図である。 図2に示されるマッチング構成要素の動作を示す流れ図である。 アプリケーション又は他のコンテンツの開発中に使用されるときの、図2に示されるローカライズ・プラットフォーム(又はシステム)の一層詳細なブロック図である。 本発明の一つの実施の形態による後のローカライズでの助けとなる技法を実装する、製品をどのように開発するかを示す流れ図である。

Claims (3)

  1. コンピュータ・システムであって、
    前記コンピュータに関連するプロセッサと、
    ローカライズされるべき1つ以上のリソースを有する第1のアプリケーションと、
    前記プロセッサを用いるローカライズ・システムであって、
    ローカライズされるべき前記1つ以上のリソースに対応する入力データを受け取るように構成されたリソース・マネージャと、
    1つ以上の別々のマーケットに対してローカライズされたローカライズ済みデータを提供する複数のローカライズ構成要素と、
    オントロジ情報を格納するオントロジ・ストアと、
    ローカライズされるべき前記1つ以上のリソースに対応するリソース・マネージャからローカライズ要求と入力データとを受け取る翻訳マッチング構成要素と
    を備えるローカライズ・システムと、
    を具備し、
    前記翻訳マッチング構成要素が、前記複数のローカライズ構成要素と前記オントロジ・ストアとにアクセスして、前記ローカライズ要求に基づいてローカライズされるべき特定のリソースに関連するデータを一義化し、
    前記翻訳マッチング構成要素が、前記複数のローカライズ構成要素のうちの1つ以上の構成要素から前記1つ以上のリソースに対するローカライズ済みデータを選択して出力し、
    前記ローカライズ・システムが、前記入力データが与えられた場合にローカライズ済みデータに関連する信頼スコアを提供し、
    前記翻訳マッチング構成要素が、前記信頼スコアに基づいて前記ローカライズ済みデータを選択し、当該選択が、第1のローカライズ済みデータに関連する信頼スコアの第2のローカライズ済みデータに関連する信頼スコアに対する相対的な大きさの評価に基づいており、前記第1のローカライズ済みデータと前記第2のローカライズ済みデータとは前記複数のローカライズ構成要素のうちの異なる構成要素から取得され、前記第1の信頼スコアと前記第2の信頼スコアとが、互いに相関される異なる信頼尺度を含む、
    コンピュータ・システム。
  2. ローカライズされるべき1つ以上のリソースを有し且つ前記第1のアプリケーションとは異なる第2のアプリケーションを更に備え、
    前記翻訳マッチング構成要素が、前記第2のアプリケーションに関連する前記1つ以上のリソースに対応する第2の入力データを前記リソース・マネージャから受け取り、前記複数のローカライズ構成要素と前記オントロジ・ストアとにアクセスして前記第2の入力データを一義化し、
    前記翻訳マッチング構成要素が、前記複数のローカライズ構成要素のうちの1つ以上の構成要素から前記第2のアプリケーションの前記1つ以上のリソースに対する第2のローカライズ済みデータを選択して出力する
    請求項1に記載のコンピュータ・システム。
  3. 前記第1のアプリケーションの前記1つ以上のリソースに対して以前にローカライズされたデータが、前記第2のアプリケーションの前記1つ以上のリソースのローカライズ期間に前記翻訳マッチング構成要素によって利用される、請求項2に記載のコンピュータ・システム。
JP2008501082A 2005-03-08 2006-03-08 オントロジを組み込むリソース・オーサリング Expired - Fee Related JP5058966B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US65961605P 2005-03-08 2005-03-08
US60/659,616 2005-03-08
US11/118,544 US7653528B2 (en) 2005-03-08 2005-04-29 Resource authoring incorporating ontology
US11/118,544 2005-04-29
PCT/US2006/012901 WO2006132700A2 (en) 2005-03-08 2006-03-08 Resource authoring incorporating ontology

Publications (2)

Publication Number Publication Date
JP2008533598A JP2008533598A (ja) 2008-08-21
JP5058966B2 true JP5058966B2 (ja) 2012-10-24

Family

ID=36972139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008501082A Expired - Fee Related JP5058966B2 (ja) 2005-03-08 2006-03-08 オントロジを組み込むリソース・オーサリング

Country Status (12)

Country Link
US (1) US7653528B2 (ja)
EP (1) EP1856631A4 (ja)
JP (1) JP5058966B2 (ja)
KR (1) KR20070110341A (ja)
AU (1) AU2006255783B2 (ja)
BR (1) BRPI0609159A2 (ja)
CA (1) CA2600474A1 (ja)
EG (1) EG25786A (ja)
MX (1) MX2007011028A (ja)
NO (1) NO20074637L (ja)
RU (1) RU2422890C2 (ja)
WO (1) WO2006132700A2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489980B2 (en) * 1998-02-23 2013-07-16 Transperfect Global, Inc. Translation management system
US10541974B2 (en) 1998-02-23 2020-01-21 Transperfect Global, Inc. Intercepting web server requests and localizing content
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US8335704B2 (en) 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
US20060206797A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Authorizing implementing application localization rules
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
BRPI0706404B1 (pt) 2006-02-17 2019-08-27 Google Inc acesso escalável, de codificação e adaptável de modelos distribuídos
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US8335679B2 (en) 2006-11-21 2012-12-18 Lionbridge Technologies, Inc. Methods and systems for local, computer-aided translation incorporating translator revisions to remotely-generated translation predictions
US8494834B2 (en) * 2006-11-21 2013-07-23 Lionbridge Technologies, Inc. Methods and systems for using and updating remotely-generated translation predictions during local, computer-aided translation
US8046233B2 (en) * 2006-11-21 2011-10-25 Lionbridge Technologies, Inc. Methods and systems for local, computer-aided translation using remotely-generated translation predictions
US8036859B2 (en) * 2006-12-22 2011-10-11 Merced Systems, Inc. Disambiguation with respect to multi-grained dimension coordinates
US7711684B2 (en) * 2006-12-28 2010-05-04 Ebay Inc. Collaborative content evaluation
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US8051075B2 (en) * 2007-09-24 2011-11-01 Merced Systems, Inc. Temporally-aware evaluative score
US8725490B2 (en) * 2007-10-18 2014-05-13 Yahoo! Inc. Virtual universal translator for a mobile device with a camera
US8275606B2 (en) * 2007-10-25 2012-09-25 Disney Enterprises, Inc. System and method for localizing assets using flexible metadata
US8086692B2 (en) * 2008-08-27 2011-12-27 Satyam Computer Services Limited System and method for efficient delivery in a multi-source, multi destination network
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US8832676B2 (en) * 2009-09-30 2014-09-09 Zynga Inc. Apparatuses, methods and systems for a social networking application updater
FR2959333B1 (fr) * 2010-04-27 2014-05-23 Alcatel Lucent Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US20130006603A1 (en) * 2011-06-30 2013-01-03 Verizon Patent And Licensing, Inc. Graphical user interface localization systems and methods
US8949465B2 (en) * 2011-08-26 2015-02-03 Netflix, Inc. Internationalization with virtual staging and versioning
US9244902B2 (en) 2011-10-20 2016-01-26 Zynga, Inc. Localization framework for dynamic text
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US20130290926A1 (en) * 2012-04-30 2013-10-31 Rheti Inc. Semantic code binding to enable non-developers to build apps
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
US9922028B2 (en) * 2015-09-17 2018-03-20 Oslabs Pte. Ltd. System and method for translation and localization of content in digital applications
US9760627B1 (en) * 2016-05-13 2017-09-12 International Business Machines Corporation Private-public context analysis for natural language content disambiguation
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69430421T2 (de) * 1994-01-14 2003-03-06 Sun Microsystems Inc Verfahren und Gerät zur Automatisierung der Umgebungsanpassung von Rechnerprogrammen
US5678039A (en) * 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
JP3670324B2 (ja) * 1994-11-29 2005-07-13 株式会社東芝 情報処理装置
US5694559A (en) * 1995-03-07 1997-12-02 Microsoft Corporation On-line help method and system utilizing free text query
US5918222A (en) * 1995-03-17 1999-06-29 Kabushiki Kaisha Toshiba Information disclosing apparatus and multi-modal information input/output system
US5903859A (en) * 1996-03-27 1999-05-11 Dell Usa, L.P. Dynamic multi-lingual software module system
WO1997046929A2 (en) * 1996-06-04 1997-12-11 Werbos Paul J 3-brain architecture for an intelligent decision and control system
US7165020B2 (en) * 1998-05-29 2007-01-16 Citicorp Development Center, Inc. Multi-language phrase editor and method thereof
US6151022A (en) * 1997-12-01 2000-11-21 Microsoft Corporation Method and apparatus for statically testing visual resources
US6092036A (en) * 1998-06-02 2000-07-18 Davox Corporation Multi-lingual data processing system and system and method for translating text used in computer software utilizing an embedded translator
WO2000025708A1 (en) 1998-11-03 2000-05-11 Throwright Llc Elbow brace for teaching baseball throwing
US6275978B1 (en) * 1998-11-04 2001-08-14 Agilent Technologies, Inc. System and method for term localization differentiation using a resource bundle generator
US6339755B1 (en) * 1998-12-15 2002-01-15 International Business Machines Corporation Method, system and data structure for splitting language and locale properties in a data processing system
US6519571B1 (en) * 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6530039B1 (en) * 1999-06-14 2003-03-04 Microsoft Corporation Porting engine for testing of multi-lingual software
US6321190B1 (en) * 1999-06-28 2001-11-20 Avaya Technologies Corp. Infrastructure for developing application-independent language modules for language-independent applications
US6425123B1 (en) * 1999-06-29 2002-07-23 International Business Machines Corporation System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters
US6275790B1 (en) * 1999-07-28 2001-08-14 International Business Machines Corporation Introspective editor system, program, and method for software translation
US6490547B1 (en) * 1999-12-07 2002-12-03 International Business Machines Corporation Just in time localization
US6865716B1 (en) * 2000-05-05 2005-03-08 Aspect Communication Corporation Method and apparatus for dynamic localization of documents
US7865358B2 (en) * 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
US20020111787A1 (en) * 2000-10-13 2002-08-15 Iko Knyphausen Client-driven workload environment
EP1202168A3 (en) * 2000-10-30 2006-08-23 Microsoft Corporation System and method for dynamically veryfying the compatibility of a user interface resource
US6993568B1 (en) * 2000-11-01 2006-01-31 Microsoft Corporation System and method for providing language localization for server-based applications with scripts
US6983238B2 (en) * 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
US7340389B2 (en) * 2001-02-16 2008-03-04 Microsoft Corporation Multilanguage UI with localized resources
US20020143523A1 (en) * 2001-03-30 2002-10-03 Lakshmi Balaji System and method for providing a file in multiple languages
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6938259B2 (en) * 2001-10-02 2005-08-30 Hewlett-Packard Development Company, L.P. API to enforce internationalization
EP1315084A1 (en) 2001-11-27 2003-05-28 Sun Microsystems, Inc. Method and apparatus for localizing software
US20030154071A1 (en) * 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
EP1483687A4 (en) * 2002-03-11 2008-08-06 Univ Southern California TRANSLATION OF CALLED ENTITIES
US7110937B1 (en) * 2002-06-20 2006-09-19 Siebel Systems, Inc. Translation leveraging
JP2004062446A (ja) * 2002-07-26 2004-02-26 Ibm Japan Ltd 情報収集システム、アプリケーションサーバ、情報収集方法、およびプログラム
US7194413B2 (en) * 2002-07-31 2007-03-20 Deere & Company Method of providing localized information from a single global transformation source
EP1576586A4 (en) * 2002-11-22 2006-02-15 Transclick Inc LANGUAGE TRANSLATION SYSTEM AND METHOD
US7509251B2 (en) * 2002-12-23 2009-03-24 International Business Machines Corporation Mock translating software applications at runtime
JP2004362249A (ja) * 2003-06-04 2004-12-24 Advanced Telecommunication Research Institute International 翻訳知識最適化装置、翻訳知識最適化のためのコンピュータプログラム、コンピュータ及び記憶媒体
US7533372B2 (en) * 2003-08-05 2009-05-12 Microsoft Corporation Cross language migration
US7437704B2 (en) * 2003-08-28 2008-10-14 Ines Antje Dahne-Steuber Real-time generation of software translation
JP3919771B2 (ja) * 2003-09-09 2007-05-30 株式会社国際電気通信基礎技術研究所 機械翻訳システム、その制御装置、及びコンピュータプログラム
US7283950B2 (en) * 2003-10-06 2007-10-16 Microsoft Corporation System and method for translating from a source language to at least one target language utilizing a community of contributors
US7318020B1 (en) * 2003-10-08 2008-01-08 Microsoft Corporation Methods and systems for external localization
US7814101B2 (en) * 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
US20060173671A1 (en) * 2005-02-02 2006-08-03 Kabushiki Kaisha Toshiba Localizing tool for client software

Also Published As

Publication number Publication date
RU2422890C2 (ru) 2011-06-27
MX2007011028A (es) 2007-11-15
CA2600474A1 (en) 2006-12-14
AU2006255783A1 (en) 2006-12-14
US20060206303A1 (en) 2006-09-14
BRPI0609159A2 (pt) 2010-02-23
US7653528B2 (en) 2010-01-26
EP1856631A4 (en) 2010-01-06
WO2006132700A3 (en) 2009-04-23
JP2008533598A (ja) 2008-08-21
WO2006132700A2 (en) 2006-12-14
KR20070110341A (ko) 2007-11-16
EP1856631A2 (en) 2007-11-21
EG25786A (en) 2012-07-29
NO20074637L (no) 2007-09-28
RU2007133808A (ru) 2009-03-20
AU2006255783B2 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
JP5058966B2 (ja) オントロジを組み込むリソース・オーサリング
JP5058499B2 (ja) 文化特有のデータを作成し、格納し、管理し、消費する方法およびシステム
JP5058500B2 (ja) 再利用スコアおよび推奨された再利用可能データを用いたリソースオーサリング
US7698126B2 (en) Localization matching component
JP5063014B2 (ja) アプリケーションローカライゼーション規則を実装するオーサリング
US10025758B2 (en) Support for non-native file types in web application environment
US7814125B2 (en) Methods for facilitating application development
KR20090073177A (ko) 씬 클라이언트 소프트웨어 개발 환경을 제공하기 위한 방법, 서버 기반 소프트웨어 개발 프로젝트 공유를 위한 방법, 및 컴퓨터-판독가능 매체
US20150012819A1 (en) Template-driven decoration engine
US20060123015A1 (en) Componentized remote user interface
US9225599B2 (en) Method and system to adapt functionality to capabilities of client and data storage

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5058966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees