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.
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 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 string Code { get; }
Property Value
CultureInfo
A CultureInfo representation of the Locale.
The Code is used to query for a valid CultureInfo.
If a value can not be determined from the Code then null
will be returned.
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 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
Returns
Equals(Object)
Compare the LocaleIdentifier to another LocaleIdentifier.
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Returns
Equals(LocaleIdentifier)
Compare the LocaleIdentifier to another LocaleIdentifier.
Declaration
public bool Equals(LocaleIdentifier other)
Parameters
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
ToString()
Returns a string representation.
Declaration
public override string ToString()
Returns
Operators
Equality(LocaleIdentifier, LocaleIdentifier)
Compare the LocaleIdentifier to another LocaleIdentifier.
Declaration
public static bool operator ==(LocaleIdentifier l1, LocaleIdentifier l2)
Parameters
Returns
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
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
Implicit(SystemLanguage to LocaleIdentifier)
Create a LocaleIdentifier from a enum value.
Declaration
public static implicit operator LocaleIdentifier(SystemLanguage systemLanguage)
Parameters
Type |
Name |
Description |
SystemLanguage |
systemLanguage |
|
Returns
Inequality(LocaleIdentifier, LocaleIdentifier)
Compare the LocaleIdentifier to another LocaleIdentifier.
Declaration
public static bool operator !=(LocaleIdentifier l1, LocaleIdentifier l2)
Parameters
Returns