[ ntadic @ 29.10.2004. 10:58 ] @
Imam sledeći problem:

Pokušavam da na asp.NET strani napišem kod koji će da detektuje korisnikov trenutni "culture info" tj. jezik i ostale bezvezarije iz regional settingsa...

To bi trebalo da služi za atomatsko prepoznavanje korisnikovog jezika i prikazivanje strane na datom jeziku (kao što to radi google).

to bi trebalo da ide pomoću ove klase System.Globalization.CultureInfo, i Thread-ova, ali ne znam kako...

unapred hvala
[ shegi @ 29.10.2004. 14:41 ] @
Ovaj kod vraća trenutnu korisničku kulturu:

public class Kultura: System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblCulture;

private void Page_Load(object sender, System.EventArgs e)
{
string sLang = Request.UserLanguages[0];
CultureInfo CurrentCulture = new CultureInfo(sLang);
lblCulture.Text = CurrentCulture.EnglishName + ":" +
CurrentCulture.Name;
}
}


Na osnovu sLang ("sr" - srpski, "en" - engleski ) odradi se redirect na odgovarajuću stranu.

Pozdrav,
Šegi
[ Subgate @ 29.10.2004. 18:54 ] @
Evo kako sam ja to svojevremeno odradio kad je trebalo za neki sajt...
...
evo uploadovao sam *.cs bolje nego da ovde oduzimam prostor...
[ adnan78 @ 01.08.2005. 21:51 ] @
To sam ja vec napravio imas kod u SDSClassLibrary\Multilingual\MiltilingualHelper.cs

A za vas ostale...

string sLang = page.Request.UserLanguages[0]; //Uzima koji je language settings trenutno postavljen u korisnickom browseru

SetThreadCurentCulture(sLang); //Prebaciju aplikaciju u jezik koji je postavljen u korisnickom browseru

public static void SetThreadCurentCulture(string lang)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
}


SetThreadCurentCulture(sLang); ce da promijeni default podesavanja strane znaci da ce sve kontrole koje podrzavaju multilingual preci u taj jezik. Primjer takve kontrole je calendar control.

Ostale kontrole se moraju premapirati koristeci recimo resource files, al o tome neki drugi put


Pozdrav Ned!

[Ovu poruku je menjao adnan78 dana 02.08.2005. u 06:22 GMT+1]