fix unit tests, backed classic off to be 4.61

This commit is contained in:
Tom Laird-McConnell 2018-03-15 12:00:06 -07:00
Родитель 1d4e2fa96c
Коммит a58e8458d3
46 изменённых файлов: 8527 добавлений и 1057 удалений

Просмотреть файл

@ -64,16 +64,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Core.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.TemplateManager", "libraries\Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.csproj", "{EED5F0D3-6F00-4ED1-9108-5ADCB10A3734}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Bot.Builder.TemplateManager.Tests", "tests\Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.Tests.csproj", "{C93F6192-0123-4121-AD92-374A71E4B0F3}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.TemplateManager.Tests", "tests\Microsoft.Bot.Builder.TemplateManager\Microsoft.Bot.Builder.TemplateManager.Tests.csproj", "{C93F6192-0123-4121-AD92-374A71E4B0F3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Classic", "Classic", "{2A46FEEF-4FD9-4DD5-8650-39C36CFDF2BB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Bot.Builder.Classic.Tests", "tests\Microsoft.Bot.Builder.Classic.Tests\Microsoft.Bot.Builder.Classic.Tests.csproj", "{508661A7-F47A-4D60-8ED6-69E378ED0E74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Classic", "libraries\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic.csproj", "{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Bot.Builder.Classic.Tests", "tests\Microsoft.Bot.Builder.Classic.Tests\Microsoft.Bot.Builder.Classic.Tests.csproj", "{508661A7-F47A-4D60-8ED6-69E378ED0E74}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RView", "libraries\Microsoft.Bot.Builder.Classic\RView\RView.csproj", "{12CAE029-7B8D-4928-8504-28746C36ADB3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormTest", "tests\FormTest\FormTest.csproj", "{77BD8C61-FB06-4BF7-A346-D2C87284390A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Bot.Builder.Classic", "libraries\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic.csproj", "{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -196,14 +198,18 @@ Global
{508661A7-F47A-4D60-8ED6-69E378ED0E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{508661A7-F47A-4D60-8ED6-69E378ED0E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{508661A7-F47A-4D60-8ED6-69E378ED0E74}.Release|Any CPU.Build.0 = Release|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Release|Any CPU.Build.0 = Release|Any CPU
{12CAE029-7B8D-4928-8504-28746C36ADB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12CAE029-7B8D-4928-8504-28746C36ADB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12CAE029-7B8D-4928-8504-28746C36ADB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12CAE029-7B8D-4928-8504-28746C36ADB3}.Release|Any CPU.Build.0 = Release|Any CPU
{77BD8C61-FB06-4BF7-A346-D2C87284390A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{77BD8C61-FB06-4BF7-A346-D2C87284390A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{77BD8C61-FB06-4BF7-A346-D2C87284390A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{77BD8C61-FB06-4BF7-A346-D2C87284390A}.Release|Any CPU.Build.0 = Release|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -240,8 +246,9 @@ Global
{C93F6192-0123-4121-AD92-374A71E4B0F3} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{2A46FEEF-4FD9-4DD5-8650-39C36CFDF2BB} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{508661A7-F47A-4D60-8ED6-69E378ED0E74} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60} = {2A46FEEF-4FD9-4DD5-8650-39C36CFDF2BB}
{12CAE029-7B8D-4928-8504-28746C36ADB3} = {2A46FEEF-4FD9-4DD5-8650-39C36CFDF2BB}
{77BD8C61-FB06-4BF7-A346-D2C87284390A} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{CDFEC7D6-847E-4C13-956B-0A960AE3EB60} = {2A46FEEF-4FD9-4DD5-8650-39C36CFDF2BB}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7173C9F3-A7F9-496E-9078-9156E35D6E16}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -139,7 +139,7 @@ namespace Microsoft.Bot.Builder.Classic.FormFlow
private readonly IForm<T> _form;
private readonly IField<T> _commands;
internal T State => _state;
public T State => _state;
private static IForm<T> BuildDefaultForm()
{

Просмотреть файл

@ -1,70 +1,239 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version Condition=" '$(BUILD_BUILDNUMBER)' == '' ">4.0.0-local</Version>
<Version Condition=" '$(BUILD_BUILDNUMBER)' != '' ">$(BUILD_BUILDNUMBER)</Version>
<PackageVersion Condition=" '$(PackageVersion)' == '' ">4.0.0-local</PackageVersion>
<PackageVersion Condition=" '$(PackageVersion)' != '' ">$(PackageVersion)</PackageVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
<AssemblyOriginatorKeyFile>..\..\..\build\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>Microsoft.Bot.Builder.Classic</PackageId>
<Description>Library for building bots using Microsoft Bot Framework Connector</Description>
<Summary>Library for building bots using Microsoft Bot Framework Connector</Summary>
</PropertyGroup>
<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Company>Microsoft</Company>
<Authors>microsoft,BotFramework,nugetbotbuilder</Authors>
<Product>Microsoft Bot Builder SDK</Product>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<PackageProjectUrl>https://github.com/Microsoft/botbuilder-dotnet</PackageProjectUrl>
<PackageIconUrl>http://docs.botframework.com/images/bot_icon.png</PackageIconUrl>
<PackageLicenseUrl>https://github.com/Microsoft/BotBuilder/blob/master/LICENSE</PackageLicenseUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/Microsoft/botbuilder-dotnet</RepositoryUrl>
<LicenseUrl>https://github.com/Microsoft/BotBuilder-dotnet/blob/master/LICENSE</LicenseUrl>
<RepositoryType />
<PackageTags>bots;ai;botframework;botbuilder</PackageTags>
<NeutralLanguage />
<AssemblyName>Microsoft.Bot.Builder.Classic</AssemblyName>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;1705;1998</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="4.6.2" />
<PackageReference Include="Microsoft.Bot.Builder.Core" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />
<PackageReference Include="Microsoft.Bot.Builder.Core" Condition=" '$(PackageVersion)' != '' " Version="$(PackageVersion)" />
<PackageReference Include="Microsoft.Bot.Connector" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />
<PackageReference Include="Microsoft.Bot.Connector" Condition=" '$(PackageVersion)' != '' " Version="$(PackageVersion)" />
<PackageReference Include="Microsoft.Bot.Schema" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />
<PackageReference Include="Microsoft.Bot.Schema" Condition=" '$(PackageVersion)' != '' " Version="$(PackageVersion)" />
<PackageReference Include="Chronic.Signed" Version="0.3.2" />
<PackageReference Include="Microsoft.IdentityModel.Logging" version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Protocols" version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" version="5.2.1" />
<PackageReference Include="Microsoft.Rest.ClientRuntime" version="2.3.10" />
<PackageReference Include="Newtonsoft.Json" version="10.0.3" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" version="5.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Microsoft.Bot.Builder.Core\Microsoft.Bot.Builder.Core.csproj" />
<ProjectReference Include="..\..\Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj" />
<ProjectReference Include="..\..\Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj" />
</ItemGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CDFEC7D6-847E-4C13-956B-0A960AE3EB60}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Bot.Builder.Classic</RootNamespace>
<AssemblyName>Microsoft.Bot.Builder.Classic</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>1998</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac">
<HintPath>..\..\..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Chronic">
<HintPath>..\..\..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Autofac\Base\Extensions.cs" />
<Compile Include="Autofac\Dialogs\Conversation.cs" />
<Compile Include="Autofac\Dialogs\DialogModule.cs" />
<Compile Include="Autofac\Fibers\DoNotSerializeResolver.cs" />
<Compile Include="Autofac\Fibers\FiberModule.cs" />
<Compile Include="Autofac\Scorables\Resolver.cs" />
<Compile Include="Base\EventLoop.cs" />
<Compile Include="Base\Extensions.cs" />
<Compile Include="Base\LocalizedScope.cs" />
<Compile Include="Base\Pair.cs" />
<Compile Include="Base\Range.cs" />
<Compile Include="Base\Resolver.cs" />
<Compile Include="Base\Scope.cs" />
<Compile Include="Base\SetField.cs" />
<Compile Include="Base\Tasks.cs" />
<Compile Include="Base\Traits.cs" />
<Compile Include="Base\Types.cs" />
<Compile Include="ConnectorEx\Address.cs" />
<Compile Include="ConnectorEx\BotData.cs" />
<Compile Include="ConnectorEx\BotDataEx.cs" />
<Compile Include="ConnectorEx\BotToUser.cs" />
<Compile Include="ConnectorEx\IActivityLogger.cs" />
<Compile Include="ConnectorEx\IBotData.cs" />
<Compile Include="ConnectorEx\IBotDataBag.cs" />
<Compile Include="ConnectorEx\IChannelCapability.cs" />
<Compile Include="ConnectorEx\IConnectorClientFactory.cs" />
<Compile Include="ConnectorEx\KeyboardCard.cs" />
<Compile Include="ConnectorEx\LocaleFinder.cs" />
<Compile Include="ConnectorEx\PostToBot.cs" />
<Compile Include="ConnectorEx\Resolver.cs" />
<Compile Include="ConnectorEx\ResumptionContext.cs" />
<Compile Include="ConnectorEx\ResumptionCookie.cs" />
<Compile Include="ConnectorEx\UrlToken.cs" />
<Compile Include="Dialogs\Chain.cs" />
<Compile Include="Dialogs\CommandDialog.cs" />
<Compile Include="Dialogs\DeleteProfileScorable.cs" />
<Compile Include="Dialogs\DialogContext.cs" />
<Compile Include="Dialogs\DialogRouter.cs" />
<Compile Include="Dialogs\DialogSystem.cs" />
<Compile Include="Dialogs\DialogTask.cs" />
<Compile Include="Dialogs\DialogTaskManager.cs" />
<Compile Include="Dialogs\DispatchDialog.cs" />
<Compile Include="Dialogs\EndConversation.cs" />
<Compile Include="Dialogs\Exceptions.cs" />
<Compile Include="Dialogs\IDialog.cs" />
<Compile Include="Dialogs\IDialogContext.cs" />
<Compile Include="Dialogs\IDialogTask.cs" />
<Compile Include="Dialogs\LuisDialog.cs" />
<Compile Include="Dialogs\PromptDialog.cs" />
<Compile Include="Dialogs\PromptRecognizer.cs" />
<Compile Include="Dialogs\ScoringEventLoop.cs" />
<Compile Include="Fibers\Awaitable.cs" />
<Compile Include="Fibers\Exceptions.cs" />
<Compile Include="Fibers\Extensions.cs" />
<Compile Include="Fibers\Fiber.cs" />
<Compile Include="Fibers\IStore.cs" />
<Compile Include="Fibers\Methods.cs" />
<Compile Include="Fibers\Serialization.cs" />
<Compile Include="Fibers\StackStoreFactory.cs" />
<Compile Include="Fibers\Store.cs" />
<Compile Include="Fibers\Wait.cs" />
<Compile Include="FormFlow\Attributes.cs" />
<Compile Include="FormFlow\Confirmation.cs" />
<Compile Include="FormFlow\Extensions.cs" />
<Compile Include="FormFlow\Field.cs" />
<Compile Include="FormFlow\FieldJson.cs" />
<Compile Include="FormFlow\FieldReflector.cs" />
<Compile Include="FormFlow\FormBuilder.cs" />
<Compile Include="FormFlow\FormBuilderJson.cs" />
<Compile Include="FormFlow\FormDialog.cs" />
<Compile Include="FormFlow\FormState.cs" />
<Compile Include="FormFlow\IField.cs" />
<Compile Include="FormFlow\IForm.cs" />
<Compile Include="FormFlow\IFormBuilder.cs" />
<Compile Include="FormFlow\IFormDialog.cs" />
<Compile Include="FormFlow\ILocalizer.cs" />
<Compile Include="FormFlow\IPrompt.cs" />
<Compile Include="FormFlow\IRecognize.cs" />
<Compile Include="FormFlow\IStep.cs" />
<Compile Include="FormFlow\Language.cs" />
<Compile Include="FormFlow\Localizer.cs" />
<Compile Include="FormFlow\MatchAnalyzer.cs" />
<Compile Include="FormFlow\MessageActivityHelper.cs" />
<Compile Include="FormFlow\Recognize.cs" />
<Compile Include="FormFlow\Steps.cs" />
<Compile Include="Luis\CalendarPlus.cs" />
<Compile Include="Luis\EntityToType.cs" />
<Compile Include="Luis\Extensions.cs" />
<Compile Include="Luis\LuisModel.cs" />
<Compile Include="Luis\LuisOptions.cs" />
<Compile Include="Luis\LuisService.cs" />
<Compile Include="Luis\Models\Action.cs" />
<Compile Include="Luis\Models\ActionParameter.cs" />
<Compile Include="Luis\Models\CompositeChild.cs" />
<Compile Include="Luis\Models\CompositeEntity.cs" />
<Compile Include="Luis\Models\DialogResponse.cs" />
<Compile Include="Luis\Models\DialogResponseEx.cs" />
<Compile Include="Luis\Models\EntityRecommendation.cs" />
<Compile Include="Luis\Models\IntentRecommendation.cs" />
<Compile Include="Luis\Models\LuisResult.cs" />
<Compile Include="Luis\Resolution.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resource\Extensions.cs" />
<Compile Include="Resource\Resources.Designer.cs" />
<Compile Include="Scorables\Actions.cs" />
<Compile Include="Scorables\Binder.cs" />
<Compile Include="Scorables\Binding.cs" />
<Compile Include="Scorables\BindingComparer.cs" />
<Compile Include="Scorables\Dispatcher.cs" />
<Compile Include="Scorables\FoldScorable.cs" />
<Compile Include="Scorables\InheritedAttributes.cs" />
<Compile Include="Scorables\LuisIntentScorable.cs" />
<Compile Include="Scorables\MethodScorable.cs" />
<Compile Include="Scorables\OrderScorable.cs" />
<Compile Include="Scorables\RegexMatchScorable.cs" />
<Compile Include="Scorables\ResolverScorable.cs" />
<Compile Include="Scorables\Scorable.cs" />
<Compile Include="Scorables\ScorableBase.cs" />
<Compile Include="Scorables\Scorables.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Luis\Luis-q.json" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resource\Resources.ar.resx" />
<EmbeddedResource Include="Resource\Resources.cs.resx" />
<EmbeddedResource Include="Resource\Resources.de-DE.resx" />
<EmbeddedResource Include="Resource\Resources.en.resx" />
<EmbeddedResource Include="Resource\Resources.es.resx" />
<EmbeddedResource Include="Resource\Resources.fa.resx" />
<EmbeddedResource Include="Resource\Resources.fr.resx" />
<EmbeddedResource Include="Resource\Resources.it.resx" />
<EmbeddedResource Include="Resource\Resources.ja.resx" />
<EmbeddedResource Include="Resource\Resources.nl.resx" />
<EmbeddedResource Include="Resource\Resources.pt-BR.resx" />
<EmbeddedResource Include="Resource\Resources.resx" />
<EmbeddedResource Include="Resource\Resources.ru.resx" />
<EmbeddedResource Include="Resource\Resources.zh-Hans.resx" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="createpackage.cmd" />
<None Include="Luis\generateLuisModels.bat" />
<None Include="Microsoft.Bot.Builder.Classic.nuspec" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.ar.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.cs.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.de-DE.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.en.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.es.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.fa.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.fr.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.it.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.ja.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.nl.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.pt-BR.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.ru.xlf" />
<None Include="MultilingualResources\Microsoft.Bot.Builder.zh-Hans.xlf" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Microsoft.Bot.Builder.Core\Microsoft.Bot.Builder.Core.csproj">
<Project>{f0c150e2-9b8a-444c-b70e-97ad918cb3d4}</Project>
<Name>Microsoft.Bot.Builder.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj">
<Project>{ada8ab8b-2066-4193-b8f7-985669b23e00}</Project>
<Name>Microsoft.Bot.Builder</Name>
</ProjectReference>
<ProjectReference Include="..\..\Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj">
<Project>{6462da5d-27dc-4cd5-9467-5efb998fd838}</Project>
<Name>Microsoft.Bot.Connector</Name>
</ProjectReference>
<ProjectReference Include="..\..\Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj">
<Project>{c1f54cdc-ad1d-45bb-8f7d-f49e411afaf1}</Project>
<Name>Microsoft.Bot.Schema</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Просмотреть файл

@ -40,10 +40,6 @@
<file src="..\Microsoft.Bot.Builder.Classic\bin\release\Microsoft.Bot.Builder.Classic.dll" target="lib\net46"/>
<file src="..\Microsoft.Bot.Builder.Classic\bin\release\Microsoft.Bot.Builder.Classic.xml" target="lib\net46" />
<file src="..\Microsoft.Bot.Builder.Classic\bin\release\Microsoft.Bot.Builder.Classic.pdb" target="lib\net46" />
<!-- assembly Microsoft.Bot.Builder.Classic.Autofac -->
<file src="..\Microsoft.Bot.Builder.Classic.Autofac\bin\release\Microsoft.Bot.Builder.Classic.Autofac.dll" target="lib\net46" />
<file src="..\Microsoft.Bot.Builder.Classic.Autofac\bin\release\Microsoft.Bot.Builder.Classic.Autofac.xml" target="lib\net46" />
<file src="..\Microsoft.Bot.Builder.Classic.Autofac\bin\release\Microsoft.Bot.Builder.Classic.Autofac.pdb" target="lib\net46" />
<!-- source -->
<file src="..\**\*.cs"
exclude="**\obj\**\*.cs;..\Microsoft.Bot.Builder.Classic.Azure\**;..\Microsoft.Bot.Builder.Classic.Calling\**;..\Microsoft.Bot.Builder.Classic.FormFlow.Json\**;..\Microsoft.Bot.Builder.Classic.History\**;..\Microsoft.Bot.Connector.AspNetCore\**;..\Microsoft.Bot.Connector.NetCore\**"

Просмотреть файл

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>

Просмотреть файл

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
<package id="Microsoft.IdentityModel.Logging" version="5.2.1" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Protocols" version="5.2.1" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Protocols.OpenIdConnect" version="5.2.1" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Tokens" version="5.2.1" targetFramework="net461" />
<package id="Autofac" version="3.5.2" targetFramework="net461" />
<package id="Chronic.Signed" version="0.3.2" targetFramework="net461" />
<package id="Microsoft.Rest.ClientRuntime" version="2.3.10" targetFramework="net461" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />
<package id="NuGet.CommandLine" version="4.1.0" targetFramework="net46" developmentDependency="true" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.2.1" targetFramework="net461" />
<package id="NuGet.CommandLine" version="4.5.1" targetFramework="net461" developmentDependency="true" />
</packages>

Просмотреть файл

@ -45,6 +45,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.4.1" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
<PackageReference Include="Microsoft.Bot.Schema" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />

Просмотреть файл

@ -37,11 +37,16 @@
<NeutralLanguage />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;1705;CS1998</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Bot.Builder.Core" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />
<PackageReference Include="Microsoft.Bot.Builder.Core" Condition=" '$(PackageVersion)' != '' " Version="$(PackageVersion)" />
<PackageReference Include="Microsoft.Bot.Schema" Condition=" '$(PackageVersion)' == '' " Version="4.0.0-local" />
<PackageReference Include="Microsoft.Bot.Schema" Condition=" '$(PackageVersion)' != '' " Version="$(PackageVersion)" />
<PackageReference Include="Microsoft.CSharp" Version="4.4.1" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -62,8 +62,8 @@
<Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.40306.1554, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.4.403061554\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Tokens.5.2.1\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.1.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Tokens.5.1.5\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll</HintPath>
@ -78,8 +78,8 @@
<HintPath>..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IdentityModel.Tokens.Jwt.5.2.1\lib\net451\System.IdentityModel.Tokens.Jwt.dll</HintPath>
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.1.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IdentityModel.Tokens.Jwt.5.1.5\lib\net451\System.IdentityModel.Tokens.Jwt.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />

Просмотреть файл

@ -1,4 +1,4 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301879
@ -6,9 +6,9 @@
<configuration>
<appSettings>
<!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
<add key="BotFramework.BotId" value="YourBotId"/>
<add key="BotFramework.MicrosoftApplicationId" value=""/>
<add key="BotFramework.MicrosoftApplicationPassword" value=""/>
<add key="BotFramework.BotId" value="YourBotId" />
<add key="BotFramework.MicrosoftApplicationId" value="" />
<add key="BotFramework.MicrosoftApplicationPassword" value="" />
</appSettings>
<!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
@ -19,277 +19,281 @@
</system.Web>
-->
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6"/>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6" />
</system.web>
<system.webServer>
<defaultDocument>
<files>
<clear/>
<add value="default.htm"/>
<clear />
<add value="default.htm" />
</files>
</defaultDocument>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31BF3856AD364E35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="B77A5C561934E089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="B77A5C561934E089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0"/>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Abstractions" publicKeyToken="6d32ff45e0ccc69f" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0"/>
<assemblyIdentity name="Unity.Abstractions" publicKeyToken="6d32ff45e0ccc69f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0"/>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.1.5.0" newVersion="5.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.1.0" newVersion="5.2.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

Просмотреть файл

@ -9,12 +9,12 @@
<package id="Microsoft.Extensions.Primitives" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Logging" version="5.2.1" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.4.403061554" targetFramework="net46" />
<package id="Microsoft.IdentityModel.Tokens" version="5.2.1" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Tokens" version="5.1.5" targetFramework="net461" />
<package id="Microsoft.Rest.ClientRuntime" version="2.3.10" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.1.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.2.1" targetFramework="net461" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.1.5" targetFramework="net461" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.4.0" targetFramework="net461" />
<package id="Unity" version="5.6.0" targetFramework="net461" />
<package id="Unity.Abstractions" version="3.2.0" targetFramework="net461" />

Просмотреть файл

@ -0,0 +1,349 @@
using Microsoft.Bot.Builder.Classic.FormFlow;
using Microsoft.Bot.Builder.Classic.Dialogs;
using Microsoft.Bot.Builder.Classic.FormFlow.Advanced;
//using Microsoft.Bot.Builder.Classic.FormFlow.Json;
using Microsoft.Bot.Sample.AnnotatedSandwichBot.Resource;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading;
#pragma warning disable 649
// The SandwichOrder is the simple form you want to fill out. It must be serializable so the bot can be stateless.
// The order of fields defines the default order in which questions will be asked.
// Enumerations shows the legal options for each field in the SandwichOrder and the order is the order values will be presented
// in a conversation.
namespace Microsoft.Bot.Sample.AnnotatedSandwichBot
{
public enum SandwichOptions
{
BLT, BlackForestHam, BuffaloChicken, ChickenAndBaconRanchMelt, ColdCutCombo, MeatballMarinara,
OvenRoastedChicken, RoastBeef,
[Terms(@"rotis\w* style chicken", MaxPhrase = 3)]
RotisserieStyleChicken, SpicyItalian, SteakAndCheese, SweetOnionTeriyaki, Tuna,
TurkeyBreast, Veggie
};
public enum LengthOptions { SixInch, FootLong };
public enum BreadOptions
{
// Use an image if generating cards
// [Describe(Image = @"https://placeholdit.imgix.net/~text?txtsize=12&txt=Special&w=100&h=40&txttrack=0&txtclr=000&txtfont=bold")]
NineGrainWheat,
NineGrainHoneyOat,
Italian,
ItalianHerbsAndCheese,
Flatbread
};
public enum CheeseOptions { American, MontereyCheddar, Pepperjack };
public enum ToppingOptions
{
// This starts at 1 because 0 is the "no value" value
[Terms("except", "but", "not", "no", "all", "everything")]
Everything = 1,
Avocado, BananaPeppers, Cucumbers, GreenBellPeppers, Jalapenos,
Lettuce, Olives, Pickles, RedOnion, Spinach, Tomatoes
};
public enum SauceOptions
{
ChipotleSouthwest, HoneyMustard, LightMayonnaise, RegularMayonnaise,
Mustard, Oil, Pepper, Ranch, SweetOnion, Vinegar
};
[Serializable]
[Template(TemplateUsage.NotUnderstood, "I do not understand \"{0}\".", "Try again, I don't get \"{0}\".")]
[Template(TemplateUsage.EnumSelectOne, "What kind of {&} would you like on your sandwich? {||}")]
// [Template(TemplateUsage.EnumSelectOne, "What kind of {&} would you like on your sandwich? {||}", ChoiceStyle = ChoiceStyleOptions.PerLine)]
public class SandwichOrder
{
[Prompt("What kind of {&} would you like? {||}")]
[Describe(Image = @"https://placeholdit.imgix.net/~text?txtsize=16&txt=Sandwich&w=125&h=40&txttrack=0&txtclr=000&txtfont=bold")]
// [Prompt("What kind of {&} would you like? {||}", ChoiceFormat ="{1}")]
// [Prompt("What kind of {&} would you like?")]
public SandwichOptions? Sandwich;
[Prompt("What size of sandwich do you want? {||}")]
public LengthOptions? Length;
// Specify Title and SubTitle if generating cards
[Describe(Title = "Sandwich Bot", SubTitle = "Bread Picker")]
public BreadOptions? Bread;
// An optional annotation means that it is possible to not make a choice in the field.
[Optional]
public CheeseOptions? Cheese;
[Optional]
public List<ToppingOptions> Toppings { get; set; }
[Optional]
public List<SauceOptions> Sauces;
[Optional]
[Template(TemplateUsage.NoPreference, "None")]
public string Specials;
public string DeliveryAddress;
[Pattern(@"(\(\d{3}\))?\s*\d{3}(-|\s*)\d{4}")]
public string PhoneNumber;
[Optional]
[Template(TemplateUsage.StatusFormat, "{&}: {:t}", FieldCase = CaseNormalization.None)]
public DateTime? DeliveryTime;
[Numeric(1, 5)]
[Optional]
[Describe("your experience today")]
public double? Rating;
public static IForm<SandwichOrder> BuildForm()
{
OnCompletionAsyncDelegate<SandwichOrder> processOrder = async (context, state) =>
{
await context.PostAsync("We are currently processing your sandwich. We will message you the status.");
};
return new FormBuilder<SandwichOrder>()
.Message("Welcome to the sandwich order bot!")
.Field(nameof(Sandwich))
.Field(nameof(Length))
.Field(nameof(Bread))
.Field(nameof(Cheese))
.Field(nameof(Toppings),
validate: async (state, value) =>
{
var values = ((List<object>)value)?.OfType<ToppingOptions>();
var result = new ValidateResult { IsValid = true, Value = values };
if (values != null && values.Contains(ToppingOptions.Everything))
{
result.Value = (from ToppingOptions topping in Enum.GetValues(typeof(ToppingOptions))
where topping != ToppingOptions.Everything && !values.Contains(topping)
select topping).ToList();
}
return result;
})
.Message("For sandwich toppings you have selected {Toppings}.")
.Field(nameof(SandwichOrder.Sauces))
.Field(new FieldReflector<SandwichOrder>(nameof(Specials))
.SetType(null)
.SetActive((state) => state.Length == LengthOptions.FootLong)
.SetDefine(async (state, field) =>
{
field
.AddDescription("cookie", "Free cookie")
.AddTerms("cookie", "cookie", "free cookie")
.AddDescription("drink", "Free large drink")
.AddTerms("drink", "drink", "free drink");
return true;
}))
.Confirm(async (state) =>
{
var cost = 0.0;
switch (state.Length)
{
case LengthOptions.SixInch: cost = 5.0; break;
case LengthOptions.FootLong: cost = 6.50; break;
}
return new PromptAttribute($"Total for your sandwich is {cost:C2} is that ok? {{||}}");
})
.Field(nameof(SandwichOrder.DeliveryAddress),
validate: async (state, response) =>
{
var result = new ValidateResult { IsValid = true, Value = response };
var address = (response as string).Trim();
if (address.Length > 0 && (address[0] < '0' || address[0] > '9'))
{
result.Feedback = "Address must start with a number.";
result.IsValid = false;
}
return result;
})
.Field(nameof(SandwichOrder.DeliveryTime), "What time do you want your sandwich delivered? {||}")
.Confirm("Do you want to order your {Length} {Sandwich} on {Bread} {&Bread} with {[{Cheese} {Toppings} {Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?")
.AddRemainingFields()
.Message("Thanks for ordering a sandwich!")
.OnCompletion(processOrder)
.Build();
}
//public static IForm<JObject> BuildJsonForm()
//{
// using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Microsoft.Bot.Sample.AnnotatedSandwichBot.AnnotatedSandwich.json"))
// {
// var schema = JObject.Parse(new StreamReader(stream).ReadToEnd());
// return new FormBuilderJson(schema)
// .AddRemainingFields()
// .Build();
// }
//}
//public static IForm<JObject> BuildJsonFormExplicit()
//{
// using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Microsoft.Bot.Sample.AnnotatedSandwichBot.AnnotatedSandwich.json"))
// {
// var schema = JObject.Parse(new StreamReader(stream).ReadToEnd());
// OnCompletionAsyncDelegate<JObject> processOrder = async (context, state) =>
// {
// await context.PostAsync(DynamicSandwich.Processing);
// };
// var builder = new FormBuilderJson(schema);
// return builder
// .Message("Welcome to the sandwich order bot!")
// .Field("Sandwich")
// .Field("Length")
// .Field("Ingredients.Bread")
// .Field("Ingredients.Cheese")
// .Field("Ingredients.Toppings",
// validate: async (state, response) =>
// {
// var value = (IList<object>)response;
// var result = new ValidateResult() { IsValid = true };
// if (value != null && value.Contains("Everything"))
// {
// result.Value = (from topping in new string[] {
// "Avocado", "BananaPeppers", "Cucumbers", "GreenBellPeppers",
// "Jalapenos", "Lettuce", "Olives", "Pickles",
// "RedOnion", "Spinach", "Tomatoes"}
// where !value.Contains(topping)
// select topping).ToList();
// }
// else
// {
// result.Value = value;
// }
// return result;
// }
// )
// .Message("For sandwich toppings you have selected {Ingredients.Toppings}.")
// .Field("Ingredients.Sauces")
// .Field(new FieldJson(builder, "Specials")
// .SetType(null)
// .SetActive((state) => (string)state["Length"] == "FootLong")
// .SetDefine(async (state, field) =>
// {
// field
// .AddDescription("cookie", DynamicSandwich.FreeCookie)
// .AddTerms("cookie", Language.GenerateTerms(DynamicSandwich.FreeCookie, 2))
// .AddDescription("drink", DynamicSandwich.FreeDrink)
// .AddTerms("drink", Language.GenerateTerms(DynamicSandwich.FreeDrink, 2));
// return true;
// }))
// .Confirm(async (state) =>
// {
// var cost = 0.0;
// switch ((string)state["Length"])
// {
// case "SixInch": cost = 5.0; break;
// case "FootLong": cost = 6.50; break;
// }
// return new PromptAttribute(string.Format(DynamicSandwich.Cost, cost));
// })
// .Field("DeliveryAddress",
// validate: async (state, value) =>
// {
// var result = new ValidateResult { IsValid = true, Value = value };
// var address = (value as string).Trim();
// if (address.Length > 0 && (address[0] < '0' || address[0] > '9'))
// {
// result.Feedback = DynamicSandwich.BadAddress;
// result.IsValid = false;
// }
// return result;
// })
// .Field("DeliveryTime", "What time do you want your sandwich delivered? {||}")
// .Confirm("Do you want to order your {Length} {Sandwich} on {Ingredients.Bread} {&Ingredients.Bread} with {[{Ingredients.Cheese} {Ingredients.Toppings} {Ingredients.Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?")
// .AddRemainingFields()
// .Message("Thanks for ordering a sandwich!")
// .OnCompletion(processOrder)
// .Build();
// }
//}
// Cache of culture specific forms.
private static ConcurrentDictionary<CultureInfo, IForm<SandwichOrder>> _forms = new ConcurrentDictionary<CultureInfo, IForm<SandwichOrder>>();
public static IForm<SandwichOrder> BuildLocalizedForm()
{
var culture = Thread.CurrentThread.CurrentUICulture;
IForm<SandwichOrder> form;
if (!_forms.TryGetValue(culture, out form))
{
OnCompletionAsyncDelegate<SandwichOrder> processOrder = async (context, state) =>
{
await context.PostAsync(DynamicSandwich.Processing);
};
// Form builder uses the thread culture to automatically switch framework strings
// and also your static strings as well. Dynamically defined fields must do their own localization.
var builder = new FormBuilder<SandwichOrder>()
.Message("Welcome to the sandwich order bot!")
.Field(nameof(Sandwich))
.Field(nameof(Length))
.Field(nameof(Bread))
.Field(nameof(Cheese))
.Field(nameof(Toppings),
validate: async (state, value) =>
{
var values = ((List<object>)value)?.OfType<ToppingOptions>();
var result = new ValidateResult { IsValid = true, Value = values };
if (values != null && values.Contains(ToppingOptions.Everything))
{
result.Value = (from ToppingOptions topping in Enum.GetValues(typeof(ToppingOptions))
where topping != ToppingOptions.Everything && !values.Contains(topping)
select topping).ToList();
}
return result;
})
.Message("For sandwich toppings you have selected {Toppings}.")
.Field(nameof(SandwichOrder.Sauces))
.Field(new FieldReflector<SandwichOrder>(nameof(Specials))
.SetType(null)
.SetActive((state) => state.Length == LengthOptions.FootLong)
.SetDefine(async (state, field) =>
{
field
.AddDescription("cookie", DynamicSandwich.FreeCookie)
.AddTerms("cookie", Language.GenerateTerms(DynamicSandwich.FreeCookie, 2))
.AddDescription("drink", DynamicSandwich.FreeDrink)
.AddTerms("drink", Language.GenerateTerms(DynamicSandwich.FreeDrink, 2));
return true;
}))
.Confirm(async (state) =>
{
var cost = 0.0;
switch (state.Length)
{
case LengthOptions.SixInch: cost = 5.0; break;
case LengthOptions.FootLong: cost = 6.50; break;
}
return new PromptAttribute(string.Format(DynamicSandwich.Cost, cost) + "{||}");
})
.Field(nameof(SandwichOrder.DeliveryAddress),
validate: async (state, response) =>
{
var result = new ValidateResult { IsValid = true, Value = response };
var address = (response as string).Trim();
if (address.Length > 0 && address[0] < '0' || address[0] > '9')
{
result.Feedback = DynamicSandwich.BadAddress;
result.IsValid = false;
}
return result;
})
.Field(nameof(SandwichOrder.DeliveryTime), "What time do you want your sandwich delivered? {||}")
.Confirm("Do you want to order your {Length} {Sandwich} on {Bread} {&Bread} with {[{Cheese} {Toppings} {Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?")
.AddRemainingFields()
.Message("Thanks for ordering a sandwich!")
.OnCompletion(processOrder);
builder.Configuration.DefaultPrompt.ChoiceStyle = ChoiceStyleOptions.Auto;
form = builder.Build();
_forms[culture] = form;
}
return form;
}
};
}

38
tests/FormTest/App.config Normal file
Просмотреть файл

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bot.Connector" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.12.2.4" newVersion="3.12.2.4" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bot.Builder" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.12.2.4" newVersion="3.12.2.4" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bot.Builder.Autofac" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.12.2.4" newVersion="3.12.2.4" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.1.4.0" newVersion="5.1.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Просмотреть файл

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{77BD8C61-FB06-4BF7-A346-D2C87284390A}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FormTest</RootNamespace>
<AssemblyName>FormTest</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;LOCALIZE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>CS1998</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>CS1998</NoWarn>
</PropertyGroup>
<PropertyGroup Label="MultilingualAppToolkit">
<MultilingualAppToolkitVersion>4.0</MultilingualAppToolkitVersion>
<MultilingualFallbackLanguage>en</MultilingualFallbackLanguage>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=4.6.2.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\..\packages\Autofac.4.6.2\lib\net45\Autofac.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Rest.ClientRuntime.2.3.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.1\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.AppContext.4.0.0\lib\net46\System.AppContext.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.StackTrace, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Diagnostics.StackTrace.4.0.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.FileSystem.4.0.0\lib\net46\System.IO.FileSystem.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.FileSystem.Primitives.4.0.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Numerics" />
<Reference Include="System.Reflection.Metadata, Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Reflection.Metadata.1.2.0\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AnnotatedSandwich.cs" />
<Compile Include="pizza.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resource\DynamicPizza.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DynamicPizza.resx</DependentUpon>
</Compile>
<Compile Include="Resource\DynamicSandwich.Designer.cs" />
<Compile Include="Sandwich.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic.csproj">
<Project>{cdfec7d6-847e-4c13-956b-0a960ae3eb60}</Project>
<Name>Microsoft.Bot.Builder.Classic</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Classic\RView\RView.csproj">
<Project>{12cae029-7b8d-4928-8504-28746c36adb3}</Project>
<Name>RView</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Core\Microsoft.Bot.Builder.Core.csproj">
<Project>{f0c150e2-9b8a-444c-b70e-97ad918cb3d4}</Project>
<Name>Microsoft.Bot.Builder.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj">
<Project>{ada8ab8b-2066-4193-b8f7-985669b23e00}</Project>
<Name>Microsoft.Bot.Builder</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj">
<Project>{6462da5d-27dc-4cd5-9467-5efb998fd838}</Project>
<Name>Microsoft.Bot.Connector</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj">
<Project>{c1f54cdc-ad1d-45bb-8f7d-f49e411afaf1}</Project>
<Name>Microsoft.Bot.Schema</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resource\DynamicPizza.en.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Resource\DynamicPizza.fr.resx" />
<EmbeddedResource Include="Resource\DynamicSandwich.en.resx" />
<EmbeddedResource Include="Resource\DynamicSandwich.fr.resx" />
<EmbeddedResource Include="Resource\DynamicSandwich.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Builder.FormFlowTest.PizzaOrder.en.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Builder.FormFlowTest.PizzaOrder.fr.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Builder.FormFlowTest.PizzaOrder.resx" />
<EmbeddedResource Include="Resource\DynamicPizza.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>DynamicPizza.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.AnnotatedSandwichBot.SandwichOrder.en.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.AnnotatedSandwichBot.SandwichOrder.fr.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.AnnotatedSandwichBot.SandwichOrder.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.JsonSandwichBot.SandwichOrder.en.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.JsonSandwichBot.SandwichOrder.fr.resx" />
<EmbeddedResource Include="Resource\Microsoft.Bot.Sample.JsonSandwichBot.SandwichOrder.resx" />
</ItemGroup>
<ItemGroup>
<XliffResource Include="MultilingualResources\FormTest.en.xlf" />
<XliffResource Include="MultilingualResources\FormTest.fr.xlf">
<SubType>Designer</SubType>
</XliffResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.ResxResources.targets" Label="MultilingualAppToolkit" Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.ResxResources.targets') And Exists('$(MSBuildExtensionsPath)\Microsoft\Multilingual App Toolkit\v$(MultilingualAppToolkitVersion)\Microsoft.Multilingual.ResxResources.targets')" />
<Target Name="MATPrerequisite" BeforeTargets="PrepareForBuild" Condition="!Exists('$(MSBuildExtensionsPath)\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.ResxResources.targets') And !Exists('$(MSBuildExtensionsPath)\Microsoft\Multilingual App Toolkit\v$(MultilingualAppToolkitVersion)\Microsoft.Multilingual.ResxResources.targets')" Label="MultilingualAppToolkit">
<Warning Text="$(MSBuildProjectFile) is Multilingual build enabled, but the Multilingual App Toolkit is unavailable during the build. If building with Visual Studio, please check to ensure that toolkit is properly installed." />
</Target>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,423 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="VALUE;Sandwich_description" xml:space="preserve">
<value>Sandwich</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;BLT" xml:space="preserve">
<value>BLT</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;BlackForestHam" xml:space="preserve">
<value>Black Forest Ham</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;BuffaloChicken" xml:space="preserve">
<value>Buffalo Chicken</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;ChickenAndBaconRanchMelt" xml:space="preserve">
<value>Chicken And Bacon Ranch Melt</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;ColdCutCombo" xml:space="preserve">
<value>Cold Cut Combo</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;MeatballMarinara" xml:space="preserve">
<value>Meatball Marinara</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;OverRoastedChicken" xml:space="preserve">
<value>Over Roasted Chicken</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;RoastBeef" xml:space="preserve">
<value>Roast Beef</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;RotisserieStyleChicken" xml:space="preserve">
<value>Rotisserie Style Chicken</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;SpicyItalian" xml:space="preserve">
<value>Spicy Italian</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;SteakAndCheese" xml:space="preserve">
<value>Steak And Cheese</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;SweetOnionTeriyaki" xml:space="preserve">
<value>Sweet Onion Teriyaki</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;Tuna" xml:space="preserve">
<value>Tuna</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;TurkeyBreast" xml:space="preserve">
<value>Turkey Breast</value>
</data>
<data name="VALUE;Sandwich_valueDescriptions;Veggie" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="VALUE;Length_description" xml:space="preserve">
<value>Length</value>
</data>
<data name="VALUE;Length_valueDescriptions;SixInch" xml:space="preserve">
<value>Six Inch</value>
</data>
<data name="VALUE;Length_valueDescriptions;FootLong" xml:space="preserve">
<value>Foot Long</value>
</data>
<data name="VALUE;Bread_description" xml:space="preserve">
<value>Bread</value>
</data>
<data name="VALUE;Bread_valueDescriptions;NineGrainWheat" xml:space="preserve">
<value>Nine Grain Wheat</value>
</data>
<data name="VALUE;Bread_valueDescriptions;NineGrainHoneyOat" xml:space="preserve">
<value>Nine Grain Honey Oat</value>
</data>
<data name="VALUE;Bread_valueDescriptions;Italian" xml:space="preserve">
<value>Italian</value>
</data>
<data name="VALUE;Bread_valueDescriptions;ItalianHerbsAndCheese" xml:space="preserve">
<value>Italian Herbs And Cheese</value>
</data>
<data name="VALUE;Bread_valueDescriptions;Flatbread" xml:space="preserve">
<value>Flatbread</value>
</data>
<data name="VALUE;Cheese_description" xml:space="preserve">
<value>Cheese</value>
</data>
<data name="VALUE;Cheese_valueDescriptions;American" xml:space="preserve">
<value>American</value>
</data>
<data name="VALUE;Cheese_valueDescriptions;MontereyCheddar" xml:space="preserve">
<value>Monterey Cheddar</value>
</data>
<data name="VALUE;Cheese_valueDescriptions;Pepperjack" xml:space="preserve">
<value>Pepperjack</value>
</data>
<data name="VALUE;Toppings_description" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;BananaPeppers" xml:space="preserve">
<value>Banana Peppers</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Cucumbers" xml:space="preserve">
<value>Cucumbers</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;GreenBellPeppers" xml:space="preserve">
<value>Green Bell Peppers</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Jalapenos" xml:space="preserve">
<value>Jalapenos</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Lettuce" xml:space="preserve">
<value>Lettuce</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Olives" xml:space="preserve">
<value>Olives</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Pickles" xml:space="preserve">
<value>Pickles</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;RedOnion" xml:space="preserve">
<value>Red Onion</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Spinach" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="VALUE;Toppings_valueDescriptions;Tomatoes" xml:space="preserve">
<value>Tomatoes</value>
</data>
<data name="VALUE;Sauce_description" xml:space="preserve">
<value>Sauce</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;HoneyMustard" xml:space="preserve">
<value>Honey Mustard</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;LightMayonnaise" xml:space="preserve">
<value>Light Mayonnaise</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;RegularMayonnaise" xml:space="preserve">
<value>Regular Mayonnaise</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;Mustard" xml:space="preserve">
<value>Mustard</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;Oil" xml:space="preserve">
<value>Oil</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;Pepper" xml:space="preserve">
<value>Pepper</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;Ranch" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;SweetOnion" xml:space="preserve">
<value>Sweet Onion</value>
</data>
<data name="VALUE;Sauce_valueDescriptions;Vinegar" xml:space="preserve">
<value>Vinegar</value>
</data>
<data name="LIST;message0" xml:space="preserve">
<value>Welcome to the simple sandwich order bot!</value>
</data>
<data name="LIST;Sandwich_terms" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="LIST;Sandwich_valueTerms;BLT" xml:space="preserve">
<value>blts?</value>
</data>
<data name="LIST;Sandwich_valueTerms;BlackForestHam" xml:space="preserve">
<value>blacks?;forests?;hams?;blacks? forests?;forests? hams?;blacks? forests? hams?</value>
</data>
<data name="LIST;Sandwich_valueTerms;BuffaloChicken" xml:space="preserve">
<value>buffalos?;chickens?;buffalos? chickens?</value>
</data>
<data name="LIST;Sandwich_valueTerms;ChickenAndBaconRanchMelt" xml:space="preserve">
<value>chickens?;and;bacons?;ranchs?;melts?;chickens? and;and bacons?;bacons? ranchs?;ranchs? melts?;chickens? and bacons?;and bacons? ranchs?;bacons? ranchs? melts?;chickens? and bacons? ranchs?;and bacons? ranchs? melts?;chicken and bacon ranch melt</value>
</data>
<data name="LIST;Sandwich_valueTerms;ColdCutCombo" xml:space="preserve">
<value>colds?;cuts?;combos?;colds? cuts?;cuts? combos?;colds? cuts? combos?</value>
</data>
<data name="LIST;Sandwich_valueTerms;MeatballMarinara" xml:space="preserve">
<value>meatballs?;marinaras?;meatballs? marinaras?</value>
</data>
<data name="LIST;Sandwich_valueTerms;OverRoastedChicken" xml:space="preserve">
<value>over;roasteds?;chickens?;over roasteds?;roasteds? chickens?;over roasteds? chickens?</value>
</data>
<data name="LIST;Sandwich_valueTerms;RoastBeef" xml:space="preserve">
<value>roasts?;beefs?;roasts? beefs?</value>
</data>
<data name="LIST;Sandwich_valueTerms;RotisserieStyleChicken" xml:space="preserve">
<value>rotisseries?;styles?;chickens?;rotisseries? styles?;styles? chickens?;rotisseries? styles? chickens?</value>
</data>
<data name="LIST;Sandwich_valueTerms;SpicyItalian" xml:space="preserve">
<value>spicys?;italians?;spicys? italians?</value>
</data>
<data name="LIST;Sandwich_valueTerms;SteakAndCheese" xml:space="preserve">
<value>steaks?;and;cheeses?;steaks? and;and cheeses?;steaks? and cheeses?</value>
</data>
<data name="LIST;Sandwich_valueTerms;SweetOnionTeriyaki" xml:space="preserve">
<value>sweets?;onions?;teriyakis?;sweets? onions?;onions? teriyakis?;sweets? onions? teriyakis?</value>
</data>
<data name="LIST;Sandwich_valueTerms;Tuna" xml:space="preserve">
<value>tunas?</value>
</data>
<data name="LIST;Sandwich_valueTerms;TurkeyBreast" xml:space="preserve">
<value>turkeys?;breasts?;turkeys? breasts?</value>
</data>
<data name="LIST;Sandwich_valueTerms;Veggie" xml:space="preserve">
<value>veggies?</value>
</data>
<data name="LIST;Length_terms" xml:space="preserve">
<value>lengths?</value>
</data>
<data name="LIST;Length_valueTerms;SixInch" xml:space="preserve">
<value>six;inchs?;six inchs?</value>
</data>
<data name="LIST;Length_valueTerms;FootLong" xml:space="preserve">
<value>foots?;longs?;foots? longs?</value>
</data>
<data name="LIST;Bread_terms" xml:space="preserve">
<value>breads?</value>
</data>
<data name="LIST;Bread_valueTerms;NineGrainWheat" xml:space="preserve">
<value>nine;grains?;wheats?;nine grains?;grains? wheats?;nine grains? wheats?</value>
</data>
<data name="LIST;Bread_valueTerms;NineGrainHoneyOat" xml:space="preserve">
<value>nine;grains?;honeys?;oats?;nine grains?;grains? honeys?;honeys? oats?;nine grains? honeys?;grains? honeys? oats?;nine grains? honeys? oats?</value>
</data>
<data name="LIST;Bread_valueTerms;Italian" xml:space="preserve">
<value>italians?</value>
</data>
<data name="LIST;Bread_valueTerms;ItalianHerbsAndCheese" xml:space="preserve">
<value>italians?;herbs?;and;cheeses?;italians? herbs?;herbs? and;and cheeses?;italians? herbs? and;herbs? and cheeses?;italians? herbs? and cheeses?</value>
</data>
<data name="LIST;Bread_valueTerms;Flatbread" xml:space="preserve">
<value>flatbreads?</value>
</data>
<data name="LIST;Cheese_terms" xml:space="preserve">
<value>cheeses?</value>
</data>
<data name="LIST;Cheese_valueTerms;American" xml:space="preserve">
<value>americans?</value>
</data>
<data name="LIST;Cheese_valueTerms;MontereyCheddar" xml:space="preserve">
<value>montereys?;cheddars?;montereys? cheddars?</value>
</data>
<data name="LIST;Cheese_valueTerms;Pepperjack" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="LIST;Toppings_terms" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="LIST;Toppings_valueTerms;BananaPeppers" xml:space="preserve">
<value>bananas?;peppers?;bananas? peppers?</value>
</data>
<data name="LIST;Toppings_valueTerms;Cucumbers" xml:space="preserve">
<value>cucumbers?</value>
</data>
<data name="LIST;Toppings_valueTerms;GreenBellPeppers" xml:space="preserve">
<value>greens?;bells?;peppers?;greens? bells?;bells? peppers?;greens? bells? peppers?</value>
</data>
<data name="LIST;Toppings_valueTerms;Jalapenos" xml:space="preserve">
<value>jalapenos?</value>
</data>
<data name="LIST;Toppings_valueTerms;Lettuce" xml:space="preserve">
<value>lettuces?</value>
</data>
<data name="LIST;Toppings_valueTerms;Olives" xml:space="preserve">
<value>olives?</value>
</data>
<data name="LIST;Toppings_valueTerms;Pickles" xml:space="preserve">
<value>pickles?</value>
</data>
<data name="LIST;Toppings_valueTerms;RedOnion" xml:space="preserve">
<value>reds?;onions?;reds? onions?</value>
</data>
<data name="LIST;Toppings_valueTerms;Spinach" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="LIST;Toppings_valueTerms;Tomatoes" xml:space="preserve">
<value>tomatoes?</value>
</data>
<data name="LIST;Sauce_terms" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="LIST;Sauce_valueTerms;HoneyMustard" xml:space="preserve">
<value>honeys?;mustards?;honeys? mustards?</value>
</data>
<data name="LIST;Sauce_valueTerms;LightMayonnaise" xml:space="preserve">
<value>lights?;mayonnaises?;lights? mayonnaises?</value>
</data>
<data name="LIST;Sauce_valueTerms;RegularMayonnaise" xml:space="preserve">
<value>regulars?;mayonnaises?;regulars? mayonnaises?</value>
</data>
<data name="LIST;Sauce_valueTerms;Mustard" xml:space="preserve">
<value>mustards?</value>
</data>
<data name="LIST;Sauce_valueTerms;Oil" xml:space="preserve">
<value>oils?</value>
</data>
<data name="LIST;Sauce_valueTerms;Pepper" xml:space="preserve">
<value>peppers?</value>
</data>
<data name="LIST;Sauce_valueTerms;Ranch" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="LIST;Sauce_valueTerms;SweetOnion" xml:space="preserve">
<value>sweets?;onions?;sweets? onions?</value>
</data>
<data name="LIST;Sauce_valueTerms;Vinegar" xml:space="preserve">
<value>vinegars?</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,689 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="en" original="FORMTEST/RESOURCE/DYNAMICPIZZA.RESX" tool-id="MultilingualAppToolkit" product-name="n/a" product-version="n/a" build-num="n/a">
<header>
<tool tool-id="MultilingualAppToolkit" tool-name="Multilingual App Toolkit" tool-version="4.0.1605.0" tool-company="Microsoft" />
</header>
<body>
<group id="FORMTEST/RESOURCE/DYNAMICPIZZA.RESX" datatype="resx">
<trans-unit id="AddressFine" translate="yes" xml:space="preserve">
<source>Your address is fine.</source>
<target state="new">Your address is fine.</target>
</trans-unit>
<trans-unit id="AddressHelp" translate="yes" xml:space="preserve">
<source>Address must start with a number.</source>
<target state="new">Address must start with a number.</target>
</trans-unit>
<trans-unit id="Cost" translate="yes" xml:space="preserve">
<source>Your pizza will cost {0:C}</source>
<target state="new">Your pizza will cost {0:C}</target>
</trans-unit>
<trans-unit id="CostConfirm" translate="yes" xml:space="preserve">
<source>Your pizza will cost {0:C} is that OK?</source>
<target state="new">Your pizza will cost {0:C} is that OK?</target>
</trans-unit>
<trans-unit id="Special" translate="yes" xml:space="preserve">
<source>Specials</source>
<target state="new">Specials</target>
</trans-unit>
<trans-unit id="Special1" translate="yes" xml:space="preserve">
<source>Free drink</source>
<target state="new">Free drink</target>
</trans-unit>
<trans-unit id="Special1Terms" translate="yes" xml:space="preserve">
<source>drink; free drink</source>
<target state="new">drink; free drink</target>
</trans-unit>
<trans-unit id="Special2" translate="yes" xml:space="preserve">
<source>Free garlic bread</source>
<target state="new">Free garlic bread</target>
</trans-unit>
<trans-unit id="Special2Terms" translate="yes" xml:space="preserve">
<source>bread; garlic; garlic bread; free garlic bread</source>
<target state="new">bread; garlic; garlic bread; free garlic bread</target>
</trans-unit>
<trans-unit id="SpecialTerms" translate="yes" xml:space="preserve">
<source>specials</source>
<target state="new">specials</target>
</trans-unit>
</group>
</body>
</file>
<file datatype="xml" source-language="en" target-language="en" original="FORMTEST/RESOURCE/Microsoft.Bot.Builder.Classic.FormFlowTest.PIZZAORDER.RESX" tool-id="MultilingualAppToolkit" product-name="n/a" product-version="n/a" build-num="n/a">
<header>
<tool tool-id="MultilingualAppToolkit" tool-name="Multilingual App Toolkit" tool-version="4.0.1605.0" tool-company="Microsoft" />
</header>
<body>
<group id="FORMTEST/RESOURCE/Microsoft.Bot.Builder.Classic.FormFlowTest.PIZZAORDER.RESX" datatype="resx">
<trans-unit id="NumberOfPizzas_description;VALUE" translate="yes" xml:space="preserve">
<source>Number Of Pizzas</source>
<target state="new">Number Of Pizzas</target>
</trans-unit>
<trans-unit id="Size_description;VALUE" translate="yes" xml:space="preserve">
<source>Size</source>
<target state="new">Size</target>
</trans-unit>
<trans-unit id="SizeOptions.Medium;VALUE" translate="yes" xml:space="preserve">
<source>Medium</source>
<target state="new">Medium</target>
</trans-unit>
<trans-unit id="SizeOptions.Large;VALUE" translate="yes" xml:space="preserve">
<source>Large</source>
<target state="new">Large</target>
</trans-unit>
<trans-unit id="SizeOptions.Family;VALUE" translate="yes" xml:space="preserve">
<source>Family</source>
<target state="new">Family</target>
</trans-unit>
<trans-unit id="Kind_description;VALUE" translate="yes" xml:space="preserve">
<source>Kind of pizza</source>
<target state="new">Kind of pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.SignaturePizza;VALUE" translate="yes" xml:space="preserve">
<source>Signature Pizza</source>
<target state="new">Signature Pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.GourmetDelitePizza;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Delite Pizza</source>
<target state="new">Gourmet Delite Pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.StuffedPizza;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed Pizza</source>
<target state="new">Stuffed Pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.BYOPizza;VALUE" translate="yes" xml:space="preserve">
<source>Build your own</source>
<target state="new">Build your own</target>
</trans-unit>
<trans-unit id="Specials_description;VALUE" translate="yes" xml:space="preserve">
<source>Specials</source>
<target state="new">Specials</target>
</trans-unit>
<trans-unit id="BYO.HalfAndHalf_description;VALUE" translate="yes" xml:space="preserve">
<source>Half And Half</source>
<target state="new">Half And Half</target>
</trans-unit>
<trans-unit id="BYO.Crust_description;VALUE" translate="yes" xml:space="preserve">
<source>Crust</source>
<target state="new">Crust</target>
</trans-unit>
<trans-unit id="CrustOptions.Original;VALUE" translate="yes" xml:space="preserve">
<source>Original</source>
<target state="new">Original</target>
</trans-unit>
<trans-unit id="CrustOptions.Thin;VALUE" translate="yes" xml:space="preserve">
<source>Thin</source>
<target state="new">Thin</target>
</trans-unit>
<trans-unit id="CrustOptions.Stuffed;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed</source>
<target state="new">Stuffed</target>
</trans-unit>
<trans-unit id="CrustOptions.FreshPan;VALUE" translate="yes" xml:space="preserve">
<source>Fresh Pan</source>
<target state="new">Fresh Pan</target>
</trans-unit>
<trans-unit id="CrustOptions.GlutenFree;VALUE" translate="yes" xml:space="preserve">
<source>Gluten Free</source>
<target state="new">Gluten Free</target>
</trans-unit>
<trans-unit id="BYO.Sauce_description;VALUE" translate="yes" xml:space="preserve">
<source>Sauce</source>
<target state="new">Sauce</target>
</trans-unit>
<trans-unit id="SauceOptions.Traditional;VALUE" translate="yes" xml:space="preserve">
<source>Traditional</source>
<target state="new">Traditional</target>
</trans-unit>
<trans-unit id="SauceOptions.CreamyGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Creamy Garlic</source>
<target state="new">Creamy Garlic</target>
</trans-unit>
<trans-unit id="SauceOptions.OliveOil;VALUE" translate="yes" xml:space="preserve">
<source>Olive Oil</source>
<target state="new">Olive Oil</target>
</trans-unit>
<trans-unit id="BYO.Toppings_description;VALUE" translate="yes" xml:space="preserve">
<source>Toppings</source>
<target state="new">Toppings</target>
</trans-unit>
<trans-unit id="ToppingOptions.All;VALUE" translate="yes" xml:space="preserve">
<source>All except</source>
<target state="new">All except</target>
</trans-unit>
<trans-unit id="ToppingOptions.Beef;VALUE" translate="yes" xml:space="preserve">
<source>Beef</source>
<target state="new">Beef</target>
</trans-unit>
<trans-unit id="ToppingOptions.BlackOlives;VALUE" translate="yes" xml:space="preserve">
<source>Black Olives</source>
<target state="new">Black Olives</target>
</trans-unit>
<trans-unit id="ToppingOptions.CanadianBacon;VALUE" translate="yes" xml:space="preserve">
<source>Canadian Bacon</source>
<target state="new">Canadian Bacon</target>
</trans-unit>
<trans-unit id="ToppingOptions.CrispyBacon;VALUE" translate="yes" xml:space="preserve">
<source>Crispy Bacon</source>
<target state="new">Crispy Bacon</target>
</trans-unit>
<trans-unit id="ToppingOptions.Garlic;VALUE" translate="yes" xml:space="preserve">
<source>Garlic</source>
<target state="new">Garlic</target>
</trans-unit>
<trans-unit id="ToppingOptions.GreenPeppers;VALUE" translate="yes" xml:space="preserve">
<source>Green Peppers</source>
<target state="new">Green Peppers</target>
</trans-unit>
<trans-unit id="ToppingOptions.GrilledChicken;VALUE" translate="yes" xml:space="preserve">
<source>Grilled Chicken</source>
<target state="new">Grilled Chicken</target>
</trans-unit>
<trans-unit id="ToppingOptions.HerbAndCheeseBlend;VALUE" translate="yes" xml:space="preserve">
<source>Herb And Cheese Blend</source>
<target state="new">Herb And Cheese Blend</target>
</trans-unit>
<trans-unit id="ToppingOptions.ItalianSausage;VALUE" translate="yes" xml:space="preserve">
<source>Italian Sausage</source>
<target state="new">Italian Sausage</target>
</trans-unit>
<trans-unit id="ToppingOptions.ArtichokeHearts;VALUE" translate="yes" xml:space="preserve">
<source>Artichoke Hearts</source>
<target state="new">Artichoke Hearts</target>
</trans-unit>
<trans-unit id="ToppingOptions.MixedOnions;VALUE" translate="yes" xml:space="preserve">
<source>Mixed Onions</source>
<target state="new">Mixed Onions</target>
</trans-unit>
<trans-unit id="ToppingOptions.MozzarellaCheese;VALUE" translate="yes" xml:space="preserve">
<source>Mozzarella Cheese</source>
<target state="new">Mozzarella Cheese</target>
</trans-unit>
<trans-unit id="ToppingOptions.Mushroom;VALUE" translate="yes" xml:space="preserve">
<source>Mushroom</source>
<target state="new">Mushroom</target>
</trans-unit>
<trans-unit id="ToppingOptions.Onions;VALUE" translate="yes" xml:space="preserve">
<source>Onions</source>
<target state="new">Onions</target>
</trans-unit>
<trans-unit id="ToppingOptions.ParmesanCheese;VALUE" translate="yes" xml:space="preserve">
<source>Parmesan Cheese</source>
<target state="new">Parmesan Cheese</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pepperoni;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni</source>
<target state="new">Pepperoni</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pineapple;VALUE" translate="yes" xml:space="preserve">
<source>Pineapple</source>
<target state="new">Pineapple</target>
</trans-unit>
<trans-unit id="ToppingOptions.RomaTomatoes;VALUE" translate="yes" xml:space="preserve">
<source>Roma Tomatoes</source>
<target state="new">Roma Tomatoes</target>
</trans-unit>
<trans-unit id="ToppingOptions.Salami;VALUE" translate="yes" xml:space="preserve">
<source>Salami</source>
<target state="new">Salami</target>
</trans-unit>
<trans-unit id="ToppingOptions.Spinach;VALUE" translate="yes" xml:space="preserve">
<source>Spinach</source>
<target state="new">Spinach</target>
</trans-unit>
<trans-unit id="ToppingOptions.SunDriedTomatoes;VALUE" translate="yes" xml:space="preserve">
<source>Sun Dried Tomatoes</source>
<target state="new">Sun Dried Tomatoes</target>
</trans-unit>
<trans-unit id="ToppingOptions.Zucchini;VALUE" translate="yes" xml:space="preserve">
<source>Zucchini</source>
<target state="new">Zucchini</target>
</trans-unit>
<trans-unit id="ToppingOptions.ExtraCheese;VALUE" translate="yes" xml:space="preserve">
<source>Extra Cheese</source>
<target state="new">Extra Cheese</target>
</trans-unit>
<trans-unit id="BYO.HalfToppings_description;VALUE" translate="yes" xml:space="preserve">
<source>Half Toppings</source>
<target state="new">Half Toppings</target>
</trans-unit>
<trans-unit id="GourmetDelite_description;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Delite</source>
<target state="new">Gourmet Delite</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.SpicyFennelSausage;VALUE" translate="yes" xml:space="preserve">
<source>Spicy Fennel Sausage</source>
<target state="new">Spicy Fennel Sausage</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Angus Steak And Roasted Garlic</source>
<target state="new">Angus Steak And Roasted Garlic</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.GourmetVegetarian;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Vegetarian</source>
<target state="new">Gourmet Vegetarian</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.ChickenBaconArtichoke;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Bacon Artichoke</source>
<target state="new">Chicken Bacon Artichoke</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.HerbChickenMediterranean;VALUE" translate="yes" xml:space="preserve">
<source>Herb Chicken Mediterranean</source>
<target state="new">Herb Chicken Mediterranean</target>
</trans-unit>
<trans-unit id="Signature_description;VALUE" translate="yes" xml:space="preserve">
<source>Signature</source>
<target state="new">Signature</target>
</trans-unit>
<trans-unit id="SignatureOptions.Hawaiian;VALUE" translate="yes" xml:space="preserve">
<source>Hawaiian</source>
<target state="new">Hawaiian</target>
</trans-unit>
<trans-unit id="SignatureOptions.Pepperoni;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni</source>
<target state="new">Pepperoni</target>
</trans-unit>
<trans-unit id="SignatureOptions.MurphysCombo;VALUE" translate="yes" xml:space="preserve">
<source>Murphys Combo</source>
<target state="new">Murphys Combo</target>
</trans-unit>
<trans-unit id="SignatureOptions.ChickenGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Garlic</source>
<target state="new">Chicken Garlic</target>
</trans-unit>
<trans-unit id="SignatureOptions.TheCowboy;VALUE" translate="yes" xml:space="preserve">
<source>The Cowboy</source>
<target state="new">The Cowboy</target>
</trans-unit>
<trans-unit id="Stuffed_description;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed</source>
<target state="new">Stuffed</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChickenBaconStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Bacon Stuffed</source>
<target state="new">Chicken Bacon Stuffed</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChicagoStyleStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Chicago Style Stuffed</source>
<target state="new">Chicago Style Stuffed</target>
</trans-unit>
<trans-unit id="StuffedOptions.FiveMeatStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Five Meat Stuffed</source>
<target state="new">Five Meat Stuffed</target>
</trans-unit>
<trans-unit id="DeliveryAddress_description;VALUE" translate="yes" xml:space="preserve">
<source>Delivery Address</source>
<target state="new">Delivery Address</target>
</trans-unit>
<trans-unit id="Coupons_description;VALUE" translate="yes" xml:space="preserve">
<source>Coupons</source>
<target state="new">Coupons</target>
</trans-unit>
<trans-unit id="CouponOptions.Large20Percent;VALUE" translate="yes" xml:space="preserve">
<source>Large 20 Percent</source>
<target state="new">Large 20 Percent</target>
</trans-unit>
<trans-unit id="CouponOptions.Pepperoni20Percent;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni 20 Percent</source>
<target state="new">Pepperoni 20 Percent</target>
</trans-unit>
<trans-unit id="Coupon_description;VALUE" translate="yes" xml:space="preserve">
<source>Coupon</source>
<target state="new">Coupon</target>
</trans-unit>
<trans-unit id="Rating_description;VALUE" translate="yes" xml:space="preserve">
<source>Rating</source>
<target state="new">Rating</target>
</trans-unit>
<trans-unit id="Available_description;VALUE" translate="yes" xml:space="preserve">
<source>Available</source>
<target state="new">Available</target>
</trans-unit>
<trans-unit id="Bottles_description;VALUE" translate="yes" xml:space="preserve">
<source>Bottles</source>
<target state="new">Bottles</target>
</trans-unit>
<trans-unit id="message0;LIST" translate="yes" xml:space="preserve">
<source>Welcome to the pizza bot!!!</source>
<target state="new">Welcome to the pizza bot!!!</target>
</trans-unit>
<trans-unit id="message1;LIST" translate="yes" xml:space="preserve">
<source>Lets make pizza!!!</source>
<target state="new">Lets make pizza!!!</target>
</trans-unit>
<trans-unit id="NumberOfPizzas_terms;LIST" translate="yes" xml:space="preserve">
<source>numbers?;of;pizzas?;numbers? of;of pizzas?;numbers? of pizzas?</source>
<target state="new">numbers?;of;pizzas?;numbers? of;of pizzas?;numbers? of pizzas?</target>
</trans-unit>
<trans-unit id="Size_terms;LIST" translate="yes" xml:space="preserve">
<source>sizes?</source>
<target state="new">sizes?</target>
</trans-unit>
<trans-unit id="SizeOptions.Medium;LIST" translate="yes" xml:space="preserve">
<source>med;medium</source>
<target state="new">med;medium</target>
</trans-unit>
<trans-unit id="SizeOptions.Large;LIST" translate="yes" xml:space="preserve">
<source>larges?</source>
<target state="new">larges?</target>
</trans-unit>
<trans-unit id="SizeOptions.Family;LIST" translate="yes" xml:space="preserve">
<source>family;extra large</source>
<target state="new">family;extra large</target>
</trans-unit>
<trans-unit id="Kind_terms;LIST" translate="yes" xml:space="preserve">
<source>kinds?</source>
<target state="new">kinds?</target>
</trans-unit>
<trans-unit id="PizzaOptions.SignaturePizza;LIST" translate="yes" xml:space="preserve">
<source>signatures?;pizzas?;signatures? pizzas?</source>
<target state="new">signatures?;pizzas?;signatures? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.GourmetDelitePizza;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;delites?;pizzas?;gourmets? delites?;delites? pizzas?;gourmets? delites? pizzas?</source>
<target state="new">gourmets?;delites?;pizzas?;gourmets? delites?;delites? pizzas?;gourmets? delites? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.StuffedPizza;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?;pizzas?;stuffeds? pizzas?</source>
<target state="new">stuffeds?;pizzas?;stuffeds? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.BYOPizza;LIST" translate="yes" xml:space="preserve">
<source>byo;build your own</source>
<target state="new">byo;build your own</target>
</trans-unit>
<trans-unit id="Kind_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>What kind of pizza do you want? {||}</source>
<target state="new">What kind of pizza do you want? {||}</target>
</trans-unit>
<trans-unit id="Specials_terms;LIST" translate="yes" xml:space="preserve">
<source>specials?</source>
<target state="new">specials?</target>
</trans-unit>
<trans-unit id="BYO.HalfAndHalf_terms;LIST" translate="yes" xml:space="preserve">
<source>halfs?;and;halfs?;halfs? and;and halfs?;halfs? and halfs?</source>
<target state="new">halfs?;and;halfs?;halfs? and;and halfs?;halfs? and halfs?</target>
</trans-unit>
<trans-unit id="BYO.Crust_terms;LIST" translate="yes" xml:space="preserve">
<source>crusts?</source>
<target state="new">crusts?</target>
</trans-unit>
<trans-unit id="CrustOptions.Original;LIST" translate="yes" xml:space="preserve">
<source>originals?</source>
<target state="new">originals?</target>
</trans-unit>
<trans-unit id="CrustOptions.Thin;LIST" translate="yes" xml:space="preserve">
<source>thin</source>
<target state="new">thin</target>
</trans-unit>
<trans-unit id="CrustOptions.Stuffed;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?</source>
<target state="new">stuffeds?</target>
</trans-unit>
<trans-unit id="CrustOptions.FreshPan;LIST" translate="yes" xml:space="preserve">
<source>freshs?;pans?;freshs? pans?</source>
<target state="new">freshs?;pans?;freshs? pans?</target>
</trans-unit>
<trans-unit id="CrustOptions.GlutenFree;LIST" translate="yes" xml:space="preserve">
<source>glutens?;frees?;glutens? frees?</source>
<target state="new">glutens?;frees?;glutens? frees?</target>
</trans-unit>
<trans-unit id="BYO.Sauce_terms;LIST" translate="yes" xml:space="preserve">
<source>sauces?</source>
<target state="new">sauces?</target>
</trans-unit>
<trans-unit id="SauceOptions.Traditional;LIST" translate="yes" xml:space="preserve">
<source>traditional;tomatoe?</source>
<target state="new">traditional;tomatoe?</target>
</trans-unit>
<trans-unit id="SauceOptions.CreamyGarlic;LIST" translate="yes" xml:space="preserve">
<source>creamys?;garlics?;creamys? garlics?</source>
<target state="new">creamys?;garlics?;creamys? garlics?</target>
</trans-unit>
<trans-unit id="SauceOptions.OliveOil;LIST" translate="yes" xml:space="preserve">
<source>olives?;oils?;olives? oils?</source>
<target state="new">olives?;oils?;olives? oils?</target>
</trans-unit>
<trans-unit id="BYO.Toppings_terms;LIST" translate="yes" xml:space="preserve">
<source>toppings?</source>
<target state="new">toppings?</target>
</trans-unit>
<trans-unit id="ToppingOptions.All;LIST" translate="yes" xml:space="preserve">
<source>except;but;not;no;all;everything</source>
<target state="new">except;but;not;no;all;everything</target>
</trans-unit>
<trans-unit id="ToppingOptions.Beef;LIST" translate="yes" xml:space="preserve">
<source>beefs?</source>
<target state="new">beefs?</target>
</trans-unit>
<trans-unit id="ToppingOptions.BlackOlives;LIST" translate="yes" xml:space="preserve">
<source>blacks?;olives?;blacks? olives?</source>
<target state="new">blacks?;olives?;blacks? olives?</target>
</trans-unit>
<trans-unit id="ToppingOptions.CanadianBacon;LIST" translate="yes" xml:space="preserve">
<source>canadians?;bacons?;canadians? bacons?</source>
<target state="new">canadians?;bacons?;canadians? bacons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.CrispyBacon;LIST" translate="yes" xml:space="preserve">
<source>crispys?;bacons?;crispys? bacons?</source>
<target state="new">crispys?;bacons?;crispys? bacons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Garlic;LIST" translate="yes" xml:space="preserve">
<source>garlics?</source>
<target state="new">garlics?</target>
</trans-unit>
<trans-unit id="ToppingOptions.GreenPeppers;LIST" translate="yes" xml:space="preserve">
<source>greens?;peppers?;greens? peppers?</source>
<target state="new">greens?;peppers?;greens? peppers?</target>
</trans-unit>
<trans-unit id="ToppingOptions.GrilledChicken;LIST" translate="yes" xml:space="preserve">
<source>grilleds?;chickens?;grilleds? chickens?</source>
<target state="new">grilleds?;chickens?;grilleds? chickens?</target>
</trans-unit>
<trans-unit id="ToppingOptions.HerbAndCheeseBlend;LIST" translate="yes" xml:space="preserve">
<source>herb &amp; cheese;herb and cheese;herb and cheese blend;herb</source>
<target state="new">herb &amp; cheese;herb and cheese;herb and cheese blend;herb</target>
</trans-unit>
<trans-unit id="ToppingOptions.ItalianSausage;LIST" translate="yes" xml:space="preserve">
<source>italians?;sausages?;italians? sausages?</source>
<target state="new">italians?;sausages?;italians? sausages?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ArtichokeHearts;LIST" translate="yes" xml:space="preserve">
<source>artichokes?;hearts?;artichokes? hearts?</source>
<target state="new">artichokes?;hearts?;artichokes? hearts?</target>
</trans-unit>
<trans-unit id="ToppingOptions.MixedOnions;LIST" translate="yes" xml:space="preserve">
<source>mixeds?;onions?;mixeds? onions?</source>
<target state="new">mixeds?;onions?;mixeds? onions?</target>
</trans-unit>
<trans-unit id="ToppingOptions.MozzarellaCheese;LIST" translate="yes" xml:space="preserve">
<source>mozzarellas?;cheeses?;mozzarellas? cheeses?</source>
<target state="new">mozzarellas?;cheeses?;mozzarellas? cheeses?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Mushroom;LIST" translate="yes" xml:space="preserve">
<source>mushrooms?</source>
<target state="new">mushrooms?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Onions;LIST" translate="yes" xml:space="preserve">
<source>onions?</source>
<target state="new">onions?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ParmesanCheese;LIST" translate="yes" xml:space="preserve">
<source>parmesans?;cheeses?;parmesans? cheeses?</source>
<target state="new">parmesans?;cheeses?;parmesans? cheeses?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pepperoni;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?</source>
<target state="new">pepperonis?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pineapple;LIST" translate="yes" xml:space="preserve">
<source>pineapples?</source>
<target state="new">pineapples?</target>
</trans-unit>
<trans-unit id="ToppingOptions.RomaTomatoes;LIST" translate="yes" xml:space="preserve">
<source>romas?;tomatoes?;romas? tomatoes?</source>
<target state="new">romas?;tomatoes?;romas? tomatoes?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Salami;LIST" translate="yes" xml:space="preserve">
<source>salamis?</source>
<target state="new">salamis?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Spinach;LIST" translate="yes" xml:space="preserve">
<source>spinachs?</source>
<target state="new">spinachs?</target>
</trans-unit>
<trans-unit id="ToppingOptions.SunDriedTomatoes;LIST" translate="yes" xml:space="preserve">
<source>suns?;drieds?;tomatoes?;suns? drieds?;drieds? tomatoes?;suns? drieds? tomatoes?</source>
<target state="new">suns?;drieds?;tomatoes?;suns? drieds?;drieds? tomatoes?;suns? drieds? tomatoes?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Zucchini;LIST" translate="yes" xml:space="preserve">
<source>zucchinis?</source>
<target state="new">zucchinis?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ExtraCheese;LIST" translate="yes" xml:space="preserve">
<source>extras?;cheeses?;extras? cheeses?</source>
<target state="new">extras?;cheeses?;extras? cheeses?</target>
</trans-unit>
<trans-unit id="BYO.HalfToppings_terms;LIST" translate="yes" xml:space="preserve">
<source>halfs?;toppings?;halfs? toppings?</source>
<target state="new">halfs?;toppings?;halfs? toppings?</target>
</trans-unit>
<trans-unit id="message11;LIST" translate="yes" xml:space="preserve">
<source>Almost there!!! {*filled}</source>
<target state="new">Almost there!!! {*filled}</target>
</trans-unit>
<trans-unit id="GourmetDelite_terms;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;delites?;gourmets? delites?</source>
<target state="new">gourmets?;delites?;gourmets? delites?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.SpicyFennelSausage;LIST" translate="yes" xml:space="preserve">
<source>spicys?;fennels?;sausages?;spicys? fennels?;fennels? sausages?;spicys? fennels? sausages?</source>
<target state="new">spicys?;fennels?;sausages?;spicys? fennels?;fennels? sausages?;spicys? fennels? sausages?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;LIST" translate="yes" xml:space="preserve">
<source>angus?;steaks?;and;roasteds?;garlics?;angus? steaks?;steaks? and;and roasteds?;roasteds? garlics?;angus? steaks? and;steaks? and roasteds?;and roasteds? garlics?;angus? steaks? and roasteds?;steaks? and roasteds? garlics?;angus steak and roasted garlic</source>
<target state="new">angus?;steaks?;and;roasteds?;garlics?;angus? steaks?;steaks? and;and roasteds?;roasteds? garlics?;angus? steaks? and;steaks? and roasteds?;and roasteds? garlics?;angus? steaks? and roasteds?;steaks? and roasteds? garlics?;angus steak and roasted garlic</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.GourmetVegetarian;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;vegetarians?;gourmets? vegetarians?</source>
<target state="new">gourmets?;vegetarians?;gourmets? vegetarians?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.ChickenBaconArtichoke;LIST" translate="yes" xml:space="preserve">
<source>chickens?;bacons?;artichokes?;chickens? bacons?;bacons? artichokes?;chickens? bacons? artichokes?</source>
<target state="new">chickens?;bacons?;artichokes?;chickens? bacons?;bacons? artichokes?;chickens? bacons? artichokes?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.HerbChickenMediterranean;LIST" translate="yes" xml:space="preserve">
<source>herbs?;chickens?;mediterraneans?;herbs? chickens?;chickens? mediterraneans?;herbs? chickens? mediterraneans?</source>
<target state="new">herbs?;chickens?;mediterraneans?;herbs? chickens?;chickens? mediterraneans?;herbs? chickens? mediterraneans?</target>
</trans-unit>
<trans-unit id="Signature_terms;LIST" translate="yes" xml:space="preserve">
<source>signatures?</source>
<target state="new">signatures?</target>
</trans-unit>
<trans-unit id="SignatureOptions.Hawaiian;LIST" translate="yes" xml:space="preserve">
<source>hawaiians?</source>
<target state="new">hawaiians?</target>
</trans-unit>
<trans-unit id="SignatureOptions.Pepperoni;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?</source>
<target state="new">pepperonis?</target>
</trans-unit>
<trans-unit id="SignatureOptions.MurphysCombo;LIST" translate="yes" xml:space="preserve">
<source>murphys?;combos?;murphys? combos?</source>
<target state="new">murphys?;combos?;murphys? combos?</target>
</trans-unit>
<trans-unit id="SignatureOptions.ChickenGarlic;LIST" translate="yes" xml:space="preserve">
<source>chickens?;garlics?;chickens? garlics?</source>
<target state="new">chickens?;garlics?;chickens? garlics?</target>
</trans-unit>
<trans-unit id="SignatureOptions.TheCowboy;LIST" translate="yes" xml:space="preserve">
<source>cowboys?</source>
<target state="new">cowboys?</target>
</trans-unit>
<trans-unit id="Stuffed_terms;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?</source>
<target state="new">stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChickenBaconStuffed;LIST" translate="yes" xml:space="preserve">
<source>chickens?;bacons?;stuffeds?;chickens? bacons?;bacons? stuffeds?;chickens? bacons? stuffeds?</source>
<target state="new">chickens?;bacons?;stuffeds?;chickens? bacons?;bacons? stuffeds?;chickens? bacons? stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChicagoStyleStuffed;LIST" translate="yes" xml:space="preserve">
<source>chicagos?;styles?;stuffeds?;chicagos? styles?;styles? stuffeds?;chicagos? styles? stuffeds?</source>
<target state="new">chicagos?;styles?;stuffeds?;chicagos? styles?;styles? stuffeds?;chicagos? styles? stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.FiveMeatStuffed;LIST" translate="yes" xml:space="preserve">
<source>five;meats?;stuffeds?;five meats?;meats? stuffeds?;five meats? stuffeds?</source>
<target state="new">five;meats?;stuffeds?;five meats?;meats? stuffeds?;five meats? stuffeds?</target>
</trans-unit>
<trans-unit id="message15;LIST" translate="yes" xml:space="preserve">
<source>What we have is a {?{Signature} signature pizza} {?{GourmetDelite} gourmet pizza} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza</source>
<target state="new">What we have is a {?{Signature} signature pizza} {?{GourmetDelite} gourmet pizza} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza</target>
</trans-unit>
<trans-unit id="DeliveryAddress_terms;LIST" translate="yes" xml:space="preserve">
<source>deliverys?;address?;deliverys? address?</source>
<target state="new">deliverys?;address?;deliverys? address?</target>
</trans-unit>
<trans-unit id="Coupons_terms;LIST" translate="yes" xml:space="preserve">
<source>coupons?</source>
<target state="new">coupons?</target>
</trans-unit>
<trans-unit id="CouponOptions.Large20Percent;LIST" translate="yes" xml:space="preserve">
<source>larges?;20;percents?;larges? 20;20 percents?;larges? 20 percents?</source>
<target state="new">larges?;20;percents?;larges? 20;20 percents?;larges? 20 percents?</target>
</trans-unit>
<trans-unit id="CouponOptions.Pepperoni20Percent;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?;20;percents?;pepperonis? 20;20 percents?;pepperonis? 20 percents?</source>
<target state="new">pepperonis?;20;percents?;pepperonis? 20;20 percents?;pepperonis? 20 percents?</target>
</trans-unit>
<trans-unit id="Coupon_terms;LIST" translate="yes" xml:space="preserve">
<source>coupons?</source>
<target state="new">coupons?</target>
</trans-unit>
<trans-unit id="Rating_terms;LIST" translate="yes" xml:space="preserve">
<source>ratings?</source>
<target state="new">ratings?</target>
</trans-unit>
<trans-unit id="Available_terms;LIST" translate="yes" xml:space="preserve">
<source>availables?</source>
<target state="new">availables?</target>
</trans-unit>
<trans-unit id="Bottles_terms;LIST" translate="yes" xml:space="preserve">
<source>bottles?</source>
<target state="new">bottles?</target>
</trans-unit>
<trans-unit id="confirmation26_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} pizza delivered to {DeliveryAddress}?</source>
<target state="new">Would you like a {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} pizza delivered to {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation27_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;Signature} {Signature} pizza delivered to {DeliveryAddress}?</source>
<target state="new">Would you like a {Size}, {&amp;Signature} {Signature} pizza delivered to {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation28_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza delivered to {DeliveryAddress}?</source>
<target state="new">Would you like a {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza delivered to {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation29_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;Stuffed} {Stuffed} pizza delivered to {DeliveryAddress}?</source>
<target state="new">Would you like a {Size}, {&amp;Stuffed} {Stuffed} pizza delivered to {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="NotUnderstood;Kind;TEMPLATE" translate="yes" xml:space="preserve">
<source>What does "{0}" mean???;Really "{0}"???</source>
<target state="new">What does "{0}" mean???;Really "{0}"???</target>
</trans-unit>
<trans-unit id="Phone_description;VALUE" translate="yes" xml:space="preserve">
<source>Phone</source>
<target state="new">Phone</target>
</trans-unit>
<trans-unit id="Phone_terms;LIST" translate="yes" xml:space="preserve">
<source>phones?</source>
<target state="new">phones?</target>
</trans-unit>
<trans-unit id="message25;LIST" translate="yes" xml:space="preserve">
<source>Rating = {Rating:F1} and [{Rating:F2}]</source>
<target state="new">Rating = {Rating:F1} and [{Rating:F2}]</target>
</trans-unit>
</group>
</body>
</file>
</xliff>

Просмотреть файл

@ -0,0 +1,689 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
<file datatype="xml" source-language="en" target-language="fr" original="FORMTEST/RESOURCE/DYNAMICPIZZA.RESX" tool-id="MultilingualAppToolkit" product-name="n/a" product-version="n/a" build-num="n/a">
<header>
<tool tool-id="MultilingualAppToolkit" tool-name="Multilingual App Toolkit" tool-version="4.0.1605.0" tool-company="Microsoft" />
</header>
<body>
<group id="FORMTEST/RESOURCE/DYNAMICPIZZA.RESX" datatype="resx">
<trans-unit id="AddressFine" translate="yes" xml:space="preserve">
<source>Your address is fine.</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Votre adresse est très bien.</target>
</trans-unit>
<trans-unit id="AddressHelp" translate="yes" xml:space="preserve">
<source>Address must start with a number.</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Adresse doit commencer par un nombre.</target>
</trans-unit>
<trans-unit id="Cost" translate="yes" xml:space="preserve">
<source>Your pizza will cost {0:C}</source>
<target state="translated">Votre pizza vous coûtera {0:C}</target>
</trans-unit>
<trans-unit id="CostConfirm" translate="yes" xml:space="preserve">
<source>Your pizza will cost {0:C} is that OK?</source>
<target state="translated">Votre pizza vous coûtera {0:C} est que OK?</target>
</trans-unit>
<trans-unit id="Special" translate="yes" xml:space="preserve">
<source>Specials</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Sous-ensemble de caractères spéciaux</target>
</trans-unit>
<trans-unit id="Special1" translate="yes" xml:space="preserve">
<source>Free drink</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Boisson gratuite</target>
</trans-unit>
<trans-unit id="Special1Terms" translate="yes" xml:space="preserve">
<source>drink; free drink</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">boire ; boisson gratuite</target>
</trans-unit>
<trans-unit id="Special2" translate="yes" xml:space="preserve">
<source>Free garlic bread</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pain à l'ail gratuit</target>
</trans-unit>
<trans-unit id="Special2Terms" translate="yes" xml:space="preserve">
<source>bread; garlic; garlic bread; free garlic bread</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">pain ; ail ; pain à l'ail ; pain à l'ail gratuit</target>
</trans-unit>
<trans-unit id="SpecialTerms" translate="yes" xml:space="preserve">
<source>specials</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">offres spéciales</target>
</trans-unit>
</group>
</body>
</file>
<file datatype="xml" source-language="en" target-language="fr" original="FORMTEST/RESOURCE/Microsoft.Bot.Builder.Classic.FormFlowTest.PIZZAORDER.RESX" tool-id="MultilingualAppToolkit" product-name="n/a" product-version="n/a" build-num="n/a">
<header>
<tool tool-id="MultilingualAppToolkit" tool-name="Multilingual App Toolkit" tool-version="4.0.1605.0" tool-company="Microsoft" />
</header>
<body>
<group id="FORMTEST/RESOURCE/Microsoft.Bot.Builder.Classic.FormFlowTest.PIZZAORDER.RESX" datatype="resx">
<trans-unit id="NumberOfPizzas_description;VALUE" translate="yes" xml:space="preserve">
<source>Number Of Pizzas</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Nombre de Pizzas</target>
</trans-unit>
<trans-unit id="Size_description;VALUE" translate="yes" xml:space="preserve">
<source>Size</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Taille</target>
</trans-unit>
<trans-unit id="SizeOptions.Medium;VALUE" translate="yes" xml:space="preserve">
<source>Medium</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Moyen</target>
</trans-unit>
<trans-unit id="SizeOptions.Large;VALUE" translate="yes" xml:space="preserve">
<source>Large</source>
<target state="translated">Grande</target>
</trans-unit>
<trans-unit id="SizeOptions.Family;VALUE" translate="yes" xml:space="preserve">
<source>Family</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Famille</target>
</trans-unit>
<trans-unit id="Kind_description;VALUE" translate="yes" xml:space="preserve">
<source>Kind of pizza</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Type de pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.SignaturePizza;VALUE" translate="yes" xml:space="preserve">
<source>Signature Pizza</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pizza de signature</target>
</trans-unit>
<trans-unit id="PizzaOptions.GourmetDelitePizza;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Delite Pizza</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Gourmet Delite Pizza</target>
</trans-unit>
<trans-unit id="PizzaOptions.StuffedPizza;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed Pizza</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pizza farcie</target>
</trans-unit>
<trans-unit id="PizzaOptions.BYOPizza;VALUE" translate="yes" xml:space="preserve">
<source>Build your own</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Créer la vôtre</target>
</trans-unit>
<trans-unit id="Specials_description;VALUE" translate="yes" xml:space="preserve">
<source>Specials</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Sous-ensemble de caractères spéciaux</target>
</trans-unit>
<trans-unit id="BYO.HalfAndHalf_description;VALUE" translate="yes" xml:space="preserve">
<source>Half And Half</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Moitié-moitié</target>
</trans-unit>
<trans-unit id="BYO.Crust_description;VALUE" translate="yes" xml:space="preserve">
<source>Crust</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Croûte</target>
</trans-unit>
<trans-unit id="CrustOptions.Original;VALUE" translate="yes" xml:space="preserve">
<source>Original</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Original</target>
</trans-unit>
<trans-unit id="CrustOptions.Thin;VALUE" translate="yes" xml:space="preserve">
<source>Thin</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">fine</target>
</trans-unit>
<trans-unit id="CrustOptions.Stuffed;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">En peluche</target>
</trans-unit>
<trans-unit id="CrustOptions.FreshPan;VALUE" translate="yes" xml:space="preserve">
<source>Fresh Pan</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Frais Pan</target>
</trans-unit>
<trans-unit id="CrustOptions.GlutenFree;VALUE" translate="yes" xml:space="preserve">
<source>Gluten Free</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Sans gluten</target>
</trans-unit>
<trans-unit id="BYO.Sauce_description;VALUE" translate="yes" xml:space="preserve">
<source>Sauce</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Sauce</target>
</trans-unit>
<trans-unit id="SauceOptions.Traditional;VALUE" translate="yes" xml:space="preserve">
<source>Traditional</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Traditionnel</target>
</trans-unit>
<trans-unit id="SauceOptions.CreamyGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Creamy Garlic</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Crémeuse à l'ail</target>
</trans-unit>
<trans-unit id="SauceOptions.OliveOil;VALUE" translate="yes" xml:space="preserve">
<source>Olive Oil</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Huile d'olive</target>
</trans-unit>
<trans-unit id="BYO.Toppings_description;VALUE" translate="yes" xml:space="preserve">
<source>Toppings</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Nappages</target>
</trans-unit>
<trans-unit id="ToppingOptions.All;VALUE" translate="yes" xml:space="preserve">
<source>All except</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Tous sauf</target>
</trans-unit>
<trans-unit id="ToppingOptions.Beef;VALUE" translate="yes" xml:space="preserve">
<source>Beef</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Viande bovine</target>
</trans-unit>
<trans-unit id="ToppingOptions.BlackOlives;VALUE" translate="yes" xml:space="preserve">
<source>Black Olives</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Olives noires</target>
</trans-unit>
<trans-unit id="ToppingOptions.CanadianBacon;VALUE" translate="yes" xml:space="preserve">
<source>Canadian Bacon</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Canadian Bacon</target>
</trans-unit>
<trans-unit id="ToppingOptions.CrispyBacon;VALUE" translate="yes" xml:space="preserve">
<source>Crispy Bacon</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Bacon croustillant</target>
</trans-unit>
<trans-unit id="ToppingOptions.Garlic;VALUE" translate="yes" xml:space="preserve">
<source>Garlic</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Ail</target>
</trans-unit>
<trans-unit id="ToppingOptions.GreenPeppers;VALUE" translate="yes" xml:space="preserve">
<source>Green Peppers</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Poivrons verts</target>
</trans-unit>
<trans-unit id="ToppingOptions.GrilledChicken;VALUE" translate="yes" xml:space="preserve">
<source>Grilled Chicken</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Poulet grillé</target>
</trans-unit>
<trans-unit id="ToppingOptions.HerbAndCheeseBlend;VALUE" translate="yes" xml:space="preserve">
<source>Herb And Cheese Blend</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Fines herbes et le mélange de fromage</target>
</trans-unit>
<trans-unit id="ToppingOptions.ItalianSausage;VALUE" translate="yes" xml:space="preserve">
<source>Italian Sausage</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Saucisse italienne</target>
</trans-unit>
<trans-unit id="ToppingOptions.ArtichokeHearts;VALUE" translate="yes" xml:space="preserve">
<source>Artichoke Hearts</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Cœurs d'artichauts</target>
</trans-unit>
<trans-unit id="ToppingOptions.MixedOnions;VALUE" translate="yes" xml:space="preserve">
<source>Mixed Onions</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Oignons mélangés</target>
</trans-unit>
<trans-unit id="ToppingOptions.MozzarellaCheese;VALUE" translate="yes" xml:space="preserve">
<source>Mozzarella Cheese</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Fromage mozzarella</target>
</trans-unit>
<trans-unit id="ToppingOptions.Mushroom;VALUE" translate="yes" xml:space="preserve">
<source>Mushroom</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">tête bombée</target>
</trans-unit>
<trans-unit id="ToppingOptions.Onions;VALUE" translate="yes" xml:space="preserve">
<source>Onions</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Oignons</target>
</trans-unit>
<trans-unit id="ToppingOptions.ParmesanCheese;VALUE" translate="yes" xml:space="preserve">
<source>Parmesan Cheese</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Fromage parmesan</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pepperoni;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pepperoni</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pineapple;VALUE" translate="yes" xml:space="preserve">
<source>Pineapple</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Ananas</target>
</trans-unit>
<trans-unit id="ToppingOptions.RomaTomatoes;VALUE" translate="yes" xml:space="preserve">
<source>Roma Tomatoes</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Tomates Roma</target>
</trans-unit>
<trans-unit id="ToppingOptions.Salami;VALUE" translate="yes" xml:space="preserve">
<source>Salami</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Salami</target>
</trans-unit>
<trans-unit id="ToppingOptions.Spinach;VALUE" translate="yes" xml:space="preserve">
<source>Spinach</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Épinards</target>
</trans-unit>
<trans-unit id="ToppingOptions.SunDriedTomatoes;VALUE" translate="yes" xml:space="preserve">
<source>Sun Dried Tomatoes</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Tomates séchées au soleil</target>
</trans-unit>
<trans-unit id="ToppingOptions.Zucchini;VALUE" translate="yes" xml:space="preserve">
<source>Zucchini</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Courgettes</target>
</trans-unit>
<trans-unit id="ToppingOptions.ExtraCheese;VALUE" translate="yes" xml:space="preserve">
<source>Extra Cheese</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Extra fromage</target>
</trans-unit>
<trans-unit id="BYO.HalfToppings_description;VALUE" translate="yes" xml:space="preserve">
<source>Half Toppings</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">La moitié des garnitures</target>
</trans-unit>
<trans-unit id="GourmetDelite_description;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Delite</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Gourmet Delite</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.SpicyFennelSausage;VALUE" translate="yes" xml:space="preserve">
<source>Spicy Fennel Sausage</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Saucisse épicée de fenouil</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Angus Steak And Roasted Garlic</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Steak Angus et ail rôti</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.GourmetVegetarian;VALUE" translate="yes" xml:space="preserve">
<source>Gourmet Vegetarian</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Gourmet végétarien</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.ChickenBaconArtichoke;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Bacon Artichoke</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Poulet Bacon artichaut</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.HerbChickenMediterranean;VALUE" translate="yes" xml:space="preserve">
<source>Herb Chicken Mediterranean</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Herb poulet Méditerranée</target>
</trans-unit>
<trans-unit id="Signature_description;VALUE" translate="yes" xml:space="preserve">
<source>Signature</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Signature</target>
</trans-unit>
<trans-unit id="SignatureOptions.Hawaiian;VALUE" translate="yes" xml:space="preserve">
<source>Hawaiian</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Hawaïen</target>
</trans-unit>
<trans-unit id="SignatureOptions.Pepperoni;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pepperoni</target>
</trans-unit>
<trans-unit id="SignatureOptions.MurphysCombo;VALUE" translate="yes" xml:space="preserve">
<source>Murphys Combo</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Murphys Combo</target>
</trans-unit>
<trans-unit id="SignatureOptions.ChickenGarlic;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Garlic</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Poulet ail</target>
</trans-unit>
<trans-unit id="SignatureOptions.TheCowboy;VALUE" translate="yes" xml:space="preserve">
<source>The Cowboy</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Le Cowboy</target>
</trans-unit>
<trans-unit id="Stuffed_description;VALUE" translate="yes" xml:space="preserve">
<source>Stuffed</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">En peluche</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChickenBaconStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Chicken Bacon Stuffed</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Poulet Bacon farcie</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChicagoStyleStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Chicago Style Stuffed</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Style de Chicago en peluche</target>
</trans-unit>
<trans-unit id="StuffedOptions.FiveMeatStuffed;VALUE" translate="yes" xml:space="preserve">
<source>Five Meat Stuffed</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Cinq viande farcie</target>
</trans-unit>
<trans-unit id="DeliveryAddress_description;VALUE" translate="yes" xml:space="preserve">
<source>Delivery Address</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Adresse de remise</target>
</trans-unit>
<trans-unit id="Coupons_description;VALUE" translate="yes" xml:space="preserve">
<source>Coupons</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Coupons</target>
</trans-unit>
<trans-unit id="CouponOptions.Large20Percent;VALUE" translate="yes" xml:space="preserve">
<source>Large 20 Percent</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Grande 20 pour cent</target>
</trans-unit>
<trans-unit id="CouponOptions.Pepperoni20Percent;VALUE" translate="yes" xml:space="preserve">
<source>Pepperoni 20 Percent</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Pepperoni 20 pour cent</target>
</trans-unit>
<trans-unit id="Coupon_description;VALUE" translate="yes" xml:space="preserve">
<source>Coupon</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Coupon</target>
</trans-unit>
<trans-unit id="Rating_description;VALUE" translate="yes" xml:space="preserve">
<source>Rating</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Notation</target>
</trans-unit>
<trans-unit id="Available_description;VALUE" translate="yes" xml:space="preserve">
<source>Available</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Disponibles</target>
</trans-unit>
<trans-unit id="Bottles_description;VALUE" translate="yes" xml:space="preserve">
<source>Bottles</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Bouteilles</target>
</trans-unit>
<trans-unit id="message0;LIST" translate="yes" xml:space="preserve">
<source>Welcome to the pizza bot!!!</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Bienvenue dans le bot de pizza!!!</target>
</trans-unit>
<trans-unit id="message1;LIST" translate="yes" xml:space="preserve">
<source>Lets make pizza!!!</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Permet de faire une pizza!!!</target>
</trans-unit>
<trans-unit id="NumberOfPizzas_terms;LIST" translate="yes" xml:space="preserve">
<source>numbers?;of;pizzas?;numbers? of;of pizzas?;numbers? of pizzas?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les numéros?; pizzas? ; numéros? pizzas? ; numéros? des pizzas?</target>
</trans-unit>
<trans-unit id="Size_terms;LIST" translate="yes" xml:space="preserve">
<source>sizes?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">tailles?</target>
</trans-unit>
<trans-unit id="SizeOptions.Medium;LIST" translate="yes" xml:space="preserve">
<source>med;medium</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">med ; moyen</target>
</trans-unit>
<trans-unit id="SizeOptions.Large;LIST" translate="yes" xml:space="preserve">
<source>larges?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">grande</target>
</trans-unit>
<trans-unit id="SizeOptions.Family;LIST" translate="yes" xml:space="preserve">
<source>family;extra large</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">famille ; plus grande</target>
</trans-unit>
<trans-unit id="Kind_terms;LIST" translate="yes" xml:space="preserve">
<source>kinds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">sortes?</target>
</trans-unit>
<trans-unit id="PizzaOptions.SignaturePizza;LIST" translate="yes" xml:space="preserve">
<source>signatures?;pizzas?;signatures? pizzas?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">signatures? ; pizzas? ; signatures? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.GourmetDelitePizza;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;delites?;pizzas?;gourmets? delites?;delites? pizzas?;gourmets? delites? pizzas?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les gourmets? ; delites? ; pizzas? ; gourmets? delites? ; delites? pizzas? ; gourmets? delites? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.StuffedPizza;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?;pizzas?;stuffeds? pizzas?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">stuffeds? ; pizzas? ; stuffeds? pizzas?</target>
</trans-unit>
<trans-unit id="PizzaOptions.BYOPizza;LIST" translate="yes" xml:space="preserve">
<source>byo;build your own</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">byo ; construire votre propre</target>
</trans-unit>
<trans-unit id="Kind_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>What kind of pizza do you want? {||}</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Quel genre de pizza que vous voulez? {||}</target>
</trans-unit>
<trans-unit id="Specials_terms;LIST" translate="yes" xml:space="preserve">
<source>specials?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">offres spéciales?</target>
</trans-unit>
<trans-unit id="BYO.HalfAndHalf_terms;LIST" translate="yes" xml:space="preserve">
<source>halfs?;and;halfs?;halfs? and;and halfs?;halfs? and halfs?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">moitiés? ; et ; halfs? ; moitiés? et ; et moitiés? ; moitiés? et moitiés?</target>
</trans-unit>
<trans-unit id="BYO.Crust_terms;LIST" translate="yes" xml:space="preserve">
<source>crusts?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">croûtes?</target>
</trans-unit>
<trans-unit id="CrustOptions.Original;LIST" translate="yes" xml:space="preserve">
<source>originals?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">originaux?</target>
</trans-unit>
<trans-unit id="CrustOptions.Thin;LIST" translate="yes" xml:space="preserve">
<source>thin</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">fine</target>
</trans-unit>
<trans-unit id="CrustOptions.Stuffed;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">stuffeds?</target>
</trans-unit>
<trans-unit id="CrustOptions.FreshPan;LIST" translate="yes" xml:space="preserve">
<source>freshs?;pans?;freshs? pans?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">frais? ; casseroles? ; frais? casseroles?</target>
</trans-unit>
<trans-unit id="CrustOptions.GlutenFree;LIST" translate="yes" xml:space="preserve">
<source>glutens?;frees?;glutens? frees?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">glutens? ; libère? ; gluten? libère?</target>
</trans-unit>
<trans-unit id="BYO.Sauce_terms;LIST" translate="yes" xml:space="preserve">
<source>sauces?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">sauces?</target>
</trans-unit>
<trans-unit id="SauceOptions.Traditional;LIST" translate="yes" xml:space="preserve">
<source>traditional;tomatoe?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">traditionnel ; tomate?</target>
</trans-unit>
<trans-unit id="SauceOptions.CreamyGarlic;LIST" translate="yes" xml:space="preserve">
<source>creamys?;garlics?;creamys? garlics?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">creamys? ; ails? ; creamys? ails?</target>
</trans-unit>
<trans-unit id="SauceOptions.OliveOil;LIST" translate="yes" xml:space="preserve">
<source>olives?;oils?;olives? oils?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">olives?; o ils?; o la vie? huiles?</target>
</trans-unit>
<trans-unit id="BYO.Toppings_terms;LIST" translate="yes" xml:space="preserve">
<source>toppings?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">nappages?</target>
</trans-unit>
<trans-unit id="ToppingOptions.All;LIST" translate="yes" xml:space="preserve">
<source>except;but;not;no;all;everything</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">sauf ; mais ; non ; non ; tous ; tout</target>
</trans-unit>
<trans-unit id="ToppingOptions.Beef;LIST" translate="yes" xml:space="preserve">
<source>beefs?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Viande bovine; bovine</target>
</trans-unit>
<trans-unit id="ToppingOptions.BlackOlives;LIST" translate="yes" xml:space="preserve">
<source>blacks?;olives?;blacks? olives?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">noirs?; o vit? ; noirs? olives?</target>
</trans-unit>
<trans-unit id="ToppingOptions.CanadianBacon;LIST" translate="yes" xml:space="preserve">
<source>canadians?;bacons?;canadians? bacons?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les Canadiens? ; bacons? ; canadiens? bacons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.CrispyBacon;LIST" translate="yes" xml:space="preserve">
<source>crispys?;bacons?;crispys? bacons?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">crispys? ; bacons? ; crispys? bacons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Garlic;LIST" translate="yes" xml:space="preserve">
<source>garlics?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">ails?</target>
</trans-unit>
<trans-unit id="ToppingOptions.GreenPeppers;LIST" translate="yes" xml:space="preserve">
<source>greens?;peppers?;greens? peppers?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">verts? ; poivrons? ; verts? poivrons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.GrilledChicken;LIST" translate="yes" xml:space="preserve">
<source>grilleds?;chickens?;grilleds? chickens?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">grilleds? ; poulets? ; grilleds? poulets?</target>
</trans-unit>
<trans-unit id="ToppingOptions.HerbAndCheeseBlend;LIST" translate="yes" xml:space="preserve">
<source>herb &amp; cheese;herb and cheese;herb and cheese blend;herb</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Herb &amp;fromage, herbes et fromage ; mélange de fines herbes et fromage, herbes</target>
</trans-unit>
<trans-unit id="ToppingOptions.ItalianSausage;LIST" translate="yes" xml:space="preserve">
<source>italians?;sausages?;italians? sausages?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">italiens? ; saucisses? ; italiens? saucisses?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ArtichokeHearts;LIST" translate="yes" xml:space="preserve">
<source>artichokes?;hearts?;artichokes? hearts?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">artichauts? ; cœurs? ; artichauts? coeurs?</target>
</trans-unit>
<trans-unit id="ToppingOptions.MixedOnions;LIST" translate="yes" xml:space="preserve">
<source>mixeds?;onions?;mixeds? onions?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Oignons melanges; melanges; Oignons</target>
</trans-unit>
<trans-unit id="ToppingOptions.MozzarellaCheese;LIST" translate="yes" xml:space="preserve">
<source>mozzarellas?;cheeses?;mozzarellas? cheeses?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">mozzarellas? ; fromages? ; mozzarellas? fromages?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Mushroom;LIST" translate="yes" xml:space="preserve">
<source>mushrooms?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les champignons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Onions;LIST" translate="yes" xml:space="preserve">
<source>onions?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">oignons?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ParmesanCheese;LIST" translate="yes" xml:space="preserve">
<source>parmesans?;cheeses?;parmesans? cheeses?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">parmesan? ; fromages? ; parmesan? fromages?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pepperoni;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">pepperonis?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Pineapple;LIST" translate="yes" xml:space="preserve">
<source>pineapples?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">ananas?</target>
</trans-unit>
<trans-unit id="ToppingOptions.RomaTomatoes;LIST" translate="yes" xml:space="preserve">
<source>romas?;tomatoes?;romas? tomatoes?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Romas? ; tomates? ; Romas? tomates?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Salami;LIST" translate="yes" xml:space="preserve">
<source>salamis?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Salamine?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Spinach;LIST" translate="yes" xml:space="preserve">
<source>spinachs?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">épinards?</target>
</trans-unit>
<trans-unit id="ToppingOptions.SunDriedTomatoes;LIST" translate="yes" xml:space="preserve">
<source>suns?;drieds?;tomatoes?;suns? drieds?;drieds? tomatoes?;suns? drieds? tomatoes?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">soleils? ; poudres? ; tomates? ; soleils? poudres? ; poudres? tomates? ; soleils? poudres? tomates?</target>
</trans-unit>
<trans-unit id="ToppingOptions.Zucchini;LIST" translate="yes" xml:space="preserve">
<source>zucchinis?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">courgettes?</target>
</trans-unit>
<trans-unit id="ToppingOptions.ExtraCheese;LIST" translate="yes" xml:space="preserve">
<source>extras?;cheeses?;extras? cheeses?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Extras? ; fromages? ; Extras? fromages?</target>
</trans-unit>
<trans-unit id="BYO.HalfToppings_terms;LIST" translate="yes" xml:space="preserve">
<source>halfs?;toppings?;halfs? toppings?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">moitiés? ; nappages? ; moitiés? garnitures?</target>
</trans-unit>
<trans-unit id="message11;LIST" translate="yes" xml:space="preserve">
<source>Almost there!!! {*filled}</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Près de là!!! {*filled}</target>
</trans-unit>
<trans-unit id="GourmetDelite_terms;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;delites?;gourmets? delites?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les gourmets? ; delites? ; gourmets? delites?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.SpicyFennelSausage;LIST" translate="yes" xml:space="preserve">
<source>spicys?;fennels?;sausages?;spicys? fennels?;fennels? sausages?;spicys? fennels? sausages?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">spicys? ; fenouils? ; saucisses? ; spicys? fenouils? ; fenouils? saucisses? ; spicys? fenouils? saucisses?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;LIST" translate="yes" xml:space="preserve">
<source>angus?;steaks?;and;roasteds?;garlics?;angus? steaks?;steaks? and;and roasteds?;roasteds? garlics?;angus? steaks? and;steaks? and roasteds?;and roasteds? garlics?;angus? steaks? and roasteds?;steaks? and roasteds? garlics?;angus steak and roasted garlic</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Angus? ; biftecks? ; et ; roasteds? ; ails? ; Angus? biftecks? ; biftecks? et ; et roasteds? ; roasteds? ails? ; Angus? biftecks? et ; biftecks? et roasteds? ; et roasteds? ails? ; Angus? biftecks? et roasteds? ; biftecks? et roasteds? ails? ; steak Angus et ail rôti</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.GourmetVegetarian;LIST" translate="yes" xml:space="preserve">
<source>gourmets?;vegetarians?;gourmets? vegetarians?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les gourmets? ; les végétariens? ; gourmets? végétariens?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.ChickenBaconArtichoke;LIST" translate="yes" xml:space="preserve">
<source>chickens?;bacons?;artichokes?;chickens? bacons?;bacons? artichokes?;chickens? bacons? artichokes?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">poulets? ; bacons? ; artichauts? ; poulets? bacons? ; bacons? artichauts? ; poulets? bacons? artichauts?</target>
</trans-unit>
<trans-unit id="GourmetDeliteOptions.HerbChickenMediterranean;LIST" translate="yes" xml:space="preserve">
<source>herbs?;chickens?;mediterraneans?;herbs? chickens?;chickens? mediterraneans?;herbs? chickens? mediterraneans?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">herbes? ; poulets? ; méditerranéens? ; fines herbes? poulets? ; poulets? méditerranéens? ; fines herbes? poulets? méditerranéens?</target>
</trans-unit>
<trans-unit id="Signature_terms;LIST" translate="yes" xml:space="preserve">
<source>signatures?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">signatures?</target>
</trans-unit>
<trans-unit id="SignatureOptions.Hawaiian;LIST" translate="yes" xml:space="preserve">
<source>hawaiians?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">hawaïens?</target>
</trans-unit>
<trans-unit id="SignatureOptions.Pepperoni;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">pepperonis?</target>
</trans-unit>
<trans-unit id="SignatureOptions.MurphysCombo;LIST" translate="yes" xml:space="preserve">
<source>murphys?;combos?;murphys? combos?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Murphys? ; combos? ; Murphys? combos?</target>
</trans-unit>
<trans-unit id="SignatureOptions.ChickenGarlic;LIST" translate="yes" xml:space="preserve">
<source>chickens?;garlics?;chickens? garlics?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">poulets? ; ails? ; poulets? ails?</target>
</trans-unit>
<trans-unit id="SignatureOptions.TheCowboy;LIST" translate="yes" xml:space="preserve">
<source>cowboys?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Cow-Boys?</target>
</trans-unit>
<trans-unit id="Stuffed_terms;LIST" translate="yes" xml:space="preserve">
<source>stuffeds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChickenBaconStuffed;LIST" translate="yes" xml:space="preserve">
<source>chickens?;bacons?;stuffeds?;chickens? bacons?;bacons? stuffeds?;chickens? bacons? stuffeds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">poulets? ; bacons? ; stuffeds? ; poulets? bacons? ; bacons? stuffeds? ; poulets? bacons? stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.ChicagoStyleStuffed;LIST" translate="yes" xml:space="preserve">
<source>chicagos?;styles?;stuffeds?;chicagos? styles?;styles? stuffeds?;chicagos? styles? stuffeds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Chicagos? ; styles? ; stuffeds? ; Chicagos? styles? ; styles? stuffeds? ; Chicagos? styles? stuffeds?</target>
</trans-unit>
<trans-unit id="StuffedOptions.FiveMeatStuffed;LIST" translate="yes" xml:space="preserve">
<source>five;meats?;stuffeds?;five meats?;meats? stuffeds?;five meats? stuffeds?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">cinq ; viandes? ; stuffeds? ; cinq viandes? ; viandes? stuffeds? ; cinq viandes? stuffeds?</target>
</trans-unit>
<trans-unit id="message15;LIST" translate="yes" xml:space="preserve">
<source>What we have is a {?{Signature} signature pizza} {?{GourmetDelite} gourmet pizza} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Ce que nous avons est un {?{Signature} signature pizza} {?{GourmetDelite} pizza gourmet} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza}}}</target>
</trans-unit>
<trans-unit id="DeliveryAddress_terms;LIST" translate="yes" xml:space="preserve">
<source>deliverys?;address?;deliverys? address?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">optimisent? ; adresse? ; optimisent? adresse?</target>
</trans-unit>
<trans-unit id="Coupons_terms;LIST" translate="yes" xml:space="preserve">
<source>coupons?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">bons de réduction?</target>
</trans-unit>
<trans-unit id="CouponOptions.Large20Percent;LIST" translate="yes" xml:space="preserve">
<source>larges?;20;percents?;larges? 20;20 percents?;larges? 20 percents?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">vastes? ; 20 ; pourcentages? ; larges? 20 ; 20 pourcents? ; larges? 20 pourcents?</target>
</trans-unit>
<trans-unit id="CouponOptions.Pepperoni20Percent;LIST" translate="yes" xml:space="preserve">
<source>pepperonis?;20;percents?;pepperonis? 20;20 percents?;pepperonis? 20 percents?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">pepperonis? ; 20 ; pourcentages? ; pepperonis? 20 ; 20 pourcents? ; pepperonis? 20 pourcents?</target>
</trans-unit>
<trans-unit id="Coupon_terms;LIST" translate="yes" xml:space="preserve">
<source>coupons?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">bons de réduction?</target>
</trans-unit>
<trans-unit id="Rating_terms;LIST" translate="yes" xml:space="preserve">
<source>ratings?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">notations?</target>
</trans-unit>
<trans-unit id="Available_terms;LIST" translate="yes" xml:space="preserve">
<source>availables?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">disponibles?</target>
</trans-unit>
<trans-unit id="Bottles_terms;LIST" translate="yes" xml:space="preserve">
<source>bottles?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">bouteilles?</target>
</trans-unit>
<trans-unit id="confirmation26_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} pizza delivered to {DeliveryAddress}?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Vous souhaitez une {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} à {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation27_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;Signature} {Signature} pizza delivered to {DeliveryAddress}?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Vous souhaitez une {Size}, {&amp;Signature} envoyées de pizza {Signature} à {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation28_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza delivered to {DeliveryAddress}?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Vous souhaitez une taille {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza livrée à {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="confirmation29_promptDefinition;LIST" translate="yes" xml:space="preserve">
<source>Would you like a {Size}, {&amp;Stuffed} {Stuffed} pizza delivered to {DeliveryAddress}?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Vous souhaitez une taille {Size}, {&amp;Stuffed} {Stuffed} pizza livrée à {DeliveryAddress}?</target>
</trans-unit>
<trans-unit id="NotUnderstood;Kind;TEMPLATE" translate="yes" xml:space="preserve">
<source>What does "{0}" mean???;Really "{0}"???</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">« {0} » veut dire quoi??? ; Vraiment « {0} »???</target>
</trans-unit>
<trans-unit id="Phone_description;VALUE" translate="yes" xml:space="preserve">
<source>Phone</source>
<target state="needs-review-translation" state-qualifier="tm-suggestion">Téléphone</target>
</trans-unit>
<trans-unit id="Phone_terms;LIST" translate="yes" xml:space="preserve">
<source>phones?</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">les téléphones?</target>
</trans-unit>
<trans-unit id="message25;LIST" translate="yes" xml:space="preserve">
<source>Rating = {Rating:F1} and [{Rating:F2}]</source>
<target state="needs-review-translation" state-qualifier="mt-suggestion">Note = {Rating:F1} et [{Rating:F2}]</target>
</trans-unit>
</group>
</body>
</file>
</xliff>

295
tests/FormTest/Program.cs Normal file
Просмотреть файл

@ -0,0 +1,295 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license.
//
// Microsoft Bot Framework: http://botframework.com
//
// Bot Builder SDK GitHub:
// https://github.com/Microsoft/BotBuilder
//
// Copyright (c) Microsoft Corporation
// All rights reserved.
//
// MIT License:
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
#pragma warning disable 649
using Autofac;
using Microsoft.Bot.Builder.Classic.Dialogs;
using Microsoft.Bot.Builder.Classic.Dialogs.Internals;
using Microsoft.Bot.Builder.Classic.FormFlow;
using Microsoft.Bot.Builder.Classic.FormFlow.Advanced;
using Microsoft.Bot.Connector;
using AnnotatedSandwichOrder = Microsoft.Bot.Sample.AnnotatedSandwichBot.SandwichOrder;
using SimpleSandwichOrder = Microsoft.Bot.Sample.SimpleSandwichBot.SandwichOrder;
using System.Resources;
using System.Text;
using Newtonsoft.Json.Linq;
using Microsoft.Bot.Builder.Classic;
using Microsoft.Bot.Schema;
using Microsoft.Bot.Builder.Classic.History;
using Luis = Microsoft.Bot.Builder.Classic.Luis;
using Microsoft.Bot.Builder.Adapters;
public class Globals
{
public JObject state;
public dynamic dstate;
public object value;
public IField<JObject> field;
}
namespace Microsoft.Bot.Builder.Classic.FormFlowTest
{
public enum DebugOptions
{
None,
AnnotationsAndNumbers,
AnnotationsAndButtons,
AnnotationsAndNoNumbers,
NoAnnotations, NoFieldOrder,
WithState,
Localized,
SimpleSandwichBot, AnnotatedSandwichBot, JSONSandwichBot
};
[Serializable]
public class Choices
{
public DebugOptions Choice;
}
class Program
{
static public string Locale = CultureInfo.CurrentUICulture.Name;
static async Task Interactive<T>(IDialog<T> form) where T : class
{
// NOTE: I use the DejaVuSansMono fonts as described here: http://stackoverflow.com/questions/21751827/displaying-arabic-characters-in-c-sharp-console-application
// But you don't have to reboot.
// If you don't want the multi-lingual support just comment this out
Console.OutputEncoding = Encoding.GetEncoding(65001);
var message = new Activity()
{
From = new ChannelAccount { Id = "ConsoleUser" },
Conversation = new ConversationAccount { Id = Guid.NewGuid().ToString() },
Recipient = new ChannelAccount { Id = "FormTest" },
ChannelId = "Console",
ServiceUrl = "http://localhost:9000/",
Text = ""
};
var builder = new ContainerBuilder();
builder.RegisterModule(new DialogModule_MakeRoot());
using (var container = builder.Build())
{
var adapter = new ConsoleAdapter();
adapter.ProcessActivity(async (context) =>
{
using (var scope = DialogModule.BeginLifetimeScope(container, context))
{
Func<IDialog<object>> MakeRoot = () => form;
await Conversation.SendAsync(context, MakeRoot);
}
}).Wait();
}
}
public static void TestValidate()
{
try
{
var form = new FormBuilder<PizzaOrder>()
.Message("{NotField}")
.Build();
Debug.Fail("Validation failed");
}
catch (ArgumentException)
{
}
try
{
var form = new FormBuilder<PizzaOrder>()
.Message("[{NotField}]")
.Build();
Debug.Fail("Validation failed");
}
catch (ArgumentException)
{
}
try
{
var form = new FormBuilder<PizzaOrder>()
.Message("{? {[{NotField}]}")
.Build();
Debug.Fail("Validation failed");
}
catch (ArgumentException)
{
}
try
{
var form = new FormBuilder<PizzaOrder>()
.Field(new FieldReflector<PizzaOrder>(nameof(PizzaOrder.Size))
.ReplaceTemplate(new TemplateAttribute(TemplateUsage.Double, "{Notfield}")))
.Build();
Debug.Fail("Validation failed");
}
catch (ArgumentException)
{
}
}
public static IFormDialog<T> MakeForm<T>(BuildFormDelegate<T> buildForm) where T : class, new()
{
return new FormDialog<T>(new T(), buildForm, options: FormOptions.PromptInStart);
}
public static bool NonWord(string word)
{
bool nonWord = true;
foreach (var ch in word)
{
if (!(char.IsControl(ch) || char.IsPunctuation(ch) || char.IsWhiteSpace(ch)))
{
nonWord = false;
break;
}
}
return nonWord;
}
static void Main(string[] args)
{
// TestValidate();
var callDebug =
Chain
.From(() => new PromptDialog.PromptString("Locale?", null, 1))
.ContinueWith<string, Choices>(async (ctx, locale) =>
{
Locale = await locale;
CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo(Locale);
CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture;
return new FormDialog<Choices>(new Choices(), () =>
{
var builder = new FormBuilder<Choices>();
builder.Configuration.DefaultPrompt.ChoiceStyle = ChoiceStyleOptions.AutoText;
return builder.AddRemainingFields().Build();
}
, FormOptions.PromptInStart);
})
.ContinueWith<Choices, object>(async (context, result) =>
{
Choices choices;
try
{
choices = await result;
}
catch (Exception error)
{
await context.PostAsync(error.ToString());
throw;
}
switch (choices.Choice)
{
case DebugOptions.AnnotationsAndNumbers:
return MakeForm(() => PizzaOrder.BuildForm());
case DebugOptions.AnnotationsAndNoNumbers:
return MakeForm(() => PizzaOrder.BuildForm(noNumbers: true));
case DebugOptions.AnnotationsAndButtons:
return MakeForm(() => PizzaOrder.BuildForm(style: ChoiceStyleOptions.Auto));
case DebugOptions.NoAnnotations:
return MakeForm(() => PizzaOrder.BuildForm(noNumbers: true, ignoreAnnotations: true));
case DebugOptions.NoFieldOrder:
return MakeForm(() => new FormBuilder<PizzaOrder>().Build());
case DebugOptions.WithState:
return new FormDialog<PizzaOrder>(new PizzaOrder()
{ Size = SizeOptions.Large, Kind = PizzaOptions.BYOPizza },
() => PizzaOrder.BuildForm(),
options: FormOptions.PromptInStart | FormOptions.PromptFieldsWithValues,
entities: new Luis.Models.EntityRecommendation[] {
new Luis.Models.EntityRecommendation("DeliveryAddress", entity:"2"),
new Luis.Models.EntityRecommendation("Signature", entity:"Hawaiian"),
new Luis.Models.EntityRecommendation("BYO.Toppings", entity:"onions"),
new Luis.Models.EntityRecommendation("BYO.Toppings", entity:"peppers"),
new Luis.Models.EntityRecommendation("BYO.Toppings", entity:"ice"),
new Luis.Models.EntityRecommendation("NumberOfPizzas", entity:"5"),
new Luis.Models.EntityRecommendation("NotFound", entity:"OK")
}
);
case DebugOptions.Localized:
{
var form = PizzaOrder.BuildForm();
using (var stream = new FileStream("pizza.resx", FileMode.Create))
using (var writer = new ResXResourceWriter(stream))
{
form.SaveResources(writer);
}
Process.Start(new ProcessStartInfo(@"RView.exe", "pizza.resx -c " + Locale) { UseShellExecute = false, CreateNoWindow = true }).WaitForExit();
return MakeForm(() => PizzaOrder.BuildForm(false, false, true));
}
case DebugOptions.SimpleSandwichBot:
return MakeForm(() => SimpleSandwichOrder.BuildForm());
case DebugOptions.AnnotatedSandwichBot:
return MakeForm(() => AnnotatedSandwichOrder.BuildLocalizedForm());
//case DebugOptions.JSONSandwichBot:
// return MakeForm(() => AnnotatedSandwichOrder.BuildJsonForm());
default:
throw new NotImplementedException();
}
})
.Do(async (context, result) =>
{
try
{
var item = await result;
Debug.WriteLine(item);
}
catch (FormCanceledException e)
{
if (e.InnerException == null)
{
await context.PostAsync($"Quit on {e.Last} step.");
}
else
{
await context.PostAsync($"Exception {e.Message} on step {e.Last}.");
}
}
})
.DefaultIfException()
.Loop();
Interactive(callDebug).GetAwaiter().GetResult();
}
}
}

Просмотреть файл

@ -1,15 +1,16 @@
using System.Reflection;
using System.Resources;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Microsoft.Bot.Builder.Classic.Tests")]
[assembly: AssemblyTitle("FormTest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Microsoft.Bot.Builder.Classic.Tests")]
[assembly: AssemblyProduct("FormTest")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -20,7 +21,7 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("508661a7-f47a-4d60-8ed6-69e378ed0e74")]
[assembly: Guid("77bd8c61-fb06-4bf7-a346-d2c87284390a")]
// Version information for an assembly consists of the following four values:
//
@ -34,3 +35,5 @@ using System.Runtime.InteropServices;
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: NeutralResourcesLanguage("en")]

153
tests/FormTest/Resource/DynamicPizza.Designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,153 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace FormTest.Resource {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class DynamicPizza {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal DynamicPizza() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FormTest.Resource.DynamicPizza", typeof(DynamicPizza).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Your address is fine..
/// </summary>
internal static string AddressFine {
get {
return ResourceManager.GetString("AddressFine", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Address must start with a number..
/// </summary>
internal static string AddressHelp {
get {
return ResourceManager.GetString("AddressHelp", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your pizza will cost {0:C}.
/// </summary>
internal static string Cost {
get {
return ResourceManager.GetString("Cost", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your pizza will cost {0:C} is that OK?.
/// </summary>
internal static string CostConfirm {
get {
return ResourceManager.GetString("CostConfirm", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Specials.
/// </summary>
internal static string Special {
get {
return ResourceManager.GetString("Special", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Free drink.
/// </summary>
internal static string Special1 {
get {
return ResourceManager.GetString("Special1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to drink; free drink.
/// </summary>
internal static string Special1Terms {
get {
return ResourceManager.GetString("Special1Terms", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Free garlic bread.
/// </summary>
internal static string Special2 {
get {
return ResourceManager.GetString("Special2", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to bread; garlic; garlic bread; free garlic bread.
/// </summary>
internal static string Special2Terms {
get {
return ResourceManager.GetString("Special2Terms", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to specials.
/// </summary>
internal static string SpecialTerms {
get {
return ResourceManager.GetString("SpecialTerms", resourceCulture);
}
}
}
}

Просмотреть файл

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Просмотреть файл

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AddressFine" xml:space="preserve">
<value>Votre adresse est très bien.</value>
</data>
<data name="AddressHelp" xml:space="preserve">
<value>Adresse doit commencer par un nombre.</value>
</data>
<data name="Cost" xml:space="preserve">
<value>Votre pizza vous coûtera {0:C}</value>
</data>
<data name="CostConfirm" xml:space="preserve">
<value>Votre pizza vous coûtera {0:C} est que OK?</value>
</data>
<data name="Special" xml:space="preserve">
<value>Sous-ensemble de caractères spéciaux</value>
</data>
<data name="Special1" xml:space="preserve">
<value>Boisson gratuite</value>
</data>
<data name="Special1Terms" xml:space="preserve">
<value>boire ; boisson gratuite</value>
</data>
<data name="Special2" xml:space="preserve">
<value>Pain à l'ail gratuit</value>
</data>
<data name="Special2Terms" xml:space="preserve">
<value>pain ; ail ; pain à l'ail ; pain à l'ail gratuit</value>
</data>
<data name="SpecialTerms" xml:space="preserve">
<value>offres spéciales</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AddressFine" xml:space="preserve">
<value>Your address is fine.</value>
</data>
<data name="AddressHelp" xml:space="preserve">
<value>Address must start with a number.</value>
</data>
<data name="Cost" xml:space="preserve">
<value>Your pizza will cost {0:C}</value>
</data>
<data name="CostConfirm" xml:space="preserve">
<value>Your pizza will cost {0:C} is that OK?</value>
</data>
<data name="Special" xml:space="preserve">
<value>Specials</value>
</data>
<data name="Special1" xml:space="preserve">
<value>Free drink</value>
</data>
<data name="Special1Terms" xml:space="preserve">
<value>drink; free drink</value>
</data>
<data name="Special2" xml:space="preserve">
<value>Free garlic bread</value>
</data>
<data name="Special2Terms" xml:space="preserve">
<value>bread; garlic; garlic bread; free garlic bread</value>
</data>
<data name="SpecialTerms" xml:space="preserve">
<value>specials</value>
</data>
</root>

108
tests/FormTest/Resource/DynamicSandwich.Designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,108 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Microsoft.Bot.Sample.AnnotatedSandwichBot.Resource {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class DynamicSandwich {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal DynamicSandwich() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Bot.Sample.AnnotatedSandwichBot.Resource.DynamicSandwich", typeof(DynamicSandwich).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Address must start with a number..
/// </summary>
public static string BadAddress {
get {
return ResourceManager.GetString("BadAddress", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Total for your sandwich is {0:C2} is that ok?.
/// </summary>
public static string Cost {
get {
return ResourceManager.GetString("Cost", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Free cookie.
/// </summary>
public static string FreeCookie {
get {
return ResourceManager.GetString("FreeCookie", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Free drink.
/// </summary>
public static string FreeDrink {
get {
return ResourceManager.GetString("FreeDrink", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to We are currently processing your sandwich. We will message you the status..
/// </summary>
public static string Processing {
get {
return ResourceManager.GetString("Processing", resourceCulture);
}
}
}
}

Просмотреть файл

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BadAddress" xml:space="preserve">
<value>Address must start with a number.</value>
</data>
<data name="Cost" xml:space="preserve">
<value>Total for your sandwich is {0:C2} is that ok?</value>
</data>
<data name="FreeCookie" xml:space="preserve">
<value>Free cookie</value>
</data>
<data name="FreeDrink" xml:space="preserve">
<value>Free drink</value>
</data>
<data name="Processing" xml:space="preserve">
<value>We are currently processing your sandwich. We will message you the status.</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BadAddress" xml:space="preserve">
<value>Adresse doit commencer par un nombre.</value>
</data>
<data name="Cost" xml:space="preserve">
<value>Total pour votre "sandwich" est {0:C2} est ce correct?</value>
</data>
<data name="FreeCookie" xml:space="preserve">
<value>Cookie gratuit</value>
</data>
<data name="FreeDrink" xml:space="preserve">
<value>Boisson gratuite</value>
</data>
<data name="Processing" xml:space="preserve">
<value>Nous traitons actuellement votre "sandwich". Nous seront vous message le statut.</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BadAddress" xml:space="preserve">
<value>Address must start with a number.</value>
</data>
<data name="Cost" xml:space="preserve">
<value>Total for your sandwich is {0:C2} is that ok?</value>
</data>
<data name="FreeCookie" xml:space="preserve">
<value>Free cookie</value>
</data>
<data name="FreeDrink" xml:space="preserve">
<value>Free drink</value>
</data>
<data name="Processing" xml:space="preserve">
<value>We are currently processing your sandwich. We will message you the status.</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Просмотреть файл

@ -0,0 +1,486 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="NumberOfPizzas_description;VALUE" xml:space="preserve">
<value>Nombre de Pizzas</value>
</data>
<data name="Size_description;VALUE" xml:space="preserve">
<value>Taille</value>
</data>
<data name="SizeOptions.Medium;VALUE" xml:space="preserve">
<value>Moyen</value>
</data>
<data name="SizeOptions.Large;VALUE" xml:space="preserve">
<value>Grande</value>
</data>
<data name="SizeOptions.Family;VALUE" xml:space="preserve">
<value>Famille</value>
</data>
<data name="Kind_description;VALUE" xml:space="preserve">
<value>Type de pizza</value>
</data>
<data name="PizzaOptions.SignaturePizza;VALUE" xml:space="preserve">
<value>Pizza de signature</value>
</data>
<data name="PizzaOptions.GourmetDelitePizza;VALUE" xml:space="preserve">
<value>Gourmet Delite Pizza</value>
</data>
<data name="PizzaOptions.StuffedPizza;VALUE" xml:space="preserve">
<value>Pizza farcie</value>
</data>
<data name="PizzaOptions.BYOPizza;VALUE" xml:space="preserve">
<value>Créer la vôtre</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Sous-ensemble de caractères spéciaux</value>
</data>
<data name="BYO.HalfAndHalf_description;VALUE" xml:space="preserve">
<value>Moitié-moitié</value>
</data>
<data name="BYO.Crust_description;VALUE" xml:space="preserve">
<value>Croûte</value>
</data>
<data name="CrustOptions.Original;VALUE" xml:space="preserve">
<value>Original</value>
</data>
<data name="CrustOptions.Thin;VALUE" xml:space="preserve">
<value>fine</value>
</data>
<data name="CrustOptions.Stuffed;VALUE" xml:space="preserve">
<value>En peluche</value>
</data>
<data name="CrustOptions.FreshPan;VALUE" xml:space="preserve">
<value>Frais Pan</value>
</data>
<data name="CrustOptions.GlutenFree;VALUE" xml:space="preserve">
<value>Sans gluten</value>
</data>
<data name="BYO.Sauce_description;VALUE" xml:space="preserve">
<value>Sauce</value>
</data>
<data name="SauceOptions.Traditional;VALUE" xml:space="preserve">
<value>Traditionnel</value>
</data>
<data name="SauceOptions.CreamyGarlic;VALUE" xml:space="preserve">
<value>Crémeuse à l'ail</value>
</data>
<data name="SauceOptions.OliveOil;VALUE" xml:space="preserve">
<value>Huile d'olive</value>
</data>
<data name="BYO.Toppings_description;VALUE" xml:space="preserve">
<value>Nappages</value>
</data>
<data name="ToppingOptions.All;VALUE" xml:space="preserve">
<value>Tous sauf</value>
</data>
<data name="ToppingOptions.Beef;VALUE" xml:space="preserve">
<value>Viande bovine</value>
</data>
<data name="ToppingOptions.BlackOlives;VALUE" xml:space="preserve">
<value>Olives noires</value>
</data>
<data name="ToppingOptions.CanadianBacon;VALUE" xml:space="preserve">
<value>Canadian Bacon</value>
</data>
<data name="ToppingOptions.CrispyBacon;VALUE" xml:space="preserve">
<value>Bacon croustillant</value>
</data>
<data name="ToppingOptions.Garlic;VALUE" xml:space="preserve">
<value>Ail</value>
</data>
<data name="ToppingOptions.GreenPeppers;VALUE" xml:space="preserve">
<value>Poivrons verts</value>
</data>
<data name="ToppingOptions.GrilledChicken;VALUE" xml:space="preserve">
<value>Poulet grillé</value>
</data>
<data name="ToppingOptions.HerbAndCheeseBlend;VALUE" xml:space="preserve">
<value>Fines herbes et le mélange de fromage</value>
</data>
<data name="ToppingOptions.ItalianSausage;VALUE" xml:space="preserve">
<value>Saucisse italienne</value>
</data>
<data name="ToppingOptions.ArtichokeHearts;VALUE" xml:space="preserve">
<value>Cœurs d'artichauts</value>
</data>
<data name="ToppingOptions.MixedOnions;VALUE" xml:space="preserve">
<value>Oignons mélangés</value>
</data>
<data name="ToppingOptions.MozzarellaCheese;VALUE" xml:space="preserve">
<value>Fromage mozzarella</value>
</data>
<data name="ToppingOptions.Mushroom;VALUE" xml:space="preserve">
<value>tête bombée</value>
</data>
<data name="ToppingOptions.Onions;VALUE" xml:space="preserve">
<value>Oignons</value>
</data>
<data name="ToppingOptions.ParmesanCheese;VALUE" xml:space="preserve">
<value>Fromage parmesan</value>
</data>
<data name="ToppingOptions.Pepperoni;VALUE" xml:space="preserve">
<value>Pepperoni</value>
</data>
<data name="ToppingOptions.Pineapple;VALUE" xml:space="preserve">
<value>Ananas</value>
</data>
<data name="ToppingOptions.RomaTomatoes;VALUE" xml:space="preserve">
<value>Tomates Roma</value>
</data>
<data name="ToppingOptions.Salami;VALUE" xml:space="preserve">
<value>Salami</value>
</data>
<data name="ToppingOptions.Spinach;VALUE" xml:space="preserve">
<value>Épinards</value>
</data>
<data name="ToppingOptions.SunDriedTomatoes;VALUE" xml:space="preserve">
<value>Tomates séchées au soleil</value>
</data>
<data name="ToppingOptions.Zucchini;VALUE" xml:space="preserve">
<value>Courgettes</value>
</data>
<data name="ToppingOptions.ExtraCheese;VALUE" xml:space="preserve">
<value>Extra fromage</value>
</data>
<data name="BYO.HalfToppings_description;VALUE" xml:space="preserve">
<value>La moitié des garnitures</value>
</data>
<data name="GourmetDelite_description;VALUE" xml:space="preserve">
<value>Gourmet Delite</value>
</data>
<data name="GourmetDeliteOptions.SpicyFennelSausage;VALUE" xml:space="preserve">
<value>Saucisse épicée de fenouil</value>
</data>
<data name="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;VALUE" xml:space="preserve">
<value>Steak Angus et ail rôti</value>
</data>
<data name="GourmetDeliteOptions.GourmetVegetarian;VALUE" xml:space="preserve">
<value>Gourmet végétarien</value>
</data>
<data name="GourmetDeliteOptions.ChickenBaconArtichoke;VALUE" xml:space="preserve">
<value>Poulet Bacon artichaut</value>
</data>
<data name="GourmetDeliteOptions.HerbChickenMediterranean;VALUE" xml:space="preserve">
<value>Herb poulet Méditerranée</value>
</data>
<data name="Signature_description;VALUE" xml:space="preserve">
<value>Signature</value>
</data>
<data name="SignatureOptions.Hawaiian;VALUE" xml:space="preserve">
<value>Hawaïen</value>
</data>
<data name="SignatureOptions.Pepperoni;VALUE" xml:space="preserve">
<value>Pepperoni</value>
</data>
<data name="SignatureOptions.MurphysCombo;VALUE" xml:space="preserve">
<value>Murphys Combo</value>
</data>
<data name="SignatureOptions.ChickenGarlic;VALUE" xml:space="preserve">
<value>Poulet ail</value>
</data>
<data name="SignatureOptions.TheCowboy;VALUE" xml:space="preserve">
<value>Le Cowboy</value>
</data>
<data name="Stuffed_description;VALUE" xml:space="preserve">
<value>En peluche</value>
</data>
<data name="StuffedOptions.ChickenBaconStuffed;VALUE" xml:space="preserve">
<value>Poulet Bacon farcie</value>
</data>
<data name="StuffedOptions.ChicagoStyleStuffed;VALUE" xml:space="preserve">
<value>Style de Chicago en peluche</value>
</data>
<data name="StuffedOptions.FiveMeatStuffed;VALUE" xml:space="preserve">
<value>Cinq viande farcie</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Adresse de remise</value>
</data>
<data name="Coupons_description;VALUE" xml:space="preserve">
<value>Coupons</value>
</data>
<data name="CouponOptions.Large20Percent;VALUE" xml:space="preserve">
<value>Grande 20 pour cent</value>
</data>
<data name="CouponOptions.Pepperoni20Percent;VALUE" xml:space="preserve">
<value>Pepperoni 20 pour cent</value>
</data>
<data name="Coupon_description;VALUE" xml:space="preserve">
<value>Coupon</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>Notation</value>
</data>
<data name="Available_description;VALUE" xml:space="preserve">
<value>Disponibles</value>
</data>
<data name="Bottles_description;VALUE" xml:space="preserve">
<value>Bouteilles</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Bienvenue dans le bot de pizza!!!</value>
</data>
<data name="message1;LIST" xml:space="preserve">
<value>Permet de faire une pizza!!!</value>
</data>
<data name="NumberOfPizzas_terms;LIST" xml:space="preserve">
<value>les numéros?; pizzas? ; numéros? pizzas? ; numéros? des pizzas?</value>
</data>
<data name="Size_terms;LIST" xml:space="preserve">
<value>tailles?</value>
</data>
<data name="SizeOptions.Medium;LIST" xml:space="preserve">
<value>med ; moyen</value>
</data>
<data name="SizeOptions.Large;LIST" xml:space="preserve">
<value>grande</value>
</data>
<data name="SizeOptions.Family;LIST" xml:space="preserve">
<value>famille ; plus grande</value>
</data>
<data name="Kind_terms;LIST" xml:space="preserve">
<value>sortes?</value>
</data>
<data name="PizzaOptions.SignaturePizza;LIST" xml:space="preserve">
<value>signatures? ; pizzas? ; signatures? pizzas?</value>
</data>
<data name="PizzaOptions.GourmetDelitePizza;LIST" xml:space="preserve">
<value>les gourmets? ; delites? ; pizzas? ; gourmets? delites? ; delites? pizzas? ; gourmets? delites? pizzas?</value>
</data>
<data name="PizzaOptions.StuffedPizza;LIST" xml:space="preserve">
<value>stuffeds? ; pizzas? ; stuffeds? pizzas?</value>
</data>
<data name="PizzaOptions.BYOPizza;LIST" xml:space="preserve">
<value>byo ; construire votre propre</value>
</data>
<data name="Kind_promptDefinition;LIST" xml:space="preserve">
<value>Quel genre de pizza que vous voulez? {||}</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>offres spéciales?</value>
</data>
<data name="BYO.HalfAndHalf_terms;LIST" xml:space="preserve">
<value>moitiés? ; et ; halfs? ; moitiés? et ; et moitiés? ; moitiés? et moitiés?</value>
</data>
<data name="BYO.Crust_terms;LIST" xml:space="preserve">
<value>croûtes?</value>
</data>
<data name="CrustOptions.Original;LIST" xml:space="preserve">
<value>originaux?</value>
</data>
<data name="CrustOptions.Thin;LIST" xml:space="preserve">
<value>fine</value>
</data>
<data name="CrustOptions.Stuffed;LIST" xml:space="preserve">
<value>stuffeds?</value>
</data>
<data name="CrustOptions.FreshPan;LIST" xml:space="preserve">
<value>frais? ; casseroles? ; frais? casseroles?</value>
</data>
<data name="CrustOptions.GlutenFree;LIST" xml:space="preserve">
<value>glutens? ; libère? ; gluten? libère?</value>
</data>
<data name="BYO.Sauce_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="SauceOptions.Traditional;LIST" xml:space="preserve">
<value>traditionnel ; tomate?</value>
</data>
<data name="SauceOptions.CreamyGarlic;LIST" xml:space="preserve">
<value>creamys? ; ails? ; creamys? ails?</value>
</data>
<data name="SauceOptions.OliveOil;LIST" xml:space="preserve">
<value>olives?; o ils?; o la vie? huiles?</value>
</data>
<data name="BYO.Toppings_terms;LIST" xml:space="preserve">
<value>nappages?</value>
</data>
<data name="ToppingOptions.All;LIST" xml:space="preserve">
<value>sauf ; mais ; non ; non ; tous ; tout</value>
</data>
<data name="ToppingOptions.Beef;LIST" xml:space="preserve">
<value>Viande bovine; bovine</value>
</data>
<data name="ToppingOptions.BlackOlives;LIST" xml:space="preserve">
<value>noirs?; o vit? ; noirs? olives?</value>
</data>
<data name="ToppingOptions.CanadianBacon;LIST" xml:space="preserve">
<value>les Canadiens? ; bacons? ; canadiens? bacons?</value>
</data>
<data name="ToppingOptions.CrispyBacon;LIST" xml:space="preserve">
<value>crispys? ; bacons? ; crispys? bacons?</value>
</data>
<data name="ToppingOptions.Garlic;LIST" xml:space="preserve">
<value>ails?</value>
</data>
<data name="ToppingOptions.GreenPeppers;LIST" xml:space="preserve">
<value>verts? ; poivrons? ; verts? poivrons?</value>
</data>
<data name="ToppingOptions.GrilledChicken;LIST" xml:space="preserve">
<value>grilleds? ; poulets? ; grilleds? poulets?</value>
</data>
<data name="ToppingOptions.HerbAndCheeseBlend;LIST" xml:space="preserve">
<value>Herb &amp;fromage, herbes et fromage ; mélange de fines herbes et fromage, herbes</value>
</data>
<data name="ToppingOptions.ItalianSausage;LIST" xml:space="preserve">
<value>italiens? ; saucisses? ; italiens? saucisses?</value>
</data>
<data name="ToppingOptions.ArtichokeHearts;LIST" xml:space="preserve">
<value>artichauts? ; cœurs? ; artichauts? coeurs?</value>
</data>
<data name="ToppingOptions.MixedOnions;LIST" xml:space="preserve">
<value>Oignons melanges; melanges; Oignons</value>
</data>
<data name="ToppingOptions.MozzarellaCheese;LIST" xml:space="preserve">
<value>mozzarellas? ; fromages? ; mozzarellas? fromages?</value>
</data>
<data name="ToppingOptions.Mushroom;LIST" xml:space="preserve">
<value>les champignons?</value>
</data>
<data name="ToppingOptions.Onions;LIST" xml:space="preserve">
<value>oignons?</value>
</data>
<data name="ToppingOptions.ParmesanCheese;LIST" xml:space="preserve">
<value>parmesan? ; fromages? ; parmesan? fromages?</value>
</data>
<data name="ToppingOptions.Pepperoni;LIST" xml:space="preserve">
<value>pepperonis?</value>
</data>
<data name="ToppingOptions.Pineapple;LIST" xml:space="preserve">
<value>ananas?</value>
</data>
<data name="ToppingOptions.RomaTomatoes;LIST" xml:space="preserve">
<value>Romas? ; tomates? ; Romas? tomates?</value>
</data>
<data name="ToppingOptions.Salami;LIST" xml:space="preserve">
<value>Salamine?</value>
</data>
<data name="ToppingOptions.Spinach;LIST" xml:space="preserve">
<value>épinards?</value>
</data>
<data name="ToppingOptions.SunDriedTomatoes;LIST" xml:space="preserve">
<value>soleils? ; poudres? ; tomates? ; soleils? poudres? ; poudres? tomates? ; soleils? poudres? tomates?</value>
</data>
<data name="ToppingOptions.Zucchini;LIST" xml:space="preserve">
<value>courgettes?</value>
</data>
<data name="ToppingOptions.ExtraCheese;LIST" xml:space="preserve">
<value>Extras? ; fromages? ; Extras? fromages?</value>
</data>
<data name="BYO.HalfToppings_terms;LIST" xml:space="preserve">
<value>moitiés? ; nappages? ; moitiés? garnitures?</value>
</data>
<data name="message11;LIST" xml:space="preserve">
<value>Près de là!!! {*filled}</value>
</data>
<data name="GourmetDelite_terms;LIST" xml:space="preserve">
<value>les gourmets? ; delites? ; gourmets? delites?</value>
</data>
<data name="GourmetDeliteOptions.SpicyFennelSausage;LIST" xml:space="preserve">
<value>spicys? ; fenouils? ; saucisses? ; spicys? fenouils? ; fenouils? saucisses? ; spicys? fenouils? saucisses?</value>
</data>
<data name="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;LIST" xml:space="preserve">
<value>Angus? ; biftecks? ; et ; roasteds? ; ails? ; Angus? biftecks? ; biftecks? et ; et roasteds? ; roasteds? ails? ; Angus? biftecks? et ; biftecks? et roasteds? ; et roasteds? ails? ; Angus? biftecks? et roasteds? ; biftecks? et roasteds? ails? ; steak Angus et ail rôti</value>
</data>
<data name="GourmetDeliteOptions.GourmetVegetarian;LIST" xml:space="preserve">
<value>les gourmets? ; les végétariens? ; gourmets? végétariens?</value>
</data>
<data name="GourmetDeliteOptions.ChickenBaconArtichoke;LIST" xml:space="preserve">
<value>poulets? ; bacons? ; artichauts? ; poulets? bacons? ; bacons? artichauts? ; poulets? bacons? artichauts?</value>
</data>
<data name="GourmetDeliteOptions.HerbChickenMediterranean;LIST" xml:space="preserve">
<value>herbes? ; poulets? ; méditerranéens? ; fines herbes? poulets? ; poulets? méditerranéens? ; fines herbes? poulets? méditerranéens?</value>
</data>
<data name="Signature_terms;LIST" xml:space="preserve">
<value>signatures?</value>
</data>
<data name="SignatureOptions.Hawaiian;LIST" xml:space="preserve">
<value>hawaïens?</value>
</data>
<data name="SignatureOptions.Pepperoni;LIST" xml:space="preserve">
<value>pepperonis?</value>
</data>
<data name="SignatureOptions.MurphysCombo;LIST" xml:space="preserve">
<value>Murphys? ; combos? ; Murphys? combos?</value>
</data>
<data name="SignatureOptions.ChickenGarlic;LIST" xml:space="preserve">
<value>poulets? ; ails? ; poulets? ails?</value>
</data>
<data name="SignatureOptions.TheCowboy;LIST" xml:space="preserve">
<value>Cow-Boys?</value>
</data>
<data name="Stuffed_terms;LIST" xml:space="preserve">
<value>stuffeds?</value>
</data>
<data name="StuffedOptions.ChickenBaconStuffed;LIST" xml:space="preserve">
<value>poulets? ; bacons? ; stuffeds? ; poulets? bacons? ; bacons? stuffeds? ; poulets? bacons? stuffeds?</value>
</data>
<data name="StuffedOptions.ChicagoStyleStuffed;LIST" xml:space="preserve">
<value>Chicagos? ; styles? ; stuffeds? ; Chicagos? styles? ; styles? stuffeds? ; Chicagos? styles? stuffeds?</value>
</data>
<data name="StuffedOptions.FiveMeatStuffed;LIST" xml:space="preserve">
<value>cinq ; viandes? ; stuffeds? ; cinq viandes? ; viandes? stuffeds? ; cinq viandes? stuffeds?</value>
</data>
<data name="message15;LIST" xml:space="preserve">
<value>Ce que nous avons est un {?{Signature} signature pizza} {?{GourmetDelite} pizza gourmet} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza}}}</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>optimisent? ; adresse? ; optimisent? adresse?</value>
</data>
<data name="Coupons_terms;LIST" xml:space="preserve">
<value>bons de réduction?</value>
</data>
<data name="CouponOptions.Large20Percent;LIST" xml:space="preserve">
<value>vastes? ; 20 ; pourcentages? ; larges? 20 ; 20 pourcents? ; larges? 20 pourcents?</value>
</data>
<data name="CouponOptions.Pepperoni20Percent;LIST" xml:space="preserve">
<value>pepperonis? ; 20 ; pourcentages? ; pepperonis? 20 ; 20 pourcents? ; pepperonis? 20 pourcents?</value>
</data>
<data name="Coupon_terms;LIST" xml:space="preserve">
<value>bons de réduction?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>notations?</value>
</data>
<data name="Available_terms;LIST" xml:space="preserve">
<value>disponibles?</value>
</data>
<data name="Bottles_terms;LIST" xml:space="preserve">
<value>bouteilles?</value>
</data>
<data name="confirmation26_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez une {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} à {DeliveryAddress}?</value>
</data>
<data name="confirmation27_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez une {Size}, {&amp;Signature} envoyées de pizza {Signature} à {DeliveryAddress}?</value>
</data>
<data name="confirmation28_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez une taille {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza livrée à {DeliveryAddress}?</value>
</data>
<data name="confirmation29_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez une taille {Size}, {&amp;Stuffed} {Stuffed} pizza livrée à {DeliveryAddress}?</value>
</data>
<data name="NotUnderstood;Kind;TEMPLATE" xml:space="preserve">
<value>« {0} » veut dire quoi??? ; Vraiment « {0} »???</value>
</data>
<data name="Phone_description;VALUE" xml:space="preserve">
<value>Téléphone</value>
</data>
<data name="Phone_terms;LIST" xml:space="preserve">
<value>les téléphones?</value>
</data>
<data name="message25;LIST" xml:space="preserve">
<value>Note = {Rating:F1} et [{Rating:F2}]</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,591 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="NumberOfPizzas_description;VALUE" xml:space="preserve">
<value>Number Of Pizzas</value>
</data>
<data name="Size_description;VALUE" xml:space="preserve">
<value>Size</value>
</data>
<data name="SizeOptions.Medium;VALUE" xml:space="preserve">
<value>Medium</value>
</data>
<data name="SizeOptions.Large;VALUE" xml:space="preserve">
<value>Large</value>
</data>
<data name="SizeOptions.Family;VALUE" xml:space="preserve">
<value>Family</value>
</data>
<data name="Kind_description;VALUE" xml:space="preserve">
<value>Kind of pizza</value>
</data>
<data name="PizzaOptions.SignaturePizza;VALUE" xml:space="preserve">
<value>Signature Pizza</value>
</data>
<data name="PizzaOptions.GourmetDelitePizza;VALUE" xml:space="preserve">
<value>Gourmet Delite Pizza</value>
</data>
<data name="PizzaOptions.StuffedPizza;VALUE" xml:space="preserve">
<value>Stuffed Pizza</value>
</data>
<data name="PizzaOptions.BYOPizza;VALUE" xml:space="preserve">
<value>Build your own</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Specials</value>
</data>
<data name="BYO.HalfAndHalf_description;VALUE" xml:space="preserve">
<value>Half And Half</value>
</data>
<data name="BYO.Crust_description;VALUE" xml:space="preserve">
<value>Crust</value>
</data>
<data name="CrustOptions.Original;VALUE" xml:space="preserve">
<value>Original</value>
</data>
<data name="CrustOptions.Thin;VALUE" xml:space="preserve">
<value>Thin</value>
</data>
<data name="CrustOptions.Stuffed;VALUE" xml:space="preserve">
<value>Stuffed</value>
</data>
<data name="CrustOptions.FreshPan;VALUE" xml:space="preserve">
<value>Fresh Pan</value>
</data>
<data name="CrustOptions.GlutenFree;VALUE" xml:space="preserve">
<value>Gluten Free</value>
</data>
<data name="BYO.Sauce_description;VALUE" xml:space="preserve">
<value>Sauce</value>
</data>
<data name="SauceOptions.Traditional;VALUE" xml:space="preserve">
<value>Traditional</value>
</data>
<data name="SauceOptions.CreamyGarlic;VALUE" xml:space="preserve">
<value>Creamy Garlic</value>
</data>
<data name="SauceOptions.OliveOil;VALUE" xml:space="preserve">
<value>Olive Oil</value>
</data>
<data name="BYO.Toppings_description;VALUE" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="ToppingOptions.All;VALUE" xml:space="preserve">
<value>All except</value>
</data>
<data name="ToppingOptions.Beef;VALUE" xml:space="preserve">
<value>Beef</value>
</data>
<data name="ToppingOptions.BlackOlives;VALUE" xml:space="preserve">
<value>Black Olives</value>
</data>
<data name="ToppingOptions.CanadianBacon;VALUE" xml:space="preserve">
<value>Canadian Bacon</value>
</data>
<data name="ToppingOptions.CrispyBacon;VALUE" xml:space="preserve">
<value>Crispy Bacon</value>
</data>
<data name="ToppingOptions.Garlic;VALUE" xml:space="preserve">
<value>Garlic</value>
</data>
<data name="ToppingOptions.GreenPeppers;VALUE" xml:space="preserve">
<value>Green Peppers</value>
</data>
<data name="ToppingOptions.GrilledChicken;VALUE" xml:space="preserve">
<value>Grilled Chicken</value>
</data>
<data name="ToppingOptions.HerbAndCheeseBlend;VALUE" xml:space="preserve">
<value>Herb And Cheese Blend</value>
</data>
<data name="ToppingOptions.ItalianSausage;VALUE" xml:space="preserve">
<value>Italian Sausage</value>
</data>
<data name="ToppingOptions.ArtichokeHearts;VALUE" xml:space="preserve">
<value>Artichoke Hearts</value>
</data>
<data name="ToppingOptions.MixedOnions;VALUE" xml:space="preserve">
<value>Mixed Onions</value>
</data>
<data name="ToppingOptions.MozzarellaCheese;VALUE" xml:space="preserve">
<value>Mozzarella Cheese</value>
</data>
<data name="ToppingOptions.Mushroom;VALUE" xml:space="preserve">
<value>Mushroom</value>
</data>
<data name="ToppingOptions.Onions;VALUE" xml:space="preserve">
<value>Onions</value>
</data>
<data name="ToppingOptions.ParmesanCheese;VALUE" xml:space="preserve">
<value>Parmesan Cheese</value>
</data>
<data name="ToppingOptions.Pepperoni;VALUE" xml:space="preserve">
<value>Pepperoni</value>
</data>
<data name="ToppingOptions.Pineapple;VALUE" xml:space="preserve">
<value>Pineapple</value>
</data>
<data name="ToppingOptions.RomaTomatoes;VALUE" xml:space="preserve">
<value>Roma Tomatoes</value>
</data>
<data name="ToppingOptions.Salami;VALUE" xml:space="preserve">
<value>Salami</value>
</data>
<data name="ToppingOptions.Spinach;VALUE" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="ToppingOptions.SunDriedTomatoes;VALUE" xml:space="preserve">
<value>Sun Dried Tomatoes</value>
</data>
<data name="ToppingOptions.Zucchini;VALUE" xml:space="preserve">
<value>Zucchini</value>
</data>
<data name="ToppingOptions.ExtraCheese;VALUE" xml:space="preserve">
<value>Extra Cheese</value>
</data>
<data name="BYO.HalfToppings_description;VALUE" xml:space="preserve">
<value>Half Toppings</value>
</data>
<data name="GourmetDelite_description;VALUE" xml:space="preserve">
<value>Gourmet Delite</value>
</data>
<data name="GourmetDeliteOptions.SpicyFennelSausage;VALUE" xml:space="preserve">
<value>Spicy Fennel Sausage</value>
</data>
<data name="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;VALUE" xml:space="preserve">
<value>Angus Steak And Roasted Garlic</value>
</data>
<data name="GourmetDeliteOptions.GourmetVegetarian;VALUE" xml:space="preserve">
<value>Gourmet Vegetarian</value>
</data>
<data name="GourmetDeliteOptions.ChickenBaconArtichoke;VALUE" xml:space="preserve">
<value>Chicken Bacon Artichoke</value>
</data>
<data name="GourmetDeliteOptions.HerbChickenMediterranean;VALUE" xml:space="preserve">
<value>Herb Chicken Mediterranean</value>
</data>
<data name="Signature_description;VALUE" xml:space="preserve">
<value>Signature</value>
</data>
<data name="SignatureOptions.Hawaiian;VALUE" xml:space="preserve">
<value>Hawaiian</value>
</data>
<data name="SignatureOptions.Pepperoni;VALUE" xml:space="preserve">
<value>Pepperoni</value>
</data>
<data name="SignatureOptions.MurphysCombo;VALUE" xml:space="preserve">
<value>Murphys Combo</value>
</data>
<data name="SignatureOptions.ChickenGarlic;VALUE" xml:space="preserve">
<value>Chicken Garlic</value>
</data>
<data name="SignatureOptions.TheCowboy;VALUE" xml:space="preserve">
<value>The Cowboy</value>
</data>
<data name="Stuffed_description;VALUE" xml:space="preserve">
<value>Stuffed</value>
</data>
<data name="StuffedOptions.ChickenBaconStuffed;VALUE" xml:space="preserve">
<value>Chicken Bacon Stuffed</value>
</data>
<data name="StuffedOptions.ChicagoStyleStuffed;VALUE" xml:space="preserve">
<value>Chicago Style Stuffed</value>
</data>
<data name="StuffedOptions.FiveMeatStuffed;VALUE" xml:space="preserve">
<value>Five Meat Stuffed</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Delivery Address</value>
</data>
<data name="Coupons_description;VALUE" xml:space="preserve">
<value>Coupons</value>
</data>
<data name="CouponOptions.Large20Percent;VALUE" xml:space="preserve">
<value>Large 20 Percent</value>
</data>
<data name="CouponOptions.Pepperoni20Percent;VALUE" xml:space="preserve">
<value>Pepperoni 20 Percent</value>
</data>
<data name="Coupon_description;VALUE" xml:space="preserve">
<value>Coupon</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>Rating</value>
</data>
<data name="Available_description;VALUE" xml:space="preserve">
<value>Available</value>
</data>
<data name="Bottles_description;VALUE" xml:space="preserve">
<value>Bottles</value>
</data>
<data name="Phone_description;VALUE" xml:space="preserve">
<value>Phone</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Welcome to the pizza bot!!!</value>
</data>
<data name="message1;LIST" xml:space="preserve">
<value>Lets make pizza!!!</value>
</data>
<data name="NumberOfPizzas_terms;LIST" xml:space="preserve">
<value>numbers?;of;pizzas?;numbers? of;of pizzas?;numbers? of pizzas?</value>
</data>
<data name="Size_terms;LIST" xml:space="preserve">
<value>sizes?</value>
</data>
<data name="SizeOptions.Medium;LIST" xml:space="preserve">
<value>med;medium</value>
</data>
<data name="SizeOptions.Large;LIST" xml:space="preserve">
<value>larges?</value>
</data>
<data name="SizeOptions.Family;LIST" xml:space="preserve">
<value>family;extra large</value>
</data>
<data name="Kind_terms;LIST" xml:space="preserve">
<value>kinds?</value>
</data>
<data name="PizzaOptions.SignaturePizza;LIST" xml:space="preserve">
<value>signatures?;pizzas?;signatures? pizzas?</value>
</data>
<data name="PizzaOptions.GourmetDelitePizza;LIST" xml:space="preserve">
<value>gourmets?;delites?;pizzas?;gourmets? delites?;delites? pizzas?;gourmets? delites? pizzas?</value>
</data>
<data name="PizzaOptions.StuffedPizza;LIST" xml:space="preserve">
<value>stuffeds?;pizzas?;stuffeds? pizzas?</value>
</data>
<data name="PizzaOptions.BYOPizza;LIST" xml:space="preserve">
<value>byo;build your own</value>
</data>
<data name="Kind_promptDefinition;LIST" xml:space="preserve">
<value>What kind of pizza do you want? {||}</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>specials?</value>
</data>
<data name="BYO.HalfAndHalf_terms;LIST" xml:space="preserve">
<value>halfs?;and;halfs?;halfs? and;and halfs?;halfs? and halfs?</value>
</data>
<data name="BYO.Crust_terms;LIST" xml:space="preserve">
<value>crusts?</value>
</data>
<data name="CrustOptions.Original;LIST" xml:space="preserve">
<value>originals?</value>
</data>
<data name="CrustOptions.Thin;LIST" xml:space="preserve">
<value>thin</value>
</data>
<data name="CrustOptions.Stuffed;LIST" xml:space="preserve">
<value>stuffeds?</value>
</data>
<data name="CrustOptions.FreshPan;LIST" xml:space="preserve">
<value>freshs?;pans?;freshs? pans?</value>
</data>
<data name="CrustOptions.GlutenFree;LIST" xml:space="preserve">
<value>glutens?;frees?;glutens? frees?</value>
</data>
<data name="BYO.Sauce_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="SauceOptions.Traditional;LIST" xml:space="preserve">
<value>traditional;tomatoe?</value>
</data>
<data name="SauceOptions.CreamyGarlic;LIST" xml:space="preserve">
<value>creamys?;garlics?;creamys? garlics?</value>
</data>
<data name="SauceOptions.OliveOil;LIST" xml:space="preserve">
<value>olives?;oils?;olives? oils?</value>
</data>
<data name="BYO.Toppings_terms;LIST" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="ToppingOptions.All;LIST" xml:space="preserve">
<value>except;but;not;no;all;everything</value>
</data>
<data name="ToppingOptions.Beef;LIST" xml:space="preserve">
<value>beefs?</value>
</data>
<data name="ToppingOptions.BlackOlives;LIST" xml:space="preserve">
<value>blacks?;olives?;blacks? olives?</value>
</data>
<data name="ToppingOptions.CanadianBacon;LIST" xml:space="preserve">
<value>canadians?;bacons?;canadians? bacons?</value>
</data>
<data name="ToppingOptions.CrispyBacon;LIST" xml:space="preserve">
<value>crispys?;bacons?;crispys? bacons?</value>
</data>
<data name="ToppingOptions.Garlic;LIST" xml:space="preserve">
<value>garlics?</value>
</data>
<data name="ToppingOptions.GreenPeppers;LIST" xml:space="preserve">
<value>greens?;peppers?;greens? peppers?</value>
</data>
<data name="ToppingOptions.GrilledChicken;LIST" xml:space="preserve">
<value>grilleds?;chickens?;grilleds? chickens?</value>
</data>
<data name="ToppingOptions.HerbAndCheeseBlend;LIST" xml:space="preserve">
<value>herb &amp; cheese;herb and cheese;herb and cheese blend;herb</value>
</data>
<data name="ToppingOptions.ItalianSausage;LIST" xml:space="preserve">
<value>italians?;sausages?;italians? sausages?</value>
</data>
<data name="ToppingOptions.ArtichokeHearts;LIST" xml:space="preserve">
<value>artichokes?;hearts?;artichokes? hearts?</value>
</data>
<data name="ToppingOptions.MixedOnions;LIST" xml:space="preserve">
<value>mixeds?;onions?;mixeds? onions?</value>
</data>
<data name="ToppingOptions.MozzarellaCheese;LIST" xml:space="preserve">
<value>mozzarellas?;cheeses?;mozzarellas? cheeses?</value>
</data>
<data name="ToppingOptions.Mushroom;LIST" xml:space="preserve">
<value>mushrooms?</value>
</data>
<data name="ToppingOptions.Onions;LIST" xml:space="preserve">
<value>onions?</value>
</data>
<data name="ToppingOptions.ParmesanCheese;LIST" xml:space="preserve">
<value>parmesans?;cheeses?;parmesans? cheeses?</value>
</data>
<data name="ToppingOptions.Pepperoni;LIST" xml:space="preserve">
<value>pepperonis?</value>
</data>
<data name="ToppingOptions.Pineapple;LIST" xml:space="preserve">
<value>pineapples?</value>
</data>
<data name="ToppingOptions.RomaTomatoes;LIST" xml:space="preserve">
<value>romas?;tomatoes?;romas? tomatoes?</value>
</data>
<data name="ToppingOptions.Salami;LIST" xml:space="preserve">
<value>salamis?</value>
</data>
<data name="ToppingOptions.Spinach;LIST" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="ToppingOptions.SunDriedTomatoes;LIST" xml:space="preserve">
<value>suns?;drieds?;tomatoes?;suns? drieds?;drieds? tomatoes?;suns? drieds? tomatoes?</value>
</data>
<data name="ToppingOptions.Zucchini;LIST" xml:space="preserve">
<value>zucchinis?</value>
</data>
<data name="ToppingOptions.ExtraCheese;LIST" xml:space="preserve">
<value>extras?;cheeses?;extras? cheeses?</value>
</data>
<data name="BYO.HalfToppings_terms;LIST" xml:space="preserve">
<value>halfs?;toppings?;halfs? toppings?</value>
</data>
<data name="message11;LIST" xml:space="preserve">
<value>Almost there!!! {*filled}</value>
</data>
<data name="GourmetDelite_terms;LIST" xml:space="preserve">
<value>gourmets?;delites?;gourmets? delites?</value>
</data>
<data name="GourmetDeliteOptions.SpicyFennelSausage;LIST" xml:space="preserve">
<value>spicys?;fennels?;sausages?;spicys? fennels?;fennels? sausages?;spicys? fennels? sausages?</value>
</data>
<data name="GourmetDeliteOptions.AngusSteakAndRoastedGarlic;LIST" xml:space="preserve">
<value>angus?;steaks?;and;roasteds?;garlics?;angus? steaks?;steaks? and;and roasteds?;roasteds? garlics?;angus? steaks? and;steaks? and roasteds?;and roasteds? garlics?;angus? steaks? and roasteds?;steaks? and roasteds? garlics?;angus steak and roasted garlic</value>
</data>
<data name="GourmetDeliteOptions.GourmetVegetarian;LIST" xml:space="preserve">
<value>gourmets?;vegetarians?;gourmets? vegetarians?</value>
</data>
<data name="GourmetDeliteOptions.ChickenBaconArtichoke;LIST" xml:space="preserve">
<value>chickens?;bacons?;artichokes?;chickens? bacons?;bacons? artichokes?;chickens? bacons? artichokes?</value>
</data>
<data name="GourmetDeliteOptions.HerbChickenMediterranean;LIST" xml:space="preserve">
<value>herbs?;chickens?;mediterraneans?;herbs? chickens?;chickens? mediterraneans?;herbs? chickens? mediterraneans?</value>
</data>
<data name="Signature_terms;LIST" xml:space="preserve">
<value>signatures?</value>
</data>
<data name="SignatureOptions.Hawaiian;LIST" xml:space="preserve">
<value>hawaiians?</value>
</data>
<data name="SignatureOptions.Pepperoni;LIST" xml:space="preserve">
<value>pepperonis?</value>
</data>
<data name="SignatureOptions.MurphysCombo;LIST" xml:space="preserve">
<value>murphys?;combos?;murphys? combos?</value>
</data>
<data name="SignatureOptions.ChickenGarlic;LIST" xml:space="preserve">
<value>chickens?;garlics?;chickens? garlics?</value>
</data>
<data name="SignatureOptions.TheCowboy;LIST" xml:space="preserve">
<value>cowboys?</value>
</data>
<data name="Stuffed_terms;LIST" xml:space="preserve">
<value>stuffeds?</value>
</data>
<data name="StuffedOptions.ChickenBaconStuffed;LIST" xml:space="preserve">
<value>chickens?;bacons?;stuffeds?;chickens? bacons?;bacons? stuffeds?;chickens? bacons? stuffeds?</value>
</data>
<data name="StuffedOptions.ChicagoStyleStuffed;LIST" xml:space="preserve">
<value>chicagos?;styles?;stuffeds?;chicagos? styles?;styles? stuffeds?;chicagos? styles? stuffeds?</value>
</data>
<data name="StuffedOptions.FiveMeatStuffed;LIST" xml:space="preserve">
<value>five;meats?;stuffeds?;five meats?;meats? stuffeds?;five meats? stuffeds?</value>
</data>
<data name="message15;LIST" xml:space="preserve">
<value>What we have is a {?{Signature} signature pizza} {?{GourmetDelite} gourmet pizza} {?{Stuffed} {&amp;Stuffed}} {?{?{BYO.Crust} {&amp;BYO.Crust}} {?{BYO.Sauce} {&amp;BYO.Sauce}} {?{BYO.Toppings}}} pizza</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>deliverys?;address?;deliverys? address?</value>
</data>
<data name="Coupons_terms;LIST" xml:space="preserve">
<value>coupons?</value>
</data>
<data name="CouponOptions.Large20Percent;LIST" xml:space="preserve">
<value>larges?;20;percents?;larges? 20;20 percents?;larges? 20 percents?</value>
</data>
<data name="CouponOptions.Pepperoni20Percent;LIST" xml:space="preserve">
<value>pepperonis?;20;percents?;pepperonis? 20;20 percents?;pepperonis? 20 percents?</value>
</data>
<data name="Coupon_terms;LIST" xml:space="preserve">
<value>coupons?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>ratings?</value>
</data>
<data name="Available_terms;LIST" xml:space="preserve">
<value>availables?</value>
</data>
<data name="Bottles_terms;LIST" xml:space="preserve">
<value>bottles?</value>
</data>
<data name="Phone_terms;LIST" xml:space="preserve">
<value>phones?</value>
</data>
<data name="message25;LIST" xml:space="preserve">
<value>Rating = {Rating:F1} and [{Rating:F2}]</value>
</data>
<data name="confirmation26_promptDefinition;LIST" xml:space="preserve">
<value>Would you like a {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} pizza delivered to {DeliveryAddress}?</value>
</data>
<data name="confirmation27_promptDefinition;LIST" xml:space="preserve">
<value>Would you like a {Size}, {&amp;Signature} {Signature} pizza delivered to {DeliveryAddress}?</value>
</data>
<data name="confirmation28_promptDefinition;LIST" xml:space="preserve">
<value>Would you like a {Size}, {&amp;GourmetDelite} {GourmetDelite} pizza delivered to {DeliveryAddress}?</value>
</data>
<data name="confirmation29_promptDefinition;LIST" xml:space="preserve">
<value>Would you like a {Size}, {&amp;Stuffed} {Stuffed} pizza delivered to {DeliveryAddress}?</value>
</data>
<data name="NotUnderstood;Kind;TEMPLATE" xml:space="preserve">
<value>What does "{0}" mean???;Really "{0}"???</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,399 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>Sandwich</value>
</data>
<data name="SandwichOptions.BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="SandwichOptions.BlackForestHam;VALUE" xml:space="preserve">
<value>Black Forest Ham</value>
</data>
<data name="SandwichOptions.BuffaloChicken;VALUE" xml:space="preserve">
<value>Buffalo Chicken</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Chicken And Bacon Ranch Melt</value>
</data>
<data name="SandwichOptions.ColdCutCombo;VALUE" xml:space="preserve">
<value>Cold Cut Combo</value>
</data>
<data name="SandwichOptions.MeatballMarinara;VALUE" xml:space="preserve">
<value>Meatball Marinara</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Oven Roasted Chicken</value>
</data>
<data name="SandwichOptions.RoastBeef;VALUE" xml:space="preserve">
<value>Roast Beef</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie Style Chicken</value>
</data>
<data name="SandwichOptions.SpicyItalian;VALUE" xml:space="preserve">
<value>Spicy Italian</value>
</data>
<data name="SandwichOptions.SteakAndCheese;VALUE" xml:space="preserve">
<value>Steak And Cheese</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Sweet Onion Teriyaki</value>
</data>
<data name="SandwichOptions.Tuna;VALUE" xml:space="preserve">
<value>Tuna</value>
</data>
<data name="SandwichOptions.TurkeyBreast;VALUE" xml:space="preserve">
<value>Turkey Breast</value>
</data>
<data name="SandwichOptions.Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Length</value>
</data>
<data name="LengthOptions.SixInch;VALUE" xml:space="preserve">
<value>Six Inch</value>
</data>
<data name="LengthOptions.FootLong;VALUE" xml:space="preserve">
<value>Foot Long</value>
</data>
<data name="Bread_description;VALUE" xml:space="preserve">
<value>Bread</value>
</data>
<data name="BreadOptions.NineGrainWheat;VALUE" xml:space="preserve">
<value>Nine Grain Wheat</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Nine Grain Honey Oat</value>
</data>
<data name="BreadOptions.Italian;VALUE" xml:space="preserve">
<value>Italian</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Italian Herbs And Cheese</value>
</data>
<data name="BreadOptions.Flatbread;VALUE" xml:space="preserve">
<value>Flatbread</value>
</data>
<data name="Cheese_description;VALUE" xml:space="preserve">
<value>Cheese</value>
</data>
<data name="CheeseOptions.American;VALUE" xml:space="preserve">
<value>American</value>
</data>
<data name="CheeseOptions.MontereyCheddar;VALUE" xml:space="preserve">
<value>Monterey Cheddar</value>
</data>
<data name="CheeseOptions.Pepperjack;VALUE" xml:space="preserve">
<value>Pepperjack</value>
</data>
<data name="Toppings_description;VALUE" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="ToppingOptions.Everything;VALUE" xml:space="preserve">
<value>Everything</value>
</data>
<data name="ToppingOptions.Avocado;VALUE" xml:space="preserve">
<value>Avocado</value>
</data>
<data name="ToppingOptions.BananaPeppers;VALUE" xml:space="preserve">
<value>Banana Peppers</value>
</data>
<data name="ToppingOptions.Cucumbers;VALUE" xml:space="preserve">
<value>Cucumbers</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;VALUE" xml:space="preserve">
<value>Green Bell Peppers</value>
</data>
<data name="ToppingOptions.Jalapenos;VALUE" xml:space="preserve">
<value>Jalapenos</value>
</data>
<data name="ToppingOptions.Lettuce;VALUE" xml:space="preserve">
<value>Lettuce</value>
</data>
<data name="ToppingOptions.Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="ToppingOptions.Pickles;VALUE" xml:space="preserve">
<value>Pickles</value>
</data>
<data name="ToppingOptions.RedOnion;VALUE" xml:space="preserve">
<value>Red Onion</value>
</data>
<data name="ToppingOptions.Spinach;VALUE" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="ToppingOptions.Tomatoes;VALUE" xml:space="preserve">
<value>Tomatoes</value>
</data>
<data name="Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="SauceOptions.HoneyMustard;VALUE" xml:space="preserve">
<value>Honey Mustard</value>
</data>
<data name="SauceOptions.LightMayonnaise;VALUE" xml:space="preserve">
<value>Light Mayonnaise</value>
</data>
<data name="SauceOptions.RegularMayonnaise;VALUE" xml:space="preserve">
<value>Regular Mayonnaise</value>
</data>
<data name="SauceOptions.Mustard;VALUE" xml:space="preserve">
<value>Mustard</value>
</data>
<data name="SauceOptions.Oil;VALUE" xml:space="preserve">
<value>Oil</value>
</data>
<data name="SauceOptions.Pepper;VALUE" xml:space="preserve">
<value>Pepper</value>
</data>
<data name="SauceOptions.Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="SauceOptions.SweetOnion;VALUE" xml:space="preserve">
<value>Sweet Onion</value>
</data>
<data name="SauceOptions.Vinegar;VALUE" xml:space="preserve">
<value>Vinegar</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Specials</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Delivery Address</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Delivery Time</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>your experience today</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Welcome to the sandwich order bot!</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="SandwichOptions.BLT;LIST" xml:space="preserve">
<value>blts?</value>
</data>
<data name="SandwichOptions.BlackForestHam;LIST" xml:space="preserve">
<value>blacks?;forests?;hams?;blacks? forests?;forests? hams?;blacks? forests? hams?</value>
</data>
<data name="SandwichOptions.BuffaloChicken;LIST" xml:space="preserve">
<value>buffalos?;chickens?;buffalos? chickens?</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>chickens?;and;bacons?;ranchs?;melts?;chickens? and;and bacons?;bacons? ranchs?;ranchs? melts?;chickens? and bacons?;and bacons? ranchs?;bacons? ranchs? melts?;chickens? and bacons? ranchs?;and bacons? ranchs? melts?;chicken and bacon ranch melt</value>
</data>
<data name="SandwichOptions.ColdCutCombo;LIST" xml:space="preserve">
<value>colds?;cuts?;combos?;colds? cuts?;cuts? combos?;colds? cuts? combos?</value>
</data>
<data name="SandwichOptions.MeatballMarinara;LIST" xml:space="preserve">
<value>meatballs?;marinaras?;meatballs? marinaras?</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;LIST" xml:space="preserve">
<value>ovens?;roasteds?;chickens?;ovens? roasteds?;roasteds? chickens?;ovens? roasteds? chickens?</value>
</data>
<data name="SandwichOptions.RoastBeef;LIST" xml:space="preserve">
<value>roasts?;beefs?;roasts? beefs?</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s?;styles?;chickens?;rotis\w*s? styles?;styles? chickens?;rotis\w*s? styles? chickens?</value>
</data>
<data name="SandwichOptions.SpicyItalian;LIST" xml:space="preserve">
<value>spicys?;italians?;spicys? italians?</value>
</data>
<data name="SandwichOptions.SteakAndCheese;LIST" xml:space="preserve">
<value>steaks?;and;cheeses?;steaks? and;and cheeses?;steaks? and cheeses?</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sweets?;onions?;teriyakis?;sweets? onions?;onions? teriyakis?;sweets? onions? teriyakis?</value>
</data>
<data name="SandwichOptions.Tuna;LIST" xml:space="preserve">
<value>tunas?</value>
</data>
<data name="SandwichOptions.TurkeyBreast;LIST" xml:space="preserve">
<value>turkeys?;breasts?;turkeys? breasts?</value>
</data>
<data name="SandwichOptions.Veggie;LIST" xml:space="preserve">
<value>veggies?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>What kind of {&amp;} would you like? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>lengths?</value>
</data>
<data name="LengthOptions.SixInch;LIST" xml:space="preserve">
<value>six;inchs?;six inchs?</value>
</data>
<data name="LengthOptions.FootLong;LIST" xml:space="preserve">
<value>foots?;longs?;foots? longs?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>What size of sandwich do you want? {||}</value>
</data>
<data name="Bread_terms;LIST" xml:space="preserve">
<value>breads?</value>
</data>
<data name="BreadOptions.NineGrainWheat;LIST" xml:space="preserve">
<value>nine;grains?;wheats?;nine grains?;grains? wheats?;nine grains? wheats?</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;LIST" xml:space="preserve">
<value>nine;grains?;honeys?;oats?;nine grains?;grains? honeys?;honeys? oats?;nine grains? honeys?;grains? honeys? oats?;nine grains? honeys? oats?</value>
</data>
<data name="BreadOptions.Italian;LIST" xml:space="preserve">
<value>italians?</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italians?;herbs?;and;cheeses?;italians? herbs?;herbs? and;and cheeses?;italians? herbs? and;herbs? and cheeses?;italians? herbs? and cheeses?</value>
</data>
<data name="BreadOptions.Flatbread;LIST" xml:space="preserve">
<value>flatbreads?</value>
</data>
<data name="Cheese_terms;LIST" xml:space="preserve">
<value>cheeses?</value>
</data>
<data name="CheeseOptions.American;LIST" xml:space="preserve">
<value>americans?</value>
</data>
<data name="CheeseOptions.MontereyCheddar;LIST" xml:space="preserve">
<value>montereys?;cheddars?;montereys? cheddars?</value>
</data>
<data name="CheeseOptions.Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Toppings_terms;LIST" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="ToppingOptions.Everything;LIST" xml:space="preserve">
<value>except;but;not;no;all;everything</value>
</data>
<data name="ToppingOptions.Avocado;LIST" xml:space="preserve">
<value>avocados?</value>
</data>
<data name="ToppingOptions.BananaPeppers;LIST" xml:space="preserve">
<value>bananas?;peppers?;bananas? peppers?</value>
</data>
<data name="ToppingOptions.Cucumbers;LIST" xml:space="preserve">
<value>cucumbers?</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;LIST" xml:space="preserve">
<value>greens?;bells?;peppers?;greens? bells?;bells? peppers?;greens? bells? peppers?</value>
</data>
<data name="ToppingOptions.Jalapenos;LIST" xml:space="preserve">
<value>jalapenos?</value>
</data>
<data name="ToppingOptions.Lettuce;LIST" xml:space="preserve">
<value>lettuces?</value>
</data>
<data name="ToppingOptions.Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="ToppingOptions.Pickles;LIST" xml:space="preserve">
<value>pickles?</value>
</data>
<data name="ToppingOptions.RedOnion;LIST" xml:space="preserve">
<value>reds?;onions?;reds? onions?</value>
</data>
<data name="ToppingOptions.Spinach;LIST" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="ToppingOptions.Tomatoes;LIST" xml:space="preserve">
<value>tomatoes?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>For sandwich toppings you have selected {Toppings}.</value>
</data>
<data name="Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="SauceOptions.HoneyMustard;LIST" xml:space="preserve">
<value>honeys?;mustards?;honeys? mustards?</value>
</data>
<data name="SauceOptions.LightMayonnaise;LIST" xml:space="preserve">
<value>lights?;mayonnaises?;lights? mayonnaises?</value>
</data>
<data name="SauceOptions.RegularMayonnaise;LIST" xml:space="preserve">
<value>regulars?;mayonnaises?;regulars? mayonnaises?</value>
</data>
<data name="SauceOptions.Mustard;LIST" xml:space="preserve">
<value>mustards?</value>
</data>
<data name="SauceOptions.Oil;LIST" xml:space="preserve">
<value>oils?</value>
</data>
<data name="SauceOptions.Pepper;LIST" xml:space="preserve">
<value>peppers?</value>
</data>
<data name="SauceOptions.Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="SauceOptions.SweetOnion;LIST" xml:space="preserve">
<value>sweets?;onions?;sweets? onions?</value>
</data>
<data name="SauceOptions.Vinegar;LIST" xml:space="preserve">
<value>vinegars?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>specials?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>deliverys?;address?;deliverys? address?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>deliverys?;times?;deliverys? times?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>What time do you want your sandwich delivered? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Do you want to order your {Length} {Sandwich} on {Bread} {&amp;Bread} with {[{Cheese} {Toppings} {Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>ratings?</value>
</data>
<data name="message15;LIST" xml:space="preserve">
<value>Thanks for ordering a sandwich!</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>None</value>
</data>
<data name="PhoneNumber_description;VALUE" xml:space="preserve">
<value>Phone Number</value>
</data>
<data name="PhoneNumber_terms;LIST" xml:space="preserve">
<value>phones?;numbers?;phones? numbers?</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>I do not understand "{0}".;Try again, I don't get "{0}".</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>What kind of {&amp;} would you like on your sandwich? {||}</value>
</data>
<data name="SandwichImage;VALUE" xml:space="preserve">
<value>https://placeholdit.imgix.net/~text?txtsize=16&amp;txt=Sandwich&amp;w=125&amp;h=40&amp;txttrack=0&amp;txtclr=000&amp;txtfont=bold</value>
</data>
<data name="BreadSubTitle;VALUE" xml:space="preserve">
<value>Bread Picker</value>
</data>
<data name="BreadTitle;VALUE" xml:space="preserve">
<value>Sandwich Bot</value>
</data>
<data name="StatusFormat;DeliveryTime;TEMPLATE" xml:space="preserve">
<value>{&amp;}: {:t}</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,399 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>"Sandwich"</value>
</data>
<data name="SandwichOptions.BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="SandwichOptions.BlackForestHam;VALUE" xml:space="preserve">
<value>Jambon Forêt Noire</value>
</data>
<data name="SandwichOptions.BuffaloChicken;VALUE" xml:space="preserve">
<value>Poulet Buffalo</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Faire fondre le poulet et Bacon Ranch</value>
</data>
<data name="SandwichOptions.ColdCutCombo;VALUE" xml:space="preserve">
<value>Combo de coupe à froid</value>
</data>
<data name="SandwichOptions.MeatballMarinara;VALUE" xml:space="preserve">
<value>Boulette de viande Marinara</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Poulet rôti au four</value>
</data>
<data name="SandwichOptions.RoastBeef;VALUE" xml:space="preserve">
<value>Rôti de boeuf</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie poulet</value>
</data>
<data name="SandwichOptions.SpicyItalian;VALUE" xml:space="preserve">
<value>Italienne piquante</value>
</data>
<data name="SandwichOptions.SteakAndCheese;VALUE" xml:space="preserve">
<value>Bifteck et fromage</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Oignon doux Teriyaki</value>
</data>
<data name="SandwichOptions.Tuna;VALUE" xml:space="preserve">
<value>Thon</value>
</data>
<data name="SandwichOptions.TurkeyBreast;VALUE" xml:space="preserve">
<value>Poitrine de dinde</value>
</data>
<data name="SandwichOptions.Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Longueur</value>
</data>
<data name="LengthOptions.SixInch;VALUE" xml:space="preserve">
<value>Six pouces</value>
</data>
<data name="LengthOptions.FootLong;VALUE" xml:space="preserve">
<value>Pied Long</value>
</data>
<data name="Bread_description;VALUE" xml:space="preserve">
<value>Pain</value>
</data>
<data name="BreadOptions.NineGrainWheat;VALUE" xml:space="preserve">
<value>Neuf grains de blé</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Neuf grains miel avoine</value>
</data>
<data name="BreadOptions.Italian;VALUE" xml:space="preserve">
<value>Italien</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Fromage et herbes italiennes</value>
</data>
<data name="BreadOptions.Flatbread;VALUE" xml:space="preserve">
<value>Pain plat</value>
</data>
<data name="Cheese_description;VALUE" xml:space="preserve">
<value>Fromage</value>
</data>
<data name="CheeseOptions.American;VALUE" xml:space="preserve">
<value>Américain</value>
</data>
<data name="CheeseOptions.MontereyCheddar;VALUE" xml:space="preserve">
<value>Cheddar de Monterey</value>
</data>
<data name="CheeseOptions.Pepperjack;VALUE" xml:space="preserve">
<value>Crostini</value>
</data>
<data name="Toppings_description;VALUE" xml:space="preserve">
<value>Nappages</value>
</data>
<data name="ToppingOptions.Everything;VALUE" xml:space="preserve">
<value>Tout</value>
</data>
<data name="ToppingOptions.Avocado;VALUE" xml:space="preserve">
<value>Avocat</value>
</data>
<data name="ToppingOptions.BananaPeppers;VALUE" xml:space="preserve">
<value>Piments bananes</value>
</data>
<data name="ToppingOptions.Cucumbers;VALUE" xml:space="preserve">
<value>Concombres</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;VALUE" xml:space="preserve">
<value>Poivrons verts</value>
</data>
<data name="ToppingOptions.Jalapenos;VALUE" xml:space="preserve">
<value>Piments jalapenos</value>
</data>
<data name="ToppingOptions.Lettuce;VALUE" xml:space="preserve">
<value>Laitue</value>
</data>
<data name="ToppingOptions.Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="ToppingOptions.Pickles;VALUE" xml:space="preserve">
<value>Cornichons</value>
</data>
<data name="ToppingOptions.RedOnion;VALUE" xml:space="preserve">
<value>Oignon rouge</value>
</data>
<data name="ToppingOptions.Spinach;VALUE" xml:space="preserve">
<value>Épinards</value>
</data>
<data name="ToppingOptions.Tomatoes;VALUE" xml:space="preserve">
<value>Tomates</value>
</data>
<data name="Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="SauceOptions.HoneyMustard;VALUE" xml:space="preserve">
<value>Moutarde au miel</value>
</data>
<data name="SauceOptions.LightMayonnaise;VALUE" xml:space="preserve">
<value>Mayonnaise légère</value>
</data>
<data name="SauceOptions.RegularMayonnaise;VALUE" xml:space="preserve">
<value>Mayonnaise ordinaire</value>
</data>
<data name="SauceOptions.Mustard;VALUE" xml:space="preserve">
<value>Moutarde</value>
</data>
<data name="SauceOptions.Oil;VALUE" xml:space="preserve">
<value>Huile</value>
</data>
<data name="SauceOptions.Pepper;VALUE" xml:space="preserve">
<value>Poivre</value>
</data>
<data name="SauceOptions.Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="SauceOptions.SweetOnion;VALUE" xml:space="preserve">
<value>Oignon doux</value>
</data>
<data name="SauceOptions.Vinegar;VALUE" xml:space="preserve">
<value>Vinaigre</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Sous-ensemble de caractères spéciaux</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Adresse de remise</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Délai de livraison</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>votre expérience aujourd'hui</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Bienvenue sur le bot d'ordre "sandwich" !</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="SandwichOptions.BLT;LIST" xml:space="preserve">
<value>blts?</value>
</data>
<data name="SandwichOptions.BlackForestHam;LIST" xml:space="preserve">
<value>noirs? ; forêts? ; jambons? ; noirs? forêts? ; forêts? jambons? ; noirs? forêts? jambons?</value>
</data>
<data name="SandwichOptions.BuffaloChicken;LIST" xml:space="preserve">
<value>buffles? ; poulets? ; buffles? poulets?</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>poulets? ; et ; bacons? ; ranchs? ; fond? ; poulets? et ; et bacons? ; bacons? ranchs? ; ranchs? fond? ; poulets? et bacons? ; et bah? ranchs? ; bacons? ranchs? fond? ; poulets? et bah? ranchs? ; et bah? ranchs? fond? ; faire fondre le poulet et bacon ranch</value>
</data>
<data name="SandwichOptions.ColdCutCombo;LIST" xml:space="preserve">
<value>rhumes? ; Coupe? ; combos? ; rhumes? Coupe? ; Cuts? combos? ; rhumes? Cuts? combos?</value>
</data>
<data name="SandwichOptions.MeatballMarinara;LIST" xml:space="preserve">
<value>boulettes de viande? ; marinaras? ; boulettes de viande? marinaras?</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;LIST" xml:space="preserve">
<value>fours? ; roasteds? ; poulets?; o Vens? roasteds? ; roasteds? poulets?; o Vens? roasteds? poulets?</value>
</data>
<data name="SandwichOptions.RoastBeef;LIST" xml:space="preserve">
<value>rôtis? ; Beefs? ; rôtis? Beefs?</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s? ; styles? ; poulets? ; rotis\w*s? styles? ; styles? poulets? ; rotis\w*s? styles? poulets?</value>
</data>
<data name="SandwichOptions.SpicyItalian;LIST" xml:space="preserve">
<value>spicys? ; italiens? ; spicys? italiens?</value>
</data>
<data name="SandwichOptions.SteakAndCheese;LIST" xml:space="preserve">
<value>biftecks? ; et ; fromages? ; biftecks? et ; et fromages? ; biftecks? et les fromages?</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sucreries?; o nions? ; teriyakis? ; sucreries? oignons?; o nions? teriyakis? ; sucreries? oignons? teriyakis?</value>
</data>
<data name="SandwichOptions.Tuna;LIST" xml:space="preserve">
<value>thons?</value>
</data>
<data name="SandwichOptions.TurkeyBreast;LIST" xml:space="preserve">
<value>dindons? ; seins? ; dindes? seins?</value>
</data>
<data name="SandwichOptions.Veggie;LIST" xml:space="preserve">
<value>légumes?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>Quel genre de {&amp;} souhaiteriez-vous? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>longueurs?</value>
</data>
<data name="LengthOptions.SixInch;LIST" xml:space="preserve">
<value>six ; inchs? ; six pouces?</value>
</data>
<data name="LengthOptions.FootLong;LIST" xml:space="preserve">
<value>ressuage? ; longs? ; ressuage? Aspire?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>Quelle est la taille du "sandwich" voulez-vous? {||}</value>
</data>
<data name="Bread_terms;LIST" xml:space="preserve">
<value>pains?</value>
</data>
<data name="BreadOptions.NineGrainWheat;LIST" xml:space="preserve">
<value>neuf ; céréales? ; blés? ; neuf grains? ; grains? blés? ; neuf grains? blés?</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;LIST" xml:space="preserve">
<value>neuf ; céréales? ; miels?; o ATS? ; neuf grains? ; grains? miels? ; miels? avoine? ; neuf grains? miels? ; grains? miels? avoine? ; neuf grains? miels? avoine?</value>
</data>
<data name="BreadOptions.Italian;LIST" xml:space="preserve">
<value>italiens?</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italiens? ; herbes? ; et ; fromages? ; italiens? herbes? ; fines herbes? et ; et fromages? ; italiens? fines herbes? et ; herbes? fromages et? ; italiens? fines herbes? et les fromages?</value>
</data>
<data name="BreadOptions.Flatbread;LIST" xml:space="preserve">
<value>pains plats?</value>
</data>
<data name="Cheese_terms;LIST" xml:space="preserve">
<value>fromages?</value>
</data>
<data name="CheeseOptions.American;LIST" xml:space="preserve">
<value>américains?</value>
</data>
<data name="CheeseOptions.MontereyCheddar;LIST" xml:space="preserve">
<value>montereys? ; cheddars? ; montereys? cheddars?</value>
</data>
<data name="CheeseOptions.Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Toppings_terms;LIST" xml:space="preserve">
<value>garnitures?</value>
</data>
<data name="ToppingOptions.Everything;LIST" xml:space="preserve">
<value>sauf ; mais ; non ; non ; tous ; tout</value>
</data>
<data name="ToppingOptions.Avocado;LIST" xml:space="preserve">
<value>avocats?</value>
</data>
<data name="ToppingOptions.BananaPeppers;LIST" xml:space="preserve">
<value>bananes? ; piments? ; piments? bananes?</value>
</data>
<data name="ToppingOptions.Cucumbers;LIST" xml:space="preserve">
<value>concombres?</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;LIST" xml:space="preserve">
<value>verts? ; poivrons? ; poivrons? verts?; piments? ; verts? cloches? ; cloches? piments? ; verts? cloches? piments?</value>
</data>
<data name="ToppingOptions.Jalapenos;LIST" xml:space="preserve">
<value>piments jalapenos?</value>
</data>
<data name="ToppingOptions.Lettuce;LIST" xml:space="preserve">
<value>laitues?</value>
</data>
<data name="ToppingOptions.Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="ToppingOptions.Pickles;LIST" xml:space="preserve">
<value>cornichons?</value>
</data>
<data name="ToppingOptions.RedOnion;LIST" xml:space="preserve">
<value>rouge?; oignons? ; oignon rouge</value>
</data>
<data name="ToppingOptions.Spinach;LIST" xml:space="preserve">
<value>épinards?</value>
</data>
<data name="ToppingOptions.Tomatoes;LIST" xml:space="preserve">
<value>tomates?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>Pour les garnitures "sandwich" vous avez sélectionné {Toppings}.</value>
</data>
<data name="Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="SauceOptions.HoneyMustard;LIST" xml:space="preserve">
<value>miels? ; moutardes? ; miels? moutardes?</value>
</data>
<data name="SauceOptions.LightMayonnaise;LIST" xml:space="preserve">
<value>lumières? ; mayonnaises? ; lumières? mayonnaises?</value>
</data>
<data name="SauceOptions.RegularMayonnaise;LIST" xml:space="preserve">
<value>les habitués? ; mayonnaises? ; habitués? mayonnaises?</value>
</data>
<data name="SauceOptions.Mustard;LIST" xml:space="preserve">
<value>moutardes?</value>
</data>
<data name="SauceOptions.Oil;LIST" xml:space="preserve">
<value>huiles?</value>
</data>
<data name="SauceOptions.Pepper;LIST" xml:space="preserve">
<value>poivrons?</value>
</data>
<data name="SauceOptions.Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="SauceOptions.SweetOnion;LIST" xml:space="preserve">
<value>sucreries?; o nions? ; sucreries? oignons?</value>
</data>
<data name="SauceOptions.Vinegar;LIST" xml:space="preserve">
<value>vinaigres?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>offres spéciales?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>optimisent? ; adresse? ; optimisent? adresse?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>optimisent? ; fois? ; optimisent? fois?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>A quelle heure voulez-vous que votre "sandwich" livré? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez commander votre {Length} {Sandwich} sur {Bread} {&amp;Bread} avec {[{Cheese} {Toppings} {Sauces}]} à {DeliveryAddress} {? à {DeliveryTime:t}}?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>notations?</value>
</data>
<data name="message15;LIST" xml:space="preserve">
<value>Merci de commander un sandwich !</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>Aucun</value>
</data>
<data name="PhoneNumber_description;VALUE" xml:space="preserve">
<value>Numéro de téléphone</value>
</data>
<data name="PhoneNumber_terms;LIST" xml:space="preserve">
<value>téléphones? ; numéros de? ; les téléphones ? numéros ?</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>Je ne comprends pas « {0} ». ; Essayez encore une fois, je ne comprends pas « {0} ».</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>Quel genre de {&amp;} vous souhaitez sur votre "sandwich" ? {||}</value>
</data>
<data name="SandwichImage;VALUE" xml:space="preserve">
<value>https://placeholdit.imgix.net/~text?txtsize=16&amp;txt=Sandwich&amp;w=125&amp;h=40&amp;txttrack=0&amp;txtclr=000&amp;txtfont=bold</value>
</data>
<data name="BreadSubTitle;VALUE" xml:space="preserve">
<value>Sélecteur de pain</value>
</data>
<data name="BreadTitle;VALUE" xml:space="preserve">
<value>Bot "sandwich"</value>
</data>
<data name="StatusFormat;DeliveryTime;TEMPLATE" xml:space="preserve">
<value>{&amp;}: {:t}</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,504 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>Sandwich</value>
</data>
<data name="SandwichOptions.BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="SandwichOptions.BlackForestHam;VALUE" xml:space="preserve">
<value>Black Forest Ham</value>
</data>
<data name="SandwichOptions.BuffaloChicken;VALUE" xml:space="preserve">
<value>Buffalo Chicken</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Chicken And Bacon Ranch Melt</value>
</data>
<data name="SandwichOptions.ColdCutCombo;VALUE" xml:space="preserve">
<value>Cold Cut Combo</value>
</data>
<data name="SandwichOptions.MeatballMarinara;VALUE" xml:space="preserve">
<value>Meatball Marinara</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Oven Roasted Chicken</value>
</data>
<data name="SandwichOptions.RoastBeef;VALUE" xml:space="preserve">
<value>Roast Beef</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie Style Chicken</value>
</data>
<data name="SandwichOptions.SpicyItalian;VALUE" xml:space="preserve">
<value>Spicy Italian</value>
</data>
<data name="SandwichOptions.SteakAndCheese;VALUE" xml:space="preserve">
<value>Steak And Cheese</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Sweet Onion Teriyaki</value>
</data>
<data name="SandwichOptions.Tuna;VALUE" xml:space="preserve">
<value>Tuna</value>
</data>
<data name="SandwichOptions.TurkeyBreast;VALUE" xml:space="preserve">
<value>Turkey Breast</value>
</data>
<data name="SandwichOptions.Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Length</value>
</data>
<data name="LengthOptions.SixInch;VALUE" xml:space="preserve">
<value>Six Inch</value>
</data>
<data name="LengthOptions.FootLong;VALUE" xml:space="preserve">
<value>Foot Long</value>
</data>
<data name="Bread_description;VALUE" xml:space="preserve">
<value>Bread</value>
</data>
<data name="BreadOptions.NineGrainWheat;VALUE" xml:space="preserve">
<value>Nine Grain Wheat</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Nine Grain Honey Oat</value>
</data>
<data name="BreadOptions.Italian;VALUE" xml:space="preserve">
<value>Italian</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Italian Herbs And Cheese</value>
</data>
<data name="BreadOptions.Flatbread;VALUE" xml:space="preserve">
<value>Flatbread</value>
</data>
<data name="Cheese_description;VALUE" xml:space="preserve">
<value>Cheese</value>
</data>
<data name="CheeseOptions.American;VALUE" xml:space="preserve">
<value>American</value>
</data>
<data name="CheeseOptions.MontereyCheddar;VALUE" xml:space="preserve">
<value>Monterey Cheddar</value>
</data>
<data name="CheeseOptions.Pepperjack;VALUE" xml:space="preserve">
<value>Pepperjack</value>
</data>
<data name="Toppings_description;VALUE" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="ToppingOptions.Everything;VALUE" xml:space="preserve">
<value>Everything</value>
</data>
<data name="ToppingOptions.Avocado;VALUE" xml:space="preserve">
<value>Avocado</value>
</data>
<data name="ToppingOptions.BananaPeppers;VALUE" xml:space="preserve">
<value>Banana Peppers</value>
</data>
<data name="ToppingOptions.Cucumbers;VALUE" xml:space="preserve">
<value>Cucumbers</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;VALUE" xml:space="preserve">
<value>Green Bell Peppers</value>
</data>
<data name="ToppingOptions.Jalapenos;VALUE" xml:space="preserve">
<value>Jalapenos</value>
</data>
<data name="ToppingOptions.Lettuce;VALUE" xml:space="preserve">
<value>Lettuce</value>
</data>
<data name="ToppingOptions.Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="ToppingOptions.Pickles;VALUE" xml:space="preserve">
<value>Pickles</value>
</data>
<data name="ToppingOptions.RedOnion;VALUE" xml:space="preserve">
<value>Red Onion</value>
</data>
<data name="ToppingOptions.Spinach;VALUE" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="ToppingOptions.Tomatoes;VALUE" xml:space="preserve">
<value>Tomatoes</value>
</data>
<data name="Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="SauceOptions.HoneyMustard;VALUE" xml:space="preserve">
<value>Honey Mustard</value>
</data>
<data name="SauceOptions.LightMayonnaise;VALUE" xml:space="preserve">
<value>Light Mayonnaise</value>
</data>
<data name="SauceOptions.RegularMayonnaise;VALUE" xml:space="preserve">
<value>Regular Mayonnaise</value>
</data>
<data name="SauceOptions.Mustard;VALUE" xml:space="preserve">
<value>Mustard</value>
</data>
<data name="SauceOptions.Oil;VALUE" xml:space="preserve">
<value>Oil</value>
</data>
<data name="SauceOptions.Pepper;VALUE" xml:space="preserve">
<value>Pepper</value>
</data>
<data name="SauceOptions.Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="SauceOptions.SweetOnion;VALUE" xml:space="preserve">
<value>Sweet Onion</value>
</data>
<data name="SauceOptions.Vinegar;VALUE" xml:space="preserve">
<value>Vinegar</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Specials</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Delivery Address</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Delivery Time</value>
</data>
<data name="PhoneNumber_description;VALUE" xml:space="preserve">
<value>Phone Number</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>your experience today</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Welcome to the sandwich order bot!</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="SandwichOptions.BLT;LIST" xml:space="preserve">
<value>blts?</value>
</data>
<data name="SandwichOptions.BlackForestHam;LIST" xml:space="preserve">
<value>blacks?;forests?;hams?;blacks? forests?;forests? hams?;blacks? forests? hams?</value>
</data>
<data name="SandwichOptions.BuffaloChicken;LIST" xml:space="preserve">
<value>buffalos?;chickens?;buffalos? chickens?</value>
</data>
<data name="SandwichOptions.ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>chickens?;and;bacons?;ranchs?;melts?;chickens? and;and bacons?;bacons? ranchs?;ranchs? melts?;chickens? and bacons?;and bacons? ranchs?;bacons? ranchs? melts?;chickens? and bacons? ranchs?;and bacons? ranchs? melts?;chicken and bacon ranch melt</value>
</data>
<data name="SandwichOptions.ColdCutCombo;LIST" xml:space="preserve">
<value>colds?;cuts?;combos?;colds? cuts?;cuts? combos?;colds? cuts? combos?</value>
</data>
<data name="SandwichOptions.MeatballMarinara;LIST" xml:space="preserve">
<value>meatballs?;marinaras?;meatballs? marinaras?</value>
</data>
<data name="SandwichOptions.OvenRoastedChicken;LIST" xml:space="preserve">
<value>ovens?;roasteds?;chickens?;ovens? roasteds?;roasteds? chickens?;ovens? roasteds? chickens?</value>
</data>
<data name="SandwichOptions.RoastBeef;LIST" xml:space="preserve">
<value>roasts?;beefs?;roasts? beefs?</value>
</data>
<data name="SandwichOptions.RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s?;styles?;chickens?;rotis\w*s? styles?;styles? chickens?;rotis\w*s? styles? chickens?</value>
</data>
<data name="SandwichOptions.SpicyItalian;LIST" xml:space="preserve">
<value>spicys?;italians?;spicys? italians?</value>
</data>
<data name="SandwichOptions.SteakAndCheese;LIST" xml:space="preserve">
<value>steaks?;and;cheeses?;steaks? and;and cheeses?;steaks? and cheeses?</value>
</data>
<data name="SandwichOptions.SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sweets?;onions?;teriyakis?;sweets? onions?;onions? teriyakis?;sweets? onions? teriyakis?</value>
</data>
<data name="SandwichOptions.Tuna;LIST" xml:space="preserve">
<value>tunas?</value>
</data>
<data name="SandwichOptions.TurkeyBreast;LIST" xml:space="preserve">
<value>turkeys?;breasts?;turkeys? breasts?</value>
</data>
<data name="SandwichOptions.Veggie;LIST" xml:space="preserve">
<value>veggies?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>What kind of {&amp;} would you like? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>lengths?</value>
</data>
<data name="LengthOptions.SixInch;LIST" xml:space="preserve">
<value>six;inchs?;six inchs?</value>
</data>
<data name="LengthOptions.FootLong;LIST" xml:space="preserve">
<value>foots?;longs?;foots? longs?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>What size of sandwich do you want? {||}</value>
</data>
<data name="Bread_terms;LIST" xml:space="preserve">
<value>breads?</value>
</data>
<data name="BreadOptions.NineGrainWheat;LIST" xml:space="preserve">
<value>nine;grains?;wheats?;nine grains?;grains? wheats?;nine grains? wheats?</value>
</data>
<data name="BreadOptions.NineGrainHoneyOat;LIST" xml:space="preserve">
<value>nine;grains?;honeys?;oats?;nine grains?;grains? honeys?;honeys? oats?;nine grains? honeys?;grains? honeys? oats?;nine grains? honeys? oats?</value>
</data>
<data name="BreadOptions.Italian;LIST" xml:space="preserve">
<value>italians?</value>
</data>
<data name="BreadOptions.ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italians?;herbs?;and;cheeses?;italians? herbs?;herbs? and;and cheeses?;italians? herbs? and;herbs? and cheeses?;italians? herbs? and cheeses?</value>
</data>
<data name="BreadOptions.Flatbread;LIST" xml:space="preserve">
<value>flatbreads?</value>
</data>
<data name="Cheese_terms;LIST" xml:space="preserve">
<value>cheeses?</value>
</data>
<data name="CheeseOptions.American;LIST" xml:space="preserve">
<value>americans?</value>
</data>
<data name="CheeseOptions.MontereyCheddar;LIST" xml:space="preserve">
<value>montereys?;cheddars?;montereys? cheddars?</value>
</data>
<data name="CheeseOptions.Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Toppings_terms;LIST" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="ToppingOptions.Everything;LIST" xml:space="preserve">
<value>except;but;not;no;all;everything</value>
</data>
<data name="ToppingOptions.Avocado;LIST" xml:space="preserve">
<value>avocados?</value>
</data>
<data name="ToppingOptions.BananaPeppers;LIST" xml:space="preserve">
<value>bananas?;peppers?;bananas? peppers?</value>
</data>
<data name="ToppingOptions.Cucumbers;LIST" xml:space="preserve">
<value>cucumbers?</value>
</data>
<data name="ToppingOptions.GreenBellPeppers;LIST" xml:space="preserve">
<value>greens?;bells?;peppers?;greens? bells?;bells? peppers?;greens? bells? peppers?</value>
</data>
<data name="ToppingOptions.Jalapenos;LIST" xml:space="preserve">
<value>jalapenos?</value>
</data>
<data name="ToppingOptions.Lettuce;LIST" xml:space="preserve">
<value>lettuces?</value>
</data>
<data name="ToppingOptions.Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="ToppingOptions.Pickles;LIST" xml:space="preserve">
<value>pickles?</value>
</data>
<data name="ToppingOptions.RedOnion;LIST" xml:space="preserve">
<value>reds?;onions?;reds? onions?</value>
</data>
<data name="ToppingOptions.Spinach;LIST" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="ToppingOptions.Tomatoes;LIST" xml:space="preserve">
<value>tomatoes?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>For sandwich toppings you have selected {Toppings}.</value>
</data>
<data name="Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="SauceOptions.HoneyMustard;LIST" xml:space="preserve">
<value>honeys?;mustards?;honeys? mustards?</value>
</data>
<data name="SauceOptions.LightMayonnaise;LIST" xml:space="preserve">
<value>lights?;mayonnaises?;lights? mayonnaises?</value>
</data>
<data name="SauceOptions.RegularMayonnaise;LIST" xml:space="preserve">
<value>regulars?;mayonnaises?;regulars? mayonnaises?</value>
</data>
<data name="SauceOptions.Mustard;LIST" xml:space="preserve">
<value>mustards?</value>
</data>
<data name="SauceOptions.Oil;LIST" xml:space="preserve">
<value>oils?</value>
</data>
<data name="SauceOptions.Pepper;LIST" xml:space="preserve">
<value>peppers?</value>
</data>
<data name="SauceOptions.Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="SauceOptions.SweetOnion;LIST" xml:space="preserve">
<value>sweets?;onions?;sweets? onions?</value>
</data>
<data name="SauceOptions.Vinegar;LIST" xml:space="preserve">
<value>vinegars?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>specials?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>deliverys?;address?;deliverys? address?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>deliverys?;times?;deliverys? times?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>What time do you want your sandwich delivered? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Do you want to order your {Length} {Sandwich} on {Bread} {&amp;Bread} with {[{Cheese} {Toppings} {Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?</value>
</data>
<data name="PhoneNumber_terms;LIST" xml:space="preserve">
<value>phones?;numbers?;phones? numbers?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>ratings?</value>
</data>
<data name="message15;LIST" xml:space="preserve">
<value>Thanks for ordering a sandwich!</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>I do not understand "{0}".;Try again, I don't get "{0}".</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Bread;Cheese;Toppings;Sauces;Specials;DeliveryAddress;DeliveryTime;PhoneNumber;Rating;TEMPLATE" xml:space="preserve">
<value>What kind of {&amp;} would you like on your sandwich? {||}</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>None</value>
</data>
<data name="BreadSubTitle;VALUE" xml:space="preserve">
<value>Bread Picker</value>
</data>
<data name="BreadTitle;VALUE" xml:space="preserve">
<value>Sandwich Bot</value>
</data>
<data name="SandwichImage;VALUE" xml:space="preserve">
<value>https://placeholdit.imgix.net/~text?txtsize=16&amp;txt=Sandwich&amp;w=125&amp;h=40&amp;txttrack=0&amp;txtclr=000&amp;txtfont=bold</value>
</data>
<data name="StatusFormat;DeliveryTime;TEMPLATE" xml:space="preserve">
<value>{&amp;}: {:t}</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,387 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>Sandwich</value>
</data>
<data name="Sandwich_valueDescriptions;BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="Sandwich_valueDescriptions;BlackForestHam;VALUE" xml:space="preserve">
<value>Black Forest Ham</value>
</data>
<data name="Sandwich_valueDescriptions;BuffaloChicken;VALUE" xml:space="preserve">
<value>Buffalo Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Chicken And Bacon Ranch Melt</value>
</data>
<data name="Sandwich_valueDescriptions;ColdCutCombo;VALUE" xml:space="preserve">
<value>Cold Cut Combo</value>
</data>
<data name="Sandwich_valueDescriptions;MeatballMarinara;VALUE" xml:space="preserve">
<value>Meatball Marinara</value>
</data>
<data name="Sandwich_valueDescriptions;OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Oven Roasted Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;RoastBeef;VALUE" xml:space="preserve">
<value>Roast Beef</value>
</data>
<data name="Sandwich_valueDescriptions;RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie Style Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;SpicyItalian;VALUE" xml:space="preserve">
<value>Spicy Italian</value>
</data>
<data name="Sandwich_valueDescriptions;SteakAndCheese;VALUE" xml:space="preserve">
<value>Steak And Cheese</value>
</data>
<data name="Sandwich_valueDescriptions;SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Sweet Onion Teriyaki</value>
</data>
<data name="Sandwich_valueDescriptions;Tuna;VALUE" xml:space="preserve">
<value>Tuna</value>
</data>
<data name="Sandwich_valueDescriptions;TurkeyBreast;VALUE" xml:space="preserve">
<value>Turkey Breast</value>
</data>
<data name="Sandwich_valueDescriptions;Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Length</value>
</data>
<data name="Length_valueDescriptions;SixInch;VALUE" xml:space="preserve">
<value>Six Inch</value>
</data>
<data name="Length_valueDescriptions;FootLong;VALUE" xml:space="preserve">
<value>Foot Long</value>
</data>
<data name="Ingredients.Bread_description;VALUE" xml:space="preserve">
<value>Bread</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainWheat;VALUE" xml:space="preserve">
<value>Nine Grain Wheat</value>
</data>
<data name="Ingredients.Cheese_description;VALUE" xml:space="preserve">
<value>Cheese</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;American;VALUE" xml:space="preserve">
<value>American</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;MontereyCheddar;VALUE" xml:space="preserve">
<value>Monterey Cheddar</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;Pepperjack;VALUE" xml:space="preserve">
<value>Pepperjack</value>
</data>
<data name="Ingredients.Toppings_description;VALUE" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Everything;VALUE" xml:space="preserve">
<value>Everything</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Avocado;VALUE" xml:space="preserve">
<value>Avocado</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;BananaPeppers;VALUE" xml:space="preserve">
<value>Banana Peppers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Cucumbers;VALUE" xml:space="preserve">
<value>Cucumbers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;GreenBellPeppers;VALUE" xml:space="preserve">
<value>Green Bell Peppers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Jalapenos;VALUE" xml:space="preserve">
<value>Jalapenos</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Lettuce;VALUE" xml:space="preserve">
<value>Lettuce</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Pickles;VALUE" xml:space="preserve">
<value>Pickles</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;RedOnion;VALUE" xml:space="preserve">
<value>Red Onion</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Spinach;VALUE" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Tomatoes;VALUE" xml:space="preserve">
<value>Tomatoes</value>
</data>
<data name="Ingredients.Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;ChipotleSouthwest;VALUE" xml:space="preserve">
<value>Chipotle Southwest</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;HoneyMustard;VALUE" xml:space="preserve">
<value>Honey Mustard</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;LightMayonnaise;VALUE" xml:space="preserve">
<value>Light Mayonnaise</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;RegularMayonnaise;VALUE" xml:space="preserve">
<value>Regular Mayonnaise</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Mustard;VALUE" xml:space="preserve">
<value>Mustard</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Oil;VALUE" xml:space="preserve">
<value>Oil</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Pepper;VALUE" xml:space="preserve">
<value>Pepper</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;SweetOnion;VALUE" xml:space="preserve">
<value>Sweet Onion</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Vinegar;VALUE" xml:space="preserve">
<value>Vinegar</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Specials</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Delivery Address</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Delivery Time</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>your experience today</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Welcome to the sandwich order bot!</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="Sandwich_valueTerms;BLT;LIST" xml:space="preserve">
<value>blts?</value>
</data>
<data name="Sandwich_valueTerms;BlackForestHam;LIST" xml:space="preserve">
<value>blacks?;forests?;hams?;blacks? forests?;forests? hams?;blacks? forests? hams?</value>
</data>
<data name="Sandwich_valueTerms;BuffaloChicken;LIST" xml:space="preserve">
<value>buffalos?;chickens?;buffalos? chickens?</value>
</data>
<data name="Sandwich_valueTerms;ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>chickens?;and;bacons?;ranchs?;melts?;chickens? and;and bacons?;bacons? ranchs?;ranchs? melts?;chickens? and bacons?;and bacons? ranchs?;bacons? ranchs? melts?;chicken and bacon ranch melt</value>
</data>
<data name="Sandwich_valueTerms;ColdCutCombo;LIST" xml:space="preserve">
<value>colds?;cuts?;combos?;colds? cuts?;cuts? combos?;colds? cuts? combos?</value>
</data>
<data name="Sandwich_valueTerms;MeatballMarinara;LIST" xml:space="preserve">
<value>meatballs?;marinaras?;meatballs? marinaras?</value>
</data>
<data name="Sandwich_valueTerms;OvenRoastedChicken;LIST" xml:space="preserve">
<value>ovens?;roasteds?;chickens?;ovens? roasteds?;roasteds? chickens?;ovens? roasteds? chickens?</value>
</data>
<data name="Sandwich_valueTerms;RoastBeef;LIST" xml:space="preserve">
<value>roasts?;beefs?;roasts? beefs?</value>
</data>
<data name="Sandwich_valueTerms;RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s?;styles?;chickens?;rotis\w*s? styles?;styles? chickens?;rotis\w*s? styles? chickens?</value>
</data>
<data name="Sandwich_valueTerms;SpicyItalian;LIST" xml:space="preserve">
<value>spicys?;italians?;spicys? italians?</value>
</data>
<data name="Sandwich_valueTerms;SteakAndCheese;LIST" xml:space="preserve">
<value>steaks?;and;cheeses?;steaks? and;and cheeses?;steaks? and cheeses?</value>
</data>
<data name="Sandwich_valueTerms;SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sweets?;onions?;teriyakis?;sweets? onions?;onions? teriyakis?;sweets? onions? teriyakis?</value>
</data>
<data name="Sandwich_valueTerms;Tuna;LIST" xml:space="preserve">
<value>tunas?</value>
</data>
<data name="Sandwich_valueTerms;TurkeyBreast;LIST" xml:space="preserve">
<value>turkeys?;breasts?;turkeys? breasts?</value>
</data>
<data name="Sandwich_valueTerms;Veggie;LIST" xml:space="preserve">
<value>veggies?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>What kind of {&amp;} would you like? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>lengths?</value>
</data>
<data name="Length_valueTerms;SixInch;LIST" xml:space="preserve">
<value>six;inchs?;six inchs?</value>
</data>
<data name="Length_valueTerms;FootLong;LIST" xml:space="preserve">
<value>foots?;longs?;foots? longs?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>What size of sandwich do you want? {||}</value>
</data>
<data name="Ingredients.Cheese_terms;LIST" xml:space="preserve">
<value>cheeses?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;American;LIST" xml:space="preserve">
<value>americans?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;MontereyCheddar;LIST" xml:space="preserve">
<value>montereys?;cheddars?;montereys? cheddars?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Ingredients.Toppings_terms;LIST" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Everything;LIST" xml:space="preserve">
<value>except;but;not;no;all;everything</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Avocado;LIST" xml:space="preserve">
<value>avocados?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;BananaPeppers;LIST" xml:space="preserve">
<value>bananas?;peppers?;bananas? peppers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Cucumbers;LIST" xml:space="preserve">
<value>cucumbers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;GreenBellPeppers;LIST" xml:space="preserve">
<value>greens?;bells?;peppers?;greens? bells?;bells? peppers?;greens? bells? peppers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Jalapenos;LIST" xml:space="preserve">
<value>jalapenos?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Lettuce;LIST" xml:space="preserve">
<value>lettuces?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Pickles;LIST" xml:space="preserve">
<value>pickles?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;RedOnion;LIST" xml:space="preserve">
<value>reds?;onions?;reds? onions?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Spinach;LIST" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Tomatoes;LIST" xml:space="preserve">
<value>tomatoes?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>For sandwich toppings you have selected {Ingredients.Toppings}.</value>
</data>
<data name="Ingredients.Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;ChipotleSouthwest;LIST" xml:space="preserve">
<value>chipotles?;southwests?;chipotles? southwests?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;HoneyMustard;LIST" xml:space="preserve">
<value>honeys?;mustards?;honeys? mustards?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;LightMayonnaise;LIST" xml:space="preserve">
<value>lights?;mayonnaises?;lights? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;RegularMayonnaise;LIST" xml:space="preserve">
<value>regulars?;mayonnaises?;regulars? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Mustard;LIST" xml:space="preserve">
<value>mustards?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Oil;LIST" xml:space="preserve">
<value>oils?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Pepper;LIST" xml:space="preserve">
<value>peppers?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;SweetOnion;LIST" xml:space="preserve">
<value>sweets?;onions?;sweets? onions?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Vinegar;LIST" xml:space="preserve">
<value>vinegars?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>specials?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>deliverys?;address?;deliverys? address?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>deliverys?;times?;deliverys? times?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>What time do you want your sandwich delivered? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Do you want to order your {Length} {Sandwich} on {Ingredients.Bread} {&amp;Ingredients.Bread} with {[{Ingredients.Cheese} {Ingredients.Toppings} {Ingredients.Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>ratings?</value>
</data>
<data name="message14;LIST" xml:space="preserve">
<value>Thanks for ordering a sandwich!</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>I do not understand "{0}".;Try again, I don't get "{0}".</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>What kind of {&amp;} would you like on your sandwich? {||}</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>None</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Nine Grain Honey Oat</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Italian;VALUE" xml:space="preserve">
<value>Italian</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Italian Herbs And Cheese</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Flatbread;VALUE" xml:space="preserve">
<value>Flatbread</value>
</data>
<data name="Ingredients.Bread_terms;LIST" xml:space="preserve">
<value>breads?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainWheat;LIST" xml:space="preserve">
<value>nine;grains?;wheats?;nine grains?;grains? wheats?;nine grains? wheats?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainHoneyOat;LIST" xml:space="preserve">
<value>nine;grains?;honeys?;oats?;nine grains?;grains? honeys?;honeys? oats?;nine grains? honeys?;grains? honeys? oats?;nine grain honey oat</value>
</data>
<data name="Ingredients.Bread_valueTerms;Italian;LIST" xml:space="preserve">
<value>italians?</value>
</data>
<data name="Ingredients.Bread_valueTerms;ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italians?;herbs?;and;cheeses?;italians? herbs?;herbs? and;and cheeses?;italians? herbs? and;herbs? and cheeses?;italian herbs and cheese</value>
</data>
<data name="Ingredients.Bread_valueTerms;Flatbread;LIST" xml:space="preserve">
<value>flatbreads?</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,390 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>"Sandwich"</value>
</data>
<data name="Sandwich_valueDescriptions;BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="Sandwich_valueDescriptions;BlackForestHam;VALUE" xml:space="preserve">
<value>Jambon Forêt Noire</value>
</data>
<data name="Sandwich_valueDescriptions;BuffaloChicken;VALUE" xml:space="preserve">
<value>Poulet Buffalo</value>
</data>
<data name="Sandwich_valueDescriptions;ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Faire fondre le poulet et Bacon Ranch</value>
</data>
<data name="Sandwich_valueDescriptions;ColdCutCombo;VALUE" xml:space="preserve">
<value>Combo de coupe à froid</value>
</data>
<data name="Sandwich_valueDescriptions;MeatballMarinara;VALUE" xml:space="preserve">
<value>Boulette de viande Marinara</value>
</data>
<data name="Sandwich_valueDescriptions;OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Poulet rôti au four</value>
</data>
<data name="Sandwich_valueDescriptions;RoastBeef;VALUE" xml:space="preserve">
<value>Rôti de boeuf</value>
</data>
<data name="Sandwich_valueDescriptions;RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie poulet</value>
</data>
<data name="Sandwich_valueDescriptions;SpicyItalian;VALUE" xml:space="preserve">
<value>Italienne piquante</value>
</data>
<data name="Sandwich_valueDescriptions;SteakAndCheese;VALUE" xml:space="preserve">
<value>Bifteck et fromage</value>
</data>
<data name="Sandwich_valueDescriptions;SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Oignon doux Teriyaki</value>
</data>
<data name="Sandwich_valueDescriptions;Tuna;VALUE" xml:space="preserve">
<value>Thon</value>
</data>
<data name="Sandwich_valueDescriptions;TurkeyBreast;VALUE" xml:space="preserve">
<value>Poitrine de dinde</value>
</data>
<data name="Sandwich_valueDescriptions;Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Longueur</value>
</data>
<data name="Length_valueDescriptions;SixInch;VALUE" xml:space="preserve">
<value>Six pouces</value>
</data>
<data name="Length_valueDescriptions;FootLong;VALUE" xml:space="preserve">
<value>Pied Long</value>
</data>
<data name="Ingredients.Bread_description;VALUE" xml:space="preserve">
<value>Pain</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainWheat;VALUE" xml:space="preserve">
<value>Neuf grains de blé</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Neuf grains miel avoine</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Italian;VALUE" xml:space="preserve">
<value>Italien</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Fromage et herbes italiennes</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Flatbread;VALUE" xml:space="preserve">
<value>Pain plat</value>
</data>
<data name="Ingredients.Cheese_description;VALUE" xml:space="preserve">
<value>Fromage</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;American;VALUE" xml:space="preserve">
<value>Américain</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;MontereyCheddar;VALUE" xml:space="preserve">
<value>Cheddar de Monterey</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;Pepperjack;VALUE" xml:space="preserve">
<value>Crostini</value>
</data>
<data name="Ingredients.Toppings_description;VALUE" xml:space="preserve">
<value>Nappages</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Everything;VALUE" xml:space="preserve">
<value>Tout</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Avocado;VALUE" xml:space="preserve">
<value>Avocat</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;BananaPeppers;VALUE" xml:space="preserve">
<value>Piments bananes</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Cucumbers;VALUE" xml:space="preserve">
<value>Concombres</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;GreenBellPeppers;VALUE" xml:space="preserve">
<value>Poivrons verts</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Jalapenos;VALUE" xml:space="preserve">
<value>Piments jalapenos</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Lettuce;VALUE" xml:space="preserve">
<value>Laitue</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Pickles;VALUE" xml:space="preserve">
<value>Cornichons</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;RedOnion;VALUE" xml:space="preserve">
<value>Oignon rouge</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Spinach;VALUE" xml:space="preserve">
<value>Épinards</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Tomatoes;VALUE" xml:space="preserve">
<value>Tomates</value>
</data>
<data name="Ingredients.Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;ChipotleSouthwest;VALUE" xml:space="preserve">
<value>Chipotle sud-ouest</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;HoneyMustard;VALUE" xml:space="preserve">
<value>Moutarde au miel</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;LightMayonnaise;VALUE" xml:space="preserve">
<value>Mayonnaise légère</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;RegularMayonnaise;VALUE" xml:space="preserve">
<value>Mayonnaise ordinaire</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Mustard;VALUE" xml:space="preserve">
<value>Moutarde</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Oil;VALUE" xml:space="preserve">
<value>Huile</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Pepper;VALUE" xml:space="preserve">
<value>Poivre</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;SweetOnion;VALUE" xml:space="preserve">
<value>Oignon doux</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Vinegar;VALUE" xml:space="preserve">
<value>Vinaigre</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Sous-ensemble de caractères spéciaux</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Adresse de remise</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Délai de livraison</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>votre expérience aujourd'hui</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Bienvenue sur le bot d'ordre "sandwich" !</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="Sandwich_valueTerms;BLT;LIST" xml:space="preserve">
<value>faux?</value>
</data>
<data name="Sandwich_valueTerms;BlackForestHam;LIST" xml:space="preserve">
<value>noirs? ; forêts? ; jambons? ; noirs? forêts? ; forêts? jambons? ; noirs? forêts? jambons?</value>
</data>
<data name="Sandwich_valueTerms;BuffaloChicken;LIST" xml:space="preserve">
<value>buffles? ; poulets? ; buffles? poulets?</value>
</data>
<data name="Sandwich_valueTerms;ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>poulets? ; et ; bacons? ; ranchs? ; fond? ; poulets? et ; et bacons? ; bacons? ranchs? ; ranchs? fond? ; poulets? et bacons? ; et bah? ranchs? ; bacons? ranchs? fond? ; faire fondre le poulet et bacon ranch</value>
</data>
<data name="Sandwich_valueTerms;ColdCutCombo;LIST" xml:space="preserve">
<value>rhumes? ; Coupe? ; combos? ; rhumes? Coupe? ; Cuts? combos? ; rhumes? Cuts? combos?</value>
</data>
<data name="Sandwich_valueTerms;MeatballMarinara;LIST" xml:space="preserve">
<value>boulettes de viande? ; marinaras? ; boulettes de viande? marinaras?</value>
</data>
<data name="Sandwich_valueTerms;OvenRoastedChicken;LIST" xml:space="preserve">
<value>fours? ; roasteds? ; poulets?; o Vens? roasteds? ; roasteds? poulets?; o Vens? roasteds? poulets?</value>
</data>
<data name="Sandwich_valueTerms;RoastBeef;LIST" xml:space="preserve">
<value>rôtis? ; Beefs? ; rôtis? Beefs?</value>
</data>
<data name="Sandwich_valueTerms;RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s? ; styles? ; poulets? ; rotis\w*s? styles? ; styles? poulets? ; rotis\w*s? styles? poulets?</value>
</data>
<data name="Sandwich_valueTerms;SpicyItalian;LIST" xml:space="preserve">
<value>spicys? ; italiens? ; spicys? italiens?</value>
</data>
<data name="Sandwich_valueTerms;SteakAndCheese;LIST" xml:space="preserve">
<value>biftecks? ; et ; fromages? ; biftecks? et ; et fromages? ; biftecks? et les fromages?</value>
</data>
<data name="Sandwich_valueTerms;SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sucreries?; o nions? ; teriyakis? ; sucreries? oignons?; o nions? teriyakis? ; sucreries? oignons? teriyakis?</value>
</data>
<data name="Sandwich_valueTerms;Tuna;LIST" xml:space="preserve">
<value>thons?</value>
</data>
<data name="Sandwich_valueTerms;TurkeyBreast;LIST" xml:space="preserve">
<value>dindons? ; seins? ; dindes? seins?</value>
</data>
<data name="Sandwich_valueTerms;Veggie;LIST" xml:space="preserve">
<value>légumes?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>Quel genre de {&amp;} souhaiteriez-vous? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>longueurs?</value>
</data>
<data name="Length_valueTerms;SixInch;LIST" xml:space="preserve">
<value>six ; inchs? ; six pouces?</value>
</data>
<data name="Length_valueTerms;FootLong;LIST" xml:space="preserve">
<value>ressuage? ; longs? ; ressuage? Aspire?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>Quelle est la taille du "sandwich" voulez-vous? {||}</value>
</data>
<data name="Ingredients.Bread_terms;LIST" xml:space="preserve">
<value>pains?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainWheat;LIST" xml:space="preserve">
<value>neuf ; céréales? ; blés? ; neuf grains? ; grains? blés? ; neuf grains? blés?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainHoneyOat;LIST" xml:space="preserve">
<value>neuf ; céréales? ; miels?; o ATS? ; neuf grains? ; grains? miels? ; miels? avoine? ; neuf grains? miels? ; grains? miels? avoine? ; avoine de miel de neuf grains</value>
</data>
<data name="Ingredients.Bread_valueTerms;Italian;LIST" xml:space="preserve">
<value>italiens?</value>
</data>
<data name="Ingredients.Bread_valueTerms;ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italiens? ; herbes? ; et ; fromages? ; italiens? herbes? ; fines herbes? et ; et fromages? ; italiens? fines herbes? et ; herbes? fromages et? ; fromage et herbes italiennes</value>
</data>
<data name="Ingredients.Bread_valueTerms;Flatbread;LIST" xml:space="preserve">
<value>pains plats?</value>
</data>
<data name="Ingredients.Cheese_terms;LIST" xml:space="preserve">
<value>fromages?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;American;LIST" xml:space="preserve">
<value>américains?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;MontereyCheddar;LIST" xml:space="preserve">
<value>montereys? ; cheddars? ; montereys? cheddars?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Ingredients.Toppings_terms;LIST" xml:space="preserve">
<value>garnitures?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Everything;LIST" xml:space="preserve">
<value>sauf ; mais ; non ; non ; tous ; tout</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Avocado;LIST" xml:space="preserve">
<value>avocats?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;BananaPeppers;LIST" xml:space="preserve">
<value>bananes? ; poivrons? ; bananes? poivrons?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Cucumbers;LIST" xml:space="preserve">
<value>concombres?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;GreenBellPeppers;LIST" xml:space="preserve">
<value>verts? ; cloches? ; poivrons? ; verts? cloches? ; cloches? poivrons? ; verts? cloches? poivrons?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Jalapenos;LIST" xml:space="preserve">
<value>piments jalapenos?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Lettuce;LIST" xml:space="preserve">
<value>laitues?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Pickles;LIST" xml:space="preserve">
<value>cornichons?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;RedOnion;LIST" xml:space="preserve">
<value>Reds?; o nions? ; Reds? oignons?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Spinach;LIST" xml:space="preserve">
<value>épinards?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Tomatoes;LIST" xml:space="preserve">
<value>tomates?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>Pour les garnitures "sandwich" vous avez sélectionné {Ingredients.Toppings}.</value>
</data>
<data name="Ingredients.Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;ChipotleSouthwest;LIST" xml:space="preserve">
<value>chipotles? ; southwests? ; chipotles? southwests?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;HoneyMustard;LIST" xml:space="preserve">
<value>miels? ; moutardes? ; miels? moutardes?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;LightMayonnaise;LIST" xml:space="preserve">
<value>lumières? ; mayonnaises? ; lumières? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;RegularMayonnaise;LIST" xml:space="preserve">
<value>les habitués? ; mayonnaises? ; habitués? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Mustard;LIST" xml:space="preserve">
<value>moutardes?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Oil;LIST" xml:space="preserve">
<value>huiles?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Pepper;LIST" xml:space="preserve">
<value>poivrons?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;SweetOnion;LIST" xml:space="preserve">
<value>sucreries?; o nions? ; sucreries? oignons?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Vinegar;LIST" xml:space="preserve">
<value>vinaigres?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>offres spéciales?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>optimisent? ; adresse? ; optimisent? adresse?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>optimisent? ; fois? ; optimisent? fois?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>A quelle heure voulez-vous que votre "sandwich" livré? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Vous souhaitez commander votre longueur {} {Sandwich} sur {Ingredients.Bread} {&amp;Ingredients.Bread} avec {[{Ingredients.Cheese} {Ingredients.Toppings} {Ingredients.Sauces}]} à {DeliveryAddress} {? à {DeliveryTime:t}}?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>notations?</value>
</data>
<data name="message14;LIST" xml:space="preserve">
<value>Merci de commander un sandwich !</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>Je ne comprends pas « {0} ». ; Essayez encore une fois, je ne comprends pas « {0} ».</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>Quel genre de {&amp;} vous souhaitez sur votre "sandwich"? {||}</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>Aucun</value>
</data>
<data name="StatusFormat;DeliveryTime;TEMPLATE" xml:space="preserve">
<value>{&amp;}: {:t}</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,495 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Sandwich_description;VALUE" xml:space="preserve">
<value>Sandwich</value>
</data>
<data name="Sandwich_valueDescriptions;BLT;VALUE" xml:space="preserve">
<value>BLT</value>
</data>
<data name="Sandwich_valueDescriptions;BlackForestHam;VALUE" xml:space="preserve">
<value>Black Forest Ham</value>
</data>
<data name="Sandwich_valueDescriptions;BuffaloChicken;VALUE" xml:space="preserve">
<value>Buffalo Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;ChickenAndBaconRanchMelt;VALUE" xml:space="preserve">
<value>Chicken And Bacon Ranch Melt</value>
</data>
<data name="Sandwich_valueDescriptions;ColdCutCombo;VALUE" xml:space="preserve">
<value>Cold Cut Combo</value>
</data>
<data name="Sandwich_valueDescriptions;MeatballMarinara;VALUE" xml:space="preserve">
<value>Meatball Marinara</value>
</data>
<data name="Sandwich_valueDescriptions;OvenRoastedChicken;VALUE" xml:space="preserve">
<value>Oven Roasted Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;RoastBeef;VALUE" xml:space="preserve">
<value>Roast Beef</value>
</data>
<data name="Sandwich_valueDescriptions;RotisserieStyleChicken;VALUE" xml:space="preserve">
<value>Rotisserie Style Chicken</value>
</data>
<data name="Sandwich_valueDescriptions;SpicyItalian;VALUE" xml:space="preserve">
<value>Spicy Italian</value>
</data>
<data name="Sandwich_valueDescriptions;SteakAndCheese;VALUE" xml:space="preserve">
<value>Steak And Cheese</value>
</data>
<data name="Sandwich_valueDescriptions;SweetOnionTeriyaki;VALUE" xml:space="preserve">
<value>Sweet Onion Teriyaki</value>
</data>
<data name="Sandwich_valueDescriptions;Tuna;VALUE" xml:space="preserve">
<value>Tuna</value>
</data>
<data name="Sandwich_valueDescriptions;TurkeyBreast;VALUE" xml:space="preserve">
<value>Turkey Breast</value>
</data>
<data name="Sandwich_valueDescriptions;Veggie;VALUE" xml:space="preserve">
<value>Veggie</value>
</data>
<data name="Length_description;VALUE" xml:space="preserve">
<value>Length</value>
</data>
<data name="Length_valueDescriptions;SixInch;VALUE" xml:space="preserve">
<value>Six Inch</value>
</data>
<data name="Length_valueDescriptions;FootLong;VALUE" xml:space="preserve">
<value>Foot Long</value>
</data>
<data name="Ingredients.Bread_description;VALUE" xml:space="preserve">
<value>Bread</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainWheat;VALUE" xml:space="preserve">
<value>Nine Grain Wheat</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;NineGrainHoneyOat;VALUE" xml:space="preserve">
<value>Nine Grain Honey Oat</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Italian;VALUE" xml:space="preserve">
<value>Italian</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;ItalianHerbsAndCheese;VALUE" xml:space="preserve">
<value>Italian Herbs And Cheese</value>
</data>
<data name="Ingredients.Bread_valueDescriptions;Flatbread;VALUE" xml:space="preserve">
<value>Flatbread</value>
</data>
<data name="Ingredients.Cheese_description;VALUE" xml:space="preserve">
<value>Cheese</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;American;VALUE" xml:space="preserve">
<value>American</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;MontereyCheddar;VALUE" xml:space="preserve">
<value>Monterey Cheddar</value>
</data>
<data name="Ingredients.Cheese_valueDescriptions;Pepperjack;VALUE" xml:space="preserve">
<value>Pepperjack</value>
</data>
<data name="Ingredients.Toppings_description;VALUE" xml:space="preserve">
<value>Toppings</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Everything;VALUE" xml:space="preserve">
<value>Everything</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Avocado;VALUE" xml:space="preserve">
<value>Avocado</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;BananaPeppers;VALUE" xml:space="preserve">
<value>Banana Peppers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Cucumbers;VALUE" xml:space="preserve">
<value>Cucumbers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;GreenBellPeppers;VALUE" xml:space="preserve">
<value>Green Bell Peppers</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Jalapenos;VALUE" xml:space="preserve">
<value>Jalapenos</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Lettuce;VALUE" xml:space="preserve">
<value>Lettuce</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Olives;VALUE" xml:space="preserve">
<value>Olives</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Pickles;VALUE" xml:space="preserve">
<value>Pickles</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;RedOnion;VALUE" xml:space="preserve">
<value>Red Onion</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Spinach;VALUE" xml:space="preserve">
<value>Spinach</value>
</data>
<data name="Ingredients.Toppings_valueDescriptions;Tomatoes;VALUE" xml:space="preserve">
<value>Tomatoes</value>
</data>
<data name="Ingredients.Sauces_description;VALUE" xml:space="preserve">
<value>Sauces</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;ChipotleSouthwest;VALUE" xml:space="preserve">
<value>Chipotle Southwest</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;HoneyMustard;VALUE" xml:space="preserve">
<value>Honey Mustard</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;LightMayonnaise;VALUE" xml:space="preserve">
<value>Light Mayonnaise</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;RegularMayonnaise;VALUE" xml:space="preserve">
<value>Regular Mayonnaise</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Mustard;VALUE" xml:space="preserve">
<value>Mustard</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Oil;VALUE" xml:space="preserve">
<value>Oil</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Pepper;VALUE" xml:space="preserve">
<value>Pepper</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Ranch;VALUE" xml:space="preserve">
<value>Ranch</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;SweetOnion;VALUE" xml:space="preserve">
<value>Sweet Onion</value>
</data>
<data name="Ingredients.Sauces_valueDescriptions;Vinegar;VALUE" xml:space="preserve">
<value>Vinegar</value>
</data>
<data name="Specials_description;VALUE" xml:space="preserve">
<value>Specials</value>
</data>
<data name="DeliveryAddress_description;VALUE" xml:space="preserve">
<value>Delivery Address</value>
</data>
<data name="DeliveryTime_description;VALUE" xml:space="preserve">
<value>Delivery Time</value>
</data>
<data name="Rating_description;VALUE" xml:space="preserve">
<value>your experience today</value>
</data>
<data name="message0;LIST" xml:space="preserve">
<value>Welcome to the sandwich order bot!</value>
</data>
<data name="Sandwich_terms;LIST" xml:space="preserve">
<value>sandwichs?</value>
</data>
<data name="Sandwich_valueTerms;BLT;LIST" xml:space="preserve">
<value>blts?</value>
</data>
<data name="Sandwich_valueTerms;BlackForestHam;LIST" xml:space="preserve">
<value>blacks?;forests?;hams?;blacks? forests?;forests? hams?;blacks? forests? hams?</value>
</data>
<data name="Sandwich_valueTerms;BuffaloChicken;LIST" xml:space="preserve">
<value>buffalos?;chickens?;buffalos? chickens?</value>
</data>
<data name="Sandwich_valueTerms;ChickenAndBaconRanchMelt;LIST" xml:space="preserve">
<value>chickens?;and;bacons?;ranchs?;melts?;chickens? and;and bacons?;bacons? ranchs?;ranchs? melts?;chickens? and bacons?;and bacons? ranchs?;bacons? ranchs? melts?;chicken and bacon ranch melt</value>
</data>
<data name="Sandwich_valueTerms;ColdCutCombo;LIST" xml:space="preserve">
<value>colds?;cuts?;combos?;colds? cuts?;cuts? combos?;colds? cuts? combos?</value>
</data>
<data name="Sandwich_valueTerms;MeatballMarinara;LIST" xml:space="preserve">
<value>meatballs?;marinaras?;meatballs? marinaras?</value>
</data>
<data name="Sandwich_valueTerms;OvenRoastedChicken;LIST" xml:space="preserve">
<value>ovens?;roasteds?;chickens?;ovens? roasteds?;roasteds? chickens?;ovens? roasteds? chickens?</value>
</data>
<data name="Sandwich_valueTerms;RoastBeef;LIST" xml:space="preserve">
<value>roasts?;beefs?;roasts? beefs?</value>
</data>
<data name="Sandwich_valueTerms;RotisserieStyleChicken;LIST" xml:space="preserve">
<value>rotis\w*s?;styles?;chickens?;rotis\w*s? styles?;styles? chickens?;rotis\w*s? styles? chickens?</value>
</data>
<data name="Sandwich_valueTerms;SpicyItalian;LIST" xml:space="preserve">
<value>spicys?;italians?;spicys? italians?</value>
</data>
<data name="Sandwich_valueTerms;SteakAndCheese;LIST" xml:space="preserve">
<value>steaks?;and;cheeses?;steaks? and;and cheeses?;steaks? and cheeses?</value>
</data>
<data name="Sandwich_valueTerms;SweetOnionTeriyaki;LIST" xml:space="preserve">
<value>sweets?;onions?;teriyakis?;sweets? onions?;onions? teriyakis?;sweets? onions? teriyakis?</value>
</data>
<data name="Sandwich_valueTerms;Tuna;LIST" xml:space="preserve">
<value>tunas?</value>
</data>
<data name="Sandwich_valueTerms;TurkeyBreast;LIST" xml:space="preserve">
<value>turkeys?;breasts?;turkeys? breasts?</value>
</data>
<data name="Sandwich_valueTerms;Veggie;LIST" xml:space="preserve">
<value>veggies?</value>
</data>
<data name="Sandwich_promptDefinition;LIST" xml:space="preserve">
<value>What kind of {&amp;} would you like? {||}</value>
</data>
<data name="Length_terms;LIST" xml:space="preserve">
<value>lengths?</value>
</data>
<data name="Length_valueTerms;SixInch;LIST" xml:space="preserve">
<value>six;inchs?;six inchs?</value>
</data>
<data name="Length_valueTerms;FootLong;LIST" xml:space="preserve">
<value>foots?;longs?;foots? longs?</value>
</data>
<data name="Length_promptDefinition;LIST" xml:space="preserve">
<value>What size of sandwich do you want? {||}</value>
</data>
<data name="Ingredients.Bread_terms;LIST" xml:space="preserve">
<value>breads?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainWheat;LIST" xml:space="preserve">
<value>nine;grains?;wheats?;nine grains?;grains? wheats?;nine grains? wheats?</value>
</data>
<data name="Ingredients.Bread_valueTerms;NineGrainHoneyOat;LIST" xml:space="preserve">
<value>nine;grains?;honeys?;oats?;nine grains?;grains? honeys?;honeys? oats?;nine grains? honeys?;grains? honeys? oats?;nine grain honey oat</value>
</data>
<data name="Ingredients.Bread_valueTerms;Italian;LIST" xml:space="preserve">
<value>italians?</value>
</data>
<data name="Ingredients.Bread_valueTerms;ItalianHerbsAndCheese;LIST" xml:space="preserve">
<value>italians?;herbs?;and;cheeses?;italians? herbs?;herbs? and;and cheeses?;italians? herbs? and;herbs? and cheeses?;italian herbs and cheese</value>
</data>
<data name="Ingredients.Bread_valueTerms;Flatbread;LIST" xml:space="preserve">
<value>flatbreads?</value>
</data>
<data name="Ingredients.Cheese_terms;LIST" xml:space="preserve">
<value>cheeses?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;American;LIST" xml:space="preserve">
<value>americans?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;MontereyCheddar;LIST" xml:space="preserve">
<value>montereys?;cheddars?;montereys? cheddars?</value>
</data>
<data name="Ingredients.Cheese_valueTerms;Pepperjack;LIST" xml:space="preserve">
<value>pepperjacks?</value>
</data>
<data name="Ingredients.Toppings_terms;LIST" xml:space="preserve">
<value>toppings?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Everything;LIST" xml:space="preserve">
<value>except;but;not;no;all;everything</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Avocado;LIST" xml:space="preserve">
<value>avocados?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;BananaPeppers;LIST" xml:space="preserve">
<value>bananas?;peppers?;bananas? peppers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Cucumbers;LIST" xml:space="preserve">
<value>cucumbers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;GreenBellPeppers;LIST" xml:space="preserve">
<value>greens?;bells?;peppers?;greens? bells?;bells? peppers?;greens? bells? peppers?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Jalapenos;LIST" xml:space="preserve">
<value>jalapenos?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Lettuce;LIST" xml:space="preserve">
<value>lettuces?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Olives;LIST" xml:space="preserve">
<value>olives?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Pickles;LIST" xml:space="preserve">
<value>pickles?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;RedOnion;LIST" xml:space="preserve">
<value>reds?;onions?;reds? onions?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Spinach;LIST" xml:space="preserve">
<value>spinachs?</value>
</data>
<data name="Ingredients.Toppings_valueTerms;Tomatoes;LIST" xml:space="preserve">
<value>tomatoes?</value>
</data>
<data name="message6;LIST" xml:space="preserve">
<value>For sandwich toppings you have selected {Ingredients.Toppings}.</value>
</data>
<data name="Ingredients.Sauces_terms;LIST" xml:space="preserve">
<value>sauces?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;ChipotleSouthwest;LIST" xml:space="preserve">
<value>chipotles?;southwests?;chipotles? southwests?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;HoneyMustard;LIST" xml:space="preserve">
<value>honeys?;mustards?;honeys? mustards?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;LightMayonnaise;LIST" xml:space="preserve">
<value>lights?;mayonnaises?;lights? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;RegularMayonnaise;LIST" xml:space="preserve">
<value>regulars?;mayonnaises?;regulars? mayonnaises?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Mustard;LIST" xml:space="preserve">
<value>mustards?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Oil;LIST" xml:space="preserve">
<value>oils?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Pepper;LIST" xml:space="preserve">
<value>peppers?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Ranch;LIST" xml:space="preserve">
<value>ranchs?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;SweetOnion;LIST" xml:space="preserve">
<value>sweets?;onions?;sweets? onions?</value>
</data>
<data name="Ingredients.Sauces_valueTerms;Vinegar;LIST" xml:space="preserve">
<value>vinegars?</value>
</data>
<data name="Specials_terms;LIST" xml:space="preserve">
<value>specials?</value>
</data>
<data name="DeliveryAddress_terms;LIST" xml:space="preserve">
<value>deliverys?;address?;deliverys? address?</value>
</data>
<data name="DeliveryTime_terms;LIST" xml:space="preserve">
<value>deliverys?;times?;deliverys? times?</value>
</data>
<data name="DeliveryTime_promptDefinition;LIST" xml:space="preserve">
<value>What time do you want your sandwich delivered? {||}</value>
</data>
<data name="confirmation12_promptDefinition;LIST" xml:space="preserve">
<value>Do you want to order your {Length} {Sandwich} on {Ingredients.Bread} {&amp;Ingredients.Bread} with {[{Ingredients.Cheese} {Ingredients.Toppings} {Ingredients.Sauces}]} to be sent to {DeliveryAddress} {?at {DeliveryTime:t}}?</value>
</data>
<data name="Rating_terms;LIST" xml:space="preserve">
<value>ratings?</value>
</data>
<data name="message14;LIST" xml:space="preserve">
<value>Thanks for ordering a sandwich!</value>
</data>
<data name="NotUnderstood;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>I do not understand "{0}".;Try again, I don't get "{0}".</value>
</data>
<data name="EnumSelectOne;Sandwich;Length;Ingredients.Bread;Ingredients.Cheese;Ingredients.Toppings;Ingredients.Sauces;Specials;DeliveryAddress;DeliveryTime;Rating;TEMPLATE" xml:space="preserve">
<value>What kind of {&amp;} would you like on your sandwich? {||}</value>
</data>
<data name="NoPreference;Specials;TEMPLATE" xml:space="preserve">
<value>None</value>
</data>
<data name="StatusFormat;DeliveryTime;TEMPLATE" xml:space="preserve">
<value>{&amp;}: {:t}</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,49 @@
using Microsoft.Bot.Builder.Classic.FormFlow;
using System;
using System.Collections.Generic;
#pragma warning disable 649
// The SandwichOrder is the simple form you want to fill out. It must be serializable so the bot can be stateless.
// The order of fields defines the default order in which questions will be asked.
// Enumerations shows the legal options for each field in the SandwichOrder and the order is the order values will be presented
// in a conversation.
namespace Microsoft.Bot.Sample.SimpleSandwichBot
{
public enum SandwichOptions
{
BLT, BlackForestHam, BuffaloChicken, ChickenAndBaconRanchMelt, ColdCutCombo, MeatballMarinara,
OvenRoastedChicken, RoastBeef, RotisserieStyleChicken, SpicyItalian, SteakAndCheese, SweetOnionTeriyaki, Tuna,
TurkeyBreast, Veggie
};
public enum LengthOptions { SixInch, FootLong };
public enum BreadOptions { NineGrainWheat, NineGrainHoneyOat, Italian, ItalianHerbsAndCheese, Flatbread };
public enum CheeseOptions { American, MontereyCheddar, Pepperjack };
public enum ToppingOptions
{
Avocado, BananaPeppers, Cucumbers, GreenBellPeppers, Jalapenos,
Lettuce, Olives, Pickles, RedOnion, Spinach, Tomatoes
};
public enum SauceOptions
{
ChipotleSouthwest, HoneyMustard, LightMayonnaise, RegularMayonnaise,
Mustard, Oil, Pepper, Ranch, SweetOnion, Vinegar
};
[Serializable]
public class SandwichOrder
{
public SandwichOptions? Sandwich;
public LengthOptions? Length;
public BreadOptions? Bread;
public CheeseOptions? Cheese;
public List<ToppingOptions> Toppings;
public List<SauceOptions> Sauce;
public static IForm<SandwichOrder> BuildForm()
{
return new FormBuilder<SandwichOrder>()
.Message("Welcome to the simple sandwich order bot!")
.Build();
}
};
}

Просмотреть файл

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autofac" version="4.6.2" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
<package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />
</packages>

381
tests/FormTest/pizza.cs Normal file
Просмотреть файл

@ -0,0 +1,381 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license.
//
// Microsoft Bot Framework: http://botframework.com
//
// Bot Builder SDK GitHub:
// https://github.com/Microsoft/BotBuilder
//
// Copyright (c) Microsoft Corporation
// All rights reserved.
//
// MIT License:
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using FormTest.Resource;
using Microsoft.Bot.Builder.Classic.FormFlow;
using Microsoft.Bot.Builder.Classic.FormFlow.Advanced;
using Microsoft.Bot.Builder.Classic.Resource;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Resources;
using System.Text;
using System.Threading;
#pragma warning disable 649
namespace Microsoft.Bot.Builder.Classic.FormFlowTest
{
public enum SizeOptions
{
// 0 value in enums is reserved for unknown values. Either you can supply an explicit one or start enumeration at 1.
// Unknown,
[Terms("med", "medium")]
Medium,
Large,
[Terms("family", "extra large")]
Family
};
public enum PizzaOptions
{
Unknown, SignaturePizza, GourmetDelitePizza, StuffedPizza,
[Terms("byo", "build your own")]
[Describe("Build your own")]
BYOPizza
};
public enum SignatureOptions { Hawaiian = 1, Pepperoni, MurphysCombo, ChickenGarlic, TheCowboy };
public enum GourmetDeliteOptions { SpicyFennelSausage = 1, AngusSteakAndRoastedGarlic, GourmetVegetarian, ChickenBaconArtichoke, HerbChickenMediterranean };
public enum StuffedOptions { ChickenBaconStuffed = 1, ChicagoStyleStuffed, FiveMeatStuffed };
// Fresh Pan is large pizza only
public enum CrustOptions
{
Original = 1, Thin, Stuffed, FreshPan, GlutenFree
};
public enum SauceOptions
{
[Terms("traditional", "tomatoe?")]
Traditional = 1,
CreamyGarlic, OliveOil
};
public enum ToppingOptions
{
[Terms("except", "but", "not", "no", "all", "everything")]
[Describe("All except")]
All = 1,
Beef,
BlackOlives,
CanadianBacon,
CrispyBacon,
Garlic,
GreenPeppers,
GrilledChicken,
[Terms("herb & cheese", "herb and cheese", "herb and cheese blend", "herb")]
HerbAndCheeseBlend,
ItalianSausage,
ArtichokeHearts,
MixedOnions,
[Terms("Mozzarella Cheese", MaxPhrase = 2)]
MozzarellaCheese,
Mushroom,
Onions,
ParmesanCheese,
Pepperoni,
Pineapple,
RomaTomatoes,
Salami,
Spinach,
SunDriedTomatoes,
Zucchini,
ExtraCheese
};
public enum CouponOptions { None, Large20Percent, Pepperoni20Percent };
[Serializable]
public class BYOPizza
{
public CrustOptions Crust;
public SauceOptions Sauce;
private List<ToppingOptions> _toppings;
public List<ToppingOptions> Toppings
{
get { return _toppings; }
set
{
_toppings = _ProcessToppings(value);
}
}
public bool HalfAndHalf;
private List<ToppingOptions> _halfToppings;
public List<ToppingOptions> HalfToppings
{
get
{
return _halfToppings;
}
set
{
_halfToppings = _ProcessToppings(value);
}
}
private List<ToppingOptions> _ProcessToppings(List<ToppingOptions> options)
{
if (options != null && options.Contains(ToppingOptions.All))
{
options = (from ToppingOptions topping in Enum.GetValues(typeof(ToppingOptions))
where topping != ToppingOptions.All && !options.Contains(topping)
select topping).ToList();
}
return options;
}
};
[Serializable]
public class PizzaOrder
{
[Numeric(1, 10)]
public int NumberOfPizzas = 1;
[Optional]
public SizeOptions? Size;
// [Prompt("What kind of pizza do you want? {||}", Format = "{1}")]
[Prompt("What kind of pizza do you want? {||}")]
// [Prompt("What {&Kind} of pizza do you want? {||}", Name = "inline", Style = PromptStyle.Inline)]
// [Prompt("What {&Kind} of pizza do you want? {||}", Name = "value", Format = "{1}")]
[Template(TemplateUsage.NotUnderstood, new string[] { "What does \"{0}\" mean???", "Really \"{0}\"???" })]
[Describe("Kind of pizza")]
public PizzaOptions Kind;
public SignatureOptions Signature;
public GourmetDeliteOptions GourmetDelite;
public StuffedOptions Stuffed;
public BYOPizza BYO;
[Optional]
public List<CouponOptions> Coupons;
[Optional]
public CouponOptions Coupon;
public string DeliveryAddress;
[Numeric(1, 5)]
[Optional]
public double? Rating;
public DateTime Available;
[Optional]
[Numeric(1, 3)]
public int? Bottles;
public List<string> Specials;
[Pattern(@"(\(\d{3}\))?\s*\d{3}(-|\s*)\d{4}")]
public string Phone;
public override string ToString()
{
var builder = new StringBuilder();
builder.AppendFormat("PizzaOrder({0}, ", Size);
switch (Kind)
{
case PizzaOptions.BYOPizza:
builder.AppendFormat("{0}, {1}, {2}, [", Kind, BYO.Crust, BYO.Sauce);
foreach (var topping in BYO.Toppings)
{
builder.AppendFormat("{0} ", topping);
}
builder.AppendFormat("]");
if (BYO.HalfAndHalf)
{
builder.AppendFormat(", [");
foreach (var topping in BYO.HalfToppings)
{
builder.AppendFormat("{0} ", topping);
}
builder.Append("]");
}
break;
case PizzaOptions.GourmetDelitePizza:
builder.AppendFormat("{0}, {1}", Kind, GourmetDelite);
break;
case PizzaOptions.SignaturePizza:
builder.AppendFormat("{0}, {1}", Kind, Signature);
break;
case PizzaOptions.StuffedPizza:
builder.AppendFormat("{0}, {1}", Kind, Stuffed);
break;
}
builder.AppendFormat(", {0}, {1}, {2})", DeliveryAddress, Coupon, Rating ?? 0.0);
return builder.ToString();
}
public static IForm<PizzaOrder> BuildForm(bool noNumbers = false, bool ignoreAnnotations = false, bool localize = false, ChoiceStyleOptions style = ChoiceStyleOptions.AutoText)
{
var builder = new FormBuilder<PizzaOrder>(ignoreAnnotations);
ActiveDelegate<PizzaOrder> isBYO = (pizza) => pizza.Kind == PizzaOptions.BYOPizza;
ActiveDelegate<PizzaOrder> isSignature = (pizza) => pizza.Kind == PizzaOptions.SignaturePizza;
ActiveDelegate<PizzaOrder> isGourmet = (pizza) => pizza.Kind == PizzaOptions.GourmetDelitePizza;
ActiveDelegate<PizzaOrder> isStuffed = (pizza) => pizza.Kind == PizzaOptions.StuffedPizza;
// form.Configuration().DefaultPrompt.Feedback = FeedbackOptions.Always;
if (noNumbers)
{
builder.Configuration.DefaultPrompt.ChoiceFormat = "{1}";
builder.Configuration.DefaultPrompt.ChoiceCase = CaseNormalization.Lower;
builder.Configuration.DefaultPrompt.ChoiceParens = BoolDefault.False;
}
else
{
builder.Configuration.DefaultPrompt.ChoiceFormat = "{0}. {1}";
}
builder.Configuration.DefaultPrompt.ChoiceStyle = style;
Func<PizzaOrder, double> computeCost = (order) =>
{
double cost = 0.0;
switch (order.Size)
{
case SizeOptions.Medium: cost = 10; break;
case SizeOptions.Large: cost = 15; break;
case SizeOptions.Family: cost = 20; break;
}
return cost;
};
MessageDelegate<PizzaOrder> costDelegate = async (state) =>
{
double cost = 0.0;
switch (state.Size)
{
case SizeOptions.Medium: cost = 10; break;
case SizeOptions.Large: cost = 15; break;
case SizeOptions.Family: cost = 20; break;
}
cost *= state.NumberOfPizzas;
return new PromptAttribute(string.Format(DynamicPizza.Cost, cost));
};
var form = builder
.Message("Welcome to the pizza bot!!!")
.Message("Lets make pizza!!!")
.Field(nameof(PizzaOrder.NumberOfPizzas))
.Field(nameof(PizzaOrder.Size))
.Field(nameof(PizzaOrder.Kind))
.Field(new FieldReflector<PizzaOrder>(nameof(PizzaOrder.Specials))
.SetType(null)
.SetDefine(async (state, field) =>
{
var specials = field
.SetFieldDescription(DynamicPizza.Special)
.SetFieldTerms(DynamicPizza.SpecialTerms.SplitList())
.RemoveValues();
if (state.NumberOfPizzas > 1)
{
specials
.SetAllowsMultiple(true)
.AddDescription("special1", DynamicPizza.Special1)
.AddTerms("special1", DynamicPizza.Special1Terms.SplitList());
}
specials
.AddDescription("special2", DynamicPizza.Special2)
.AddTerms("special2", DynamicPizza.Special2Terms.SplitList());
return true;
}))
.Field("BYO.HalfAndHalf", isBYO)
.Field("BYO.Crust", isBYO)
.Field("BYO.Sauce", isBYO)
.Field("BYO.Toppings", isBYO)
.Field("BYO.HalfToppings", (pizza) => isBYO(pizza) && pizza.BYO != null && pizza.BYO.HalfAndHalf)
.Message("Almost there!!! {*filled}", isBYO)
.Field(nameof(PizzaOrder.GourmetDelite), isGourmet)
.Field(nameof(PizzaOrder.Signature), isSignature)
.Field(nameof(PizzaOrder.Stuffed), isStuffed)
.Message("What we have is a {?{Signature} signature pizza} {?{GourmetDelite} gourmet pizza} {?{Stuffed} {&Stuffed}} {?{?{BYO.Crust} {&BYO.Crust}} {?{BYO.Sauce} {&BYO.Sauce}} {?{BYO.Toppings}}} pizza")
.Field("DeliveryAddress", validate:
async (state, value) =>
{
var result = new ValidateResult { IsValid = true, Value = value };
var str = value as string;
if (str.Length == 0 || str[0] < '1' || str[0] > '9')
{
result.Feedback = DynamicPizza.AddressHelp;
result.IsValid = false;
}
else
{
result.Feedback = DynamicPizza.AddressFine;
if (str == "1")
{
// Test to see if step is skipped
state.Phone = "111-1111";
}
else if (str == "2")
{
result.Choices = new List<Choice>{
new Choice { Description = new DescribeAttribute("2 Iowa St"), Terms = new TermsAttribute("iowa"), Value = "2 Iowa St"},
new Choice { Description = new DescribeAttribute("2 Kansas St"), Terms = new TermsAttribute("kansas"), Value = "2 Kansas St"}
};
result.IsValid = false;
}
else if (str == "3")
{
result.FeedbackCard = new FormPrompt()
{
Prompt = "Secret place",
Description = new DescribeAttribute(image: @"https://placeholdit.imgix.net/~text?txtsize=12&txt=secret&w=80&h=40&txttrack=0&txtclr=000&txtfont=bold")
};
}
}
return result;
})
.Message(costDelegate)
.Confirm(async (state) =>
{
var cost = computeCost(state);
return new PromptAttribute(string.Format(DynamicPizza.CostConfirm, cost));
})
.AddRemainingFields()
.Message("Rating = {Rating:F1} and [{Rating:F2}]")
.Confirm("Would you like a {Size}, {[{BYO.Crust} {BYO.Sauce} {BYO.Toppings}]} pizza delivered to {DeliveryAddress}?", isBYO)
.Confirm("Would you like a {Size}, {&Signature} {Signature} pizza delivered to {DeliveryAddress}?", isSignature, dependencies: new string[] { "Size", "Kind", "Signature" })
.Confirm("Would you like a {Size}, {&GourmetDelite} {GourmetDelite} pizza delivered to {DeliveryAddress}?", isGourmet)
.Confirm("Would you like a {Size}, {&Stuffed} {Stuffed} pizza delivered to {DeliveryAddress}?", isStuffed)
.OnCompletion(async (session, pizza) => Console.WriteLine("{0}", pizza))
.Build();
if (localize)
{
using (var stream = new FileStream("pizza-" + Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName + ".resx", FileMode.Open))
using (var reader = new ResXResourceReader(stream))
{
IEnumerable<string> missing, extra;
form.Localize(reader.GetEnumerator(), out missing, out extra);
}
}
return form;
}
};
}

Просмотреть файл

@ -33,7 +33,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Diag = System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@ -388,7 +388,7 @@ namespace Microsoft.Bot.Builder.Classic.Tests
{
async Task IActivityLogger.LogAsync(IActivity activity)
{
Trace.TraceInformation($"{activity.Type}: {activity.From.Id} -> {activity.Recipient.Id}");
Diag.Trace.TraceInformation($"{activity.Type}: {activity.From.Id} -> {activity.Recipient.Id}");
}
}
@ -501,7 +501,7 @@ namespace Microsoft.Bot.Builder.Classic.Tests
// echo text back to the user
Actions
.Bind(async (IBotToUser toUser, Capture text, CancellationToken token) =>
.Bind(async (IBotToUser toUser, System.Text.RegularExpressions.Capture text, CancellationToken token) =>
{
await toUser.PostAsync($"echo: {text.Value}");
})
@ -576,7 +576,7 @@ namespace Microsoft.Bot.Builder.Classic.Tests
// start a modal list building dialog
Actions
.Bind(async (IBotToUser toUser, IDialogSystem system, Capture forward, IMessageActivity activity, IDataService<string> service, CancellationToken token) =>
.Bind(async (IBotToUser toUser, IDialogSystem system, System.Text.RegularExpressions.Capture forward, IMessageActivity activity, IDataService<string> service, CancellationToken token) =>
{
var task = system.DialogTasks[0];
if (task.Frames.Any(f => f.Target is ListBuilderDialog<string>))

Просмотреть файл

@ -120,13 +120,13 @@ namespace Microsoft.Bot.Builder.Classic.Tests
Regex regex,
Match match,
CaptureCollection captures,
[Entity("captureAll")] Capture capture,
[Entity("captureAll")] System.Text.RegularExpressions.Capture capture,
[Entity("captureAll")] string text);
[RegexPattern("RegexOne (?<captureOne>.*)")]
[ScorableGroup(0)]
Task RegexOne(
[Entity("captureOne")] Capture capture);
[Entity("captureOne")] System.Text.RegularExpressions.Capture capture);
[RegexPattern("RegexTwo (?<captureTwo>.*)")]
[ScorableGroup(0)]
@ -285,7 +285,7 @@ namespace Microsoft.Bot.Builder.Classic.Tests
It.IsAny<Regex>(),
It.Is<Match>(i => i.Success),
It.Is<CaptureCollection>(c => c.Count > 0),
It.Is<Capture>(c => c.Value == "captureThis"),
It.Is<System.Text.RegularExpressions.Capture>(c => c.Value == "captureThis"),
It.Is<string>(s => s == "captureThis")
))
.Returns(Task.CompletedTask);
@ -309,7 +309,7 @@ namespace Microsoft.Bot.Builder.Classic.Tests
methods
.Setup(m => m.RegexOne
(
It.Is<Capture>(c => c.Value == "captureOneValue")))
It.Is<System.Text.RegularExpressions.Capture>(c => c.Value == "captureOneValue")))
.Returns(Task.CompletedTask);
// act

Просмотреть файл

@ -38,21 +38,24 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Autofac;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Dialogs.Internals;
using Microsoft.Bot.Builder.FormFlow;
using Microsoft.Bot.Builder.FormFlow.Advanced;
using Microsoft.Bot.Builder.FormFlow.Json;
using Microsoft.Bot.Builder.FormFlowTest;
using Microsoft.Bot.Builder.Internals.Fibers;
using Microsoft.Bot.Builder.Luis.Models;
using Microsoft.Bot.Builder.Classic.Dialogs;
using Microsoft.Bot.Builder.Classic.Dialogs.Internals;
using Microsoft.Bot.Builder.Classic.FormFlow;
using Microsoft.Bot.Builder.Classic.FormFlow.Advanced;
#if FORMFLOW_JSON
using Microsoft.Bot.Builder.Classic.FormFlow.Json;
#endif
using Microsoft.Bot.Builder.Classic.Internals.Fibers;
using Microsoft.Bot.Builder.Classic.Luis.Models;
using Microsoft.Bot.Builder.Classic.FormFlowTest;
using Microsoft.Bot.Connector;
using Microsoft.Bot.Schema;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
namespace Microsoft.Bot.Builder.Tests
namespace Microsoft.Bot.Builder.Classic.Tests
{
#pragma warning disable CS1998
@ -127,7 +130,9 @@ namespace Microsoft.Bot.Builder.Tests
{
// There was an error, so record new script and pass on error
await RecordFormScript(newPath, locale, buildForm, options, initialState, entities, inputs);
#if MISSING
TestContext.AddResultFile(newPath);
#endif
throw;
}
}
@ -740,6 +745,7 @@ Is this what you wanted? {||}")
);
}
#if FORMFLOWJSON
[TestMethod]
public async Task CanResolveDynamicFormFromContainer()
{
@ -821,7 +827,7 @@ Is this what you wanted? {||}")
);
}
}
#endif
private class TestFormAttribute
{

Просмотреть файл

@ -1,285 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{508661A7-F47A-4D60-8ED6-69E378ED0E74}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Bot.Builder.Classic.Tests</RootNamespace>
<AssemblyName>Microsoft.Bot.Builder.Classic.Tests</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>CS1998</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>CS1998</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=4.6.2.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\..\packages\Autofac.4.6.2\lib\net45\Autofac.dll</HintPath>
</Reference>
<Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
<HintPath>..\..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.IdentityModel.Logging, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Logging.5.2.1\lib\net451\Microsoft.IdentityModel.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Protocols, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Protocols.5.2.1\lib\net451\Microsoft.IdentityModel.Protocols.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.5.2.1\lib\net451\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Tokens.5.2.1\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.1\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Moq, Version=4.2.1510.2205, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IdentityModel.Tokens.Jwt.5.2.1\lib\net451\System.IdentityModel.Tokens.Jwt.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Compile Include="ActivityExTests.cs" />
<Compile Include="BotDataTests.cs" />
<Compile Include="DisableTests.cs" />
<Compile Include="EndConversationTests.cs" />
<Compile Include="BotTests.cs" />
<Compile Include="ChainTests.cs" />
<Compile Include="DialogTaskManagerTests.cs" />
<Compile Include="DialogTaskTests.cs" />
<Compile Include="DialogTestBase.cs" />
<Compile Include="OrderedContractResolver.cs" />
<Compile Include="PromptRecognizerTests.cs" />
<Compile Include="RaceCondition\RaceConditionTests.cs" />
<Compile Include="RaceCondition\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Resource\TestResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>TestResources.resx</DependentUpon>
</Compile>
<Compile Include="ResolverTests.cs" />
<Compile Include="DispatchDialogTests .cs" />
<Compile Include="ExceptionTests.cs" />
<Compile Include="FiberTests.cs" />
<Compile Include="LuisResolutionTests.cs" />
<Compile Include="LuisTests.cs" />
<Compile Include="LocalizationTests.cs" />
<Compile Include="PromptTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ConversationTest.cs" />
<Compile Include="ActionsTests.cs" />
<Compile Include="ScorableTests.cs" />
<Compile Include="DataStoreTests.cs" />
<Compile Include="DialogModuleTests.cs" />
<Compile Include="TestFiles.cs" />
<Compile Include="GetTokenRefreshTests.cs" />
<Compile Include="UrlTokenTests.cs" />
<Compile Include="RangeTests.cs" />
<Compile Include="ScopeTests.cs" />
<Compile Include="ScorableDialogTests.cs" />
<Compile Include="Script.cs" />
<Compile Include="DispatchTestsBase.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic.csproj">
<Project>{cdfec7d6-847e-4c13-956b-0a960ae3eb60}</Project>
<Name>Microsoft.Bot.Builder.Classic</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Core\Microsoft.Bot.Builder.Core.csproj">
<Project>{f0c150e2-9b8a-444c-b70e-97ad918cb3d4}</Project>
<Name>Microsoft.Bot.Builder.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj">
<Project>{6462da5d-27dc-4cd5-9467-5efb998fd838}</Project>
<Name>Microsoft.Bot.Connector</Name>
</ProjectReference>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj">
<Project>{c1f54cdc-ad1d-45bb-8f7d-f49e411afaf1}</Project>
<Name>Microsoft.Bot.Schema</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="Scripts\BotDispatcher.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\ChoiceDescriptions.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\ChoiceDescriptionsRetry.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\Form_Term_Matching.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\JSON.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\Optional.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\PizzaForm-entities.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\PizzaForm-fr.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\PizzaForm.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\PizzaFormButton.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-dependency.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-Limits.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-next.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-NotUnderstood.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-Preamble.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-Prompter.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm-Skip.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Scripts\SimpleForm.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RaceCondition\Resources.es.resx" />
<EmbeddedResource Include="RaceCondition\Resources.it.resx" />
<EmbeddedResource Include="RaceCondition\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resource\TestResources.es.resx" />
<EmbeddedResource Include="Resource\TestResources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>TestResources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;1705;CS1998</NoWarn>
</PropertyGroup>
<ItemGroup>
<Compile Remove="FormTests.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="3.5.2" />
<PackageReference Include="Chronic.Signed" Version="0.3.2" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.3" targetFramework="net46" />
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.3" targetFramework="net46" />
<PackageReference Include="Microsoft.IdentityModel.Logging" Version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Protocols" Version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="5.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="5.2.1" />
<PackageReference Include="Microsoft.Net.Compilers" Version="1.2.1" targetFramework="net46" developmentDependency="true" />
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="2.3.10" />
<PackageReference Include="Microsoft.WindowsAzure.ConfigurationManager" Version="3.2.1" targetFramework="net46" />
<PackageReference Include="Moq" Version="4.8.2" targetFramework="net46" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="System.CodeDom" Version="4.4.0" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.2.1" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic\Microsoft.Bot.Builder.Classic.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder.Core\Microsoft.Bot.Builder.Core.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Builder\Microsoft.Bot.Builder.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Connector\Microsoft.Bot.Connector.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.Bot.Schema\Microsoft.Bot.Schema.csproj" />
<ProjectReference Include="..\FormTest\FormTest.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework">
<HintPath>..\..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="Scripts\BotDispatcher.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\ChoiceDescriptions.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\ChoiceDescriptionsRetry.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\Form_Term_Matching.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\JSON.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\Optional.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\PizzaForm-entities.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\PizzaForm-fr.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\PizzaForm.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\PizzaFormButton.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-dependency.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-Limits.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-next.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-NotUnderstood.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-Preamble.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-Prompter.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm-Skip.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Scripts\SimpleForm.script">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

Просмотреть файл

@ -5,7 +5,7 @@ using Microsoft.Bot.Schema;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Diag = System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;

Просмотреть файл

@ -6,6 +6,10 @@
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;17051908</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.2.0" />