加载资源包
JavaFX 提供了一种使用户界面国际化的简便方法。从 FXML 文件创建视图时,你可以为 FXMLLoader
提供资源包:
Locale locale = new Locale("en", "UK");
ResourceBundle bundle = ResourceBundle.getBundle("strings", locale);
Parent root = FXMLLoader.load(getClass().getClassLoader()
.getResource("ui/main.fxml"), bundle);
这个提供的包自动用于翻译 FXML 文件中以%
开头的所有文本。让我们说你的属性文件 strings_en_UK.properties
包含以下行:
ui.button.text=I'm a Button
如果你的 FXML 中有一个按钮定义,如下所示:
<Button text="%ui.button.text"/>
它将自动接收关键 ui.button.text
的翻译。