Zusätzliche Tabellen übersetzen
translate bietet eine Reihe von vordefinierten Tabellen, die zusätzlich zu den bereits verfügbaren Standardübersetzungen in Microsoft Dynamics Business Central übersetzt werden können. Sie können aber auch eigene Tabellen in den Stammdatenkatalog aufnehmen. Damit translate diese benutzerdefinierten Tabellen in allen internen Funktionalitäten erkennt, sind die folgenden Schritte notwendig.
Eine neue Tabelle ergänzen
Um eine neue Tabelle zu translate hinzuzufügen, nutzen Sie einen Code wie hier exemplarisch beschrieben.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"TNS_Translation Management", 'AddCustomTables', '', true, true)]
local procedure AddCustomTable(var TableList: List of [Integer])
begin
TableList.Add(Database::MyCustomTable);
end;
Eine Aktion zur Übersetzung ergänzen
Nachdem Sie in translate eine Tabelle hinzugefügt haben, müssen als nächsten Schritt in einer Listen- und/oder Kartenansicht eine Aktion hinzufügen, damit der Anwender eine Übersetzung pflegen kann.
action("Translation")
{
Caption = 'Translation';
Image = Translations;
ApplicationArea = All;
trigger OnAction()
var
TransMgt: Codeunit "TNS_Translation Management";
begin
TransMgt.OpenTranslation(Rec);
end;
}
Dieser Code ist universal nutzbar und die Aktion kann mit identischen Code in jeder beliebige Page genutzt werden.
Den Datensatz übersetzen
Nachdem Sie translate eine Tabelle ergänzt und ein Anwender eine Übersetzung gepflegt hat kann eine Übersetzung wie folgt erfolgen
local procedure TranslateJob(Rec: Record MyCustomTable; LanguageCode: Code[20])
var
RecRef: RecordRef;
TnsMgt: Codeunit "TNS_Translation Management";
begin
RecRef.GetTable(Rec);
TnsMgt.GetTranslation(RecRef, LanguageCode);
RecRef.SetTable(Rec);
end;
Der Datensatz wird an translate übergeben und alle Textfelder mit dem mitgegebenen Sprachcode übersetzt. Im Anschluss können Sie die übersetzten Werte nutzen. Sollte keine Übersetzung vorliegen, wird der Datensatz unverändert zurückgegeben.
Caution
Achten Sie bitte darauf, den durch die Übersetzung veränderten Datensatz nicht mit einem Modify abzuspeichern.