Resolve-EulandaMessageRef #
ÜBERSICHT #
Löst genau eine EULANDA-Message-Referenz im Format ‘:SUB@TYPE’ in den sprachabhängigen Klartext auf.
SYNTAX #
Resolve-EulandaMessageRef [-Conn] <__ComObject> [-SubtypeChar] <string> [-Type] <int> [[-Language]
<string>] [<CommonParameters>]
BESCHREIBUNG #
EULANDA nutzt in vielen System-Tabellen Platzhalter-Strings der Form ‘:
Diese Funktion kapselt den Lookup vollständig – der Aufrufer braucht weder den Tabellennamen noch das Spalten-Layout zu kennen. Fehlt die Übersetzung in der gewünschten Sprache, wird auf Deutsch ausgewichen; fehlt auch die, kommt der Original-Tag (’:SUB@TYPE’) statt einer leeren Zeichenkette oder Exception zurück, so dass der Aufrufer echte Auflösungs-Fehler im UI erkennen kann.
Der Subtype im Tag darf alphanumerisch (’:AR@1071’) ODER rein numerisch (’:1000@1086’) sein; die Funktion trifft die passende Schlüsselspalte (SubTypeChar bzw. numerisches SubType) selbst.
Für Texte mit mehreren Tags oder zur Wiederverwendung über mehrere Aufrufe hinweg: Expand-EulandaMessageRefs (mit eingebautem Cache).
PARAMETER #
-Conn #
Type: __ComObject
ADODB.Connection-Objekt zur EULANDA-Datenbank. Caller-owns-Connection.
-SubtypeChar #
Type: string
Der zweistellige Subtype-Code aus dem Tag, z.B. ‘AR’ für Artikel, ‘AD’ für Adresse.
-Type #
Type: int
Der numerische Type-Code aus dem Tag, z.B. 1071.
-Language #
Type: string
Default: 'DE'
ISO-Sprachcode (Großbuchstaben: ‘DE’, ‘EN’, ‘FR’, ‘IT’, ‘ES’, ‘NL’, ‘PL’, ‘PT’). Default ist ‘DE’; fehlende Übersetzungen fallen auf ‘DE’ zurück.
AUSGABEN #
[string]
- Der aufgelöste Klartext (gewünschte Sprache, sonst Deutsch). - ‘:SubtypeChar@Type’ (Original-Tag), wenn auch in Deutsch kein Treffer.
BEISPIELE #
Resolve-EulandaMessageRef -Conn $conn -SubtypeChar 'AR' -Type 1071 -Language 'DE'
# → 'Artikel'
Resolve-EulandaMessageRef -Conn $conn -SubtypeChar 'AR' -Type 1071 -Language 'EN'
# → 'Article'
# Nicht existierender Tag liefert den Tag selbst zurück
Resolve-EulandaMessageRef -Conn $conn -SubtypeChar 'XX' -Type 9999 -Language 'DE'
# → ':XX@9999'
HINWEISE #
Pendant zur Delphi-Funktion ‘CnMessages.PatchMsg’ aus EulandaLib\pas\elApp.pas (siehe Funktion ‘DoMsg’).
Die zugrundeliegende Tabelle ist Basisbestandteil jeder EULANDA-DB, daher kein Datenbank-Präfix nötig. Bei nicht erreichbarer Tabelle wirft die Funktion – das ist Konfigurationsfehler, kein Daten-Miss.