ここで申し上げる「リージョン」とは、国ごとの通貨記号や、数値、日付、時刻のフォーマットなどを定義したデータテーブルの事を指します。
このデータテーブルは、旧PalmOS の時代には Boot モジュール内に存在しておりましたが、webOSでも同様の仕組みが実装されております。
リージョンは原則、フォーマット(並び方)について定義しただけのものであり、ユーザが自由に設定出来ます。
しかしながら、更に詳細な日付や時間の表示内容について定義されたテーブルが、これとは別に存在しており、こちらの方はシステムのロケールに連動して決め打ちされます。
では、webOSにおけるリージョンの解析とカスタマイズ、そして、その成果として Calendar アプリの日本語ローカライズについてレポートいたします。
■リージョンの解析
webOSにおけるリージョンのデータテーブルには、Regional Settings に連動するものと、ロケールに連動して決め打ちされるものが有ります。
☆ Regional Settings に連動するもの
こちらのデータテーブルは以下のフォルダに存在します
/usr/palm/frameworks/mojo/submissions/200.18/formats
国ごとに、拡張子 json のファイルで格納されております、もちろん jp.json (日本)のテーブルもココに有ります。
以下は jp.json のファイルの中身であります。
“numberTripleDivider”: “,”,
“numberDecimal”: “.”,
“currencyPrepend”: “¥”,
“currencyAppend”: “”,
“percentageSpace”: “false”,
“fullDate”: “yyyy年M月d日EEEE”,
“longDate”: “yyyy年M月d日”,
“mediumDate”: “yyyy/MM/dd”,
“defaultDate”: “yyyy/MM/dd”,
“shortDate”: “yy/MM/dd”,
“dateFieldOrder”: “ymd”,
“fullTime24″: “H時mm分ss秒”,
“fullTime12″: “H時mm分ss秒”,
“longTime24″: “HH:mm:sszzz”,
“longTime12″: “hh:mm:ss azzz”,
“mediumTime24″: “H:mm:ss”,
“mediumTime12″: “h:mm:ss a”,
“defaultTime24″: “H:mm:ss”,
“defaultTime12″: “h:mm:ss a”,
“shortTime24″: “H:mm”,
“shortTime12″: “h:mm a”,
“dateTimeFormat” : “DATE TIME”,
“is12HourDefault”: “true”,
“firstDayOfWeek”: 0
}
☆ ロケールに連動して決め打ちされるもの
こちらのデータテーブルは以下のフォルダに存在します
/usr/palm/frameworks/mojo/submissions/200.18/resources
国ごとに、更にフォルダ分けされて格納されております、残念ながら jp_jp (日本)のフォルダは有りません。
今の段階では、en_us フォルダの中に有る datetime_table.json を書き換えることにします。
以下に書き換え後の datetime_table.json のファイルの中身を示します。
“long”: {
“day”: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
“month”: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
},
“medium”: {
“day”: ["日", "月", "火", "水", "木", "金", "土"],
“month”: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
},
“short”: {
“day”: ["日", "月", "火", "水", "木", "金", "土"],
“month”: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
“date”: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
"31"]
},
“single”: {
“day”: ["日", "月", "火", "水", "木", "金", "土"],
“month”: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
“date”: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
"31"]
},
“relative”: {
“yesterday”: “昨日”,
“today” : “本日”,
“tomorrow” : “明日”
},
“am”: “AM”,
“pm”: “PM”
}
追記:2009/11/14
リージョンの日本語化について
/usr/palm/frameworks/mojo/submissions/***.**/resources
ご注意:***.**という部分はバージョン番号です、お使いのマシンにより変わります
(2)以下より datetime_table.json をダウンロードし、先の ja_jp フォルダにコピーします
datetime_table.json のダウンロード
(3)マシンをリブートします
追記:2009/11/24
Symキーで表示される記号の入力パネルについて
上で作りました ja_jp フォルダに、以下のファイルもコピーしてください。
そうしないとSymキーを押しても記号の入力パネルが表示されません、
なお、これらのファイルは en_us フォルダに入っているものをコピーすれば良いでしょう。
alternatechars_fulltable.json
alternatechars_fulltable_azerty.json
alternatechars_fulltable_qwertz.json
alternatechars_table.json
alternatechars_table_azerty.json
alternatechars_table_qwertz.json
■Calendarアプリの日本語ローカライズ
リージョン解析の成果として、Calendarアプリの日本語ローカライズ作業を行いました、これで、日本人が使用するにあたって、全く違和感の無いアプリに変身いたしました。
なおサンプルとして入力しました予定は、すべてフィクションです m(_ _)m
上で作りました ja_jp フォルダには、以下のファイルもコピーしてください
alternatechars_fulltable
ないと記号の入力パネルが表示されません
/usr/palm/frameworks/mojo/submissions/***.**/resources