Szybkie wskazówki do internacjonalizacji stron

Kodowanie. Gdziekolwiek jest to możliwe używaj Unicode dla treści, baz danych itd. Zawsze deklaruj rodzaj kodowania.

Escapes. Używaj znaków raczej niż escapes (na przykład á á lub á) gdy tylko możesz.

Język. Zadeklaruj język przetwarzaniu tekstu dokumentów i wskaż wszystkie zmiany języka w tekście.

Prezentacja a treść. Użyj arkusza stylów dla prezentacji informacji. Ogranicz znaczniki do składni.

Obrazy, animacje & przykłady. Sprawdź strony pod względem przetłumaczalności i odpowiednich zwyczajów kulturowych.

Formularze. Używaj odpowiedniego kodowania zarówno w formularzach jak i na serwerze. Zapewnij zgodność z lokalnymi formatami nazw/adresów, czasów/dat itd.

Opracowanie autorskie tekstu. Używaj prostego, zwięzłego tekstu. Uważaj na kompozycje zdań składających się z szeregu ciągów.

Nawigacja. Na każdej stronie umieść widoczną nawigację prowadzącą do treści lub witryn zlokalizowanych używając języka docelowego.

Tekst pisany od prawej do lewej. Dla XHTML, dodaj dir="rtl" do tagu html. Użyj go ponownie do zmiany kierunku tekstu.

Sprawdź swoją pracę. Waliduj! Użyj technik, tutoriali i artykułów dostępnych na http://www.w3.org/International/

Poniższe "Szybkie Porady" podsumowują kluczowe kwestie międzynarodowego projektowania sieci. Nie stanowią wyczerpującego zbioru, a są jedynie małym zestawem koncepcji opisanych na stronie Działu Internacjonalizacji W3C.

Strona ta przedstawia krótkie stwierdzenia, które pojawiają się także na kartach referencyjnych o rozmiarze wizytówki, do których dołączony jest tekst z dalszymi szczegółami i wyjaśnieniami. Tam gdzie to możliwe znajdują się także odnośniki do informacji na stronie Internacjonalizacji, gdzie możesz znależć więcej szczegółów.

Strona ta będzie od czasu do czasu aktualizowana.

Szybkie porady

Kodowanie. Gdziekolwiek jest to możliwe używaj Unicode dla treści, baz danych itd. Zawsze deklaruj rodzaj kodowania.

Wybór kodowania znaków determinuje sposób mapowania bajtów na znaki w twoim tekście.

Zazwyczaj kodowanie znaków ogranicza uzytkowników do konkretnego skryptu lub języka. Unicode pozwala na używanie prawie wszystkich stosowanych na świecie skryptów i języków. W ten sposób Unicode ułatwia przetwarzanie treści w kilku językach, czy to na jednej stronie, czy na kilku stronach. Unicode jest szczególnie przydatny w formularzach, skryptach i bazach danych gdzie istnieje potrzeba używania kilku języków. Unicode ułatwia też dodawanie nowych języków do treści.

Jeśli niewłaściwie zadeklarujesz kody znaków, których używasz na swojej witrynie, twoi użytkownicy mogą nie być w stanie nic przeczytać. Może się tak dziać ponieważ aplikacja interpretująca tekst może robić niewłaściwe założenie odnośnie mapowania bajtów na znaki.

Dalsze informacje
Zobacz tutorial "Zbiory znaków i kodowanie w XHTML, HTML i CSS, ". Ten tutorial wyjaśni jak można zadeklarować kody w (X)HTML i CSS. Zauważ, że nie zawsze jest to tak łatwe jak się wydaje.
Nieobeznany z internacjonalizacją?
Przeczytaj artykuł "Wprowadzenie do zbiorów znaków i kodowania". Artykuł ten zawiera przegląd tematu i odnośniki do innych artykułów W3C dla osób, które chcą dalej zgłębiać te kwestię.
Stary wyga?
Sprawdź indeks tematów dla uzyskania dalszych informacji.
Escapes. Używaj znaków raczej niż escapes (na przykład á á lub á) gdy tylko możesz.

