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

Martin Kutschker martin.kutschker-n0spam at no5pam-blackbox.net
Mon Feb 4 01:52:22 CET 2008


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.

Masi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug_2731.diff
Type: text/x-diff
Size: 26907 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20080204/0bd4fc7f/attachment-0001.diff 


More information about the TYPO3-team-core mailing list