JP5367947B2 - 用語データベース拡張のための方法およびシステム - Google Patents

用語データベース拡張のための方法およびシステム Download PDF

Info

Publication number
JP5367947B2
JP5367947B2 JP2006537967A JP2006537967A JP5367947B2 JP 5367947 B2 JP5367947 B2 JP 5367947B2 JP 2006537967 A JP2006537967 A JP 2006537967A JP 2006537967 A JP2006537967 A JP 2006537967A JP 5367947 B2 JP5367947 B2 JP 5367947B2
Authority
JP
Japan
Prior art keywords
term
text
label
field
database
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
JP2006537967A
Other languages
English (en)
Other versions
JP2007510218A (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 JP2007510218A publication Critical patent/JP2007510218A/ja
Application granted granted Critical
Publication of JP5367947B2 publication Critical patent/JP5367947B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Description

本発明は、ビジネスソリューションソフトウェアプログラムにおけるラベルのマージおよび開発に関する。詳細には、本発明は、ビジネスソリューションソフトウェアのモジュールにおけるラベルの開発およびマージに際して使用されるラベルデータベースおよびラベルダイアログに関する。
ビジネスソリューションソフトウェアプログラムは、通常は企業であるエンドユーザに、ユーザの様々な取引先との接続性をサポートする、カスタマイズ可能で、拡張性があり、グローバルな企業リソース計画ソリューションを提供する。多くのビジネスソリューションソフトウェアプログラムは、そのソフトウェアの基本的機能を、それを実施する企業のニーズをさらに満たすように元の製品を上回って拡張することができるようになっている。この新規の、または追加の機能は、そのビジネスソリューションソフトウェアに含まれる既存の諸機能および既存のデータを利用するために書かれた追加モジュールによって提供される。これらの追加モジュールは、しばしば、ソフトウェアおよび既存のデータを、そのビジネスソリューションソフトウェアの新旧両方の機能と自動的に同期させる。
いくつかのビジネスソリューションソフトウェアは、様々な国々で、多数の言語にわたって、多数の通貨で業務を行うことができるようにする。ビジネスソリューションソフトウェアで提供される多言語機能の使用により、送り状などの書類を、受取人にとって好ましい言語で送ることが可能である。しかしながら、現行のシステムで書類の言語を変更するには、そのビジネスソリューションソフトウェアに新しい言語をロードし、システムの全運用言語を変更する必要がある。
ビジネスソリューションソフトウェアの様々な利用可能言語での通信は、複数のラベルの使用によって処理される。ラベルは、ユーザインターフェースコンポーネント上に、または印刷文書に表示されるテキストである。しかしながら、ラベルは、イメージ、ビットマップ、アイコン、動画、あるいは他の言語においては異なるはずの任意の種類のデータとすることもできる。ラベルはメニュー、ボタン、ダイアログボックスなどを含み得る。さらに、ラベルは、「ラベル」、「ヘルプ」、「キャプション」、「ツールチップ」などのラベル属性を持つコントロール上でも使用され得る。現在のビジネスソリューションソフトウェアにおけるラベルは、そのビジネスソリューションソフトウェアによって使用される各言語ごとに1つのリソースファイルが専用に確保される、別々のリソースファイルに格納される。さらに、ビジネスソリューションソフトウェア中の各モジュールは、他のモジュール、またはそのビジネスソリューションソフトウェア自体と共用されないそれ自体のリソースファイルを持つ。
これまでのビジネスソリューションソフトウェアの開発全体を通して、開発者の間には既存のラベルを再利用することを望む強い要望があった。しかしながら、既存のラベルを再利用することは有利でないことが認められている。というのは、ラベルの様々な属性が異なる使用状況の間で変化し、あるいはラベルの意味が開発者間で異なり得るからである。これは、用語が変更されるときに問題を生じ得る。例えば、1つのラベルテキストが、あるアプリケーション上のメニュー、および別のアプリケーション上のボタンとして使用され、そのために各ラベルごとに異なる属性を生じることがある。大部分の開発者らが望んだのは、システム上の様々なモジュールにラベルを開発することに伴うコストを削減するために、それらのラベルを含む用語またはテキストを再利用することであった。
前述のように、通常、ビジネスソリューションソフトウェアモジュールでは、ラベルはリソースファイルに保持される。しかしながら、現在のビジネスソリューションソフトウェアは、構造化照会言語(SQL)表などのデータベースメタデータストアを介して、あるいはWebサービスを介して利用可能な汎用リソースファイルを使用しない。通常、これらのラベルは、ビジネスソリューションソフトウェアでは、モジュールに固有のものであり、そのモジュールにある各言語ごとに1つのリソースファイルが専用に確保される専有リソースファイルに格納される。専有リソースファイルを使用することに伴う1つの問題は、開発者が、1つのモジュール中のラベルの一部を、別のリソースファイルに含まれる新しい情報または属性を用いて置換または編集しようとするときに、開発システムが、所望のラベルと同じラベル属性および/または用語法を持つそのビジネスソリューションソフトウェアの他のモジュール中の別のラベルを検索しないことである。さらに、リソースファイルの使用は、ソフトウェアソリューション中に存在するラベルが多数であるために、ラベルの管理を極めて困難にする。しかしながら、ビジネスソリューション環境では、ビジネスソリューションソフトウェアには、複数のベンダによって開発されるいくつかの異なるソリューションを処理することが必要とされる。これらのモジュールの開発者らは、しばしば、そのビジネスソリューションソフトウェア中の他のモジュールのために開発されたラベルとオーバーラップするラベルを開発することがある。ラベルを開発し、それらのラベルを(多言語サポートが求められるときに)翻訳することに伴うコストは、特に、ラベルとその翻訳がすでにそのビジネスソリューションソフトウェアの他の部分に存在する場合には、非常に高くつき、時間を要するものになる。したがって、各ベンダが所望のラベルごとに独自のラベルを開発することを必要とする完全に独自のシステムに対して、様々なモジュールベンダの貢献を組み合わせたものを使用するラベルシステムを備えることが望ましい。さらに、それは、既存のラベルテキストをサーチすることを可能にし、そのテキストを再利用できるようにするシステムのためにも望ましい。
ラベルをサーチするとき、名前空間およびカテゴリの選択について、開発者にとってその正しいカテゴリを選択することは困難である。開発者は、しばしば、現在の環境に位置するラベルのサブセットが現在の必要を満たすものであるかどうか知らないことがある。したがって、開発者は、所望のラベルを保持するデータベース中でどんなラベルが利用可能であるか知ることを求めている。さらに、開発者は、その用法のための正しい情報およびそのラベル中の用語に適した翻訳を含むラベルを作成することも求めている。
本発明の用語データベースは、追加機能を提供することによりラベルシステムを拡張する。これらの追加機能は、翻訳者または標準機構によって制御される。これらの機能は、そのラベルの実際に求められる用法に符合するラベルの検索に役立つように、ラベルダイアログに追加のサーチ基準を加えることを可能にする。これらの機能が活動化されると、追加の対象に関連する結果が開発者に返されて、ラベルに正しい用語を選択するのに役立つ。開発者らは、自分自身の母国語で考えようとするため、これらの機能は、その開発者の母国語での1つの単語が別の言語での複数の単語に翻訳され得るときに、ラベルで使用される用語を標準化するのに役立つ。
本発明の一実施形態は、開発者がビジネスソリューションソフトウェアに新しいモジュールを開発し、またはその既存のモジュールを編集している状況に対処する。本発明は、開発者が、ダイアログ開発ツールを介して既存の用語を識別できるようにする。まず、開発者は開発ディスプレイでユーザインターフェースを開く。このディスプレイは開発者に、用語テキストデータベースのサーチおよび利用可能な用語すべてへのアクセスを可能にするサーチ機能を表示する。次いで、開発者は、サーチエンジンに、所望の用語のテキストを入力する。このテキストは、通常の表現を用いて、その全体としても、所望の用語の一部としても入力され得る。開発者は、当該の用語の所望の用法も指示する。
入力されたデータに基づき、サーチエンジンは、用語テキストデータベースおよび用語領域をサーチし、所望のテキストに最も近くマッチするテキストを持つ用語、およびその用語の所望の用法に類似の意味を持つ用語を識別する。識別された用語はサーチエンジンディスプレイで開発者に返され、データグリッドとして表示され得る。その結果は、所望のテキストに最も近くマッチするテキストを含む用語が最初に表示され、そうでない用語が最後に表示されるなど、所定の方法に従ってランク付けされる。次いで、開発者は、返された所望のテキストを含む結果から1つの結果を検索することができる。結果の1つが新しい用語の所望のテキストを含む場合、開発者はその結果から所望の用語を選択することができ、それを新しいラベルに複写する。
結果を選択すると、開発者には、データベースに含まれるその特定の用語に関する詳細情報が提示される。選択された用語の用法は開発者には知られていないため、開発者はその用語を新しいラベルに複写する。
選択された用語が新しいラベルに複写されると、その新しいラベルにGUIDが生成され、新しいラベルのレコード中に、このラベルに複写された用語のGUIDを示すエントリが生成される。このエントリが提供されるのは、その親用語のテキストが変更されるときにその新しい用語のテキストも更新され得るようにするためである。さらに、ある用語が新しいラベルに複写されると、任意の関連する翻訳などの情報がその新しいラベルの用語テキスト表に複写される。これは、その新しいラベルを利用可能な諸言語に翻訳することに伴うどんな追加コストも招くことなく、ビジネスソリューションソフトウェアシステムの完全な言語機能が新しい用語に引き継がれることを可能にする。別の実施形態では、その用語の翻訳バージョンが更新されると、同じマスタ用語を共用するすべての関連するラベルが、その翻訳された用語の新バージョンを用いて更新される。これは、一般に、プログラムがラベルを更新するように実行されたときに行われる。
ダイアログの特定の用法機能を介して、開発者は、用語の所望の用法に最もマッチする用語を、迅速かつ容易に識別することができる。この機能は、開発者が、結果で、自分の母国語での同じ単語を複数のカテゴリとして提示されたときに特に重要である。ある言語における単語は、しばしば、第2言語において複数の同義語を持つことがあるため、その特定の方法は、開発者が、所望の用法に最も適した関連する翻訳を持つラベルを選択するのに役立つであろう。本システムの第2の利点は、開発者が、データベースをサーチするときに、その意図する用語以外の用語も提示されることである。これらの単語は、他の開発者によってすでに使用され、他の言語に翻訳されている単語または用語を表すものである。開発者がこれらの用語を使用し始めた場合、各モジュールで使用される用語が標準化され、結果として開発者にかかるコストが削減されることになる。
本発明の第2の実施形態は、本発明の特定の用法サーチをサポートするデータ構造を対象とする。このデータ構造は、用語ID表、ラベルテキスト表、およびラベル領域表を含む。用語ID表は、その識別子、一般的用法のカテゴリ(ボタン、ラベル)、および状態フィールドを含むその用語に関連する情報を保持する。状態フィールドは、その用語の出典または状況を示す。用語テキスト表は、様々な言語に及ぶその用語テキストの様々なバージョンを保持する。用語領域表は、用語およびその用語の用法の記述に関連付けられたラベルの特定の用法を含む。これらの表は、開発者が、ある用語が所望の用法に適しているかどうか正確に判定することを可能にする。
図1に、本発明が実施され得る適当なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、適当なコンピューティング環境の一例にすぎず、本発明の用途または機能の範囲についてのどんな限定を示唆するためのものでもない。また、コンピューティング環境100は、例示的動作環境100に示す構成要素のいずれか1つまたはそれらの組み合わせに関連するどんな依存関係または要件を有するものであるとも解釈すべきではない。
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成と共に動作する。本発明と共に使用するのに適し得るよく知られているコンピューティングシステム、環境、および/または構成の例には、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ機器、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
本発明は、コンピュータにより実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明され得る。一般に、プログラムモジュールには、個々のタスクを実行し、または個々の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、タスクが通信ネットワークを介してリンクされたリモート処理装置によって実行される分散コンピューティング環境でも実施され得る。分散コンピューティング環境では、プログラムモジュールは、記憶装置を含むローカルとリモート両方のコンピュータ記憶媒体に位置し得る。
図1を参照すると、本発明を実施する例示的システムは、コンピュータ110の形で汎用コンピューティングデバイスを含む。コンピュータ110の構成要素には、それだけに限らないが、処理装置120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理装置120に結合するシステムバス121が含まれ得る。システムバス121は、様々なバスアーキテクチャのいずれかを使用したメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかの種類のバス構造のいずれでもよい。例をあげると、それだけに限らないが、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンスドISA(EISA)バス、ビデオエレクトロニクススタンダードアソシエーション(VESA)ローカルバス、およびメザニンバスとも呼ばれるペリフェラルコンポーネントインターコネクト(PCI)バスが含まれる。
コンピュータ110は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110からアクセスし得る任意の使用可能な媒体とすることができ、それには揮発性媒体と不揮発性媒体の両方、取り外し可能媒体と取り外し不能媒体の両方が含まれる。例をあげると、それだけに限らないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を記憶するための任意の方法または技術で実施された、揮発性と不揮発性両方、取り外し可能と取り外し不能両方の媒体が含まれる。コンピュータ記憶媒体には、それだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリなどのメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)などの光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶などの磁気記憶装置、あるいは所望の情報の記憶に使用することができ、コンピュータ110からアクセスし得る他の任意の媒体が含まれる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波または他の搬送機構などの変調されたデータ信号中に具現化し、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、その特性の1つまたは複数が、その信号に情報を符号化するような方式で設定または変更されている信号を意味する。例をあげると、それだけに限らないが、通信媒体には、有線ネットワークや直接配線接続などの有線媒体、および音響、RF、赤外線、その他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含むべきである。
システムメモリ130は、読み出し専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形でコンピュータ記憶媒体を含む。始動時などに、コンピュータ110内の要素間の情報転送を支援する基本ルーチンを含む基本入出力システム(BIOS)133は、通常、ROM131に記憶される。RAM132は、通常、処理装置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は、通常、モデム172またはインターネットなどのWAN173を介して通信を確立する他の手段を含む。モデム172は、内蔵でも外付けでもよく、ユーザ入力インターフェース160または他の適当な機構を介してシステムバス121に接続され得る。ネットワーク化環境では、コンピュータ110に関連して示すプログラムモジュール、またはその一部は、リモート記憶装置にも格納し得る。例として、それだけに限らないが、図1に、リモートアプリケーションプログラム185を、リモートコンピュータ180上にあるものとして示す。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段も使用され得ることが理解されるであろう。
一実施形態では、システム100は、一般会計および業務諸機能を特定のアプリケーションモジュールと統合し得る業務管理ソリューションを生成するソフトウェアを含む。これらのモジュールには、財務、取引、ロジスティックス、生産、顧客サービス、プロジェクトおよび人事の各モジュールが含まれ得る。しかしながら、この業務管理ソリューションでは、他のモジュールタイプも使用され得る。本発明のソリューションは、複数の通貨(ユーロ、ドル、円、ウオンなど)、複数の言語(英語、独語、仏語、デンマーク語、ロシア語、日本語、中国語など)および(複数の税務当局に対応するエンドユーザによる使用のための)複数の課税形式をサポートするように構成され得る。
業務管理ソリューションで使用される各モジュールは、多種多様なソースから開発され得る。一実施形態では、これらのモジュールすべての間の共通リンクは、ラベルの使用である。ラベルは、識別子で表されるテキストである。ラベルは、ダイアログボックス、テキストストリング、またはユーザに情報を伝えるのに使用される任意のテキストを含み得る。ラベルは、一般には、グラフィカルユーザインターフェイス、すなわちGUIなどのリソースを介してユーザに提示される。しかしながら、ラベルは、ユーザにテキストを提示する他の任意の手段によってもユーザに提示され得る。さらに、ラベルは、「ラベル」、「ヘルプ」、「キャプション」、「ツールチップ」などのラベル属性を持つコントロール上でも使用され得る。以前のビジネスソリューションソフトウェアでは、各モジュールごとのラベルが別々のリソースファイルに保持される。しかしながら、これらのリソースファイルは、一般に、特定のモジュールに専用の単層ファイルアーキテクチャ(flat file architecture)として保持された。各モジュールの開発プロセス中しばしば、開発者は、現在作成されているラベルの要件を満たす別のモジュール中のラベルについて知っていることがある。しかしながら、従来技術のシステムの専有ファイルソース構造は、開発者が、あるモジュールからのラベルを別のモジュールで使用するのを妨げ、ラベルをサーチすることも不可能であった。
図2は、本発明の一実施形態による、ビジネスソリューションシステム200におけるラベルを構成する様々なコレクション間の関係を示すエンティティ関係図である。図2のエンティティ関係図は、言語表210(またはシステムで利用可能な言語の他の指示)、マスタ220、ラベルID表230、およびラベルテキスト表240を含む。一実施形態では、これらのコレクションは表に構成された構造化照会言語(SQL)メタデータストアとして編成される。しかしながら、これらのコレクションでの他の構成および他のデータベースも使用され得る。ラベルID表230およびラベルテキスト表240について、図3Aおよび3Bを参照してより詳細に説明する。
言語表210は少なくとも2つのサブフィールドを含む表である。言語表210中の2つのサブフィールドとは、言語IDフィールド211および言語名フィールド212である。言語IDフィールド211は特定の言語を示すコードを保持し、それはビジネスソリューションソフトウェアプログラムによって理解可能である。言語名フィールド212は、言語の名前を保持するテキストフィールドである。例えば、利用可能な言語の1つが英語(US)である場合、その言語IDフィールド211は、例えば、「01」とすることができ、ASCII標準を使用する場合は、「en−us」とすることもできる。しかしながら、言語IDフィールド211には他のIDタイプも使用され得る。このエントリのメタデータ表の言語名フィールド212は、例えば、「英語(US)」などになるはずである。代替として、このエントリは、特定のソリューションによってこのソリューションが提供された場合には特定の言語テキストを持つラベルとすることもできるであろう。
言語表210に格納された情報は、ユーザがシステムの運用言語を確認し、または変更しようとするときに、ラベルダイアログディスプレイでユーザに表示され得る。言語表210は、ラベルテキスト表240と1:nの関係にある。この関係(1:n)が発生するのは、システム200から利用可能な各言語での異なるラベルを表す複数のラベルテキストが存在し得るからである。
マスタ220は、一実施形態では、システム200における各ラベルの1バージョンを含む表である。一実施形態では、マスタ220は、そのラベルの元のバージョンを元の言語および形式で保持する。しかしながら、マスタ220にはそのラベルの他のバージョンも格納され得る。例えば、最良実施例の指針が使用される場合、システム200は、マスタ220に、英語(US)のラベルを格納することができる。最良実施例の指針とは、特定のカテゴリタイプ、記述、および言語を用いてラベル開発を標準化する一連の手順である。システム200の各ラベルは、マスタ220に1つの関連するエントリを持つ。マスタによって表されるラベルは、ラベルの翻訳が更新されるとき、そのラベルが現在選択されている(アクティブな)言語に翻訳されていないとき、あるいはそれが何らかの理由でシステム200からアクセス不能になったときに使用される。しかしながら、別の実施形態では、マスタ220に格納された情報は、マスタラベルのラベルIDを示すラベル表230または言語表240中の1つまたは複数のフィールドとして格納され得る。さらに、マスタ220は、どの言語ラベルが作成されたかに関する情報を保持するだけの単純なフィールドとすることもできる。このフィールドはラベルID表230に位置することができる。
各マスタは、ラベルID表230中の1エントリに対応する。ラベルID表230は、翻訳者(そのテキストを翻訳する者)がそのラベルを正しく翻訳するのに役立つ様々な属性を含む。これらの属性は、開発者がラベルを適正に使用するのにも役立つ。複数のラベルIDが同じマスタを共用し得るため、マスタとラベルID表230の間の関係は1:nである。
ラベルテキスト表240は、ラベルIDによって識別される各ラベルごとのテキストを含むエントリを含む。ラベルテキスト表240は、各ラベルIDごとの様々な言語での翻訳を含むエントリも含む。ラベルID表230とラベルテキスト表240の間の関係、ならびに言語表210とラベルテキスト表230の間の関係は1:nである。これは、ラベルID表230では1つのラベルに1つのエントリがあるが、1つのラベルのテキストは複数の言語で存在し得るからである。しかしながら、本発明の他の実施形態では、ラベルIDとラベルテキストの間の関係は、1:1(またはテキストが存在しない場合は1:0)になることがあり、その場合、マスタラベルの各翻訳は、ラベルID表230に独自の一意のラベルIDおよびエントリを持つ。
図3Aに、本発明の一実施形態によるラベルID表230を構成する各フィールドを示す。ラベルID表230は、IDフィールド231、名前空間フィールド232、カテゴリフィールド234、および記述フィールド235を含む。他の実施形態では、ラベルID表230は、ラベルID表中のエントリが別のラベルから複写されているかどうか、あるいはその表中の別のエントリに複写されているかどうか指示するフィールド236を含み得る。
通常、ラベルはリソースファイルに保持される。本ビジネスソリューションシステムは、SQL表などのデータベースメタデータストアを介して利用可能な汎用リソースファイルを使用しない。本ビジネスソリューションシステムでは、これらのラベルは、専有リソースファイルに格納される。専有リソースファイルを用いることに伴う1つの問題は、開発者が、システム中の1つまたは複数のラベルの一部を、そのファイルのリソースのすべてを含むファイルで置き換えようとするとき、システムが、現在のラベルと同じラベル属性または用語法を持つそのシステム中の別のファイルを検索しないことである。しかしながら、ビジネスソリューション環境では、ビジネスソリューションシステムは、複数のベンダによって開発される同じまたは類似の問題へのいくつかの異なるソリューションを処理することが必要とされる。したがって、本発明のラベルシステム200は、様々なベンダによって行われた貢献すべての総和を使用することができる。
ID231フィールドは、システム200で特定のラベルを識別するのに使用される。一実施形態では、このIDはグローバルに一意な識別子すなわちGUIDである。GUIDは、2つのベンダが2つの無関係なラベルに同じ識別番号を選択しているために生じる問題を回避するのに使用される。一実施形態におけるGUIDは、一意の識別子が必要とされる場合はいつでもすべてのコンピュータおよびネットワークにわたって使用され得る128ビットの整数(16バイト)である。そのような識別子システムの使用は、2つのラベルが同じIDを持つことになる可能性を低減する。GUIDは、一実施形態では、ストリングとして表され、以下のパターンに従ってフォーマットされる。
xxxxxxxx−xxxx−xxxx−xxxx−xxxxxxxxxxx
その場合、GUIDの値は、8桁、4桁、4桁、4桁、12桁のグループとしてハイフンで区切られた、一連の小文字の16進数として表される。例えば、行301のエントリでのGUID戻り値は、382c74c3−721d−4f34−80e5−57657b6cbc27とすることができる。しかしながら、IDフィールド231には他のフォーマットタイプも使用され得る。新しいラベルが作成されるたびに、それに新しいGUIDが割り当てられる。一実施形態では、新しいラベルは、単に既存のラベルの翻訳としてではなく、システム200にとって新規のラベルとして定義される。しかしながら、他の実施形態では、既存のラベルの翻訳にIDフィールド231の新しいエントリが生成される。
GUIDの使用は、現在のシステムを上回るさらなる利益を提供する。第1に、各ラベルを複数の言語に分ける必要がない。さらに、GUIDは、各ラベルが、行番号の使用によるなど他の方法でその一意性を制御しなくとも、一意に識別されるようにする。第2に、GUIDは、ラベルの物理的記憶が、専有リソースファイルから、Webサービス上のメタデータデータベースなどの共通リソースファイルに変更されることを可能にする。
ラベルID表230の名前空間フィールド232は、翻訳者が、ラベルテキストをマスタ言語から目標言語に翻訳するときに、そのラベルの正しい用語を獲得するのを支援するためにラベルIDに入力される特別なフィールドである。現行のラベルシステムでは、プログラム中のどこで特定のラベルが使用されているかを簡単に調べることは不可能である。さらに、そのラベルがどの領域で使用されているか調べることも容易ではない。したがって、そのプログラムが翻訳者のコンピュータ上にインストールされており、そのラベルがどこに使用されているか調べることができるのでない限り、翻訳者がラベルの正しい用語を獲得することは、不可能とは言わないまでも、極めて困難である。名前空間フィールド232は、プログラムを翻訳者のマシンにインストールすることを必要とせずに、そのラベルが使用されている領域を調べることを可能にする。名前空間フィールドに含まれる情報は、新しいラベルが作成されるときに(自動的に、または手動で)開発者によって提供され、特定のラベルの用法に関連する情報を提供する。例えば、図3Aの行302のエントリでは、名前空間フィールド232は、翻訳者または開発者に、このラベルが課金モジュールで使用されていることを知らせる。
ラベルID表230のカテゴリフィールド234は、そのラベルがプログラムのどのコンポーネントで使用されているかを示す特別なフィールドである。さらに、カテゴリフィールド234の使用は、開発者が、ラベルテキストの作成中に、そのラベルを正しく書くのに役立つ。カテゴリは、そのラベルのノードタイプと属性の組み合わせである。ノードタイプは、そのラベルの特定の属性である。これらのラベル属性の一部は、「ラベル」、「ヘルプ」、「キャプション」などを含み得る。ゆえに、カテゴリフィールド234は、ラベルが所望のプログラムで適正に使用されるよう保証することができる。さらに、カテゴリは、システムに存在するコントロールすべてのマッピングである。したがって、所望のラベルのタイプまたはカテゴリに基づいて、既存のラベルのデータベースをサーチすることが可能である。本発明では、システム200によって実行される各規則またはコントロールごとに1つのカテゴリが作成される。モジュールの開発中に、特定のラベルテキストに特別な規則が必要とされる場合は、追加のカテゴリが作成され得る。例えば、ノードフィールド234は、エントリ303のラベルが、ユーザをそのモジュール中の別のポイントに誘導するためにモジュールのメニューバーで使用されていることを知らせるエントリとすることができる。各カテゴリは、システム200での特定の機能にマップされる。
記述フィールド235は、ユーザまたは開発者にそのラベルがどのように使用されているかを記述する、表230中のエントリである。例えば、記述フィールド235は、エントリ303のラベルが元帳の一事例で使用されていることを知らせるエントリとすることができる。この記述は、言葉(プレーンテキスト)で表すことも、所定のコードリストに照らしてコード化することもできる。
複写元フィールド236は、そのエントリの関連するラベルがラベルシステム中の別のラベルから複写されているかどうかを示す。そのラベルが別のラベルから複写されている場合、複写元フィールド236は、親またはマスタラベル220からのIDを含む。一実施形態では、このIDは親のGUIDである。しかしながら、フィールド236には他のIDも使用され得る。ラベルが別のラベルの複写バージョンではない場合、複写元フィールド236は空白であり、またはヌルに設定される。さらに、ラベルのテキストまたは他の任意の情報がコピー後にマスタラベルのテキストから変更される場合、複写元フィールド236はヌルに設定され、それによって、マスタラベル220とこの特定の子ラベルの間のどんなリンクも削除される。しかしながら、このエントリへの他の変更は、複写元フィールド236をリセットさせることになる。別の実施形態では、図3AのラベルID表230は、どのラベルIDが複写されたラベルを含むかを示すフィールドを含む。ID表230中のラベルはマスタラベルまたは子ラベルである。
図3Bに、特定のラベルのラベルテキスト表240を埋める各フィールドを示す。ラベルテキスト表240エントリは、少なくとも3つの異なるフィールド、すなわち、ラベルIDフィールド244、ラベルテキストフィールド241および編集日付242を含む。本発明の別の実施形態では、ラベルテキスト表240にその他のフィールドが付加され得る。これらのフィールドには、テキストが書き込まれる言語を示すフィールド243、またはラベルテキスト表中のテキストの各バージョンのエントリ識別子を識別するフィールドが含まれる。
ラベルテキスト表240のテキストフィールド241は、システムのすべての利用可能言語でのそのラベルのテキストの最新バージョンを含む。しかしながら、テキストフィールド241には、言語別アイコン、ビットマップビデオなど、他の情報も格納され得る。ラベルのラベルテキスト表240中の第1のエントリ351は、そのラベルが書かれた元の、またはマスタ言語によるものである。このテキストをマスタテキストという。ラベルが最良実施例の指針に従って開発される場合、マスタテキストは英語(US)で書かれることになる。しかしながら、他の言語をマスタ言語として使用することもでき、最良実施例の指針に従う必要はない。一般に、マスタ言語は、システムがそれによって運用されている現在の言語に対応する。
ラベルテキストがマスタ言語から別の言語に翻訳される際、352や353などの新しいラベルテキストエントリがラベルテキスト表に作成される。これらのエントリは、元のラベルテキストのそれぞれの言語での翻訳バージョンを含む。例えば、ラベルの元のテキストが「Do you want to save the changes you made to(あなたが行った変更を保存しますか)」である場合、このテキストは、ラベルテキスト表240の第1行351に格納される。その後、このテキストが独語、デンマーク語および仏語に翻訳されるときに、それらの翻訳が、ラベルテキスト表の、そのマスタテキストエントリの下の各エントリに入力される。これらの追加された翻訳を、エントリ352、353、354によって示す。
編集日付フィールド242は、そのラベルのテキストが、ラベルテキスト表中のその特定のエントリに関連付けられた言語で最後に変更されたのがいつかを開発者が知るために、ラベルテキスト表240に設けられる。さらに、「変更者」フィールドなど、検証情報を含む他のフィールドも付加され得る。この日付は、テキストの翻訳が提供される場合、それが、その翻訳のすでにより新しいバージョンを置き換えないようにするのに役立つ。翻訳がシステムに自動的にロードされるとその翻訳日付が比較され、そのエントリ中バージョンが提示されたエントリより新しい場合には、提示されたエントリは表に入力されない。また、編集日付フィールド242は、開発者が、その翻訳が、マスタテキストエントリの最新バージョンでの最新のものかどうかチェックすることを可能にする。一実施形態では、マスタテキストエントリ321の編集日付は、望ましくは、特定のラベルのラベルテキスト表240中の最も古い日付である。
いくつかの実施形態では、ラベルテキスト表240は、言語フィールドエントリ243を含む。言語フィールドエントリ243は、開発者がその言語を話さず、または理解しない場合であっても、開発者にラベルテキスト表中の特定のエントリの特定の言語を示す。この言語フィールドエントリ243の言語標識は、その言語の数値表現とすることができ、またはその言語の名前として、あるいはその他の任意の種類の言語識別子として書き込むこともできる。
数値表現を用いて言語が識別される場合、その言語の参照番号またはエントリは、例えば、ASCII言語コードやISO639といった公知の標準に準拠することができる。しかしながら、他のコードを用いてテキストエントリの言語を識別することもできる。言語の名前がフィールド243に入力される場合、その言語の名前は、例えば、公知の標準(すなわち英語での言語名)に従って書き込むことができる。しかしながら、他の形式も使用され得る。
ラベルテキスト表240は、特定のラベルテキストのラベルID231を識別するエントリフィールド244も含む。このエントリは、開発者が、現在のテキストがどのラベルID231に関連するか知ることができるようにする。ラベルテキスト表240の別の実施形態は、テキストID245のエントリを含む。このテキストID245は、ラベルテキスト表240において、各テキストラベルを独自のエントリとして個々に識別するために提供される。テキストID245エントリは、GUIDとすることもでき、ラベルテキスト表の構成と一致する他の任意の識別法とすることもできる。別の実施形態では、ラベルテキスト表240およびラベルID表230は1つの表またはデータベースにマージされ得る。この実施形態では、ラベルを管理し、モジュールが実行されるときに正しいラベル言語テキストが表示されることを保証するために、別の一連のフィールドが必要とされる。さらに、ラベルのロードを管理するための索引も付加されるはずである。
図4は、ラベルシステムインターフェース400を構成するコンポーネントを示すブロック図である。ラベルシステムインターフェース400は、開発者401をメタデータストア409にリンクさせ、開発者がシステム200の新しいモジュールを開発するときに既存のラベルを操作できるようにするインターフェースである。ラベルシステムインターフェース400は、ラベルダイアログ402、ラベルダイアログ論理コンポーネント403、拡張言語インターフェース404、およびラベルインターフェース405を含む。
開発者は、ラベルダイアログ402を介してラベルシステムインターフェース400と対話する。ラベルダイアログ402は、開発者が、ラベルシステムインターフェースの諸機能にアクセスすることができるようにするユーザインターフェースである。一実施形態では、ラベルダイアログ402は、ユーザが、特定のラベルの用法を確認し、管理することができるようにするウィンドウである。ラベルダイアログ402は、このメタデータストアへのインターフェースを用いてラベルを処理し、利用可能な言語すべてでそのラベルに利用可能なコマンドのフルセットにアクセスする。これらの機能を提供するために、ラベルダイアログインターフェース402は、ラベルシステム400において各ラベルごとに利用可能な言語すべてへのアクセスを必要とする。
しかしながら、ラベルダイアログ402は、あるラベルが特定の状況で使用され得るかどうか判定するためのどんな論理も含まない。すべてのコントロールはラベルインターフェースまたはラベルダイアログ論理コンポーネント403を制御するクラスに渡される。ラベルダイアログ論理コンポーネント403は、ラベルダイアログ402と共に使用されるように設計されるが、それはラベルダイアログ402の論理すべてを含むため、ラベルダイアログ論理のいくつかの機能は他の領域で再利用され得る。さらに、ラベルダイアログ論理コンポーネント403は、各ラベルが、そのラベルの名前空間およびカテゴリの正しい組み合わせと整合するように使用されることを保証する。この論理は、最初に新しいマスタラベルを作成せずに、ラベルを異なる領域で意図せずに使用することを防ぐ。
拡張言語インターフェース404は、ラベルダイアログインターフェース400に、システムで利用可能な言語すべてへのアクセスを提供する。拡張言語インターフェース404は、別のクラスを用いて、ラベルダイアログ論理コンポーネント403およびラベルダイアログ402から複数の言語を利用できるようにする。拡張言語インターフェース404は、システム中の複数の言語に共通の方法だけを備える(利用可能な言語リストを返し、現在の言語のIDも返す)。1つの言語だけに関連する方法は、直接ラベルクラス405上に位置する。ラベルクラスは、メタデータ中のラベルへの接続を可能にする。各利用可能言語にはラベルクラスの1つのインスタンスがある。しかしながら、場合によっては、特定のクラスのインスタンスがないこともある。
言語インターフェースコンポーネント404は、利用可能な言語へのアクセスも制御する。言語インターフェースコンポーネント404は、ラベルのインスタンスのマップを含む。また、言語インターフェースコンポーネント404には、現在のラベルでの利用可能な追加言語クラスそれぞれへのインターフェースもある。
図5は、開発者が、モジュールの新しいラベルを、そのモジュールの一部の開発中に作成するときに実行される諸ステップの一例を示す流れ図である。例えば、開発者が、あるモジュールに「customer(顧客)」の入力を表すラベルを作成しようとする場合。その開発者は、そのラベルがそのモジュールでどのように使用されるか決定しなければならない。「customer」という用語は多くの異なる意味を持つ。例えば、顧客は、当事者から財貨およびサービスを購入する相手を意味することもあり、当事者が取引を行う相手を意味することもある。この単語の用法は、他の言語のテキストに影響を及ぼすことになる。これを図5にブロック501に示す。
次に、開発者はラベルダイアログプログラムを開く。開かれるラベルダイアログは、例えば、図6に示すラベルダイアログ600に類似のものである。しかしながら、他のインターフェースも使用され得る。提示されるインターフェースは、開発者がそのラベルのために求める特定のテキストを入力できるようにする。ラベルダイアログを開くことを図5にブロック502に示す。
ラベルダイアログが開かれると、開発者は、次いで、行602にラベルのための所望のテキストを入力する。代替として、開発者は、行602に、ラベルのための所望のテキストの一部を入力することもできる。例えば、開発者はそのテキスト部分に「customer」と入力することも、「cust」と入力することもできる。さらに開発者は、その新しいラベルがどのように使用されるかを示すデータを、インターフェースの行603および604に入力する。このデータは、ラベルシステム中の既存のラベルをサーチするのに使用され、または新しいラベルを作成するときに使用され得る。例えば、開発者が販売を管理するモジュールを作成しており、「customer」という用語を使用して購買者のラベルを生成しようとする場合、開発者は、行604に購買者のカテゴリコードを入力するはずである。このコードは、プルダウンメニューによって手動で入力することも、現在のシステム設定を用いて自動で入力することもできる。このカテゴリコードは、この機能によって使用されるプロセスの残りの部分を制御する。一般に、ラベルダイアログ中のカテゴリコードおよび名前空間エントリは、ラベルシステムの現在の設定に従う。データの入力を、図5のブロック504に示す。このデータは、通常の表現として入力される。さらに、別の実施形態では、開発者は、サーチを選択されたカテゴリに限定するチェックボックスを選択することによって、サーチを制御することができる。
開発者は、ボタン650を選択することによってサーチ機能をアクティブ化する。しかしながら、他の技法を用いてラベルサーチ機能をアクティブ化することもできる。サーチエンジンのアクティブ化を図5にブロック505に示す。
ラベルダイアログは、次いで、データベースをサーチして入力されたテキストにマッチするデータベース中のエントリを検索する。サーチプロセスの間、ユーザに進捗標識が表示され得る。1つの進捗標識を、図6に参照番号640で示す。サーチが完了すると、進捗表示が消え、ダイアログは開発者に、選択された言語での最初の照会にマッチしたラベルすべての表示を返す。これをブロック506に示す。
インターフェース600は、一実施形態では、図6に示すように識別されたマッチを表示するために拡大される。この実施形態では、表示されるマッチのリストは、ラベルID表230に含まれる情報、ならびにラベルテキスト表240からの情報の一部を含み得る。結果ビューは、選択された言語でのテキストを、表230への関係を介して利用可能な追加情報と組み合わせて表示する。このサーチの結果は、GUIDによる昇順で開発者に提示される。結果の一例が図6の領域610に表示されている。しかしながら、テキストマッチングによる昇順など、他の順序付け技法も使用され得る。次いで、開発者は、ラベルテキストのいずれかが所望のテキストにマッチするかどうかチェックする。これをブロック520に示す。新しいラベルの所望のテキストにマッチするテキストが見つかった場合、開発者は、所望のラベルテキストにマッチする特定のラベルを強調表示し、あるいは別の方法でそれを指示する。これをブロック507に示す。ラベルの翻訳も、必要に応じて620に示され得る。
次に、システムは、選択されたラベルカテゴリおよび名前空間が、新しいラベルのカテゴリと同じであるかどうかチェックする。これをブロック508に示す。選択されたラベルと新しいラベルの間でラベルカテゴリおよび名前空間が同じである場合、選択されたラベルの情報が新しいラベルに使用される。これを図5にブロック509に示す。
ラベルの名前空間およびカテゴリが、新しいラベルの所望の用法と同じでない場合、そのラベルは複製されなければならない。複製された情報は、選択されたラベルのすべての翻訳バージョンも含む。ラベルが新しいラベルに複製されると、ラベルID表230でその新しいラベルに、それがそこから複製されたラベルのGUIDを示すエントリが作成される。これをブロック510に示す。これは、そのマスタラベルテキストが変更されるときに、その新しいラベルのテキストを容易に更新することができるようにする。この変更時の更新は、典型的な検索置換プロトコルを実行することによって、または他の任意の自動化方法によって行われ得る。
サーチの間にマッチが見つからなかった場合、開発者はその新しいラベルに新しいオブジェクトを生成しなければならない。新しいオブジェクトの生成をブロック521に示す。ラベルの生成時に、そのラベルの特定の特性がラベルID表230およびラベルテキスト表240に格納される。ラベルのテキストが完全でない場合、開発者は、所望のテキストの残りの部分をラベルダイアログ600に入力する。名前空間およびカテゴリコードは、ラベルシステムの現在の設定に基づいて入力される。開発者は、任意の所望の言語でのそのラベルの翻訳も生成しなければならない。また、ラベルの現在の運用言語のIDもマスタ言語として格納される。これらの翻訳の追加または生成およびラベル属性の入力をブロック522に示す。
要約すると、各言語ごとに1つのリソースファイルを備えるのではなく、その情報が1::nの関係に分割される。この関係の「1」の側は、ラベル識別子および他の実際的な一般のラベル情報を保持する。この関係の「n」の側は、特定の言語でのラベルテキストを保持する。このようにラベルを構成することにより、実行時にすべての言語でのラベルにアクセスすることが可能になる。
新しいラベルの開発時に、そのラベルは、システム中の既存のラベルを用いて、または新しいラベルを最初から作成することによって複製され得る。ラベルをサーチするとき、式を入力することが可能である(例えば、「<Ledger(元帳)」はLedgerで始まるすべての利用可能なラベルをもたらす。しかしながら、システムがどこで実施されるかに応じて、異なる構文が使用され得る。)。サーチされる特定の名前空間またはカテゴリを選択することによりヒット数を低減することが可能である。サーチは、用語データベースを用いることによっても実行され得る。新しいラベルも、用語データベース(Webサービス)を使用することによって作成され得る。用語データベースに入る際には、現在のサーチ基準を、ラベルが使用される実際の状況を記述する追加の基準と組み合わせることが可能である。これは、正しい用語が使用されることを保証するためである。用語データベースでラベルが見つかると、それが新しいラベルに複写される。用語データベースは、すべてのサポート言語についての翻訳を含み、または含むことができる。ラベルが使用されるとき、それはサーチ結果に存在し、実際の名前空間およびカテゴリにマッチする必要がある。これが該当する場合、その特定のラベルを選択することが可能である。これが該当しない場合、手入力で、または用語データベースの別の名前空間/カテゴリからそのラベルを複写することによって新しいラベルが作成される。ラベルを複写することにより、現在の名前空間およびカテゴリに関連する新しい識別子がもたらされる。すべてのテキストおよびその他一般の情報が複写される。
ラベルの管理はラベルダイアログを使用して行われ、これは、直接その特定のラベル属性から呼び出される。このダイアログは、ラベルを維持し、特定の属性で使用するために特定のラベルを選択することを可能にする。コードを介したラベルシステムの使用は、必要とされる機能をもたらすラベルインターフェースを介して行われる。これは、ラベルが格納される仕方を変更することを可能にする。この記憶は、SQLメタデータストアや、リソースファイルや、Webサービスとすることができる。実際には、それは、Webへの特定のアクセスに応じたすべての種類の記憶の組み合わせとすることができるはずである。
ラベルダイアログは、ラベルが正しい状況で使用されることを保証する。ラベルシステムへのカテゴリの導入は、ラベルが正しく使用されることを保証する。しかし、この機能は別の目的も持つ。ラベルを翻訳するとき、名前空間情報およびカテゴリの組み合わせによって、ラベルがどこで使用されるか調べることが可能である。これは、使用される正しい用語を検索することを可能にする。ラベルがどこで使用されるか知ることは、最良実施例の枠組みにより多くの最良実施例チェックを付加することを可能にする。ラベルダイアログは、既知の(または未知の)翻訳ツールに適合する特定の翻訳ファイルの生成を可能にする。翻訳ファイルに日付情報をエクスポートすることにより、それらの翻訳をインポートするときにその日付をチェックすることが可能になる。これは、進行中の翻訳プロセスが、そのシステムでの最新の変更をとり入れていることを保証するためである。更新された相互参照システムを用いて、特定のラベルがどこで使用されているか調べることが可能である。また、特定のラベルへの変更を調べることも可能である。この機能は翻訳者にとって関係があり、特定のラベルへの変更が単純なもの(例えば、行末に「.(ピリオド)」が付加されたなど)であるかどうか翻訳者が判定できる可能性をもたらすものである。
ラベルをサーチするときに、開発者が、現在のアプリケーションで役立つ可能性のある既存のラベルを識別することは難しい。開発者は、しばしば、そのデータベースにおいて、他の領域に存在する所望のテキストを保持するどんなラベルが利用可能であるか知らないことがある。さらに、開発者は、その用法の正しい情報、およびそのラベルでの用語の適当な翻訳を含むラベルを作成しようとする。
本発明の用語データベースは、追加機能を提供することによってラベルシステムを拡張する。これらの追加機能は、翻訳者または標準機構によって制御され得る。これらの機能は、そのラベルの実際に求められる用法に符合するラベルの検索に役立つように、ラベルダイアログに追加サーチ基準を加えることを可能にする。これらの機能があると、さらに多くの結果が開発者に返され、そのラベルの正しい用語を選択するのに役立つ。開発者は自分の母国語で考えようとするので、これらの機能は、開発者の母国語での1つの単語が別の言語での複数の単語に翻訳され得るときに、ラベルで使用される用語を標準化するのに役立つことになる。
図7は、本発明の一実施形態による、ラベルシステムで使用するための用語データベースを構成する様々なコレクションの間の関係を示すエンティティ関係図である。ラベルシステムは、一実施形態では、前述の図1〜図6で論じたラベルシステムとすることもでき、ワードプロセッサ、Webブラウザなど、用語およびラベルを利用する他の任意のシステムまたはアプリケーションでも使用され得る。用語データベースは、ラベルシステムに類似のものであるが、その他の情報を含む。図7のエンティティ関係図は、図2にエンティティ関係図に類似のものである。用語データベースシステム700は、言語表710、マスタ関係720、用語ID表730、および用語テキスト表740を含む。一実施形態では、これらのコレクションは、表に構成された構造化照会言語(SQL)メタデータストアとして編成される。しかしながら、オブジェクト指向データベースなど、これらのコレクションの他の構成および他のデータベースも使用され得る。
言語表710は、少なくとも2つのサブフィールドを含む表である。さらに、言語表710は、図2のラベルシステムでの言語表210に類似のものである。言語表710の2つのサブフィールドは、言語IDフィールド711および言語名フィールド712である。言語IDフィールド711は、特定の言語を示すコードを保持し、ビジネスソリューションソフトウェアプログラムによって理解可能である。言語名フィールド712は、言語の名前を保持するテキストフィールドである。例えば、利用可能な言語の1つが英語(US)である場合、その言語IDフィールド711は、例えば、「01」とすることができ、ASCII標準を使用する場合には、「en−us」とすることもできる。しかしながら、言語IDフィールド711には他のIDタイプも使用され、言語をIDとして表す言語表とは別個の他の任意の方法も使用され得る。
言語表710は、用語テキスト表740と1:nの関係にある。この関係(1:n)は、データベース700から利用可能な各言語ごとに1つのラベルテキストエントリを持つことを可能にする。
マスタ720は、一実施形態では、ラベル700のマスタ言語に関連する情報を含む関係である。別の実施形態では、マスタ720は、用語の元のバージョンをその元の言語および形式で格納する。マスタ720が表である場合、データベース700中の各用語は、マスタ表720に1つの関連するエントリを持つ。各マスタ用語は、マスタ表720においてその一意の識別子によって識別される。マスタ720と言語表710の間の関係は1:1関係であり、用語ID表730もやはり1:1関係にある。というのは、マスタ表720中の1つのエントリは、各ラベルごとに1つの言語でのみ存在し得るからである。別の実施形態では、マスタ720は、マスタ用語の一意のIDを示す用語表730の一部である1つまたは複数のフィールドとすることができる。さらに、マスタ言語関係は、一実施形態では、マスタ言語IDと呼ばれるID表730上の1つのフィールドとすることもできる。
用語テキスト表740は、ラベルテキスト表240と類似のものであり、用語IDによって識別される各用語ごとのテキストを含むエントリを含む。用語テキスト表740は、様々な言語での各用語IDごとの翻訳を含むエントリを含む。用語ID表730と用語テキスト表740の間の関係、ならびに言語表710と用語テキスト表730の間の関係は1:nである。これは、用語ID表730には各用語ごとに1つのエントリがあるが、1つの用語の各バージョンのテキストは、いくつかの言語で存在し得るからである。しかしながら、本発明の他の実施形態では、用語IDと用語テキストの間の関係は、1:1(またはテキストが存在しない場合は1:0)とすることができ、その場合、マスタ用語の各翻訳は、用語ID表730に独自の一意の用語IDおよびエントリを持つ。
用語ID表730は、本発明の一実施形態によれば、IDフィールド731、カテゴリフィールド734、記述フィールド735、複写元フィールド736および状態フィールド737を含む。用語ID表730の一例を図7Bに示す。
ID731フィールドは、データベース700中の特定の用語を識別するのに使用される。一実施形態では、このIDは、グローバルに一意な識別子すなわちGUIDである。新しい用語が生成されるたびに、それに新しいGUIDが割り当てられる。一実施形態では、新しい用語は、単に既存の用語の翻訳としてではなく、データベース700にとっての新しい用語として定義される。しかしながら、他の実施形態では、IDフィールド731の新しいエントリは、既存の用語の翻訳として生成される。
用語ID表730のカテゴリフィールド734は、プログラムのどのコンポーネントでその用語が使用されているかを示す特別なフィールドである。さらに、カテゴリフィールド734の使用は、開発者が、ラベルテキストを作成するときに、その用語を正しく使用するのに役立つ。カテゴリは、その用語のノードタイプおよび属性に対応する。ノードタイプは、その用語の特定の属性である。ゆえに、カテゴリフィールド734は、用語が所望のプログラムに適正に使用されるよう保証することを可能にする。カテゴリは、所望の用語のタイプまたはカテゴリに基づいて、既存の用語のデータベースをサーチすることを可能にする。
記述フィールド735は、ユーザまたは開発者に、その用語が特定の状況でどのように使用されているかを記述する表730のエントリである。例えば、記述フィールド735は、その用語が医療関係の顧客の元帳で使用されていることを知らせるエントリとすることができる。この記述は、言葉で表すこともでき、所定のコードのリストに照合してコード化することもできる。その用語がどのように見つかったかにかかわらず、その使用領域は、領域フィールドを介して入手可能になる。
複写元フィールド736は、そのエントリの関連する用語が用語データベース中の別の用語からコピーされ、複写されているかどうかを示す。用語が別の用語から複写されている場合、複写元フィールド736は、親またはマスタ用語720のID731を含む。一実施形態では、このIDは親のGUIDである。しかしながら、フィールド736では他のIDも使用され得る。用語が別の用語の複写バージョンではない場合、複写元フィールド736は空白であり、またはヌルに設定される。さらに、用語のテキストまたは任意のデータが、複写後にマスタ用語のテキストから変更された場合、複写元フィールド736はヌルに設定され、そのため、マスタ用語720とこの特定の子用語の間のリンクが削除される。しかしながら、このエントリへの他の変更は、複写元736フィールドをリセットさせることになる。別の実施形態では、用語ID表730は、どの用語IDが複写された用語を含むかを示すフィールドを含む。ID表730中の用語は、マスタ用語または子である。用語の各翻訳が独自の一意のIDを持つときには、その用語の元の形だけがマスタ用語である。他のすべてのバージョンは子用語である。複写元フィールド736が割り当てられているラベルは、特定のIDによって表されるマスタに基づいて自動的に更新され得る。
状態フィールド737は、用語データベース中の用語の状態を示すフィールドである。用語の状態は、開発者にとって、用語データベースを用いてデータベース中の選択された用語の有用性および信頼性を判定する際に役に立つ。状態フィールド737は、用語およびそれに関連する翻訳が、規格協会などのソースと照合して校正されているかどうかを示すことができる。状態フィールド737は、その用語を用語データベースに提案したのがだれかも示し得る。これは、開発者が、特定の機関によって作成され、または提案された用語だけを用いようとする場合に役立ち得る。しかしながら、用語ID表730の状態フィールド737には、用語データベース中の用語の開発に関連し、またはその用語の信頼性に関連する他の情報も格納され得る。
用語領域760は、用語データベース中の特定の用語の用法または領域を定義する領域である。用語領域は、名前フィールド761と領域フィールド762の2つのフィールドを含む。名前キー761は、開発者および翻訳者が、どの領域でその用語が使用されているか調べるのに役立つ。名前キー761に含まれる情報は、新しい用語が作成されるときに開発者によって提供され、その特定の用語の用法に関連する情報を提供する。例えば、名前キー761は、開発者に、その用語が元帳で、あるいは生産において使用されることを知らせることができる。領域フィールド762は、開発者に、その用語が文書またはアプリケーションで使用されている領域に関連する情報を提供する。例えば、領域フィールドは、特定の用語が生産環境で、または医療プログラムで使用されていることを知らせることができる。他の領域では、記述フィールドが、用語の用法に関連する他の情報を提供する。
用語テキスト表740は、少なくとも3つの異なるフィールド、すなわち用語IDフィールド744、用語テキストフィールド741および編集日付742を含む。用語テキスト表740の一例を図7Cに示す。本発明の別の実施形態では、言語別アイコン、ビットマップ、音声、動画などのためのその他のフィールドも用語テキスト表740に付加され得る。これら他のフィールドは、そのテキストが書かれている言語を示すフィールド743、または用語テキスト表中のテキストの各バージョンのエントリ識別子を識別するフィールドを含み得る。
用語IDフィールド744は、特定の用語テキストの用語ID731を識別するフィールドである。このエントリは、開発者およびシステムが、現在のテキストがどの用語ID731に関連するか知ることができるようにする。用語テキストはマスタ言語(または他の任意の言語)から別の言語に翻訳されるので、新しい用語テキストエントリが用語テキスト表に作られる。これらのエントリは、元の用語テキストのそれぞれの言語での翻訳バージョンを含む。編集日付フィールド742は、その用語のテキストが、その用語表中の特定のエントリに関連付けられた言語で最後に変更されたのがいつかを開発者が知るために、用語テキスト表740に提供される。この日付は、あるテキストの翻訳が提供された場合、それがその翻訳のすでにより新しいバージョンを置き換えないようにするのに役立つ。翻訳が、ジョブまたは他の手段を介してシステムに自動的にロードされるとき、その翻訳日付は比較され、そのエントリのバージョンが提示されたエントリより新しい場合、提示されたエントリは表に入力されない。また、編集日付フィールド742は、開発者が、その翻訳がマスタテキストエントリの最新バージョンによるものであるかどうかチェックすることも可能にする。
図8は、本発明の一実施形態による、用語データベースにアクセスしてラベルの所望の用語を検索するときに開発者によって実行される諸ステップを示す流れ図である。本発明の一実施形態では、開発者は、用語データベースへの全アクセス権限を持ち、そのデータベースの用語にアクセスし、それを提案し、付加し、あるいはそこから用語を削除することができる。他の実施形態では、用語データベースへのアクセスは、用語を作成することのできる用語作成者に提供される。この実施形態では、開発者によって用語として提案されたラベルは、用語作成者によって検討され、正しい領域の新しい用語として付加される。
用語データベースでの用語のサーチは、前述の図5のラベルシステム200によって実行されるサーチと類似のものである。しかしながら、本発明の追加のサーチパラメータは、所望のテキストとマッチしないテキストにもかかわらず、トピック別の結果が表示されることを可能にする。開発者は、普通、前述の図6に示したラベルダイアログと類似の(またはそれと同じ)ダイアログを介して用語データベースにアクセスする。図9に、本発明で使用され得るダイアログウィンドウの一例を示す。しかしながら他のインターフェースを用いて用語データベース700にアクセスすることもできる。開発者は、ブロック800でダイアログ900を開く。
開発者は、ダイアログ900に、ラベルの所望の用語法またはその一部、ならびにそのラベルのカテゴリおよび領域を入力することによって用語データベースにアクセスし始める。これを図8のブロック801に示す。ダイアログ900でのカテゴリおよび領域の選択は、例えば、プルダウンメニューやチェックボックスの使用によって手動で行うこともでき、カテゴリおよび領域フィールドを設定するためのシステムの現在のコントロールを用いて自動で行うこともできる。また、開発者はこの時点において、例えば、医療状況や生産状況などにおける、その用語の特定の用法を選択することもできる。次に、開発者は、ダイアログウィンドウ上でボタン950などのボタンを選択することによってサーチ機能にアクセスする。サーチ機能のアクティブ化を図8のブロック802に示す。サーチ機能は、用語データベースを進み、そのラベルの所望のテキストとマッチする用語データベース中のエントリを識別する。
サーチ機能は、結果として用語データベース中の識別されたエントリを集める。サーチ結果はダイアログ900のセクション940で開発者に提示される。次いでその結果が、所定の方法に従って順序付けされ、またはソートされる。一実施形態では、この用語の配列は、テキストマッチングによるものである。しかしながら、特定の使用領域によるソートなど、別のソート方法も使用され得る。ユーザへの結果の提示をブロック803に示す。別の実施形態では、開発者はサーチ結果を、所定の状態を持つ用語、すなわち特定のソースによって提案され、または作成された用語に限定することができる。
次いで、開発者は、その結果に所望の用語があるかどうか判定するために結果を検討する。これを図8のブロック804に示す。結果が、所望のラベルの正しい用語およびカテゴリとマッチする用語を含む場合、開発者は、ラベルの用語に全く調整を加えずにラベルでその用語を使用することができる。次いで、ブロック805でラベルが複写される。正しい用語が結果にはあるが、正しいカテゴリにはない場合、開発者は、どの用語が所望の用語への最も正しいマッチであるか決定しなければならない。その場合開発者は、その用語エントリの記述フィールドに含まれる情報を確認することができる。このフィールドは、開発者にその用語の一般的用法を知らせる。この情報の検討をブロック806に示す。
さらに、開発者が結果を検討しているとき、開発者は、用語領域表760に含まれる、その用語の特定の用法に関連する情報を確認することができる。開発者が複写される用語を検討しているときには、結果に同じ用語が複数回出現し得る。これは、所望の用語がサーチする言語で複数の意味を持つときにしばしば起こる。例えば、ある英語の単語がスペイン語では複数の同義語を持つことがある。その場合、開発者は、データベースで提供される情報に基づいてどの用語を使用すべきか選択しなければならない。用語領域表760の領域フィールド762は、開発者に、選択されたカテゴリでのその用語の特定の用法に関する情報を提供する。例えば、英語の「customer」という語は、その用語の用法に応じて異なる意味を持ち得る。店舗の設定では、「customer」とは、その店舗から商品を買う人である。しかしながら、医療の状況では、「customer」とは患者である。したがって、用語領域の使用によって、開発者は、使用すべき正しい「customer」を選択し、ゆえに、その用語の意図する用法に基づき、所望の用語法によりマッチする用語への翻訳を獲得することができる。用語の特定の情報の検討をブロック807に示す。
その用語の用法に基づいて、その用語が開発者の意図にマッチする場合、開発者は、その用語の1つを選択し、その用語を新しいラベルに複写することによって新しいラベルを作成することができる。用語が複写されると、用語ID表730に新しいレコードが生成される。さらに、用語テキスト表中の翻訳すべてがその新しいレコードに複写される。また、元の用語の一意のIDも複写元フィールドに格納される。これは、開発者などが、この用語が別の領域に由来するものであることを知るのに役立つ。また、これは、例えば、開発者によってジョブが呼び出されるときなど、マスタ用語が更新されるときに、その用語および関連する翻訳が更新されることも可能にする。この用語の複写を図8のブロック808に示す。
所望の用語またはその用語の用法が用語データベース700のサーチで見つからなかった場合。その場合、開発者は、ブロック816で、所望のテキストの独自の拡張を用いて新しいラベルを作成する。開発者は、データベースにその新しい用語を提案することもできる。一般に、開発者は、事実上一般的な用語をデータベースに提案する。開発者は、カテゴリ情報、記述情報、用語領域に関連する関連情報を提供するなど、その用語の要件すべてを記入することによって、用語データベース700に単語を提案する。これを図8のブロック820に示す。
開発者がダイアログ900上で提案ボタン951を選択するとき。これは用語データベースのその新しい用語を送る。用語データベースで用語を受け取ると、用語データベースに提案された用語の新しいエントリが作成される。この時、状態フィールド737は提案されているに設定される。後で、この用語が検討されてから、この用語の状態は、検討済みまたはこの用語が用語データベースによって容認されていることを示す他の指示に変更され得る。またこの時、開発者は、その用語の任意の既存の翻訳も用語データベースに提供し、あるいは、翻訳は、後で翻訳によって用語データベースに追加され得る。テキストのすべてがその新しい用語の用語テキスト表エントリに格納される。用語の用語データベースへの提案を、図8のブロック820に示す。提案プロセス時に、開発者は、現在提供されている翻訳がその用語の特定の用法について的確ではない場合、既存の用語の更新された翻訳を提供して、データベースを更新することができる。
以上、本発明を特定の実施形態を参照して説明したが、本発明の精神および範囲を逸脱することなく形態および細部において変更が加えられ得ることを、当業者であれば理解されよう。
本発明が使用され得る1つの例示的環境を示すブロック図である。 ラベルシステムを構成する表を示すブロック図である。 ラベルID表中の各フィールドを示す図である。 ラベルテキスト表中の各フィールドを示す図である。 ラベルシステムのコンポーネント間の関係を示すブロック図である。 新しいラベルが作成されるときに実行される諸ステップを示す流れ図である。 ラベルデータベースを開発し、サーチするときにユーザによって呼び出されるユーザインターフェースの一例を示す図である。 本発明の用語データベースを構成する諸表を示すブロック図である。 用語ID表中の各フィールドを示す図である。 用語テキスト表中の各フィールドを示す図である。 ラベルの新しい用語をサーチし、または作成するときに実行される諸ステップを示す流れ図である。 用語データベースを開発し、サーチするときにユーザによって呼び出されるユーザインターフェースの一例を示す図である。

