// 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.