[TYPO3-dev] [Typo3-Dev] indiscriminate of i18n and languages in typo3.
Dennis Cheung
hkdennis2k at gmail.com
Wed Jan 25 11:15:43 CET 2006
Hi,
I am working of some language works of typo3.
But I found it is very confused.
Let me describe how it works, correct me if I wrong.
Frontend
1. RealUrl read 'preVars' from readable name(e.g. en, dk,) into $_GET['L']
2. tx_realurl_advanced takes 'languageGetVar' ('L' usually) from
$TSFE->typolink() for encode the path
3. you have to defined typoscript [globalVar:GP:L=1] to config.sys_language_id
4. (How it use config.sys_language_id )
5. TS function 'select' will use "languageField" with "config.sys_language_id"
6. TSFE use "config.language" for function (e.g. getLL)
7. FE uses $TSFE for locallang
8. TS stdWrap.lang was used to override language
Backend
1. BE_USER->lang is just a default value to BE_USER->uc['lang']
2. Number of languages limited by an constant 'TYPO3_languages'
3. FE uses $LANG for locallang
Common
When reading XML
It unicode from xml
encode into native charset
cache native charset
encode native charset into render charset
The problems:
'L' is not a constant, it may changes. (In fact, you won't)
'L' to 'config.language' mapping is not singleton.
'L' to 'sys_language_id' mapping is not singleton.
Charset of BE are hardcoded.
Waste resource to decode/encode even it is using UTF-8.
UTF-8->native->UTF-8 may cause text broken in some case(e.g. BIG5 is
never a standard, there are different versions and subset)
stdWrap.lang should be EOL, replaced my getData LLL
be behaviour $TSFE and $LANG with same function name may different.
Not maintainable if you have many language.
I did read any news of typo3 4.0 about the language. Please update me
if any changes.
Is there any plan to reorder that system?
e.g. my idea
1. drop define(TYPO3_languages), 'sys_language' table, config.lanauge
replaced by setting in chc_xx/ext_locallang.php
change 'L' into a SYS_CONF constant
-
people won't change number of languages frequency.
It should fit everyone wanted.
2. make FE and BE both using $LANG
-
I am not sure the behaviour of $LANG and $TSFE has any difference.
Some of the function look like equals.
3. change xml cached charset into UTF8
(won't encode reading xml style locallang.xml in unicode)
(encode to utf8 when reading old style locallang.php)
-
I have did it already, but may have bug on backward compatible.
But it works with locallang.xml and locallang.php style langauge pack.
Dennis
More information about the TYPO3-dev
mailing list