Version: Unity 6.7 Alpha (6000.7)
LanguageEnglish
  • C#

LocalizationSettings

class in Unity.Localization

/

Inherits from:ScriptableObject

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

The runtime settings for localization: the available locales, the selected locale, and the resource database.

This is the central entry point for the standalone localization runtime, and it works with no package installed. One active instance is exposed through LocalizationSettings.Instance; its LocalizationSettings.Database (a ResourceDatabase) resolves localized strings and assets. Locales are held here as plain Locale objects, and everything else refers to a locale by its LocaleIdentifier code, resolved through LocalizationSettings.GetLocale. The locale list is polymorphic ([SerializeReference]), so locale subclasses such as a pseudo-locale can be added. Register locales with LocalizationSettings.AddLocale; asset providers can contribute more during LocalizationSettings.InitializeAsync. The startup locale is decided by the LocalizationSettings.StartupSelectors. Call LocalizationSettings.InitializeAsync to load locales and select the startup locale.

Additional resources: ResourceDatabase, Locale, LocaleIdentifier, IStartupLocaleSelector

<para>Initializes localization and switches to a specific locale.</para>

using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples { public class InitializeAndSwitchLocaleExample : MonoBehaviour { async void Start() { await LocalizationSettings.InitializeAsync(); Locale french = LocalizationSettings.Instance.GetLocale(new LocaleIdentifier("fr")); if (french != null) LocalizationSettings.SelectedLocale = french; } } }

Static Properties

Property Description
ConfigName The key under which the active settings are stored as an editor build config object.
HasSettings Whether an active settings instance is registered.
Instance The active settings instance, or null when none is registered.
PreferredLoading The default loading behaviour used by the reference accessors and their change events.
ResourceDatabase The active resource database, or null when no settings instance is registered.
SelectedLocale The currently selected locale, or null when none is selected.

Properties

Property Description
AvailableLocales The locales registered on this settings instance.
Database The resource database that resolves localized content for this instance.
DeferInitialization Whether the system waits for an explicit call to LocalizationSettings.InitializeAsync before it initializes.
IsInitialized Whether initialization has completed.
ProjectLocale The default project locale used when no other locale is selected.
SelectedProvider The asset provider used as the default when creating new localized content.
StartupSelector The selector that chose the startup locale, or null when the chain fell through to the project locale.
StartupSelectors The startup locale selectors, evaluated in order to pick the selected locale on initialization.

Public Methods

Method Description
AddLocale Registers a locale as available, deduplicated by locale code.
EvaluateStartupLocale Runs the startup selector chain and returns the locale it produces, without selecting it.
GetLocale Returns the available locale with the given identifier, or null.
GetSmartFormatter Returns the Smart formatter used to format Smart String entries.
RemoveLocale Removes a locale from the available set.

Static Methods

Method Description
InitializeAsync Loads the available locales and selects the startup locale, running once.

Events

Event Description
InitializationCompleted Raised once after initialization completes.
SelectedLocaleChanged Raised after the selected locale changes.

Inherited Members

Properties

PropertyDescription
hideFlagsControls whether the object is hidden, saved with the scene, and editable by the user.
nameThe name of the object.

Public Methods

MethodDescription
GetEntityIdGets the EntityId of the object.
GetHashCodeReturns the hash code for the object.
ToStringReturns the name of the object.

Static Methods

MethodDescription
DestroyRemoves a GameObject, component, or asset.
DestroyImmediateDestroys the specified object immediately. Use with caution and in Edit mode only.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type T.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object that's related to another GameObject and obtains an AsyncInstantiateOperation instance of the resulting objects.
CreateInstanceCreates an instance of a scriptable object.

Operators

OperatorDescription
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Messages

MessageDescription
AwakeCalled when an instance of ScriptableObject is created.
OnDestroyThis function is called when the scriptable object will be destroyed.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.
OnValidateEditor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
ResetReset to default values.