Feature #50467
closedSupport custom translation servers for extensions
100%
Description
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
:
/** @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', 'postProcessMirrorUrl', 'Company\\Extension\Slots\\CustomMirror', 'postProcessMirrorUrl' );
EXT:myext/Classes/Slots/CustomMirror.php
:
<?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/'; } } }
Updated by Xavier Perseguers over 11 years ago
Expected file structure on server:
https://mycompany.tld/typo3-packages/ `-- <first-letter-of-extension-key> `-- <second-letter-of-extension-key> `-- <extension-key>-l10n |-- <extension-key>-l10n-de.zip |-- <extension-key>-l10n-fr.zip |-- <extension-key>-l10n-it.zip `-- <extension-key>-l10n.xml
in our example:
https://mycompany.tld/typo3-packages/ `-- m `-- y `-- myext-l10n |-- myext-l10n-de.zip |-- myext-l10n-fr.zip |-- myext-l10n-it.zip `-- myext-l10n.xml
Example of myext-l10n.xml
:
<?xml version="1.0" standalone="yes" ?> <TERlanguagePackIndex> <meta> <timestamp>1374841386</timestamp> <date>2013-07-26 14:23:06</date> </meta> <languagePackIndex> <languagepack language="de"> <md5>1cc7046c3b624ba1fb1ef565343b84a1</md5> </languagepack> <languagepack language="fr"> <md5>f00f73ae5c43cb68392e6c508b65de7a</md5> </languagepack> <languagepack language="it"> <md5>cd59530ce1ee0a38e6309544be6bcb3d</md5> </languagepack> </languagePackIndex> </TERlanguagePackIndex>
Updated by Gerrit Code Review over 11 years ago
- Status changed from New to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/22587
Updated by Xavier Perseguers over 11 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Updated by Markus Klein about 11 years ago
Can we add this to the official documentation somewhere?
I find it a bit odd that the news article for 6.2alpha3 refers to this place on how to use this feature.
Updated by Xavier Perseguers about 11 years ago
Markus, please see the related task for this ticket: #50505
Updated by Xavier Perseguers over 9 years ago
- Description updated (diff)
Adapted sample code when using TYPO3 7.x
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed
Updated by Xavier Perseguers over 3 years ago
- Related to Bug #93889: Cannot modify language pack remote base URL added