Anteriormente ví este código en la sección de trucos y puse un comentario. Y ahora que veo el hilo también responderé aquí.
Creo que sería más sencillo de la siguiente manera:
Código Delphi
[-]function GetDateStr(DateTime: TDateTime; Lang: Cardinal): string;
var
fs: TFormatSettings;
begin
GetLocaleFormatSettings(Lang, fs);
Result := FormatDateTime('dddd, d "de" mmmm "del" yyyy', DateTime, fs);
end
Código Delphi
[-]procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := GetDateStr(Now, LANG_PORTUGUESE) + ' ~ ' + GetDateStr(Now, LANG_ENGLISH) + ' ~ ' + GetDateStr(Now, LANG_SPANISH);
end;