Übersetzungen

Mit der Übersetzungsanwendung können die Beschriftungen des gesamten INETAPP-Servers angepasst werden. Der Server verfügt über Sprachressourcen, die in Englisch und Deutsch lokalisiert sind und möglicherweise nicht die Anforderungen aller Benutzer erfüllen. Die Anwendung ermöglicht auch das Ändern der vorhandenen Ressourcen, um eine endbenutzerspezifischere Sprache in der Remote-Oberfläche widerzuspiegeln. Nur Benutzer mit der Konfigurationsberechtigung dürfen Sprachressourcen ändern.

Die Übersetzungen werden im laufenden Betrieb geändert. Die folgenden Statusinformationen, die für den aktuellen Status der Benutzeroberfläche relevant sind, werden angezeigt.

  • Die Liste der Plugins links zeigt entweder:
    • den gesamten Übersetzungsfortschritt, wenn keine Sprache ausgewählt ist
    • den Fortschritt einer ausgewählten Sprache
  • Die Hauptansicht zeigt:
    • Der Gesamtübersetzungsfortschritt des Servers für einzelne Sprachen, wenn kein Plugin oder keine Sprache ausgewählt ist
    • den Fortschritt einer ausgewählten Sprache, falls eine ausgewählt ist
    • die Liste der Übersetzungen für eine bestimmte Sprache in einem Plugin, wenn sowohl Sprache wie auch ein Plugin ausgewählt sind

Der Übersetzungsfortschritt in der Hauptansicht wird durch Fortschrittsindikatoren mit unterschiedlichen Farben dargestellt. Der Fortschrittsbalken ändert sich in:

  • Rot, wenn die Sprache weniger als 25 Prozent lokalisiert ist
  • Gelb, wenn die Sprache weniger als 70 Prozent lokalisiert ist
  • Grün, wenn die Sprache zu mehr als 70 Prozent lokalisiert ist

Die Benutzeroberfläche erleichtert den Übersetzungsaufwand auf intuitive Weise.

Hinweis: Wenn ein Plugin in der Liste fehlt, kann dies zunächst in der Konfiguration / Abschnitt Plugins überprüft werden.

Übersetzungen ändern

Um eine bestimmte Übersetzung zu bearbeiten oder eine Neue zu erstellen, müssen ein Plugin und eine Sprache ausgewählt werden. In der Liste der Übersetzungen werden links die ausgelieferten Systemübersetzungen in Englisch und rechts der aktuelle lokalisierte Wert angezeigt.

Wenn noch kein Text vorhanden ist, wird die Hauptsprache vom System (Englisch) verwendet. Wenn der Eintrag hellgrau ist wird mit dem Plugin eine Standardübersetzung für die gewählte Sprache ausgeliefert und verwendet. Benutzerdefinierte Übersetzungen werden in der üblichen Textfarbe angezeigt.

Durch Ändern einer Übersetzung (Bearbeiten + Verlassen des Textfelds) wird der geänderte Wert auf dem Server gespeichert. Ein Indikator oben rechts zeigt an, wie viele Übersetzungen noch in die Persistenz gespeichert werden müssen - und daher in anderen Modulen noch nicht verfügbar sind. Das persistente Speichern von Übersetzungen dauert normalerweise bis zu einer Minute.

Um die Lokalisierung zu erleichtern, gibt es für jeden übersetzbaren Eintrag ein Optionsmenü mit nützlichen Optionen wie "Mit Google übersetzen".

Oben in der Liste der Übersetzungseinträge befindet sich ein weiteres Optionsmenü, das auch eine Übersetzungsschaltfläche enthält. Es ermöglicht das Ändern aller aktuell sichtbaren Einträge unten.

Filter

Plugins bestehen aus vielen übersetzten Texten, die in Bündeln strukturiert sind (siehe unten). Es kann ein Bündle ausgewählt werden, um nur die Übersetzungen darin anzuzeigen.

Das Optionsmenü enthält eine weitere Option zum Filtern bereits übersetzter Einträge. Auf diese Weise werden nur Einträge ohne Text angezeigt (als Einträge, die weder mitgelieferte noch benutzerdefiniert Werte haben).

Eine wichtige Filteroption ist die globale Suchleiste. Diese kann verwendet werden, um eine bestimmte Übersetzung zu finden.

Platzhaltersyntax

Einige der Beschriftungen enthalten die Notation {0} oder {0,choice, ...} mit Zahlen zwischen Null und Neun. Dies sind spezielle Platzhalter, die von der Systemlogik ausgefüllt werden. Beim Lokalisieren von Nachrichten mit Platzhaltern muss überprüft werden, ob in der übersetzten Nachricht dieselben Platzhalter verwendet werden.

Hinweis: Die Platzhalter werden beim Senden der geänderten Ressource überprüft. Wenn ein syntaktischer Fehler auftritt, wird der Benutzer in der Übersetzungsanwendung benachrichtigt und die Ressource wird nicht gespeichert.

Hinweis: Platzhalter in Anführungszeichen (z.B. '{0}') werden als Literale behandelt und nicht ordnungsgemäß ersetzt. Es sind daher entweder doppelte oder zwei einfache Anführungszeichen (z.B. "{0}" oder ''{0}'') zu verwenden.

Lokalisierungsstruktur

Der INETAPP-Server unterstützt Plugin-Lokalisierungen, indem in das Verzeichnis <Persistenzverzeichnis>/plugins/translation des Servers eine korrekte Datei mit dem Namen <Plugin-Name>.translation.zip hinzugefügt wird.

Die Lokalisierungsressourcen basieren auf Java-Dateien im Format *_<Sprache>.properties, die mit der Codepage ISO-8859-1 und key=value codiert sind. Das bedeutet, dass Sonderzeichen wie Umlaute richtig codiert werden müssen. Die Basissprache ist Englisch, für die der _<Sprache>-Teil des Dateinamens nicht erforderlich ist.

Alle lokalisierten Ressourcen müssen am richtigen Ort gespeichert werden. Die Bearbeitungsseite enthält Abschnittsüberschriften mit dem Paket / Namen der Ressource, z.B. com.inet.plugin.structure.i18n.ConfigStructure. Das bedeutet, dass die Ressource ConfigStructure_ <Sprache>.properties im Verzeichnis com/inet/plugin/structur/i18n gespeichert werden muss. Zum Beispiel:

# myPlugin.localization.zip
 
 __ com
  |__ inet
    |__ plugin
    | |__ structure
    |   |__ i18n
    |     |_ ConfigStructure.properties
    |     |_ ConfigStructure_de.properties
    |     |_ ConfigStructure_es.properties
    |
    |__ client
      |__ resources
        |__ i18n
          |_ LanguageResource.properties
          |_ LanguageResource_de.properties
          |_ LanguageResource_es.properties

Veränderte Übersetzungen prüfen

Aufgrund der Einschränkungen an verschiedenen Caches im System ist es manchmal kompliziert im Browser die frisch übersetzten Texte zu erhalten. Mit der Übergabe eines Parameters im Browser kann der Cache dazu gebracht werden auch die neuen Texte auszuliefern. Dazu wird der Parameter locale mit einem imaginären Ländercode erweitert. Die meistern serverseitigen Caches haben ein Timeout von 15 Minuten in denen keine Aktivität stattfindet, bevor die lokalisierten Texte erneut geladen werden.

https://<server>:<port>/<path>?locale=es_AA
https://<server>:<port>/<path>?locale=es_AB
...
https://<server>:<port>/<path>?locale=es_ZZ