Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

Übersetzungskeys konfigurieren

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.

Deutsche Oberfläche

 

Englische 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.

Voraussetzungen


Key in die Datei „project.yml“ eintragen

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.

Dokumentation lesen

Lesen Sie die Dokumentation Metadaten-Bezeichnungen im agorum core smart assistant übersetzen, um die nachfolgenden Schritte besser verstehen zu können.

Einen Übersetzungskey in agorum core verwenden


Übersetzungskeys können an den verschiedensten Stellen in agorum core Verwendung finden. Im Folgenden werden Anwendungsbereiche mit Beispielen vorgestellt.

Beispiel für Keys außerhalb von Skripten

Hierbei beginnen Übersetzungskeys mit einem Unterstrich:

Beispiel

'_agorum.template.manager.asa.agorumcoreTemplateManager'
Beispiel im agorum core smart assistant konfigurator

Beispiel für Keys innerhalb von Skripten (oder im agorum core smart assistant in den JavaScript-Registerkarten)

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 im agorum core smart assistant konfigurator

Beispiel für Keys in der Datei „metadata.yml“


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

Skripte und Konfigurationen anpassen


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).

Beispiel

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
  1. 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
  2. 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
    

Aufbau des Keywords


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]=

Beschreibung der einzelnen Zeichen

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
  • Das System schreibt i18n, wenn weder - noch _ vorn steht.
  • Das System fügt eine Zeile mit folgendem Eintrag oben ein:
var i18n = require('common/i18n');
  • Verwenden Sie i18n nicht in der Datei metadata.yml.
  • Verwenden Sie stattdessen immer ein - oder _ vor dem Keyword.
  • Sie verwenden diese Option etwa in JavaScript-Dateien.
'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) 

Besonderheiten in der metadata.yml und metadata-collection.yml


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.

Beispiel aus der Datei „metadata.yml“

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"

Besonderheiten im agorum core smart assistant konfigurator


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.

Beispiele

Der hier eingegeben key1 bezieht sich nur auf das JavaScript, in dem Sie sich gerade befinden. Der erstellte Property-Key ist automatisch eindeutig.

Besonderheit 1 im agorum core smart assistant konfigurator

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:

Eigenen Textkey oder Text mit 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.

Besonderheit bei einem JavaScript


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.

Besonderheiten in aguila - aON


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.

Negatives Beispiel

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') 
    } 
  ]

Mit dem Unterstützungstool arbeiten


Befolgen Sie die aufgeführten Schritte, so sind die Metadaten im agorum core smart assistant konfigurator bereits automatisch mit den Übersetzungskeys belegt.

  1. Erstellen Sie das Konfigurationsprojekt.
  2. Halten Sie bei der Erstellung der Übersetzungskeys folgende Reihenfolge bei der Datei ein:

    a) metadata.*.yml-Dateien konfigurieren und diese Änderungen ausführen, etwa mit einem Klick auf Run.
    b) agorum core smart assistant-Konfigurationen erstellen, speichern und testen.
    c) Skripte erstellen.
  3. Beginnen Sie bei der metadata.*.yml-Datei und führen Sie folgende Schritte aus:

    a) Versehen Sie Texte, die das System als Übersetzungskeys darstellen soll, mit dem beschriebenen Keyword.
    b) Öffnen Sie in dem Projektordner einen Bereich mit der rechten Maustaste und wählen Sie die Aktion Messages-Generierung starten. Das System erstellt durch das eben gesetzte Keyword automatisch Übersetzungskeys und überträgt den Textinhalt in eine ausgewählte message-Datei (etwa Messages_de.properties).
    c) Kopieren Sie den Inhalt der fertig gestellten message-Datei und fügen Sie ihn in andere Message-Dateien ein, um sie anschließend zu übersetzen (etwa Messages_en.properties, Messages_fr.properties).

Das Messages-Generierungstool verwenden

  1. Klicken Sie innerhalb Ihres Konfigurationsprojekts auf die rechte Maustaste.
  2. Wählen Sie im Kontextmenü agorum core template manager > Messages-Generierung starten (acmsg).

    Ergebnis: Das System startet das Tool (siehe Oberfläche des Messages-Generierungstools).
  3. Wählen Sie im Feld Messages-Datei eine Datei aus dem Auswahlmenü.

    Ergebnis: Nach der Auswahl erscheinen die verfügbaren Dateien zur Umsetzung. Diese sind abhängig von der im Projekt vorhandenen Datei projects.yml und der unter /yml/ liegenden metadata.*.yml-Dateien.
  4. Wählen Sie die gewünschten Dateien.
  5. Klicken Sie auf Ausführen.

    Ergebnis:

    • Das System baut alle Texte mit dem Keyword acmsg um und erstellt Übersetzungskeys.
    • Die geänderten Dateien erscheinen unter Suchergebnis. Klicken Sie diese an, erscheinen Sie unter Ansicht. Mit einem Doppelklick öffnen Sie die Dateien.
    • Die zwei Schaltflächen Abbrechen / Übersetzte Dateien wieder löschen und Speichern / Texte übernehmen zur Verfügung.
  6. Klicken Sie auf Speichern / Texte übernehmen.

    Ergebnis: Das System überführt die erzeugten Textkeys in die Original-Dateien überführt und aktiviert sie. Sie können den Bereich jetzt testen.

    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.

  7. Klicken Sie auf OK oder Wiederherstellen / Rückgängig machen.

    Aktion 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.

Oberfläche des Messages-Generierungstools
  1. Messagedatei zum Schreiben auswählen
    Auswahl der Messages-Datei, in die das System die Übersetzungskeys und deren Text schreibt.
  2. Auswahl Dateien
    Auswahlmöglichkeiten aller:

    • in projects.yml eingetragenen agorum core smart assistant-Konfigurationen
    • im Projekt unter dem Ordner yml liegende metadata.*.yml-Dateien
    • Dateien des Projekts, die im Inhalt das Keyword /(_acmsg|acmsg) enthalten, etwa JavaScript-Dateien
  3. Aktion
    Die hier dargestellte Schaltfläche wechselt die Aktion:

    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.

  4. Optionale Schaltfläche
    Erscheint, wenn Sie Daten gespeichert haben.
  5. Ansicht
    Darstellung der unter Punkt 6 gewählten Datei.
  6. Suchergebnis
    Darstellung aller geänderten Dateien.
  7. Aktion
    Möglichkeit zum Speichern und Rückgängig machen.