Многоязычная веб-страница с PHP MYSQL, не может установить язык сессии по умолчанию
Я разрабатываю многоязычную веб-страницу с php и mysql в моей локальной среде разработки. Все хорошо, пока сессия по умолчанию значение языка.
Мой скрипт обнаружения языка выглядит так:
<?php
ob_start();
session_start();
header('Cache-control: private');
if(isset($_GET["lang"]))
{
$lang = $_GET["lang"];
$_SESSION["lang"] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
elseif(isset($_SESSION["lang"])) {
$lang = $_SESSION["lang"];
}
elseif(isset($_COOKIE["lang"])) {
$lang = $_COOKIE["lang"];
}
else {
$lang = "tr";
}
switch ($lang) {
case "tr":
break;
default:
$lang = "tr";
}
ob_end_flush();
?>
Когда я пытаюсь вызвать страницу
локальный / производство /sample.php? =1
он не вызывал значения из mysql, потому что не может определить язык по умолчанию.
Но когда я пытаюсь позвонить
локальный / производство /sample.php? =1& LANG = тр
Работает отлично. Что мне не хватает? Что не так с моим скриптом определения языка? Любая помощь сильно ценится.
1 ответ
Если вы хотите получить язык по умолчанию из браузера клиента, вы можете проверить этот вопрос: Самый простой способ определения языкового стандарта клиента в PHP
Убедитесь, что у вас есть множество приемлемых языков, которые поддерживает ваш сайт. Если язык клиента браузера отсутствует в вашем списке, вы должны использовать свой собственный язык по умолчанию.
Если вы заинтересованы в использовании Zend Framework (v1), я написал несколько статей о многоязычной поддержке в своем блоге.