Native2AsciiPluginを使う
SBT(Simple Build Tool)で native2ascii を使う方法です。
まずは、Plugin の設定をします。project/plugins/Plugins.scala を作成します。
import sbt._ class Plugins(info: ProjectInfo) extends PluginDefinition(info) { val native2ascii = "eu.getintheloop" % "sbt-native2ascii-plugin" % "0.1.0" }
次に、project/build/MyProject.scala を編集します。(ScalaTestを使う - NOSIX で作成したファイルです。)
import eu.getintheloop.Native2AsciiPlugin import sbt._ class MyProject(info: ProjectInfo) extends DefaultProject(info) with Native2AsciiPlugin { val scalaTest = "org.scalatest" % "scalatest" % "1.3" // for Native2AsciiPlugin override def encoding: String = "Windows-31J" override def translationInputExtension: String = "properties" override def compileAction = super.compileAction dependsOn(native2ascii) }
encode, translationInputExtension の定義は必須ではありません。下記サイトの Options に詳細が記載してあります。また、compileAction の定義をオーバライドして compile 実行時に native2ascii を実行するようにしています。
GitHub - timperrett/sbt-native2ascii-plugin: SBT Plugin to convert translations to escaped unicode
src/main/i18n/foo.properties を置いて、SBT のコマンド native2ascii を実行すると src/main/resources/foo.properties に変換結果が出力されます。
なのですが、tools.jar に Classpath が通っていないとエラーになってしまいます。tools.jar は例えば C:\Program Files\Java\jdk1.6.0_23\lib にあります。project/build/lib に tools.jar を置いておくと特に設定なく動いてくれます。
Version Info
- Scala 2.8.1
- SBT 0.7.4