JavaFXのローカリゼーション
ネタが切れてきたのでコネタで更新。
Javaにも強力なローカリゼーションの仕組みはありますが、JavaFXでも同様にさらに簡単にメッセージの国際化を行うことができます。
リソースファイル(.javafxproperties)を作成し、キー=バリューの形式でメッセージを記述するところは同じですが、native2asciiで変換する必要はありません。また、次のようにデフォルトの文字列はスクリプト内に記述できます。
var name:String = "shuji_w6e"; var message:String = ##[MESSAGE_KEY]"Hello, {%1$s name}";
メッセージのリソースファイルは例えばHello_ja.javafxpropertiesとなり、
”MESSAGE_KEY" = "こんにちは、%1$sさん"
となります。
デフォルトで文字列フォーマットにも対応しているため、柔軟なメッセージの多言語対応を行うことができるでしょう。
尚、もっと細かくメッセージを制御したい場合はjavafx.util.StringLocalizerを使用します。