Zum Inhalt

XLIFF Translation Tools

In Business Central dient das XLIFF-Format als zentrale Grundlage für die Verwaltung von Übersetzungen. MS Docs

Die pflege dieser XML basierten Dateien kann durch die Verwendung externer Tools vereinfacht werden. Um Mergekonflikte in der XLIFF Datei zu vermeiden, hat sich als sinnvoll herausgestellt, dass innerhalb eines Projekts alle das selbe Tool verwenden.

1 NAB AL Tools

NAB AL Tools - Marketplace

Aus der app.g.xlf wird die app.xx-XX.xlf erstellt; in der entsprechenden Sprach-XLF wird übersetzt

Vorteile

  • Verwendung durch Github Copilot möglich (MCP Server)
  • Automatisierte Unterstützung der xlf Bearbeitung
  • Bietet die Möglichkeit fehlende Übersetzungen zu finden
  • Alle Übersetzungen werden direkt an zentraler Stelle in der XLIFF-Datei gepflegt
  • Sortierung der XLIFF-Datei ist möglich (ideal für Azure-DevOps-Projekte, weil hier die XLIFF-Datei eingecheckt sein muss)
  • Keine Übersetzungen im Code

Nachteile

  • Zwingend Englische Basiscaption (siehe Caption-Restriktionen)
  • Jede XLIFF Datei muss separat bearbeitet werden, was bei mehreren Sprachen sehr aufwendig ist.

2 AL Translation Center

AL Translation Center - Marketplace

In den Captions wird der Text als Comment mit folgender Syntax notiert:

Caption = 'English Text', Comment = 'ESP="Text in Spanish",ITA="Text in Italian"';

Pro App muss in die gitignore der exakte Name der Standard-xlf Datei geschrieben werden (Core Data.g.xlf statt *.g.xlf)

Vorteile

  • Captions lassen sich direkt an der Stelle des Tabellenfeldes / Tooltips mit einem Kommentar einpflegen

Nachteile

  • Wird dies Tool erst im späteren Projektverlauf verwendet, ist zu beachten, dass alle zuvor getätigten Übersetzungen in den bisherigen XLIFF-Dateien nicht berücksichtigt werden.
  • Achtung! Für Azure-DevOps-Projekte muss die XLIFF-Datei eingecheckt werden. Bei diesem Tool ist der Mergeaufwand höher, weil eine Sortierung nicht möglich ist.

3 ForNAV Translation Tool

https://www.fornav.com/translation-tool/ https://www.fornav.com/knowledge-base/powershell-cmdlet/

Erstellung einer .xlsx oder .json aus CaptionML der .al oder aus der .xlf Erstellung einer .al oder aus der .xlf aus CaptionML der .xlsx oder .json

Voraussetzung ist ForNav 5.3 ff.

Vorteile

  • Jederzeit wiederholbarer Übersetzungslauf
  • Wörterbuchkonform: Basis app.g.xlf (aus CAPTION erstellt); in Verbindung mit app.xx-XX.xlf wird eine XLSX erstellt (je Sprache eine Spalte; DEU, NEU, NLD, PLK etc)
  • Übersetzungen können z.B. für Übersetzungsbüros in ein Excel-Format exportiert und später wieder importiert werden.
  • Eignet sich auch für eigene Wörterbücher

Nachteile

  • Zu prüfen

4 XLIFF Sync (Rob van Bekkum)

XLIFF Sync - Marketplace

Methode A

  • Caption ist die Basis der Übersetzung
  • Comment wird interpretiert

Methode B

  • Package erstellen
  • Übersetzungsdatei über "Synchronize Translation Units" erstellen
  • Sprachdatei öffnen und nach der Caption suchen und übersetzen
  • fehlende Übersetzungen werden angezeigt

Voraussetzung

  • Nach der Caption folgt eine Comment mit der Sprache

Beispiel: Caption = 'Periodic Activities', Comment = 'de-DE=Periodische Aktivitäten|nl-NL=Periodieke activiteiten|pl-PL=Czynnoÿci okresowe';

Vorteile

  • Individuelle Übersetzung möglich
  • Direkte Übersetzung: Zu Captions können Comments mit ML direkt erfasst werden (Caption = 'CaptionText', Comment = 'de-DE = Richtiger deutscher Text|en-US = Correct english text';).
  • Mittels diverser Funktionen werden die Comments ausgewertet und die XLFs automatisch erstellt oder ergänzt.
  • Laufende Übersetzung und Änderung je Objekt möglich, so dass nur Änderung übertragen werden.
  • Automatisches Update ALLER XLIFF Dateien mit einem Funktionsaufruf
  • Lässt sich in VS Code als Extension laden

Nachteile

  • Zwingend Englische Basiscaption (siehe Caption-Restriktionen)
  • Wörterbuchautomatismus nicht möglich
  • Manuelle Erfassung zu jeder Caption als „Comment=“
  • Keine Massenänderung/-korrektur/-ergänzung möglich

5 MS Lifecycle Services - Translation Service

Der Translation Service des MS Lifecycle Service von https://lcs.dynamics.com/v2 übersetzt app.g.XLF auf Basis einer beliebigen Sprache in eine beliebige Sprache.

Beispiel BC: einfach die xxx.g.xlf als "Projekt" hochladen, Sprachen auswählen und auf eine Fertigmeldung per Mail warten.

https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/lifecycle-services/translation-service-overview

Voraussetzung

  • Zugang zu lcs.dynamics.com

Vorteile

  • Es werden scheinbar die Standardübersetzungen von NAV/BC genutzt
  • Eine Übersetzung erfolgt vollautomatisch
  • Das Ergebnis ist im Sprach-XLF dokumentiert (exakter Treffer, wahrscheinlicher Treffer, evtl. korrekt, zu prüfen etc)

Nachteile

  • Zwingend Englische Basiscaption (siehe Caption-Restriktionen)
  • Nur als Initialübersetzung nutzbar, da die XLFs nachgearbeitet werden müssen und bei erneuter Übersetzung ein Merge notwendig wäre
  • Aufwendige Nacharbeit
  • Übersetzung gut bis sehr gut, aber: englische Begriffe lassen sich nur schwer übersetzen. Aus dem üblichen „Association“ für „Verband“ wird „Zuordnung“

6 Multilingual Editor

Über den Import der Xliff-Datei kann der Quelltext und die Übersetzung angezeigt werden.

Multilangual-Editor-01.png

[https://docs.microsoft.com/de-de/previous-versions/windows/apps/jj569303(v=win.10)?redirectedfrom=MSDN https://docs.microsoft.com/de-de/previous-versions/windows/apps/jj569303(v=win.10)?redirectedfrom=MSDN]

Voraussetzung

Xliff-Datei muss in einer Quellsprache vorliegen.

Vorteile

  • Einfaches Vorschlagen von Übersetzungen

Nachteile

  • Viel manuelle Nachbearbeitung notwendig