미디어위키:Minerva.js: 두 판 사이의 차이
Resultofunion (토론 | 기여) 편집 요약 없음 |
Resultofunion (토론 | 기여) 편집 요약 없음 |
||
| 84번째 줄: | 84번째 줄: | ||
}); | }); | ||
if ( mw.config.get('skin') === 'minerva' ) { | |||
mw. | |||
$( | // 1) 인터위키 링크 가져오기 (#p-lang 기준) | ||
var $interwikiLinks = $('#p-lang .vector-menu-content-list .interlanguage-link a'); | |||
if ($interwikiLinks.length === 0) { | |||
console.warn('모바일 언어 메뉴: 인터위키 링크가 없습니다.'); | |||
return; | |||
} | |||
// 2) 한국어 병기용 매핑 | |||
var langMap = { | |||
'ko': '한국어', | |||
'en': '영어', | |||
'es': '스페인어', | |||
'vi': '베트남어', | |||
'ne': '네팔어', | |||
'pt': '포르투갈어' | |||
}; | |||
// 3) 모바일 ul 선택 후 기존 내용 비우기 | |||
var $list = $('#mobile-language'); | |||
$list.empty(); // <ul id="mobile-language"> 안의 li 전부 제거 | |||
// 4) 인터위키 데이터를 이용해 li + a 생성 | |||
$interwikiLinks.each(function () { | |||
var $a = $(this); | |||
var href = $a.attr('href'); // 문서별 언어 URL | |||
var langCode = $a.attr('lang'); // en, es, vi ... | |||
var autonym = $a.find('span').text() || $a.text(); // English, Español ... | |||
var korean = langMap[langCode] || ''; | |||
var labelText = korean ? (autonym + ' (' + korean + ')') : autonym; | |||
var $li = $('<li>'); | |||
var $new = $('<a>', { | |||
href: href, | |||
text: labelText | |||
}); | }); | ||
$li.append($new); | |||
$list.append($li); | |||
}); | }); | ||
} | } | ||