* Added wgCanonicalSpecialPageName to JavaScript variables
* Fix image deleting when using Postgres.
* Output both source and destination titles in maintenance/moveBatch.php
+* Added basic parser tests for language variants
+* Enable selflinks and categories to be written in some of the language variants
+* Prevent conversion of javascript code in language variants
== Languages updated ==
$prefix = '';
}
- $selflink = $this->mTitle->getPrefixedText();
+ if($wgContLang->hasVariants())
+ $selflink = $wgContLang->convertLinkToAllVariants($this->mTitle->getPrefixedText());
+ else
+ $selflink = array($this->mTitle->getPrefixedText());
$useSubpages = $this->areSubpagesAllowed();
wfProfileOut( $fname.'-setup' );
}
}
- if( ( $nt->getPrefixedText() === $selflink ) &&
+ if( ( in_array( $nt->getPrefixedText(), $selflink ) ) &&
( $nt->getFragment() === '' ) ) {
# Self-links are handled specially; generally de-link and change to bold.
$s .= $prefix . $sk->makeSelfLinkObj( $nt, $text, '', $trail );
// disable convert to variants between <code></code> tags
$codefix = '<code>.+?<\/code>|';
+ // disable convertsion of <script type="text/javascript"> ... </script>
+ $scriptfix = '<script.*?>.*?<\/script>|';
- $reg = '/'.$codefix.'<[^>]+>|&[a-zA-Z#][a-z0-9]+;' . $marker . $htmlfix . '/s';
+ $reg = '/'.$codefix . $scriptfix . '<[^>]+>|&[a-zA-Z#][a-z0-9]+;' . $marker . $htmlfix . '/s';
$matches = preg_split($reg, $text, -1, PREG_SPLIT_OFFSET_CAPTURE);
'so' => 'Soomaaliga', # Somali
'sq' => 'Shqip', # Albanian
'sr' => 'Српски / Srpski', # Serbian
- 'sr-ec' => 'екавица', # Serbian cyrillic ekavian
+ 'sr-ec' => 'ћирилица', # Serbian cyrillic ekavian
'sr-jc' => 'ијекавица', # Serbian cyrillic iyekvian
- 'sr-el' => 'ekavica', # Serbian latin ekavian
+ 'sr-el' => 'latinica', # Serbian latin ekavian
'sr-jl' => 'ijekavica', # Serbian latin iyekavian
'ss' => 'SiSwati', # Swati
'st' => 'seSotho', # Southern Sotho
/*
- * A function wrapper, if there is no selected variant,
- * leave the link names as they were
+ * A function wrapper:
+ * - if there is no selected variant, leave the link
+ * names as they were
+ * - do not try to find variants for usernames
*/
function findVariantLink( &$link, &$nt ) {
+ // check for user namespace
+ if(is_object($nt)){
+ $ns = $nt->getNamespace();
+ if($ns==NS_USER || $ns==NS_USER_TALK)
+ return;
+ }
+
$oldlink=$link;
parent::findVariantLink($link,$nt);
if($this->getPreferredVariant()==$this->mMainLanguageCode)
!! end
+###
+### Language variants related tests
+###
+!! test
+Self-link in language variants
+!! options
+title=[[Dunav]] language=sr
+!! input
+Both [[Dunav]] and [[Дунав]] are names for this river.
+!! result
+<p>Both <strong class="selflink">Dunav</strong> and <strong class="selflink">Дунав</strong> are names for this river.
+</p>
+!!end
+
+
+!! test
+Link to pages in language variants
+!! options
+language=sr
+!! input
+Main Page can be written as [[Маин Паге]]
+!! result
+<p>Main Page can be written as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a>
+</p>
+!!end
+
+
+!! test
+Multiple links to pages in language variants
+!! options
+language=sr
+!! input
+[[Main Page]] can be written as [[Маин Паге]] same as [[Маин Паге]].
+!! result
+<p><a href="/wiki/Main_Page" title="Main Page">Main Page</a> can be written as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a> same as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a>.
+</p>
+!!end
+
+
+!! test
+Simple template in language variants
+!! options
+language=sr
+!! input
+{{тест}}
+!! result
+<p>This is a test template
+</p>
+!! end
+
+
+!! test
+Template with explicit namespace in language variants
+!! options
+language=sr
+!! input
+{{Template:тест}}
+!! result
+<p>This is a test template
+</p>
+!! end
+
+
+!! test
+Basic test for template parameter in language variants
+!! options
+language=sr
+!! input
+{{парамтест|param=foo}}
+!! result
+<p>This is a test template with parameter foo
+</p>
+!! end
+
+
+!! test
+Simple category in language variants
+!! options
+language=sr cat
+!! input
+[[:Category:МедиаWики Усер'с Гуиде]]
+!! result
+<a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
+!! end
+
+
+!! test
+Stripping -{}- tags (language variants)
+!! options
+language=sr
+!! input
+Latin proverb: -{Ne nuntium necare}-
+!! result
+<p>Latin proverb: Ne nuntium necare
+</p>
+!! end
+
+
#
#
#