Übersetzungen - minova-afis/aero.minova.rcp GitHub Wiki

Hier wird beschrieben, wie und wo die Übersetzungen in Version 12 gespeichert werden. Zum Portieren der Übersetzungen aus alten Versionen wurden Skripte erstellt.

In welchem Format werden Übersetzungen gespeichert?

Übersetzungen werden als key-value Paare in .properties Dateien eingetragen (also z.B. Action.New=Neu)

  • messages.properties → Grundübersetzungen, in aller Regel auf Englisch

    • Hier sollte jeder Key enthalten sein

    • Nur hier sollten Werte mit @ am Anfang benutzt werden (um auf bestehende Übersetzungen zu verweisen)

  • Für andere Sprachen wird der Name erweitert

    • messages_de.properties → Deutsche Übersetzungen

    • messages_fr_CH.properties → Französische Übersetzungen speziell für die Schweiz

  • messages_description.properties → Beschreibungen der Werte

Beispielhafter Ausschnitt aus einer messages.properties Datei:
Abort=Cancel
Action.Close=Close
Action.DeleteLine=Delete Row
Action.Discard=Discard
Action.ManageColumns[email protected]

Wie wird auf andere Übersetzungen verwiesen?

Wenn ein Key die genau gleiche Übersetzungen haben soll wie ein bereits bestehender kann ein Verweis verwendet werden. Der Verweis auf eine bereits vorhandene Übersetzung wird durch ein @ gefolgt mit dem referenzierten Schlüssel angelegt. Verweise sollten nur in den messages.properties erfolgen. Damit muss nicht jeder Key in allen .properties Dateien eingetragen werden.

Beispiel
tItem.KeyLong=@KeyLong

In welches Projekt gehören die Übersetzungen?

Die Übersetzungen kommen allgemein jeweils in das Projekt, in dem sie benötigt werden.

Es muss darauf geachtet werden, dass die Schlüssel nur in jeweils einem Projekt vorkommen (wenn die Projekte zusammen genutzt werden sollen). Ansonsten schlägt das Bauen fehl.

Besondere Projekte:

  • i18n-Projekt

    • Übersetzungen, die von der WFC-Anwendung oder vom CAS genutzt werden (z.B. Form.Search, Action.Print, msg.PrivilegeError, …)

    • Allgemeine Werte, die von verschiedenen Projekten benötigt werden (z.B. Period, Until, Day, Amount, KeyText, …)

    • WICHTIG: Hier nur Verweise eintragen, die sich auf andere Einträge in i18n beziehen. Auf keinen Fall sollten Verweise auf z.B. Übersetzungen in data.schema eingetragen werden. Ansonsten können sie in Projekten, die von i18n, aber nicht von data.schema abhängig sind nicht aufgelöst werden

  • data.schema-Projekt

    • Übersetzungen aller Tabellen- und Spaltennamen, die im data.schema definiert sind. Also prinzipiell alles, was mit t anfängt (z.B. tCompany, tInvoice.Payment, tUnit.KeyText.5, …)

Alle weiteren Übersetzungen kommen in die Masken-Projekte, in denen sie benötigt werden. Als Beispiel msg.InvoiceCloseSuccess in Invoice, WorkingTime.KeyLong in Workingtime

Wo werden die Übersetzungen in den Projekten abgelegt?

Die .properties Dateien werden in (app)/src/main/app/i18n abgelegt. Siehe auch App-Projekt Struktur.

Die einzelnen .properties Dateien aller in der POM angegebenen Abhängigkeiten werden dann beim Bauen automatisch gemerged. Es wird also aus allen message.properties eine einzelne message.properties Datei erstellt. Das gleiche auch für messages_de.properties, messages_fr.properties, usw. Diese werden dann vom CAS der Anwendung zur Verfügung gestellt.

⚠️ **GitHub.com Fallback** ⚠️