/// <inheritdoc />
        public LanguageSelectorViewModel CreateViewModel()
        {
            var viewModel = new LanguageSelectorViewModel();

            viewModel.IncludeCurrentLanguage = this.IncludeCurrentLanguage;
            viewModel.CurrentLanguage        = Telerik.Sitefinity.Services.SystemManager.CurrentContext.Culture.Name;
            viewModel.CssClass = this.CssClass;

            IEnumerable <CultureInfo> shownLanguages = this.GetLanguagesToDisplay();

            foreach (var lang in shownLanguages)
            {
                var langName = this.GetDisplayedLanguageName(lang);
                var url      = this.GetUrlForLanguage(lang);
                url = RouteHelper.ResolveUrl(url, UrlResolveOptions.Absolute);

                viewModel.Languages.Add(new LanguageSelectorItem(langName, url, lang.Name));
            }

            return(viewModel);
        }
        /// <inheritdoc />
        public LanguageSelectorViewModel CreateViewModel()
        {
            var viewModel = new LanguageSelectorViewModel();

            viewModel.IncludeCurrentLanguage = this.IncludeCurrentLanguage;
            viewModel.CurrentLanguage        = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName;
            viewModel.CssClass = this.CssClass;

            IEnumerable <CultureInfo> shownLanguages = this.GetLanguagesToDisplay();

            foreach (var lang in shownLanguages)
            {
                var langName = this.GetDisplayedLanguageName(lang);
                var url      = this.GetUrlForLanguage(lang);
                url = RouteHelper.ResolveUrl(url, UrlResolveOptions.Absolute);

                viewModel.Languages.Add(new LanguageSelectorItem(langName, url, lang.Name));
            }

            return(viewModel);
        }