[ dusty @ 01.03.2004. 07:59 ] @
Pozdrav svima.

Imam problem sa lokalizacijom. Kada uključim lokalizaciju na formi (Localizable = True, i Language = Serbian) forma poludi. Ako stavim na Srpsku latinicu razbaca mi pozicije kontrola i veličinu forme, a kada stavim na Ćirilicu čak ni ne prikaže u Captionu i u Labelima ?!

U čemu je fora, da li neko može da mi pomogne ?


BTW radim u VS 2003.
[ mmix @ 01.03.2004. 15:34 ] @
Možda ima neke veze sa tim što radiš pod NT4 (mada bi to bilo bezveze). Ja sam koristio tu vrstu lokalizacije i pod XPom i pod Win2003 i nisam imao takvih problema...
[ dusty @ 02.03.2004. 09:04 ] @
Citat:
mmix:
Možda ima neke veze sa tim što radiš pod NT4 (mada bi to bilo bezveze). Ja sam koristio tu vrstu lokalizacije i pod XPom i pod Win2003 i nisam imao takvih problema...


Ustvari radim pod Win 2000, a ovaj NT4 mi je za internet Ali baš kada si to spomenuo, pokrenuo sam program na ovoj NT4 mašini, iako imam Srpsku ćirilicu instaliranu neprikazuje slova već kvadratiće, a kući pod Win2000 gde nemam ćirilicu radi super ?!
[ dusans @ 02.03.2004. 14:06 ] @
Probaj da obriseš sve linije u resx fajlovima za različite jezike koje se tiču veličina i pozicija kontrola. Da li koristiš standardan unicode font?
[ dusty @ 02.03.2004. 14:34 ] @
Citat:
dusans:
Probaj da obriseš sve linije u resx fajlovima za različite jezike koje se tiču veličina i pozicija kontrola. Da li koristiš standardan unicode font?


To sam uradio i sada je skoro sve ok Puno hvala na savetu Problem je samo još kod Caption-a prozora, kod 2000-ke radi super, ali kod NT4 su kvadratići dok su labeli normalno prikazani.

Da li možda znaš odakle framework vadi informaciju koju lokalizaciju treba da koristi ? Probao sam da menjam iz Regional settings-a u Control Panelu, ali mi stalno koristi engleski (US).

I još jedno pitanje i obećavam prestaću da smaram za danas Da li mogu u toku izvršavanja da promenim lokalizaciju, tj. kada se klikne na neku kontrolu da se prikazana forma prebaci sa srpskog na engleski ? Probao sam sa Thread.CurrentThread.CurrentUICulture = new CultureInfo(....) ali neradi. Kako sam shvatio to samo radi pre inicijalizacije komponenti.
[ dusans @ 03.03.2004. 07:58 ] @
Ako pogledaš windows forms generated code neke lokalizovane forme, videćeš da kod za postavljanje svakog svojstva koje se lokalizuje iščitava uz pomoć Resource Managera po principu fallback-a (više o ovome pogledaj u help-u) koji je kao što si i pretpostavio koristi trenutnu kulturu koju si postavi u thread-u. U slučaju da se trenutna kultura postavlja na formi u npr. Load event-u kada je kod koji postavlja lokalizovane propertije već izvršen onda se čini da postavljanje kulture nema efekta, u stvari ima efekta na sve što se dešava nakon toga, međutim tvoje kontrole neće "automatski" dobiti lokalizovana svojstva. Rešenje za ovakve slučajeve je da kroz Sub Main pokrećeš svoju aplikaciju i pre instanciranja i prikazivanja forme postaviš kulturu.