Bestimmten Artikel setzen

Wir haben z.b. folgenden Satz:

"Aus dem Album XYZ …"
bzw.
"Aus der Single XYZ …"
bzw.
“Aus der Compilation XYZ …”

Album/Single/Compilation kommt aus den Daten.
Der Container sieht so aus: [VOC_album_type,det=def,case=dat]
Die 3 Varianten sind als Lookups abgelegt. Leider scheint “die Single” im Lexikon “der Single” zu sein. Und Compilation ist gar nicht im Lexikon.

Die Lösung, die funktioniert hat je eine Property für Single/Album/Compilation und schreibt den Artikel direkt im Container davor mit Preceding.

Wie löst man dieses Problem richtig?

Guten Morgen,

euer Container ist richtig. Tatsächlich gibt es noch keine Einträge im Lexikon.
Naja, bis auf den Single (alleinstehende Person), der aus einem anderen Projekt schon da ist.

Momentan ist das Lexikon noch nicht exponiert, das heißt, ihr müsstet euch bitte mit einer Liste eurer Vokabeln an unseren Service wenden (bswp. über den onsite-Chat.)

LG

Frank

Die mit Frank erarbeitete funktionierende Lösung ist wie folgt:

Je eine Property für Single, Album und Compilation.
Z.B. für Single:

truth-expression: #album_type == "Single"
mapping ist leer
vocabulary für deutsch ist noun: Single und headnoun: Katze, weil es weiblich sein soll, aber “der Single” im Lexikon steht.

Für Album und Compilation analog, wobei hier das headnoun: Ding bzw. Katze ist.

Um das nun zu verwenden braucht es noch eine vierte Property: Eine Gruppe.
Hierbei enhält die mapping-expression eine Liste der Properties, die verwendet werden sollen.

truth-expression: true
mapping-expression: [$DATA_album_type_single,$DATA_album_type_compilation,$DATA_album_type_album]
voc: [GROUP_album_type.value()]

Im Text wird die Gruppe dann so verwendet: [GROUP_album_type.All(),det=def,case=dat]
Da immer nur eine von den Properties wahr wird, ist .All() möglich. Alternativ sollte .Best(1) auch funktionieren.
det=def,case=dat fügt davor einen Artikel hinzu - hier auf Basis des headnoun.

1 Like