Функции
setcookie и
header должны выполняться ДО любого вывода (echo, print, var_dump, print_r… etc)
А также советую обзавестись флагом, что бы куки ставились 1 раз.
Хотя лучше после
header(«Location: ./»); выполнять exit();
как то так:
<?php
function translate($rus,$eng)
{
$lang = $_GET['lang'];
$cookie_fresh = mktime(23,59,59,12,31,date('Y')+1);
$c_lang = isset( $_COOKIE['lang'] ) ? $_COOKIE['lang'] : 'ru';
if ( $lang == 'eng' && $c_lang != $lang )
{
setcookie('lang', 'eng', $cookie_fresh);
header("Location: ./");
exit();
}
if ($c_lang != $lang && ($lang == 'rus' or !isset($_COOKIE['lang'])))
{
setcookie('lang', 'rus', $cookie_fresh);
header("Location: ./");
exit();
}
switch( $_COOKIE['lang'] ){
case 'eng':
echo $eng;
break;
case 'ru':
echo $rus;
break;
}
return true;
}
?>