Beispiel #1
0
        protected LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var availableLanguages = _cacheManager.Get(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, () =>
            {
                var result = _languageService
                             .GetAllLanguages()
                             .Where(x => x.LanguageCulture == "en-US" || x.LanguageCulture == "ru-RU")
                             .Select(x => new LanguageModel()
                {
                    Id   = x.Id,
                    Name = x.Name,
                    FlagImageFileName = x.FlagImageFileName,
                })
                             .ToList();
                return(result);
            });
            var currentLanguage = _workContext.WorkingLanguage;

            if (_workContext.WorkingLanguage.LanguageCulture != "en-US" && _workContext.WorkingLanguage.LanguageCulture != "ru-RU")
            {
                currentLanguage = _languageService.GetAllLanguages().Where(x => x.Id == 1).FirstOrDefault();
            }
            var model = new LanguageSelectorModel()
            {
                CurrentLanguageId  = currentLanguage.Id,
                AvailableLanguages = availableLanguages,
                UseImages          = true
            };

            return(model);
        }
Beispiel #2
0
        public ActionResult LanguageSelector()
        {
            //var languages = i18n.LanguageHelpers.GetAppLanguages();
            var languages       = LanguageHelper.AvailableLanguges.Languages;
            var languageCurrent = ControllerContext.RequestContext.HttpContext.GetPrincipalAppLanguageForRequest();

            var model = new LanguageSelectorModel();

            model.Culture     = languageCurrent.GetLanguage();
            model.DisplayName = languageCurrent.GetCultureInfo().NativeName;

            foreach (var language in languages)
            {
                if (language.Culture != languageCurrent.GetLanguage() && language.Enabled)
                {
                    model.LanguageList.Add(new LanguageSelectorModel()
                    {
                        Culture     = language.Culture,
                        DisplayName = language.LanguageTag.CultureInfo.NativeName
                    });
                }
            }

            return(PartialView("_LanguageSelector", model));
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            var languageRepo = _cacheProvider.GetAllLanguage();

            (_helper as IViewContextAware).Contextualize(ViewContext);
            output.TagName = "div";
            output.TagMode = TagMode.StartTagAndEndTag;

            var viewModel = new LanguageSelectorModel()
            {
                Name      = Name,
                Languages = new List <LanguageViewModel>(),
                SetCookieWithJavaScript = SetCookieWithJavaScript
            };

            foreach (var language in languageRepo)
            {
                viewModel.Languages.Add(new LanguageViewModel
                {
                    CultureName = language.CultureName,
                    DisplayName = language.DisplayName,
                    IsSelected  = CultureInfo.CurrentUICulture.DisplayName == language.CultureName,
                });
            }

            var partialView = "~/Components/LanguageSelector/Views/_LanguageSelectorContainer.cshtml";
            var content     = await _helper.PartialAsync(partialView, viewModel);

            output.Content.SetHtmlContent(content);
        }
Beispiel #4
0
        public ActionResult LanguageSelector()
        {
            var avalibleLanguages = _cacheManager.Get(string.Format(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, _storeContext.CurrentStore.Id), () =>
            {
                var result = _languageService
                             .GetAllLanguages(storeId: _storeContext.CurrentStore.Id)
                             .Select(l => new LanguageModel()
                {
                    Id   = l.Id,
                    Name = l.Name,
                    FlagImageFileName = l.FlagImageFileName
                }).ToList();
                return(result);
            });

            var model = new LanguageSelectorModel()
            {
                CurrentLanguageId  = _workContext.WorkingLanguage.Id,
                AvailableLanguages = avalibleLanguages,
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            if (model.AvailableLanguages.Count == 0)
            {
                return(Content(""));
            }

            return(PartialView(model));
        }
Beispiel #5
0
        /// <summary>
        /// Prepare the language selector model
        /// </summary>
        /// <returns>Language selector model</returns>
        public virtual LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var availableLanguages = _cacheManager.Get(string.Format(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, _storeContext.CurrentStore.Id), () =>
            {
                var result = _languageService
                             .GetAllLanguages(storeId: _storeContext.CurrentStore.Id)
                             .Select(x => new LanguageModel
                {
                    Id   = x.Id,
                    Name = x.Name,
                    FlagImageFileName = x.FlagImageFileName,
                })
                             .ToList();
                return(result);
            });

            var model = new LanguageSelectorModel
            {
                CurrentLanguageId  = _workContext.WorkingLanguage.Id,
                AvailableLanguages = availableLanguages,
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            return(model);
        }
Beispiel #6
0
        public ActionResult LanguageSelector()
        {
            var model = new LanguageSelectorModel();

            model.CurrentLanguage    = _workContext.WorkingLanguage.ToModel();
            model.AvailableLanguages = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "en" || x.UniqueSeoCode == "ru").Select(x => x.ToModel()).ToList();
            return(PartialView(model));
        }
