Project

General

Profile

Feature #50467

Updated by Xavier Perseguers almost 9 years ago

With the use of XLIFF and the freely available Pootle [1] translation server, companies and individuals may easily set up a custom translation server for their extensions. 

 TYPO3 should be able to fetch localization packages from those custom translation servers. 

 The proposed implementation will provide a signal that may be implemented like this to override the mirror URL to be used to fetch localization packages for a given extension: 

 @EXT:myext/localconf.php@: 
 <pre> 
 /** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */ 
 $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher'); 

 $signalSlotDispatcher->connect( 
	 version_compare(TYPO3_version, '7.0', '<') 
		 ? 'TYPO3\\CMS\\Lang\\Service\\UpdateTranslationService' 
		 : 'TYPO3\\CMS\\Lang\\Service\\TranslationService', 'TYPO3\\CMS\\Lang\\Service\\UpdateTranslationService', 
	 'postProcessMirrorUrl', 
	 'Company\\Extension\Slots\\CustomMirror', 
	 'postProcessMirrorUrl' 
 ); 
 </pre> 

 @EXT:myext/Classes/Slots/CustomMirror.php@: 
 <pre> 
 <?php 
 namespace Company\Extensions\Slots; 
 class CustomMirror { 

	 /** @var string */ 
	 protected static $extKey = 'myext'; 

	 public function postProcessMirrorUrl($extensionKey, &$mirrorUrl) { 
		 if ($extensionKey === self::$extKey) { 
			 $mirrorUrl = 'http://mycompany.tld/typo3-packages/'; 
		 } 
	 } 

 } 
 </pre>

Back