No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
{ | { | ||
var translation_bar = document.getElementById('translation_bar'); | var translation_bar = document.getElementById('translation_bar'); | ||
if ( | if (typeof translation_bar == 'undefined' && failsafe < 5) | ||
{ | { | ||
setTimeout("create_translation_dropdown();", 250); | setTimeout("create_translation_dropdown();", 250); | ||
Line 11: | Line 11: | ||
var avail_languages = translation_bar.getElementsByTagName('a'); | var avail_languages = translation_bar.getElementsByTagName('a'); | ||
if ( | if (typeof avail_languages == 'undefined' && failsafe < 10) | ||
{ | { | ||
setTimeout("create_translation_dropdown();", 250); | setTimeout("create_translation_dropdown();", 250); | ||
Line 65: | Line 65: | ||
function getEnglishPage(aUrl) | function getEnglishPage(aUrl) | ||
{ | { | ||
aUrl.replace(aUrl.substr(aUrl.lastIndexOf('/') | return aUrl.replace(aUrl.substr(aUrl.lastIndexOf('/')), ''); | ||
} | } |
Latest revision as of 08:54, 24 April 2013
var failsafe = 0; function create_translation_dropdown () { var translation_bar = document.getElementById('translation_bar'); if (typeof translation_bar == 'undefined' && failsafe < 5) { setTimeout("create_translation_dropdown();", 250); failsafe++; return; } var avail_languages = translation_bar.getElementsByTagName('a'); if (typeof avail_languages == 'undefined' && failsafe < 10) { setTimeout("create_translation_dropdown();", 250); failsafe++; return; } // Get the <td> where the list is var tds = translation_bar.getElementsByTagName('td'); for (var i = 0; i < tds.length; i++) if (tds[i].className == 'mw-pt-languages-list') var list_position = tds[i]; var tSelect = document.createElement('select'); tSelect.onchange = function() { window.location = this.options[this.selectedIndex].value; }; var tSelectLang = document.createElement('option'); tSelectLang.value = window.location.href; tSelectLang.style = 'background: url(http://wiki.simplemachines.org/extensions/Translate/images/prog-5.png) rgba(0,0,0,0);'; tSelectLang.appendChild(document.createTextNode('Select your language')); tSelect.appendChild(tSelectLang); var tEnglish = document.createElement('option'); tEnglish.value = getEnglishPage(window.location.href); tEnglish.style = 'background: url(http://wiki.simplemachines.org/extensions/Translate/images/prog-5.png) rgba(0,0,0,0);'; tEnglish.appendChild(document.createTextNode('English')); tSelect.appendChild(tEnglish); var langs = avail_languages.length; for (var i = 0; i < langs; i++) { var tOption = document.createElement('option'); tOption.value = avail_languages[0].href; var tImg = avail_languages[0].getElementsByTagName('img')[0]; if (tImg == undefined) continue; tOption.style = 'background: url(' + tImg.src + ') rgba(0,0,0,0);'; avail_languages[0].removeChild(tImg); if (avail_languages[0].innerHTML.replace(/^\s\s*/, '').replace(/\s\s*$/, '') != '') { tOption.appendChild(document.createTextNode(avail_languages[0].innerHTML)); tSelect.appendChild(tOption); } avail_languages[0].parentNode.removeChild(avail_languages[0]); } list_position.innerHTML = ''; list_position.appendChild(tSelect); } setTimeout("create_translation_dropdown();", 250); function getEnglishPage(aUrl) { return aUrl.replace(aUrl.substr(aUrl.lastIndexOf('/')), ''); }