Escapes takie jak Odwołania Znakowe Numeryczne (ang. NCRs), i jednostki to sposoby reprezentowania każdego znaku Unicode w znacznikach przy użyciu tylko znaków ASCII. Na przykład, można przedstawić znak á w X/HTML jako á lub á lub á.

Takie escapes są przydatne do jasnego przedstawiania niejednoznacznych i niewidocznych znaków, oraz do zapobiegania problemów związanymi ze znakami składniowymi takimi jak znak &, lub trójkątny nawias. Mogą być też przydatne do przedstawiania znaków nieobsługiwanych przez dane kodowanie znaków, lub znaków niedostępnych na klawiaturze. W innych przypadkach powinno się używać znaków, a nie escapes.

Dalsze informacje
Przeczytaj "Using character entities and NCRs" dla uzyskania dalszych informacji o wykorzystaniu escapes w językach znaczników. Zauważ, że jednostki (takie jak á) powinny być używane ostrożnie.
Nieobeznany z internacjonalizacją?
Przeczytaj artykuł "Wprowadzenie do zbiorów znaków i kodowania". Artykuł ten zawiera przegląd tego tematu i odnośniki do innych artykułów W3C dla osób, które chcą dalej zgłębiać te kwestię.
Stary wyga?
Sprawdź indeks tematów dla uzyskania dalszych informacji.
Język. Zadeklaruj język przetwarzaniu tekstu dokumentów i wskaż wszystkie zmiany języka w tekście.

Informacje o (naturalnym) języku treści jest ważny dla dostępności, stylu, wyszukiwania, edycji oraz z innych powodów. Ponieważ coraz więcej treści jest poprawnie tagowanych, aplikacje mogące wykryć informacje o języku będą stawać się coraz bardziej przydatne i wszechobecne.

Dalsze informacje
Przeczytaj tutorial "Declaring Language in XHTML and HTML" w celu uzyskania informacji o tym jak zadeklarować język dokumentu jako całości, lub fragmentów tekstu w innym języku. Ważne jest także aby rozumieć różnicę pomiędzy pojęciami język przetwarzania tekstu i. metadane głównego języka.
Stary wyga?
Sprawdź indeks tematów dla uzyskania dalszych informacji.
Prezentacja a treść. Użyj arkusza stylów dla prezentacji informacji. Ogranicz znaczniki do składni.

Ważną zasadą projektowania stron jest oddzielanie stylizacji i prezentacji treści od właściwego tekstu. Ułatwia to wprowadzenie alternatywnej stylizacji dla tego samego tekstu, na przykład w celu wyświetlania tego samego tekstu w standardowej przeglądarce i na małych przenośnych urządzeniach.

Zasada ta jest szczególnie ważna dla lokalizacji, ponieważ różne skrypty mają różne potrzeby typograficzne. Na przykład, z powodu skomplikowanego wyglądu japońskich znaków, lepiej jest ukazać emfazę w japońskich stronach X/HTML w inny sposób niż pogrubienie, czy kursywa. O wiele łatwiej jest wprowadzać takie zmiany jeśli prezentacja opisana jest przy użyciu CSS, a znaczniki są o wiele bardziej przejrzyste i łatwiejsze do ogarnięcia jeśli tekst jest odpowiednio i jednoznacznie oznaczony jako 'emfaza' a nie 'pogrubienie'.

Praca z plikami CSS może zaoszczędzić wiele czasu przy lokalizacji, ponieważ zamiast zmieniać znaczniki, wszystkiei zmiany mogą być dokonane w jendym miejscu dla wszystkich stron i tłumacz może skupić się na treści a nie na prezentacji.

Obrazy, animacje & przykłady. Sprawdź strony pod względem przetłumaczalności i odpowiednich zwyczajów kulturowych.

