Auf mehrsprachige Texte zugreifen und sie enumerieren - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
Auf mehrsprachige Texte zugreifen und sie enumerieren

Voraussetzung

Einleitung

Mehrsprachige Texte im TIA Portal sind beispielsweise Project.Comment, PlcTag.Comment usw. In TIA Portal Openness werden die mehrsprachigen Texte vom Objekt MultilingualText dargestellt. Ein Objekt MultilingualText besteht aus MultilingualTextItemComposition.

MultilingualTextItemComposition unterstützt die folgende Find-Methode:

  • Find(<language: Siemens.Engineering.Language>):MultilingualTextItem

Jedes MultilingualTextItem hat die folgenden Attribute:

Attributname

Datentyp

Schreibbar

Beschreibung

Language

Siemens.Engineering.Language

r/o

Sprache dieses Elements

Text

System.String

r/w

Für diese Sprache angegebener Text

Programmcode: Mehrsprachige Texte festlegen

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

private static void SettingMultilingualText(Project project)

{

    Language englishLanguage = project.LanguageSettings.Languages.

    Find(new CultureInfo("en-US"));

    MultilingualText comment = project.Comment;

    MultilingualTextItemComposition mltItemComposition = comment.Items;

    MultilingualTextItem englishComment = mltItemComposition.Find(englishLanguage);

    englishComment.Text = "English comment";

}

Programmcode: Mehrsprachige Texte für Geräte festlegen

Ändern Sie folgenden Programmcode, um mehrsprachige Texte für Geräte und Geräteelemente festzulegen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

private static void SettingMultilingualTextDevice(Device device, Project project)

{

    var mltObject = device.GetAttribute("CommentML");

    MultilingualText multilingualText = (MultilingualText)mltObject;

    if (multilingualText != null)

    {

        Language englishLanguage = project.LanguageSettings.Languages.

        Find(new CultureInfo("en-US"));

        MultilingualTextItem multilingualTextItem = multilingualText.Items.

        Find(englishLanguage);

        if (multilingualTextItem != null)

        {

            multilingualTextItem.Text = "comment";

        }

    }

}