Class DefaultContentLanguageSettingsHandler
Tracks all language settings on a site with support for resolving closest setting at runtime
Inheritance
Implements
Namespace: EPiServer.Core.Internal
Assembly: EPiServer.dll
Version: 12.0.3Syntax
[ServiceConfiguration(ServiceType = null, FactoryMember = "Instance")]
[ServiceConfiguration]
public class DefaultContentLanguageSettingsHandler : Object, IContentLanguageSettingsHandler
Constructors
DefaultContentLanguageSettingsHandler(ServiceAccessor<IContentLoader>, ILanguageBranchRepository, IContentLanguageSettingsResolver)
Declaration
public DefaultContentLanguageSettingsHandler(ServiceAccessor<IContentLoader> contentLoader, ILanguageBranchRepository languageBranchRepository, IContentLanguageSettingsResolver contentLanguageSettingsResolver)
Parameters
| Type | Name | Description |
|---|---|---|
| ServiceAccessor<IContentLoader> | contentLoader | |
| ILanguageBranchRepository | languageBranchRepository | |
| IContentLanguageSettingsResolver | contentLanguageSettingsResolver |
Properties
Instance
The global instance of ContentLanguageSettingsHandler that is used to access information about language settings
Declaration
public static DefaultContentLanguageSettingsHandler Instance { get; }
Property Value
| Type | Description |
|---|---|
| DefaultContentLanguageSettingsHandler |
Methods
Clear()
Clears all currently loaded settings for this instance.
Declaration
public static void Clear()
Remarks
This can be used to force a reload of the settings tree.
ClearCache()
Clears all currently loaded settings for this instance.
Declaration
public void ClearCache()
Remarks
This can be used to force a reload of the settings tree.
Get(ContentReference)
Gets the settings for all languages for the specified content link.
Declaration
public virtual IEnumerable<ContentLanguageSetting> Get(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<ContentLanguageSetting> | An ContentLanguageSetting[] with the language settings for the given content. |
Get(ContentReference, String)
Gets the settings for specified content link and language.
Declaration
public virtual ContentLanguageSetting Get(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
| System.String | languageBranch | The language branch. |
Returns
| Type | Description |
|---|---|
| ContentLanguageSetting | Gets the affective language settings for the content and language or null if no settings exists. |
GetDefaultAllowedLanguage(ContentReference)
Try finding the default language if allowed, otherwise fallback to the first allowed language found
Declaration
public virtual string GetDefaultAllowedLanguage(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content to fetch language for |
Returns
| Type | Description |
|---|---|
| System.String |
GetFallbackLanguages(ContentReference, String)
Gets the fallback languages for the current content and language if any exists.
Declaration
public virtual string[] GetFallbackLanguages(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
| System.String | languageBranch | The language branch. |
Returns
| Type | Description |
|---|---|
| System.String[] | A String[] with the names of the fallback languages. |
Remarks
If no fallback languages are defined for the current content and language an empty string array is returned.
IsLanguageAllowed(ContentReference, String)
Checks if a language is available for a content
Declaration
public virtual bool IsLanguageAllowed(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content to check |
| System.String | languageBranch | The language to check |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the language is allowed on the content |
IsLanguageAllowedForCreation(ContentReference, String)
Determins if a content is allowed in a specific language
Declaration
public virtual bool IsLanguageAllowedForCreation(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content to check |
| System.String | languageBranch | The language to check if it's allowed for the content |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the language is allowed for the content |
Remarks
If no restrictions set on contents, the language must at least be part of the enabled languages for the site
IsSettingsDefined(ContentReference)
Determines whether there exists language settings for the given content.
Declaration
public virtual bool IsSettingsDefined(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
|
MatchLanguageSettings(IContent, String)
Matches a content instance against a requestedLanguage to see if the language version of the content instance
matches settings for replacement or fallback.
Declaration
public virtual LanguageSelectionSource MatchLanguageSettings(IContent content, string requestedLanguage)
Parameters
| Type | Name | Description |
|---|---|---|
| IContent | content | The content instance to match settings against. |
| System.String | requestedLanguage | The language the content instance was requested for. |
Returns
| Type | Description |
|---|---|
| LanguageSelectionSource | Requested if the language version for the content matches |