Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Структура мультиязычной базы


alsov ©   (2006-05-04 09:31:00) 

Приветствую, Мастера.

Интересует Ваше мнение по поводу реализации мультиязычной базы(русский/английский/украинский). Каким способом лучше делать?
Пока вижу только два:
1. Держать все 3 языка в одной таблице. Обзывать поля с суффиксами. Наример Field1_RUS, Field1_ENG, Field1_UKR.
2. Для каждого языка делать отдельную табличку. Суффикс языка в названии таблицы.

Может есть еще варианты?


Nikolay M.   (2006-05-04 14:59:00) [1]


> solenko ©   (04.05.06 14:26) [8]


Тогда я не понял, что имеется ввиду под "многоязычностью базы".
Прошу простить, что вклинился в обсуждение :)


solenko   (2006-05-04 14:26:00) [2]

Nikolay M., а каким образом юникод поможет многоязычности?

Имхо, Sergey13 предложил единственно верный вариант -- встречал такой подход во многих CMS.


Nikolay M.   (2006-05-04 13:01:00) [3]


> Может есть еще варианты?


Вариант с юникодом не приходил в голову?

Поля... таблички... Да чего там - делай на каждый язык по отдельному серверу БД. А при коннекте спрашивай у юзера, на каком языке он будет работать и подключайся к соотв. серверу :)


alsov   (2006-05-04 12:59:00) [4]

:)
вроде догнал
теперь 3 варианта


Sergey13   (2006-05-04 12:47:00) [5]

2[4] alsov ©   (04.05.06 12:41)
>То есть для каждой таблички делается 2 таблицы
Я бы сказал вместо1 таблички делается 2 таблицы

>первая содержит ссылки на текст второй
Скорее наоборот - "текстовая" таблица ссылается на "основную".

>Я правильно понял?
Вроде да. А что ты понял? 8-)


alsov   (2006-05-04 12:41:00) [6]

То есть для каждой таблички делается 2 таблицы
первая содержит ссылки на текст второй. во второй текст + код языка(и это только для текстовых полей). Я правильно понял?


Sergey13   (2006-05-04 10:04:00) [7]

2[2] alsov ©   (04.05.06 09:55)
Ты меня не понял. Я предлагаю создавать основную таблицу без текстовых полей. Текстовики выносятся в отдельн уютаблиц у, со ссылкой на главную и указанием языка. Так можно сделать действительно мультиязычную (а не 3-х язычную) БД.


alsov   (2006-05-04 09:55:00) [8]

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


Sergey13   (2006-05-04 09:35:00) [9]

Если интересует одновременная работа с несколькими языками, то, ИМХО, логичнее будет создавать дочерние таблицы с текстовыми полями и указанием языка. По крайней мере запросы не придется переписывать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо