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