Anlegen von Übersetzungen in C/AL
In C/AL wurden die Übersetzungen bisher über die jeweiligen „ML”-Eigenschaften wie CaptionML
oder ToolTipML
gepflegt. Hierzu konnte in C/SIDE über den AssistEdit der Eigenschaft pro Sprachcode eine Übersetzung gepflegt werden, die dann abhängig von der ausgewählten Sprache in der Anwedung ausgegeben wurde. Dadurch, dass diese Eigenschaften immer am erstellten Text gepflegt wurden, bestand keine Möglichkeit, die Übersetzungen zentral zu kontrollieren oder zu pflegen, um Übersetzungen anzupassen musste also jedes mal das Objekt, in dem die Übersetzung gepflegt war, bearbeitet werden.
Anlegen von Übersetzungen in AL
Mit dem Wechsel von C/AL zu AL wurde die Pflege der Übersetzungen über die „ML”-Eigenschaften eingestellt. Stattdessen besteht nun die Möglichkeit, an den Objekten selbst nur noch die englische Übersetzung zu pflegen, die dann bei der Kompilierung der Erweiterung in eine .xlf-Datei zusammengefasst werden. Ausgehend von dieser ursprünglichen .xlf-Datei mit den englischsprachigen Texten kann nun für jede Sprache, die unterstützt werden soll, eine .xlf-Datei erstellt werden, in der die jeweiligen Übersetzungen gepflegt werden. Der Vorteil hieran ist, dass für die Änderung von Übersetzungen nicht mehr jedes mal das Objekt angepasst werden muss, ein möglicher Nachteil besteht bei der Verwendung mehrerer Sprachen, da bei der Erstellung eines neuen sowie der Bearbeitung eines alten Textes die Übersetzung in mehreren Übersetzungs-Dateien gepflegt werden muss.
Anlegen von Übersetzungen mittels Extension „AL Language Tools”
Die Erweiterung AL Language Tools für Visual Studio Code von ClipDynamics versucht sich nun daran, die Vorteile beider Systeme zu verbinden. Sie bietet die Möglichkeit, in AL-Objekten über Kommentare Übersetzungen zu hinterlegen, die bei der Kompilierung der Erweiterung als Kommentar in die .xlf-Datei übernommen werden. Wenn nun in Visual Studio Code die neue Funktion Generate XLIFF-File
aufgerufen wird, wird die .xlf-Datei durchlaufen und pro gefundenem Sprachcode in den Kommentaren eine neue .xlf-Datei für diese Sprache angelegt. Hierbei werden die vorhandenen Übersetzungen aus den Kommentaren direkt übernommen. Hierdurch bietet sich die Möglichkeit, bei neuen Texten direkt eine Übersetzung zu hinterlegen, die dann in die .xlf-Dateien übernommen wird, wobei gleichzeitig die zentrale Verwaltung der Übersetzungen in den .xlf-Dateien möglich ist, ohne die AL-Objekte anpassen zu müssen.