Javafx 国际化具有较低的硬件缓慢问题



嗨,想用JavaFx实现国际化概念(印地语),它在较低的处理器上有效运行。

配置:- 处理器 - 英特尔凌动 CPUD425@ 1.80GHz x 2 内存 - 2 GB 操作系统 - 32 位 Fedora 15

使用资源包实现了国际化概念。但是在那个低平台上它很慢。 英语和印地语(2-4秒)也会出现同样的缓慢,尽管按照如何在FXML文档中实现JavaFX的语言支持中的建议正确实现。

因此,尝试了其他方法,如采用一个全局变量,如果语言更改为印地语,则将该变量设置为 1。 对于每个 fxml 控制器初始化方法,请检查 该变量如果为 1,则将 fxml 标签和按钮文本设置为直接印地语字符串,如下所示。

@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
if(Configuration.getLangSelected()==1){
label1.setText("आप क्या करना पसंद करेंगे?");
button1.setText("ई-कैश प्राप्त करें");
button2.setText("सेवा का उपयोग करें");
button3.setText("वापस");
}
}

对于低硬件配置,它比资源包方式提高了性能,并且 Flow 适用于英语,但对于印地语渲染需要时间(2.8 秒)。 但是这里不接受 2.8 秒。有没有其他方法可以在最短的时间内完成此任务?

出于好奇,在初始化中将印地语字符串替换为英语字符串,如下所示:-

@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
if(Configuration.getLangSelected()==1){
label1.setText("What you want to do?");
button1.setText("Get E-cash");
button2.setText("Use Service");
button3.setText("Back");
}
}

为此更改快速加载相同的文件。 有什么问题,因为我们不能直接将其他语言字符串设置为标签和按钮之类的东西, 有没有办法直接设置文本并快速加载该 fxml?

为此找到了解决方法:- 通过一项额外的更改为印地语构建单独的流程(屏幕),在标签内使用"文本"()。不设置任何要标记的文本。将其他语言文本(即印地语文本)设置为fxml中的"文本"。加载时间下降,以前需要时间:- 2.8 秒,现在 1.2 秒。

最新更新