Wielojęzyczne strony WWW

Kodowanie znaków

Nie używaj tuzina kodowań ISO, a tylko i wyłącznie UTF-8. To kodowanie potrafi przedstawić praktycznie wszystkie znaki ze wszystkich języków na raz.

Dzięki temu można używać jednego i takiego samego kodowania w HTML, skryptach po stronie serwera, bazie danych, a nawet URL-ach i nazwach plików.

Schemat adresów stron w różnych językach

Używaj osobnych domen albo przynajmniej osobnych ścieżek (katalogów) na różne wersje językowe strony.

Jeśli będziesz umieszczać wszystkie wersje pod tym samym adresem (i np. wybierać język za pomocą cookies albo nagłówków HTTP), to wyszukiwarki nie będą potrafiły zaindeksować wszystkich wersji językowych!

http://pl.example.com
http://en.example.com
http://de.example.com

lub

http://example.com/pl/
http://example.com/fr/
http://example.com/es/

Gdy będziesz mieć osobne adresy na osobne języki, to przełączanie się między językami będzie bardzo proste — wystarczy, że umieścisz linki do tej samej strony w innych językach.

Możesz zrobić automatyczne przekierowanie statusem 302 z „neutralnej” domeny na domenę preferowanego przez użytkownika języka:

http://example.com/ → http://pl.example.com/

Tworząc przekierowania uważaj na przypadki, gdy użytkownik podaje więcej, niż jeden preferowany język, gdy twoja strona nie ma wersji w żadnym z preferowanych języków i gdy nie da się ustalić, jaki język użytkownik preferuje.

Wykrywanie preferowanego języka

HTTP

ok. 5% użytkowników będzie miało źle skonfigurowane „preferowane” języki.

Listę preferowanych języków przeglądarki podają w nagłówku HTTP Accept-Language:

  Accept-Language: pl, en, en-gb;q=0.9, en-us;q=0.8

Lista będzie zawierała języki oddzielone przecinkami, a po nazwie języka opcjonalnie może być wartość jak bardzo jest preferowany. Dokładny opis składni.

IP i domeny

Flaga
Kraj twojego IP

Można odgadnąć kraj, z którego łączy się użytkownik za pomocą bazy IP → kraj lub revDNS, ale:

W przeciwieństwie do listy preferowanych języków wysyłanych przez przeglądarkę, użytkownik zazwyczaj nie ma możliwości zmiany swojego IP.

Ponieważ obie metody nie są 100% skuteczne, zawsze musisz dać możliwość zmiany języka strony.

Unikaj używania flag do symbolizowania języka

Angielski, niemiecki, francuski i hiszpański są używane w wielu krajach. Mieszkańcy tych krajów nie zawsze sympatyzują z krajami, z którymi utożsamiany jest używany przez nich język.

Źródła


Zmodyfikowano: 16.08.2009, 14:05
submit