載入資源包

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 的翻譯。