Как грамотно организовать переключения языков на мультиязычном сайте?

Статус
В этой теме нельзя размещать новые ответы.

Albert22

Старатель
Регистрация
30 Мар 2008
Сообщения
270
Реакции
11
Всем привет
Сайт пашет на самописном движке.
Языки лежат в массивах в отдельных php файлах.
Подскажите, как оптимальнее организовать их переключение?
Через поддомены (rus.site.com & eng.site.com) или например директории (site.com/rus & site.com/eng)?
 
Всем привет
Сайт пашет на самописном движке.
Языки лежат в массивах в отдельных php файлах.
Подскажите, как оптимальнее организовать их переключение?
Через поддомены (rus.site.com & eng.site.com) или например директории (site.com/rus & site.com/eng)?
Смотря с какой стороны смотреть. Если тебя волнует тиц, то лучше в дерикториях, если нет - то поддоменами. А по удобности - одного поле ягода.
 
Смотря с какой стороны смотреть. Если тебя волнует тиц, то лучше в дерикториях, если нет - то поддоменами. А по удобности - одного поле ягода.
Мне насрать на тиц, я не дрочу на рейтинг до посинения. Мне тоже кажется что удобней поддоменами.
Теоретически догадываюсь что необходимо организовать зеркало, являющееся поддоменом. И в теле скрипта отлавливать strpos($_SERVER[HTTP_HOST], 'eng') например и в зависимости от этого подгружать языковой файл.
Но уточните пожалуйста, как это реализовать?
 
Какая у вас CMS или самопис...во всех смс в файле (в зависимости от смс) условия,если язык задан то он подгружает его,если нет то по умолчанию,вам надо лишь дописать это....а если самопис то думаю вам и не сложно разобратся с этим.
пс это намногее удобно чем делат какие то разделы или поддомены...
 
Самопис у меня, самопис...
Подгрузить язык для меня не проблема.
Я затрудняюсь грамотно передать его параметром.
 
Если сайт с ЧПУ то будут грабли, если без то проблем не будет. И сайт можно было указать.
 
Если сайт с ЧПУ то будут грабли.
Я ж вот почему и пишу :)
Там чпу больше чем школьников Вконтакте.
Пока что реализовал так:
Код:
if(!empty($_GET['lang'])){
unset($_GET['lang']);
$queryString='';
foreach($_GET as $key=>$val){
$queryString.=$key.'='.$val.'&';
}}
print '<a href="'.$_SERVER[PHP_SELF].'?'.$queryString.'lang=eng">en</a><a href="'.$_SERVER[PHP_SELF].'?'.$queryString.'lang=rus">ru</a>
 
А нет ли желания сделать интернационализацию в зависимости от локали браузера посетителя?
 
А нет ли желания сделать интернационализацию в зависимости от локали браузера посетителя?
Реализована уже. Расположена в коде выше, в цитату не попала.
Если в сессии и в строке запроса язык не указан, то он берётся из стрпоса к ACCEPT_LANGUAGE. Делать жёсткую привязку к этой переменной, думаю, не стоит. как минимум потому, что ФФ под убунтой например (хоть и русифицированной) о русском языке умалчивает. И гугл, контакт и пр. сайты мне по умолчанию открывались на английском. К этой переменной стоит прислушаться только в том случае, если пользователь самостоятельно не выбрал язык.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху