/**
* interwikiFordító (interwikiTranslator)
* @author Báthory Péter, 2008 (])
* @see ]
*
* @license GNU GPL
* @note If you want to use the script in your language, copy the code to your
* Wikipedia, translate the content of variable “langList” and in createMenu()
* function change: 'Eredeti' → 'Original', 'Magyar' → your language, and
* 'Vegyes' → 'Both'
*/
var $langUl;
var langList = {
'en': 'Angol',
'aa': 'Afar',
'ab': 'Abház',
'ace': 'Acehi',
'af': 'Afrikaans',
'ak': 'Akan',
'als': 'Alemann',
'am': 'Amhara',
'an': 'Aragóniai spanyol',
'ang': 'Óangol/angolszász',
'ast': 'Asztúriai spanyol',
'ar': 'Arab',
'arc': 'Asszír újarámi',
'arz': 'Egyiptomi arab',
'as': 'Asszámi',
'av': 'Avar',
'ay': 'Ajmara',
'az': 'Azeri',
'bcl': 'Bikol',
'ba': 'Baskír',
'bar': 'Bajor',
'bat-smg': 'Szamogitiai litván',
'be': 'Belarusz',
'be-x-old': 'Taraskevica belarusz',
'bg': 'Bolgár',
'bh': 'Bhódzspuri/bihári',
'bi': 'Biszlama',
'bjn': 'Banjar',
'bm': 'Manding/bambara',
'bn': 'Bengáli',
'bo': 'Tibeti',
'bpy': 'Bisnuprija manipuri',
'br': 'Breton',
'bs': 'Bosnyák',
'bug': 'Bugisz',
'bxr': 'Burját',
'ca': 'Katalán',
'cbk-zam': 'Zamboangai chavacano',
'cdo': 'Min-tung',
'ce': 'Csecsen',
'ceb': 'Cebuano',
'ch': 'Csamorro',
'chr': 'Cseroki',
'chy': 'Cheyenne',
'ckb': 'Szoráni kurd',
'co': 'Korzikai',
'cr': 'Krí',
'crh': 'Krími tatár',
'cs': 'Cseh',
'csb': 'Kasub',
'cu': 'Óegyházi szláv',
'cv': 'Csuvas',
'cy': 'Walesi',
'da': 'Dán',
'de': 'Német',
'diq': 'Zázá',
'dsb': 'Alsószorb',
'dv': 'Maldív',
'dz': 'Dzongkha',
'ee': 'Eve',
'el': 'Görög',
'eml': 'Emiliano-romagnolo',
'eo': 'Eszperantó',
'es': 'Spanyol',
'et': 'Észt',
'eu': 'Baszk',
'ext': 'Extremadurai',
'fa': 'Perzsa',
'fi': 'Finn',
'fiu-vro': 'Võro',
'fj': 'Fidzsi',
'ff': 'Ful',
'fy': 'Nyugati fríz',
'fo': 'Feröeri',
'fr': 'Francia',
'frp': 'Frankoprovanszál',
'fur': 'Friuli',
'ga': 'Ír',
'gag': 'Gaguz',
'gan': 'Kan',
'gd': 'Skót gael',
'gl': 'Galiciai',
'glk': 'Gilaki',
'gn': 'Guarani',
'got': 'Gót',
'gu': 'Gudzsaráti',
'gv': 'Manx',
'ha': 'Hausza',
'hak': 'Hakka',
'haw': 'Hawaii',
'he': 'Héber',
'hi': 'Hindi',
'hif': 'Fidzsi hindi',
'ho': 'Hiri-motu',
'hr': 'Horvát',
'hsb': 'Felsőszorb',
'ht': 'Haiti kreol',
'hu': 'Magyar',
'hy': 'Örmény',
'ia': 'Interlingva',
'ie': 'Occidental',
'ii': 'Szecsuáni ji/lolo',
'ig': 'Igbo',
'id': 'Indonéz',
'ik': 'Inupiak',
'ilo': 'Ilokano',
'io': 'Ido',
'is': 'Izlandi',
'it': 'Olasz',
'iu': 'Inuktitut',
'ja': 'Japán',
'jbo': 'Lojban',
'jv': 'Jávai',
'ka': 'Grúz',
'kaa': 'Karakalpak',
'kab': 'Kabyle',
'kg': 'Kikongo',
'ki': 'Kikuju',
'kj': 'Kvanyama',
'kk': 'Kazak',
'kl': 'Grönlandi',
'km': 'Khmer',
'kn': 'Kannada',
'ko': 'Koreai',
'koi': 'Komi-permják',
'krc': 'Karacsáj-balkár',
'ks': 'Kasmíri',
'ksh': 'Ripuári',
'ku': 'Kurd',
'kv': 'Komi',
'kw': 'Korni',
'ky': 'Kirgiz',
'la': 'Latin',
'lad': 'Ladino',
'lb': 'Luxemburgi',
'lbe': 'Lak',
'lg': 'Ganda',
'li': 'Limburgi',
'lij': 'Ligur',
'lmo': 'Lombard',
'ln': 'Lingala',
'lo': 'Lao',
'lt': 'Litván',
'lv': 'Lett',
'map-bms': 'Malajálam',
'mdf': 'Moksa',
'mg': 'Malgas',
'mh': 'Marshall-szigeteki',
'mhr': 'Mari',
'mi': 'Maori',
'ml': 'Malajálam',
'mk': 'Macedón',
'mn': 'Mongol',
'mo': 'Moldovai',
'mr': 'Maráthi',
'mrj': 'Hegyi mari',
'ms': 'Maláj',
'mt': 'Máltai',
'my': 'Burmai',
'myv': 'Erza',
'mwl': 'Mirandai',
'mzn': 'Mázandaráni',
'na': 'Naurui',
'nah': 'Azték',
'nap': 'Nápolyi',
'nds': 'Alnémet',
'nds-nl': 'Holland alsószász',
'ne': 'Nepáli',
'new': 'Névári',
'ng': 'Ndonga',
'nl': 'Holland',
'nn': 'Újnorvég',
'no': 'Norvég',
'nov': 'Novial',
'nrm': 'Normandiai',
'nv': 'Navahó',
'ny': 'Cseva',
'oc': 'Okcitán',
'om': 'Oromo',
'or': 'Orija',
'os': 'Oszét',
'pa': 'Pandzsábi',
'pag': 'Pangasinan',
'pam': 'Pampanga',
'pap': 'Papiamentu',
'pdc': 'Pennsylvaniai német',
'pi': 'Páli',
'pih': 'Norfuk',
'pl': 'Lengyel',
'pms': 'Piemonti',
'pnb': 'Nyugati pandzsábi',
'pnt': 'Pontuszi görög',
'ps': 'Pasto',
'pt': 'Portugál',
'qu': 'Kecsua',
'ro': 'Román',
'roa-rup': 'Aromán',
'roa-tara': 'Tarantino',
'rm': 'Rétoromán',
'rmy': 'Romani',
'rn': 'Kirundi',
'ru': 'Orosz',
'rue': 'Ruszin',
'rw': 'Kinyarvanda',
'sa': 'Szanszkrit',
'sah': 'Jakut/szaha',
'se': 'Északi számi',
'sc': 'Szárd',
'scn': 'Szicíliai',
'sco': 'Skóciai angol',
'sd': 'Szindhi',
'sh': 'Szerbhorvát',
'sg': 'Szango',
'si': 'Szingaléz',
'simple': 'Egyszerűsített angol',
'sk': 'Szlovák',
'sl': 'Szlovén',
'sm': 'Szamoai',
'sn': 'Sona',
'so': 'Szomáli',
'sq': 'Albán',
'sr': 'Szerb',
'srn': 'Sranan',
'ss': 'Swati',
'st': 'Szoto',
'stq': 'Saterlandi fríz',
'su': 'Szundai',
'sv': 'Svéd',
'sw': 'Szuahéli',
'szl': 'Sziléziai',
'ta': 'Tamil',
'te': 'Telugu',
'tet': 'Tetum',
'tg': 'Tádzsik',
'th': 'Thai',
'ti': 'Tigrinya',
'tk': 'Türkmén',
'tl': 'Tagalog',
'tn': 'Csvana',
'to': 'Tonga',
'tpi': 'Tok-piszin',
'tr': 'Török',
'ts': 'Conga',
'tt': 'Tatár',
'tum': 'Tumbuka',
'tw': 'Tvi',
'ty': 'Tahiti',
'udm': 'Udmurt',
'ug': 'Ujgur',
'uk': 'Ukrán',
'ur': 'Urdu',
'uz': 'Üzbég',
've': 'Venda',
'vec': 'Velencei',
'vi': 'Vietnami',
'vls': 'Nyugati flamand',
'vo': 'Volapük',
'wa': 'Vallon',
'war': 'Waray',
'wo': 'Volof',
'wuu': 'Wu',
'xal': 'Kalmük',
'xh': 'Yhosza',
'yi': 'Jiddis',
'yo': 'Joruba',
'za': 'Csuang',
'zea': 'Zeelandi',
'zh': 'Kínai',
'zh-classical': 'Klasszikus kínai',
'zh-min-nan': 'Min Nan',
'zh-yue': 'Kantoni',
'zu': 'Zulu'
};
function init() {
$langUl = $( '#p-lang ul:first' );
var $nodes = $langUl.children( 'li.interlanguage-link' );
if ( !$nodes.length ) return;
// enwiki miatt, mert ott a completelist nem osztály, hanem id
$nodes.find( '#interwiki-completelist' ).addClass( 'interwiki-completelist' );
var i = 1;
$nodes.each( function () {
if ( $( this ).children().first().is( 'a' ) ) {
bovit( this, i++ );
}
} );
createMenu();
changeLang( localStorage.getItem( 'interwikiNyelv' ) - 1, true );
// ha értelmetlen eredményt kapunk, azt a függvény kezeli
}
function bovit( node, eredetiSorrend ) {
// Nyelvkód meghatározása a <li> id-jából (pl. interwiki-en)
var nyelv = node.className.match( /interwiki-(*)/ );
var magyarul = langList || nyelv;
if ( node.childNodes !== undefined && node.childNodes.nodeName == '#text' )
node.removeChild(node.childNodes); //IE hiba jav
// Magyar név hozzáadása zárójel nélküli alakban
var $ujlink1 = $( '<a>' )
.attr( 'href', node.childNodes.href )
.text( magyarul )
.data( 'rendnyelv', magyarul )
.appendTo( node )
.hide();
// Magyar név hozzáadása zárójeles alakban
var $ujlink2 = $( '<a>' )
.attr( 'href', node.childNodes.href )
.text( $( node.childNodes ).text() + ' ' )
.append( $( '<span>' )
.addClass( 'iwt-tr' )
.text( '(' + magyarul + ')' )
)
.data( 'rendnyelv', eredetiSorrend )
.appendTo( node )
.hide();
$( node ).children( ':first' ).data( 'rendnyelv', eredetiSorrend );
}
function sort( type ) {
function listSort(a, b) {
if (a.childNodes !== undefined && b.childNodes !== undefined) {
a = $( a.childNodes ).data( 'rendnyelv' );
b = $( b.childNodes ).data( 'rendnyelv' );
if ( type === 1 ) { // magyar sorrend szerint, szavak vannak
return a.localeCompare( b, 'hu', { sensitivity: 'base' } );
} else { // eredeti sorrend szerint, számok vannak
return a - b;
}
}
}
var $list = $langUl.find( 'li.interlanguage-link' );
// Rendezés
$list.sort( listSort );
// Végül újraépítjük a listát – a További nyelvek és a Teljes lista elé
$langUl.prepend( $list );
}
function createMenu() {
function createOption( text, id ) {
return (
$( '<li>' )
.append( $( '<a>' )
.attr( 'href', '#' )
.text( text )
.data( 'iwt-id', id )
.click( changeLang )
)
);
}
$( '<ul>' )
.attr( 'id', 'interwikiNyelvValtMenu' )
.append(
createOption( 'Eredeti', 0 ),
createOption( 'Magyar', 1 ),
createOption( 'Vegyes', 2 )
)
.insertBefore( $langUl );
}
function changeLang( type, nemrendez ) {
if ( // eseményt kaptunk
typeof type === 'object' &&
typeof type.preventDefault === 'function' &&
typeof type.target === 'object'
) {
type.preventDefault();
type = $( type.target ).data( 'iwt-id' );
}
if ( .indexOf( type ) < 0 ) type = 0; // biztos, ami biztos
var $nyelvMenu = $( '#interwikiNyelvValtMenu' );
// Menü átváltása és rendezés
if ( !nemrendez || type === 1 ) { // a magyart betöltéskor is rendezzük
sort( type );
}
$nyelvMenu.find( 'a' ).removeClass( 'iwt-sel' ).eq( type ).addClass( 'iwt-sel' );
// Minden nyelvre beállítja a láthatóságot
$langUl.find( 'li.interlanguage-link' ).each( function () {
$( this ).children().hide().eq( type ).show();
} );
if ( !nemrendez ) { // Csak akkor mentjük a sütit, ha kattintással hívódott meg a függvény
var time = new Date();
time.setTime( time.getTime() + 60 * 24 * 3600000 ); // 60 nap
// type + 1, mert a 0 IE-ben törli
localStorage.setItem( 'interwikiNyelv', type + 1, time );
}
return false;
}
$( init );