Проверяли из Европы
Бред.
Описание:
При первом посещении сайта (если кука еще не создана) браузер передаёт строку
HTTP_ACCEPT_LANGUAGE (предпочитаемые языки -
локаль).
Из этой строки
PrestaShop выбирает первую запись и проверяет наличие перевода для этого языка, иначе отображает язык используемый по умолчанию.
Не важно где территориально находится пользователь!
PrestaShop берет первую запись, остальные не проверяет, можно немного переписать метод
setCookieLanguage добавив подобный код:
Код:
$list = Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (preg_match_all('/,([a-z]{2,8});/i', $list, $list))
{
if(sizeof($list[1]))
{
foreach($list[1] as $lang)
{
if (Validate::isLanguageCode($lang))
{
$lang = Language::getLanguage(Language::getIdByIso($lang));
if(isset($lang) && isset($lang['id_lang']))
{
$lang = new Language($lang['id_lang']);
if (Validate::isLoadedObject($lang) && $lang->active && $lang->isAssociatedToShop())
{
Context::getContext()->language = $lang;
$cookie->id_lang = (int)$lang->id;
break;
}
}
}
}
}
}