mit Nuclos 4.2025.15 wurde Nuclos um einen Lokalisierungsmechanismus ergänzt der eine Erweiterung der festen System Lokalisierungen (de-DE und en-GB) erlaubt. Zentraler Bestandteil hierbei ist die Übersetzung aller relevanten Texte der Anwendung (nicht Daten!) mit denen ein Endbenutzer in Berührung kommen kann. Siehe auch Lokalisierung.

Diese Texte können auch automatisiert übersetzt werden, und dafür wird eine Translator Implementierung benötigt deren Struktur hier erläutert wird.

Ein Beispiel befindet sich in unserem Repository: DeepL Translator

Die Konfiguration eines Translator erfolgt flexibel mittels eines JSON. Es gibt keine Vorgaben zur Struktur dieses JSON. Das JSON einer Lokalisierung (Optional) hat Vorrang gegenüber der am Translator, und überschreibt diese damit vollständig, wenn eine Instanz für diese Lokalisierung aufgebaut wird.

TranslatorFactory

(https://api.nuclos.de/org/nuclos/api/l10n/TranslatorFactory.html)

Eine Factory produziert die Translator Instanzen, und registriert sich im System damit diese für eine Administration zur Verfügung stehen.

Nuclos sucht mit dem Java ServiceLoader nach Factories, weshalb eine Ressource / Textdatei org.nuclos.api.l10n.TranslatorFactory im Verzeichnis META-INF/services mit dem FQN (Fully-Qualified Name) der Factory abzulegen ist.

Unser JavaDoc enthält bereits viele nützliche Hinweise, hier noch ein paar Tipps.

getDefaultConfigJson()

Wir empfehlen die Generierung eines JSON welches mit Platzhaltern arbeitet und damit einem Administrator einen leichten Einstieg ermöglicht.

autoSetup(...)

Optional. Bei Anlage einer neuen Lokalisierung ruft Nuclos diese Methode einer Factory auf. Liefert diese true wird der Translator automatisch in der Lokalisierung eingetragen, und das JSON welches im configBuilder vorbereitet wurde, wird übernommen.

Translator

(https://api.nuclos.de/org/nuclos/api/l10n/Translator.html)

Übersetzt die eingehenden Texte welche zusammen mit zusätzlichen Informationen im TranslationContext zur Verfügung stehen. Pro Lokalisierung wird eine Instanz im Speicher des Servers gehalten. 

TranslationContext 

(https://api.nuclos.de/org/nuclos/api/context/TranslationContext.html)

Unser JavaDoc enthält bereits viele nützliche Hinweise, hier noch ein paar Tipps.

isInMemoryTranslation()

Alle Nuclos API Standard Methoden und Konstruktoren produzieren nur In-Memory Anfragen. Für eine Persistierung muss der Aufruf erweitert werden.

Diese Texte können Daten aus Businessobjekten enthalten, und wenn diese einem externen Übersetzungsdienst ungefiltert übermittelt werden, sollte man solche Aufrufe blockieren können.

Datenschutz

Da die Übermittlung von Daten an einen externen Übersetzungsdienst den Datenschutz betreffen kann, empiehlt es sich, diese Art von Übersetzungsanfragen per Konfiguration blockieren zu können.


  • Keine Stichwörter