MediaWiki  1.27.2
Names.php
Go to the documentation of this file.
1 <?php
25 
47 class Names {
48  public static $names = [
49  'aa' => 'Qafár af', # Afar
50  'ab' => 'Аҧсшәа', # Abkhaz
51  'ace' => 'Acèh', # Aceh
52  'ady' => 'адыгабзэ', # Adyghe
53  'ady-cyrl' => 'адыгабзэ', # Adyghe
54  'aeb' => 'تونسي/Tûnsî', # Tunisian Arabic (multiple scripts - defaults to Arabic)
55  'aeb-arab' => 'تونسي', # Tunisian Arabic (Arabic Script)
56  'aeb-latn' => 'Tûnsî', # Tunisian Arabic (Latin Script)
57  'af' => 'Afrikaans', # Afrikaans
58  'ak' => 'Akan', # Akan
59  'aln' => 'Gegë', # Gheg Albanian
60  'als' => 'Alemannisch', # Alemannic -- not a valid code, for compatibility. See gsw.
61  'am' => 'አማርኛ', # Amharic
62  'an' => 'aragonés', # Aragonese
63  'ang' => 'Ænglisc', # Old English, bug 23283
64  'anp' => 'अङ्गिका', # Angika
65  'ar' => 'العربية', # Arabic
66  'arc' => 'ܐܪܡܝܐ', # Aramaic
67  'arn' => 'mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano)
68  'arq' => 'جازايرية', # Algerian Spoken Arabic
69  'ary' => 'Maġribi', # Moroccan Spoken Arabic
70  'arz' => 'مصرى', # Egyptian Spoken Arabic
71  'as' => 'অসমীয়া', # Assamese
72  'ase' => 'American sign language', # American sign language
73  'ast' => 'asturianu', # Asturian
74  'av' => 'авар', # Avar
75  'avk' => 'Kotava', # Kotava
76  'awa' => 'अवधी', # Awadhi
77  'ay' => 'Aymar aru', # Aymara
78  'az' => 'azərbaycanca', # Azerbaijani
79  'azb' => 'تۆرکجه', # South Azerbaijani
80  'ba' => 'башҡортса', # Bashkir
81  'bar' => 'Boarisch', # Bavarian (Austro-Bavarian and South Tyrolean)
82  'bat-smg' => 'žemaitėška', # Samogitian (deprecated code, 'sgs' in ISO 693-3 since 2010-06-30 )
83  'bbc' => 'Batak Toba', # Batak Toba (falls back to bbc-latn)
84  'bbc-latn' => 'Batak Toba', # Batak Toba
85  'bcc' => 'جهلسری بلوچی', # Southern Balochi
86  'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
87  'be' => 'беларуская', # Belarusian normative
88  'be-tarask' => "беларуская (тарашкевіца)\xE2\x80\x8E", # Belarusian in Taraskievica orthography
89  'be-x-old' => "беларуская (тарашкевіца)\xE2\x80\x8E", # (be-tarask compat)
90  'bg' => 'български', # Bulgarian
91  'bgn' => 'روچ کپتین بلوچی', # Western Balochi
92  'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho)
93  'bho' => 'भोजपुरी', # Bhojpuri
94  'bi' => 'Bislama', # Bislama
95  'bjn' => 'Bahasa Banjar', # Banjarese
96  'bm' => 'bamanankan', # Bambara
97  'bn' => 'বাংলা', # Bengali
98  'bo' => 'བོད་ཡིག', # Tibetan
99  'bpy' => 'বিষ্ণুপ্রিয়া মণিপুরী', # Bishnupriya Manipuri
100  'bqi' => 'بختیاری', # Bakthiari
101  'br' => 'brezhoneg', # Breton
102  'brh' => 'Bráhuí', # Brahui
103  'bs' => 'bosanski', # Bosnian
104  'bto' => 'Iriga Bicolano', # Rinconada Bikol
105  'bug' => 'ᨅᨔ ᨕᨘᨁᨗ', # Buginese
106  'bxr' => 'буряад', # Buryat (Russia)
107  'ca' => 'català', # Catalan
108  'cbk-zam' => 'Chavacano de Zamboanga', # Zamboanga Chavacano
109  'cdo' => 'Mìng-dĕ̤ng-ngṳ̄', # Min Dong
110  'ce' => 'нохчийн', # Chechen
111  'ceb' => 'Cebuano', # Cebuano
112  'ch' => 'Chamoru', # Chamorro
113  'cho' => 'Choctaw', # Choctaw
114  'chr' => 'ᏣᎳᎩ', # Cherokee
115  'chy' => 'Tsetsêhestâhese', # Cheyenne
116  'ckb' => 'کوردیی ناوەندی', # Central Kurdish
117  'co' => 'corsu', # Corsican
118  'cps' => 'Capiceño', # Capiznon
119  'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree
120  'crh' => 'qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin)
121  'crh-latn' => "qırımtatarca (Latin)\xE2\x80\x8E", # Crimean Tatar (Latin)
122  'crh-cyrl' => "къырымтатарджа (Кирилл)\xE2\x80\x8E", # Crimean Tatar (Cyrillic)
123  'cs' => 'čeština', # Czech
124  'csb' => 'kaszëbsczi', # Cassubian
125  'cu' => 'словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language)
126  'cv' => 'Чӑвашла', # Chuvash
127  'cy' => 'Cymraeg', # Welsh
128  'da' => 'dansk', # Danish
129  'de' => 'Deutsch', # German ("Du")
130  'de-at' => 'Österreichisches Deutsch', # Austrian German
131  'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German
132  'de-formal' => "Deutsch (Sie-Form)\xE2\x80\x8E", # German - formal address ("Sie")
133  'diq' => 'Zazaki', # Zazaki
134  'dsb' => 'dolnoserbski', # Lower Sorbian
135  'dtp' => 'Dusun Bundu-liwan', # Central Dusun
136  'dty' => 'डोटेली', # Doteli
137  'dv' => 'ދިވެހިބަސް', # Dhivehi
138  'dz' => 'ཇོང་ཁ', # Dzongkha (Bhutan)
139  'ee' => 'eʋegbe', # Éwé
140  'egl' => 'Emiliàn', # Emilian
141  'el' => 'Ελληνικά', # Greek
142  'eml' => 'emiliàn e rumagnòl', # Emiliano-Romagnolo / Sammarinese
143  'en' => 'English', # English
144  'en-ca' => 'Canadian English', # Canadian English
145  'en-gb' => 'British English', # British English
146  'eo' => 'Esperanto', # Esperanto
147  'es' => 'español', # Spanish
148  'et' => 'eesti', # Estonian
149  'eu' => 'euskara', # Basque
150  'ext' => 'estremeñu', # Extremaduran
151  'fa' => 'فارسی', # Persian
152  'ff' => 'Fulfulde', # Fulfulde, Maasina
153  'fi' => 'suomi', # Finnish
154  'fit' => 'meänkieli', # Tornedalen Finnish
155  'fiu-vro' => 'Võro', # Võro (deprecated code, 'vro' in ISO 639-3 since 2009-01-16)
156  'fj' => 'Na Vosa Vakaviti', # Fijian
157  'fo' => 'føroyskt', # Faroese
158  'fr' => 'français', # French
159  'frc' => 'français cadien', # Cajun French
160  'frp' => 'arpetan', # Franco-Provençal/Arpitan
161  'frr' => 'Nordfriisk', # North Frisian
162  'fur' => 'furlan', # Friulian
163  'fy' => 'Frysk', # Frisian
164  'ga' => 'Gaeilge', # Irish
165  'gag' => 'Gagauz', # Gagauz
166  'gan' => '贛語', # Gan (multiple scripts - defaults to Traditional)
167  'gan-hans' => "赣语(简体)\xE2\x80\x8E", # Gan (Simplified Han)
168  'gan-hant' => "贛語(繁體)\xE2\x80\x8E", # Gan (Traditional Han)
169  'gd' => 'Gàidhlig', # Scots Gaelic
170  'gl' => 'galego', # Galician
171  'glk' => 'گیلکی', # Gilaki
172  'gn' => 'Avañe\'ẽ', # Guaraní, Paraguayan
173  'gom' => 'गोंयची कोंकणी / Gõychi Konknni', # Goan Konkani
174  'gom-deva' => 'गोंयची कोंकणी', # Goan Konkani (Devanagari script)
175  'gom-latn' => 'Gõychi Konknni', # Goan Konkani (Latin script)
176  'got' => '𐌲𐌿𐍄𐌹𐍃𐌺', # Gothic
177  'grc' => 'Ἀρχαία ἑλληνικὴ', # Ancient Greek
178  'gsw' => 'Alemannisch', # Alemannic
179  'gu' => 'ગુજરાતી', # Gujarati
180  'gv' => 'Gaelg', # Manx
181  'ha' => 'Hausa', # Hausa
182  'hak' => '客家語/Hak-kâ-ngî', # Hakka
183  'haw' => 'Hawaiʻi', # Hawaiian
184  'he' => 'עברית', # Hebrew
185  'hi' => 'हिन्दी', # Hindi
186  'hif' => 'Fiji Hindi', # Fijian Hindi (multiple scripts - defaults to Latin)
187  'hif-latn' => 'Fiji Hindi', # Fiji Hindi (latin)
188  'hil' => 'Ilonggo', # Hiligaynon
189  'ho' => 'Hiri Motu', # Hiri Motu
190  'hr' => 'hrvatski', # Croatian
191  'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch
192  'hsb' => 'hornjoserbsce', # Upper Sorbian
193  'ht' => 'Kreyòl ayisyen', # Haitian Creole French
194  'hu' => 'magyar', # Hungarian
195  'hy' => 'Հայերեն', # Armenian
196  'hz' => 'Otsiherero', # Herero
197  'ia' => 'interlingua', # Interlingua (IALA)
198  'id' => 'Bahasa Indonesia', # Indonesian
199  'ie' => 'Interlingue', # Interlingue (Occidental)
200  'ig' => 'Igbo', # Igbo
201  'ii' => 'ꆇꉙ', # Sichuan Yi
202  'ik' => 'Iñupiak', # Inupiak (Inupiatun, Northwest Alaska / Inupiatun, North Alaskan)
203  'ike-cans' => 'ᐃᓄᒃᑎᑐᑦ', # Inuktitut, Eastern Canadian (Unified Canadian Aboriginal Syllabics)
204  'ike-latn' => 'inuktitut', # Inuktitut, Eastern Canadian (Latin script)
205  'ilo' => 'Ilokano', # Ilokano
206  'inh' => 'ГӀалгӀай', # Ingush
207  'io' => 'Ido', # Ido
208  'is' => 'íslenska', # Icelandic
209  'it' => 'italiano', # Italian
210  'iu' => 'ᐃᓄᒃᑎᑐᑦ/inuktitut', # Inuktitut (macro language, see ike/ikt, falls back to ike-cans)
211  'ja' => '日本語', # Japanese
212  'jam' => 'Patois', # Jamaican Creole English
213  'jbo' => 'la .lojban.', # Lojban
214  'jut' => 'jysk', # Jutish / Jutlandic
215  'jv' => 'Basa Jawa', # Javanese
216  'ka' => 'ქართული', # Georgian
217  'kaa' => 'Qaraqalpaqsha', # Karakalpak
218  'kab' => 'Taqbaylit', # Kabyle
219  'kbd' => 'Адыгэбзэ', # Kabardian
220  'kbd-cyrl' => 'Адыгэбзэ', # Kabardian (Cyrillic)
221  'kg' => 'Kongo', # Kongo, (FIXME!) should probaly be KiKongo or KiKoongo
222  'khw' => 'کھوار', # Khowar
223  'ki' => 'Gĩkũyũ', # Gikuyu
224  'kiu' => 'Kırmancki', # Kirmanjki
225  'kj' => 'Kwanyama', # Kwanyama
226  'kk' => 'қазақша', # Kazakh (multiple scripts - defaults to Cyrillic)
227  'kk-arab' => "قازاقشا (تٴوتە)\xE2\x80\x8F", # Kazakh Arabic
228  'kk-cyrl' => "қазақша (кирил)\xE2\x80\x8E", # Kazakh Cyrillic
229  'kk-latn' => "qazaqşa (latın)\xE2\x80\x8E", # Kazakh Latin
230  'kk-cn' => "قازاقشا (جۇنگو)\xE2\x80\x8F", # Kazakh (China)
231  'kk-kz' => "қазақша (Қазақстан)\xE2\x80\x8E", # Kazakh (Kazakhstan)
232  'kk-tr' => "qazaqşa (Türkïya)\xE2\x80\x8E", # Kazakh (Turkey)
233  'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
234  'km' => 'ភាសាខ្មែរ', # Khmer, Central
235  'kn' => 'ಕನ್ನಡ', # Kannada
236  'ko' => '한국어', # Korean
237  'ko-kp' => '한국어 (조선)', # Korean (DPRK)
238  'koi' => 'Перем Коми', # Komi-Permyak
239  'kr' => 'Kanuri', # Kanuri, Central
240  'krc' => 'къарачай-малкъар', # Karachay-Balkar
241  'kri' => 'Krio', # Krio
242  'krj' => 'Kinaray-a', # Kinaray-a
243  'ks' => 'कॉशुर / کٲشُر', # Kashmiri (multiple scripts - defaults to Perso-Arabic)
244  'ks-arab' => 'کٲشُر', # Kashmiri (Perso-Arabic script)
245  'ks-deva' => 'कॉशुर', # Kashmiri (Devanagari script)
246  'ksh' => 'Ripoarisch', # Ripuarian
247  'ku' => 'Kurdî', # Kurdish (multiple scripts - defaults to Latin)
248  'ku-latn' => "Kurdî (latînî)\xE2\x80\x8E", # Northern Kurdish (Latin script)
249  'ku-arab' => "كوردي (عەرەبی)\xE2\x80\x8F", # Northern Kurdish (Arabic script) (falls back to ckb)
250  'kv' => 'коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script)
251  'kw' => 'kernowek', # Cornish
252  'ky' => 'Кыргызча', # Kirghiz
253  'la' => 'Latina', # Latin
254  'lad' => 'Ladino', # Ladino
255  'lb' => 'Lëtzebuergesch', # Luxemburguish
256  'lbe' => 'лакку', # Lak
257  'lez' => 'лезги', # Lezgi
258  'lfn' => 'Lingua Franca Nova', # Lingua Franca Nova
259  'lg' => 'Luganda', # Ganda
260  'li' => 'Limburgs', # Limburgian
261  'lij' => 'Ligure', # Ligurian
262  'liv' => 'Līvõ kēļ', # Livonian
263  'lki' => 'لەکی‎', # Laki
264  'lmo' => 'lumbaart', # Lombard
265  'ln' => 'lingála', # Lingala
266  'lo' => 'ລາວ', # Laotian
267  'lrc' => 'لۊری شومالی', # Northern Luri
268  'loz' => 'Silozi', # Lozi
269  'lt' => 'lietuvių', # Lithuanian
270  'ltg' => 'latgaļu', # Latgalian
271  'lus' => 'Mizo ţawng', # Mizo/Lushai
272  'luz' => 'لئری دوٙمینی', # Southern Luri
273  'lv' => 'latviešu', # Latvian
274  'lzh' => '文言', # Literary Chinese, bug 8217
275  'lzz' => 'Lazuri', # Laz
276  'mai' => 'मैथिली', # Maithili
277  'map-bms' => 'Basa Banyumasan', # Banyumasan
278  'mdf' => 'мокшень', # Moksha
279  'mg' => 'Malagasy', # Malagasy
280  'mh' => 'Ebon', # Marshallese
281  'mhr' => 'олык марий', # Eastern Mari
282  'mi' => 'Māori', # Maori
283  'min' => 'Baso Minangkabau', # Minangkabau
284  'mk' => 'македонски', # Macedonian
285  'ml' => 'മലയാളം', # Malayalam
286  'mn' => 'монгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk)
287  'mo' => 'молдовеняскэ', # Moldovan, deprecated
288  'mr' => 'मराठी', # Marathi
289  'mrj' => 'кырык мары', # Hill Mari
290  'ms' => 'Bahasa Melayu', # Malay
291  'mt' => 'Malti', # Maltese
292  'mus' => 'Mvskoke', # Muskogee/Creek
293  'mwl' => 'Mirandés', # Mirandese
294  'my' => 'မြန်မာဘာသာ', # Burmese
295  'myv' => 'эрзянь', # Erzya
296  'mzn' => 'مازِرونی', # Mazanderani
297  'na' => 'Dorerin Naoero', # Nauruan
298  'nah' => 'Nāhuatl', # Nahuatl (not in ISO 639-3)
299  'nan' => 'Bân-lâm-gú', # Min-nan, bug 8217
300  'nap' => 'Napulitano', # Neapolitan, bug 43793
301  'nb' => 'norsk bokmål', # Norwegian (Bokmal)
302  'nds' => 'Plattdüütsch', # Low German ''or'' Low Saxon
303  'nds-nl' => 'Nedersaksies', # aka Nedersaksisch: Dutch Low Saxon
304  'ne' => 'नेपाली', # Nepali
305  'new' => 'नेपाल भाषा', # Newar / Nepal Bhasha
306  'ng' => 'Oshiwambo', # Ndonga
307  'niu' => 'Niuē', # Niuean
308  'nl' => 'Nederlands', # Dutch
309  'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je"))
310  'nn' => 'norsk nynorsk', # Norwegian (Nynorsk)
311  'no' => 'norsk bokmål', # Norwegian (falls back to nb).
312  'nov' => 'Novial', # Novial
313  'nrm' => 'Nouormand', # Norman
314  'nso' => 'Sesotho sa Leboa', # Northern Sotho
315  'nv' => 'Diné bizaad', # Navajo
316  'ny' => 'Chi-Chewa', # Chichewa
317  'oc' => 'occitan', # Occitan
318  'olo' => 'Livvinкarjala', # Livvi-Karelian
319  'om' => 'Oromoo', # Oromo
320  'or' => 'ଓଡ଼ିଆ', # Oriya
321  'os' => 'Ирон', # Ossetic, bug 29091
322  'pa' => 'ਪੰਜਾਬੀ', # Eastern Punjabi (Gurmukhi script) (pan)
323  'pag' => 'Pangasinan', # Pangasinan
324  'pam' => 'Kapampangan', # Pampanga
325  'pap' => 'Papiamentu', # Papiamentu
326  'pcd' => 'Picard', # Picard
327  'pdc' => 'Deitsch', # Pennsylvania German
328  'pdt' => 'Plautdietsch', # Plautdietsch/Mennonite Low German
329  'pfl' => 'Pälzisch', # Palatinate German
330  'pi' => 'पालि', # Pali
331  'pih' => 'Norfuk / Pitkern', # Norfuk/Pitcairn/Norfolk
332  'pl' => 'polski', # Polish
333  'pms' => 'Piemontèis', # Piedmontese
334  'pnb' => 'پنجابی', # Western Punjabi
335  'pnt' => 'Ποντιακά', # Pontic/Pontic Greek
336  'prg' => 'Prūsiskan', # Prussian
337  'ps' => 'پښتو', # Pashto
338  'pt' => 'português', # Portuguese
339  'pt-br' => 'português do Brasil', # Brazilian Portuguese
340  'qu' => 'Runa Simi', # Southern Quechua
341  'qug' => 'Runa shimi', # Kichwa/Northern Quechua (temporarily used until Kichwa has its own)
342  'rgn' => 'Rumagnôl', # Romagnol
343  'rif' => 'Tarifit', # Tarifit
344  'rm' => 'rumantsch', # Raeto-Romance
345  'rmy' => 'Romani', # Vlax Romany
346  'rn' => 'Kirundi', # Rundi/Kirundi/Urundi
347  'ro' => 'română', # Romanian
348  'roa-rup' => 'armãneashti', # Aromanian (deprecated code, 'rup' exists in ISO 693-3)
349  'roa-tara' => 'tarandíne', # Tarantino
350  'ru' => 'русский', # Russian
351  'rue' => 'русиньскый', # Rusyn
352  'rup' => 'armãneashti', # Aromanian
353  'ruq' => 'Vlăheşte', # Megleno-Romanian (multiple scripts - defaults to Latin)
354  'ruq-cyrl' => 'Влахесте', # Megleno-Romanian (Cyrillic script)
355  # 'ruq-grek' => 'Βλαεστε', # Megleno-Romanian (Greek script)
356  'ruq-latn' => 'Vlăheşte', # Megleno-Romanian (Latin script)
357  'rw' => 'Kinyarwanda', # Kinyarwanda, should possibly be Kinyarwandi
358  'sa' => 'संस्कृतम्', # Sanskrit
359  'sah' => 'саха тыла', # Sakha
360  'sat' => 'Santali', # Santali
361  'sc' => 'sardu', # Sardinian
362  'scn' => 'sicilianu', # Sicilian
363  'sco' => 'Scots', # Scots
364  'sd' => 'سنڌي', # Sindhi
365  'sdc' => 'Sassaresu', # Sassarese
366  'sdh' => 'کوردی خوارگ', # Southern Kurdish
367  'se' => 'sámegiella', # Northern Sami
368  'sei' => 'Cmique Itom', # Seri
369  'ses' => 'Koyraboro Senni', # Koyraboro Senni
370  'sg' => 'Sängö', # Sango/Sangho
371  'sgs' => 'žemaitėška', # Samogitian
372  'sh' => 'srpskohrvatski / српскохрватски', # Serbocroatian
373  'shi' => 'Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (multiple scripts - defaults to Latin)
374  'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (Tifinagh script)
375  'shi-latn' => 'Tašlḥiyt', # Tachelhit (Latin script)
376  'si' => 'සිංහල', # Sinhalese
377  'simple' => 'Simple English', # Simple English
378  'sk' => 'slovenčina', # Slovak
379  'sl' => 'slovenščina', # Slovenian
380  'sli' => 'Schläsch', # Lower Selisian
381  'sm' => 'Gagana Samoa', # Samoan
382  'sma' => 'Åarjelsaemien', # Southern Sami
383  'sn' => 'chiShona', # Shona
384  'so' => 'Soomaaliga', # Somali
385  'sq' => 'shqip', # Albanian
386  'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic)
387  'sr-ec' => "српски (ћирилица)\xE2\x80\x8E", # Serbian Cyrillic ekavian
388  'sr-el' => "srpski (latinica)\xE2\x80\x8E", # Serbian Latin ekavian
389  'srn' => 'Sranantongo', # Sranan Tongo
390  'ss' => 'SiSwati', # Swati
391  'st' => 'Sesotho', # Southern Sotho
392  'stq' => 'Seeltersk', # Saterland Frisian
393  'su' => 'Basa Sunda', # Sundanese
394  'sv' => 'svenska', # Swedish
395  'sw' => 'Kiswahili', # Swahili
396  'szl' => 'ślůnski', # Silesian
397  'ta' => 'தமிழ்', # Tamil
398  'tcy' => 'ತುಳು', # Tulu
399  'te' => 'తెలుగు', # Telugu
400  'tet' => 'tetun', # Tetun
401  'tg' => 'тоҷикӣ', # Tajiki (falls back to tg-cyrl)
402  'tg-cyrl' => 'тоҷикӣ', # Tajiki (Cyrllic script) (default)
403  'tg-latn' => 'tojikī', # Tajiki (Latin script)
404  'th' => 'ไทย', # Thai
405  'ti' => 'ትግርኛ', # Tigrinya
406  'tk' => 'Türkmençe', # Turkmen
407  'tl' => 'Tagalog', # Tagalog
408  'tly' => 'толышә зывон', # Talysh
409  'tn' => 'Setswana', # Setswana
410  'to' => 'lea faka-Tonga', # Tonga (Tonga Islands)
411  'tokipona' => 'Toki Pona', # Toki Pona
412  'tpi' => 'Tok Pisin', # Tok Pisin
413  'tr' => 'Türkçe', # Turkish
414  'tru' => 'Ṫuroyo', # Turoyo
415  'ts' => 'Xitsonga', # Tsonga
416  'tt' => 'татарча/tatarça', # Tatar (multiple scripts - defaults to Cyrillic)
417  'tt-cyrl' => 'татарча', # Tatar (Cyrillic script) (default)
418  'tt-latn' => 'tatarça', # Tatar (Latin script)
419  'tum' => 'chiTumbuka', # Tumbuka
420  'tw' => 'Twi', # Twi, (FIXME!)
421  'ty' => 'reo tahiti', # Tahitian
422  'tyv' => 'тыва дыл', # Tyvan
423  'tzm' => 'ⵜⴰⵎⴰⵣⵉⵖⵜ', # Tamazight
424  'udm' => 'удмурт', # Udmurt
425  'ug' => 'ئۇيغۇرچە / Uyghurche', # Uyghur (multiple scripts - defaults to Arabic)
426  'ug-arab' => 'ئۇيغۇرچە', # Uyghur (Arabic script) (default)
427  'ug-latn' => 'Uyghurche', # Uyghur (Latin script)
428  'uk' => 'українська', # Ukrainian
429  'ur' => 'اردو', # Urdu
430  'uz' => 'oʻzbekcha/ўзбекча', # Uzbek (multiple scripts - defaults to Latin)
431  'uz-cyrl' => 'ўзбекча', # Uzbek Cyrillic
432  'uz-latn' => 'oʻzbekcha', # Uzbek Latin (default)
433  've' => 'Tshivenda', # Venda
434  'vec' => 'vèneto', # Venetian
435  'vep' => 'vepsän kel’', # Veps
436  'vi' => 'Tiếng Việt', # Vietnamese
437  'vls' => 'West-Vlams', # West Flemish
438  'vmf' => 'Mainfränkisch', # Upper Franconian, Main-Franconian
439  'vo' => 'Volapük', # Volapük
440  'vot' => 'Vaďďa', # Vod/Votian
441  'vro' => 'Võro', # Võro
442  'wa' => 'walon', # Walloon
443  'war' => 'Winaray', # Waray-Waray
444  'wo' => 'Wolof', # Wolof
445  'wuu' => '吴语', # Wu Chinese
446  'xal' => 'хальмг', # Kalmyk-Oirat
447  'xh' => 'isiXhosa', # Xhosan
448  'xmf' => 'მარგალური', # Mingrelian
449  'yi' => 'ייִדיש', # Yiddish
450  'yo' => 'Yorùbá', # Yoruba
451  'yue' => '粵語', # Cantonese
452  'za' => 'Vahcuengh', # Zhuang
453  'zea' => 'Zeêuws', # Zeeuws/Zeaws
454  'zh' => '中文', # (Zhōng Wén) - Chinese
455  'zh-classical' => '文言', # Classical Chinese/Literary Chinese -- (see bug 8217)
456  'zh-cn' => "中文(中国大陆)\xE2\x80\x8E", # Chinese (PRC)
457  'zh-hans' => "中文(简体)\xE2\x80\x8E", # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
458  'zh-hant' => "中文(繁體)\xE2\x80\x8E", # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
459  'zh-hk' => "中文(香港)\xE2\x80\x8E", # Chinese (Hong Kong)
460  'zh-min-nan' => 'Bân-lâm-gú', # Min-nan -- (see bug 8217)
461  'zh-mo' => "中文(澳門)\xE2\x80\x8E", # Chinese (Macau)
462  'zh-my' => "中文(马来西亚)\xE2\x80\x8E", # Chinese (Malaysia)
463  'zh-sg' => "中文(新加坡)\xE2\x80\x8E", # Chinese (Singapore)
464  'zh-tw' => "中文(台灣)\xE2\x80\x8E", # Chinese (Taiwan)
465  'zh-yue' => '粵語', # Cantonese -- (see bug 8217)
466  'zu' => 'isiZulu' # Zulu
467  ];
468 }
you don t have to do a grep find to see where the $wgReverseTitle variable is used
Definition: hooks.txt:117
We use the convention $dbr for read and $dbw for write to help you keep track of whether the database object is a the world will explode Or to be a subsequent write query which succeeded on the master may fail when replicated to the slave due to a unique key collision Replication on the slave will stop and it may take hours to repair the database and get it back online Setting read_only in my cnf on the slave will avoid this but given the dire we prefer to have as many checks as possible We provide a but the wrapper functions like please read the documentation for except in special pages derived from QueryPage It s a common pitfall for new developers to submit code containing SQL queries which examine huge numbers of rows Remember that COUNT * is(N), counting rows in atable is like counting beans in a bucket.------------------------------------------------------------------------Replication------------------------------------------------------------------------The largest installation of MediaWiki, Wikimedia, uses a large set ofslave MySQL servers replicating writes made to a master MySQL server.Itis important to understand the issues associated with this setup if youwant to write code destined for Wikipedia.It's often the case that the best algorithm to use for a given taskdepends on whether or not replication is in use.Due to our unabashedWikipedia-centrism, we often just use the replication-friendly version, but if you like, you can use wfGetLB() ->getServerCount() > 1 tocheck to see if replication is in use.===Lag===Lag primarily occurs when large write queries are sent to the master.Writes on the master are executed in parallel, but they are executed inserial when they are replicated to the slaves.The master writes thequery to the binlog when the transaction is committed.The slaves pollthe binlog and start executing the query as soon as it appears.They canservice reads while they are performing a write query, but will not readanything more from the binlog and thus will perform no more writes.Thismeans that if the write query runs for a long time, the slaves will lagbehind the master for the time it takes for the write query to complete.Lag can be exacerbated by high read load.MediaWiki's load balancer willstop sending reads to a slave when it is lagged by more than 30 seconds.If the load ratios are set incorrectly, or if there is too much loadgenerally, this may lead to a slave permanently hovering around 30seconds lag.If all slaves are lagged by more than 30 seconds, MediaWiki will stopwriting to the database.All edits and other write operations will berefused, with an error returned to the user.This gives the slaves achance to catch up.Before we had this mechanism, the slaves wouldregularly lag by several minutes, making review of recent editsdifficult.In addition to this, MediaWiki attempts to ensure that the user seesevents occurring on the wiki in chronological order.A few seconds of lagcan be tolerated, as long as the user sees a consistent picture fromsubsequent requests.This is done by saving the master binlog positionin the session, and then at the start of each request, waiting for theslave to catch up to that position before doing any reads from it.Ifthis wait times out, reads are allowed anyway, but the request isconsidered to be in"lagged slave mode".Lagged slave mode can bechecked by calling wfGetLB() ->getLaggedSlaveMode().The onlypractical consequence at present is a warning displayed in the pagefooter.===Lag avoidance===To avoid excessive lag, queries which write large numbers of rows shouldbe split up, generally to write one row at a time.Multi-row INSERT...SELECT queries are the worst offenders should be avoided altogether.Instead do the select first and then the insert.===Working with lag===Despite our best efforts, it's not practical to guarantee a low-lagenvironment.Lag will usually be less than one second, but mayoccasionally be up to 30 seconds.For scalability, it's very importantto keep load on the master low, so simply sending all your queries tothe master is not the answer.So when you have a genuine need forup-to-date data, the following approach is advised:1) Do a quick query to the master for a sequence number or timestamp 2) Run the full query on the slave and check if it matches the data you gotfrom the master 3) If it doesn't, run the full query on the masterTo avoid swamping the master every time the slaves lag, use of thisapproach should be kept to a minimum.In most cases you should just readfrom the slave and let the user deal with the delay.------------------------------------------------------------------------Lock contention------------------------------------------------------------------------Due to the high write rate on Wikipedia(and some other wikis), MediaWiki developers need to be very careful to structure their writesto avoid long-lasting locks.By default, MediaWiki opens a transactionat the first query, and commits it before the output is sent.Locks willbe held from the time when the query is done until the commit.So youcan reduce lock time by doing as much processing as possible before youdo your write queries.Often this approach is not good enough, and it becomes necessary toenclose small groups of queries in their own transaction.Use thefollowing syntax:$dbw=wfGetDB(DB_MASTER
Language names in their own languages (language autonyms).
Definition: Names.php:47
null for the local wiki Added in
Definition: hooks.txt:1418
The package scripts
Definition: README.txt:1
and(b) You must cause any modified files to carry prominent notices stating that You changed the files
Some information about database access in MediaWiki By Tim January Database layout For information about the MediaWiki database such as a description of the tables and their please see
Definition: database.txt:2
injection txt This is an overview of how MediaWiki makes use of dependency injection The design described here grew from the discussion of RFC T384 The term dependency this means that anything an object needs to operate should be injected from the the object itself should only know narrow no concrete implementation of the logic it relies on The requirement to inject everything typically results in an architecture that based on two main types of and essentially stateless service objects that use other service objects to operate on the value objects As of the beginning MediaWiki is only starting to use the DI approach Much of the code still relies on global state or direct resulting in a highly cyclical dependency which acts as the top level factory for services in MediaWiki which can be used to gain access to default instances of various services MediaWikiServices however also allows new services to be defined and default services to be redefined Services are defined or redefined by providing a callback the instantiator that will return a new instance of the service When it will create an instance of MediaWikiServices and populate it with the services defined in the files listed by thereby bootstrapping the DI framework Per $wgServiceWiringFiles lists includes ServiceWiring php
Definition: injection.txt:35
and how to run hooks for an and one after Each event has a preferably in CamelCase For ArticleDelete hook A clump of code and data that should be run when an event happens This can be either a function and a chunk of or an object and a method hook function The function part of a third party developers and local administrators to define code that will be run at certain points in the mainline code
Definition: hooks.txt:23