---
title: "Language fallback – changes to APIs"
slug: "language-fallback---changes-to-apis"
abstract: "The changes to the Sitecore API that is introduced with language fallback"
---
# Language fallback – changes to APIs

With the language fallback feature, the following APIs have changed.

<details>
<summary><h2>The Sitecore.Data.Field class</h2></summary>

The following properties and methods have been added to the class:

- `GetLabel(bool showFieldSharingLabels)`– a refactored method that executes the `getFieldLabel` pipeline.
- `ContainsFallbackValue` – a new property that returns true if the field contains fallback value.
- `FallbackValueSource` – a new property that returns the string descriptor of the fallback value source.
- `GetValue(bool allowStandardValue, bool allowDefaultValue, bool allowFallbackValue)` – a new method override with the `allowFallbackValue` parameter.

</details>

<details>
<summary><h2>The Sitecore.Data.Item class</h2></summary>

The following properties have been added to the class:

- `OriginalLanguage` – a property that returns the original language for the current item. If the item is not a fallback item, it returns the `item.Language`.
- `IsFallback` – a property that returns true if the current item is a fallback item.

</details>

<details>
<summary><h2>The Sitecore.Web.SiteInfo class</h2></summary>

The following properties have been added to the class:

- `EnableItemLanguageFallback`
- `EnableFieldLanguageFallback`
- `EnforceVersionPresence`

</details>

<details>
<summary><h2>The ItemAppearance.IsReadOnly class</h2></summary>

The following property is changed:

- `IsReadOnly` – a property that returns true if the `item.IsFallback`  is set to true.

</details>

<details>
<summary><h2>New classes</h2></summary>

Besides the `getItem`, `getFieldValue`, and `getFieldLabel` pipeline processors, the following classes have been introduced to support the language fallback feature:

- `LanguageFallbackManager`
- `LanguageFallbackStrategy`
- `DefaultLanguageFallbackStrategy`
- `LanguageMapping`
- `LanguageFallbackFieldValuesProvider`
- `LanguageFallbackFieldValuesCollection`
- `LanguageFallbackFieldValuesCache`
- `LanguageFallbackFieldValue`
- `EnforceVersionPresenceDisabler`
- `LanguageFallbackItemSwitcher`

</details>