howardpc! That is beautiful! I've added the Hebrew month names below and I'm sure that someone could provide Arabic/Farsi and other languages as well, but the way you've written it, I doubt that it's needed. Anyone can very simply add whatever languages they need. Really nice job. I wanted to see if the grayed out days of Prev. and Next months could be HighLighted and clicked on one. What a great feature! It changed to the Prev./Next month! I wouldn't have thought of that.
The only problem with RightToLeft that I found is with the "Month, Year" at the top. For RightToLeft languages the Month should be on the Right and the Year on the Left. "2013 June"
I hope you plan to submit this to the development team. This would be a great addition to Lazarus.
HebrewMonths: TMonthNameArray = ('ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר');
Edit: In procedure TCalDrawer.DrawTopRow the line
"s:= FOwner.FMonthNames[FThisMonth] + ' ' + IntToStr(FThisYear);"
should be the same for both TRUE and FALSE. bdRightToLeft takes care of getting the order right.