Convert From Eul Multi Lang Text
Zuletzt geändert: 23.05.2026 10:43

Übersicht

ConvertFrom-EulMultiLangText #

ÜBERSICHT #

Zerlegt einen mehrsprachigen EULANDA-Freitext in Sprach-Sektionen.

SYNTAX #

ConvertFrom-EulMultiLangText [[-Text] <string>] [[-IsoCodes] <string[]>] [<CommonParameters>]

BESCHREIBUNG #

EULANDA speichert mehrsprachige Texte (z.B. LANGTEXT) in einem Block-Format mit Iso-Tags pro Abschnitt:

Default-Block (optional, vor dem ersten Tag)
[DE]
Deutscher Text
[EN]
English text
[DE:SHORT]
Kurztext
[:INFO]
Allgemeine Info

Diese Funktion zerlegt den Text in zwei Buckets:

  • Sections (hashtable, IsoCode -> Text): nur die in -IsoCodes explizit angefragten reinen Iso-Tags (z.B. ‘DE’, ‘EN’). Alles ohne Sub-Tag, mit zwei Buchstaben, exakt passend.
  • Other (string): rohes Re-Assembly aller restlichen Sektionen (Default-Block, Sub-Tag-Blöcke wie [DE:SHORT], andere Sprachen) – mit ihren Original-Tags. Garantiert verlustfreien Roundtrip wenn man Other plus die Sections wieder via ConvertTo-EulMultiLangText zusammensetzt.

Iso-Codes werden case-insensitive verglichen und in den Sections großgeschrieben gespeichert (analog Get-TranslateSection).

PARAMETER #

-Text #

Type: string

Der vollständige Eulanda-LANGTEXT. Leer/$null liefert leere Sections und leeren Other-Bucket.

-IsoCodes #

Type: string[]

Liste der Iso-Codes, die als eigene Sections ausgegeben werden sollen (z.B. 'de','en'). Default: leer = alles landet in Other.

AUSGABEN #

[PSCustomObject] mit

Sections (hashtable) – IsoCode (uppercase) -> Sektions-Text Other (string) – Roh-Block mit Tags für alles übrige

BEISPIELE #

$r = ConvertFrom-EulMultiLangText -Text "[DE]Hallo`r`n[EN]Hello" -IsoCodes 'de','en'
$r.Sections['DE']   # → 'Hallo'
$r.Sections['EN']   # → 'Hello'
$r.Other            # → ''
# Sub-Tags und Default-Block bleiben in Other erhalten
$r = ConvertFrom-EulMultiLangText -Text @"
Vorspann ohne Tag
[DE]
Hauptbeschreibung deutsch
[DE:SHORT]
Kurz
[FR]
Texte francais
"@ -IsoCodes 'de'
$r.Sections['DE']   # → 'Hauptbeschreibung deutsch'
$r.Other            # → enthält 'Vorspann…' + [DE:SHORT] + [FR]-Blöcke

HINWEISE #

Pendant: ConvertTo-EulMultiLangText. Bestehende Lese-Variante mit Sub-Tag-Filter: Get-TranslateSection.