Minifreunde... Glad to see that you have it working. Since it's working within the vbindex.php file, maybe there was just a missing or out of place parenthesis, or an extra space somewhere in the cal.php file - since you said that you were getting a parse error (and Line 110 just contains right bracket, I believe). I had originally thought that it just wasn't displaying on you vbindex page (without an error), but anyway, glad to see that you're working now.
As for your date/language format, I believe that you would have to set the locale with the following string:
setlocale (LC_TIME, "de_DE");
Then, find the line "$cal_date=strftime('%B %e');" in the cal.php file (or where you have it in your vbindex home page - since you put the cal.php file there). You may need to change this to "$cal_date=strftime('%e %B');" - as the %e gives you the day and the %B gives you the month (so this would reverse the string order).
I don't have the issue with changing the language - so all I can do is tell you to try it and see if it works. By the way, note that the locales are OS dependent and have to exist on the system that this is running on - and there could be more than one German locale.
For more on the strftime function and the locale settings in PhP, check out:
http://php.benscom.com/manual/en/function.strftime.php