powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно реализовать многоязычность в приложении?
6 сообщений из 6, страница 1 из 1
Как правильно реализовать многоязычность в приложении?
    #32496760
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У кого есть какие-то предложения, пожалуйста поделитесь ...

Задача: база данных - MS SQL, трех-звенка, тонкий клиент.

Подходы:

1) Создать в базу данных таблицу, где колонки - это языки, а первая колонка - язык по умолчанию (индексированная). Выбрать для себя язык для написания любых текстов в программе (язык по умолчанию) и помещять этот текст в функцию, которая по индексу будет находить соответствующую запись, а по глобальной переменной будет выбирать соответствующую колонку. Если фунция не найдет запись, то она создаст в таблице новую запись с соответствующим текстом. Если запись не переведена, то выдается значение языка по умолчанию
Преимущества: 1) все тексты находятся в одном месте; 2) не надо думать о поддержке многоязычности; 3) перевод - достаточно легкая вещь.
Недостатки: 1) частое дергание базы данных (практически по любому поводу).

2) Взять подход локализации в VB.NET. Правда, я его недостаточно изучил, так что ничего не могу сказать.

Заранее благодарен.
...
Рейтинг: 0 / 0
Как правильно реализовать многоязычность в приложении?
    #32497645
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос: предполагается перевод самого клиента(локализация) или же перевод именно данных которыми оиперирует клиент?

Если сам клиент то я делаю обычно по первому из предложенных вариантов только все варианты - ресурсом самого клиента(Resource file), т.е. то же самое но не в базе.

Magnus
...
Рейтинг: 0 / 0
Как правильно реализовать многоязычность в приложении?
    #32497675
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я именно так делал, названия столбцов были 1033, 1049, 1036, 3082, 1031. Весьма удобно. Плюс - суррогатный ключ у них общий. Хотя и выглядит кривовато, но за основу был взят именно этот вариант. Готов обсудить плюсы и минусы, ибо это не последняя моя потребность в такой архитектуре.
...
Рейтинг: 0 / 0
Как правильно реализовать многоязычность в приложении?
    #32498121
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Я вчера не дождался, домой ушел ...

Насчет ресурсного файла - можно по-подробнее? Дело в том что в VB.NET Я начинающий ...

А как насчет скорости - ведь в среднем проекте порядка 10 000 разных текстов (сообщений, меню, отчетных текстов и.т.д.)? Какова скорость по базе данных и по ресурсному файлу?

Заранее благодарен.
...
Рейтинг: 0 / 0
Как правильно реализовать многоязычность в приложении?
    #32499517
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правый жмяк на проэкте Add>New Item>Assembly Resource File.
Там ничего сложного нет. Я подобной тесникой с шестой студии пользуюсь. очень эффективно, учитывая что там все ресурсе вообще в экзешник зашивались. Здесь будет отдельная сборка. Скорось не замерял, но в любом случае быстрее чем из базы. Да и действительно, дергать ее по каждому клику мышью - не есть гут.

Подробнее почитай F1 - Assembly Resource file template.


Magnus
...
Рейтинг: 0 / 0
Как правильно реализовать многоязычность в приложении?
    #32499553
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да-да, я забыл сказать, конечно, Magnus прав
такая структура нужна только там, где база необходима. Мне собственно это было нужно для каталога, там больше 500 директорий и каждая на 5 языках, синхронные абсолютно, для интерфейса вообще, в т.ч. для страниц - конечно же ресурсы.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно реализовать многоязычность в приложении?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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