2017-03-24 10 views
0

JavaFXには、国際化機能が組み込まれています。 私は自分のAppのGUIを書き直し始めているので、この便利な機能を使用します。私は見つけることができないよう
唯一のことは、私が...翻訳文字列に動的な値を追加する方法です。たとえば

私は、対応するプレイヤーと%sのを交換することができますしたいと思い
chat.message.player_joined=Player %s joined!名。
しかし、文字列はプロパティファイル経由でロードされ、node.setText(String.format("Player %s joined!", playerName))のようなものではありません。
は、私はそれを行う方法については考えている...翻訳された文字列でのvarsによるJavaFX国際化

私はところで

答えて

1

使用MessageFormatmessageArgumentsと私の窓をフォーマットするFXMLファイルを使用しています。

CODE

Label l = new Label(); 

final Locale currentLocale = new Locale("en", "US"); 
ResourceBundle bundle = ResourceBundle.getBundle("Bundle", currentLocale); 
Object[] messageArguments = {new Integer(5)}; 

MessageFormat formatter = new MessageFormat(""); 
formatter.setLocale(currentLocale); 

formatter.applyPattern(bundle.getString("TEST_BUNDLE_TEXT")); 
l.setText(formatter.format(messageArguments)); 

リソースバンドル

TEST_BUNDLE_TEXT=Test text with integer {0}. 
+0

は本当に必要formatter.setLocale' 'ですか? – RoiEX

+0

いいえ、その場合は必要ありません。 – MBec

関連する問題