powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многоязычность в базе
15 сообщений из 40, страница 2 из 2
Многоязычность в базе
    #32815890
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry BiryukovУдобство - субъективный показатель. Как показывает этот тред, кому-то удобнее удвоить кол-во таблиц и использовать джойны, а кому-то добавить поля и использовать простые выражения.
ИМХО. Ты путаешь удобство программирования и удобство эксплуатации. Например проще (удобнее) написать
Код: plaintext
select * from table
и на клиенте извращаться с результатом. Но от таких "удобств" написания бывают большие неудобства эксплуатации.
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816209
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега
ИМХО. Ты путаешь удобство программирования и удобство эксплуатации.
Я не путаю. Я имел в виду удобство программирования.
Поскольку в топике
ЕОС1) Удобство SELECT( Отображение в форме, поиск)
2) Удобство INSERT ( Вставка данных пользователем)
3) Удобство DELETE
4) Удобство UPDATE
имелось в виду именно программирование. (трудно представить эксплуатацию с помощью DML)
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816258
ЕОС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может тогда разделить удобство программирования и удобство эксплуатации?

может быть удобно в эксплуатации , но быть неудобным в программировании, и наоборот.
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816291
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry BiryukovТоже вариант. Но мне легче разрабатывать и поддерживать одну таблицу, чем две. Как бы это не было неграмотно и насколько плохими бы не были книжки, которые пишут об этом.Так ведь именно одна таблица и получается. Более того, если ты будешь делать инструмент для переводов, то гораздо легче оперировать данными из одной таблицы, чем бегать по многим в поисках чего еще не переведено.

Dmitry BiryukovКстати, как многоязычность реализована в САПе?Примерно так и реализовано. Только поскольку тут обращаешься к таблицам через репозиторий самой r/3 то для пользователя многоязычность прозрачна. Те пользователь видит только одно поле на языке, котором он зашел в систему. А для перевода, как и во всех подобных системах, существует специальный инструмент.
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816360
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Dmitry BiryukovТоже вариант. Но мне легче разрабатывать и поддерживать одну таблицу, чем две.Так ведь именно одна таблица и получается. Более того, если ты будешь делать инструмент для переводов, то гораздо легче оперировать данными из одной таблицы, чем бегать по многим в поисках чего еще не переведено.

Стоп. Читайте внимательно. Предлагается (по второму способу) именно вторая таблица, в которой собраны переводы на все языки тех полей, которые требуют перевода. В первой (основной) - числа и поля, которые не требуют перевода.

Andrey
Dmitry BiryukovКстати, как многоязычность реализована в САПе?Примерно так и реализовано. Только поскольку тут обращаешься к таблицам через репозиторий самой r/3 то для пользователя многоязычность прозрачна. Те пользователь видит только одно поле на языке, котором он зашел в систему. А для перевода, как и во всех подобных системах, существует специальный инструмент.

Примерно как? :-) способ 1 или 2 или что-то третье? (что для пользователя прозрачно - это хорошо, но как хранятся варианты перевода на физическом уровне?)
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816376
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕОСможет тогда разделить удобство программирования и удобство эксплуатации?
может быть удобно в эксплуатации , но быть неудобным в программировании, и наоборот.
Согласен.
Я предпочитаю при достаточном удобстве эксплуатации выбирать самый удобный (быстрый) способ программирования.
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32816621
olol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему у Вас какой-то пустой спор...
Лично я не вижу ни какой разницы в сложности реализации 1 и 2 варианта...
Правда в 1 можно просто (без всяких дополнительных действий) редактировать данные в наглую в самом гриде...
Только я так ни когда не делаю...
А второй - сделал и забыл... и вовсе не нужно диких усилий для его реализации... (ну потратишь, пускай, даже на 10 мин больше...)
Главное ЗАБЫЛ... а то, потом начнут дергать добавь то сдесь - то там...
Да и формы делаешь не с нуля - а копируешь и меняешь уже готовые...
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32818762
Basil R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду переваривать :)
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32821145
олапист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если база предназначена для OLAP-задач (vs OLTP) то первый вариант предпочтительнее - для того чтобы различные генераторы отчетов и OLAP-сервера не подавились

а на счет критериев
есть такой треугольник
требования пользователей - скорость выполения запросов - сложность поддержки db
считается что максимально удовлетворить можно только что-то одно из трех
вот и выбирайте :)
...
Рейтинг: 0 / 0
Многоязычность в базе
    #32822045
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Таблица переводов сообщений ошибках в MS SQL сделана по способу 2.
...
Рейтинг: 0 / 0
Многоязычность в базе
    #33022200
Stas Tristan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот у меня, например, фиксированно 3 языка. Справочники огромные (50-100 тыс). Какой мне вариант использовать?
...
Рейтинг: 0 / 0
Многоязычность в базе
    #33022207
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько важных критериев забыли:
1. Разреженность матрицы (при частичном переводе вариант 2 экономнее)
2. Поддержка целостности (вариант 1 поддерживает обязательность наличия перевода на уровне DRI null/not null, во втором варианте нужно писать триггеры)
3. Простота добавления новых языков: всеохват(см. ниже) против alter table против insert into Languages

В реальной жизни заказных/малотиражных продуктов поддержка более чем 2-3 языков встречается нечасто.
Для желающих предусмотреть все случаи можно сразу создать структуру по ISO 639
http://www.loc.gov/standards/iso639-2/englangn.html
:)

Касаемо фаллометрии, то вариант 1 успешно работает в известной мне малотиражной КИС (поддерживаются 3 языка).
Вариант 1 используется также для глобализации ресурсов приложения в VB6.

Вариант 2 я использовал, например, для текстовых описаний (неограниченой длины).
...
Рейтинг: 0 / 0
Многоязычность в базе
    #33023556
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спор примерно такой: сделать чрезвычайно быстро, но плохо, или сделать просто быстро, но хорошо. Причем при 2 подходе совокупные затраты разработка+эксплуатация будут в итоге гораздо меньше.

Каждый выбирает по себе...
...
Рейтинг: 0 / 0
Многоязычность в базе
    #33049095
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где бы еще взять словарь!!!???

слово / слово_по_английски / слово_по_арабски
слово / слово_по_английски / слово_по_арабски
слово / слово_по_английски / слово_по_арабски
слово / слово_по_английски / слово_по_арабски
фраза / фраза_по_английски / фраза_по_арабски
фраза / фраза_по_английски / фраза_по_арабски
фраза / фраза_по_английски / фраза_по_арабски
фраза / фраза_по_английски / фраза_по_арабски
фраза / фраза_по_английски / фраза_по_арабски
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Многоязычность в базе
    #38137194
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел бы оживить тему. В кратце по реализации многоязычности:

1. Расширить все необходимые таблицы до вида:
-------------------------------------------------------------
ID | Name | ... | Desc_EN | Desc_RU | ...


2. Свалить все descriptions в одну таблицу вида:
Descriptions_tbl
-------------------------------------------------------------
ID | PropertyID | LangLocaleName | Desc


По поводу второго способа, не понял почему он должен увеличивать кол-во таблиц в два раза (одна же табличка с переводами) и заставлять использовать джойны?
Кто-то написал, что можно выборку и без них делать:
select ..
from ИмяТаблицы_B B
, ИмяТаблицы_TL TL
where B.ID = TL.ID
and LANGUAGE = userenv('LANG')

Или с INSERT, DELETE, UPDATE так не получится?
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многоязычность в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]