rdbms: Avoid selectDB() call in LoadMonitor new connections
[mediawiki.git] / languages / LanguageCode.php
blob3fa3dc16e527ae38114181cb68e58034857e972f
1 <?php
2 /**
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
18 * @file
19 * @ingroup Language
22 /**
23 * Methods for dealing with language codes.
24 * @todo Move some of the code-related static methods out of Language into this class
26 * @since 1.29
27 * @ingroup Language
29 class LanguageCode {
30 /**
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
36 * @since 1.30
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
41 'als' => 'gsw',
42 'bat-smg' => 'sgs',
43 'be-x-old' => 'be-tarask',
44 'fiu-vro' => 'vro',
45 'roa-rup' => 'rup',
46 'zh-classical' => 'lzh',
47 'zh-min-nan' => 'nan',
48 'zh-yue' => 'yue',
51 /**
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.
59 * @return string[]
61 * @since 1.29
63 public static function getDeprecatedCodeMapping() {
64 return self::$deprecatedLanguageCodeMapping;
67 /**
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
75 * @since 1.30
77 public static function replaceDeprecatedCodes( $code ) {
78 if ( isset( self::$deprecatedLanguageCodeMapping[$code] ) ) {
79 return self::$deprecatedLanguageCodeMapping[$code];
81 return $code;