MediaWiki:Edittools.javascript

/*

Inserción de caracteres especiales en la caja de edición
Aquí se definen las listas de caracteres especiales que aparecen bajo la caja de edición. Anteriormente se definían en MediaWiki:Edittools y MediaWiki:Monobook.js les agregaba un menú. Esto tenía varias desventajas: La solución es dejar en MediaWiki:Edittools un conjunto mínimo de caracteres especiales indispensables y generar los distintos recuadros y el menú directamente mediante javascript. Esto trae los siguiente beneficios: A su vez, tiene algunas desventajas:
 * Los que no usaban monobook o no usaban javascript sólo veían el primer recuadro. El resto quedaba oculto por el CSS, y no podían acceder a ellos ya que el menú no les aparecía.
 * A los que no usaban CSS les aparecían todos los recuadros bajo la caja de edición. Varias páginas de caracteres especiales, la mayoría redundantes o innecesarios.
 * El código generado eran unos 90 KB que se agregaba al HTML de todas las páginas de edición, sin posibilidad de cachearlo a pesar de ser invariable.
 * La página queda aligerada para los que usen y los que no usen esta funcionalidad.
 * Los datos y el código generador (este archivo) quedan en la caché del navegador del usuario.
 * Al usar una sintaxis distinta al &lt;charinsert> se pueden poner espacios y titles en los caracteres a insertar.
 * Hay que usar la sintaxis de javascript y no se pueden cometer errores.
 * No se reconoce la sintaxis wiki.
 * Requiere procesamiento del lado del usuario.

Instrucciones
Se definen cuatro (cinco) funciones:
 * — se usa para iniciar una nueva sección (y entrada en el menú).
 * — para insertar texto (separadores, &lt;br>s, lo que sea).
 * — sólo el equivalente a “ ”, para ahorrar tecleo.
 * — genera código para insertar el texto. Con un signo  se marca dónde debe quedar el cursor tras la inserción. Se le puede poner (el segundo parámetro es opcional) un title que se mostrará cuando el cursor del mouse pase por arriba del caracter.
 * — como el &lt;charinsert>: se separa el parámetro por los espacios y se genera código para insertar cada una de las partes.

A continuación se definen las funciones.

*/

