Ü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.
Ü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
messages.properties
Datei:Abort=Cancel
Action.Close=Close
Action.DeleteLine=Delete Row
Action.Discard=Discard
Action.ManageColumns[email protected]
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.
tItem.KeyLong=@KeyLong
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:
-
-
Ü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
-
-
-
Übersetzungen aller Tabellen- und Spaltennamen, die im
data.schema
definiert sind. Also prinzipiell alles, was mitt
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
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.