図1は、本発明の一実施形態である翻訳システム4を含む携帯端末向けアプリケーション利用支援システム9の構成を示す図である。本実施形態は、翻訳システム4の運営者(以下、運営者という)が、自身が開発したアプリケーションAPをアプリストアにおいて提供する者(以下、アプリ提供者という)と、このアプリケーションAPをアプリストアから自身の携帯端末にダウンロードして利用する者(以下、アプリ利用者という)に対して、アプリケーションAPの多言語化サービスを提供するためのものである。
図1において、携帯端末向けアプリケーション支援システム9は、翻訳システム4と、アプリストアサーバ901と、アプリケーションサーバ951と、APIサーバ961と、プッシュ通知サーバ971と、アプリ提供者第1端末1と、アプリ提供者第2端末2と、アプリ利用者端末3とを有する。アプリ提供者第1端末1は、アプリ提供者のパーソナルコンピュータであり、アプリ提供者第2端末2は、アプリ提供者の携帯端末である。アプリ利用者端末3は、アプリ利用者の携帯端末である。
アプリストアサーバ901は、図33、図34、図35、図36、及び図37に示したアプリストアサーバ901と同じ役割を果たす。アプリ提供者が、プラットフォーマに対して、自身が開発したアプリケーションAPのストア申請を行い、プラットフォーマによる審査をパスすると、このアプリケーションAPが、アプリストアサーバ901のDBに登録される。
図2に示すように、アプリストアサーバ901に登録されているアプリケーションは、マニュフェストファイル、ネイティブコンテンツ記述部、ウェブページ呼出し関数、API呼出し関数などを含む。マニュフェストファイルは、当該アプリケーションAPを動作させるのに必要な資源についての情報を記述したファイルである。ネイティブコンテンツ記述部は、当該アプリケーションAPの表示画面のレイアウト構造及び画面内の表示テキストを記述したものである。ウェブページ呼出し関数は、ネットワーク90上の所定のURLにあるマークアップデータのリクエストを発信して、マークアップデータを受信し、このマークアップデータ内に要素として記述されているテキストデータを当該アプリケーションAPの表示画面内の所定位置の表示テキストとして表示させる関数である。API呼出し関数は、ネットワーク90上の所定のAPIのリクエストを発信して、APIからテキストデータを受信し、このテキストデータを当該アプリケーションAPの表示画面内の所定位置の表示テキストとして表示させる関数である。
アプリケーションサーバ951及びAPIサーバ961は、携帯端末の要求に応じて、アプリケーションAPの表示テキストのテキストデータを携帯端末に提供するものである。
より詳細に説明すると、アプリケーションサーバ951は、図35、図36、及び図37に示したアプリケーションサーバ951と同じ役割を果たす。アプリケーションサーバ951は、携帯端末において、アプリケーションAPのウェブページ呼出し関数が実行され、携帯端末から、ウェブページのURLを宛先とするリクエストを受信した場合、このリクエストのURLが示す記憶領域におけるアプリケーションAPの表示画面のマークアップデータを読み出し、携帯端末に送信する。アプリケーションAPの提供元が、アプリケーションAPの表示コンテンツを更新する場合は、自身の端末から、アプリケーションサーバ951にアクセスし、アプリケーションサーバ951におけるアプリケーションAPの表示画面のマークアップデータを書き換える。この後、携帯端末において、アプリケーションAPが立ち上がると、アプリケーションサーバ951における書き換え後のマークアップデータが携帯端末に送信され、その記述内容がアプリケーションAPの表示画面として表示される。
APIサーバ961は、図35、図36、及び図37に示したAPIサーバ961と同じ役割を果たす。APIサーバ961は、携帯端末において、アプリケーションAPのAPI呼出し関数が実行され、携帯端末から、APIのURLを宛先とするリクエストを受信した場合、所定のAPI処理を行い、この処理結果として得られたテキストデータを、携帯端末に送信する。
プッシュ通知サーバ971は、図37に示したプッシュ通知サーバ971と同じ役割を果たす。プッシュ通知サーバ971は、アプリケーションサーバ951又はその他のサーバから、プッシュ通知の情報を受信し、自装置内におけるデバイストークン・デバイス対応表を基に、宛先の携帯端末を特定し、この携帯端末に宛ててプッシュ通知を配信する。
図3は、アプリ利用者端末3の構成を示す図である。アプリ利用者端末3は、制御部31、Wi-Fi通信モジュール321、移動体通信モジュール322、揮発性記憶部33、不揮発性記憶部34、タッチパネル35、加速度センサ36、及びバッテリ37を有する。制御部31は、CPUを含む。制御部31は、不揮発性記憶部34に記憶されているデータやプログラムを揮発性記憶部33に読み出し、揮発性記憶部33をワークエリアとして利用しつつ、各種演算やプログラムの実行を行う。
揮発性記憶部33には、キャッシュ領域331が確保されている。キャッシュ領域331には、翻訳システム4から当該アプリ利用者端末3に提供された、翻訳済みテキストデータが記憶される。
不揮発性記憶部34には、携帯端末用のOS341、及び複数のアプリケーションAPが記憶されている。不揮発性記憶部34内の複数のアプリケーションAPの中には、多言語化サービスの対象となるアプリケーションAPと、それ以外のアプリケーションAPとがある。多言語化サービスの対象となるアプリケーションAPは、アプリ提供者により、アプリストアサーバ901に登録され、アプリストアサーバ901から当該アプリ利用者端末3にインストールされたものである。以降の説明では、多言語化サービスの対象となるアプリケーションAPの符号をアプリケーションAP’とし、それ以外のアプリケーションAPと区別する。アプリケーションAP’は、SDK(Software Development Kit)39を含んでいる。SDK39は、当該アプリケーションAP’がアプリストアサーバ901に登録されて携帯端末に提供可能になる前に、アプリ提供者によって、当該アプリケーションAP’に組み込まれたものである。SDK39は、以下に示す機能を実現する関数を含む。
a1.SDK起動機能
これは、アプリケーションAP’内において、当該SDK39を起動させる機能である。
a2.アプリケーション表示画面翻訳表示機能
これは、アプリケーションAP’の表示画面において、アプリケーションAP’のネイティブコンテンツ記述部内のテキストデータ、アプリケーションサーバ951から受信したテキストデータ、及び、APIサーバ961から受信したテキストデータが、当該アプリ利用者端末のOS341の既定値の言語のものであるか否かを判定し、当該携帯端末のOS341の既定値の言語のものでない場合、揮発性記憶部33のキャッシュ領域331にそれらの翻訳済みテキストデータが記憶されているか否かを判断し、翻訳済みテキストデータが記憶されていない場合、アプリケーションAP’の表示テキストの翻訳済みテキストデータを要求する翻訳済みテキスト要求メッセージを翻訳システム4に送信し、翻訳システム4から、アプリケーションAP’の表示テキストの翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージを受信し、翻訳済みテキスト提供メッセージ内の翻訳済みテキストデータをキャッシュ領域331に記憶し、この翻訳済みテキストデータを、アプリケーションAP’の表示画面の表示テキストとして表示させる機能である。
a3.プッシュ通知翻訳表示機能
これは、アプリケーションAP’に関わるプッシュ通知を受信したとき、揮発性記憶部33のキャッシュ領域331に、当該プッシュ通知の翻訳済みテキストデータが記憶されているか否かを確認し、当該プッシュ通知の翻訳済みテキストデータがキャッシュ領域331に記憶されている場合、キャッシュ領域331における翻訳済みテキストデータを、アプリケーションAP’に関わるプッシュ通知の表示テキストとして表示させる機能である。
図4は、アプリ提供者第1端末1の構成を示す図である。アプリ提供者第1端末1は、制御部11、通信インターフェース12、揮発性記憶部13、不揮発性記憶部14、ディスプレイ15、キーボード16、及びポインティングデバイス17を有する。制御部11は、CPUを含む。制御部11は、不揮発性記憶部14に記憶されているデータやプログラムを揮発性記憶部13に読み出し、揮発性記憶部13をワークエリアとして利用しつつ、各種演算やプログラムの実行に関わる処理を行う。
不揮発性記憶部14には、パーソナルコンピュータ用のOS141、及びブラウザ142が記憶されている。
図5は、アプリ提供者第2端末2の構成を示す図である。アプリ提供者第2端末2は、制御部21、Wi-Fi通信モジュール221、移動体通信モジュール222、揮発性記憶部23、不揮発性記憶部24、タッチパネル25、加速度センサ26、及びバッテリ27を有する。制御部11は、CPUを含む。制御部11は、不揮発性記憶部24に記憶されているデータやプログラムを揮発性記憶部23に読み出し、揮発性記憶部23をワークエリアとして利用しつつ、各種演算やプログラムの実行を行う。
揮発性記憶部23には、キャッシュ領域231が確保されている。キャッシュ領域231には、翻訳システム4からアプリ提供者第2端末2に提供された、翻訳済みテキストデータが記憶される。
不揮発性記憶部24には、携帯端末用のOS242、及びアプリケーションAP’が記憶されている。不揮発性記憶部24内のアプリケーションAP’には、SDK29が組み込まれている。SDK29は、当該アプリケーションAP’がアプリストアサーバ901に登録されて携帯端末に提供可能になる前に、アプリ提供者によって、当該アプリケーションAP’に組み込まれたものである。SDK29は、上記のSDK39のものと同じ機能a1、a2、a3、及び、以下に示す機能を実現する関数を含む。
b1.更新検知・自動翻訳機能
これは、所定のトリガ信号TR2が発生したときに、翻訳システム4との間でメッセージを送受信し、このメッセージの送受信の結果に基づいて、アプリケーションAP’の表示画面及びプッシュ通知の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータが、翻訳システム4の翻訳済みテキストDB5142に記憶されているか否かを確認し、元言語のテキストデータ及び外国語の翻訳済みテキストデータが翻訳済みテキストDB5142に記憶されていない場合は、当該表示画面及びプッシュ通知の画面/プッシュ通知識別情報を含み、当該表示画面及びプッシュ通知の表示テキストの元言語のテキストデータとそれを外国語に翻訳した翻訳済みテキストデータ、又は翻訳済みテキストデータの登録を要求する登録要求メッセージを、翻訳システム4に送信する機能である。
b2.プッシュ通知翻訳機能
これは、アプリケーションAP’に関わるプッシュ通知を受信した場合に、当該プッシュ通知の画面/プッシュ通知識別情報を含み、当該プッシュ通知の表示テキストの元言語のテキストデータとそれを外国語に翻訳したテキストデータ、又は翻訳済みテキストデータの登録を要求する登録要求メッセージを、翻訳システム4に送信する機能である。
b3.翻訳編集機能
これは、所定のトリガ信号TR3が発生したとき、アプリケーションAP’の表示テキストの翻訳済みテキストデータを要求する翻訳済みテキスト要求メッセージを翻訳システム4に送信し、翻訳システム4から、アプリケーションAP’の表示テキストの翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージを受信し、翻訳済みテキスト提供メッセージ内の翻訳済みテキストデータをキャッシュ領域231に記憶し、この翻訳済みテキストデータを埋め込んだ編集第3画面を表示させ、編集第3画面において、一部または全部の表示テキストの修正を伴う所定の操作がされた場合、修正後のテキストデータを含む翻訳書換え要求メッセージを生成し、この翻訳書換え要求メッセージを、翻訳システム4に送信する機能である。
b4.アプリ表示画面キャプチャリング機能
これは、所定のトリガ信号TR5が発生したとき、キャッシュ領域231内の翻訳済みテキストデータを、アプリケーションAP’の表示コンテンツとして表示した表示画面をキャプチャリングし、このキャプチャリングにより得られた画像データを、翻訳システム4に送信する機能である。
図1において、翻訳システム4は、対訳DBサーバ41、翻訳サーバ51、及びCDNサーバ61を有する。これらのサーバ41、51、61は、アプリ利用者端末3におけるアプリケーションAP’の表示テキストの言語の切換を支援する役割を果たす。
図6は、対訳DBサーバ41の構成を示す図である。対訳DBサーバ41は、制御部411、通信インターフェース412、揮発性記憶部413、及び不揮発性記憶部414を有する。制御部411は、CPUを含む。制御部411は、不揮発性記憶部414に記憶されているデータやプログラムを揮発性記憶部413に読み出し、揮発性記憶部413をワークエリアとして利用しつつ、各種演算やプログラムの実行を行う。
不揮発性記憶部414には、サーバ用のOS4141、対訳DB4142、及び多言語化支援プログラム4143が記憶されている。
図7は、対訳DB4142のデータ構造を示す図である。対訳DB4142は、会社名や商品名等の固有名詞や、よく使うフレーズなどの翻訳済みテキストデータを収録したライブラリである。対訳DB4142の各レコードは、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、及び「外国語のテキスト」のフィールドを有する。「元言語の言語コード」のフィールドは、元言語の言語識別情報を示す。「翻訳語テキスト」のフィールドは、翻訳対象の固有名詞又はフレーズのテキストデータを示す。「外国語の言語コード」は、翻訳先の外国語の言語識別情報を示す。「外国語のテキスト」のフィールドは、元言語から外国語に翻訳した固有名詞又はフレーズのテキストデータを示す。
多言語化支援プログラム4143は、以下の機能を有する。
c1.対訳検索機能
これは、翻訳サーバ51から、元言語のテキストデータを含むメッセージを受信し、このメッセージ内の元言語のテキストデータと対応する外国語のテキストデータを対訳DB4142内から検索し、検索した外国語のテキストデータを翻訳サーバ51に送信する機能である。
c2.対訳登録機能
これは、翻訳サーバ51から、翻訳処理により得られた元言語のテキストデータと外国語のテキストデータの対を含むメッセージを受信し、このメッセージ内のテキストデータが対訳DB4142に登録されているか否かを判定し、登録されていない場合に、メッセージ内の元言語のテキストデータと外国語のテキストデータを対訳DB4142に記憶する機能である。
図8は、翻訳サーバ51の構成を示す図である。翻訳サーバ51は、制御部511、通信インターフェース512、揮発性記憶部513、及び不揮発性記憶部514を有する。制御部511は、CPUを含む。制御部511は、不揮発性記憶部514に記憶されているデータやプログラムを揮発性記憶部513に読み出し、揮発性記憶部513をワークエリアとして利用しつつ、各種演算やプログラムの実行を行う。
不揮発性記憶部514には、サーバ用のOS5141、翻訳済みテキストDB5142、及び多言語化支援プログラム5143が記憶されている。
図9は、翻訳済みテキストDB5142のデータ構造を示す図である。翻訳済みテキストDB5142は、各々が、アプリケーションAP’の表示画面またはプッシュ通知の表示テキストと対応する複数のレコードの集合体である。翻訳済みテキストDB5142の各レコードは、「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、「配置」、及び「ステータス」のフィールドを有する。
「アプリID」のフィールドは、アプリケーションAP’のアプリ識別情報を示す。「画面ID/プッシュ通知ID」のフィールドは、アプリケーションAP’の表示画面又はプッシュ通知の識別情報を示す。当該レコードが、アプリケーションAP’の表示画面内の表示テキストのものであれば、「画面ID/プッシュ通知ID」のフィールドの値は、表示画面に固有の識別情報を含む画面/プッシュ通知識別情報(例えば、先頭2文字が表示画面を示すSCの文字である識別情報)となり、当該レコードが、アプリケーションAP’に関わるプッシュ通知の表示テキストのものであれば、「画面ID/プッシュ通知ID」のフィールドの値は、プッシュ通知に固有の識別情報を含む画面/プッシュ通知識別情報(例えば、先頭2文字がプッシュ通知を示すPSの文字である識別情報)となる。
「表示テキストID」のフィールドは、表示テキストに固有の表示テキスト識別情報を示す。「元言語の言語コード」のフィールドは、表示テキストの元言語の言語識別情報を示す。「元言語のテキスト」のフィールドは、表示テキストの元言語のテキストデータを示す。「外国語の言語コード」のフィールドは、表示テキストの翻訳先の外国語の言語識別情報を示す。「外国語のテキスト」のフィールドは、表示テキストのテキストデータを元言語から外国語に翻訳した翻訳済みテキストデータを示す。「サイズ」のフィールドは、翻訳済みテキストデータのサイズ情報を示す。「スタイル」のフィールドは、翻訳済みテキストデータのスタイル情報を示す。「配置」のフィールドは、翻訳済みテキストデータの配置情報を示す。
「ステータス」のフィールドは、翻訳済みテキストデータのステータス情報を示す。ここで、ステータス情報には、当該翻訳済みテキストデータが翻訳済みテキストDB5142に登録されているが、アプリ利用者端末3への提供は許可されていないことを示す「Save」と、当該翻訳済みテキストデータが翻訳済みテキストDB5142に登録され、且つ、アプリ利用者端末3への提供が許可されていることを示す「Publish」の2つがある。
多言語化支援プログラム5143は、以下の機能を有する。
d1.アプリ表示画面翻訳機能
これは、CDNサーバ61から、アプリケーションAP’の表示画面の表示テキストの元言語のテキストデータとそれを外国語に翻訳した翻訳済みテキストデータの登録を要求する登録要求メッセージ、又は翻訳済みテキストデータの登録を要求する登録要求メッセージを受信した場合、表示画面の未翻訳のテキストデータを、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、表示テキスト識別情報と対応付けて翻訳済みテキストDB5142に記憶し、この翻訳済みテキストデータをCDNサーバ61に送信して、CDNサーバ61のキャッシュ領域6131のテーブルTBLに記憶させる機能である。
d2.プッシュ通知翻訳機能
これは、CDNサーバ61から、アプリケーションAP’に関わる未登録のプッシュ通知の表示テキストのテキストデータとそれを元言語から所定の外国語に翻訳した翻訳済みテキストデータの登録を要求する登録要求メッセージを受信した場合、未翻訳のプッシュ通知を、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、画面/プッシュ通知識別情報と対応付けて翻訳済みテキストDB5142に記憶し、この翻訳済みテキストデータをCDNサーバ61に送信して、CDNサーバ61のキャッシュ領域6131のテーブルTBLに記憶させる機能である。
d3.キャプチャリング画像記憶機能
これは、アプリ提供者第2端末2から、当該アプリ提供者第2端末2において、キャッシュ領域231の翻訳済みテキストデータをアプリケーションAP’の表示コンテンツとして表示した表示画像のキャプチャリング画像データを受信し、このキャプチャリング画像データを揮発性記憶部23の所定領域に記憶する機能である。
d4.翻訳済みテキスト修正支援機能
これは、アプリ提供者第1端末1から、アプリケーションAP’の表示画面の画面/プッシュ通知識別情報を含み、翻訳サーバ51内における編集第2画面のURLを宛先とする編集第2画面要求メッセージを受信した場合、編集第2画面要求メッセージ内の画面/プッシュ通知識別情報と対応する翻訳済みテキストデータを翻訳済みテキストDB5142から読み出すとともに、この時点において揮発性記憶部23の所定領域に記憶されている画像データを読み出し、翻訳済みテキストデータ及び画像データを含む編集第2画面のマークアップデータを生成し、このマークアップデータをアプリ提供者第1端末1に送信し、アプリ提供者第1端末1から、編集第2画面において修正された表示コンテンツの表示テキスト識別情報と修正後のテキストデータとを含む翻訳書換え要求メッセージを受信した場合、翻訳済みテキストDB5142から、この翻訳書換え要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータを含むレコードを検索し、検索したレコードの翻訳済みテキストデータを、翻訳書換え要求メッセージ内のテキストデータによって書き換える機能である。
図10は、CDNサーバ61の構成を示す図である。CDNサーバ61は、制御部611、通信インターフェース612、揮発性記憶部613、及び不揮発性記憶部614を有する。制御部611は、CPUを含む。制御部611は、不揮発性記憶部614に記憶されているデータやプログラムを揮発性記憶部613に読み出し、揮発性記憶部613をワークエリアとして利用しつつ、各種演算やプログラムの実行を行う。
揮発性記憶部613には、キャッシュ領域6131が確保されている。図11に示すように、キャッシュ領域6131には、翻訳済みテキストDB5142におけるステータスが「Publish」となっているレコードのコピーを集めたテーブルTBLが記憶される。
不揮発性記憶部614には、サーバ用のOS6141、及び多言語化支援プログラム6142が記憶されている。多言語化支援プログラム6142は、以下の機能を有する。
e1.翻訳済みテキストデリバリー機能
これは、アプリ利用者端末3から、アプリケーションAP’の表示テキストの翻訳済みテキストデータを要求する翻訳済みテキスト要求メッセージを受信した場合に、当該CDNサーバ61のキャッシュ領域6131に、当該翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されているかを判定し、記憶されている場合、キャッシュ領域6131における該当の翻訳済みテキストデータを読み出し、この翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージをアプリ利用者端末3に送信し、記憶されていない場合、翻訳サーバ51に、表示テキストの翻訳済みテキストデータを要求する翻訳済みテキスト要求メッセージを送信し、翻訳サーバ51から、翻訳済みテキストデータを受信し、この翻訳済みテキストデータを、表示テキスト識別情報と対応づけてキャッシュ領域6131に記憶するとともに、この翻訳済みテキストデータを、アプリ利用者端末3に送信する機能である。
次に、本実施形態の動作について説明する。
図12及び図13は、アプリ利用者端末3におけるアプリケーションAP’の起動中の基本処理のフローチャートである。
図12において、アプリ利用者端末3の制御部31は、アプリケーションAP’の立ち上がり時に、アプリケーションAP’の表示画面の各表示テキストの元言語のテキストデータ、即ち、アプリケーションAP’のネイティブコンテンツ記述部に記述されているテキストデータ、及びアプリケーションサーバ951やAPIサーバ961にリクエストを送ってそれらのサーバ951、961から受信したテキストデータを、揮発性記憶部33の所定領域に記憶する。
アプリ利用者端末3におけるアプリケーションAP’の立ち上がり以降、アプリ利用者端末3の制御部31は、当該アプリ利用者端末3内において、トリガ信号TR1が発生したか否かを監視する(S1010)。このトリガ信号TR1は、アプリケーションAP’の表示画面の表示テキストの言語切換えの契機となるものである。トリガ信号TR1は、アプリケーションAP’の立ち上がり時に発生するようにしてもよいし、所定周期(例えば、5秒)毎のタイミングで発生するようにしてもよい。アプリ利用者端末3の制御部31は、当該アプリ利用者端末3内において、トリガ信号TR1が発生した場合(S1010:Yes)、ステップS1020に進む。
ステップS1020において、アプリ利用者端末3の制御部31は、OS341において既定値として設定されている言語を確認し、揮発性記憶部33の所定領域に記憶されている各表示テキストの元言語のテキストデータが、OS341の既定値の言語と同じであるか否かを判定する。アプリ利用者端末3の制御部31は、表示テキストの元言語のテキストデータが、OS341の既定値の言語と異なる場合(S1020:No)、ステップS1030に進み、OS341の既定値の言語と同じである場合(S1020:Yes)、ステップS1130に進む。
ステップS1030において、アプリ利用者端末3の制御部31は、キャッシュ領域331に、各表示テキストの翻訳済みテキストデータが記憶されているか否かを判定する。アプリ利用者端末3の制御部31は、翻訳済みテキストデータが記憶されていない場合(S1030:No)、ステップS1040に進み、翻訳済みテキストデータが記憶されている場合(S1030:Yes)、ステップS1120に進む。
ステップS1040において、アプリ利用者端末3の制御部31は、アプリケーションAP’のアプリ識別情報、アプリケーションAP’の各表示画面の画面/プッシュ通知識別情報、表示画面内の各表示テキストの表示テキスト識別情報、及びOS341の既定値の言語の言語識別情報を含み、CDNサーバ61の所定のURLを宛先とする翻訳済みテキスト要求メッセージを生成し、この翻訳済みテキスト要求メッセージをネットワーク90に送信する。
CDNサーバ61の制御部611は、翻訳済みテキスト要求メッセージを受信すると、翻訳済みテキスト要求メッセージから、アプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、及び元言語の言語識別情報を取り出して、揮発性記憶部613に記憶し、これらの情報と対応する翻訳済みテキストデータを含むレコードを、キャッシュ領域6131のテーブルTBLから検索する。CDNサーバ61の制御部611は、キャッシュ領域6131に、該当の翻訳済みテキストデータを含むレコードがない場合(S1050:No)、ステップS1060に進み、キャッシュ領域6131に、該当の翻訳済みテキストデータを含むレコードがある場合(S1050:Yes)、ステップS1100に進む。
CDNサーバ61の制御部611は、揮発性記憶部613に記憶している、アプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、及び元言語の言語識別情報を含む翻訳済みテキスト要求メッセージを生成し、この翻訳済みテキスト要求メッセージを翻訳サーバ51に送信する。
翻訳サーバ51の制御部511は、翻訳済みテキスト要求メッセージを受信すると、翻訳済みテキスト要求メッセージから、アプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、及び元言語の言語識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における「ステータス」が「Publish」になっているレコードを検索範囲とし、揮発性記憶部613内のアプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、及び元言語の言語識別情報と対応する翻訳済みテキストデータを含むレコードを、翻訳済みテキストDB5142における検索範囲のレコードの中から検索する(S1070)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における検索範囲のレコードの中に、該当のレコードがある場合は、そのレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出し、これらの情報をCDNサーバ61に送信する(S1080)。
CDNサーバ61の制御部611は、翻訳サーバ51から受信したアプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、元言語の言語識別情報、元言語のテキストデータ、翻訳先の外国語の言語識別情報、翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を、キャッシュ領域6131のテーブルTBLに新たなレコードとして記憶し(S1090)、ステップS1100に進む。
ステップS1100において、CDNサーバ61の制御部611は、キャッシュ領域6131のテーブルTBLにおける該当のレコード(ステップS1050でテーブルTBLから探索したレコード、又はステップS1090でテーブルTBLに追加したレコード)における「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出し、これらの情報を含む翻訳済みテキスト提供メッセージを生成し、この翻訳済みテキスト提供メッセージをネットワーク90に送信する。
アプリ利用者端末3の制御部31は、翻訳済みテキスト提供メッセージを受信すると、翻訳済みテキスト提供メッセージ内のアプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、翻訳先の外国語の言語識別情報、翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を取り出し、これらの情報を、揮発性記憶部33のキャッシュ領域331に記憶し(S1110)、ステップS1120に進む。
ステップS1120において、アプリ利用者端末3の制御部31は、揮発性記憶部33のキャッシュ領域331内の翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を、アプリケーションAP’の表示画面の表示テキストとして表示させる。
図14は、アプリ利用者端末3のOS341の既定値の言語が日本語であった場合におけるアプリケーションAP’の表示画面の表示例である。この表示例では、アプリケーションAP’の表示画面における7個の表示テキストが、元言語である英語から、OS341の既定値の言語である日本語に置き換わっている。
図13のステップS1130において、アプリ利用者端末3の制御部31は、キャッシュ領域内の元言語のテキストデータ、サイズ情報、スタイル情報、及び配置情報を、アプリケーションAP’の表示画面の表示テキストとして表示させる。
図15は、アプリ利用者端末3におけるアプリケーションに関わるプッシュ通知の受信時の処理のフローチャートである。
図15において、アプリ利用者端末3の制御部31は、アプリケーションAP’に関わるプッシュ通知を受信したか否かを監視する(S2010)。アプリ利用者端末3の制御部31は、プッシュ通知を受信した場合(S2010:Yes)、ステップS2020に進む。
ステップS2020において、アプリ利用者端末3の制御部31は、OS341において既定値として設定されている言語を確認し、プッシュ通知として受信したテキストデータが、OS341の既定値の言語と同じであるか否かを判定する。アプリ利用者端末3の制御部31は、プッシュ通知の元言語のテキストデータが、OS341の既定値の言語と異なる場合(S2020:No)、ステップS2030に進み、OS341の既定値の言語と同じである場合(S2020:Yes)、ステップS2040に進む。
ステップS2030において、アプリ利用者端末3の制御部31は、キャッシュ領域331に、プッシュ通知の翻訳済みテキストデータが記憶されているか否かを判定する。アプリ利用者端末3の制御部31は、翻訳済みテキストデータが記憶されていない場合(S2030:No)、ステップS2040に進み、翻訳済みテキストデータが記憶されている場合(S2030:Yes)、ステップS2050に進む。
ステップS2040において、アプリ利用者端末3の制御部31は、元言語のテキストデータを、プッシュ通知の表示テキストとして表示させる。
ステップS2050において、アプリ利用者端末3の制御部31は、キャッシュ領域331内の翻訳済みテキストデータを、プッシュ通知の表示テキストとして表示させる。
図16は、アプリ利用者端末3のOS341の既定値の言語が日本語であった場合におけるプッシュ通知の表示例である。この表示例では、プッシュ通知の表示テキストが、元言語である英語から、OS341の既定値の言語である日本語に置き換わっている。
図17、図18は、アプリ提供者第2端末2におけるアプリケーションAP’の表示テキストの更新の自動検知・自動翻訳に関わる処理のフローチャートである。
図17において、アプリ提供者第2端末2の制御部21は、アプリケーションAP’の立ち上がり時に、アプリケーションAP’の表示画面の各表示テキストの元言語のテキストデータ、即ち、アプリケーションAP’のネイティブコンテンツ記述部に記述されているテキストデータ、及びアプリケーションサーバ951やAPIサーバ961にリクエストを送ってそれらのサーバ951、961から受信したテキストデータを、揮発性記憶部23の所定領域に記憶する。
アプリ提供者第2端末2におけるアプリケーションAP’の立ち上がり以降、アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR2が発生したか否かを監視する(S3010)。このトリガ信号TR2は、アプリケーションAP’の表示テキストの更新の自動検知・自動翻訳の契機となるものである。トリガ信号TR2は、アプリケーションAP’の立ち上がり時に発生するようにしてもよいし、所定周期(例えば、24時間)毎のタイミングで発生するようにしてもよい。アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR2が発生した場合(S3010:Yes)、ステップS3020に進む。
ステップS3020において、アプリ提供者第2端末2の制御部21は、アプリケーションAP’のアプリ識別情報を含み、翻訳サーバ51の所定のURLを宛先とする更新検知メッセージを生成し、この更新検知メッセージをネットワーク90に送信する。
翻訳サーバ51の制御部511は、更新検知メッセージを受信すると、更新検知メッセージから、アプリ識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内のアプリ識別情報を含むレコードを検索する(S3030)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出し、これらの情報を含む翻訳済みテキスト提供メッセージを生成し、この翻訳済みテキスト提供メッセージをネットワーク90に送信する(S3040)。
アプリ提供者第2端末2の制御部21は、翻訳済みテキスト提供メッセージを受信すると、翻訳済みテキスト提供メッセージ内の情報を取り出し、取り出した情報を揮発性記憶部23に記憶する。アプリ提供者第2端末2の制御部21は、翻訳済みテキスト提供メッセージから取り出して揮発性記憶部23に記憶した情報と、それ以前に揮発性記憶部23に記憶されていた情報とを照合し、アプリケーションAP’の表示画面の最新の表示テキストの中に、翻訳済みテキストDB5142への元言語及び外国語のテキストデータの登録が済んでいないものがあるか否かを判定する(S3050)。アプリ提供者第2端末2の制御部21は、アプリケーションAP’の表示画面の最新の表示テキストの中に、翻訳済みテキストDB5142への元言語及び外国語のテキストデータの登録が済んでいないものがある場合(S3050:Yes)、ステップS3060に進む。
ここで、ステップS3050における情報の照合には、種々の態様がある。例えば、翻訳済みテキスト提供メッセージから取り出した、翻訳済みの表示テキストの表示テキスト識別情報(翻訳済みテキストDB5142に記憶されている表示テキスト識別情報)と、揮発性記憶部23に記憶されている表示テキスト識別情報(前回の自動検知・自動翻訳に関わる処理(図17、図18)において、翻訳サーバ51からアプリ提供者第2端末2に送信され(図18のステップS3090)、アプリ提供者第2端末のキャッシュ領域231に記憶された(図18のステップS3100)表示テキスト識別情報、又は、前回のプッシュ通知の自動翻訳に関わる処理(後掲の図19)において、翻訳サーバ51からアプリ提供者第2端末2に送信され(図19のステップS4090)、アプリ提供者第2端末のキャッシュ領域231に記憶された(図19のステップS4100)表示テキスト識別情報)の個数を比較し、表示テキスト識別情報の個数が違っていれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータの少なくとも一方が未登録であると判断し、表示テキスト識別情報の個数が同じであれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータが登録済みであると判断してもよい。同様に、翻訳済みテキスト提供メッセージから取り出した、翻訳済みの表示テキストの画面/プッシュ通知識別情報の個数と、揮発性記憶部23に記憶されている画面/プッシュ通知識別情報の個数が違っていれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータの少なくとも一方が未登録であると判断し、画面/プッシュ通知識別情報の個数が同じであれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータが登録済みであると判断してもよい。また、翻訳済みテキスト提供メッセージから取り出した元言語のテキストデータの個数と揮発性記憶部23に記憶されている元言語のテキストデータの個数を比較し、個数が違っていれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが未登録であると判断し、個数が同じであれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが登録済みであると判断してもよい。また、翻訳済みテキスト提供メッセージから取り出した翻訳済みテキストデータの個数と揮発性記憶部23に記憶されている翻訳済みテキストデータの個数を比較し、個数が違っていれば、アプリケーションAP’の表示画面の最新の表示テキストの翻訳済みテキストデータが未登録であると判断し、個数が同じであれば、アプリケーションAP’の表示画面の最新の表示テキストの翻訳済みテキストデータが登録済みであると判断してもよい。
ステップS3060において、アプリ提供者第2端末2の制御部21は、翻訳サーバ51の所定のURLを宛先とする登録要求メッセージを生成し、この登録要求メッセージをネットワーク90に送信する。具体的には、アプリ提供者第2端末2の制御部21は、ステップS3050において、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータの両方が未登録であると判定した場合、アプリケーションAP’のアプリ識別情報、未登録の表示テキストがある表示画面の画面/プッシュ通知識別情報、未登録の表示テキストの元言語の言語識別情報、未登録の表示テキストの元言語のテキストデータ、及び、翻訳先として予め設定されている1又は複数の翻訳先の外国語の言語識別情報を含む、元言語・外国語翻訳登録要求メッセージを生成し、この元言語・外国語翻訳登録要求メッセージを送信する。アプリ提供者第2端末2の制御部21は、ステップS3050において、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータは登録済みであるが、外国語の翻訳済みテキストデータが未登録であると判定した場合、アプリケーションAP’のアプリ識別情報、未翻訳の表示テキストがある表示画面の画面/プッシュ通知識別情報、未翻訳の表示テキストの元言語の言語識別情報、未翻訳の表示テキストの元言語のテキストデータ、及び、翻訳先として予め設定されている1又は複数の翻訳先の外国語の言語識別情報を含む、外国語翻訳登録要求メッセージを生成し、この外国語翻訳登録要求メッセージを送信する。
翻訳サーバ51の制御部511は、登録要求メッセージを受信すると、登録要求メッセージ内の情報を取り出し、取り出した情報を揮発性記憶部513に記憶し、翻訳処理を行う(S3070)。この翻訳処理では、翻訳サーバ51の制御部511は、アプリ提供者第2端末2から受信した登録要求メッセージが、元言語・外国語翻訳登録要求メッセージであった場合は、元言語・外国語翻訳登録要求メッセージ内のアプリ識別情報、画面/プッシュ通知識別情報、元言語の言語識別情報、及び元言語のテキストデータを、翻訳済みテキストDB5142に新たなレコードとして追加する元言語登録処理を行った後、元言語のテキストデータを翻訳先の外国語の言語識別情報が示す1又は複数の外国語に翻訳し、元言語・外国語翻訳登録要求メッセージ内のアプリ識別情報、画面/プッシュ通知識別情報、元言語の言語識別情報、元言語のテキストデータ、言語識別情報、及び翻訳済みテキストデータを、翻訳済みテキストDB5142に新たなレコードとして追加する外国語登録処理を行う。翻訳サーバ51の制御部511は、アプリ提供者第2端末2から受信した登録要求メッセージが、外国語翻訳登録要求メッセージであった場合は、元言語登録処理を行わずに、外国語登録処理だけを行う。
より詳細に説明すると、外国語登録処理では、翻訳サーバ51の制御部511は、翻訳対象の元言語のテキストデータを対訳DBサーバ41に送信する(S3071)。対訳DBサーバ41の制御部411は、検索処理を行う(S3072)。検索処理では、対訳DBサーバ41の制御部411は、翻訳対象の元言語のテキストデータと対応する固有名詞やフレーズが対訳DB4142内にあるか否かを検索し、検索結果を翻訳サーバ51に返信する(S3073)。翻訳サーバ51の制御部511は、対訳DB4142の検索により、翻訳対象のテキストデータとマッチする検索結果が得られた場合は、その検索結果を翻訳済みテキストデータとして揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、対訳DB4142の検索により、翻訳対象のテキストデータとマッチする検索結果が得られなかった場合は、検索エンジンサイト、翻訳用学習済みモデルに問い合わせを送信し、翻訳対象のテキストデータとマッチする翻訳結果を取得し、この翻訳結果を翻訳済みテキストデータとして揮発性記憶部513に記憶する。翻訳サーバ51の制御部411は、翻訳済みテキストデータが、固有名詞やフレーズを示すものであり、対訳DB4142への登録を要すると判定した場合、元言語の言語識別情報、元言語のテキストデータ、翻訳先の外国語の言語識別情報、及び翻訳済みテキストデータを、対訳DBサーバ41に送信する(S3074)。対訳DBサーバ41の制御部411は、登録処理を行う(S3075)。登録処理では、対訳DBサーバ41の制御部411は、翻訳サーバ51から受信した、元言語の言語識別情報、元言語のテキストデータ、翻訳先の外国語の言語識別情報、及び翻訳済みテキストデータを含む新たなレコードを生成し、このレコードを対訳DB4142に記憶する。
翻訳処理の後、翻訳サーバ51の制御部511は、翻訳処理において、翻訳済みテキストDB5142の新規レコードの「ステータス」のフィールドに「Save」の情報を記憶する(S3080)。ここで、この新規レコードにおける「サイズ」、「スタイル」、及び「配置」のフィールドは、空欄にしてもよいし、初期値として予め設定されているサイズ情報、スタイル情報、及び配置情報としてもよい。
ステップS3090において、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142に追加したレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、及び「外国語のテキスト」の情報を読み出し、これらの情報を含む翻訳登録メッセージを生成し、この翻訳登録メッセージをネットワーク90に送信する。
アプリ提供者第2端末2の制御部21は、翻訳登録メッセージを受信すると、翻訳登録メッセージ内の情報を取り出し、取り出した情報を、キャッシュ領域231に記憶する(S3100)。
ここで、アプリ提供者第2端末2により、図17、図18に示すアプリケーションAP’の表示テキストの更新の自動検知・自動翻訳に関わる処理が行われ、翻訳サーバ51の翻訳済みテキストDB5142に、アプリケーションAP’の表示画面の新たな表示テキストの翻訳済みテキストデータが追加された後、アプリ利用者端末3において、トリガ信号TR1が発生すると、アプリ利用者端末3では、図12のステップS1010:Yes→ステップS1020:No→ステップS1030:No→ステップS1040と処理が進んで、アプリ利用者端末3からCDNサーバ61に翻訳済みテキスト要求メッセージが送信される。この時点では、CDNサーバ61のキャッシュ領域6131のテーブルTBL内に新たな表示テキストの翻訳済みテキストデータは無いので、ステップS1050:No→ステップS1060と処理が進んで、CDNサーバ61から翻訳サーバ51に翻訳済みテキスト要求メッセージが送信される。翻訳サーバ51では、ステップS1070において、新たな翻訳済みテキストデータが翻訳済みテキストDB5142から読み出され、CDNサーバ61に送信される。CDNサーバ61では、ステップS1090において、この新たな翻訳済みテキストデータがキャッシュ領域6131のテーブルTBLに記憶され、ステップS1100において、この新たな翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージが、CDNサーバ61からアプリ利用者端末3に送信される。アプリ利用者端末3では、ステップS1110において、この新たな翻訳済みテキストデータがキャッシュ領域331に記憶される。その後、アプリ利用者端末3において、トリガ信号TR1が再び発生すると、アプリ利用者端末3において、ステップS1010:Yes→ステップS1020:No→ステップS1030と処理が進む。この時点では、新たな翻訳済みテキストデータがキャッシュ領域331にあるので、ステップS1030の判定結果は「Yes」となって、ステップS1120に進み、新たな表示テキストの翻訳済みテキストデータが、アプリケーションAP’の表示画面の表示テキストとして表示される。
以上の処理が繰り返されることにより、アプリ提供者の関知しないところで、アプリケーションサーバ951やAPIサーバ961からアプリ利用者端末3に提供されるテキストデータが更新される場合でも、アプリ利用者端末3の表示コンテンツの言語をその更新に追随させることができる。
図19は、アプリ提供者第2端末2におけるアプリケーションAP’に関わるプッシュ通知の自動翻訳に関わる処理のフローチャートである。ここで、アプリ提供者は、このプッシュ通知の自動翻訳の準備作業として、アプリ提供者第2端末2をテスト環境にし、アプリ利用者端末3への配信を予定するプッシュ通知を、アプリ提供者第2端末2に宛ててテスト配信する。具体的には、アプリ提供者は、アプリケーションサーバ951のプッシュ通知登録サイトにアクセスし、配信予定のプッシュ通知のメッセージと、アプリ提供者第2端末2のデバイストークンの情報を登録する。この登録がされると、アプリケーションサーバ951は、アプリ提供者が登録したプッシュ通知の情報を、プッシュ通知サーバ971に送信し、プッシュ通知サーバ971が、アプリ提供者第2端末2にプッシュ通知を送信する。
図19において、アプリ提供者第2端末2の制御部21は、アプリケーションAP’に関わるプッシュ通知を受信したか否かを監視する(S4010)。アプリ提供者第2端末2の制御部21は、プッシュ通知を受信した場合(S4010:Yes)、ステップS4060に進む。
ステップS4060において、アプリ提供者第2端末2の制御部21は、翻訳サーバ51の所定のURLを宛先とする登録要求メッセージを生成し、この登録要求メッセージをネットワーク90に送信する。具体的には、アプリ提供者第2端末2の制御部21は、配信予定のプッシュ通知の表示テキストのテキストデータと、それ以前に揮発性記憶部23に記憶されていた情報とを照合し、配信予定のプッシュ通知の表示テキストの中に、翻訳済みテキストDB5142への元言語及び外国語のテキストデータの登録が済んでいないものがあるか否かを判定する。アプリ提供者第2端末2の制御部21は、配信予定のプッシュ通知の表示テキストの元言語のテキストデータ及び外国語の翻訳済みテキストデータの両方が未登録であると判定した場合、アプリケーションAP’のアプリ識別情報、未登録のプッシュ通知の画面/プッシュ通知識別情報、未登録のプッシュ通知の元言語の言語識別情報、未登録のプッシュ通知の元言語のテキストデータ、及び、翻訳先として予め設定されている1又は複数の翻訳先の外国語の言語識別情報を含む、元言語・外国語翻訳登録要求メッセージを生成し、この元言語・外国語翻訳登録要求メッセージを送信する。アプリ提供者第2端末2の制御部21は、配信予定のプッシュ通知の表示テキストの元言語のテキストデータは登録済みであるが、外国語の翻訳済みテキストデータが未登録であると判定した場合、アプリケーションAP’のアプリ識別情報、未翻訳のプッシュ通知の画面/プッシュ通知識別情報、未翻訳のプッシュ通知の元言語の言語識別情報、未翻訳のプッシュ通知の元言語のテキストデータ、及び、翻訳先として予め設定されている1又は複数の翻訳先の外国語の言語識別情報を含む、外国語翻訳登録要求メッセージを生成し、この外国語翻訳登録要求メッセージを送信する。
翻訳サーバ51の制御部511は、登録要求メッセージを受信すると、登録要求メッセージ内の情報を取り出し、取り出した情報を揮発性記憶部513に記憶し、翻訳処理を行う(S4070)。この翻訳処理では、アプリ提供者第2端末2から受信した登録要求メッセージが、元言語・外国語翻訳登録要求メッセージであった場合は、元言語・外国語翻訳登録要求メッセージ内のアプリ識別情報、プッシュ通知の画面/プッシュ通知識別情報、プッシュ通知の元言語の言語識別情報、及びプッシュ通知の元言語のテキストデータを、翻訳済みテキストDB5142に新たなレコードとして追加する元言語登録処理を行った後、プッシュ通知の元言語のテキストデータを翻訳先の外国語の言語識別情報が示す1又は複数の外国語に翻訳し、元言語・外国語翻訳登録要求メッセージ内のアプリ識別情報、プッシュ通知の画面/プッシュ通知識別情報、プッシュ通知の元言語の言語識別情報、プッシュ通知の元言語のテキストデータ、プッシュ通知の翻訳先の外国語の言語識別情報、及びプッシュ通知の翻訳済みテキストデータを、翻訳済みテキストDB5142に新たなレコードとして追加する外国語登録処理を行う。翻訳サーバ51の制御部511は、アプリ提供者第2端末2から受信した登録要求メッセージが、外国語翻訳登録要求メッセージであった場合は、元言語登録処理を行わずに、外国語登録処理だけを行う。この翻訳処理におけるステップS4070、S4071、S4072、S4073、S4074、S4075の手順は、図18の翻訳処理におけるステップS3070、S3071、S3072、S3073、S3074、S3075の手順と同じである。
翻訳処理の後、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142の新規レコードの「ステータス」のフィールドに「Publish」の情報を記憶し(S4080)、ステップS4090に進む。また、この新規レコードにおける「サイズ」、「スタイル」、及び「配置」のフィールドは、空欄にしてもよいし、初期値として予め設定されているサイズ情報、スタイル情報、及び配置情報としてもよい。
ステップS4090において、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142に追加したレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、及び「外国語のテキスト」の情報を読み出し、これらの情報を含む翻訳登録メッセージを生成し、この翻訳登録メッセージをネットワーク90に送信する。
アプリ提供者第2端末2の制御部21は、翻訳済みテキスト提供メッセージを受信すると、翻訳済みテキスト提供メッセージ内の情報を取り出し、取り出した情報を、キャッシュ領域231に記憶する(S4100)。
ここで、アプリ提供者第2端末2により、図19に示すアプリケーションAP’に関わるプッシュ通知の自動翻訳に関わる処理が行われ、翻訳サーバ51の翻訳済みテキストDB5142に、配信予定のプッシュ通知の翻訳済みテキストデータが追加された後、アプリ利用者端末3において、トリガ信号TR1が発生すると、図12のステップS1010:Yes→ステップS1020:No→ステップS1030:No→ステップS1040→ステップS1050:No→ステップS1060→ステップS1070と処理が進む。この時点では、配信予定のプッシュ通知の翻訳済みテキストデータが翻訳済みテキストDB5142に記憶されているので、ステップS1070において、配信予定のプッシュ通知の翻訳済みテキストデータが、表示画面の他の表示テキストの翻訳済みテキストデータとともに、翻訳済みテキストDB5142から読み出され、CDNサーバ61に送信される。CDNサーバ61では、ステップS1090において、このプッシュ通知の翻訳済みテキストデータがキャッシュ領域6131のテーブルTBLに記憶され、ステップS1100において、このプッシュ通知の翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージが、CDNサーバ61からアプリ利用者端末3に送信される。アプリ利用者端末3では、ステップS1110において、このプッシュ通知の翻訳済みテキストデータがキャッシュ領域331に記憶される。その後、アプリ利用者端末3において、配信予定であったプッシュ通知を受信すると、図15のステップS2010:Yes→ステップS2020:No→ステップS2030と処理が進む。この時点では、プッシュ通知の翻訳済みテキストデータがキャッシュ領域331にあるので、ステップS2030の判定結果は「Yes」となって、ステップS2050に進み、翻訳済みテキストデータが、プッシュ通知の表示テキストとして表示される。
図20、図21は、アプリ提供者第1端末1におけるアプリケーションAP’の翻訳済みテキストデータの編集に関わる処理のフローチャートである。
図20において、アプリ提供者第1端末1において、ブラウザ142を立ち上げ、編集画面の閲覧に関わる所定の操作が行われると、アプリ提供者第1端末1の制御部11は、アプリケーションAP’のアプリ識別情報を含み、翻訳サーバ51内における編集第1画面のURLを宛先とする編集第1画面要求メッセージを生成し、この編集第1画面要求メッセージをネットワーク90に送信する(S5010)。
翻訳サーバ51の制御部511は、編集第1画面要求メッセージを受信すると、編集第1画面要求メッセージから、アプリ識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内のアプリ識別情報を含むレコードを検索する(S5020)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出す。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの情報を、アプリケーションAP’の編集第1画面のテンプレートの所定箇所に埋め込んで、編集第1画面のマークアップデータを生成し、このマークアップデータをネットワーク90に送信する(S5030)。
アプリ提供者第1端末1の制御部11は、編集第1画面のマークアップデータを受信すると、このマークアップデータを揮発性記憶部13に記憶する。アプリ提供者第1端末1の制御部11は、揮発性記憶部13内の編集第1画面のマークアップデータを解釈して、編集第1画面のレイアウトを特定し、編集第1画面を表示させる(S5040)。
図22は、アプリ提供者第1端末1における編集第1画面の表示例である。編集第1画面には、アプリケーションAP’の各表示画面を模した複数の画面画像SRC-i(i=1~L:Lは、アプリケーションAP’における表示画面の総数、図22の例では、L=5)が配置されている。画面画像SRC-iのサイズは、真ん中のものが最も大きく、左右に離れるものほど小さくなっている。真ん中の画面画像SRC-iは、仮選択中の画面画像SRC-iである。真ん中の画面画像SRC-iから左右に離れた位置には、左シフトボタン181L及び右シフトボタン181Rがある。左シフトボタン181L及び右シフトボタン181Rは、画面画像SRC-i(i=1~L)を循環させるためのものである。左シフトボタン181Lにマウスポインタを移動して左クリックする操作がされると、左端の画面画像SRC-iが右端に移動し、それ以外の画面画像SRC-iが左に一つずつずれる。右シフトボタン181Rにマウスポインタを移動して左クリックする操作がされると、右端の画面画像SRC-iが左端に移動し、それ以外の画面画像SRC-iが右に一つずつずれる。編集第1画面において、アプリ提供者のオペレータは、画面選択操作を行う。画面選択操作では、真ん中の画面画像SRC-i上にマウスポインタを移動して左クリックする。
アプリ提供者第1端末1の制御部11は、編集第1画面において、画面選択操作が行われた場合(S5170:Yes)、ステップS5180に進む。
ステップS5180において、アプリ提供者第1端末1の制御部11は、画面選択操作により選択された表示画面の画面/プッシュ通知識別情報を含み、翻訳サーバ51内における編集第2画面のURLを宛先とする編集第2画面要求メッセージ生成し、この編集第2画面要求メッセージをネットワーク90に送信する。
翻訳サーバ51の制御部511は、アプリ提供者第1端末1に編集第1画面のマークアップデータを送信した後、アプリ提供者第1端末1から編集第2画面要求メッセージを受信したか否かを監視する。翻訳サーバ51の制御部511は、編集第2画面要求メッセージを受信した場合(S5190:Yes)、ステップS5200に進む。
ステップS5200において、翻訳サーバ51の制御部511は、編集第2画面要求メッセージから、画面/プッシュ通知識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の画面/プッシュ通知識別情報を含むレコードを検索し、翻訳済みテキストDB5142から検索したレコードの「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出す。その後、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの情報を、アプリケーションAP’の編集第2画面のテンプレートの所定箇所に埋め込んで、編集第2画面のマークアップデータを生成し、このマークアップデータをネットワーク90に送信する(S5210)。
アプリ提供者第1端末1の制御部11は、編集第2画面のマークアップデータを受信すると、このマークアップデータを揮発性記憶部13に記憶する。アプリ提供者第1端末1の制御部11は、揮発性記憶部13内の編集第2画面のマークアップデータを解釈して、編集第2画面のレイアウトを特定し、編集第2画面を表示させる(S5220)。
図23は、アプリ提供者第1端末1における編集第2画面の表示例である。編集第2画面には、言語表示欄182と対訳一覧183とが配置されている。言語表示欄182の左側には、元言語の情報(図23の例ではEN)が表示され、右側には翻訳先の言語の情報(図23の例ではJP)が表示される。対訳一覧183は、表示画面内の各表示テキストの対訳表示欄185-j(j=1~M:Mは、表示画面における表示テキストの総数、図23の例では、M=8)を上下に並べたものである。対訳表示欄185-jの左側の枠内には、表示テキストの元言語の情報が表示され、右側の枠内には、表示テキストの翻訳語の情報が表示される。編集第2画面において、アプリ提供者のオペレータは、言語切換操作と修正操作を行う。言語切換操作では、言語表示欄182内のプルダウン展開ボタン184にマウスポインタを移動して左クリックして、プルダウン(不図示)を展開させ、プルダウン内の所望の言語にマウスポインタを移動して左クリックする。言語切換操作がされると、対訳一覧183の右側の枠内の翻訳語の情報が、言語切換操作により選択された言語のものに切り換わる。修正操作では、対訳一覧183における所望の表示テキストの対訳表示欄185-jにマウスポインタを移動して左クリックして、修正ボックスをアクティブにし、この修正ボックス内の文字を書き換える。
アプリ提供者第1端末1の制御部11は、編集第2画面において、修正操作が行われた場合(S5230:Yes)、ステップS5240に進む。
ステップS5240において、アプリ提供者第1端末1の制御部11は、修正操作により修正された表示テキストの表示テキスト識別情報、修正操作の時点における言語表示欄182内の元言語と翻訳先の外国語の言語識別情報、及び修正後のテキストデータを含み、翻訳サーバ51を宛先とする翻訳書換え要求メッセージを生成し、この翻訳書換え要求メッセージをネットワーク90に送信する。その後、ステップS5230に戻る。
翻訳サーバ51の制御部511は、翻訳書換え要求メッセージを受信すると、翻訳書換え要求メッセージから、表示テキスト識別情報、元言語の言語識別情報、翻訳先の外国語の言語識別情報、及び修正後のテキストデータを取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の表示テキスト識別情報を含むレコードを検索する(S5250)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「外国語のテキスト」のテキストデータを、揮発性記憶部513における修正後のテキストデータによって書き換える(S5260)。
図24、図25、及び図26は、アプリ提供者第2端末2におけるアプリケーションAP’の翻訳済みテキストデータの編集に関わる処理のフローチャートである。
アプリケーションAP’のいずれかの表示画面が表示されている状態において、アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR3が発生したか否かを監視する(S6010)。このトリガ信号TR3は、アプリ提供者第2端末2単独での翻訳編集の契機となるものである。トリガ信号TR3は、図27に示すように、アプリ提供者第2端末2を振る動作がされた時に発生させるとよい。具体的には、アプリ提供者第2端末2の制御部21は、加速度センサ26の出力信号の波形が所定のパターンと一致した場合に、アプリ提供者第2端末2が振られたと判断し、トリガ信号TR3を発生させるとよい。アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR3が発生した場合(S6010:Yes)、ステップS6020に進む。
ステップS6020において、アプリ提供者第2端末2の制御部21は、トリガ信号TR3が発生した時点におけるアプリケーションAP’の表示画面の画面/プッシュ通知識別情報、及び当該表示画面内の表示テキストの表示テキスト識別情報、及び翻訳先の外国語の言語識別情報を含み、翻訳サーバ51の所定のURLを宛先とする翻訳済みテキスト要求メッセージを生成し、この翻訳済みテキスト要求メッセージをネットワーク90に送信する。
翻訳サーバ51の制御部511は、翻訳済みテキスト要求メッセージを受信すると、翻訳済みテキスト要求メッセージから、画面/プッシュ通知識別情報、表示テキスト識別情報、及び翻訳先の外国語の言語識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の画面/プッシュ通知識別情報、及び表示テキスト識別情報と対応する翻訳済みテキストデータを含むレコードを検索する(S6030)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出し、これらの情報を含む翻訳済みテキスト提供メッセージを生成し、この翻訳済みテキスト提供メッセージをネットワーク90に送信する(S6040)。
アプリ提供者第2端末2の制御部21は、翻訳済みテキスト提供メッセージを受信すると、翻訳済みテキスト提供メッセージ内の情報を取り出し、取り出した情報を、キャッシュ領域231に記憶し(S6050)、ステップS6060に進む。
ステップS6060において、アプリ提供者第2端末2の制御部21は、キャッシュ領域231における翻訳先の外国語の言語識別情報、翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報に基づいて、編集第3画面を表示させる。
図28(A)は、アプリ提供者第2端末2における編集第3画面の表示例である。編集第3画面には、言語表示欄281、対訳一覧282、スクロールバー283、第1ボタン286、第2ボタン287、及び第3ボタン288が配置されている。言語表示欄281には、翻訳先の外国語の言語識別情報(図28(A)の例ではJP)が表示される。対訳一覧282は、表示画面内の各表示テキストの対訳表示欄285-k(k=1~N:Nは、表示画面における表示テキストの総数、図28の例では、N=7)を上下に並べたものである。スクロールバー283は、対訳一覧282の表示範囲を上下にスクロールさせるためのものである。対訳表示欄285-k内には、表示テキストの翻訳語の情報が表示される。第1ボタン286内には、「Preview」の文字が記されている。第2ボタン287内には、「Cancel」の文字が記されている。第3ボタン288内には、「Publish」の文字が記されている。
編集第2画面において、アプリ提供者のオペレータは、言語切換操作、修正操作、Preview操作、Cancel操作、又はPublish操作を行う。言語切換操作では、言語表示欄281をタッチして、プルダウン(不図示)を展開させ、プルダウン内の所望の言語をタッチする。言語切換操作がされると、対訳一覧282の対訳表示欄285-k(k=1~N:Nは、表示画面における表示テキストの総数、図28の例では、N=7)内の情報が、言語切換操作により選択された言語のものに切り換わる。
図28(B)に示すように、修正操作では、対訳一覧282における所望の対訳表示欄285-kをタッチして、修正ボックス285’-kをアクティブにし、この修正ボックス285’-k内における翻訳語の文字、サイズ、スタイル、又は配置の情報を書き換える。
Preview操作では、第1ボタン286をタッチする。Cancel操作では、第2ボタン287をタッチする。Publish操作では、第3ボタン288をタッチする。
アプリ提供者第2端末2の制御部21は、編集第3画面において、修正操作が行われた場合(S6070:Yes)、ステップS6080に進み、修正操作が行われない場合、ステップS6120に進む。
ステップS6080において、アプリ提供者第2端末2の制御部21は、キャッシュ領域231内における修正操作により修正された表示テキストの翻訳済みテキストデータ、サイズ情報、スタイル情報、又は配置情報を書き換える。その後、アプリ提供者第2端末2の制御部21は、キャッシュ領域231における書き換え後の情報を含み、翻訳サーバ51を宛先とする翻訳書換え要求メッセージを生成し、この翻訳書換え要求メッセージをネットワーク90に送信する(S6090)。
翻訳サーバ51の制御部511は、翻訳書換え要求メッセージを受信すると、翻訳書換え要求メッセージから、表示テキスト識別情報、翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の表示テキスト識別情報を含むレコードを検索する(S6100)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「外国語のテキスト」、「サイズ」、「スタイル」、又は「配置」のフィールドの情報を、揮発性記憶部513における修正後の情報によって書き換える(S6110)。
アプリ提供者第2端末2の制御部21は、編集第3画面において、Preview操作が行われた場合(S6120:Yes)、ステップS6130に進み、Preview操作が行われない場合、ステップS6140に進む。
ステップS6130において、アプリ提供者第2端末2の制御部21は、揮発性記憶部23のキャッシュ領域231内の翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を、アプリケーションAP’のPreview画面として表示させ、ステップS6140に進む。
ステップS6140において、アプリ提供者第2端末2の制御部21は、編集第3画面において、Cancel操作が行われた場合(S6140:Yes)、揮発性記憶部33のキャッシュ領域331内の情報を書き換え前の情報に戻し、ステップS6070に戻る。Cancel操作が行われない場合(S6140:No)、ステップS6150に進む。
アプリ提供者第2端末2の制御部21は、編集第3画面において、Publish操作が行われた場合(S6150:Yes)、ステップS6160に進み、Publish操作が行われない場合(S6150:No)、ステップS6070に戻る
ステップS6160において、アプリ提供者第2端末2の制御部21は、キャッシュ領域331内の表示テキスト識別情報を含み、翻訳サーバ51の所定のURLを宛先とするステータス変更要求メッセージを生成し、このステータス変更要求メッセージをネットワーク90に送信する。
翻訳サーバ51の制御部511は、ステータス変更要求メッセージを受信すると、ステータス変更要求メッセージから、表示テキスト識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の表示テキスト識別情報を含むレコードを検索する(S6170)。
翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの「ステータス」のフィールドの情報を「Publish」に書き換える(S6180)。この「ステータス」のフィールドの情報の書き換え後、翻訳サーバ51の制御部511は、書き換えをしたレコードの「アプリID」、「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出し、これらの情報をCDNサーバ61に送信する(S6190)。
CDNサーバ61の制御部611は、翻訳サーバ51から受信したアプリ識別情報、画面/プッシュ通知識別情報、表示テキスト識別情報、元言語の言語識別情報、元言語のテキストデータ、翻訳先の外国語の言語識別情報、翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を、揮発性記憶部613のキャッシュ領域6131のテーブルTBLに新たなレコードとして記憶する(S6200)。
図29、図30、図31は、アプリ提供者第1端末1、及びアプリ提供者第2端末2によるアプリケーションAP’の翻訳済みテキストデータの編集に関わる処理のフローチャートである。
図29において、アプリ提供者第1端末1において、ブラウザ142を立ち上げ、編集第1画面の閲覧に関わる所定の操作が行われると、アプリ提供者第1端末1の制御部11は、編集第1画面要求メッセージを送信し(S7010)、翻訳サーバ51の制御部511が、翻訳済みテキストDB5142内の該当のレコードを検索し(S7020)、このレコードの情報を埋め込んだ編集第1画面のマークアップデータを送信し(S7030)、アプリ提供者第1端末1の制御部11が、編集第1画面(図22)を表示させる(S7040)。これらのステップS7010、S7020、S7030、及びS7040の処理は、図20におけるステップS5010、S5020、S5030、及びS5040の処理と同様である。
アプリ提供者第1端末1における編集第1画面の表示と合わせて、アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR4が発生したか否かを監視する(S7051)。このトリガ信号TR4は、アプリ提供者第1端末1とアプリ提供者第2端末2とによる共同での翻訳編集の契機となるものである。トリガ信号TR4は、所定周期(例えば、5秒)毎のタイミングで発生するようにするとよい。
アプリ提供者第2端末2の制御部21は、当該アプリ提供者第2端末2内において、トリガ信号TR4が発生した場合(S7051:Yes)、翻訳済みテキスト要求メッセージを送信する(S7052)。このステップS7052の処理は、図24におけるステップS6020の処理と同様である。
翻訳サーバ51の制御部511は、翻訳済みテキスト要求メッセージを受信すると、翻訳済みテキストDB5142内の該当のレコードを検索し(S7100)、このレコードの情報を含む翻訳済みテキスト提供メッセージをアプリ提供者第2端末2に送信する(S7110)。これらのステップS7100、S7110の処理は、図24におけるステップS6030、S6040の処理と同様である。
アプリ提供者第2端末2の制御部21は、翻訳済みテキスト提供メッセージを受信すると、翻訳済みテキスト提供メッセージ内の情報を取り出し、取り出した情報を、キャッシュ領域231に記憶し(S7115)、ステップS7116に進む。
ステップS7116において、アプリ提供者第2端末2の制御部21は、キャッシュ領域331内の翻訳済みテキストデータ、サイズ情報、スタイル情報、及び配置情報を、アプリケーションAP’の表示画面の表示テキストとして表示させ、この表示画面をキャプチャリングし、キャプチャリング画像の画像データを翻訳サーバ51に送信する。その後、ステップS7051に戻る。
翻訳サーバ51の制御部511は、アプリ提供者第2端末2への翻訳済みテキスト提供メッセージの送信後、アプリ提供者第2端末2からの画像データの送信を監視する。翻訳サーバ51の制御部511は、画像データを受信した場合(S7121:Yes)、受信した画像データを、揮発性記憶部23の所定領域に記憶し(S7122)、ステップS7190に進む。
ステップS7190において、翻訳サーバ51の制御部511は、アプリ提供者第1端末1から編集第2画面要求メッセージを受信したか否かを監視する。翻訳サーバ51の制御部511は、編集第2画面要求メッセージを受信した場合(S7190:Yes)、ステップS7200に進む。
ステップS7200において、翻訳サーバ51の制御部511は、編集第2画面要求メッセージから、画面/プッシュ通知識別情報を取り出して、揮発性記憶部513に記憶する。翻訳サーバ51の制御部511は、翻訳済みテキストDB5142における全レコードを検索範囲とし、揮発性記憶部513内の画面/プッシュ通知識別情報を含むレコードを検索し、翻訳済みテキストDB5142から検索したレコードの「画面ID/プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、及び「配置」のフィールドの情報を読み出す。その後、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142から検索したレコードの情報、及びアプリ提供者第2端末2から受信した最新の画像データを、アプリケーションAP’の編集第2画面のテンプレートの所定箇所に埋め込んで、編集第2画面のマークアップデータを生成し、このマークアップデータをネットワーク90に送信する(S7210)。
アプリ提供者第1端末1の制御部11は、編集第2画面のマークアップデータを受信すると、このマークアップデータを揮発性記憶部13に記憶する。アプリ提供者第1端末1の制御部11は、揮発性記憶部13内の編集第2画面のマークアップデータを解釈して、編集第2画面のレイアウトを特定し、編集第2画面を表示させる(S7220)。
図32は、本ステップS7220で表示される編集第2画面の表示例である。アプリ提供者第1端末1単独で翻訳編集を行う場合の編集第2画面(図23)と異なり、アプリ提供者第1端末1とアプリ提供者第2端末2とにより編集作業を行う場合の編集第2画面(図32)では、対訳一覧183の左側に、アプリ提供者第2端末2から受信した画像データのキャプチャリング画像IMGが埋め込まれている。この編集第2画面において、アプリ提供者のオペレータは、言語切換操作と修正操作とを行う。
アプリ提供者第1端末1の制御部11は、編集第2画面において、修正操作が行われた場合(S7230:Yes)、ステップS7240に進んで、翻訳書換え要求メッセージを翻訳サーバ51に送信し、修正操作が行われない場合(S7230:No)、ステップ7270に進んで、画面更新のトリガ信号TR5が発生したか否かを監視する。画面更新のトリガ信号TR5は、所定周期(例えば、1秒)毎のタイミングで発生するようにするとよい。アプリ提供者第1端末1の制御部11は、画面更新のトリガ信号TR5が発生した場合(S7270:Yes)、ステップS7180に進んで、編集第2画面要求メッセージを再び送信し、画面更新のトリガ信号TR5が発生しない場合(S7270:No)、ステップS7230に進んで、修正操作がされるのを待つ。
翻訳サーバ51の制御部511は、翻訳書換え要求メッセージを受信すると、翻訳済みテキストDB5142における該当のレコードを検索し(S7250)、検索したレコードの翻訳済みテキストデータを書き換える(S7260)。これらのステップS7250、S7260の処理は、図25にけるステップS6100及びS6110の処理と同様である。
ここで、図29、図30、図31に示すアプリ提供者第1端末1、及びアプリ提供者第2端末2によるアプリケーションAP’の翻訳済みテキストデータの編集に関わる処理では、アプリ提供者第2端末2におけるアプリケーションAP’の表示画面のキャプチャリングと、アプリ提供者第1端末1におけるキャプチャリング画像を埋め込んだ編集第2画面の更新が、リアルタイムで行われる。よって、アプリ提供者のオペレータは、修正後の表示画面を確認しながら、修正作業を進めることができる。
アプリ提供者第1端末1、及びアプリ提供者第2端末2により、図29、図30、図31に示すアプリケーションAP’の翻訳済みテキストデータの編集に関わる処理が行われ、翻訳サーバ51の翻訳済みテキストDB5142における翻訳済みテキストデータが書き換えられた後、アプリ利用者端末3において、トリガ信号TR1が発生すると、アプリ利用者端末3では、図12のステップS1010:Yes→ステップS1020:No→ステップS1030:No→ステップS1040と処理が進んで、アプリ利用者端末3からCDNサーバ61に翻訳済みテキスト要求メッセージが送信される。この時点では、CDNサーバ61のキャッシュ領域6131のテーブルTBL内の翻訳済みテキストデータの書き換えは済んでいないので、ステップS1050:No→ステップS1060と処理が進んで、CDNサーバ61から翻訳サーバ51に翻訳済みテキスト要求メッセージが送信される。翻訳サーバ51では、ステップS1070において、書き換え後の翻訳済みテキストデータが翻訳済みテキストDB5142から読み出され、CDNサーバ61に送信される。CDNサーバ61では、ステップS1090において、書き換え後の翻訳済みテキストデータがキャッシュ領域6131のテーブルTBLに記憶され、ステップS1100において、書き換え後の翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージが、CDNサーバ61からアプリ利用者端末3に送信される。アプリ利用者端末3では、ステップS1110において、書き換え後の翻訳済みテキストデータがキャッシュ領域331に記憶される。その後、アプリ利用者端末3において、トリガ信号TR1が再び発生すると、アプリ利用者端末3において、図12のステップS1010:Yes→ステップS1020:No→ステップS1030と処理が進む。この時点では、書き換え後の翻訳済みテキストデータがキャッシュ領域331にあるので、ステップS1030の判定結果は「Yes」となって、ステップS1120に進み、編集第2画面において修正された翻訳済みテキストデータが、アプリケーションAP’の表示画面の表示テキストとして表示される。
以上が、本実施形態の詳細である。本実施形態である携帯端末向けアプリケーション利用支援システム8は、OS241、341とOS241、341上で動作する所定のアプリケーションAP’とが実装されている携帯端末2、3と、携帯端末2、3の要求に応じて、アプリケーションAP’の表示画面における表示テキストのテキストデータを携帯端末2、3に送信する表示テキスト提供サーバ951、961と、携帯端末2、3における表示テキストの言語の切換を支援する翻訳システム4とを有し、翻訳システム4は、翻訳サーバ51と、CDNサーバ61と、を有する。
そして、本実施形態では、携帯端末向けアプリケーション利用支援システム8による翻訳支援方法を実現し、この翻訳支援方法は、
携帯端末3が、アプリケーションAP’の表示画面における表示テキストのテキストデータ(アプリケーションAP’自体のネイティブコンテンツ記述部のテキストデータ、表示テキスト提供サーバ951、961から受信したテキストデータ)が、当該携帯端末3の既定値の言語のものであるかを判定するステップと、
携帯端末3が、アプリケーションAP’の表示画面における表示テキストのテキストデータが当該携帯端末3の既定値の言語のものでないと判定した場合、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報を含み、CDNサーバ61内の所定のアドレスを宛先とする翻訳済みテキスト要求メッセージを生成し、この翻訳済みテキスト要求メッセージを送信するステップと、
CDNサーバ61が、翻訳済みテキスト要求メッセージを受信した場合、当該CDNサーバ61の記憶手段のキャッシュ領域6131に、当該翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されているか否かを判定し、記憶されている場合、キャッシュ領域6131における該当の翻訳済みテキストデータを読み出して、携帯端末3に送信し、記憶されていない場合、翻訳サーバ51に、表示テキストの翻訳済みテキストデータを要求し、翻訳サーバ51から、翻訳済みテキストデータを受信し、翻訳済みテキストデータを、表示テキスト識別情報と対応づけてキャッシュ領域6131に記憶するとともに、翻訳済みテキストデータを、携帯端末3に送信するステップと、
携帯端末3が、翻訳済みテキストデータを受信し、この翻訳済みテキストデータを、アプリケーションAP’の表示画面における表示テキストとして表示させるステップとを有する。
また、本実施形態では、翻訳システム4のCDNサーバ61は、
携帯端末3から、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報を含み、当該CDNサーバ61内の所定のアドレスを宛先とする翻訳済みテキスト要求メッセージを受信した場合、当該CDNサーバ61の記憶手段のキャッシュ領域6131に、当該翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されているか否かを判断する判断手段と、
判断手段が、キャッシュ領域6131に、翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されていると判断した場合、キャッシュ領域6131における該当の翻訳済みテキストデータを読み出して、携帯端末3に送信する第1処理手段と、
判断手段が、キャッシュ領域6131に、翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されていないと判断した場合、翻訳サーバ51に、表示テキストの翻訳済みテキストデータを要求し、翻訳サーバ51から、翻訳済みテキストデータを受信し、翻訳済みテキストデータを、表示テキスト識別情報と対応づけてキャッシュ領域61311に記憶するとともに、翻訳済みテキストデータを、携帯端末3に送信する第2処理手段と
を具備する。
このような構成を有することにより、本実施形態によると、携帯端末向けアプリケーションAP’の表示テキストの多言語化を効率化することができる。
また、本実施形態の翻訳支援方法は、
アプリ提供者の携帯端末2が、アプリケーションAP’に関わるプッシュ通知を受信した場合、当該プッシュ通知のプッシュ通知識別情報を含み、未登録のプッシュ通知の表示テキストのテキストデータとそれを元言語から所定の外国語に翻訳した翻訳済みテキストデータの登録を要求する翻訳登録要求メッセージを翻訳システム4に送信するステップと、
翻訳システム4が、翻訳登録要求メッセージを受信した場合、翻訳登録要求メッセージ内のプッシュ通知識別情報と対応するプッシュ通知の未翻訳のテキストデータを、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、翻訳登録要求メッセージ内のプッシュ通知識別情報と対応付けて、当該翻訳システム4の記憶手段に記憶するステップと、
アプリ利用者の携帯端末3が、翻訳システム4から、アプリケーションAP’に関わるプッシュ通知の翻訳済みテキストデータを受信し、受信した翻訳済みテキストデータを、当該携帯端末3の記憶手段のキャッシュ領域331に記憶し、その後、アプリケーションAP’に関わるプッシュ通知の元言語のテキストデータを受信した場合、キャッシュ領域331における翻訳済みテキストデータを、アプリケーションAP’に関わるプッシュ通知の表示テキストとして表示させるステップと
を有する。
また、本実施形態では、翻訳システム4は、
携帯端末2、3のOS241、341上で動作する所定のアプリケーションAP’に関わるプッシュ通知のプッシュ通知識別情報と、プッシュ通知の元言語のテキストデータを所定の外国語に翻訳した翻訳済みテキストデータとを対応付けて記憶する記憶手段と、
アプリケーションAP’の提供元であるアプリ提供者の携帯端末2から、アプリケーションAP’に関わる未翻訳のプッシュ通知のプッシュ通知識別情報を含む翻訳登録要求メッセージを受信した場合、翻訳登録要求メッセージ内のプッシュ通知識別情報と対応する未翻訳のプッシュ通知のテキストデータを、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、翻訳登録要求メッセージ内のプッシュ通知識別情報と対応付けて記憶手段に記憶する第1処理手段と、
アプリケーションAP’の利用者であるアプリ利用者の携帯端末3から、プッシュ通知識別情報を含む翻訳済みテキスト要求メッセージを受信した場合、翻訳済みテキスト要求メッセージ内のプッシュ通知識別情報と対応付けて記憶手段に記憶されている翻訳済みテキストデータを読み出し、読み出した翻訳済みテキストデータをアプリ利用者の携帯端末3に送信する第2処理手段と
とを具備する。
このような構成を有することにより、本実施形態によると、携帯端末向けアプリケーションAP’のプッシュ通知の表示テキストを多言語化することができる。
また、本実施形態の翻訳支援方法は、
アプリ提供者の携帯端末2が、当該アプリ提供者の携帯端末2において、所定のトリガ信号が発生したときに、翻訳システム4との間でメッセージを送受信し、このメッセージの送受信の結果に基づいて、アプリケーションの表示画面の表示テキストのテキストデータとそれを元言語から所定の外国語に翻訳した翻訳済みテキストデータが、翻訳システム4の翻訳済みテキストDB5142に記憶されているか否かを確認し、元言語のテキストデータ及び外国語の翻訳済みテキストデータが翻訳済みテキストDB5142に記憶されていない場合は、未登録の表示テキストのテキストデータとそれを元言語から所定の外国語に翻訳した翻訳済みテキストデータの登録を要求する翻訳登録要求メッセージを翻訳システム4に送信するステップと、
翻訳システム4が、翻訳登録要求メッセージを受信した場合、当該翻訳システム4の記憶手段に、翻訳登録要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されているか否かを判定し、記憶されていない場合、翻訳登録要求メッセージ内の表示テキスト識別情報と対応する表示テキストの未翻訳のテキストデータを、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、翻訳登録要求メッセージ内の表示テキスト識別情報と対応付けて記憶手段に記憶するステップと、
アプリ利用者の携帯端末3が、アプリケーションAP’の表示画面における表示テキストのテキストデータ(アプリケーションAP’自体のネイティブコンテンツ記述部のテキストデータ、表示テキスト提供サーバ951、961から受信したテキストデータ)が、当該携帯端末3の既定値の言語のものであるかを判断するステップと、
アプリ利用者の携帯端末3が、アプリケーションAP’の表示画面における表示テキストのテキストデータが当該携帯端末3の既定値の言語のものでないと判断した場合、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報を含む翻訳済みテキスト要求メッセージを翻訳システム4に送信するステップと、
翻訳システム4が、翻訳済みテキスト要求メッセージを受信した場合、記憶手段に、当該翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータが記憶されているか否かを判定し、記憶されている場合、記憶手段における該当の翻訳済みテキストデータを読み出して、アプリ利用者の携帯端末3に送信するステップと、
アプリ利用者の携帯端末3が、アプリケーションAP’の表示画面における表示テキストのテキストデータ(アプリケーションAP’自体のネイティブコンテンツ記述部のテキストデータ、表示テキスト提供サーバ951、961から受信したテキストデータ)が、当該携帯端末2、3の既定値の言語のものであるかを判断し、アプリケーションAP’の表示画面における表示テキストのテキストデータが当該携帯端末2、3の既定値の言語のものでないと判断した場合、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報を含み、翻訳システム4内の所定のアドレスを宛先とする翻訳済みテキスト要求メッセージを生成し、この翻訳済みテキスト要求メッセージを送信するステップと、
翻訳システム4が、翻訳済みテキスト要求メッセージを受信した場合、翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応付けて記憶手段に記憶されている翻訳済みテキストデータをアプリ利用者の携帯端末3に送信するステップと、
アプリ利用者の携帯端末3が、翻訳済みテキストデータを受信し、この翻訳済みテキストデータを、アプリケーションAP’の表示画面における表示テキストとして表示させるステップと
を有する。
また、本実施形態では、翻訳システム4は、携帯端末2、3のOS241、341上で動作する所定のアプリケーションAP’のアプリ識別情報と、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報と、表示テキストの元言語のテキストデータを所定の外国語に翻訳した翻訳済みテキストデータとを対応付けて記憶する記憶手段と、
アプリケーションAP’の提供元であるアプリ提供者の携帯端末2から、アプリケーションAP’のアプリ識別情報を含む更新検知メッセージを受信した場合、更新検知メッセージ内のアプリ識別情報と対応する翻訳済みテキストデータを記憶手段から読み出し、読み出した翻訳済みテキストデータを含む翻訳済みテキスト提供メッセージを、アプリ提供者の携帯端末2に送信する第1処理手段と、
翻訳済みテキスト提供メッセージの送信後、アプリ提供者の携帯端末2から、アプリケーションAP’の表示画面における未翻訳の表示テキストの表示テキスト識別情報を含む翻訳登録要求メッセージを受信した場合、翻訳登録要求メッセージ内の表示テキスト識別情報と対応する表示テキストの未翻訳のテキストデータを、元言語から所定の外国語に翻訳し、この翻訳により得られた翻訳済みテキストデータを、翻訳登録要求メッセージ内の表示テキスト識別情報と対応付けて記憶手段に記憶する第2処理手段と、
アプリケーションAP’の利用者であるアプリ利用者の携帯端末3から、アプリケーションAP’の表示画面における表示テキストの表示テキスト識別情報を含む翻訳済みテキスト要求メッセージを受信した場合、翻訳済みテキスト要求メッセージ内の表示テキスト識別情報と対応付けて記憶手段に記憶されている翻訳済みテキストデータを読み出し、読み出した翻訳済みテキストデータをアプリ利用者の携帯端末3に送信する第3処理手段と
と具備する。
このような構成を有することにより、本実施形態によると、携帯端末向けアプリケーションAP’の提供者は、アプリケーションAP’のコードを書き換えなくても、自身の携帯端末2から翻訳システム4にメッセージを送るだけで、アプリ利用者の携帯端末3におけるアプリケーションAP’の表示テキストを外国語にすることができる。よって、本実施形態によると、人的、費用的リソースを消耗せずに、携帯端末向けアプリケーションAP’の多言語化を実現できる。
また、本実施形態の翻訳支援方法は、
アプリ提供者の第2端末2が、当該第2端末2内において、所定のトリガ信号が発生したとき、翻訳済みテキストデータを、アプリケーションAP’の表示テキストとしてレイアウトした表示画面をキャプチャリングし、このキャプチャリングにより得られた画像データを翻訳システム4に送信するステップと、
翻訳システム4が、第2端末2から画像データを受信し、受信した画像データを第2記憶手段に記憶するステップと、
アプリ提供者の第1端末1が、アプリケーションAP’の表示画面の画面識別情報を含み、翻訳システム4を宛先とする編集画面要求メッセージを送信するステップと、
翻訳システム4が、編集画面要求メッセージを受信した場合、編集画面要求メッセージ内の画面識別情報と対応する翻訳済みテキストデータを第1記憶手段から読み出すとともに、この時点において第2記憶手段に記憶されている画像データを第2記憶手段から読み出し、第1記憶手段から読み出した翻訳済みテキストデータ及び第2記憶手段から読み出した画像データを含む編集画面のマークアップデータを生成し、このマークアップデータをアプリ提供者の第1端末1に送信するステップと、
アプリ提供者の第1端末1が、翻訳システム4から、編集画面のマークアップデータを受信し、このマークアップデータに基づいて、編集画面を表示させるステップと、
アプリ提供者の第1端末1が、編集画面内における表示コンテンツの翻訳済みテキストデータを修正する操作が行われた場合、修正された表示コンテンツの表示テキスト識別情報と修正後のテキストデータとを含む翻訳書換え要求メッセージを翻訳システム4に送信するステップと、
翻訳システム4が、アプリ提供者の第1端末1から、翻訳書換え要求メッセージを受信し、翻訳書換え要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータを、翻訳書換え要求メッセージ内のテキストデータによって書き換えるステップと、
アプリ利用者の携帯端末3が、アプリケーションAP’の表示画面の画面識別情報を含む翻訳済みテキスト要求メッセージを、翻訳システム4に送信するステップと、
翻訳システム4が、翻訳済みテキスト要求メッセージを受信した場合、翻訳済みテキスト要求メッセージ内の画面識別情報と対応する翻訳済みテキストデータを第1記憶手段から読み出し、読み出した翻訳済みテキストデータをアプリ利用者の携帯端末3に送信するステップと、
アプリ利用者の携帯端末3が、翻訳システム4から翻訳済みテキストデータを受信し、受信した翻訳済みテキストデータを、アプリケーションAP’の表示画面の表示テキストとして表示させるステップとを有する。
また、本実施形態では、翻訳システム4は、携帯端末2、3のOS241、341上で動作する所定のアプリケーションAP’の表示画面の画面識別情報と、表示画面における表示テキストの表示テキスト識別情報と、表示テキストの元言語のテキストデータを所定の外国語に翻訳した翻訳済みテキストデータとを対応付けて記憶する第1記憶手段と、
第2記憶手段と、
アプリケーションAP’の提供元であるアプリ提供者の第2端末2から、当該第2端末2において、翻訳済みテキストデータをアプリケーションAP’の表示コンテンツとして表示させた表示画面のキャプチャリング画像データを受信し、受信した画像データを第2記憶手段に記憶する第1処理手段と、
アプリケーションAP’の提供元であるアプリ提供者の第1端末1から、アプリケーションAP’の表示画面の画面識別情報を含む編集画面要求メッセージを受信し、編集画面要求メッセージ内の画面識別情報と対応する翻訳済みテキストデータを第1記憶手段から読み出すとともに、この時点において第2記憶手段に記憶されている画像データを第2記憶手段から読み出し、第1記憶手段から読み出した翻訳済みテキストデータ及び第2記憶手段から読み出した画像データを含む編集画面のマークアップデータを生成し、このマークアップデータをアプリ提供者の第1端末1に送信する第2処理手段と、
アプリ提供者の第1端末1から、編集画面において修正された表示テキストの表示テキスト識別情報と修正後のテキストデータとを含む翻訳書換え要求メッセージを受信し、翻訳書換え要求メッセージ内の表示テキスト識別情報と対応する翻訳済みテキストデータを、翻訳書換え要求メッセージ内のテキストデータによって書き換える第3処理手段と、
アプリケーションAP’の利用者であるアプリ利用者の携帯端末3から、アプリケーションAP’の表示画面の画面識別情報を含む翻訳済みテキスト要求メッセージを受信し、受信した翻訳済みテキスト要求メッセージ内の画面識別情報と対応する翻訳済みテキストデータを第1記憶手段から読み出し、読み出した翻訳済みテキストデータをアプリ利用者の携帯端末3に送信する第4処理手段と
を具備する。
このような構成を有することにより、本実施形態によると、携帯端末向けアプリケーションAP’の提供者は、アプリケーションAP’のコードを書き換えなくても、編集画面のキャプチャリング画像を参照しながら、テキストを書き換えるだけで、アプリ利用者の携帯端末3におけるアプリケーションAP’の外国語の表示テキストの内容を修正できる。よって、本実施形態によると、携帯端末向けアプリケーションAP’の多言語化に要する人的、費用的リソースをより一層削減することができる。
以上、本発明の一実施形態について説明したが、本発明は、以下のような変形が可能である。
(1)上記実施形態において、多言語化サービスの対象となるアプリケーションAP’は、アプリストアサーバ901を介して携帯端末に提供されるものに限らない。例えば、工場の管理アプリケーションなどは、記憶媒体に記憶され、この記憶媒体がアプリ提供者からアプリ利用者に直に渡される場合もある。このようなアプリケーションを多言語化サービスの対象としてもよい。
(2)上記実施形態では、アプリケーションAP’自体を識別するアプリ識別情報と、アプリケーションAP’の複数の表示画面、及びアプリケーションAP’に関わるプッシュ通知を識別する画面/プッシュ通知識別情報と、表示画面内の各表示テキスト、及びプッシュ通知の表示テキストを識別する表示テキスト識別情報とが、別々に存在した。しかし、画面/プッシュ通知識別情報と表示テキスト識別情報を、共通の1種類の識別情報としてもよい。例えば、画面/プッシュ通知識別情報を、10桁の文字列とし、上位3桁を、表示画面又はプッシュ通知に固有の文字列とし、下位7桁を、表示画面内の各表示テキスト又はプッシュ通知の表示テキストに固有の文字列としてもよい。また、表示画面を識別する識別情報とプッシュ通知を識別する識別情報を別々のものにしてもよい。この場合、翻訳済みテキストDB5142の各レコードは、「アプリID」、「画面ID」、「プッシュ通知ID」、「表示テキストID」、「元言語の言語コード」、「元言語のテキスト」、「外国語の言語コード」、「外国語のテキスト」、「サイズ」、「スタイル」、「配置」、及び「ステータス」のフィールドを有し、「画面ID」のフィールドは、アプリケーションAP’の表示画面の固有の画面識別情報を示し、「プッシュ通知ID」のフィールドは、アプリケーションAP’に関わるプッシュ通知に固有のプッシュ通知識別情報を示すものとなる。この場合、翻訳済みテキストDB5142におけるアプリケーションAP’の表示画面の表示テキストのフィールドの「プッシュ通知ID」のフィールドは空欄にし、翻訳済みテキストDB5142におけるアプリケーションAP’に関わるプッシュ通知の表示テキストのフィールドの「画面ID」のフィールドは空欄にするとよい。また、この場合、「画面ID」のフィールドの情報及び「プッシュ通知ID」のフィールドの情報を表示テキストの固有の表示テキスト識別情報として使えるので、「表示テキスト」のフィールドを無くしてもよい。
(3)上記実施形態におけるアプリケーションAP’の表示テキストの更新の自動検知・自動翻訳に関わる処理では、アプリ提供者第2端末2が、翻訳システム4との間でメッセージを送受信し、翻訳システム4におけるアプリケーションAP’に関わる過去の翻訳処理により得られた情報を取得し、この情報と、アプリ提供者第2端末2の揮発性記憶部23の情報とを照合し、アプリケーションAP’の表示画面の最新の表示テキストの中に、翻訳済みテキストDB5142への元言語及び外国語のテキストデータの登録が済んでいないものがあるか否かを判定した。しかし、アプリケーションAP’の表示画面の最新の表示テキストの中に、翻訳済みテキストDB5142への元言語及び外国語のテキストデータの登録が済んでいないものがあるか否かの判定を、翻訳システム4に実行させてもよい。例えば、図17の処理において、アプリ提供者第2端末2の制御部21が、トリガ信号TR2が発生した場合(S3010:Yes)、ステップS3020、S3050の処理を行わず、アプリケーションAP’に関わるテキストデータを提供するサーバ951、961のURLを含む問い合わせメッセージを翻訳システム4に送信する(S3060’)。翻訳システム4が、問い合わせメッセージを受信すると、問い合わせメッセージ内のURLにリクエストを送信して、サーバ951、961から、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータを受信し、翻訳済みテキストDB5142の中にサーバ951、961から受信したものと同じテキストデータを有するレコードがあるか否かを判定する。同じテキストデータを含むレコードがあれば、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが登録済みであると判定し、同じテキストデータがなければ、アプリケーションAP’の表示画面の最新の表示テキストのテキストデータが未登録であると判定する。翻訳システム4は、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが未登録である場合、その表示テキストの外国語の翻訳済みテキストデータも未登録であるとみなす。また、翻訳システム4は、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが登録済みである場合、その表示テキストの外国語の翻訳済みテキストデータが登録済みであるか否かを判定する。翻訳システム4は、登録済みであると判定した元言語のテキストデータと同じ表示テキスト識別情報と対応付けられた翻訳済みテキストデータを含むレコードが翻訳済みテキストDB5142内にあれば、外国語の翻訳済みテキストデータも登録済みであると判定する。登録済みであると判定した元言語のテキストデータと同じ表示テキスト識別情報と対応付けられた翻訳済みテキストデータを含むレコードが翻訳済みテキストDB5142内になければ、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータは登録済みであるが、外国語の翻訳済みデータは未登録であると判定する。翻訳システム4は、以上の処理により、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び翻訳済みテキストデータの登録が済んでいる第1状態か、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータ及び翻訳済みテキストデータのいずれの登録も済んでいない第2状態か、それとも、アプリケーションAP’の表示画面の最新の表示テキストの外国語の翻訳済みテキストデータの登録だけが済んでいない第3状態かを判定し、この判定結果を示す登録状況通知メッセージをアプリ提供者第2端末2に送信する。アプリ提供者第2端末2の制御部21は、登録状況通知メッセージが、第2状態又は第3状態を示すものであった場合、図17のステップS3060に進んで、元言語・外国語翻訳登録要求メッセージ(第2状態の場合)又は、外国語翻訳登録要求メッセージ(第3状態の場合)を生成し、このメッセージを翻訳システム4に宛てて送信する。
(4)上記実施形態におけるアプリケーションAP’の表示テキストの更新の自動検知・自動翻訳に関わる処理のステップS3050において、アプリ提供者第2端末2の制御部21は、アプリケーションAP’の表示画面の最新の表示テキストの元言語のテキストデータが翻訳済みテキストDB5142に記憶されているか否かの判定を行わず、アプリケーションAP’の表示画面の最新の表示テキストの外国語の翻訳済みテキストデータが翻訳済みテキストDB5142に記憶されているか否かの判定だけを行ってもよい。この態様では、アプリ提供者第2端末2の制御部21は、アプリケーションAP’の表示画面の最新の表示テキストの外国語の翻訳済みテキストデータが翻訳済みテキストDB5142に記憶されていないと判定した場合、未翻訳の表示テキストの表示テキスト識別情報を含み、未翻訳の表示テキストを元言語から所定の外国語に翻訳した翻訳済みテキストデータの登録を要求する翻訳登録要求メッセージを翻訳システム4の翻訳サーバ51に送信するとよい。この態様では、翻訳サーバ51の制御部511が、翻訳登録要求メッセージ内の表示テキスト識別情報と対応する元言語のテキストデータを含むレコードを翻訳済みテキストDB5142から検索し、元言語のテキストデータを新たなレコードを翻訳済みテキストDB5142に追加してから、そのテキストデータを外国語に翻訳するとよい。
(5)上記実施形態のステップS3080において、翻訳サーバ51の制御部511は、翻訳済みテキストDB5142の新規レコードにおける「ステータス」のフィールドとして「Save」を記憶した。しかし、翻訳済みテキストDB5142の新規レコードにおける「ステータス」のフィールドとして「Publish」を記憶してもよい。また、ステップS4080において、翻訳済みテキストDB5142の新規レコードにおける「ステータス」のフィールドとして「Save」を記憶してもよい。