Oto Skrypt zmiany jezyka na stronie wraz z wytłumaczeniem, wykonany przezemnie
Func.php
function e($echo){//skrucona funkcja echo http://www.php.net/echo($echo); } function lang() { $lang = @$_GET['lang']; $tydzien = http://www.php.net/time()+3600*24*7; //czas ciasteczka -tydzien if($lang == 'en'){ //jeśli w pasku adresu ?lang=en if(!http://www.php.net/isset($_COOKIE['lang_en'])){ //jeśli nie istnieje ciasteczko jezyka angielskiego http://www.php.net/setcookie('lang_en','en',$tydzien); //to je tworzy if(http://www.php.net/isset($_COOKIE['lang_pl'])){ //jeśli istnieje ciast. Jezyka pl http://www.php.net/setcookie('lang_pl','pl',http://www.php.net/time()- 1); // to je usuwa } } }elseif($lang == 'pl'){ //jeśli w pasku adresu ?lang=pl if(!http://www.php.net/isset($_COOKIE['lang_pl'])){ { //jeśli nie istnieje ciasteczko jezyka pl http://www.php.net/setcookie('lang_pl','pl',$tydzien);//to je tworzy if(http://www.php.net/isset($_COOKIE['lang_en'])){//jeśli istnieje ciast. Ang. http://www.php.net/setcookie('lang_en','en',http://www.php.net/time()- 1);//to je usuwa } } }elseif(!http://www.php.net/isset($_GET['lang'])){//jeśli w pasku nie ma ?lang= if(!http://www.php.net/isset($_COOKIE['lang_pl']) AND !http://www.php.net/isset($_COOKIE['lang_en'])){//i nie ma ciasteczka żadnego jezyka http://www.php.net/header('location:index.php?lang=pl'); // to ustawia ?lang= http://www.php.net/setcookie('lang_pl','pl',$tydzien);// i tworzy ciasteczko jezyka pol } } }
<? require('func.php'); lang();//wywołanie funkcji if(http://www.php.net/isset($_COOKIE['lang_pl'])){//jeśli istnieje ciasteczko pl require("../lang/pl.php");//odpala plik z tym jezykiem }elseif(http://www.php.net/isset($_COOKIE['lang_en'])){ require ("..lang/en.php");[php]
$nazwa = 'nazwa użytkownika'; $haslo = 'hasło'; $email = 'email'; $zarejestuj = 'zarejestruj';
$nazwa = 'user name'; $haslo = 'password'; $email = 'email'; $zarejestruj = 'register';
require('lang.php'); <a href="?lang=pl">pol</a> <a href="?lang=en">eng</a> <form action="" method="POST"> <center> <table><tr><td> <center><?e($nazwa);?></center></br><input type="text" name="login"> </td></tr> <tr><td> <center><?e($haslo);?></center></br><input type="password" name="haslo"> </td></tr> </table> </center> <center> <input type="submit" value="<?e($zaloguj);?>" name="admin"> </center> </form> <a href="reg.php"><?e($zarejestruj);?></a>
pliki lang ze zmiennymi
$nazwa = 'nazwa użytkownika', $haslo = 'hasło'; $email = 'email; $zarejestuj = 'zarejestruj';
//tablica $langVal = http://www.php.net/array( 'nazwa'=> 'nazwa użytkownika', 'haslo' => 'hasło', 'email' =>'email' ) http://www.php.net/echo $langVal['nazwa']; // albo define http://www.php.net/define('LANG_SAVE', 'Zapisz'); http://www.php.net/define('LANG_ADD', 'Dodaj'); http://www.php.net/define('LANG_EDIT', 'Edytuj'); http://www.php.net/define('LANG_UNLOG', 'Wyloguj'); http://www.php.net/echo LANG_SAVE;
$lang = @$_GET['lang']; // @ bo błąd wywala nie? :) //a tak nie będzie $lang = http://www.php.net/isset($_GET['lang']) ? $_GET['lang'] : null; if($lang) { //dalsze czynności } //a jeszcze lepiej $lang = http://www.php.net/isset($_GET['lang']) ? $_GET['lang'] : 'pl'; // jak nie ma w url dajemy domyślny tu -> pl
I te tabelki i ten center...
1. Zacznij naukę od języka polskiego
2. Nie zaśmiecaj tego działu takim shitem, takie coś dla działu dla początkujących
3. Całe Twoje wypociny można zawrzeć w kilku linijkach...
4. Przypisywanie zmiennej do każdego stringa do tłumaczenia jest masochizmem i jest nieoptymalne.
<? $allowed = http://www.php.net/array('en', 'pl'); if(!http://www.php.net/isset($_COOKIE['lang']) OR (http://www.php.net/isset($_GET['lang']) AND $_COOKIE['lang']!=$_COOKIE['lang'])){ http://www.php.net/setcookie('lang',((http://www.php.net/isset($_GET['lang']) AND http://www.php.net/in_array($_GET['lang'], $allowed) ? $_GET['lang'] : $_GET['lang'][0]), (http://www.php.net/time()+604800)); } if(http://www.php.net/file+exists('../lang/'.$_COOKIE['lang'].'.php')) include_once('../lang/'.$_COOKIE['lang'].'.php');
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)