public AdaptiveCardTranslator(IConfiguration configuration)
        {
            MicrosoftTranslatorConfig = new MicrosoftTranslatorConfig(
                configuration[MicrosoftTranslatorKey],
                configuration[MicrosoftTranslatorLocale]);

            var endpoint = configuration[MicrosoftTranslatorEndpoint];

            if (!string.IsNullOrWhiteSpace(endpoint))
            {
                MicrosoftTranslatorConfig.HttpClient = new HttpClient
                {
                    BaseAddress = new Uri(endpoint),
                };
            }
        }
        public static async Task <T> TranslateAsync <T>(
            T card,
            MicrosoftTranslatorConfig config,
            AdaptiveCardTranslatorSettings settings = null,
            CancellationToken cancellationToken     = default)
        {
            if (config is null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            return(await TranslateAsync(
                       card,
                       config.TargetLocale,
                       config.SubscriptionKey,
                       config.HttpClient,
                       settings,
                       cancellationToken).ConfigureAwait(false));
        }