domingo, 17 de maio de 2009

Dica Delphi - Traduzindo Mensagens

Um dos maiores problemas quando construimos um programa em Delphi são as mensagens de erro ou de alerta em inglês.

Embora exista a possibilidade de fazer a verificação do código antes de a mensagem aparecer, como a que pergunta se o registro deseja ser deletado ou não, quando usamos o componente DBNAVIGATOR , e inserirmos a nossa própria BOX com o texto que quisermos,

Recomendo que antes de fazer quaisquer alterações nos arquivos descritos a seguir, você efetue uma cópia de segurança dos mesmos.

Como exemplo, vamos citar as mensagens do Delphi que aparecem nos botões, caixas de avisos da função MessageDlg, etc.

Para traduzir estas mensagens, basta traduzir o respectivo arquivos de recurso: *.RC.

Quando você efetua a instalação padrão do Delphi, estes arquivos estão no diretório "source\vcl".

Procure o arquivo ".rc" e use o bloco de notas para abri-lo, faça a tradução das mensagem que você quiser traduzir (somente os textos que estão entre aspas), grave o arquivo e vá ao modo dos, entre no diretório "source\vcl" e digite o seguinte:

"..\..\bin\brc32 -r {nome do arquivo rc}"

Isso irá gerar um arquivo res, copie-o para o diretório "lib" do delphi e pronto.

O diretório pode ser o bin e o brc e não brc32, dependendo da versão do Delphi.

No caso específico da MessageDlg, efetue as alterações abaixo:

Após gravar as alterações, vá ao modo DOS, entre no diretório "source\vcl" e digite o seguinte:

"..\..\bin\brc32 -r consts.rc",

Isso irá gerar um arquivo consts.res, copie-o para o diretório lib do delphi, pronto, a messageDlg já estará traduzida.

SMsgDlgWarning, "Atenção"
SMsgDlgError, "Erro"
SMsgDlgInformation, "Informação"
SMsgDlgConfirm, "Confirme"
SMsgDlgYes, "&Sim"
SMsgDlgNo, "&Não"
SMsgDlgOK, "OK"
SMsgDlgCancel, "Cancelar"
SMsgDlgHelp, "A&juda"
SMsgDlgHelpNone, "Ajuda não localizada"
SMsgDlgHelpHelp, "Ajuda"
SMsgDlgAbort, "&Abortar"
SMsgDlgRetry, "&Repetir"
SMsgDlgIgnore, "&Ignorar"
SMsgDlgAll, "&Todos"

Um comentário:

Anônimo disse...

Muito legal Marcos.

Vai ajudar bastante na personalização das aplicações.