Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Menu
Forum PHP.pl > Forum > PHP
gorgio
Witam, wszystkich serdecznie,

Moje pytanie dotyczy zmiany menu wraz z interfejsem jezyka.
Dokladnie chodzi mi o to iz musze przygotowac strone w niemieckiej wersji jezykowej. Moj problem polega na tym iz nie wiem jak sprawic aby wraz z zmiana interfejsu jezyka zmienialo sie menu?

Jezeli ktos jest mi wstanie pomoc w tej materii bede ogromnie wdzieczny
zbig13
Możesz zrobić tak, że po kliknięciu na przykład na "język angielski" jest przesyłana zmienna w pasku adresu language=english. A potem sprawdzasz w miejscu gdzie jest menu tą zmienną i dopasowujesz menu do języka:

  1. <?php
  2.  
  3. if ($_GET['language'] == 'polski') {
  4. // Tutaj wyświetlasz menu w języku polskim.
  5. } else if ($_GET['language'] == 'english') {
  6. // Tu menu w języku np. angielskim. 
  7. } else if {... i ta dalej
  8. // a po wszystkich językach dajesz:
  9. } else {
  10. echo 'Wystąpił błąd! Nie istnieje zmienna language.'; // lub wywołujesz jakąś inną akcję
  11. }
  12.  
  13. ?>

A zmienną przesyłasz zwykłym linkiem:
  1. <a href="strona.php?language=polski">Język Polski</a>


Pozdrawiam!
Kas
Najlepiej stworzyć oddzielny plik językowy.
Wtedy wybierasz zgodznie z przesyłaną zmienną wersję jezykową. biggrin.gif
Pigula
kiedys bylo pelno tematow o stronach wielojezykowych poszukaj na forum
Kas
Można to zrobić na kilka sposobów, ale najbardziej profesjonalna opcja to naprawdę oddzielna baza językowa.
mynio
właśnie może macie jakieś ciekawe materiały na temat wprowadzania we własnych projektach różnych wersji językowych
byłbym wdzięczny

pzdr
Kas
Proponuję zrobić tak jak jest to w Mambo - oddzielny plik php z tłumaczniem interfejsu.
Obejrzyj sobie jak jest to tam zrobione.
Ociu
/languages/pl/test.php
  1. <?php
  2. $LANG['welcome'] = 'Witaj !';
  3. $LANG['text'] = 'tekst';
  4. ?>

plik.php
  1. <?php
  2. if(empty($_GET['lang'])) die('Nie zdefiniowano langu');
  3. setcookie('lang', $_GET['lang'], time()+3600*24);
  4. include('/languages/' . $_GET['lang'] . 'test.php');
  5. ?>


innyplik.php
  1. <?php
  2. include('/languages/' . $_COOKIE['lang'] . 'test.php');
  3. echo $LANG['text'];
  4. ?>
gorgio
Witam Wszystkich bardzo serdecznie smile.gif

Chialem wszystkim bardzo podziekowac za pomoc, ktora mi udzieliliscie, nawet nie przypuszczalem, ze moja sprawa znajdzie taki szeroki oddzwiek.

z wyrazami szacunku

gorgio
TomASS
Ja mam tak jak proponował Ociu. Oddzielny plik językowy:

lang_pl.php:
  1. <?
  2. $Lang['Koszyk']='Koszyk';
  3. $Lang['Zamowienie_biezace']='Zamówienie bieżące';
  4. $Lang['Nazwa']='Nazwa';
  5. $Lang['Sztuka']='Sztuka';
  6. ?>


a w plikach:

  1. <?php
  2.  
  3. echo '<tr class="naglowek1">';
  4. echo '<td>'.$Lang['Lp'].'</td>';
  5. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Z.Nr_zamowienia'">'.[B]$Lang['Nr_zamowienia'][/B].'</td>';
  6. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Z.Nazwa_odbiorca'">'.[B]$Lang['Odbiorca'][/B].'</td>';
  7. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Z.Nazwa_zaklad'">'.$Lang['Zaklad'].'</td>';
  8. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Z.Termin_dostawy'">'.$Lang['Data_dostawy'].'</td>';
  9. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Waga'">'.$Lang['Waga'].'</td>';
  10. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Wartosc'">'.$Lang['Wartosc'].'</td>';
  11. echo '<td style="cursor: hand;" onClick="window.location=''.$PHP_THIS.'?action='.$action.'&sort=Z.Status'">'.$Lang['Status'].'</td>';
  12. echo '</tr>';
  13.  
  14. ?>


I na początku tego pliku, wczytuje z bazy danych, język użytkownika:
  1. <?php
  2.  
  3. $query = "SELECT * FROM swd_users WHERE Login='$login' AND Haslo='$haslo' LIMIT 1";
  4. $result = mysql_query($query);
  5.  
  6.  $USER['Nazwisko']=$row['Nazwisko'];
  7.  $USER['QWhere']=$row['QWhere'];
  8. $USER['Lang']=$row['Lang'];
  9.  
  10. if($USER['Lang']){
  11.     $lang_plik = 'lang/lang_'.$USER['Lang'].'.php';
  12.     include($lang_plik);
  13. }
  14. else include('lang/lang_pl.php');
  15. global $Lang;
  16.  
  17. ?>


Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.