Classiclll's Blog

an old boy

めんどくさいローカライズ(その1:全体像)

イメージ 1

デザインガイドに行く前に、ローカライズフレームワークを説明しときます。
(めんどくさい。がりがり書いている人には当たり前かもしれないけど、私には現在のところ詳細不明:<span> </span> って何?)

で、ローカライズ可能なウィジェットの構成は上の画像のとおりです。ロケールを表す2文字(jaとかfr)を含む特別なフォルダを中にロケール毎の設定ファイルを入れていると、HTMLレンダラーが勝手に判断して使い分けてくれるようです。

サンプルは「こんにちは 世界!」。オリジナルはドイツ向けのサンプルらしく、メインのHTMLはHelloWeltのままですが、日本語化したときに日本語のサンプルに仕立て上げたものと思われます。(手抜きせずKonnitihaSekaiとして欲しかった)

HelloWorld(US限定版!-多国籍サンプルから入れよ!>AppleUS)の中身よりかなり増えています。
・HelloWelt.css :HTMLの書式を規定するスタイルシートだそうです。(非対応ロケールの場合にこれが使われます)
・Default.png  :背景画像です
・version.plist  :現在のところ不明
・Info.plist   :ウィジェットの識別(Dashbordのストライプに現れる名前)は少なくともここからとられるようです。
・Icon.png   :Dashbordのストライプに現れるアイコンに使われるようです。
・HelloWelt.js  :ウィジェットの表示に先立ち実行されるスクリプトなので、ロケールに応じた文字列をセットできるようです。
・HelloWelt.html :レンダリング対象の(だけどほとんど何もしない)ウィジェット本体です。
  ・de.lproj   :ドイツ向けローカライズフォルダ(ウィジェットタイトル、表示タイトル、言語名を設定します)
    :
  ・ja.lproj   :日本(Japan)向けローカライズフォルダ(ウィジェットタイトル、表示タイトル、言語名を設定します)
  ・it.lproj   :イタリア向けローカライズフォルダ(ウィジェットタイトル、表示タイトル、言語名を設定します)

画像を見ても直感的には全くわからないと思います。私もそうでした。

とはいえ、始めたものはしょうがない。この後、おのおののファイルの中身と相互関係を書いてみた画像をアップします。が、その気にならないと読むのもつらいと思います。(ハイパーカードの美しいオブジェクト設計を改めて見直しました)