Мультиязычность сайта

WMix

герр M:)ller
Партнер клуба
не уверен, публикация одна, дата перевода другая, публикация перевода третье
 

AnrDaemon

Продвинутый новичок
твой запрос достанет с русского на английский.
А с английского на русский он уже не будет работать
Будет работать в любую сторону.
Если запрашивается статья, у которой в БД ненулевой parent_aid, редирект происходит на статью с нулевым parent_aid. При этом совершенно неважно, на каком языке она была опубликована изначально, и на каком - запрашивается.
Другими словами, aid основной статьи будет указателем на ВСЕ варианты этой статьи, а конкретный язык - выбираться в зависимости от запроса.
 

AnrDaemon

Продвинутый новичок
Таблица languages на мой взгляд лишняя. Либо enum, либо varchar(2) (или 5, если ru_RU), ну и индекс естественно.
enum() - надо менять структуру БД при добавлении языков. Надо постоянно опрашивать структуру БД для определения поддерживаемых языков.
varchar - как защититься от ошибок? Прописывать языки в коде программы? И переписывать код, когда захотелось добавить язык? Уж лучше enum()...
Словарь используемых в БД терминов должен храниться в БД.
 

hell0w0rd

Продвинутый новичок
AnrDaemon, да, прописывать языки. Не вижу смысла создавать таблицу.
Так можно до абсурда дойти и хранить валидацию в базе, шаблоны в базе, переменные css-препроцессора в базе. А вдруг поменять захотим!
 

AnrDaemon

Продвинутый новичок
До абсурда довести можно всё, что угодно. Главное - приложить к процессу голову.
 

WMix

герр M:)ller
Партнер клуба
enum можно легко заменить на foreign key, вопрос зачем?
 
Сверху