Claims (21)

  1. 用語データベースを用いて所望の用語を識別する方法であって、前記用語データベースは、
    用語識別(ID)テーブルと、
    ここで、該用語識別(ID)テーブルは、サーチ可能な複数の用語について、該複数の用語のうちの各用語に関する用語IDフィールドと、用語がプログラムのどのコンポーネントで使用されているかを示すカテゴリフィールドと、前記複数の用語のうちの各用語が前記プログラムのどのコンポーネントでどのように使用されているかを示す記述フィールドとを含み、
    前記複数の用語のうちの各用語について、用語IDフィールドと、用語テキストフィールドと、言語フィールドとを含む用語テキストテーブルと、
    用語領域テーブルと
    を含み、
    ここで、該用語領域テーブルは、前記用語データベース中に定義された前記複数の用語のうちの各用語について、名前フィールドと、アプリケーションのどこで前記各用語が使用されているかを示す領域フィールドを含み、
    該方法は、コンピュータにより処理されるコンピュータ実行命令であって、
    ダイアログインターフェースを開くステップと、
    前記ダイアログインターフェースにおいてデータを受け取るステップであって、該受信したデータは、前記所望の用語の所望のテキストを示す第1の情報と、前記所望の用語の特定の用法に関連する第2の情報とを含み、
    前記受け取ったデータを用いて前記用語データベースをサーチし、その結果を前記ダイアログインターフェースに表示するステップと、
    前記ダイアログインターフェースに表示された結果の中から、前記記述フィールドを参照して、前記所望の正しい用語と判断され、前記所望の用語の前記テキストにマッチするテキストを有するが、正しいカテゴリではない用語が見つかった場合に、その用語の指定を受け付けるステップと、
    指定された用語を前記所望の用語として前記用語データベースの前記用語テキストテーブルから当該見つかった用語の前記第1の情報に関連する情報を前記用語識別(ID)テーブル内の新しいラベルに係るフィールドに複写するステップと、
    前記ダイアログインターフェースに表示された結果の中に、前記所望の用語の前記テキストにマッチするテキストを有する用語が見つからなかった場合、前記所望の用語の特定の用法にマッチする用法の用語が見つかった場合には、該用語の指定を受け付けるステップと、
    指定された用語を前記所望の用語として前記用語データベースの前記用語識別(ID)テーブルから当該見つかった用語の前記第2の情報に関連する情報を前記用語識別(ID)テーブル内の新しいラベルに係るフィールドに複写するステップと、
    前記ダイアログインターフェースに表示された結果の中に前記所望の用語の特定の用法にマッチする用法を有する用語が見つからなかった場合、前記用語データベースからのデータ以外の新しい用語として、前記所望の用語を前記用語データベース内に格納するステップと
    を具えたことを特徴とする方法。
  2. 前記用語データベース内に前記所望の用語の前記テキストにマッチするテキストを有する用語が見つからなかった場合、前記用語データベースをサーチするステップは、前記所望の用語の特定の用法とマッチする用語を求めて前記用語データベースをサーチするステップをさらに具えたことを特徴とする請求項1記載の方法。
  3. 前記受信したデータは、
    前記用語のカテゴリコードと、
    前記用語の記述と
    をさらに含むことを特徴とする請求項1記載の方法。
  4. 前記所望の用語を前記用語データベース内に格納するとき、前記用語データベースに前記所望の用語の前記テキストの各バージョンを編集日付に基づいて格納するステップをさらに具えたことを特徴とする請求項1記載の方法。
  5. 前記用語データベースをサーチするステップは、
    前記用語データベースに格納されたテキストの少なくとも一部を選択するステップと、
    前記選択されたテキストにおいて、該選択されたテキストがどのように使用されているかの指示を識別するステップと、
    前記選択されたテキストの前記指示された用法を前記新しい用語の指示された用法と比較するステップと、
    前記新しい用語の前記テキストおよび指示された用法とのマッチに基づいて前記選択されたテキストを前記選択のために順序付けするステップと
    をさらに具えたことを特徴とする請求項1記載の方法。
  6. 前記用語データベース中の、前記新しい用語と類似の特定の用法を有するテキストを前記順序付けに従って選択するステップをさらに具えたことを特徴とする請求項5記載の方法。
  7. ユーザインターフェース上に、前記マッチする用語を前記所望の用語を選択するために表示するステップをさらに具えたことを特徴とする請求項6記載の方法。
  8. 前記所望の用語を選択したとき、前記用語データベースのテキストに含まれる各識別されたエントリごとに用語を表示するステップをさらに具えたことを特徴とする請求項7記載の方法。
  9. 前記用語識別(ID)テーブルは、前記用語が複写元フィールドに格納された別の用語の複写であることを示すフィールドをさらに具えたことを特徴とする請求項1記載の方法。
  10. 前記カテゴリフィールドは、
    用語のノードタイプと、
    用語が使用されるプログラムと、
    用語の属性名と
    をさらに具えたことを特徴とする請求項1記載の方法。
  11. 前記用語識別(ID)フィールドは、GUIDであることを特徴とする請求項1記載の方法。
  12. 前記複写元フィールドは、現在の用語がそこから複写された用語の前記用語識別(ID)フィールドを含むことを特徴とする請求項9記載の方法。
  13. 前記用語識別(ID)テーブルは、前記用語が前記用語データベースの別の用語から複写されていることを示すマスタ用語であるかどうかを示すフィールドを含むことを特徴とする請求項1記載の方法。
  14. 前記用語識別(ID)テーブルは、前記用語が規格データとしてのソースデータと照合して校正されているかどうかを示す状態フィールドを含むことを特徴とする請求項1記載の方法。
  15. 前記用語テキストテーブルは、
    前記用語テキストフィールドに含まれる元の言語でのテキスト表現エントリと、
    前記テキスト表現エントリの、前記複数の言語の少なくとも1つへの翻訳と
    を具えたことを特徴とする請求項1記載の方法。
  16. 前記用語テキストテーブルは、
    前記用語テキストテーブル中の各エントリごとにそのエントリが作成された日付を示す編集日付をさらに具えたことを特徴とする請求項1記載の方法。
  17. 前記用語テキストテーブルは、
    前記用語テキストテーブル中の各エントリごとの用語IDフィールドと、
    前記用語が前記用語データベースの別の用語から複写されていることを示すマスタ用語の一意のIDを保持するフィールドと
    をさらに具えたことを特徴とする請求項1記載の方法。
  18. 前記用語識別(ID)テーブル、前記用語テキストテーブル、および前記用語領域テーブルは、単一の表にあることを特徴とする請求項1記載の方法。
  19. 請求項1ないし18のいずれかに記載の方法をコンピュータによって実行することが可能なコンピュータ実行命令を有するコンピュータプログラム。
  20. コンピュータにより、請求項1ないし18のいずれかに記載の方法を実行することが可能なコンピュータ実行命令を有するコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体。
  21. 用語データベースを用いて所望の用語を識別するシステムであって、前記用語データベースは、
    用語識別(ID)テーブルと、
    ここで、該用語識別(ID)テーブルは、サーチ可能な複数の用語について、該複数の用語のうちの各用語に関する用語IDフィールドと、用語がプログラムのどのコンポーネントで使用されているかを示すカテゴリフィールドと、前記複数の用語のうちの各用語が前記プログラムのどのコンポーネントでどのように使用されているかを示す記述フィールドとを含み、
    前記複数の用語のうちの各用語について、用語IDフィールドと、用語テキストフィールドと、言語フィールドとを含む用語テキストテーブルと、
    用語領域テーブルと
    を含み、
    ここで、該用語領域テーブルは、前記用語データベース中に定義された前記複数の用語のうちの各用語について、名前フィールドと、アプリケーションのどこで前記各用語が使用されているかを示す領域フィールドを含み、
    該システムは、
    プロセッサと、
    コンピュータ実行命令を有するメモリと
    を具え、
    前記プロセッサにより処理される前記コンピュータ実行命令は、
    ダイアログインターフェースを開くことと、
    前記ダイアログインターフェースにおいてデータを受け取ることであって、該受信したデータは、前記所望の用語の所望のテキストを示す第1の情報と、前記所望の用語の特定の用法に関連する第2の情報とを含み、
    前記受け取ったデータを用いて前記用語データベースをサーチし、その結果を前記ダイアログインターフェースに表示することと、
    前記ダイアログインターフェースに表示された結果の中から、前記記述フィールドを参照して、前記所望の正しい用語と判断され、前記所望の用語の前記テキストにマッチするテキストを有するが、正しいカテゴリではない用語が見つかった場合に、その用語の指定を受け付けることと、
    指定された用語を前記所望の用語として前記用語データベースの前記用語テキストテーブルから当該見つかった用語の前記第1の情報に関連する情報を前記用語識別(ID)テーブル内の新しいラベルに係るフィールドに複写することと、
    前記ダイアログインターフェースに表示された結果の中に、前記所望の用語の前記テキストにマッチするテキストを有する用語が見つからなかった場合、前記所望の用語の特定の用法にマッチする用法の用語が見つかった場合には、該用語の指定を受け付けることと
    指定された用語を前記所望の用語として前記用語データベースの前記用語識別(ID)テーブルから当該見つかった用語の前記第2の情報に関連する情報を前記用語識別(ID)テーブル内の新しいラベルに係るフィールドに複写することと、
    前記ダイアログインターフェースに表示された結果の中に前記所望の用語の特定の用法にマッチする用法を有する用語が見つからなかった場合、前記用語データベースからのデータ以外の新しい用語として、前記所望の用語を前記用語データベース内に格納することと
    を実行するように構成したことを特徴とするシステム。
