![]() |
Polskie litery i wielojęzyczność - informacje techniczne |
W starej technologii poszczególne wersje językowe są odróżniane pojedyńczą literą na początku rozszerzenia, jak pokazano to w poniższej tabeli:
Wersja dokumentu | Rozszerzenie (HTML) | Rozszerzenie (CGI) |
---|---|---|
Jedyna | .html | (brak) |
Polska - bez polskich znaków | .html | (brak) |
Polska - ISO 8859-2 | .ihtml | .i |
Polska - Win CP 1250 | .whtml | .w |
Angielska | .ehtml | .e |
Jak widać domyślną wersją jest wersja bez polskich znaków, co w tej chwili nie jest najlepszym rozwiązaniem.
Umożliwia to prostą implementację na większości serwerów HTTP, np. dla serwera Apache-Httpd należy umieścić w pliku konfiguracyjnym srm.conf (albo w pliku .htaccess w katalogu w którym znajdują się dokumenty) następujące linijki:
AddType text/html .ihtml AddType text/html .whtml AddType text/html .ehtml
Albo też w pliku konfiguracyjnym mime.types zmienić zawartość linijki definiującej typ text/html tak, aby miała postać np.
text/html html htm ihtml whtml ehtml
Dla serwera Cern-Httpd należy w pliku konfiguracyjnym (httpd.conf) umieścić następujące linijki:
AddType .ihtml text/html 8bit AddType .whtml text/html 8bit AddType .ehtml text/html 8bit
Do automatycznego tworzenia na podstawie dokumentów z polskimi literami w standardzie ISO 8859-2 wersji bez polskich znaków i ewentualnie CP 1250 z zachowaniem wymogów tej technologii można użyć programu HtmlConv (patrz niżej).
W nowej technologii wykorzystuje się możliwości serwera Apache-Httpd, a mianowicie technologię MultiViews. Dzięki temu wykorzystywane są preferencje językowe użytkownika.
Generuje to następujące rozszerzenia dla wersji językowych dokumentów:
Wersja dokumentu | Rozszerzenie (HTML bez SSI) | Rozszerzenie (HTML z SSI) | Rozszerzenie (CGI użytkownika) |
---|---|---|---|
Jedyna | .html | .shtml | .cgi |
Polska - bez polskich znaków | .html.pn | .shtml.pn | .cgi.pn |
Polska - ISO 8859-2 | .html.po | .shtml.po | .cgi.po |
Polska - Win CP 1250 | .html.pw | .shtml.pw | .cgi.pw |
Angielska | .html.en | .shtml.en | .cgi.en |
Dla skryptów CGI nie rozpoznawanych po rozszerzeniu (tylko po katalogu) należy używać rozszerzeń takich jak w starej technologii, względnie takich jak dla CGI użytkownika (rozpoznawanych po rozszerzeniu).
Aby móc skorzystać z tej technologii należy w każdym katalogu umieścić plik .htaccess o np. następującej zawartości (dyrektywy te mogą się też znaleźć w plikach konfiguracyjnych serwera - access.conf i srm.conf):
Options All MultiViews AddLanguage pl .po AddLanguage pn .pn AddLanguage pw .pw LanguagePriority pl pn pw en DirectoryIndex index.shtml index.html
Dyrektywa deklarująca rozszerzenie .en znajduje się domyślnie w pliku srm.conf.
Powyższy plik .htaccess włącza MultiViews, aby można było korzystać z tej technologii, definiuje rozszerzenia językowe używane przez nią, ustala domyślne preferencje językowe i pozwala używać plików index z Server-Side Includes.
Do automatycznego tworzenia na podstawie dokumentów z polskimi literami w standardzie ISO 8859-2 wersji bez polskich znaków i ewentualnie CP 1250 z zachowaniem wymogów tej technologii można użyć programu HtmlConv (patrz niżej).
Z własnego doświadczenia wiem, że przygotowywanie dokumentów HTML-owych pod DOS-em jest dość popularne. Jednakże napotykamy tam na drobny problem - DOS-owy limit długości nazw plików, a dokładniej limit długości rozszerzenia do trzech znaków.
Sugeruję używanie następujących rozszerzeń zastępczych:
Rozszerzenie - Unix | Rozszerzenie - DOS |
---|---|
.html | .htm |
.ihtml | .iht |
.whtml | .wht |
.ehtml | .eht |
.shtml | .sht |
.html.po | .htp |
.html.pn | .htn |
.html.pw | .htw |
.html.en | .hte |
.shtml.po | .shp |
.shtml.pn | .shn |
.shtml.pw | .shw |
.shtml.en | .she |
Dodatkowo plik .htaccess powinien pod DOS-em nosić nazwę _htacces. Tłumaczenia nazw plików z wersji DOS-owych na wersje Unix-owe (obie technologie) wykonuje program Reh (patrz niżej).
Jeżeli chcemy nie tylko tworzyć, ale i testować tworzone strony, możemy zrobić to dowolną przeglądarką, np. Netscape. Jeśli stosujemy pierwszą technologię to próby ładowania dokumentów z odpowiednimi długimi rozszerzeniami automatycznie spowodują załadowanie pliku z odpowiednim krótkim rozszerzeniem. Jeśli stosujemy drugą technologię, to niezbędny będzie program ExtFake (patrz niżej) dokonujący tłumaczenia nazw plików.
Program HtmlConv (patrz niżej) jest dostępny również w wersji DOS-owej.
Ponieważ program HtmlConv wymaga, aby wersje źródłowe dokumentów zawierały polskie litery w standardzie ISO 8859-2, należy posługiwać się edytorami pozwalającymi na ich wprowadzanie - ja osobiście polecam dowolny edytor tekstowy (np. TvEdit, Vim) i program Ogonki (autorstwa Andrzeja Górbiela), dostępny na Polskiej Stronie Ogonkowej.
Poniżej wymienione jest kilka programów narzędziowych (mojego autorstwa) ułatwiających przygotowywanie dokumentów zgodnie z dowolną z powyższych technologii.
Każde archiwum zawiera krótką dokumentację.
|
|