Beispiel #7
0
 public ActionResult LanguageSelector()
 {
     var model = new LanguageSelectorModel();
     model.CurrentLanguage = _workContext.WorkingLanguage.ToModel();
     model.AvailableLanguages = _languageService
         .GetAllLanguages(storeId: _storeContext.CurrentStore.Id)
         .Select(x => x.ToModel())
         .ToList();
     return PartialView(model);
 }
Beispiel #8
0
        private LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var model = new LanguageSelectorModel()
            {
                CurrentLanguage    = _workContext.WorkingLanguage.ToModel(),
                AvailableLanguages = _languageService.GetAllLanguages().Select(x => x.ToModel()).ToList(),
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            return(model);
        }
Beispiel #9
0
        public ActionResult LanguageSelector()
        {
            var languageSelectorModel = new LanguageSelectorModel()
            {
                Languages         = JsonConvert.DeserializeObject <List <dynamic> >(JsonConvert.SerializeObject(GetLanguage())),
                CurrentLanguageId = CurrentUser.LanguageId,
                UseImages         = true
            };

            return(View(UrlHelpers.View("~/Views/Shared/_LanguageSelector.cshtml"), languageSelectorModel));
        }
Beispiel #10
0
        public IViewComponentResult Invoke()//original Action name: LanguageSelector
        {
            var model = new LanguageSelectorModel();

            model.CurrentLanguage    = _workContext.WorkingLanguage.ToModel();
            model.AvailableLanguages = _languageService
                                       .GetAllLanguages(storeId: _storeContext.CurrentStore.Id)
                                       .Select(x => x.ToModel())
                                       .ToList();
            return(View(model));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var model = new LanguageSelectorModel();

            model.CurrentLanguage    = _workContext.WorkingLanguage.ToModel();
            model.AvailableLanguages = (await _languageService
                                        .GetAllLanguages(storeId: _storeContext.CurrentStore.Id))
                                       .Select(x => x.ToModel())
                                       .ToList();
            return(View(model));
        }
        public ActionResult LanguageSelector()
        {
            var model = new LanguageSelectorModel()
            {
                CurrentLanguage    = _workContext.WorkingLanguage.ToModel(),
                AvailableLanguages = _languageService.GetAllLanguages().Select(x => x.ToModel()).ToList(),
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            return(PartialView(model));
        }
Beispiel #13
0
        /// <summary>
        /// Prepare language selector model
        /// </summary>
        /// <returns>Language selector model</returns>
        public virtual LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var model = new LanguageSelectorModel
            {
                CurrentLanguage    = _workContext.WorkingLanguage.ToModel(),
                AvailableLanguages = _languageService
                                     .GetAllLanguages(storeId: _storeContext.CurrentStore.Id).Select(language => language.ToModel()).ToList()
            };

            return(model);
        }
Beispiel #14
0
        public virtual ActionResult LanguageSelector()
        {
            var model = new LanguageSelectorModel();

            model.CurrentLanguage    = _workContext.WorkingLanguage.ToModel();
            model.AvailableLanguages = _languageService
                                       .GetAllLanguages()
                                       .Select(l => l.ToModel())
                                       .ToList();

            return(PartialView(model));
        }
Beispiel #15
0
        /// <summary>
        /// Prepare language selector model
        /// </summary>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the language selector model
        /// </returns>
        public virtual async Task<LanguageSelectorModel> PrepareLanguageSelectorModelAsync()
        {
            var model = new LanguageSelectorModel
            {
                CurrentLanguage = (await _workContext.GetWorkingLanguageAsync()).ToModel<LanguageModel>(),
                AvailableLanguages = (await _languageService
                    .GetAllLanguagesAsync(storeId: (await _storeContext.GetCurrentStoreAsync()).Id))
                    .Select(language => language.ToModel<LanguageModel>()).ToList()
            };

            return model;
        }
Beispiel #16
0
        protected LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var availableLanguages = Services.Cache.Get(string.Format(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, Services.StoreContext.CurrentStore.Id), () =>
            {
                var result = _languageService.Value
                             .GetAllLanguages(storeId: Services.StoreContext.CurrentStore.Id)
                             .Select(x => new LanguageModel
                {
                    Id                = x.Id,
                    Name              = x.Name,
                    NativeName        = LocalizationHelper.GetLanguageNativeName(x.LanguageCulture) ?? x.Name,
                    ISOCode           = x.LanguageCulture,
                    SeoCode           = x.UniqueSeoCode,
                    FlagImageFileName = x.FlagImageFileName
                })
                             .ToList();
                return(result);
            });

            var workingLanguage = Services.WorkContext.WorkingLanguage;

            var model = new LanguageSelectorModel
            {
                CurrentLanguageId  = workingLanguage.Id,
                AvailableLanguages = availableLanguages,
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            string defaultSeoCode = _languageService.Value.GetDefaultLanguageSeoCode();

            foreach (var lang in model.AvailableLanguages)
            {
                //var helper = new LocalizedUrlHelper(HttpContext.Request, true);
                var helper = CreateUrlHelperForLanguageSelector(lang, workingLanguage.Id);

                if (_localizationSettings.SeoFriendlyUrlsForLanguagesEnabled)
                {
                    if (lang.SeoCode == defaultSeoCode && (int)(_localizationSettings.DefaultLanguageRedirectBehaviour) > 0)
                    {
                        helper.StripSeoCode();
                    }
                    else
                    {
                        helper.PrependSeoCode(lang.SeoCode, true);
                    }
                }

                model.ReturnUrls[lang.SeoCode] = helper.RelativePath;
            }

            return(model);
        }
        public IViewComponentResult Invoke()
        {
            var model = new LanguageSelectorModel
            {
                CurrentLanguage    = _workContext.WorkingLanguage.ToModel(),
                AvailableLanguages = _languageService
                                     .GetAllLanguages(storeId: 0)
                                     .Select(x => x.ToModel())
                                     .ToList()
            };

            return(View(model));
        }
