[TYPO3-core] RFC: #2731: Improved caching of locallang

Michael Stucki michael at typo3.org
Mon Feb 4 17:38:16 CET 2008


Hi Martin,

thanks for fixing these problems! The patch looks just fine, however I did
not test it in any way yet. So you'll get +1 for the code quality, but the
rest still needs to tested properly.

However, I suggest that you commit the change but mark it similar like Olly
did with the IRRE localization feature.

Thank you!
- michael

Martin Kutschker wrote:

> Martin Kutschker schrieb:
>> Hello everybody!
>> 
>> This is a SVN patch request.
>> 
>> Type: Improvement
>> 
>> Bugtracker references: http://bugs.typo3.org/view.php?id=2731
>> 
>> Problem: all preprocessiing of localized strings (incl. the caching) is
>> done in the "native" character set of the language. That means that
>> TYPO3 will (especially for XML files) do a constant conversion from one
>> charset to another (most likely from iso-8859-1 to utf-8). This is a
>> performance hog.
>> 
>> Solution: hold all localized strings internally (and in the cache files)
>> in the required charset. Do any conversion only once, ie when building
>> up the cache. In the BE the charset is detetmined by the language or
>> forceCharset, in the FE it's also possible to override it further via
>> config.renderCharset. t3lib_div::readLLfile() will auto-detect the
>> charset (from forceCharset and $lang), but has got an optional charset
>> argument (used in the FE for forceCharset).
>> 
>> Notes: This is a change from the old internal behaviour. Now all the
>> strings are correct at once (after loading from file) without the need
>> for further processing.
>> 
>> Warning: I have started this patch a long time ago for the BE. This part
>> worked well. The part for the FE I have written right now (in the
>> night). This part is not so well tested.
>> 
>> As the diff is nearly unreadable please test with various setups. Use
>> languages with different charset, set and unset forceCharset, fiddle
>> with renderCharset. In typo3temp/llxml you'll find a cache file for each
>>  locallang.php, language and charset.
> 
> New version of the patch along with the changes in t3lib_div as a whole
> (the readLLfile-family).
> 
> Masi

-- 
Use a newsreader! Check out
http://typo3.org/community/mailing-lists/use-a-news-reader/


More information about the TYPO3-team-core mailing list