Mac Clinic Tips:
シェアウェアの日本語化
How to Localize Sharewares

作成:1997年1月27日


「Mac Clinic」の薬局にはシェアウェアの日本語パッチというものが収めれています。
私がこれを思い立ったのは、アニメーションGIFを作るためにGIF Builderというフリーウェアの日本語化をしてからでした。

GIF Builderは小さなプログラムで操作自体はそれほど難しいものではありませんが、一部に理解が難しい言葉がありました。これを日本語にしてみるとどうなるのかな、ResEditでGIF Builderを開いてみました。私はそれまでほとんどResEditを使ったことがなかったのですが、これを使えばメニューなどを変更できるということは何かの本で読んことがありました。
MENUのところをクリックすると、プログラムのメニューが現われました。これを日本語に置き換えればいいんだなと考えて全部をとりあえず日本語に書き換えてみました。それでもう一度GIF Builderを立ち上げてみますと、おお、メニューがちゃんと日本語になっている! ちょっとした感動でした。よーし、ついでのことに、ResEditでリソースをいろいろ開いてみますと、DITL、DLOG、STR#といったところに英語の記述があり、これを日本語にすればよいことが分かりました。こうして日本語化したGIF Builderを操作してみると、同じプログラムがずっと身近なものに感じられました。
私は英語にはそれほど不自由を感じないのですが、それでもこれだけ、便利に感じるのだから、他の人にも配付したらどうだろと考えました。
GIF Builderの作者はEves Piguet氏というスイス人ですが、彼にメールを出しましたところ、日本語版の配付は困るが、パッチプログラムなら良いということになり、自分のホームページで配付することを始めました。

Macにはよいフリーウェアやシェアウェアが沢山ありますが、ほとんどが英語で書かれています。シェアウェアの場合は、もちろんプリントアウトされたマニュアルというのはなく、簡単なものはRead Me書類かオンラインヘルプ、本格的なものはエキスパンドブックのような形式のマニュアルがついているのですが、いずれにしろ英語ですからあまりきちんとは読みません。
小さなユーティリティでは操作法方を覚えてしまえば問題ないのですが、少し複雑なソフトになると、結局ある部分しか活用していないというのが現状ではないでしょうか。
ということで、いくつかの有用なシェアウェアを日本語化することにしました。

Macのプログラムはリソースと呼ばれる部分と、データと呼ばれる2つの部分で構成されています。リソース部分はプログラムの基本パーツのようなもので、これをうまく組み合わせることでプログラミングの効率を上げることが出来ます。メニューやダイアログボックスもこのリソースですので、ここを書き換えることで、容易に各国語版を開発することが出来ます。
しかし、必ずしも全てのプログラムがこのように作られているわけではありません。商業プログラムの中にはユーザーが勝手にカスタマイズしないように、データの一部に書き換えてしまっているものがあります。
シェアウェアであっても、作者それぞれの個性や癖、技術の差があり、日本語化の作業もその度に新しい技を考えなければなりませんでした。

ここでは、同様にシェアウェアを日本語化してみたいという方のために、私が得たノウハウを紹介したいと思います。


1.まず道具
必要なのは道具としてはResEdit(レズディット)だけです。ResEditはResorce Editorの省略形で、その名のとおり、プログラムのリソースを編集するソフトです。
MacのOSそのものも書き換える力を持っているため、「禁断のソフト」とか「究極のソフト」とも呼ばれています。使い方を間違えると大切なプログラムをこわしてしまいますが、手順通りにやれば、
ResEditそのものはApple社のソフトウェアアップデートから無料でもらうことができまし、MacPower等の雑誌の付録CD-ROMにも入っています。

ResEditを使う場合はいくつかの標準作業があります。これを守ってやれば失敗はありません。
・まず対象となるプログラムのコピー(コマンド+d)をとり、このコピーをResEditで開く。
・ResEditは操作を誤るとスタックするので、頻繁にセーブする。さらにそのセーブしたもののコピーをとり、バックアップとして残しておく。
・こまめにプログラムを起動して見栄えや、操作に問題がないかを確かめる。

要は、常にバックアップをとりながら作業を進めるということです。まれに、日本語化したために、対象となるプログラムが起動できなくなったり、操作の一部でエラーが発生したりすることがあります。これは日本語にはしてはいけないファイル名等を変更したことによって起こるのですが、こまめに変更、バックアップをしていてば問題も早く発見できます。

2.日本語化するリソース
ResEditを立ち上げると、開くファイルを聞いてきますので、日本語化したいプログラムを開きます。すると、リソースのリストが開かれます。
この中で、日本語化の対象になるのは次のものです。
ALRTエラーメッセージなどの警告ダイアログ
DITL, DLOGダイアログボックスで表示される全て
MENUメニュー
STR , STR#プログラムの中で扱われる言葉

エラー表示の画面はALRTで指示されますが、DITLで記述したものを表示する場合と、ブランクダイアログを用意していて、文章はSTR#から読み込むものがあります。基本的にはALRTは次のDITLで記述されるため、書き換える必要はありません。

