ローカライザー講座第1回 (00/09/04 改訂)

----

やるやる、と言っていて、なかなか開始できなくてすいませんでした。とりあえずローカライザー作成講座第一回を開始します。
今回の内容ではまだローカライザーを作る、っていうところまでは達しません。とりあえずは必要なファイルの準備から取りかかります。
  1. ターゲットアプリケーションの選定

    まずはじめにローカライザーを作成するアプリケーションを決めます。初めから許可 を得る必要はないとは思いますが(途中でやっぱりできない、なんて事もあると思います しね)ある程度目処が付いた時点で作者に連絡して許可をもらっておいた方が無用な トラブルを防げるでしょう。
    ソースファイルが公開されている場合を除いてローカライザーを作成するには.prcファイル を解析することが不可欠となります。特にパッケージソフトやシェアウエアソフトはReverse Engineeringと言われる解析を嫌う場合が多いので、必ず許可を得るようにして下さい。
    「あなたのソフトの日本語版を作りたいんだ」という話をすれば、好意的に対処してくれる と思います。
    今回の例では、山田さん(神様)に作成してもらったサンプルプログラムのローカライザー を作成します。サンプルプログラムは、ここ(ZIP圧縮)から持っていって下さい。 この中にはCWのソースファイルも含まれています。(GCC用のソースファイルも用意する予定です)

  2. 解析ツールの入手

    次に.prcファイルを解析するためのツールを入手します。
    Palm-RC Handspring開発キット(Winバイナリ、ソースあり) 下のリソースコンパイラーの欄でも解説していますが、 Handspring社のサイトからダウンロードできる 開発キットに含まれています。Palm-RCはpilrcと同様、.rcpファイルをコンパイルして.prc内の リソースを作る、という機能の他に、.prcファイルのリソースをディスコンパイルして.rcpファイルに する、という作業もできます。というわけで、Palm-RCさえ用意すれば、大抵のローカライザー 作成では困ることがないと思います。なお、2バイト文字の入ったリソースのディスアセンブルを 行うためには、日本語文字コードオプション(-F Jp)を指定して下さい。 指定しない場合、2バイト文字が1バイト目と2バイト目の間で切られてしまう場合があります。
    G-Mk Localize PalmOS Gaku Taniguchiさん の作成したPalmOSマシン上でローカライザーを作成できるアプリケーションです。 このアプリケーションのおかげでローカライザーを作る方が激増しました(^_^) ローカライズする内容の少ないアプリケーションでしたら、通勤中にでもローカライザーを 作ってしまうことができると思います。
    ptools Java言語 ほしさんが作成した .prcファイル解析ツールです。pilrc用のソースに変換したいリソースを選択し、 画面上に表示された内容を各リソース毎にカットアンドペーストで.rcpファイルに 落とす必要があります。ほとんどの場合、一番正確なソースコードを吐き出して くれます。
    prc2pilrc Java言語 Dick van den Burg氏がほしさんのptoolsを参考に作成した、というツールです。 彼のホームページが無くなってしまっているので、 palmcentral のLOCAL COPYからとって下さい。.prcファイル内で pilrcでコンパイルできる内容を一度に.rcpファイルに変換してくれます。問題は 時々文字列の内容が途中までしか吐き出されていない場合があることです。
    私はprc2pilrcでとりあえず全てのリソースソースをかき出し、内容がおかしい 文字列についてはptoolsを使用して確認をしています。
    presdec Java言語 T.Hollandさんが作成したツールです。prc2pilrc同様、.prcファイル内で pilrcでコンパイルできる内容を一度に.rcpファイルに変換してくれます。 prc2pilrcよりもきれいな出力が得られるため、日本語化を始めるための 元ファイルを作成するためにはprc2pilrcより便利でしょう。
    どういうわけか私の環境では、Internet Explorerをインストールすることで 使えようになるjviewでは正常に動作しませんでした。Sunのサイトから手に 入れられるjreを使っての動作を確認しています。
    prc2rcp Windows用 Axel Ilenburg氏作の、私が 知っている中でWindowsプラットホーム専用に作成された唯一の解析ツールです。 これもprc2pilrcと同様にpilrcでコンパイルできる内容を一度に.rcpファイルに 変換してくれます。問題は文字列中の\n(改行コード)がそのまま改行になって しまうので、その部分を修正しないとそのままpilrcに通すことはできません。
    prc2bin Windows用 Darrin Messena氏作の.prcファイルを各リソース毎の.binファイルに 分解してくれるツールです。ちょっと今は置かれている場所がわかりません。 知っている方はご連絡下さると嬉しいです。ローカライザー作成、という用途では 使用することはないかな…
    insider PalmOS MysticSoftware 製のPalmマシン上でおそらく一番使われている解析ツールです。各リソースの 内容表示やプログラムのディスアセンブル等を行うことができます。
    RsrcEdit PalmOS Roger Lawrence氏 の作成したPalmマシン上のリソースエディタです。 ほとんどのリソースをPalm上で解りやすく編集することができます。
    Javaで書かれたツールを使用するにはJavaの環境を整えないといけません。 誠にすいませんが、ここでの解説は割愛させていただきます。

  3. リソースコンパイラーの入手

    今まではここでWes Cherry氏によるpilrcを紹介していたのですが、 Handspringのサイトで入手できるPalmOSGNUToolsLite内に入っている Palm-RCを使うことで、日本語を含む.rcpファイルも正常にコンパイル することができます。また、Palm-RCでは入力ファイルとして、 CodeWarriorのリソース用ソースファイルである.rsrcの形式も サポートしているようです。また、上にも書いたように、Palm-RCでは .prcファイルを解析して.rcpファイルを作成してくれる機能も あるため、複数のプログラムを用意する必要がない、というのも 便利な点です。
    ということで、.rcpからローカライザーを作成する場合の推奨ツールは Palm-RCということにしたいと思います。Handspring社のサイトから ダウンロードできるのですが、17MByte程度あるサイズが一番問題でしょう…
    なお、Cコンパイラーを持っている方は、ソースコードをダウンロードして コンパイルするという手もあります。(私のところでコンパイルしたら、 サイズが配布ファイルの約10分の1になりました(^_^;;)

    以前、「Wes Cherry氏のpilrcには日本語のメニューの幅の問題がある」と 書いていました。現在はAaron Ardiri氏がWes Cherry氏から開発を 引き継ぎついでいます。最近のバージョン(私はver2.5cで確認しました) では、日本語のリソースが正常にコンパイルできることを確認しました。

    pilrcのホームページからソースも含めてダウンロードできます。

    実は、Palm-RCもpilrcもまだ問題があります。それは、

    という問題です。現バージョンのpilrcでは0x85に書き換えてしまいますが、 PalmOS ver2.0以前(0x85)と3.0以降(0x18)では"..." に割り当てられているキャラクターコード違う、という問題があるため、 書き換えずにそのままドット3つとした方がどのバージョンでも文字化けしない リソースになります。
    というわけで、PalmRCでしたらPalmRCParse.cの、 pilrcでしたらpilrc.cの
    /* pilot has a special ... character */
    
    と書かれている後のif文を
    #if 0
    #endif
    
    などでくくって、変換しないようにした方が良いと思います。

  4. prc builderの入手

    ここの部分は、PalmOSマシン上のツールを使う方、あるいはPalm-RCを使う方には 必要ない内容です。

    最後に各リソース(pilrcを使うと.binという拡張子になります)をPalmOSの アプリケーションである.prcファイルに組み立てるツールを手に入れます。 これは、GNUの開発環境に入っているbuild-prc.exeを使用します。Win32の GNU開発環境は、Palm OSのホームページに置かれています。
    リソースをコンパイルしてローカライザーの作成だけを行う、ということであれば、 GCCの環境を構築する必要はありません。…って言っても、今は パッケージで提供されているんで、全部インストールされちゃうんですよね。 困ったもんです。

という所でとりあえず第1回は終わりにします。
第2回は実際にサンプルプログラムのローカライザーソースファイルを作ってみます。

----
第2回

Mail このページへのご意見は、tommy.satoshi@nifty.ne.jpまで

Back



ここには3点があったんですよ。かわいいからしばらくこのまま置いときますね