docs.unity3d.com
    Show / Hide Table of Contents

    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
    Syntax
    public struct LocaleIdentifier : IEquatable<LocaleIdentifier>, IComparable<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

    LocaleIdentifier(CultureInfo)

    Create a LocaleIdentifier from a CultureInfo instance.

    Declaration
    public LocaleIdentifier(CultureInfo culture)
    Parameters
    Type Name Description
    CultureInfo culture

    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]. 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.

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

    CultureInfo

    A [CultureInfo}(https://docs.microsoft.com/en-us/dotnet/api/system.globalization.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.

    Declaration
    public readonly 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 CultureInfoExample : MonoBehaviour
    {
    void Start()
    {
        var localeIdentifier = new LocaleIdentifier("en");
        Debug.Log("Code 'en' maps to the CultureInfo: " + localeIdentifier.CultureInfo.NativeName);
    }
    }

    Methods

    CompareTo(LocaleIdentifier)

    Compare to another LocaleIdentifier. Performs a comparison against CultureInfo.EnglishName property.

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

    Value to compare against.

    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

    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}(https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo) or Code if it is null.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32

    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

    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
    Terms of use
    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