- Globalizacja - wyświetlanie kwot, oraz liczb z odpowiednim formatowaniem
- Lokalizacja - język programu dostosowany do ustawień systemu operacyjnego
Code:
Globalizacja obsługiwana jest automatycznie dla dat. W przypadku cen należy korzystać w celu ich wyświetlania z automatycznego formatowania:
Code:
Jeżeli przyjrzymy się klasie Thread, znajdują się w niej dwie podobne właściwości: CurrentCulture oraz CurrentUICulture. Różnica pomiędzy nimi jest taka, iż pierwsza właściwość determinuje w jaki sposób będą formatowane daty, a druga determinuje tłumaczenie aplikacji.
Lokalizacja w Windows Forms
Aby włączyć lokalizację w Windows Forms, należy w ustawieniach formy zaznaczyć flagę Localizable. Następnie tłumaczymy interfejs na poszczególne języki. Po przetłumaczeniu formatki (np. na angielski) zmieniamy właściwość Language na następny język i ponownie tłumaczymy zawartość interfejsu.
Lokalizacja w WPF
Podczas uruchamiania aplikacji WPF, szukane są pliki dll zawierające zasoby lokalizacji. Kroki które należy wykonać, aby mechanizm lokalizacji działał poprawnie:
1. Dodajemy do projektu atrybut UICulture
Atrybut UICulture specyfikuje domyślny język aplikacji. Po dodaniu tego atrybutu, zostanie stworzony katalog dla danej kultury, do którego zostanie zapisana biblioteka dll z zasobami językowymi.
Na początek otwieramy za pomocą notatnika plik <nazwa_projektu>.csproj. Wyszukujemy pierwszy element PropertyGroup i dodajemy w nim element: <UICulture>en-US</UICulture>. Zapisujemy plik i przebudowujemy projekt.
2. Oznaczenie lokalizowanych elementów
Lokalizowane elementy możemy oznaczyć za pomocą właściwości x:Uid:
Code:
Powyższą operację można zautomatyzować za pomocą aplikacji Msbuild.exe.
3. Wyodrębnienie lokalizowanej zawartości.
Aby wyodrębnić lokalizowaną zawartość potrzebujemy narzędzia LocBaml. Narzędzie uruchamiamy z linii poleceń: locbaml /parse en-US\myApplication.resources.dll. Na wyjściu otrzymamy plik w formacie .csv, który zawiera wszystkie lokalizowane właściwości z elementów oznaczonych atrybutem x:Uid
4. Tłumaczenie
Tłumaczenie polega na przetłumaczeniu zawartości pliku CSV. Tłumaczymy tylko zawartość kolumny Value.
5. Tworzenie podfolderów dla języków
Podfoldery tworzymy w miejscu, którym znajduje się wykonywalna wersja naszej aplikacji. Foldery muszą mieć nazwy kultur dla jakich są tworzone, np. pl
6. Tworzenie bibliotek dll z przetłumaczoną zawartością
Za pomocą LocBaml możemy stworzyć biblioteki dll z przetłumaczonymi zasobami za pomocą polecenia:
locbaml /generate en-US\myApplication.resources.dll
/trans:myApplication.resources.FrenchCan.csv /cul:fr-CA /out:fr-CA
Elementy tego polecenia:
- /generate - LocBaml stworzy zasób na podstawie podanej dll
- /trans - plik csv z tłumaczeniem
- /cul - kultura dla której tworzymy plik zasobów
- /out - folder do którego zostanie skopiowany stworzony zasób
Brak komentarzy:
Prześlij komentarz