2017-03-31 2 views
1

Hallo Möchten Sie Internationalisierungskonzept (für Hindi-Sprache) mit JavaFx implementieren, die effektiv auf niedrigeren Prozessor läuft.Javafx Internationalisierung mit niedriger Hardware Langsamkeit Ausgabe

Konfiguration: - Prozessor - Intel Atom CPUD425 @ 1.80GHz x 2 RAM - 2 GB OS - 32 Bit Fedora 15

Umgesetzt Internationalisierungskonzept mit Ressourcenbündel. Aber auf dieser niedrigen Plattform ist es ziemlich langsam. Und die gleiche Langsamkeit tritt für Englisch und Hindi-Sprache (2-4sec), obwohl korrekt implementiert, wie in How to implement language support for JavaFX in FXML documents? vorgeschlagen.

Also, versuchte andere Ansatz als eine globale Variable, setzen Sie diese Variable auf 1, wenn die Sprache auf Hindi geändert. Und für jeden fxml Controller initialisieren Methode überprüfen Sie für diese Variable, wenn es 1 ist, dann legen Sie fxml Label und Schaltfläche Text direkt Hindi-String wie unten dargestellt.

@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("वापस"); 
    } 

     } 

Es verbessert die Leistung als Art und Weise Ressourcenbündel für niedrige Hardware-Konfiguration und Flow ist in Ordnung für Englisch Aber für Hindi-Rendering dauerte seine Zeit (2.8sec). Aber 2,8 Sekunden wird hier nicht akzeptiert. Gibt es einen anderen Weg, um diese Aufgabe in kürzester Zeit zu erledigen?

Für curiousity, als Hindi-String mit englischem String in der Initialisierung wie folgt ersetzt: - für diese Änderung geladen schnell

@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"); 
    } 

     } 

Gleiche Dateien. Gibt es ein Problem, wie wir nicht direkt andere Sprache Zeichenfolge auf die Etiketten und Schaltflächen solche Dinge, setzen können Gibt es Möglichkeit, Text direkt einzustellen und diese fxml schnell laden?

+1

Es könnte sein, dass Sie gebissen werden von http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-January/020134.html – tomsontom

+0

@tomsontom Sir, für jetzt, gibt es irgendwelche Arbeit um dieses Problem oder auf andere Weise? –

+0

Mögliche Problemumgehungen: 1. Verwenden Sie Windows; 2. Verwenden Sie Englisch; 3. Erstellen Sie Ihre eigene JRE. Ich ging mit 3 und sah ~ 10x Leistungsverbesserungen. – Itai

Antwort

0

Gefunden Arbeit um dies als: - Erstellen separater Fluss (Bildschirme) für Hindi mit einer zusätzlichen Änderung, verwenden Sie "Text"() innerhalb Label. Kein Text auf Label setzen. Einstellung anderer Sprache Text, z. B. Hindi Text zu diesem "Text" in fxml. Die Ladezeit ist gesunken. Bisherige benötigte Zeit: - 2,8 Sek. Und jetzt 1,2 Sek.