載入資源包
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
的翻譯。