DITLはダイアログボックス(いろいろな設定を指定したり、エラーメッセージ等を表示するウィンドウ)の内容、文字やボタンの配置を規定します。ここは目に見える英語は全て日本語に書き換えます。
ダイアログボックスの中でも、ポップアップメニューの部分はMENUから、プログラム化された部分はSTR#から読み込まれるため、DITLを全て日本語したからといって、全てのダイアログが日本語表示になるわけではありません。

DLOGはダイアログボックスのバックグラウンドの色とかクローズボックスの有無などを規定するリソースです。ここはDITLと連動しているため書き換える必要はありません。

NEMUは最も分かりやすいリソースですが、ここではMENUには通常のメニュー以外に、ダイアログボックスで使われるポップアップメニューもここで記述します。ここは全て日本語化します。
ただし、一部のプログラムではメニューの中味をSTR#から読み取って変化させる形式のものもありますので、MENUを書き換えたからといって全てのメニューが日本語化されるわけではありません。

STR は文字列のリソースです。STR#との使い分けは必ずしもはっきりしませんが、通常ここは日本語化しません。

STR#も同じく文字列のリソースで、ダイアログボックスの細かな表示、変動メニューの中味、アラートの中味、場合によってはオンラインヘルプの中味等が含まれています。基本的に全て日本語化します。プログラムによっては非常にボリュームが多いため、日本語化では一番苦労するところです。
また、後述しますが、DITLのようにどのダイアログで使われるのか、どう言う文脈で使われるのかが分からないものがあり、実際のプログラムを使用してみると、訳が適切でなかったり、長さが不適で表示が欠けたり、ここをうまく訳すのが一番の腕の見せどころになります。

分かりやすいプログラムではダイアログが多く設定されているのですが、プログラミング上はかえって大変になるため、ダイアログを簡略化して、そこに表示する文字の方を変化させるプログラムが増えています。それはSTR#が多くなるため、日本語訳ではかなり苦労させられます。

プログラムによっては日本語がデータ化されているものもあります。それはResEditではどんなことをしても開くことが出来ませんので、諦めざるを得ません。

3.日本語化のテクニックあれこれ
(1)訳語を選ぶ
せっかく日本語化するのですから、直感的に分かりやすい日本語を選ぶ必要があります。
Macのどのソフトでも共通の用語については、一般化している用語を使用します。

Open 開く
Save as... 新規保存... または 別名で保存...
Selected 選択範囲
Untitled 名称未定

といった具合です。

ところが、一般的に使われているものでも分かりにくいものがあります。多少長くなっても意味がつかめる言葉にします。

一般の訳語 私の訳語
Revert 回復 最後に保存したものに戻す
Publish 出版 ひな形ファイルの書き出し
Preference プレファランス 環境設定
Default デフォールト 初期設定の、初期設定値

メニューの単語の長さある程度長くすることも出来ます。ところが、ダイアログの表示はスペースが限られていますので、そこに収まるようにしなければなりません。多くの場合、英語よりも日本語の方が長くなるため、工夫が必要です。カタカナ表記は長くなりますので、スペースの制約があるときは半角カナを使用します。文字の大きさは変更できませんので、文字スペースのサイズが変更できるのであれば、これを拡大します。


同じ単語でも使用される場所によって訳語を変える必要がある場合があります。これはそのプログラムの機能や使われている場所をよく理解しないと間違えてしまいます。次のような例があります。

適用 訳語
saved 多くのプログラム 保存された、保存されました
Stuffit (圧縮による)節約量
attached Eudora 添付の(書類)
FileBuddy (エイリアスで)親がある

こういうものはある程度の慣れが必要です。

(2)言葉遣い
英語にはそれほどの差がないのですが、日本語では言葉遣いで随分雰囲気が変わります。例えば、メニューのSaveも「保存」よりは「保存する」の方が丁寧です。
メニューは簡潔が第一ですので、名詞でよいのですが、ダイアログの場合、「保存しますか」と聞いているのに、ボタンは「保存」「保存しない」では不自然で、「保存する」「保存しない」とすべきでしょう。

ダイアログやアラートにはユーザーに問いかけるメッセージが出てきます。

System error occured. Out of memory! Quit this application and increase setup memory.

これを
「システムエラーが起きた。メモリ不足!アプリケーションを終了し、設定メモリをふやせ」
とやると、いかにもぶっきらぼうで、このソフトを使うのがいやになります。ここは、
「システムエラーが起きました。メモリが不足しています。アプリケーションを終了し、メモリの設定を増やしてください」
ときちんとした言葉遣いにするか、女子高校生風に
「システムエラーが起きちゃった!メモリが足らないみたい。アプリを終了してメモリをふやしてみて!」
と可愛くやれば使っていて楽しくなるでしょう。

(3)語順
英語と日本語は語順が異なります。下の例のようにダイアログボックスで記入ボックスの前の記述は工夫が必要です。

Save as: [ ] → 保存ファイル名:[   ]
including [ ] → [    ]を含む または 右の項目を含む:[   ]

