Adding XLIFF support as the default format for translation
The goal of the project is to extend TYPO3 translation format support with XLIFF format.
This move is motivated by the lack of good tools to translate TYPO3. Translation team need advanced feature to manage their workload and improve TYPO3 translation quality. Actually we are impressed by the features of Pootle (use by LibreOffice, Mozilla, Gnome, ...) and plan to use it as a replacement of llxmltranslate.
We are actually working in the TYPO3 core, on github. The current job is to move the existing feature to dedicated class (parsing llxml, llphp, ...) and adding a sort of factory to switch between the correct parser.
You can check our test Pootle server here:
And a quick and dirty tools to convert core llxml to XLIFF:
(issue imported from #M18040)
Updated by Steffen Gebert almost 10 years ago
Hints for reviewing the changes by Dominique:
First public version of the parser to support XLIFF + LLXML file as localization file format. This patch includes: - A parser factory to support multiple internationalization formats (actually LLXML and XLIFF, parser for PHP array is not implemented yet). New parsers can be added in the future. - A new parser for XLIFF (supporting plurals, based on the parser of FLOW3) - Autoload for sysext 'lang' - Update the existing localization method (FE, BE, Extbase) to support the new format of the LOCAL_LANG array - New caching class based on the caching framework or file based - Autodetection igbinary for cache un/serialization - htmlArea RTE: update of the localization API Currently the localization method works as before (only key-based localization). More functionality will be implemented in the new localization API (plurals, ...). The current parser can be used on a TYPO3 instance with LLXML and/or XLIFF files. However if an extension uses XLIFF, the language pack (typo3conf/l10n) MUST use the same format. The parser and the format priority (by default: xlf, xml, php), can be configured in: $TYPO3_CONF_VARS['SYS']['lang'] Beware: This patch breaks internationalization of many ExtJS based extension (like extension manager, workspace, recycler). This bug shows "Object" as label. Another patch will be pushed with a new ExtJS API to handle it, and extension update will be needed to fix this breaking change. If you see "Object" as label in rtehtmlarea, please clear the cache of the RTE and reload your backend.