Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поддомен

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
jovani
Отправлено: 18 Марта, 2012 - 22:45:37
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Привет ребята. Помогите пожалуйста советом. Я делаю мультиязычный сайт и хочу создать поддомены наподобия
CODE (htmlphp):
скопировать код в буфер обмена
  1. *****.ru/rus/
  2. *****.ru/eng/

Данное действие делать мне не приходилось, поэтому прошу Вашего совета.
Заранее всем спасибо.
 
 Top
Okula
Отправлено: 18 Марта, 2012 - 22:49:45
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




А почему бы не передавать значения выбранного языка через куки и подгружать шаблон с нужным языком. Тогда не нужно будет тратится на субдомены и ссылки в скрипте будут всегда одинаковы независимо от используемого языка.
 
 Top
jovani
Отправлено: 18 Марта, 2012 - 22:50:39
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Okula а как это сделать?
 
 Top
Okula
Отправлено: 18 Марта, 2012 - 22:55:10
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Ну, без использования шаблонизатора тут не обойтись, будь то какое-то из готовых решений, или свой нативный шаблонизатор.
Далее пишется скрипт который оброватывает папки с языками и подставляет мультиязычный текст в спроектированные html шаблоны.
 
 Top
Opposite
Отправлено: 18 Марта, 2012 - 22:57:02
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Март 2012  


Помог: 4 раз(а)




PHP:
скопировать код в буфер обмена
  1. set_cookie('lang','ru'); //set_cookie('lang','en');
  2.  
  3. if (!empty($_COOKIE['lang']) {
  4.       echo $_COOKIE['lang']; // должен вывести ru или en
  5. }
  6.  

(Отредактировано автором: 18 Марта, 2012 - 22:57:47)

 
 Top
DelphinPRO
Отправлено: 18 Марта, 2012 - 23:02:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Okula пишет:
Тогда не нужно будет тратится на субдомены и ссылки в скрипте будут всегда одинаковы независимо от используемого языка.

интересно как к этому отнесутся поисковики? они же не обрабатывают куки и будут индексировать контент только на дефолтном языке


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Okula
Отправлено: 18 Марта, 2012 - 23:03:34
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Opposite, нужно задавать время жизни куки, иначе они считаются просроченными. К тому же при первой загрузке страницы (той же где они устонавливаются) они не будут отображаться.
 
 Top
Opposite
Отправлено: 18 Марта, 2012 - 23:05:00
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Март 2012  


Помог: 4 раз(а)




Я бы не сказал, что тут нужен какой-то особый шаблонизатор. Достаточно сделать ассоциативные файлы для каждого из языков, в каждом из которых будут находиться пары ключ => фраза.

Единственная проблема, каким образом работать с этими "фразами".
Самое простое сделать так :

Где LANG_001 соответствует "Добро пожаловать" в файле "ru-RU" и "Hello" в файле "en-EN".
Или не брать в рассмотрение константы и работать вместо них с массивом
PHP:
скопировать код в буфер обмена
  1.  
  2.     echo $lang[0]; // 1,2,3,4,5,6 ...
  3.  

(Отредактировано автором: 18 Марта, 2012 - 23:08:23)

 
 Top
jovani
Отправлено: 18 Марта, 2012 - 23:05:32
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Okula Спасибо большое
 
 Top
Okula
Отправлено: 18 Марта, 2012 - 23:08:42
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




DelphinPRO, поисковики - это конечно дело хорошее, но не всё же время под них подстраиваться. К тому же сайт расчитывается больше на ту публику для которой будет дифолтный язык. Так же можно выбирайть дефолтный язык из заголовков браузера который отправляется серверу. Ведь в большинстве случаев поисковики шлют в заголовке не только юзер-агент.
 
 Top
DelphinPRO
Отправлено: 18 Марта, 2012 - 23:13:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




я бы тоже хранил идентификатор языка в куках.
точка входа на сайте - /index.php - к ней все запросы через mod_rewrite и далее разбор url
при обращении к site.ru перенаправлял бы на site.ru/ru/ и ставил куку (допустим ru - язык по умолчанию)
при обращении к site.ru/ru или site.ru/en переустанавливал бы куку на соответствующее значение. при переключении языка - то же самое.
интерфейсные надписи хранил бы в языковых INI файлах по типу ru.lang en.lang
хранение мультиязычного контента - больная тема Улыбка однозначного варианта нет.
если планируется небольшое фиксированное количество языков - разные поля в таблицах
неограниченное количество языков - наверное лучше отдельные таблицы.
(Добавление)
Okula пишет:
DelphinPRO, поисковики - это конечно дело хорошее, но не всё же время под них подстраиваться.

увы, жизнь диктует свои условия Улыбка всем нужна высокая посещаемость сайта, а поисковики - это большой процент новых пользователей, и подстраиваться под них приходится


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Okula
Отправлено: 18 Марта, 2012 - 23:37:30
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




DelphinPRO пишет:
поисковики - это большой процент новых пользователей

А я думал что это к рекламме больше относится Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB