Add the same no-arg options for language code that
{{#dir}} and {{#bcp47}} have, for consistency:
* `{{#language}}` will return the name of the *target language*
(for articles, the content language; for messages, the user language)
The default value for the "in language" argument should be the autonym.
This was working previously but only via a baroque code flow path for
invalid language codes. Make this a bit clearer and add tests.
Since non-autonym language code translations are added via the
[[Extension:CLDR]] in production, hook LanguageGetTranslatedLanguageNames
in the ParserTestRunner to ensure that we can test this.
Followup-To: Ice1c671c5b3cc077d2bb80ea5dc25c5eabbfeb36
Followup-To: I19c3e91a924e080f37dc95a0d4e61493583b533e
Change-Id: Ibf6e7f194cc056eadb48a5ad8e6d01a761d9351c
76 lines
3.1 KiB
PHP
76 lines
3.1 KiB
PHP
<?php
|
||
/** Abkhazian (аԥсшәа)
|
||
*
|
||
* @file
|
||
* @ingroup Languages
|
||
*/
|
||
|
||
$fallback = 'ru';
|
||
|
||
$namespaceNames = [
|
||
NS_MEDIA => 'Амедиа',
|
||
NS_SPECIAL => 'Цастәи',
|
||
NS_TALK => 'Ахцәажәара',
|
||
NS_USER => 'Алахәыла',
|
||
NS_USER_TALK => 'Алахәыла_ахцәажәара',
|
||
NS_PROJECT_TALK => '$1_ахцәажәара',
|
||
NS_FILE => 'Афаил',
|
||
NS_FILE_TALK => 'Афаил_ахцәажәара',
|
||
NS_MEDIAWIKI => 'Амедиавики',
|
||
NS_MEDIAWIKI_TALK => 'Амедиавики_ахцәажәара',
|
||
NS_TEMPLATE => 'Ашаблон',
|
||
NS_TEMPLATE_TALK => 'Ашаблон_ахцәажәара',
|
||
NS_HELP => 'Ацхыраара',
|
||
NS_HELP_TALK => 'Ацхыраара_ахцәажәара',
|
||
NS_CATEGORY => 'Акатегориа',
|
||
NS_CATEGORY_TALK => 'Акатегориа_ахцәажәара',
|
||
];
|
||
|
||
$namespaceAliases = [
|
||
'Иалахә' => NS_USER,
|
||
|
||
// Backward compat. Fallbacks from 'ru'.
|
||
'Медиа' => NS_MEDIA,
|
||
'Служебная' => NS_SPECIAL,
|
||
'Обсуждение' => NS_TALK,
|
||
'Участник' => NS_USER,
|
||
'Обсуждение_участника' => NS_USER_TALK,
|
||
'Обсуждение_$1' => NS_PROJECT_TALK,
|
||
'Файл' => NS_FILE,
|
||
'Обсуждение_файла' => NS_FILE_TALK,
|
||
'MediaWiki' => NS_MEDIAWIKI,
|
||
'Обсуждение_MediaWiki' => NS_MEDIAWIKI_TALK,
|
||
'Шаблон' => NS_TEMPLATE,
|
||
'Обсуждение_шаблона' => NS_TEMPLATE_TALK,
|
||
'Справка' => NS_HELP,
|
||
'Обсуждение_справки' => NS_HELP_TALK,
|
||
'Категория' => NS_CATEGORY,
|
||
'Обсуждение_категории' => NS_CATEGORY_TALK
|
||
];
|
||
|
||
// Remove Russian aliases
|
||
$namespaceGenderAliases = [];
|
||
|
||
/** @phpcs-require-sorted-array */
|
||
$specialPageAliases = [
|
||
'Categories' => [ 'Акатегориақәа' ],
|
||
'Mycontributions' => [ 'Архиарақәа' ],
|
||
'Mypage' => [ 'Садаҟьа' ],
|
||
'Mytalk' => [ 'Сахцәажәара' ],
|
||
'Newimages' => [ 'АфаилқәаҾыц' ],
|
||
'Newpages' => [ 'АдаҟьақәаҾыц' ],
|
||
'Randompage' => [ 'Машәырлатәи' ],
|
||
'Recentchanges' => [ 'АрҽеираҾыцқәа' ],
|
||
'Search' => [ 'Аԥшаара', 'Аҧшаара' ],
|
||
'Specialpages' => [ 'ЦастәиАдаҟьақәа' ],
|
||
'Upload' => [ 'Аҭагалара' ],
|
||
];
|
||
|
||
/** @phpcs-require-sorted-array */
|
||
$magicWords = [
|
||
'index' => [ '1', '__АИНДЕКС__', '__ИНДЕКС__', '__INDEX__' ],
|
||
'language' => [ '0', '#АБЫЗШӘА', '#ЯЗЫК', '#LANGUAGE' ],
|
||
'special' => [ '0', 'цастәи', 'служебная', 'special' ],
|
||
];
|
||
|
||
$linkTrail = '/^([a-zабвгӷҕдежзӡикқҟлмнопԥҧрстҭуфхҳцҵчҷҽҿшыҩџьә]+)(.*)$/sDu';
|