Lokalizacja i Globalizacja na witrynie w Visual Web Developer 2008 (ASP.Net) Daniel Literski
Na początek tworzymy New Website i zapisujemy pod dowolną nazwą, w tym przypadku będzie to Lokaliz. Przechodzimy do widoku Design i z Toolboxa przeciągamy Button i trochę niżej Label
Następnie w Solution Explorer klikamy prawym przyciskiem myszy na główną lokalizacje naszego projektu w tym przypadku C:\...\Lokaliz\ i wybieramy opcje jak na obrazku poniżej
Po stworzeniu folderu LokalResources klikamy na niego prawym przyciskiem myszy i wybieramy Add New Item
Z dostępnych opcji wybieramy Resource File i zapisujemy pod nazwą Default.aspx.resx
Otworzy nam się okno, które uzupełniamy tak jak na rysunku (nadajemy wyświetlane nazwy dla przycisku i etykiety)
Analogicznie dodajemy jeszcze jeden Resource File i nazywamy go Default.aspx.en.resx, który uzupełniamy w innej wersji językowej w tym przypadku jest to angielski
Przechodzimy do widoku Source i dopisujemy kod tam gdzie kończy się definiowanie przycisku (linia 13): meta:resourcekey=Button1 i odpowiednio w etykiecie (linia 17): meta:resourcekey=Label1
W 1 lini przed znakiem %> wpisujemy: Culture=auto:pl-PL UICulture=auto
Z paska narzędzi standardowych przeciągnijmy jeszcze Calendar do naszego projektu
Nasza witryna wygląda następująco w zależności od tego jaki język ustawiony jest w opcjach przeglądarki
Aby stworzyć przyciski do przełączania języka na stronie użyjemy GlobalResources do którego można będzie się odwołać z każdej podstrony. Analogicznie jak przy LokalResources tworzymy folder jak na rysunku wybierając odpowiednie opcje
Jak poprzednio dodajemy New Item
Resource File zapisujemy pod nazwą Resource.resx
Uzupełniamy go jak na rysunku dzięki czemu zawsze będziemy mogli odwołać się do resource i on automatycznie zaadaptuje nasze ustawienia
Stwórzmy jeszcze jeden resource file i uzupełnijmy go w języku angielskim tak jak na rysunku poniżej
W widoku Source pod linią 11 (za ) wstawmy nagłówek (h2) i przeciągnijmy tam label. ID zmieniamy na Witaj tak jak wcześniej zapisaliśmy w naszym GlobalResource
Przechodzimy do widoku Design i we właściwościach naszej nowej etykiety wybieramy (expressions)
W lewym oknie wybieramy tekst w Expression type: Resources w ClassKey wpisujemy: resource i w ResourceKey wybieramy: Witaj
Następnie wykonujemy te same czynności na naszym przycisku z tym, że w oknie expression zmieniamy kolor przycisku tak jak widać na rysunku
Po uruchomieniu naszej witryny w odpowiednim języku efekt wygląda następująco
W Solution Explorer tworzymy nowy folder o nazwie obrazki i przeciągamy do niego wybraną grafikę
Do naszego projektu przeciągamy obok przycisku ImageButton. W jego właściwościach ustawiamy wysokość na 25px i szerokość na 40px
We właściwościach w ImageUrl wybieramy ścieżkę dostępu do odpowiedniego obrazka
Kolejnie ustalamy PostBackUrl w którym wybieramy nasz Default.aspx
I dopisujemy wyrażenie: ?Language=pl-PL PostBackUrl powinien wyglądać jak na rysunku
Możemy skopiować gotowy ImageButoon bądź stworzyć nowy dla drugiej wersji językowej pamiętając o wybraniu odpowiedniego adresu obrazka oraz PostBackUrl dla wersji angielskiej z końcówką ?Language=en-US
Klikamy prawym przyciskiem myszy w widoku Design i wybieramy View Code, gdyż musimy tam dopisać odpowiednią część kodu by nasze przyciski działały
Nasz kod który dopisujemy na rysunku poniżej zaczyna się od linii 21. Na samym początku w wpisujemy linii: 7 using System.Threading; 8 using System.Globalization;
W efekcie nasza strona wygląda następująca i zmienia swój język gdy wybierzemy odpowiednią flagę