Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better Culture Recognition in Choice/Confirm Prompts #2463

Merged
merged 32 commits into from
Oct 17, 2019

Conversation

mdrichardson
Copy link
Contributor

@mdrichardson mdrichardson commented Aug 30, 2019

Fixes: #2458

Summary

Mostly, this brings the dotnet repo to parity with JS due to this PR: microsoft/botbuilder-js#1121

However, I also noticed that we duplicate some code and hardcode some strings like:

ConfirmPrompt:

{ Spanish, (new Choice(""), new Choice("No"), new ChoiceFactoryOptions(", ", " o ", ", o ", true)) },

ChoicePrompt:

{ Spanish, new ChoiceFactoryOptions { InlineSeparator = ", ", InlineOr = " o ", InlineOrMore = ", o ", IncludeNumbers = true } },

Instead, I made an interface and class to house all of the languages Confirm and Choice Prompts support. This reduces the number of places needed up update or add a language and will also make it so the prompts dynamically support new languages that we add.

I considered using the PromptCultureModels class more in the tests, but I thought the tests might be better at catching errors if they kept hard-coded strings. Let me know if you disagree and I should modify the tests to use the -CultureModels

Like the JS PR, this tests variations of locale strings

Let me know what you think of the additional Interface and Class and I can duplicate it in JS or remove it from this PR

Changes

Changed

  • ChoicePrompt and Tests
  • ConfirmPrompt and Tests

Added

  • PromptCultureModel
  • PromptCultureModels
  • TestLocale (for generating test variations)

Testing

image

Working in Bot:

image

image

@coveralls
Copy link
Collaborator

coveralls commented Aug 30, 2019

Pull Request Test Coverage Report for Build 83539

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 67 unchanged lines in 10 files lost coverage.
  • Overall coverage increased (+2.3%) to 80.884%

Files with Coverage Reduction New Missed Lines %
/libraries/Microsoft.Bot.Builder.Dialogs/DialogSet.cs 1 90.48%
/libraries/Microsoft.Bot.Builder.Dialogs/Prompts/OAuthPrompt.cs 1 57.23%
/libraries/Microsoft.Bot.Builder.Azure/CosmosDbStorageOptions.cs 2 50.0%
/libraries/Microsoft.Bot.Builder/MemoryTranscriptStore.cs 2 86.09%
/libraries/Microsoft.Bot.Builder.Dialogs/ObjectPath.cs 3 75.14%
/libraries/Microsoft.Bot.Builder.Dialogs/Memory/Scopes/MemoryScope.cs 4 85.71%
/libraries/Microsoft.Bot.Builder.Dialogs/Prompts/ConfirmPrompt.cs 4 93.44%
/libraries/Microsoft.Bot.Builder.Dialogs/Prompts/ChoicePrompt.cs 8 80.85%
/libraries/Microsoft.Bot.Builder.Dialogs/DialogManager.cs 17 70.64%
/libraries/Microsoft.Bot.Builder.Dialogs/Memory/DialogStateManager.cs 25 65.81%
Totals Coverage Status
Change from base Build 82810: 2.3%
Covered Lines: 1811
Relevant Lines: 2239

💛 - Coveralls

@fuselabs
Copy link
Collaborator

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

@mdrichardson
Copy link
Contributor Author

DO NOT MERGE

Please hold off until decision made in this issue.

@mdrichardson mdrichardson changed the title Better Culture Recognition in Choice/Confirm Prompts [DNM - Decision Needed - See Last Comment] Better Culture Recognition in Choice/Confirm Prompts Sep 2, 2019
@mdrichardson
Copy link
Contributor Author

mdrichardson commented Sep 3, 2019

@cleemullins, @sgellock (CC @mutanttech)

Regarding this comment

I had some time, so went ahead and de-coupled Recognizers-Text.Culture a little. See the latest commit for more detail.

Basically, it amounts to needing to maintain:

This:

public static string MapToNearestLanguage(string cultureCode)
{
    cultureCode = cultureCode.ToLowerInvariant();

    if (SupportedCultureCodes.All(o => o != cultureCode))
    {
        // Handle cases like EnglishOthers with cultureCode "en-*"
        var fallbackCultureCodes = SupportedCultureCodes
            .Where(o => o.EndsWith("*", StringComparison.Ordinal) &&
                        cultureCode.StartsWith(o.Split('-').First(), StringComparison.Ordinal)).ToList();

        if (fallbackCultureCodes.Count == 1)
        {
            return fallbackCultureCodes.First();
        }

        // If there is no cultureCode like "-*", map only the prefix
        // For example, "es-mx" will be mapped to "es-es"
        fallbackCultureCodes = SupportedCultureCodes
            .Where(o => cultureCode.StartsWith(o.Split('-').First(), StringComparison.Ordinal)).ToList();

        if (fallbackCultureCodes.Any())
        {
            return fallbackCultureCodes.First();
        }
    }

    return cultureCode;
}

