Index: lib/ezi18n/classes/eztranslationcache.php
===================================================================
--- lib/ezi18n/classes/eztranslationcache.php	(revision 25366)
+++ lib/ezi18n/classes/eztranslationcache.php	(working copy)
@@ -127,8 +127,18 @@
         $translationExtensions = $ini->variable( 'RegionalSettings', 'TranslationExtensions' );
 
         $uniqueParts = array( $internalCharset, $translationRepository, implode( ';', $translationExtensions ) );
-        $rootCacheDirectory = eZDir::path( array( eZSys::cacheDirectory(), 'translation', md5( implode( '-', $uniqueParts ) ) ) );
 
+        $sharedTranslationCacheDir = $ini->hasVariable( 'RegionalSettings', 'SharedTranslationCacheDir' ) ?
+                            trim( $ini->variable( 'RegionalSettings', 'SharedTranslationCacheDir' ) ) :
+                            '';
+        if ( $sharedTranslationCacheDir !== '')
+        {
+          $rootCacheDirectory = eZDir::path( array( $sharedTranslationCacheDir, md5( implode( '-', $uniqueParts ) ) ) );
+        }
+        else
+        {
+          $rootCacheDirectory = eZDir::path( array( eZSys::cacheDirectory(), 'translation', md5( implode( '-', $uniqueParts ) ) ) );
+        }
         return $rootCacheDirectory;
     }
 
Index: settings/site.ini
===================================================================
--- settings/site.ini	(revision 25366)
+++ settings/site.ini	(working copy)
@@ -799,6 +799,11 @@
 #TextTranslation=disabled##!
 TextTranslation=enabled
 TranslationCache=enabled
+# You may use this setting if you want to store translation cache outside
+# your siteaccesses cache directory. This option may be used to share translation
+# cache between siteaccesses which uses the same templates
+# Empty value disables sharing of translation cache
+SharedTranslationCacheDir=
 # Sets if modified time should be checked or not on ts files when checking
 # if translation cache is valid
 TranslationCheckMTime=enabled
