2

我目前正在尝试使用 bot 框架在 C# 中创建一个表单流,这是我的代码:

[Serializable]
[Template(TemplateUsage.EnumSelectOne, "Selecciona un estadio: {||}", ChoiceStyle = ChoiceStyleOptions.PerLine)]
public class StadiumInfoForm
{
    [Prompt("Selecciona un estadio: ", ChoiceFormat = "{1}")]
    public StadiumOptions? estadio;
    public static IForm<StadiumInfoForm> BuildForm()
    {
        var form = new FormBuilder<StadiumInfoForm>()
                .Message($"¿De qué estadio te gustaría saber?")
                .AddRemainingFields();
        PromptAttribute title = new PromptAttribute();
        List<string> quitCommands = new List<string>();
        quitCommands.Add("Salir");
        quitCommands.Add("Cancelar");
        quitCommands.Add("No");
        quitCommands.Add("Quiero salir");
        quitCommands.Add("Nada");
        form.Configuration.Commands[FormCommand.Quit].Terms = quitCommands.ToArray();
        return form.Build();
    }
}

如您所见,表单将是西班牙语,问题是表单顶部显示的提示始终显示“请选择一个体育场”,我尝试按照此文档更改它但无济于事,我该如何更改表单的属性以显示类似“Seleccione un estadio por喜爱”之类的内容

如果需要,我会上传更多代码。

4

1 回答 1

1

也许类的模板“混淆”了FormFlow?

[Serializable]
[Template(TemplateUsage.NavigationFormat, "{&}")]
public class StadiumInfoForm
{
    [Prompt("Seleccione un estadio por favor{||}", ChoiceFormat = "{1}")]
    public StadiumOptions? estadio;

{&} 是一种模式语言

只有这些改变对我有用

在此处输入图像描述

PS 如果您想更改整个 FormFlow 的语言,您可以activity.Locale = "es-ES";在“MessagesController”的 Post 方法中添加

于 2018-06-25T07:55:21.590 回答