Iso639Part5LanguageFamily Struct
Definition
Namespace: DataStandardizer.Language
ISO 639 Part 5 alpha-3 codes for language families and groups (for example cau). ISO 639 does not assign numeric values to its codes, so this type is not a C# enum: it is a readonly struct implementing DataStandardizer.Core.IStringEnum, with each code exposed as a public static readonly member whose underlying value is the string code from the standard. It behaves much like an enum — you access codes as static members and compare them with == — but it wraps a string.
public readonly struct Iso639Part5LanguageFamily : DataStandardizer.Core.IStringEnum, IEquatable<Iso639Part5LanguageFamily>
Remarks
IStringEnum derives from IComparable on all targets and additionally from IConvertible on the netstandard2.0, net8.0, and net10.0 targets, but not on netstandard1.0. The constructor is private; obtain a value from a static code member or the explicit string conversion. Per-member metadata is read through the Iso639Extensions accessors. See Understanding the ISO 639 parts.
Fields
| Field | English name |
|---|---|
aav | Austro-Asiatic languages |
afa | Afro-Asiatic languages |
alg | Algonquian languages |
alv | Atlantic-Congo languages |
apa | Apache languages |
aqa | Alacalufan languages |
aql | Algic languages |
art | Artificial languages |
ath | Athapascan languages |
auf | Arauan languages |
aus | Australian languages |
awd | Arawakan languages |
azc | Uto-Aztecan languages |
bad | Banda languages |
bai | Bamileke languages |
bat | Baltic languages |
ber | Berber languages |
bih | Bihari languages |
bnt | Bantu languages |
btk | Batak languages |
cai | Central American Indian languages |
cau | Caucasian languages |
cba | Chibchan languages |
ccn | North Caucasian languages |
ccs | South Caucasian languages |
cdc | Chadic languages |
cdd | Caddoan languages |
cel | Celtic languages |
cmc | Chamic languages |
cpe | Creoles and pidgins, English‑based |
cpf | Creoles and pidgins, French‑based |
cpp | Creoles and pidgins, Portuguese-based |
crp | Creoles and pidgins |
csu | Central Sudanic languages |
cus | Cushitic languages |
day | Land Dayak languages |
dmn | Mande languages |
dra | Dravidian languages |
egx | Egyptian languages |
esx | Eskimo-Aleut languages |
euq | Basque (family) |
fiu | Finno-Ugrian languages |
fox | Formosan languages |
gem | Germanic languages |
gme | East Germanic languages |
gmq | North Germanic languages |
gmw | West Germanic languages |
grk | Greek languages |
hmx | Hmong-Mien languages |
hok | Hokan languages |
hyx | Armenian (family) |
iir | Indo-Iranian languages |
ijo | Ijo languages |
inc | Indic languages |
ine | Indo-European languages |
ira | Iranian languages |
iro | Iroquoian languages |
itc | Italic languages |
jpx | Japanese (family) |
kar | Karen languages |
kdo | Kordofanian languages |
khi | Khoisan languages |
kro | Kru languages |
map | Austronesian languages |
mkh | Mon-Khmer languages |
mno | Manobo languages |
mun | Munda languages |
myn | Mayan languages |
nah | Nahuatl languages |
nai | North American Indian languages |
ngf | Trans-New Guinea languages |
nic | Niger-Kordofanian languages |
nub | Nubian languages |
omq | Oto-Manguean languages |
omv | Omotic languages |
oto | Otomian languages |
paa | Papuan languages |
phi | Philippine languages |
plf | Central Malayo-Polynesian languages |
poz | Malayo-Polynesian languages |
pqe | Eastern Malayo-Polynesian languages |
pqw | Western Malayo-Polynesian languages |
pra | Prakrit languages |
qwe | Quechuan (family) |
roa | Romance languages |
sai | South American Indian languages |
sal | Salishan languages |
sdv | Eastern Sudanic languages |
sem | Semitic languages |
sgn | sign languages |
sio | Siouan languages |
sit | Sino-Tibetan languages |
sla | Slavic languages |
smi | Sami languages |
son | Songhai languages |
sqj | Albanian languages |
ssa | Nilo-Saharan languages |
syd | Samoyedic languages |
tai | Tai languages |
tbq | Tibeto-Burman languages |
trk | Turkic languages |
tup | Tupi languages |
tut | Altaic languages |
tuw | Tungus languages |
urj | Uralic languages |
wak | Wakashan languages |
wen | Sorbian languages |
xgn | Mongolian languages |
xnd | Na-Dene languages |
ypk | Yupik languages |
zhx | Chinese (family) |
zle | East Slavic languages |
zls | South Slavic languages |
zlw | West Slavic languages |
znd | Zande languages |
Methods
Implicit implementation
| Method | Returns | Notes |
|---|---|---|
CompareTo(object obj) | int | Throws ArgumentNullException/ArgumentException for a null or mismatched argument. |
Equals(Iso639Part5LanguageFamily other) | bool | |
Equals(object obj) | bool | Override. |
GetHashCode() | int | Override. |
GetTypeCode() | TypeCode | (netstandard2.0+/.NET) IConvertible member. |
ToString() | string | Override. Returns the member name, or the underlying code. |
ToString(IFormatProvider provider) | string | (netstandard2.0+/.NET) Marked [Obsolete]; the provider is unused — use ToString(). |
Explicit implementation
The struct implements IConvertible explicitly; each member delegates to the underlying string and is callable only through an IConvertible reference. (netstandard2.0+/.NET)
| Method | Returns | Notes |
|---|---|---|
ToBoolean(IFormatProvider provider) | bool | |
ToByte(IFormatProvider provider) | byte | |
ToChar(IFormatProvider provider) | char | |
ToDateTime(IFormatProvider provider) | DateTime | |
ToDecimal(IFormatProvider provider) | decimal | |
ToDouble(IFormatProvider provider) | double | |
ToInt16(IFormatProvider provider) | short | |
ToInt32(IFormatProvider provider) | int | |
ToInt64(IFormatProvider provider) | long | |
ToSByte(IFormatProvider provider) | sbyte | |
ToSingle(IFormatProvider provider) | float | |
ToType(Type conversionType, IFormatProvider provider) | object | |
ToUInt16(IFormatProvider provider) | ushort | |
ToUInt32(IFormatProvider provider) | uint | |
ToUInt64(IFormatProvider provider) | ulong |
Operators
| Operator | Signature | Notes |
|---|---|---|
| Explicit | explicit operator Iso639Part5LanguageFamily(string) | Wraps a code string. Throws ArgumentNullException for null. |
| Implicit | implicit operator string(Iso639Part5LanguageFamily) | Unwraps to the underlying code string. |
| Equality | operator ==, != (Iso639Part5LanguageFamily, Iso639Part5LanguageFamily) |
Applies to
Targets netstandard1.0, netstandard2.0, net8.0, and net10.0. IConvertible (and its members, including GetTypeCode() and ToString(IFormatProvider)) is available on the netstandard2.0, net8.0, and net10.0 builds, but not on netstandard1.0.