function generaCaracteresEspeciales { var arr = []; var menu = [""]; var escapeHTML = function (txt) { txt = txt.replace(/&/g, '&amp;'); txt = txt.replace(//g, '&gt;'); return txt; },       escapeJS = function (txt) { txt = escapeHTML(txt); txt = txt.replace(/"/g, '\\"'); txt = txt.replace(/\\/, '\\\\'); txt = txt.replace(/'/g, "\\'"); return txt; },       seccion = function (nombre) { if (arr.length > 0) { arr[arr.length] = " "; }           arr[arr.length] = ""; menu[menu.length] = " " + nombre + " "; },       texto = function (txt) { arr[arr.length] = txt; },       p = function  { arr[arr.length] = " · "; },       caracter = function (car, title) { var pre = "", post = ""; if (car == "+") { pre = car; } else { var partes = car.split("+"); pre = partes.shift; post = partes.join("+"); }           arr[arr.length] = "" + escapeHTML(pre + post) + "\n";        },        caracteres = function (cars) {            var a = cars.split(/\s+/);            for (var i = 0; i < a.length; i++) {                if (a[i]) {                    caracter(a[i]);                }            }        };    /*

Varios
*/   seccion("Varios");

texto(" Sintaxis wiki "); p; caracter("+", "Enlace interno");          p; caracter("[+]", "Enlace externo");            p; caracter("", "Plantilla");               p; caracter("", "Parámetro");             p; caracter("[[Categoría:+]]", "Categorización"); p; caracter("", "Ordenamiento");    p; caracter("#REDIRECCIÓN +", "Redirección"); p; caracter("Archivo:+", "Enlace a imagen"); p; caracter("[[Media:+]]", "Inserción de contenido multimedia");     p; caracter("", "Galería de imágenes");          p; caracter(" ", "Inserción de referencias");             p; caracter(" ", "Inserción de nota al pie"); p; caracter("", "Comentario HTML");                        p; caracter("+<" + "/nowiki>", "Ignorar sintaxis wiki"); p; caracter(" ", "Espacio irrompible");     p; caracter("&thinsp;", "Espacio delgado");     p; caracter("+<" + "/code>", "Texto monoespaciado y resaltado"); p; caracter("+<" + "/pre>", "Párrafo de texto literal (monoespaciado)"); p; caracter("+<" + "/includeonly>", "El texto solo aparece en las páginas que usan la plantilla"); p; caracter("+<" + "/noinclude>", "El texto solo aparece en la plantilla"); p; caracter("+<" + "/s>", "Tacha el texto"); p; caracter("+<" + "/u>", "Subraya el texto"); p;

texto(" Tipografía ");   p; caracter("–", "Menos"); caracter("—", "Raya");                       p; caracter("“+”", "Comillas altas"); caracter("‘+’", "Comillas simples");         p; caracter("«+»", "Comillas latinas"); caracter("‹+›", "Comillas latinas simples"); p; caracter("„+“", "Comillas alemanas"); caracter("‚+‘", "Comillas alemanas simples"); p; caracter("¿+?", "Interrogación");            p; caracter("¡+!", "Exclamación");              p; caracteres("~ | °");                         p; caracteres("· ² ³ ½ € †");                   p; caracter("℃", "Grados Celsius");             p; caracter("℉", "Grados Fahrenheit");          p; caracter("№",          "Número");            p; caracter("§", "Signo de sección");           p;

texto(" Ordinales ");    p; caracteres("ª º");                           p;

texto(" Letras c/diacríticos "); p; caracteres("Á É Í Ñ Ó Ú Ü");                 p; caracteres("á é í ñ ó ú ü");                 p;

texto(" Lógica y Matem. ");       p; caracteres("∈ ⊂ ⊃ ⊄ ∩ ∪ ∅ ∃ ∄ ∧ ∨ ∀ ← → ⇒ ⇔ ∴"); p; caracteres("± × ÷ ≤ ≥ ≮ ≯ ≪ ≫ ≠ ≈ ≉ ≃ ≅ ≋ ≡");     p; caracteres("∑ ㏑ ㏒ π α β γ μ ω Ω ∞ ℕ ℤ ℚ ℝ ℂ"); /*

Números romanos
*/

seccion("Núm. romanos");

texto(" Mayúsculas "); p; caracter("Ⅰ",       "Uno"); p; caracter("Ⅱ",       "Dos"); p; caracter("Ⅲ",      "Tres"); p; caracter("Ⅳ",    "Cuatro"); p; caracter("Ⅴ",     "Cinco"); p; caracter("Ⅵ",      "Seis"); p; caracter("Ⅶ",     "Siete"); p; caracter("Ⅷ",      "Ocho"); p; caracter("Ⅸ",     "Nueve"); p; caracter("Ⅹ",      "Diez"); p; caracter("Ⅺ",      "Once"); p; caracter("Ⅻ",      "Doce"); p; caracter("Ⅼ", "Cincuenta"); p; caracter("Ⅽ",      "Cien"); p; caracter("Ⅾ", "Quinientos"); p; caracter("Ⅿ",       "Mil"); texto(" ");

texto(" Minúsculas "); p; caracter("ⅰ",       "Uno"); p; caracter("ⅱ",       "Dos"); p; caracter("ⅲ",      "Tres"); p; caracter("ⅳ",    "Cuatro"); p; caracter("ⅴ",     "Cinco"); p; caracter("ⅵ",      "Seis"); p; caracter("ⅶ",     "Siete"); p; caracter("ⅷ",      "Ocho"); p; caracter("ⅸ",     "Nueve"); p; caracter("ⅹ",      "Diez"); p; caracter("ⅺ",      "Once"); p; caracter("ⅻ",      "Doce"); p; caracter("ⅼ", "Cincuenta"); p; caracter("ⅽ",      "Cien"); p; caracter("ⅾ", "Quinientos"); p; caracter("ⅿ",       "Mil"); /*

Alfabeto latino con diacríticos
*/

seccion("Latino c/diacr.");

texto("á");                      p; caracteres("Á Ć É Í Ĺ Ń Ó Ŕ Ś Ú Ý Ź");  p; caracteres("á ć é í ĺ ń ó ŕ ś ú ý ź");  p;

texto("à");                      p; caracteres("À È Ì Ò Ù");                p; caracteres("à è ì ò ù");                p;

texto("â");                      p; caracteres("Â Ĉ Ê Ĝ Ĥ Î Ĵ Ô Ŝ Û Ŵ Ŷ Ẑ"); p; caracteres("â ĉ ê ĝ ĥ î ĵ ô ŝ û ŵ ŷ ẑ"); p;

texto("ä");                      p; caracteres("Ä Ë Ḧ Ï Ö Ü Ẅ Ẍ Ÿ");        p; caracteres("ä ë ḧ ï ö ü ẅ ẍ ÿ");        p;

texto("ã");                      p; caracteres("Ã Ẽ Ĩ Ñ Õ Ũ Ṽ Ỹ");          p; caracteres("ã ẽ ĩ ñ õ ũ ṽ ỹ");          p;

texto("č");                      p; caracteres("Č Ď Ě Ľ Ň Ř Š Ť Ž");        p; caracteres("č ď ě ľ ň ř š ť ž");        p;

texto("ā");                      p; caracteres("Ā Ē Ḡ Ī Ō Ū");              p; caracteres("ā ē ḡ ī ō ū");              p;

texto("ă");                      p; caracteres("Ă Ĕ Ğ Ĭ Ŏ Ŭ");              p; caracteres("ă ĕ ğ ĭ ŏ ŭ");              p;

texto("ç");                      p; caracteres("Ç Ḑ Ģ Ḩ Ķ Ļ Ņ Ŗ Ş Ţ");      p; caracteres("ç ḑ ģ ḩ ķ ļ ņ ŗ ş ţ");       p;

texto("å");                      p; caracteres("Å Ů");                      p; caracteres("å ů");                      p;

texto("ą");                      p; caracteres("Ą Ę Į Ǫ Ų");                p; caracteres("ą ę į ǫ ų");                p;

texto("ő");                      p; caracteres("Ő Ű");                      p; caracteres("ő ű");                      p;

texto("ø");                      p; caracteres("Đ Ǥ Ħ Ł Ø Ŧ Ƶ");            p; caracteres("đ ð ǥ ħ ł ø ŧ ƶ");          p;

caracteres("ß");                        p; caracteres("Æ æ Œ œ");                  p; caracteres("Þ þ"); /*

Alfabeto fonético internacional
*/

seccion("Alfabeto fonético");

caracteres(" ʈ ɖ ɟ ɡ ɢ ʡ ʔ ");            p; caracteres(" ɸ ʃ ʒ ɕ ʑ ʂ ʐ ʝ ɣ ʁ ʕ ʜ ʢ ɦ "); p; caracteres(" ɱ ɳ ɲ ŋ ɴ ");              p; caracteres(" ʋ ɹ ɻ ɰ ");                 p; caracteres(" ʙ ʀ ɾ ɽ ");                 p; caracteres(" ɫ ɬ ɮ ɺ ɭ ʎ ʟ ");             p; caracteres(" ɥ ʍ ɧ ");                  p; caracteres(" ɓ ɗ ʄ ɠ ʛ ");               p; caracteres(" ʘ ǀ ǃ ǂ ǁ ");               p; caracteres(" ɨ ʉ ɯ ");                   p; caracteres(" ɪ ʏ ʊ ");                   p; caracteres(" ɘ ɵ ɤ ");                   p; caracteres(" ɚ ");                      p; caracteres(" ɛ ɜ ɝ ɞ ʌ ɔ ");             p; caracteres(" ɐ ɶ ɑ ɒ ");                p; caracteres(" ʰ ʷ ʲ ˠ ˤ ⁿ ˡ ");              p; caracteres(" ˈ ˌ ː ˑ "); /*

Alemán
*/

seccion("Alemán");

caracteres("Ä Ö Ü"); p; caracteres("ä ö ü"); p; caracteres("ß");

/*

Árabe
*/

seccion("Árabe"); caracteres("ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"); p; caracteres("ﺍ ﺑ ﺗ ﺛ ﺟ ﺣ ﺧ ﺩ ﺫ ﺭ ﺯ ﺳ ﺷ ﺻ ﺿ ﻃ ﻇ ﻋ ﻏ ﻓ ﻗ ﻛ ﻟ ﻣ ﻧ ﻫ ﻭ ﻳ");             p; caracteres("ﺍ ﺒ ﺘ ﺜ ﺠ ﺤ ﺨ ﺪ ﺬ ﺮ ﺰ ﺴ ﺸ ﺼ ﻀ ﻄ ﻈ ﻌ ﻐ ﻔ ﻘ ﻜ ﻠ ﻤ ﻨ ﻬ ﻮ ﻴ");            p; caracteres("ﺎ ﺐ ﺖ ﺚ ﺞ ﺢ ﺦ ﺪ ﺬ ﺮ ﺰ ﺲ ﺶ ﺺ ﺾ ﻂ ﻆ ﻊ ﻎ ﻒ ﻖ ﻚ ﻞ ﻢ ﻦ ﻪ ﻮ ﻲ"); p; caracteres("ء- - - - - آ أ إ ة ؤ ئ ى");                                       p; caracteres("پ چ ژ گ ﭪ ۰ ۱ ۲ ۳ ٤ ٥ ٦ ٧ ۸ ۹");

/*

Catalán
*/

seccion("Catalán");

caracteres("Á À Ç É È Ë Í Ï Ó Ò Ö Ú Ù"); p; caracteres("á à ç é è ë í ï ó ò ö ú ù");

/*

Checo
*/

seccion("Checo"); caracteres("Á Č Ď É Ě Í Ň Ó Ř Š Ť Ú Ů Ý Ž"); p; caracteres("á č ď é ě í ň ó ř š ť ú ů ý ž");

/*

Alfabeto cirílico
*/

seccion("Cirílico"); caracteres("А Б В Г Д Ђ Е Ё Ж З Ѕ И Й Ј К Л Љ М Н Њ О П Р С Т Ћ У Ф Х Ц Ч Џ Ш Щ Ъ Ы Ь Э Ю Я"); p; caracteres("а б в г д ђ е ё ж з ѕ и й ј к л љ м н њ о п р с т ћ у ф х ц ч џ ш щ ъ ы ь э ю я");

/*

Devanāgarī
*/

seccion("Devanāgarī"); caracteres(" ः अ आ इ ई उ ऊ ऋ ऌ ऍ ऎ ए ऐ ऑ ऒ ओ औ क क़ ख ख़ ग ग़ घ ङ च छ ज ज़ झ ञ ट ठ"); caracteres("ड ड़ द ढ ढ़ ण त थ ध न ऩ प फ फ़ ब भ म य य़ र ऱ ल ळ ऴ व श ष स ह ़ ऽ ा ि ॊ ो ौ ् ी ु ू ृ ॄ ॅ ॆ े ै ॉ "); caracteres("ॐ ॑ ॒ ॓ ॔ ॠ ॡ ॢ ॣ । ॥ ॰");

/*

Escandinavo
*/

seccion("Escandinavo"); caracteres("À É Å Æ Ä Ø Ö"); p; caracteres("à é å æ ä ø ö");

/*

Esperanto
*/

seccion("Esperanto"); caracteres("Ĉ Ĝ Ĥ Ĵ Ŝ Ŭ"); p; caracteres("ĉ ĝ ĥ ĵ ŝ ŭ");

/*

Estonio
*/

seccion("Estonio"); caracteres("Č Š Ž Õ Ä Ö Ü"); p; caracteres("č š ž õ ä ö ü");

/*

Francés
*/

seccion("Francés"); caracteres("À Â Ç É È Ê Ë Î Ï Ô Œ Ù Û Ü Ÿ"); p; caracteres("à â ç é è ê ë î ï ô œ ù û ü ÿ");

/*

Galés
*/

seccion("Galés"); caracteres("Á À Â Ä É È Ê Ë Ì Î Ï Ó Ò Ô Ö Ù Û Ẁ Ŵ Ẅ Ý Ỳ Ŷ Ÿ"); p; caracteres("á à â ä é è ê ë ì î ï ó ò ô ö ù û ẁ ŵ ẅ ý ỳ ŷ ÿ");

/*

Griego
*/

seccion("Griego");

texto("Alfabeto"); p; caracteres("Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω"); p; caracteres("Ϝ Ϻ ϟ Ϡ Ϛ Ϸ Ῥ"); p; caracteres("α β ϐ γ δ ε ζ η θ ϑ ι κ ϰ λ μ ν ξ ο π ϖ ρ ϱ σ ς τ υ φ ϕ χ ψ ω"); p; caracteres("ϝ ϻ ϟ ϡ ϛ ϸ ῤ ῥ"); p;

texto(" Sin espíritu : "); p; texto("Acento agudo"); p; caracteres("Ά Έ Ή Ί Ό Ύ Ώ"); p; caracteres("ά έ ή ί ό ύ ώ"); p; caracteres("ᾴ ῄ ῴ");         p; texto("Acento grave"); p; caracteres("Ὰ Ὲ Ὴ Ὶ Ὸ Ὺ Ὼ"); p; caracteres("ὰ ὲ ὴ ὶ ὸ ὺ ὼ"); p; caracteres("ᾲ ῂ ῲ");         p; texto("Acento circunflejo"); p; caracteres("ᾶ ῆ ῖ ῦ ῶ");           p; caracteres("ᾷ ῇ ῷ");               p; texto("Diéresis"); p; caracteres("ῗ ῧ");        p; caracteres("ῒ ῢ");        p; caracteres("ΐ ΰ");        p; texto("Diptongos"); p; caracteres("ᾼ ῌ ῼ");      p; caracteres("ᾳ ῃ ῳ");      p;

texto(" Espíritu suave : "); texto("No acentuado");       p; caracteres("Ἀ Ἐ Ἠ Ἰ Ὀ Υ̓ Ὠ");       p; caracteres("ᾈ ᾘ ᾨ");               p; caracteres("ἀ ἐ ἠ ἰ ὀ ὐ ὠ");       p; caracteres("ᾀ ᾐ ᾠ");               p; texto("Acento agudo");      p; caracteres("Ἄ Ἔ Ἤ Ἴ Ὄ Ὤ");         p; caracteres("ᾌ ᾜ ᾬ");               p; caracteres("ἄ ἔ ἤ ἴ ὄ ὔ ὤ");       p; caracteres("ᾄ ᾔ ᾤ");               p; texto("Acento grave");      p; caracteres("Ἂ Ἒ Ἢ Ἲ Ὂ Ὢ");         p; caracteres("ᾊ ᾚ ᾪ");               p; caracteres("ἂ ἒ ἢ ἲ ὂ ὒ ὢ");       p; caracteres("ᾂ ᾒ ᾢ");               p; texto("Acento circunflejo"); p; caracteres("Ἆ Ἦ Ἶ Ὦ");             p; caracteres("ᾎ ᾞ ᾮ");               p; caracteres("ἆ ἦ ἶ ὖ ὦ");           p; caracteres("ᾆ ᾖ ᾦ");               p;

texto(" Espíritu áspero : "); texto("No acentuado");       p; caracteres("Ἁ Ἑ Ἡ Ἱ Ὁ Ὑ Ὡ");       p; caracteres("ἁ ἑ ἡ ἱ ὁ ὑ ὡ");       p; texto("Acento agudo");      p; caracteres("Ἅ Ἕ Ἥ Ἵ Ὅ Ὕ Ὥ");       p; caracteres("ᾍ ᾝ ᾭ");               p; caracteres("ἅ ἕ ἥ ἵ ὅ ὕ ὥ");       p; caracteres("ᾅ ᾕ ᾥ");               p; texto("Acento grave");      p; caracteres("Ἃ Ἓ Ἣ Ἳ Ὃ Ὓ Ὣ");       p; caracteres("ᾋ ᾛ ᾫ");               p; caracteres("ἃ ἓ ἣ ἳ ὃ ὓ ὣ");       p; caracteres("ᾃ ᾓ ᾣ");               p; texto("Acento circunflejo"); p; caracteres("Ἇ Ἧ Ἷ Ὗ");             p; caracteres("ᾏ ᾟ ᾯ");               p; caracteres("ἇ ἧ ἷ ὗ ὧ");           p; caracteres("ᾇ ᾗ ᾧ");               p;

texto(" Vocales breves "); p; caracteres("Ᾰ ᾰ Ῐ ῐ Ῠ ῠ"); p; texto(" Vocales largas "); p; caracteres("Ᾱ ᾱ Ῑ ῑ Ῡ ῡ");

/*

Hawaiano
*/

seccion("Hawaiano"); caracteres("Ā Ē Ī Ō Ū"); p; caracteres("ā ē ī ō ū"); p; caracteres("ʻ");

/*

Hebreo
*/

seccion("Hebreo"); caracteres("א ב ג ד ה ו ז ח ט י כ ך ל מ ם נ ן ס ע פ ף צ ץ ק ר ש ת ־ ״ ׳");

/*

Húngaro
*/

seccion("Húngaro"); caracteres("Á É Í Ó Ö Ő Ú Ü Ű"); p; caracteres("á é í ó ö ő ú ü ű");

/*

Inglés antiguo
*/

seccion("Inglés antiguo"); caracteres("Ā Æ Ǣ Ǽ Ċ Ð Ē Ġ Ī Ō Ū Ƿ Ȳ Þ Ȝ"); p; caracteres("ā æ ǣ ǽ ċ ð ē ġ ī ō ū ƿ ȳ þ ȝ");

/*

Islandés
*/

seccion("Islandés"); caracteres("Á Ð É Í Ó Ú Ý Þ Æ Ö"); p; caracteres("á ð é í ó ú ý þ æ ö");

/*

Italiano
*/

seccion("Italiano"); caracteres("Á À É È Í Ì Ó Ò Ú Ù"); p; caracteres("á à é è í ì ó ò ú ù");

/*

Japonés
*/

seccion("Japonés"); caracteres("Ā Ē Ī Ō Ū"); p; caracteres("ā ē ī ō ū"); p; caracteres("あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ ゐ ゑ を ぁ ぃ ぅ ぇ ぉ ゃ ゅ ょ っ"); p; caracteres("ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヰ ヱ ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ ー");

/*

Letón
*/

seccion("Letón"); caracteres("Ā Č Ē Ģ Ī Ķ Ļ Ņ Š Ū Ž"); p; caracteres("ā č ē ģ ī ķ ļ ņ š ū ž");

/*

Lituano
*/

seccion("Lituano"); caracteres("Ą Č Ę Ė Į Š Ų Ū Ž"); p; caracteres("ą č ę ė į š ų ū ž");

/*

Maltés
*/

seccion("Maltés"); caracteres("Ċ Ġ Ħ Ż"); p; caracteres("ċ ġ ħ ż");

/*

Pinyin
*/

seccion("Pinyin"); caracteres("Á À Ǎ Ā É È Ě Ē Í Ì Ǐ Ī Ó Ò Ǒ Ō Ú Ù Ü Ǔ Ū Ǘ Ǜ Ǚ Ǖ"); p; caracteres("á à ǎ ā é è ě ē í ì ǐ ī ó ò ǒ ō ú ù ü ǔ ū ǘ ǜ ǚ ǖ");

/*

Polaco
*/

seccion("Polaco"); caracteres("Ą Ć Ę Ł Ń Ó Ś Ź Ż"); p; caracteres("ą ć ę ł ń ó ś ź ż");

/*

Portugués
*/

seccion("Portugués"); caracteres("Á À Â Ã Ç É Ê Í Ó Ô Õ Ú Ü"); p; caracteres("á à â ã ç é ê í ó ô õ ú ü");

/*

Rumano
*/

seccion("Rumano"); caracteres("Ă Â Î Ş Ţ"); p; caracteres("ă â î ş ţ");

/*

Serbio
*/

seccion("Serbio"); caracteres("А Б В Г Д Ђ Е Ж З И Ј К Л Љ М Н Њ О П Р С Т Ћ У Ф Х Ц Ч Џ Ш"); p; caracteres("а б в г д ђ е ж з и ј к л љ м н њ о п р с т ћ у ф х ц ч џ ш");

/*

Turco
*/

seccion("Turco"); caracteres("Ç Ğ I İ Ş"); p; caracteres("ç ğ ı i ş");

/*

Vietnamita
*/

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

/*

Yídish
*/

seccion("Yídish"); caracteres("א אַ אָ ב בֿ ג ד ה ו וּ װ ױ ז זש ח ט י יִ ײ ײַ כ ך כּ ל ל+ מ ם נ ן ס ע ע+ פ פּ פֿ ף צ ץ ק ר ש שׂ תּ ת ׳ ״ ־");

/*

Final
Aquí se cierran las funciones y se devuelve el código generado, para insertar en la página. A continuación se definen las funciones para manejar el menú de selección.

Finalmente, se adosa al evento de carga de página la función generatriz del menú. */   arr[arr.length] = " "; menu[menu.length] = "  "; return menu.concat(arr); }

function cambiaCaracteresEspecialesVisibles(n) { var select = document.getElementById("elSelectQueCambia"); if (!select) { return; }   var cual = select.options[n].text, l = document.getElementById('specialchars').getElementsByTagName('p'); for (var i = 0; i < l.length; i++) { l[i].style.display = l[i].title == cual ? 'inline' : 'none'; } }

var $currentFocused;

function insertTags( pre, post, peri ) { if ( $currentFocused && $currentFocused.length ) { $currentFocused.textSelection( 'encapsulateSelection', { pre: pre, post: post } ); } }

function menuDeCaracteresEspeciales { $currentFocused = $( '#wpTextbox1' ); $( document ).on( 'focus', 'textarea, input:text', function {        $currentFocused = $( this );	    } ); var specialchars = document.getElementById('specialchars');

if (specialchars) { specialchars.innerHTML = generaCaracteresEspeciales.join(""); cambiaCaracteresEspecialesVisibles(0); } }

if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) > -1 &&    ( window.quieroEditToolsSimple === undefined || !window.quieroEditToolsSimple ) ) { $( menuDeCaracteresEspeciales ); }

//