Neste artigo apresentaremos uma maneira fácil de traduzir as mensagens do MessageDlg. Para isso abra o Delphi 7 e vá em “File/New/Application”, “File/Save All” ou “Shift+Ctrl+S”. Na janela que aparece “Save Unit# As” salve o arquivo como uMensagem e na próxima janela “Save Project# As” - salve o arquivo como Mensagem. Clique na janela criada e em “Object Inspector” altere algumas propriedades na aba “Properties” como descrito a seguir:

Caption Mensagem no Delphi 7
Name fMensagem

Clique “Shift+Ctrl+S” para salva todas as alterações feita no projeto. Em seguida clique na aba “Events” no “Objector Inspector” como mostra a Figura 1.

Object Inspector
Figura 1. Object Inspector

Selecione o evento OnClose e pressione “Ctrl+Enter” para irmos a nossa linha de código. Então, digite o código a seguir entre begin...end:


if MessageDlg('Deseja mesmo encerrar a aplicação?', mtConfirmation,               
  [mbYes, mbNo], 0) = mrYes then 
begin     
   if CallTerminateProcs then PostQuitMessage(0); 
end else     
  Action := caNone;  
end;
end.

Veja como fica a inserção do código na Figura 2.

inserção do código de mensagem
Figura 2. Inserção do código de mensagem

Salve a aplicação com “Shift+Ctrl+S” e execute a aplicação com “F9”. Ao tentar fechar a aplicação é apresentada uma caixa de mensagem com botões “Yes, No” e Título “Confirm” em inglês como mostra a Figura 3.

Confirmação de encerramento da aplicação
Figura 3. Confirmação de encerramento da aplicação

Clique no botão “Yes” para que a aplicação encerre.

Voltando ao Delphi 7, vá em “File/Open...”. Na janela que aparece, no campo “Nome do arquivo” digite “C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\Consts.pas” (sem aspas). Abra então a aba com a classe “Consts”, onde encontramos alguns captions da aplicação Delphi. Procure por MessageDlg para traduzi-la e compila-la. Para isso encontre a palavra “SMsgDlgConfirm” pressionando as teclas “Ctrl+F” e logo após pressionando “Enter”. A tradução para os captions e títulos do MessageDlg ficará como apresentado nas Figuras 4 e 5 (fique a vontade para colocar sua própria tradução):

Sem tradução
Figura 4. Sem tradução

com tradução
Figura 5. Com tradução

Pressione as teclas “Shift+Ctrl+S” e logo após pressione as teclas “Ctrl+F9” para copilar o nosso projeto. E pressione “F9” para rodar nossa aplicação. Com aplicação já sendo executada tente fechá-la. Veja o que acontece, como mostra a Figura 6.

tela de encerramento sem tradução
Figura 6. Tela de encerramento sem tradução

A mesma mensagem anterior aparece em inglês. Isso acontece, pois o Delphi não copila suas classes. O Delphi apenas procura as suas *.dcu (arquivo *.pas copilado) e anexa os dados junto com o nosso projeto. Clique em “Yes” para encerrar a aplicação.

No Delphi, vá em “File/Exit” para fechar o Delphi 7. Vá em “Iniciar/Executar...”, digite “cmd” e pressione “Enter”. Em seguida digite o caminho apresentado com base na instalação padrão do Delphi 7, sem alteração de caminhos: “C:\Arquivos de programas\Borland\Delphi7\Bin\DCC32.exe” “C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\Consts.pas”, e pressione “Enter”. A tela da Figura 7 aparecerá.

Tela CMD
Figura 7. Tela CMD

Devemos ir então a pasta de instalação do Delphi 7 e depois em “.\Source\Vcl” (“C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\”). Recorte o arquivo “Consts.dcu”, que está dentro desse caminho e vá até a pasta “..\..\Lib\” (“C:\Arquivos de programas\Borland\Delphi7\Lib\”). Cole o arquivo recortado (“Consts.dcu”) dentro da pasta “Lib”.

Na janela “Confirmar substituição de arquivo” clique no botão “Sim”. Abra o Delphi 7 e o nosso projeto salvo e então pressione a tecla “F9” para rodar a nossa aplicação, e tente fechá-la novamente. Agora acontece o que nós esperávamos, como mostra a Figura 8.

tela de encerramento traduzida
Figura 8. Tela de encerramento traduzida

Clique em “Sim” para encerrar a aplicação.

É isso aí, uma maneira simples e fácil sem precisar desenvolver, para traduzir as mensagens em Delphi 7. Lembrando que todas as vezes que vocês precisarem usá-las, elas estarão em Português, deixando assim sua aplicação mais profissional.