JP2006537967A 2003-10-30 2004-07-22 用語データベース拡張のための方法およびシステム Expired - Fee Related JP5367947B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/696,933 US7814101B2 (en) 2003-10-30 2003-10-30 Term database extension for label system
US10/696,933 2003-10-30
PCT/US2004/023555 WO2005045564A2 (en) 2003-10-30 2004-07-22 Term database extension for label system

Publications (2)

Publication Number Publication Date
JP2007510218A JP2007510218A (ja) 2007-04-19
JP5367947B2 true JP5367947B2 (ja) 2013-12-11

Family

ID=34550234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006537967A Expired - Fee Related JP5367947B2 (ja) 2003-10-30 2004-07-22 用語データベース拡張のための方法およびシステム

Country Status (6)

Country Link
US (2) US7814101B2 (ja)
EP (1) EP1584018A4 (ja)
JP (1) JP5367947B2 (ja)
KR (1) KR101201011B1 (ja)
CN (1) CN1829987B (ja)
WO (1) WO2005045564A2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783637B2 (en) * 2003-09-30 2010-08-24 Microsoft Corporation Label system-translation of text and multi-language support at runtime and design
US7814101B2 (en) * 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
US7774195B2 (en) * 2005-03-08 2010-08-10 Microsoft Corporation Method and system for creating, storing, managing and consuming culture specific data
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
US7653528B2 (en) * 2005-03-08 2010-01-26 Microsoft Corporation Resource authoring incorporating ontology
US7698126B2 (en) * 2005-03-08 2010-04-13 Microsoft Corporation Localization matching component
US7707549B2 (en) * 2006-03-15 2010-04-27 Microsoft Corporation Synchronicity in software development
US7881923B2 (en) * 2006-03-31 2011-02-01 Research In Motion Limited Handheld electronic device including toggle of a selected data source, and associated method
LU91277B1 (fr) * 2006-09-12 2008-03-25 Brev Ernest T Freylinger S A O Méthode et système d'assistance à la protection des marques
US20080115072A1 (en) * 2006-11-09 2008-05-15 International Business Machines Corporation Method and apparatus for visually assisting language input mode indentification
US7657513B2 (en) * 2006-12-01 2010-02-02 Microsoft Corporation Adaptive help system and user interface
US8387024B2 (en) * 2007-04-18 2013-02-26 Xerox Corporation Multilingual software testing tool
US9454514B2 (en) * 2009-09-02 2016-09-27 Red Hat, Inc. Local language numeral conversion in numeric computing
WO2011100573A1 (en) * 2010-02-12 2011-08-18 Google Inc. Compound splitting
JP2012038191A (ja) * 2010-08-10 2012-02-23 Seiko Epson Corp 電子機器および電子機器の制御方法
EP2535802B1 (en) * 2011-06-16 2016-08-10 GN Netcom A/S Computer-implemented method of arranging text items in a predefined order
US8850310B2 (en) * 2011-10-11 2014-09-30 Microsoft Corporation Data entry suggestion lists for designated document data entry areas based on data from other document data entry areas
US9216835B2 (en) * 2012-09-17 2015-12-22 Intel Corporation Translating application labels
US9442909B2 (en) 2012-10-11 2016-09-13 International Business Machines Corporation Real time term suggestion using text analytics
US20130238311A1 (en) * 2013-04-21 2013-09-12 Sierra JY Lou Method and Implementation of Providing a Communication User Terminal with Adapting Language Translation
US9519643B1 (en) * 2015-06-15 2016-12-13 Microsoft Technology Licensing, Llc Machine map label translation
US10303799B2 (en) * 2016-02-11 2019-05-28 International Business Machines Corporation Converging tool terminology
KR102251832B1 (ko) * 2016-06-16 2021-05-13 삼성전자주식회사 번역 서비스를 제공하는 전자 장치 및 방법
US10162819B2 (en) * 2016-08-17 2018-12-25 Netflix, Inc. Change detection in a string repository for translated content
US20180267678A1 (en) * 2017-03-14 2018-09-20 Salesforce.Com, Inc. Techniques and architectures for managing text strings to be provided by a graphical user interface
US10417183B2 (en) 2017-03-14 2019-09-17 Salesforce.Com, Inc. Database and file structure configurations for managing text strings to be provided by a graphical user interface
US11074285B2 (en) * 2017-05-10 2021-07-27 Yva.Ai, Inc. Recursive agglomerative clustering of time-structured communications
US10489024B2 (en) * 2017-09-12 2019-11-26 Sap Se UI rendering based on adaptive label text infrastructure
CN108874971B (zh) * 2018-06-07 2021-09-24 北京赛思信安技术股份有限公司 一种应用于海量标签化实体数据存储的工具和方法
CN109918655B (zh) * 2019-02-27 2023-11-14 浙江数链科技有限公司 物流术语库生成方法和装置
CN113010244B (zh) * 2021-02-24 2023-05-26 上海莉莉丝网络科技有限公司 语言资源数据库、语言资源管理平台及语言资源管理系统

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2593548B2 (ja) * 1989-04-11 1997-03-26 株式会社東芝 データ処理装置
US5303151A (en) 1993-02-26 1994-04-12 Microsoft Corporation Method and system for translating documents using translation handles
JP3028996B2 (ja) * 1993-05-18 2000-04-04 東洋エンジニアリング株式会社 表示画面管理方法
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US5768581A (en) * 1996-05-07 1998-06-16 Cochran; Nancy Pauline Apparatus and method for selecting records from a computer database by repeatedly displaying search terms from multiple list identifiers before either a list identifier or a search term is selected
JPH1091418A (ja) * 1996-09-17 1998-04-10 Nec Corp 多国語対応ソフトウェア実現方式
US5842217A (en) 1996-12-30 1998-11-24 Intel Corporation Method for recognizing compound terms in a document
JPH10320186A (ja) 1997-03-18 1998-12-04 Fujitsu Ltd ソフトウェア仕様確認サーバ、ソフトウェア開発方法、ソフトウェア開発システム、ソフトウェア仕様確認プログラムを記録した記録媒体、ソフトウェア開発プログラムを記録した記録媒体及びソフトウェア開発注文プログラムを記録した記録媒体
US7069228B1 (en) * 1998-04-30 2006-06-27 Rose James W Apparatus and method for an internet based computer reservation booking system
US6247043B1 (en) * 1998-06-11 2001-06-12 International Business Machines Corporation Apparatus, program products and methods utilizing intelligent contact management
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6467082B1 (en) * 1998-12-02 2002-10-15 Agere Systems Guardian Corp. Methods and apparatus for simulating external linkage points and control transfers in source translation systems
US6804675B1 (en) * 1999-05-11 2004-10-12 Maquis Techtrix, Llc Online content provider system and method
US6507812B1 (en) * 1999-06-29 2003-01-14 International Business Machines Corporation Mock translation method, system, and program to test software translatability
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
US6567973B1 (en) * 1999-07-28 2003-05-20 International Business Machines Corporation Introspective editor system, program, and method for software translation using a facade class
JP2001109780A (ja) * 1999-07-30 2001-04-20 Canon Inc 情報処理装置、情報処理システム、情報処理装置の制御方法及び記憶媒体
GB2358260B (en) 2000-01-14 2004-07-07 Reuters Ltd News distribution
US6493661B1 (en) 2000-05-16 2002-12-10 Scheider Automation, Inc. Reusable multi-language support facility for software
US20020156770A1 (en) * 2000-05-31 2002-10-24 Krichilsky Philip S. System and method for marketing products
WO2002027534A2 (en) * 2000-09-29 2002-04-04 Victor Hsieh Online intelligent information comparison agent of multilingual electronic data sources over inter-connected computer networks
AU2002210834A1 (en) * 2000-10-30 2002-05-15 Alphonsus Albertus Schirris Pre-translated multi-lingual online search system, method, and computer program product
US6629104B1 (en) * 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
US20020123878A1 (en) 2001-02-05 2002-09-05 International Business Machines Corporation Mechanism for internationalization of web content through XSLT transformations
JP2003006198A (ja) * 2001-04-20 2003-01-10 Canon Inc 画像処理装置およびその方法、並びに、サーバ装置
WO2003019326A2 (en) * 2001-05-09 2003-03-06 Core Ipr Limited Method and system for facilitating creation, presentation, exchange, and management of documents to facilitate business transactions
US7464072B1 (en) * 2001-06-18 2008-12-09 Siebel Systems, Inc. Method, apparatus, and system for searching based on search visibility rules
US20030004946A1 (en) * 2001-06-28 2003-01-02 Vandenavond Todd M. Package labeling
US6772110B2 (en) * 2001-06-28 2004-08-03 Microsoft Corporation Method and system for converting and plugging user interface terms
AU2002323299A1 (en) * 2001-08-21 2003-03-03 Sara Lee Corporation Systems and methods for manufacturing
US6826572B2 (en) * 2001-11-13 2004-11-30 Overture Services, Inc. System and method allowing advertisers to manage search listings in a pay for placement search system using grouping
US6722568B2 (en) * 2001-11-20 2004-04-20 Ncr Corporation Methods and apparatus for detection and processing of supplemental bar code labels
US20030115552A1 (en) * 2001-11-27 2003-06-19 Jorg Jahnke Method and system for automatic creation of multilingual immutable image files
US20030101046A1 (en) * 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
US7080325B2 (en) * 2002-02-22 2006-07-18 Call-Tell Llc Graphical device for comprehensive viewing and input of variable data via a browser-based display
US7231395B2 (en) * 2002-05-24 2007-06-12 Overture Services, Inc. Method and apparatus for categorizing and presenting documents of a distributed database
US20040039989A1 (en) * 2002-08-26 2004-02-26 Peter Warren Structured forms with configurable labels
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US20040128272A1 (en) * 2002-12-30 2004-07-01 Thomas Salomon Integrating label data with a material master
US20040230328A1 (en) * 2003-03-21 2004-11-18 Steve Armstrong Remote data visualization within an asset data system for a process plant
WO2004109626A2 (en) * 2003-05-30 2004-12-16 Astrid Keene System and method for labeling pharmaceutical prescriptions
US8447775B2 (en) * 2003-06-13 2013-05-21 Microsoft Corporation Database query user interface to assist in efficient and accurate query construction
US7231396B2 (en) 2003-07-24 2007-06-12 International Business Machines Corporation Data abstraction layer for a database
US7783637B2 (en) * 2003-09-30 2010-08-24 Microsoft Corporation Label system-translation of text and multi-language support at runtime and design
US7814101B2 (en) * 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
US20060146790A1 (en) * 2004-12-30 2006-07-06 Cisco Technology, Inc. System and method for providing reach me cover me feature in a session initiation protocol (SIP) environment

