EPiserver:获取当前页面的可用语言列表

问题描述 投票:0回答:1

我想在EPiserver中获取当前页面的可用语言列表。我目前有以下内容:

public static IHtmlString HrefLangLinks(this PageData currentPage)
        {
            IContentRepository repo = ServiceLocator.Current.GetInstance<IContentRepository>();
            var pageLanguagesBranches = repo.GetLanguageBranches<PageData>(currentPage.ContentLink).ToList();
            var availablePageLanguages = FilterForVisitor.Filter(pageLanguagesBranches).OfType<PageData>();

            // Dictionary<String, String>
            return null;
        }

然而,目前availablePageLanguages包含:{System.Linq.Enumerable.d__95}

如何获取语言名称列表?例如de-DE,en-DE或de-AT?

c# episerver
1个回答
1
投票

要获取特定页面的可用语言,您可以从当前页面阅读PageData.ExistingLanguages属性。这将给你一个IEnumerable<CultureInfo>结果。要从每个CultureInfo对象获取语言代码,请阅读CultureInfo.Name属性。

代码如下所示:

currentPage.ExistingLanguages.Select(culture => culture.Name);
© www.soinside.com 2019 - 2024. All rights reserved.