3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
23 * Methods for dealing with language codes.
24 * @todo Move some of the code-related static methods out of Language into this class
31 * Mapping of deprecated language codes that were used in previous
32 * versions of MediaWiki to up-to-date, current language codes.
34 * @var array Mapping from language code to language code
38 private static $deprecatedLanguageCodeMapping = [
39 // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it
40 // was previously used in MediaWiki for Alsatian, which comes under gsw
43 'be-x-old' => 'be-tarask',
46 'zh-classical' => 'lzh',
47 'zh-min-nan' => 'nan',
52 * Returns a mapping of deprecated language codes that were used in previous
53 * versions of MediaWiki to up-to-date, current language codes.
55 * This array is merged into $wgDummyLanguageCodes in Setup.php, along with
56 * the fake language codes 'qqq' and 'qqx', which are used internally by
57 * MediaWiki's localisation system.
63 public static function getDeprecatedCodeMapping() {
64 return self
::$deprecatedLanguageCodeMapping;
68 * Replace deprecated language codes that were used in previous
69 * versions of MediaWiki to up-to-date, current language codes.
70 * Other values will returned unchanged.
72 * @param string $code Old language code
73 * @return string New language code
77 public static function replaceDeprecatedCodes( $code ) {
78 if ( isset( self
::$deprecatedLanguageCodeMapping[$code] ) ) {
79 return self
::$deprecatedLanguageCodeMapping[$code];