|
|
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovУдобство - субъективный показатель. Как показывает этот тред, кому-то удобнее удвоить кол-во таблиц и использовать джойны, а кому-то добавить поля и использовать простые выражения. ИМХО. Ты путаешь удобство программирования и удобство эксплуатации. Например проще (удобнее) написать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 10:41 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Серега ИМХО. Ты путаешь удобство программирования и удобство эксплуатации. Я не путаю. Я имел в виду удобство программирования. Поскольку в топике ЕОС1) Удобство SELECT( Отображение в форме, поиск) 2) Удобство INSERT ( Вставка данных пользователем) 3) Удобство DELETE 4) Удобство UPDATE имелось в виду именно программирование. (трудно представить эксплуатацию с помощью DML) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 12:17 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
может тогда разделить удобство программирования и удобство эксплуатации? может быть удобно в эксплуатации , но быть неудобным в программировании, и наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 12:30 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Dmitry BiryukovТоже вариант. Но мне легче разрабатывать и поддерживать одну таблицу, чем две. Как бы это не было неграмотно и насколько плохими бы не были книжки, которые пишут об этом.Так ведь именно одна таблица и получается. Более того, если ты будешь делать инструмент для переводов, то гораздо легче оперировать данными из одной таблицы, чем бегать по многим в поисках чего еще не переведено. Dmitry BiryukovКстати, как многоязычность реализована в САПе?Примерно так и реализовано. Только поскольку тут обращаешься к таблицам через репозиторий самой r/3 то для пользователя многоязычность прозрачна. Те пользователь видит только одно поле на языке, котором он зашел в систему. А для перевода, как и во всех подобных системах, существует специальный инструмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 12:43 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Andrey Dmitry BiryukovТоже вариант. Но мне легче разрабатывать и поддерживать одну таблицу, чем две.Так ведь именно одна таблица и получается. Более того, если ты будешь делать инструмент для переводов, то гораздо легче оперировать данными из одной таблицы, чем бегать по многим в поисках чего еще не переведено. Стоп. Читайте внимательно. Предлагается (по второму способу) именно вторая таблица, в которой собраны переводы на все языки тех полей, которые требуют перевода. В первой (основной) - числа и поля, которые не требуют перевода. Andrey Dmitry BiryukovКстати, как многоязычность реализована в САПе?Примерно так и реализовано. Только поскольку тут обращаешься к таблицам через репозиторий самой r/3 то для пользователя многоязычность прозрачна. Те пользователь видит только одно поле на языке, котором он зашел в систему. А для перевода, как и во всех подобных системах, существует специальный инструмент. Примерно как? :-) способ 1 или 2 или что-то третье? (что для пользователя прозрачно - это хорошо, но как хранятся варианты перевода на физическом уровне?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 13:04 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
ЕОСможет тогда разделить удобство программирования и удобство эксплуатации? может быть удобно в эксплуатации , но быть неудобным в программировании, и наоборот. Согласен. Я предпочитаю при достаточном удобстве эксплуатации выбирать самый удобный (быстрый) способ программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 13:09 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
По моему у Вас какой-то пустой спор... Лично я не вижу ни какой разницы в сложности реализации 1 и 2 варианта... Правда в 1 можно просто (без всяких дополнительных действий) редактировать данные в наглую в самом гриде... Только я так ни когда не делаю... А второй - сделал и забыл... и вовсе не нужно диких усилий для его реализации... (ну потратишь, пускай, даже на 10 мин больше...) Главное ЗАБЫЛ... а то, потом начнут дергать добавь то сдесь - то там... Да и формы делаешь не с нуля - а копируешь и меняешь уже готовые... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 14:36 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Спасибо, буду переваривать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 14:19 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
если база предназначена для OLAP-задач (vs OLTP) то первый вариант предпочтительнее - для того чтобы различные генераторы отчетов и OLAP-сервера не подавились а на счет критериев есть такой треугольник требования пользователей - скорость выполения запросов - сложность поддержки db считается что максимально удовлетворить можно только что-то одно из трех вот и выбирайте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 15:19 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Таблица переводов сообщений ошибках в MS SQL сделана по способу 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 22:37 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Вот у меня, например, фиксированно 3 языка. Справочники огромные (50-100 тыс). Какой мне вариант использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 02:51 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Несколько важных критериев забыли: 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 я использовал, например, для текстовых описаний (неограниченой длины). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 03:57 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Спор примерно такой: сделать чрезвычайно быстро, но плохо, или сделать просто быстро, но хорошо. Причем при 2 подходе совокупные затраты разработка+эксплуатация будут в итоге гораздо меньше. Каждый выбирает по себе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 15:56 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
А где бы еще взять словарь!!!??? слово / слово_по_английски / слово_по_арабски слово / слово_по_английски / слово_по_арабски слово / слово_по_английски / слово_по_арабски слово / слово_по_английски / слово_по_арабски фраза / фраза_по_английски / фраза_по_арабски фраза / фраза_по_английски / фраза_по_арабски фраза / фраза_по_английски / фраза_по_арабски фраза / фраза_по_английски / фраза_по_арабски фраза / фраза_по_английски / фраза_по_арабски ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 20:11 |
|
||
|
Многоязычность в базе
|
|||
|---|---|---|---|
|
#18+
Хотел бы оживить тему. В кратце по реализации многоязычности: 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 так не получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 00:06 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33023556&tid=1541388]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 349ms |

| 0 / 0 |
