Table of Contents

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.