The is a Drupal module to extend the entitycache module allowing a seperate cache per language.
When modules attach setting and content to a module, they sometime handle localization in different ways resulting in unpredictable cache results when view entities in different languages. This module can help by adding a cached version of each language.
Of course this mofule depends on the entitycache module but as of April, 2015 it also depends on this patch.
There is no UI for this module, if you enable it, it will start caching by language. You can disable specific core entity types by setting the "entitycache_multilingual_disabled_entity_types" variable with drush lke with entitycache.
i.e.
# drush vset --format=json entitycache_multilingual_disabled_entity_types '["file", "user"]'
Some code copied from @drasgardian's patch cache per language on D.O..