Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos Translator: TranslatorFactory, ServiceLoader, META-INF/services, JSON, DeepL, Lokalisierung, 4.2025.15, Extension.

globe with meridians Sprache: Deutsch · English

open book Translator

Eigene Übersetzer für die Lokalisierung – TranslatorFactory, ServiceLoader und JSON-Konfiguration.

Status
colourGrey
titleReferenz
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Mit mit Nuclos 4.2025.15 wurde Nuclos um einen ein Lokalisierungsmechanismus ergänzt, der eine Erweiterung der über die festen System-Lokalisierungen (de-DE und , en-GB) hinaus weitere Sprachen erlaubt. Zentraler Bestandteil hierbei ist die Übersetzung aller relevanten Texte der Anwendung Übersetzt werden alle relevanten Anwendungstexte (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)

als Extension benötigt.

TranslatorFactory

Eine TranslatorFactory erzeugt die Translator-Instanzen 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 Factories über den Java ServiceLoader nach Factories, weshalb eine Ressource / Textdatei ; daher muss eine Datei META-INF/services/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.

abgelegt werden.

Konfiguration

Die Konfiguration erfolgt flexibel per JSON (keine Strukturvorgaben). Das JSON einer Lokalisierung hat Vorrang gegenüber dem am Translator und überschreibt dieses vollständig, wenn eine Instanz für die Lokalisierung aufgebaut wird.

Info
titleBeispiel & DeepL

Ein Beispiel (DeepL-Translator) liegt im Nuclos-Repository. Die produktive Einrichtung von DeepL beschreibt die Administration; siehe auch Lokalisierung/Interface-Sprachen.

Verwandte Seiten

gear Extensions


Extension.

Öffnen →

...

titleDatenschutz

...