(57)【要約】  本開示は、サービス管理アプリケーションインターフェースにおいてグローバリゼーション機能を提供するためのシステムおよび方法を提供することができる。一実施形態では、方法は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことと、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することと、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することと、を含むことができ、テキスト文字列は、定義の少なくとも一部分を含む。【選択図】図１
2020530639.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
第１の言語で記述された１つ以上のテキスト文字列を受信することと、
前記１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、
前記１つ以上のテキスト文字列内に、前記第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、
前記定義内に、前記少なくとも１つの関数に対応し、前記第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、
前記第２の言語で記述された前記少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、前記１つ以上のテキスト文字列を、前記第２の言語で記述され、前記定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、
データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、前記翻訳されたテキスト文字列を表示することと、を含む、コンピュータ実装方法。
【請求項２】
前記第１の言語は、英語を含み、前記第２の言語は、英語以外の言語を含む、請求項１に記載の方法。
【請求項３】
前記変換することは、
前記１つ以上のテキスト文字列が前記第１の言語から前記第２の言語に翻訳されるという指示を、ユーザまたはアプリケーションプログラムから受信することをさらに含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの関数を前記第１の言語から前記第２の言語に翻訳することと、
前記定義内に、前記第２の言語に翻訳された前記少なくとも１つの関数を埋め込むことと、をさらに含む、請求項１に記載の方法。
【請求項５】
前記変更することは、
前記データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージに、前記第２の言語の１つ以上の翻訳されたテキスト文字列を記憶することをさらに含む、請求項１に記載の方法。
【請求項６】
データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージにアクセスして、前記第２の言語の前記１つ以上の翻訳されたテキスト文字列を取得することをさらに含む、請求項１に記載の方法。
【請求項７】
前記表示することは、
アプリケーションプログラム内の前記翻訳されたテキスト文字列を表示装置に出力することを含み、前記翻訳されたテキスト文字列の少なくとも一部分に応答して受信される、ユーザからのコマンドの入力時に、前記アプリケーションプログラムは、前記少なくとも１つの関数に対応し、前記第２の言語で記述された前記少なくとも１つの埋め込まれた関数を実行する、請求項１に記載の方法。
【請求項８】
前記少なくとも１つの関数は、前記アプリケーションプログラムを実行するコンピュータによる物理的動作を促進し、前記物理的動作は、以下、すなわち文書を印刷すること、あるいはメッセージまたは電子メールを送信することのうちの少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
コンピュータ実装方法であって、
第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、
前記定義内に、前記第１の言語に翻訳可能な第２の言語で記述された前記少なくとも１つの関数を埋め込むことと、
前記第１の言語に翻訳可能な前記第２の言語で記述された前記少なくとも１つの関数を検索することと、
前記第２の言語で記述された前記少なくとも１つの関数に少なくとも部分的に基づいて、前記第１の言語から前記第２の言語にテキスト文字列を変換することと、を含み、前記テキスト文字列は、前記定義の少なくとも一部分を含む、コンピュータ実装方法。
【請求項１０】
前記第１の言語は、英語を含み、前記第２の言語は、英語以外の言語を含む、請求項９に記載の方法。
【請求項１１】
前記１つ以上のテキスト文字列が前記第１の言語から前記第２の言語に翻訳されるという指示を、ユーザまたはアプリケーションプログラムから受信することをさらに含む、請求項９に記載の方法。
【請求項１２】
前記少なくとも１つの関数を含む前記定義内に、前記第１の言語から前記第２の言語に１つ以上のテキスト文字列を翻訳することと、
前記１つ以上の翻訳されたテキスト文字列を記憶することと、をさらに含む、請求項９に記載の方法。
【請求項１３】
前記記憶することは、
前記第２の言語の１つ以上の翻訳されたテキスト文字列を、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージに記憶することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージにアクセスして、前記第２の言語の前記１つ以上の翻訳されたテキスト文字列を取得することをさらに含む、請求項１３に記載の方法。
【請求項１５】
アプリケーションプログラム内の前記翻訳されたテキスト文字列を表示装置に出力することをさらに含み、前記翻訳されたテキスト文字列の少なくとも一部分に応答して受信される、ユーザからのコマンドの入力時に、前記アプリケーションプログラムは、前記少なくとも１つの関数に対応し、前記第２の言語で記述された前記少なくとも１つの埋め込まれた関数を実行する、請求項９に記載の方法。
【請求項１６】
前記少なくとも１つの関数は、前記アプリケーションプログラムを実行するコンピュータによる物理的動作を促進し、前記物理的動作は、以下、すなわち文書を印刷すること、あるいはメッセージまたは電子メールを送信することのうちの少なくとも１つを含む、請求項９に記載の方法。
【請求項１７】
システムであって、
メモリに記憶されたコンピュータ可読命令を実行するように構成された少なくとも１つのプロセッサを有するサーバ装置を含み、前記コンピュータ可読命令は、
第１の言語で記述された１つ以上のテキスト文字列を受信することと、
前記１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、
前記１つ以上のテキスト文字列内に、前記第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、
前記定義内に、前記少なくとも１つの関数に対応し、前記第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、
前記第２の言語で記述された前記少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、前記１つ以上のテキスト文字列を、前記第２の言語で記述され、前記定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、
データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、
前記翻訳されたテキスト文字列を表示することと、を行うように動作可能である、システム。
【請求項１８】
前記コンピュータ可読命令は、
前記少なくとも１つの関数を前記第１の言語から前記第２の言語に翻訳することと、
前記定義内に、前記第２の言語に翻訳された前記少なくとも１つの関数を埋め込むことと、を行うようにさらに動作可能である、請求項１７に記載のシステム。
【請求項１９】
表示のために動作可能な前記コンピュータ可読命令は、
アプリケーションプログラム内の前記翻訳されたテキスト文字列を表示装置に出力するように動作可能である命令をさらに含み、前記翻訳されたテキスト文字列の少なくとも一部分に応答して受信される、ユーザからのコマンドの入力時に、前記アプリケーションプログラムは、前記少なくとも１つの関数に対応し、前記第２の言語で記述された前記少なくとも１つの埋め込まれた関数を実行する、請求項１７に記載のシステム。
【請求項２０】
前記少なくとも１つの関数は、前記アプリケーションプログラムを実行するコンピュータによって実行される物理的動作を促進し、前記物理的動作は、以下、すなわち文書を印刷すること、あるいはメッセージまたは電子メールを送信することのうちの少なくとも１つを含む、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年８月１０日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｇｌｏｂａｌｉｚａｔｉｏｎ  Ｆｅａｔｕｒｅｓ  ｉｎ  ａ  Ｓｅｒｖｉｃｅ  Ｍａｎａｇｅｍｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ」と題する、米国特許第６２／５４３，４８８号に対する優先権を主張し、その内容は、参照により援用される。
【背景技術】
【０００２】
従来のアプリケーションプログラムでは、単一の言語のみを使用して、アプリケーションのユーザと相互作用し得る。例えば、米国のユーザ向けに記述されたアプリケーションプログラムは、通常、ユーザがアプリケーションプログラムを理解し、それと相互作用するために、アメリカ英語で記述されている。いくつかの従来のアプリケーションプログラムでは、第１のアプリケーションプログラムの言語を、例えば、フランス語などフランスのユーザが理解できる言語に変換するために、Ｇｏｏｇｌｅ  Ｔｒａｎｓｌａｔｅなど別のアプリケーションプログラムを併用しなければならない。他の従来のアプリケーションプログラムでは、第１のアプリケーションの言語を、例えば、フランスのユーザが理解できる、フランス語などの言語に変換するために、リモート言語ライブラリまたはデータベースに第１のアプリケーションプログラムがアクセスする必要がある場合がある。従来のアプリケーションプログラムの各々は、時間がかかり、および／または使用しにくい。
【発明の概要】
【０００３】
本開示の特定の実施形態は、サービス管理アプリケーションインターフェースにおいてグローバリゼーション機能を提供するためのシステムおよび方法を対象とする。本開示の様々な実施形態の、サービス管理アプリケーションプログラムおよびサービス管理アプリケーションインターフェースへの適用性を認識するであろう。さらに、本開示の特定の実施形態は、サービス管理アプリケーションプログラムのすべての態様、ならびに他の産業および産業部門における他の種類のアプリケーションプログラムに適用されることができる。例えば、本開示の特定の実施形態は、情報技術（ＩＴ）および／またはＩＴサービス管理（ＩＴＳＭ）以外のワークフロー管理または顧客サービスにおいて使用されるアプリケーションプログラムなど、任意の数の他のアプリケーションプログラムに適用されることができる。
【０００４】
一実施形態では、コンピュータ実施方法を提供することができる。方法は、第１の言語で記述された１つ以上のテキスト文字列を受信することを含むことができる。方法は、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することをさらに含むことができる。さらに、方法は、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することを含むことができる。さらに、方法は、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することを含むことができる。さらに、方法は、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することを含むことができる。さらに、方法は、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することを含むことができる。さらに、方法は、翻訳されたテキスト文字列を表示することを含むことができる。
【０００５】
別の実施形態では、コンピュータ実施方法を提供することができる。方法は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することを含むことができる。方法はまた、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことを含むことができる。さらに、方法は、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することを含むことができる。さらに、方法は、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することを含むことができ、テキスト文字列は、定義の少なくとも一部分を含む。
【０００６】
別の実施形態では、システムを提供することができる。システムは、メモリに記憶されたコンピュータ可読命令を実行するように構成された少なくとも１つのプロセッサを有するサーバ装置を含むことができる。コンピュータ可読命令は、第１の言語で記述された１つ以上のテキスト文字列を受信することと、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、翻訳されたテキスト文字列を表示することと、を行うように動作可能であることができる。
【０００７】
さらに別の実施形態では、システムを提供することができる。システムは、メモリに記憶されたコンピュータ可読命令を実行するように構成された少なくとも１つのプロセッサを有するサーバ装置を含むことができる。コンピュータ可読命令は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことと、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することと、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することと、を行うように動作可能であることができ、テキスト文字列は、定義の少なくとも一部分を含む。
【０００８】
別の実施形態では、１つ以上のコンピュータ実行可能命令を備えるメモリを含むコンピュータ可読媒体を提供することができる。コンピュータ実行可能命令は、第１の言語で記述された１つ以上のテキスト文字列を受信することと、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、翻訳されたテキスト文字列を表示ことと、を行うように動作可能であることができる。
【０００９】
別の実施形態では、１つ以上のコンピュータ実行可能命令を備えるメモリを含むコンピュータ可読媒体を提供することができる。コンピュータ実行可能命令は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことと、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することと、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することと、を行うように動作可能であることができ、テキスト文字列は、定義の少なくとも一部分を含む。
【図面の簡単な説明】
【００１０】
【図１】本開示の少なくとも１つの実施形態による例示的なアーキテクチャシステムを例解する。
【図２】本開示の少なくとも１つの実施形態による例示的な処理フローを例解する。
【図３】本開示の少なくとも１つの実施形態による例示的な処理フローを示している。
【図４】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図５】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図６】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図７】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図８】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図９】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図１０】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図１１】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図１２】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図１３】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【図１４】本開示の特定の実施形態による例示的な関連ユーザインターフェースおよび機能を示す。
【００１１】
詳細な説明は、添付の図面を参照して記載される。同じ参照番号の使用は、類似または同一の構成要素または要素を示し、しかしながら、類似または同一であり得る構成要素、操作、または要素を示すために、異なる参照番号も使用され得る。本開示の様々な実施形態は、図面に例解されたもの以外の要素、操作、および／または構成要素を利用してもよく、いくつかの要素および／または構成要素は、様々な実施形態に存在しなくてもよい。状況に応じて、要素、操作、または構成要素を説明するために使用される単数の専門用語は、複数のかかる要素、操作、または構成要素を包含し得、逆も同様であり得る。
【発明を実施するための形態】
【００１２】
本開示の特定の実施形態は、サービス管理アプリケーションインターフェースにおいてグローバリゼーション機能を提供するためのシステムおよび方法を対象とする。
【００１３】
本開示の一実施形態では、ユーザがアプリケーションプログラム（本明細書では、Ｃｈｅｒｗｅｌｌ  Ｓｏｆｔｗａｒｅ、ＬＬＣによって提供されるＩＴインシデント管理など対象アプリケーションプログラムとしても知られる別の言語、例えばフランス語で利用したい場合、以下の操作のうちのいくつかまたはすべては、本開示の特定の実施形態による、図１の１００などのシステムを操作する管理者によって実行されることができる。
【００１４】
管理者は、システムに新しい言語を追加する。すなわち、管理者は、システムに適切な言語パックまたはデータファイルをアップロードすることができ、言語パックまたはデータファイルは、英語からフランス語へなど１つの言語から新しい所望の言語への支援翻訳を可能にする言語翻訳または文字列を含むことができる。例えば、言語パックまたはデータファイルは、英語など第１の言語または起点言語の文字列のセットを含むことができ、これらの文字列は、フランス語など第２の言語、対象言語、または所望の言語に翻訳された対応する文字列を含む。
【００１５】
システムは、アプリケーションプログラムを分析して、アプリケーションプログラムに関連付けられたいくつかまたはすべての翻訳可能な文字列を特定するか、またはそうでなければ判定することができる。すなわち、システムは、ＩＴインシデント管理アプリケーションプログラムを分析し、ＩＴインシデント管理アプリケーションプログラムからいくつかまたはすべての翻訳可能な文字列を抽出することができる。翻訳可能な文字列は、ＩＴインシデント管理アプリケーションプログラムに直接的および／または間接的に関連するいくつかまたはすべての定義を含むことができる。
【００１６】
特定および／または判定された翻訳可能な文字列の各々について、システムは、言語パックまたはデータファイルを利用して、翻訳可能な文字列を第１の言語から第２の言語に翻訳することができる。すなわち、システムは、英語の文字列とフランス語の対応する文字列とのセットを備える適切な言語パックまたはデータファイルを使用して、ＩＴインシデント管理アプリケーションプログラムに関連付けられた特定または判定された文字列を、英語からフランス語に翻訳することができる。特定の実施形態では、第１の言語から第２の言語への翻訳または変換は、Ｇｏｏｇｌｅ  Ｔｒａｎｓｌａｔｅなど外部翻訳コンピュータサービスを使用して、または外部翻訳会社によって実行されることができる。いずれの場合でも、翻訳は、システム内の別の定義（言語パックバンドル）に存在し、ＩＴインシデント管理アプリケーションプログラムに関連付けられた定義には埋め込まれない。このように、言語パックバンドル定義により、ホストエンティティは、１つ以上のパートナーおよび／または顧客と協力して、Ｃｈｅｒｗｅｌｌ  Ｓｏｆｔｗａｒｅ，ＬＬＣによって提供されるｍＡｐｐなど適切なアプリケーションプログラムまたはサービスを介して１つ以上の翻訳辞書を作成することにおいて共有および協力することができる。
【００１７】
システムが翻訳可能な文字列を第２の言語に翻訳した後、管理者は、翻訳された文字列を１つ以上の定義に埋め込むことができる。すなわち、すべての特定または判定された翻訳可能な文字列が英語からフランス語に翻訳されると、管理者は、ＩＴインシデント管理アプリケーションプログラムに関連付けられた定義において翻訳された文字列を利用することができるため、翻訳された文字列を、対応する、および関連する定義内に埋め込むことができる。各定義は、第２の言語、対象言語、または所望の言語についての翻訳を含み、翻訳を促進するまたは完了するために外部エンティティまたはデータファイルへの後続のアクセスは必要ないことに注意されたい。すなわち、システムは、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの後続の手動入力を伴わずに第２の言語のローカライゼーションおよび翻訳を促進することができる。
【００１８】
翻訳が定義に埋め込まれた後、定義は、エンドユーザによって使用され、任意の数のアプリケーションプログラムにアクセスし、第２の言語または所望の言語を使用することを選択することができる。例えば、Ｃｈｅｒｗｅｌｌ  Ｓｏｆｔｗａｒｅ，ＬＬＣによって提供されるＣｕｌｔｕｒｅｓ機能を実装するエンドユーザは、ＩＴインシデント管理アプリケーションプログラムにログインし、アプリケーションプログラムを利用しながらフランス語を使用することを選択することができる。各定義は、アプリケーションプログラムにおいて使用される場合、埋め込まれた翻訳に基づいて、フランス語など第２の言語または所望の言語について適切な翻訳が存在するかどうかを判定することができ、アプリケーションプログラムは、それに応じて翻訳を提供することができる。
【００１９】
一実施形態では、独自の自己参照グローバリゼーションツールを使用して、「文字列」と呼ばれるテキストを１つ以上の言語に翻訳することができる。これにより、ユーザは、単一のアプリケーションプログラムを使用して、同じデータを複数の言語で閲覧することができる。ダッシュボード、式、ワンステップ、テーブル内のフィールド、ツールバー、メニュー、エラー、ユーザ定義のヘッダーおよびフッター、メニュー項目、コントロール、およびツールチップを含むがこれらに限定されない、すべてのコンテンツ、特定のストレージオブジェクトおよびその関連付けついての文字列、ルックアップテーブルデータ、ポータルコンテンツおよびポータルプラットフォーム文字列、プラットフォーム文字列、ならびにポータルリソース文字列を翻訳することができる。本明細書で使用される場合、「定義」は、ビジネスオブジェクト、フォーム、グリッド、関係、または検索グループなどのコンテンツオブジェクトを構成するシステムエンティティであることができる。
【００２０】
例えば、本開示の特定の実施形態についての１つの使用事例では、顧客は、英語など、アプリケーションプログラムが元々記述された言語とは異なる、フランス語などの言語でアプリケーションプログラムを使用したい場合がある。本明細書に記載のグローバリゼーションツールを使用して、アプリケーションプログラム（本明細書では対象アプリケーションプログラムと称される）内のいくつかまたはすべてのテキスト文字列を英語からフランス語に翻訳することができ、したがって、顧客は、対象アプリケーションプログラムを実行し、アプリケーションから出力されるインターフェースのいくつかまたはすべてを、英語ではなくフランス語で閲覧することができる。
【００２１】
特定の実施形態では、グローバリゼーションツールを使用して、対象アプリケーションプログラム内のテキスト文字列のほとんどまたはすべてを、第１の言語から第２の言語に、グローバルに、一括して、または比較的大規模に翻訳することができる。特定の他の実施形態では、グローバルな、または比較的大規模な翻訳が実行された後、グローバリゼーションツールを使用して、第１の言語から第２の言語へ対象アプリケーションプログラム内のテキスト文字列のいくつかまたは一部分を一日単位で翻訳することができ、対象アプリケーションプログラムは、第２の言語で維持され、残りの翻訳されていないテキスト文字列のいくつかまたはすべては、第１の言語から第２の言語に翻訳されることができ、翻訳されたテキスト文字列は、第１の言語から第２の言語に翻訳し直される、またはそうでなければ正しく翻訳されることができる。
【００２２】
本開示の特定の実施形態についての別の例示的な使用事例では、グローバリゼーションツールを使用して、対象アプリケーションプログラムのインシデント管理構成要素など、プログラムスイートの第１の構成要素内のテキスト文字列のほとんどまたはすべてを、構成要素ごとの規模で、第１の言語から第２の言語に翻訳することができる。次に、グローバリゼーションツールを使用して、対象アプリケーションの変更管理構成要素など、プログラムスイートの第２の構成要素内のテキスト文字列のほとんどまたはすべてを、プログラムスイートの構成要素のテキスト文字列のいくつかまたはすべてが翻訳されるまで、第１の言語から第２の言語に翻訳することができる。
【００２３】
本開示の一実施形態によれば、コンピュータ実施方法を提供することができる。方法は、「ｅｎ−ＵＳ」とも指定される英語（米国）など第１の言語で記述された１つ以上のテキスト文字列を受信することを含むことができる。方法は、１つ以上のテキスト文字列を変換する、「ｆｒ−ＣＡ」とも指定されるカナダ系フランス語など第２の言語の指示を受信することを含むことができる。方法は、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することをさらに含むことができる。方法は、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を指定することを含むことができる。方法はまた、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することを含むことができる。方法はまた、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することを含むことができる。方法は、翻訳されたテキスト文字列を表示することを含むことができる。
【００２４】
特定の実施形態では、少なくとも１つの関数に対応する少なくとも１つの埋め込まれた関数は、複数の言語で記述されることができる。
【００２５】
本開示のさらに別の実施形態によれば、別のコンピュータ実装方法を提供することができる。方法は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することを含むことができる。方法は、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことをさらに含むことができる。方法はまた、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することを含むことができる。方法は、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することを含むことができ、テキスト文字列は、定義の少なくとも一部分を含む。
【００２６】
特定の実施形態では、定義内に埋め込まれた少なくとも１つの関数は、各々が第１の言語に翻訳可能な複数の言語で記述されることができる。
【００２７】
本開示の実施形態は、特定の実施形態が示す添付の図面を参照して、これから以下により詳細に記載される。しかしながら、本開示は、多くの異なる形態で具現化され得、本明細書に記載の実施形態に限定されると解釈されるべきではなく、むしろ、これらの実施形態は、本開示が詳細かつ完全であり、本開示の範囲を当業者に十分に伝えるように提供される。同じ番号は、全体にわって同じ要素を指す。
【００２８】
例示的なシステムアーキテクチャ
【００２９】
図１は、本開示の少なくとも１つの実施形態による例示的なアーキテクチャシステムを例解する。図１に示すように、特定の実施形態では、図２および図３の処理フローに例解されたもののいくつかまたはすべてなど特定の操作は、図１に示すシステム１００によって実行され得る。いくつかの実施形態では、図１に示す１０２などのコンピュータは、特定の操作を実装することができ、および／または図２および図３の処理フローに例解するように、図１に示すシステム１００と連動しておよび／またはそれとは別個に動作し得る。
【００３０】
図１に示すように、システム１００は、１つ以上のコンピュータ１０２、クライアント装置、および／またはサーバ１２０を含み得る。特定の実施形態では、コンピュータ１０２、クライアント装置、および／またはサーバ１２０との間の通信は、インターネットなど１つ以上の適切なネットワーク１１８を介して促進され得る。
【００３１】
引き続き図１を参照すると、コンピュータ１０２、クライアント装置、および／またはサーバ１２０は、翻訳される対象アプリケーションプログラム１１２だけでなく、１１０など１つ以上の他のアプリケーションプログラム、あるいはコンピュータ１０２、クライアント装置、および／またはサーバ１２０上で実行するモジュール１３０、１３２に関連付けられた情報を取得および記憶することができる。例えば、ＩＴサービス管理（ＩＴＳＭ）プログラムなど対象アプリケーションプログラム１１２からのアプリケーションプログラムデータは、少なくとも１つのコンピュータ１０２、クライアント装置、および／またはサーバ１２２によってメモリ１０６、１２４または１３８、１４０など１つ以上の関連データベースまたはデータストアに記憶され得る。各それぞれのメモリ１０６、１２４はまた、オペレーティングシステム（ＯＳ）１０８、翻訳アプリケーション１１０、埋め込みモジュール１３０、および翻訳モジュール１３２など、コンピュータすなわちクライアント装置１０２によって利用される１つ以上のプログラムモジュールを記憶し得る。さらに、各それぞれのメモリ１０６、１２４およびデータベースおよび／またはデータストア１４０はまた、必要に応じて、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージを記憶するか、またはそうでなければ記憶することをサポートし得る。メモリ１０６、１２４およびデータベースおよび／またはデータストア１４０はまた、１つ以上の言語パック１４２などデータファイルを含み得る。言語パック１４２は、起点言語または第１の言語で記述された定義および関数を含む１つ以上のテキスト文字列、および対象言語または第２の言語の翻訳された文字列を含むデータファイルであり得る。複数の言語パックを記憶することができ、各言語パックは、他の言語パックとは異なる言語で記述されることができる。いくつかの実施形態では、言語パックは、複数の言語で記述された定義および関数を含む１つ以上のテキスト文字列を含み得る。言語パックにおける文字列および翻訳された文字列は、必要に応じて編集および記憶されることができる。所望に応じて、アプリケーションプログラムデータおよび関連情報は、コンピュータ１０２、クライアント装置、サーバ１２０、および／またはデータベースまたはデータストア１４０など、多種多様な適切な発信源から取得され得、任意の数のデータファイルを取得、収集、受信、または検索することができる。さらに、所望に応じて、コンピュータ１０２、クライアント装置、サーバ１２０、および／またはデータベースまたはデータストア１４０は、１つ以上の指示されたプリファレンスに基づいて、特定のリクエストに固有の情報を提供することができる。
【００３２】
一実施形態では、グローバリゼーションツールまたは翻訳アプリケーションプログラム１１０は、対象アプリケーションプログラム１１２の１つ以上のテキスト文字列を受信することができる。翻訳アプリケーションプログラム１１０は、任意の数のデータベース、１４０などデータストア、および／または言語サービスを利用して、１つ以上の受信されたテキスト文字列を処理し、１つ以上のテキスト文字列内の各定義内に、１つ以上の異なる言語で記述された任意の数の関数を特定および埋め込むことができる。後に特定の言語が特定されると、特定の言語で埋め込まれた関数を特定することができ、１つ以上のテキスト文字列を特定の言語に変換することができ、１つ以上のテキスト文字列は、定義の少なくとも一部分を含むことができる。第１の言語から第２の言語への１つ以上のテキスト文字列の変換は、データストア１４０または同様のデータ構造に記憶された１４２など少なくとも１つの言語パックを参照するプロセッサ１０４、１２２のうちの１つ以上によって実行されることができる。対象アプリケーションプログラムについて翻訳されたテキスト文字列は、翻訳アプリケーション１１０、埋め込みモジュール１３０、および／または翻訳モジュール１３２によって記憶されることができる。
【００３３】
引き続き図１を参照すると、任意の数のコンピュータ１０２、クライアント装置、サーバ１２０、および／またはデータベースまたはデータストア１４０が提供され得る。コンピュータ１０２、クライアント装置、および／またはサーバ１２０は、任意の数のプロセッサを含み得る。かかる装置は、サーバコンピュータ、パーソナルコンピュータ、１つ以上のネットワークコンピューティングデバイス、特定用途向け回路、ミニコンピュータ、マイクロコントローラ、ならびに／あるいは他のプロセッサベースのデバイスおよび／またはデバイスの組み合わせを含み得る。
【００３４】
図１を参照すると、コンピュータ１０２、クライアント装置、および／またはサーバ１２０の各々は、１つ以上のメモリデバイス（一般にメモリと呼ばれる）１０６、１２４、１つ以上の入力／出力（「Ｉ／Ｏ」）インターフェース（複数可）１１４、１３４、および／または１つ以上の通信接続を含み得る。通信接続は、言語パック１４２および／またはアプリケーションプログラムデータを含み得るなど、１つ以上のデータファイルを含み得る、１４０などのデータベースおよび／またはデータストアと相互作用し得る。例えば、データファイルは、１つ以上のコンピュータまたはクライアント装置１０２に関連付けられた情報、１つ以上のアプリケーションプログラムまたはモジュールに関連付けられた情報、ルールおよび／またはパラメータなどを含み得る。
【００３５】
メモリ１０６、１２４は、ランダムアクセスメモリ（「ＲＡＭ」）、読み取り専用メモリ（「ＲＯＭ」）、および／またはリムーバブル記憶装置など、１つ以上のプロセッサに結合されたいずれかのコンピュータ可読媒体であり得る。各それぞれのメモリ１０６、１２４は、
オペレーティングシステム（ＯＳ）１０８、翻訳アプリケーション１１０、対象アプリケーション１１２、埋め込みモジュール１３０、および翻訳モジュール１３２など、コンピュータまたはクライアント装置１０２によって利用される１つ以上のプログラムモジュールを記憶し得る。
【００３６】
特定の実施形態は、本明細書に記載のプロセスまたは方法を実行するためのコンピュータ（または他の電子デバイス）をプログラミングするために使用され得る命令（圧縮形式または非圧縮形式）を記憶した非一時的機械可読記憶媒体を含むコンピュータプログラム製品として提供され得る。例えば、特定の実施形態は、コンピュータ、クライアント装置、サーバ、または他の適切なコンピューティングシステムによって実行され得るコンピュータプログラム製品または製品群として提供され得る。機械可読記憶媒体は、ハードドライブ、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気カードまたは光カード、半導体メモリデバイス、あるいは電子命令を記憶するのに適した他の種類の媒体／機械可読媒体を含み得るが、これらに限定されない。さらに、実施形態はまた、一時的機械可読信号（圧縮形式または非圧縮形式）を含むコンピュータプログラム製品として提供され得る。機械可読信号の例は、キャリアを使用して変調されているかどうかにかかわらず、インターネットまたは他のネットワークを通じてダウンロードされた信号を含む、コンピュータプログラムをホストする、または実行するコンピュータシステムまたはマシーンがアクセスするように構成されることができる信号を含むが、これらに限定されない。例えば、ソフトウェアの配布は、インターネットダウンロードであり得る。
【００３７】
メモリの内容に関して、データファイルは、コンピュータの操作および／またはコンピュータとシステムの１つ以上の他の構成要素との相互作用を促進するいずれかの適切なデータを含み得る。
【００３８】
ＯＳ１０８は、コンピュータの一般的な操作、および他のアプリケーションプログラムモジュールの実行を促進するいずれかの適切なモジュールであり得る。
【００３９】
１０２などのコンピュータまたはクライアント装置は、パーソナルコンピュータ、ラップトップ、および／またはタブレットなどいずれかのコンピューティングデバイスを含み得る。コンピュータまたはクライアント装置１０２は、１つ以上のプロセッサを含み得る。１つ以上のプロセッサは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて適切に実装され得る。１つ以上のプロセッサのソフトウェアまたはファームウェアの実装は、記載された様々な関数を実行するためのいずれかの適切なプログラミング言語で記述されたコンピュータ可読命令または機械可読命令を含み得る。コンピュータまたはクライアント装置は、１つ以上のプロセッサを有することに加えて、１つ以上のメモリデバイス（一般にメモリと呼ばれる）１０６、１つ以上の入力／出力（「Ｉ／Ｏ」）インターフェース（複数可）１１４、および／または１つ以上の通信接続をさらに含み得る。通信接続は、情報を送信するためにネットワーク１１８と相互作用し得る。
【００４０】
メモリ１０６、１２４は、ランダムアクセスメモリ（「ＲＡＭ」）、読み取り専用メモリ（「ＲＯＭ」）、および／またはリムーバブル記憶装置など、コンピュータおよび／またはクライアント装置１０２、あるいはサーバ１２０の１つ以上のプロセッサに結合されたいずれかのコンピュータ可読媒体であり得る。メモリ１０６は、オペレーティングシステム（ＯＳ）１０８、翻訳アプリケーション１１０、対象アプリケーション１１２、埋め込みモジュール１３０、および翻訳モジュール１３２など、コンピュータおよび／またはクライアント装置１０２によって利用される１つ以上のプログラムモジュールを記憶し得る。
【００４１】
１つ以上のＩ／Ｏインターフェース１１４は、コンピュータ、クライアント装置１０２、および１つ以上の入力／出力装置との間の通信を促進し得る。例えば、１つ以上のユーザインターフェースデバイスは、ディスプレイ１１６、キーパッド、キーボード、プリンター、メッセージングデバイス、電子メールアプライアンス、タッチスクリーンディスプレイ、ジェスチャ認識デバイスおよび／またはジェスチャキャプチャデバイス、マイク、スピーカー、マウス、またはユーザとの対話を促進することができる他の同様のデバイスを含むことができるが、これらに限定されない。１つ以上のネットワークおよび／または通信接続は、コンピュータまたはクライアント装置１０２の、任意の数の適切なネットワーク、例えば、図１に１１８として例解する１つ以上のネットワーク（複数可）への接続を促進し得る。これに関して、コンピュータまたはクライアント装置１０２、およびサーバ１２０は、システムの他の構成要素への情報を受信および／または通信し得る。
【００４２】
引き続き図１を参照すると、任意の数のコンピュータまたはクライアント装置１０２、およびサーバ１２０は、システム１００に含まれ得る。コンピュータまたはクライアント装置１０２、およびサーバ１２０は、情報を閲覧および／または操作するために、コンピュータまたはクライアント装置１０２、あるいはサーバ１２０によってホストされる１つ以上のアプリケーションプログラムにアクセスするように構成され得る。特定の実施形態では、コンピュータまたはクライアント装置１０２、あるいはサーバ１２０は、コンピュータについて上述したものと同様の構成要素を含み得る。例えば、コンピュータまたはクライアント装置１０２、あるいはサーバ１２０は、任意の数のプロセッサ、メモリ、Ｉ／Ｏインターフェース、および／またはネットワーク／通信インターフェースを含み得る。
【００４３】
多種多様な適切なネットワーク（同じまたは別個のネットワークであり得る）および／または通信チャネルを利用して、クライアント装置、コンピュータ、および／またはシステムの他の構成要素との間の通信を促進し得る。これらのネットワークは、１つ以上の電気通信ネットワーク、セルラーネットワーク、ワイドエリアネットワーク（例えば、インターネット）、および／またはローカルエリアネットワークを含み得るが、これらに限定されない。本明細書に記載の様々な方法論は、分散コンピューティング環境の状況において実践され得る。また、様々なネットワークは、複数のネットワークを含み得、各々がネットワークとネットワークとの間の接続性、またはネットワーク間の接続性を提供するためのゲートウェイおよびルータなどの装置を備えることも理解されるであろう。さらに、ネットワークの代わりに、またはそれに加えて、例示的な実施形態に従って、専用の通信リンクを使用して様々な装置を接続し得る。
【００４４】
図１に示す、および図１に関して記載されるシステム１００は、例としてのみ提供される。多数の他の操作環境、システムアーキテクチャ、および装置構成が可能である。他のシステム実施形態は、より少ない、またはより多い数の構成要素を含むことができ、図１に示すシステム構成要素に関して記載した機能性のいくつかまたはすべてを組み込み得る。したがって、本開示の実施形態は、特定の操作環境、システムアーキテクチャ、または装置構成に限定されると解釈されるべきではない。
【００４５】
例示的なプロセス
図２および図３は、本開示の特定の実施形態による例示的なプロセスのフロー図を例解する。図４〜図１３は、図１のシステムおよび／または図２および図３に記載のプロセスのいくつかまたはすべてによって実装されることができるいくつかの例示的なユーザインターフェースおよび機能を例解する。
【００４６】
図２は、本開示の少なくとも１つの実施形態による例示的なプロセスを例解する。プロセスまたは方法２００は、ブロック２１０から始まる。
【００４７】
ブロック２１０において、第１の言語で記述された１つ以上のテキスト文字列を受信することができる。図１を参照すると、コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、対象アプリケーション１１２から、英語など第１の言語で１つ以上のテキスト文字列を受信、またはそうでなければ取得することができる。
【００４８】
ブロック２１０の後にはブロック２２０が続き、そこでは、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、１つ以上のテキスト文字列を変換する、フランス語など第２の言語の指示を受信することができる。
【００４９】
一実施形態の特定の態様では、第１の言語は、英語を含むことができ、第２の言語は、英語以外の言語を含むことができる。
【００５０】
一実施形態の特定の態様では、変換することは、１つ以上のテキスト文字列が第１の言語から第２の言語に翻訳されるという指示をユーザまたはアプリケーションプログラムから受信することを含むことができる。
【００５１】
ブロック２２０の後にはブロック２３０が続き、そこでは、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、１つ以上のテキスト文字列内に、英語など第１の言語で記述された少なくとも１つの関数を含む定義を特定することができる。
【００５２】
ブロック２３０の後にはブロック２４０が続き、そこでは、定義内に、少なくとも１つの関数に対応し、および第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、定義内に、少なくとも１つの関数に対応し、およびフランス語など第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することができる。
【００５３】
ブロック２４０の後にはブロック２５０が続き、そこでは、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、および定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、フランス語など第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することができる。
【００５４】
一実施形態の特定の態様では、方法２００は、少なくとも１つの関数を第１の言語から第２の言語に翻訳すること、および定義内に、第２の言語に翻訳された少なくとも１つの関数を埋め込むことを含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２および／または埋め込みモジュール１３０は、少なくとも１つの関数を第１の言語から第２の言語に翻訳することができ、定義内に、第２の言語に翻訳された少なくとも１つの関数を埋め込むことができる。
【００５５】
ブロック２５０の後にはブロック２６０が続き、そこでは、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することができる。
【００５６】
一実施形態の特定の態様において、変更することは、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ内の第２の言語の１つ以上の翻訳されたテキスト文字列を記憶することを含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ内の第２の言語の１つ以上の翻訳されたテキスト文字列を、メモリ１０６、１２４および／またはデータストア１４０、あるいは他のデータ記憶装置に記憶することができる
【００５７】
一実施形態の特定の態様では、方法２００は、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージにアクセスして、第２の言語の１つ以上の翻訳されたテキスト文字列を取得することを含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、メモリ１０６、１２４および／またはデータストア１４０、あるいは他のデータ記憶装置にアクセスして、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ、および第２の言語の１つ以上の翻訳されたテキスト文字列を取得することができる。
【００５８】
ブロック２６０の後にはブロック２７０が続き、そこでは、翻訳されたテキスト文字列が表示される。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、ディスプレイ１１６または１３６など出力装置に翻訳されたテキスト文字列を表示することができる。
【００５９】
一実施形態の一態様では、表示することは、アプリケーションプログラム内の翻訳されたテキスト文字列を出力装置に出力することを含むことができ、翻訳されたテキスト文字列の少なくとも一部分に応答して受信された、ユーザからのコマンドの入力時に、アプリケーションプログラムは、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を実行する。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、１１６、１３６などの表示装置に、対象アプリケーションプログラム１１２内の翻訳されたテキスト文字列を出力することができ、翻訳されたテキスト文字列の少なくとも一部分に応答して受信された、Ｉ／Ｏインターフェース１１４、１３４を介して通信しているキーボードからなどユーザからのコマンドの入力時に、対象アプリケーションプログラム１１２は、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を実行する。
【００６０】
実施形態の少なくとも１つの態様では、少なくとも１つの関数は、対象アプリケーションプログラム１１２を実行する１０２などのコンピュータまたはクライアント装置、あるいはサーバ装置１２０による物理的動作を促進することができ、物理的動作は、以下、すなわち文書を印刷すること、メッセージまたは電子メールを送信することのうちの少なくとも１つを含む。
【００６１】
方法２００は、ブロック２７０の後に終了することができる。
【００６２】
図３は、本開示の一実施形態による別の例示的なプロセスまたは方法３００を例解する。方法３００は、ブロック３１０から始まり、そこでは、第１の言語で記述された少なくとも１つの関数を含む定義を受信することができる。図１を参照すると、コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、英語など第１の言語で記述された少なくとも１つの関数を含む定義を、対象アプリケーション１１２から受信する、またはそうでなければ取得することができる。
【００６３】
ブロック３１０の後にはブロック３２０が続き、そこでは、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことができる。図１を参照すると、コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２および／または埋め込みモジュール１３０は、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことができる。
【００６４】
一実施形態の特定の態様では、第１の言語は、英語を含むことができ、第２の言語は、英語以外の言語を含むことができる。
【００６５】
一実施形態の特定の態様では、方法３００は、１つ以上のテキスト文字列が第１の言語から第２の言語に翻訳されるという指示をユーザまたはアプリケーションプログラムから受信することを含むことができる。
【００６６】
ブロック３２０の後にはブロック３３０が続き、そこでは、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２および／または埋め込みモジュール１３０は、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することができる。
【００６７】
ブロック３３０の後にはブロック３４０が続き、そこでは、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することができ、テキスト文字列は、定義の少なくとも一部分を含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２および／または埋め込みモジュール１３０は、少なくとも１つの関数を第１の言語から第２の言語に翻訳することができ、第２の言語でかかれた少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することができ、テキスト文字列は、定義の少なくとも一部分を含むことができる。
【００６８】
一実施形態の特定の態様では、方法３００は、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ内の第２の言語の１つ以上の翻訳されたテキスト文字列を記憶することを含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ内の第２の言語の１つ以上の翻訳されたテキスト文字列を、メモリ１０６、１２４および／またはデータストア１４０、あるいは他のデータ記憶装置に記憶することができる。
【００６９】
一実施形態の特定の態様では、方法３００は、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージにアクセスして、第２の言語の１つ以上の翻訳テキスト文字列を取得することを含むことができる。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、メモリ１０６、１２４および／またはデータストア１４０、あるいは他のデータ記憶装置にアクセスして、データベーススキーマ、オブジェクト定義、またはオブジェクト定義ストレージ、および第２の言語の１つ以上の翻訳されたテキスト文字列を取得することができる。
【００７０】
一実施形態の一態様では、方法３００は、アプリケーションプログラム内の翻訳されたテキスト文字列を表示装置に出力することを含むことができ、翻訳されたテキストの少なくとも一部に応答して受信された、ユーザからのコマンドの入力時に、アプリケーションプログラムは、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を実行する。コンピュータまたはクライアント装置１０２の翻訳アプリケーション１１０、あるいはサーバ装置１２０の翻訳モジュール１３２は、１１６、１３６などの表示装置に、対象アプリケーションプログラム１１２内の翻訳されたテキスト文字列を出力することができ、翻訳されたテキスト文字列の少なくとも一部分に応答して受信された、Ｉ／Ｏインターフェース１１４、１３４を介して通信しているキーボードからなどユーザからのコマンドの入力時に、対象アプリケーションプログラム１１２は、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を実行することができる。
【００７１】
方法３００は、ブロック３４０の後に終了することができる。
【００７２】
図４〜図１３は、本開示の特定の実施形態による様々なユーザインターフェースおよび特徴を例解する。図４において、導入ページ４００は、翻訳アプリケーションプログラムによって生成され、ユーザに提示されることができ、特定の対象アプリケーションプログラムに言語パックを適用するようにユーザに促す。例えば、ユーザが対象アプリケーションプログラムを最初の第１の言語から翻訳する所望の第２の言語を選択すると、ユーザは、対象アプリケーションプログラムに適切な言語パックを適用することができる。
【００７３】
図５では、翻訳アプリケーションプログラムによって生成されたページ５００上において、言語パックを適用する１つ以上のテキスト文字列、またはある言語から別の言語に翻訳するテキスト文字列を選択するようにユーザに促すことができる。本例では、システム文字列、すべてのコンテンツ、特定のビジネスオブジェクト、フォーム、ポータルコンテンツ文字列、ルックアップテーブルデータ、ポータル文字列、プラットフォーム文字列、アプリケーションコントロール、エラー文字列、ツールバー定義、メニュー定義、および／またはポータルリソースを選択するようにユーザに促すことができる。任意選択で、特定の実施形態では、外部のｍＡＰＰタイプのファイルを選択するようにユーザに促すことができる。
【００７４】
図６では、翻訳アプリケーションプログラムは、例えば、言語パックを適用する対象アプリケーションプログラム内の特定のビジネスオブジェクトを選択的に特定するためのページ６００を生成することができる。示されている例では、ビジネスオブジェクトタイプ「メジャー」の列は、ビジネスオブジェクトの対応する説明、およびユーザが各ビジネスオブジェクトを選択または選択解除するためのチェックボックスとともに出力されることができる。すべて、サポーティング、ルックアップ、グループリーダー、およびグループメンバーを含むがこれらに限定されない他のビジネスオブジェクトタイプは、
ユーザによって選択されることができ、翻訳アプリケーションプログラムは、言語パックを適用する対象アプリケーションプログラム内の特定のビジネスオブジェクトを表示する別のページを生成することができる。本ページ６００では、任意の数のビジネスオブジェクトを選択して、翻訳アプリケーションプログラムが、対応するテキスト文字列に翻訳を適用することができる。
【００７５】
図７では、翻訳アプリケーションプログラムは、例えば、言語パックを適用する対象アプリケーションプログラム内の特定のルックアップオブジェクトを選択的に特定するためのページ７００を生成することができる。示されている例では、「ルックアップテーブル」オブジェクトタイプの列は、ルックアップテーブルオブジェクトの対応する説明、およびユーザが各ルックアップテーブルオブジェクトを選択または選択解除するためのチェックボックスとともに出力されることができる。本ページ７００では、任意の数のルックアップテーブルオブジェクトを選択して、翻訳アプリケーションプログラムが、対応するテキスト文字列に翻訳を適用することができる。
【００７６】
図８では、翻訳アプリケーションプログラムは、例えば、言語パックを適用する対象アプリケーションプログラム内の特定のポータルサイトオブジェクトを選択的に特定するためのページ８００を生成することができる。示されている例では、オブジェクトタイプ「ポータルサイト」の列は、ポータルサイトオブジェクトの対応する説明、およびユーザが各ポータルサイトオブジェクトを選択または選択解除するためのチェックボックスとともに出力されることができる。本ページ８００では、任意の数のポータルサイトオブジェクトを選択して、翻訳アプリケーションプログラムが、対応するテキスト文字列に翻訳を適用することができる。
【００７７】
図９では、翻訳アプリケーションプログラムは、例えば、対象アプリケーションプログラム内のすべての文字列を更新するか、または現在の翻訳なしの文字列を更新するためのページ９００を生成することができる。特定の場合では、ユーザは、第１の言語から第２の言語への対象アプリケーションのグローバルな、一括した、または比較的大規模な翻訳を実行するのではなく、対象アプリケーションプログラムの一部分を更新したい場合がある。
【００７８】
図１０において、翻訳アプリケーションプログラムは、例えば、対象アプリケーションプログラムに変更をすぐに公開するか、またはデータストアまたは他のデータ記憶装置内のブループリントまたは他のデータファイルに変更を保存するためのページ１０００を生成することができる。特定の場合では、ユーザは、変更を公開し、対象アプリケーションプログラムで変更を使用可能にすることにより、対象アプリケーションプログラムへの翻訳をすぐに実装したい場合がある。他の場合では、ユーザは、後の検索および／または実装のために、メモリ、データストア、または他のデータ記憶装置に記憶されたブループリントまたはデータファイルに翻訳変更を記憶したい場合がある。
【００７９】
図１１では、翻訳アプリケーションプログラムは、例えば、ユーザが電子メールテンプレートなど対象アプリケーションプログラム内の特定の動作を翻訳できるようにするためのページ１１００を生成することができる。示されている例では、電子メールテンプレートの様々な部分またはフィールドを翻訳アプリケーションプログラムによって強調表示することができ、翻訳アプリケーションプログラムは、電子メールテンプレートの各部分またはフィールドのそれぞれのテキスト文字列を、所望に応じて、選択に応じて翻訳することができ、または必要に応じて、テンプレートのいくつかまたはすべてを自動的に翻訳し得る。
【００８０】
図１２は、ユーザが、対象アプリケーションプログラムを翻訳する第１の言語および第２の言語を指定するための例示的なインターフェース１２００を例解する。
【００８１】
図１３では、翻訳アプリケーションプログラムは、例えば、ユーザが対象アプリケーションプログラム内の特定の式を翻訳することを可能にするためのページ１３００を生成することができる。示されている例では、式の様々な特性を翻訳アプリケーションプログラムによって強調表示することができ、翻訳アプリケーションプログラムは、名前、説明、ケースタイプ、条件、値、演算子、および代入などを含むが、これらに限定されない特定の特性を定義するようユーザに促すことができる。
【００８２】
図１４では、翻訳アプリケーションプログラムは、対象アプリケーション内の１つ以上のテキスト文字列を翻訳することができ、示されているページ１４００は、対象アプリケーションプログラム内の１つ以上の翻訳されたテキスト文字列および関連コンテンツを例解する。例示的なページは、１つ以上のテキスト文字列、および英語からフランス語に翻訳された関連コンテンツを例解する。
【００８３】
本開示の他の実施形態は、
メモリに記憶されたコンピュータ可読命令を実行するように構成された少なくとも１つのプロセッサを有するサーバ装置を含むシステムを含むことができ、コンピュータ可読命令は、第１の言語で記述された１つ以上のテキスト文字列を受信することと、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、翻訳されたテキスト文字列を表示することと、を行うように動作可能である。
【００８４】
本開示のさらなる実施形態は、
メモリに記憶されたコンピュータ可読命令を実行するように構成された少なくとも１つのプロセッサを有するサーバ装置を含むシステムを含むことができ、コンピュータ可読命令は、第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことと、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することと、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することと、を行うように動作可能であり、テキスト文字列は、定義の少なくとも一部分を含む。
【００８５】
本開示の追加の実施形態は、
第１の言語で記述された１つ以上のテキスト文字列を受信することと、１つ以上のテキスト文字列を変換する第２の言語の指示を受信することと、１つ以上のテキスト文字列内に、第１の言語で記述された少なくとも１つの関数を含む定義を特定することと、定義内に、少なくとも１つの関数に対応し、第２の言語で記述された少なくとも１つの埋め込まれた関数を特定することと、第２の言語で記述された少なくとも１つの埋め込まれた関数に少なくとも部分的に基づいて、１つ以上のテキスト文字列を、第２の言語で記述され、定義の少なくとも一部分を含む翻訳されたテキスト文字列に変換することと、データベーススキーマ、オブジェクト定義、および／またはオブジェクト定義ストレージのうちの１つ以上を変更して、ユーザからの手動入力を伴わずにローカライゼーションおよび翻訳を促進することと、翻訳されたテキスト文字列を表示ことと、を行うように動作可能である１つ以上のコンピュータ実行可能命令を備えるメモリを含むコンピュータ可読媒体を含むことができる。
【００８６】
本開示のさらに別の追加の実施形態は、
第１の言語で記述された少なくとも１つの関数を含む定義を受信することと、定義内に、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を埋め込むことと、第１の言語に翻訳可能な第２の言語で記述された少なくとも１つの関数を検索することと、第２の言語で記述された少なくとも１つの関数に少なくとも部分的に基づいて、第１の言語から第２の言語にテキスト文字列を変換することと、を行うように動作可能である１つ以上のコンピュータ実行可能命令を備えるメモリを含むコンピュータ可読媒体を含むことができ、テキスト文字列は、定義の少なくとも一部分を含む。
【００８７】
本開示は、本開示の例示的な実施形態によるシステム、方法、装置、および／またはコンピュータプログラム製品のブロック図およびフロー図を参照して上記で説明されている。ブロック図およびフロー図のうちの１つ以上のブロック、ならびにブロック図およびフロー図のブロックの組み合わせは、それぞれ、コンピュータ可読プログラム命令によって実装されることができることが理解されよう。同様に、本発明のいくつかの実施形態によれば、ブロック図およびフロー図のうちのいくつかのブロックは、提示された順序で必ずしも実行される必要がなくてもよく、または必ずしも全く実行される必要がなくてもよい。
【００８８】
本発明の例示的な実施形態によるシステム、方法、装置、および／またはコンピュータプログラム製品の様々なブロック図および／またはフロー図を上記で説明されている。ブロック図とフロー図のうちの１つ以上のブロック、およびブロック図とフロー図のブロックの組み合わせは、それぞれコンピュータ可読プログラム命令によって実装できることが理解されよう。同様に、本開示のいくつかの実施形態によれば、ブロック図およびフロー図のうちのいくつかのブロックは、提示された順序で必ずしも実行される必要がなくてもよく、または必ずしも実行される必要がなくてもよい。
【００８９】
これらのコンピュータ実行可能プログラム命令は、専用コンピュータまたは他の特定の機械、プロセッサ、または他のプログラム可能なデータ処理装置に取り込まれ、特定の機械を生成し、したがって、コンピュータ、プロセッサ、または他のプログラム可能なデータ処理装置上で実行する命令は、フロー図ブロックまたはブロックで指定された１つ以上の関数を実装するための手段を生み出す。これらのコンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能なデータ処理装置に特定の方法で機能するように指示することができるコンピュータ可読メモリに記憶され得、したがって、コンピュータ可読メモリに記憶された命令は、フロー図ブロックまたはブロックで指定された１つ以上の関数を実装する命令手段を含む製品を生成する。一例として、本発明の実施形態は、その中に組み込まれたコンピュータ可読プログラムコードまたはプログラム命令を有するコンピュータ使用可能媒体を含むコンピュータプログラム製品を提供することができ、コンピュータ可読プログラムコードは、フロー図ブロックまたはブロックで指定された１つ以上の関数を実装するように実行されるように適合される。コンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能なデータ処理装置に取り込まれ、一連の操作要素またはステップをコンピュータまたは他のプログラム可能な装置上で実行させて、コンピュータ実装プロセスを生成し得、したがって、コンピュータまたは他のプログラム可能な装置上で実行する命令は、フロー図ブロックまたはブロックで指定された関数を実装するための要素またはステップを提供する。
【００９０】
したがって、ブロック図およびフロー図のブロックは、指定された関数を実行するための手段の組み合わせ、指定された関数を実行するための要素またはステップの組み合わせ、および指定された関数を実行するためのプログラム命令手段をサポートする。また、ブロック図およびフロー図の各ブロック、およびブロック図およびフロー図のブロックの組み合わせは、指定された関数を実行する専用のハードウェアベースのコンピュータシステム、要素またはステップ、あるいは専用のハードウェアおよびコンピュータ命令の組み合わせによって実装されることができることも理解されよう。
【００９１】
本明細書に記載の本発明の多くの修正および他の実施形態は、前述の説明および関連する図面に提示された教示の利益を有することは明らかであろう。したがって、本発明は、開示された特定の実施形態に限定されるものではなく、修正および他の実施形態は、添付の特許請求の範囲内に含まれることが意図されることを理解されるであろう。本明細書では特定の用語が採用されているが、それらは、一般的かつ説明的な意味でのみ使用されており、限定の目的ではない。
【図１】
2020530639.tif 000003
【図２】
2020530639.tif 000004
【図３】
2020530639.tif 000005
【図４】
2020530639.tif 000006
【図５】
2020530639.tif 000007
【図６】
2020530639.tif 000008
【図７】
2020530639.tif 000009
【図８】
2020530639.tif 000010
【図９】
2020530639.tif 000011
【図１０】
2020530639.tif 000012
【図１１】
2020530639.tif 000013
【図１２】
2020530639.tif 000014
【図１３】
2020530639.tif 000015
【図１４】
2020530639.tif 000016
【国際調査報告】
2020530639.tif 000017
2020530639.tif 000018