User:Tim Laqua/CharInsert Dropdown

de.wikipedia.org has some pretty cool CharInsert dropdowns - here's how they did it.
First, Install the CharInsert Extension - Then, change these articles in your Wiki:

MediaWiki:Common.js

edit
// ============================================================
// BEGIN import Onlyifediting-functions
// SEE ALSO MediaWiki:Onlyifediting.js

 if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) {
   document.write('<script type="text/javascript" src="/wiki/index.php?title='+
                  'MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript&dontcountme=s">'+
                  '</script>');
 }
// END import Onlyifediting-functions
// ============================================================


MediaWiki:Onlyifediting.js

edit
function addCharSubsetMenu() {
  var specialchars = document.getElementById('specialchars');

  if (specialchars) {
    var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
    menu += "<option>Standard</option>";
    menu += "<option>WikiSyntax</option>";
    menu += "<option>IPA-Lautschrift</option>";
    menu += "<option>Lateinisch</option>";
    menu += "<option>AHD</option>";
    menu += "<option>Altenglisch</option>";
    menu += "<option>Altgriechisch</option>";
    menu += "<option>Arabisch</option>";
    menu += "<option>DMG-Umschrift</option>";
    menu += "<option>Esperanto</option>";
    menu += "<option>Estnisch</option>";
    menu += "<option>Französisch</option>";
    menu += "<option>Galicisch</option>";
    menu += "<option>Griechisch</option>";
    menu += "<option>Hawaiianisch</option>";
    menu += "<option>Isländisch</option>";
    menu += "<option>Italienisch</option>";
    menu += "<option>Jiddisch</option>";
    menu += "<option>Katalanisch</option>";
    menu += "<option>Kroatisch</option>";
    menu += "<option>Kyrillisch</option>";
    menu += "<option>Lettisch</option>";
    menu += "<option>Litauisch</option>";
    menu += "<option>Maltesisch</option>";
    menu += "<option>Pinyin</option>";
    menu += "<option>Polnisch</option>";
    menu += "<option>Portugiesisch</option>";
    menu += "<option>Romanisch</option>";
    menu += "<option>Rumänisch</option>";
    menu += "<option>Serbisch</option>";
    menu += "<option>Skandinavisch</option>";
    menu += "<option>Slowakisch</option>";
    menu += "<option>Spanisch</option>";
    menu += "<option>Tschechisch</option>";
    menu += "<option>Türkisch</option>";
    menu += "<option>Ungarisch</option>";
    menu += "<option>Vietnamesisch</option>";
    menu += "</select>";
    specialchars.innerHTML = menu + specialchars.innerHTML;
    
    // Standard-CharSubset
    chooseCharSubset(0);
  }
}

// CharSubset-Auswahl
function chooseCharSubset(s) {
  var l = document.getElementById('specialchars').getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
    l[i].style.display = i == s ? 'inline' : 'none';
  }
}

addOnloadHook(addCharSubsetMenu);

MediaWiki:Edittools

edit
<!-- 
*************************************************************************
Neue Sprachen unbedingt auch in [[MediaWiki:Onlyifediting.js]] eintragen. 
*************************************************************************
-->
<div id="specialchars" style="margin-top:3px; border-style:solid; border-width:1px; border-color:#aaaaaa; padding:1px; text-align:left; background-color:white;" title="Klicke auf das gewünschte Sonderzeichen">

<p class="specialbasic" id="Standard">
[[Hilfe:Sonderzeichen|Sonderzeichen]]:
<charinsert> Ä ä Ö ö ß Ü ü </charinsert> |
<charinsert>„+“ ’ ‚+‘ “+” «+» –</charinsert> |
<charinsert>+ − · × ÷ ≈ ≠ ± ≤ ≥ ² ³ ½ € † # * ‰ § ¢ £ ¥ $ ¿ ¡ ∞ ‣ • 〈〉 … → ↔</charinsert> |
<charinsert>&+nbsp; [[+]] | {{+}} ~~~~</charinsert> |
<charinsert>° ′ ″ </charinsert>
</p>

<p class="specialbasic" id="WikiSyntax" style="display:none">
WikiSyntax:
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert> [[Kategorie:+]] [[Bild:+]] #REDIRECT [[+]] <ref>+</ref> <ref name="+"></ref> <ref name="+" /> <references /> <code>+</code> + <noinclude>+</noinclude> <includeonly>+</includeonly> </charinsert></font> 
</p>

<p class="specialbasic" id="IPA" style="display:none">
[[Wikipedia:Liste der IPA-Zeichen|IPA-Lautschrift]]: 
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>p t̪ t ʈ c k q ʡ ʔ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>b d̪ d ɖ ɟ ɡ ɢ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ɓ ɗ ʄ ɠ ʛ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ʦ ʧ ʨ ʣ ʤ ʥ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ɸ f θ s ʃ ʅ ʆ ʂ ɕ ç ɧ x χ ħ ʜ h</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>β v ʍ ð z ʒ ʓ ʐ ʑ ʝ ɣ ʁ ʕ ʖ ʢ ɦ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ɬ ɮ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>m m̩ ɱ ɱ̩ ɱ̍ n̪ n̪̍ n n̩ ɳ ɳ̩ ɲ ɲ̩ ŋ ŋ̍ ŋ̩ ɴ ɴ̩</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ʙ ʙ̩ r r̩ ʀ ʀ̩</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ɾ ɽ ɿ ɺ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>l̪ l̪̩ l l̩ ɫ ɫ̩ ɭ ɭ̩ ʎ ʎ̩ ʟ ʟ̩</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>w ɥ ʋ ɹ ɻ j ɰ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ʘ ǂ ǀ ! ǁ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ʰ ʱ ʷ ʸ ʲ ʳ ⁿ ˡ ʴ ʵ ˢ ˣ ˠ ʶ ˤ ˁ ˀ ʼ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>i i̯ ĩ y y̯ ỹ ɪ ɪ̯ ɪ̃ ʏ ʏ̯ ʏ̃ ɨ ɨ̯ ɨ̃ ʉ ʉ̯ ʉ̃ ɯ ɯ̯ ɯ̃ u u̯ ũ ʊ ʊ̯ ʊ̃</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>e e̯ ẽ ø ø̯ ø̃ ɘ ɘ̯ ɘ̃ ɵ ɵ̯ ɵ̃ ɤ ɤ̯ ɤ̃ o o̯ õ</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ɛ ɛ̯ ɛ̃ œ œ̯ œ̃ ɜ ɜ̯ ɜ̃ ə ə̯ ə̃ ɞ ɞ̯ ɞ̃ ʌ ʌ̯ ʌ̃ ɔ ɔ̯ ɔ̃</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>æ æ̯ æ̃ ɶ ɶ̯ ɶ̃ a a̯ ã ɐ ɐ̯ ɐ̃ ɑ ɑ̯ ɑ̃ ɒ ɒ̯ ɒ̃</charinsert></font> • <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;">
<charinsert>ˈ ˌ ː ˑ ˘ . ‿ | ‖</charinsert></font>
</p>

<p class="specialbasic" style="display:none">
Lateinisch: 
<charinsert>Á á Ć ć É é Í í Ó ó Ś ś Ú ú Ý ý Ǿ ǿ</charinsert> ···
<charinsert>À à È è Ì ì Ò ò Ù ù</charinsert> ···
<charinsert>Â â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô ŝ Ŝ Û û</charinsert> ···
<charinsert>Ä ä Ë ë Ï ï Ö ö Ü ü ÿ</charinsert> ···
<charinsert>Ã ã Ñ ñ Õ õ</charinsert> ···
<charinsert>Å å</charinsert> ···
<charinsert>Ç ç</charinsert> ···
<charinsert>Č č Š š ŭ</charinsert> ···
<charinsert>Ł ł</charinsert> ···
<charinsert>Ő ő Ű ű</charinsert> ···
<charinsert>Ø ø</charinsert> ···
<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū Ȳ ȳ</charinsert> ···
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>Ă ă Ĕ ĕ Ğ ğ Ĭ ĭ Ŏ ŏ Ŭ ŭ Y̆ y̆</charinsert></font> ...
<charinsert>ß</charinsert> ...
<charinsert>Æ æ Œ œ</charinsert> ··· 
<charinsert>Ð ð Þ þ |</charinsert><br />
</p>

