Temat: Problem z . i , :D
Maciej Czerwiakowski:
Owszem powinny, ale przy dobrze zaprojektowanym programie (kiedy globalizacja jest wzięta pod uwagę) testy wielokulturowości są potrzebne tylko z formalnego punktu widzenia, bo mechanizm jest sprawdzony i dobrze zaimplementowany nie generuje błędów :)
W zasadzie globalizacja w .NET jest jednym z lepiej zrobionych elementow, i nie trzeba pod nia 'projektowac'.
Oczywiscie calkowicie ignorowac jej tez nie wolno, ale jest to w miare bezbolesne (na potrzeby tej dyskusji calkowicie i swiadomie zignoruje problemy lokalizacji, w tym hardcode'owane stringi).
Ogolnie zasada jest taka:
Jesli wyswietlasz cos userowi w trakcie dzialania programu to domyslnie wszystko jest formatowane kultura powiazana w watkiem UI, ktory to znow, domyslnie ma wartosc domyslna dla systemu operacyjnego (taka jak jezyk systemu, przy zalozeniu ze nie masz MUI) + zmiany wprowadzone w Panelu Sterowania (ktore mozna zignorowac).
Takie domyslne zachowanie jest porzadane bo zachowuje spojnosc z reszta systemu.
Z drugiej strony przy zapisywaniu/odczytywaniu danych logiczne jest ze trzeba przyjac neutralny format i to jest jeden z niewielu przypadkow gdzie trzeba o globalizacji pomyslec.
Dlatego przy zapisywaniu/odczytywaniu danych proponuje (z reszta nie tylko ja, zeby nie bylo ze sie za autorytet stawiam) stosowanie CultureInfo.InvariantCulture jako IFormatProvider przy ToString i przy Parse/TryParse.
Pozwoli to uniknac problemow jakie ma Grzegorz.
Co do zasobow tematycznych: Stricte o globalizacji lokalizacji internacjonalizacji etc, jest ksiazka
http://www.amazon.com/NET-Internationalization-Develop...
Problematyka jest tez dobrze, ale duzo bardziej pobieznie wytlumaczona w
http://www.amazon.com/CLR-via-Second-Pro-Developer/dp/...
Hope that helps
Krzysztof K. edytował(a) ten post dnia 24.05.08 o godzinie 19:26