もし、スペースが許すならば、単語と記入ボックスの位置を入れ替えることが出来ますが、そうでない場合は、上記のように書くしかありません。
これと同様のことは、アラートのメッセージや、STR#の中でも沢山見受けられます。こういうものは、場数を踏むと自然とどう訳せばよいかが分かってきますが、とりあえず訳してみて、後はプログラムを使用してみて、おかしなところを直す、この作業を繰り返さざるをえません。

(4)ダイアログの編集
ダイアログの作り方はいろいろあり、単純なものから、ポップアップメニューやページめくり方式を採用した凝ったものまでいろいろあります。

ダイアログのサイズやレイアウトは変更することが出来ます。日本語化するとどうしてもスペースが不足しますので、サイズを大きくしたり、テキストの場所を適当に調整します。

ResEditでDITLを開くと、網かけのエリアがあるものがあります。この下のボタンやテキストはそのままでは日本語化できません。まずこの網かけ部分をクリックします。するとここが"User Item"または"Picture"となっていますので、ここを"Button"に変更します("Picture"の場合は後で戻すためにID番号をメモしておきます)。そうするとテキストの日本語化が出きるようになります。に保護にした後、再び"User Item"なり"Picture"(同じID番号に)にもどします。

DITLでCNTLというリソースを使っているものがあります。これはCNTLリソースで編集できるものと、DITLを更にCNTLのリソースエディタで開かなければならないものがあります。Fecthの環境設定のダイアログなどは苦労した例です。どうしても難しいところは英語のままにしておくしかありません。

4.やってみよう!日本語化

ここでは、サンプルとして、身近でかつ簡単なものとして、インターネットのダイアルアップに使うConfigPPPを選びました。ここで使うのは、英語版のMacPPP2.5に付属しているConfigPPPです。

(1)前準備
適当な所にフォルダを作ります。「ConfigPPP日本語版」とします。ここに「英語版のConfigPPP」を入れます。オリジナルのConfigPPPはどこか別なところへ保管しておきます。
このフォルダの中で、ConfigPPPの複製を作り、それを「ConfigPPP-jp」言う名称に変えます。アプリケーション関係の名称は勝手に変更すると他のソフトとの連係が出来なくなることもありますが、取りあえずは区別のために-jp等を加え置きます。英語版はリソースを比較するのに使います。
ここで更に、ConfigPPP-jpの複製をつくります。これは「ConfigPPP-jp copy」のままにしておきます。これはResEditのバックアップのためのもので、必ず実行してください。

(2)ResEditを起動する
ResEditを立ち上げ、ConfigPPP-jpを開きます。下の画面が現れます。


これらのリソースの内、日本語に関係あるのは次のリソースですが、実際に書き換えを行うのは、DITL、MENU、STR#の3つです。

ALRT エラーメッセージなどの警告ダイアログ
DITL, DLOG ダイアログボックスで表示される全て
MENU メニュー
STR , STR# プログラムの中で扱われる言葉

(3)メニューの日本語化
まず、MENUリソースをダブルクリックします。次の画面が現れます。


ConfigPPPの場合はコントロールパネルですので、いわゆるメニューはありません。ただ、ダイアログの中にいくつかポップアップメニューがあり、それはMENUリソースで書かれています。
それぞれのメニューを開き、日本語に置き換えていきます。リターンをおすと早く作業が出来ます。
適当に何回か保存を行ってください。

(4)ダイアログの日本語化
DITLリソースを開きます。リストが現われますが、全部で11枚のダイアログがあることが分かります。ここでは接続画面となるID=-4064 "main"をダブルクリックして開きます。
このダイアログはIcon、Button、Check Box、 User Item、 Textという部品で構成されています。


Iconのところには例の接続と解除を表すアイコンが表示されます。これもアイコン編集の画面で変更できますが、ここではこのままにします。
Buttonの部分は、そこをダブルクリックすると編集画面になりますので、Open→「接続」というように5つのボタンを日本語化していきます。
網かけの部分はUser Itemでこの場合はMENUの情報が表示されますから、ここでは何もしません。
チェックボックスの部分はダブルクリックすると編集画面になります。ここは文章ですので、ダイアログのスペースを考えて訳します。
For MacPPPと書かれた部分はTextです。ここもダブルクリックして編集できます。
いずれのパーツは選択状態にすると場所を移動することが出来ます。
この画面を閉じてセーブします。


他のダイアログも必要に応じ、日本語化します。

(5)ストリングスの日本語化
STR#を開きます。ConfigPPPの場合は小さなプログラムのため、STR#はひとつのIDしかありません。ここを開いてみると、いくつかのメッセージが並んでいます。エラーメッセージや作業状態を知らせるメッセージです。書き換えても構いませんが、実際にはほとんど表示されないメッセージですので、そのままでも構いません。



(6)完成
保存し終わったら、ConfigPPP-jpを立ち上げて確認します。下記のように表示できればOKです。


おかしなところがあれば、またResEditを開いて修正をします。




(c)1997 Harry Ono 無断転載を禁ず