Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

Class LanguageSelector

Default implementation of language selection on multilingual pages, see static method AutoDetect for default behaviour

Inheritance
System.Object
LanguageSelector
Implements
System.Collections.Generic.IEnumerable<LoaderOption>
System.Collections.IEnumerable
System.Xml.Serialization.IXmlSerializable
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: EPiServer.Core
Assembly: EPiServer.dll
Version: 11.20.7
Syntax
public class LanguageSelector : LoaderOptions, IEnumerable<LoaderOption>, IEnumerable, ILanguageSelector, IXmlSerializable
Remarks

This class is not thread-safe, it should not be cached or stored in static member variables - always create a new instance of this class by for example calling AutoDetect or using the constructor with a language branch.

Constructors

LanguageSelector()

Initializes a new instance of the LanguageSelector class.

Declaration
protected LanguageSelector()

LanguageSelector(String)

Default constructor for a pre-defined language

Declaration
public LanguageSelector(string languageBranch)
Parameters
Type Name Description
System.String languageBranch

The language branch.

LanguageSelector(String, IContentLanguageSettingsHandler)

Constructor for a pre-defined language that takes in external dependency

Declaration
public LanguageSelector(string languageBranch, IContentLanguageSettingsHandler languageSettingsHandler)
Parameters
Type Name Description
System.String languageBranch

The language branch.

IContentLanguageSettingsHandler languageSettingsHandler

The language settings handler.

Remarks

This is mainly to be used in unit tests. When IContentLanguageSettingsHandler is not specified Instance will be used.

Properties

AutoSelect

Indicates whether the language returned is automatically selected from the pages language configuration.

Declaration
protected bool AutoSelect { get; set; }
Property Value
Type Description
System.Boolean

FallbackToMaster

Indicates whether the returned pages language will fall back to the master language if the requested language doesn't exist.

Declaration
protected bool FallbackToMaster { get; set; }
Property Value
Type Description
System.Boolean

Language

Declaration
public CultureInfo Language { get; set; }
Property Value
Type Description
System.Globalization.CultureInfo

LanguageBranch

Setting the LanguageBranch to a value is equal to creating the object with the parameterized constructor.

Declaration
public string LanguageBranch { get; set; }
Property Value
Type Description
System.String
Remarks

Autodetect and Fallback to master will be set to false

SelectionSource

Gets what selection source was used when selecting the language.

Declaration
public virtual LanguageSelectionSource SelectionSource { get; protected set; }
Property Value
Type Description
LanguageSelectionSource

Methods

AddXmlSchema(XmlSchemaSet)

Supports creating a CMS 5 compatible WSDL schema for LanguageSelector via System.Xml.Serialization.XmlSchemaProviderAttribute

Declaration
public static XmlQualifiedName AddXmlSchema(XmlSchemaSet xs)
Parameters
Type Name Description
System.Xml.Schema.XmlSchemaSet xs
Returns
Type Description
System.Xml.XmlQualifiedName

AutoDetect()

Creates a language selector that reads current language selection and enables replacement and fallback language handling.

Declaration
public static LanguageSelector AutoDetect()
Returns
Type Description
LanguageSelector

A language selector object

Remarks

Using AutoDetect without parameters will result in no master language fallback handling.

AutoDetect(Boolean)

Creates a language selector that reads current language selection and enables fallback languages

Declaration
public static LanguageSelector AutoDetect(bool enableMasterLanguageFallback)
Parameters
Type Name Description
System.Boolean enableMasterLanguageFallback

Enable master language as a last resort for fallback instead of filtering a page

Returns
Type Description
LanguageSelector

A language selector object

Fallback(String, Boolean)

Creates a language selector with a custom language selection and enables fallback languages

Declaration
public static LanguageSelector Fallback(string preferredLanguageBranch, bool enableMasterLanguageFallback)
Parameters
Type Name Description
System.String preferredLanguageBranch

The prefered language branch (overrides user choice)

System.Boolean enableMasterLanguageFallback

Enable master language as a last resort for fallback instead of filtering a page

Returns
Type Description
LanguageSelector

A language selector object

MasterLanguage()

Creates a language selector that always selects the master language of a page

Declaration
public static LanguageSelector MasterLanguage()
Returns
Type Description
LanguageSelector

A language selector object

Implements

System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable
System.Xml.Serialization.IXmlSerializable

Extension Methods