Как структурировать базы данных для многоязычного сайта (PHP) - PullRequest
0 голосов
/ 20 мая 2011

Я собираюсь создать многоязычный веб-сайт.Я не совсем уверен, как структурировать базы данных.Должна ли я иметь одну базу данных и иметь такие таблицы:

markets_en
materials_en
...

markets_es
materials_es
...

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

Ответы [ 2 ]

1 голос
/ 20 мая 2011

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

0 голосов
/ 20 мая 2011

Не зная вашей конкретной ситуации, мне кажется, что принципы DRY предполагают, что вы просто располагаете одной базой данных с одной таблицей, хранящей все языки, и не разбиваете ее по языкам. Это просто не масштабируется. Вместо этого просто закодируйте / сохраните все записи с использованием UTF-8 или чего-то подобного, а затем обработайте кодирование на уровне пользователя. (У нас была база данных, хранящая клиентов по всему миру, с кодировками от латинских до японских.) Итак, в пользовательской таблице (или где-то еще, если это имеет смысл) создайте столбец для кодирования, основанный на том, как вы определяете, на каком языке они работают. Используешь. Затем, когда вы сохраняете и извлекаете записи для данного пользователя, проверяйте их кодировку и проверяйте. Вы избавите себя от многих головных болей, ИМО.

надеюсь, что это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...