Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (revision 6899) +++ t3lib/class.t3lib_befunc.php (working copy) @@ -875,7 +875,11 @@ // Traverse languages $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,title,flag', 'sys_language', 'pid=0'.t3lib_BEfunc::deleteClause('sys_language')); while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { - $sysLanguages[] = array($row['title'].' ['.$row['uid'].']', $row['uid'], ($row['flag'] ? 'flags/'.$row['flag'] : '')); + $sysLanguages[] = array( + $row['title'] . ' [' . $row['uid'] . ']', $row['uid'], + ($row['flag'] ? 'flags/' . $row['flag'] : ''), + $row['static_lang_isocode'] + ); } $GLOBALS['TYPO3_DB']->sql_free_result($res); Index: t3lib/class.t3lib_flexformtools.php =================================================================== --- t3lib/class.t3lib_flexformtools.php (revision 6899) +++ t3lib/class.t3lib_flexformtools.php (working copy) @@ -306,6 +306,8 @@ if ($isL && $row['static_lang_isocode']) { $rr = t3lib_BEfunc::getRecord('static_languages',$row['static_lang_isocode'],'lg_iso_2'); if ($rr['lg_iso_2']) $output[$row['uid']]['ISOcode']=$rr['lg_iso_2']; + } elseif (!$isL && $row['static_lang_isocode']) { + $output[$row['uid']]['ISOcode'] = $row['static_lang_isocode']; } if (!$output[$row['uid']]['ISOcode']) unset($output[$row['uid']]); Index: t3lib/class.t3lib_tceforms.php =================================================================== --- t3lib/class.t3lib_tceforms.php (revision 6899) +++ t3lib/class.t3lib_tceforms.php (working copy) @@ -6056,6 +6056,8 @@ if ($isL && $row['static_lang_isocode']) { $rr = t3lib_BEfunc::getRecord('static_languages',$row['static_lang_isocode'],'lg_iso_2'); if ($rr['lg_iso_2']) $output[$row['uid']]['ISOcode']=$rr['lg_iso_2']; + } elseif (!$isL && $row['static_lang_isocode']) { + $output[$row['uid']]['ISOcode'] = $row['static_lang_isocode']; } if ($onlyIsoCoded && !$output[$row['uid']]['ISOcode']) unset($output[$row['uid']]); Index: t3lib/class.t3lib_transl8tools.php =================================================================== --- t3lib/class.t3lib_transl8tools.php (revision 6899) +++ t3lib/class.t3lib_transl8tools.php (working copy) @@ -105,14 +105,18 @@ 'sys_language', '' ); + $isLoaded = t3lib_extMgm::isLoaded('static_info_tables'); + foreach($sys_languages as $row) { $languageIconTitles[$row['uid']] = $row; - if ($row['static_lang_isocode'] && t3lib_extMgm::isLoaded('static_info_tables')) { + if ($isLoaded && $row['static_lang_isocode']) { $staticLangRow = t3lib_BEfunc::getRecord('static_languages',$row['static_lang_isocode'],'lg_iso_2'); if ($staticLangRow['lg_iso_2']) { $languageIconTitles[$row['uid']]['ISOcode'] = $staticLangRow['lg_iso_2']; } + } elseif ($isLoaded && $row['static_lang_isocode']) { + $languageIconTitles[$row['uid']]['ISOcode'] = $row['static_lang_isocode']; } if (strlen ($row['flag'])) { $languageIconTitles[$row['uid']]['flagIcon'] = @is_file($flagAbsPath.$row['flag']) ? $flagIconPath.$row['flag'] : ''; Index: t3lib/stddb/tables.sql =================================================================== --- t3lib/stddb/tables.sql (revision 6899) +++ t3lib/stddb/tables.sql (working copy) @@ -421,7 +421,7 @@ hidden tinyint(4) unsigned DEFAULT '0' NOT NULL, title varchar(80) DEFAULT '' NOT NULL, flag varchar(20) DEFAULT '' NOT NULL, - static_lang_isocode int(11) unsigned DEFAULT '0' NOT NULL, + static_lang_isocode varchar(3) DEFAULT '' NOT NULL, PRIMARY KEY (uid), KEY parent (pid) ); Index: t3lib/stddb/tbl_be.php =================================================================== --- t3lib/stddb/tbl_be.php (revision 6899) +++ t3lib/stddb/tbl_be.php (working copy) @@ -785,14 +785,196 @@ 'static_lang_isocode' => array( 'exclude' => 1, 'label' => 'LLL:EXT:lang/locallang_tca.php:sys_language.isocode', - 'displayCond' => 'EXT:static_info_tables:LOADED:true', 'config' => array( 'type' => 'select', 'items' => array( array('', 0), + array('Abkhazian (AB)', 'AB'), + array('Afar (AA)', 'AA'), + array('Afrikaans (AF)', 'AF'), + array('Akan (AK)', 'AK'), + array('Albanian (SQ)', 'SQ'), + array('Amharic (AM)', 'AM'), + array('Arabic (AR)', 'AR'), + array('Aragonese (AN)', 'AN'), + array('Armenian (HY)', 'HY'), + array('Assamese (AS)', 'AS'), + array('Austria (AT)', 'AT'), + array('Avar (AV)', 'AV'), + array('Avestan (AE)', 'AE'), + array('Aymara (AY)', 'AY'), + array('Azerbaijani (AZ)', 'AZ'), + array('Bambara (BM)', 'BM'), + array('Bashkir (BA)', 'BA'), + array('Basque (EU)', 'EU'), + array('Belarusian (BE)', 'BE'), + array('Bengali (BN)', 'BN'), + array('Bihari (BH)', 'BH'), + array('Bislama (BI)', 'BI'), + array('Bosnian (BS)', 'BS'), + array('Brazilian Portuguese (PT)', 'PT'), + array('Breton (BR)', 'BR'), + array('Bulgarian (BG)', 'BG'), + array('Burmese (MY)', 'MY'), + array('Catalan (CA)', 'CA'), + array('Chamorro (CH)', 'CH'), + array('Chechen (CE)', 'CE'), + array('Chichewa (NY)', 'NY'), + array('Chinese (ZH)', 'ZH'), + array('Church Slavonic (CU)', 'CU'), + array('Chuvash (CV)', 'CV'), + array('Cornish (KW)', 'KW'), + array('Corsican (CO)', 'CO'), + array('Cree (CR)', 'CR'), + array('Croatian (HR)', 'HR'), + array('Czech (CS)', 'CS'), + array('Danish (DA)', 'DA'), + array('Dhivehi (DV)', 'DV'), + array('Dutch (NL)', 'NL'), + array('Dzongkha (DZ)', 'DZ'), + array('English (EN)', 'EN'), + array('Esperanto (EO)', 'EO'), + array('Estonian (ET)', 'ET'), + array('Ewe (EE)', 'EE'), + array('Faeroese (FO)', 'FO'), + array('Fijian (FJ)', 'FJ'), + array('Finnish (FI)', 'FI'), + array('French (FR)', 'FR'), + array('Frisian (FY)', 'FY'), + array('Fula (FF)', 'FF'), + array('Galician (GL)', 'GL'), + array('Georgian (KA)', 'KA'), + array('German (DE)', 'DE'), + array('Greek (EL)', 'EL'), + array('Greenlandic (KL)', 'KL'), + array('Guinea (GN)', 'GN'), + array('Gujarati (GU)', 'GU'), + array('Haiti (HT)', 'HT'), + array('Hausa (HA)', 'HA'), + array('Hebrew (HE)', 'HE'), + array('Herero (HZ)', 'HZ'), + array('Hindi (HI)', 'HI'), + array('Hiri motu (HO)', 'HO'), + array('Hungarian (HU)', 'HU'), + array('Icelandic (IS)', 'IS'), + array('Ido (IO)', 'IO'), + array('Igbo (IG)', 'IG'), + array('Indonesian (ID)', 'ID'), + array('Interlingua (IA)', 'IA'), + array('Interlingue (IE)', 'IE'), + array('Inuktitut (IU)', 'IU'), + array('Inupiaq (IK)', 'IK'), + array('Irish (GA)', 'GA'), + array('Italian (IT)', 'IT'), + array('Japanese (JA)', 'JA'), + array('Javanese (JV)', 'JV'), + array('Kannada (KN)', 'KN'), + array('Kanuri (KR)', 'KR'), + array('Kashmiri (KS)', 'KS'), + array('Kazakh (KK)', 'KK'), + array('Khmer (KM)', 'KM'), + array('Kikuyu (KI)', 'KI'), + array('Kinyarwanda (RW)', 'RW'), + array('Kirghiz (KY)', 'KY'), + array('Kirundi (RN)', 'RN'), + array('Komi (KV)', 'KV'), + array('Kongo (KG)', 'KG'), + array('Korean (KO)', 'KO'), + array('Kuanyama (KJ)', 'KJ'), + array('Kurdish (KU)', 'KU'), + array('Lao (LO)', 'LO'), + array('Latin (LA)', 'LA'), + array('Latvian (LV)', 'LV'), + array('Limburgish (LI)', 'LI'), + array('Lingala (LN)', 'LN'), + array('Lithuanian (LT)', 'LT'), + array('Luba-Katanga (LU)', 'LU'), + array('Luganda (LG)', 'LG'), + array('Luxembourgish (LB)', 'LB'), + array('Macedonian (MK)', 'MK'), + array('Malagasy (MG)', 'MG'), + array('Malay (MS)', 'MS'), + array('Malayalam (ML)', 'ML'), + array('Maltese (MT)', 'MT'), + array('Manx (GV)', 'GV'), + array('Marathi (MR)', 'MR'), + array('Marshallese (MH)', 'MH'), + array('Moldavian (MO)', 'MO'), + array('Mongolian (MN)', 'MN'), + array('MÄori (MI)', 'MI'), + array('Nauru (NA)', 'NA'), + array('Navajo (NV)', 'NV'), + array('Ndonga (NG)', 'NG'), + array('Nepali (NE)', 'NE'), + array('North Ndebele (ND)', 'ND'), + array('Northern Sami (SE)', 'SE'), + array('Norwegian (NO)', 'NO'), + array('Norwegian Nynorsk (NN)', 'NN'), + array('Occitan (OC)', 'OC'), + array('Ojibwa (OJ)', 'OJ'), + array('Oriya (OR)', 'OR'), + array('Oromo (OM)', 'OM'), + array('Ossetic (OS)', 'OS'), + array('Pali (PI)', 'PI'), + array('Pashto (PS)', 'PS'), + array('Persian (FA)', 'FA'), + array('Polish (PL)', 'PL'), + array('Portuguese (PT)', 'PT'), + array('Punjabi (PA)', 'PA'), + array('Quechua (QU)', 'QU'), + array('Rhaeto-Romance (RM)', 'RM'), + array('Romanian (RO)', 'RO'), + array('Russian (RU)', 'RU'), + array('Samoan (SM)', 'SM'), + array('Sango (SG)', 'SG'), + array('Sanskrit (SA)', 'SA'), + array('Sardinian (SC)', 'SC'), + array('Scottish Gaelic (GD)', 'GD'), + array('Serbian (SR)', 'SR'), + array('Sesotho (ST)', 'ST'), + array('Setswana (TN)', 'TN'), + array('Shona (SN)', 'SN'), + array('Sindhi (SD)', 'SD'), + array('Sinhala (SI)', 'SI'), + array('Slovak (SK)', 'SK'), + array('Slovenian (SL)', 'SL'), + array('Somali (SO)', 'SO'), + array('South Ndebele (NR)', 'NR'), + array('Spanish (ES)', 'ES'), + array('Sundanese (SU)', 'SU'), + array('Swahili (SW)', 'SW'), + array('Swati (SS)', 'SS'), + array('Swedish (SV)', 'SV'), + array('Tagalog (TL)', 'TL'), + array('Tahitian (TY)', 'TY'), + array('Tajik (TG)', 'TG'), + array('Tamil (TA)', 'TA'), + array('Tatar (TT)', 'TT'), + array('Telugu (TE)', 'TE'), + array('Thai (TH)', 'TH'), + array('Tibetan (BO)', 'BO'), + array('Tigrinya (TI)', 'TI'), + array('Tongan (TO)', 'TO'), + array('Tsonga (TS)', 'TS'), + array('Turkish (TR)', 'TR'), + array('Turkmen (TK)', 'TK'), + array('Twi (TW)', 'TW'), + array('Ukrainian (UK)', 'UK'), + array('Urdu (UR)', 'UR'), + array('Uyghur (UG)', 'UG'), + array('Uzbek (UZ)', 'UZ'), + array('Venda (VE)', 'VE'), + array('Vietnamese (VI)', 'VI'), + array('Walloon (WA)', 'WA'), + array('Welsh (CY)', 'CY'), + array('Wolof (WO)', 'WO'), + array('Xhosa (XH)', 'XH'), + array('Yi (II)', 'II'), + array('Yiddish (YI)', 'YI'), + array('Yoruba (YO)', 'YO'), + array('Zhuang (ZA)', 'ZA'), + array('Zulu (ZU)', 'ZU'), ), - 'foreign_table' => 'static_languages', - 'foreign_table_where' => 'AND static_languages.pid=0 ORDER BY static_languages.lg_name_en', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, Index: typo3/sysext/cms/tslib/class.tslib_fe.php =================================================================== --- typo3/sysext/cms/tslib/class.tslib_fe.php (revision 6899) +++ typo3/sysext/cms/tslib/class.tslib_fe.php (working copy) @@ -2356,11 +2356,14 @@ } // Finding the ISO code: - if (t3lib_extMgm::isLoaded('static_info_tables') && $this->sys_language_content) { // using sys_language_content because the ISO code only (currently) affect content selection from FlexForms - which should follow "sys_language_content" + $isLoaded = t3lib_extMgm::isLoaded('static_info_tables'); + if ($this->sys_language_content) { // using sys_language_content because the ISO code only (currently) affect content selection from FlexForms - which should follow "sys_language_content" $sys_language_row = $this->sys_page->getRawRecord('sys_language',$this->sys_language_content,'static_lang_isocode'); - if (is_array($sys_language_row) && $sys_language_row['static_lang_isocode']) { + if (is_array($sys_language_row) && $isLoaded && $sys_language_row['static_lang_isocode']) { $stLrow = $this->sys_page->getRawRecord('static_languages',$sys_language_row['static_lang_isocode'],'lg_iso_2'); $this->sys_language_isocode = $stLrow['lg_iso_2']; + } elseif (is_array($sys_language_row) && !$isLoaded && $sys_language_row['static_lang_isocode']) { + $this->sys_language_isocode = $sys_language_row['static_lang_isocode']; } }