Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: мультиязычность основанная на базах данных!
 
 автор: frisst   (19.10.2009 в 22:33)   письмо автору
 
 

Здравствуйте!
я узнал как сделать мультиязычность с помощью файлов, но мне нужно узнать как сделать мультиязычность сайта с помощью БД MySQL!
спасибо заранее!...

  Ответить  
 
 автор: heed   (19.10.2009 в 23:58)   письмо автору
 
   для: frisst   (19.10.2009 в 22:33)
 

вопрос звучит как что-то вроде
"как мне сделать запрос к одной таблице, если $lang='ru', или к другой если $lang='en'"
Чтобы сделать мультиязычный сайт нужно знать сам этот сайт
, что из содержимого можно хранить в нескольких вариантах перевода, а что будет поступать тоько в одном варианте, и что в таких случаях предполагается делать.
На данный момент что из содержимого сайта у вас хранится в mysql, и что-нибудь предполагается изменить по отношению к тому что сейчас в db ?
Сайты вообще бывают разные , разьве-что на многих есть навигационные меню, и слова приветствия

  Ответить  
 
 автор: frisst   (20.10.2009 в 18:04)   письмо автору
 
   для: heed   (19.10.2009 в 23:58)
 

в данный момент сайта пока нет!(только эскизы и заготовки!)
поэтому заранее спросил!

переводиться будет всё(кроме того что дополняет пользователь)
а если я буду сам добавлять через админ-панель, то буду кидать инфу в двух видах! И на английском и на русском!

если знаете то помогите пожалуйста!...

  Ответить  
 
 автор: cheops   (20.10.2009 в 18:51)   письмо автору
 
   для: frisst   (20.10.2009 в 18:04)
 

.

  Ответить  
 
 автор: cheops   (20.10.2009 в 18:53)   письмо автору
 
   для: frisst   (20.10.2009 в 18:04)
 

Собственно, если вы будете использовать кодировку utf-8 никаких проблем у вас возникнуть не должно.

  Ответить  
 
 автор: frisst   (20.10.2009 в 19:03)   письмо автору
 
   для: cheops   (20.10.2009 в 18:53)
 

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

  Ответить  
 
 автор: cheops   (20.10.2009 в 19:25)   письмо автору
 
   для: frisst   (20.10.2009 в 19:03)
 

А что вызывает затруднение?

  Ответить  
 
 автор: frisst   (20.10.2009 в 19:27)   письмо автору
 
   для: cheops   (20.10.2009 в 19:25)
 

я просто не знаю ваще как сделать!...((

  Ответить  
 
 автор: frisst   (20.10.2009 в 21:01)   письмо автору
 
   для: heed   (19.10.2009 в 23:58)
 

впринцепи вы мой вопрос правильно поняли!
вы можете мне помочь?

  Ответить  
 
 автор: cheops   (20.10.2009 в 22:34)   письмо автору
 
   для: frisst   (20.10.2009 в 21:01)
 

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

  Ответить  
 
 автор: frisst   (20.10.2009 в 23:16)   письмо автору
 
   для: cheops   (20.10.2009 в 22:34)
 

ну вот заминка!
задача сделать-АВТОПЕРЕКЛЮЧЕНИЕ языка!(((

  Ответить  
 
 автор: cheops   (21.10.2009 в 00:52)   письмо автору
 
   для: frisst   (20.10.2009 в 23:16)
 

А вы помещайте флаг текущего языка в сессию и в зависимости от значения соответствующей переменной выводите содержимое страницы. Тогда переключение языка будет сводиться к изменению состояния элемента массива $_SESSION.

  Ответить  
 
 автор: heed   (21.10.2009 в 10:31)   письмо автору
 
   для: frisst   (20.10.2009 в 23:16)
 

с определением и переключением могут быть разные варианты
http://softtime.ru/forum/read.php?id_forum=2&id_theme=37501
куки или сессии , accept_language или один для всех язык по умолчанию
, не так сложно выбрать.
Часто сразу при первом обращении, если в пользовательских данных нет идентификатора языка
его редиректят. Иногда всё идёт в одном виде пока не будет выбран другой язык
На других сайтах (php.net apache.org) в пути ссылок вносятся изменения , а разгребает это потом отчасти apache.
Если устанавливали apache, возможно замечали как там реализовано включением в httpd.conf
файла, я оттуда понял только одну строчку :)

 SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru|tr)/ prefer-language=$1
т.е. просто создаётся переменная окружения prefer-language=ru

но там другой принцип , там всё на файлах
какие-то конструкции типа
LanguagePriority en fr de
при запросе foo.html, где foo.html.fr и foo.html.de оба существовали
, но браузер не выражал языковое предпочтение, foo.html.fr должно быть возвращано.
всякие ForceLanguagePriority Prefer Fallback и установки обработчиков файлов

у Вас напрашиваются просто отдельные таблицы для разных языков, и Подстановка в запросы переменной как части имени таблицы, а получать эту переменную можно массой способов

  Ответить  
 
 автор: frisst   (23.10.2009 в 17:39)   письмо автору
 
   для: heed   (21.10.2009 в 10:31)
 

вот я так тоже сперва подумал! Что надо создать допустим 2 таблицы:
1) lang_ru
2) lang_en

и использовать кукисы.
но как подставлять в один запрос другой запрос, я не понимаю!...Ошибку часто выдаёт...Или совсем не о, что мне надо!...(

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования