Iso639Part1Language Struct
Definition
Namespace: DataStandardizer.Language
ISO 639 Part 1 alpha-2 language codes (for example en). ISO 639 does not assign numeric values to its language codes, so this type is not a C# enum: it is a readonly struct implementing DataStandardizer.Core.IStringEnum, with each language 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 Iso639Part1Language : DataStandardizer.Core.IStringEnum, IEquatable<Iso639Part1Language>
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 |
|---|---|
aa | Afar |
ab | Abkhazian |
af | Afrikaans |
ak | Akan |
sq | Albanian |
am | Amharic |
ar | Arabic |
an | Aragonese |
hy | Armenian |
as | Assamese |
av | Avaric |
ae | Avestan |
ay | Aymara |
az | Azerbaijani |
ba | Bashkir |
bm | Bambara |
eu | Basque |
be | Belarusian |
bn | Bengali |
bi | Bislama |
bs | Bosnian |
br | Breton |
bg | Bulgarian |
my | Burmese |
ca | Catalan; Valencian |
ch | Chamorro |
ce | Chechen |
zh | Chinese |
cu | Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic |
cv | Chuvash |
kw | Cornish |
co | Corsican |
cr | Cree |
cs | Czech |
da | Danish |
dv | Divehi; Dhivehi; Maldivian |
nl | Dutch; Flemish |
dz | Dzongkha |
en | English |
eo | Esperanto |
et | Estonian |
ee | Ewe |
fo | Faroese |
fj | Fijian |
fi | Finnish |
fr | French |
fy | Western Frisian |
ff | Fulah |
ka | Georgian |
de | German |
gd | Gaelic; Scottish Gaelic |
ga | Irish |
gl | Galician |
gv | Manx |
el | Greek, Modern (1453-) |
gn | Guarani |
gu | Gujarati |
ht | Haitian; Haitian Creole |
ha | Hausa |
he | Hebrew |
hz | Herero |
hi | Hindi |
ho | Hiri Motu |
hr | Croatian |
hu | Hungarian |
ig | Igbo |
is | Icelandic |
io | Ido |
ii | Sichuan Yi; Nuosu |
iu | Inuktitut |
ie | Interlingue; Occidental |
ia | Interlingua (International Auxiliary Language Association) |
id | Indonesian |
ik | Inupiaq |
it | Italian |
jv | Javanese |
ja | Japanese |
kl | Kalaallisut; Greenlandic |
kn | Kannada |
ks | Kashmiri |
kr | Kanuri |
kk | Kazakh |
km | Central Khmer |
ki | Kikuyu; Gikuyu |
rw | Kinyarwanda |
ky | Kirghiz; Kyrgyz |
kv | Komi |
kg | Kongo |
ko | Korean |
kj | Kuanyama; Kwanyama |
ku | Kurdish |
lo | Lao |
la | Latin |
lv | Latvian |
li | Limburgan; Limburger; Limburgish |
ln | Lingala |
lt | Lithuanian |
lb | Luxembourgish; Letzeburgesch |
lu | Luba-Katanga |
lg | Ganda |
mk | Macedonian |
mh | Marshallese |
ml | Malayalam |
mi | Maori |
mr | Marathi |
ms | Malay |
mg | Malagasy |
mt | Maltese |
mn | Mongolian |
na | Nauru |
nv | Navajo; Navaho |
nr | Ndebele, South; South Ndebele |
nd | Ndebele, North; North Ndebele |
ng | Ndonga |
ne | Nepali |
nn | Norwegian Nynorsk; Nynorsk, Norwegian |
nb | Bokmål, Norwegian; Norwegian Bokmål |
no | Norwegian |
ny | Chichewa; Chewa; Nyanja |
oc | Occitan (post 1500) |
oj | Ojibwa |
or | Oriya |
om | Oromo |
os | Ossetian; Ossetic |
pa | Panjabi; Punjabi |
fa | Persian |
pi | Pali |
pl | Polish |
pt | Portuguese |
ps | Pushto; Pashto |
qu | Quechua |
rm | Romansh |
ro | Romanian; Moldavian; Moldovan |
rn | Rundi |
ru | Russian |
sg | Sango |
sa | Sanskrit |
si | Sinhala; Sinhalese |
sk | Slovak |
sl | Slovenian |
se | Northern Sami |
sm | Samoan |
sn | Shona |
sd | Sindhi |
so | Somali |
st | Sotho, Southern |
es | Spanish; Castilian |
sc | Sardinian |
sr | Serbian |
ss | Swati |
su | Sundanese |
sw | Swahili |
sv | Swedish |
ty | Tahitian |
ta | Tamil |
tt | Tatar |
te | Telugu |
tg | Tajik |
tl | Tagalog |
th | Thai |
bo | Tibetan |
ti | Tigrinya |
to | Tonga (Tonga Islands) |
tn | Tswana |
ts | Tsonga |
tk | Turkmen |
tr | Turkish |
tw | Twi |
ug | Uighur; Uyghur |
uk | Ukrainian |
ur | Urdu |
uz | Uzbek |
ve | Venda |
vi | Vietnamese |
vo | Volapük |
cy | Welsh |
wa | Walloon |
wo | Wolof |
xh | Xhosa |
yi | Yiddish |
yo | Yoruba |
za | Zhuang; Chuang |
zu | Zulu |
Methods
Implicit implementation
| Method | Returns | Notes |
|---|---|---|
CompareTo(object obj) | int | Throws ArgumentNullException/ArgumentException for a null or mismatched argument. |
Equals(Iso639Part1Language 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 Iso639Part1Language(string) | Wraps a code string. Throws ArgumentNullException for null. |
| Implicit | implicit operator string(Iso639Part1Language) | Unwraps to the underlying code string. |
| Equality | operator ==, != (Iso639Part1Language, Iso639Part1Language) |
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.