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