Beispiel #18
0
        public ActionResult LanguageSelected(int customerlanguage)
        {
            var language = _languageService.GetLanguageById(customerlanguage);

            if (language != null)
            {
                _workContext.WorkingLanguage = language;
            }
            var model = new LanguageSelectorModel();

            model.CurrentLanguage    = _workContext.WorkingLanguage.ToModel();
            model.AvailableLanguages = _languageService.GetAllLanguages().Select(x => x.ToModel()).ToList();
            return(PartialView("LanguageSelector", model));
        }
Beispiel #19
0
        private async Task <LanguageSelectorModel> PrepareLanguageSelector()
        {
            var availableLanguages = (await _languageService
                                      .GetAllLanguages(storeId: _storeContext.CurrentStore.Id))
                                     .Select(x => new LanguageModel {
                Id   = x.Id,
                Name = x.Name,
                FlagImageFileName = x.FlagImageFileName,
            }).ToList();

            var model = new LanguageSelectorModel {
                CurrentLanguageId  = _workContext.WorkingLanguage.Id,
                AvailableLanguages = availableLanguages,
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            return(model);
        }
Beispiel #20
0
        protected LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var availableLanguages = _cacheManager.Get(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, () =>
            {
                var result = _languageService
                             .GetAllLanguages()
                             .Select(x => x.ToModel())
                             .ToList();
                return(result);
            });

            var model = new LanguageSelectorModel()
            {
                CurrentLanguage    = _workContext.WorkingLanguage.ToModel(),
                AvailableLanguages = availableLanguages,
                UseImages          = _localizationSettings.UseImagesForLanguageSelection
            };

            return(model);
        }
        public IViewComponentResult Invoke()
        {
            var availableLanguages = _languageService.GetAllLanguagesAsync().Result
                                     .Select(x => new LanguageModel
            {
                Id   = x.Id,
                Name = x.Name
            }).ToList();

            var model = new LanguageSelectorModel
            {
                CurrentLanguageId  = _workContext.WorkingLanguage.Id,
                AvailableLanguages = availableLanguages
            };

            if (model.AvailableLanguages.Count == 1)
            {
                return(Content(""));
            }

            return(View(model));
        }
        private LanguageSelectorModel PrepareLanguageSelectorModel()
        {
            var lans = _languageWebApi.GetAll().GetAwaiter().GetResult();
            var availableLanguages = _languageWebApi
                                     .GetAll().GetAwaiter().GetResult()
                                     .Select(x => new LanguageSelectorModel.LanguageModel()
            {
                Id   = x.Id,
                Name = x.Name,
                FlagImageFileName = x.FlagImageFileName,
            })
                                     .ToList();

            var model = new LanguageSelectorModel();

            if (availableLanguages.Count() > 0)
            {
                model.CurrentLanguageId  = _workContext.Current.WorkingLanguageId;
                model.AvailableLanguages = availableLanguages;
                model.UseImages          = false; //_localizationSettings.UseImagesForLanguageSelection;
            }

            return(model);
        }
        public ActionResult LanguageSelector()
        {
            var availableLanguages = _cacheManager.Get(string.Format(ModelCacheEventConsumer.AVAILABLE_LANGUAGES_MODEL_KEY, _storeContext.CurrentStore.Id), () =>
            {
                var result = _languageService
                    .GetAllLanguages(storeId: _storeContext.CurrentStore.Id)
                    .Select(x => new LanguageModel
                    {
                        Id = x.Id,
                        Name = x.Name,
                        FlagImageFileName = x.FlagImageFileName,
                    })
                    .ToList();
                return result;
            });

            var model = new LanguageSelectorModel
            {
                CurrentLanguageId = _workContext.WorkingLanguage.Id,
                AvailableLanguages = availableLanguages,
                UseImages = _localizationSettings.UseImagesForLanguageSelection
            };

            if (model.AvailableLanguages.Count == 1)
                Content("");

            return PartialView(model);
        }