Technologie internetowe 10-11, Zofia Kruczkiewicz
Internacjonalizacja i lokalizowanie aplikacji internetowych
wg
https://docs.oracle.com/javaee/7/tutorial/webi18n.htm
rozdział 20
http://www.coreservlets.com
Technologie internetowe Wykłady 10 – 11, część 1
1
Wprowadzenie
Proces przygotowania aplikacji do obsługi więcej niż jednego języka i formatu danych nazywa się internacjonalizacją.
Lokalizacja to proces dostosowywania aplikacji do obsługi określonego regionu lub lokalizacji.
Przykładami informacji zależnych od ustawień regionalnych są:
• komunikaty
• etykiety interfejsu graficznego użytkownika,
• zestawy znaków i kodowanie
• formaty daty i waluty.
Interfejsy graficzne użytkownika powinny być objęte internacjonalizacją i zlokalizowane - jest to szczególnie ważne w przypadku aplikacji internetowych ze względu na globalny charakter sieci.
Technologie internetowe 10-11, Zofia
Kruczkiewicz 2
Dane związane z lokalizacją
• Wiadomości
• Etykiety na komponentach GUI
• Pomoc online
• Odgłosy
• Zabarwienie
• Grafika
• Ikony
• Daktyle
• Czasy
• Liczby
• Waluty
• Pomiary
• Numery telefoniczne
• Honorowe i osobiste tytuły
• Adresy pocztowe
• Układy stron
Technologie internetowe 10-11, Zofia 3 KruczkiewiczWytyczne internacjonalizacji
1. Izoluj tekst przetłumaczony w pakietach zasobów – ograniczenie czasu na tłumaczenie online
2. Stosowanie komunikatów złożonych, zawierających zmienne elementy, wyodrębione w formie parametrów
3. Formatowanie liczby i waluty
4. Formatowanie daty i godziny 5. Użyj właściwości znaku Unicode
6. Poprawne porównywanie łańcuchów
7. Konwertowanie tekst NON-Unicode (typ char jest kodowanie jako Unicode)
4
French (France), Euro: 9 876 543,21 € 75 % fr_FR German (Germany), Euro: 9.876.543,21 € 75% de_DE English (United States), US Dollar: $9,876,543.21 75% en_US
Technologie internetowe 10-11, Zofia Kruczkiewicz
Klasy stosowane do internacjonalizacji platformy Java
• Klasa java.util.Locale
http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html
Klasa ta reprezentuje określony region geograficzny, polityczny lub kulturalny.
Reprezentacja łańcuchowa locale składa się z międzynarodowego standardowego dwuliterowego skrótu dla języka i kraju oraz opcjonalnego wariantu, wszystkie oddzielone znakami podkreślenia (_).
Przykłady ciągów ustawień narodowych:
en (angielski), en_US (angielski USA)
en_US_POSIX (angielski USA na platformie zgodnej z POSIX -
(ang. Portable Operating System Interface for UNIX)).
• Klasa java.util.ResourceBundle
http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html
Dane uzależnione od lokalizacji są przechowywane w pakietach zasobów zawiera pary klucz-wartość, w których klucze jednoznacznie identyfikują obiekt specyficzny dla ustawień regionalnych w pakiecie. Pakiet zasobów może być wspierany przez plik tekstowy (pakiet zasobów właściwości) lub klasę (pakiet zasobów list) zawierający pary. Para klucz-wartość przez dodanie reprezentacji łańcuchów regionalnych (wartość) do nazwy podstawowej (klucz).
• Informacja o internacjonalizacji i lokalizacji na platformie Java,
http://docs.oracle.com/javase/tutorial/i18n/index.html
5Przykład 1 – przykład programu korzystającego z internacjonalizacji na platformie Java SE
Technologie internetowe 10-11, Zofia
Kruczkiewicz 6
Przykład 1 – Dodawanie do programu pliku typu properties do przechowywania gotowych komunikatów
7
8
Przykład 1 cd – Dodawanie do programu pliku typu properties do
przechowywania gotowych komunikatów
Technologie internetowe 10-11, Zofia
Kruczkiewicz 9
Przykład 1 cd – Dodawanie do programu plików typu properties do przechowania komunikatów w językach: polskim (Bundle_pl),
w języku angielskim (Bundle_en), bez określania języka (Bundle)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 10
Przykład 1 cd – Dodawanie do programu pliku typu properties do przechowywania gotowych komunikatów w języku polskim –
wprowadzenie jednego komunikatu
11
Przykład 1 cd – Dodawanie do programu pliku typu properties do przechowywania gotowych komunikatów w języku angielskim –
wprowadzenie jednego komunikatu
12
Przykład 1 cd – Dodawanie do programu pliku typu properties do przechowywania gotowych komunikatów w języku domyślnym –
wprowadzenie jednego komunikatu
Przykład 1 cd – Ustawianie kodowania w
programie:
Locale1/Properties
Technologie internetowe 10-11, Zofia
Kruczkiewicz 13
14
Przykład 1 cd – 1-a wersja
programu
Przykład 1 cd – 2-a wersja programu
15
Przykład 2 – przykład programu korzystającego z internacjonalizacji na platformie Java EE
Technologie internetowe 10-11, Zofia
Kruczkiewicz 16
Przykład 2
17
Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 18
Technologie internetowe 10-11, Zofia
Kruczkiewicz 19
Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 20
Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 21
Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 22
Przykład2
23
Przykład2 Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 24
Przykład2 – pl (domyślny)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 25
Przykład2 en (wybrany)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 26
Przykład2 - pl (domyślny - żądanie)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 27
Przykład2 – pl (domyślny – odpowiedź)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 28
Przykład2 – pl (domyślny)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 29
Ustawiony en
Domyślny pl
Technologie internetowe 10-11, Zofia
Kruczkiewicz 30
Przykład2 Ustawiony en - żądanie
Ustawiony en -
odpowiedź
Technologie internetowe 10-11, Zofia
Kruczkiewicz 31
Przykład2
Domyślny pl
Ustawiony en
Technologie internetowe 10-11, Zofia
Kruczkiewicz 32
Przykład2
Domyślny pl
Ustawiony en -
żądanie
Technologie internetowe 10-11, Zofia
Kruczkiewicz 33
Przykład2
Ustawiony en - odpowiedź
Domyślny pl
34
Przykład2
Technologie internetowe 10-11, Zofia
Kruczkiewicz 35
Przykład2 – domyślny pl
Technologie internetowe 10-11, Zofia
Kruczkiewicz 36
Przykład2 – en (żądanie)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 37
Przykład2 – en (odpowiedź)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 38
Przykład2 – pl (domyślny)
Technologie internetowe 10-11, Zofia
Kruczkiewicz 39