PHP для идиотов
→ Многоязычный сайт • 6 февраля 2008 г. 15:07
ну так и в моем случае две таблицы news и page под контент… только еще добавляется таблица lang… хотя как кому удобней, дисскусия то бесмысленная, без конкретики… заходи ко мне на сайт, завтра, послезавтра (http://php-5.ru), я подготовлю класс по локализации, там и обсудим все п...
ну так и в моем случае две таблицы news и page под контент… только еще добавляется таблица lang… хотя как кому удобней, дисскусия то бесмысленная, без конкретики… заходи ко мне на сайт, завтра, послезавтра (
http://php-5.ru), я подготовлю класс по локализации, там и обсудим все плюся и минусы….
PHP для идиотов
→ Многоязычный сайт • 6 февраля 2008 г. 14:25
Дальше в зависимости от параметра $_GET['lang'] или $_COOKIE['lang'], если не равно пусто, то бишь задействован альтернативный язык, считываем из таблицы lang данные с условием, что language = $_GET['lang'], иначе считываем данные из основной таблицы…почему бы не хра...
Дальше в зависимости от параметра $_GET['lang'] или $_COOKIE['lang'], если не равно пусто, то бишь задействован альтернативный язык, считываем из таблицы lang данные с условием, что language = $_GET['lang'], иначе считываем данные из основной таблицы…
почему бы не хранить всё в одной таблице, а при отсутсвии $_GET['lang'] или $_COOKIE['lang'] просто выставлять значение по-умолчанию?
?? может я чего-то не понимаю… допустим есть две таблицы, news и page… то есть чтоб хранить записи о других доступных языках, нужно будет в обе таблицы вводить дополнительные поля… а если создать отдельную таблицу, то мы просто в type прописываем в одном случае news, в другом page, а потом строим запрос который извлекает из таблицы данные по нужному критерию.
PHP для идиотов
→ Многоязычный сайт • 6 февраля 2008 г. 13:06
Если тексты храняться в базе можно попробывать сделать транслятор… Для начало создаем базу откуда будем брать локализацию, примерно так:CREATE TABLE `lang` ( `id` int(11) NOT NULL auto_increment, `type` varchar(12) NOT NULL default '', `content_id` int(11) NOT NULL default '0...
Если тексты храняться в базе можно попробывать сделать транслятор… Для начало создаем базу откуда будем брать локализацию, примерно так:
CREATE TABLE `lang` (
`id` int(11) NOT NULL auto_increment,
`type` varchar(12) NOT NULL default '',
`content_id` int(11) NOT NULL default '0',
`subject` varchar(255) NOT NULL default '',
`body` longtext NOT NULL,
`language` varchar(3) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM;
где type - тип страницы (новости, статьи, фак, форум и так далее), content_id - связь с таблицой что локализуем, subject & body соотвтетсвенно заголовок и тело, language - язык…
Дальше в зависимости от параметра $_GET['lang'] или $_COOKIE['lang'], если не равно пусто, то бишь задействован альтернативный язык, считываем из таблицы lang данные с условием, что language = $_GET['lang'], иначе считываем данные из основной таблицы…