Настройка перевода данных

Настройка перевода данных

Введение

Плагин SaveToDB поддерживает перевод имен и описаний объектов базы данных, а также объектов, настроенных через список запросов или обработчики событий:

  • Таблицы, представления, процедуры.
  • SQL-код, http-запросы, запросы к текстовым файлам.
  • Макросы и команды Windows Shell или CMD в обработчиках событий.
  • Поля таблиц и представлений.
  • Параметры процедур и других объектов.

Перевод используется не только для перевода на различные языки, но и для перевода на бизнес-язык пользователей.

Т.е. все элементы интерфейса и данных приложения на Microsoft Excel могут содержать понятные пользователям наименования и описания.

Перевод выполняется в Microsoft Excel, после загрузки данных из базы данных.
Таким образом, наименования и описания объектов для пользователей могут динамически изменяться без изменения самих объектов базы данных.

Пользователи могут выбрать требуемый язык в меню "Настройка".

Перевод и аннотация имен объектов

Для перевода используется представление* базы данных со следующими полями:

  1. TABLE_SCHEMA
  2. TABLE_NAME
  3. LANGUAGE_NAME
  4. TRANSLATED_NAME
  5. TRANSLATED_DESC
  6. TRANSLATED_COMMENT

* Для Microsoft SQL Server Compact используется таблица, а не представление. Начиная с версии 7.0, также могут использоваться таблицы, а не представления.

Первым полем представления может быть поле идентификатора.

Плагин SaveToDB определяет конфигурационные представления по сигнатуре полей.

Формат представления:

TABLE_SCHEMATABLE_NAMELANGUAGE_NAMETRANSLATED_NAMETRANSLATED_DESCTRANSLATED_COMMENT
<Схема объекта>
или <Тип объекта>
<Имя объекта><Код языка>[<Переведенное имя>][<Описание>][<Комментарий>]

Варианты значений полей TABLE_SCHEMA и TABLE_NAME:

TABLE_SCHEMATABLE_NAME
<Схема таблицы><Имя таблицы>
<Схема представления><Имя представления>
<Схема процедуры><Имя процедуры>
<Схема функции><Имя функции>
CODE<Имя SQL-кода>
HTTP<Имя http-запроса>
TEXT<Имя text-запроса>
MACRO<Имя пункта меню>
CMD<Имя пункта меню>
REFRESH<Имя пункта меню>

Поля TABLE_SCHEMA и TABLE_NAME определяют объект базы данных или запрос, настроенный через список запросов или обработчики событий.

Поле TABLE_SCHEMA игнорируется в Microsoft SQL Server Compact.

Поле LANGUAGE_NAME должно содержать две первые буквы кода языка.

Поле TRANSLATED_NAME используется в списке запросов и пунктах контекстного меню обработчиков событий.

Поля TRANSLATED_NAME, TRANSLATED_DESC и TRANSLATED_COMMENT могут быть выведены на лист в соответствующие именованные ячейки:

  • SaveToDB_Name - переведенное имя объекта
  • SaveToDB_Desc - описание объекта
  • SaveToDB_Comment - комментарий

Это используется для вывода наименований отчетов и комментариев по заполнению форм.

Присвоить ячейке соответствующее имя можно используя пункт меню Excel "Формулы", "Присвоить имя".

См. также полный перечень обновляемых именованных ячеек.

Данные для конфигурационного представления можно получать любым способом.

Один из возможных - брать из таблицы перевода. Этот подход используется в примерах и SaveToDB Framework.

Данные перевода объектов загружаются в момент обновления списка запросов или обновления данных и конфигурации запроса.
То есть, если изменены данные перевода в таблице базы данных, то следует обновить список запросов или сам запрос.

Пример представления перевода объектов:

Перевод и аннотация полей и параметров

Для перевода используется представление* базы данных со следующими полями:

  1. TABLE_SCHEMA
  2. TABLE_NAME
  3. COLUMN_NAME
  4. LANGUAGE_NAME
  5. TRANSLATED_NAME
  6. TRANSLATED_DESC

* Для Microsoft SQL Server Compact используется таблица, а не представление. Начиная с версии 7.0, также могут использоваться таблицы, а не представления.

Первым полем представления может быть поле идентификатора.

Плагин SaveToDB определяет конфигурационные представления по сигнатуре полей.

Формат представления:

TABLE_SCHEMATABLE_NAMECOLUMN_NAMELANGUAGE_NAMETRANSLATED_NAMETRANSLATED_DESC
[<Схема объекта БД>
или <Тип объекта>]
[<Имя объекта>]<Имя колонки>
или <Имя параметра>
<Код языка>[<Переведенное имя>]
[<Описание>]

Значения полей TABLE_SCHEMA и TABLE_NAME аналогичны приведенным выше в переводе имен объектов.

Но возможны дополнительные варианты за счет указания NULL в определенном поле:

TABLE_SCHEMATABLE_NAMEИспользование
<Схема объекта БД>
или <Тип объекта>
<Имя объекта>Перевод используется для полей и параметров конкретного объекта
<Схема объекта БД>
или <Тип объекта>
NULLПеревод используется для полей и параметров объектов заданной схемы
NULLNULLПеревод используется для полей и параметров любых объектов

Поле TABLE_SCHEMA игнорируется в Microsoft SQL Server Compact.

Обязательное поле COLUMN_NAME определяет имя колонки или параметра, для которого задается перевод.

Поле LANGUAGE_NAME должно содержать две первые буквы кода языка.

Поле TRANSLATED_NAME используется для перевода заголовков полей в таблицах Excel и отображения в элементах интерфейса.

Поле TRANSLATED_DESC используется в качестве комментариев заголовков таблиц Excel и во всплывающих подсказках для параметров.
Это может быть удобно, если требуется дать расширенное описание назначения колонки таблицы.

Имена полей заменяют наименования полей в таблицах Excel после загрузки данных из базы данных.
Данные перевода полей загружаются в плагин в момент обновления данных таблицы по кнопке "Обновить данные и конфигурацию".

При сохранении данных или вызове обработчиков используются исходные, а не переведенные имена полей.

Данные для представления можно получать любым способом.
Один из возможных - брать из таблицы перевода. Этот подход используется в примерах и SaveToDB Framework.

Пример представления перевода полей и параметров:

Создание конфигурации в базе данных

С помощью SaveToDB Framework можно быстро добавить эту функциональность в существующие базы данных Microsoft Azure SQL Database, Microsoft SQL Server, Microsoft SQL Server Compact, Oracle Database, IBM DB2, MySQL, MariaDB, PostgreSQL, NuoDB и SQLite.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.