Translations are not cached. Loading these adds upwards of 500ms to each page load and JS/CSS request.
In translate.php I see there are calls to serialize and unserialize - but this is not called and $can_save is always reported as empty by the function read_trans_file. This is because it was not consistently declared as global.
Fix
In translate.php on line 150 the list of globals for load_translation_text needs to be updated to include $can_save.
Once done the function read_trans_file (which has the correct globals) will be able to write the translation cache file, significantly reducing page load times.
PROGRAM_NAME: WebCalendar v1.2.7 (22 Feb 2013)
SERVER_SOFTWARE: Apache
Web Browser: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
PHP Version: 5.4.25
(rest is unimportant)
Just for reference, profiling in XDebug shows non-caching to take between 600-900ms on my development machine. After fixing this, loading translations happens in 5-10ms.
Took a bit of head-scratching to work out why the cache code was all there, chose the file to write, and created the directory but never put anything in it.