(57)【要約】【課題】画面に表示する用語の数の増加に伴い、起動時間が定常的に長くなることを防ぐことができる情報処理装置を提供すること。【解決手段】アプリに組み込まれている文字列の用語と、アプリの用語モジュールにより追加される文字列の用語とを画面に表示可能な情報処理装置であって、アプリの用語識別情報と用語モジュールの用語識別情報との対応関係を記憶する用語管理手段と、用語管理手段からアプリの用語識別情報又は用語モジュールの用語識別情報を取得し、取得した用語識別情報を利用してアプリの画面に表示させる文字列を選択する選択手段と、情報処理装置の起動時、アプリ及び用語モジュールの少なくとも一方が更新されているか否かを判定し、更新されていると判定すると、用語管理手段が記憶するアプリの用語識別情報と用語モジュールの用語識別情報との対応関係を作成する対応関係作成手段と、を有することにより上記課題を解決する。【選択図】図３
2019016169.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションに組み込まれている文字列の用語と、前記アプリケーションの用語モジュールにより追加される文字列の用語と、を前記アプリケーションの画面に表示可能な情報処理装置であって、
前記用語ごとに前記アプリケーションに組み込まれている文字列を識別する前記アプリケーションの用語識別情報と前記用語モジュールに組み込まれている文字列を識別する前記用語モジュールの用語識別情報との対応関係を記憶する用語管理手段と、
前記用語管理手段から前記アプリケーションの用語識別情報又は前記用語モジュールの用語識別情報を取得し、取得した前記用語識別情報を利用して前記アプリケーションの画面に表示させる文字列を選択する選択手段と、
前記情報処理装置の起動時、前記アプリケーション及び前記用語モジュールの少なくとも一方が更新されているか否かを判定し、更新されていると判定すると、前記用語管理手段が記憶する前記アプリケーションの用語識別情報と前記用語モジュールの用語識別情報との対応関係を作成する対応関係作成手段と、
を有する情報処理装置。
【請求項２】
前記アプリケーションが更新されていることを示す更新情報を記憶する更新情報記憶手段と、
前記アプリケーション又は前記用語モジュールのインストールを行い、インストールを行ったのが前記アプリケーションであれば、前記アプリケーションの更新を前記更新情報記憶手段に記憶し、インストールを行ったのが前記用語モジュールであれば、前記用語管理手段に記憶されている前記インストールを行った前記用語モジュールの対応関係を削除するインストール手段と、
を更に有し、
前記対応関係作成手段は、前記更新情報記憶手段に記憶されている前記更新情報に基づき前記アプリケーションが更新されているか否かを判定し、前記用語管理手段に記憶されている前記対応関係の有無に基づき前記用語モジュールが更新されているか否かを判定すること
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記アプリケーション及び前記用語モジュールの少なくとも一方が更新されていることを示す更新情報を記憶する更新情報記憶手段と、
前記アプリケーション又は前記用語モジュールのインストールを行い、インストールを行った前記アプリケーション又は前記用語モジュールの更新を前記更新情報記憶手段に記憶するインストール手段と、
を更に有し、
前記対応関係作成手段は、前記更新情報記憶手段に記憶されている前記更新情報に基づき前記アプリケーション及び前記用語モジュールの少なくとも一方が更新されているか否かを判定すること
を特徴とする請求項１記載の情報処理装置。
【請求項４】
前記対応関係作成手段は、前記アプリケーションが更新されていると判定すると、更新されていると判定した前記アプリケーションの全ての前記用語モジュールに対して、前記対応関係を作成し、前記用語モジュールが更新されていると判定すると、更新されていると判定した前記用語モジュールに対して、前記対応関係を作成すること
を特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記アプリケーション、及び、前記用語モジュールには優先度が設定されており、前記用語の表示を要求された前記選択手段は、前記優先度に基づき、前記用語管理手段から前記アプリケーションの用語識別情報又は前記用語モジュールの用語識別情報を取得すること
を特徴とする請求項１乃至４何れか一項記載の情報処理装置。
【請求項６】
前記情報処理装置は、画像形成装置の操作部として機能すること
を特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
アプリケーションに組み込まれている文字列の用語と、前記アプリケーションの用語モジュールにより追加される文字列の用語と、を前記アプリケーションの画面に表示可能な情報処理装置を、
前記用語ごとに前記アプリケーションに組み込まれている文字列を識別する前記アプリケーションの用語識別情報と前記用語モジュールに組み込まれている文字列を識別する前記用語モジュールの用語識別情報との対応関係を記憶する用語管理手段、
前記用語管理手段から前記アプリケーションの用語識別情報又は前記用語モジュールの用語識別情報を取得し、取得した前記用語識別情報を利用して前記アプリケーションの画面に表示させる文字列を選択する選択手段、
前記情報処理装置の起動時、前記アプリケーション及び前記用語モジュールの少なくとも一方が更新されているか否かを判定し、更新されていると判定すると、前記用語管理手段が記憶する前記アプリケーションの用語識別情報と前記用語モジュールの用語識別情報との対応関係を作成する対応関係作成手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
オペレーティングシステム（ＯＳ）の一例であるＡｎｄｒｏｉｄ（登録商標）においてアプリケーション（アプリ）の画面に表示される文字列は、通常、アプリ内に組み込まれている。アプリの画面に表示する文字列を動的に変更する技術は既に知られており、アプリに組み込まれていない文字列を追加することが可能であることも知られている。
【０００３】
従来、情報処理装置にインストールされたアプリをプログラムロジックと言語リソースモジュールとに分ける構成にし、言語リソースモジュールを切り替えることで、ユーザが求める表示言語とする方法があった（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来のアプリは、表示する用語毎に、用語ＩＤと、実際に表示する用語の文字列との定義が必要である。用語モジュールにより、アプリの画面に表示する文字列を動的に変更する従来の技術では、用語モジュール内で定義された用語と、アプリ内で定義されている用語とを一つ一つ対応付けて管理する必要があった。
【０００５】
例えばＯＳの一例であるＡｎｄｒｏｉｄ（登録商標）では、上記した対応付けの処理を起動毎に行うため、アプリの数やアプリの画面に表示する用語の数が増えると、起動時間が長くなるという問題があった。
【０００６】
本発明の一実施形態は、画面に表示する用語の数の増加に伴い、起動時間が定常的に長くなることを防ぐことができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態は、アプリケーションに組み込まれている文字列の用語と、前記アプリケーションの用語モジュールにより追加される文字列の用語と、を前記アプリケーションの画面に表示可能な情報処理装置であって、前記用語ごとに前記アプリケーションに組み込まれている文字列を識別する前記アプリケーションの用語識別情報と前記用語モジュールに組み込まれている文字列を識別する前記用語モジュールの用語識別情報との対応関係を記憶する用語管理手段と、前記用語管理手段から前記アプリケーションの用語識別情報又は前記用語モジュールの用語識別情報を取得し、取得した前記用語識別情報を利用して前記アプリケーションの画面に表示させる文字列を選択する選択手段と、前記情報処理装置の起動時、前記アプリケーション及び前記用語モジュールの少なくとも一方が更新されているか否かを判定し、更新されていると判定すると、前記用語管理手段が記憶する前記アプリケーションの用語識別情報と前記用語モジュールの用語識別情報との対応関係を作成する対応関係作成手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明の一実施形態によれば、画面に表示する用語の数の増加に伴い、起動時間が定常的に長くなることを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図２】本実施形態に係る情報処理端末の一例のハードウェア構成図である。
【図３】操作部として機能する情報処理端末の一例のソフトウェア構成図である。
【図４】用語ファイルの記載例を示す図である。
【図５】「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」の追加タグについて説明する図である。
【図６】用語優先度テーブルの一例の構成図である。
【図７】用語ＩＤ管理テーブルの一例の構成図である。
【図８】アプリ更新情報テーブルの一例の構成図である。
【図９】情報処理端末の起動処理の一例のシーケンス図である。
【図１０】情報処理端末の用語表示処理の一例のシーケンス図である。
【図１１】言語管理モジュールが行う用語ＩＤ管理テーブルの作成判定処理の一例のフローチャートである。
【図１２】インストーラが行うインストール／アップデート処理の一例のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１１】
［第一の実施形態］
＜ハードウェア構成＞
本実施形態に係る画像形成装置１のハードウェア構成について図１を参照しながら説明する。図１は本実施形態に係る画像形成装置の一例のハードウェア構成図である。図１の画像形成装置１は一例として複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の例を示しているが、複合機に限定するものではない。複合機とは、例えばプリント機能、スキャナ機能、コピー機能などの複数の機能を有する装置である。
【００１２】
図１に示す画像形成装置１は、情報処理端末５００と、本体６００と、を備える構成である。情報処理端末５００はユーザの操作を受け付ける操作部として機能する。情報処理端末５００は例えばタブレット端末などの情報処理端末である。本体６００は、例えばプリント機能、スキャナ機能、コピー機能などの各種機能を実現する。
【００１３】
情報処理端末５００と本体６００とは通信路５５０を介して相互に通信可能に接続されている。通信路５５０は例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のものを用いることができる。情報処理端末５００と本体６００とは例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＢｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線通信を用いた通信路５５１を用いてもよい。なお、図１の画像形成装置１は情報処理端末５００と本体６００とを備えた画像形成システムと捉えることもできる。
【００１４】
本体６００は、コントローラ６０１、外部Ｉ／Ｆ６０２、通信Ｉ／Ｆ６０３、プリンタ６０４及びスキャナ６０５などを備える。コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００１５】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、本体６００全体の動作を制御し、各種機能を実現する。
【００１６】
外部Ｉ／Ｆ６０２は通信路５５０を介して情報処理端末５００と通信するためのインタフェースである。通信Ｉ／Ｆ６０３は本体６００を、通信路５５１を介して情報処理端末５００やネットワークに接続させる為のインタフェースである。
【００１７】
プリンタ６０４は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。スキャナ６０５は原稿から画像データ（電子データ）を読み取り、画像ファイル（電子ファイル）を生成するための読取装置である。
【００１８】
操作部として機能する情報処理端末５００は例えば図２に示すハードウェア構成のコンピュータにより実現される。図２は本実施形態に係る情報処理端末の一例のハードウェア構成図である。
【００１９】
図２の情報処理端末５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２０】
入力装置５０１はタッチパネル、ハードウェアキーなどを含み、ユーザが操作信号を入力するのに用いられる。表示装置５０２は液晶表示装置（ＬＣＤ）等で構成され、情報を表示する。通信Ｉ／Ｆ５０７は情報処理端末５００を本体６００や各種ネットワークに接続するインタフェースである。
【００２１】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、情報処理端末５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリなどがある。情報処理端末５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２２】
外部Ｉ／Ｆ５０３は、本体６００や記録媒体５０３ａとのインタフェースである。情報処理端末５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどである。
【００２３】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５には情報処理端末５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２４】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、情報処理端末５００全体の制御や機能を実現する演算装置である。情報処理端末５００は図２のようなハードウェア構成により、ユーザからの入力を受け付ける入力部と、表示を行う表示部として機能する。
【００２５】
なお、本実施形態に係る情報処理端末５００は、アプリケーションにより表示される用語を、１つ以上の用語モジュールにより追加可能な情報処理装置の一例である。画像形成装置１も、アプリケーションにより表示される用語を、１つ以上の用語モジュールにより追加可能な情報処理装置の一例である。図１の画像形成装置１は情報処理端末５００と本体６００とが別の構成となっているが、情報処理端末５００が操作部として本体６００に組み込まれた構成であってもよいし、情報処理端末５００の機能を本体６００が備えた構成であってもよい。
【００２６】
＜ソフトウェア構成＞
次に、本実施形態に係る画像形成装置１の情報処理端末５００の機能構成について説明する。図３は操作部として機能する情報処理端末の一例のソフトウェア構成図である。図３の情報処理端末５００は、アプリ１０と、アプリ１０に対応する用語モジュール２０及び２２と、ＯＳフレームワーク（ＯＳ  Ｆ／Ｗ）３０と、を有する構成である。
【００２７】
ＯＳ  Ｆ／Ｗ３０は情報処理端末５００のＯＳであり、例えばＡｎｄｒｏｉｄ（登録商標）などである。アプリ１０は情報処理端末５００のＯＳ  Ｆ／Ｗ３０で動作するプログラムである。アプリ１０は複数の用語ファイルを保持できる。用語ファイルは日本語、英語などの各言語で記載されたアプリ１０の画面に表示する用語を保持している。図３ではアプリ１０がＯＳ  Ｆ／Ｗ３０上に位置しているが、ＯＳ  Ｆ／Ｗ３０内に位置していてもよい。
【００２８】
また、用語モジュール２０及び２２は、アプリ１０に対応した追加／修正の用語を持つモジュールであって、複数の用語ファイルを保持できる。用語モジュール２０及び２２はアプリと同等の形式である。アプリ１０、用語モジュール２０及び２２が保持している用語ファイルは各言語（日本語、英語など）で記載されたアプリ内で表示する用語のファイルである。
【００２９】
さらに、アプリ１０、用語モジュール２０及び２２は、アプリ１０の静的情報（アプリ名、バージョン名など）を記載するファイルである「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」が含まれている。
【００３０】
図３のＯＳ  Ｆ／Ｗ３０は、インストーラ３２、アプリ更新情報テーブル３４、言語管理モジュール３６、用語ＩＤ管理テーブル３８、用語ＩＤ管理テーブル４０及び用語優先度テーブル４２を有する構成である。
【００３１】
インストーラ３２はアプリ１０、用語モジュール２０及び２２を情報処理端末５００にインストールする。アプリ更新情報テーブル３４はアプリ１０の更新情報を記憶する。言語管理モジュール３６は用語ＩＤ管理テーブル３８及び４０と、用語優先度テーブル４２とを管理する。
【００３２】
用語ＩＤ管理テーブル３８は用語モジュール２０用であり、アプリ１０の用語と用語モジュール２０の用語とを対応付ける。用語ＩＤ管理テーブル４０は用語モジュール２２用であり、アプリ１０の用語と用語モジュール２２の用語とを対応付ける。また、用語優先度テーブル４２はアプリ１０用であり、アプリ１０、用語モジュール２０及び２２の用語のうち、どの用語を優先的に表示するかを示す。
【００３３】
なお、図３では１つのアプリ１０がインストールされている例を示したが、複数のアプリと、複数のアプリのそれぞれに対応した用語モジュールとがインストールされていてもよい。
【００３４】
図４は用語ファイルの記載例を示す図である。図４の用語ファイルはｘｍｌ形式で記載された例である。図４の用語ファイルは言語ごとに分かれている。それぞれの用語ファイルは同一の用語ＩＤ（ａｐｐ＿ｎａｍｅ）を持つ用語を定義する。これにより、情報処理端末５００はアプリ画面の文字列を表示したい位置に用語ＩＤを指定することで、操作部の言語が切り替わったとしても、切替後の言語の文字列を表示することができる。例えば図４の例では操作部の言語に日本語が設定されると文字列「アプリ」が表示され、英語が設定されると文字列「ａｐｐ」が表示される。
【００３５】
また、用語モジュール２０及び２２によりアプリ１０の言語を追加する場合は、用語モジュール２０及び２２内において、言語を追加するアプリ１０の用語の用語ＩＤと同じ用語ＩＤで用語を定義する。例えば図４の「用語モジュールＡＸの用語ファイル」の例では操作部の言語にドイツ語が設定されると文字列「ａｎｗｅｎｄｕｎｇ」が表示される。
【００３６】
さらに、用語モジュール２０及び２２によりアプリ１０の用語を修正する場合は、用語モジュール２０及び２２内において、修正するアプリ１０の用語の用語ＩＤと同じ用語ＩＤで用語を定義する。例えば図４の「用語モジュールＡＹの用語ファイル」の例では操作部の言語に日本語が設定されると文字列「アプリケーション」が表示される。
【００３７】
ＯＳ  Ｆ／Ｗ３０では用語を管理しやすくするために「ａｐｐ＿ｎａｍｅ」などの用語ＩＤでなく、その用語ＩＤにアプリ１０内で一意の数値「０ｘ０００」などを割り当てて管理している。これはアプリ１０だけでなく、用語モジュール２０及び２２に定義される用語についても同様である。以下、この用語ＩＤに割り当てられた数値を用語識別番号と呼ぶ。
【００３８】
用語識別番号はアプリ１０ごとに割り当てられ、アプリ１０、用語モジュール２０及び２２の「ａｐｐ＿ｎａｍｅ」について、それぞれ異なる番号が振られる。また、用語識別番号はアプリ１０を更新する度に変化する可能性がある。用語ＩＤ、アプリ１０の用語識別番号、用語モジュール２０及び２２の用語識別番号の対応関係を保持するため、用語ＩＤ管理テーブル３８は必要となる。
【００３９】
図５は「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」の追加タグについて説明する図である。図５に示した「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」はアプリ１０、用語モジュール２０及び２２に含まれるアプリ１０の情報を記載するファイルである。例えば用語モジュール２０及び２２の「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」には図５の項目が記載される。
【００４０】
タグ「ｏｖｅｒｌａｙ」は用語モジュール２０及び２２が、どのアプリ１０の用語を追加／修正するのかを記載するものである。また「ｔａｒｇｅｔＰａｃｋａｇｅ」には対象アプリ１０のパッケージ名が記載される。この「ｔａｒｇｅｔＰａｃｋａｇｅ」により用語を追加／修正するアプリ１０が指定される。
【００４１】
また「ｐｒｉｏｒｉｔｙ」には優先度を記載する。この「ｐｒｉｏｒｉｔｙ」の優先度により「ｔａｒｇｅｔＰａｃｋａｇｅ」が同一の用語モジュール２０及び２２があっても用語モジュール２０及び２２を確認する順番を決めることができる。なお、優先度は例えば「ｐｒｉｏｒｉｔｙ」の数値が大きいほど高いものとする。
【００４２】
図６は用語優先度テーブルの一例の構成図である。用語優先度テーブル４２はアプリ１０に対応する用語モジュール２０及び２２のうち、どちらの用語を優先的に表示するかを示している。例えば図６において、優先度の高い用語モジュール２０に存在しない用語については、次に優先度の高い用語モジュール２２の用語が使用される。次に優先度の高い用語モジュール２２にも存在しない用語については、次に優先度の高いアプリ１０の用語が使用される。このように、図６の用語優先度テーブル４２では用語モジュール２０、用語モジュール２２、アプリ１０の順で用語が優先的に適用される。用語優先度テーブル４２は情報処理端末５００の起動時に、ＯＳ  Ｆ／Ｗ３０が、全ての用語モジュール２０及び２２に含まれる「ｏｓＭａｎｉｆｅｓｔ．ｘｍｌ」から「ｐｒｉｏｒｉｔｙ」の数値を取得及び比較し、作成する。
【００４３】
図７は用語ＩＤ管理テーブルの一例の構成図である。用語ＩＤ管理テーブルは各アプリに対応する用語モジュールの数だけ存在する。例えばアプリ１０に対して用語モジュール２０及び２２が存在する場合は、アプリ１０と用語モジュール２０との対応関係を保存する用語ＩＤ管理テーブル３８と、アプリ１０と用語モジュール２２との対応関係を保存する用語ＩＤ管理テーブル４０とが存在する。
【００４４】
用語ＩＤ管理テーブル３８は、用語ＩＤ、アプリ１０の用語識別番号、用語モジュール２０の用語識別番号を対応付ける。また、用語ＩＤ管理テーブル４０は、用語ＩＤ、アプリ１０の用語識別番号、用語モジュール２２の用語識別番号を対応付ける。用語ＩＤ管理テーブル３８及び４０には、アプリ１０、用語モジュール２０及び２２で定義される全ての用語ＩＤに対してＯＳ  Ｆ／Ｗ３０が割り当てた用語識別番号が保存される。これによりアプリ１０、用語モジュール２０及び２２で定義された用語は対応付けられている。
【００４５】
図８はアプリ更新情報テーブルの一例の構成図である。アプリ更新情報テーブル３４は各アプリが更新されたか否かを示す更新情報を保持している。例えば図３の例では、インストーラ３２がアプリ１０を更新（あるいは新規インストール）した際に、アプリ更新情報テーブル３４の「更新情報」が「Ｔｒｕｅ」となる。そして、情報処理端末５００の起動時に用語ＩＤ管理テーブル３８及び４０が作成された後、アプリ更新情報テーブル３４の「更新情報」が「Ｆａｌｓｅ」となる。
【００４６】
＜処理の詳細＞
本実施形態に係る情報処理端末５００は、起動の度に用語ＩＤ管理テーブル３８及び４０を作成するのでなく、用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある下記の条件を満たす場合に、用語ＩＤ管理テーブル３８及び４０を作成する。なお、用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件として、本実施形態ではアプリ１０の更新と、用語モジュール２０及び２２の更新とを採用している。
【００４７】
アプリ１０が更新された場合は、アプリ１０の用語識別番号が変わる可能性、新たな用語が追加されている可能性もある。その場合、用語ＩＤ管理テーブル３８及び４０のアプリ１０の用語識別番号が対応しなくなるため、用語ＩＤ管理テーブル３８及び４０の再作成が必要となる。
【００４８】
したがって、本実施形態に係る情報処理端末５００はアプリ１０の更新（あるいは新規インストール）の際、アプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報を保持しておく。情報処理端末５００は起動時にアプリ更新情報テーブル３４を参照することで、アプリ１０が更新されたことを示す更新情報に基づいて、用語ＩＤ管理テーブル３８及び４０を再作成できる。
【００４９】
また、用語モジュール２０及び２２が更新された場合も、アプリ１０が更新された場合と同様な理由で、用語ＩＤ管理テーブル３８及び４０の再作成が必要となる。本実施形態に係る情報処理端末５００は、用語モジュール２０及び２２の更新（あるいは新規インストール）の際、更新した用語モジュール２０及び２２の用語ＩＤ管理テーブル３８及び４０を削除しておく。情報処理端末５００は起動時に、存在する用語ＩＤ管理テーブルを確認することで、存在しない用語ＩＤ管理テーブル３８及び４０を再作成できる。
【００５０】
本実施形態に係る情報処理端末５００は、用語モジュール２０及び２２の更新（あるいは新規インストール）の際、アプリ更新情報テーブル３４のように、用語モジュール２０及び２２が更新されたことを示す更新情報を保持しておいてもよい。この場合、情報処理端末５００は起動時、用語モジュール２０及び２２が更新されたことを示す更新情報を保持しているテーブルを参照することで、用語モジュール２０及び２２が更新されたことを示す更新情報に基づいて、用語ＩＤ管理テーブル３８及び４０の再作成できる。
【００５１】
アプリ１０の更新、用語モジュール２０及び２２の更新は頻繁に発生しない。本実施形態に係る情報処理端末５００では、用語ＩＤ管理テーブル３８及び４０を作成する頻度が減るため、アプリ１０の数や用語の数の増加に伴って起動時間が定常的に長くなることを防いでいる。
【００５２】
なお、情報処理端末５００の起動時に全ての用語ＩＤ管理テーブルを再作成する仕様の従来のＯＳ  Ｆ／Ｗ３０に本実施形態を適用する場合は、内容が変わる可能性のない用語モジュールの用語ＩＤ管理テーブルが再作成されないように制御してもよい。
【００５３】
《起動処理》
図９は情報処理端末の起動処理の一例のシーケンス図である。図９のシーケンス図はアプリ１０がインストールされている場合の処理を示したが、他のアプリがインストールされている場合、アプリごとに同様な処理が必要となる。
【００５４】
ステップＳ１１においてＯＳ  Ｆ／Ｗ３０は起動される。ＯＳ  Ｆ／Ｗ３０はステップＳ１２において通常の起動処理を行う。通常の起動処理後、ＯＳ  Ｆ／Ｗ３０はステップＳ１３において言語管理モジュール３６に対して起動要求を行う。
【００５５】
ＯＳ  Ｆ／Ｗ３０からの起動要求を受けて、言語管理モジュール３６はステップＳ１４及びステップＳ１５において用語モジュール２０及び２２から「ｐｒｉｏｒｉｔｙ」の数値を取得及び比較し、図６に示すアプリ１０の用語優先度テーブル４２を作成する。
【００５６】
そして、言語管理モジュール３６は用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件を満たす場合に、ステップＳ１７に進み、用語ＩＤ管理テーブル３８及び４０の作成を行う。図９では用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件として、用語ＩＤ管理テーブル３８及び４０が存在しない、又は、アプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報が保持されている、ことにより表している。ステップＳ１７の処理の詳細は後述する。
【００５７】
《用語表示処理》
図１０は情報処理端末の用語表示処理の一例のシーケンス図である。用語ＩＤに対応する用語（文字列）を表示する場合、アプリ１０はステップＳ２１において、用語ＩＤを指定してＯＳ  Ｆ／Ｗ３０に表示を要求する。ステップＳ２２に進み、ＯＳ  Ｆ／Ｗ３０は用語ＩＤを指定して言語管理モジュール３６に文字列を要求する。
【００５８】
ステップＳ２３に進み、言語管理モジュール３６は図６のような用語優先度テーブル４２を参照し、最優先の用語モジュール２０の名「用語モジュールＡＸ」を取得する。言語管理モジュール３６はステップＳ２４に進み、最優先の用語モジュール２０の用語ＩＤ管理テーブル３８を参照し、ＯＳ  Ｆ／Ｗ３０からの用語ＩＤに対応する用語モジュール２０の用語識別番号「０ｘ１００２」を取得する。
【００５９】
ステップＳ２５に進み、言語管理モジュール３６は取得した用語モジュール２０の用語識別番号「０ｘ１００２」を用語モジュール２０に渡して、その用語識別番号「０ｘ１００２」に対応する文字列「ａｎｗｅｎｄｕｎｇ」を取得する。ステップＳ２６において言語管理モジュール３６は、取得した文字列「ａｎｗｅｎｄｕｎｇ」をＯＳ  Ｆ／Ｗ３０に渡す。ステップＳ２７において、ＯＳ  Ｆ／Ｗ３０は言語管理モジュール３６から取得した文字列「ａｎｗｅｎｄｕｎｇ」を表示できる。
【００６０】
《用語ＩＤ管理テーブルの作成判定処理》
図１１は、言語管理モジュールが行う用語ＩＤ管理テーブルの作成判定処理の一例のフローチャートである。なお、用語ＩＤ管理テーブルの作成判定処理は図９のステップＳ１７の処理の詳細である。
【００６１】
ステップＳ３１において、言語管理モジュール３６は、図８のアプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報「Ｔｒｕｅ」が保持されているか判定する。
【００６２】
アプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報が保持されていれば、言語管理モジュール３６はステップＳ３２に進み、アプリ１０に対応する全ての用語モジュール２０及び２２の用語ＩＤ管理テーブル３８及び４０を作成する。用語ＩＤ管理テーブル３８及び４０を作成した後、言語管理モジュール３６はステップＳ３３に進み、図８のアプリ更新情報テーブル３４に保持されていた更新情報「Ｔｒｕｅ」を「Ｆａｌｓｅ」に更新する。更新情報「Ｆａｌｓｅ」はアプリ１０が更新されていないことを示すものである。
【００６３】
また、アプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報が保持されていなければ、言語管理モジュール３６は用語モジュール２０及び２２に対してステップＳ３４〜Ｓ３５の処理を行う。ステップＳ３４において、言語管理モジュール３６は用語モジュール２０及び２２に対して、用語ＩＤ管理テーブル３８及び４０が存在するか否かを判定する。
【００６４】
用語ＩＤ管理テーブル３８が存在しなければ、言語管理モジュール３６はステップＳ３５に進み、用語モジュール２０の用語ＩＤ管理テーブル３８を作成する。用語ＩＤ管理テーブル４０が存在しなければ、言語管理モジュール３６はステップＳ３５に進み、用語モジュール２２の用語ＩＤ管理テーブル４０を作成する。
【００６５】
なお、図１１では、用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件として「アプリ１０が更新されたことを示す更新情報の有無」と「用語ＩＤ管理テーブルの有無」とを採用しているが、どちらか一方でもよい。両方の条件を採用することにより本実施形態に係る情報処理端末５００は起動時間を短縮できる頻度が向上する。
【００６６】
《インストーラのインストール／アップデート処理》
図１２はインストーラが行うインストール／アップデート処理の一例のフローチャートである。ステップＳ４１においてインストーラ３２はインストール／アップデート処理を行う。ステップＳ４１のインストール／アップデート処理が成功しなければ、図１２の処理を終了する。
【００６７】
ステップＳ４１のインストール／アップデート処理が成功すれば、インストーラ３２はインストール／アップデート処理されたのがアプリ１０であるか否か判定する。アプリ１０の場合、インストーラ３２はステップＳ４４に進み、図８のアプリ更新情報テーブル３４にアプリ１０が更新されたことを示す更新情報「Ｔｒｕｅ」を保持させる。アプリ１０でない場合、インストーラ３２はステップＳ４５に進み、インストール／アップデート処理された例えば用語モジュール２０及び２２の用語ＩＤ管理テーブル３８及び４０を削除する。
【００６８】
なお、本実施形態では「用語ＩＤ管理テーブル３８及び４０の有無」により情報処理端末５００の起動時における用語ＩＤ管理テーブル３８及び４０の作成有無を判定する例を説明した。情報処理端末５００の起動時における用語ＩＤ管理テーブル３８及び４０の作成有無の判定は、不揮発性メモリに記憶しておいたインストール／アップデートした用語モジュール２０及び２２の情報により行ってもよい。
【００６９】
また、本実施形態では情報処理端末５００の起動時に用語ＩＤ管理テーブル３８及び４０を作成する例について説明したが、アプリ１０の起動時であってもよいし、情報処理端末５００が起動したあと、アイドル状態となったときであってもよい。
【００７０】
＜まとめ＞
本実施形態によれば、用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件を満たしている場合に、情報処理端末５００の起動時、用語ＩＤ管理テーブル３８及び４０を作成している。用語ＩＤ管理テーブル３８及び４０の内容が変わる可能性のある条件を満たしていなければ、本実施形態に係る情報処理端末５００は起動時に、用語ＩＤ管理テーブル３８及び４０を作成しないため、起動時間が遅くなる頻度を減らすことができる。
【００７１】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。用語ＩＤ管理テーブル３８及び４０は、特許請求の範囲に記載した用語管理手段の一例である。言語管理モジュール３６は選択手段及び対応関係作成手段の一例である。アプリ更新情報テーブル３４は更新情報記憶手段の一例である。インストーラ３２はインストール手段の一例である。
【符号の説明】
【００７２】
１    画像形成装置
１０    アプリ
２０、２２    用語モジュール
３０    ＯＳフレームワーク（ＯＳ  Ｆ／Ｗ）
３２    インストーラ
３４    アプリ更新情報テーブル
３６    言語管理モジュール
３８、４０    用語ＩＤ管理テーブル
４２    用語優先度テーブル
５００    情報処理端末
５０１    入力装置
５０２    表示装置
５０３、６０２    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４、６１２    ＲＡＭ
５０５、６１３    ＲＯＭ
５０６、６１１    ＣＰＵ
５０７、６０３    通信Ｉ／Ｆ
５０８、６１５    ＨＤＤ
６００    本体
６０１    コントローラ
６０４    プリンタ
６０５    スキャナ
６１４    ＮＶＲＡＭ
Ｂ    バス
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２０１４−６３４７２号公報
【図１】
2019016169.tif 000003
【図２】
2019016169.tif 000004
【図３】
2019016169.tif 000005
【図４】
2019016169.tif 000006
【図５】
2019016169.tif 000007
【図６】
2019016169.tif 000008
【図７】
2019016169.tif 000009
【図８】
2019016169.tif 000010
【図９】
2019016169.tif 000011
【図１０】
2019016169.tif 000012
【図１１】
2019016169.tif 000013
【図１２】
2019016169.tif 000014