Текущий раздел:

Описания RDS

Описание пользователя

Глава 2. Интерфейс пользователя

§2.22. Перевод текстов в схемах

§2.22.4. Проблема «бесхозных» текстов

# Описание пользователя

## Глава 2. Интерфейс пользователя

### §2.22. Перевод текстов в схемах

#### §2.22.4. Проблема «бесхозных» текстов

Описывается проблемы с переводом текстов, не имеющим жесткой смысловой привязки к каким-либо объектам схемы.

В схемах иногда встречаются тексты общего назначения, не привязанные к каким-либо конкретным параметрам блоков. Типичный пример таких текстов – строки в матрицах строк, которые пользователь может изменять, менять местами, удалять и т.п. К таким текстам не получается привязать идентификатор, по которому можно было бы отслеживать их изменение пользователем и сохранять для них тексты на других языках при таком изменении.

Если пользователь, например, изменит заголовок какого-либо графика на английском, RDS будет «знать», что этот новый текст – именно заголовок графика в конкретном блоке, и при синхронизации схемы с файлом перевода будет понятно, с каким текстом его нужно соотносить. Как бы пользователь ни менял текст заголовка, этот набор символов будет оставаться заголовком конкретного графика.

Теперь рассмотрим матрицу строк – например, введенную в стандартном блоке ввода матриц. Сейчас, допустим, эта матрица используется для задания названий каких-либо моделируемых агентов, и ней записаны строки «первый агент», «второй агент» и «третий агент». Но потом пользователь может решить использовать этот же блок ввода матриц для задания названий каких-либо моделируемых параметров, удалит там третью строку, а в первые две запишет тексты «себестоимость» и «прибыль». Если бы к каждой абстрактной строке в RDS был привязан постоянный, хранящийся вечно идентификатор для отслеживания действий с этой строкой при переводе, получилось бы, что старая строка «первый агент» и новая строка «себестоимость» – это один и тот же объект схемы, и при загрузке, например, файла перевода на английский «себестоимость» заменилась бы на уже сделанный ранее перевод для этого объекта – «first agent».

То есть в схеме есть конкретные параметры с неизменной ролью, привязанные к определенным блокам и связям (заголовки, подписи и т.п.), а есть «тексты общего назначения», то есть просто тексты, не имеющие фиксированной привязки к чему-нибудь. Здесь они для краткости будут называтьтся «бесхозными» текстами. Переводы для них ищутся просто по строке текста на текущем языке. То есть при загрузке английского перевода в русскоязычную схему для текста «себестоимость» будет найдена первая попавшаяся строка в файле, в которой в столбце «русский» записано слово «себестоимость», и перевод будет взят из столбца «english» этой же строки.