Get-TranslateSection #
ÜBERSICHT #
Extrahiert einen sprachspezifischen Textabschnitt aus einem mehrsprachigen FreiText gemäß EULANDA-Format.
SYNTAX #
Get-TranslateSection [[-Text] <string>] [[-Iso] <string>] [[-Sub] <string>] [[-SubDefault]
<string>] [<CommonParameters>]
BESCHREIBUNG #
Die Funktion durchsucht einen in Abschnitte unterteilten Text nach einem bestimmten Sprach- und optionalen Sub-Tag. Die Trennung erfolgt über spezielle Marker wie ‘[DE]’, ‘[EN:TECHNIK]’ oder ‘[:INFO]’.
Format-Regeln:
- Jeder Sprach-Marker steht alleine in einer eigenen Zeile. Tags inmitten von Text (z.B.
Preis [DE] frei Haus) werden nicht erkannt und bleiben als Literal-Inhalt im Default-Block. - Iso-Code ist zwei Zeichen lang. Groß-/Kleinschreibung wird ignoriert, intern auf Großbuchstaben normalisiert.
- Optionaler Sub-Identifier folgt nach Doppelpunkt:
[DE:SHORT],[EN:TECHNIK]. Ohne Iso-Code ([:INFO]) gilt der Block für alle Sprachen – intern als Iso"00"geführt. - Alles, was vor dem ersten Tag steht, ist der Default-Block. Er wird nur dann als Fallback geliefert, wenn kein passender Tag im Text vorkommt und kein Sub-Tag angefragt wurde.
Beispiel-Aufbau eines mehrsprachigen Textes:
<Default-Inhalt – optional>
[DE]
Deutsche Beschreibung
mehrzeilig möglich
[EN]
English description
[DE:SHORT]
Kurztext
[:INFO]
Sprach-neutraler Hinweis
Ist der gewünschte Abschnitt nicht vorhanden, wird – falls der Text ohne Tag beginnt – der oberste Block (Default) verwendet. Ist ein Sub-Tag übergeben, wird stattdessen der Inhalt von ‘$SubDefault’ zurückgegeben, falls kein Treffer gefunden wurde.
Der Text ist typischerweise ein mehrsprachiges Feld aus einem EULANDA-System oder einem nachgelagerten Import/Export-Kontext, z.B. für Produktbeschreibungen, Zusatztexte oder HTML-Blöcke.
PARAMETER #
-Text #
Type: string
Der komplette mehrsprachige Textblock mit Sprachmarkierungen (z.B.. ‘[DE]’, ‘[EN:TECHNIK]’, …).
-Iso #
Type: string
Der gesuchte Iso-Sprachcode (zweistellig, z.B.. ‘DE’, ‘EN’, ‘FR’).
-Sub #
Type: string
Optionaler Sub-Identifier zur gezielteren Auswahl von Textblöcken, z.B.. ‘TECHNIK’, ‘INFO’, ‘KURZ’.
-SubDefault #
Type: string
Optionaler Rückfallwert, wenn kein Sub-Abschnitt gefunden wurde.
AUSGABEN #
string
Der extrahierte Abschnitt als Text, mit Zeilenumbrüchen als ‘CRLF’.
BEISPIELE #
# Gibt den ENGLISCHEN Technikabschnitt zurück ('[EN:TECHNIK]').
Get-TranslateSection -Text $beschreibung -Iso 'EN' -Sub 'TECHNIK'
# Gibt den Block mit '[DE]' zurück oder - wenn nicht vorhanden - den ersten Textabschnitt ohne Markierung.
Get-TranslateSection -Text $beschreibung -Iso 'DE'
# Gibt 'Pas d'information' zurück, wenn kein '[FR:INFO]'-Abschnitt gefunden wurde.
Get-TranslateSection -Text $beschreibung -Iso 'FR' -Sub 'INFO' -SubDefault 'Pas d\'information'
VERWANDTE LINKS #
HINWEISE #
Diese Funktion ist für das mehrsprachige FreiTextmodell aus dem EULANDA ERP optimiert. Unterstützt Default-Texte sowie Iso-“00”- Blöcke (z.B. ‘[:TECHNIK]’) als Fallback für Sub-Bereiche. Die Funktion nutzt intern ‘Get-TranslateIsDelim’ und ‘Get-TranslateExtractTag’.
Verwandte Funktionen für Roundtrip-Bearbeitung (Excel-Pipeline u.ä.):
ConvertFrom-EulMultiLangText– zerlegt den Text in Sektionen (für Excel-Export pro Sprache eine Spalte)ConvertTo-EulMultiLangText– setzt Sektionen wieder zu einem Tag-Block zusammen