Jeśli chcesz aby twoje treści naprawdę komunikowały się z ludźmi, musisz mówić w ich języku. Chodzi nie tylko o tekst, ale też o lokalną metaforykę, kolory, obiekty i zainteresowania. Łatwo jest przeoczyć charakterystyczne dla danej kultury zachowania, koncepty, symbolizm, mowę ciała i poczucie humoru. Powinieneś zadbać o to by dostać opinie od użytkowników z danego kraju dotyczące tego czy obrazów, wideoklipy i przykłady zamieszczone na twojej witrynie są odpowiednie dla danej kultury.

Powinno się też uważać przy wprowadzaniu tekstu w grafikę gdy treść ma być tłumaczona. Tekst na skomplikowanych tłach i ograniczonych przestrzeniach może sprawiać trudności tłumaczowi. Powinno się dostarczać tłumaczom grafikę z tekstem na osobnej warstwie pamiętając, że tekst w językach takich jak angielski czy chiński może zajmować więcej miejsca po tłumaczeniu.

Formularze. Używaj odpowiedniego kodowania zarówno w formularzach jak i na serwerze. Zapewnij zgodność z lokalnymi formatami nazw/adresów, czasów/dat itd.

Kodowanie użyte dla strony HTML która zawiera formularz powinno zapewniać zgodność wszystkich znaków, które mogą być potrzebne do wprowadzania danych do tego formularza. Jest to szczególnie ważne jeśli użytkownicy będą wprowadzać dane w różnych językach.

Bazy danych i skrypty, które otrzymują dane z wielojęzycznych stron muszą zapewniać zgodność znaków dla wszystkich tych języków równocześnie.

Najprostszym sposobem zapewnienia takij zgodności jest używanie Unicode zarówno dla stron zawierających formularze, jak i dla przetwarzania i przechowywania treści. W takim wypadku użytkownicy mogą wprowadzać dane w dowolnym języku i skrypcie.

Nie powinno się też zakładać, że wszystkie nazwiska i adresy wprowadzane przez użytkowników będą identycznie formatowane. Zastanów się ile informacji trzeba umieścić w oddzielnych polach przy podawaniu adresu. Pamiętaj, że w niektórych kulturach nie ma nazw ulic, w innych numer domu podawany jest po nazwie ulicy, gdzieniegdzie potrzebna jest więcej niż jenda linia na informacje podawane przed nazwą miasta. W niektórych miejscach adres zapisywany jest od góry w dół, w kolejności od najbardziej ogólnych do najbardziej szczegółowych informacji, co powinno sugerować przyjmowanie innej strategii układu treści. Uważaj aby nie próbować walidować niewłaściwie wpisywanych kodów pocztowych, lub długości numerów telefonów. Zwróc uwagę, że należy uważnie podpisywać numerycznie wprowadzane daty, ponieważ istnieją różne konwencje podawania kolejności dnia, miesiąca i roku.

Jeśli zbierasz informacje z więcej niż jednego kraju ważne jest wypracowanie strategii dodawania adresów w więcej niż jednym formacie. Ma to wpływ nie tylko na wzór formularza, który stworzysz, ale i na sposób przechowywania tych informacji w bazach danych.

Dalsze informacje
Przeczytaj FAQ "Formularze wielojęzyczne" dla uzyskania dodatkowych informacji o używaniu Unicode w formularzach. FAQ "Date formats" także zawiera informacje przydatne do przedstawiania dat. Z czasem dostępnych będzie więcej materiałów.
Opracowanie autorskie tekstu. Używaj prostego, zwięzłego tekstu. Uważaj na kompozycje zdań składających się z szeregu ciągów.

Prosty, zwięzły tekst jest łatwiej przetłumaczyć. Łatwiej jest też go przeczytać ludziom, którzy nie czytają w swoim ojczystym języku.

Powinno się również szczególnie uważać na komponowanie wiadomości skałdających się z wielu ciągów lub umieszczanie zmiennego tekstu w ciągi. Na przykład, jeśli twoja strona uzywa skryptu JSP i skomponujesz wiadomość poprzez łączenie oddzielnych podciągów znaków np.: 'Nie', ' podawaj wyników w' 'każdym formacie' lub 'HTML'. Szyk zdania w innych językach może się różnić, a tłumaczenie takiego tekstu może być utrudnione.

