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