econz icon

Delphi - Traduzir Mensagens do Delphi para Português

econz | PRO | 01/12/12 02:42:39 PM UTC | 0 ⭐ | 769 👁️ | Never ⏰ | []
Delphi |

3.1 KB

|

None

|

0 👍

/

0 👎

// Tradução dos textos para Português
//
// Criado com base em http://pastebin.com/zFrC12bC
// Referência para consulta sobre o assunto
// http://leandropiga.nothus.com.br/?p=38
//
// Como usar:
//
// var vlTradutor : TTraducao;
// vlTradutor := TTraducao.Traduzir;
// vlTradutor.Free;
 
 
unit UClas_Traducao;
 
interface
 
uses sysUtils,Classes,StdCtrls,Windows,
     consts, DBConsts;
{
   midconst, comconst, webconst, ibconst, bdeconst, comstrs, IBDCLConst,
   GestureConsts, GIFConsts, RibbonConsts, CtlConsts, OleConst, SiteConst, SvrInfoConst, XMLConst,
   ADOConst, bdeconst;
 }
 
Type
   TTraducao = Class
   private
      procedure SetResourceString(AResString: PResStringRec; ANewValue: PChar);
      procedure Traduz_Consts;
      procedure Traduz_DBConsts;
   protected
   public
      constructor Traduzir;
   end;
 
implementation
 
 
// Construtor
constructor TTraducao.Traduzir;
begin
   Traduz_Consts;
   Traduz_DBConsts;
end;
 
 
 
// resourcestrings da unit Consts
procedure TTraducao.Traduz_Consts;
begin
   SetResourceString(@SOpenFileTitle,'Abrir');
 
   SetResourceString(@SMsgDlgWarning,'Aviso');
   SetResourceString(@SMsgDlgError,'Erro');
   SetResourceString(@SMsgDlgInformation,'Informação');
   SetResourceString(@SMsgDlgConfirm,'Confirmação');
   SetResourceString(@SMsgDlgYes,'&Sim');
   SetResourceString(@SMsgDlgNo,'&Não');
   SetResourceString(@SMsgDlgOK,'OK');
   SetResourceString(@SMsgDlgCancel,'Cancelar');
   SetResourceString(@SMsgDlgHelp,'&Ajuda');
   SetResourceString(@SMsgDlgHelpNone,'Ajuda não disponível');
   SetResourceString(@SMsgDlgHelpHelp,'Ajuda');
   SetResourceString(@SMsgDlgAbort,'&Abortar');
   SetResourceString(@SMsgDlgRetry,'&Tentar novamente');
   SetResourceString(@SMsgDlgIgnore,'&Ignorar');
   SetResourceString(@SMsgDlgAll,'&Tudo');
   SetResourceString(@SMsgDlgNoToAll,'Não para Todos');
   SetResourceString(@SMsgDlgYesToAll,'Sim para Todos');
   SetResourceString(@SMsgDlgClose,'&Fechar');
end;
 
 
// resourcestrings da unit DBConsts
procedure TTraducao.Traduz_DBConsts;
begin
   SetResourceString(@SInvalidFieldSize,'Tamanho do campo inválido');
   SetResourceString(@SInvalidFieldKind,'Tipo de dado inválido');
   SetResourceString(@SParameterNotFound,'Parâmetro ''%s'' não encontrado');
   SetResourceString(@SDataSetClosed,'Não é possível realizar esta operção sobre um dataset fechado');
   SetResourceString(@SDataSetEmpty,'Não é possível realizar esta operção sobre um dataset vazio');
   SetResourceString(@SInvalidSqlTimeStamp,'Valores de Data/Hota inválidos no SQL');
   SetResourceString(@SDeleteRecordQuestion,'Apagar o registro?');
   SetResourceString(@SDeleteMultipleRecordsQuestion,'Apagar todos os registros selecionados?');
end;
 
 
 
procedure TTraducao.SetResourceString(AResString: PResStringRec; ANewValue: PChar);
var POldProtect: DWORD;
begin
   VirtualProtect(AResString, SizeOf(AResString^), PAGE_EXECUTE_READWRITE, @POldProtect);
   AResString^.Identifier := Integer(ANewValue);
   VirtualProtect(AResString, SizeOf(AResString^), POldProtect, @POldProtect);
end;
 
end.

Comments