![]() |
Показаны 6 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- две версии сайта: rus & eng (http://netadmin.ws/forum/showthread.php?threadid=4261)
две версии сайта: rus & eng
Очень нужен совет: Каким образом наилучшим способом разделять рус-говорящую аудиторию и забугорную (т.е. организовать двухязыковую версию сайта)? Есть ли у кого-нибудь опыт в этом деле или почитать об этом есть где-нибудь?
Вариант 1:
На первой странице предлагать выбрать язык версии сайта. При определении рус. языка в браузере автомалом отправлять на рус. версию.
Вариант 2:
Выяснить диапазон IP-адресов приходящихся на ex-USSR и в зависимости от этого направлять на опред. языковую версию. Ð_то реально? Если да, то как насчет скорости?
Вариант 3:
Идеи иссякли...
1. Вполне можно если ты имеешь ввиду определять системный язык.
2. Ð_азбор по IP, сделать можно, но это не практично, так как в ex-USSR некоторым уже английский ближе чем русский.
Опираясь на свой опыт могу посоветовать, наименьшие раздражение у пользователей вызовет такой подход:
- на первой и всех остальных страницах кнопки выбора языка (доходчевей всего флаги стран с текстом на данном языке)
- записываешь в куки, или если есть на то желание в базу, язык страницы, скоторой он работал последний раз
- приследующем заходе отправляешь его в эту языковую часть сайта.
__________________
Национальность - русский, вероисповедание - программист.
ИМХО blacki прав самый хороший вариант этот. Кстати, может у кого-нибудь есть что-то подобное уже в готовом виде на пхп?
__________________
Всё в наших руках.
Ð_то я делал в одной из моих программ.
$avallangs = array(
'en' => 'english',
'ru' => 'russian'
);
$defaultlang = 'english';
//define user language
if (@!isset($HTTP_COOKIE_VARS['language'])) {
if (isset($avallangs[$HTTP_ACCEPT_LANGUAGE])) {
$userlang = $avallangs[$HTTP_ACCEPT_LANGUAGE];
}
}
elseif (@$HTTP_POST_VARS['language'] OR @$HTTP_GET_VARS['language']) {
$userneedlang = (@$HTTP_GET_VARS['language']) ? $HTTP_GET_VARS['language'] : $HTTP_POST_VARS['language'];
if (in_array($userneedlang, $avallangs)) {
$userlang = $userneedlang;
}
}
elseif (isset($HTTP_COOKIE_VARS['language'])) {
$userlang = $HTTP_COOKIE_VARS['language'];
}
if (!isset($userlang)) {
$userlang = $defaultlang;
}
setcookie('language', $userlang, time()+864000, '/');
if (!isset($HTTP_GET_VARS['language'])) {
if (isset($HTTP_COOKIE_VARS['language']) AND !isset($HTTP_POST_VARS['language'])) {
$userlang = $HTTP_COOKIE_VARS['language'];
}
}
$langpatch = "$docroot/language/$userlang";
require_once("$langpatch/global.lang");
// _END_ define user language
__________________
Всегда есть решение.
Однако, спасибо.
Спасибо за код POLO!
__________________
Всё в наших руках.
| Формат времени GMT. Текущее время 19:37. | Показаны 6 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.