言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

日本語イメージ

最近、本家 http://www.SqueakLand.org で配布している Squeak が新しく国際化に対応したやつになりました。これに日本語も追加しようと大島さんや阿部さんがご尽力なさってるわけですが、開発中のイメージを頂いて色々遊んでいます。一番大きなインパクトは、これで英語版と日本語版のプロジェクトが交換出来て、さらに日本語のスクリプトをそのまま英語に翻訳できるようになる事です。

技術的には二つの要素が関連します。まず文字コード。今まで内部的な文字コードが異なっていたために難しかったのですが、新しい版では全面的に大島さんの m17n の枠組みが採用されています。また、国際化のもう一つの要素としてモーフの名前やスクリプトに現れるスロットの名前の翻訳があります。いわゆる gettext に相当する物ですが、そこはディエゴによる Babel が採用されました。これらの仕組みにより、日米の小学生 etoys 対決という事も現実味を帯びてきたといえるでしょう。

さて、この日本語イメージに協力するために色々おさらい。まず Squeak の開発体制。本家 Squeak では、開発者向け版と主に学校での利用を想定するより安定した SqueakLand 版(またの名をプラグイン版)が平行して開発されています。実は SqueakLand 版はかなり古い開発者版をベースにしていたのですが、ここに来て最近の開発者版の成果がようやく取り込まれる事になりました。

多言語文字の扱いについては、Nihongo6.1 で実績の有る仕組みが取り入れられ、内部的な文字列表現は、伝統的なバイト文字列と32ビット長の unicode ベースの大島さんオリジナルな多言語文字列のハイブリッドになっています http://www.is.titech.ac.jp/~ohshima/squeak/m17npaper/index.html 。ただし、実際にファイルや通信に使われる文字列はそれなりに変換するので、内部的な詳細を知る必要は無いです。プログラムソースは、UTF-16 でしたっけ?!Babel は昔 http://www.languagegame.org:8080/propella/85 に書いたのですが、もしかしたら今は変わっているかも知れません。今からやります。

この日本語版でやりたいことと、別にやるべき妄想が混ざってますが。

  • フォントを変えるときにエラーが出やすいのを何とかしたい。
  • やっぱり OS についてるフォントを使えるようにしたい。
  • SmallLand 版のような大胆な UI の変更。
  • 公開する! ボタンをちゃんと意味が有るように。ローカルに簡単にサーバを立ち上げる事が出来るように。
  • 「長押し」や「右クリック」を使わなくても一通りの事は出来るようにしたい。