Fenti információk megszerzésében a CultureInfo osztály lesz segítségünkre.
Ennek GetCultures függvényét használva, akár az összes létező nyelvről szerezhetünk információt oly módon, hogy a függvény visszaad egy tömböt, melynek minden eleme egy-egy CultureInfo osztály lesz, amely tárolja egy-egy nyelv információt.
A GetCultures egyetlen paramétert vár, melynek értéke az alábbi CultureTypes felsorolt típus egyik eleme lehet:
- AllCultures – az összes nyelv
- InstalledWin32Cultures – az aktuálisan telepített nyelvek
- NeutralCultures – fő nyelvcsoportok, pl.: "de", "en", "ja"
- SpecificCultures – al nyelvcsoportok is, pl.: "de-CH", "en-US", "ja-JP"
A visszaadott tömbön ezután egy foreach ciklussal végigmegyünk és egy ListView komponensbe kiírjuk a legjellemzőbb értékeket az adott nyelvről.
protected void button1_Click (object sender, System.EventArgs e)
{
CultureInfo[] ci = CultureInfo.GetCultures(CultureTypes.AllCultures);
ListViewItem lvi;
foreach (CultureInfo info in ci)
{
lvi = new ListViewItem(new string[] {
info.DisplayName,
info.EnglishName,
info.LCID.ToString(),
info.Name,
info.NativeName,
info.TextInfo.ToString(),
info.TwoLetterISOLanguageName,
info.ThreeLetterISOLanguageName,
info.ThreeLetterWindowsLanguageName
}, 0);
listView1.Items.Add(lvi);
}
Például a DisplayName property-ből tudhatjuk meg szövegesen, hogy az adott nyelvnek mi a megnevezése. Ez a felirat az adott operációs rendszer nyelvén lesz olvasható. Ugyanezt a szöveget angolul is megkaphatjuk az EnglishName property-n keresztül.
Az LCID property egy olyan azonosítót ad vissza, mely egyértelműen azonosítja a nyelvet.
A Name property-ből az adott nyelv betűjelét tudhatjuk meg, pl.: hu. A NativeName property az adott ország nyelvén és betűkészletén írja le a nyelv megnevezését.
A TwoLetterISOLanguageName property-ből a nyelv kétbetűs azonosító jelét tudhatjuk meg az ISO szabvány szerint. Ugyanezt, de már hárombetűs változatban szolgáltatja a ThreeLetterISOLanguageName property. A Windows verzió szerint is létezik egy három betűs azonosító, melyet a ThreeLetterWindowsLanguageName property árul el.