Willkommen, Gast
Home › Foren › Nuclos Konfiguration › Formulare › iReport Sprachabhängig ausgeben
Hallo
Ich habe eine grundsätzliche Frage betreffend mehrsprachigkeit und Formulare/Reports.
Ich habe bei der Entität Kunde ein Sprachfeld hinterlegt. Nun sollte ich die Formulare entsprechend der Kundensprache ausgeben können. Die Ausgabe hat also nichts mit der Sprache des Benutzers oder Anzeige der Masken zu tun.
Ist so etwas mit nuclos/iReport überhaupt möglich?
In einer Access-DB hatte ich das so gelöst, dass bei der Ausgabe die Feldernamen aus einer Tabelle sprachabhängig ausgelesen und im Rport eingefügt werden.
Gruss Martin
Ich habe mir nun folgende Lösung überlegt:
Ich erstelle eine Tabelle Übersetzungen mit den Feldern Formular, Sprache und dann Text1, Text2, Text3, etc….
Dann muss zu jedem Formular und zu jeder Sprache ein ganzer Datensatz mit allen Bezeichnungen erfasst werden.
Bei der Ausgabe des Reports verknüpfe ich die Tabelle dann über das auszugebende Formular und die entsprechende Sprache (Kunde, Lieferant, Rechnungsempfänger, Transporteur.)
Auf dem Jasperreport sind dann alle Texte dynamisch erstellt aus den Feldern.
Gibt es sonst noch eine Möglichkeit?
Mir gefällt an dieser Lösung nicht, dass ich für jedes Textfeld ein zusätzliches Tabellenfeld verwenden muss
Gruss Martin
Hallo Martin,
es gibt seit 3.2 in Nuclos auch die Möglichkeit, sprachabhängige Verwendungen zu definieren:
Das führt zum einen zu entsprechender Datums- und Zahlformatierung in Jasperreports/iReport (es wird die Variable REPORT_LOCALE gesetzt), zum anderen kann man in den Reports dann sprachabhängige Ausdrücke einbauen, um Ausgaben sprachabhängig zu steuern:
Grüsse,
nuclosian
D.h. natürlich, dass man je Sprache eine Verwendung definieren und man dann beim Aufruf des Formulars im entsprechenden Dialog diese entsprechend auswählen muss, über ein Feld im Kunden lässt sich das so noch nicht steuern (über Regeln hingegen ginge das natürlich).
Hallo nuclosian
Ist gut, wenn etwas angedacht wird. Ist aber meiner Meinung nach keine gute Lösung. Man muss dann bei einer zusätzlichen Sprache sämtliche Felder auf allen Reports mit der Sprachdefinition ergänzen. Da sind Fehler vorprogrammiert und der Aufwand ist hoch.
Da gefällt mir die Lösung über die Datenbankübersetzung besser.
Da spielt es keine Rolle wie viele Sprachen ich verwende. Und ich muss auf dem Formular auch keine Bedingungen einbauen.
Jetzt habe ich aber noch ein Problem. Nicht nur statische Texte wie Überschriten oder so sind sprachabhängig, sondern auch Bezeichnungen der Währung, Artikeltexte, Einheiten, etc.
Hat da jemand eine schlanke Lösung für die Sprachsteuerung?
Danke und Gruss Martin
Hallo,
bzgl. der Internationalisierung im Umfeld des Reporting ist noch viel Spielraum nach oben – zugegeben. Schritt für Schritt. In der Reihenfolge, in der der Bedarf grössten ist.
Für die Übersetzung von Dateninhalten gibt es in Nuclos *noch*. keine *generische* Lösung, das Thema schwebt aber in unseren Köpfen. Bisher fehlt uns dafür noch die clevere Idee, vor allem unter Berücksichtigung der Tatsache, dass in der Praxis typischerweise nur wenige Felder tatsächlich internationalisiert werden müssen.
Im Zuge einer Internationalisierung unserer Website und der Tatsache, dass wir Nuclos auch in anderen Ländern Europas anbieten wollen, werden wir dafür natürlich eine Lösung finden (müssen).
Uns ist aktuell mindestens eine Installation von Nuclos (bei BMW) bekannt, die zum Einsatz in Deutschland, USA, Grossbritannien und China kommt, allerdings ist dort (bisher) überall die Sprache Englisch ausreichend.
Grüsse,
nuclosian
:whistle:
Wir müssen in der Schweiz nicht internationalisieren, sondern regionalisieren. 3 Landessprachen + Englisch ist Standard
der potenzielle Kunde handelt zu allem Überfluss noch mit Spanien und der Türkei, macht also schon 6 Sprachen, wobei türkisch noch eigene Schriftzeichen hat.
Als Idee für die Sprachübersetzung sollte es eine zusätzliche Steuerungsmöglichkeit auf der Entität geben analog dem Statusmodell. Jede Entität könnte sprachabhängig oder unabhängig sein.
ich werde im Moment je Einheit, welche zu übersetzen ist, eine Sprachtabelle hinterlegen und beim Reporting jeweils auswerten, evtl. alles in eine zentrale Sprachtabelle, da bin ich mir noch nicht sicher.
Gruss Martin
So wie ich diese Diskussion hier verstehe, handelt es sich um die sprachabhängige Ausgabe von Formularen, je nach eingestellter Benutzersprache.
Was aber, wenn ein User mit Deutsch arbeitet, aber fremdsprachige Formulare ausgeben muss, weil der Kunde kein Deutsch spricht ?
Z.B. Aufträge haben nun zwei Rechnungen, eine „Rechnung“ und eine „Invoice“. Der Sachbearbeiter kann sich dann das richtige Formular raussuchen und dem Kunden zusenden. Funktioniert, ist aber nicht schön.
Bei den Kunden haben wir schon ein Sprachmerkmal hinterlegt, was aber im Bereich der Formulare bisher nicht ausgewertet wird.
Hallo Jan
Es ging mir von Anfang an darum, die Formulare entsprechend der Sprache von Kunde / Lieferant / Transporteur auszugeben. Welche Sprache der Benutzer verwendet, ist dabei egal.
Wenn man nicht für jede Sprache einen eigenen Report erstellen will und manuell beim Drucken auswählen will, muss man die Felder sprachabhängig in der Reportquelle definieren. Und natürlich in nuclos alle Übersetzungen erfasst haben.
Bsp:
Ich habe für die Übersetzung der Währung eine zusätzliche Entität währungU mit Sprache und Textfeld erstellt. Im Auftrag habe ich die Sprache ebenfalls hinterlegt. Nun kann ich in der Reportquelle die Entität Auftrag – WährungU einfügen. Die InnerJoin Verbindung muss leider manuell bearbeitet werden, das Modell kann es nicht. Sieht dann etwa so aus:
INNER JOIN t_eo_waehrungu T7 ON (T1.intid_strsprache = T7.intid_strsprache AND T1.intid_strwaehrung = T7.intid_strwaerhung)
Die statischen Texte im Jasper habe ich durch Variablen ersetzt, welche ebenfalls in der Reportquelle übergeben werden. Dazu habe ich ebenfalls eine Entität Dokumentübersetzungen erstellt mit Sprachauswahl, Reportname, und textfeldern 1 – 50. Die werden ebenfalls mit der Sprache zum Auftrag verknüpft und auf den entsprechenden Report eingeschränkt. So werden alle Felder sprachabhängig übergeben.
Nachteil der Lösung: Reportquelle wird enorm gross und falls die unterschiedlichen Sprachen der Kunden / Lieferanten / Transporteure berücksichtigt werden muss, muss je eine eigene Reportquelle erstellt werden und nicht nur ein zusätzliches Jasperformular.
Einigermassen verständlich? Ich kann sonst noch das nuclet (noch nicht vollständig) zur Verfügung stellen.
Gruss Martin
Sehr gut verständlich …. eben wegen dieser Nachteile ist der „Aufwand“ nicht wirklich geringer, nur das man sich eben die VIELEN JasperReports sparen kann. Babylon s*?#§ :blink:
Du musst angemeldet sein, um auf dieses Thema antworten zu können.