EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

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

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Как лучше организовать мультилингвальный сайт?
Автор Сообщение
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

432 Монеты

СообщениеДобавлено: Пт, 04 Сен, 2009 20:23    Заголовок сообщения: Как лучше организовать мультилингвальный сайт? Ответить с цитатой

Мне нужно сделать сайт на 2 языках, с возможностью расширения.

Каким образом лучше структурировать БД, чтобы удобней было переключать?


Варианты:

1. На каждый язык свою БД под контент. Таким образом менять при коннекте БД.
2. Дублировать таблицы в одной базе с постфиксами языков, изменять навзания таблиц в SQL.
3. Дублировать поля в таблицы под свой язык.

Или что ещё оптимальней можно придумать?

Под словом контент я подразумеваю новости, события, статические страницы и тд, НЕ интерфейсную часть.
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Пт, 04 Сен, 2009 20:32    Заголовок сообщения: Ответить с цитатой

madhamster
Я бы выбрал первое.
Много переделывать ненадо
if ($_SESSION['lng'] == "ru"){
mysql_select_db("ru");
} else {...}


И изменять данные на двух языках проще.
_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DEXIF
#!/bin/bash
Согнул ложку


Зарегистрирован: 27.09.2006
Сообщения: 918
Откуда: Минск
49871 Монеты

СообщениеДобавлено: Сб, 05 Сен, 2009 03:52    Заголовок сообщения: Ответить с цитатой

Красивей выглядел бы конечно 1 вариант при огромной базе...(например тогда можно базы разнести на разные сервера) а для небольшого проекта достаточно и дублировать записи в 1 таблице...
Дубляж таблиц както "неочень" смотрится... хотя... дело вкуса...
_________________


S
|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2066
Откуда: Самара
11733 Монеты

СообщениеДобавлено: Вс, 06 Сен, 2009 04:54    Заголовок сообщения: Ответить с цитатой

Оптимальнее в каждую таблицу где возможна запись разных языков добавить поле lang, например для русского ru, для английского en и т.д., чтобы получить данные достаточно добавить в select часть where lang = 'ru'. + Создать таблицу хранящую список языков их кратких обозначений и возможность перехода между ними в интерфейсе.
Например:
MessageTable
Код:
id  Message_id Message          Lang
1    31  Hello world!         en
2    31  Привет Мир!        ru
3    31  Привіт світ!         ua


Код:
LangTable
id   Name Code
1    English  en
2    Русский ru

Почему это удобнее чем все другие способы перечисенные выше? Просто достаточно добавить новую строчку в таблицу и новый язык уже в теории будет готов к использованию, и не нужно создавать базы данных, таблицы или менять кол-во полей (что требует прав админа MySQL и простому пользователю недоступно). Т.е. для CMS вообще практически единственный правильный.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DEXIF
#!/bin/bash
Согнул ложку


Зарегистрирован: 27.09.2006
Сообщения: 918
Откуда: Минск
49871 Монеты

СообщениеДобавлено: Вс, 06 Сен, 2009 06:24    Заголовок сообщения: Ответить с цитатой

Веденин
собственно об этом я и говорил... Smile
_________________


S
|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
антон888
Два пингвина
Два пингвина


Зарегистрирован: 05.11.2007
Сообщения: 311

13441 Монеты

СообщениеДобавлено: Сб, 19 Сен, 2009 17:15    Заголовок сообщения: Ответить с цитатой

Веденин писал(а):
Оптимальнее в каждую таблицу где возможна запись разных языков добавить поле lang


и ниже
Веденин писал(а):
не нужно создавать базы данных, таблицы или менять кол-во полей (что требует прав админа MySQL и простому пользователю недоступно)


Или я что то упустил ? )
_________________
сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Сб, 19 Сен, 2009 17:32    Заголовок сообщения: Ответить с цитатой

антон888
вполне логичная связь: т.к. "а" простому пользователю недоступно, применяйте "б"
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET