Struct LocaleIdentifier
Represents identification information for a language or its regional variant. Also includes access to the CultureInfo which provides culture-specific instances of the DateTimeFormatInfo, NumberFormatInfo, CompareInfo, and TextInfo objects.
Namespace: UnityEngine.Localization
Assembly: Unity.Localization.dll
Syntax
[Serializable]
public struct LocaleIdentifier
Examples
This example shows the various ways to create a LocaleIdentifier.
public class LocaleIdentifierExample1 : MonoBehaviour
{
void Start()
{
// Create a locale identifier to represent English
var localeEnglishSystemLanguage = new LocaleIdentifier(SystemLanguage.English);
var localeEnglishCode = new LocaleIdentifier("en");
var localeEnglishCi = new LocaleIdentifier(CultureInfo.GetCultureInfo("en"));
Debug.Log(localeEnglishSystemLanguage);
Debug.Log(localeEnglishCode);
Debug.Log(localeEnglishCi);
}
}
This shows how to create a Locale for English and a regional Locale for English(UK).
public class LocaleIdentifierExample2 : MonoBehaviour
{
void Start()
{
// Create a Locale to represent English.
var localeId = new LocaleIdentifier(SystemLanguage.English);
var locale = Locale.CreateLocale(localeId);
Debug.Log("English locale: " + locale);
// Create a regional Locale to represent English UK.
var regionalLocaleId = new LocaleIdentifier("en-GB");
var regionalLocale = Locale.CreateLocale(regionalLocaleId);
Debug.Log("English(en-GB) locale: " + regionalLocale);
}
}
Constructors
Name | Description |
---|---|
LocaleIdentifier(CultureInfo) | Create a LocaleIdentifier from a CultureInfo instance. |
LocaleIdentifier(string) | Create a LocaleIdentifier from a culture code string. |
LocaleIdentifier(SystemLanguage) | Create a LocaleIdentifier from a SystemLanguage enum value. |
Properties
Name | Description |
---|---|
Code | The culture name in the format [language]-[region]. The name is a combination of an ISO 639 two-letter lowercase culture code associated with a language and an ISO 3166 two-letter uppercase subculture code associated with a country or region. For example, Language English would be 'en', Regional English(UK) would be 'en-GB' and Regional English(US) would be 'en-US'. It is possible to use any string value when representing a non-standard identifier. |
CultureInfo | A CultureInfo representation of the Locale. The Code is used to query for a valid [CultureInfo}(https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo). If a value can not be determined from the Code then null will be returned. |
Methods
Name | Description |
---|---|
CompareTo(LocaleIdentifier) | Compare to another LocaleIdentifier. Performs a comparison against CultureInfo.EnglishName property. |
Equals(object) | Compare the LocaleIdentifier to another LocaleIdentifier. |
Equals(LocaleIdentifier) | Compare the LocaleIdentifier to another LocaleIdentifier. |
GetHashCode() | Returns the hash code of [CultureInfo}(https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo) or Code if it is null. |
Operators
Name | Description |
---|---|
operator ==(LocaleIdentifier, LocaleIdentifier) | Compare the LocaleIdentifier to another LocaleIdentifier. |
implicit operator LocaleIdentifier(CultureInfo) | Create a LocaleIdentifier from a CultureInfo instance. |
implicit operator LocaleIdentifier(string) | Create a LocaleIdentifier from a culture code string. |
implicit operator LocaleIdentifier(SystemLanguage) | Create a LocaleIdentifier from a SystemLanguage enum value. |
operator !=(LocaleIdentifier, LocaleIdentifier) | Compare the LocaleIdentifier to another LocaleIdentifier. |