I am using Lazarus under a German Win32. When I convert a date in March to a string I do not get the correct localized string für March ("M?rz" instead of "März"). See screenshot of the output of the following code
procedure TForm1.Button1Click(Sender: TObject);
var
d: TDate;
s: String;
begin
d := EncodeDate(2000,3,1);
s := DateToStr(d) + #13 +
FormatDateTime('DD MMMM YYYY', d) + #13 +
DefaultFormatSettings.LongMonthNames[3];
ShowMessage(s);
end;
The project settings are at their default (English, multilingual), but nothing changes when I select German.
This looks as if the month names are not localized correctly. Or am I doing something wrong?