Аз не виждам проблем в работата на горния код - ОК си работи.
Само не ми харесва как го правиш - имаш прекалено много повторение на код
GeSHi (PHP):
$languageFileMapping = Array( 'en' => 'en',
'bg' => 'bg',
'ru' => 'russian',
);
$defaultLanguage = 'en';
if (empty($_SESSION['language'])) {
$language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2);
$_SESSION['language'] = array_key_exists($language, $languageFileMapping) ?
$language : $defaultLanguage;
}
include($_SERVER['DOCUMENT_ROOT']."/print/".$languageFileMapping[$_SESSION['language']].".php");
Освен това проверяваш само за първия препдпочитан език, а не за всички...
GeSHi (PHP):
$languageFileMapping = Array( 'en' => 'en',
'bg' => 'bg',
'ru' => 'russian',
);
$defaultLanguage = 'en';
if (empty($_SESSION['language'])) {
$parsedLanguages = explode(',', $_SERVER["HTTP_ACCEPT_LANGUAGE"]);
foreach ($parsedLanguages as $parsedLanguage)
{
$language = substr($parsedLanguage, 0, 2);
{
$_SESSION['language'] = $language;
break;
}
}
}
if (empty($_SESSION['language'])) $_SESSION['language'] = $defaultLanguage;
include($_SERVER['DOCUMENT_ROOT']."/print/".$languageFileMapping[$_SESSION['language']].".php");
И последно - преди време ти бях писал едно лично съобщение за сайта, който правиш - прочете ли го?