Also Published As

Publication number Publication date
KR20060111361A (ko) 2006-10-27
US7814101B2 (en) 2010-10-12
US20050097109A1 (en) 2005-05-05
EP1584018A2 (en) 2005-10-12
CN1829987A (zh) 2006-09-06
WO2005045564A2 (en) 2005-05-19
EP1584018A4 (en) 2009-07-22
US20060074987A1 (en) 2006-04-06
KR101201011B1 (ko) 2012-11-13
JP2007510218A (ja) 2007-04-19
CN1829987B (zh) 2011-06-08
WO2005045564A3 (en) 2006-02-23

Similar Documents

Publication Publication Date Title
JP5367947B2 (ja) 用語データベース拡張のための方法およびシステム
US7783637B2 (en) Label system-translation of text and multi-language support at runtime and design
US6915306B1 (en) Automatic generation of data models and accompanying user interfaces
US7333986B2 (en) Hierarchical database management system, hierarchical database management method, and hierarchical database management program
US6571247B1 (en) Object oriented technology analysis and design supporting method
US7610548B1 (en) Method and apparatus for applying locale behaviors to regions of a form
US20040093559A1 (en) Web client for viewing and interrogating enterprise data semantically
US20070239742A1 (en) Determining data elements in heterogeneous schema definitions for possible mapping
US20030135358A1 (en) Multi-language phrase editor and method thereof
EP1672528A2 (en) File Formats, Methods, and Computer Program Products for Representing Workbooks
US20070124320A1 (en) Modeling a data element
US20070255694A1 (en) Document-drafting system using document components
JP2007149096A (ja) データ要素命名システムおよび方法
JP2009080626A (ja) メタデータ管理装置、プログラムおよび方法
US8433729B2 (en) Method and system for automatically generating a communication interface
US20060004887A1 (en) Method and device for generating distributed java applications by means of a central xml configuration file
US20060004836A1 (en) Dynamic forms generation
US20080256096A1 (en) Localizing reports using metadata and multilanguage translations
JP3532083B2 (ja) 情報管理装置及び情報検索方法
US20230334268A1 (en) Logical pointers supporting reuse of text translations
JPH10198693A (ja) 住所録管理装置及び住所録管理方法
Jafarlou et al. From two-way to three-way: domain-specific model differencing and conflict detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20111208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111208

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120104

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120120

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130809

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20130809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130912

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees