Processingを多言語化する

2014-06-27

Processingは簡単に画像や音楽を扱えて2Dも3Dもできて、プログラミング環境として結構優れてると思うんだけど、いかんせんメニューとかが英語なのでちょっと導入にハードルがあると思う。 そこでメニューを日本語化したい。

processing-ja

Internationalization (i18n) by voidplus · Pull Request #2084 · processing/processing というプルリクエストが出されていたので、手元で試してみたところ動かなかったので探ってみた。

Javaでの言語ごとのリソースをResourceBundleという仕組みで扱っていて、実行時getBundleしたときにリソースが見えるところにある必要があるのだけど、上のプルリクエストではビルド時になにもしていないので実行ファイルに含まれていない。 なのでビルドに使っているantが参照するbuild.xmlを修正する必要がある。

最初はfilecopyをすればいいのかと思ったんだけど、それだと日本語の文字列を利用しようとした時に文字化けしてしまった。 文字化けさせないためにはnative2asciiというツールを使う必要があるらしい。 これをpde.jarのビルドターゲットの中書いてやればよい:

<native2ascii src="src" dest="bin">
<include name="processing/app/languages/*.properties" />
</native2ascii>

しかし上の多言語化のプルリクエストは「3.xの開発に切替中だから、それが始まったらマージする」といって放置されている。 非常に残念。

あと、Processingのサイトも英語だけなので、そちらも多言語対応する必要がある。

追記

件のInternationalizationがマージされたので、日本語版を追加するプルリクを投げたところマージされた!今Processing3.0のプレリリース段階なので、3.0に反映されるはず。 https://github.com/processing/processing/pull/2688