Мультиязычность в базе данных

(Ответов: 4, Просмотров: 2347)
  1. Опытный
    • Регистрация: 20.01.2010
    • Сообщений: 317
    • Репутация: 15
    Добрый день. Изучаю каркас Codeigniter и хочу сделать мультиязычность. В принципе в плане того, как это сделать программно я более менее понимаю это, однако как правильно хранить эту информацию в бд. К примеру, у меня сайт на трех языках, я создаю блог и хочу, чтобы каждая написанная статья имела перевод на три языка. Каким образом хранить статьи для каждого языка? Создавать под каждый язык отдельную базу данных, таблицу или просто сделать дополнительное поле языка. В общем, жду вашего ответа. Заранее большое спасибо за любой совет.
    • 0
  2. Дипломник
    • Регистрация: 29.11.2009
    • Сообщений: 131
    • Репутация: 32
    Я бы лично создал еще поле в БД с сущностями, у которых надо хранить перевод и в этом поле хранил язык. А потом уже выбирал по связке нужная сущность+язык.
    Но мне кажется на Codeigniter должны быть какие-то типовые решения или проверенные способы для вашей задачи.
    • 0
  3. Allow: /index.php Аватар для DarkAngel-163
    • Регистрация: 29.07.2011
    • Сообщений: 510
    • Репутация: 124
    • Webmoney BL: ?
    Мы на работе используем CI и все наши сайты мультиязычные. Храним переводы в одной таблице с полем lang.
    • 0
  4. Дипломник Аватар для ekart
    • Регистрация: 02.01.2010
    • Сообщений: 162
    • Репутация: 44
    • Webmoney BL: ?
    Цитата Сообщение от DarkAngel-163 Посмотреть сообщение
    Храним переводы в одной таблице с полем lang.
    Так обычно и делается.
    • 0
  5. Дипломник
    • Регистрация: 27.06.2013
    • Сообщений: 117
    • Репутация: 17
    1. Таблица с языками (id, title)
    2. Таблица c контентом (post_id, lang_id, title, content)
    Соответственно статья выдирается запросом вида:
    Код:
    SELECT post.*, contents.title, contents.content JOIN contents ON contents.post_id = post.id WHERE lang_id = LANG_ID
    Лучшее решение с точки зрения проектирования БД. Ну и про индексы не забываем в филдах, которые используются в условиях и джойнах.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Два сайта в одной базе данных
WordPress 5 20.02.2014 19:34
Проблема с кодировкой в базе данных
Web программирование 6 29.11.2013 10:31
Уделяем внимание базе данных MySQL
Дайджест блогосферы 4 27.01.2011 15:48
Запрос для поиск и замены текста в базе данных
Дайджест блогосферы 2 12.10.2010 20:05

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры