[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