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
Otherplus dieSectionswieder viaConvertTo-EulMultiLangTextzusammensetzt.
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
VERWANDTE LINKS #
HINWEISE #
Pendant: ConvertTo-EulMultiLangText. Bestehende Lese-Variante mit Sub-Tag-Filter: Get-TranslateSection.