AWWW-1st3.6-w10.tresc-1.1-Slajd21

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Internacjonalizacja aplikacji ASP.NET

Internacjonalizacja aplikacji ASP.NET


Od wersji 2.0 ASP.NET oferuje silne wsparcie dla internacjonalizacji aplikacji obejmujące:

(a) Automatyczny odczyt preferencji kulturowych klienta (ang. culture) obejmujących język, nazwy miesięcy, dni tygodnia, sposób formatowania dat i liczb itp.

(b) Formatowanie dat i liczb zależnie od ustawień kultury.

(c) Lokalizację komunikatów opartą o pliki zasobów, z możliwością dodawania wsparcia dla kolejnych języków dla działającej aplikacji, poprzez dodawanie kolejnych zlokalizowanych plików zasobów (podobnie jak w aplikacjach języka Java).

Slajd pokazuje przykład strony, która wspiera języki angielski (domyślnie) i polski. Kod strony zawarty jest w pliku Strona.aspx. Deklaracja @Page strony zawiera dwa atrybuty związane z internacjonalizacją aplikacji: UICulture i Culture. Pierwszy wskazuje ustawienia lokalizacji dla komunikatów aplikacji, a drugi determinuje sposób formatowania dat i liczb. W przykładzie oba mają wartość „auto” co oznacza, że ustawienia mają być odczytane automatycznie z preferencji zawartych w żądaniu wysłanym z przeglądarki. Można oczywiście jako wartość tych atrybutów podać konkretny kod lokalizacji np. „pl” „de”, „en-US”.

Zlokalizowane komunikaty umieszczane są na stronie za pomocą dostępnego od ASP.NET 2.0 nowego typu wyrażeń, zastępowanych wartością przed parsowaniem strony (notacja ze znakiem „$”). W przykładzie, tekst związany w plikach zasobów z kluczem „Greet” jest umieszczany jako tekst prezentowany przez komponent etykiety.

U dołu slajdu umieszczone są dwa pliki komunikatów dla strony Strona.aspx. Pierwszy plik zawiera komunikaty neutralne kulturowo, w tym wypadku w języku angielskim, a drugi przygotowane dla lokalizacji polskiej. Klucz komunikatu zawarty jest w atrybucie „name” elementu <data>, a odpowiadająca mu wartość w zagnieżdżonym elemencie <value>. Pliki zasobów posiadają rozszerzenie .resx, poprzedzone kodem lokalizacji.


<< Poprzedni slajd | Spis treści | Następny slajd >>