本発明の実施形態を、以下に図面に従って説明する。以下の図を通して、特に断らない限り、同一の符号は同一の対象を指す。本発明の実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。
本発明の実施態様に従う上記コンピュータは、1又は複数のコンピュータから構成されうる。
本発明の実施態様に従う上記コンピュータは、プログラム製品とマニュアル作成のためのアプリケーション(以下、「エディタ」ともいう)とを同時に実行しうる。
本発明の実施態様に従う上記コンピュータは、実行中のプログラム製品の実行ウィンドウ画面を第1の表示装置上に表示し、実行中のエディタの実行ウィンドウ画面を第2の表示装置上に表示しうる。
代替的には、本発明の実施態様に従う上記コンピュータは、一つの表示装置上で、実行中のプログラム製品の実行ウィンドウ画面と、実行中のエディタの実行ウィンドウ画面とを並列して表示しうる。
代替的には、本発明の実施態様に従う上記コンピュータは、一つの表示装置上で、実行中のプログラム製品の実行ウィンドウ画面と、実行中のエディタの実行ウィンドウ画面とをユーザの指示によって切り替えて表示しうる。
本発明の実施態様において、「プログラム製品」とは、任意の各種アプリケーションであって、オペレーティング・システム上にインストールして利用するソフトウェアの全て、及び、オペレーティング・システムを包含する。
本発明の実施態様において、「プログラム製品が表示装置上に表示する画面文字列」とは、当該プログラム製品を稼働しているコンピュータが表示装置上に表示するプログラム製品についての画面文字列である。当該画面文字列は、例えばUI(ユーザ・インタフェース)文字列であり、例えば具体的には、メニュー・バー、アクセス・ツール・バー、ボタン・ラベル等の各種UI部品、又はウィンドウのタイトル上に表示される用語でありうる。
本発明の実施態様において、「マニュアル」とは、上記プログラム製品に関連付けられた説明書、マニュアル、ユーザ(ズ)・ガイド、仕様書、又はヘルプ・ガイドであって、印刷物であるか又は電子的なデータであるかは問わない。
本発明の実施態様において、「マニュアル作成のためのアプリケーション」とは、上記マニュアルを電子的に入力又は編集する為の編集手段を備えているアプリケーションであれば特に制限されず、例えばエディタ又はワードプロセッサである。
本発明の実施態様において、「マニュアル作成のためのアプリケーションが表示装置上に表示する文字列」とは、編集中又は編集後のマニュアル中の文字列である。
本発明の実施態様において、プログラム製品が画面文字列を表示する表示装置とマニュアル作成のためのアプリケーションが文字列を表示する表示装置とは同じ表示装置であっても、又は別々の表示装置であってもよい。
図1は、本発明の実施態様において使用されうるコンピュータを実現するためのハードウェア構成の一例を示した図である。
コンピュータ(101)は、CPU(102)とメイン・メモリ(103)とを備えており、これらはバス(104)に接続されている。CPU(102)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものである。当該CPU(102)は例えば、インテル社のCore(商標)iシリーズ、Core(商標) 2シリーズ、Atom(商標)シリーズ、Xeon(登録商標)シリーズ、Pentium(登録商標)シリーズ若しくはCeleron(登録商標)シリーズ、AMD(Advanced Micro Devices)社のAシリーズ、Phenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ若しくはSempron(商標)、又は、インターナショナル・ビジネス・マシーンズ・コーポレーションのPower(商標)シリーズでありうる。
バス(104)には、ディスプレイ・コントローラ(105)を介して、ディスプレイ(106)、例えば液晶ディスプレイ(LCD)が接続されうる。また、液晶ディスプレイ(LCD)は例えば、タッチパネル・ディスプレイ又はフローティング・タッチ・ディスプレイであてもよい。ディスプレイ(106)は、コンピュータ(101)上で動作中のソフトウェア、例えば本発明の実施態様に従うコンピュータ・プログラムが稼働することによって表示される情報、例えば、プログラム製品が表示装置上に表示する画面(画面文字列を含む)又はマニュアル作成のためのアプリケーションが表示装置上に表示する画面(編集中のマニュアルの文字列を含む)を、適当なグラフィック・インタフェースで表示するために使用されうる。
バス(104)には任意的に、例えばSATA又はIDEコントローラ(107)を介して、記憶装置(108)、例えばハードディスク又はソリッド・ステート・ドライブに接続されうる。
バス(104)には任意的に、例えばSATA又はIDEコントローラ(107)を介して、記憶装置(108)、ドライブ(109)、例えばCD、DVD又はBDドライブが接続されうる。
バス(104)には、周辺装置コントローラ(110)を介して、例えばキーボード・マウス・コントローラ又はUSBバスを介して、任意的に、キーボード(111)及びマウス(112)が接続されうる。
記憶装置(108)には、オペレーティング・システム、Windows(登録商標)OS、UNIX(登録商標)、MacOS(登録商標)、及びJ2EEなどのJava(登録商標)処理環境、Java(登録商標)アプリケーション、Java(登録商標)仮想マシン(VM)、Java(登録商標)実行時(JIT)コンパイラを提供するプログラム、本発明の実施態様に従うコンピュータ・プログラム、及びその他のプログラム、並びにデータが、メイン・メモリ(103)にロード可能なように記憶されうる。
記憶装置(108)は、コンピュータ(101)内に内蔵されていてもよく、当該コンピュータ(101)がアクセス可能なようにケーブルを介して接続されていてもよく、又は、当該コンピュータ(101)がアクセス可能なように有線又は無線ネットワークを介して接続されていてもよい。
ドライブ(109)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラム、例えばオペレーティング・システム又はアプリケーションを記憶装置(108)にインストールするために使用されうる。
通信インタフェース(114)は、例えばイーサネット(登録商標)・プロトコルに従う。通信インタフェース(114)は、通信コントローラ(113)を介してバス(104)に接続され、コンピュータ(101)を通信回線(115)に有線又は無線接続する役割を担い、コンピュータ(101)のオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インタフェース層を提供する。通信回線は例えば、有線LAN接続規格に基づく有線LAN環境、又は無線LAN接続規格に基づく無線LAN環境、例えばIEEE802.11a/b/g/nなどのWi−Fi無線LAN環境、若しくは携帯電話網環境(例えば、3G、又は4G(LTEを含む)環境)でありうる。
コンピュータ(101)は、通信回線(115)を介して他のコンピュータからのデータを受信し、記憶装置(108)上に格納しうる。
図2及び図3、図4A〜図4C及び図5,並びに図6それぞれは、プログラム製品が表示装置上に表示する画面文字列と、マニュアル作成のためのアプリケーションが表示装置上に表示する文字列との間で整合性を保つことができないという従来技術の例を示す。
図2は、プログラム製品の製品開発途中の段階でメニュー・バーの用語が変更された場合に、当該プログラム製品のマニュアル上に上記用語の変更が反映されないまま当該マニュアルが出荷されてしまうという従来技術の例を示す。また、図3は、図2に示す従来技術の例を時系列的に説明する為の図である。
画面(221)は、上記プログラム製品(英語版)が出荷されたとき(すなわち、製品版が出荷されたとき)(324)のものを示す。マニュアル(211)は、上記プログラム製品(英語版)が出荷されたときのものである。本例における問題は、上記プログラム製品(英語版)の画面(221)中のUI文字列「Business Needs」(222)と、当該UI文字列「Business Needs」(222)に対応するマニュアル(英語版)中の文字列「Plan Item」(212)とが対応しないことである。
画面(201)は、上記プログラム製品(英語版)が出荷される前の製品開発の途中段階(マイルストーン−1)(311)での表示画面を示す。上記途中段階(311)での上記画面(201)において、上記プログラム製品(英語版)の上記製品版の上記画面(221)中のUI文字列「Business Needs」(222)は、「Plan Item」(202)であった(321)。
英語版のマニュアル作成者は、上記プログラム製品(英語版)の上記途中段階での上記画面(201)に基づいて、エディタ上でマニュアルの作成を開始する。
マニュアル(英語版)(211)は、上記途中段階(311)での上記画面(201)に基づいて(341)作成されたものであり(331)、エディタの表示画面上の表示に対応するものとする。当該マニュアル(英語版)(211)は、上記途中段階(311)での上記画面(201)中のUI文字列「Plan Item」(202)と同じ文字列「Plan Item」(212)を記載している。
上記プログラム製品(英語版)の開発者は、上記プログラム製品(英語版)の出荷直前に(マイルストーン−2)(312)、上記途中段階(311)での上記画面(201)のUI文字列「Plan Item」(202,321)を、UI文字列「Business Needs」(222,323)に変更したとする(322)。
画面(221)は、上記途中段階(311)での上記画面(201)のUI文字列「Plan Item」(202)が、上記変更(322)に応じて、UI文字列「Plan Item」(202,321)からUI文字列「Business Needs」(222,323)に変更された(322)ものを示す。
そして、UI文字列「Business Needs」(222)に変更されたプログラム製品(英語版)が出荷された(324)。
英語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記UI文字列の変更を何らかの理由により行えなかったとする。当該理由は例えば、上記英語版のマニュアルの作成者が上記UI文字列の変更を知らなかったこと;又は、上記英語版のマニュアルの作成者は上記UI文字列の変更を知らされたが、当該変更の修正箇所を間違えたことでありうる。
従って、英語版のマニュアルは、上記途中段階(311)での上記画面(201)に基づいて作成された上記マニュアル(211)のままである。すなわち、製品版のマニュアル(英語版)は、上記プログラム製品(英語版)の上記製品版の上記画面(221)中の変更されたUI文字列「Business Needs」(222)が反映されていないもの(211)である。
そして、上記英語版のマニュアル(211)が出荷された(332)。
以上に示した通り、上記プログラム製品(英語版)の上記製品版の上記画面(221)中のUI文字列「Business Needs」(222)と、製品版のマニュアル(211)中の文字列「Plan Item」(212)との間で、文字列の整合性が図られていない。
本来であれば、製品版のマニュアル(英語)は、上記プログラム製品(英語版)の上記製品版の上記画面(221)中のUI文字列「Business Needs」(222)と同じ文字列「Business Needs」(232を参照)を有するものでなければならない(マニュアル(英語版)(231)を参照)。
そこで、英語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記製品版のリリース(324)後に、上記プログラム製品(英語版)の上記製品版(221)中のUI文字列「Business Needs」(222)に基づいて(342)、マニュアル(英語版)中の文字列「Plan Item」(212)を文字列「Business Needs」(232)に変更し(333)、マニュアル(英語版)の修正版(231,334)を発行する(334)。
図4A〜図4Bは、英語版のプログラム製品の製品開発途中の段階でメニュー・バーの用語が変更された場合に、当該英語版のプログラム製品に対応する日本語版のプログラム製品の日本語のマニュアル上に上記用語の変更が反映されないまま、当該日本語のマニュアルが出荷されてしまうという従来技術の例を示す。また、図5は、図4A〜図4Cに示す従来技術の例を時系列的に説明する為の図である。
画面(461,図4C)は、プログラム製品(日本語版)が出荷されたとき(すなわち、日本語版の製品版が出荷されたとき)(552)のものを示す。マニュアル(451,図4C)は、上記プログラム製品(日本語版)に関連付けられたマニュアル(日本語版)が出荷されたときのものである。本例における問題は、上記プログラム製品(日本語版)の画面(461)中のUI文字列「ビジネス・ニーズ」(日本語)(462)と、当該UI文字列「ビジネス・ニーズ」(日本語)(462)に対応するマニュアル(日本語版)中の用語「計画項目」(452)とが対応しないことである。
画面(401,図4A)は、上記プログラム製品(英語版)が出荷される前の製品開発の途中段階(マイルストーン−1)(511)での表示画面を示す。上記途中段階(511)での上記画面(401)において、上記プログラム製品(英語版)の上記製品版の上記画面(421)中のUI文字列「Business Needs」(英語)(422)は、「Plan Item」(英語)(402)であった(521)。
英語版のマニュアル作成者は、上記途中段階(511)での上記画面(401)に基づいて、エディタ上でマニュアル(英語版)の作成を開始する(531)。
マニュアル(英語版)(411)は、上記途中段階(511)での上記画面(401)に基づいて(561)作成されたものであり(531)、エディタの表示画面上の表示にも対応するものとする。当該マニュアル(英語版)(411)は、上記プログラム製品(英語版)の上記途中段階での上記画面(401)中のUI文字列「Plan Item」(英語)(402)と同じ文字列「Plan Item」(英語)(412)を記載している。
上記プログラム製品(英語版)の開発者は、上記プログラム製品(英語版)の出荷直前(マイルストーン−2)(512)に、上記途中段階(511)での上記画面(401)のUI文字列「Plan Item」(英語)(402,521)を、UI文字列「Business Needs」(英語)(422,523)に変更したとする(522)。
画面(421)は、上記変更(522)に応じて、上記途中段階(511)での上記画面(401)のUI文字列「Plan Item」(英語)(402,521)がUI文字列「Business Needs」(英語)(422,523)に変更されている(522)ことを示す。
そして、UI文字列「Business Needs」(英語)(422)に変更されたプログラム製品(英語版)が出荷された(524)。
英語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記変更(522)後であって、上記プログラム製品(英語版)の製品版が出荷される(524)前に、上記用語の変更があったことを知ったとする。そこで、英語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記製品版(421,523)を参照して、上記マニュアル(英語版)(411)中の文字列「Plan Item」(英語)(412,531)を文字列「Business Needs」(英語)(432,533)に変更できたとする(532)。
マニュアル(英語版)(431)は、上記変更(522)に応じて、上記マニュアル(411)中の文字列「Plan Item」(英語)(402,531)が文字列「Business Needs」(英語)(422,533)に変更されている(532)ことを示す。
従って、製品版のマニュアル(英語)として、文字列「Plan Item」(英語)(412)から文字列「Business Needs」(英語)(432)に変更されたマニュアル(英語版)(431)が出荷された(534)。
日本語版のプログラム製品の開発者は、上記プログラム製品(英語版)が出荷される前の製品開発の途中段階(マイルストーン−1)(511)での表示画面(401)に基づいて、日本語版への移植作業をしているとする。日本語版のプログラムの開発者は、上記画面(401)中のUI文字列「Plan Item」(英語)(402)をUI文字列「計画項目」(日本語)と訳したとする(571)。
画面(441,図4B)は、上記プログラム製品(日本語版)の途中段階での画面であり、上記UI文字列「計画項目」(日本語)(442)を含む。
日本語版のマニュアル作成者は、上記プログラム製品(日本語)がまだ開発途中である為に、上記プログラム製品(英語版)の上記途中段階(511)での画面(401)に基づいて、エディタ上で、日本語版のマニュアルの作成を開始する(551)。
日本語版のプログラム製品の開発者は、上記プログラム製品(英語版)の出荷直前(マイルストーン−2)(512)において、上記画面(401)に示すUI文字列「Plan Item」(英語)(402)から上記画面に示すUI文字列「Business Needs」(英語)(422)に変更されたことを知ったとする。
そこで、日本語版のプログラム製品の開発者は、上記プログラム製品(英語版)の出荷直前(マイルストーン−2)(512)の画面(421,523)を参照して、上記プログラム製品(日本語版)の上記画面(441)中のUI文字列「計画項目」(日本語)(442,541)を、上記「Business Needs」(英語)(422,523)の訳語であるUI文字列「ビジネス・ニーズ」(日本語)(462,543)に変更したとする(542)。
画面(461)は、上記変更(542)に応じて、上記プログラム製品(日本語版)の上記画面(441)のUI文字列「計画項目」(日本語)(442,541)がUI文字列「計画項目」(日本語)(442,541)からUI文字列「ビジネス・ニーズ」(日本語)(462,543)に変更されている(542)ことを示す。
そして、UI文字列「ビジネス・ニーズ」(日本語)(462)に変更されたプログラム製品(日本語版)が出荷された(544)。
日本語版のマニュアル作成者は、上記プログラム製品(英語)の上記UI文字列の変更を知らなかったとする。
従って、日本語版のマニュアルは、上記プログラム製品(英語版)の上記途中段階(511)での上記画面(201)に基づいて作成された上記マニュアル(451)のままである。従って、製品版のマニュアル(日本語版)において、上記プログラム製品(英語版)の上記製品版の上記画面(401)中の上記変更(522)が反映されていないままである(451)。すなわち、マニュアル(451)中の文字列「計画項目」が「ビジネス・ニーズ」に変更されていない。
そして、上記日本語版のマニュアル(451)が出荷された(552)。
以上に示した通り、上記プログラム製品(英語版)の上記製品版の上記画面(421)中のUI文字列「Business Needs」(422)と、対応するプログラム製品(日本語版)の上記製品版のマニュアル(日本語版)(451)との間で、UI文字列(英語)と対応する日本語訳との整合性が図られていない。
本来であれば、対応するプログラム製品(日本語版)の上記製品版のマニュアル(日本語版)(451)は、上記プログラム製品(英語版)の上記製品版の上記画面(421)中のUI文字列「Business Needs」(422)に対応する訳語「ビジネス・ニーズ」(472を参照)を有するものでなければならない(マニュアル(日本語版)(471)を参照)。
そこで、日本語のマニュアルの作成者は、上記プログラム製品(英語版)の上記製品版のリリース(524)後に、上記プログラム製品(英語版)の上記製品版(421)中のUI文字列「Business Needs」(422)に基づいて、マニュアル(日本語版)(451)中の文字列「計画項目」(452)を文字列「ビジネス・ニーズ」(472)に変更し(553)、マニュアル(日本語版)の修正版(471,554)を発行する(554)。代替的には、日本語のマニュアルの作成者は、上記プログラム製品(日本語版)の上記製品版のリリース(544)後に、上記プログラム製品(日本語版)の上記製品版(461)中のUI文字列「ビジネス・ニーズ」(462)に基づいて、マニュアル(日本語版)(451)中の文字列「計画項目」(452)を文字列「ビジネス・ニーズ」(472)に変更し(553)、マニュアル(日本語版)の修正版(471,554)を発行する(554)。
図6は、英語版のプログラム製品のメニュー・バーの用語について、当該英語版のプログラム製品に対応する日本語版のプログラム製品上のメニュー・バーの訳語と、当該日本語版のプログラム製品のマニュアル上の上記メニュー・バーに対応する訳語との間で異なる訳語に翻訳されたまま出荷されてしまうという従来技術の例を示す。
画面(621)は、プログラム製品(日本語版)が出荷されたとき(すなわち、日本語版の製品版が出荷されたとき)のものを示す。マニュアル(631)は、上記プログラム製品(日本語版)が出荷されたときのものである。本例における問題は、上記プログラム製品(日本語版)の画面(621)中のUI文字列「課題」(日本語)(622)と、当該UI文字列「課題」(日本語)(622)に対応するマニュアル(日本語版)(631)中の文字列「問題」(632)とが対応しないことである。
画面(601)は、上記プログラム製品(英語版)の表示画面あり、当該画面(601)はUI文字列「Issue」(英語)(602)を有する。
英語版のマニュアル作成者は、上記プログラム製品(英語版)の上記画面(601)に基づいて、エディタ上でマニュアル(英語版)の作成を開始する。
マニュアル(英語版)(611)は、上記プログラム製品(英語版)の上記画面(601)に基づいて作成されたものであり、エディタの表示画面上の表示にも対応するものとする。当該マニュアル(英語版)(611)は、上記プログラム製品(英語版)の上記画面(601)中のUI文字列「Issue」(英語)(602)と同じ文字列(612)を記載している。
日本語版のプログラム製品の開発者は、上記プログラム製品(英語版)の上記画面(601)に基づいて、日本語版への移植作業をしているとする。日本語版のプログラムの開発者は、上記画面(601)中のUI文字列「Issue」(602)をUI文字列「課題」(日本語)(622)と訳したとする。
そして、UI文字列「Issue」(602)がUI文字列「課題」(日本語)(622)に翻訳されたプログラム製品(日本語版)が出荷された。
画面(621)は、上記プログラム製品(英語版)の上記画面(601)に基づいて作成されたものであり、上記プログラム製品(英語版)の上記画面(601)中のUI文字列「Issue」(英語)(602)に対応する訳語文字列「課題」(日本語)(622)を有する。
日本語版のマニュアルの作成者は、日本語版のプログラム製品の開発者と別の人である。日本語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記画面(601)又はマニュアル(英語)(611)に基づいて、エディタ上でマニュアル(日本語版)の作成を開始する。日本語版のマニュアルの作成者は、上記プログラム製品(英語版)の上記画面(601)中のUI文字列「Issue」(英語)(602)又は上記マニュアル(英語)(611)中の文字列「Issue」(英語)(612)を文字列「問題」(日本語)(632)と訳したとする。
そして、UI文字列「Issue」(英語)(602)又は文字列「Issue」(英語)(612)が文字列「問題」(日本語)(632)に翻訳されたマニュアル(日本語版)(631)が出荷された。
以上に示した通り、上記プログラム製品(日本語版)(621)のUI文字列「課題」(日本語)(622)と、上記プログラム製品(日本語版)(621)のマニュアル(日本語版)(631)の文字列「問題」(632)との間で、UI文字列「Issue」(英語)(602)の訳語の整合性が図られていない。
本来であれば、上記プログラム製品(日本語版)のUI文字列「課題」(日本語)(622)と、上記プログラム製品(日本語版)のマニュアル(日本語版)(631)の文字列「問題」(632)との間で、UI文字列「Issue」(英語)(602)の訳語の整合性が図られているものでなければならない。
しかしながら、日本語版のプログラム製品の開発者及び日本語版のマニュアルの作成者のいずれも、上記翻訳後の相違を見つけることは困難である。
図6に示す上記例では、日本語版のプログラム製品の開発者と日本語版のマニュアルの作成者とが別の人である場合において、UI文字列の訳語がプログラム製品とマニュアルとの間で異なるように訳される場合を示した。その他にも、例えば英語版のマニュアルの作成者が英語版のプログラム製品上の例えばUI文字列「Issue」を英語版のマニュアル上に「Issues」と間違って転記したことにより、日本語版のプログラム製品の開発者は上記UI文字列「Issue」をUI文字列「問題」と訳し、一方、日本語版のマニュアルの作成者が上記マニュアル上の文字列「Issues」を「問題群」と訳す場合において、プログラム製品上の訳語(すなわち、「問題」)とマニュアル上の訳語(すなわち、「問題群」)とが相違する場合もありうる。
図7A〜図7K及び図8A〜図8Nそれぞれは、本発明の実施態様に従い、プログラム製品が表示装置上に表示する画面文字列又は当該画面文字列を他の言語に翻訳した翻訳文字列と、マニュアル作成の為のアプリケーションが表示装置上に表示する文字列との整合性を保つ例を示す。
図7A〜図7Kは、本発明の実施態様に従い、プログラム製品の製品開発途中の段階でメニュー・バーの用語が変更された場合に、当該プログラム製品のマニュアル上に上記用語の変更が自動的に反映されて、上記変更後のメニュー・バーの用語と、上記マニュアル上の用語との間で整合性を保つ例を示す。
(図7A)ステップ1:プログラム製品の開発者が画面文字列を決定する。
プログラム製品の開発者は、「/com/ibm/foo/bar/mes.properties」というプログラム製品に関連付けられたメッセージ・ファイル(701)を用意する。「/com/ibm/foo/bar/mes.properties」は、SCM(Source Code Management)位置情報であり、メッセージ・ファイルの所在位置(記憶装置(108)中のパス情報)を示す。当該メッセージ・ファイルは、上記プログラム製品中の画面文字列を定義する為に使用される。当該メッセージ・ファイルは、画面文字列(メッセージ本文である)と、当該画面文字列に一意に関連付けられたメッセージ・ファイル内識別子(以下、「ファイル内ID」ともいう)(例えば、Spec_number)との少なくとも1つのセットを有する。コンピュータ(101)は、メッセージ・ファイル(701)を、上記画面文字列及び上記メッセージ・ファイル内IDを含むファイルの態様で格納するのではなく、上記画面文字列及び上記メッセージ・ファイル内IDをデータベースの態様で格納してもよい。
プログラム製品の開発者は、例えばプログラム開発アプリケーションを使用して、上記メッセージ・ファイル中に画面文字列を入力していく。この際、各画面文字列には、当該メッセージ・ファイルの内部で一意に定まるように、上記メッセージ・ファイル内IDが与えられる。コンピュータ(101)は例えば、ユーザが画面文字列を入力していくことに応じて、当該メッセージ・ファイル内識別子を自動的に付与するようにしうる。
メッセージ・ファイル(701)は、一例として、8個のメッセージ・ファイル内識別子(Spec_13〜Spec_20)と当該8個の識別子それぞれに関連付けられた画面文字列{Defect,Task,Project Change Request,Plan Item,Risk,RiskAction,Issue,Milestone}が定義されていることを示す。コンピュータ(101)は、メッセージ・ファイル(701)を記憶装置(108)内に格納する。
(図7A)ステップ2:コンピュータ(101)が、プログラム製品の画面上で画面文字列を表示する。
コンピュータ(101)は、上記メッセージ・ファイル(701)がプログラム製品(英語版)中に組み込まれていることに応じて、画面(702)を表示する。画面(702)は、上記メッセージ・ファイル(701)中の各画面文字列をメニュー・バー中の項目「Work Items」下にある「Create Work Item」中の画面文字列として有する。
(図7A)ステップ3:コンピュータ(101)がマスター・テーブルを用意し、マスター・テーブルにデータを入力する。
コンピュータ(101)は、上記メッセージ・ファイル(701)の内容をマスター・テーブル(703)に反映する為に、マスター・テーブル(703)を記憶装置(108)内又はメモリ(103)上に用意する。マスター・テーブル(703)は、マスター・テーブル識別子(以下、「マスターID」ともいう)、ファイル内ID、SCM位置情報、及び、プロジェクト識別子(以下、「プロジェクトID」ともいう)の組み合わせを含むセットを少なくとも1つ含む。マスター・テーブル(703)中の上記セットは、少なくともマスターID及びファイル内IDの組み合わせを含みうる。マスター・テーブル(703)中のSCM位置情報及びプロジェクトIDは、以下の場合において省略しうる:例えば、メッセージ・ファイルが一つであり、プロジェクトも一つである場合;又は、各メッセージ本文がファイルではなく、データベース中に格納されている場合。
マスターIDは、上記メッセージ・ファイル(701)中のメッセージ・ファイル内識別子(ファイル内ID)に一意に関連付けられた識別子である。すなわち、1つのファイル内IDについて、一つのマスターIDが割り当てられている。
ファイル内IDは、上記メッセージ・ファイル(701)中のメッセージ・ファイル内識別子(ファイル内ID)に対応する。ファイル内IDは、上記メッセージ・ファイル(701)中の行指定情報である。
SCM位置情報は、上記メッセージ・ファイル(701)の所在位置(記憶装置(108)中のパス情報)を示す。
プロジェクトIDは、上記メッセージ・ファイル(701)を使用して作成するプログラム製品及びそのバージョンの組み合わせを一意に識別するための内部コードである。
コンピュータ(101)は、上記メッセージ・ファイル(701)中のファイル内IDを読み取り、上記マスター・テーブル(703)中にコピーする。また、コンピュータ(101)は、ファイル内IDに一意に関連付けられたマスター識別子を自動的に決定し、上記マスター・テーブル(703)中に入力する。さらに、コンピュータ(101)は、ファイル内IDを格納する上記メッセージ・ファイル(701)のSCM位置情報、及び、プロジェクトIDを上記マスター・テーブル(703)中に入力する。
(図7B)ステップ4:コンピュータ(101)が画面文字列管理テーブルを用意し、データの一部をメッセージ・ファイル及びマスター・テーブルから入力する。
コンピュータ(101)は、上記マスター・テーブル(703)のマスターIDを画面文字列管理テーブル(704)にコピーする為に、画面文字列管理テーブル(704)を記憶装置(108)内又はメモリ(103)上に用意する。画面文字列管理テーブル(704)は、マスターID;言語識別子(以下、「言語ID」ともいう));文字列;カテゴリ情報;プログラム製品の表示画面上での上記画面文字列に関連付けられた出現位置情報(以下、「第1の出現位置情報」又は「プログラム製品上での出現位置情報」ともいう);及び、アプリケーション上での文字列(上記画面文字列又は翻訳文字列に対応する)に関連付けられた出現位置情報(以下、「第2の出現位置情報」又は「アプリケーション上での出現位置情報」ともいう)の組み合わせを含むセットを少なくとも1つ含む。マニュアルを作成する上での使用言語が1つ(例えば、英語)である場合には、上記組み合わせは言語情報を有していなくてもよい。
マスターIDは、上記マスター・テーブル(703)中のマスターIDに対応する。
言語IDは、マスターIDに関連付けられたファイル内IDによって特定される文字列が書かれた(自然)言語を識別するための識別子である。言語IDは、文字列として画面文字列又は当該画面文字列に関連付けられた識別子が入力されている場合には当該画面文字列に関連付けられた言語IDであり、文字列として上記画面文字列を他の言語に翻訳した翻訳文字列又は当該翻訳文字列に関連付けられた識別子が入力されている場合には当該翻訳文字列に関連付けられた言語IDである。言語IDは、例えば言語情報(例えば、English,Japanese)、又は言語情報に一意に関連付けられた識別子(例えば、English=「1」,Japanese=「2」)である。
文字列は、画面文字列(上記メッセージ本文である)若しくは当該画面文字列に一意に関連付けられた識別子、又は、画面文字列を他の言語に翻訳した翻訳文字列若しくは当該翻訳文字列に一意に関連付けられた識別子でありうる。当該画面文字列に一意に関連付けられた識別子又は翻訳文字列に一意に関連付けられた識別子は例えば、画面文字列に一意に関連付けられた数字、英字若しくはそれらの組み合わせ、又は文字コードでありうる。
カテゴリ情報は、画面文字列に関連付けられたカテゴリ情報であり、例えば当該画面文字列の用途である。当該用途は、例えばメニュー、ボタン、入力フィールドのラベル、表の列名、表の行名、ウィンドウのタイトルである。
第1の出現位置情報は、プログラム製品の表示画面上での上記画面文字列に関連付けられた出現位置情報である。第1の出現位置情報は例えば、表示画面の位置情報(xy座標により特定される)であり、例えば画面文字列を包含する矩形の対角線上にある2点(例えば、左上と右下)の位置情報でありうる。
第2の出現位置情報は、アプリケーション上での文字列(上記画面文字列又は翻訳文字列に対応する)に関連付けられた出現位置情報である。第2の出現位置情報は例えば、当該アプリケーションのマニュアル作成言語でのプログラム位置情報(例えば、行数);又は、メッセージ・ファイル(701)中のプロジェクトID、マニュアルの電子ファイルの格納位置情報及びファイル名、並びに、エディタの電子ファイル中において特定される標識文字列(例えば、開始タグ<UICONTROL>)及びエディタの表示画面中に埋め込まれたトリガー識別子(例えば、id=”番号”)の組み合わせによって特定されうる。
コンピュータ(101)は、上記マスター・テーブル(703)を読み取り、上記マスター・テーブル(703)中のマスターIDの全て又はユーザによって特定されるマスターIDの一部を画面文字列管理テーブル(704)にコピーする。また、コンピュータ(101)は、上記コピーされたマスターIDそれぞれに関連付けられたファイル内IDそれぞれによって特定される画面文字列の全てを上記メッセージ・ファイル(701)から取り出して、画面文字列管理テーブル(704)中にコピーする。代替的には、コンピュータ(101)は、上記コピーされたマスターIDそれぞれに関連付けられたファイル内IDそれぞれによって特定される画面文字列に関連付けられた識別子を画面文字列管理テーブル(704)中に入力する。さらに、コンピュータ(101)は、上記特定される画面文字列に関連付けられた言語IDを画面文字列管理テーブル(704)中に入力する。画面文字列管理テーブル(704)のその他の項目(カテゴリ情報、第1の出現位置情報及び第2の出現位置情報)は、この時点ではブランクである。
(図7B)ステップ5:コンピュータ(101)は、マスターIDが付加されたビルドを生成する。
コンピュータ(101)は、プログラム製品内に、上記マスター・テーブル(703)に格納されたマスターIDを埋め込む処理をする。すなわち、コンピュータ(101)は、プログラム製品内にマスターIDが付加されたビルドを生成する。プログラム製品内にマスターIDが付加されたビルドを作成することによって、下記ステップ10で選択した画面文字列を上記付加されたマスターIDを使用して特定することが可能になる。
画面(705)は、プログラム製品内にマスターID([Key_199]〜[Key_206])が付加されたビルドを示す。コンピュータ(101)は、マニュアルの作成者がマスターID([Key_199]〜[Key_206])を視認できるように、例えばマスターID([Key_199]〜[Key_206])それぞれを対応する画面文字列に隣接して表示しうる。代替的には、コンピュータ(101)は、プログラム製品内にマスターIDを付加するが、マニュアルの作成者が当該付加されたマスターIDを視認できないようにしてもよい。
(図7C)ステップ6:マニュアルの作成者が、エディタ上で、マニュアル(英語版)を編集中である。
マニュアルの作成者が、エディタ上で、マニュアルの作成を開始したとする。マニュアルの作成者は、画面文字列{Defect,Task,Project Change Request,Plan Item,Risk,Risk Action,Issue,Milestone}の各項目についての説明文を作成しようとしているとする。マニュアルの作成者は、マニュアルの作成を、例えばマークアップ言語に従い作成しうる。
マニュアルの作成者は、画面文字列{Defect,Task}の各項目についての説明文の作成を終了し、そして、画面文字列{Project Change Request}の項目についての説明文(Provides a formal mechanism to renegotiate key project parameters, such as scope, timeline, or resources)の入力を終了したとする。画面(706)は、上記説明文の入力が終了した直後のマニュアル編集途中のエディタ上の画面である。マニュアルの作成者は、画面文字列{Defect,Task,Project Change Request}の項目までの説明の記述が終了したことから、次に、画面文字列{Plan Item}の項目についての説明の入力をしようとしているところであるとする。
(図7C)ステップ7:コンピュータ(101)が、ステップ6の上記編集中に画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Project Change Request}の項目についての説明文の作成が終了したことに応じて、画面文字列管理テーブルを更新する。画面文字列管理テーブル(707)は、上記作成の終了に応じて更新された際のものである。画面文字列管理テーブル(707)は、画面文字列{Defect,Task,Project Change Request}の各項目について、カテゴリ情報、プログラム製品上の出現位置情報(第1の出現位置情報)、及びアプリケーション上での出現位置情報(第2の出現位置情報)の各情報を有している。上記カテゴリ情報は、例えば画面文字列{Defect,Task,Project Change Request}のいずれもがメニュー項目の文字列であるので、それぞれ「メニュー」である。上記第1の出現位置情報は、プログラム製品の表示画面中の画面文字列を包含する矩形の対角線上にある2点の位置情報である。上記第2の出現位置情報は、プロジェクトID、マニュアルの電子ファイルの格納位置情報及びファイル名、並びに、エディタの電子ファイル中において特定される標識文字列(例えば、開始タグ<UICONTROL>)、及びエディタの表示画面中に埋め込まれたトリガー識別子(例えば、id=”番号”)を含む。
(図7C)ステップ8:マニュアルの作成者が、エディタ上で、画面情報取得モードへ遷移するためのタグである開始タグ<UICONTROL>を入力する。
マニュアルの作成者は、プログラム製品上でのマニュアル中に取り込みたい画面文字列が画面上に表示されるように、予め、プログラム製品上で画面を遷移しておく。すなわち、マニュアルの作成者は、例えば図7Bの画面(705)に示すように、該当するプログラム製品を起動し、そして、マニュアル中に取り込む画面文字列を表示するように、メニュー、ダイアログ、ウィンドウを操作する。図7Bの画面(705)では、次に取り込む画面文字列{Plan Item}が表示されている。マニュアルの作成者は、プログラム製品の通常動作モード(プログラム製品の本来の機能を発揮するモードである)から、プログラム製品から画面文字列を取り込むことを可能にする為のモード(以下、「画面情報取得モード」ともいう)に切り替える為に、エディタ上で開始タグ<UICONTROL>を入力する。エディタ上での画面(708)は、最下行に開始タグ<UICONTROL>が入力されていることを示す。
コンピュータ(101)は、エディタ上で開始タグ<UICONTROL>が入力されることに応じて、同一マニュアル内でのトリガーを識別する為のトリガー識別子「id=”番号”」を開始タグ<UICONTROL>中に自動的に挿入する(例えば、<UICONTROL id=”番号”>で示される)。
また、コンピュータ(101)は、エディタ上で開始タグ<UICONTROL>が入力されることに応じて、エディタが画面文字列管理テーブル(707)にアクセス可能なように接続する。
(図7D)ステップ9:コンピュータ(101)は、プログラム製品を通常動作モードから画面情報取得モードに遷移する。
コンピュータ(101)は、エディタ上で上記開始タグ<UICONTROL>が入力されることに応じて、プログラム製品を通常動作モード(702)から画面情報取得モード(709)に遷移する。なお、プログラム製品を通常動作モードから画面情報取得モードに遷移するトリガーとして、上記開始タグ<UICONTROL>の入力だけでなく、例えば以下の操作をトリガーとしてもよい:
・エディタ上で、標識文字列が入力されること:例えば、開始タグと終了タグとがペアになっている標識文字列が入力されること(例えば、<UICONTROL></UICONTROL>のペア);例えば、開始タグと終了タグとがペアになっていない標識文字列(例えば、UIタグ)であって、エディタが認識可能なように設定した文字列が入力されること(例えば、標識文字列「sw」の終了文字「w」が入力されることをトリガーにする);
・エディタ上で、標識文字列の開始を示す文字列が入力されること:例えば、開始タグと終了タグとがペアになっている標識文字列(例えば、UIタグ)であって、開始タグが入力されること(例えば、開始タグ<UICONTROL>の終了文字「>」が入力されることをトリガーにする);
・キーボードの特定の操作が行われること:例えば、CTRL+ALTが同時に押下されること;
・ポインティング・デバイスの特定の操作が行われること:例えば、エディタ上でダブル左クリックが行われること;
・特定の発話が行われること:例えば、マニュアルの作成者がマイクロフォンに向かって、「遷移移動」という発話がされること;
・特定の身振りが行われること:例えば、コンピュータ(101)に備えられているカメラに向かって右手を左右や上下に動かすこと。
画面(709)は、プログラム製品が画面情報取得モードに移行していることを示す。画面(709)中、マスターID([Key_199]〜[Key_206])は、任意に表示される事項である。また、画面(709)中、点線で示されている部分が、画面文字列として取り込み可能な文字列であることを示す。なお、当該点線は説明の為に付したものである。
(図7D)ステップ10:マニュアルの作成者は、取り込みたい画面文字列を選択する為に、クリック操作を行う。
マニュアルの作成者は、取り込み対象である画面文字列{Plan Item}をエディタ上に取り込む為に、取り込みアクションを行う。取り込みアクションは、例えばポインティング・デバイスで画面文字列{Plan Item}を選択し、クリックすることである。画面(710)中、点線で示されている部分は画面文字列{Plan Item}が選択されたことを示す。
(図7E)ステップ11:コンピュータ(101)は、画面文字列の選択に応じて、エディタ上に当該選択された画面文字列を入力する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(707)を参照して、当該選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有する行の文字列(すなわち、画面文字列{Plan Item})を取り出す。そして、コンピュータ(101)は、当該取り出した画面文字列{Plan Item}を、エディタ上での画面(711)に見られるように、開始タグ<UICONTROL id=”015”>に隣接して入力する「<UICONTROL id=”015”> PlanItem」。
また、コンピュータ(101)は、画面文字列管理テーブル(707)を参照して、上記選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)をエディタ上に取り込み、例えば上記入力された文字列{Plan Item}に隣接して、当該取り込んだマスターID(Key_202)を入力する「<UICONTROL id=”015”> Plan Item <Resource_ID> Key_202 </Resource_ID>」。コンピュータ(101)は、エディタ上にマスターID(Key_202)が入力されることに応じて、エディタ上のカーソルを終了タグ </Resource_ID> の直後に移動する。
(図7E)ステップ12:コンピュータ(101)は、画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(707,図7C)を更新する。コンピュータ(101)は、画面文字列管理テーブル(707)中、選択された画面文字列{Plan Item}と一致する文字列、マスターID及び言語IDの組み合わせを含む行において、カテゴリ情報、プログラム製品上での出現位置情報、及びアプリケーション上での出現位置情報の各項目中にデータを、以下の通りにして入力する。コンピュータ(101)は、上記カテゴリ情報のデータをプログラム製品から自動的に取得する。代替的には、コンピュータ(101)は、上記カテゴリ情報のデータをユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記カテゴリ情報の項目中に入力する。また、コンピュータ(101)は、プログラム製品上での出現位置情報を、プログラム製品上で選択された画面文字列を包含する例えば矩形の領域を決定し、そして当該決定された領域の対角線上にある2点の画面位置情報を画面表示に関連付けられたデバイスから取得する。さらに、コンピュータ(101)は、アプリケーション上での出現位置情報を、マスター・テーブル(703)内の当該マスターIDに関連付けられたプロジェクトID(XYZ0012)、マニュアルの電子ファイルの格納位置情報及びファイル名(/com/ibm/foo/bar/WorkItem.Dita)、並びに、エディタの電子ファイル中において特定される標識文字列(開始タグ<UICONTROL>)及びエディタの表示画面中に埋め込まれたトリガー識別子(_015)によって特定する。
画面文字列管理テーブル(712)は、マスターIDがKey_202である行において、上記したカテゴリ情報、プログラム製品上での出現位置情報、及びアプリケーション上での出現位置情報の各項目中にデータが入力されて、画面文字列管理テーブル(707)が更新された後の画面文字列管理テーブルを示す。
(図7F)ステップ13:マニュアルの作成者が、エディタ上で、画面情報取得モードを解除して通常動作モードへ遷移するためのタグである終了タグ</UICONTROL>を入力する。
マニュアルの作成者は、エディタ上で、画面情報取得モードを解除して通常動作モードへ切り替える為に、エディタ上で終了タグ</UICONTROL>を入力する。エディタ上での画面(713)中の点線部分は、終了タグが入力されたことを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
また、コンピュータ(101)は、エディタ上で終了タグ</UICONTROL>が入力されることに応じて、エディタが画面文字列管理テーブル(707)にアクセスできないように接続を一時的に解除する。
(図7F)ステップ14:コンピュータ(101)は、プログラム製品を画面情報取得モードから通常動作モードへ遷移する。
コンピュータ(101)は、エディタ上で上記終了タグ</UICONTROL>が入力されることに応じて、プログラム製品を画面情報取得モード(709)から通常動作モード(702)に遷移する。なお、プログラム製品を画面情報取得モードから通常動作モードに遷移するトリガーとして、上記終了タグ</UICONTROL>の入力だけでなく、例えば以下の操作をトリガーとしてもよい:
・エディタ上で、標識文字列が入力されること:例えば、開始タグと終了タグとがペアになっていない標識文字列(例えば、UIタグ)であって、エディタが認識可能なように設定した文字列が入力されること(例えば、標識文字列「ew」の終了文字「w」が入力されることをトリガーにする);
・エディタ上で、標識文字列の終了を示す文字列が入力されること:例えば、開始タグと終了タグとがペアになっている標識文字列(例えば、UIタグ)であって、終了タグが入力されること(例えば、終了タグ</UICONTROL>の終了文字「>」が入力されることをトリガーにする);
・キーボードの特定の操作が行われること:例えば、CTRL+ALTが同時に押下されること;
・ポインティング・デバイスの特定の操作が行われること:例えば、エディタ上でダブル左クリックが行われること;
・特定の発話が行われること:例えば、マニュアルの作成者がマイクロフォンに向かって、「遷移移動」という発話がされること;
・特定の身振りが行われること:例えば、コンピュータ(101)に備えられているカメラに向かって右手を左右や上下に動かすこと。
(図7G)ステップ15:マニュアルの作成者は、エディタ上で、取り込んだ文字列{Plan Item}についての説明を記述する。
マニュアルの作成者は、エディタ上で、取り込んだ文字列{Plan Item}についての説明を、上記終了タグ</UICONTROL>に隣接して記述する。画面(715)は、「Records commitments that the development team makes to the business organization」という説明が入力されたことを示す。
(図7G)ステップ16:マニュアルの作成者は、ステップ8から開始して、残りの画面文字列をエディタ上に取り込む作業を繰り返す。コンピュータ(101)は、画面文字列管理テーブルを更新する。
マニュアルの作成者は、次にマニュアル中に取り込みたい画面文字列が{Risk}である為に、プログラム製品を図7Fに示す画面(714)から遷移しなくてよい。画面文字列{Risk,Risk Action,Issue,Milestone}の各項目について、ステップ8〜ステップ15に示す同様の操作が行われる。
画面文字列管理テーブル(716)は、画面文字列{Risk,Risk Action,Issue,Milestone}の各項目について、ステップ8〜ステップ15に示す同様の操作をした結果、更新されたものを示す。
(図7H)ステップ17:マニュアルの作成者が、エディタ上で、取り込んだ文字列{Milestone}についての説明の記述を終了した後のエディタの画面表示である。
マニュアルの作成者は、取り込んだ文字列{Milestone}についての説明の記述を終了した後に、当該編集済みのマニュアル・ファイルを記憶装置(108)に保存する。
(図7H)ステップ18:上記編集済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した例、又は用紙に印刷した例である。
画面(718)は、上記編集済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した画面例である。または、印刷物(718)は、上記編集済みのマニュアル・ファイルを呼び出して、プリンターで印刷したものである。
(図7I)ステップ19:プログラム製品の開発者が、当該プログラム製品のリリース前に画面文字列を変更する。
プログラム製品の開発者は、上記メッセージ・ファイル(701)を「/com/ibm/foo/bar/mes.properties」から呼び出し、当該メッセージ・ファイル(701)中の画面文字列{Plan Item}を{Business Needs}に変更したとする(719)。
コンピュータ(101)は、上記変更後のメッセージ・ファイル(719)がプログラム製品(英語版)中に組み込まれていることに応じて、画面(720)を表示する。画面(720)中の点線部は、画面(702)中の画面文字列{Plan Item}が{Business Needs}に変更されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図7I)ステップ20:コンピュータ(101)が、ステップ19での画面文字列の変更情報を画面文字列管理テーブル(716,図7G)へ通知する。
コンピュータ(101)は、上記メッセージ・ファイル(701)中の画面文字列{Plan Item}が{Business Needs}に変更されたことに応じて、当該変更に関する情報をSCMにチェックインする。コンピュータ(101)は、当該変更に関する情報がSCMにチェックインされることに応じて、変更情報を画面文字列管理テーブル(716,図7G)に通知する。変更情報は、マスターID、言語情報(例えば、言語ID)、変更前の画面文字列{Plan Item}、及び変更後の画面文字列{Business Needs}を含む。
(図7I)ステップ21:コンピュータ(101)が、ステップ20で通知された変更情報に基づいて、画面文字列管理テーブル(716,図7G)を更新する。
コンピュータ(101)は、変更情報中のマスターID(Key_202)、言語ID(English)及び変更前の画面文字列{Plan Item}が、画面文字列管理テーブル(716)中のマスターID(Key_202)、言語ID(English)及び画面文字列{Plan Item}のセットを含む行と一致することに応じて、当該一致する行の画面文字列{Plan Item}を{Business Needs}に置換する。すなわち、上記メッセージ・ファイル(701)中の画面文字列の変更が画面文字列管理テーブル(716)に反映される。よって、画面文字列管理テーブル(716)中の文字列が変更後の画面文字列に同期される。画面文字列管理テーブル(716)中のその他の項目(マスターID、言語ID、カテゴリ情報、プログラム製品上での出現位置情報及びアプリケーション上での出現位置情報)に変更はない。画面文字列管理テーブル(721)中の点線部は、画面文字列{Plan Item}が{Business Needs}に置換されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
なお、上記メッセージ・ファイル(701)中の画面文字列{Plan Item}が{Business Needs}に変更された場合であっても、マスター・テーブル(703)に変更はない。
(図7J)ステップ22:コンピュータ(101)は、エディタ上にマニュアルの電子データ(例えば、電子ファイル)がロードされることに応じて、画面文字列管理テーブル(721)を参照し、画面文字列管理テーブル(721)中で変更があった文字列に対応するエディタ上の文字列を更新する。
コンピュータ(101)は、画面文字列管理テーブル(716)が更新されることに応じて又はマニュアルの電子データの読み取り要求に応じて、エディタ上にマニュアルの電子データをロードする。そして、コンピュータ(101)は、画面文字列管理テーブル(721)を参照して、当該画面文字列管理テーブル(721)中の変更された画面文字列に関連付けられたアプリケーション上での出現位置情報に基づいてエディタ上での対応する変更前の文字列がある位置を突き止め、そして突き止めた位置にある文字列{Plan Item}を変更後の文字列{Business Needs}に置換する。エディタ上での画面(722)中の点線部は、文字列{Plan Item}が変更後の文字列{Business Needs}に自動更新されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図7J)ステップ23:上記画面文字列を置換済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した例、又は用紙に印刷した例である。
画面(723)は上記画面文字列を置換済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した画面例である。または、印刷物(723)は、上記画面文字列を置換済みのマニュアル・ファイルを呼び出して、プリンターで印刷したものである。画面(723)中又は印刷物(723)中の点線部は、文字列{Plan Item}が変更後の文字列{Business Needs}に自動更新されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図7K)ステップ24:マニュアルの作成者が、上記画面文字列を置換済みのマニュアル・ファイルにおいて、当該置換済みの文字列を選択する。
コンピュータ(101)は、エディタ上での画面(722)において、変更後の文字列{Business Needs}をマニュアルの作成者が視認しやすいように表示する。コンピュータ(101)は例えば、変更後の文字列{Business Needs}を他の文字列と異なる文字色に変更したり、点滅させたりしうる。
マニュアルの作成者は、変更後の文字列{Business Needs}がプログラム製品の画面上のどの画面文字列に対応するかを確認したいとする。マニュアルの作成者は、エディタ上で上記変更後の文字列{Business Needs}を例えばポインティング・デバイスで選択する。
(図7K)ステップ25:コンピュータ(101)が、プログラム製品上で、上記選択された文字列{Business Needs}に対応する画面文字列をマニュアルの作成者が視認しやすいように表示する。
コンピュータ(101)は、エディタ上で上記変更後の文字列{Business Needs}が選択されることに応じて、当該変更後の文字列{Business Needs}に関連付けられたマスターID、言語ID及び当該変更後の文字列{Business Needs}の組み合わせが、画面文字列管理テーブル(721)中のマスターID、言語ID及び当該変更後の文字列{Business Needs}の組み合わせと一致するかどうかを判断する。コンピュータ(101)は、上記一致することに応じて、画面文字列管理テーブル(721)中の上記一致する組み合わせを含む行に関連付けられたプログラム製品上での出現位置情報を読み出す。コンピュータ(101)は、上記読み出した出現位置情報に関連付けられた画面文字列(上記選択された文字列{Business Needs}に一致する)をマニュアルの作成者が視認しやすいように表示する。コンピュータ(101)は例えば、当該読み出した出現位置情報に関連付けられた画面文字列{Business Needs}を他の文字列と異なる文字色に変更したり、点滅させたりしうる。画面(725)中の点線部は、画面文字列{Business Needs}が点滅していることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。上記ステップ24及びステップ25の操作を通じて、マニュアルの作成者は、プログラム製品中のどの画面文字列が変更されたかを容易に確認することが可能である。
図8A〜図8K及びその一部代替例を示す図8L〜図8Nは、本発明の実施態様に従い、英語版のプログラム製品の製品開発途中の段階でメニュー・バーの用語が変更された場合に、当該英語版のプログラム製品に対応する日本語版のプログラム製品の日本語のマニュアル上に上記用語の変更が自動的に反映されて、英語版のプログラム製品の上記変更後のメニュー・バーの用語(英語)と、上記日本語版のマニュアルの訳語(日本語)との間で整合性を保つ例を示す。
(図8A)ステップ1:プログラム製品(英語版)の開発者が画面文字列を決定する。
ステップ1は、図7Aに記載のステップ1と同様であるので、ここではその説明を援用する。
(図8A)ステップ2:コンピュータ(101)が、プログラム製品(英語版)の画面上で画面文字列(英語)を表示する。
ステップ2は、図7Aに記載のステップ2と同様であるので、ここではその説明を援用する。
(図8A)ステップ3:コンピュータ(101)がマスター・テーブルを用意し、マスター・テーブルにデータを入力する。
ステップ3は、図7Aに記載のステップ3と同じであるので、ここではその説明を援用する。
(図8B)ステップ4:コンピュータ(101)が画面文字列管理テーブルを用意し、データの一部をメッセージ・ファイル及びマスター・テーブル、並びに翻訳辞書から入力する。
コンピュータ(101)は、上記マスター・テーブル(803)のマスターIDを画面文字列管理テーブル(804)にコピーする為に、画面文字列管理テーブル(804)を記憶装置(108)内又はメモリ(103)上に用意する。画面文字列管理テーブル(804)は、画面文字列管理テーブル(704)と同様に、マスターID;言語ID;文字列;カテゴリ情報;プログラム製品上での出現位置情報;及び、アプリケーション上での出現位置情報の組み合わせを含むセットを少なくとも1つ含む。
コンピュータ(101)は、上記マスター・テーブル(803)を読み取り、当該マスター・テーブル(803)中のマスターIDの全て又はユーザによって特定されるマスターIDの一部を画面文字列管理テーブル(804)にコピーする。また、コンピュータ(101)は、上記コピーされたマスターIDそれぞれに関連付けられたファイル内IDそれぞれによって特定される画面文字列の全てをメッセージ・ファイル(801)から取り出して、画面文字列管理テーブル(804)中にコピーする。代替的には、コンピュータ(101)は、上記コピーされたマスターIDそれぞれに関連付けられたファイル内IDそれぞれによって特定される画面文字列に関連付けられた識別子を画面文字列管理テーブル(804)中に入力する。さらに、コンピュータ(101)は、上記特定される画面文字列に関連付けられた言語IDを画面文字列管理テーブル(804)中に入力する。画面文字列管理テーブル(804)のその他の項目(カテゴリー情報、プログラム製品上での出現位置情報、及びアプリケーション上での出現位置情報)は、この時点ではブランクである。
また、コンピュータ(101)は、英語版のプログラム製品を日本語版に移植する為に、同じマスターIDについて、2つの行を予め用意する。すなわち、1つの行は、画面文字列管理テーブル(704)と同じく、マスターID、言語ID(English)、及びメッセージ・ファイル(801)からコピーされた画面文字列(英語)又は当該画面文字列(英語)に関連付けられた識別子のセットを含み、もう1つの行は、上記セットと同じマスターID、言語ID(Japanese)、及び文字列(日本語)又は当該文字列(日本語)に関連付けられた識別子である。文字列(日本語)は、コンピュータ(101)が上記セットの画面文字列(英語)を翻訳辞書データベース又は翻訳辞書データを参照して自動翻訳したものでありうる。代替的には、コンピュータ(101)は、上記画面文字列(英語)に対応する日本語訳をユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記画面文字列(英語)の日本語訳としうる。さらに、代替的には、コンピュータ(101)は、マスター・テーブル(803)の当該画面文字列(英語)に関連付けられたマスターID、ファイル内ID並びにSCM位置情報と画面文字列管理テーブル(804)の当該マスターIDおよび当該言語ID(Japanese)を組み合わせて日本語版のメッセージ・ファイルを特定し、当該メッセージ・ファイル(日本語)内に当該ファイル内IDを含む画面文字列が存在する場合には、当該画面文字列(日本語)を上記画面文字列(英語)の日本語訳としうる。
画面文字列管理テーブル(804)は、上記したとおり、同じマスターID毎に、英語の文字列を含むセットと当該英語の文字列に対応する日本語訳の文字列を含むセットの2つの行を有している。
(図8B)ステップ5:コンピュータ(101)は、マスターIDが付加されたビルドを生成する。
ステップ5は、図7Aに記載のステップ5と同様であるので、ここではその説明を援用する。
(図8C)ステップ6:マニュアルの作成者が、エディタ上で、マニュアル(日本語版)を編集中である。
マニュアルの作成者が、エディタ上で、マニュアル(日本語版)の作成を開始したとする。マニュアルの作成者は、画面文字列{Defect,Task,Project Change Request,Plan Item,Risk,Risk Action,Issue,Milestone}に対応する日本語訳の各項目についての日本語の説明文を作成しようとしているとする。マニュアルの作成者は、上記マニュアル(日本語版)の作成を、例えばマークアップ言語に従い作成しうる。
マニュアルの作成者は、画面文字列{Defect,Task}に対応する日本語訳の各項目についての日本語の説明文の作成を終了し、そして、画面文字列{Project Change Request}に対応する日本語訳の項目についての日本語の説明文(主要なプロジェクト・パラメーター (範囲、予定表、リソース) を 再ネゴシエーションする公式メカニズムを提供します。)の入力を終了したとする。画面(806)は、上記説明文の入力が終了した直後のマニュアル(日本語版)編集途中のエディタ上の画面である。マニュアルの作成者は、画面文字列{Defect,Task,Project Change Request}に対応する各日本語訳の項目までの日本語の説明の各記述が終了したことから、次に、画面文字列{Plan Item}に対応する日本語訳及び当該日本語訳の項目についての日本語の説明の入力をしようとしているところであるとする。
(図8C)ステップ7:コンピュータ(101)が、ステップ6の上記編集中に画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Project Change Request}に対応する日本語訳の項目についての日本語の説明文の作成が終了したことに応じて、画面文字列管理テーブルを更新する。画面文字列管理テーブル(807)は、上記作成の終了に応じて更新された際のものである。画面文字列管理テーブル(807)は、画面文字列{Defect,Task,Project Change Request}の各項目について、カテゴリ情報、プログラム製品上の出現位置情報(第1の出現位置情報)、及びアプリケーション上での出現位置情報(第2の出現位置情報)の各情報、並びに、画面文字列{Defect,Task,Project Change Request}に対応する日本語訳の各項目について、カテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報の各情報を有している。画面文字列{Defect,Task,Project Change Request}の各項目についてのカテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報は、画面文字列{Defect,Task,Project Change Request}に対応する各項目についてのカテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報と同じである。
(図8C)ステップ8:マニュアルの作成者が、エディタ上で、画面情報取得モードへ遷移するためのタグである開始タグ<UICONTROL>を入力する。
マニュアルの作成者は、プログラム製品上でのマニュアル(日本語版)中に取り込みたい画面文字列の原語が画面上に表示されるように、予め、プログラム製品上で画面を遷移しておく。すなわち、マニュアルの作成者は、例えば図8Bの画面(805)に示すように、該当するプログラム製品を起動し、そして、マニュアル(日本語版)中に取り込む画面文字列の原語を表示するように、メニュー、ダイアログ、ウィンドウを操作する。図8Bの画面(805)では、次に取り込む画面文字列の原語{Plan Item}が表示されている。マニュアルの作成者は、プログラム製品の通常動作モードから画面情報取得モードに切り替える為に、エディタ上で開始タグ<UICONTROL>を入力する。エディタ上での画面(808)は、最下行に開始タグ<UICONTROL>が入力されていることを示す。
コンピュータ(101)は、エディタ上で開始タグ<UICONTROL>が入力されることに応じて、同一マニュアル内でのトリガーを識別する為のトリガー識別子「id=”番号”」を開始タグ<UICONTROL>中に自動的に挿入する(例えば、<UICONTROL id=”番号”>で示される)。
また、コンピュータ(101)は、エディタ上で開始タグ<UICONTROL>が入力されることに応じて、エディタが画面文字列管理テーブル(807)にアクセス可能になるように、当該エディタを画面文字列管理テーブル(807)に接続する。
(図8D)ステップ9:コンピュータ(101)は、プログラム製品を通常動作モードから画面情報取得モードに遷移する。
ステップ9は、図7Aに記載のステップ9と同様であるので、ここではその説明を援用する。
(図8D)ステップ10:マニュアルの作成者は、マニュアル(日本語版)中に取り込みたい画面文字列の原語を選択する為に、クリック操作を行う。
マニュアルの作成者は、画面文字列{Plan Item}に対応する日本語訳をエディタ上に取り込む為に、取り込みアクションを行う。取り込みアクションは、例えばポインティング・デバイスで画面文字列{Plan Item}を選択し、クリックすることである。画面(810)中、点線で示されている部分は画面文字列{Plan Item}が選択されたことを示す。
(図8E)ステップ11:コンピュータ(101)は、画面文字列の選択に応じて、エディタ上に当該選択された画面文字列に対応する日本語訳(翻訳文字列)を入力する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(807)を参照して、当該選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有し、且つ、当該エディタ上で編集中のマニュアル・ファイルに関連付けられた言語IDを有する行の文字列(すなわち、画面文字列{Plan Item}に対応する日本語訳「計画項目」)を取り出す。言語IDは画面文字列管理テーブル(807)中の言語の数に依存し、例えば2又はそれよりも多い。そして、コンピュータ(101)は、当該取り出した日本語訳「計画項目」を、エディタ上での画面(811)に見られるように、開始タグ<UICONTROL id=”015”>に隣接して入力する「<UICONTROL id=”015”> 計画項目」。また、代替的には、コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(807)を参照して、当該選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有し、且つ、当該エディタ上で編集中のマニュアル・ファイルに関連付けられた言語IDを有する行の文字列(すなわち、画面文字列{Plan Item}に対応する日本語訳「計画項目」)と、上記選択された画面文字列{PlanItem}とのいずれをエディタ上に入力するかを選択可能にする例えばダイアログをユーザに提示しうる。
また、コンピュータ(101)は、画面文字列管理テーブル(807)を参照して、上記選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)をエディタ上に取り込み、例えば上記入力された文字列「計画項目」に隣接して、当該取り込んだマスターID(Key_202)を入力する「<UICONTROL id=”015”>計画項目 <Resource_ID> Key_202 </Resource_ID>」。コンピュータ(101)は、エディタ上にマスターID(Key_202)が入力されることに応じて、エディタ上のカーソルを終了タグ </Resource_ID> の直後に移動する。
(図8E)ステップ12:コンピュータ(101)は、画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(807,図8C)を更新する。コンピュータ(101)は、画面文字列管理テーブル(807)中、選択された画面文字列{Plan Item}と一致する文字列、マスターID及び言語IDの組み合わせを含む行、並びに、選択された画面文字列{Plan Item}と同一のマスターIDを有する行において、カテゴリ情報、及びアプリケーション上での出現位置情報の各項目中にデータを、以下の通りにして入力する。コンピュータ(101)は、上記カテゴリ情報のデータをプログラム製品から自動的に取得する。代替的には、コンピュータ(101)は、上記カテゴリ情報のデータをユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記カテゴリ情報の項目中に入力する。また、コンピュータ(101)は、アプリケーション上での出現位置情報を、マスター・テーブル(803)内の当該マスターIDに関連付けられたプロジェクトID(XYZ0012)、マニュアルの電子ファイルの格納位置情報及びファイル名(/com/ibm/foo/bar/WorkItem.Dita)、並びに、エディタの電子ファイル中において特定される標識文字列(開始タグ<UICONTROL>)及びエディタの表示画面中に埋め込まれたトリガー識別子(_015)によって特定する。なお、コンピュータ(101)は、日本語版のプログラム製品上での出現位置情報を、現時点では持ち合わせていないので、現時点では入力しない(すなわち、ブランクにしておく)。コンピュータ(101)は、日本語版のプログラム製品上での上記出現位置情報を例えば、日本語版のプログラム製品が起動されることに応じて入力しうる。代替的には、コンピュータ(101)は、日本語版のプログラム製品上での上記出現位置情報を例えば、英語版のプログラム製品上での出現位置情報を参考情報として入力するか、又は、英語版のプログラム製品上での出現位置情報を参考情報として入力するかどうかをユーザが選択可能なダイアログを表示装置上に表示しうる。
画面文字列管理テーブル(812)は、マスターIDがKey_202である2つの行において、上記したカテゴリ情報、プログラム製品上での出現位置情報(文字列{Plan Item}を含む行のみ)、及びアプリケーション上での出現位置情報の各項目中にデータが入力されて、画面文字列管理テーブル(807)が更新された後の画面文字列管理テーブルを示す。
(図8F)ステップ13:マニュアルの作成者が、エディタ上で、画面情報取得モードを解除して通常動作モードへ遷移するためのタグである終了タグ</UICONTROL>を入力する。
ステップ13は、図7Fに記載のステップ13と同様であるので、ここではその説明を援用する。
(図8F)ステップ14:コンピュータ(101)は、プログラム製品を画面情報取得モードから通常動作モードへ遷移する。
ステップ14は、図7Fに記載のステップ14と同様であるので、ここではその説明を援用する。
(図8G)ステップ15:マニュアルの作成者は、エディタ上で、取り込んだ文字列{計画項目}についての説明を記述する。
マニュアルの作成者は、エディタ上で、取り込んだ文字列{計画項目}についての説明を、上記終了タグ</UICONTROL>に隣接して記述する。画面(815)は、「開発チームによるビジネス組織に対するコミットメントを記録します。」という説明が入力されたことを示す。
(図8G)ステップ16:マニュアルの作成者は、ステップ8から開始して、残りの画面文字列に対応する日本語訳をエディタ上に取り込む作業を繰り返す。コンピュータ(101)は、画面文字列管理テーブルを更新する。
マニュアルの作成者は、次にマニュアル(日本語版)中に取り込みたい画面文字列の原語が{Risk}である為に、プログラム製品を図8Fに示す画面(814)から遷移しなくてよい。画面文字列{Risk,Risk Action,Issue,Milestone}の各項目について、ステップ8〜ステップ15に示す同様の操作が行われる。
画面文字列管理テーブル(816)は、画面文字列{Risk,Risk Action,Issue,Milestone}の各項目について、ステップ8〜ステップ15に示す同様の操作をした結果、更新されたものを示す。
(図8H)ステップ17:マニュアルの作成者が、エディタ上で、取り込んだ文字列{マイルストーン}についての説明の記述を終了した後のエディタの画面表示である。
マニュアルの作成者は、取り込んだ文字列{マイルストーン}についての説明の記述を終了した後に、当該編集済みのマニュアル・ファイルを記憶装置(108)に保存する。
(図8H)ステップ18:上記編集済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した例、又は用紙に印刷した例である。
画面(818)は、上記編集済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した画面例である。または、印刷物(818)は、上記編集済みのマニュアル・ファイルを呼び出して、プリンターで印刷したものである。
(図8I)ステップ19:プログラム製品の開発者が、当該プログラム製品のリリース前に画面文字列を変更する。
プログラム製品の開発者は、上記メッセージ・ファイル(801)を「/com/ibm/foo/bar/mes.properties」から呼び出し、当該メッセージ・ファイル(801)中の画面文字列{Plan Item}を{Business Needs}に変更したとする(819)。
コンピュータ(101)は、上記変更後のメッセージ・ファイル(819)がプログラム製品(英語版)中に組み込まれていることに応じて、画面(820)を表示する。画面(820)中の点線部は、画面(802)中の画面文字列{Plan Item}が{Business Needs}に変更されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図8I)ステップ20:コンピュータ(101)が、ステップ19での画面文字列の変更情報を画面文字列管理テーブル(816,図8G)へ通知する。
コンピュータ(101)は、上記メッセージ・ファイル(801)中の画面文字列{Plan Item}が{Business Needs}に変更されたことに応じて、当該変更に関する情報をSCMにチェックインする。コンピュータ(101)は、当該変更に関する情報がSCMにチェックインされることに応じて、変更情報を画面文字列管理テーブル(816)に通知する。変更情報は、マスターID、言語情報(例えば、言語ID)、変更前の画面文字列{Plan Item}、及び変更後の画面文字列{Business Needs}を含む。
(図8I)ステップ21:コンピュータ(101)が、ステップ20で通知された変更情報に基づいて、画面文字列管理テーブル(816,図8G)を更新する。
コンピュータ(101)は、変更情報中のマスターID(Key_202)、言語ID(English)及び変更前の画面文字列が、画面文字列管理テーブル(816)中のマスターID(Key_202)、言語ID(English)及び画面文字列{Plan Item}のセットを含む行と一致することに応じて、当該一致する行の画面文字列{Plan Item}を{Business Needs}に置換する。すなわち、上記メッセージ・ファイル(801)中の画面文字列の変更が画面文字列管理テーブル(816)に反映される。よって、画面文字列管理テーブル(816)中の画面文字列が変更後の画面文字列に同期される。画面文字列管理テーブル(816)中のその他の項目(マスターID、言語ID、カテゴリ情報、プログラム製品上での出現位置情報及びアプリケーション上での出現位置情報)に変更はない。画面文字列管理テーブル(821)中の点線部で囲まれた文字列「Business Needs」は、画面文字列{Plan Item}が{Business Needs}に置換されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
また、コンピュータ(101)は、変更情報中のマスターID(Key_202)が、画面文字列管理テーブル(816)中のマスターID(Key_202)、言語ID(Japanese)及び画面文字列(計画項目)のセットを含む行のマスターID(Key_202)と一致することに応じて、当該一致する行の画面文字列(計画項目)を{Business Needs}に対応する日本語訳(ビジネス・ニーズ)に置換する。すなわち、上記メッセージ・ファイル(801)中の画面文字列の変更が画面文字列管理テーブル(816)中の対応する日本語訳に反映される。よって、画面文字列管理テーブル(816)中の画面文字列(計画項目)が変更後の画面文字列に対応する日本語訳(ビジネス・ニーズ)に同期される。{Business Needs}に対応する日本語訳(ビジネス・ニーズ)は、コンピュータ(101)が上記変更された画面文字列{Business Needs}(英語)を翻訳辞書データベース又は翻訳辞書データを参照して自動翻訳したものでありうる。代替的には、コンピュータ(101)は、上記変更された画面文字列{Business Needs}(英語)に対応する日本語訳をユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記変更された画面文字列{Business Needs}(英語)の日本語訳としうる。さらに、代替的には、コンピュータ(101)は、マスター・テーブル(803)の当該画面文字列(英語)に関連付けられたマスターID、ファイル内ID並びにSCM位置情報と画面文字列管理テーブル(804)の当該マスターIDおよび当該言語ID(Japanese)を組み合わせて日本語版のメッセージ・ファイルを特定し、当該メッセージ・ファイル(日本語)内に当該ファイル内IDを含む画面文字列が存在する場合には、当該画面文字列(日本語)を上記画面文字列(英語)の日本語訳としうる。画面文字列管理テーブル(816)中のその他の項目(マスターID、言語ID、カテゴリ情報、プログラム製品上での出現位置情報及びアプリケーション上での出現位置情報)に変更はない。画面文字列管理テーブル(821)中の点線部で囲まれた文字列「ビジネス・ニーズ」は、画面文字列に対応する日本語訳(計画項目)が{ビジネス・ニーズ}に置換されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
なお、上記メッセージ・ファイル(801)中の画面文字列{Plan Item}が{Business Needs}に変更された場合であっても、マスター・テーブル(803)に変更はない。
(図8J)ステップ22:コンピュータ(101)は、エディタ上にマニュアル(日本語版)の電子データ(例えば、電子ファイル)がロードされることに応じて、画面文字列管理テーブル(821)を参照し、画面文字列管理テーブル(821)中で変更があった文字列に対応するエディタ上の文字列を更新する。
コンピュータ(101)は、画面文字列管理テーブル(816)が更新されることに応じて又はマニュアル(日本語版)の電子データの読み取り要求に応じて、エディタ上にマニュアル(日本語版)の電子データをロードする。そして、コンピュータ(101)は、画面文字列管理テーブル(821)を参照して、当該画面文字列管理テーブル(821)中の変更された画面文字列に関連付けられたアプリケーション上での出現位置情報に基づいてエディタ上での対応する変更前の文字列がある位置を突き止め、そして突き止めた位置にある文字列{計画項目}を変更後の文字列{ビジネス・ニーズ}に置換する。エディタ上での画面(822)中の点線部は、文字列{計画項目}が変更後の文字列{ビジネス・ニーズ}に自動更新されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図8J)ステップ23:上記画面文字列に対応する日本語訳を置換済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した例、又は用紙に印刷した例である。
画面(823)は上記画面文字列に対応する日本語訳を置換済みのマニュアル・ファイルをメモリ(103)上に読み込んで画面上に表示した画面例である。または、印刷物(823)は、上記画面文字列に対応する日本語訳を置換済みのマニュアル・ファイルを呼び出して、プリンターで印刷したものである。画面(823)中又は印刷物(823)中の点線部は、文字列{計画項目}が変更後の文字列{ビジネス・ニーズ}に自動更新されていることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
(図8K)ステップ24:マニュアルの作成者が、上記画面文字列に対応する日本語訳を置換済みのマニュアル・ファイルにおいて、当該置換済みの文字列を選択する。
コンピュータ(101)は、エディタ上での画面(822)において、変更後の文字列{ビジネス・ニーズ}をマニュアルの作成者が視認しやすいように表示する。コンピュータ(101)は例えば、変更後の文字列{ビジネス・ニーズ}を他の文字列と異なる文字色に変更したり、点滅させたりしうる。
マニュアルの作成者は、変更後の文字列{ビジネス・ニーズ}がプログラム製品の画面上のどの画面文字列に対応するかを確認したいとする。マニュアルの作成者は、エディタ上で上記変更後の文字列{ビジネス・ニーズ}を例えばポインティング・デバイスで選択する。
(図8K)ステップ25:コンピュータ(101)が、プログラム製品(英語版)上で、上記選択された文字列{ビジネス・ニーズ}に対応する画面文字列をマニュアルの作成者が視認しやすいように表示し、又は、プログラム製品(日本語版)上で、上記選択された文字列{ビジネス・ニーズ}をマニュアルの作成者が視認しやすいように表示する。
コンピュータ(101)は、エディタ上で上記変更後の文字列{ビジネス・ニーズ}が選択されることに応じて、プログラム製品が英語版である場合に、当該変更後の文字列{ビジネス・ニーズ}に関連付けられたマスターIDが画面文字列管理テーブル(821)中のマスターIDと一致するかどうかを判断する。コンピュータ(101)は、上記一致することに応じて、画面文字列管理テーブル(821)中の上記一致する組み合わせを含む行に関連付けられたプログラム製品(英語版)(825)上での出現位置情報を読み出す。コンピュータ(101)は、上記読み出した出現位置情報に関連付けられた画面文字列(上記選択された文字列{ビジネス・ニーズ}の原語{Business Needs}に一致する)をマニュアルの作成者が視認しやすいように表示する。コンピュータ(101)は例えば、当該読み出した出現位置情報に関連付けられた画面文字列{Business Needs}を他の文字列と異なる文字色に変更したり、点滅させたりしうる。画面(825)中の点線部は、画面文字列{Business Needs}が点滅していることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
コンピュータ(101)は、エディタ上で上記変更後の文字列{ビジネス・ニーズ}が選択されることに応じて、プログラム製品が日本語である場合に、当該変更後の文字列{ビジネス・ニーズ}に関連付けられたマスターIDが、又は、当該変更後の文字列{ビジネス・ニーズ}に関連付けられたマスターID、言語ID及び当該変更後の文字列{ビジネス・ニーズ}の組み合わせが画面文字列管理テーブル(821)中のマスターID、言語ID及び当該変更後の文字列{ビジネス・ニーズ}の組み合わせと一致するかどうかを判断する。コンピュータ(101)は、上記一致することに応じて、画面文字列管理テーブル(821)中の上記一致する組み合わせを含む行に関連付けられたプログラム製品(日本語版)(826)上での出現位置情報を読み出す。コンピュータ(101)は、上記読み出した出現位置情報に関連付けられた画面文字列(上記選択された文字列{ビジネス・ニーズ}に一致する)をマニュアルの作成者が視認しやすいように表示する。コンピュータ(101)は例えば、当該読み出した出現位置情報に関連付けられた画面文字列{ビジネス・ニーズ}を他の文字列と異なる文字色に変更したり、点滅させたりしうる。画面(826)中の点線部は、画面文字列{ビジネス・ニーズ}が点滅していることを示す。なお、当該点線部は、説明を容易にする為に付されたものである。
上記ステップ24及びステップ25の操作を通じて、マニュアルの作成者は、プログラム製品中のどの画面文字列が変更されたかを容易に確認することが可能である。
図8L〜図8Nはそれぞれ、図8A〜図8Kに示す各ステップのうち、図8B〜図8Eに示すステップ4、7、11及び12の代替例を示す。ステップ4、7、11及び12の代替例は、画面文字列管理テーブル中の画面文字列に対応する日本語訳を含む行がユーザによりプログラム製品上の画面文字列が選択されることに応じて挿入される態様を示す。
(図8L)ステップ4(代替例):コンピュータ(101)が画面文字列管理テーブルを用意し、データの一部をメッセージ・ファイル及びマスター・テーブルから入力する。
図8Lに示すステップ4(代替例)において、図7Bに示すステップ4と同様にして、コンピュータ(101)が画面文字列管理テーブルを用意し、データの一部をメッセージ・ファイル及びマスター・テーブルから入力する。画面文字列管理テーブル(804−1)は、画面文字列管理テーブル(704)と同じであり、一方、画面文字列管理テーブル(804)と異なり、画面文字列(英語)に対応する日本語訳を含む行を予め有していない。
(図8M)ステップ7(代替例):コンピュータ(101)が、ステップ6の上記編集中に画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Project Change Request}に対応する日本語訳の項目についての日本語の説明文の作成が終了したことに応じて、画面文字列管理テーブルを更新する。画面文字列管理テーブル(807−1)は、上記作成の終了に応じて更新された際のものである。画面文字列管理テーブル(807−1)は、画面文字列{Defect,Task,Project Change Request}の各項目について、カテゴリ情報、プログラム製品上の出現位置情報(第1の出現位置情報)、及びアプリケーション上での出現位置情報(第2の出現位置情報)の各情報、並びに、既にエディタ上で画面文字列{Defect,Task,Project Change Request}に対応する日本語訳の取り込みが終了している当該画面文字列{Defect,Task,Project Change Request}に対応する日本語訳の各項目について、カテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報の各情報を有している。画面文字列{Defect,Task,Project Change Request}の各項目についてのカテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報は、画面文字列{Defect,Task,Project Change Request}に対応する各項目についてのカテゴリ情報、プログラム製品上の出現位置情報、及びアプリケーション上での出現位置情報と同じである。
(図8N)ステップ11(代替例):コンピュータ(101)は、画面文字列の選択に応じて、エディタ上に当該選択された画面文字列に対応する日本語訳(翻訳文字列)を入力する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(807)を参照して、当該選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有する行の文字列(すなわち、画面文字列{Plan Item})を取り出す。そして、コンピュータ(101)は、当該取り出した画面文字列{Plan Item}に対応する日本語訳{計画項目}を翻訳辞書データベース又は翻訳辞書データを参照して取り出す。代替的には、コンピュータ(101)は、上記画面文字列{Plan Item}に対応する日本語訳をユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記画面文字列(英語)の日本語訳としうる。さらに、代替的には、コンピュータ(101)は、マスター・テーブル(803)の当該画面文字列(英語)に関連付けられたマスターID、ファイル内ID並びにSCM位置情報と画面文字列管理テーブル(804)の当該マスターIDおよび当該言語ID(Japanese)を組み合わせて日本語版のメッセージ・ファイルを特定し、当該メッセージ・ファイル(日本語)内に当該ファイル内IDを含む画面文字列が存在する場合には、当該画面文字列(日本語)を上記画面文字列(英語)の日本語訳としうる。
コンピュータ(101)は、画面文字列管理テーブル中に、上記選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有する行をさらにもう1つ挿入する。当該挿入された行は、選択された画面文字列{Plan Item}と同一のマスターID、選択された画面文字列{Plan Item}に対応する日本語訳{計画項目}の言語ID(Japanese)及び選択された画面文字列{Plan Item}に対応する日本語訳{計画項目}を少なくとも有する。
そして、コンピュータ(101)は、上記挿入された行を持つ画面文字列管理テーブル(807)を参照して、当該選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)を有し、且つ、当該エディタ上で編集中のマニュアル・ファイルに関連付けられた言語IDを有する行の文字列(すなわち、画面文字列{Plan Item}に対応する日本語訳「計画項目」)を取り出す。そして、コンピュータ(101)は、当該取り出した日本語訳「計画項目」を、エディタ上での画面(811)に見られるように、開始タグ<UICONTROL id=”015”>に隣接して入力する「<UICONTROL id=”015”> 計画項目」。
また、コンピュータ(101)は、画面文字列管理テーブル(807)を参照して、上記選択された画面文字列{Plan Item}に関連付けられたマスターID(Key_202)をエディタ上に取り込み、例えば上記入力された文字列「計画項目」に隣接して、当該取り込んだマスターID(Key_202)を入力する「<UICONTROL id=”015”>計画項目<Resource_ID>Key_202 </Resource_ID>」。コンピュータ(101)は、エディタ上にマスターID(Key_202)が入力されることに応じて、エディタ上のカーソルを終了タグ </Resource_ID> の直後に移動する。
(図8N)ステップ12(代替例):コンピュータ(101)は、画面文字列管理テーブルを更新する。
コンピュータ(101)は、画面文字列{Plan Item}が選択されることに応じて、画面文字列管理テーブル(807,図8C)を更新する。コンピュータ(101)は、画面文字列管理テーブル(807)中、選択された画面文字列{Plan Item}と一致する文字列、マスターID及び言語IDの組み合わせを含む行、並びに、選択された画面文字列{Plan Item}と同一のマスターIDを有する行(すなわち、上記ステップ11(代替例)において追加された行)において、カテゴリ情報、及びアプリケーション上での出現位置情報の各項目中にデータを、以下の通りにして入力する。コンピュータ(101)は、上記カテゴリ情報のデータをプログラム製品から自動的に取得する。代替的には、コンピュータ(101)は、上記カテゴリ情報のデータをユーザが入力するように促すウィンドウを表示装置上に表示し、そして当該ウィンドウに入力されたデータを上記カテゴリ情報の項目中に入力する。また、コンピュータ(101)は、アプリケーション上での出現位置情報を、マスター・テーブル(803)内の当該マスターIDに関連付けられたプロジェクトID(XYZ0012)、マニュアルの電子ファイルの格納位置情報及びファイル名(/com/ibm/foo/bar/WorkItem.Dita)、並びに、エディタの電子ファイル中において特定される標識文字列(開始タグ<UICONTROL>)及びエディタの表示画面中に埋め込まれたトリガー識別子(_015)によって特定する。なお、コンピュータ(101)は、日本語版のプログラム製品上での出現位置情報を、現時点では持ち合わせていないので、現時点では入力しない(すなわち、ブランクにしておく)。コンピュータ(101)は、日本語版のプログラム製品上での上記出現位置情報を例えば、日本語版のプログラム製品が起動されることに応じて入力しうる。代替的には、コンピュータ(101)は、日本語版のプログラム製品上での上記出現位置情報を例えば、英語版のプログラム製品上での出現位置情報を参考情報として入力するか、又は、英語版のプログラム製品上での出現位置情報を参考情報として入力するかどうかをユーザが選択可能なダイアログを表示装置上に表示しうる。
画面文字列管理テーブル(812−1)は、マスターIDがKey_202である2つの行において、上記したカテゴリ情報、プログラム製品上での出現位置情報(文字列{Plan Item}を含む行のみ)、及びアプリケーション上での出現位置情報の各項目中にデータが入力されて、画面文字列管理テーブル(807)が更新された後の画面文字列管理テーブルを示す。画面文字列管理テーブル(812−1)において、画面文字列管理テーブル中の画面文字列に対応する日本語訳を含む行がユーザによりプログラム製品上の画面文字列が選択されることに応じて挿入されている。従って、画面文字列管理テーブル(812−1)は、当該挿入が行われたマスターIDにおいて、同じマスターID毎に、英語の文字列と当該英語の文字列に対応する日本語訳の文字列の2つの行を有している。
図9A〜図9Fは、本発明の実施態様に従い、英語版のプログラム製品に対応する日本語版のプログラム製品を開発している段階で、英語版のプログラム製品中の画面文字列が日本語版のプログラム製品中の訳語と日本語版のマニュアル中の訳語との間で異なる訳語に訳されている場合に、日本語版のプログラム製品中の訳語と日本語版のマニュアル中の訳語との間で訳語の整合性を保つ例を示す。
(図9A)ステップ1−1:英語版のプログラム製品の開発者が画面文字列を決定する。
ステップ1−1は、図7Aに記載のステップ1と同様であるので、ここではその説明を援用する。但し、英語版のプログラム製品の開発者が使用しているコンピュータをコンピュータAとする。コンピュータAは、図1に示すコンピュータ(101)と同様のハードウェア構成を備えている。
(図9A)ステップ2−1:コンピュータ(101)が、プログラム製品(英語版)の画面上で画面文字列を表示する。
コンピュータAは、上記メッセージ・ファイル(901)がプログラム製品(英語版)中に組み込まれていることに応じて、画面(902)を表示する。画面(902)は、上記メッセージ・ファイル(901)中の各画面文字列をメニュー・バー中の項目「Work Items」下にある「Create Work Item」中の画面文字列として有する。
(図9A)ステップ1−2:日本語版のプログラム製品の開発者が上記画面文字列を対応する日本語に翻訳する。
ステップ1−2:日本語版のプログラム製品の開発者(英語版のプログラム製品の開発者と異なる)は、英語版のプログラム製品の開発者と並行して、プログラム製品(英語版)の日本語化への移植作業をしているとする。日本語版のプログラム製品の開発者は、英語版のプログラム製品の開発者が作成したメッセージ・ファイル(901)を読み出して、当該読み出したメッセージ・ファイル(901)中の上記画面文字列(英語)を対応する日本語に翻訳する。メッセージ・ファイル(951)は、上記画面文字列(英語)が対応する日本語に翻訳された翻訳文字列を含む。日本語版のプログラム製品の開発者は、画面文字列{Issue}に対応する日本語訳として「課題」を入力した。
(図9A)ステップ2−2:コンピュータ(101)が、プログラム製品(日本語版)の画面上で画面文字列を表示する。
日本語版のプログラム製品の開発者が使用しているコンピュータをコンピュータBとする。コンピュータBは、図1に示すコンピュータ(101)と同様のハードウェア構成を備えている。コンピュータBは、上記メッセージ・ファイル(951)がプログラム製品(日本語版)中に組み込まれていることに応じて、画面(952)を表示する。画面(952)は、上記メッセージ・ファイル(951)中の各画面文字列に対応する日本語訳をメニュー・バー中の項目「ワーク・アイテム」下にある「ワーク・アイテムの生成」中の画面文字列として有する。
(図9B)ステップ3:コンピュータ(101)がマスター・テーブルを用意し、マスター・テーブルにデータを入力する。
コンピュータAは、上記メッセージ・ファイル(901)の内容をマスター・テーブル(903)に反映する為に、マスター・テーブル(903)を記憶装置(108)内又はメモリ(103)上に用意する。マスター・テーブル(903)は、マスターID、ファイル内ID、SCM位置情報、及び、プロジェクトIDの組み合わせを含むセットを少なくとも1つ含む。マスター・テーブル(903)中の上記セットは、少なくともマスターID及びファイル内IDの組み合わせを含みうる。
コンピュータBは、メッセージ・ファイル(951)の翻訳元であるメッセージ・ファイル(901)に基づいてマスター・テーブル(903)が既に作成されているので、上記メッセージ・ファイル(951)に基づいてマスター・テーブルを作成しない。
(図9C)ステップ4−1:コンピュータAが画面文字列管理テーブルを用意し、データの一部をメッセージ・ファイル及びマスター・テーブルから入力する。
コンピュータAは、上記マスター・テーブル(903)のマスターIDを画面文字列管理テーブル(904)にコピーする為に、画面文字列管理テーブル(904)を記憶装置(108)内又はメモリ(103)上に用意する。画面文字列管理テーブル(904)は、マスターID;言語ID;文字列;カテゴリ情報;プログラム製品上での出現位置情報;及び、アプリケーション上での出現位置情報の組み合わせを含むセットを少なくとも1つ含む。
(図9C)ステップ4−2:コンピュータBが画面文字列管理テーブル(904)中に、データの一部をメッセージ・ファイル(951)から入力する。
コンピュータBは、画面文字列管理テーブル(904)が既に記憶装置(108)内又はメモリ(103)上に用意されていることから、メッセージ・ファイル(951)中のファイル内IDによって特定されるマスターIDを上記マスター・テーブル(903)から検出する。コンピュータBは、特定したマスターIDを有する行を画面文字列管理テーブル(904)中に挿入する。そして、コンピュータBは、上記マスター・テーブル(903)と上記メッセージ・ファイル(951)とを参照し、挿入したマスターIDに関連付けられた文字列(日本語)及び言語ID(Japanese)を画面文字列管理テーブル中に入力する。従って、画面文字列管理テーブル(905)は、同じマスターID毎に、英語の文字列と当該英語の文字列に対応する日本語訳の文字列の2つの行を有している。画面文字列管理テーブル(905)は、メッセージ・ファイル(951)中の「課題」という文字列を有している。
画面文字列管理テーブル(905)において、言語IDがEnglishについてのカテゴリ情報、プログラム製品上での出現位置情報、及びアプリケーション上での出現位置情報)の各項目のデータがブランクとなっている。しかしながら、図7Cのステップ7又は図8Cのステップ7が既に実行されている場合には、画面文字列管理テーブル(905)中の言語IDがEnglishについてのカテゴリ情報、プログラム製品上での出現位置情報、及びアプリケーション上での出現位置情報)の各項目のデータが入力済みである。
(図9D)ステップ5:コンピュータAは、マスターIDが付加されたビルドを生成する。
ステップ5は、図7Aに記載のステップ5と同様であるので、ここではその説明を援用する。
(図9D)ステップ6:プログラム製品の日本語版マニュアルの作成者が、エディタ上でマニュアル(日本語版)を英語版のプログラム製品の画面に基づいて作成中である。
プログラム製品の日本語版マニュアルの作成者(日本語版のプログラム製品の開発者と異なる)は、日本語版のプログラム製品の開発者とは別途に、マニュアル(日本語版)を英語版のプログラム製品の画面に基づいて作成中である。エディタの画面(907)は、上記日本語版マニュアルの作成者が英語版のプログラム製品(902)を参照して翻訳中のものである。上記日本語版マニュアルの作成者は、本発明の実施態様に従う画面情報取得モードにおいて、画面文字列「障害」、「タスク」、「プロジェクト変更要求」、「計画項目」、「リスク」、「リスク・アクション」及び「問題」をエディタ上に取り込んでいるか;、英語版のプログラム製品(902)を直接参照して、画面文字列「障害」、「タスク」、「プロジェクト変更要求」、「計画項目」、「リスク」、「リスク・アクション」及び「問題」をエディタ上に入力しているか;、又は、上記エディタ上への上記取り込み及び上記エディタ上への入力とを組み合わせて、画面文字列「障害」、「タスク」、「プロジェクト変更要求」、「計画項目」、「リスク」、「リスク・アクション」及び「問題」をエディタ上に入力しているとする。日本語版マニュアルの作成者は、エディタ上において、画面文字列{Issue}に対応する日本語訳として「問題」を標識文字列の開始タグ<UICONTROL>に隣接して入力したとする。
日本語版マニュアルの作成者が使用しているコンピュータをコンピュータCとする。コンピュータCは、図1に示すコンピュータ(101)と同様のハードウェア構成を備えている。
(図9E)ステップ7:コンピュータCは、エディタ上に入力された文字列と画面文字列管理テーブル(908)中の文字列とを比較する。
コンピュータCは、標識文字列の開始タグ<UICONTROL>に隣接して文字列「問題」が入力されたことに応じて、画面文字列管理テーブルを参照する。画面文字列管理テーブル(908)は、コンピュータCが参照した際におけるものである。コンピュータCは、上記入力された文字列「問題」に関連付けられたマスターIDがKey_205であることから、画面文字列管理テーブル(908)中のマスターIDがKey_205であり、且つ言語IDがJapaneseである行を参照する。コンピュータCは、当該参照した行の文字列が「課題」であることを検出する。コンピュータCは、上記入力された文字列「問題」が上記参照した行の文字列「課題」と異なることを検出する。
(図9F)ステップ8:コンピュータCは、エディタ上に入力された文字列を画面文字列管理テーブル(908)中の文字列に置換する。
コンピュータCは、上記入力された文字列「問題」が上記参照した行の文字列「課題」と異なることを検出したことに応じて、エディタ上の上記入力された文字列「問題」を上記参照した行の文字列「課題」で置換する。
上記置換によって、日本語版のプログラム製品(952)の画面文字列「課題」と日本語版のマニュアル(909)中の置換後の文字列「課題」との間で整合性が図られている。
図9に示す上記例では、日本語版のプログラム製品上の画面文字列(訳語)がマニュアル上の文字列(訳語)との間で異なるように訳される場合に、マニュアル上の文字列(訳語)が日本語版のプログラム製品上の画面文字列(訳語と整合する例を示した。その他の実施態様として、例えば英語版のマニュアルの作成者が英語版のプログラム製品上の例えばUI文字列「Issue」を英語版のマニュアル上に「Issues」と間違って転記したことにより、日本語版のプログラム製品の開発者は上記UI文字列「Issue」をUI文字列「問題」と訳し、一方、日本語版のマニュアルの作成者が上記英語版のマニュアル上の文字列「Issues」を「問題群」と訳す場合において、コンピュータCは、図9に示す上記と同様にして、日本語版のマニュアル上の訳語(すなわち、「問題群」)を日本語版のプログラム製品上の訳語(すなわち、「問題」)に置換する。当該置換によって、日本語版のプログラム製品上の画面文字列「問題」と日本語版のマニュアル上の置換後の文字列「問題」との間で整合性が図られている。
図10A及び図10Bはそれぞれ、本発明の実施態様に従い、プログラム製品のマニュアル作成を支援する為の処理を示すフローチャートを示す。
図10Aは、本発明の実施態様に従い、プログラム製品を稼働しているコンピュータがプログラム製品のマニュアル作成を支援する為の処理を示すフローチャートを示す。
ステップ1001において、コンピュータ(101)は、プログラム製品のマニュアル作成を支援する為の処理を開始する。
ステップ1002において、コンピュータ(101)は、マニュアル作成の対象であるプログラム製品を起動する。プログラム製品は通常動作モードで稼働している。
ステップ1003において、コンピュータ(101)は、上記マニュアル作成を支援する為のマニュアル作成支援プラグイン・アプリケーション(プログラム製品用)を有効化する。
ステップ1004において、コンピュータ(101)は、トリガーを受信する。
ステップ1005において、コンピュータ(101)は、上記受信したトリガーがプログラム製品を通常動作モードから画面情報取得モードへ遷移する為のトリガーであるかを判断する。コンピュータ(101)は、上記受信したトリガーが画面情報取得モードへ遷移する為のトリガーであることに応じて、処理をステップ1006に進める。一方、コンピュータ(101)は、上記受信したトリガーが画面情報取得モードへ遷移する為のトリガーでないことに応じて、処理をステップ1010に進める。
ステップ1006において、コンピュータ(101)は、通常動作モードから画面情報取得モードへ遷移する。
ステップ1007において、コンピュータ(101)は、プログラム製品の画面文字列の情報を提供するトリガー(例えば、ユーザによる画面文字列の選択)を受信したかどうかを判断する。コンピュータ(101)は、当該トリガーを受信したことに応じて、処理をステップ1008に進める。一方、コンピュータ(101)は、例えば一定期間当該トリガーを受信しないことに応じて、処理をステップ1009に進める。
ステップ1008において、コンピュータ(101)は、プログラム製品の画面文字列の情報を提供するトリガーを受信したことに応じて、ユーザによって選択された画面文字列の情報をエディタに送信する。
ステップ1009において、コンピュータ(101)は、画面情報取得モードを終了するかどうかを判断する。コンピュータ(101)は、画面情報取得モードを終了することに応じて、処理をステップ1010に進める。一方、コンピュータ(101)は、画面情報取得モードを終了しないことに応じて、処理をステップ1007に戻す。
ステップ1010において、コンピュータ(101)は、プログラム製品を終了するかどうかを判断する。コンピュータ(101)は、プログラム製品を終了することに応じて、処理を終了ステップ1011に進める。一方、コンピュータ(101)は、プログラム製品を終了しないことに応じて、処理をステップ1004に戻す。
ステップ1011において、コンピュータ(101)は、プログラム製品のマニュアル作成を支援する為の処理を終了する。
図10Bは、本発明の実施態様に従い、マニュアル作成のためのアプリケーション(例えば、エディタ)を稼働しているコンピュータがプログラム製品のマニュアル作成を支援する為の処理を示すフローチャートを示す。
ステップ1021において、コンピュータ(101)は、プログラム製品のマニュアル作成を支援する為の処理を開始する。
ステップ1022において、コンピュータ(101)は、エディタを起動する。
ステップ1023において、コンピュータ(101)は、上記マニュアル作成を支援する為のマニュアル作成支援プラグイン・アプリケーション(エディタ用)を有効化する。
ステップ1024において、コンピュータ(101)は、エディタ上で、マニュアル作成の為の入力を受信する。コンピュータ(101)は、当該入力が文字列の場合には、エディタ上に、当該入力された文字列を表示する。
ステップ1025において、コンピュータ(101)は、上記入力がプログラム製品を通常動作モードから画面情報取得モードへ遷移する為のトリガーであるかどうかを判断する。コンピュータ(101)は、上記入力が上記画面情報取得モードへ遷移する為のトリガーであることに応じて、処理をステップ1026に進める。一方、コンピュータ(101)は、上記入力が上記画面情報取得モードへ遷移する為のトリガーでないことに応じて、処理をステップ1031に進める。
ステップ1026において、コンピュータ(101)は、上記入力が上記開始命令であることに応じて、プログラム製品に、画面情報取得モードへ遷移する為の開始命令を送信する。
ステップ1027において、コンピュータ(101)は、プログラム製品から画面文字列の情報を受信したかどうかを判断する。コンピュータ(101)は、画面文字列の情報を受信したことに応じて、処理をステップ1028に進める。一方、コンピュータ(101)は、画面文字列の情報を受信しなかったことに応じて、処理をステップ1029に進める。
ステップ1028において、コンピュータ(101)は、画面文字列の情報を受信したことに応じて、当該画面文字列をエディタ上に入力し、さらに、当該画面文字列の情報に基づいて、画面文字列管理テーブルを更新する。
ステップ1029において、コンピュータ(101)は、プログラム製品を画面情報取得モードから通常動作モードへ遷移する為のトリガーを受信したかどうかを判断する。コンピュータ(101)は、上記通常動作モードへ遷移する為のトリガーを受信したことに応じて、処理をステップ1030に進める。一方、コンピュータ(101)は、上記通常動作モードへ遷移する為のトリガーを受信していないことに応じて、処理をステップ1027に戻す。
ステップ1030において、コンピュータ(101)は、上記通常動作モードへ遷移する為のトリガーを受信したことに応じて、プログラム製品に、画面情報取得モードを終了するための終了命令を送信する。
ステップ1031において、コンピュータ(101)は、エディタを終了するかどうかを判断する。コンピュータ(101)は、エディタを終了することに応じて、処理を終了ステップ1032に進める。一方、コンピュータ(101)は、エディタを終了しないことに応じて、処理をステップ1024に戻す。
ステップ1032において、コンピュータ(101)は、プログラム製品のマニュアル作成を支援する為の処理を終了する。
図11A及び図11Bは、本発明の実施態様に従い、プログラム製品と、マニュアル作成のためのアプリケーション(例えば、エディタ)と、当該プログラム製品と当該マニュアル作成のためのアプリケーションとの間で用語の整合性を保ちながらプログラム製品のマニュアル作成を支援する為のエージェントとの間において、プログラム製品のマニュアル作成を支援する処理の為のフローチャートを示す。
エージェント(1130)は、エディタ(1110)上での入力が円滑に行われるようにする為に、プログラム製品(1100)とエディタ(1110)との間に存在し、プログラム製品(1100)とエディタ(1110)とが当該エージェント(1130)を介して協調動作するようにする為に設けられたものである。
エージェント(1130)は、プログラム製品(1100)とエディタ(1110)とが同じコンピュータ上で稼働している場合には、当該同じコンピュータ上に実装されうる。エージェント(1130)は、プログラム製品(1100)とエディタ(1110)とが異なるコンピュータ上で稼働している場合には、当該エージェント(1130)はプログラム製品(1100)が稼働しているコンピュータ又はエディタ(1110)が稼働しているコンピュータのいずれかに又は両方のコンピュータ上に実装されてもよい。エージェント(1130)は例えば、プログラム製品(1100)のプラグイン・アプリケーションとして、エディタ(1110)のプラグイン・アプリケーションとして、又は、プログラム製品(1100)及びエディタ(1110)とは独立のアプリケーションとして実装されうる。
マニュアルの作成者は、エージェント(1130)及びエディタ(1110)をそれぞれ起動する(1131,1111)。エージェント(1130)は、任意的に、マニュアルの作成対象であるプログラム製品(1100)(以下、「対象プログラム製品」という)が起動していない場合には、当該プログラム製品を起動し(1101)、当該プログラム製品をエージェント(1130)の管理下におく。エージェント(1130)は、任意的に、対象プログラム製品(1100)が起動している場合には、当該起動している対象プログラム製品(1100)をそのまま使用し、当該起動している対象プログラム製品(1100)をエージェント(1130)の管理下におく。
エージェント(1130)は、エディタ(1110)と上記対象プログラム製品(1100)とがプロセス間通信をする方法を宣言して登録する(1132)。プロセス間通信をする為に必要な宣言は例えば、エージェント(1130)と上記対象プログラム製品(1100)とが同一コンピュータ上にあるか又はネットワークを介して接続された異なるコンピュータ上にあるか;及び、プロセス間通信の通信手段(例えば、メモリ共有、ネットワーク情報(例えば、IPアドレス,ポート))である。
図11A及び図11Bの例では、1つのエディタ(1110)に1つのエージェント(1130)が接続される態様を示している。しかしながら、下記図12Aに示すように、1つのエディタ(1211)に複数のエージェント(1221,1222)が接続されて、1つのエディタ(1211)が複数のエージェント(1221,1222)からの登録を受け付けることも可能である。
また、図11A及び図11Bの例では、1つのエージェント(1130)に1つのプログラム製品(1100)が接続される態様を示している。しかしながら、下記図12Aに示すように、単一のエージェント(1221)が複数の対象プログラム製品(1201,1202)を登録することも可能である。
エディタ(1110)は、上記対象プログラム製品(1100)の宣言をエージェント(1130)から受信することに応じて、上記対象プログラム製品(1100)をエディタ上に登録する(1112)。
上記対象プログラム製品(1100)は、通常動作モードで動作している(1102)。
エディタ(1110)は、マニュアルの作成者がマニュアルの新規作成をすることに応じて、新規のマニュアル・ファイルを作成する。または、エディタ(1110)は、マニュアルの作成者が編集途中のマニュアルを編集することに応じて、当該編集途中のマニュアル・ファイルを格納場所から読み出す(1113)。マニュアルの作成者は、エディタ(1110)上で、上記対象プログラム製品(1100)についてのマニュアルを作成していく。マニュアルの作成者は、マニュアルのコンテンツ本文を作成しながら、必要に応じて、上記対象プログラム製品(1100)において当該マニュアルの作成に必要な画面を見る為に画面遷移を行う。
マニュアルの作成者は、上記対象プログラム製品(1100)の画面文字列を取得したいタイミング(例えば、マニュアル中に取り込みたい画面文字列を表示する画面に遷移したこと)に応じて、プログラム製品を通常動作モードから画面情報取得モードへ遷移する為のトリガーをエディタ上に入力する。
エディタ(1110)は、プログラム製品を通常動作モードから画面情報取得モードへ遷移する為のトリガー(例えば、標識文字列の開始タグ<UICONTROL>のエディタへの入力)をユーザから受信することに応じて、上記登録済みの通信手段を用いて、画面情報取得モードへ遷移する為の開始命令をエージェント(1130)に送信する(1114)。エディタ(1110)は、上記開始命令とともに、任意的に、プログラム製品(1100)からどのような画面情報を取得するかを設定した設定条件データを送信しうる。当該設定条件は例えば、プログラム製品(1100)上の選択された画面文字列、当該選択された画面文字列の他の特定された言語へ翻訳された翻訳文字列、上記選択された画面文字列に関連付けられた識別子、上記翻訳文字列に関連付けられた識別子、又はその他の属性でありうる。マニュアルの作成者は、上記設定条件データを、エディタ上から編集しうる。
エージェント(1130)は、上記開始命令を受信することに応じて、上記登録済みの通信手段を用いて、当該開始命令を上記対象プログラム製品(1100)に転送する(1133)。エージェント(1130)は、必要に応じて、上記開始命令を上記対象プログラム製品(1100)が理解可能なように翻訳した後に、当該翻訳した開始命令を上記対象プログラム製品(1100)に転送しうる(1133)。
上記対象プログラム製品(1100)は、上記開始命令を受信し(1103)、当該開始命令に従って、通常動作モードから画面情報取得モードへ遷移する(1104)。
上記対象プログラム製品(1100)は、画面情報取得モードにおいて、画面文字列がユーザによって選択されたことを受信する(1105)。
上記対象プログラム製品(1100)は、画面文字列がユーザによって選択されたことを受信することに応じて、上記登録済みの通信手段を用いて、上記選択された画面文字列の情報をエージェント(1130)に送信する(1106)。
エージェント(1130)は、上記画面文字列の情報を受信することに応じて、上記登録済みの通信手段を用いて、上記画面文字列の情報をエディタ(1110)に転送する(1134)。
エディタ(1110)は、上記画面文字列の情報を受信することに応じて(1115)、当該画面文字列をエディタ上に入力し(1116)、さらに、当該画面文字列の情報に基づいて、画面文字列管理テーブルを更新する(1117)。
エディタ(1110)は、上記対象プログラム製品(1100)を画面情報取得モードから通常動作モードへ遷移する為のトリガー(例えば、標識文字列の終了タグ</UICONTROL>のエディタへの入力)をユーザから受信することに応じて、上記登録済みの通信手段を用いて、画面情報取得モードを終了する為の終了命令をエージェント(1130)に送信する(1118)。
エージェント(1130)は、上記終了命令を受信することに応じて、上記登録済みの通信手段を用いて、上記終了命令を上記対象プログラム製品(1100)に転送する(1135)。
上記対象プログラム製品(1100)は、上記終了命令を受信し(1107)、当該終了命令に従って、画面情報取得モードから通常動作モードへ遷移する(1108)。
エージェント(1130)は、上記対象プログラム製品(1100)が通常動作モードへ遷移することに応じて、引き続き、マニュアルの作成を継続する。エージェント(1130)は、プログラム製品を通常動作モードから画面情報取得モードへ遷移する為のトリガーをユーザから再び受信することに応じて、上記処理を繰り返す。
エディタ(1110)は、上記対象プログラム製品(1100)のマニュアル作成を支援する為の処理を終了するという判断に応じて(例えば、エディタ上で編集中のマニュアル・データを閉じたことに応じて)、上記対象プログラム製品(1100)の登録をエディタ上から解除する(1119)。
エディタ(1110)は、上記対象プログラム製品(1100)の登録をエディタ上から解除したことをエージェント(1130)に通知する(1120)。
エージェント(1130)は、エディタ(1110)が上記対象プログラム製品(1100)の登録を解除したことに応じて、当該エージェント(1130)自身の上記対象プログラム製品(1100)の登録を解除する(1136)。
エージェント(1130)、上記対象プログラム製品(1100)及びエディタ(1110)はそれぞれ、上記対象プログラム製品(1100)のマニュアル作成を支援する為の処理を終了する(1137,1109,1121)。
図12A及び図12Bは、本発明の実施態様に従い、プログラム製品と、マニュアル作成のためのアプリケーション(例えば、エディタ)と、当該プログラム製品と当該マニュアル作成のためのアプリケーションとの間で用語の整合性を保ちながらプログラム製品のマニュアル作成を支援する為のエージェントとの接続関係(すなわち、プロセス間通信が可能になる接続関係)を示す図である。
図12Aは、エディタとエージェントとの接続関係、及び、エージェントとプログラム製品との接続関係を示す。
1つのエディタ(1211)は、1つのエージェント(1222)に接続されるだけでなく、複数のエージェントX及びY(1221,1222)に接続可能である(すなわち、エディタ:エージェント=1:M,Mは1以上の整数)。
単一のエージェント(1221)は、1つの対象プログラム製品(1203)に接続されるだけでなく、複数の対象プログラム製品(1201,1202)に接続可能である(すなわち、エージェント:対象プログラム製品=1:N,Nは1以上の整数)。
図12Bは、図12Aに示すエージェントX(1221)とエージェントY(1222)とが異なるコンピュータに実装されている例を示す。
マニュアルの作成者は、クライアント・コンピュータ(以下、「クライアントPC」という)(1231)を使用して、マニュアルの編集を行っている。
クライアントPC(1231)は、サーバ・コンピュータ(以下、「サーバPC」という)(1241)と無線又は有線ネットワークを介して接続されている。
クライアントPC(1231)は、エディタ(1211)、当該エディタ(1211)に接続されたエージェントX(1221)、並びに、当該エージェントX(1221)に接続されたプログラム製品A(1201)及びプログラム製品B(1202)を実装している。
サーバトPC(1241)は、エージェントY(1222)、及び、当該エージェントY(1222)に接続されたプログラム製品C(1203)を実装している。
クライアントPC(1231)上のエディタ(1211)は、同じクライアントPC(1231)上のエージェントX(1221)と接続可能であり、さらにサーバPC(1241)上のエージェントY(1222)と接続可能である。
クライアントPC(1231)は、サーバPC(1241)にリモート・デスクトップ接続し(1232)、当該サーバPC(1241)に実装されているプログラム製品C(1203)を当該クライアントPC(1231)上で操作することが可能である(1204)。
エディタ(1211)は、プログラム製品A(1201)及びプログラム製品B(1202)それぞれ上で選択された画面文字列を取得し、当該取得した画面文字列をエディタ(1211)上に入力することが可能である(1251)。また、エディタ(1211)は、プログラム製品C(1203)の画面文字列についてはリモート・デスクトップ機能を使用してプログラム製品C(1204)上で選択された文字列を取得し、当該取得した画面文字列をエージェントY(1222)との通信を介してエディタ(1211)上に入力することが可能である(1251)。
図13は、図1に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従うプログラム製品及びマニュアル作成のためのアプリケーション(例えば、エディタ)を実行する為のコンピュータの機能ブロック図の一例を示した図である。
コンピュータ(1301)は、プログラム製品実行手段(1311)、モード変更手段(1312)、及び画面文字列提供手段(1313)(以上、プログラム製品に関する機能である);エディタ実行手段(1321)、モード変更命令送信手段(1322)、メッセージ・ファイル管理手段(1323)、マスター・テーブル管理手段(1324)、画面文字列管理テーブル管理手段(1325)、記録手段(1326)、編集手段(1327)、及び整合性保持手段(1328)(以上、エディタに関する機能である)を備えている。また、コンピュータ(1301)は、直接的に又はネットワークを介してアクセス可能な記憶装置(108)に接続されている。
プログラム製品実行手段(1311)は、マニュアルの作成対象である1又は複数のプログラム製品を実行する。
モード変更手段(1312)は、プログラム製品を、通常動作モードから画面情報取得モードへ切り替えること、又は、その逆に、画面情報取得モードから通常動作モードへ切り替えることを行う。
画面文字列提供手段(1313)は、プログラム製品が画面情報取得モードで実行されている場合に、ユーザによって選択された画面文字列を画面文字列管理テーブル管理手段(1325)及びメッセージ・ファイル管理手段(1323)に送信する。画面文字列提供手段(1313)は、プログラム製品が画面情報取得モードで実行されている場合に、上記選択された画面文字列に関連付けられたメッセージ・ファイル内識別子をマスター・テーブル管理手段(1324)に送信する。
エディタ実行手段(1321)は、マニュアル作成のためのアプリケーション(例えば、エディタ)を実行する。エディタ実行手段(1321)は、当該アプリケーションを複数起動すること(すなわち、マルチ・ウィンドウで起動すること)も可能である。
モード変更命令送信手段(1322)は、プログラム製品が通常動作モードから画面情報取得モードへ切り替わるように指示する命令、又は、画面情報取得モードから通常動作モードへ切り替わるように指示する命令を、プログラム製品(例えば、モード変更手段(1312))に送信する。
メッセージ・ファイル管理手段(1323)は、上記プログラム製品に関連付けられたメッセージ・ファイルを用意して、記憶装置(108)に記録する。上記メッセージ・ファイルを用意することは、当該画面文字列に一意に関連付けられたメッセージ・ファイル内識別子を作成することを含む。上記メッセージ・ファイルは、上記画面文字列と、当該画面文字列に一意に関連付けられたメッセージ・ファイル内識別子とのセットを少なくとも1つ含みうる。
マスター・テーブル管理手段(1324)は、マスター・テーブルを用意して、記憶装置(108)に記録する。上記マスター・テーブルを用意することは、メッセージ・ファイル管理手段(1323)からのメッセージ・ファイル内識別子に一意に関連付けられたマスター・テーブル識別子を作成することを含む。上記マスター・テーブルは、上記メッセージ・ファイル内識別子と、当該メッセージ・ファイル内識別子に一意に関連付けられたマスター・テーブル識別子とのセットを少なくとも1つ含む。
画面文字列管理テーブル管理手段(1325)は、画面文字列管理テーブルを用意して、記憶装置(108)に記録する。上記画面文字列管理テーブルは、上記マスター・テーブル識別子と、当該マスター・テーブル識別子に関連付けられたメッセージ・ファイル内識別子に関連付けられた画面文字列、当該画面文字列を他の言語に翻訳した翻訳文字列、又は上記画面文字列若しくは上記翻訳文字列に関連付けられた識別子と、上記画面文字列に関連付けられたカテゴリ情報と、上記プログラム製品上での上記画面文字列に関連付けられた第1の出現位置情報と、上記アプリケーション(例えば、エディタ)上での上記画面文字列又は上記翻訳文字列に関連付けられた第2の出現位置情報とを含みうる。
また、画面文字列管理テーブル管理手段(1325)は、上記画面文字列管理テーブルが、上記取り込む画面文字列に関連付けられた上記マスター・テーブル識別子と、上記取り込む画面文字列、上記取り込む画面文字列を他の言語に翻訳した翻訳文字列、又は上記画面文字列若しくは上記翻訳文字列に関連付けられた識別子と、上記取り込む画面文字列に関連付けられたカテゴリ情報と、上記プログラム製品上での上記取り込む画面文字列に関連付けられた第1の出現位置情報と、上記アプリケーション(例えば、エディタ)上での上記取り込む画面文字列又は上記取り込む画面文字列を他の言語に翻訳した翻訳文字列の上記第2の出現位置情報とのセットを含むように、上記画面文字列管理テーブルを更新しうる。
また、画面文字列管理テーブル管理手段(1325)は、上記画面文字列が他の画面文字列に変更されることに応じて、上記画面文字列管理テーブル中に、上記変更後の画面文字列又は当該変更後の画面文字列を他の言語に翻訳した翻訳文字列を記録しうる。
また、画面文字列管理テーブル管理手段(1325)は、上記画面文字列が第1の言語から第2の言語に翻訳されることに応じて、上記画面文字列管理テーブル中に、上記第2の言語に翻訳された翻訳文字列を記録しうる。
また、画面文字列管理テーブル管理手段(1325)は、上記画面文字列が他の画面文字列に変更されることに応じて、上記画面文字列管理テーブル中に、上記変更後の画面文字列を記録しうる。
また、画面文字列管理テーブル管理手段(1325)は、上記変更後の文字列が第1の言語から第2の言語に翻訳されることに応じて、上記画面文字列管理テーブル中に、上記第2の言語に翻訳された翻訳文字列を記録しうる。
記録手段(1326)は、上記プログラム製品が表示装置上に表示する画面文字列、当該画面文字列を他の言語に翻訳した翻訳文字列、又は上記画面文字列若しくは上記翻訳文字列に関連付けられた識別子を上記コンピュータがアクセス可能な記録媒体中に記録し、及び、上記画面文字列の又は上記翻訳文字列の属性情報を上記記録媒体中に記録する。
また、記録手段(1326)は、上記画面文字列が他の画面文字列に変更されることに応じて、上記プログラム製品についての上記画面文字列を記録した用語データ中の変更前の画面文字列を変更後の画面文字列に置き換える置換手段をさらに備えうる。
また、記録手段(1326)は、上記画面文字列が第1の言語から第2の言語に翻訳されることに応じて、上記プログラム製品についての上記画面文字列を記録した用語データ中に、上記第2の言語に翻訳された翻訳文字列を追加する翻訳文字列追加手段をさらに備えうる。
また、記録手段(1326)は、上記画面文字列が他の画面文字列に変更され、そして当該変更後の画面文字列が第1の言語から第2の言語に翻訳されることに応じて、上記プログラム製品についての上記画面文字列を記録した用語データ中に、上記第2の言語に翻訳された翻訳文字列を追加する翻訳文字列追加手段をさらに備えうる。
また、記録手段(1326)は、上記アプリケーション(例えば、エディタ)上で標識文字列が入力されることに応答して、当該アプリケーション上で標識文字列の開始を示す文字列が入力されることに応答して、キーボードの特定の操作に応答して、ポインティング・デバイスの特定の操作に応答して、特定の発話音声に応答して、又は、特定の身振りに応答して、上記画面文字列、上記翻訳文字列又は上記識別子を記録媒体(108)中に記録しうる。
また、記録手段(1326)は、上記プログラム製品が上記表示装置上に表示している上記画面文字列が選択されることに応じて、当該選択された画面文字列、当該選択された画面文字列を他の言語に翻訳した翻訳文字列、又は上記選択された画面文字列又は上記翻訳文字列に関連付けられた識別子を記録媒体(108)中に記録しうる。
また、記録手段(1326)は、上記画面文字列、上記翻訳文字列又は上記識別子;上記属性情報;及び、上記画面文字列、上記翻訳文字列又は上記識別子と上記属性情報との組み合わせを一意に関連付けるための識別子、を記録媒体(108)中に記録しうる。
編集手段(1327)は、コンピュータ(1301)がアクセス可能な記録媒体(108)中に記録した上記画面文字列又は上記翻訳文字列を、又は、プログラム製品上でユーザによって選択された上記画面文字列及び当該選択された画面文字列を他の言語に翻訳した翻訳文字列を、上記アプリケーション(例えば、エディタ)上の上記入力された標識文字列に隣接して挿入しうる。
また、編集手段(1327)は、コンピュータ(1301)がアクセス可能な記録媒体(108)中に記録した上記画面文字列又は上記翻訳文字列を、又は、プログラム製品上でユーザによって選択された上記画面文字列及び当該選択された画面文字列を他の言語に翻訳した翻訳文字列を、上記アプリケーション(例えば、エディタ)の上記入力された標識文字列の開始を示す文字列と終了を示す文字列との間に挿入しうる。
また、編集手段(1327)は、上記画面文字列管理テーブルを参照して、上記取り込む画面文字列に関連付けられた上記マスター・テーブル識別子を、上記アプリケーション(例えば、エディタ)上に取り込まれた上記画面文字列に関連付けて当該アプリケーション上に挿入する挿入手段をさらに備えうる。
また、編集手段(1327)は、上記プログラム製品が表示装置上に表示する画面文字列を上記アプリケーション(例えば、エディタ)上に取り込む命令に応答して、上記取り込む画面文字列に関連付けられた上記マニュアル内で一意の識別子を付与する付与手段をさらに備えうる。
また、編集手段(1327)は、上記アプリケーション(例えば、エディタ)が編集中又は編集済みのマニュアルをコンピュータ(101)上のメモリ(103)にロードすることに応じて、上記画面文字列管理テーブルを参照し、変更前の画面文字列に関連付けられた第2の出現位置情報を取得する取得手段をさらに備えうる。
また、編集手段(1327)は、上記アプリケーション(例えば、エディタ)が編集中又は編集済みのマニュアルをコンピュータ(101)上のメモリ(103)にロードすることに応じて、上記画面文字列管理テーブルを参照し、第1の言語の画面文字列に関連付けられた第2の出現位置情報を取得する取得手段をさらに備えうる。
また、編集手段(1327)は、上記アプリケーション(例えば、エディタ)が編集中又は編集済みのマニュアルをコンピュータ(101)上のメモリ(103)にロードすることに応じて、上記画面文字列管理テーブルを参照し、第1の言語の変更前の画面文字列又は変更後の画面文字列に関連付けられた第2の出現位置情報を取得する取得手段をさらに備えうる。
整合性保持手段(1328)は、上記記録媒体(108)中に記録された画面文字列、上記翻訳文字列又は上記識別子と上記属性情報とを用いて、上記画面文字列又は上記翻訳文字列と上記マニュアル作成のためのアプリケーション(例えば、エディタ)が表示装置上に表示する文字列との整合性を保つ。
また、整合性保持手段(1328)は、上記取得手段が取得した第2の出現位置情報に関連付けられた変更前の画面文字列を変更後の画面文字列に置き換えうる。
また、整合性保持手段(1328)は、上記取得手段が取得した第2の出現位置情報に関連付けられた画面文字列を第2の言語に翻訳された翻訳文字列に置き換えうる。
また、整合性保持手段(1328)は、上記取得手段が取得した第2の出現位置情報に関連付けられた変更前の又は変更後の画面文字列を第2の言語に翻訳された翻訳文字列に置き換えうる。
プログラム製品に関する機能である下記手段:プログラム製品実行手段(1311)、モード変更手段(1312)、及び画面文字列提供手段(1313)は例えば、プログラム製品のプラグイン・アプリケーションとして実装されうる。
エディタに関する機能である下記手段:エディタ実行手段(1321)、モード変更命令送信手段(1322)、メッセージ・ファイル管理手段(1323)、マスター・テーブル管理手段(1324)、画面文字列管理テーブル管理手段(1325)、記録手段(1326)、編集手段(1327)、及び整合性保持手段(1328)は例えば、エディタのプラグイン・アプリケーションとして実装されうる。
図13は、プログラム製品及びエディタが同一のコンピュータで実行される場合の機能ブロック図を示す。プログラム製品及びエディタが別々のコンピュータで実行される場合には、プログラム製品に関する機能及びエディタに関する機能が必要に応じて、プログラム製品を実行するコンピュータ及びエディタを実行するコンピュータそれぞれに割り当てられうる。