/* * Knávom, azaz a kínai nevek átírását váltogató mechanika. * * A [[MediaWiki:Common.js]] tölti be, a [[Sablon:Kínai]] párja. */ kinai_primary = 'pinyin'; function kinai_switch() { var elements = document.getElementsByTagName('span'); for (var i = 0; i < elements.length; i++) { if (elements[i].className != 'kinai-szoveg') { continue; } var pinyin = ''; var magyaros = ''; var hanzi = ''; var egyeb = ''; var cimszo = 0; var hidden = 0; var children = elements[i].getElementsByTagName('span'); for (var j = 0; j < children.length; j++) { switch (children[j].className) { case 'pinyin': pinyin = children[j].innerHTML; break; case 'magyaros': magyaros = children[j].innerHTML; break; case 'hanzi': hanzi = children[j].innerHTML; break; case 'egyeb': egyeb = children[j].innerHTML; break; case 'cimszo': cimszo = 1; break; case 'hidden': hidden = 1; break; } } var str0 = ''; var str1 = ''; if (kinai_primary == 'pinyin') { str0 = '' + magyaros + ''; if (hanzi || egyeb) { if (hanzi) { str1 = '(' + hanzi + ', '; } else { str1 = '('; } str1 += '' + pinyin + ''; if (egyeb) { str1 += ', ' + egyeb + ')'; } else { str1 += ')'; } } else { str1 = '(' + pinyin + ')'; } } else { str0 = '' + pinyin + ''; if (hanzi || egyeb) { if (hanzi) { str1 = '(' + hanzi + ', '; } else { str1 = '('; } str1 += '' + magyaros + ''; if (egyeb) { str1 += ', ' + egyeb + ')'; } else { str1 += ')'; } } else { str1 = '(' + magyaros + ')'; } } if (cimszo) { str0 = '' + str0 + ''; } if (hidden) { elements[i].innerHTML = str0 + ''; } else { elements[i].innerHTML = str0 + ' ' + str1; } } if (kinai_primary == 'pinyin') { kinai_primary = 'magyaros'; document.cookie = 'kinai_primary=magyaros;path=/;expires=Tue, 19 Jan 2038 03:14:07 GMT'; } else { kinai_primary = 'pinyin'; document.cookie = 'kinai_primary=pinyin;path=/;expires=Tue, 19 Jan 2038 03:14:07 GMT'; } } addOnloadHook(function () { if (!document.getElementById || !document.getElementsByTagName) { return; } /* * Csak akkor rakjuk ki a fület, ha van a cikkben megjelölt kínai név. */ var kinai_inside = 0; var spans = document.getElementsByTagName('span'); for (var i = 0; i < spans.length; i++) { if (spans[i].className == 'kinai-szoveg') { kinai_inside = 1; break; } } if (!kinai_inside) { return; } /* * Odacsapjuk a fület. */ addPortletLink('p-cactions', 'javascript:kinai_switch();', 'p./m.', 'ca-kinai-switch', 'Váltás pinyin és magyaros átírás közt'); /* * Váltunk is rögtön, ha a user korábban magyarost választott. Persze ezt szebben is lehetne. */ if (document.cookie.indexOf('kinai_primary=magyaros') != -1) { kinai_switch(); } });