diff options
author | Brad Jorsch <bjorsch@wikimedia.org> | 2013-08-27 15:28:52 -0400 |
---|---|---|
committer | Tim Starling <tstarling@wikimedia.org> | 2013-10-24 09:44:33 +0000 |
commit | c8006382739518fda279344638b8e263d84d72dc (patch) | |
tree | b7948d59b7c064088440eb96b335f2dcc28aa9e4 | |
parent | de7af7ac2c651d747221dd322fa9e40956681cb9 (diff) | |
download | mediawikicore-c8006382739518fda279344638b8e263d84d72dc.tar.gz mediawikicore-c8006382739518fda279344638b8e263d84d72dc.zip |
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
36 files changed, 36 insertions, 36 deletions
diff --git a/languages/messages/MessagesAry.php b/languages/messages/MessagesAry.php index 9f1b3364d646..ceadcf3fa189 100644 --- a/languages/messages/MessagesAry.php +++ b/languages/messages/MessagesAry.php @@ -142,7 +142,7 @@ $messages = array( '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 7b345b349665..33ef132b12e4 100644 --- a/languages/messages/MessagesAz.php +++ b/languages/messages/MessagesAz.php @@ -206,7 +206,7 @@ $messages = array( '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 4e02782747e1..0533b95120f6 100644 --- a/languages/messages/MessagesCe.php +++ b/languages/messages/MessagesCe.php @@ -458,7 +458,7 @@ $messages = array( '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 a582b187daf8..1d8cf70ab3f2 100644 --- a/languages/messages/MessagesCrh_cyrl.php +++ b/languages/messages/MessagesCrh_cyrl.php @@ -230,7 +230,7 @@ $messages = array( '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 bd6306f97880..9b51638099e8 100644 --- a/languages/messages/MessagesCrh_latn.php +++ b/languages/messages/MessagesCrh_latn.php @@ -224,7 +224,7 @@ $messages = array( '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 e9c7e059edf6..8a6738d0cb94 100644 --- a/languages/messages/MessagesCu.php +++ b/languages/messages/MessagesCu.php @@ -180,7 +180,7 @@ $messages = array( '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 ef5f4f1ca493..0bbb896fc626 100644 --- a/languages/messages/MessagesCv.php +++ b/languages/messages/MessagesCv.php @@ -153,7 +153,7 @@ $messages = array( '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 ec8f0f2634f0..2cefeb8a05e5 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -790,7 +790,7 @@ future releases. Also note that since each list value is wrapped in a unique '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 d7b37f556449..782df4910f46 100644 --- a/languages/messages/MessagesGa.php +++ b/languages/messages/MessagesGa.php @@ -218,7 +218,7 @@ $messages = array( '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 b29ebcdcc20a..35edb97420dc 100644 --- a/languages/messages/MessagesGu.php +++ b/languages/messages/MessagesGu.php @@ -291,7 +291,7 @@ $messages = array( '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 e4442bf02097..2c3b33d42ea8 100644 --- a/languages/messages/MessagesId.php +++ b/languages/messages/MessagesId.php @@ -481,7 +481,7 @@ $messages = array( '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 1350fd563f38..86b828177db1 100644 --- a/languages/messages/MessagesIs.php +++ b/languages/messages/MessagesIs.php @@ -371,7 +371,7 @@ $messages = array( '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 ff4feb737b40..18dd6be8e0df 100644 --- a/languages/messages/MessagesKa.php +++ b/languages/messages/MessagesKa.php @@ -310,7 +310,7 @@ $messages = array( '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 147e19af7076..3bac5f9b0746 100644 --- a/languages/messages/MessagesKaa.php +++ b/languages/messages/MessagesKaa.php @@ -264,7 +264,7 @@ $messages = array( '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 8f18ce2eec39..8ae5a1043d7e 100644 --- a/languages/messages/MessagesKiu.php +++ b/languages/messages/MessagesKiu.php @@ -177,7 +177,7 @@ $messages = array( '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 c4e951be3c31..912e93078704 100644 --- a/languages/messages/MessagesKm.php +++ b/languages/messages/MessagesKm.php @@ -402,7 +402,7 @@ $messages = array( '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 1b4b7f5c459e..49460daa15ac 100644 --- a/languages/messages/MessagesLtg.php +++ b/languages/messages/MessagesLtg.php @@ -105,7 +105,7 @@ $messages = array( '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 fabf59758c14..754fcf88c6d1 100644 --- a/languages/messages/MessagesMk.php +++ b/languages/messages/MessagesMk.php @@ -489,7 +489,7 @@ $messages = array( '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 b1aa1254b1b7..3774bd6f7e11 100644 --- a/languages/messages/MessagesMs.php +++ b/languages/messages/MessagesMs.php @@ -338,7 +338,7 @@ $messages = array( '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 6bec1c6da2da..f1d67a786147 100644 --- a/languages/messages/MessagesMt.php +++ b/languages/messages/MessagesMt.php @@ -411,7 +411,7 @@ $messages = array( '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 6abbfdace5d2..b96da5ac7a3c 100644 --- a/languages/messages/MessagesNe.php +++ b/languages/messages/MessagesNe.php @@ -193,7 +193,7 @@ $messages = array( '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 38d0da7e7f43..f9ffcdac4491 100644 --- a/languages/messages/MessagesNn.php +++ b/languages/messages/MessagesNn.php @@ -457,7 +457,7 @@ $messages = array( '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 269298fb72ea..2304fb67bf0d 100644 --- a/languages/messages/MessagesRo.php +++ b/languages/messages/MessagesRo.php @@ -438,7 +438,7 @@ $messages = array( '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 0eab3d650196..425d0e1f9f11 100644 --- a/languages/messages/MessagesRoa_tara.php +++ b/languages/messages/MessagesRoa_tara.php @@ -165,7 +165,7 @@ $messages = array( '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 bfc2b2be00ad..705e4170b610 100644 --- a/languages/messages/MessagesSc.php +++ b/languages/messages/MessagesSc.php @@ -177,7 +177,7 @@ $messages = array( '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 704055d51d8b..4f40b1fd5c7d 100644 --- a/languages/messages/MessagesSi.php +++ b/languages/messages/MessagesSi.php @@ -331,7 +331,7 @@ $messages = array( '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 6b190a5223c2..88c90c4adecf 100644 --- a/languages/messages/MessagesSr_ec.php +++ b/languages/messages/MessagesSr_ec.php @@ -536,7 +536,7 @@ $messages = array( '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 ddb566888698..55ce97bdea5f 100644 --- a/languages/messages/MessagesSr_el.php +++ b/languages/messages/MessagesSr_el.php @@ -444,7 +444,7 @@ $messages = array( '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 4142d51f3638..1d3335518d11 100644 --- a/languages/messages/MessagesTl.php +++ b/languages/messages/MessagesTl.php @@ -285,7 +285,7 @@ $messages = array( '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 f25aebf6e5d9..479dea8310d4 100644 --- a/languages/messages/MessagesTt_cyrl.php +++ b/languages/messages/MessagesTt_cyrl.php @@ -348,7 +348,7 @@ $messages = array( '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 6d17c364f3c8..36d119732aae 100644 --- a/languages/messages/MessagesTt_latn.php +++ b/languages/messages/MessagesTt_latn.php @@ -216,7 +216,7 @@ $messages = array( '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 7c16f4ac2be5..ac03870dcef1 100644 --- a/languages/messages/MessagesUdm.php +++ b/languages/messages/MessagesUdm.php @@ -151,7 +151,7 @@ $messages = array( '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 ab5ee423610b..16c052b38089 100644 --- a/languages/messages/MessagesUg_arab.php +++ b/languages/messages/MessagesUg_arab.php @@ -173,7 +173,7 @@ $messages = array( '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 d75a5706d7ae..da3ebcd56c77 100644 --- a/languages/messages/MessagesUk.php +++ b/languages/messages/MessagesUk.php @@ -504,7 +504,7 @@ $messages = array( '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 e8746b379a04..41ba94b8889f 100644 --- a/languages/messages/MessagesUz.php +++ b/languages/messages/MessagesUz.php @@ -236,7 +236,7 @@ $messages = array( '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 bd99d859632b..62e75c91fc6f 100644 --- a/languages/messages/MessagesWar.php +++ b/languages/messages/MessagesWar.php @@ -203,7 +203,7 @@ $messages = array( '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', |