我有一个关于对话框中复数的问题。
假设我有一个结构
structure (MyStructure) {
property (MyConcept) {
type {EnumConcept} max (Many)
}
}
还有一个“值”对话框:
dialog (Value) {
match: MyConcept(this)
if (this == 'ABC') {
switch(plural(this)) {
case (One) { template("single1") }
default { template ("plural1") }
}
}
if (this == 'DEF') {
switch(plural(this)) {
case (One) { template("single2") }
default { template ("plural2") }
}
}
}
通过使用 代码:
#{value(myStructure.myConcept.plural('Many'))}
当myStructure的值低于以下且myConcept的大小为1时,我可以获取“ plural1”或“ plural2”:
myStructure = [
{ myConcept: ABC },
{ myConcept: ABC },
{ myConcept: ABC },
{ myConcept: ABC }
]
当myConcept的大小为2并且myStructure具有以下值时,
myStructure = [
{ myConcept: ABC },
{ myConcept: ABC },
{ myConcept: DEF },
{ myConcept: DEF }
]
使用代码:
#{value(myStructure.myConcept.plural('Many'))}
将NLG设为
"single1 and single2"
我在NLG中想要什么:
"plural1 and plural2"
有人可以帮助我们为“ myStructure”列表中存在的唯一“ myConcept”的每个元素提供适当的复数NLG吗?
我想要将多个应用于数组的每个单独的值。
size(myStructure.myConcept)
= 2。
我想对myConcept的两个值都应用复数。
我认为在对话框中我们没有for-each
可用的东西。
答案 0 :(得分:0)
很难分辨上面的代码中发生了什么。如果此答案无济于事,请考虑在某个地方共享完整的源代码以进行实时调试。
您可以尝试类似
#{value(myStructure.myConcept.plural(plural(myStructure.myConcept))}
文档中的示例如下:
#{concept(restaurantStyle.plural(plural(restaurant)))}
来源:plural(node)
部分中的https://bixbydevelopers.com/dev/docs/reference/ref-topics/el-ref#node-evaluation-functions。