Siebrand has uploaded a new change for review. https://gerrit.wikimedia.org/r/122264
Change subject: Migrate to JSON i18n ...................................................................... Migrate to JSON i18n Procedure per https://www.mediawiki.org/wiki/Manual:GenerateJsonI18n.php with shim. Change-Id: Ie496bd8b0ac5d4ea495de0eb1c120f9641e2dcfe --- M CharRangeSpan.i18n.php M CharRangeSpan.php A i18n/ast.json A i18n/bcl.json A i18n/br.json A i18n/de.json A i18n/dsb.json A i18n/en.json A i18n/es.json A i18n/fa.json A i18n/fr.json A i18n/gl.json A i18n/he.json A i18n/hsb.json A i18n/ia.json A i18n/it.json A i18n/ja.json A i18n/ko.json A i18n/ksh.json A i18n/mk.json A i18n/ms.json A i18n/nl.json A i18n/oc.json A i18n/pt.json A i18n/qqq.json A i18n/roa-tara.json A i18n/ru.json A i18n/sco.json A i18n/tl.json A i18n/uk.json A i18n/vi.json A i18n/zh-hans.json A i18n/zh-hant.json 33 files changed, 277 insertions(+), 218 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CharRangeSpan refs/changes/64/122264/1 diff --git a/CharRangeSpan.i18n.php b/CharRangeSpan.i18n.php index ee87ded..eeb2776 100644 --- a/CharRangeSpan.i18n.php +++ b/CharRangeSpan.i18n.php @@ -1,220 +1,31 @@ <?php -/* See COPYING file for copyright and license details. */ - +/** + * This is a backwards-compatibility shim, generated by: + * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php + * + * Beginning with MediaWiki 1.23, translation strings are stored in json files, + * and the EXTENSION.i18n.php file only exists to provide compatibility with + * older releases of MediaWiki. For more information about this migration, see: + * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format + * + * This shim maintains compatibility back to MediaWiki 1.17. + */ $messages = array(); +$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) { + $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] ); + foreach ( $codeSequence as $csCode ) { + $fileName = __DIR__ . "/i18n/$csCode.json"; + if ( is_readable( $fileName ) ) { + $data = FormatJson::decode( file_get_contents( $fileName ), true ); + foreach ( array_keys( $data ) as $key ) { + if ( $key === '' || $key[0] === '@' ) { + unset( $data[$key] ); + } + } + $cachedData['messages'] = array_merge( $data, $cachedData['messages'] ); + } -$messages['en'] = array( - 'charrangespan-desc' => 'Wraps any characters in defined ranges within defined <code><span></code> tags', -); - -/** Message documentation (Message documentation) - * @author Shirayuki - */ -$messages['qqq'] = array( - 'charrangespan-desc' => '{{desc|name=Char Range Span|url=http://www.mediawiki.org/wiki/Extension:CharRangeSpan}} -Do not translate "<code>span</code>". It is an HTML tag.', -); - -/** Asturian (asturianu) - * @author Xuacu - */ -$messages['ast'] = array( - 'charrangespan-desc' => 'Rodea tolos carácteres de les árees definíes coles etiquetes <code><span></code> definíes', -); - -/** Bikol Central (Bikol Central) - * @author Geopoet - */ -$messages['bcl'] = array( - 'charrangespan-desc' => 'Minapatos sa arinman na mga karakter sa pinagkahulugan na mga lakwas sa laog kan pinagkahulugan na mga <code><span></code> tatak', -); - -/** Breton (brezhoneg) - * @author Y-M D - */ -$messages['br'] = array( - 'charrangespan-desc' => 'Sterniañ a ra an holl arouezennoù e lijorennoù termenet gant balizennoù <code><span></code>', -); - -/** German (Deutsch) - * @author Metalhead64 - */ -$messages['de'] = array( - 'charrangespan-desc' => 'Ermöglicht den Umbruch beliebiger Zeichen in definierten Bereichen innerhalb definierter <code><span></code>-Tags', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'charrangespan-desc' => 'Łama znamuška w definěrowanych wobłukach w definěrowanych elemaentach <code><span></code>', -); - -/** Spanish (español) - * @author VegaDark - */ -$messages['es'] = array( - 'charrangespan-desc' => 'Encierra los caracteres en los rangos definidos dentro de las etiquetas <code><span></code>', -); - -/** Persian (فارسی) - * @author Reza1615 - */ -$messages['fa'] = array( - 'charrangespan-desc' => 'هر کارکتر را در بازهٔ تعریف شده در <code><span></code> لفافه میکند', -); - -/** French (français) - * @author Peter17 - */ -$messages['fr'] = array( - 'charrangespan-desc' => 'Encadre tous les caractères dans des plages définies avec des balises <code><span></code>', -); - -/** Galician (galego) - * @author Toliño - */ -$messages['gl'] = array( - 'charrangespan-desc' => 'Axusta calquera carácter aos rangos definidos, dentro das etiquetas <code><span></code> definidas', -); - -/** Hebrew (עברית) - * @author Yona b - */ -$messages['he'] = array( - 'charrangespan-desc' => 'עוטף את התווים בתחום המוגדר בין תגי <code><span></code>', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'charrangespan-desc' => 'Łama znamješka w definowanych wobłukach znutřka definowanych značkow <code><span></code>', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'charrangespan-desc' => 'Inveloppa omne characteres in rangos definite intra etiquettas <code><span></code> definite', -); - -/** Italian (italiano) - * @author Beta16 - * @author Gianfranco - */ -$messages['it'] = array( - 'charrangespan-desc' => 'Racchiude i caratteri in intervalli definiti fra i tag <code><span></code>', -); - -/** Japanese (日本語) - * @author Shirayuki - */ -$messages['ja'] = array( - 'charrangespan-desc' => '指定した文字コード範囲の文字を、指定した <code><span></code> タグで囲む', -); - -/** Korean (한국어) - * @author 아라 - */ -$messages['ko'] = array( - 'charrangespan-desc' => '지정한 문자 코드 범위에 있는 문자를 정의한 <code><span></code> 태그로 묶습니다', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'charrangespan-desc' => 'Deiht Zeische us enem beschtemmte Berätt med vörjejovve <code><span></code> Kommandos ömjäve.', -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'charrangespan-desc' => 'Става било кои знаци во зададени опсези на зададени ознаки за опфат <code><span></code>', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - */ -$messages['ms'] = array( - 'charrangespan-desc' => 'Membalut sebarang aksara dalam julat yang tertentu dalam lingkungan teg <code><span></code> yang tertentu', -); - -/** Dutch (Nederlands) - * @author Siebrand - */ -$messages['nl'] = array( - 'charrangespan-desc' => 'Tekens uit opgegeven reeksen lopen automatisch terug met het label <code><span></code>', -); - -/** Occitan (occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'charrangespan-desc' => 'Enquadra totes los caractèrs dins de plajas definidas amb de balisas <code><span></code>', -); - -/** Portuguese (português) - * @author Hamilton Abreu - */ -$messages['pt'] = array( - 'charrangespan-desc' => "Coloca entre ''tags'' <code><span></code> definidas quaisquer caracteres que estejam dentro de intervalos definidos", -); - -/** tarandíne (tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'charrangespan-desc' => "Tagghie ogne carattere jndr'à l'indervalle definite cu le tag de <code><span></code> definite", -); - -/** Russian (русский) - * @author Okras - */ -$messages['ru'] = array( - 'charrangespan-desc' => 'Оборачивает любые символы в определённых диапазонах определёнными тегами <code><span></code>', -); - -/** Scots (Scots) - * @author John Reid - */ -$messages['sco'] = array( - 'charrangespan-desc' => 'Wraps oni chairacters in defined ranges wiin defined <code><span></code> tags', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'charrangespan-desc' => 'Nagbabalot ng anumang mga panitik sa loob ng inilarawang mga kasaklawan na nasa loob ng inilarawang mga tatak na <code><span></code>', -); - -/** Ukrainian (українська) - * @author Ата - */ -$messages['uk'] = array( - 'charrangespan-desc' => 'Бере будь-які символи з визначених діапазонів у визначені <code><span></code> теґи', -); - -/** Vietnamese (Tiếng Việt) - * @author Tuankiet65 - */ -$messages['vi'] = array( - 'charrangespan-desc' => 'Bao bọc mọi chữ cái trong phạm vi định trước với thẻ <code><span></code> định trước.', -); - -/** Simplified Chinese (中文(简体)) - * @author Yfdyh000 - */ -$messages['zh-hans'] = array( - 'charrangespan-desc' => '以定义的<code><span></code>标签包裹指定范围内的任意字符', -); - -/** Traditional Chinese (中文(繁體)) - * @author Justincheng12345 - */ -$messages['zh-hant'] = array( - 'charrangespan-desc' => '以定義的<code><span></code>標籤包裹指定範圍内的任意字符', -); + $cachedData['deps'][] = new FileDependency( $fileName ); + } + return true; +}; diff --git a/CharRangeSpan.php b/CharRangeSpan.php index 021190e..0dbeec5 100644 --- a/CharRangeSpan.php +++ b/CharRangeSpan.php @@ -8,7 +8,7 @@ $wgExtensionCredits['parserhook'][] = array( 'path' => __FILE__, 'name' => 'Character range span', - 'version' => '0.9', + 'version' => '0.10.0', 'author' => 'Nick White', 'url' => 'https://www.mediawiki.org/wiki/Extension:CharRangeSpan', 'descriptionmsg' => 'charrangespan-desc', @@ -29,6 +29,7 @@ ); $wgAutoloadClasses['CharRangeSpan'] = dirname( __FILE__ ) . '/CharRangeSpan.body.php'; +$wgMessagesDirs['CharRangeSpan'] = __DIR__ . '/i18n'; $wgExtensionMessagesFiles['CharRangeSpan'] = dirname( __FILE__ ) . '/CharRangeSpan.i18n.php'; $wgParserTestFiles[] = dirname( __FILE__ ) . '/tests/parserTests.txt'; diff --git a/i18n/ast.json b/i18n/ast.json new file mode 100644 index 0000000..b2c21d7 --- /dev/null +++ b/i18n/ast.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Xuacu" + ] + }, + "charrangespan-desc": "Rodea tolos carácteres de les árees definíes coles etiquetes <code><span></code> definíes" +} \ No newline at end of file diff --git a/i18n/bcl.json b/i18n/bcl.json new file mode 100644 index 0000000..63a801e --- /dev/null +++ b/i18n/bcl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Geopoet" + ] + }, + "charrangespan-desc": "Minapatos sa arinman na mga karakter sa pinagkahulugan na mga lakwas sa laog kan pinagkahulugan na mga <code><span></code> tatak" +} \ No newline at end of file diff --git a/i18n/br.json b/i18n/br.json new file mode 100644 index 0000000..c68b2e2 --- /dev/null +++ b/i18n/br.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Y-M D" + ] + }, + "charrangespan-desc": "Sterniañ a ra an holl arouezennoù e lijorennoù termenet gant balizennoù <code><span></code>" +} \ No newline at end of file diff --git a/i18n/de.json b/i18n/de.json new file mode 100644 index 0000000..cd0ca8e --- /dev/null +++ b/i18n/de.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Metalhead64" + ] + }, + "charrangespan-desc": "Ermöglicht den Umbruch beliebiger Zeichen in definierten Bereichen innerhalb definierter <code><span></code>-Tags" +} \ No newline at end of file diff --git a/i18n/dsb.json b/i18n/dsb.json new file mode 100644 index 0000000..03b14ca --- /dev/null +++ b/i18n/dsb.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Michawiki" + ] + }, + "charrangespan-desc": "Łama znamuška w definěrowanych wobłukach w definěrowanych elemaentach <code><span></code>" +} \ No newline at end of file diff --git a/i18n/en.json b/i18n/en.json new file mode 100644 index 0000000..eb92dcc --- /dev/null +++ b/i18n/en.json @@ -0,0 +1,6 @@ +{ + "@metadata": { + "authors": [] + }, + "charrangespan-desc": "Wraps any characters in defined ranges within defined <code><span></code> tags" +} \ No newline at end of file diff --git a/i18n/es.json b/i18n/es.json new file mode 100644 index 0000000..5905141 --- /dev/null +++ b/i18n/es.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "VegaDark" + ] + }, + "charrangespan-desc": "Encierra los caracteres en los rangos definidos dentro de las etiquetas <code><span></code>" +} \ No newline at end of file diff --git a/i18n/fa.json b/i18n/fa.json new file mode 100644 index 0000000..24007ca --- /dev/null +++ b/i18n/fa.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Reza1615" + ] + }, + "charrangespan-desc": "هر کارکتر را در بازهٔ تعریف شده در <code><span></code> لفافه میکند" +} \ No newline at end of file diff --git a/i18n/fr.json b/i18n/fr.json new file mode 100644 index 0000000..3aecd92 --- /dev/null +++ b/i18n/fr.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Peter17" + ] + }, + "charrangespan-desc": "Encadre tous les caractères dans des plages définies avec des balises <code><span></code>" +} \ No newline at end of file diff --git a/i18n/gl.json b/i18n/gl.json new file mode 100644 index 0000000..6268c0d --- /dev/null +++ b/i18n/gl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Toliño" + ] + }, + "charrangespan-desc": "Axusta calquera carácter aos rangos definidos, dentro das etiquetas <code><span></code> definidas" +} \ No newline at end of file diff --git a/i18n/he.json b/i18n/he.json new file mode 100644 index 0000000..d46cccb --- /dev/null +++ b/i18n/he.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Yona b" + ] + }, + "charrangespan-desc": "עוטף את התווים בתחום המוגדר בין תגי <code><span></code>" +} \ No newline at end of file diff --git a/i18n/hsb.json b/i18n/hsb.json new file mode 100644 index 0000000..0425709 --- /dev/null +++ b/i18n/hsb.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Michawiki" + ] + }, + "charrangespan-desc": "Łama znamješka w definowanych wobłukach znutřka definowanych značkow <code><span></code>" +} \ No newline at end of file diff --git a/i18n/ia.json b/i18n/ia.json new file mode 100644 index 0000000..7892a68 --- /dev/null +++ b/i18n/ia.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "McDutchie" + ] + }, + "charrangespan-desc": "Inveloppa omne characteres in rangos definite intra etiquettas <code><span></code> definite" +} \ No newline at end of file diff --git a/i18n/it.json b/i18n/it.json new file mode 100644 index 0000000..02ebc0e --- /dev/null +++ b/i18n/it.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Beta16", + "Gianfranco" + ] + }, + "charrangespan-desc": "Racchiude i caratteri in intervalli definiti fra i tag <code><span></code>" +} \ No newline at end of file diff --git a/i18n/ja.json b/i18n/ja.json new file mode 100644 index 0000000..e04af9c --- /dev/null +++ b/i18n/ja.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Shirayuki" + ] + }, + "charrangespan-desc": "指定した文字コード範囲の文字を、指定した <code><span></code> タグで囲む" +} \ No newline at end of file diff --git a/i18n/ko.json b/i18n/ko.json new file mode 100644 index 0000000..bcfb994 --- /dev/null +++ b/i18n/ko.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "아라" + ] + }, + "charrangespan-desc": "지정한 문자 코드 범위에 있는 문자를 정의한 <code><span></code> 태그로 묶습니다" +} \ No newline at end of file diff --git a/i18n/ksh.json b/i18n/ksh.json new file mode 100644 index 0000000..107c28d --- /dev/null +++ b/i18n/ksh.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Purodha" + ] + }, + "charrangespan-desc": "Deiht Zeische us enem beschtemmte Berätt med vörjejovve <code><span></code> Kommandos ömjäve." +} \ No newline at end of file diff --git a/i18n/mk.json b/i18n/mk.json new file mode 100644 index 0000000..c38cf17 --- /dev/null +++ b/i18n/mk.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bjankuloski06" + ] + }, + "charrangespan-desc": "Става било кои знаци во зададени опсези на зададени ознаки за опфат <code><span></code>" +} \ No newline at end of file diff --git a/i18n/ms.json b/i18n/ms.json new file mode 100644 index 0000000..9fda805 --- /dev/null +++ b/i18n/ms.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Anakmalaysia" + ] + }, + "charrangespan-desc": "Membalut sebarang aksara dalam julat yang tertentu dalam lingkungan teg <code><span></code> yang tertentu" +} \ No newline at end of file diff --git a/i18n/nl.json b/i18n/nl.json new file mode 100644 index 0000000..eeeeee5 --- /dev/null +++ b/i18n/nl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Siebrand" + ] + }, + "charrangespan-desc": "Tekens uit opgegeven reeksen lopen automatisch terug met het label <code><span></code>" +} \ No newline at end of file diff --git a/i18n/oc.json b/i18n/oc.json new file mode 100644 index 0000000..0ad601c --- /dev/null +++ b/i18n/oc.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Cedric31" + ] + }, + "charrangespan-desc": "Enquadra totes los caractèrs dins de plajas definidas amb de balisas <code><span></code>" +} \ No newline at end of file diff --git a/i18n/pt.json b/i18n/pt.json new file mode 100644 index 0000000..a744579 --- /dev/null +++ b/i18n/pt.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Hamilton Abreu" + ] + }, + "charrangespan-desc": "Coloca entre ''tags'' <code><span></code> definidas quaisquer caracteres que estejam dentro de intervalos definidos" +} \ No newline at end of file diff --git a/i18n/qqq.json b/i18n/qqq.json new file mode 100644 index 0000000..380ecb9 --- /dev/null +++ b/i18n/qqq.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Shirayuki" + ] + }, + "charrangespan-desc": "{{desc|name=Char Range Span|url=http://www.mediawiki.org/wiki/Extension:CharRangeSpan}}\nDo not translate \"<code>span</code>\". It is an HTML tag." +} \ No newline at end of file diff --git a/i18n/roa-tara.json b/i18n/roa-tara.json new file mode 100644 index 0000000..f94dcb0 --- /dev/null +++ b/i18n/roa-tara.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Joetaras" + ] + }, + "charrangespan-desc": "Tagghie ogne carattere jndr'à l'indervalle definite cu le tag de <code><span></code> definite" +} \ No newline at end of file diff --git a/i18n/ru.json b/i18n/ru.json new file mode 100644 index 0000000..45af850 --- /dev/null +++ b/i18n/ru.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Okras" + ] + }, + "charrangespan-desc": "Оборачивает любые символы в определённых диапазонах определёнными тегами <code><span></code>" +} \ No newline at end of file diff --git a/i18n/sco.json b/i18n/sco.json new file mode 100644 index 0000000..50c22f7 --- /dev/null +++ b/i18n/sco.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "John Reid" + ] + }, + "charrangespan-desc": "Wraps oni chairacters in defined ranges wiin defined <code><span></code> tags" +} \ No newline at end of file diff --git a/i18n/tl.json b/i18n/tl.json new file mode 100644 index 0000000..6ba0c4f --- /dev/null +++ b/i18n/tl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "AnakngAraw" + ] + }, + "charrangespan-desc": "Nagbabalot ng anumang mga panitik sa loob ng inilarawang mga kasaklawan na nasa loob ng inilarawang mga tatak na <code><span></code>" +} \ No newline at end of file diff --git a/i18n/uk.json b/i18n/uk.json new file mode 100644 index 0000000..ee2db7f --- /dev/null +++ b/i18n/uk.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Ата" + ] + }, + "charrangespan-desc": "Бере будь-які символи з визначених діапазонів у визначені <code><span></code> теґи" +} \ No newline at end of file diff --git a/i18n/vi.json b/i18n/vi.json new file mode 100644 index 0000000..73236a9 --- /dev/null +++ b/i18n/vi.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Tuankiet65" + ] + }, + "charrangespan-desc": "Bao bọc mọi chữ cái trong phạm vi định trước với thẻ <code><span></code> định trước." +} \ No newline at end of file diff --git a/i18n/zh-hans.json b/i18n/zh-hans.json new file mode 100644 index 0000000..6142e10 --- /dev/null +++ b/i18n/zh-hans.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Yfdyh000" + ] + }, + "charrangespan-desc": "以定义的<code><span></code>标签包裹指定范围内的任意字符" +} \ No newline at end of file diff --git a/i18n/zh-hant.json b/i18n/zh-hant.json new file mode 100644 index 0000000..8b78e7b --- /dev/null +++ b/i18n/zh-hant.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Justincheng12345" + ] + }, + "charrangespan-desc": "以定義的<code><span></code>標籤包裹指定範圍内的任意字符" +} \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/122264 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie496bd8b0ac5d4ea495de0eb1c120f9641e2dcfe Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CharRangeSpan Gerrit-Branch: master Gerrit-Owner: Siebrand <siebr...@kitano.nl> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits