native2asciiって面倒臭い

日本語を含む .properties ファイルを使うときは、jvmに食わせる前に native2ascii というツールでUnicodeに変換しないといけないということを最近知った。でも物凄く面倒臭い。

ResourceBundleを使ってgettextのようなそうじゃないようなものを作った。JUnitコードを先に書いたけど中々グリーンにならない。そこで中で使われているPropertiesクラスのjavadoc見てみると以下のような記述があった。
プロパティをストリームに保存するとき、またはストリームからロードするときに、ISO 8859-1 文字エンコーディングが使用されます。このエンコーディングに直接表示できない文字には、Unicode escapes が使用されます。ただし、エスケープシーケンスでは 1 文字の「u」だけが使用可能です。他の文字エンコーディングとプロパティファイルを変換する場合、native2ascii ツールを使用できます。
なにやら native2ascii でISO 8859-1 に変換しておかないといけないようなので、JUnitコードの中を以下のようにしてみて。
assertEquals("\u3042", gettext._("abc"));
(面倒臭いので「あ」という文字だけ) 更に.propertiesの方もnative2asciiで変換して、Alt-Shift-x tするとようやくグリーンを見ることができました。でもこんなの編集のたびにやりたくないよ。そこで検索。 http://propedit.sourceforge.jp/

というものがあるらしい。早速Eclipseプラグインをインストールした。インストールはEclipse用の更新マネージャを使って楽々でした。

うーん地味に便利で実に便利。native2asciiのことは考えなくてよくなりました。↑のサイトではEclipseプラグインだけじゃなくて、スタンドアロンなアプリケーションも用意されているので状況に合わせてインストールしてみると良いです。

なんだかんだでEclipseは使ってます。

0 コメント:

Twitter Updates

About Me

My photo
1984/07/05生 プログラマー

サイト内検索