Конференция "Начинающим" » Русификация диалогов
 
  • NordRus (29.10.17 09:54) [0]
    Добрый день!

    Вопрос по русификации диалогов в приложении на 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
 
Конференция "Начинающим" » Русификация диалогов
Есть новые Нет новых   [118463   +19][b:0][p:0.001]