Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core template manager
Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plug-ins. Aktualisieren Sie ggf. das hier beschriebene Plug-in, um die Dokumentation verwenden zu können.
In einem Programm heißt die Schaltfläche Beenden auf Deutsch Beenden und auf Englisch Close. Sie benötigen Platzhalter / Parameter (Übersetzungskeys), damit bei dieser Aktion verschiedene Sprachoptionen zur Verfügung stehen. Die Übersetzungskeys greifen auf Sprachdateien zurück, in denen Sie Text definieren. Dieser Text erscheint in der ausgewählten Sprache in der grafischen Oberfläche.
Sie setzen das Kürzel acmsg (agorum core message generator) vor die Texte, die Sie übersetzen wollen. Das Format des Kürzels acmsg ist abhängig davon, wo Sie es definieren: in einer JavaScript-Datei oder in der metadata.yml.
Sie müssen folgenden Key in die Datei project.yml eintragen:
translationoffset: <name.der.konfiguration>
Das System verwendet diesen Key als Basis-Key für die Property-Entrys. Fehlt dieser, kann das System die Unterstützung nicht aufrufen.
Konfigurationen, die für verschiedene Sprachen vorgesehen sind, benötigen entsprechende Übersetzungskeys, um die Sprachen korrekt darzustellen.
Lesen Sie die Dokumentation Metadaten-Bezeichnungen im agorum core smart assistant übersetzen, um die nachfolgenden Schritte besser verstehen zu können.
Übersetzungskeys können an den verschiedensten Stellen in agorum core Verwendung finden. Im Folgenden werden Anwendungsbereiche mit Beispielen vorgestellt.
Hierbei beginnen Übersetzungskeys mit einem Unterstrich:
Beispiel
'_agorum.template.manager.asa.agorumcoreTemplateManager'
Um Übersetzungskeys in JavaScript-Dateien zu nutzen, müssen Sie das Package common/i18n laden und den Befehl i18n.translate('<Übersetzungskey'>) einbauen.
Beispiel
.. var i18n = require('common/i18n'); .. ..... i18n.translate('_agorum.template.manager.asa.agorumcoreTemplateManager'); ..
Beispiel für Keys in den Adressen
d4w_address_phone_type: displayName: "_agorum.home.d4w.address.phone.Type" data: // [value: text] - [ telephone, "agorum.home.d4w.address.phone.type.telephone" ] - [ mobile, "agorum.home.d4w.address.phone.type.mobile" ] - [ fax, "agorum.home.d4w.address.phone.type.fax" ] translate: text restricted: true kind: notInherited
Die Option Messages-Generierung starten im Kontextmenü des agorum core template managers nutzen Sie, wenn Sie Teilkonfigurationen abgearbeitet haben oder das Projekt an sich abschließen möchten.
Anstatt diese Keys und dazugehörige Dateien manuell zu erstellen, passen Sie Ihre Skripte und Konfigurationen mit einem Keyword an (siehe Aufbau des Keywords).
Folgender Inhalt dient als Ausgangslage:
d4w_address_phone_type: displayName: "Kontaktdaten" data: // [value, text] - [ telephone, "Telefonnummer" ] - [ mobile, "Mobil-Nummer" ] - [ fax, "Fax" ] restricted: true kind: notInherited
Fügen Sie den Parameter translate und das Keyword -acmsg ein:
d4w_address_phone_type: displayName: "Kontaktdaten" data: // [ value, text ] - [ telephone, "-acmsg=Telefonnummer" ] - [ mobile, "-acmsg=Mobil-Nummer" ] - [ fax, "-acmsg=Fax" ] translate: text restricted: true kind: notInherited
Verwenden Sie die Aktion Messages-Generierung starten im agorum core template manager.
Ergebnis: Das System erstellt die finale Datei und eine message-Datei:
d4w_address_phone_type:
displayName: "_agorum.home.d4w.address.phone.Type"
data:
// [value: text]
- [ telephone, "agorum.home.d4w.address.phone.type.telephone" ]
- [ mobile, "agorum.home.d4w.address.phone.type.mobile" ]
- [ fax, "agorum.home.d4w.address.phone.type.fax" ]
translate: text
restricted: true
kind: notInherited
Bauen Sie zunächst alles nur mit Texten ohne Keys auf, um die Erstellung zu beschleunigen. Diesen Texten stellen Sie dann ein Keyword voran, das dann durch ein Hilfsprogramm die Text-Keys automatisch erzeugt und ablegt.
[-_]acmsg[:key]=
Gesetztes Zeichen | Beschreibung | Beispiel |
---|---|---|
'_' | Das System schreibt den Text ohne i18n.trans. mit einem _ am Anfang in den Übersetzungskey. | '_acmsg=Hallo' -- > '_agorum.basic.archive.js.create.Hallo' |
'-' | Das System schreibt den Text ohne i18n.trans. in den Übersetzungskey. | '-acmsg=Hallo' -- > 'agorum.basic.archive.js.create.Hallo' |
Nichts |
var i18n = require('common/i18n');
|
'acmsg=Hallo' -- > i18n.translate('agorum.basic.archive.js.create.Hallo') |
':key' | Hinterlegt einen eigenen Key, den das Systemdann statt des Textes als letzten Teil des Übersetzungskeys verwendet. | 'acmsg:MeinKey=Hallo' -- > i18n.translate('agorum.basic.archive.js.create.MeinKey) |
In der Datei metadata.yml müssen Sie nicht alle Keys eintragen. Das System erzeugt die Übersetzungskeys folgender Keywords automatisch:
Sie müssen einen eigenen Key eintragen, wenn der automatische Key im Text davor vorhanden ist.
Hinweis: Das System versieht den displayName in der Datei metadata-collection.yml ebenfalls mit Übersetzungskeys.
Beispiel
name: displayName: Name
Hier müssen Sie trotzdem ein Keyword eintragen, da Name auch in displayName vorkommt:
name: displayName: "_acmsg=Name"
Andernfalls würde das System auch displayName durch den Key ersetzen:
display<Textkey>.
Weitere Keywords tragen Sie nach den beschriebenen Regeln ein (siehe Aufbau des Keywords).
Hinweis: Wenn Sie Keywords in die automatisch belegten Felder (displayName, regexText) einbauen, so nutzt das System diese anstatt der automatischen Erzeugung.
Die fett markierten Einträge stellen die Keywords und damit die automatisch belegten Felder dar.
Datei vor Umwandlung
################ Wiedervorlage - Suche ##########################
wiedervorlage_suche:
displayName: "Wiedervorlage bis"
type: string
kind: notInherited
data:
- [ today , "-acmsg=Heute" ]
- [ tomorrow, "-acmsg=Morgen" ]
- [ 1week , "-acmsg=in einer Woche" ]
- [ all , "-acmsg=Alle" ]
admin_emailAddresses:
displayName: "Mailadressen"
type: string
kind: notInherited
multi: true
data:
# validation
regex: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
regexText: "Keine gültige E-Mail Adresse"
Das System erzeugt die Keys anhand des Metadatums.
Datei nach Generierung der Übersetzungskeys
################ Wiedervorlage - Suche ########################## wiedervorlage_suche: displayName: _agorum.basic.archive.metadata.displayName.acbasicarchive.wiedervorlagesuche type: string kind: notInherited data: - [ today , "agorum.basic.archive.metadata.Heute" ] - [ tomorrow, "agorum.basic.archive.metadata.Morgen" ] - [ 1week , "agorum.basic.archive.metadata.ineinerWoche" ] - [ all , "agorum.basic.archive.metadata.Alle" ] admin_emailAddresses: displayName: "_agorum.basic.archive.metadata.displayName.acbasicarchive.adminemailAddresses" type: string kind: notInherited multi: true data: # validation regex: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$ regexText: "_agorum.basic.archive.metadata.regexText.acbasicarchive.adminemailAddresses"
Bei einer agorum core smart assistant-Konfiguration erzeugt das System die Keywords für die Namen der einzelnen Objekte (Aktionen, Listen, Suchen) ebenfalls automatisch. Zudem trägt es die Übersetzungskeys der Metadaten automatisch ein.
Tipp: Bauen Sie zuerst die metadata.yml-Dateien mit den Übersetzungskeys auf und erstellen Sie erst danach die Keys für die agorum core smart assistant-Konfiguration.
Die Texte in allen JavaScript-Registerkarten innerhalb des agorum core smart assistants müssen Sie manuell mit den Übersetzungskeys versehen. Auch hier existieren Texte, die mit _ beginnen. Dies sind die Texte, die keine Übersetzungen oder Ersetzungen haben. Zu übersetzende Texte müssen ohne ein Präfix stehen, damit ein Übersetzungsprogramm den Key aufrufen kann.
Der hier eingegeben key1 bezieht sich nur auf das JavaScript, in dem Sie sich gerade befinden. Der erstellte Property-Key ist automatisch eindeutig.
Angenommen, Sie wollen im agorum core smart assistant ein Metadatum für eine Eingabe verwenden. Dieses hat nun einen anderen angezeigten Namen als zuvor angenommen. So können Sie nun einen eigenen Textkey oder den Text mit dem acmsg-Key eintragen:
In diesem Beispiel hat das System die Keys für die Metadaten admin_b1 und admin_b2 automatisch eingetragen. Für das Metadatum admin_b3 wurde das acmsg-Keyword mit Text eingegeben, sodass das System hier den eigenen Text ausgibt.
Bei einem JavaScript existiert neben dem BasisKey (translationoffset aus der Datei project.yml) noch der Namen des JavaScripts als weitere Ergänzung zum BasisKey. Dadurch sollte es innerhalb eines Projekts keine gleichnamigen JavaScripte geben, um Fehler zu vermeiden. Ansonsten müssen die Übersetzungskeys in den Skripten selbst verschiedene Namen tragen.
Bauen Sie Texte, in die Sie ein oder mehrere Inhalte schreiben, wie folgt auf, da die Platzhalter in unterschiedlichen Sprachen auch an unterschiedlichen Stellen stehen können:
let text = 'acmsg:key4=Eingabe "$1" ist ein MUSS-Feld'.replace('$1', set.label);
In diesem Beispiel wird $1 im Text durch den Inhalt aus set.label ersetzt.
Hinweis: Stellen Sie einem solchen Text kein _ voran. Die Übersetzung funktioniert sonst nicht, da das System die Funktion i18n.translate(...) nicht umsetzen kann.
Arbeiten Sie in einem aON nur mit _acmsg, sodass aguila die Texte selbst übersetzen kann. Alle Übersetzungskeys müssen mit einem _ beginnen.
Das System übersetzt die Items:
Sofern in value Text vorkommt, dürfen Sie diesen nicht übersetzen.
Der fett markierte Bereich data dürfen Sie richtigerweise nicht in der aON definieren, da diese kein require enthalten sollte.
let i18n = require('common/i18n'); .. .. , { type: 'agorum.comboBox', name: 'type', label: '_agorum.basic.archive.js.createmetadatamain.Type', disabled: false, restricted: true, // Auswahl data: [ { value: 'string', text: i18n.translate('agorum.basic.archive.js.abc.Zeichenkette') }, { value: 'double', text: i18n.translate('agorum.basic.archive.js.abc.Gleitkommazahl') } ]
Befolgen Sie die aufgeführten Schritte, so sind die Metadaten im agorum core smart assistant konfigurator bereits automatisch mit den Übersetzungskeys belegt.
Achtung: Datenverlust durch Löschen der temporären Dateien mit Klick auf OK. Die temporären Dateien können Sie danach nicht mehr wiederherstellen. Prüfen Sie alle temporären Dateien und exportieren Sie zuvor die Original-Dateien, um diese wieder einspielen zu können.
Klicken Sie auf OK oder Wiederherstellen / Rückgängig machen.
Ergebnis: Sie können eine neue Datei wählen und erzeugen.
Hinweis: Bislang sind die Übersetzungskeys nur temporär vorhanden. Sie können diese durch Klick auf letztere Schaltfläche löschen, ohne die Original-Dateien zu beeinträchtigen. Erst durch Klick auf OK ist keine Änderung auf einen Klick mehr möglich.
Die geöffnete Oberfläche ändert sich je nach Auswahl und Durchführungsschritt. D. h. Schaltflächen werden je nach Auswahl, Aktion und Status ein- und ausgeblendet.
• Ausführen erscheint, nachdem Sie unter Schritt 1 die message-Datei und 2 Konfigurationsdatei(en) ausgewählt haben. Durch das Ausführen erstellt das System Übersetzungskeys und ändert die ausgewählten Dateien und die message-Datei.
• Abbrechen / Übersetzte Dateien wieder löschen macht die automatischen Anpassungen rückgängig.