/// <summary>
        /// Get the language.
        /// </summary>
        /// <param name="paymentRequest"></param>
        protected virtual string GetLanguageCode(PaymentRequest paymentRequest)
        {
            var culture = paymentRequest.Payment != null && paymentRequest.Payment.PurchaseOrder != null &&
                          paymentRequest.PurchaseOrder.CultureCode != null
                                                          ? new CultureInfo(paymentRequest.Payment.PurchaseOrder.CultureCode)
                                                          : new CultureInfo("en-us");

            // Culture based on order.
            // It's used in the AddLanguage call.
            LocalizationContext.SetCulture(culture);
            var languageCode = "2";

            switch (LocalizationContext.CurrentCultureCode)
            {
            case "da":
            case "da-DK":
                languageCode = "1";
                break;

            case "sv":
            case "sv-SE":
                languageCode = "3";
                break;

            case "no":
            case "nb-NO":
            case "nn-NO":
                languageCode = "4";
                break;

            case "is":
            case "is-IS":
                languageCode = "6";
                break;

            case "de":
            case "de-DE":
                languageCode = "7";
                break;

            case "fi":
            case "fi-FI":
                languageCode = "8";
                break;
            }

            return(languageCode);
        }
        /// <summary>
        /// Adds the language to the <see cref="StringBuilder"/>
        /// </summary>
        protected virtual string GetTwoLetterLanguageCode(PaymentRequest paymentRequest)
        {
            var culture = paymentRequest.Payment != null && paymentRequest.Payment.PurchaseOrder != null &&
                          paymentRequest.PurchaseOrder.CultureCode != null
                                  ? new CultureInfo(paymentRequest.Payment.PurchaseOrder.CultureCode)
                                  : new CultureInfo("en-us");

            // Culture based on order.
            // It's used in the AddLanguage call.
            LocalizationContext.SetCulture(culture);
            var cultureCode = LocalizationContext.CurrentCultureCode;

            var languageCode = "en";

            switch (cultureCode)
            {
            case "da":
            case "da-DK":
                languageCode = "da";
                break;

            case "de":
            case "de-DE":
                languageCode = "de";
                break;

            case "es":
            case "es-ES":
                languageCode = "es";
                break;

            case "fo":
            case "fo-FO":
                languageCode = "fo";
                break;

            case "fi":
            case "fi-FI":
                languageCode = "fi";
                break;

            case "fr":
            case "fr-FR":
                languageCode = "fr";
                break;

            case "it":
            case "it-IT":
                languageCode = "it";
                break;

            case "no":
            case "nb-NO":
            case "nn-NO":
                languageCode = "no";
                break;

            case "nl":
            case "nl-NL":
                languageCode = "nl";
                break;

            case "pl":
            case "pl-PL":
                languageCode = "pl";
                break;

            case "ru":
            case "ru-RU":
                languageCode = "ru";
                break;

            case "sv":
            case "sv-SE":
                languageCode = "sv";
                break;
            }

            return(languageCode);
        }