[TASK] Remove t3lib/config_default.php
authorChristian Kuhn <lolli@schwarzbu.ch>
Sat, 16 Jun 2012 23:09:35 +0000 (01:09 +0200)
committerHelmut Hummel <helmut.hummel@typo3.org>
Sun, 17 Jun 2012 10:48:17 +0000 (12:48 +0200)
After all code from config_default was transferred to methods of the
bootstrap, it is now usefull to merge the calls to the according
entry script scripts to simplify further refactoring.

Change-Id: Iaeb9e43c76f90fdc477e4555dc18e8a87b85cc94
Releases: 6.0
Resolves: #38128
Reviewed-on: http://review.typo3.org/12141
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
16 files changed:
t3lib/class.t3lib_autoloader.php
t3lib/class.t3lib_extmgm.php
t3lib/class.t3lib_iconworks.php
t3lib/class.t3lib_stdgraphic.php
t3lib/config_default.php [deleted file]
t3lib/http/class.t3lib_http_request.php
t3lib/stddb/tables.php
tests/Unit/t3lib/class.config_defaultTest.php
typo3/cli_dispatch.phpsh
typo3/init.php
typo3/install/index.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/index_ts.php
typo3/sysext/install/mod/class.tx_install.php
typo3/sysext/install/updates/class.tx_coreupdates_migrateworkspaces.php
typo3/sysext/t3editor/res/tsref/tsref.xml

index 3d05830..747d19b 100644 (file)
@@ -196,7 +196,8 @@ class t3lib_autoloader {
         * @param string $classPath The current class path from previous lookup
         * @param string $classNameLower Lower cased class name to be looked up
         * @return string Class path
-        * @deprecated since 6.0, deprecation log is handled in config_default. This method and the call can be safely removed in two versions
+        * @deprecated since 6.0, deprecation log is handled in bootstrap deprecationLogForOldXclassRegistration().
+        *              This method and the call can be safely removed in two versions.
         */
        protected static function classPathForDeprecatedXclassHandling($classPath, $classNameLower) {
                        // Start XCLASS handling if the requested class starts with 'ux_'
index 938fef2..008a4ca 100644 (file)
@@ -1523,7 +1523,7 @@ tt_content.' . $key . $prefix . ' {
         *               The returned value will be an array where each key is an extension key and the value is an array with filepaths for the extension.
         *               This array will later be set in the global var $GLOBALS['TYPO3_LOADED_EXT']
         *
-        * Usages of this function can be seen in config_default.php
+        * Usages of this function can be seen in bootstrap
         * Extensions are always detected in the order local - global - system.
         *
         * @return array Extension Array
index 4ec5491..d8d03e5 100644 (file)
@@ -857,7 +857,7 @@ final class t3lib_iconWorks {
         * We wanted to not have these icons blown over by tons of overlays, so this is limited
         * to just one.
         *
-        * see t3lib/config_default.php for the default options, you will find
+        * see t3lib/stddb/DefaultSettings for the default options, you will find
         * $GLOBALS['TYPO3_CONF_VARS']['BE']['spriteIconRecordOverlayNames'] that shows
         * the list of CSS classes that will be used for the sprites, mapped to the statuses here
         *
index d09186c..c2b9ad7 100644 (file)
@@ -36,7 +36,7 @@
  * Class contains a bunch of cool functions for manipulating graphics with GDlib/Freetype and ImageMagick
  * VERY OFTEN used with gifbuilder that extends this class and provides a TypoScript API to using these functions
  *
- * With TYPO3 4.4 GDlib 1.x support was dropped, also an option from config_default.php:
+ * With TYPO3 4.4 GDlib 1.x support was dropped, also an option from $TYPO3_CONF_VARS
  * $TYPO3_CONF_VARS['GFX']['gdlib_2'] = 0,     // String/Boolean. Set this if you are using the new GDlib 2.0.1+. If you don't set this flag and still use GDlib2, you might encounter strange behaviours like black images etc. This feature might take effect only if ImageMagick is installed and working as well! You can also use the value "no_imagecopyresized_fix" - in that case it will NOT try to fix a known issue where "imagecopyresized" does not work correctly.
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
diff --git a/t3lib/config_default.php b/t3lib/config_default.php
deleted file mode 100644 (file)
index b399e38..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * TYPO3 default configuration
- *
- * TYPO3_CONF_VARS is a global array with configuration for the TYPO3 libraries
- * THESE VARIABLES MAY BE OVERRIDDEN FROM WITHIN localconf.php
- *
- * 'IM' is short for 'ImageMagick', which is an external image manipulation package available from www.imagemagick.org. Version is ABSOLUTELY preferred to be 4.2.9, but may be 5+. See the install notes for TYPO3!!
- * 'GD' is short for 'GDLib/FreeType', which are libraries that should be compiled into PHP4. GDLib <=1.3 supports GIF, while the latest version 1.8.x and 2.x supports only PNG. GDLib is available from www.boutell.com/gd/. Freetype has a link from there.
- * Revised for TYPO3 3.6 2/2003 by Kasper Skårhøj
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-
-if (!defined ('PATH_typo3conf')) {
-       die('The configuration path was not properly defined!');
-}
-
-Typo3_Bootstrap_Backend::getInstance()
-       ->loadDefaultTypo3ConfVars()
-       ->registerExtDirectComponents()
-       ->initializeGlobalVariables()
-       ->checkLocalconfExistsOrDie()
-       ->setGlobalDatabaseVariablesToEmptyString()
-       ->loadMainConfigurationFile()
-       ->defineTypo3DatabaseConstants()
-       ->initializeCachingFramework()
-       ->registerAutoloader()
-       ->addCorePearPathToIncludePath()
-       ->checkUtf8DatabaseSettingsOrDie()
-       ->transferDeprecatedCurlSettings()
-       ->setCacheHashOptions()
-       ->enforceCorrectProxyAuthScheme()
-       ->setDefaultTimezone()
-       ->initializeL10nLocales()
-       ->configureImageProcessingOptions()
-       ->convertPageNotFoundHandlingToBoolean()
-       ->registerGlobalDebugFunctions()
-       ->registerSwiftMailer()
-       ->configureExceptionHandling()
-       ->setMemoryLimit()
-       ->defineTypo3RequestTypes()
-       ->loadAdditionalConfigurationFromExtensions()
-       ->deprecationLogForOldXclassRegistration()
-       ->initializeExceptionHandling()
-       ->requireAdditionalExtensionFiles()
-       ->setFinalCachingFrameworkCacheConfiguration()
-       ->defineLoggingAndExceptionConstants()
-       ->unsetReservedGlobalVariables()
-       ->initializeGlobalTimeVariables();
-?>
index 5e8e60f..12104dc 100644 (file)
@@ -52,19 +52,18 @@ class t3lib_http_Request extends HTTP_Request2 {
        }
 
        /**
-       * Sets the configuration
-       * Merges default values with provided $config and overrides all not provided values
-       * with there defaults from localconf.php or config_default.php.
-       *
-       * @param array $config Configuration options which override the default configuration
-       * @return void
-       * @link http://pear.php.net/manual/en/package.http.http-request2.config.php
-       */
+        * Sets the configuration for this object instance.
+        * Merges default values with provided $config and overrides all
+        * not provided values with those from $TYPO3_CONF_VARS
+        *
+        * @param array $config Configuration options which override the default configuration
+        * @return void
+        * @see http://pear.php.net/manual/en/package.http.http-request2.config.php
+        */
        public function setConfiguration(array $config = array()) {
                        // set a branded user-agent
                $this->setHeader('user-agent', $GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent']);
 
-                       // set defaults from localconf.php or config_default.php
                $default = array(
                        'adapter' =>                    $GLOBALS['TYPO3_CONF_VARS']['HTTP']['adapter'],
                        'connect_timeout' =>    $GLOBALS['TYPO3_CONF_VARS']['HTTP']['connect_timeout'],
index ef9d783..0395956 100644 (file)
@@ -45,7 +45,7 @@
  * add/modify these variables as they desire.
  * 3) Finally if the constant "TYPO3_extTableDef_script" defines a file name
  * from typo3conf/ it is included, also for overriding values (the old-school
- * way before extensions came in). See config_default.php
+ * way before extensions came in). See bootstrap loadExtensionTables()
  *
  * Configuration in this file should NOT be edited directly. If you would like
  * to alter or extend this information, please make an extension which does so.
index 66d78b7..d52294f 100644 (file)
@@ -26,7 +26,7 @@
  * Test case for basic core related constants in config_default.php
  *
  * @author Oliver Hader <oliver@typo3.org>
- *
+ * @TODO: This test should be moved elsewhere?!
  * @package TYPO3
  */
 class config_defaultTest extends tx_phpunit_testcase {
index 86f83e4..7450905 100755 (executable)
@@ -51,12 +51,39 @@ Typo3_Bootstrap_Backend::getInstance()
        ->defineBaseConstants()
        ->defineAndCheckPaths('typo3/')
        ->requireBaseClasses()
-       ->setUpEnvironment();
-
-       /** @define "PATH_t3lib" "../t3lib/" */
-require(PATH_t3lib . 'config_default.php');
-
-Typo3_Bootstrap_Backend::getInstance()->initializeTypo3DbGlobal(TRUE);
+       ->setUpEnvironment()
+       ->loadDefaultTypo3ConfVars()
+       ->registerExtDirectComponents()
+       ->initializeGlobalVariables()
+       ->checkLocalconfExistsOrDie()
+       ->setGlobalDatabaseVariablesToEmptyString()
+       ->loadMainConfigurationFile()
+       ->defineTypo3DatabaseConstants()
+       ->initializeCachingFramework()
+       ->registerAutoloader()
+       ->addCorePearPathToIncludePath()
+       ->checkUtf8DatabaseSettingsOrDie()
+       ->transferDeprecatedCurlSettings()
+       ->setCacheHashOptions()
+       ->enforceCorrectProxyAuthScheme()
+       ->setDefaultTimezone()
+       ->initializeL10nLocales()
+       ->configureImageProcessingOptions()
+       ->convertPageNotFoundHandlingToBoolean()
+       ->registerGlobalDebugFunctions()
+       ->registerSwiftMailer()
+       ->configureExceptionHandling()
+       ->setMemoryLimit()
+       ->defineTypo3RequestTypes()
+       ->loadAdditionalConfigurationFromExtensions()
+       ->deprecationLogForOldXclassRegistration()
+       ->initializeExceptionHandling()
+       ->requireAdditionalExtensionFiles()
+       ->setFinalCachingFrameworkCacheConfiguration()
+       ->defineLoggingAndExceptionConstants()
+       ->unsetReservedGlobalVariables()
+       ->initializeGlobalTimeVariables()
+       ->initializeTypo3DbGlobal(TRUE);
 Typo3_Bootstrap_Cli::getInstance()->initializeCliKeyOrDie();
 Typo3_Bootstrap_Backend::getInstance()
        ->loadExtensionTables()
index a7eba59..25d8e92 100644 (file)
@@ -70,11 +70,38 @@ Typo3_Bootstrap_Backend::getInstance()
        ->defineBaseConstants()
        ->defineAndCheckPaths('typo3/')
        ->requireBaseClasses()
-       ->setUpEnvironment();
-
-require(PATH_t3lib . 'config_default.php');
-
-Typo3_Bootstrap_Backend::getInstance()
+       ->setUpEnvironment()
+       ->loadDefaultTypo3ConfVars()
+       ->registerExtDirectComponents()
+       ->initializeGlobalVariables()
+       ->checkLocalconfExistsOrDie()
+       ->setGlobalDatabaseVariablesToEmptyString()
+       ->loadMainConfigurationFile()
+       ->defineTypo3DatabaseConstants()
+       ->initializeCachingFramework()
+       ->registerAutoloader()
+       ->addCorePearPathToIncludePath()
+       ->checkUtf8DatabaseSettingsOrDie()
+       ->transferDeprecatedCurlSettings()
+       ->setCacheHashOptions()
+       ->enforceCorrectProxyAuthScheme()
+       ->setDefaultTimezone()
+       ->initializeL10nLocales()
+       ->configureImageProcessingOptions()
+       ->convertPageNotFoundHandlingToBoolean()
+       ->registerGlobalDebugFunctions()
+       ->registerSwiftMailer()
+       ->configureExceptionHandling()
+       ->setMemoryLimit()
+       ->defineTypo3RequestTypes()
+       ->loadAdditionalConfigurationFromExtensions()
+       ->deprecationLogForOldXclassRegistration()
+       ->initializeExceptionHandling()
+       ->requireAdditionalExtensionFiles()
+       ->setFinalCachingFrameworkCacheConfiguration()
+       ->defineLoggingAndExceptionConstants()
+       ->unsetReservedGlobalVariables()
+       ->initializeGlobalTimeVariables()
        ->initializeTypo3DbGlobal(FALSE)
        ->checkLockedBackendAndRedirectOrDie()
        ->checkBackendIpOrDie()
index 3d58a74..49dddd8 100755 (executable)
@@ -50,9 +50,38 @@ Typo3_Bootstrap_Backend::getInstance()
 require('../classes/Bootstrap/Install.php');
 Typo3_Bootstrap_Install::getInstance()->checkEnabledInstallToolOrDie();
 
-require(PATH_t3lib . 'config_default.php');
-
 Typo3_Bootstrap_Backend::getInstance()
+       ->loadDefaultTypo3ConfVars()
+       ->registerExtDirectComponents()
+       ->initializeGlobalVariables()
+       ->checkLocalconfExistsOrDie()
+       ->setGlobalDatabaseVariablesToEmptyString()
+       ->loadMainConfigurationFile()
+       ->defineTypo3DatabaseConstants()
+       ->initializeCachingFramework()
+       ->registerAutoloader()
+       ->addCorePearPathToIncludePath()
+       ->checkUtf8DatabaseSettingsOrDie()
+       ->transferDeprecatedCurlSettings()
+       ->setCacheHashOptions()
+       ->enforceCorrectProxyAuthScheme()
+       ->setDefaultTimezone()
+       ->initializeL10nLocales()
+       ->configureImageProcessingOptions()
+       ->convertPageNotFoundHandlingToBoolean()
+       ->registerGlobalDebugFunctions()
+       ->registerSwiftMailer()
+       ->configureExceptionHandling()
+       ->setMemoryLimit()
+       ->defineTypo3RequestTypes()
+       ->loadAdditionalConfigurationFromExtensions()
+       ->deprecationLogForOldXclassRegistration()
+       ->initializeExceptionHandling()
+       ->requireAdditionalExtensionFiles()
+       ->setFinalCachingFrameworkCacheConfiguration()
+       ->defineLoggingAndExceptionConstants()
+       ->unsetReservedGlobalVariables()
+       ->initializeGlobalTimeVariables()
        ->initializeTypo3DbGlobal(FALSE)
        ->checkLockedBackendAndRedirectOrDie()
        ->checkBackendIpOrDie()
index 65ec0a8..66c99d4 100644 (file)
@@ -95,7 +95,13 @@ class tslib_fe {
        var $simUserGroup='0';                          // Value that contains the simulated usergroup if any
 
                // CONFIGURATION
-       var $TYPO3_CONF_VARS=array();           // The configuration array as set up in t3lib/config_default.php. Should be an EXACT copy of the global array.
+
+       /**
+        * Copy of $GLOBALS['TYPO3_CONF_VARS']
+        *
+        * @var array
+        */
+       public $TYPO3_CONF_VARS = array();
        var $config='';                                         // "CONFIG" object from TypoScript. Array generated based on the TypoScript configuration of the current page. Saved with the cached pages.
        var $TCAcachedExtras=array();           // Array of cached information from TCA. This is NOT TCA itself!
 
@@ -551,7 +557,8 @@ class tslib_fe {
 
        /**
         * Clears the preview-flags, sets sim_exec_time to current time.
-        * Hidden pages must be hidden as default, $GLOBALS['SIM_EXEC_TIME'] is set to $GLOBALS['EXEC_TIME'] in t3lib/config_default.inc. Alter it by adding or subtracting seconds.
+        * Hidden pages must be hidden as default, $GLOBALS['SIM_EXEC_TIME'] is set to $GLOBALS['EXEC_TIME']
+        * in bootstrap initializeGlobalTimeVariables(). Alter it by adding or subtracting seconds.
         *
         * @return      void
         */
@@ -4070,7 +4077,9 @@ if (version == "n3") {
 
        /**
         * Pass the content through tidy - a little program that cleans up HTML-code.
-        * Requires $this->TYPO3_CONF_VARS['FE']['tidy'] to be TRUE and $this->TYPO3_CONF_VARS['FE']['tidy_path'] to contain the filename/path of tidy including clean-up arguments for tidy. See default value in TYPO3_CONF_VARS in t3lib/config_default.php
+        * Requires $this->TYPO3_CONF_VARS['FE']['tidy'] to be TRUE and $this->TYPO3_CONF_VARS['FE']['tidy_path'] to
+        * contain the filename/path of tidy including clean-up arguments for tidy. See default value in
+        * TYPO3_CONF_VARS in t3lib/stddb/DefaultSettings.php
         *
         * @param       string          The page content to clean up. Will be written to a temporary file which "tidy" is then asked to clean up. File content is read back and returned.
         * @return      string          Returns the
index 4ec668b..41e22ec 100644 (file)
@@ -45,8 +45,38 @@ define('TYPO3_MODE', 'FE');
        // AJAX/compression data corruption
 ob_start();
 
-       // Include configuration
-require(PATH_t3lib.'config_default.php');
+Typo3_Bootstrap_Backend::getInstance()->loadDefaultTypo3ConfVars()
+       ->registerExtDirectComponents()
+       ->initializeGlobalVariables()
+       ->checkLocalconfExistsOrDie()
+       ->setGlobalDatabaseVariablesToEmptyString()
+       ->loadMainConfigurationFile()
+       ->defineTypo3DatabaseConstants()
+       ->initializeCachingFramework()
+       ->registerAutoloader()
+       ->addCorePearPathToIncludePath()
+       ->checkUtf8DatabaseSettingsOrDie()
+       ->transferDeprecatedCurlSettings()
+       ->setCacheHashOptions()
+       ->enforceCorrectProxyAuthScheme()
+       ->setDefaultTimezone()
+       ->initializeL10nLocales()
+       ->configureImageProcessingOptions()
+       ->convertPageNotFoundHandlingToBoolean()
+       ->registerGlobalDebugFunctions()
+       ->registerSwiftMailer()
+       ->configureExceptionHandling()
+       ->setMemoryLimit()
+       ->defineTypo3RequestTypes()
+       ->loadAdditionalConfigurationFromExtensions()
+       ->deprecationLogForOldXclassRegistration()
+       ->initializeExceptionHandling()
+       ->requireAdditionalExtensionFiles()
+       ->setFinalCachingFrameworkCacheConfiguration()
+       ->defineLoggingAndExceptionConstants()
+       ->unsetReservedGlobalVariables()
+       ->initializeGlobalTimeVariables();
+
 if (!t3lib_extMgm::isLoaded('cms')) {
        die('<strong>Error:</strong> The main frontend extension "cms" was not loaded. Enable it in the extension manager in the backend.');
 }
index f039581..0a14095 100644 (file)
@@ -2101,7 +2101,7 @@ REMOTE_ADDR was '".t3lib_div::getIndpEnv('REMOTE_ADDR')."' (".t3lib_div::getIndp
                                                                        }
                                                                        if (preg_match('/^boolean/i', $description)) {
                                                                                        // When submitting settings in the Install Tool, values that default to "FALSE" or "true"
-                                                                                       // in config_default.php will be sent as "0" resp. "1". Therefore, reset the values
+                                                                                       // in t3lib/stddb/DefaultSettings.php will be sent as "0" resp. "1". Therefore, reset the values
                                                                                        // to their boolean equivalent.
                                                                                if ($GLOBALS['TYPO3_CONF_VARS'][$k][$vk] === FALSE && $value === '0') {
                                                                                        $value = FALSE;
@@ -2122,9 +2122,9 @@ REMOTE_ADDR was '".t3lib_div::getIndpEnv('REMOTE_ADDR')."' (".t3lib_div::getIndp
        }
 
        /**
-        * Make an array of the comments in the t3lib/config_default.php file
+        * Make an array of the comments in the t3lib/stddb/DefaultSettings.php file
         *
-        * @param string $string The contents of the config_default.php file
+        * @param string $string The contents of the t3lib/stddb/DefaultSettings.php file
         * @param array $mainArray
         * @param array $commentArray
         * @return array
@@ -4249,7 +4249,7 @@ REMOTE_ADDR was '".t3lib_div::getIndpEnv('REMOTE_ADDR')."' (".t3lib_div::getIndp
                        <br />
                        The options in the TYPO3_CONF_VARS array and how to use it for your
                        own purposes is discussed in the base configuration file,
-                       t3lib/config_default.php. This file sets up the default values and
+                       t3lib/stddb/DefaultSettings.php. This file sets up the default values and
                        subsequently includes the localconf.php file in which you can then
                        override values.
                        <br />
@@ -7495,27 +7495,11 @@ $out="
         * @return void
         */
        function includeTCA() {
-                       // this line hast to stay, as included files use $TCA in global scope
-               global $TCA;
-
-               include (PATH_t3lib . 'stddb/tables.php');
-
-                       // Extension additions
-               if ($GLOBALS['TYPO3_LOADED_EXT']['_CACHEFILE']) {
-                       include(PATH_typo3conf.$GLOBALS['TYPO3_LOADED_EXT']['_CACHEFILE'].'_ext_tables.php');
-               } else {
-                       include(PATH_t3lib.'stddb/load_ext_tables.php');
-               }
-
-               if (TYPO3_extTableDef_script) {
-                       include (PATH_typo3conf.TYPO3_extTableDef_script);
-               }
+               Typo3_Bootstrap_Backend::getInstance()->loadExtensionTables();
 
                foreach ($GLOBALS['TCA'] as $table => $conf) {
                        t3lib_div::loadTCA($table);
                }
-
-               Typo3_Bootstrap_Backend::getInstance()->runExtTablesPostProcessingHooks();
        }
 
 
index dce4846..30b9c7a 100644 (file)
@@ -64,7 +64,7 @@ class tx_coreupdates_migrateworkspaces extends tx_coreupdates_installsysexts {
                                        install "fluid" and "extbase" too, as they are used by the "workspaces" extension).';
                        } else {
 
-                               $this->includeTCA();
+                               Typo3_Bootstrap_Backend::getInstance()->loadExtensionTables();
 
                                if (!t3lib_extMgm::isLoaded('version') || !t3lib_extMgm::isLoaded('workspaces')) {
                                        $result = TRUE;
@@ -153,8 +153,7 @@ class tx_coreupdates_migrateworkspaces extends tx_coreupdates_installsysexts {
                        return TRUE;
                }
 
-                       // There's no TCA available yet
-               $this->includeTCA();
+               Typo3_Bootstrap_Backend::getInstance()->loadExtensionTables();
 
                        // install version and workspace extension (especially when updating from very old TYPO3 versions
                $this->installExtensions(array('extbase', 'fluid', 'version', 'workspaces'));
@@ -369,28 +368,6 @@ class tx_coreupdates_migrateworkspaces extends tx_coreupdates_installsysexts {
        }
 
        /**
-        * Includes the TCA definition of installed extensions.
-        *
-        * This method is used because usually the TCA is included within the init.php script, this doesn't happen
-        * if the install-tool is used, therefore this has to be done by hand.
-        *
-        * @return void
-        */
-       protected function includeTCA() {
-               global $TCA; // this is relevant because it's used within the included ext_tables.php files - do NOT remove it
-
-               include_once(PATH_t3lib . 'stddb/tables.php');
-                       // Extension additions
-               if ($GLOBALS['TYPO3_LOADED_EXT']['_CACHEFILE']) {
-                       include_once(PATH_typo3conf . $GLOBALS['TYPO3_LOADED_EXT']['_CACHEFILE'] . '_ext_tables.php');
-               } else {
-                       include_once(PATH_t3lib . 'stddb/load_ext_tables.php');
-               }
-
-               Typo3_Bootstrap_Backend::getInstance()->runExtTablesPostProcessingHooks();
-       }
-
-       /**
         * Determines whether a table has elements in a particular workspace.
         *
         * @param string $table Name of the table
index 67fbc53..944f0ab 100644 (file)
@@ -642,7 +642,7 @@ Norwegian = no
 Italian = it
 etc...
 
-Value must correspond with the key used for backend system language if there is one. See inside config_default.php or look at the translation page on TYPO3.org for the official 2-byte key for a given language. Notice that selecting the official key is important if you want labels in the correct language from "locallang" files.
+Value must correspond with the key used for backend system language if there is one. Look at the translation page on TYPO3.org for the official 2-byte key for a given language. Notice that selecting the official key is important if you want labels in the correct language from "locallang" files.
 If the language you need is not yet a system language in TYPO3 you can use an artificial string of your choice and provide values for it via the TypoScript template where the property "_LOCAL_LANG" for most plugins will provide a way to override/add values for labels. The keys to use must be looked up in the locallang-file used by the plugin of course.]]></description>
                        <default><![CDATA[
 ]]></default>