Страница 1 из 1

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 10:00
gopstop2007
Проблема, которую решает шаблон
Если приложению на Clarion (ABC-темплейты) нужна поддержка нескольких языков интерфейса — стандартных средств для этого по сути нет. Либо вручную городить свою систему переводов и обвешивать ей каждое окно, либо сидеть на ExtractText из ABUTIL, который не даёт ни редактора, ни переключения языка на лету, ни точечных переопределений перевода.

Rav Translate — самостоятельный ABC-шаблон, который добавляет полноценный рантайм-перевод в приложение практически без участия разработчика: не нужно вручную оборачивать каждый control или переписывать существующие окна.
Что делает
  • Автоматически переводит все окна приложения — подписи, кнопки, заголовки колонок списков/browse, включая главное MDI Frame-окно (меню) — без единой строчки кода в самих окнах.
  • Переключает язык интерфейса "на лету", без перезапуска — уже открытые окна перерисовываются сразу.
  • Даёт встроенный редактор переводов: поиск по тексту, фильтр "только это окно", выбор языка (можно добавлять/удалять языки прямо из редактора), кнопка "Переводы..." доступна на любом окне.
  • Поддерживает точечные переопределения — для конкретного окна и конкретного контрола можно задать свой перевод, который перекрывает общий (пример: "Наименование" переводится как "Name" везде, но в одной конкретной колонке — как "Nm.").
  • Переводит произвольные строки и MESSAGE() через явный вызов (Translator.TranslateString) — и заголовок, и тело сообщения.
  • Экспорт/импорт списка непереведённых строк в TSV (2 колонки: RecID + текст, сопоставление строго по RecID) — можно перевести самому спомощью переводчика (например: Google Переводчик) или прогнать через машинный перевод и вернуть обратно.
  • В комплекте — три готовых Python-скрипта пакетного автоперевода (Google Cloud Translate, DeepL, Yandex Translate) с одним общим CLI-интерфейсом: экспортировал из приложения → прогнал скриптом → импортировал обратно.
  • Горячая клавиша открытия редактора переводов, настраивается один раз глобально на всё приложение.
Язык по умолчанию

При первом запуске приложения (пока не создан RAVLANG.INI) язык интерфейса определяется настройкой шаблона, а не жёстко зашит в коде. Указывается в свойствах глобального расширения Rav Translate (Application Tree → Global Extensions → Rav Translate → global part):

Поле "Язык по умолчанию при первом запуске (пока нет RAVLANG.INI)" — впишите код языка (EN, RU или любой другой), который должен использоваться при самом первом запуске приложения у конечного пользователя.
По умолчанию (если поле не менять) стоит EN.
После первого запуска выбранный язык записывается в RAVLANG.INI, и дальше приложение всегда стартует именно с ним — эта настройка шаблона больше не используется, пока RAVLANG.INI не удалят вручную.

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:03
finsoftrz
Сейчас все переводчики вроде через AI работают. Такой перевод на лету требует оплаты за подключение к сервису? Насколько замедляется открытие окон и как обрабатываются динамические изменения надписей из кода? Я так понял, что постоянный доступ к интернет не нужен, перевод сохраняется в промежуточных файлах для каждого языка?
Основная проблема с переводами это разная длина слов в разных языках. Из того, что видел, всегда не очень хороший результат был с обрезаниями, смещениями, наслоениями и т.п.

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:11
gopstop2007
finsoftrz писал(а): 27 Июль 2026, 11:03 Сейчас все переводчики вроде через AI работают. Такой перевод на лету требует оплаты за подключение к сервису? Насколько замедляется открытие окон и как обрабатываются динамические изменения надписей из кода? Я так понял, что постоянный доступ к интернет не нужен, перевод сохраняется в промежуточных файлах для каждого языка?
Основная проблема с переводами это разная длина слов в разных языках. Из того, что видел, всегда не очень хороший результат был с обрезаниями, смещениями, наслоениями и т.п.
Можно все перевести самому не используя AI. Но если лень, то есть возвожность сделать перевод разовый, если есть необходимость, чтобы самому не переводить, показал как пример.
Кто мешает ограничить длину перевода своим редактированием?

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:16
finsoftrz
А по вопросам что? :D

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:19
gopstop2007
Вот визуально

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:20
gopstop2007
finsoftrz писал(а): 27 Июль 2026, 11:16 А по вопросам что? :D
Не понял вопрос? )

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:29
gopstop2007
Вот еще

Rav Translate - рантайм-перевод приложений Clarion ABC на лету

Добавлено: 27 Июль 2026, 11:31
gopstop2007
Как надеюсь по фото можно понять, что можно перевести любой кусок теста в любом месте )