UNPKG

botbuilder-dialogs

Version:

A dialog stack based conversation manager for Microsoft BotBuilder.

123 lines 4.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PromptCultureModels = void 0; const recognizers_text_suite_1 = require("@microsoft/recognizers-text-suite"); /** * Class container for currently-supported Culture Models in Confirm and Choice Prompt. */ class PromptCultureModels { /** * @private */ static getSupportedCultureCodes() { return this.getSupportedCultures().map((c) => c.locale); } /** * Use Recognizers-Text to normalize various potential Locale strings to a standard. * * @remarks This is mostly a copy/paste from https://github.com/microsoft/Recognizers-Text/blob/master/JavaScript/packages/recognizers-text/src/culture.ts#L39 * This doesn't directly use Recognizers-Text's MapToNearestLanguage because if they add language support before we do, it will break our prompts. * @param cultureCode Represents locale. Examples: "en-US, en-us, EN". * @returns Normalized locale. */ static mapToNearestLanguage(cultureCode) { if (cultureCode) { cultureCode = cultureCode.toLowerCase(); const supportedCultureCodes = this.getSupportedCultureCodes(); if (supportedCultureCodes.indexOf(cultureCode) < 0) { const culturePrefix = cultureCode.split('-')[0].trim(); supportedCultureCodes.forEach(function (supportedCultureCode) { if (supportedCultureCode.startsWith(culturePrefix)) { cultureCode = supportedCultureCode; } }); } } return cultureCode; } } exports.PromptCultureModels = PromptCultureModels; PromptCultureModels.Chinese = { locale: recognizers_text_suite_1.Culture.Chinese, separator: ', ', inlineOr: ' 要么 ', inlineOrMore: ', 要么 ', yesInLanguage: '是的', noInLanguage: '不', }; PromptCultureModels.Dutch = { locale: recognizers_text_suite_1.Culture.Dutch, separator: ', ', inlineOr: ' of ', inlineOrMore: ', of ', yesInLanguage: 'Ja', noInLanguage: 'Nee', }; PromptCultureModels.English = { locale: recognizers_text_suite_1.Culture.English, separator: ', ', inlineOr: ' or ', inlineOrMore: ', or ', yesInLanguage: 'Yes', noInLanguage: 'No', }; PromptCultureModels.French = { locale: recognizers_text_suite_1.Culture.French, separator: ', ', inlineOr: ' ou ', inlineOrMore: ', ou ', yesInLanguage: 'Oui', noInLanguage: 'Non', }; PromptCultureModels.German = { locale: recognizers_text_suite_1.Culture.German, separator: ', ', inlineOr: ' oder ', inlineOrMore: ', oder ', yesInLanguage: 'Ja', noInLanguage: 'Nein', }; PromptCultureModels.Italian = { locale: recognizers_text_suite_1.Culture.Italian, separator: ', ', inlineOr: ' o ', inlineOrMore: ' o ', yesInLanguage: 'Si', noInLanguage: 'No', }; PromptCultureModels.Japanese = { locale: recognizers_text_suite_1.Culture.Japanese, separator: '、 ', inlineOr: ' または ', inlineOrMore: '、 または ', yesInLanguage: 'はい', noInLanguage: 'いいえ', }; PromptCultureModels.Portuguese = { locale: recognizers_text_suite_1.Culture.Portuguese, separator: ', ', inlineOr: ' ou ', inlineOrMore: ', ou ', yesInLanguage: 'Sim', noInLanguage: 'Não', }; PromptCultureModels.Spanish = { locale: recognizers_text_suite_1.Culture.Spanish, separator: ', ', inlineOr: ' o ', inlineOrMore: ', o ', yesInLanguage: 'Sí', noInLanguage: 'No', }; PromptCultureModels.getSupportedCultures = () => [ PromptCultureModels.Chinese, PromptCultureModels.Dutch, PromptCultureModels.English, PromptCultureModels.French, PromptCultureModels.German, PromptCultureModels.Italian, PromptCultureModels.Japanese, PromptCultureModels.Portuguese, PromptCultureModels.Spanish, ]; //# sourceMappingURL=promptCultureModels.js.map