...which is more or less a copy/paste from Recognizers-Text.Culture.MapToNearestLanguage

This will allow us to easily add additional language support for prompts, without needing to depend on Recognizers-Text.

@fuselabs
Copy link
Collaborator

fuselabs commented Sep 3, 2019

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

@mutanttech
Copy link

mutanttech commented Sep 4, 2019

@cleemullins, @sgellock (CC @mdrichardson)
Looking forward to hear opinions from Chris and Scott soon.

And also inputs on how long do you think this is gonna take to make into master. As I am running on kinda deadline for a Danish Bot I am working on, so this is something I am depending on to design the whole bot workflow.

If it sounds like a week or more, then kindly suggest me a short term solution for the same while getting this longer term in.

@mrichardson, please update the translation for "or" as below:
{ Danish, (new Choice("Ja"), new Choice("Nej"), new ChoiceFactoryOptions(", ", " eller ", ", eller ", true)) }

@mdrichardson,
I went ahead and tried to add the the code from the commit on the cultureRecognizer branch, into my solution named it ConfirmPromptCustom and used in the bot step.
Please look at the code in dialog below-

private async Task<DialogTurnResult> ConversationContinueAnswerAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var message = stepContext.Options.ToString();
            stepContext.Context.Activity.Locale = "da-DK";
            return await stepContext.PromptAsync(nameof(ConfirmPromptCustom), new PromptOptions { Prompt = MessageFactory.Text(message) }, cancellationToken);
        }

        private async Task<DialogTurnResult> AfterConversationContinueAnswerAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            bool confirmChoice = (bool)stepContext.Result;
            Activity reply = stepContext.Context.Activity.CreateReply();

            // if user's response is positive then post message indicating user to continue conversation
            if (confirmChoice)
            {
                reply.Text = Configuration.ContinueConversationPositiveResponse;
            }

            // if user's response is negative then ask for user's feedback for the conversation
            else
            {
                AdaptiveCard card = AdaptiveCardHelper.GetConversationFeedbackCard(AdaptiveConstants.DataValues.ContinueConversationWorkflow, string.Empty);
                Attachment attachment = new Attachment()
                {
                    ContentType = AdaptiveCard.ContentType,
                    Content = card,
                };
                reply.Attachments.Add(attachment);
            }
            return await stepContext.EndDialogAsync(reply, cancellationToken);
        }

With the newer files I was able to get the Confirm Prompt with then Danish Text Buttons as given below -
image

Although, when I click "Ja" i.e. "Yes", then confirmation was posted back for execution through AfterConversationContinueAnswerAsync, but break points dont hit, instead it returns the prompt again and with English Buttons.

image

I think the logic needs to be fixed there.

@mdrichardson
Copy link
Contributor Author

mdrichardson commented Sep 4, 2019

@mutanttech I made the updates to the Danish "or". Thanks again for the translation.


I didn't experience the same issue that you had and the confirm prompt returned the appropriate True when clicking "Ja":

image

(ignore some of the other stuff...this is just my Quick Test bot).

I'm 90% sure the issue is that you're manually setting the locale with:

stepContext.Context.Activity.Locale = "da-DK";

I believe what's happening is that you're only setting the locale on the activity that creates the prompt, but not the reply. You should actually be setting it for the entire conversation for the user. In Emulator, you do that in Settings:

image

In WebChat, you do that like:

window.WebChat.renderWebChat(
            {
               directLine: window.WebChat.createDirectLine({
                  token: 'YOUR_DIRECT_LINE_TOKEN'
               }),
               userID: 'YOUR_USER_ID',
               username: 'Web Chat User',
               locale: 'da-DK',  // HERE
               botAvatarInitials: 'WC',
               userAvatarInitials: 'WW'
            },
            document.getElementById('webchat')
         );

I can't speak for the dev team, but if accepted, I'd guess this would go in our 4.6 release, which we're targeting to have out by ~November. There may be some nightly releases you could get from our MyGet feed if/when the PR is accepted.

The alternative would be downloading the SDK and building it into your bot until this is released officially, at which time you'd replace your local build with the official release.

@fuselabs
Copy link
Collaborator

fuselabs commented Sep 4, 2019

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

