(57)【要約】      （修正有）【課題】ユーザ毎に使用する言語を切り替え可能な装置において言語設定が変更された際の使用言語の切り替えを適切に行うことのできる情報処理装置を提供する。【解決手段】画像処理装置のアプリＰＦは、機器言語情報または表示言語情報の変更を検知した場合、該変更に対応する通知を、対応するアプリケーションに対して行う（Ｓ２１０７、Ｓ２１０８）。通知を受けたアプリケーションは、表示言語情報を参照して出力で使用する言語を切り替える。なお、アプリＰＦは、前記通知を行う際、機器言語情報および表示言語情報の両方が変更される事象が発生した場合、前記両方の変更が検知されるまで待って各変更に対応する通知を行う同期処理を行い（Ｓ２１１０、Ｓ２１０７、Ｓ２１０８）、他の場合、機器言語情報または表示言語情報の変更の検知に応じて該変更に対応する通知を、他の変更の検知を待つことなく非同期で行う（Ｓ２１０８）。【選択図】図１５
2017019112.tif 000002
【特許請求の範囲】
【請求項１】
出力に使用する言語を切り替え可能な情報処理装置であって、
前記情報処理装置の言語設定を第１言語情報として保持する第１管理手段と、
ユーザ毎に個人設定された第２言語情報を保持する第２管理手段と、
ユーザログイン状態の変化に応じて前記第１言語情報または前記第２言語情報を取得して第３言語情報として保持してアプリケーションが使用する言語設定を管理する第３管理手段と、
前記第３言語情報として保持されている言語情報に対応する前記第１言語情報または前記第２言語情報が変更される場合、該変更に基づいて前記第３言語情報を変更する変更手段と、
前記第１言語情報または前記第３言語情報の変更を検知した場合、該変更に対応する通知を、対応するアプリケーションに対して行う制御手段と、を有し、
前記アプリケーションは、前記制御手段からの通知に応じて前記第３言語情報を参照して前記出力で使用する言語を切り替えるものであり、
前記制御手段は、前記第１言語情報および前記第３言語情報の両方が変更される事象が発生した場合には、前記両方の変更が検知されるまで待って各変更に対応する通知を行う同期処理を行い、他の場合には、前記第１言語情報または前記第３言語情報の変更の検知に応じて該変更に対応する通知を、他の変更の検知を待つことなく行うことを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記第１言語情報または前記第３言語情報の変更を検知した際のユーザのログイン状態および前記第１言語情報と前記第３言語情報との差分の状態を保持しておくものであり、
前記事象が発生した場合とは、
前記制御手段が前記第１言語情報または前記第３言語情報の変更を検知した際にユーザがログインしていない状態で且つ前回の検知の際にユーザがログインしていない状態の場合、
又は、該検知した際にユーザがログインしていない状態で且つ前回の検知の際にユーザがログインした状態で前記第１言語情報と前記第３言語情報とに差分がない状態の場合である、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記個人設定の機能を有効又は無効に設定する設定手段を有し、
前記第３管理手段は、ユーザログイン状態及び前記個人設定の機能の有効又は無効の状態の変化に応じて前記第１言語情報または前記第２言語情報を取得して第３言語情報として保持するものであり、
前記設定手段により前記個人設定の機能が有効又は無効に変更された際、ログイン状態のユーザはログアウトされることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記第１言語情報または前記第３言語情報の変更を検知した際のユーザのログイン状態および前記第１言語情報と前記第３言語情報との差分の状態を保持しておくものであり、
前記事象が発生した場合とは、
前記制御手段が前記第１言語情報または前記第３言語情報の変更を検知した際に前記個人設定の機能が無効な状態でユーザがログインしている状態の場合、
又は、該検知した際にユーザがログインしていない状態で且つ前回の検知の際にユーザがログインしていない状態の場合、
又は、該検知した際にユーザがログインしていない状態で且つ前回の検知の際にユーザがログインしている状態で前記第１言語情報と前記第３言語情報とに差分がない状態の場合である、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記個人設定の機能を常に無効にする状態の場合、前記事象の発生の判断を行うことなく、前記同期処理を行うことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記アプリケーションが動作するプラットフォームに設けられることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記アプリケーションに設けられることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記第１言語情報の変更を検知した場合であっても、該変更が変更前と同一の言語情報への変更であると判断した場合には、該変更に対応する通知を行わないものであり、
前記第３言語情報が変更前と同一の言語情報へ変更された場合には、該変更は、前記制御手段で検知されない、ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記制御手段は、前記第１言語情報または前記第３の言語情報の変更を検知した場合であっても、該変更が変更前と同一の言語情報への変更である場合には、該変更に対応する通知を行わない、ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記出力は、操作画面の表示、設定又は処理の履歴の印刷の少なくともいずれかである、ことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記情報処理装置は、画像処理装置である、ことを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
装置の言語設定を第１言語情報として保持する第１管理手段と、ユーザ毎に個人設定された第２言語情報を保持する第２管理手段と、ユーザログイン状態の変化に応じて前記第１言語情報または前記第２言語情報を取得して第３言語情報として保持してアプリケーションが使用する言語設定を管理する第３管理手段と、を有し、出力に使用する言語を切り替え可能な情報処理装置の制御方法であって、
前記第３言語情報として保持されている言語情報に対応する前記第１言語情報または前記第２言語情報が変更される場合、該変更に基づいて前記第３言語情報を変更する変更ステップと、
前記第１言語情報または前記第３言語情報の変更を検知し、該変更に対応する通知を、対応するアプリケーションに対して行う通知ステップと、
前記通知ステップでの通知を受けたアプリケーションが前記第３言語情報を参照して前記出力で使用する言語を切り替える切り替えステップと、を有し、
前記通知ステップでは、前記第１言語情報および前記第３言語情報の両方が変更される事象が発生した場合には、前記両方の変更が検知されるまで待って各変更に対応する通知を行う同期処理を行い、他の場合には、前記第１言語情報または前記第３言語情報の変更の検知に応じて該変更に対応する通知を、他の変更の検知を待つことなく行うことを特徴とする情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力に使用する言語を切り替え可能な情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来の画像処理装置（ＭＦＰ；ＭｕｌｔｉＦｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌなど）などの情報処理装置では、操作画面上で使用する言語を日本語、英語、イタリア語などの所定の言語に切り替え可能とする構成を有するものがある。このような情報処理装置では、複数の言語の文字列を予め記憶し、ユーザ操作による指定言語への切り替えを受けて、対応する文字列を読み出し、その文字列を操作画面上に表示することを行っている。
【０００３】
しかし、メニュー画面から言語切り替えを行う画面までの操作がユーザにとって負担になるため、ユーザの認証時に、当該ユーザの有する設定情報として登録されている言語に切り替えるパーソナライズ機能を有する情報処理装置が存在する。
【０００４】
特許文献１では、コピーやプリンタ機能など機能ごとに言語設定を有しており、ユーザの認証時に、選択されていた機能の言語情報を、ユーザの言語設定に切り替えることを行っている。これにより、ユーザは操作画面からの言語の切り替え操作を行うことなく、自身の希望する言語に切り替えて装置を使用することが可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０２６９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述のような情報処理装置は一般的に、スキャナやプリンタなどの各種機能をアプリケーション単位で動作させるアプリケーションプラットフォーム環境を有している。このアプリケーションプラットフォーム上で複数のアプリケーションが動作する情報処理装置においては、ユーザは一度の認証で複数の機能を実行する場合がある。
このとき、特許文献１の技術では、ユーザが認証した時点で選択している機能以外は言語切り替えが行われないため、複数の機能を実行する場合には認証を再度行う必要があり、ユーザの利便性の低下に繋がってしまう。
【０００７】
また、仮にユーザの認証時に全ての機能の言語設定をユーザの言語設定に切り替えたとすると、システム設定情報など情報処理装置が保持すべき機器設定情報もユーザ設定で上書きされてしまい、機器設定情報のみを考慮するアプリケーションに動作影響を与えてしまう。
従って、例えばアプリケーションプラットフォームなどユーザに対して操作画面を提供する機能の言語情報のみをユーザの言語設定に切り替るような、表示言語情報と機器言語情報の２つの言語情報を有する構成が解決策として考えられる。
【０００８】
しかしこの構成の場合、ユーザ認証前では、表示言語情報と機器言語情報は共に機器の言語設定を使用していることになる。ユーザ認証前に、機器の言語設定が切り替えられると、機器言語情報と表示言語情報がそれぞれ非同期で変更される。さらに、これらの言語情報の切り替えがアプリケーションに通知される。アプリケーションは、これらの通知を受けると、言語情報を取得して、該取得した言語情報に基づいてアプリケーションで使用する画面で表示する言語を切り替える。しかし、この時点では、表示言語情報がまだ更新されていない場合があり、アプリケーションは、更新前の表示言語情報を取得してしまい、更新前の言語で操作画面の表示が行われる可能性がある。
【０００９】
よって、アプリケーションにおいて言語切り替えが発生するタイミングを、２つの言語情報の設定変更が終わった時点に同期する必要がある。このような同期処理を行わないと、例えば、機器言語情報の切り替えを検知して表示言語情報を取得するようなアプリケーションの場合、機器の言語設定が切り替わったタイミングでアプリケーションが表示言語情報を参照してしまうと、更新前の表示言語情報を参照してしまう問題が発生する。
【００１０】
なお、ユーザ認証後では、ユーザ言語設定の変更で表示言語情報が、機器設定言語の変更で機器言語情報が個別に変更になる。また、上述の同期処理では、２つの言語情報の設定変更が終わった時点に同期してアプリケーションにおける言語切り替えが発生する。このため、常に上述の同期処理を行ってしまうと、同期処理による言語切り替え処理の停止が発生してしまう可能性がある。例えば、表示言語情報と機器言語情報とが個別に変更になる場合、同期処理において２つの言語情報の変更が終わるのを待っていても、一方の言語情報の変更しか発生しないため、アプリケーションにおける言語切り替えができなくなってしまう。
なお、これらの課題は、ＭＦＰ等の画像処理装置に限定される課題ではなく、パーソナライズ機能を有する情報処理装置に共通の課題である。
【００１１】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、ユーザ毎に使用する言語を切り替え可能な装置において言語設定が変更された際の使用言語の切り替えを適切に行うことができる仕組みを提供することである。
【課題を解決するための手段】
【００１２】
本発明は、出力に使用する言語を切り替え可能な情報処理装置であって、前記情報処理装置の言語設定を第１言語情報として保持する第１管理手段と、ユーザ毎に個人設定された第２言語情報を保持する第２管理手段と、ユーザログイン状態の変化に応じて前記第１言語情報または前記第２言語情報を取得して第３言語情報として保持してアプリケーションが使用する言語設定を管理する第３管理手段と、前記第３言語情報として保持されている言語情報に対応する前記第１言語情報または前記第２言語情報が変更される場合、該変更に基づいて前記第３言語情報を変更する変更手段と、前記第１言語情報または前記第３言語情報の変更を検知した場合、該変更に対応する通知を、対応するアプリケーションに対して行う制御手段と、を有し、前記アプリケーションは、前記制御手段からの通知に応じて前記第３言語情報を参照して前記出力で使用する言語を切り替えるものであり、前記制御手段は、前記第１言語情報および前記第３言語情報の両方が変更される事象が発生した場合には、前記両方の変更が検知されるまで待って各変更に対応する通知を行う同期処理を行い、他の場合には、前記第１言語情報または前記第３言語情報の変更の検知に応じて該変更に対応する通知を、他の変更の検知を待つことなく行うことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザ毎に使用する言語を切り替え可能な装置において言語設定が変更された際の使用言語の切り替えを適切に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施例の画像処理装置のハードウェア構成図
【図２】本実施例の画像処理装置のソフトウェア構成図
【図３】認証情報テーブルと個人設定情報テーブルの説明図
【図４】表示設定情報管理部と機器設定情報管理部が記憶する言語設定情報の変化の説明図
【図５】ユーザログイン状態の変化時に表示設定情報管理部と機器設定情報管理部が記憶する言語設定情報の変化の説明図
【図６】実施例１の起動時の言語切り替え関係処理初期化のシーケンス図
【図７】実施例１の言語切り替え発生時の言語切り替え同期処理のシーケンス図
【図８】言語切り替え発生時のログインアプリ表示画面の切り替わりの説明図
【図９】言語切り替え発生時のコピーアプリ表示画面の切り替わりの説明図
【図１０】言語切り替え発生時のスキャンアプリ表示画面の切り替わりの説明図
【図１１】実施例１の言語切り替え発生時の言語切り替え非同期処理のシーケンス図
【図１２】実施例１のユーザログイン時の言語切り替え非同期処理のシーケンス図
【図１３】実施例１のユーザログアウト時の言語切り替え処理非同期処理のシーケンス図
【図１４】実施例１のパーソナライズ無効化時の言語切り替え非同期処理のシーケンス図
【図１５】アプリＰＦが言語情報切り替え通知を受信した場合の処理を例示するフローチャート
【図１６】実施例２の起動時の言語切り替え関係処理初期化のシーケンス図
【図１７】実施例２の言語切り替え発生時のアプリの言語切り替え同期処理のシーケンス図
【図１８】実施例３の起動時の言語切り替え関係処理初期化のシーケンス図
【図１９】実施例３のパーソナライズ機能自体の無効化時の言語切り替え同期処理のシーケンス図
【図２０】実施例４の同一言語への切り替え発生時の処理のシーケンス図
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１６】
まず、本実施例のシステム構成について、図１及び図２を用いて説明する。
図１は、本発明の一実施例を示す情報処理装置のハードウェア構成を例示するブロック図である。
画像処理装置１００は、本発明の一実施例を示す情報処理装置である。画像処理装置１００は、画像形成機能、画像読取機能、画像送信機能などの各種画像処理機能を有する。なお、画像処理装置１００は、プリンタ、コピー、ファクス及びスキャナや、それら複数の機能を一台の筐体で実現するＭＦＰでもよい。
【００１７】
画像処理装置１００は、パーソナルコンピュータ（ＰＣ）などの情報処理装置と通信を行うネットワーク装置１０１、キーボードやタッチパネルなどユーザ操作を受け付けるユーザ入力装置１０２、液晶ディスプレイなど操作画面を表示するＵＩ表示装置１０３を有する。さらに、画像処理装置１００は、装置全体を制御するＣＰＵ１０４、ＣＰＵ１０４のワークスペースを提供するＲＡＭ１０５、画像原稿を読み取る読取装置１０６、画像データを印刷する印刷装置１０７、各種制御プログラムなどを記憶する記憶装置１０８等を有する。
【００１８】
ここで、画像処理装置１００を構成する各装置１０１〜１０８は、メインバス１０９で接続されており、相互にデータの送受信が可能である。なお、ユーザ入力装置１０２とＵＩ表示装置１０３を別々の装置として記載しているが、これらの装置が一体となった操作部としてもよい。
【００１９】
図２は、画像処理装置１００のソフトウェア構成を例示する図である。図２に示す各機能部は、画像処理装置１００の有するＣＰＵ１０４が、記憶装置１０８に記憶される制御プログラムをＲＡＭ１０５上に読み出して実行することで実現される。
【００２０】
画像処理装置１００には、ＯＳ２００、システム制御部２１０、ＪａｖａＶＭ２２０、アプリケーションプラットフォーム２３０等の機能部が、ソフトウェアとして実装されており、それぞれ以下に示すように機能する。なお、Ｊａｖａは登録商標である（以下省略する）。また、以下、アプリケーションを「アプリ」、アプリケーションプラットフォームを「アプリＰＦ」と呼ぶ。
【００２１】
ＯＳ２００は、プロセスの管理、メモリ管理、入出力管理を実行するオペレーティングシステムである。
システム制御部２１０は、コピーなど画像処理装置１００の基本的な機能を実現するプログラムであり、機器設定情報管理部２１１、パーソナライズ機能管理部２１２、認証情報管理部２１３を有する。
【００２２】
機器設定情報管理部２１１は、画像処理装置１００において機器の言語設定（機器言語情報）など、機器のシステム設定情報を管理する。また、機器設定情報管理部２１１は、システム設定情報が変更になった場合に、通知登録を行ったシステムに対して、変更となった設定を通知する機能を有する。例えば、機器設定情報管理部２１１に設定されている言語情報が変更になった場合に、機器設定情報管理部２１１が、アプリＰＦ２３０に、機器言語情報切り替え通知を行う。
【００２３】
パーソナライズ機能管理部２１２は、画像処理装置１００において認証ＤＢ２１５に存在するユーザの個人設定情報を管理するシステムであり、個人設定ＤＢ２１４を有する。パーソナライズ機能管理部２１２は、ユーザがログインアプリ２５３を通じて画像処理装置１００にログインした際、認証情報管理部２１３を通じて取得するログインユーザの個人設定の反映を該当するシステムに通知する。また、パーソナライズ機能管理部２１２は、ユーザが行った画像処理装置１００の設定変更（例えば、表示言語設定の変更）を、個人設定情報として個人設定ＤＢ２１４に保存する。
【００２４】
認証情報管理部２１３は、画像処理装置１００においてユーザ認証に関わる処理を行うシステムであり、認証ＤＢ２１５を有する。認証情報管理部２１３は、ログインアプリ２５３などを介して通知されたユーザ情報および認証情報を認証ＤＢ２１５から検索し、登録されたユーザ情報および認証情報であれば画像処理装置１００に対してログインを許可する。また、認証情報管理部２１３は、ログイン中のユーザがログアウトした場合、画像処理装置１００をログアウト状態とする。認証情報管理部２１３の認証機能により、画像処理装置１００は、ログアウト中のユーザ、及びログイン中のユーザの権限に応じた提供機能の制限を行う。
【００２５】
ＪａｖａＶＭ２２０は、Ｊａｖａプログラムを実行する仮想マシンであり、アプリＰＦ２３０の実行基盤である。ＪａｖａＶＭ２２０は、表示設定情報管理部２２１を有する。
【００２６】
表示設定情報管理部２２１は、アプリＰＦ２３０のアプリが使用するためのＪａｖａのシステム設定を有する。このシステム設定には、ＵＩ表示装置１０３上に表示するＪａｖａの画面の言語情報（表示言語情報）などが含まれる。また、表示設定情報管理部２２１は、Ｊａｖａのシステム設定の変更が行われたときに、ＪａｖａＶＭ２２０で動作しているアプリＰＦ２３０に当該変更を通知する機能を有する。例えば、表示設定情報管理部２２１に設定されている表示言語情報が変更になった場合に、表示設定情報管理部２２１が、アプリＰＦ２３０に、表示言語情報切り替え通知を行う。
【００２７】
アプリＰＦ２３０は、制御ＡＰＩを介して画像処理装置１００を制御するアプリを実行可能な実行基盤である。アプリＰＦ２３０は、フレームワーク２４０、アプリ記憶領域２５０を有する。
フレームワーク２４０は、アプリのライフサイクル管理、参照関係管理を行うＯＳＧｉ（登録商標）２４１、プラットフォームを構成するクラスライブラリ群２４２を有する。
【００２８】
アプリ記憶領域２５０は、記憶装置１０８に保存され、フレームワーク２４０上で管理されるアプリを有する。本実施例では、アプリ記憶領域２５０は、画像処理装置１００の制御アプリとして、コピーアプリ２５１、スキャンアプリ２５２、ログインアプリ２５３を有する。
【００２９】
コピーアプリ２５１は、フレームワーク２４０上で動作し、アプリＰＦ２３０を介してシステム制御部２１０のコピー機能を実行するアプリである。なお、本実施例では、コピーアプリ２５１は、アプリＰＦ２３０に対して「表示言語情報」が変更になった場合の通知を依頼し、その通知（言語切り替えの通知）を受けて言語切り替え処理を実行する実装を有するものとする。コピーアプリ２５１は、表示言語情報の切り替えを検知した場合に表示設定情報管理部２２１から表示言語情報を取得して言語を切り替える。
【００３０】
スキャンアプリ２５２は、フレームワーク２４０上で動作し、アプリＰＦ２３０を介してシステム制御部２１０のスキャン機能を実行するアプリである。なお、本実施例では、スキャンアプリ２５２は、アプリＰＦ２３０に対して「機器言語情報」が変更になった場合の通知を依頼し、その通知（言語切り替えの通知）を受けて言語切り替え処理を実行する実装を有するものとする。スキャンアプリ２５２は、機器言語情報の切り替えを検知した場合、機器設定情報管理部２１１から機器言語情報を取得して言語切り替える。
【００３１】
ログインアプリ２５３は、フレームワーク２４０上で動作し、アプリＰＦ２３０を介してシステム制御部２１０の認証情報管理部２１３を実行するアプリである。ログインアプリ２５３は、画像処理装置１００のＵＩ表示装置１０３に認証画面を表示し、ユーザ入力装置１０２を介した認証情報の受信を行う。ログインアプリ２５３は、ユーザから入力された認証情報を認証情報管理部２１３へ通知する。
【００３２】
なお、本実施例では、ログインアプリ２５３は、アプリＰＦ２３０に対して「機器言語情報」が変更になった場合の通知を依頼し、その通知（言語切り替えの通知）を受けて処理を実行する実装を有するものとする。ログインアプリ２５３は、機器言語情報の切り替えを検知した場合、表示設定情報管理部２２１から表示言語情報を取得して言語切り替える。
【００３３】
次に、本実施例における個人設定ＤＢ２１４、認証ＤＢ２１５が有するテーブルの構成について、図３（ａ）及び図３（ｂ）を用いて説明する。
【００３４】
図３（ａ）は、本実施例における認証ＤＢ２１５のテーブル構成を例示する図である。
図２に示した認証ＤＢ２１５は、認証情報テーブル３００を有する。
認証情報テーブル３００は、ユーザＩＤ３０１、認証情報３０２、権限情報部３０３を有する。
【００３５】
ユーザＩＤ３０１、認証情報３０２は、認証情報管理部２１３によるユーザの認証に用いられる情報である。認証情報３０２は、パスワードであっても、他の認証情報（例えば生体認証情報や、ユーザが所持するＩＣカードや磁気カード等に記録されている情報）であってもよい。ユーザＩＤ３０１、認証情報３０２は、ユーザがログインアプリ２５３を介して入力したユーザＩＤ、認証情報と一致するかの判定時に参照され、前記ユーザが認証ＤＢ２１５により画像処理装置１００に登録されたユーザであるか判断される。
【００３６】
権限情報部３０３は、当該ユーザが許可されている権限を有しており、本実施例では、役割情報として「管理者」や「一般ユーザ」がユーザに対して設定されている。権限情報部３０３が「管理者」であるユーザがログインした場合、認証情報管理部２１３は全てのシステム機能の有効化をシステム制御部２１０に指示する。また、権限情報部３０３が「一般ユーザ」であるユーザがログインした場合、認証情報管理部２１３は一般ユーザに許可されているシステム機能の有効化をシステム制御部２１０に指示する。
【００３７】
図３（ｂ）は、本実施例における個人設定ＤＢ２１４のテーブル構成を例示する図である。
図２に示した個人設定ＤＢ２１４は、個人設定情報テーブル４００を有する。
個人設定情報テーブル４００は、ユーザＩＤ３０１、個人設定部（４０１，４０１，・・・）を有する。ユーザＩＤ３０１は、認証情報管理部２１３によるユーザの認証に用いられる情報と同一のものである。
【００３８】
ユーザが画像処理装置１００にログインした場合、パーソナライズ機能管理部２１２は、認証情報管理部２１３から受け取ったユーザＩＤ３０１を基にログインしたユーザを特定し、当該ユーザの設定情報の反映をシステム制御部２１０に指示する。このときに指示する設定情報は、ユーザＩＤ３０１に対応する形で個人設定部（４０１，４０１，・・・）として構成されている。個人設定部は、本実施例では、ＵＩ表示装置１０３に表示する際の表示言語設定４０１や、ユーザログイン後に表示するデフォルト画面設定４０２などを有する。
【００３９】
以下、本実施例における表示設定情報管理部２２１と機器設定情報管理部２１１が記憶する言語情報の変化を、図４及び図５を用いて説明する。
まず、本実施例における、パーソナライズ機能管理部２１２により反映される、ログインユーザの表示言語設定４０１が通知されるシステムについて補足する。
パーソナライズ機能管理部２１２が管理する表示言語設定４０１は、ログイン中のユーザがＵＩ表示装置１０３上で操作する操作画面で表示される言語の言語情報を設定したものである。従って、ユーザがログインした場合、表示設定情報管理部２２１の言語情報（表示言語情報）は、表示言語設定４０１に設定されているものに変更されることになる。図３（ｂ）の例では、ユーザＩＤ「１１１１１１１１」のユーザがログインした場合には「英語」、ユーザＩＤ「２２２２２２２２」のユーザがログインした場合には「日本語」に、表示設定情報管理部２２１で保持される表示言語情報が変更される。この点を踏まえ、図４を説明する。
【００４０】
図４は、表示設定情報管理部２２１と機器設定情報管理部２１１が記憶する言語情報の変化の例を説明するための図である。
図４（ａ）は、表示設定情報管理部２２１が記録する言語情報の変化を示す表５００を示す。表５００では、ユーザのログイン状態及びパーソナライズ機能管理部２１２の使用状態に応じて、４つの状態に区別されている。すなわち、パーソナライズ機能管理部２１２が「有効」状態での「ログイン」状態（５０１）と「ログアウト」状態（５０２）、パーソナライズ機能管理部２１２が「無効」状態での「ログイン」状態（５０３）と「ログアウト」状態（５０４）の４つの状態に区別されている。
【００４１】
状態５０１では、前記補足で述べたように、表示設定情報管理部２２１は表示言語情報として、パーソナライズ機能管理部２１２が管理する個人設定言語（ログイン中のユーザの表示言語設定４０１）を記憶する。また、この時、ユーザがＵＩ表示装置１０３を介して自身の個人設定言語を変更した場合、パーソナライズ機能管理部２１２が管理する表示言語設定４０１が変更され、表示設定情報管理部２２１の表示言語情報も変更される。
【００４２】
一方、状態５０２では、ユーザがログインしていない状態（「ログアウト」状態）のため、反映する個人設定言語（ログイン中のユーザの表示言語設定４０１）が存在しないことになる。そのため、表示設定情報管理部２２１は表示言語情報として、機器設定情報管理部２１１が管理する機器設定言語を記憶する。この時、ユーザがＵＩ表示装置１０３を介して機器の言語設定を変更した場合、機器設定情報管理部２１１が管理する機器設定言語の変更と共に、表示設定情報管理部２２１の表示言語情報も変更される。
【００４３】
すなわち、表示設定情報管理部２２１の表示言語情報は、該表示言語情報として保持されている言語情報に対応する機器設定言語又は個人設定言語が変更される場合、該変更に基づいて変更されるものである。
【００４４】
また、状態５０３、状態５０４では、パーソナライズ機能管理部２１２が「無効」状態、すなわち、個人設定ＤＢ２１４が無効状態となっているため、表示設定情報管理部２２１に反映する個人設定言語（ログイン中のユーザの表示言語設定４０１）が存在しないことになる。そのため、表示設定情報管理部２２１は表示言語情報として、状態５０２と同様に機器設定情報管理部２１１が管理する機器設定言語を記憶する。
【００４５】
図４（ｂ）は、機器設定情報管理部２１１が記録する言語情報の変化を示す表５１０を示す。表５１０では、ユーザのログイン状態及びパーソナライズ機能管理部２１２の使用状態に応じて、４つの状態に区別されている。すなわち、パーソナライズ機能管理部２１２が「有効」状態での「ログイン」状態（５１１）と「ログアウト」状態（５１２）、パーソナライズ機能管理部２１２が「無効」状態での「ログイン」状態（５１３）と「ログアウト」状態（５１４）の４つの状態に区別されている
【００４６】
状態５１１〜５１４のいずれにおいても、機器設定情報管理部２１１は機器言語情報として、機器の言語設定（機器設定言語）を記憶する。すなわち、いずれの状態においても、ユーザがＵＩ表示装置１０３を介して機器の言語設定を変更したとき、機器設定情報管理部２１１はその言語情報に、機器設定言語の設定を変更する。
【００４７】
従って、表示設定情報管理部２２１と機器設定情報管理部２１１が記憶する言語情報が異なる場合（状態５０１、状態５１１）と、同じになる場合（状態５０２〜状態５０４、状態５１２〜状態５１４）が存在する。このとき後者の場合、言語切り替えが発生するとアプリＰＦ２３０は、表示設定情報管理部２２１と機器設定情報管理部２１１の両方から、言語情報切り替え通知を受けることになる。また、アプリＰＦ２３０は、表示設定情報管理部２２１からの通知を表示言語情報の変更通知依頼を行ったアプリ（上述の例ではコピーアプリ２５１）に、また、機器設定情報管理部２１１からの通知を機器言語情報の変更通知依頼を行ったアプリ（上述の例ではスキャンアプリ２５２およびログインアプリ２５３）に、それぞれ通知する。
【００４８】
図５は、ユーザログイン状態の変化時に表示設定情報管理部２２１と機器設定情報管理部２１１が言語設定情報を更新する変化を示す説明図である。
図５（ａ）は、表示設定情報管理部２２１が記憶する言語情報を更新し言語切り替えを発生させるタイミングを示す表６００を示す。
【００４９】
表６００では、ユーザのログイン操作及び個人設定言語と機器設定言語に差分があるかどうかの状態に応じて、８つの状態に区別されている。すなわち、個人設定言語と機器設定言語が「差分有り」の状態で、ユーザがログインする状態（６０１）とログアウトする状態（６０２）、及びパーソナライズ機能管理部２１２の使用を有効化する状態（６０３）と無効化する状態（６０４）である。加えて、個人設定言語と機器設定言語が「差分なし」の状態で、ユーザがログインする状態（６０５）とログアウトする状態（６０６）、及びパーソナライズ機能管理部２１２の使用を有効化する状態（６０７）と無効化する状態（６０８）である。
【００５０】
状態６０１〜状態６０４では、表示設定情報管理部２２１は、記憶する表示言語情報を更新し言語切り替えを発生させ、アプリＰＦ２３０へ言語切り替え通知を行う。これは、ユーザのログイン状態遷移に応じて、表示設定情報管理部２２１がパーソナライズ機能管理部２１２で管理されるログインユーザの表示言語設定４０１、または、機器設定情報管理部２１１で管理される機器言語情報を参照するためである。
【００５１】
例えば、機器設定情報管理部２１１が管理する機器言語情報が「英語」の状態で表示言語設定４０１に「日本語」を有するユーザがログインを行った場合（状態６０１）、表示設定情報管理部２２１が記憶する表示言語情報が「英語」から「日本語」に変更される。そのため、表示言語設定が切り替わったものとして、表示設定情報管理部２２１はアプリＰＦ２３０に言語情報切り替え通知を行う。同様に、前記ユーザがログアウトした場合（状態６０２）、表示設定情報管理部２２１が記憶する表示言語情報が「日本語」から「英語」に変更され、アプリＰＦ２３０に言語情報切り替え通知が行われる。
【００５２】
また、状態６０３及び状態６０４では、当該操作に付随してパーソナライズ機能管理部２１２によるユーザログアウト操作（状態６０２）が自動的に実行され、状態６０２と同様に表示設定情報管理部２２１による言語切り替えが発生する。このログアウト処理は、特に状態６０４において、画像処理装置１００の設定を、ログインしていたユーザの個人設定ＤＢ２１４の設定情報を無効化して機器設定情報管理部２１１の設定情報へ切り替える必要があるためである。
【００５３】
一方で、状態６０５〜状態６０８では、表示設定情報管理部２２１は、記憶する言語情報の更新を行わず、アプリＰＦ２３０への言語情報切り替え通知も行わない。これは、例えば、機器設定情報管理部２１１が管理する機器言語情報が「日本語」の状態で表示言語設定４０１に「日本語」を有するユーザがログインを行った場合（状態６０５）、表示設定情報管理部２２１が記憶する表示言語情報は「日本語」から「日本語」への変更になる。そのため表示言語の設定は切り替わらないので、表示設定情報管理部２２１は言語情報切り替え通知を行わない。
【００５４】
図５（ｂ）は、機器設定情報管理部２１１が記憶する言語情報を更新し言語切り替えを発生させるタイミングを示す表６１０である。表６１０では、ユーザのログイン操作及び個人設定言語と機器設定言語に差分があるかどうかの状態に応じて、８つの状態に区別されている。すなわち、個人設定言語と機器設定言語が「差分有り」の状態でユーザがログインする状態（６１１）とログアウトする状態（６１２）、及びパーソナライズ機能管理部２１２の仕様を有効化する状態（６１３）と無効化する状態（６１４）である。加えて、個人設定言語と機器設定言語が「差分なし」の状態でユーザがログインする状態（６１５）とログアウトする状態（６１６）、及びパーソナライズ機能管理部２１２の仕様を有効化する状態（６１７）と無効化する状態（６１８）である。
【００５５】
状態６１１〜状態６１８では、機器設定情報管理部２１１は、記憶する表示言語情報の変更を行わず、アプリＰＦ２３０への言語情報切り替え通知も行わない。これは、例えば、機器設定情報管理部２１１が管理する機器言語情報が「日本語」の状態で表示言語設定４０１に「英語」を有するユーザがログインを行った場合（状態６１１）でも、機器設定情報管理部２１１が記憶する機器言語情報は「英語」から変更されないからである。そのため、機器設定情報管理部２１１は言語情報切り替え通知を行わない。すなわち、機器設定情報管理部２１１の機器言語情報が更新されるのは、ユーザがＵＩ表示装置１０３を介して機器設定言語を変更した場合に限られ、その時、機器設定情報管理部２１１はアプリＰＦ２３０に言語情報切り替え通知を行う。
【００５６】
以上の説明から、アプリＰＦ２３０は、表示設定情報管理部２２１と機器設定情報管理部２１１が記憶する言語設定情報が同じになる状態（図５の状態５０２〜状態５０４、状態５１２〜状態５１４）では、双方から言語情報切り替え通知を受け取るのを待って（同期して）アプリに言語切り替えの通知を行う同期処理を行う必要がある。なぜならば、表示設定情報管理部２２１と機器設定情報管理部２１１が記憶する言語設定情報が同じになる状態（図５の状態５０２〜状態５０４、状態５１２〜状態５１４）においては、ユーザが機器設定言語の変更を行った場合、アプリＰＦ２３０は両方の管理部から言語情報切り替え通知を非同期で通知されるからである。このように、両方の管理部から言語情報切り替え通知を非同期で通知される事象が発生した場合に、アプリＰＦ２３０が上述の同期処理を行わないと、例えば、機器言語情報の切り替えを検知して表示言語情報を取得するようなアプリ（本実施例ではログインアプリ２５３）が正しく言語情報を取れなくなってしまう場合などがあるからである。より具体的には、上述の同期処理を行わない場合、機器言語情報の切り替えに対応する通知がアプリに送信された時点では、まだ表示言語情報の切り替えが完了していない可能性がある。このタイミングで、アプリが表示言語情報を取得すると、更新前の表示言語情報を取得してしまう可能性がある。
【００５７】
次に、図６〜図１４を用いて、実施例１における言語切り替え発生時のアプリＰＦの処理について説明する。
【００５８】
図６は、アプリＰＦ２３０がアプリに言語切り替えを通知するための、画像処理装置１００起動時に行われるアプリＰＦ２３０起動処理時の言語切り替え関係処理初期化処理を例示するシーケンス図である。なお、図６及び後述する図７、図１１〜図１４に示す各部の処理は、画像処理装置１００の有するＣＰＵ１０４が、記憶装置１０８に記憶される制御プログラムをＲＡＭ１０５上に読み出して実行することにより実現される。
【００５９】
Ｓ７０１では、アプリＰＦ２３０が、表示設定情報管理部２２１から表示言語情報の取得を行う。また、Ｓ７０２では、アプリＰＦ２３０が、機器設定情報管理部２１１から機器言語情報の取得を行う。
【００６０】
次に、Ｓ７０３では、アプリＰＦ２３０が、上記Ｓ７０１及びＳ７０２で得られた表示言語情報と機器言語情報の間の言語情報の差分を記憶する。ここで、言語情報とは、各管理部で保持するロケール情報に紐付く言語を表す。また、例えば、表示言語情報が「英語」、機器言語情報が「日本語」であれば（双方の言語情報が異なれば）「差分有り」、表示言語と機器言語が共に「英語」であれば（双方の言語情報が同じであれば）「差分なし」と判断する。ここでの言語差分情報は、アプリＰＦ２３０が、以降の処理で表示設定情報管理部２２１または機器設定情報管理部２１１から言語情報切り替え通知を受けた際の同期処理判定に用いられる。
【００６１】
Ｓ７０４では、アプリＰＦ２３０が、認証情報管理部２１３から画像処理装置１００におけるユーザログイン状態の取得を行う。ここで、ユーザログイン状態とは、ユーザがログインアプリ２５３を介して通知したユーザ情報および認証情報が認証ＤＢ２１５に登録されており、認証情報管理部２１３からログインを許可されているか否かを表す、ログイン情報である。
【００６２】
Ｓ７０５では、アプリＰＦ２３０が、上記Ｓ７０４で得たユーザログイン状態を記憶する。ここでは、前述のログイン情報が取得できた、すなわちユーザがログインしている時を「ログイン」状態、ログイン情報が取得できない、すなわちユーザがログインしていない時を「ログアウト」状態と判断している。ここでのユーザログイン状態は前述の言語差分情報と同様に、アプリＰＦ２３０が、以降の処理で表示設定情報管理部２２１、または機器設定情報管理部２１１から言語情報切り替え通知を受けた際の同期処理判定に用いられる。
【００６３】
Ｓ７０６では、アプリＰＦ２３０が、機器設定情報管理部２１１に対し、機器言語情報の切り替えを通知する依頼の指示を行う。この依頼を行うことで、アプリＰＦ２３０は、機器設定情報管理部２１１内で機器言語情報が変更されたことを検知することが可能となる。また、アプリＰＦ２３０がアプリに対し機器言語情報切り替えを通知する処理は、アプリＰＦ２３０が機器設定情報管理部２１１より機器言語情報切り替えを通知されたときに、その通知をアプリに対して行う処理である。
【００６４】
Ｓ７０７では、コピーアプリ２５１が、アプリＰＦ２３０に対し、「表示言語情報」の切り替えを通知する依頼の指示を行う。この依頼を行うことで、コピーアプリ２５１は、表示設定情報管理部２２１内で表示言語情報が変更されたことを検知することが可能となる。なお、アプリＰＦ２３０がアプリに対し表示言語情報切り替えを通知する処理は、Ｊａｖａの表示言語設定の変更が行われたときにアプリＰＦ２３０に通知される表示言語情報切り替え通知をアプリに通知する処理である。
【００６５】
Ｓ７０８では、スキャンアプリ２５２が、アプリＰＦ２３０に対し、「機器言語情報」の切り替えを通知する依頼の指示を行う。この依頼を行うことで、スキャンアプリ２５２は、機器設定情報管理部２１１内で機器言語情報が変更されたことを検知することが可能となる。
【００６６】
Ｓ７０９では、ログインアプリ２５３が、アプリＰＦ２３０に対し、「機器言語情報」の切り替えを通知する依頼の指示を行う。この依頼を行うことで、ログインアプリ２５３は、機器設定情報管理部２１１内で機器言語情報が変更されたことを検知することが可能となる。
【００６７】
図７は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理する場合のシーケンス図である。なお、本実施例では、ユーザ８００は、画像処理装置１００に対し「ログアウト」状態であるユーザとする。この状態において、ユーザ８００により「機器設定言語」の変更として、例えば「日本語」から「英語」への切り替え操作が行われるものとする。
【００６８】
Ｓ８１１では、ユーザ８００が、ＵＩ表示装置１０３に表示される操作画面上の言語切り替え画面（不図示）のユーザ入力装置１０２を介した操作により、画像処理装置１００の機器言語情報の切り替え指示を行う。以下、各アプリや他のソフトウェア構成によりＵＩ表示装置１０３に実現される操作画面の機能を総称してＬＵＩ８０１と呼ぶ。
【００６９】
Ｓ８１２では、ＬＵＩ８０１が、機器設定情報管理部２１１に対し、ユーザ８００が指定した言語情報への設定変更を通知する。この通知には、ユーザ８００がＬＵＩ８０１を介して設定した言語情報が含まれる。なお、このときの画像処理装置１００の状態は、図４の状態５０２／状態５１２または状態５０４／状態５１４に該当するため、ＬＵＩ８０１は後述するＳ８１７のように表示設定情報管理部２２１へも言語情報の切り替え通知を発生させる。本実施例では、ＬＵＩ８０１は、機器設定情報管理部２１１、表示設定情報管理部２２１の順に通知を行っているが、この順番は一意ではなく逆転する場合もある。
【００７０】
Ｓ８１３では、機器設定情報管理部２１１が、自身が保持する機器言語情報を前記Ｓ８１２で通知された言語情報に更新する処理を行う。
Ｓ８１４では、機器設定情報管理部２１１が、アプリＰＦ２３０に対して機器言語情報の切り替えを通知する。
【００７１】
アプリＰＦ２３０は、機器設定情報管理部２１１から、機器言語情報の切り替えを通知を受信すると、Ｓ８１５において、言語切り替え同期処理の判定のため、以下の四つの状態を確認する処理を行う。
この処理では、（１）認証情報管理部２１３へのユーザログイン状態、（２）パーソナライズ機能管理部２１２への機能使用の有効化状態、（３）言語切り替え通知前のユーザログイン状態、（４）言語切り替え通知前の管理部間言語情報差分の情報の四つの状態の確認を行う。
【００７２】
（１）の状態確認では、アプリＰＦ２３０が、認証情報管理部２１３から、画像処理装置１００におけるユーザのログイン状態の取得を行う。当該処理は、図６のＳ７０４と同等の処理である。
（２）の状態確認では、アプリＰＦ２３０が、パーソナライズ機能管理部２１２から、画像処理装置１００におけるパーソナライズ機能の使用の有効化／無効化状態を設定する設定情報の取得を行う。
【００７３】
（３）及び（４）の状態確認では、アプリＰＦ２３０が、自身が保持する言語切り替え通知前のログイン状態、及び管理部間言語情報差分の情報を参照する。ここで参照する情報は、例えば図６のＳ７０５、Ｓ７０３及び後述するＳ８２１で記憶される情報である。これら各状態の確認処理の結果は、アプリＰＦ２３０において、確認処理の後に続けて行われる同期の判定処理のフラグ（以下、言語切り替え同期処理フラグ）として用いられる。
【００７４】
上述の言語切り替え同期処理フラグが「ｆａｌｓｅ」となる条件は、図４、図５の各状態より、以下のケースに限定される。すなわち、第１のケースは、（１）「ログイン」状態かつ（２）パーソナライズ機能管理部２１２が「有効」な状態の組み合わせである。加えて、第２のケースは、（１）「ログアウト」状態かつ（３）言語切り替え通知前が「ログイン」状態かつ（４）言語切り替え通知前の管理部間言語情報が「差分あり」の状態の組み合わせである。これら以外の組み合わせの場合、言語切り替え同期処理フラグは「ｔｒｕｅ」となる。言語切り替え同期処理フラグが「ｔｒｕｅ」となる場合とは、アプリＰＦ２３０が、機器設定情報管理部２１１と表示設定情報管理部２２１の両方から言語切り替え通知を受信する事象が発生した場合である。
【００７５】
Ｓ８１６では、アプリＰＦ２３０が、以下の条件を判定し、発生するもう一方の言語切り替え通知を待ち合わせてアプリに通知するかどうかを制御する分岐処理を行う。ここで判定する条件は、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、処理を分岐する。（Ａ）が「ｔｒｕｅ」の場合、アプリＰＦ２３０は、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか判定し、発生する言語切り替え通知を待ち合わせるか判断する。
【００７６】
この例では、アプリＰＦ２３０は、保持している言語切り替え通知イベントがなく、上記Ｓ８１４で受信した言語切り替え通知が同期する場合に先に発生した言語切り替え通知と判断し、もう一方の言語切り替え通知を待ち合わせると判断する。すなわち、（Ａ）が「ｔｕｒｅ」、かつ、（Ｂ）保持中の言語切り替え通知イベントが存在しない状態のため、アプリＰＦ２３０が、上述のＳ８１４で受信した機器言語情報切り替え通知のイベントを保持する。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【００７７】
Ｓ８１７では、ＬＵＩ８０１が、表示設定情報管理部２２１に対し、ユーザの指定した言語情報への設定変更を通知する。この通知には、ユーザ８００がＬＵＩ８０１を介して設定した言語情報が含まれる。
Ｓ８１８では、表示設定情報管理部２２１が、自身の有する表示言語情報を、上記Ｓ８１７で通知された言語情報に更新する処理を行う。
【００７８】
Ｓ８１９では、表示設定情報管理部２２１が、アプリＰＦ２３０に対して表示言語情報の切り替えを通知する。該Ｓ８１９の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、前述のＳ８１５で行う処理と同じであるので説明を省略する。
【００７９】
Ｓ８２０では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づいて分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語情報切り替え通知イベントが存在するかどうかの判定を行い、該判定結果に基づいて処理を分岐する。この例では、上述したＳ８１５の結果より、（Ａ）が「ｔｕｒｅ」、かつ、（Ｂ）保持中の言語情報切り替え通知イベントが存在する状態のため、アプリＰＦ２３０は、両方の管理部での言語切り替えが完了したと判断し、それぞれの言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを通知する。本実施例では、「機器言語情報」の切り替えの通知をログインアプリ２５３とスキャンアプリ２５２へ通知し（Ｓ８１６で保持した通知イベントに対応する通知）、「表示言語情報」の切り替えの通知をコピーアプリ２５１へ通知する（Ｓ８１９で受信した通知に対応する通知）。
【００８０】
言語切り替えの通知を受けたアプリは言語切り替えを行う。本実施例では、ログインアプリ２５３は、表示言語情報を取得して使用する言語を切り替える。スキャンアプリ２５２は、機器言語情報を取得して使用する言語を切り替える。コピーアプリ２５１は、表示言語情報を取得して使用する言語を切り替える。このタイミングでは、機器言語情報と表示言語情報の更新が完了しているため、各アプリは更新後の言語情報を取得して正しく言語切り替えを行うことができる。
【００８１】
なお、Ｓ８２０の他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【００８２】
Ｓ８２１では、アプリＰＦ２３０が、言語切り替え通知前の情報の更新処理を行う。ここでの情報は、アプリＰＦ２３０が上記Ｓ８１５で行う、言語切り替え通知前ユーザログイン状態、及び設定情報管理部間の言語情報差分の参照に使用される情報である。アプリＰＦ２３０は、上記Ｓ８１５で取得したユーザログイン状態を、言語切り替え通知前ユーザログイン状態として更新する。また、アプリＰＦ２３０は、表示設定情報管理部２２１からの表示言語情報の取得、機器設定情報管理部２１１からの機器言語情報の取得を行い、得られた表示言語情報と機器言語情報との間の言語情報の差分を記憶する。
【００８３】
また、Ｓ８２２では、表示設定情報管理部２２１が、ＬＵＩ８０１に対し、画面描画の更新を通知する。この通知を受けてＬＵＩ８０１は、画面描画を更新する。
【００８４】
図８〜図１０は、本実施例における言語切り替え発生時の表示画面の切り替わりを説明する図である。図８〜図１０に示す各画面は、画像処理装置１００上のＬＵＩ８０１上に表示される画面である。
【００８５】
図８は、ログイン画面９００であり、ログインアプリ２５３が提供する機能実行指示画面を構成する。
図９は、コピー画面１０００であり、ユーザによるコピーボタン（不図示）の操作により遷移する、コピーアプリ２５１が提供する機能実行指示画面を構成する。
図１０は、スキャン画面１１００であり、ユーザによるスキャンボタン（不図示）の操作で遷移する、スキャンアプリ２５２が提供する機能実行指示画面を構成する。
【００８６】
図７のシーケンス実施前の状態では、機器設定情報管理部２１１および表示設定情報管理部２２１が有する言語情報が「日本語」のため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ａ）の画面が表示される。
一方で、図７におけるシーケンス実施後の状態では、機器設定情報管理部２１１および表示設定情報管理部２２１が有する言語情報が「英語」に切り替わるため、ＬＵＩ８０１ではそれぞれ図８（ｂ）、図９（ｂ）、図１０（ｂ）の画面が表示されることとなる。
【００８７】
図１１は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理しない場合のシーケンス図である。本実施例では、ユーザ８００は、画像処理装置１００に対し「ログイン」状態であり、かつ、個人設定情報テーブル４００のユーザＩＤ「１１１１１１１１」で示される情報を有するユーザとする。また、パーソナライズ機能管理部２１２が「有効」状態であるものとする。この状態において、ユーザ８００により「個人設定言語」の変更として「英語」から「日本語」への切り替え操作が、「機器設定言語」の変更として「日本語」から「英語」への切り替え操作が、それぞれ行われるものとする。
【００８８】
Ｓ１２０１では、ユーザ８００が、ＬＵＩ８０１上の言語切り替え画面（不図示）の操作により、画像処理装置１００の個人言語情報の切り替え指示を行う。
Ｓ１２０２では、ＬＵＩ８０１が、パーソナライズ機能管理部２１２に対し、ユーザの指定した言語情報への個人設定変更を通知する。この通知には、ユーザ８００がＬＵＩ８０１を介して設定した言語情報が含まれる。なお、このときの画像処理装置１００は、図４の状態５０１／状態５１１に該当するため、ＬＵＩ８０１は機器設定情報管理部２１１へは言語情報の切り替え通知は発生させない。
【００８９】
Ｓ１２０３では、パーソナライズ機能管理部２１２が、個人設定ＤＢ２１４内の個人設定情報テーブル４００における該当するユーザの言語設定を、前記Ｓ１２０２で通知された言語情報に更新する処理を行う。本実施例では、ユーザＩＤ「１１１１１１１１」の表示言語設定４０１が、「英語」から「日本語」に切り替わる。
Ｓ１２０４では、パーソナライズ機能管理部２１２が、表示設定情報管理部２２１に対して表示言語情報の切り替えを通知する。この通知には、ユーザ８００がＬＵＩ８０１を介して設定した言語情報が含まれる。
【００９０】
Ｓ１２０５では、表示設定情報管理部２２１が、自身の有する表示言語情報を上記Ｓ１２０４で通知された言語情報に更新する処理を行う。
Ｓ１２０６では、表示設定情報管理部２２１が、アプリＰＦ２３０に対して表示言語情報の切り替えを通知する。
【００９１】
上記Ｓ１２０６の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う（Ｓ８１５）。この処理は、図７のＳ８１５で行う処理と同じであるので説明は省略する。
【００９２】
Ｓ１２０７では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づく分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、該判定結果に基づいて分岐する。ここでは、上記Ｓ８１５の結果より、（Ａ）が「ｆａｌｓｅ」の状態のため、アプリＰＦ２３０は、もう一方の管理部からの通知を待ち合わせることなく、表示言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを非同期で通知する。本実施例では、「表示言語情報の切り替え」をコピーアプリ２５１へ通知する（Ｓ１２０６で受信した通知に対応する通知）。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【００９３】
上記Ｓ１２０７の後、アプリＰＦ２３０は、言語切り替え通知前の情報を更新する処理を行う。この処理は、前述の図７のＳ８２１で行う処理と同じであるので説明は省略する。
また、Ｓ１２０８では、表示設定情報管理部２２１が、ＬＵＩ８０１に対し、画面描画の更新を通知する。この通知を受けてＬＵＩ８０１は、画面描画を更新する。
【００９４】
Ｓ１２０９では、ユーザ８００が、ＬＵＩ８０１上の言語切り替え画面（不図示）の操作により、画像処理装置１００の機器設定言語の切り替え指示を行う。
Ｓ１２１０では、ＬＵＩ８０１が、機器設定情報管理部２１１に対し、ユーザの指定した言語情報への設定変更を通知する。この通知には、ユーザ８００がＬＵＩ８０１を介して設定した言語情報が含まれる。なお、このときの画像処理装置１００は、図４の状態５０１／状態５１１に該当するため、ＬＵＩ８０１は表示設定情報管理部２２１へは言語情報の切り替え通知は発生させない。
【００９５】
Ｓ１２１１では、機器設定情報管理部２１１が、自身の有する機器言語情報を上記Ｓ１２０９で通知された言語情報に更新する処理を行う。
Ｓ１２１２では、機器設定情報管理部２１１が、アプリＰＦ２３０に対して機器言語情報の切り替えを通知する。
【００９６】
上記Ｓ１２１２の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う（Ｓ８１５）。この処理は、前述のＳ８１５で行う処理と同じであるので説明は省略する。
【００９７】
Ｓ１２１３では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づく分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、処理を分岐する。ここでは、上記Ｓ８１５の結果より、（Ａ）が「ｆａｌｓｅ」の状態のため、アプリＰＦ２３０は、もう一方の管理部からの通知を待ち合わせることなく、機器言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを非同期で通知する。本実施例では、機器言語情報の切り替えをログインアプリ２５３およびスキャンアプリ２５２へ通知する（Ｓ１２１２で受信した通知に対応する通知）。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【００９８】
上記Ｓ１２１３の後、アプリＰＦ２３０は、言語切り替え通知前の情報を更新する処理を行う。この処理は、前述のＳ８２１で行う処理と同じである。
【００９９】
図１１のシーケンス処理前後の画面遷移結果に関して、図８〜図１０を用いて説明する。図１１のシーケンス処理実施前の状態では、表示設定情報管理部２２１が有する言語情報が「英語」、機器設定情報管理部２１１が有する言語情報が「日本語」のため、ＬＵＩ８０１ではそれぞれ図８（ｂ）、図９（ｂ）、図１０（ａ）の画面が表示されることとなる。
【０１００】
一方で、図１１のシーケンスをＳ１２０８まで実施後の状態では、表示設定情報管理部２２１が有する言語情報が「日本語」に切り替わるため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ａ）の画面が表示されることとなる。
また、図１１におけるシーケンスを最後まで実施した後の状態では、機器設定情報管理部２１１が有する言語情報が「英語」に切り替わるため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ｂ）の画面が表示されることとなる。
【０１０１】
図１２は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理しない場合のシーケンスとして、ユーザのログイン操作の処理を示した図である。本実施例では、ユーザ８００は、画像処理装置１００に対しログイン操作を行うものとし、かつ、個人設定情報テーブル４００のユーザＩＤ「１１１１１１１１」で示される情報を有するユーザとする。また、パーソナライズ機能管理部２１２が「有効」状態であり、機器設定情報管理部２１１及び表示設定情報管理部２２１は言語設定として「日本語」を有するものとする。
【０１０２】
Ｓ１３０１では、ユーザ８００が、ＬＵＩ８０１上のログインアプリ２５３の認証画面（不図示）の操作により、画像処理装置１００の「ログイン」操作を行う。
Ｓ１３０２では、ＬＵＩ８０１が、ログインアプリ２５３に対し、ユーザの指定した認証情報を通知する。この通知には、認証ＤＢ２１５内の認証情報テーブル３００における、ユーザＩＤ３０１、及び認証情報３０２が含まれるものとし、本実施例では、ユーザＩＤ「１１１１１１１１」に該当する情報が含まれる。
【０１０３】
Ｓ１３０３では、ログインアプリ２５３が、認証情報管理部２１３に対し、ユーザの指定した認証情報（ユーザＩＤ３０１と認証情報３０２に対応する情報）を通知する。
Ｓ１３０４では、認証情報管理部２１３が、認証ＤＢ２１５内の認証情報テーブル３００を検索し、ユーザの指定した認証情報と一致するかを確認する。
そして、ユーザの指定した認証情報が認証情報テーブル３００の情報と一致すると判定した場合にはＳ１３０５に、一方、ユーザの指定した認証情報が認証情報テーブル３００の情報と一致しないと判定した場合にはＳ１３１３に処理を分岐する。
【０１０４】
上述したＳ１３０４の確認で、ユーザの指定した認証情報が認証情報テーブル３００の情報と一致した場合（Ｓ１３０５）、Ｓ１３０６において、認証情報管理部２１３が、画像処理装置１００の認証状態を「ログイン」状態とする。本実施例では、認証情報管理部２１３は、ユーザＩＤ「１１１１１１１１」のユーザが「ログイン」状態であるとして、画像処理装置１００の認証状態を更新する。
【０１０５】
Ｓ１３０７では、認証情報管理部２１３が、ログイン状態の更新通知を関連するシステムに対して行う。本実施例では、認証情報管理部２１３が、表示設定情報管理部２２１に対して通知する。この通知には、認証ＤＢ２１５内の認証情報テーブル３００における、ユーザＩＤ３０１が含まれるものとし、本実施例では、ユーザＩＤ「１１１１１１１１」に該当する情報が含まれる。
【０１０６】
Ｓ１３０８では、表示設定情報管理部２２１が、パーソナライズ機能管理部２１２から、ログイン中のユーザＩＤ３０１に対応するユーザの有する表示言語設定４０１を取得する。
Ｓ１３０９では、表示設定情報管理部２２１が、自身の有する表示言語情報を前記Ｓ１３０８で取得した表示言語設定４０１に対応する言語に更新する処理を行う。
Ｓ１３１０では、表示設定情報管理部２２１が、アプリＰＦ２３０に対し、表示言語情報の切り替えを通知する。
【０１０７】
Ｓ１３１０の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、前述の図７のＳ８１５で行う処理と同じであるので省略する。
Ｓ１３１１では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づき分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、処理を分岐する。ここでは、Ｓ８１５の結果より、（Ａ）が「ｆａｌｓｅ」の状態のため、アプリＰＦ２３０は、もう一方の管理部からの通知を待ち合わせることなく、表示言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを非同期で通知する。本実施例では、表示言語情報の切り替えをコピーアプリ２５１へ通知する（Ｓ１３１０で受信した通知に対応する通知）。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【０１０８】
Ｓ１３１１の後、アプリＰＦ２３０は、言語切り替え通知前の情報を更新する処理を行う。この処理は、前述の図７のＳ８２１で行う処理と同じであるので説明は省略する。
また、Ｓ１３１２では、表示設定情報管理部２２１が、ＬＵＩ８０１に対し、画面描画の更新を通知する。この通知を受けてＬＵＩ８０１は、画面描画を更新する。
【０１０９】
また、上述したＳ１３０４の確認で、ユーザの指定した認証情報が認証情報テーブル３００の情報と一致しなかった場合（Ｓ１３１３）、Ｓ１３１４において、認証情報管理部２１３が、ログインアプリ２５３に対し、認証の失敗を通知する。
Ｓ１３１５では、ログインアプリ２５３が、ＬＵＩ８０１に対し、認証エラー画面（不図示）の表示を通知する。
Ｓ１３１６では、ＬＵＩ８０１が、前記Ｓ１３１５で通知された画面に表示を更新する。
【０１１０】
図１２のシーケンス処理前後の画面遷移結果に関して、図８〜図１０を用いて説明する。図１２のシーケンス処理実施前の状態では、表示設定情報管理部２２１及び機器設定言語情報管理部２１１が有する言語情報が「日本語」のため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ａ）の画面が表示されることとなる。
【０１１１】
一方で、図１２におけるシーケンス処理実施後の状態では、表示設定情報管理部２２１が有する言語情報が「英語」に切り替わるため、ＬＵＩ８０１では図８（ｂ）、図９（ｂ）、図１０（ａ）の画面が表示されることとなる。
【０１１２】
図１３は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理しない場合のシーケンスとして、ユーザのログアウト操作の処理を示した図である。本実施例では、ユーザ８００は、画像処理装置１００に対しログアウト操作を行うものとし、かつ、個人設定情報テーブル４００のユーザＩＤ「１１１１１１１１」で示される情報を有するユーザとする。また、パーソナライズ機能管理部２１２が「有効」状態であり、機器設定情報管理部２１１は機器設定言語として「日本語」を、表示設定情報管理部２２１は表示言語設定として「英語」を有するものとする。
【０１１３】
Ｓ１４０１では、ユーザ８００が、ＬＵＩ８０１上のログインアプリ２５３の認証画面（不図示）の操作により、画像処理装置１００の「ログアウト」操作を行う。
Ｓ１４０２では、ＬＵＩ８０１が、ログインアプリ２５３に対し、ユーザのログアウトを通知する。この通知には、認証ＤＢ２１５内の認証情報テーブル３００における、ユーザＩＤ３０１が含まれるものとし、本実施例では、ユーザＩＤ「１１１１１１１１」に該当する情報が含まれる。
【０１１４】
Ｓ１４０３では、ログインアプリ２５３が、認証情報管理部２１３に対し、ユーザのログアウトを通知する。
Ｓ１４０４では、認証情報管理部２１３が、認証ＤＢ２１５内の認証情報テーブル３００を検索し、ログアウトしたユーザＩＤを確認する。
Ｓ１４０５では、認証情報管理部２１３が、画像処理装置１００の認証状態をユーザログアウト状態とする。本実施例では、認証情報管理部２１３は、ユーザＩＤ「１１１１１１１１」のユーザがログアウトしたものとして、「ログアウト」状態に画像処理装置１００の認証状態を更新する。
【０１１５】
Ｓ１４０６では、認証情報管理部２１３が、ユーザログイン状態の更新通知を関連するシステムに対して行う。本実施例では、認証情報管理部２１３が、表示設定情報管理部２２１に対して通知する。この通知には、認証ＤＢ２１５内の認証情報テーブル３００における、ユーザＩＤ３０１が含まれるものとし、本実施例では、ユーザＩＤ「１１１１１１１１」に該当する情報が含まれる。
【０１１６】
Ｓ１４０７では、表示設定情報管理部２２１が、機器設定情報管理部２１１から機器言語情報を取得する。
Ｓ１４０８では、表示設定情報管理部２２１が、自身の有する表示言語情報を、前記Ｓ１４０７で取得した言語情報に更新する処理を行う。
Ｓ１４０９では、表示設定情報管理部２２１が、アプリＰＦ２３０に対し、表示言語情報の切り替えを通知する。
【０１１７】
Ｓ１４０９の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、前述のＳ８１５で行う処理と同じであるので説明は省略する。
【０１１８】
Ｓ１４１０では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づき分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、処理を分岐する。ここでは、Ｓ８１５の結果より、（Ａ）が「ｆａｌｓｅ」の状態のため、アプリＰＦ２３０は、もう一方の管理部からの通知を待ち合わせることなく、表示言語情報の切り替えの通知依頼を行っていたアプリに対して言語切り替えを非同期で通知する。本実施例では、表示言語情報の切り替えをコピーアプリ２５１へ通知する（Ｓ１４０９で受信した通対に対応する通知）。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【０１１９】
Ｓ１４１０の後、アプリＰＦ２３０は、言語切り替え通知前の情報を更新する処理を行う。この処理は、前述の図７のＳ８２１で行う処理と同じであるので説明は省略する。
また、Ｓ１４１１では、表示設定情報管理部２２１が、ＬＵＩ８０１に対し、画面描画の更新を通知する。この通知を受けてＬＵＩ８０１は、画面描画を更新する。
【０１２０】
図１３のシーケンス処理前後の画面遷移結果に関して、図８〜図１０を用いて説明する。図１３のシーケンス処理実施前の状態では、表示設定情報管理部２２１が有する言語情報が「英語」、機器設定情報管理部２１１が有する言語情報が「日本語」のため、ＬＵＩ８０１ではそれぞれ図８（ｂ）、図９（ｂ）、図１０（ａ）の画面が表示されることとなる。
【０１２１】
一方で、図１３のシーケンス処理実施後の状態では、表示設定情報管理部２２１が有する言語情報が「日本語」に切り替わるため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ａ）の画面が表示されることとなる。
【０１２２】
図１４は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理しない場合のシーケンスとして、ユーザのパーソナライズ機能管理部無効化時の処理を示した図である。本実施例では、ユーザ８００は、画像処理装置１００に対しパーソナライズ機能の「無効化」操作を行うものとし、かつ、この際に個人設定情報テーブル４００のユーザＩＤ「１１１１１１１１」で示される情報を有するユーザが「ログイン」状態であるとする。また、パーソナライズ機能管理部２１２が「有効」状態であり、機器設定情報管理部２１１は機器設定言語として「日本語」を、表示設定情報管理部２２１は表示言語情報として「英語」を有するものとする。
【０１２３】
Ｓ１５０１では、ユーザ８００が、ＬＵＩ８０１上のパーソナライズ機能設定画面（不図示）の操作により、画像処理装置１００のパーソナライズ機能の無効化操作を行う。
Ｓ１５０２では、ＬＵＩ８０１が、パーソナライズ機能管理部２１２に対し、パーソナライズ機能の使用を無効化する通知を行う。
【０１２４】
Ｓ１５０３では、パーソナライズ機能管理部２１２が、認証情報管理部２１３に対し、ユーザのログインの状態を取得し、「ログイン」状態の場合にはＳ１５０４に、一方、「ログイン」状態でない場合には不図示の処理に分岐する。
【０１２５】
Ｓ１５０４では、前記Ｓ１５０３でユーザが「ログイン」状態である場合の処理を表している。なお、前記Ｓ１５０３でユーザが「ログアウト」状態である場合については、本図の例では該当しないため示していない。
【０１２６】
ユーザが「ログイン」状態であった場合（Ｓ１５０４）、Ｓ１５０５において、パーソナライズ機能管理部２１２が、認証情報管理部２１３に対し、ユーザのログアウト操作の指示を行う。これは、パーソナライズ機能管理部２１２が、画像処理装置１００の設定情報を機器設定情報管理部２１１が有する設定に反映し直すために行われる。
【０１２７】
Ｓ１５０６では、認証情報管理部２１３が、画像処理装置１００の認証状態を確認する。
Ｓ１５０７では、認証情報管理部２１３が、画像処理装置１００の認証状態を「ログアウト」状態とする。本実施例では、認証情報管理部２１３は、ユーザＩＤ「１１１１１１１１」のユーザがログアウトしたものとして、「ログアウト」状態に画像処理装置１００の認証状態を更新する。
【０１２８】
Ｓ１５０８では、認証情報管理部２１３が、ユーザログイン状態の更新通知を関連するシステムに対して行う。本実施例では、認証情報管理部２１３が、表示設定情報管理部２２１、及びパーソナライズ機能管理部２１２に対して通知する。この通知には、認証ＤＢ２１５内の認証情報テーブル３００におけるユーザＩＤ３０１が含まれるものとし、本実施例では、ユーザＩＤ「１１１１１１１１」に該当する情報が含まれる。
【０１２９】
また、Ｓ１５０９では、パーソナライズ機能管理部２１２が、自身の機能の使用状態を「無効」状態に更新する。このとき、画像処理装置１００の設定情報を機器設定情報管理部２１１が有する設定に反映し直す処理が行われる。
【０１３０】
Ｓ１５１０では、表示設定情報管理部２２１が、機器設定情報管理部２１１から機器言語情報を取得する。
Ｓ１５１１では、表示設定情報管理部２２１が、自身の有する表示言語情報を、上記Ｓ１５１０で取得した言語情報に更新する処理を行う。
Ｓ１５１２では、表示設定情報管理部２２１が、アプリＰＦ２３０に対し、表示言語情報の切り替えを通知する。
【０１３１】
Ｓ１５１２の後、アプリＰＦ２３０は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、前述の図７のＳ８１５で行う処理と同じであるため説明は省略する。
【０１３２】
Ｓ１５１３では、アプリＰＦ２３０が、以下の条件を判定し、該判定結果に基づく分岐処理を行う。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するかどうか、を判定し、処理を分岐する。ここでは、上記Ｓ８１５の結果より、（Ａ）が「ｆａｌｓｅ」の状態のため、アプリＰＦ２３０は、もう一方の管理部からの通知を待ち合わせることなく、表示言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを非同期で通知する。本実施例では、表示言語情報の切り替えをコピーアプリ２５１へ通知する（Ｓ１５１２で受信した通知に対応する通知）。
なお、他の場合の分岐については、本図の例では該当しないため本図には示していないが、これらの処理は、他のシーケンス図や後述する図１５のフローチャートにおいて説明する。
【０１３３】
Ｓ１５１３の後、アプリＰＦ２３０は、言語切り替え通知前の情報を更新する処理を行う。この処理は、前述の図７のＳ８２１で行う処理と同じであるので説明は省略する。
また、Ｓ１５１４では、表示設定情報管理部２２１が、ＬＵＩ８０１に対し、画面描画の更新を通知する。この通知を受けてＬＵＩ８０１は、画面描画を更新する。
【０１３４】
図１４のシーケンス処理前後の画面遷移結果に関して、図８〜図１０を用いて説明する。図１４のシーケンス処理実施前の状態では、表示設定情報管理部２２１が有する言語情報が「英語」、機器設定情報管理部２１１が有する言語情報が「日本語」のため、ＬＵＩ８０１ではそれぞれ図８（ｂ）、図９（ｂ）、図１０（ａ）の画面が表示されることとなる。
【０１３５】
一方で、図１４におけるシーケンス処理実施後の状態では、表示設定情報管理部２２１が有する言語情報が「日本語」に切り替わるため、ＬＵＩ８０１ではそれぞれ図８（ａ）、図９（ａ）、図１０（ａ）の画面が表示されることとなる。
【０１３６】
ここで、図１５のフローチャートを用いて、アプリＰＦ２３０の動作について説明する。
図１５は、アプリＰＦ２３０が機器設定情報管理部２１１又は表示設定情報管理部２２１から言語情報切り替え通知を受信した場合の処理を例示するフローチャートである。なお、このフローチャートの処理は、画像処理装置１００の有するＣＰＵ１０４が、記憶装置１０８に記憶される制御プログラムをＲＡＭ１０５上に読み出して実行することにより実現される。
【０１３７】
アプリＰＦ２３０は、機器設定情報管理部２１１又は表示設定情報管理部２２１から、言語情報切り替え通知を受信すると、本フローチャートの処理を開始する。なお、言語情報切り替え通知を受信した場合とは、例えば、図７のＳ８１４、Ｓ８１９、図１１のＳ１２０６、Ｓ１２１２、図１２のＳ１３１０、図１３のＳ１４０９、図１４のＳ１５１２等が該当する。
【０１３８】
まず、アプリＰＦ２３０は、パーソナライズ機能が有効か（Ｓ２１０１）、ユーザログイン中か（Ｓ２１０２）、ユーザログアウト中か（Ｓ２１０３）、前回言語切替通知時にユーザログイン中か（Ｓ２１０４）、前回言語切替通知時に言語差分有りか（Ｓ２１０５）を判定する。これにより、アプリＰＦ２３０は、上述した言語切り替え同期処理フラグが「ｔｒｕｅ」となる場合か「ｆａｌｓｅ」となる場合かを判定する。この処理は、上述したＳ８１５の処理に対応する。
【０１３９】
まず、言語切り替え同期処理フラグが「ｆａｌｓｅ」となる場合は以下の場合である。
・ユーザログアウト中（Ｓ２１０３でＹｅｓ又はＳ２１０２でＮｏ）且つ前回言語切替通知時にユーザログイン中（Ｓ２１０４でＹｅｓ）且つ前回言語切替通知時に言語差分有り（Ｓ２１０５でＹｅｓ）の場合
・パーソナライズ機能が有効（Ｓ２１０１でＹｅｓ）且つユーザログイン中（Ｓ２１０２でＹｅｓ）の場合
【０１４０】
上記以外の場合（以下の場合）、言語切り替え同期処理フラグが「ｔｒｕｅ」となる。
・ユーザログアウト中（Ｓ２１０３でＹｅｓ又はＳ２１０２でＮｏ）且つ前回言語切替通知時にユーザログイン中（Ｓ２１０４でＹｅｓ）且つ前回言語切替通知時に言語差分無し（Ｓ２１０５でＮｏ）の場合
・ユーザログアウト中（Ｓ２１０３でＹｅｓ又はＳ２１０２でＮｏ）且つ前回言語切替通知時にユーザログアウト中（Ｓ２１０４でＮｏ）の場合
・パーソナライズ機能が無効（Ｓ２１０１でＮｏ）且つユーザログイン中（Ｓ２１０３でＮｏ）の場合
【０１４１】
言語切り替え同期処理フラグが「ｔｒｕｅ」となる場合、Ｓ２１０６に移行する。
Ｓ２１０６では、アプリＰＦ２３０は、保持中の言語情報切り替え通知イベントがあるか否かを判定する。そして、保持中の言語情報切り替え通知イベントがないと判定した場合（Ｓ２１０６でＮｏの場合）、アプリＰＦ２３０は、Ｓ２１１０において、もう一方の言語情報切り替え通知を待ち合わせるため、受信した言語情報切り替え通知イベントを保持する。このＳ２１１０の処理は、上述した図７のＳ８１６の処理に対応する。
【０１４２】
一方、上記Ｓ２１０６において、保持中の言語情報切り替え通知イベントがあると判定した場合（Ｓ２１０６でＹｅｓの場合）、アプリＰＦ２３０は、Ｓ２１０７において、保持中の言語情報切り替え通知イベントを、対応する通知依頼を行っていたアプリに対して通知する。さらに、Ｓ２１０８において、アプリＰＦ２３０は、上記受信した言語切り替え通知に対応する通知を、対応する通知依頼を行っていたアプリに対して通知する。即ち、両方の管理部からの言語情報切り替え通知を待ち合わせて（同期して）、アプリへの通知を行う。このＳ２１０７、Ｓ２１０８の処理は、図７のＳ８２０の処理に対応する。さらに、Ｓ２１０８の処理の後、Ｓ２１０９において、アプリＰＦ２３０は、前回ユーザログイン状態と言語差分の情報を更新する。この処理は、図７のＳ８２１の処理に対応する。
【０１４３】
一方、言語切り替え同期処理フラグが「ｆａｌｓｅ」となる場合、アプリＰＦ２３０は、もう一方の管理部からの言語切り替え通知を待ち合わせることなく、Ｓ２１０８において、上記受信した言語情報切り替え通知に対応する通知を、対応する通知依頼を行っていたアプリに対して通知する。この処理は、図１１のＳ１２０７、Ｓ１２１３、図１２のＳ１３１１、図１３のＳ１４１０、図１４のＳ１５１３の処理に対応する。さらに、Ｓ２１０８の処理の後、Ｓ２１０９において、アプリＰＦ２３０は、前回ユーザログイン状態と言語差分の情報を更新する。この処理は、Ｓ８２１の処理に対応する。
【０１４４】
以上により、実施例１では、画像処理装置で機器設定情報のみを考慮するアプリ（例えば、機器言語情報の切り替えを検知して表示言語情報を取得するアプリ）に動作影響を与えず、操作画面上に表示されるアプリの言語情報をユーザの個人設定言語に切り替えるための同期処理制御を行うことができる。よって、ユーザが画像処理装置１００にログインしている限り、画像処理装置１００で提供される機能はパーソナライズ対応することが可能となる。これにより、ユーザは再度ユーザ認証を行うことなく複数の機能を自身の設定言語で表示して使用できるようになる。
【０１４５】
なお、機器設定言語のみを必要とするアプリは、アプリＰＦ２３０に対し機器設定情報管理部２１１が有する言語情報の取得を指示することで、ユーザの個人設定言語の影響を回避することができる。
【０１４６】
また、アプリＰＦ２３０が、図７、図１１〜図１４に示したように、アプリに対する言語切り替え通知を同期又は非同期で適切に行うことができる。これにより、不適切な同期処理による言語切り替え処理が停止してしまうことを回避し、かつ、適切な同期処理によりアプリが常に更新後の言語情報を管理部から取得できるようになる。
以上のように、ユーザ毎に使用する言語を切り替え可能な装置において言語設定が変更された際の使用言語の切り替えを不具合なく適切に行うことができる。
【実施例２】
【０１４７】
上述した実施例１では、各管理部から言語情報の切り替えが通知される場合、アプリＰＦ２３０が同期処理を行う構成について示した。しかし、言語切り替え通知をアプリＰＦ２３０に依頼しているアプリ側で同期判定を行う構成としてもよい。この構成を実施例２として説明する。
以下、実施例１における図６、図７のシーケンスを元にしたシーケンス図１６、図１７を用いて実施例２の構成を説明する。以下、差分のみ説明する。
【０１４８】
図１６は、画像処理装置１００起動時に行われるアプリＰＦ２３０起動処理時の、アプリの言語切り替え関係処理初期化処理のシーケンス図である。なお、図１６及び後述する図１７に示す各部の処理は、画像処理装置１００の有するＣＰＵ１０４が、記憶装置１０８に記憶される制御プログラムをＲＡＭ１０５上に読み出して実行することにより実現される。なお、本実施例では、初期化処理を行うアプリは、コピーアプリ２５１であるものとする。また、図６と同一のステップには同一のステップ番号を付し、説明は省略する。
【０１４９】
Ｓ１６０１では、コピーアプリ２５１が、アプリＰＦ２３０から表示言語情報を取得する。なお、この際、アプリＰＦ２３０は表示設定情報管理部２２１から表示言語情報を取得して（Ｓ７０１）、コピーアプリ２５１に渡す。
【０１５０】
Ｓ１６０２では、コピーアプリ２５１が、アプリＰＦ２３０から機器言語情報を取得する。
Ｓ１６０３では、コピーアプリ２５１が、上記Ｓ１６０１とＳ１６０２で得られた表示言語情報と機器言語情報との間の言語情報の差分を記憶する。
【０１５１】
Ｓ１６０４では、コピーアプリ２５１が、アプリＰＦ２３０から、画像処理装置１００におけるユーザログイン状態を取得する。この際、アプリＰＦ２３０は認証情報管理部２１３から画像処理装置１００におけるユーザログイン状態を取得し（Ｓ７０４）、コピーアプリ２５１に渡す。
【０１５２】
Ｓ１６０５では、コピーアプリ２５１が、上記Ｓ１６０４で得られたユーザログイン状態を記憶する。
Ｓ１６０６では、コピーアプリ２５１が、アプリＰＦ２３０に対し、機器言語情報切り替えを通知する依頼を行う。
【０１５３】
図１７は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、アプリが発生した言語切り替えの通知を同期処理する時のシーケンス図である。このときの画像処理装置１００の状態は、図７と等しい状態とする。本実施例では、同期処理を行うアプリは、コピーアプリ２５１であるものとする。また、図７と同一のステップには同一のステップ番号を付し、説明は省略する。
【０１５４】
Ｓ１７０１では、アプリＰＦ２３０が、コピーアプリ２５１に対し、機器言語の切り替え通知を依頼する。Ｓ１７０１の後、コピーアプリ２５１は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、処理の指示を出す元、及び取得情報の保持先がコピーアプリ２５１になることを除いて、前述のＳ８１５で行う処理と同じであるため説明は省略する。
【０１５５】
Ｓ１７０２では、コピーアプリ２５１が、以下の条件を判定し、該判定結果に基づき処理を分岐する。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替えイベントが存在するかどうか、を判定して処理を分岐する。ここでは、Ｓ８１５の結果より、（Ａ）が「ｔｒｕｅ」、かつ、（Ｂ）保持中の言語切り替えイベントが存在しない状態のため、コピーアプリ２５１は、言語切り替えのイベントを保持し、表示言語切り替え通知時に実行する処理の実行待ち状態に入る。なお、他の場合の分岐については、本図の例では該当しないため示していない。
【０１５６】
Ｓ１７０３では、アプリＰＦ２３０が、コピーアプリ２５１に対し、表示言語の切り替え通知を行う。Ｓ１７０３の後、コピーアプリ２５１は、言語切り替え同期処理フラグを確認する処理を行う。この処理は、処理の指示を出す元、及び情報の保持先がコピーアプリ２５１になること以外、前述のＳ８１５で行う処理と同じであるので説明は省略する。
【０１５７】
Ｓ１７０４では、コピーアプリ２５１が、以下の条件を判定し、該判定結果に基づき処理を分岐する。すなわち、（Ａ）言語切り替え同期処理フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替えイベントが存在するかどうか、を判定して処理を分岐する。ここでは、Ｓ８１５の結果より、（Ａ）が「ｔｒｕｅ」、かつ、（Ｂ）保持中の言語切り替えイベントが存在する状態のため、コピーアプリ２５１は、表示言語切り替え通知時に実行する処理を実行する。例えば、本実施例では、「機器言語情報」の切り替えの通知をログインアプリ２５３とスキャンアプリ２５２へ通知する。また、コピーアプリ２５１は、表示言語情報を取得して使用する言語を切り替える。
なお、他の場合の分岐については、本図の例では該当しないため示していない。
【０１５８】
以上により、実施例２によれば、実施例１においてアプリＰＦ２３０で行っていた同期処理を、アプリ側でも実現することが可能となる。
【実施例３】
【０１５９】
画像処理装置では、コインベンダーなどの課金管理装置を有し、ユーザに有料で画像処理装置の利用を提供することがある。これは主にコンビニエンスストアやインターネットカフェでの画像処理装置の利用方法で、ユーザは、課金管理装置にお金やカードを入れ、コピーやプリントなどのジョブを実行すると、ジョブ数に応じた金額が加算される仕組みである。このような利用方法を行っている画像処理装置では、一般的にユーザがログインすることはなく、かつ、ログインする場合も画像処理装置の設定を行う管理者のログインに限定される。そのため、前記画像処理装置は、ユーザの個人設定の情報を管理する機能など、利用に際して不要な機能を事前に無効化されて運用されていることがある。
【０１６０】
前記画像処理装置に対し実施例１の処理を追加する場合、パーソナライズ機能管理部２１２の使用状態が常に無効化される状態（図４の状態５０３／５１３、及び状態５０４／５１４）のため、アプリＰＦ２３０は、言語情報切り替え通知を受信した場合、常に同期処理を行うことになる。しかし、同期処理を行うことが自明であるにもかかわらず、Ｓ８１５の言語切り替え同期処理フラグの確認処理、及びＳ８２１の言語切り替え通知前情報の更新を行う構成では、処理パフォーマンス低下につながる可能性がある。
【０１６１】
そこで、本実施例３では、パーソナライズ機能管理部２１２の使用状態が常に無効化される状態か判定し、常に無効化される状態の場合には、アプリＰＦ２３０は、言語切り替え通知を受信した場合の処理を変更する。以下、実施例１における図６、図７のシーケンスを元にしたシーケンス図１８、図１９を用いて実施例１からの差分のみ説明する。
【０１６２】
図１８は、アプリＰＦ２３０がアプリに言語切り替えを通知するための、画像処理装置１００起動時に行われるアプリＰＦ２３０起動処理時の言語切り替え関係処理初期化のシーケンス図である。なお、図１８及び後述する図１９に示す各部の処理は、画像処理装置１００の有するＣＰＵ１０４が、記憶装置１０８に記憶される制御プログラムをＲＡＭ１０５上に読み出して実行することにより実現される。なお、図６と同一のステップには同一のステップ番号を付し、説明は省略する。
【０１６３】
本実施例３では、画像処理装置１００は、課金管理装置（不図示）を有し、このとき、システム制御部２１０は、パーソナライズ機能管理部２１２の使用を停止し、その状態の情報を機器設定情報管理部２１１で管理しているものとする。
【０１６４】
Ｓ１８０１では、アプリＰＦ２３０が、機器設定情報管理部２１１から、パーソナライズ機能自体の使用状態を取得する。ここで取得する情報は、ユーザによるパーソナライズ機能管理部２１２の使用状態の変化ではなく、例えば、課金管理装置を有している場合など画像処理装置１００がパーソナライズ機能管理部２１２を使用せず無効化している、というシステム上の設定を取得する。そして、取得したパーソナライズ機能自体の使用状態に基づいて処理を分岐する。
【０１６５】
アプリＰＦ２３０は、上記Ｓ１８０１で取得したパーソナライズ機能管理部２１２自体の使用状況が「無効」であると判定した場合、Ｓ１８０２に処理を進める。
Ｓ１８０２では、アプリＰＦ２３０は、パーソナライズ機能管理部２１２無効化状態フラグを「有効」にする。当該フラグは、アプリＰＦ２３０において各管理部からの言語切り替え通知時の処理判定に使用される。
【０１６６】
一方、上記Ｓ１８０１で取得したパーソナライズ機能管理部２１２自体の使用状況が「有効」であると判定した場合、アプリＰＦ２３０は、Ｓ１８０３に処理を進める。
Ｓ１８０３では、アプリＰＦ２３０は、言語切り替え通知前の情報処理取得処理として、図６のＳ７０１〜Ｓ７０５を実行する。
【０１６７】
図１９は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、発生した言語切り替えの通知を同期処理する時のシーケンス図である。このときの画像処理装置１００の状態は、図７と等しい状態とする。なお、図７と同一のステップには同一のステップ番号を付し、説明は省略する。
【０１６８】
Ｓ８１４で機器言語切り替え通知を受信したアプリＰＦ２３０は、以下の条件を判定し、該判定結果に基づいて分岐処理を行う。すなわち、（Ｃ）パーソナライズ機能管理部２１２無効化状態フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替えイベントが存在するか、を判定して処理を分岐する。ここでは、Ｓ１８０２の結果より、（Ｃ）が「ｔｒｕｅ」、かつ、（Ｂ）保持中の言語切り替え通知イベントが存在しない状態のため、アプリＰＦ２３０は、Ｓ１９０１において、受信した言語情報切り替え通知のイベントを保持し、他の言語情報切り替えの通知を待ち合わせる。
【０１６９】
また、（Ｃ）パーソナライズ機能管理部２１２無効化状態フラグが「ｆａｌｓｅ」の場合、アプリＰＦ２３０は、Ｓ１９０２において、通常の言語切り替え同期処理として、図７のＳ８１５、Ｓ８１６を実行する。
【０１７０】
また、Ｓ８１９で表示言語切り替え通知を受信したアプリＰＦ２３０は、以下の条件を判定し、該判定結果に基づいて分岐処理を行う。すなわち、（Ｃ）パーソナライズ機能管理部２１２無効化状態フラグが「ｔｒｕｅ」かどうか、（Ｂ）保持中の言語切り替え通知イベントが存在するか、を判定して処理を分岐する。ここでは、ステップＳ１８０２の結果より、（Ｃ）が「ｔｒｕｅ」、かつ、（Ｂ）保持中の言語切り替え通知イベントが存在する状態のため、アプリＰＦ２３０は、Ｓ１９０３において、それぞれの言語切り替えの通知依頼を行っていたアプリに対して言語切り替えを通知する。
【０１７１】
また、上記アプリＰＦ２３０による判定が、（Ｃ）パーソナライズ機能管理部２１２無効化状態フラグが「ｆａｌｓｅ」であった場合、アプリＰＦ２３０は、Ｓ１９０４において、通常の言語切り替え同期処理として、図７のＳ８１５、Ｓ８２０、Ｓ８２１を実行する。
【０１７２】
以上により、実施例３では、パーソナライズ機能管理部２１２の使用が常に停止しており、アプリＰＦ２３０で常に同期処理を行うケースで、不要な同期判定処理を省略でき、処理パフォーマンス低下への影響を除くことが可能となる。
なお、本実施例３では、パーソナライズ機能管理部２１２の使用が常に停止する条件として、課金管理装置を有した画像処理装置１００としている。しかし、画像処理装置１００においてパーソナライズ機能管理部２１２の使用が常に停止する条件を有するものであれば、その条件により同期判定処理の省略を判定する構成でもよい。
【実施例４】
【０１７３】
例えば、ユーザがＬＵＩ８０１上の言語切り替え画面（不図示）の操作により、同一言語への切り替え（例えば、設定言語を「日本語」から「日本語」へ変更）を操作する場合がある。このとき、上述した実施例１の構成では、ＬＵＩ８０１が言語切り替えが発生した、という事象の通知を行うため、各管理部へ言語切り替えを通知する。
【０１７４】
なお、表示設定情報管理部２２１は、この通知により画面描画の更新をＬＵＩ８０１に対して行うことになるが、言語情報が同一のため画面上変化はなく、無駄な画面更新処理が行われパフォーマンス低下影響を招く恐れがある。
【０１７５】
また、表示設定情報管理部２２１からアプリＰＦ２３０に言語情報切り替えが通知され、表示設定情報管理部２２１からの言語切り替えの通知を依頼しているアプリに対してもアプリＰＦ２３０から言語切り替え通知が行われることになる。しかし、こちらも同一言語への切り替えのため情報に更新がなく、無駄な処理となってしまい、同様の影響を与えかねない。
【０１７６】
そこで、本実施例４では、ユーザによる同一言語への切り替えの際、表示設定情報管理部２２１が画面更新処理、及び、アプリＰＦ２３０への言語情報切り替え通知処理を行わない構成とする。
【０１７７】
また、例えばユーザログアウト状態で機器設定言語が「日本語」から「日本語」に変更される場合、機器設定情報管理部２１１からもアプリＰＦ２３０に言語情報切り替え通知が行われる。しかし、上述のように、表示設定情報管理部２２１からアプリＰＦ２３０に言語切り替えが通知されないように構成すると、実施例１の構成では、アプリＰＦ２３０は、通知がされない表示設定情報管理部２２１からの言語切り替え通知の同期待ち状態に陥ってしまい、アプリに対する言語切り替え通知の詰まりを発生させてしまう。
【０１７８】
従って、本実施例４では、上記構成に合わせて、アプリＰＦ２３０が、ユーザによる同一言語への切り替えの際に、機器設定情報管理部２１１からの言語情報切り替え通知を破棄して、通知依頼を行っていたアプリに対する通知も行わない構成とする。
以下、実施例１における図７のシーケンスを元にしたシーケンス図２０を用いて実施例１からの差分のみ説明する。
【０１７９】
図２０は、アプリＰＦ２３０がアプリに言語切り替えを通知する際に、同一言語への言語切り替えの通知を破棄処理する場合のシーケンス図である。このときの画像処理装置１００の状態は、図７と等しい状態とし、この状態において、ユーザ８００により機器設定言語の変更として、「日本語」から「日本語」への切り替え操作（変更前と同一の言語情報への変更）が行われるものとする。なお、図７と同一のステップには同一のステップ番号を付し、説明は省略する。
【０１８０】
Ｓ８１４で機器言語情報切り替え通知を受信すると、アプリＰＦ２３０は、Ｓ２００１において、機器設定情報管理部２１１に対して要求し、機器言語情報を取得する。
Ｓ２００２では、アプリＰＦ２３０が、自身の有する言語切り替え通知前の機器言語情報を参照する。当該情報は、アプリＰＦ２３０が保持する、言語切り替え通知前管理部間の言語情報差分から参照する。
【０１８１】
アプリＰＦ２３０が、前記Ｓ２００１、Ｓ２００２で得られた言語情報間に差分があるか確認し、確認結果に応じて処理を分岐する。上述したように、共に「日本語」等である場合、差分がないと判断し、Ｓ２００３に分岐する。Ｓ２００３において、アプリＰＦ２３０が、機器設定情報管理部２１１からの言語切り替え通知を破棄し、Ｓ８２１において、言語切り替え通知前の情報を更新する処理を行う。
【０１８２】
Ｓ２００４では、アプリＰＦ２３０による前記差分の確認が、差分有りと判断された時の処理である。このとき、アプリＰＦ２３０は、通常の言語切り替え同期処理として、図７のＳ８１５、Ｓ８１６を実行する。
【０１８３】
Ｓ８１７で表示言語情報切り替え通知を受信すると、表示設定情報管理部２２１は、Ｓ２００５において、前記Ｓ８１７で通知された表示言語情報を取得する。
Ｓ２００６では、表示設定情報管理部２２１が、自身の現在有している言語情報を、言語切り替え通知前表示言語情報として参照する。
そして、表示設定情報管理部２２１が、前記Ｓ２００４、Ｓ２００５で得られた言語情報間に差分があるか確認し、確認結果に応じて処理を分岐する。上述したように、共に「日本語」等である場合、差分がないと判断し、Ｓ２００７に分岐する。Ｓ２００７において、表示設定情報管理部２２１は、ＬＵＩ８０１からの言語切り替え通知を破棄する。
【０１８４】
一方、Ｓ２００８は、表示設定情報管理部２２１による前記差分の確認が、差分有りと判断された時の処理である。このとき、表示設定情報管理部２２１は、通常の言語切り替え同期処理として、図７のＳ８１５、Ｓ８２０〜Ｓ８２２を実行する。
【０１８５】
以上により、実施例４では、表示設定情報管理部２２１、及びアプリＰＦ２３０がユーザからの同一言語への切り替え処理に基づく切り替え通知を破棄することにより、無駄な言語切り替え処理発生によるパフォーマンス低下への影響を除くことが可能となる。
【０１８６】
なお、本実施例では、同一言語への機器言語切り替え通知の破棄をアプリＰＦ２３０で行う構成を取っているが、機器設定情報管理部２１１で同様の処理を行う形式としてもよい。すなわち、ユーザによる同一言語への切り替えの際、機器設定情報管理部２１１が言語切り替え通知処理を行わない構成としてもよい。
また、本実施例では、同一言語への表示言語切り替え通知の破棄を表示設定情報管理部２２１で行う構成を取っているが、アプリＰＦ２３０で同様の処理を行う形式としてもよい。すなわち、ユーザによる同一言語への切り替えの際、アプリＰＦ２３０が言語切り替え通知を行わない構成としてもよい。
【０１８７】
以上説明したように、本発明によれば、アプリＰＦ２３０が表示設定情報管理部２２１または機器設定情報管理部２１１から言語切り替え通知を受けた際、言語切り替え同期処理フラグを確認し、このフラグが有効の場合、アプリＰＦはアプリに対する言語切り替え通知の同期処理を行う。なお、フラグが有効な場合は、パーソナライズ機能が有効かつユーザログアウト状態、またはユーザログアウト状態かつ言語切り替え発生前ユーザログイン状態かつ言語切り替え発生前各管理部間の言語差分あり、の場合である。これにより、画像処理装置等の情報処理装置で操作画面上に表示するアプリの言語情報をユーザの個人言語に切り替える際に、機器設定言語情報のみを考慮するアプリに動作影響を与えないように適切に同期処理を行う制御を行うことができる。よって、ユーザが情報処理装置にログインしている限り機能がパーソナライズ対応され、ユーザは認証情報を入力しなおすことなく複数の機能を自身の言語で表示して使用できるようになる。
【０１８８】
なお、本実施例では言語設定を例に説明したが、本発明は言語設定に限定されるものではなく、ユーザごとの設定情報をログイン時に反映させるパーソナライズ機能管理部２１２が管理する設定であれば他の設定にも適用可能である。
【０１８９】
また、パーソナライズ機能管理部の使用の有効化／無効化を設定する機能が設けられていない機器では、パーソナライズ機能管理部２１２の使用が常に有効な状態であるものとして、例えばアプリＰＦ２３０は、パーソナライズ機能管理部２１２の有効／無効の判断をスキップするものとする。例えば、アプリＰＦ２３０は、言語切り替え通知を受信した場合、図１５のＳ２１０１の判断をスキップし、図１５のＳ２１０２から処理を開始するものとする。
【０１９０】
また、上記各実施例では、ＵＩ表示装置１０３に表示される操作画面で使用される言語を切り替える構成について説明した。しかし、本発明は、ＵＩ表示装置１０３に表示される操作画面のみでなく、画像処理装置１００とネットワークを介して接続されるＰＣ等の情報処理装置に表示される画像処理装置１００の操作画面で使用される言語を切り替える構成であってもよい。また、操作画面のみでなく、画像処理装置１００の出力で使用される言語を切り替える構成であってもよい。例えば、画像処理装置１００の設定情報やアドレス帳の印刷出力や、通信履歴レポートや印刷履歴レポート等の各種印刷出力等、画像処理装置１００の出力に使用される言語の切り替えであれば、本発明を適用可能である。
【０１９１】
また、上記各実施例では、本発明を適用可能な装置として画像処理装置を例に説明したが、ＰＣなどのようにパーソナライズ機能を有する装置であれば、各種家電、カーナビゲーションシステム、デジタルカメラ、タブレット型端末、スマートフォン等の他の情報処理装置にも本発明を適用可能である。
【０１９２】
以上のように、本発明によれば、ユーザ毎に使用する言語を切り替え可能な装置において言語設定が変更された際の使用言語の切り替えを不具合なく適切に行うことができる。
【０１９３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１９４】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１９５】
１００    画像処理装置
２１１    機器設定情報管理部
２１２    パーソナライズ機能管理部
２２１    表示設定情報管理部
２３０    アプリＰＦ
【図１】
2017019112.tif 000003
【図２】
2017019112.tif 000004
【図３】
2017019112.tif 000005
【図４】
2017019112.tif 000006
【図５】
2017019112.tif 000007
【図６】
2017019112.tif 000008
【図７】
2017019112.tif 000009
【図８】
2017019112.tif 000010
【図９】
2017019112.tif 000011
【図１０】
2017019112.tif 000012
【図１１】
2017019112.tif 000013
【図１２】
2017019112.tif 000014
【図１３】
2017019112.tif 000015
【図１４】
2017019112.tif 000016
【図１５】
2017019112.tif 000017
【図１６】
2017019112.tif 000018
【図１７】
2017019112.tif 000019
【図１８】
2017019112.tif 000020
【図１９】
2017019112.tif 000021
【図２０】
2017019112.tif 000022