Struct LocaleIdentifier | Localization | 0.9.0-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Struct LocaleIdentifier

    The identifier containing the identification information for a language or regional variant.

    Namespace: UnityEngine.Localization
    Syntax
    [Serializable]
    public struct LocaleIdentifier : IEquatable<LocaleIdentifier>, IComparable<LocaleIdentifier>
    Examples

    This example shows the various ways to create a LocaleIdentifier.

    public class LocaleIdentifierIdExample1 : 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 LocaleIdentifierIdExample2 : 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

    LocaleIdentifier(CultureInfo)

    Create a LocaleIdentifier from a CultureInfo instance.

    Declaration
    public LocaleIdentifier(CultureInfo culture)
    Parameters
    Type Name Description
    CultureInfo culture
    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if the culture is null.

    LocaleIdentifier(String)

    Create a LocaleIdentifier from a culture code string.

    Declaration
    public LocaleIdentifier(string code)
    Parameters
    Type Name Description
    String code

    LocaleIdentifier(SystemLanguage)

    Create a LocaleIdentifier from a SystemLanguage enum value.

    Declaration
    public LocaleIdentifier(SystemLanguage systemLanguage)
    Parameters
    Type Name Description
    SystemLanguage systemLanguage

    Properties

    Code

    The culture name in the format [language]-[region].

    Declaration
    public string Code { get; }
    Property Value
    Type Description
    String
    Remarks

    For example, Language English would be 'en', Regional English(UK) would be 'en-GB' and Regional English(US) would be 'en-US'.

    CultureInfo

    A CultureInfo representation of the Locale. The Code is used to query for a valid CultureInfo.

    Declaration
    public CultureInfo CultureInfo { get; }
    Property Value
    Type Description
    CultureInfo
    Examples

    This example shows how the CultureInfo can be retrieved after creating a LocaleIdentifier using a Code.

    public class LocaleIdentifierCultureInfoExample : MonoBehaviour
    {
        void Start()
        {
            var localeIdentifier = new LocaleIdentifier("en");
            Debug.Log("Code 'en' maps to the CultureInfo: " + localeIdentifier.CultureInfo.EnglishName);
        }
    }

    Undefined

    Represents an undefined Local Identifier. One that does not define any language or region.

    Declaration
    public static LocaleIdentifier Undefined { get; }
    Property Value
    Type Description
    LocaleIdentifier

    Methods

    CompareTo(LocaleIdentifier)

    Compare to another LocaleIdentifer. Performs a comparison against the EnglishName property.

    Declaration
    public int CompareTo(LocaleIdentifier other)
    Parameters
    Type Name Description
    LocaleIdentifier other
    Returns
    Type Description
    Int32

    Equals(Object)

    Compare the LocaleIdentifier to another LocaleIdentifier.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj
    Returns
    Type Description
    Boolean
    Overrides
    ValueType.Equals(Object)

    Equals(LocaleIdentifier)

    Compare the LocaleIdentifier to another LocaleIdentifier.

    Declaration
    public bool Equals(LocaleIdentifier other)
    Parameters
    Type Name Description
    LocaleIdentifier other
    Returns
    Type Description
    Boolean

    GetHashCode()

    Returns the hash code of CultureInfo or Code if it is null.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32
    Overrides
    ValueType.GetHashCode()

    ToString()

    Returns a string representation.

    Declaration
    public override string ToString()
    Returns
    Type Description
    String
    Overrides
    ValueType.ToString()

    Operators

    Equality(LocaleIdentifier, LocaleIdentifier)

    Compare the LocaleIdentifier to another LocaleIdentifier.

    Declaration
    public static bool operator ==(LocaleIdentifier l1, LocaleIdentifier l2)
    Parameters
    Type Name Description
    LocaleIdentifier l1
    LocaleIdentifier l2
    Returns
    Type Description
    Boolean

    Implicit(CultureInfo to LocaleIdentifier)

    Create a LocaleIdentifier from a CultureInfo instance.

    Declaration
    public static implicit operator LocaleIdentifier(CultureInfo culture)
    Parameters
    Type Name Description
    CultureInfo culture
    Returns
    Type Description
    LocaleIdentifier
    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if the culture is null.

    Implicit(String to LocaleIdentifier)

    Create a LocaleIdentifier from a culture code string.

    Declaration
    public static implicit operator LocaleIdentifier(string code)
    Parameters
    Type Name Description
    String code
    Returns
    Type Description
    LocaleIdentifier

    Implicit(SystemLanguage to LocaleIdentifier)

    Create a LocaleIdentifier from a SystemLanguage enum value.

    Declaration
    public static implicit operator LocaleIdentifier(SystemLanguage systemLanguage)
    Parameters
    Type Name Description
    SystemLanguage systemLanguage
    Returns
    Type Description
    LocaleIdentifier

    Inequality(LocaleIdentifier, LocaleIdentifier)

    Compare the LocaleIdentifier to another LocaleIdentifier.

    Declaration
    public static bool operator !=(LocaleIdentifier l1, LocaleIdentifier l2)
    Parameters
    Type Name Description
    LocaleIdentifier l1
    LocaleIdentifier l2
    Returns
    Type Description
    Boolean
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023