FXML文件中的FXML翻译功能



我在fxml中有这个对象(以及其他对象(:

<Label text="Birthday">
<font>
<Font size="16.0" />
</font>
</Label>

我还有这个Excel文档:

Birthday     Date d'anniversaire     День Рождения

它包含了"生日"一词的两种翻译。

当在下拉列表中的应用程序中选择另一种语言时,我需要能够更改标签的文本。我该怎么做?是否可以在.fxml文件内部执行此操作?

这就是我如何从文件加载阶段:

FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml"));
scene = new Scene(fxmlLoader.load(), 500, 400);

正如上面评论中提到的,这只是我过去如何进行翻译的一个例子。这不会在FXML中进行翻译。FXML(frmCalendar.FXML(的代码段

<Label fx:id="lblTitle" text="Title"/>

控制器类(CalendarController.java(的代码段

if (!Locale.getDefault().getLanguage().equals("en")) {
lblTitle.setText(TranslationManager.translate("en", Locale.getDefault().getLanguage(), lblTitle.getText());
}

TranslationManager.java 代码段

public class TranslationManager {
public static String translate(String langFrom, String langTo, String text){
//Here is where you would read your excel file and return the text in the desired language.
}
}

如果你不熟悉excel文件的阅读过程,这里有一个很好的问题。

最新更新