<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AInterwiki-links.js</id>
	<title>MediaWiki:Interwiki-links.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AInterwiki-links.js"/>
	<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Interwiki-links.js&amp;action=history"/>
	<updated>2026-05-16T01:58:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://ejwiki.org/index.php?title=MediaWiki:Interwiki-links.js&amp;diff=388373&amp;oldid=prev</id>
		<title>Mliris: 1 версия</title>
		<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Interwiki-links.js&amp;diff=388373&amp;oldid=prev"/>
		<updated>2010-03-11T07:42:51Z</updated>

		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 07:42, 11 марта 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mliris</name></author>
	</entry>
	<entry>
		<id>https://ejwiki.org/index.php?title=MediaWiki:Interwiki-links.js&amp;diff=25740&amp;oldid=prev</id>
		<title>Ariely в 20:21, 28 февраля 2010</title>
		<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Interwiki-links.js&amp;diff=25740&amp;oldid=prev"/>
		<updated>2010-02-28T20:21:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/** Sort iw-links according to a preference table ****************************************************** &lt;br /&gt;
 *&lt;br /&gt;
 *  First revision was imported from http://no.wikipedia.org/wiki/MediaWiki:Interwiki-links.js&lt;br /&gt;
 *  Original description [[:no:Wikipedia:Sortering av interwiki-lenker]]&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
appendCSS(&amp;#039;.iw-focus {font-weight: bold} .iw-babel {font-style: italic}&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
var wgDebugIWlang;&lt;br /&gt;
var wgUseUserlanguage;&lt;br /&gt;
var wgAddLangHints;&lt;br /&gt;
var wgInterwikiDone = false;&lt;br /&gt;
var wgDefaultLangPrefs = [];&lt;br /&gt;
 &lt;br /&gt;
// make sure we in fact has a array&lt;br /&gt;
var wgLangPrefs;&lt;br /&gt;
if (typeof wgLangPrefs == &amp;#039;undefined&amp;#039;) wgLangPrefs = Array();&lt;br /&gt;
wgLangPrefs.push(wgUserLanguage);&lt;br /&gt;
&lt;br /&gt;
// choose and adjust lists for prefered languages&lt;br /&gt;
if (wgUserName) {&lt;br /&gt;
    wgLangPrefs = wgLangPrefs;&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
    wgLangPrefs = wgDefaultLangPrefs;&lt;br /&gt;
}&lt;br /&gt;
var wgLangIWlinks = Object();&lt;br /&gt;
for (i=0;i&amp;lt;wgLangPrefs.length;i++) {&lt;br /&gt;
    wgLangPrefs[wgLangPrefs[i]] = 1;&lt;br /&gt;
    wgLangIWlinks[&amp;quot;interwiki-&amp;quot; + wgLangPrefs[i]] = 1;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// get data structures for nameing and sorting of languages&lt;br /&gt;
// this will block any languages that isn&amp;#039;t defined&lt;br /&gt;
var wgLanguages = { &amp;#039;ru&amp;#039; : true };&lt;br /&gt;
if ( wgUserName == null ? wgUserLanguage != wgContentLanguage : true ) {&lt;br /&gt;
    if ( wgLanguages[ wgUserLanguage ] )&lt;br /&gt;
        importScript(&amp;#039;MediaWiki:User-lang-&amp;#039; + wgUserLanguage + &amp;#039;.js&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
var wgLangNames;&lt;br /&gt;
if ( typeof wgLangNames != &amp;#039;object&amp;#039; ) wgLangNames = Object();&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
function sortIWlinks(a,b)&lt;br /&gt;
{&lt;br /&gt;
    return wgLangNames[ wgUserLanguage ][ a.className.split(&amp;#039; &amp;#039;)[0] ][ 1 ] - wgLangNames[ wgUserLanguage ][ b.className.split(&amp;#039; &amp;#039;)[0] ][ 1 ];&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
addOnloadHook( function () {&lt;br /&gt;
&lt;br /&gt;
    if (wgInterwikiDone) return;&lt;br /&gt;
    wgInterwikiDone = true;&lt;br /&gt;
    if ( typeof wgDebugIWlang != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgDebugIWlang ) return; // bail out for debugging&lt;br /&gt;
 &lt;br /&gt;
    // reorganize wgLangNames so we can use it for sorting&lt;br /&gt;
    var j = 0;&lt;br /&gt;
    var ta = Array();&lt;br /&gt;
    for (x in wgLangNames[ wgUserLanguage ]) {&lt;br /&gt;
        ta.push(x);&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0;i&amp;lt;ta.length;i++) {&lt;br /&gt;
        wgLangNames[ wgUserLanguage ][ &amp;#039;interwiki-&amp;#039; + ta[i] ] = [ wgLangNames[ wgUserLanguage ][ ta[i] ], j ];&lt;br /&gt;
        wgLangNames[ wgUserLanguage ][ ta[i] ] = [ wgLangNames[ wgUserLanguage ][ ta[i] ], j ];&lt;br /&gt;
        j++&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // if we don&amp;#039;t have anything from wgLangNames we give up&lt;br /&gt;
    if (!j) return;&lt;br /&gt;
 &lt;br /&gt;
    // locate iw-links, and the container&lt;br /&gt;
    var container = document.getElementById(&amp;quot;p-lang&amp;quot;);&lt;br /&gt;
    if (!container) return;&lt;br /&gt;
    var ul = container.getElementsByTagName(&amp;quot;ul&amp;quot;);&lt;br /&gt;
    if (!ul) return;&lt;br /&gt;
    if (ul.length != 1) return;&lt;br /&gt;
    ul = ul[0];&lt;br /&gt;
    var c = container.getElementsByTagName(&amp;quot;li&amp;quot;);&lt;br /&gt;
    if (!c) return;&lt;br /&gt;
 &lt;br /&gt;
    // loop over the iw-links, translate names and&lt;br /&gt;
    // separate those we know how to sort from the rest&lt;br /&gt;
    // and add babel links&lt;br /&gt;
    var childs = Array();&lt;br /&gt;
    var keeps = Array();&lt;br /&gt;
    var adds = Array();&lt;br /&gt;
    for (i=0;i&amp;lt;c.length;i++) {&lt;br /&gt;
        if (wgLangNames) {&lt;br /&gt;
            var s = c[ i ].className.split(&amp;#039; &amp;#039;)[0];&lt;br /&gt;
            if (0&amp;gt;s.indexOf(&amp;#039;interwiki-&amp;#039;)) continue;&lt;br /&gt;
            s = s.replace(/^.*?interwiki-/, &amp;#039;&amp;#039;);&lt;br /&gt;
            s = s.replace(/\s.*$/, &amp;#039;&amp;#039;);&lt;br /&gt;
            var a = c[ i ].getElementsByTagName(&amp;quot;a&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            // localize language names&lt;br /&gt;
            try {&lt;br /&gt;
                if ( typeof wgUseUserLanguage != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgUseUserLanguage&lt;br /&gt;
                     &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ] != &amp;#039;undefined&amp;#039; ) {&lt;br /&gt;
                    if ( typeof wgLangNames[ wgUserLanguage ][ s ] != &amp;#039;undefined&amp;#039;&lt;br /&gt;
                         &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ][ s ][ 0 ] == &amp;#039;string&amp;#039; ) {&lt;br /&gt;
                        if (a.length) a[0].innerHTML = wgLangNames[ wgUserLanguage ][ s ][ 0 ];&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (e) { /* just skip this */ }&lt;br /&gt;
            &lt;br /&gt;
            // add hints for language names&lt;br /&gt;
            try {&lt;br /&gt;
                if ( typeof wgAddLangHints != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgAddLangHints&lt;br /&gt;
                     &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ] != &amp;#039;undefined&amp;#039; ) {&lt;br /&gt;
                    if ( typeof wgLangNames[ wgUserLanguage ][ s ] != &amp;#039;undefined&amp;#039;&lt;br /&gt;
                         &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ][ s ][ 0 ] == &amp;#039;string&amp;#039; ) {&lt;br /&gt;
                        c[ i ].setAttribute( &amp;#039;title&amp;#039;, wgLangNames[ wgUserLanguage ][ s ][ 0 ] );&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }            &lt;br /&gt;
            catch (e) { /* just skip this */ }&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            // check if we have any odd link}&lt;br /&gt;
            try {&lt;br /&gt;
                if ( typeof wgUseUserLanguage != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgUseUserLanguage&lt;br /&gt;
                     &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ][ s ] != &amp;#039;undefined&amp;#039;&lt;br /&gt;
                     &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ][ s ][ 1 ] == &amp;#039;number&amp;#039; ) {&lt;br /&gt;
                    childs.push(c[ i ]);&lt;br /&gt;
                    //wgLangNames[ c[ i ].className ] = wgLangNames[ wgUserLanguage ][ s ];&lt;br /&gt;
                }&lt;br /&gt;
                else {&lt;br /&gt;
	              adds.push(c[ i ]);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (e) { /* just skip this */ }&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
	      childs.push(c[ i ]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // sort the childs according to definitions used by sortIWlinks&lt;br /&gt;
    if ( typeof wgUseUserLanguage != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgUseUserLanguage&lt;br /&gt;
         &amp;amp;&amp;amp; typeof wgLangNames[ wgUserLanguage ] != &amp;#039;undefined&amp;#039; ) {&lt;br /&gt;
        childs = childs.sort(sortIWlinks);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // reinsert those we didn&amp;#039;t know how to sort into the list of children&lt;br /&gt;
    for (i=0;i&amp;lt;adds.length;i++) {&lt;br /&gt;
	      childs.push(adds[ i ]);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // move one block to the top&lt;br /&gt;
    try {&lt;br /&gt;
        // separate out those that shall be moved to the top&lt;br /&gt;
        for (i=0;i&amp;lt;childs.length;i++) {&lt;br /&gt;
            // the following test fails if there are several classes for the actual child&lt;br /&gt;
            if ( typeof wgLangIWlinks[ childs[i].className.split(&amp;#039; &amp;#039;)[0] ] != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgLangIWlinks[ childs[i].className.split(&amp;#039; &amp;#039;)[0] ]) {&lt;br /&gt;
                keeps.push(childs[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        // reorganize the list of children&lt;br /&gt;
        var n = childs.length;&lt;br /&gt;
        for (i=childs.length-1;i&amp;gt;=0;i--) {&lt;br /&gt;
            if ( typeof wgLangIWlinks[ childs[i].className.split(&amp;#039; &amp;#039;)[0] ] != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; wgLangIWlinks[ childs[i].className.split(&amp;#039; &amp;#039;)[0] ] ) {&lt;br /&gt;
                childs[i].className += &amp;#039; iw-focus&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
                keeps[--n] = childs[i];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    catch (e) { /* just skip this */ }&lt;br /&gt;
 &lt;br /&gt;
    // remove all existing children and reinsert from our own list&lt;br /&gt;
    if (keeps.length) {&lt;br /&gt;
        var child;&lt;br /&gt;
        while (child = ul.firstChild) {&lt;br /&gt;
            ul.removeChild(child);&lt;br /&gt;
        }&lt;br /&gt;
        for (i=0;i&amp;lt;keeps.length;i++) {&lt;br /&gt;
            ul.appendChild(keeps[i]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // }&lt;br /&gt;
    // catch (e) { /* just skip this */ }&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Ariely</name></author>
	</entry>
</feed>