jenkins-bot has submitted this change and it was merged.
Change subject: Improve linkprefix regular expressions
......................................................................
Improve linkprefix regular expressions
The regular expression in the linkprefix message is run against the
entire page up to each wikilink, and is expected to capture one group
having everything except the prefix and another having only the prefix.
For long pages this winds up being a lot of text, so inefficient regular
expressions are going to cause problems.
The current regex is this:
/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD
This is not efficient: it will scan through the string trying to match
against every run of one or more letters/non-ASCII characters,
backtracking at every one except possibly the last. The only reason this
hasn't been a huge problem everywhere is because only a few languages
have this feature enabled.
This change replaces this with this regex:
/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD
This is rather more efficient: it will grab the whole string (which is
actually fast even for huge strings), then back off character by
character until it finds one that isn't a letter/non-ASCII.
Note that the above could be simplified somewhat:
/^((?>.*[^a-zA-Z\\x80-\\xff]|))(.+)$/sD
The performance improvement here is minor, and Gujarati, Church Slavic,
Udmurt, and Ukrainian would still need the other style for their current
implementations.
For Gujarati, we also use another regex trick: a look-behind assertion
in PCRE must be fixed length, so something like (?<!a|bb) won't work.
But that regex fragment is equivalent to (?<!a)(?<!bb) which is allowed,
so we use that instead.
Bug: 52865
Change-Id: Iaa7eaa446b3f045a9ce970affcb2a889f44bdefd
---
M languages/messages/MessagesAry.php
M languages/messages/MessagesAz.php
M languages/messages/MessagesCe.php
M languages/messages/MessagesCrh_cyrl.php
M languages/messages/MessagesCrh_latn.php
M languages/messages/MessagesCu.php
M languages/messages/MessagesCv.php
M languages/messages/MessagesEn.php
M languages/messages/MessagesGa.php
M languages/messages/MessagesGu.php
M languages/messages/MessagesId.php
M languages/messages/MessagesIs.php
M languages/messages/MessagesKa.php
M languages/messages/MessagesKaa.php
M languages/messages/MessagesKiu.php
M languages/messages/MessagesKm.php
M languages/messages/MessagesLtg.php
M languages/messages/MessagesMk.php
M languages/messages/MessagesMs.php
M languages/messages/MessagesMt.php
M languages/messages/MessagesNe.php
M languages/messages/MessagesNn.php
M languages/messages/MessagesRo.php
M languages/messages/MessagesRoa_tara.php
M languages/messages/MessagesSc.php
M languages/messages/MessagesSi.php
M languages/messages/MessagesSr_ec.php
M languages/messages/MessagesSr_el.php
M languages/messages/MessagesTl.php
M languages/messages/MessagesTt_cyrl.php
M languages/messages/MessagesTt_latn.php
M languages/messages/MessagesUdm.php
M languages/messages/MessagesUg_arab.php
M languages/messages/MessagesUk.php
M languages/messages/MessagesUz.php
M languages/messages/MessagesWar.php
36 files changed, 36 insertions(+), 36 deletions(-)
Approvals:
Tim Starling: Looks good to me, approved
jenkins-bot: Verified
diff --git a/languages/messages/MessagesAry.php
b/languages/messages/MessagesAry.php
index 9f1b336..ceadcf3 100644
--- a/languages/messages/MessagesAry.php
+++ b/languages/messages/MessagesAry.php
@@ -142,7 +142,7 @@
'noindex-category' => 'shat mamfhtsach',
'broken-file-category' => 'ṣfaḫi fiha wṣlat milffaṫ mhrrsa',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'ala',
'article' => 'sfht mohtawa',
diff --git a/languages/messages/MessagesAz.php
b/languages/messages/MessagesAz.php
index 7b345b3..33ef132 100644
--- a/languages/messages/MessagesAz.php
+++ b/languages/messages/MessagesAz.php
@@ -206,7 +206,7 @@
'noindex-category' => 'İndeksləşdirilməyən səhifələr',
'broken-file-category' => 'İşləməyən fayl keçidləri olan səhifələr',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Haqqında',
'article' => 'Mündəricat',
diff --git a/languages/messages/MessagesCe.php
b/languages/messages/MessagesCe.php
index 4e02782..0533b95 100644
--- a/languages/messages/MessagesCe.php
+++ b/languages/messages/MessagesCe.php
@@ -458,7 +458,7 @@
'broken-file-category' => '{{#switch:{{NAMESPACE}}
|{{ns:0}}=Болх цабеш файлийн хьажорагаш йолу агӀонаш}}',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Цуьнах лаьцна',
'article' => 'Яззам',
diff --git a/languages/messages/MessagesCrh_cyrl.php
b/languages/messages/MessagesCrh_cyrl.php
index a582b18..1d8cf70 100644
--- a/languages/messages/MessagesCrh_cyrl.php
+++ b/languages/messages/MessagesCrh_cyrl.php
@@ -230,7 +230,7 @@
'noindex-category' => 'Индекссиз саифелер',
'broken-file-category' => 'Ичинде бозукъ файл багълантылары олгъан саифелер',
-'linkprefix' => '/^(.*?)([a-zâçğıñöşüA-ZÂÇĞİÑÖŞÜa-яёА-ЯЁ«„]+)$/sDu',
+'linkprefix' => '/^((?>.*(?<![a-zâçğıñöşüA-ZÂÇĞİÑÖŞÜa-яёА-ЯЁ«„])))(.+)$/sDu',
'about' => 'Акъкъында',
'article' => 'Саифе',
diff --git a/languages/messages/MessagesCrh_latn.php
b/languages/messages/MessagesCrh_latn.php
index bd6306f..9b51638 100644
--- a/languages/messages/MessagesCrh_latn.php
+++ b/languages/messages/MessagesCrh_latn.php
@@ -224,7 +224,7 @@
'noindex-category' => 'İndekssiz saifeler',
'broken-file-category' => 'İçinde bozuq fayl bağlantıları olğan saifeler',
-'linkprefix' => '/^(.*?)([a-zâçğıñöşüA-ZÂÇĞİÑÖŞÜa-яёА-ЯЁ«„]+)$/sDu',
+'linkprefix' => '/^((?>.*(?<![a-zâçğıñöşüA-ZÂÇĞİÑÖŞÜa-яёА-ЯЁ«„])))(.+)$/sDu',
'about' => 'Aqqında',
'article' => 'Saife',
diff --git a/languages/messages/MessagesCu.php
b/languages/messages/MessagesCu.php
index e9c7e05..8a6738d 100644
--- a/languages/messages/MessagesCu.php
+++ b/languages/messages/MessagesCu.php
@@ -180,7 +180,7 @@
'category-subcat-count' => '{{PLURAL:$2|Сѥи катигорїи тъкъмо сꙗ подъкатигорїꙗ
ѥстъ|Сѥи катигорїи {{PLURAL:$1|ѥдина подъкатигорїꙗ ѥстъ|2 подъкатигорїи ѥстє|$1
подъкатигорїѩ сѫтъ}} · а вьсѩ жє подъкатигорїѩ число $2 ѥстъ}}',
'listingcontinuesabbrev' => '· вѧщє',
-'linkprefix' => '/^(.*?)(„|«)$/sD',
+'linkprefix' => '/^((?>.*(?<!(?:„|«)$)))(.+)$/sDu',
'about' => 'опьсаниѥ',
'article' => 'члѣнъ',
diff --git a/languages/messages/MessagesCv.php
b/languages/messages/MessagesCv.php
index ef5f4f1..0bbb896 100644
--- a/languages/messages/MessagesCv.php
+++ b/languages/messages/MessagesCv.php
@@ -153,7 +153,7 @@
'category-file-count-limited' => 'Ку категоринче $1 файл.',
'listingcontinuesabbrev' => '(малалли)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff«"]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff«"])))(.+)$/sD',
'about' => 'Ăнлантаркăч',
'article' => 'Статья',
diff --git a/languages/messages/MessagesEn.php
b/languages/messages/MessagesEn.php
index ec8f0f2..2cefeb8 100644
--- a/languages/messages/MessagesEn.php
+++ b/languages/messages/MessagesEn.php
@@ -790,7 +790,7 @@
'broken-file-category' => 'Pages with broken file links',
'categoryviewer-pagedlinks' => '($1) ($2)', # only translate this message
to other languages if you have to change it
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', # only translate this
message to other languages if you have to change it
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD', # only translate
this message to other languages if you have to change it
'about' => 'About',
'article' => 'Content page',
diff --git a/languages/messages/MessagesGa.php
b/languages/messages/MessagesGa.php
index d7b37f5..782df49 100644
--- a/languages/messages/MessagesGa.php
+++ b/languages/messages/MessagesGa.php
@@ -218,7 +218,7 @@
'listingcontinuesabbrev' => 'ar lean.',
'index-category' => 'Leathanaigh innéacsaithe',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Maidir leis',
'article' => 'Leathanach ábhair',
diff --git a/languages/messages/MessagesGu.php
b/languages/messages/MessagesGu.php
index b29ebcd..35edb97 100644
--- a/languages/messages/MessagesGu.php
+++ b/languages/messages/MessagesGu.php
@@ -291,7 +291,7 @@
'noindex-category' => 'અનુક્રમણિકા નહી બનાવેલા પાનાં',
'broken-file-category' => 'ફાઇલોની ત્રૂટક કડીઓવાળાં પાનાં',
-'linkprefix' =>
'/^(.*?)((?:[a-zA-Z\\x80-\\xff]|ક્|ખ્|ગ્|ઘ્|ચ્|છ્|જ્|ઝ્|ટ્|ઠ્|ડ્|ઢ્|ણ્|ત્|થ્|દ્|ધ્|ન્|પ્|ફ્|બ્|ભ્|મ્|ય્|ર્|લ્|વ્|સ્|શ્|ષ્|હ્|ળ્|ક્ષ્|જ્ઞ્|અ|આ|ઇ|ઈ|ઉ|ઊ|એ|ઐ|ઓ|ઔ|અં|અઃ|અઁ|ઍ|ઑ|ઋ|ઁ|઼|।|્|ા|િ|ી|ુ|ૂ|ે|ૈ|ો|ૌ|ં|ઃ|ૅ|ૉ|ૃ)+)$/sD',
+'linkprefix' =>
'/^((?>.*(?<![a-zA-Z\\x80-\\xff])(?<!ક્|ખ્|ગ્|ઘ્|ચ્|છ્|જ્|ઝ્|ટ્|ઠ્|ડ્|ઢ્|ણ્|ત્|થ્|દ્|ધ્|ન્|પ્|ફ્|બ્|ભ્|મ્|ય્|ર્|લ્|વ્|સ્|શ્|ષ્|હ્|ળ્|અં|અઃ|અઁ)(?<!ક્ષ્|જ્ઞ્)(?<!અ|આ|ઇ|ઈ|ઉ|ઊ|એ|ઐ|ઓ|ઔ|ઍ|ઑ|ઋ|ઁ|઼|।|્|ા|િ|ી|ુ|ૂ|ે|ૈ|ો|ૌ|ં|ઃ|ૅ|ૉ|ૃ)))(.+)$/sD',
'about' => 'વિષે',
'article' => 'લેખનું પાનું',
diff --git a/languages/messages/MessagesId.php
b/languages/messages/MessagesId.php
index e4442bf..2c3b33d 100644
--- a/languages/messages/MessagesId.php
+++ b/languages/messages/MessagesId.php
@@ -481,7 +481,7 @@
'broken-file-category' => 'Halaman dengan gambar rusak',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Tentang',
'article' => 'Halaman isi',
diff --git a/languages/messages/MessagesIs.php
b/languages/messages/MessagesIs.php
index 1350fd5..86b8281 100644
--- a/languages/messages/MessagesIs.php
+++ b/languages/messages/MessagesIs.php
@@ -371,7 +371,7 @@
'noindex-category' => 'Óraðaðar skrár',
'broken-file-category' => 'Síður með brotna myndatengla',
-'linkprefix' => '/^(.*?)([áÁðÐéÉíÍóÓúÚýÝþÞæÆöÖA-Za-z-–]+)$/sDu',
+'linkprefix' => '/^((?>.*(?<![áÁðÐéÉíÍóÓúÚýÝþÞæÆöÖA-Za-z-–])))(.+)$/sDu',
'about' => 'Um',
'article' => 'Efnissíða',
diff --git a/languages/messages/MessagesKa.php
b/languages/messages/MessagesKa.php
index ff4feb7..18dd6be 100644
--- a/languages/messages/MessagesKa.php
+++ b/languages/messages/MessagesKa.php
@@ -310,7 +310,7 @@
'broken-file-category' => 'გვერდები ფაილების არასწორი ბმულებით',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'შესახებ',
'article' => 'სტატია',
diff --git a/languages/messages/MessagesKaa.php
b/languages/messages/MessagesKaa.php
index 147e19a..3bac5f9 100644
--- a/languages/messages/MessagesKaa.php
+++ b/languages/messages/MessagesKaa.php
@@ -264,7 +264,7 @@
'category-file-count-limited' => "Usı kategoriyada to'mendegi
{{PLURAL:$1|fayl|$1 fayl}} bar.",
'listingcontinuesabbrev' => 'dawamı',
-'linkprefix' => '/^(.*?)([a-zıA-Zİ\\x80-\\xff]+)$/sDu',
+'linkprefix' => '/^((?>.*(?<![a-zıA-Zİ\\x80-\\xff])))(.+)$/sDu',
'about' => 'Haqqında',
'article' => "Mag'lıwmat beti",
diff --git a/languages/messages/MessagesKiu.php
b/languages/messages/MessagesKiu.php
index 8f18ce2..8ae5a10 100644
--- a/languages/messages/MessagesKiu.php
+++ b/languages/messages/MessagesKiu.php
@@ -177,7 +177,7 @@
'noindex-category' => 'Pelê bêendeksıni',
'broken-file-category' => 'Peli be gıreunê dosyeunê sıkıtau',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Heqa',
'article' => 'Pela tedeesteyu',
diff --git a/languages/messages/MessagesKm.php
b/languages/messages/MessagesKm.php
index c4e951b..912e930 100644
--- a/languages/messages/MessagesKm.php
+++ b/languages/messages/MessagesKm.php
@@ -402,7 +402,7 @@
'broken-file-category' => 'ទំព័រទាំងឡាយដែលដាច់តំណភ្ជាប់',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'អំពី',
'article' => 'មាតិកាអត្ថបទ',
diff --git a/languages/messages/MessagesLtg.php
b/languages/messages/MessagesLtg.php
index 1b4b7f5..49460daa 100644
--- a/languages/messages/MessagesLtg.php
+++ b/languages/messages/MessagesLtg.php
@@ -105,7 +105,7 @@
'category-article-count' => '{{PLURAL:$2|Itymā kategorejā ir vīn dūtuo
puslopa.|{{PLURAL:$1|Paruodeita $1 puslopa|Paruodeitys $1 puslopys}} nu $2.}}',
'listingcontinuesabbrev' => '(tuoļuojums)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Aproksts',
'article' => 'Rakstīņs',
diff --git a/languages/messages/MessagesMk.php
b/languages/messages/MessagesMk.php
index fabf597..754fcf8 100644
--- a/languages/messages/MessagesMk.php
+++ b/languages/messages/MessagesMk.php
@@ -489,7 +489,7 @@
'noindex-category' => 'Неиндексирани страници',
'broken-file-category' => 'Страници со прекинати врски до податотеки',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'За {{SITENAME}}',
'article' => 'Статија',
diff --git a/languages/messages/MessagesMs.php
b/languages/messages/MessagesMs.php
index b1aa125..3774bd6 100644
--- a/languages/messages/MessagesMs.php
+++ b/languages/messages/MessagesMs.php
@@ -338,7 +338,7 @@
'noindex-category' => 'Laman tak diindeks',
'broken-file-category' => 'Laman yang ada pautan fail yang terputus',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Perihal',
'article' => 'Laman kandungan',
diff --git a/languages/messages/MessagesMt.php
b/languages/messages/MessagesMt.php
index 6bec1c6..f1d67a7 100644
--- a/languages/messages/MessagesMt.php
+++ b/languages/messages/MessagesMt.php
@@ -411,7 +411,7 @@
'noindex-category' => 'Paġni mhux indiċizzati',
'broken-file-category' => "Paġni b'ħoloq lejn fajls miksura",
-'linkprefix' => '/^(.*?)([a-żA-Ż\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-żA-Ż\\x80-\\xff])))(.+)$/sD',
'about' => 'Dwar',
'article' => 'artiklu',
diff --git a/languages/messages/MessagesNe.php
b/languages/messages/MessagesNe.php
index 6abbfda..b96da5a 100644
--- a/languages/messages/MessagesNe.php
+++ b/languages/messages/MessagesNe.php
@@ -193,7 +193,7 @@
'noindex-category' => 'क्रमांकन नगरिएका पृष्ठहरु',
'broken-file-category' => 'टुटेको फाइल लिंकसितको पृष्ठ',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'बारेमा',
'article' => 'सामाग्री पृष्ठ',
diff --git a/languages/messages/MessagesNn.php
b/languages/messages/MessagesNn.php
index 38d0da7..f9ffcda 100644
--- a/languages/messages/MessagesNn.php
+++ b/languages/messages/MessagesNn.php
@@ -457,7 +457,7 @@
'noindex-category' => 'Ikkje-indekserte sider',
'broken-file-category' => 'Sider med brotne fillenkjer',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Om',
'article' => 'Innhaldsside',
diff --git a/languages/messages/MessagesRo.php
b/languages/messages/MessagesRo.php
index 269298f..2304fb6 100644
--- a/languages/messages/MessagesRo.php
+++ b/languages/messages/MessagesRo.php
@@ -438,7 +438,7 @@
'noindex-category' => 'Pagini neindexate',
'broken-file-category' => 'Pagini cu legături invalide către fișiere',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Despre',
'article' => 'Articol',
diff --git a/languages/messages/MessagesRoa_tara.php
b/languages/messages/MessagesRoa_tara.php
index 0eab3d6..425d0e1 100644
--- a/languages/messages/MessagesRoa_tara.php
+++ b/languages/messages/MessagesRoa_tara.php
@@ -165,7 +165,7 @@
'broken-file-category' => 'Pàggene cu collegaminde a le file scuasciate',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Sus a',
'article' => 'Pàgene de le condenute',
diff --git a/languages/messages/MessagesSc.php
b/languages/messages/MessagesSc.php
index bfc2b2b..705e417 100644
--- a/languages/messages/MessagesSc.php
+++ b/languages/messages/MessagesSc.php
@@ -177,7 +177,7 @@
'index-category' => 'Pàginas indicizadas',
'noindex-category' => 'Pàginas no indicitzadas',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'A propòsitu de',
'article' => 'Artìculu',
diff --git a/languages/messages/MessagesSi.php
b/languages/messages/MessagesSi.php
index 704055d..4f40b1f 100644
--- a/languages/messages/MessagesSi.php
+++ b/languages/messages/MessagesSi.php
@@ -331,7 +331,7 @@
'noindex-category' => 'සූචිගත නොකළ පිටු',
'broken-file-category' => 'භින්න වූ ගොනු සබැඳි සහිත පිටු',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'පිළිබඳ',
'article' => 'පටුන',
diff --git a/languages/messages/MessagesSr_ec.php
b/languages/messages/MessagesSr_ec.php
index 6b190a5..88c90c4 100644
--- a/languages/messages/MessagesSr_ec.php
+++ b/languages/messages/MessagesSr_ec.php
@@ -536,7 +536,7 @@
'noindex-category' => 'Непописане странице',
'broken-file-category' => 'Странице с неисправним везама до датотека',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'О нама',
'article' => 'Страница са садржајем',
diff --git a/languages/messages/MessagesSr_el.php
b/languages/messages/MessagesSr_el.php
index ddb5668..55ce97b 100644
--- a/languages/messages/MessagesSr_el.php
+++ b/languages/messages/MessagesSr_el.php
@@ -444,7 +444,7 @@
'noindex-category' => 'Nepopisane stranice',
'broken-file-category' => 'Stranice s neispravnim vezama do datoteka',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'O nama',
'article' => 'Stranica sa sadržajem',
diff --git a/languages/messages/MessagesTl.php
b/languages/messages/MessagesTl.php
index 4142d51..1d33355 100644
--- a/languages/messages/MessagesTl.php
+++ b/languages/messages/MessagesTl.php
@@ -285,7 +285,7 @@
'broken-file-category' => 'Mga pahina na may sirang mga kawing ng talaksan',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Patungkol',
'article' => 'Pahina ng nilalaman',
diff --git a/languages/messages/MessagesTt_cyrl.php
b/languages/messages/MessagesTt_cyrl.php
index f25aebf..479dea8 100644
--- a/languages/messages/MessagesTt_cyrl.php
+++ b/languages/messages/MessagesTt_cyrl.php
@@ -348,7 +348,7 @@
'noindex-category' => 'Индексланмаган битләр',
'broken-file-category' => 'Файлларга эшләми торган сылтамалар булган битләр',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Тасвирлама',
'article' => 'Мәкалә',
diff --git a/languages/messages/MessagesTt_latn.php
b/languages/messages/MessagesTt_latn.php
index 6d17c36..36d1197 100644
--- a/languages/messages/MessagesTt_latn.php
+++ b/languages/messages/MessagesTt_latn.php
@@ -216,7 +216,7 @@
'index-category' => 'İndekslanğan bitlär',
'noindex-category' => 'İndekslanmağan bitlär',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Taswirlama',
'article' => 'Mäqälä',
diff --git a/languages/messages/MessagesUdm.php
b/languages/messages/MessagesUdm.php
index 7c16f4a..ac03870 100644
--- a/languages/messages/MessagesUdm.php
+++ b/languages/messages/MessagesUdm.php
@@ -151,7 +151,7 @@
'index-category' => 'Индексировать кароно бамъёс',
'noindex-category' => 'Индексировать каронтэм бамъёс',
-'linkprefix' => '/^(.*?)(„|«)$/sDu',
+'linkprefix' => '/^((?>.*(?<!(?:„|«)$)))(.+)$/sDu',
'about' => 'Та сярысь',
'article' => 'Статья',
diff --git a/languages/messages/MessagesUg_arab.php
b/languages/messages/MessagesUg_arab.php
index ab5ee42..16c052b 100644
--- a/languages/messages/MessagesUg_arab.php
+++ b/languages/messages/MessagesUg_arab.php
@@ -173,7 +173,7 @@
'broken-file-category' => 'ھۆججەت ئۇلىنىشى بۇزۇلغان بەتلەر',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'ھەققىدە',
'article' => 'مۇندەرىجە',
diff --git a/languages/messages/MessagesUk.php
b/languages/messages/MessagesUk.php
index d75a570..da3ebcd 100644
--- a/languages/messages/MessagesUk.php
+++ b/languages/messages/MessagesUk.php
@@ -504,7 +504,7 @@
'broken-file-category' => 'Сторінки, що посилаються на неіснуючі файли',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'linkprefix' => '/^(.*?)(„|«)$/sD',
+'linkprefix' => '/^((?>.*(?<!(?:„|«)$)))(.+)$/sDu',
'about' => 'Про',
'article' => 'Стаття',
diff --git a/languages/messages/MessagesUz.php
b/languages/messages/MessagesUz.php
index e8746b3..41ba94b 100644
--- a/languages/messages/MessagesUz.php
+++ b/languages/messages/MessagesUz.php
@@ -236,7 +236,7 @@
'noindex-category' => 'Indekslanmaydigan sahifalar',
'broken-file-category' => 'Ishlamaydigan fayl havolalari bor sahifalar',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xffʻʼ«„]+)$/sDu',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xffʻʼ«„])))(.+)$/sDu',
'about' => 'Haqida',
'article' => 'Sahifa',
diff --git a/languages/messages/MessagesWar.php
b/languages/messages/MessagesWar.php
index bd99d85..62e75c9 100644
--- a/languages/messages/MessagesWar.php
+++ b/languages/messages/MessagesWar.php
@@ -203,7 +203,7 @@
'noindex-category' => 'Mga diri nakatudlokan nga pagkli',
'broken-file-category' => 'Mga pakli nga mayda utod nga mga sumpay hin paypay',
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD',
'about' => 'Mahitungod han',
'article' => 'Pakli hin sulod',
--
To view, visit https://gerrit.wikimedia.org/r/81368
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iaa7eaa446b3f045a9ce970affcb2a889f44bdefd
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>
Gerrit-Reviewer: Anomie <[email protected]>
Gerrit-Reviewer: Brian Wolff <[email protected]>
Gerrit-Reviewer: Liangent <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: RobLa <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: Tim Starling <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits