LocaleId class Locales

A locale identifier (= Unicode language identifier + extensions and privateUse field).

It supports the following identifier types:

  • BCP47 language tags,
  • Unicode locale identifiers,
  • Unicode BCP47 locale identifiers
  • Unicode CLDR locale identifiers

(See https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers for definitions.)

Inheritance

Constructors

LocaleId({String? lang, String? script, String? region, List<String> variants = const [], List<String> extensions = const [], String? privateUse, String? legacyExtensions, String? characterEncoding, String? remainder, UnicodeExtensions? unicodeExtensions})
Create a new LocaleId from the constituent fields.
LocaleId.parse(String input)
Parse the input into a LocaleId
factory

Properties

characterEncoding → String?
Character encoding
final
extensions → List<String>
Language tag extensions
final
hashCode → int
The hash code for this object.
no setter
isEmpty → bool
Check if no attributes are defined
no setter
isGrandfatheredIrregular → bool
Legacy BCP47 language tag
no setterinherited
isLangNullOrUnd → bool
The language is null or 'und' or 'root'.
no setterinherited
isPrivateUse → bool
Private Use Tag, which does not contain any other parts (except for possibly remainder)
no setter
isWellFormed → bool
Check if the locale is well-formed language tag (BCP47 or Unicode), but not a grandfathered or private use tag.
no setter
isWellFormedBCP47 → bool
Check if the locale is well-formed BCP47 language tag
no setter
isWellFormedPrivateUse → bool
Tag with only private use field (allowed for BCP47 tag, not allowed for Unicode tag)
no setter
isWellFormedUnicode → bool
Check if the locale is well-formed Unicode locale identifier
no setter
lang → String?
Language tag language part
finalinherited
langOrNullIfUndefined → String?
Get the language or null in case it is 'und' or 'root'
no setterinherited
langOrUnd → String?
Get the language or 'und' in case it is 'und' or 'root'
no setterinherited
legacyExtensions → String?
Legacy extensions (LDML versions before 1.7.2)
final
privateUse → String?
Language tag private use part
final
region → String?
Language tag region part
finalinherited
remainder → String?
Remainder of input that cannot be parsed
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
script → String?
Language tag script part
finalinherited
unicodeExtensions → UnicodeExtensions?
final
variants → List<String>
Language tag variants
finalinherited

Methods

addLikelySubTags() → LocaleId
Return a LocaleId with likely sub tags added.
override
canonicalize() → LocaleId
Return a LocaleId in canonical form.
override
equalLanguageScriptAndRegion(BaseLanguageId other) → bool
Check if two locales have same language, script and region
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeLikelySubTags({bool favorScript = false}) → LocaleId
Return a LocaleId with likely sub tags removed.
override
toBCP47() → String
Format the locale in BCP47 format
toString() → String
A string representation of this object.
toUnicode() → String
Format the locale in Unicode format. The identifier can have an empty language field.
toUnicodeBCP47() → String
Format the locale in Unicode BCP47 format.
toUnicodeCLDR() → String
Format the locale in Unicode CLDR format. It uses '_' as separator instead of '-' and if lang, script, region and variants are all empty it is 'root'.

Operators

operator ==(Object other) → bool
Two LocaleIds are considered equal when all fields are equal (ignoring the remainder)