Мультиязычная CMS

phpfun

Guest
Мультиязычная CMS

Всем привет ! Есть задача сделать мультиязычный сайт с CMS!
Как лучше всего организовать многоязычность при работе с динамическим содержимым ? Для каждого языка сделать отдельную таблицу ? Или отдельные поля типа rus_name
eng_name и тд ? Спасибо за ответы !
 

Мутник

Новичок
phpfun

я делал для каждого языка свою таблицу - никогда никаких проблем не испытывал, хотя, может кто то и посчитает, что это неразумно...
 

SiMM

Новичок
Мутник, а теперь расскажи нам, через какое отверстие ты бы делал реализацию поиска по всем языкам.
 

Мутник

Новичок
SiMM

по 2-3 таблицам и делал. и ничего страшного не произошло. Все что надо было - работало. И не особо медленно работало.
 

valerchik

Guest
Автор оригинала: SiMM
Мутник, а теперь расскажи нам, через какое отверстие ты бы делал реализацию поиска по всем языкам.
а какие проблемы заджоинить 2 таблицы, или вообще объеденить их в запросе. По-вашему только по одной таблице можно делать поиск ?
 

crocodile2u

http://vbolshov.org.ru
Я, например, сталкивался с двумя разными задачами при организации мультиязычных сайтов:

1) Сайты на разных языках копируют друг друга по структуре, соответственно, каждая версия сайта есть перевод другой версии на соответствующий язык.

2) Версии сайта на разных языках независимы друг от друга по структуре, их объединяет только дизайн.

В зависимости от задачи могут быть и разные подходы к решению.
 

SiMM

Новичок
> а какие проблемы заджоинить 2 таблицы, или вообще объеденить их в запросе. По-вашему только по одной таблице можно делать поиск ?
Запрос покажите, если несложно.
 

valerchik

Guest
SELECT * FROM t1
UNION
SELECT * FROM t2

это под MSSQL БД не уточнялась.
 

SiMM

Новичок
valerchik, и в итоге мы не знаем, из какой именно таблицы получена та или иная строка выборки - я правильно понимаю?
 

valerchik

Guest
а при поиске какая разница откуда инфа.
ведь там просто текст на соответствующем языке.
зачем искать по всем языкам, если нужен только один.

и вообще, слабо сделать 2 запроса к разным таблицам, а результат слепить в один массив объектов или массив массивов, кому как больше нравиться.

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

вобщем способов масса

-~{}~ 29.03.05 10:26:

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

SiMM

Новичок
> а при поиске какая разница откуда инфа.
Как какая? ОГРОМНАЯ. Поскольку результат поиска может выводиться не целиком, с линком для подробностей.

> и вообще, слабо сделать 2 запроса к разным таблицам, а результат слепить в один массив объектов или массив массивов, кому как больше нравиться.
Слабо :) Особенно если необходим постраничный вывод результатов запроса :)

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

PS: собственно к чему эти вопросы были - думал, мож я чего не знаю.
 

valerchik

Guest
вобщем я так понял тема закрыта :)
а по поводу постраничного вывода и двух слепленых таблиц, так это тоже не проблема. ну да ладно, не в этом суть.
пора уже работать блин, ато уже пол одиннадцатого :)
 

chelsi74

Guest
А как все-таки хранить разные языки в базе данных например (китайски, русский, арабский, английский) и как их выводить?

может все делать в UTF и не заморачиваться ?
 

SiMM

Новичок
> может все делать в UTF и не заморачиваться ?
А что, есть другие разумные предложения, кроме как использовать мультибайтовые кодировки?
 

Bosha

Новичок
Кстати тема, очень интересная. Тому свидетельство хотя-бы количество просмотров по отношению к ответам.

Я например данные о языках держу в отдельной таблице. В других табл использую или id языка или сокращение.

А контент в таблицах дублируется на количество языков.
Если сайт простенький работает на ура.
Служебную информацию (подписи в формах и.т.д)держу в отдельной таблице под уникальным именем (дублируется на все языках).
 

chelsi74

Guest
как организовать все это дело, это все просто, но как увязать такой контент на разных языках (китайский, русский, английский, арабский) в базе mySQL ?

UTF-8 катит.. по теории.. а ктонибудь делал это ?

и как быть с тем, что на арабском все справа налево :)?
 

Novice

Новичок
> яб вообще все фигачил в одну таблицу, все языки.
Вот именно это я и предлагал.
А как тогда быть с переходом с одного языка на другой.
Например находимся на анг. версии новости, надо перейти на арабскую, но id то у них разные (AUTO_INCREMENT)...
 
Сверху