投稿日 :

単位換算を改造

MacOS X10.5も快調で、Spacesや新しいDockなどの新機能にも少しずつ慣れてきたところ。まあ、そのあたりの新機能の話はネット上のいろいろなところに上がっていると思うので置いておいて、個人的によく使うDashboard Widgets「単位換算」のこと。

以前から「ポイント」などのよく使う単位を追加していたのだが、MacOS X10.5でも欲しい単位が追加されていなかったので、今回も自分で改造することに。

まず、"/Library/Widgets/単位換算"を複製し、複製した"単位換算"のパッケージの内容を表示して、中の"Conversions.js"をUTF-8対応のテキストエディタなどで開く。

今回は「長さ」の所に単位を追加するので、89行目あたりの"var Length = ["から始まる項目に新しく単位の項目を追加していく。

ここの最後の項目のあとに","を加え、その行と"];"の間に新しく単位の項目を追加する。今回追加したのは以下の6項目。

{name:'Ken', 				toBase:invLinForm(0.55), 				fromBase:linearForm(0.55)},
{name:'Syaku', 				toBase:invLinForm(3.3), 				fromBase:linearForm(3.3)},
{name:'Sun', 				toBase:invLinForm(33.0), 				fromBase:linearForm(33.0)},
{name:'Q,H', 				toBase:invLinForm(4000.0), 				fromBase:linearForm(4000.0)},
{name:'Point', 				toBase:invLinForm(2834.6456692944), 	fromBase:linearForm(2834.6456692944)},
{name:'Pixel (350dpi)', 	toBase:invLinForm(13779.5276), 			fromBase:linearForm(13779.5276)}

最終行にだけ、行末の","は必要ないようだ。このファイルは保存して閉じ、次はこれらの項目を、メニューに日本語で表示するための変更。

同じようにパッケージ内の"Japanese.lproj/localizedStrings.js"を開き、最終行の後に以下の日本語訳の項目を追加。

localizedStrings['Ken'] = '間';
localizedStrings['Syaku'] = '尺';
localizedStrings['Sun'] = '寸';
localizedStrings['Q,H'] = '級,歯';
localizedStrings['Point'] = 'ポイント';
localizedStrings['Pixel (350dpi)'] = 'ピクセル(350dpi)';

このファイルも保存して閉じれば、新しく単位の項目が追加された"単位換算"になるが、念のために同じパッケージ内の"Japanese.lproj/InfoPlist.strings"を開き、"単位換算"を"単位換算改"とでもしておけば、名称も変更できる。

以上で改造は終了。改造した"単位換算改"をダブルクリックしてDashboardに追加すると、新しく単位の項目が追加された"単位換算改"が使えるようになる。新しく追加した"単位換算改"は各ユーザの"~/Library/Widgets/"の中に入るので、オリジナルの"単位換算"はそのままにしておいても大丈夫なはず。

なお、自分でも改造してみようという方は、必ずオリジナルではなく複製をとったもので改造すること。また、自己責任において行うことをお忘れなく。いかなる不利益が生じたとしても、一切の責任は負えませんのでご了承ください。