Podobnie, ważnym jest unikanie zamknięcia pozycji zmienncyh w tekście takich jak "Strona 1 z 10". Składnia innych języków może wymagać aby cyfry były pierwsze. Jeśli stosujesz PHP, oznaczałoby to zastosowanie ciągu "Strona %1\$d z %2\$d.", zamiast prostszej formy "Strona %d z %d.". Ostatnia forma jest nieprzetłumaczalna w niektórych językach.

Dalsze informacje
Przeczytaj "Working with Composite Messages" i "Re-using Strings in Scripted Content" w celu uzyskania dalszych informacji odnośnie złych i dobrych praktyk komponowania zdań z szeregu ciągów.
Nawigacja. Na każdej stronie umieść widoczną nawigację prowadzącą do treści lub witryn zlokalizowanych używając języka docelowego.

Tam, gdzie dostępne są wersje strony w innym języku, lub dla innego kraju, czy regionu powinno się umieścić możliwość wyboru innej wersji językowej strony. Opcja ta powinna być dostępna dla każdej podstrony, dla której istnieje alternatywna wersja.

Kiedy podawane są odnośniki do stron w innych językach powinno się używać rodzimego języka tej strony i skryptu. Nie zakładaj, że wszyscy użytkownicy strony znają angielski. Na przykład, odnośnik do francuskiej strony, 'francuski' powinien być zapisany jako 'français'. Podobnie jest w przypadku, gdy odsyłasz użytkownika do strony poszczególnego kraju, lub regionu, na przykład 'Niemcy' powinno być zapisane jako 'Deutschland'

Dalsze informacje
Przeczytaj "Using <select> to Link to Localized Content" o używaniu <select> do linkowania do zlokalizowanych treści. Dodatkowe artykuły o nawigacji będą dostępne wkrótce.
Tekst pisany od prawej do lewej. Dla XHTML, dodaj dir="rtl" do tagu html. Użyj go ponownie do zmiany kierunku tekstu.

Tekst w językach takich jak arabski, hebrajski, perski, czy urdu czytany jest od prawej do lewej. Z tego powodu tekst wyrównywany jest do prawej strony, a cały układ strony ma lustrzane odbicie. Można ustawić domyślne wyrównanie zawartości strony od prawej do lewej poprzez wprowadzenie tagu dir="rtl".

Kierunek ustawiony w znacznikach html przechodzi na elementy podrzędne. Nie trzeba powtarzać tego atrybutu na niższych elementach, chyba że chce się zmienic w nich kierunek tekstu.

Na przykład, w tekscie pisanym od prawej do lewej umieszczony tekst łaciński ma nadal kierunek od lewej do prawej. Jeśli pracujesz z językami pisanymi od prawej do lewej powinieneś zapoznać się z podstawami dwukierunkowego algorytmu Unicode. Algorytm ten zajmuje się dwukierunkowym tekstem bez ingerencji autora. Zdarzają się jednak sytuacje, w których potrzebne są znaczniki, albo znaki Unicode do zapewnienia odpowiedniego efektu.

Dalsze informacje
Przeczytaj "Authoring Techniques for XHTML & HTML Internationalization: Handling Bidirectional Text" w celu uzyskania informacji o pracy z skryptami od prawej do lewej i "Creating Bidi XHTML/HTML Pages" jako wprowadzenie do podstaw organizacji dwukieunkowego tekstu.
Stary wyga?
Sprawdź indeks tematów dla uzyskania dalszych informacji.
Sprawdź swoją pracę. Waliduj! Użyj technik, tutoriali i artykułów dostępnych na http://www.w3.org/International/
Try the W3C Internationalization Checker.

Inne materiały wstępne

Niedawno opublikowailśmy stronę Getting Started aby pomóc użytkownikom wyszukać potrzebne informacje dostepne na naszej witrynie. Strona ta ma odnośniki do serii artykułów, które wprowadzą nowicjuszy w kluczowe zagadnienia związane z internacjonalizacją i zapewnią podstawowe informacje potrzebne do rozpoczęcia pracy.