From f43e0d840f8c9729e340b703868dc60b74336d5a Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 29 Jan 2016 16:19:58 +1100 Subject: [PATCH] Use autoloader for PHP data files instead of include/require Move ZhConversion.php and Names.php to languages/data and make them both expose their data as static class variables instead of in the local scope. This means that the autoloader can be used to load the data, which is efficient and secure. This also makes additional request-local caching of the arrays unnecessary. Change-Id: Iafb96ac4165d0965fcb9a69f1d0a91139ea9790c --- autoload.php | 2 + includes/DefaultSettings.php | 2 +- includes/installer/LocalSettingsGenerator.php | 2 +- languages/Language.php | 17 +- languages/Names.php | 458 ----------------- languages/classes/LanguageGan.php | 5 +- languages/classes/LanguageZh.php | 17 +- languages/data/Names.php | 467 ++++++++++++++++++ {includes => languages/data}/ZhConversion.php | 14 +- maintenance/language/zhtable/Makefile | 2 +- maintenance/language/zhtable/Makefile.py | 19 +- 11 files changed, 504 insertions(+), 501 deletions(-) delete mode 100644 languages/Names.php create mode 100644 languages/data/Names.php rename {includes => languages/data}/ZhConversion.php (99%) diff --git a/autoload.php b/autoload.php index 6de1d79759..7491536143 100644 --- a/autoload.php +++ b/autoload.php @@ -772,6 +772,8 @@ $wgAutoloadLocalClasses = array( 'MediaWikiSite' => __DIR__ . '/includes/site/MediaWikiSite.php', 'MediaWikiTitleCodec' => __DIR__ . '/includes/title/MediaWikiTitleCodec.php', 'MediaWikiVersionFetcher' => __DIR__ . '/includes/MediaWikiVersionFetcher.php', + 'MediaWiki\\Languages\\Data\\Names' => __DIR__ . '/languages/data/Names.php', + 'MediaWiki\\Languages\\Data\\ZhConversion' => __DIR__ . '/languages/data/ZhConversion.php', 'MediaWiki\\Logger\\LegacyLogger' => __DIR__ . '/includes/debug/logger/LegacyLogger.php', 'MediaWiki\\Logger\\LegacySpi' => __DIR__ . '/includes/debug/logger/LegacySpi.php', 'MediaWiki\\Logger\\LoggerFactory' => __DIR__ . '/includes/debug/logger/LoggerFactory.php', diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 4d0b50edd8..929e8fca8c 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -2726,7 +2726,7 @@ $wgUsePrivateIPs = false; */ /** - * Site language code. See languages/Names.php for languages supported by + * Site language code. See languages/data/Names.php for languages supported by * MediaWiki out of the box. Not all languages listed there have translations, * see languages/messages/ for the list of languages with some localisation. * diff --git a/includes/installer/LocalSettingsGenerator.php b/includes/installer/LocalSettingsGenerator.php index b74207431a..3b6a37f6a5 100644 --- a/includes/installer/LocalSettingsGenerator.php +++ b/includes/installer/LocalSettingsGenerator.php @@ -391,7 +391,7 @@ ${serverSetting} ## be publically accessible from the web. #\$wgCacheDirectory = \"\$IP/cache\"; -# Site language code, should be one of the list in ./languages/Names.php +# Site language code, should be one of the list in ./languages/data/Names.php \$wgLanguageCode = \"{$this->values['wgLanguageCode']}\"; \$wgSecretKey = \"{$this->values['wgSecretKey']}\"; diff --git a/languages/Language.php b/languages/Language.php index cb2d24f1f0..42c5a57b6e 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -383,20 +383,13 @@ class Language { * @return bool */ public static function isKnownLanguageTag( $tag ) { - static $coreLanguageNames; - // Quick escape for invalid input to avoid exceptions down the line // when code tries to process tags which are not valid at all. if ( !self::isValidBuiltInCode( $tag ) ) { return false; } - if ( $coreLanguageNames === null ) { - global $IP; - include "$IP/languages/Names.php"; - } - - if ( isset( $coreLanguageNames[$tag] ) + if ( isset( MediaWiki\Languages\Data\Names::$names[$tag] ) || self::fetchLanguageName( $tag, $tag ) !== '' ) { return true; @@ -874,12 +867,6 @@ class Language { */ private static function fetchLanguageNamesUncached( $inLanguage = null, $include = 'mw' ) { global $wgExtraLanguageNames; - static $coreLanguageNames; - - if ( $coreLanguageNames === null ) { - global $IP; - include "$IP/languages/Names.php"; - } // If passed an invalid language code to use, fallback to en if ( $inLanguage !== null && !Language::isValidCode( $inLanguage ) ) { @@ -893,7 +880,7 @@ class Language { Hooks::run( 'LanguageGetTranslatedLanguageNames', array( &$names, $inLanguage ) ); } - $mwNames = $wgExtraLanguageNames + $coreLanguageNames; + $mwNames = $wgExtraLanguageNames + MediaWiki\Languages\Data\Names::$names; foreach ( $mwNames as $mwCode => $mwName ) { # - Prefer own MediaWiki native name when not using the hook # - For other names just add if not added through the hook diff --git a/languages/Names.php b/languages/Names.php deleted file mode 100644 index c27755e7a0..0000000000 --- a/languages/Names.php +++ /dev/null @@ -1,458 +0,0 @@ - 'Qafár af', # Afar - 'ab' => 'Аҧсшәа', # Abkhaz - 'ace' => 'Acèh', # Aceh - 'ady' => 'адыгабзэ', # Adyghe - 'ady-cyrl' => 'адыгабзэ', # Adyghe - 'aeb' => 'تونسي/Tûnsî', # Tunisian Arabic (multiple scripts - defaults to Arabic) - 'aeb-arab' => 'تونسي', # Tunisian Arabic (Arabic Script) - 'aeb-latn' => 'Tûnsî', # Tunisian Arabic (Latin Script) - 'af' => 'Afrikaans', # Afrikaans - 'ak' => 'Akan', # Akan - 'aln' => 'Gegë', # Gheg Albanian - 'als' => 'Alemannisch', # Alemannic -- not a valid code, for compatibility. See gsw. - 'am' => 'አማርኛ', # Amharic - 'an' => 'aragonés', # Aragonese - 'ang' => 'Ænglisc', # Old English, bug 23283 - 'anp' => 'अङ्गिका', # Angika - 'ar' => 'العربية', # Arabic - 'arc' => 'ܐܪܡܝܐ', # Aramaic - 'arn' => 'mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano) - 'arq' => 'جازايرية', # Algerian Spoken Arabic - 'ary' => 'Maġribi', # Moroccan Spoken Arabic - 'arz' => 'مصرى', # Egyptian Spoken Arabic - 'as' => 'অসমীয়া', # Assamese - 'ase' => 'American sign language', # American sign language - 'ast' => 'asturianu', # Asturian - 'av' => 'авар', # Avar - 'avk' => 'Kotava', # Kotava - 'awa' => 'अवधी', # Awadhi - 'ay' => 'Aymar aru', # Aymara - 'az' => 'azərbaycanca', # Azerbaijani - 'azb' => 'تۆرکجه', # South Azerbaijani - 'ba' => 'башҡортса', # Bashkir - 'bar' => 'Boarisch', # Bavarian (Austro-Bavarian and South Tyrolean) - 'bat-smg' => 'žemaitėška', # Samogitian (deprecated code, 'sgs' in ISO 693-3 since 2010-06-30 ) - 'bbc' => 'Batak Toba', # Batak Toba (falls back to bbc-latn) - 'bbc-latn' => 'Batak Toba', # Batak Toba - 'bcc' => 'جهلسری بلوچی', # Southern Balochi - 'bcl' => 'Bikol Central', # Bikol: Central Bicolano language - 'be' => 'беларуская', # Belarusian normative - 'be-tarask' => "беларуская (тарашкевіца)\xE2\x80\x8E", # Belarusian in Taraskievica orthography - 'be-x-old' => "беларуская (тарашкевіца)\xE2\x80\x8E", # (be-tarask compat) - 'bg' => 'български', # Bulgarian - 'bgn' => 'روچ کپتین بلوچی', # Western Balochi - 'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho) - 'bho' => 'भोजपुरी', # Bhojpuri - 'bi' => 'Bislama', # Bislama - 'bjn' => 'Bahasa Banjar', # Banjarese - 'bm' => 'bamanankan', # Bambara - 'bn' => 'বাংলা', # Bengali - 'bo' => 'བོད་ཡིག', # Tibetan - 'bpy' => 'বিষ্ণুপ্রিয়া মণিপুরী', # Bishnupriya Manipuri - 'bqi' => 'بختیاری', # Bakthiari - 'br' => 'brezhoneg', # Breton - 'brh' => 'Bráhuí', # Brahui - 'bs' => 'bosanski', # Bosnian - 'bto' => 'Iriga Bicolano', # Rinconada Bikol - 'bug' => 'ᨅᨔ ᨕᨘᨁᨗ', # Buginese - 'bxr' => 'буряад', # Buryat (Russia) - 'ca' => 'català', # Catalan - 'cbk-zam' => 'Chavacano de Zamboanga', # Zamboanga Chavacano - 'cdo' => 'Mìng-dĕ̤ng-ngṳ̄', # Min Dong - 'ce' => 'нохчийн', # Chechen - 'ceb' => 'Cebuano', # Cebuano - 'ch' => 'Chamoru', # Chamorro - 'cho' => 'Choctaw', # Choctaw - 'chr' => 'ᏣᎳᎩ', # Cherokee - 'chy' => 'Tsetsêhestâhese', # Cheyenne - 'ckb' => 'کوردیی ناوەندی', # Central Kurdish - 'co' => 'corsu', # Corsican - 'cps' => 'Capiceño', # Capiznon - 'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree - 'crh' => 'qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin) - 'crh-latn' => "qırımtatarca (Latin)\xE2\x80\x8E", # Crimean Tatar (Latin) - 'crh-cyrl' => "къырымтатарджа (Кирилл)\xE2\x80\x8E", # Crimean Tatar (Cyrillic) - 'cs' => 'čeština', # Czech - 'csb' => 'kaszëbsczi', # Cassubian - 'cu' => 'словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language) - 'cv' => 'Чӑвашла', # Chuvash - 'cy' => 'Cymraeg', # Welsh - 'da' => 'dansk', # Danish - 'de' => 'Deutsch', # German ("Du") - 'de-at' => 'Österreichisches Deutsch', # Austrian German - 'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German - 'de-formal' => "Deutsch (Sie-Form)\xE2\x80\x8E", # German - formal address ("Sie") - 'diq' => 'Zazaki', # Zazaki - 'dsb' => 'dolnoserbski', # Lower Sorbian - 'dtp' => 'Dusun Bundu-liwan', # Central Dusun - 'dty' => 'डोटेली', # Doteli - 'dv' => 'ދިވެހިބަސް', # Dhivehi - 'dz' => 'ཇོང་ཁ', # Dzongkha (Bhutan) - 'ee' => 'eʋegbe', # Éwé - 'egl' => 'Emiliàn', # Emilian - 'el' => 'Ελληνικά', # Greek - 'eml' => 'emiliàn e rumagnòl', # Emiliano-Romagnolo / Sammarinese - 'en' => 'English', # English - 'en-ca' => 'Canadian English', # Canadian English - 'en-gb' => 'British English', # British English - 'eo' => 'Esperanto', # Esperanto - 'es' => 'español', # Spanish - 'et' => 'eesti', # Estonian - 'eu' => 'euskara', # Basque - 'ext' => 'estremeñu', # Extremaduran - 'fa' => 'فارسی', # Persian - 'ff' => 'Fulfulde', # Fulfulde, Maasina - 'fi' => 'suomi', # Finnish - 'fit' => 'meänkieli', # Tornedalen Finnish - 'fiu-vro' => 'Võro', # Võro (deprecated code, 'vro' in ISO 639-3 since 2009-01-16) - 'fj' => 'Na Vosa Vakaviti', # Fijian - 'fo' => 'føroyskt', # Faroese - 'fr' => 'français', # French - 'frc' => 'français cadien', # Cajun French - 'frp' => 'arpetan', # Franco-Provençal/Arpitan - 'frr' => 'Nordfriisk', # North Frisian - 'fur' => 'furlan', # Friulian - 'fy' => 'Frysk', # Frisian - 'ga' => 'Gaeilge', # Irish - 'gag' => 'Gagauz', # Gagauz - 'gan' => '贛語', # Gan (multiple scripts - defaults to Traditional) - 'gan-hans' => "赣语(简体)\xE2\x80\x8E", # Gan (Simplified Han) - 'gan-hant' => "贛語(繁體)\xE2\x80\x8E", # Gan (Traditional Han) - 'gd' => 'Gàidhlig', # Scots Gaelic - 'gl' => 'galego', # Galician - 'glk' => 'گیلکی', # Gilaki - 'gn' => 'Avañe\'ẽ', # Guaraní, Paraguayan - 'gom' => 'गोवा कोंकणी / Gova Konknni', # Goan Konkani - 'gom-deva' => 'गोवा कोंकणी', # Goan Konkani (Devanagari script) - 'gom-latn' => 'Gova Konknni', # Goan Konkani (Latin script) - 'got' => '𐌲𐌿𐍄𐌹𐍃𐌺', # Gothic - 'grc' => 'Ἀρχαία ἑλληνικὴ', # Ancient Greek - 'gsw' => 'Alemannisch', # Alemannic - 'gu' => 'ગુજરાતી', # Gujarati - 'gv' => 'Gaelg', # Manx - 'ha' => 'Hausa', # Hausa - 'hak' => '客家語/Hak-kâ-ngî', # Hakka - 'haw' => 'Hawai`i', # Hawaiian - 'he' => 'עברית', # Hebrew - 'hi' => 'हिन्दी', # Hindi - 'hif' => 'Fiji Hindi', # Fijian Hindi (multiple scripts - defaults to Latin) - 'hif-latn' => 'Fiji Hindi', # Fiji Hindi (latin) - 'hil' => 'Ilonggo', # Hiligaynon - 'ho' => 'Hiri Motu', # Hiri Motu - 'hr' => 'hrvatski', # Croatian - 'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch - 'hsb' => 'hornjoserbsce', # Upper Sorbian - 'ht' => 'Kreyòl ayisyen', # Haitian Creole French - 'hu' => 'magyar', # Hungarian - 'hy' => 'Հայերեն', # Armenian - 'hz' => 'Otsiherero', # Herero - 'ia' => 'interlingua', # Interlingua (IALA) - 'id' => 'Bahasa Indonesia', # Indonesian - 'ie' => 'Interlingue', # Interlingue (Occidental) - 'ig' => 'Igbo', # Igbo - 'ii' => 'ꆇꉙ', # Sichuan Yi - 'ik' => 'Iñupiak', # Inupiak (Inupiatun, Northwest Alaska / Inupiatun, North Alaskan) - 'ike-cans' => 'ᐃᓄᒃᑎᑐᑦ', # Inuktitut, Eastern Canadian (Unified Canadian Aboriginal Syllabics) - 'ike-latn' => 'inuktitut', # Inuktitut, Eastern Canadian (Latin script) - 'ilo' => 'Ilokano', # Ilokano - 'inh' => 'ГӀалгӀай', # Ingush - 'io' => 'Ido', # Ido - 'is' => 'íslenska', # Icelandic - 'it' => 'italiano', # Italian - 'iu' => 'ᐃᓄᒃᑎᑐᑦ/inuktitut', # Inuktitut (macro language, see ike/ikt, falls back to ike-cans) - 'ja' => '日本語', # Japanese - 'jam' => 'Patois', # Jamaican Creole English - 'jbo' => 'la .lojban.', # Lojban - 'jut' => 'jysk', # Jutish / Jutlandic - 'jv' => 'Basa Jawa', # Javanese - 'ka' => 'ქართული', # Georgian - 'kaa' => 'Qaraqalpaqsha', # Karakalpak - 'kab' => 'Taqbaylit', # Kabyle - 'kbd' => 'Адыгэбзэ', # Kabardian - 'kbd-cyrl' => 'Адыгэбзэ', # Kabardian (Cyrillic) - 'kg' => 'Kongo', # Kongo, (FIXME!) should probaly be KiKongo or KiKoongo - 'khw' => 'کھوار', # Khowar - 'ki' => 'Gĩkũyũ', # Gikuyu - 'kiu' => 'Kırmancki', # Kirmanjki - 'kj' => 'Kwanyama', # Kwanyama - 'kk' => 'қазақша', # Kazakh (multiple scripts - defaults to Cyrillic) - 'kk-arab' => "قازاقشا (تٴوتە)\xE2\x80\x8F", # Kazakh Arabic - 'kk-cyrl' => "қазақша (кирил)\xE2\x80\x8E", # Kazakh Cyrillic - 'kk-latn' => "qazaqşa (latın)\xE2\x80\x8E", # Kazakh Latin - 'kk-cn' => "قازاقشا (جۇنگو)\xE2\x80\x8F", # Kazakh (China) - 'kk-kz' => "қазақша (Қазақстан)\xE2\x80\x8E", # Kazakh (Kazakhstan) - 'kk-tr' => "qazaqşa (Türkïya)\xE2\x80\x8E", # Kazakh (Turkey) - 'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal) - 'km' => 'ភាសាខ្មែរ', # Khmer, Central - 'kn' => 'ಕನ್ನಡ', # Kannada - 'ko' => '한국어', # Korean - 'ko-kp' => '한국어 (조선)', # Korean (DPRK) - 'koi' => 'Перем Коми', # Komi-Permyak - 'kr' => 'Kanuri', # Kanuri, Central - 'krc' => 'къарачай-малкъар', # Karachay-Balkar - 'kri' => 'Krio', # Krio - 'krj' => 'Kinaray-a', # Kinaray-a - 'ks' => 'कॉशुर / کٲشُر', # Kashmiri (multiple scripts - defaults to Perso-Arabic) - 'ks-arab' => 'کٲشُر', # Kashmiri (Perso-Arabic script) - 'ks-deva' => 'कॉशुर', # Kashmiri (Devanagari script) - 'ksh' => 'Ripoarisch', # Ripuarian - 'ku' => 'Kurdî', # Kurdish (multiple scripts - defaults to Latin) - 'ku-latn' => "Kurdî (latînî)\xE2\x80\x8E", # Northern Kurdish (Latin script) - 'ku-arab' => "كوردي (عەرەبی)\xE2\x80\x8F", # Northern Kurdish (Arabic script) (falls back to ckb) - 'kv' => 'коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script) - 'kw' => 'kernowek', # Cornish - 'ky' => 'Кыргызча', # Kirghiz - 'la' => 'Latina', # Latin - 'lad' => 'Ladino', # Ladino - 'lb' => 'Lëtzebuergesch', # Luxemburguish - 'lbe' => 'лакку', # Lak - 'lez' => 'лезги', # Lezgi - 'lfn' => 'Lingua Franca Nova', # Lingua Franca Nova - 'lg' => 'Luganda', # Ganda - 'li' => 'Limburgs', # Limburgian - 'lij' => 'Ligure', # Ligurian - 'liv' => 'Līvõ kēļ', # Livonian - 'lmo' => 'lumbaart', # Lombard - 'ln' => 'lingála', # Lingala - 'lo' => 'ລາວ', # Laotian - 'lrc' => 'لۊری شومالی', # Northern Luri - 'loz' => 'Silozi', # Lozi - 'lt' => 'lietuvių', # Lithuanian - 'ltg' => 'latgaļu', # Latgalian - 'lus' => 'Mizo ţawng', # Mizo/Lushai - 'luz' => 'لئری دوٙمینی', # Southern Luri - 'lv' => 'latviešu', # Latvian - 'lzh' => '文言', # Literary Chinese, bug 8217 - 'lzz' => 'Lazuri', # Laz - 'mai' => 'मैथिली', # Maithili - 'map-bms' => 'Basa Banyumasan', # Banyumasan - 'mdf' => 'мокшень', # Moksha - 'mg' => 'Malagasy', # Malagasy - 'mh' => 'Ebon', # Marshallese - 'mhr' => 'олык марий', # Eastern Mari - 'mi' => 'Māori', # Maori - 'min' => 'Baso Minangkabau', # Minangkabau - 'mk' => 'македонски', # Macedonian - 'ml' => 'മലയാളം', # Malayalam - 'mn' => 'монгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk) - 'mo' => 'молдовеняскэ', # Moldovan, deprecated - 'mr' => 'मराठी', # Marathi - 'mrj' => 'кырык мары', # Hill Mari - 'ms' => 'Bahasa Melayu', # Malay - 'mt' => 'Malti', # Maltese - 'mus' => 'Mvskoke', # Muskogee/Creek - 'mwl' => 'Mirandés', # Mirandese - 'my' => 'မြန်မာဘာသာ', # Burmese - 'myv' => 'эрзянь', # Erzya - 'mzn' => 'مازِرونی', # Mazanderani - 'na' => 'Dorerin Naoero', # Nauruan - 'nah' => 'Nāhuatl', # Nahuatl (not in ISO 639-3) - 'nan' => 'Bân-lâm-gú', # Min-nan, bug 8217 - 'nap' => 'Napulitano', # Neapolitan, bug 43793 - 'nb' => "norsk bokmål", # Norwegian (Bokmal) - 'nds' => 'Plattdüütsch', # Low German ''or'' Low Saxon - 'nds-nl' => 'Nedersaksies', # aka Nedersaksisch: Dutch Low Saxon - 'ne' => 'नेपाली', # Nepali - 'new' => 'नेपाल भाषा', # Newar / Nepal Bhasha - 'ng' => 'Oshiwambo', # Ndonga - 'niu' => 'Niuē', # Niuean - 'nl' => 'Nederlands', # Dutch - 'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je")) - 'nn' => "norsk nynorsk", # Norwegian (Nynorsk) - 'no' => "norsk bokmål", # Norwegian (falls back to nb). - 'nov' => 'Novial', # Novial - 'nrm' => 'Nouormand', # Norman - 'nso' => 'Sesotho sa Leboa', # Northern Sotho - 'nv' => 'Diné bizaad', # Navajo - 'ny' => 'Chi-Chewa', # Chichewa - 'oc' => 'occitan', # Occitan - 'olo' => 'Livvinкarjala', # Livvi-Karelian - 'om' => 'Oromoo', # Oromo - 'or' => 'ଓଡ଼ିଆ', # Oriya - 'os' => 'Ирон', # Ossetic, bug 29091 - 'pa' => 'ਪੰਜਾਬੀ', # Eastern Punjabi (Gurmukhi script) (pan) - 'pag' => 'Pangasinan', # Pangasinan - 'pam' => 'Kapampangan', # Pampanga - 'pap' => 'Papiamentu', # Papiamentu - 'pcd' => 'Picard', # Picard - 'pdc' => 'Deitsch', # Pennsylvania German - 'pdt' => 'Plautdietsch', # Plautdietsch/Mennonite Low German - 'pfl' => 'Pälzisch', # Palatinate German - 'pi' => 'पालि', # Pali - 'pih' => 'Norfuk / Pitkern', # Norfuk/Pitcairn/Norfolk - 'pl' => 'polski', # Polish - 'pms' => 'Piemontèis', # Piedmontese - 'pnb' => 'پنجابی', # Western Punjabi - 'pnt' => 'Ποντιακά', # Pontic/Pontic Greek - 'prg' => 'Prūsiskan', # Prussian - 'ps' => 'پښتو', # Pashto, Northern/Paktu/Pakhtu/Pakhtoo/Afghan/Pakhto/Pashtu/Pushto/Yusufzai Pashto - 'pt' => 'português', # Portuguese - 'pt-br' => 'português do Brasil', # Brazilian Portuguese - 'qu' => 'Runa Simi', # Southern Quechua - 'qug' => 'Runa shimi', # Kichwa/Northern Quechua (temporarily used until Kichwa has its own) - 'rgn' => 'Rumagnôl', # Romagnol - 'rif' => 'Tarifit', # Tarifit - 'rm' => 'rumantsch', # Raeto-Romance - 'rmy' => 'Romani', # Vlax Romany - 'rn' => 'Kirundi', # Rundi/Kirundi/Urundi - 'ro' => 'română', # Romanian - 'roa-rup' => 'armãneashti', # Aromanian (deprecated code, 'rup' exists in ISO 693-3) - 'roa-tara' => 'tarandíne', # Tarantino - 'ru' => 'русский', # Russian - 'rue' => 'русиньскый', # Rusyn - 'rup' => 'armãneashti', # Aromanian - 'ruq' => 'Vlăheşte', # Megleno-Romanian (multiple scripts - defaults to Latin) - 'ruq-cyrl' => 'Влахесте', # Megleno-Romanian (Cyrillic script) - # 'ruq-grek' => 'Βλαεστε', # Megleno-Romanian (Greek script) - 'ruq-latn' => 'Vlăheşte', # Megleno-Romanian (Latin script) - 'rw' => 'Kinyarwanda', # Kinyarwanda, should possibly be Kinyarwandi - 'sa' => 'संस्कृतम्', # Sanskrit - 'sah' => 'саха тыла', # Sakha - 'sat' => 'Santali', # Santali - 'sc' => 'sardu', # Sardinian - 'scn' => 'sicilianu', # Sicilian - 'sco' => 'Scots', # Scots - 'sd' => 'سنڌي', # Sindhi - 'sdc' => 'Sassaresu', # Sassarese - 'sdh' => 'کوردی خوارگ', # Southern Kurdish - 'se' => 'sámegiella', # Northern Sami - 'sei' => 'Cmique Itom', # Seri - 'ses' => 'Koyraboro Senni', # Koyraboro Senni - 'sg' => 'Sängö', # Sango/Sangho - 'sgs' => 'žemaitėška', # Samogitian - 'sh' => 'srpskohrvatski / српскохрватски', # Serbocroatian - 'shi' => 'Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (multiple scripts - defaults to Latin) - 'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (Tifinagh script) - 'shi-latn' => 'Tašlḥiyt', # Tachelhit (Latin script) - 'si' => 'සිංහල', # Sinhalese - 'simple' => 'Simple English', # Simple English - 'sk' => 'slovenčina', # Slovak - 'sl' => 'slovenščina', # Slovenian - 'sli' => 'Schläsch', # Lower Selisian - 'sm' => 'Gagana Samoa', # Samoan - 'sma' => 'Åarjelsaemien', # Southern Sami - 'sn' => 'chiShona', # Shona - 'so' => 'Soomaaliga', # Somali - 'sq' => 'shqip', # Albanian - 'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic) - 'sr-ec' => "српски (ћирилица)\xE2\x80\x8E", # Serbian Cyrillic ekavian - 'sr-el' => "srpski (latinica)\xE2\x80\x8E", # Serbian Latin ekavian - 'srn' => 'Sranantongo', # Sranan Tongo - 'ss' => 'SiSwati', # Swati - 'st' => 'Sesotho', # Southern Sotho - 'stq' => 'Seeltersk', # Saterland Frisian - 'su' => 'Basa Sunda', # Sundanese - 'sv' => 'svenska', # Swedish - 'sw' => 'Kiswahili', # Swahili - 'szl' => 'ślůnski', # Silesian - 'ta' => 'தமிழ்', # Tamil - 'tcy' => 'ತುಳು', # Tulu - 'te' => 'తెలుగు', # Telugu - 'tet' => 'tetun', # Tetun - 'tg' => 'тоҷикӣ', # Tajiki (falls back to tg-cyrl) - 'tg-cyrl' => 'тоҷикӣ', # Tajiki (Cyrllic script) (default) - 'tg-latn' => 'tojikī', # Tajiki (Latin script) - 'th' => 'ไทย', # Thai - 'ti' => 'ትግርኛ', # Tigrinya - 'tk' => 'Türkmençe', # Turkmen - 'tl' => 'Tagalog', # Tagalog - 'tly' => 'толышә зывон', # Talysh - 'tn' => 'Setswana', # Setswana - 'to' => 'lea faka-Tonga', # Tonga (Tonga Islands) - 'tokipona' => 'Toki Pona', # Toki Pona - 'tpi' => 'Tok Pisin', # Tok Pisin - 'tr' => 'Türkçe', # Turkish - 'tru' => 'Ṫuroyo', # Turoyo - 'ts' => 'Xitsonga', # Tsonga - 'tt' => 'татарча/tatarça', # Tatar (multiple scripts - defaults to Cyrillic) - 'tt-cyrl' => 'татарча', # Tatar (Cyrillic script) (default) - 'tt-latn' => 'tatarça', # Tatar (Latin script) - 'tum' => 'chiTumbuka', # Tumbuka - 'tw' => 'Twi', # Twi, (FIXME!) - 'ty' => 'reo tahiti', # Tahitian - 'tyv' => 'тыва дыл', # Tyvan - 'tzm' => 'ⵜⴰⵎⴰⵣⵉⵖⵜ', # Tamazight - 'udm' => 'удмурт', # Udmurt - 'ug' => 'ئۇيغۇرچە / Uyghurche', # Uyghur (multiple scripts - defaults to Arabic) - 'ug-arab' => 'ئۇيغۇرچە', # Uyghur (Arabic script) (default) - 'ug-latn' => 'Uyghurche', # Uyghur (Latin script) - 'uk' => 'українська', # Ukrainian - 'ur' => 'اردو', # Urdu - 'uz' => "oʻzbekcha/ўзбекча", # Uzbek (multiple scripts - defaults to Latin) - 'uz-cyrl' => "ўзбекча", # Uzbek Cyrillic - 'uz-latn' => "oʻzbekcha", # Uzbek Latin (default) - 've' => 'Tshivenda', # Venda - 'vec' => 'vèneto', # Venetian - 'vep' => 'vepsän kel’', # Veps - 'vi' => 'Tiếng Việt', # Vietnamese - 'vls' => 'West-Vlams', # West Flemish - 'vmf' => 'Mainfränkisch', # Upper Franconian, Main-Franconian - 'vo' => 'Volapük', # Volapük - 'vot' => 'Vaďďa', # Vod/Votian - 'vro' => 'Võro', # Võro - 'wa' => 'walon', # Walloon - 'war' => 'Winaray', # Waray-Waray - 'wo' => 'Wolof', # Wolof - 'wuu' => '吴语', # Wu Chinese - 'xal' => 'хальмг', # Kalmyk-Oirat - 'xh' => 'isiXhosa', # Xhosan - 'xmf' => 'მარგალური', # Mingrelian - 'yi' => 'ייִדיש', # Yiddish - 'yo' => 'Yorùbá', # Yoruba - 'yue' => '粵語', # Cantonese - 'za' => 'Vahcuengh', # Zhuang - 'zea' => 'Zeêuws', # Zeeuws/Zeaws - 'zh' => '中文', # (Zhōng Wén) - Chinese - 'zh-classical' => '文言', # Classical Chinese/Literary Chinese -- (see bug 8217) - 'zh-cn' => "中文(中国大陆)\xE2\x80\x8E", # Chinese (PRC) - 'zh-hans' => "中文(简体)\xE2\x80\x8E", # Mandarin Chinese (Simplified Chinese script) (cmn-hans) - 'zh-hant' => "中文(繁體)\xE2\x80\x8E", # Mandarin Chinese (Traditional Chinese script) (cmn-hant) - 'zh-hk' => "中文(香港)\xE2\x80\x8E", # Chinese (Hong Kong) - 'zh-min-nan' => 'Bân-lâm-gú', # Min-nan -- (see bug 8217) - 'zh-mo' => "中文(澳門)\xE2\x80\x8E", # Chinese (Macau) - 'zh-my' => "中文(马来西亚)\xE2\x80\x8E", # Chinese (Malaysia) - 'zh-sg' => "中文(新加坡)\xE2\x80\x8E", # Chinese (Singapore) - 'zh-tw' => "中文(台灣)\xE2\x80\x8E", # Chinese (Taiwan) - 'zh-yue' => '粵語', # Cantonese -- (see bug 8217) - 'zu' => 'isiZulu' # Zulu -); diff --git a/languages/classes/LanguageGan.php b/languages/classes/LanguageGan.php index 8c8dfe0d1a..9dc3a866c9 100644 --- a/languages/classes/LanguageGan.php +++ b/languages/classes/LanguageGan.php @@ -54,10 +54,9 @@ class GanConverter extends LanguageConverter { } function loadDefaultTables() { - require __DIR__ . '/../../includes/ZhConversion.php'; $this->mTables = array( - 'gan-hans' => new ReplacementArray( $zh2Hans ), - 'gan-hant' => new ReplacementArray( $zh2Hant ), + 'gan-hans' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2Hans ), + 'gan-hant' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2Hant ), 'gan' => new ReplacementArray ); } diff --git a/languages/classes/LanguageZh.php b/languages/classes/LanguageZh.php index 6e8860f3da..51b09f694c 100644 --- a/languages/classes/LanguageZh.php +++ b/languages/classes/LanguageZh.php @@ -60,16 +60,15 @@ class ZhConverter extends LanguageConverter { } function loadDefaultTables() { - require __DIR__ . "/../../includes/ZhConversion.php"; $this->mTables = array( - 'zh-hans' => new ReplacementArray( $zh2Hans ), - 'zh-hant' => new ReplacementArray( $zh2Hant ), - 'zh-cn' => new ReplacementArray( $zh2CN ), - 'zh-hk' => new ReplacementArray( $zh2HK ), - 'zh-mo' => new ReplacementArray( $zh2HK ), - 'zh-my' => new ReplacementArray( $zh2CN ), - 'zh-sg' => new ReplacementArray( $zh2CN ), - 'zh-tw' => new ReplacementArray( $zh2TW ), + 'zh-hans' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2Hans ), + 'zh-hant' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2Hant ), + 'zh-cn' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2CN ), + 'zh-hk' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2HK ), + 'zh-mo' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2HK ), + 'zh-my' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2CN ), + 'zh-sg' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2CN ), + 'zh-tw' => new ReplacementArray( MediaWiki\Languages\Data\ZhConversion::$zh2TW ), 'zh' => new ReplacementArray ); } diff --git a/languages/data/Names.php b/languages/data/Names.php new file mode 100644 index 0000000000..7711d8f166 --- /dev/null +++ b/languages/data/Names.php @@ -0,0 +1,467 @@ + 'Qafár af', # Afar + 'ab' => 'Аҧсшәа', # Abkhaz + 'ace' => 'Acèh', # Aceh + 'ady' => 'адыгабзэ', # Adyghe + 'ady-cyrl' => 'адыгабзэ', # Adyghe + 'aeb' => 'تونسي/Tûnsî', # Tunisian Arabic (multiple scripts - defaults to Arabic) + 'aeb-arab' => 'تونسي', # Tunisian Arabic (Arabic Script) + 'aeb-latn' => 'Tûnsî', # Tunisian Arabic (Latin Script) + 'af' => 'Afrikaans', # Afrikaans + 'ak' => 'Akan', # Akan + 'aln' => 'Gegë', # Gheg Albanian + 'als' => 'Alemannisch', # Alemannic -- not a valid code, for compatibility. See gsw. + 'am' => 'አማርኛ', # Amharic + 'an' => 'aragonés', # Aragonese + 'ang' => 'Ænglisc', # Old English, bug 23283 + 'anp' => 'अङ्गिका', # Angika + 'ar' => 'العربية', # Arabic + 'arc' => 'ܐܪܡܝܐ', # Aramaic + 'arn' => 'mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano) + 'arq' => 'جازايرية', # Algerian Spoken Arabic + 'ary' => 'Maġribi', # Moroccan Spoken Arabic + 'arz' => 'مصرى', # Egyptian Spoken Arabic + 'as' => 'অসমীয়া', # Assamese + 'ase' => 'American sign language', # American sign language + 'ast' => 'asturianu', # Asturian + 'av' => 'авар', # Avar + 'avk' => 'Kotava', # Kotava + 'awa' => 'अवधी', # Awadhi + 'ay' => 'Aymar aru', # Aymara + 'az' => 'azərbaycanca', # Azerbaijani + 'azb' => 'تۆرکجه', # South Azerbaijani + 'ba' => 'башҡортса', # Bashkir + 'bar' => 'Boarisch', # Bavarian (Austro-Bavarian and South Tyrolean) + 'bat-smg' => 'žemaitėška', # Samogitian (deprecated code, 'sgs' in ISO 693-3 since 2010-06-30 ) + 'bbc' => 'Batak Toba', # Batak Toba (falls back to bbc-latn) + 'bbc-latn' => 'Batak Toba', # Batak Toba + 'bcc' => 'جهلسری بلوچی', # Southern Balochi + 'bcl' => 'Bikol Central', # Bikol: Central Bicolano language + 'be' => 'беларуская', # Belarusian normative + 'be-tarask' => "беларуская (тарашкевіца)\xE2\x80\x8E", # Belarusian in Taraskievica orthography + 'be-x-old' => "беларуская (тарашкевіца)\xE2\x80\x8E", # (be-tarask compat) + 'bg' => 'български', # Bulgarian + 'bgn' => 'روچ کپتین بلوچی', # Western Balochi + 'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho) + 'bho' => 'भोजपुरी', # Bhojpuri + 'bi' => 'Bislama', # Bislama + 'bjn' => 'Bahasa Banjar', # Banjarese + 'bm' => 'bamanankan', # Bambara + 'bn' => 'বাংলা', # Bengali + 'bo' => 'བོད་ཡིག', # Tibetan + 'bpy' => 'বিষ্ণুপ্রিয়া মণিপুরী', # Bishnupriya Manipuri + 'bqi' => 'بختیاری', # Bakthiari + 'br' => 'brezhoneg', # Breton + 'brh' => 'Bráhuí', # Brahui + 'bs' => 'bosanski', # Bosnian + 'bto' => 'Iriga Bicolano', # Rinconada Bikol + 'bug' => 'ᨅᨔ ᨕᨘᨁᨗ', # Buginese + 'bxr' => 'буряад', # Buryat (Russia) + 'ca' => 'català', # Catalan + 'cbk-zam' => 'Chavacano de Zamboanga', # Zamboanga Chavacano + 'cdo' => 'Mìng-dĕ̤ng-ngṳ̄', # Min Dong + 'ce' => 'нохчийн', # Chechen + 'ceb' => 'Cebuano', # Cebuano + 'ch' => 'Chamoru', # Chamorro + 'cho' => 'Choctaw', # Choctaw + 'chr' => 'ᏣᎳᎩ', # Cherokee + 'chy' => 'Tsetsêhestâhese', # Cheyenne + 'ckb' => 'کوردیی ناوەندی', # Central Kurdish + 'co' => 'corsu', # Corsican + 'cps' => 'Capiceño', # Capiznon + 'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree + 'crh' => 'qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin) + 'crh-latn' => "qırımtatarca (Latin)\xE2\x80\x8E", # Crimean Tatar (Latin) + 'crh-cyrl' => "къырымтатарджа (Кирилл)\xE2\x80\x8E", # Crimean Tatar (Cyrillic) + 'cs' => 'čeština', # Czech + 'csb' => 'kaszëbsczi', # Cassubian + 'cu' => 'словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language) + 'cv' => 'Чӑвашла', # Chuvash + 'cy' => 'Cymraeg', # Welsh + 'da' => 'dansk', # Danish + 'de' => 'Deutsch', # German ("Du") + 'de-at' => 'Österreichisches Deutsch', # Austrian German + 'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German + 'de-formal' => "Deutsch (Sie-Form)\xE2\x80\x8E", # German - formal address ("Sie") + 'diq' => 'Zazaki', # Zazaki + 'dsb' => 'dolnoserbski', # Lower Sorbian + 'dtp' => 'Dusun Bundu-liwan', # Central Dusun + 'dty' => 'डोटेली', # Doteli + 'dv' => 'ދިވެހިބަސް', # Dhivehi + 'dz' => 'ཇོང་ཁ', # Dzongkha (Bhutan) + 'ee' => 'eʋegbe', # Éwé + 'egl' => 'Emiliàn', # Emilian + 'el' => 'Ελληνικά', # Greek + 'eml' => 'emiliàn e rumagnòl', # Emiliano-Romagnolo / Sammarinese + 'en' => 'English', # English + 'en-ca' => 'Canadian English', # Canadian English + 'en-gb' => 'British English', # British English + 'eo' => 'Esperanto', # Esperanto + 'es' => 'español', # Spanish + 'et' => 'eesti', # Estonian + 'eu' => 'euskara', # Basque + 'ext' => 'estremeñu', # Extremaduran + 'fa' => 'فارسی', # Persian + 'ff' => 'Fulfulde', # Fulfulde, Maasina + 'fi' => 'suomi', # Finnish + 'fit' => 'meänkieli', # Tornedalen Finnish + 'fiu-vro' => 'Võro', # Võro (deprecated code, 'vro' in ISO 639-3 since 2009-01-16) + 'fj' => 'Na Vosa Vakaviti', # Fijian + 'fo' => 'føroyskt', # Faroese + 'fr' => 'français', # French + 'frc' => 'français cadien', # Cajun French + 'frp' => 'arpetan', # Franco-Provençal/Arpitan + 'frr' => 'Nordfriisk', # North Frisian + 'fur' => 'furlan', # Friulian + 'fy' => 'Frysk', # Frisian + 'ga' => 'Gaeilge', # Irish + 'gag' => 'Gagauz', # Gagauz + 'gan' => '贛語', # Gan (multiple scripts - defaults to Traditional) + 'gan-hans' => "赣语(简体)\xE2\x80\x8E", # Gan (Simplified Han) + 'gan-hant' => "贛語(繁體)\xE2\x80\x8E", # Gan (Traditional Han) + 'gd' => 'Gàidhlig', # Scots Gaelic + 'gl' => 'galego', # Galician + 'glk' => 'گیلکی', # Gilaki + 'gn' => 'Avañe\'ẽ', # Guaraní, Paraguayan + 'gom' => 'गोवा कोंकणी / Gova Konknni', # Goan Konkani + 'gom-deva' => 'गोवा कोंकणी', # Goan Konkani (Devanagari script) + 'gom-latn' => 'Gova Konknni', # Goan Konkani (Latin script) + 'got' => '𐌲𐌿𐍄𐌹𐍃𐌺', # Gothic + 'grc' => 'Ἀρχαία ἑλληνικὴ', # Ancient Greek + 'gsw' => 'Alemannisch', # Alemannic + 'gu' => 'ગુજરાતી', # Gujarati + 'gv' => 'Gaelg', # Manx + 'ha' => 'Hausa', # Hausa + 'hak' => '客家語/Hak-kâ-ngî', # Hakka + 'haw' => 'Hawai`i', # Hawaiian + 'he' => 'עברית', # Hebrew + 'hi' => 'हिन्दी', # Hindi + 'hif' => 'Fiji Hindi', # Fijian Hindi (multiple scripts - defaults to Latin) + 'hif-latn' => 'Fiji Hindi', # Fiji Hindi (latin) + 'hil' => 'Ilonggo', # Hiligaynon + 'ho' => 'Hiri Motu', # Hiri Motu + 'hr' => 'hrvatski', # Croatian + 'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch + 'hsb' => 'hornjoserbsce', # Upper Sorbian + 'ht' => 'Kreyòl ayisyen', # Haitian Creole French + 'hu' => 'magyar', # Hungarian + 'hy' => 'Հայերեն', # Armenian + 'hz' => 'Otsiherero', # Herero + 'ia' => 'interlingua', # Interlingua (IALA) + 'id' => 'Bahasa Indonesia', # Indonesian + 'ie' => 'Interlingue', # Interlingue (Occidental) + 'ig' => 'Igbo', # Igbo + 'ii' => 'ꆇꉙ', # Sichuan Yi + 'ik' => 'Iñupiak', # Inupiak (Inupiatun, Northwest Alaska / Inupiatun, North Alaskan) + 'ike-cans' => 'ᐃᓄᒃᑎᑐᑦ', # Inuktitut, Eastern Canadian (Unified Canadian Aboriginal Syllabics) + 'ike-latn' => 'inuktitut', # Inuktitut, Eastern Canadian (Latin script) + 'ilo' => 'Ilokano', # Ilokano + 'inh' => 'ГӀалгӀай', # Ingush + 'io' => 'Ido', # Ido + 'is' => 'íslenska', # Icelandic + 'it' => 'italiano', # Italian + 'iu' => 'ᐃᓄᒃᑎᑐᑦ/inuktitut', # Inuktitut (macro language, see ike/ikt, falls back to ike-cans) + 'ja' => '日本語', # Japanese + 'jam' => 'Patois', # Jamaican Creole English + 'jbo' => 'la .lojban.', # Lojban + 'jut' => 'jysk', # Jutish / Jutlandic + 'jv' => 'Basa Jawa', # Javanese + 'ka' => 'ქართული', # Georgian + 'kaa' => 'Qaraqalpaqsha', # Karakalpak + 'kab' => 'Taqbaylit', # Kabyle + 'kbd' => 'Адыгэбзэ', # Kabardian + 'kbd-cyrl' => 'Адыгэбзэ', # Kabardian (Cyrillic) + 'kg' => 'Kongo', # Kongo, (FIXME!) should probaly be KiKongo or KiKoongo + 'khw' => 'کھوار', # Khowar + 'ki' => 'Gĩkũyũ', # Gikuyu + 'kiu' => 'Kırmancki', # Kirmanjki + 'kj' => 'Kwanyama', # Kwanyama + 'kk' => 'қазақша', # Kazakh (multiple scripts - defaults to Cyrillic) + 'kk-arab' => "قازاقشا (تٴوتە)\xE2\x80\x8F", # Kazakh Arabic + 'kk-cyrl' => "қазақша (кирил)\xE2\x80\x8E", # Kazakh Cyrillic + 'kk-latn' => "qazaqşa (latın)\xE2\x80\x8E", # Kazakh Latin + 'kk-cn' => "قازاقشا (جۇنگو)\xE2\x80\x8F", # Kazakh (China) + 'kk-kz' => "қазақша (Қазақстан)\xE2\x80\x8E", # Kazakh (Kazakhstan) + 'kk-tr' => "qazaqşa (Türkïya)\xE2\x80\x8E", # Kazakh (Turkey) + 'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal) + 'km' => 'ភាសាខ្មែរ', # Khmer, Central + 'kn' => 'ಕನ್ನಡ', # Kannada + 'ko' => '한국어', # Korean + 'ko-kp' => '한국어 (조선)', # Korean (DPRK) + 'koi' => 'Перем Коми', # Komi-Permyak + 'kr' => 'Kanuri', # Kanuri, Central + 'krc' => 'къарачай-малкъар', # Karachay-Balkar + 'kri' => 'Krio', # Krio + 'krj' => 'Kinaray-a', # Kinaray-a + 'ks' => 'कॉशुर / کٲشُر', # Kashmiri (multiple scripts - defaults to Perso-Arabic) + 'ks-arab' => 'کٲشُر', # Kashmiri (Perso-Arabic script) + 'ks-deva' => 'कॉशुर', # Kashmiri (Devanagari script) + 'ksh' => 'Ripoarisch', # Ripuarian + 'ku' => 'Kurdî', # Kurdish (multiple scripts - defaults to Latin) + 'ku-latn' => "Kurdî (latînî)\xE2\x80\x8E", # Northern Kurdish (Latin script) + 'ku-arab' => "كوردي (عەرەبی)\xE2\x80\x8F", # Northern Kurdish (Arabic script) (falls back to ckb) + 'kv' => 'коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script) + 'kw' => 'kernowek', # Cornish + 'ky' => 'Кыргызча', # Kirghiz + 'la' => 'Latina', # Latin + 'lad' => 'Ladino', # Ladino + 'lb' => 'Lëtzebuergesch', # Luxemburguish + 'lbe' => 'лакку', # Lak + 'lez' => 'лезги', # Lezgi + 'lfn' => 'Lingua Franca Nova', # Lingua Franca Nova + 'lg' => 'Luganda', # Ganda + 'li' => 'Limburgs', # Limburgian + 'lij' => 'Ligure', # Ligurian + 'liv' => 'Līvõ kēļ', # Livonian + 'lmo' => 'lumbaart', # Lombard + 'ln' => 'lingála', # Lingala + 'lo' => 'ລາວ', # Laotian + 'lrc' => 'لۊری شومالی', # Northern Luri + 'loz' => 'Silozi', # Lozi + 'lt' => 'lietuvių', # Lithuanian + 'ltg' => 'latgaļu', # Latgalian + 'lus' => 'Mizo ţawng', # Mizo/Lushai + 'luz' => 'لئری دوٙمینی', # Southern Luri + 'lv' => 'latviešu', # Latvian + 'lzh' => '文言', # Literary Chinese, bug 8217 + 'lzz' => 'Lazuri', # Laz + 'mai' => 'मैथिली', # Maithili + 'map-bms' => 'Basa Banyumasan', # Banyumasan + 'mdf' => 'мокшень', # Moksha + 'mg' => 'Malagasy', # Malagasy + 'mh' => 'Ebon', # Marshallese + 'mhr' => 'олык марий', # Eastern Mari + 'mi' => 'Māori', # Maori + 'min' => 'Baso Minangkabau', # Minangkabau + 'mk' => 'македонски', # Macedonian + 'ml' => 'മലയാളം', # Malayalam + 'mn' => 'монгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk) + 'mo' => 'молдовеняскэ', # Moldovan, deprecated + 'mr' => 'मराठी', # Marathi + 'mrj' => 'кырык мары', # Hill Mari + 'ms' => 'Bahasa Melayu', # Malay + 'mt' => 'Malti', # Maltese + 'mus' => 'Mvskoke', # Muskogee/Creek + 'mwl' => 'Mirandés', # Mirandese + 'my' => 'မြန်မာဘာသာ', # Burmese + 'myv' => 'эрзянь', # Erzya + 'mzn' => 'مازِرونی', # Mazanderani + 'na' => 'Dorerin Naoero', # Nauruan + 'nah' => 'Nāhuatl', # Nahuatl (not in ISO 639-3) + 'nan' => 'Bân-lâm-gú', # Min-nan, bug 8217 + 'nap' => 'Napulitano', # Neapolitan, bug 43793 + 'nb' => "norsk bokmål", # Norwegian (Bokmal) + 'nds' => 'Plattdüütsch', # Low German ''or'' Low Saxon + 'nds-nl' => 'Nedersaksies', # aka Nedersaksisch: Dutch Low Saxon + 'ne' => 'नेपाली', # Nepali + 'new' => 'नेपाल भाषा', # Newar / Nepal Bhasha + 'ng' => 'Oshiwambo', # Ndonga + 'niu' => 'Niuē', # Niuean + 'nl' => 'Nederlands', # Dutch + 'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je")) + 'nn' => "norsk nynorsk", # Norwegian (Nynorsk) + 'no' => "norsk bokmål", # Norwegian (falls back to nb). + 'nov' => 'Novial', # Novial + 'nrm' => 'Nouormand', # Norman + 'nso' => 'Sesotho sa Leboa', # Northern Sotho + 'nv' => 'Diné bizaad', # Navajo + 'ny' => 'Chi-Chewa', # Chichewa + 'oc' => 'occitan', # Occitan + 'olo' => 'Livvinкarjala', # Livvi-Karelian + 'om' => 'Oromoo', # Oromo + 'or' => 'ଓଡ଼ିଆ', # Oriya + 'os' => 'Ирон', # Ossetic, bug 29091 + 'pa' => 'ਪੰਜਾਬੀ', # Eastern Punjabi (Gurmukhi script) (pan) + 'pag' => 'Pangasinan', # Pangasinan + 'pam' => 'Kapampangan', # Pampanga + 'pap' => 'Papiamentu', # Papiamentu + 'pcd' => 'Picard', # Picard + 'pdc' => 'Deitsch', # Pennsylvania German + 'pdt' => 'Plautdietsch', # Plautdietsch/Mennonite Low German + 'pfl' => 'Pälzisch', # Palatinate German + 'pi' => 'पालि', # Pali + 'pih' => 'Norfuk / Pitkern', # Norfuk/Pitcairn/Norfolk + 'pl' => 'polski', # Polish + 'pms' => 'Piemontèis', # Piedmontese + 'pnb' => 'پنجابی', # Western Punjabi + 'pnt' => 'Ποντιακά', # Pontic/Pontic Greek + 'prg' => 'Prūsiskan', # Prussian + 'ps' => 'پښتو', # Pashto + 'pt' => 'português', # Portuguese + 'pt-br' => 'português do Brasil', # Brazilian Portuguese + 'qu' => 'Runa Simi', # Southern Quechua + 'qug' => 'Runa shimi', # Kichwa/Northern Quechua (temporarily used until Kichwa has its own) + 'rgn' => 'Rumagnôl', # Romagnol + 'rif' => 'Tarifit', # Tarifit + 'rm' => 'rumantsch', # Raeto-Romance + 'rmy' => 'Romani', # Vlax Romany + 'rn' => 'Kirundi', # Rundi/Kirundi/Urundi + 'ro' => 'română', # Romanian + 'roa-rup' => 'armãneashti', # Aromanian (deprecated code, 'rup' exists in ISO 693-3) + 'roa-tara' => 'tarandíne', # Tarantino + 'ru' => 'русский', # Russian + 'rue' => 'русиньскый', # Rusyn + 'rup' => 'armãneashti', # Aromanian + 'ruq' => 'Vlăheşte', # Megleno-Romanian (multiple scripts - defaults to Latin) + 'ruq-cyrl' => 'Влахесте', # Megleno-Romanian (Cyrillic script) + # 'ruq-grek' => 'Βλαεστε', # Megleno-Romanian (Greek script) + 'ruq-latn' => 'Vlăheşte', # Megleno-Romanian (Latin script) + 'rw' => 'Kinyarwanda', # Kinyarwanda, should possibly be Kinyarwandi + 'sa' => 'संस्कृतम्', # Sanskrit + 'sah' => 'саха тыла', # Sakha + 'sat' => 'Santali', # Santali + 'sc' => 'sardu', # Sardinian + 'scn' => 'sicilianu', # Sicilian + 'sco' => 'Scots', # Scots + 'sd' => 'سنڌي', # Sindhi + 'sdc' => 'Sassaresu', # Sassarese + 'sdh' => 'کوردی خوارگ', # Southern Kurdish + 'se' => 'sámegiella', # Northern Sami + 'sei' => 'Cmique Itom', # Seri + 'ses' => 'Koyraboro Senni', # Koyraboro Senni + 'sg' => 'Sängö', # Sango/Sangho + 'sgs' => 'žemaitėška', # Samogitian + 'sh' => 'srpskohrvatski / српскохрватски', # Serbocroatian + 'shi' => 'Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (multiple scripts - defaults to Latin) + 'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (Tifinagh script) + 'shi-latn' => 'Tašlḥiyt', # Tachelhit (Latin script) + 'si' => 'සිංහල', # Sinhalese + 'simple' => 'Simple English', # Simple English + 'sk' => 'slovenčina', # Slovak + 'sl' => 'slovenščina', # Slovenian + 'sli' => 'Schläsch', # Lower Selisian + 'sm' => 'Gagana Samoa', # Samoan + 'sma' => 'Åarjelsaemien', # Southern Sami + 'sn' => 'chiShona', # Shona + 'so' => 'Soomaaliga', # Somali + 'sq' => 'shqip', # Albanian + 'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic) + 'sr-ec' => "српски (ћирилица)\xE2\x80\x8E", # Serbian Cyrillic ekavian + 'sr-el' => "srpski (latinica)\xE2\x80\x8E", # Serbian Latin ekavian + 'srn' => 'Sranantongo', # Sranan Tongo + 'ss' => 'SiSwati', # Swati + 'st' => 'Sesotho', # Southern Sotho + 'stq' => 'Seeltersk', # Saterland Frisian + 'su' => 'Basa Sunda', # Sundanese + 'sv' => 'svenska', # Swedish + 'sw' => 'Kiswahili', # Swahili + 'szl' => 'ślůnski', # Silesian + 'ta' => 'தமிழ்', # Tamil + 'tcy' => 'ತುಳು', # Tulu + 'te' => 'తెలుగు', # Telugu + 'tet' => 'tetun', # Tetun + 'tg' => 'тоҷикӣ', # Tajiki (falls back to tg-cyrl) + 'tg-cyrl' => 'тоҷикӣ', # Tajiki (Cyrllic script) (default) + 'tg-latn' => 'tojikī', # Tajiki (Latin script) + 'th' => 'ไทย', # Thai + 'ti' => 'ትግርኛ', # Tigrinya + 'tk' => 'Türkmençe', # Turkmen + 'tl' => 'Tagalog', # Tagalog + 'tly' => 'толышә зывон', # Talysh + 'tn' => 'Setswana', # Setswana + 'to' => 'lea faka-Tonga', # Tonga (Tonga Islands) + 'tokipona' => 'Toki Pona', # Toki Pona + 'tpi' => 'Tok Pisin', # Tok Pisin + 'tr' => 'Türkçe', # Turkish + 'tru' => 'Ṫuroyo', # Turoyo + 'ts' => 'Xitsonga', # Tsonga + 'tt' => 'татарча/tatarça', # Tatar (multiple scripts - defaults to Cyrillic) + 'tt-cyrl' => 'татарча', # Tatar (Cyrillic script) (default) + 'tt-latn' => 'tatarça', # Tatar (Latin script) + 'tum' => 'chiTumbuka', # Tumbuka + 'tw' => 'Twi', # Twi, (FIXME!) + 'ty' => 'reo tahiti', # Tahitian + 'tyv' => 'тыва дыл', # Tyvan + 'tzm' => 'ⵜⴰⵎⴰⵣⵉⵖⵜ', # Tamazight + 'udm' => 'удмурт', # Udmurt + 'ug' => 'ئۇيغۇرچە / Uyghurche', # Uyghur (multiple scripts - defaults to Arabic) + 'ug-arab' => 'ئۇيغۇرچە', # Uyghur (Arabic script) (default) + 'ug-latn' => 'Uyghurche', # Uyghur (Latin script) + 'uk' => 'українська', # Ukrainian + 'ur' => 'اردو', # Urdu + 'uz' => "oʻzbekcha/ўзбекча", # Uzbek (multiple scripts - defaults to Latin) + 'uz-cyrl' => "ўзбекча", # Uzbek Cyrillic + 'uz-latn' => "oʻzbekcha", # Uzbek Latin (default) + 've' => 'Tshivenda', # Venda + 'vec' => 'vèneto', # Venetian + 'vep' => 'vepsän kel’', # Veps + 'vi' => 'Tiếng Việt', # Vietnamese + 'vls' => 'West-Vlams', # West Flemish + 'vmf' => 'Mainfränkisch', # Upper Franconian, Main-Franconian + 'vo' => 'Volapük', # Volapük + 'vot' => 'Vaďďa', # Vod/Votian + 'vro' => 'Võro', # Võro + 'wa' => 'walon', # Walloon + 'war' => 'Winaray', # Waray-Waray + 'wo' => 'Wolof', # Wolof + 'wuu' => '吴语', # Wu Chinese + 'xal' => 'хальмг', # Kalmyk-Oirat + 'xh' => 'isiXhosa', # Xhosan + 'xmf' => 'მარგალური', # Mingrelian + 'yi' => 'ייִדיש', # Yiddish + 'yo' => 'Yorùbá', # Yoruba + 'yue' => '粵語', # Cantonese + 'za' => 'Vahcuengh', # Zhuang + 'zea' => 'Zeêuws', # Zeeuws/Zeaws + 'zh' => '中文', # (Zhōng Wén) - Chinese + 'zh-classical' => '文言', # Classical Chinese/Literary Chinese -- (see bug 8217) + 'zh-cn' => "中文(中国大陆)\xE2\x80\x8E", # Chinese (PRC) + 'zh-hans' => "中文(简体)\xE2\x80\x8E", # Mandarin Chinese (Simplified Chinese script) (cmn-hans) + 'zh-hant' => "中文(繁體)\xE2\x80\x8E", # Mandarin Chinese (Traditional Chinese script) (cmn-hant) + 'zh-hk' => "中文(香港)\xE2\x80\x8E", # Chinese (Hong Kong) + 'zh-min-nan' => 'Bân-lâm-gú', # Min-nan -- (see bug 8217) + 'zh-mo' => "中文(澳門)\xE2\x80\x8E", # Chinese (Macau) + 'zh-my' => "中文(马来西亚)\xE2\x80\x8E", # Chinese (Malaysia) + 'zh-sg' => "中文(新加坡)\xE2\x80\x8E", # Chinese (Singapore) + 'zh-tw' => "中文(台灣)\xE2\x80\x8E", # Chinese (Taiwan) + 'zh-yue' => '粵語', # Cantonese -- (see bug 8217) + 'zu' => 'isiZulu' # Zulu + ); +} diff --git a/includes/ZhConversion.php b/languages/data/ZhConversion.php similarity index 99% rename from includes/ZhConversion.php rename to languages/data/ZhConversion.php index 6c768ff5e8..8652975959 100644 --- a/includes/ZhConversion.php +++ b/languages/data/ZhConversion.php @@ -8,7 +8,10 @@ * @file */ -$zh2Hant = array( +namespace MediaWiki\Languages\Data; + +class ZhConversion { +public static $zh2Hant = array( '㐷' => '傌', '㐹' => '㑶', '㐽' => '偑', @@ -9373,7 +9376,7 @@ $zh2Hant = array( ',个中' => ',箇中', ); -$zh2Hans = array( +public static $zh2Hans = array( '㑯' => '㑔', '㑳' => '㑇', '㑶' => '㐹', @@ -13813,7 +13816,7 @@ $zh2Hans = array( ',陞' => ',升', ); -$zh2TW = array( +public static $zh2TW = array( '0字节' => '0位元組', '0杆' => '0桿', '1字节' => '1位元組', @@ -14594,7 +14597,7 @@ $zh2TW = array( '霉素' => '黴素', ); -$zh2HK = array( +public static $zh2HK = array( '0字节' => '0位元組', '1字节' => '1位元組', '2字节' => '2位元組', @@ -17616,7 +17619,7 @@ $zh2HK = array( '鼓里' => '鼓裏', ); -$zh2CN = array( +public static $zh2CN = array( '16進位制' => '16进位制', '16進位' => '16进制', 'IP位址' => 'IP地址', @@ -20275,3 +20278,4 @@ $zh2CN = array( '蒙特內哥羅' => '黑山', '滑鼠' => '鼠标', ); +} diff --git a/maintenance/language/zhtable/Makefile b/maintenance/language/zhtable/Makefile index 9d3637fc1c..afa71f21c4 100644 --- a/maintenance/language/zhtable/Makefile +++ b/maintenance/language/zhtable/Makefile @@ -1,2 +1,2 @@ -../../../includes/ZhConversion.php: Makefile.py $(wildcard *.manual) +../../../languages/data/ZhConversion.php: Makefile.py $(wildcard *.manual) ./Makefile.py diff --git a/maintenance/language/zhtable/Makefile.py b/maintenance/language/zhtable/Makefile.py index 5924c66270..999f25c134 100755 --- a/maintenance/language/zhtable/Makefile.py +++ b/maintenance/language/zhtable/Makefile.py @@ -414,22 +414,25 @@ def main(): * @file */ -$zh2Hant = array(\n''' +namespace MediaWiki\Languages\Data; + +class ZhConversion { +public static $zh2Hant = array(\n''' php += PHPArray(toHant) \ - + '\n);\n\n$zh2Hans = array(\n' \ + + '\n);\n\npublic static $zh2Hans = array(\n' \ + PHPArray(toHans) \ - + '\n);\n\n$zh2TW = array(\n' \ + + '\n);\n\npublic static $zh2TW = array(\n' \ + PHPArray(toTW) \ - + '\n);\n\n$zh2HK = array(\n' \ + + '\n);\n\npublic static $zh2HK = array(\n' \ + PHPArray(toHK) \ - + '\n);\n\n$zh2CN = array(\n' \ + + '\n);\n\npublic static $zh2CN = array(\n' \ + PHPArray(toCN) \ - + '\n);\n' + + '\n);\n}\n' if pyversion[:1] in ['2']: - f = open(os.path.join('..', '..', '..', 'includes', 'ZhConversion.php'), 'wb', encoding='utf8') + f = open(os.path.join('..', '..', '..', 'languages', 'data', 'ZhConversion.php'), 'wb', encoding='utf8') else: - f = open(os.path.join('..', '..', '..', 'includes', 'ZhConversion.php'), 'w', buffering=4096, encoding='utf8') + f = open(os.path.join('..', '..', '..', 'languages', 'data', 'ZhConversion.php'), 'w', buffering=4096, encoding='utf8') print ('Writing ZhConversion.php ... ') f.write(php) f.close() -- 2.20.1