pedro84 Posted November 28, 2006 Share Posted November 28, 2006 Hello!I make my site multilingual this way:index.php:[code]<?phpsession_start();require_once("langman.php");if(!SelectLanguage($_SESSION["lang"])) die("Error selecting language!");?>[/code]langman.php[code]<?php$language = array();function SelectLanguage($strLang){ global $language; $inc = "en"; switch(stripslashes($strLang)) { case "de": $inc = "de"; break; case "en": $inc = "en"; break; case "pl": $inc = "pl"; break; default: $inc = "en"; } include_once("languages/" . $inc . ".inc"); if(isset($lang)) { $language = $lang; return true; } return false;}?>[/code]setlang.php [to choose languages][code]<?phpsession_start();$strLang = $_GET["lang"];$_SESSION["lang"] = stripslashes($strLang);header("Location: index.php"); //** redirect to where u want...?>[/code]Questions are:):1. Do You think is this effective way to making site mulitlingual2. How to do damn cookies?Greetings, Pedro Quote Link to comment Share on other sites More sharing options...
PHPSpirit Posted November 28, 2006 Share Posted November 28, 2006 1 .Yes.2. Read this:http://www.php.net/manual/en/function.setcookie.php Quote Link to comment Share on other sites More sharing options...
pedro84 Posted November 28, 2006 Author Share Posted November 28, 2006 Thanks for reply. Main problem is that when I entry the site for the first time, session isn't started I got error with undefine variable lang. When I choose any language everything is ok.Greetings, Pedro Quote Link to comment Share on other sites More sharing options...
pedro84 Posted November 28, 2006 Author Share Posted November 28, 2006 Maybe should I send cookie from setlang.php, not index.php? Setlang.php changes user's language. Hmmm Quote Link to comment Share on other sites More sharing options...
PHPSpirit Posted December 1, 2006 Share Posted December 1, 2006 Try this code:index.php[code]<?php/* * Modules */include("language.php");$language = new language();unset($language);?>[/code]language.php[code]<?phpclass language{ function language() { if( isset($_GET['lang']) ) { $lang = $_GET['lang']; $lang = $this->set_language($lang); } elseif( isset($_COOKIE['lang']) ) { $lang = $_COOKIE['lang']; } else { $lang = $this->set_language(); } $this->load_language($lang); } function set_language($lang = "en") { switch($lang) { case "de": $lang = "de"; break; case "en": $lang = "en"; break; case "pl": $lang = "pl"; break; default: $lang = "en"; } setcookie("lang", $lang , 0); return $lang; } function load_language($lang = "en") { //include_once("languages/" . $lang . ".inc"); echo "include: ".$lang; }}?>[/code] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.