Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Русификация диалогов


NordRus   (29.10.17 09:54

Добрый день!

Вопрос по русификации диалогов в приложении на Delphi.

Когда-то давно вопрос замены "Yes" на "Да" в стандартных диалогах решался подключением в программу русифицированного варианта файлика consts.pas:
program MyProgram;
uses
 Consts in 'shared\rus\Consts.pas',
 Forms,
 Classes,
...


Содержимое этого файлика было таким (все константы переведены на русский):
unit Consts;

interface

resourcestring
 SOpenFileTitle = 'Открыть';
 SCantWriteResourceStreamError = 'Невозможно записывать в поток ресурсов "только для чтения"';
 SDuplicateReference = 'WriteObject вызван дважды для одного и того же экземпляра';
...


Однако при открытии проекта в современной версии Delphi это не работает.
Осторожно предположу, что из-за того, что константы в VCL теперь реорганизованы.
Простое переименование русифицированного consts.pas в vcl.consts.pas вызывает ошибки при компиляции.

Подскажите, пожалуйста, какой на сегодняшний день корректный путь русификации диалогов в программах, написанных на Delphi?


Игорь Шевченко ©   (29.10.17 14:51[1]


> какой на сегодняшний день корректный путь русификации диалогов
> в программах, написанных на Delphi?


Intergrated translation environment же.


NordRus   (29.10.17 22:28[2]

Игорь, спасибо за ответ.
Полазил по настройкам. Базовый язык у меня в проекте - 419 (русский, как я понимаю).
Попробовал добавить язык, ещё раз русский - моя программа на русском должна работать.
Посмотрел Translation Editor - понятно, можно свои формы делать на разных языках.

Но это всё не про то.

Как мне перевести стандартные диалоги? Чтобы в стандартных диалогах (не в моих формах, они-то уже сразу на русском!) вместо "Confirm" писало "Подтверждение", вместо "Yes" - "Да", вместо "Cancel" - "Отмена", чтобы стандартные сообщения об ошибках выскакивали на русском языке, и т.д. У меня есть файлы, в которых все эти строковые константы переведены. Как мне их пристроить, чтобы компилятор их "подхватил" и вставил в программу вместо англоязычных?


Игорь Шевченко ©   (30.10.17 10:52[3]

NordRus   (29.10.17 22:28) [2]

Насколько мне известно, стандартные ресурсные строки (MessageDlg и его производные) участвуют в процессе перевода точно так же, как и строки проекта.

Вот тут очень неплохая статья есть:
http://www.gunsmoker.ru/2010/06/delphi-ite-integrated-translation.html


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо