CakePHP is a wonderful MVC-based rapid development web framework heavily inspired by Ruby on Rails. I recently struggled with creating localized date time strings that originated from a database and depending on some database flags should produce different datetime strings.
I tried using the time helper CakeTime and its method format, but this does not support for localization, and just calls PHP's strftime method.
After a while, it was clear that CakePHP doesn't localize datetime strings, because PHP already does when the correct locale is set. Thus the solutation was rather simple. I just put the following in the bootstrap.php file:
// Setting the locale to de_DE for strftime. if (!setlocale(LC_ALL, 'de_DE.UTF-8')) { if (!setlocale(LC_ALL, 'de_DE')) { CakeLog::error('Could not set locale!'); } }
And everything worked out of the box, thanks to POSIX.