2009 年 10 月 30 日 のアーカイブ

ロケール(後編)

2009 年 10 月 30 日 金曜日

webOS のシステムロケールを自由に変更出来ないのは、キャリアの縛りであると仮定した場合、普通にコードを書いてみたところで、これに太刀打ち出来るものでは有りません。

そこでボクは考えました、システムロケールというのは一度設定すれば、ずっとその状態を記憶します、つまりこれはマシンの「不揮発性メモリ」か「ファイルシステム」にその情報を残しているからなのです。

もし「不揮発性メモリ」に残してるのなら、その場所を探し出すのは、残念ながらほぼ不可能です、でも「ファイルシステム」に残しているのなら、上手く行けばそれを探し当てる事が出来るかも知れません。

ボクはダメ元で、有るのか無いのかも判らない、そのファイルを探してみる事にしました。
そして幸運にもボクは、数千にも及ぶファイルの中から、それを探し当てる事が出来たのです。

それでは皆様、大変長らくお待たせいたしました。
webOS のシステムロケールをキャリアの縛りに関わらず、自由に変更出来る方法についてレポートいたします。

■作業手順

(1) ボクが見つけたそのファイルは systemprefs.db という名前のデータベースで、以下のフォルダに存在していました。

/var/luna/preferences

まず、このファイルをPCに持って来ます。

(2) データベースを編集するソフト SQLite Database Browser を以下のページからダウンロードして、PCにインストールします。

http://sourceforge.net/projects/sqlitebrowser/files/

※ダウンロードするのは sqlitebrowser-1.3-win.zip です

(3) SQLite Database Browser で先の systemprefs.db を開いてください。

image22

(4) 書き換えるのは43行目のココ、何とこれが webOS のシステムロケールを決定する、大元の情報だったのです。

image35

(5) ココを { “languageCode”: “ja”, “countryCode”: “jp” } と書き換え systemprefs.db を保存します。

image4

(6) systemprefs.db をPreに書き戻し本体をリブートします。

以上の作業でこんな風に、システムロケールが ja_jp になりました。
hello_2009-30-10_171034

■アプリの挙動変化

実を申し上げますと、ホントのお楽しみはココからなんです。
システムロケールが ja_jp になった事で、各アプリの挙動に何らかの変化が起きているハズです。
アプリをひとつひとつチェックしてみましたところ、以下に示す3つの大きな変化を確認出来ました。

☆挙動変化1

予想通り webブラウザの吐き出す情報が ja_JP になりました。
これにより、複数言語のコンテンツを自動振分けしているようなサイトでは、
日本語のコンテンツが優先されるようになります。
browser_2009-30-10_170453

例えば facebook のログイン画面、
もともと英語だったものが、日本語で表示されるようになりました。
browser_2009-30-10_1705181

☆挙動変化2

Google Maps の初期起動画面、
もともと北米地図だったものが日本地図になりました
maps_2009-30-10_170124

操作画面やメニューについても、
もともと英語だったものが、日本語で表示されるようになりました。
maps_2009-30-10_170241

☆挙動変化3

Doc View で単純な日本語Word文書に限り、正常に読めるようになりました。
5ヶ月前、HALさんが試してくださった画像と比べると、その差は歴然。
http://www.hal9.sakura.ne.jp/fig/Pre090609A037.jpg

docviewer_2009-30-10_170026

※(注1) 文書体裁の凝ったものは、やはり文字化けします
※(注2) Doc Viewのフォントは少し細工してます
※(注3) この文書、ロケール変更前はエラーで開く事さえ出来ませんでした
※(注4) Excel と PowerPoint については、まだ文字化けします

以上が、システムロケールを ja_jp にしたことで、確認できた大きな変化です。
これ以外にも、まだボクが気付いていない、細かな変化が有るかも知れません。