|
|
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите плз. подобрать решение для мультиязычного проекта с возможностью безболезненно добавлять языки. Переводы нужны будут для различных текстовых данных, хранящихся в таблицах бд, интерфейса приложения и сайта, шаблонов различных документов итд. Для себя пока вижу решение, где все переводы хранятся в одной таблице: Таблица translate ----------------------------- translate_id - идентификатор group - группа, к которой принадлежит переведеный текст, например такие-то документы, надписи элементов такой то формы, статьи, идентификаторы страниц сайта, текстовые данные таблиц бд (можно с группировкой по таблицам). Т.е при необходимости можно правильно сгруппировать данные по некоторым критериям и дернуть переводы например сразу для целой web страницы. lang_en - английский текст lang_ru - русский текст lang_ch - китайский текст ... итд ----------------------------- Для текстовых данных в таблицах бд требующих перевода, просто указываем нужную ссылку на translate_id из таблицы переводов, например Таблица categories ------------------------------- category_id category_name - здесь ссылка на нужный translate_id из таблицы ------------------------------- Плюсом такого решения вижу возможность легко плодить языки добавлением нового столбца в таблицу translate, возможность поиска текстовых (полнотекстовых) данных по этим разноязычным столбцам с использованием своего collation для каждого такого столбца. Из минусов - при вытаскивании переводов текстовых данных таблиц, потребуется много join-ов. Помогите пожалуйста доработать это решение, или посоветуйте другие. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 17:25 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
GordenПлюсом такого решения вижу возможность легко плодить языки добавлением нового столбца в таблицу translate Пока не наткнёшься на ограничение по количеству столбцов или суммарного размера записи. Разворачивай. Каждому переводу - отдельную запись. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 17:42 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКаждому переводу - отдельную запись. Так? Таблица translate -------------------------- translate_id lang_id text -------------------------- Не совсем тогда понял, как связывать строки переводов из такой таблицы с полями других таблиц. Может я неправильно объяснил задачу. Есть например таблица товаров (или категорий товаров, как я привел выше) где нужно хранить название товара на нескольких языках. Для этого я связываю поле "название товара" из таблицы товаров со строкой в таблице переводов, где хранятся все необходимые переводы, и беру тот который нужен. А если у каждого перевода будет отдельная запись, тогда и ссылаться можно только на один перевод. Или использовать промежуточную таблицу. Поясните пожалуйста. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 18:57 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden, Поменяйте направление внешнего ключа. Это локализация должна ссылаться на товар, а не наоборот. Ибо товар первичен. Правда, если вы будете делать одну таблицу для локализации вообще всех объектов БД, то тогда придется обходиться без FK, а целостность проверять в хранимых процедурах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 19:20 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden все переводы хранятся в одной таблицеЗачем лишать себя ссылочной целостности Создайте копию таблицы с переводами было Код: sql 1. 2. 3. 4. 5. 6. 7. стало Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. запрос Код: sql 1. 2. 3. 4. То есть поле product_name в таблице product можно оставить, это будет значение по умолчанию. и так для каждой таблице нуждающейся в переводе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 22:26 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Ennor TiegaelПоменяйте направление внешнего ключа. и SERG1257Создайте копию таблицы с переводами Так то оно так, логично, но тогда на каждый объект бд, где требуется перевод значений полей придется делать свою таблицу переводов. Если например таблиц больше сотни, то все это администрировать довольно проблематично. И кроме этого нужно еще хранить переводы интерфейса, шаблонов документов, статей итд. И еще чтобы можно было отбирать переведенные тексты группами (например группу переводов надписей для формы, группу текстов для web страницы). Ennor TiegaelПравда, если вы будете делать одну таблицу для локализации вообще всех объектов БД, то тогда придется обходиться без FK, а целостность проверять в хранимых процедурах. Вот и хотелось бы одну таблицу, но только с целостностью (может пусть и в обратном направлении FK), быстрыми выборками и удобную для работы редакторам-переводчикам. Вобщем ломаю голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2013, 22:57 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden то все это администрировать довольно проблематично.Придерживайтесь соглашений о наименованиях и никаких проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 00:29 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden... Вот и хотелось бы одну таблицу, но только с целостностью (может пусть и в обратном направлении FK), быстрыми выборками и удобную для работы редакторам-переводчикам. В общем ломаю голову. Для этого нужно использовать СУБД, которые поддерживают связи между объектами. Тогда и таблица будет одна и о целостности не нужно беспокоиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 13:42 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
БредятинаДля этого нужно использовать СУБД, которые поддерживают связи между объектами. Тогда и таблица будет одна и о целостности не нужно беспокоиться. Не совсем вас понимаю. Можно пож. пример СУБД и того как будут строиться связи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 14:04 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
GordenПереводы нужны будут для различных текстовых данных, хранящихся в таблицах бд, интерфейса приложения и сайта, шаблонов различных документов итд. шаблонов различных документов - иметь шаблоны на всех языках интерфейса приложения - настраивать на основе словарей, а если интерфейс генерируется автоматически, то несколько метаописаний данных, хранящихся в таблицах - все в одно поле через разделитель - доступ через функцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 14:12 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
GordenНе совсем вас понимаю. Ну вот, к примеру, Человек его совсем понял: Заведующий кафедрой теоретическо.... Бредятина вы несёте совершеннейшую чушь - просто набор слов, поток сознания, наркоманский бред ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 14:43 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
GordenБредятинаДля этого нужно использовать СУБД, которые поддерживают связи между объектами. Тогда и таблица будет одна и о целостности не нужно беспокоиться. Не совсем вас понимаю. Можно пож. пример СУБД и того как будут строиться связи. vadiminfo дал подробное разъяснение про связи)) От себя добавлю - Вам нужно изучать теорию БД. Теория реляционных БД, с которой Вы, вероятно, немного знакомы, не позволит решить ни одну прикладную задачу, а не только эту)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 15:22 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Бредятинадал подробное разъяснение про связи)) Но автор-то просил название СУБД... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 15:45 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovБредятинадал подробное разъяснение про связи)) Но автор-то просил название СУБД... Но vadimifo-то дал разъяснение и про СУБД, конечно же)) Замечу только (возвращаясь к началу темы), что ни одна СУБД принципиально не накладывает (и не может накладывать) ограничений на число "колонок" в "таблице" или на длину "записи". Вероятно, речь идет о СХОД, а не о СУБД. То же самое и про связи. Их поддерживает любая СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 17:20 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
БредятинаИх поддерживает любая СУБД. Назови три самых известных. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 17:57 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovБредятинаИх поддерживает любая СУБД. Назови три самых известных. Почему три, их очень много - Оля, Аня, Класс, X.Magic и т.п. Как-будто Вы не знаете. Все они очень хорошо известны специалистам именно по СУБД. А не по СХОД)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 18:29 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Бредятинаих очень много - Оля, Аня, Класс, X.Magic и т.п. Ссылочки откуда их можно скачать, пожалуйста. Боюсь, что гугль на слово "Оля" найдёт всё что угодно кроме СУБД. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 20:13 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovБоюсь, что гугль на слово "Оля" найдёт всё что угодно кроме СУБД. А чего бояться? ЧАЛ называет СУБД "всё что угодно кроме СУБД". А как иначе иму расчистить дорогу для МУМПСа, если оный и в толстых книгах не считают за СУБД? А так Ораклы, Скули тоже не СУБД и типа можно МУМПСа подбрасывать себе на здоровье. Впрочем, в четверг на Новом Арбате видел книгу: СУБД МУМПС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 09:30 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСсылочки откуда их можно скачать, пожалуйста. Боюсь, что гугль на слово "Оля" найдёт всё что угодно кроме СУБД. Что значит скачать??? СУБД начали создаваться 30 лет назад (чуть позже, чем СХОД). Одни приходят на смену другим. Но, я не знаю ни одного разработчика СУБД, который бы был заинтересован не в применении для создания приложений, а в распространении)) Действительно, Вы правы - Вы на слово "Оля" найдете все, что угодно, кроме СУБД. Но, даже самые первые СУБД, разработанные до "гугля", все-таки, "гуглятся" специалистами в области СУБД)) http://supsov.narod.ru/4_91/13.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 09:35 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
vadiminfoDimitry SibiryakovБоюсь, что гугль на слово "Оля" найдёт всё что угодно кроме СУБД. А чего бояться? ЧАЛ называет СУБД "всё что угодно кроме СУБД". А как иначе иму расчистить дорогу для МУМПСа, если оный и в толстых книгах не считают за СУБД? А так Ораклы, Скули тоже не СУБД и типа можно МУМПСа подбрасывать себе на здоровье. Впрочем, в четверг на Новом Арбате видел книгу: СУБД МУМПС. MUMPS не СУБД. А среда создания СУБД. Это факт))) Разумеется, было (и будет) много попыток создать СУБД в среде той или иной "реляционной" СХОД. Это мы здесь много раз подробно обсуждали (неизбежность архитектуры "модель верхнего уровня+маппинг по всем трем аспектам+РМД"). "Любите и чтите мое, как свое. Тогда вы мне судья" (С) Я, люблю, чту и всесторонне изучаю СХОД, в том числе, реляционные СХОД. Поэтому, могу быть судьей)) А Вы не можете. Вам остается только хамить)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 09:40 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden, возможно, на свалке еще можно найти СМ-4 для Оли. Хотя, может быть, лучше найти какую-нибудь реальную Олю и забить вместе с ней на СУБД вообще, чем "скачивать" СУБД рекомендуемые ЧАЛом. Он пытается Вам подросить иерархические СУБД, а под видом каких-то не удавшиеся направления генераторов клиентской части приложений. В конце конце были более удачные реляционного. Кларион в досе. Да и тот же Аксцеес много больше позволяет налабать без кодирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 10:18 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
vadiminfoGorden, возможно, на свалке еще можно найти СМ-4 для Оли. Хотя, может быть, лучше найти какую-нибудь реальную Олю и забить вместе с ней на СУБД вообще, чем "скачивать" СУБД рекомендуемые ЧАЛом. Он пытается Вам подросить иерархические СУБД, а под видом каких-то не удавшиеся направления генераторов клиентской части приложений. В конце конце были более удачные реляционного. Кларион в досе. Да и тот же Аксцеес много больше позволяет налабать без кодирования. MUMPS не СУБД. А среда создания СУБД. Это факт))) Разумеется, было (и будет) много попыток создать СУБД в среде той или иной "реляционной" СХОД. Это мы здесь много раз подробно обсуждали (неизбежность архитектуры "модель верхнего уровня+маппинг по всем трем аспектам+РМД"). "Любите и чтите мое, как свое. Тогда вы мне судья" (С) Я, люблю, чту и всесторонне изучаю СХОД, в том числе, реляционные СХОД. Поэтому, могу быть судьей)) А Вы не можете. Вам остается только хамить)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 10:57 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Gorden, ЧАЛа заклинило: он включил повторялку в надежде побросить Вам вместо СУБД какой-то там устаревший генератор клиентских приложений для СМ-4, хотя возможно, к нему и прилогается фотография некоей Оли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 11:06 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
vadiminfoGorden, ЧАЛа заклинило: он включил повторялку в надежде побросить Вам вместо СУБД какой-то там устаревший генератор клиентских приложений для СМ-4, хотя возможно, к нему и прилогается фотография некоей Оли. Это Вас заклинило на хамстве)) И не любви к истории СУБД)) MUMPS не СУБД. А среда создания СУБД. Это факт))) Разумеется, было (и будет) много попыток создать СУБД в среде той или иной "реляционной" СХОД. Это мы здесь много раз подробно обсуждали (неизбежность архитектуры "модель верхнего уровня+маппинг по всем трем аспектам+РМД"). "Любите и чтите мое, как свое. Тогда вы мне судья" (С) Я, люблю, чту и всесторонне изучаю СХОД, в том числе, реляционные СХОД. Поэтому, могу быть судьей)) А Вы не можете. Вам остается только хамить)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 11:11 |
|
||
|
Мультиязычность данных в БД
|
|||
|---|---|---|---|
|
#18+
Чал, дружище, вы должны понимать, что вам не хамят, - это терапевтические сеансы. Вы должны быть благодарны людям, которые не теряют надежды найти в вас приемлемого члена общества. У меня, например, иллюзий нет, пшолнах - это максимум, который вы заслуживаете. > "Любите и чтите мое, как свое. Тогда вы мне судья" (С) Чал, дружище, проектирование - наука. Найдите адептов своей религии и проводите время с ними, - это разумная модель поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 12:43 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38378140&tid=1541137]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 273ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...