@mdrichardson mdrichardson changed the title [DNM - Decision Needed - See Last Comment] Better Culture Recognition in Choice/Confirm Prompts [DNM - Decision Needed - See Comments] Better Culture Recognition in Choice/Confirm Prompts Sep 4, 2019
@mutanttech
Copy link

mutanttech commented Sep 5, 2019

@mdrichardson ,
Thank you for updating the code and doing it real quick. And also thanks for pointing out that code. I have managed to get it to work.

And instead of getting the whole SDK or event Dialogs package, I have picked the three files that you have created in culture recognizer branch with same namespace, just renamed them to ChoicePromptCustom and ConfirmPromptCustom. And in Bot Dialog add them. It seems to work as expected. I will upgrade to 4.6 when it arrives and get rid of these additional files.

Let me know if you think any other thing might be required in addition to those files.

@mdrichardson mdrichardson dismissed cleemullins’s stale review September 5, 2019 16:31

Implemented requested changes

@fuselabs
Copy link
Collaborator

fuselabs commented Sep 5, 2019

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

@mdrichardson mdrichardson changed the title [DNM - Decision Needed - See Comments] Better Culture Recognition in Choice/Confirm Prompts Better Culture Recognition in Choice/Confirm Prompts Sep 5, 2019
Copy link
Contributor

@cleemullins cleemullins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm actually not sure what to do with this. Michael - let's sync Friday or Monday in person and review this.

@mdrichardson
Copy link
Contributor Author

mdrichardson commented Sep 18, 2019

@cleemullins This is a long thread, so I'll re-summarize the PR. Changes are made in both Confirm and Choice prompts.

  1. NEW Gives users ability to set their own Dictionary of locale settings (CustomLocaleOptions)
  2. Creates two additional classes to contain constants of supported languages
  3. Uses Recognizers-Text.Culture for locale string, instead of hard-coding ("en-US")
  4. Uses Recognizers-Text.Culture to appropriately map user and SDK-provided locale string to nearest supported ("en-us", "en-US", "en" => "en-US")
  5. Dynamically adds SDK-Supported languages to both Confirm and Choice Prompt so in the future, we only need to add supported languages to one file
  6. Tests for all of the above

image

Pending approval, I'll work up the same thing for JS/Python.

@fuselabs
Copy link
Collaborator

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

@fuselabs
Copy link
Collaborator

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

Copy link
Contributor

@cleemullins cleemullins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's review this in-person tomorrow. It's time to get this closed out one way or another! :)

@fuselabs
Copy link
Collaborator

fuselabs commented Oct 9, 2019

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.5.3

@mdrichardson
Copy link
Contributor Author

mdrichardson commented Oct 9, 2019

@cleemullins I don't think I'll be able to code review/sync in person until next week (out sick). Happy to then, if you want.

@fuselabs
Copy link
Collaborator

fuselabs commented Oct 9, 2019

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.5.3

@tomlm tomlm requested a review from Stevenic October 10, 2019 19:52
@tomlm
Copy link
Contributor

tomlm commented Oct 10, 2019

This looks good to me, but I would like

  • the Conflicting merge to be inspected to make sure we aren't losing whatever changes happened in that table
  • @Stevenic to review this.

@mdrichardson
Copy link
Contributor Author

@tomlm Conflict resolved. We don't lose the table; it's covered here

@mdrichardson mdrichardson changed the title Better Culture Recognition in Choice/Confirm Prompts [DNM - Fixing Tests] Better Culture Recognition in Choice/Confirm Prompts Oct 15, 2019
@fuselabs
Copy link
Collaborator

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.5.3

@fuselabs
Copy link
Collaborator

✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.5.3
✔️ No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.5.3

@mdrichardson mdrichardson changed the title [DNM - Fixing Tests] Better Culture Recognition in Choice/Confirm Prompts Better Culture Recognition in Choice/Confirm Prompts Oct 15, 2019
@cleemullins
Copy link
Contributor

I believe this gives us partiy in both C# and JS at this point. I think what's here is reasonable. I'll get one more set of eyes on it, and then we can merge.

Copy link
Contributor

@garypretty garypretty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. 👍

@cleemullins cleemullins merged commit dffcfab into master Oct 17, 2019
@cleemullins cleemullins deleted the cultureRecognizer branch October 17, 2019 17:10
/// </summary>
public class ChoicePrompt : Prompt<FoundChoice>
{
private static readonly Dictionary<string, ChoiceFactoryOptions> DefaultChoiceOptions = new Dictionary<string, ChoiceFactoryOptions>(StringComparer.OrdinalIgnoreCase)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a breaking change...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use Recognizers Cultures in Choice & Confirm Prompt
8 participants