Zacząłem tworzyć stronę, która będzie dostępna w kilku językach. Gość już na stronie głównej może wybrać sobie, w jakim języku witryna ma być wyświetlana. Klikając w odpowiedni link, tworzy zmienną $HTTP_SESSION_VARS["lang"], zawierającą wiadomość, o tym, jaki gość wybrał język. W skrypcie strony, na samym początku sprawdzane jest, czy zmienna istnieje. Jeśli nie, to przypisana jest jej wartość języka angielskiego. Następnie includowany jest plik, zawierający deklarację tablicy $lang, w której pod odpowiednimi indeksami zawarte będą przetłumaczone na dany język teksty.
To tyle tytułem wstępu. Poniżej wklejam fragment kodu, który ma wyświetlić różne tytuły dla różnych języków:
header.php
<?php else $HTTP_SESSION_VARS[\"lang\"]=\"english\"; $langdir=\"lang/\".$HTTP_SESSION_VARS[\"lang\"].\"/lang_main.php\"; include($langdir); // ..... ?>
lang/polski/lang_main.php
<?php $lang[\"title\"]=\"zo¶ka, footbag, newsy, informacje, wydarzenia, triki, gracze, filmy\"; ?>
lang/english/lang_main.php
<?php $lang[\"title\"]=\"footbag, hacky sack, news, events, tricks, moves, players, videos\"; ?>
Przy pierwszym uruchomieniu strony, kiedy jeszcze sesja nie jest ustawiona, skrypt działa poprawnie i wyświetla angielski tekst tytułu. Kiedy jednak ktoś kliknie w link jakiegoś języka, wyświetlana jest tylko pierwsza litera tekstu z zaincludowanej zmiennej. Nie mam pojęcia, o co w tym chodzi.
Głupi problem i zapewne prosty w rozwiązaniu, ale nie pozwala mi się ruszyć dalej. Proszę o pomoc.
Link do tej stronki: http://www.footbag.p2.pl/footbagnews