Ich erzeuge PDF-Bericht mit Jasper. In Jrxml-Datei kann ich einzelne Eigenschaftendatei als ein Ressourcenbündel lesen, aber hier muss ich 2 Eigenschaftendatei lesen, um einen Bericht als BiLingual (zwei Sprachenbeschriftungen, einer ist in Englisch und der andere ist in lokaler Sprache) Bericht zu generieren. Ist in JasperReport möglich, mehrere Eigenschaften-Datei zu verwenden. Oder gibt es einen anderen Weg, dies zu tun?Ist es möglich, mehrere Ressourcenbündel für einen einzelnen jrxml-Bericht zu verwenden?
Antwort
Der Hauptgrund für ein einzelnes Ressourcenbündel besteht darin, dass der gesamte Text für eine Sprache gekapselt wird. Wenn der Bericht ausgeführt wird, wird das Gebietsschema des Berichts (Land und Sprache) bereitgestellt. Dies bewirkt, dass der Bericht das Ressourcenpaket für eine bestimmte Sprache auswählt. Da die Berichtsvorlage auf die Bündelschlüssel und nicht auf deren Werte verweist, wird der generierte Bericht in einer bestimmten Sprache ausgegeben.
Wenn der Bericht zweisprachig sein soll (eine ungewöhnliche Anforderung, da es einfach ist, ein Locale-Objekt in den Bericht zu übertragen, um eine einzige Sprache zu generieren, wodurch die verfügbare Seitenfläche erhöht wird), erstellen Sie ein Ressourcenpaket Aktualisieren Sie die Beschriftungen so, dass sie beide Sprachen enthalten. Dies könnte folgendermaßen aussehen:
header.label.greeting = Hello/Bonjour
footer.label.page = Page/Page
body.label.name = Name/Nom
Wenn englische Labels sind immer zuerst, dann einfach standardmäßig ein englisches Gebietsschema verwenden und die Ressource Bundle-Datei entsprechend benennen.
Dies ist flexibel, weil es die Möglichkeit, mehr als zweisprachiges Ressourcenbündel, wie getrennte Englisch und Französisch Etikett öffnet, sollen die Anforderungen in der Zukunft ändern:
header.label.greeting = Hello
footer.label.page = Page
body.label.name = Name
header.label.greeting = Bonjour
footer.label.page = Page
body.label.name = Nom
Wenn Sie Sie waren besonders begeistert und konnten ein wenig Code schreiben, um zwei Ressourcenbündel aus verschiedenen Sprachen zusammenzuführen Das bedeutet, dass Sie mit den beiden unmittelbar oben gezeigten Schlüsselsätzen ein einzelnes Ressourcenbündel erstellen können, das die einzelnen Labels mit einem Schrägstrich kombiniert.
Damit dieser Ansatz funktioniert, müssen Sie über eine Konvention verfügen, die es dem Zusammenführungscode ermöglicht, zwischen zweisprachigen Etiketten und nicht zweisprachigen Etiketten zu unterscheiden, falls vorhanden.
Danke Dave. Ich habe das Problem gelöst, indem ich die englische Sprache als Standard-Ressourcenpaket eingestellt und das lokale Ressourcenpaket als Parameter an die jrxml-Datei übergeben habe. Im Tag
Wenn möglich, mischen Sie nicht, wie Labels abgerufen werden, indem Sie '$ R {...}' ausschließlich verwenden, anstatt '$ R {...}' und '$ P {...}'. Alle Berichtsetiketten sollten aus demselben Ressourcenpaket bereitgestellt werden. –
- 1. Ist es möglich, einen Pfad für #include zu verwenden?
- 2. Ist es möglich, Inline-Vorlagen zu verwenden?
- 3. Ist es möglich, mehrere Vorlagen-Engines in Sails.js zu verwenden?
- 4. Ist es möglich, mehrere Anmerkungen in BEGO zu verwenden?
- 5. Ist es möglich, pbapply parallel zu verwenden?
- 6. Ist es möglich, mehrere Remote-Agenten für Atlassian Bamboo auf einem einzelnen Computer zu installieren?
- 7. Flucht aus Ressourcenbündel einen Textes für Javascript
- 8. Ist es möglich, benutzerdefinierte Datentypen für MOSS-Benutzerprofileigenschaften zu verwenden?
- 9. Ist es möglich, einen Unicode "argv" zu verwenden?
- 10. Ist es möglich, einen istream auf mehrere Leser zu verteilen?
- 11. Ist es möglich, einen Prototyp dafür in Javascript zu verwenden?
- 12. Mehrere KeyGestures für einen einzelnen RoutedUICommand
- 13. Ist es möglich, mehrere Textattribute programmatisch in einer einzelnen Tabellenzelle zu speichern (zu setzen)?
- 14. Ist es möglich, einen Datensatz als Datensatzelement zu verwenden?
- 15. Ist es möglich, einen Konverter in einem Stil zu verwenden?
- 16. Ist es möglich, einen Subprozess zu erneuern?
- 17. Ist es möglich, einen Gradienten zu zeichnen?
- 18. Ist es möglich, einen Import zu aliasieren?
- 19. Ist es möglich, verschachtelte Befehlsplatting zu verwenden
- 20. kubernetes: Ist es möglich, Etiketten zu einzelnen Behältern hinzuzufügen?
- 21. Ist es möglich, einen Datenbanktransaktionsparameter zu verfälschen?
- 22. Ist es möglich, einen Bereich als Schlüssel für einen Hash in Ruby zu verwenden?
- 23. JasperReports: Ist es möglich, mehrere Datenquellen zu verwenden, oder wenn nicht, Sammlungen in Parametern zu verwenden?
- 24. WCF: Mehrere Bindungskonfigurationen für einen einzelnen Dienst
- 25. Ist es möglich, eine std :: string für read() zu verwenden?
- 26. Ist es möglich, Gensim doc2vec für die Klassifizierung zu verwenden
- 27. Ist es möglich, Google Analytics für die Serverseite zu verwenden?
- 28. Ist es möglich, JQuery für Single Select zu verwenden?
- 29. Angular2 - Ist es möglich, variable Zeichenfolge für HostListener zu verwenden?
- 30. Ist es möglich, Variablen für Sammlungsnamen mit Pymongo zu verwenden?
Nein. Sie sollten eine Datei verwenden. –