Strona w dwóch językach

PHP to skryptowy język wykonywany po stronie serwera. Forum przeznaczone na pytania dot. programowania obiektowego, wzorców projektowych itp.
Awatar użytkownika
suhar
Posty: 1
Rejestracja: 31 mar 2015, 19:42

Strona w dwóch językach

Post autor: suhar » 31 mar 2015, 19:46

Witam, amatorsko piszę stronki dla pewnej firmy. Dostałem gotowy szablon który zazwyczaj dostosowuje do kolejnych projektów. Od roku nie miałem problemów aż do dziś.... Mam szablon strony z opcją zmiany języka na angielski... Siedzę 3 dni i nie potrafię zrozumieć zasady działania a co za tym idzie nie potrafię dostosować go do nowego projektu. Wygląda to tak:
Menu:

Kod: Zaznacz cały

<?php
if ($_REQUEST['lang'] == 'en') {
?>
<a<?php echo $_REQUEST['strona'] == 'main'? ' class="act"':''; ?> href="/en/main">Main page</a> 
<a<?php echo $_REQUEST['strona'] == 'information'? ' class="act"':''; ?> href="/en/information">Information</a>         
<?php
} else {
?>
<a<?php echo $_REQUEST['strona'] == 'glowna'? ' class="act"':''; ?> href="/glowna">Strona główna</a></li>
<a<?php echo $_REQUEST['strona'] == 'informacje'? ' class="act"':''; ?> href="/informacje">Informacje</a>
<?php
}
?>
Od razu wspomnę że pojedyncze strony znajdują bez względu na język w tym samym katalogu /pages/ choć href angielskiej wersji ma przedrostek /en/. Z moich wnikliwych przeszukiwań doszedłem do wniosku że jest on tylko wykorzystywany w sprawdzaniu warunku $_REQUEST['lang'] == 'en' co pozwala przy zmianie stron pozostać przy odpowiedniej wersji menu.

Sekcja gdzie wyświetlają się strony:

Kod: Zaznacz cały

<?php
$page = zalacz($_REQUEST['strona']);
$page? include("pages/".$page.".php"):print('');
?>
Korzysta ona z funkcji:

Kod: Zaznacz cały

function zalacz ($strona) {
  $strony = array('glowna' => 'glowna', 'main' => 'main', 'informacje' => 'informacje', 'information' => 'information' );
  $wynik = array_search($strona, $strony);
  return $wynik;
}
Staram się odwzorować ten schemat w nowej stronie ale niestety klikając w linki do angielskich wersji jest błąd o braku strony. Po usunięciu z href w menu /en/ strona się odpala ale menu za to wraca do wersji polskiej... Czy ktoś mógłby pomóc mi zrozumieć zasadę działania tego kodu? Czy coś pominąłem to wrzucę potrzebne fragmenty kodu. Ja się poddałem, lampię się w to od 3 dni i nie umiem zastosować...

Z góry dziękuję za pomoc!

ODPOWIEDZ