<p class="speciallang" style="display:none">
AHD-Lautschrift: 
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>ā ă ä â ē ĕ ī ĭ î ō ŏ ô ŭ o͞o</charinsert></font> („food") <font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>o͝o</charinsert></font> („foot") <charinsert>û ə</charinsert> ··· 
</p>

<p class="speciallang" style="display:none">
Altenglisch: 
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>Ā ā Æ æ Ǣ ǣ Ǽ ǽ Ċ ċ Ð ð Ē ē Ġ ġ Ī ī Ō ō Ū ū Ƿ ƿ Ȳ ȳ Þ þ Ȝ ȝ</charinsert></font>
</p>

<p class="speciallang" style="display:none">
Altgriechisch: 
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>Α α Ά ά Β β Γ γ Δ δ Ε ε Έ έ Ζ ζ Η η Ή ή Θ θ Ι ι Ί ί Ϊ ϊ ΐ Κ κ Λ λ Μ μ Ν ν Ξ ξ Ο ο  Ό ό Π π Ρ ρ Σ σ ς Τ τ Υ υ Ϋ ϋ Ύ ύ ΰ Φ φ Χ χ Ψ ψ Ω ω Ώ ώ ; · ἀ ἁ ὰ ᾶ ἂ ἃ ἄ ἅ ἆ ἇ ᾳ ᾀ ᾁ ᾴ ᾲ ᾷ ᾄ ᾅ ᾂ ᾃ ᾆ ᾇ ἐ ἑ ὲ ἔ ἕ ἒ ἓ ἠ ἡ ὴ ῆ ἤ ἢ ἣ ἥ ἦ ἧ ῃ ῄ ῂ ῇ ᾐ ᾑ ᾔ ᾒ ᾕ ᾓ ᾖ ᾗ ἰ ἱ ὶ ῖ ἴ ἲ ἵ ἳ ἶ ἷ ὸ ὀ ὁ ὄ ὅ ὂ ὃ ῤ ῥ ὐ ὑ ὺ ῦ ὔ ὕ ὒ ὓ ὖ ὗ ὠ ὡ ὼ ῶ ὤ ὢ ὥ ὣ ὦ ὧ ῳ ῴ ῲ ῷ ᾠ ᾡ ᾤ ᾢ ᾥ ᾣ ᾦ ᾧ ` ᾿ ῾ ῍ ῎ ῏ ῟ ῞ ῝ ῍ ῎ Ϝ ϝ Ϙ ϙ Ϡ ϡ</charinsert></font>
</p>

<p class="speciallang" style="display:none">
Arabisch: 
<span style="font-family: 'Traditional Arabic', 'Arial Unicode MS' , 'Lucida Sans Unicode' , 'MS Mincho', sans-serif; font-size: 1.5em"><charinsert>؛ ؟ ء آ أ ؤ إ ئ ا ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي ،</charinsert>··· 
<charinsert>پ  چ  ژ  گ  ڭ </charinsert></span>
</p>

<p class="speciallang" style="display:none">
DMG-Umschrift: 
<charinsert>ʾ ʿ Ā ā Č č Ḍ ḍ Ḏ ḏ Ǧ ǧ Ġ ġ Ḥ ḥ Ḫ ḫ Ī ī ḷ ŋ Ṣ ṣ Š š Ṭ ṭ Ṯ ṯ Ū ū Ẓ ẓ Ẕ ẕ Ž ž</charinsert>
</p>

<p class="speciallang" style="display:none">
Esperanto: 
<charinsert>Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ</charinsert>
</p>

<p class="speciallang" style="display:none">
Estnisch: 
<charinsert>Č č Š š Ž ž Õ õ Ä ä Ö ö Ü ü</charinsert>
</p>

<p class="speciallang" style="display:none">
Französisch: 
<charinsert>À à  â Ç ç É é È è Ê ê Ë ë Î î Ï ï Ô ô Œ œ Ù ù Û û Ü ü Ÿ ÿ</charinsert>
</p>

<p class="speciallang" style="display:none">
Galicisch: 
<charinsert>Á á À à Â â Ä ä É é È è Ê ê Ë ë Ì ì Î î Ï ï Ó ó Ò ò Ô ô Ö ö Ù ù Û û Ẁ ẁ Ŵ ŵ Ẅ ẅ Ý ý Ỳ ỳ Ŷ ŷ Ÿ ÿ</charinsert>
</p>

<p class="specialbasic" style="display:none">
Griechisch: 
<charinsert>Α Ά Β Γ Δ Ε Έ Ζ Η Ή Θ Ι Ί Κ Λ Μ Ν Ξ Ο Ό Π Ρ Σ Τ Υ Ύ Φ Χ Ψ Ω Ώ</charinsert>  ··· 
<charinsert>α ά β γ δ ε έ ζ η ή θ ι ί κ λ μ ν ξ ο ό π ρ σ ς τ υ ύ φ χ ψ ω ώ</charinsert><br />
</p>

<p class="speciallang" style="display:none">
Hawaiianisch: 
<font face="Arial Unicode MS,Lucida Sans Unicode,MS Mincho,Arial,sans-serif" style="text-decoration:none;"><charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū ʻ</charinsert></font>
</p>

<p class="speciallang" style="display:none">
Isländisch: 
<charinsert>Á á Ð ð É é Í í Ó ó Ú ú Ý ý Þ þ Æ æ Ö ö ǫ</charinsert>
</p>

<p class="speciallang" style="display:none">
Italienisch: 
<charinsert>Á á À à É é È è Í í Ì ì Ó ó Ò ò Ú ú Ù ù</charinsert>
</p>

<p class="speciallang" style="display:none">
Jiddisch: 
<charinsert> א אַ אָ ב בֿ ג ד ה ו וּ װ ױ ז זש ח ט י יִ ײ ײַ כ ך כּ ל ל+ מ ם נ ן ס ע ע+ פ פּ פֿ ף צ ץ ק ר ש שׂ תּ ת ׳ ״ ־ </charinsert>
</p>

<p class="speciallang" style="display:none">
Katalanisch: 
<charinsert>Á á À à Ç ç É é È è Ë ë Í í Ï ï Ó ó Ò ò Ö ö Ú ú Ù ù</charinsert>
</p>

<p class="speciallang" style="display:none">
Kroatisch/Serbisch/Bosnisch: 
<charinsert>Č č Ć ć Dž dž Đ đ Š š Ž ž</charinsert>
</p>

<p class="specialbasic" style="display:none">
Kyrillisch: 
<charinsert>А Ә Б В Г Ґ Ѓ Ғ Д Ђ Е Є Ё Ж З Ѕ И І Ї İ Й Ӣ Ј К Ќ Қ Л Љ М Н Њ Ң О Ө П Р С Т Ћ У Ў Ӯ Ұ Ү Ф Х Ҳ Һ Ц Ч Ҷ Џ Ш Щ Ъ Ы Ь Э Ю Я</charinsert> ··· 
<charinsert>а ә б в г ґ ѓ ғ д ђ е є ё ж з ѕ и і ї й ӣ ј к ќ қ л љ м н њ ң о ө п р с т ћ у ў ӯ ұ ү ф х ҳ һ ц ч ҷ џ ш щ ъ ы ь э ю я</charinsert><br />
</p>

<p class="specialbasic" style="display:none">
Lettisch: 
<charinsert>Ā Č Ē Ģ Ī Ķ Ļ Ņ Š Ū Ž </charinsert> ··· 
<charinsert>ā č ē ģ ī ķ ļ ņ š ū ž </charinsert><br />
</p>

<p class="specialbasic" style="display:none">
Litauisch: 
<charinsert>Ą Č Ę Ė Į Š Ų Ū Ž </charinsert> ··· 
<charinsert>ą č ę ė į š ų ū ž </charinsert><br />
</p>

<p class="speciallang" style="display:none">
Maltesisch: 
<charinsert>Ċ ċ Ġ ġ Ħ ħ Ż ż</charinsert>
</p>

<p class="speciallang" style="display:none">
Pinyin: 
<charinsert>Á á À à Ǎ ǎ Ā ā É é È è Ě ě Ē ē Í í Ì ì Ǐ ǐ Ī ī Ó ó Ò ò Ǒ ǒ Ō ō Ú ú Ù ù Ü ü Ǔ ǔ Ū ū Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ</charinsert>
</p>

<p class="speciallang" style="display:none">
Polnisch: 
<charinsert>ą Ą ć Ć ę Ę ł Ł ń Ń ó Ó ś Ś ź Ź ż Ż</charinsert>
</p>

<p class="speciallang" style="display:none">
Portugiesisch: 
<charinsert>Á á À à Â â Ã ã Ç ç É é Ê ê Í í Ó ó Ô ô Õ õ Ú ú Ü ü</charinsert>
</p>

<p class="speciallang" style="display:none">
Romanisch: 
<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū</charinsert>
</p>

<p class="speciallang" style="display:none">
Rumänisch: 
<charinsert>Ă ă Â â Î î Ș ș Ț ț</charinsert>
</p>

<p class="speciallang" style="display:none">
Serbisch: 
<charinsert>А а Б б В в Г г Д д Ђ ђ Е е Ж ж З з И и Ј ј К к Л л Љ љ М м Н н Њ њ О о П п Р р С с Т т Ћ ћ У у Ф ф Х х Ц ц Ч ч Џ џ Ш ш</charinsert>
</p>

<p class="speciallang" style="display:none">
Skandinavisch: 
<charinsert>À à É é Å å Æ æ Ä ä Ø ø Ö ö</charinsert>
</p>

<p class="speciallang" style="display:none">
Slowakisch: 
<charinsert>Á á Č č Ď ď É é Í í Ľ ľ Ň ň Ó ó Ô ô Ŕ ŕ Š š Ť ť Ú ú Ý ý Ž ž</charinsert>
</p>

<p class="speciallang" style="display:none">
Spanisch: 
<charinsert>Á á É é Í í Ñ ñ Ó ó Ú ú Ü ü ¡ ¿</charinsert>
</p>

<p class="speciallang" style="display:none">
Tschechisch: 
<charinsert>Á á Č č Ď ď É é Ě ě Í í Ň ň Ó ó Ř ř Š š Ť ť Ú ú Ů ů Ý ý Ž ž</charinsert>
</p>

<p class="speciallang" style="display:none">
Türkisch: 
<charinsert>Â Ə Ç Ğ G‘ Î İ Ñ Ň O‘ Ş Û Ý Ž</charinsert> | 
<charinsert>â ə ç ğ g‘ î ı ñ ň o‘ ş û ý ž</charinsert>
</p>

<p class="speciallang" style="display:none">
Ungarisch: 
<charinsert>á é í Ő ö ó ő Ű ú ü ű</charinsert>
</p>

<p class="speciallang" style="display:none">
Vietnamesisch: 
<charinsert>À à Ả ả Á á Ạ ạ Ã ã Ă ă Ằ ằ Ẳ ẳ Ẵ ẵ Ắ ắ Ặ ặ Â â Ầ ầ Ẩ ẩ Ẫ ẫ Ấ ấ Ậ ậ Đ đ È è Ẻ ẻ Ẽ ẽ É é Ẹ ẹ Ê ê Ề ề Ể ể Ễ ễ Ế ế Ệ ệ Ỉ ỉ Ĩ ĩ Í í Ị ị Ì ì Ỏ ỏ Ó ó Ọ ọ Ò ò Õ õ Ô ô Ồ ồ Ổ ổ Ỗ ỗ Ố ố Ộ ộ Ơ ơ Ờ ờ Ở ở Ỡ ỡ Ớ ớ Ợ ợ Ù ù Ủ ủ Ũ ũ Ú ú Ụ ụ Ư ư Ừ ừ Ử ử Ữ ữ Ứ ứ Ự ự Ỳ ỳ Ỷ ỷ Ỹ ỹ Ỵ ỵ Ý ý</charinsert>
</p>
</div>