[!!!][TASK] Remove charset functionality for locales
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Charset / CharsetConverter.php
index be81939..efd6c8d 100644 (file)
@@ -221,245 +221,6 @@ class CharsetConverter implements SingletonInterface
     );
 
     /**
-     * Mapping of iso-639-1 language codes to script names
-     *
-     * @var array
-     */
-    public $lang_to_script = array(
-        // iso-639-1 language codes, see http://www.loc.gov/standards/iso639-2/php/code_list.php
-        'af' => 'west_european', // Afrikaans
-        'ar' => 'arabic',
-        'bg' => 'cyrillic', // Bulgarian
-        'bs' => 'east_european', // Bosnian
-        'cs' => 'east_european', // Czech
-        'da' => 'west_european', // Danish
-        'de' => 'west_european', // German
-        'es' => 'west_european', // Spanish
-        'et' => 'estonian',
-        'eo' => 'unicode', // Esperanto
-        'eu' => 'west_european', // Basque
-        'fa' => 'arabic', // Persian
-        'fi' => 'west_european', // Finish
-        'fo' => 'west_european', // Faroese
-        'fr' => 'west_european', // French
-        'ga' => 'west_european', // Irish
-        'gl' => 'west_european', // Galician
-        'gr' => 'greek',
-        'he' => 'hebrew', // Hebrew (since 1998)
-        'hi' => 'unicode', // Hindi
-        'hr' => 'east_european', // Croatian
-        'hu' => 'east_european', // Hungarian
-        'iw' => 'hebrew', // Hebrew (til 1998)
-        'is' => 'west_european', // Icelandic
-        'it' => 'west_european', // Italian
-        'ja' => 'japanese',
-        'ka' => 'unicode', // Georgian
-        'kl' => 'west_european', // Greenlandic
-        'km' => 'unicode', // Khmer
-        'ko' => 'korean',
-        'lt' => 'lithuanian',
-        'lv' => 'west_european', // Latvian/Lettish
-        'nl' => 'west_european', // Dutch
-        'no' => 'west_european', // Norwegian
-        'nb' => 'west_european', // Norwegian Bokmal
-        'nn' => 'west_european', // Norwegian Nynorsk
-        'pl' => 'east_european', // Polish
-        'pt' => 'west_european', // Portuguese
-        'ro' => 'east_european', // Romanian
-        'ru' => 'cyrillic', // Russian
-        'sk' => 'east_european', // Slovak
-        'sl' => 'east_european', // Slovenian
-        'sr' => 'cyrillic', // Serbian
-        'sv' => 'west_european', // Swedish
-        'sq' => 'albanian', // Albanian
-        'th' => 'thai',
-        'uk' => 'cyrillic', // Ukranian
-        'vi' => 'vietnamese',
-        'zh' => 'chinese',
-
-        // MS language codes, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp
-        // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternational5/html/wce50conLanguageIdentifiersandLocales.asp
-        'afk' => 'west_european', // Afrikaans
-        'ara' => 'arabic',
-        'bgr' => 'cyrillic', // Bulgarian
-        'cat' => 'west_european', // Catalan
-        'chs' => 'simpl_chinese',
-        'cht' => 'trad_chinese',
-        'csy' => 'east_european', // Czech
-        'dan' => 'west_european', // Danish
-        'deu' => 'west_european', // German
-        'dea' => 'west_european', // German (Austrian)
-        'des' => 'west_european', // German (Swiss)
-        'ena' => 'west_european', // English (Australian)
-        'enc' => 'west_european', // English (Canadian)
-        'eng' => 'west_european', // English
-        'enz' => 'west_european', // English (New Zealand)
-        'enu' => 'west_european', // English (United States)
-        'euq' => 'west_european', // Basque
-        'fos' => 'west_european', // Faroese
-        'far' => 'arabic', // Persian
-        'fin' => 'west_european', // Finish
-        'fra' => 'west_european', // French
-        'frb' => 'west_european', // French (Belgian)
-        'frc' => 'west_european', // French (Canadian)
-        'frs' => 'west_european', // French (Swiss)
-        'geo' => 'unicode', // Georgian
-        'glg' => 'west_european', // Galician
-        'ell' => 'greek',
-        'heb' => 'hebrew',
-        'hin' => 'unicode', // Hindi
-        'hun' => 'east_european', // Hungarian
-        'isl' => 'west_european', // Icelandic
-        'ita' => 'west_european', // Italian
-        'its' => 'west_european', // Italian (Swiss)
-        'jpn' => 'japanese',
-        'khm' => 'unicode', // Khmer
-        'kor' => 'korean',
-        'lth' => 'lithuanian',
-        'lvi' => 'west_european', // Latvian/Lettish
-        'msl' => 'west_european', // Malay
-        'nlb' => 'west_european', // Dutch (Belgian)
-        'nld' => 'west_european', // Dutch
-        'nor' => 'west_european', // Norwegian (bokmal)
-        'non' => 'west_european', // Norwegian (nynorsk)
-        'plk' => 'east_european', // Polish
-        'ptg' => 'west_european', // Portuguese
-        'ptb' => 'west_european', // Portuguese (Brazil)
-        'rom' => 'east_european', // Romanian
-        'rus' => 'cyrillic', // Russian
-        'slv' => 'east_european', // Slovenian
-        'sky' => 'east_european', // Slovak
-        'srl' => 'east_european', // Serbian (Latin)
-        'srb' => 'cyrillic', // Serbian (Cyrillic)
-        'esp' => 'west_european', // Spanish (trad. sort)
-        'esm' => 'west_european', // Spanish (Mexican)
-        'esn' => 'west_european', // Spanish (internat. sort)
-        'sve' => 'west_european', // Swedish
-        'sqi' => 'albanian', // Albanian
-        'tha' => 'thai',
-        'trk' => 'turkish',
-        'ukr' => 'cyrillic', // Ukrainian
-
-        // English language names
-        'afrikaans' => 'west_european',
-        'albanian' => 'albanian',
-        'arabic' => 'arabic',
-        'basque' => 'west_european',
-        'bosnian' => 'east_european',
-        'bulgarian' => 'east_european',
-        'catalan' => 'west_european',
-        'croatian' => 'east_european',
-        'czech' => 'east_european',
-        'danish' => 'west_european',
-        'dutch' => 'west_european',
-        'english' => 'west_european',
-        'esperanto' => 'unicode',
-        'estonian' => 'estonian',
-        'faroese' => 'west_european',
-        'farsi' => 'arabic',
-        'finnish' => 'west_european',
-        'french' => 'west_european',
-        'galician' => 'west_european',
-        'georgian' => 'unicode',
-        'german' => 'west_european',
-        'greek' => 'greek',
-        'greenlandic' => 'west_european',
-        'hebrew' => 'hebrew',
-        'hindi' => 'unicode',
-        'hungarian' => 'east_european',
-        'icelandic' => 'west_european',
-        'italian' => 'west_european',
-        'khmer' => 'unicode',
-        'latvian' => 'west_european',
-        'lettish' => 'west_european',
-        'lithuanian' => 'lithuanian',
-        'malay' => 'west_european',
-        'norwegian' => 'west_european',
-        'persian' => 'arabic',
-        'polish' => 'east_european',
-        'portuguese' => 'west_european',
-        'russian' => 'cyrillic',
-        'romanian' => 'east_european',
-        'serbian' => 'cyrillic',
-        'slovak' => 'east_european',
-        'slovenian' => 'east_european',
-        'spanish' => 'west_european',
-        'svedish' => 'west_european',
-        'that' => 'thai',
-        'turkish' => 'turkish',
-        'ukrainian' => 'cyrillic'
-    );
-
-    /**
-     * Mapping of language (family) names to charsets on Unix
-     *
-     * @var array
-     */
-    public $script_to_charset_unix = array(
-        'west_european' => 'iso-8859-1',
-        'estonian' => 'iso-8859-1',
-        'east_european' => 'iso-8859-2',
-        'baltic' => 'iso-8859-4',
-        'cyrillic' => 'iso-8859-5',
-        'arabic' => 'iso-8859-6',
-        'greek' => 'iso-8859-7',
-        'hebrew' => 'iso-8859-8',
-        'turkish' => 'iso-8859-9',
-        'thai' => 'iso-8859-11', // = TIS-620
-        'lithuanian' => 'iso-8859-13',
-        'chinese' => 'gb2312', // = euc-cn
-        'japanese' => 'euc-jp',
-        'korean' => 'euc-kr',
-        'simpl_chinese' => 'gb2312',
-        'trad_chinese' => 'big5',
-        'vietnamese' => '',
-        'unicode' => 'utf-8',
-        'albanian' => 'utf-8'
-    );
-
-    /**
-     * Mapping of language (family) names to charsets on Windows
-     *
-     * @var array
-     */
-    public $script_to_charset_windows = array(
-        'east_european' => 'windows-1250',
-        'cyrillic' => 'windows-1251',
-        'west_european' => 'windows-1252',
-        'greek' => 'windows-1253',
-        'turkish' => 'windows-1254',
-        'hebrew' => 'windows-1255',
-        'arabic' => 'windows-1256',
-        'baltic' => 'windows-1257',
-        'estonian' => 'windows-1257',
-        'lithuanian' => 'windows-1257',
-        'vietnamese' => 'windows-1258',
-        'thai' => 'cp874',
-        'korean' => 'cp949',
-        'chinese' => 'gb2312',
-        'japanese' => 'shift_jis',
-        'simpl_chinese' => 'gb2312',
-        'trad_chinese' => 'big5',
-        'albanian' => 'windows-1250',
-        'unicode' => 'utf-8'
-    );
-
-    /**
-     * Mapping of locale names to charsets
-     *
-     * @var array
-     */
-    public $locale_to_charset = array(
-        'japanese.euc' => 'euc-jp',
-        'ja_jp.ujis' => 'euc-jp',
-        'korean.euc' => 'euc-kr',
-        'sr@Latn' => 'iso-8859-2',
-        'zh_cn' => 'gb2312',
-        'zh_hk' => 'big5',
-        'zh_tw' => 'big5'
-    );
-
-    /**
      * TYPO3 specific: Array with the system charsets used for each system language in TYPO3:
      * Empty values means "utf-8"
      *
@@ -549,48 +310,6 @@ class CharsetConverter implements SingletonInterface
         return $charset;
     }
 
-    /**
-     * Get the charset of a locale.
-     *
-     * ln      language
-     * ln_CN     language / country
-     * ln_CN.cs    language / country / charset
-     * ln_CN.cs@mod  language / country / charset / modifier
-     *
-     * @param string $locale Locale string
-     * @return string Charset resolved for locale string
-     */
-    public function get_locale_charset($locale)
-    {
-        $locale = strtolower($locale);
-        // Exact locale specific charset?
-        if (isset($this->locale_to_charset[$locale])) {
-            return $this->locale_to_charset[$locale];
-        }
-        // Get modifier
-        list($locale, $modifier) = explode('@', $locale);
-        // Locale contains charset: use it
-        list($locale, $charset) = explode('.', $locale);
-        if ($charset) {
-            return $this->parse_charset($charset);
-        }
-        // Modifier is 'euro' (after charset check, because of xx.utf-8@euro)
-        if ($modifier === 'euro') {
-            return 'iso-8859-15';
-        }
-        // Get language
-        list($language, ) = explode('_', $locale);
-        if (isset($this->lang_to_script[$language])) {
-            $script = $this->lang_to_script[$language];
-        }
-        if (TYPO3_OS === 'WIN') {
-            $cs = $this->script_to_charset_windows[$script] ?: 'windows-1252';
-        } else {
-            $cs = $this->script_to_charset_unix[$script] ?: 'utf-8';
-        }
-        return $cs;
-    }
-
     /********************************************
      *
      * Charset Conversion functions