aboutsummaryrefslogtreecommitdiff
path: root/files/es/glossary
diff options
context:
space:
mode:
Diffstat (limited to 'files/es/glossary')
-rw-r--r--files/es/glossary/algorithm/index.html (renamed from files/es/glossary/algoritmo/index.html)0
-rw-r--r--files/es/glossary/argument/index.html (renamed from files/es/glossary/argumento/index.html)0
-rw-r--r--files/es/glossary/array/index.html (renamed from files/es/glossary/arreglos/index.html)0
-rw-r--r--files/es/glossary/asynchronous/index.html (renamed from files/es/glossary/asíncrono/index.html)0
-rw-r--r--files/es/glossary/atributo_global/index.html27
-rw-r--r--files/es/glossary/attribute/index.html (renamed from files/es/glossary/atributo/index.html)0
-rw-r--r--files/es/glossary/base64/index.html345
-rw-r--r--files/es/glossary/breadcrumb/index.html (renamed from files/es/glossary/miga-de-pan/index.html)0
-rw-r--r--files/es/glossary/cache/index.html (renamed from files/es/glossary/caché/index.html)0
-rw-r--r--files/es/glossary/call_stack/index.html (renamed from files/es/glossary/pila_llamadas/index.html)0
-rw-r--r--files/es/glossary/card_sorting/index.html (renamed from files/es/glossary/clasificación_por_tarjetas_(card_sorting)/index.html)0
-rw-r--r--files/es/glossary/character/index.html (renamed from files/es/glossary/caracter/index.html)0
-rw-r--r--files/es/glossary/character_set/index.html (renamed from files/es/glossary/conjunto_de_caracteres/index.html)0
-rw-r--r--files/es/glossary/cia/index.html (renamed from files/es/glossary/cid/index.html)0
-rw-r--r--files/es/glossary/cipher/index.html (renamed from files/es/glossary/cifrado/index.html)0
-rw-r--r--files/es/glossary/ciphertext/index.html (renamed from files/es/glossary/textocifrado/index.html)0
-rw-r--r--files/es/glossary/closure/index.html (renamed from files/es/glossary/clausura/index.html)0
-rw-r--r--files/es/glossary/cms/index.html (renamed from files/es/glossary/sistema_gestion_contenidos/index.html)0
-rw-r--r--files/es/glossary/constant/index.html (renamed from files/es/glossary/constante/index.html)0
-rw-r--r--files/es/glossary/cryptanalysis/index.html (renamed from files/es/glossary/criptoanálisis/index.html)0
-rw-r--r--files/es/glossary/cryptography/index.html (renamed from files/es/glossary/criptografía/index.html)0
-rw-r--r--files/es/glossary/css_preprocessor/index.html (renamed from files/es/glossary/preprocesador_css/index.html)0
-rw-r--r--files/es/glossary/data_structure/index.html (renamed from files/es/glossary/estructura_de_datos/index.html)0
-rw-r--r--files/es/glossary/decryption/index.html (renamed from files/es/glossary/descifrado/index.html)0
-rw-r--r--files/es/glossary/dhtml/index.html47
-rw-r--r--files/es/glossary/domain_name/index.html (renamed from files/es/glossary/nombre_de_dominio/index.html)0
-rw-r--r--files/es/glossary/dtd/index.html7
-rw-r--r--files/es/glossary/dynamic_typing/index.html (renamed from files/es/glossary/tipado_dinámico/index.html)0
-rw-r--r--files/es/glossary/elemento/index.html7
-rw-r--r--files/es/glossary/encryption/index.html (renamed from files/es/glossary/encriptación/index.html)0
-rw-r--r--files/es/glossary/entity/index.html (renamed from files/es/glossary/entidad/index.html)0
-rw-r--r--files/es/glossary/first-class_function/index.html (renamed from files/es/glossary/funcion_de_primera_clase/index.html)0
-rw-r--r--files/es/glossary/forbidden_header_name/index.html (renamed from files/es/glossary/nombre_de_encabezado_prohibido/index.html)0
-rw-r--r--files/es/glossary/function/index.html (renamed from files/es/glossary/función/index.html)0
-rw-r--r--files/es/glossary/general_header/index.html (renamed from files/es/glossary/cabecera_general/index.html)0
-rw-r--r--files/es/glossary/identifier/index.html (renamed from files/es/glossary/identificador/index.html)0
-rw-r--r--files/es/glossary/immutable/index.html (renamed from files/es/glossary/inmutable/index.html)0
-rw-r--r--files/es/glossary/information_architecture/index.html (renamed from files/es/glossary/arquitectura_de_la_información/index.html)0
-rw-r--r--files/es/glossary/key/index.html (renamed from files/es/glossary/clave/index.html)0
-rw-r--r--files/es/glossary/localization/index.html16
-rw-r--r--files/es/glossary/main_thread/index.html (renamed from files/es/glossary/hilo_principal/index.html)0
-rw-r--r--files/es/glossary/metadata/index.html (renamed from files/es/glossary/metadato/index.html)0
-rw-r--r--files/es/glossary/method/index.html (renamed from files/es/glossary/método/index.html)0
-rw-r--r--files/es/glossary/number/index.html (renamed from files/es/glossary/numero/index.html)0
-rw-r--r--files/es/glossary/object/index.html (renamed from files/es/glossary/objecto/index.html)0
-rw-r--r--files/es/glossary/operand/index.html (renamed from files/es/glossary/operando/index.html)0
-rw-r--r--files/es/glossary/operator/index.html (renamed from files/es/glossary/operador/index.html)0
-rw-r--r--files/es/glossary/plaintext/index.html (renamed from files/es/glossary/textosimple/index.html)0
-rw-r--r--files/es/glossary/preflight_request/index.html (renamed from files/es/glossary/preflight_peticion/index.html)0
-rw-r--r--files/es/glossary/primitive/index.html (renamed from files/es/glossary/primitivo/index.html)0
-rw-r--r--files/es/glossary/property/index.html (renamed from files/es/glossary/propiedad/index.html)0
-rw-r--r--files/es/glossary/pseudo-class/index.html (renamed from files/es/glossary/pseudo-clase/index.html)0
-rw-r--r--files/es/glossary/pseudocode/index.html (renamed from files/es/glossary/pseudocódigo/index.html)0
-rw-r--r--files/es/glossary/recursion/index.html (renamed from files/es/glossary/recursión/index.html)0
-rw-r--r--files/es/glossary/safe/index.html (renamed from files/es/glossary/seguro/index.html)0
-rw-r--r--files/es/glossary/scm/index.html (renamed from files/es/glossary/scv/index.html)0
-rw-r--r--files/es/glossary/speculative_parsing/index.html34
-rw-r--r--files/es/glossary/statement/index.html (renamed from files/es/glossary/sentencias/index.html)0
-rw-r--r--files/es/glossary/static_typing/index.html (renamed from files/es/glossary/tipificación_estática/index.html)0
-rw-r--r--files/es/glossary/synchronous/index.html (renamed from files/es/glossary/sincronico/index.html)0
-rw-r--r--files/es/glossary/type_coercion/index.html (renamed from files/es/glossary/coercion/index.html)0
-rw-r--r--files/es/glossary/ui/index.html (renamed from files/es/glossary/iu/index.html)0
-rw-r--r--files/es/glossary/validator/index.html (renamed from files/es/glossary/validador/index.html)0
-rw-r--r--files/es/glossary/value/index.html (renamed from files/es/glossary/valor/index.html)0
-rw-r--r--files/es/glossary/whitespace/index.html (renamed from files/es/glossary/espacio_en_blanco/index.html)0
-rw-r--r--files/es/glossary/xforms/index.html (renamed from files/es/glossary/xform/index.html)0
-rw-r--r--files/es/glossary/xhtml/index.html33
67 files changed, 475 insertions, 41 deletions
diff --git a/files/es/glossary/algoritmo/index.html b/files/es/glossary/algorithm/index.html
index e007ec918e..e007ec918e 100644
--- a/files/es/glossary/algoritmo/index.html
+++ b/files/es/glossary/algorithm/index.html
diff --git a/files/es/glossary/argumento/index.html b/files/es/glossary/argument/index.html
index c3ccfb69ca..c3ccfb69ca 100644
--- a/files/es/glossary/argumento/index.html
+++ b/files/es/glossary/argument/index.html
diff --git a/files/es/glossary/arreglos/index.html b/files/es/glossary/array/index.html
index 74b22dbedc..74b22dbedc 100644
--- a/files/es/glossary/arreglos/index.html
+++ b/files/es/glossary/array/index.html
diff --git a/files/es/glossary/asíncrono/index.html b/files/es/glossary/asynchronous/index.html
index 439f95eb37..439f95eb37 100644
--- a/files/es/glossary/asíncrono/index.html
+++ b/files/es/glossary/asynchronous/index.html
diff --git a/files/es/glossary/atributo_global/index.html b/files/es/glossary/atributo_global/index.html
deleted file mode 100644
index 64afaf64ff..0000000000
--- a/files/es/glossary/atributo_global/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Atributo global
-slug: Glossary/Atributo_global
-tags:
- - CodingScripting
- - Glosario
- - HTML
- - atributo
-translation_of: Web/HTML/Global_attributes
-translation_of_original: Glossary/Global_attribute
----
-<p>Los<strong> Atributos Globales</strong> son {{glossary("attribute","atributos")}} que pueden ser usados en todos los {{glossary("element","elementos")}} (aunque a veces no tienen efecto en algunos de ellos).</p>
-
-<p>Algunos atributos se pueden utilizar en cualquier elemento HTML:</p>
-
-<ul>
- <li><a href="/es/docs/Web/HTML/Atributos_Globales/dir"><strong>dir</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/lang"><strong>lang</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/style"><strong>style</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/id"><strong>id</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/class"><strong>class</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/tabindex"><strong>tabindex</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/accesskey"><strong>accesskey</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/title"><strong>title</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/hidden"><strong>hidden</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/data-*"><strong>data-*</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/contextmenu"><strong>contextmenu</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/contenteditable"><strong>contenteditable</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/translate"><strong>translate</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/spellcheck"><strong>spellcheck</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/draggable"><strong>draggable</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/dropzone"><strong>dropzone</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/itemid"><strong>itemid</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/itemprop"><strong>itemprop</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/itemref"><strong>itemref</strong></a>, <a href="/es/docs/Web/HTML/Atributos_Globales/itemscope"><strong>itemscope</strong></a>, y <a href="/es/docs/Web/HTML/Atributos_Globales/itemtype"><strong>itemtype</strong></a>.</li>
- <li>Tanto <strong>xml:lang</strong> como <strong>xml:base</strong>, obsoletos, heredados de las especificaciones de {{glossary("XHTML")}} y mantenidos por razones de compatibilidad.</li>
- <li>Los múltiples atributos <strong><a href="https://developer.mozilla.org/es/docs/Web/Accessibility/ARIA">aria-*</a></strong>, para mejorar la accesibilidad.</li>
- <li>Los atributos de manejadores de eventos: <strong>onabort</strong>, <strong>onautocomplete</strong>, <strong>onautocompleteerror</strong>, <strong>onblur</strong>, <strong>oncancel</strong>, <strong>oncanplay</strong>, <strong>oncanplaythrough</strong>, <strong>onchange</strong>, <strong>onclick</strong>, <strong>onclose</strong>, <strong>oncontextmenu</strong>, <strong>oncuechange</strong>, <strong>ondblclick</strong>, <strong>ondrag</strong>, <strong>ondragend</strong>, <strong>ondragenter</strong>, <strong>ondragexit</strong>, <strong>ondragleave</strong>, <strong>ondragover</strong>, <strong>ondragstart</strong>, <strong>ondrop</strong>, <strong>ondurationchange</strong>, <strong>onemptied</strong>, <strong>onended</strong>, <strong>onerror</strong>, <strong>onfocus</strong>, <strong>oninput</strong>, <strong>oninvalid</strong>, <strong>onkeydown</strong>, <strong>onkeypress</strong>, <strong>onkeyup</strong>, <strong>onload</strong>, <strong>onloadeddata</strong>, <strong>onloadedmetadata</strong>, <strong>onloadstart</strong>, <strong>onmousedown</strong>, <strong>onmouseenter</strong>, <strong>onmouseleave</strong>, <strong>onmousemove</strong>, <strong>onmouseout</strong>, <strong>onmouseover</strong>, <strong>onmouseup</strong>, <strong>onmousewheel</strong>, <strong>onpause</strong>, <strong>onplay</strong>, <strong>onplaying</strong>, <strong>onprogress</strong>, <strong>onratechange</strong>, <strong>onreset</strong>, <strong>onresize</strong>, <strong>onscroll</strong>, <strong>onseeked</strong>, <strong>onseeking</strong>, <strong>onselect</strong>, <strong>onshow</strong>, <strong>onsort</strong>, <strong>onstalled</strong>, <strong>onsubmit</strong>, <strong>onsuspend</strong>, <strong>ontimeupdate</strong>, <strong>ontoggle</strong>, <strong>onvolumechange</strong>, <strong>onwaiting</strong>.</li>
-</ul>
-
-<h2 id="Saber_más">Saber más</h2>
-
-<ul>
- <li>Los <a href="/es/docs/Web/HTML/Atributos_Globales">atributos globales</a> de HTML.</li>
-</ul>
diff --git a/files/es/glossary/atributo/index.html b/files/es/glossary/attribute/index.html
index 42027cf072..42027cf072 100644
--- a/files/es/glossary/atributo/index.html
+++ b/files/es/glossary/attribute/index.html
diff --git a/files/es/glossary/base64/index.html b/files/es/glossary/base64/index.html
new file mode 100644
index 0000000000..c8747777cd
--- /dev/null
+++ b/files/es/glossary/base64/index.html
@@ -0,0 +1,345 @@
+---
+title: Base64 codificando y decodificando
+slug: Web/API/WindowBase64/Base64_codificando_y_decodificando
+translation_of: Glossary/Base64
+---
+<p><strong>Base64</strong> es un grupo de esquemas de <a href="https://es.wikipedia.org/wiki/Codificaci%C3%B3n_de_binario_a_texto">codificación de binario a texto</a> que representa los datos binarios mediante una cadena ASCII, traduciéndolos en una representación radix-64. El término <em>Base64</em> se origina de un <a href="https://es.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions#Content-Transfer-Encoding">sistema de codificación de transmisión de contenido MIME</a> específico.</p>
+
+<p>Los esquemas de codificación Base64 son comúnmente usados cuando se necesita codificar datos binarios para que sean almacenados y transferidos sobre un medio diseñado para tratar con datos textuales. Esto es para asegurar que los datos se mantienen intactos y sin modificaciones durante la transmisión. Base64 es comúnmente usado en muchas aplicaciones, incluyendo la escritura de emails vía <a href="https://es.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions">MIME</a> y el almacenamiento de datos complejos en <a href="/es/docs/XML">XML</a>.</p>
+
+<p>En JavaScript hay dos funciones para decodificar y codificar cadenas base64, respectivamente:</p>
+
+<ul>
+ <li>{{domxref("WindowBase64.atob","atob()")}}</li>
+ <li>{{domxref("WindowBase64.btoa","btoa()")}}</li>
+</ul>
+
+<p>La función <code>atob()</code> decodifica una cadena de datos que ha sido codificada usando la codificación en base 64. Por el contrario, la función <code>btoa()</code> crea una cadena ASCII codificada en base 64 a partir de una "cadena" de datos binarios.</p>
+
+<p>Ambas funciones trabajan sobre cadenas de texto. Si desea trabajar con <a href="/es/docs/Web/JavaScript/Referencia/Objetos_globales/ArrayBuffer">ArrayBuffers</a>, lea <a href="/es/docs/Web/API/WindowBase64/Base64_codificando_y_decodificando$edit#Solution_.232_.E2.80.93_rewriting_atob%28%29_and_btoa%28%29_using_TypedArrays_and_UTF-8">este párrafo</a>.</p>
+
+
+
+<table class="topicpage-table">
+ <tbody>
+ <tr>
+ <td>
+ <h2 class="Documentation" id="Documentation" name="Documentation">Documentación</h2>
+
+ <dl>
+ <dt><a href="https://developer.mozilla.org/en-US/docs/data_URIs" title="https://developer.mozilla.org/en-US/docs/data_URIs"><code>data</code> URIs</a></dt>
+ <dd><small><code>Los URIs de</code> datos, definidos por <a class="external" href="http://tools.ietf.org/html/rfc2397" title="http://tools.ietf.org/html/rfc2397">RFC 2397</a>, permiten a los creadores de contenido introducir pequeños ficheros en línea en documentos.</small></dd>
+ <dt><a href="https://es.wikipedia.org/wiki/Base64" title="https://en.wikipedia.org/wiki/Base64">Base64</a></dt>
+ <dd><small>Artículo en Wikipedia sobre el sistema de codificación Base64.</small></dd>
+ <dt>{{domxref("WindowBase64.atob","atob()")}}</dt>
+ <dd><small>Decodifica una cadena de datos que ha sido codificada utilizando base-64.</small></dd>
+ <dt>{{domxref("WindowBase64.btoa","btoa()")}}</dt>
+ <dd><small>Crea una cadena ASCII codificada en base 64 a partir de una "cadena" de datos binarios.</small></dd>
+ <dt><a href="#The_.22Unicode_Problem.22">The "Unicode Problem"</a></dt>
+ <dd><small>En la mayoría de navegadores, llamar a <code>btoa()</code> con una cadena Unicode causará una excepción <code>Character Out Of Range</code>. Este párrafo muestra algunas soluciones.</small></dd>
+ <dt><a href="/en-US/docs/URIScheme" title="/en-US/docs/URIScheme">URIScheme</a></dt>
+ <dd><small>Lista de esquemas URI soportados por Mozilla.</small></dd>
+ <dt><a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code></a></dt>
+ <dd>En este artículo está publicada una librería hecha por nosotros con los siguientes objetivos:</dd>
+ <dd>
+ <ul>
+ <li>crear una interfaz al estilo de <a class="external" href="http://en.wikipedia.org/wiki/C_%28programming_language%29" title="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a> para cadenas (es decir, arrays de códigos de caracteres —<a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBufferView" title="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBufferView"> <code>ArrayBufferView</code></a> en JavaScript) basada en la interfaz  <a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer" title="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer"><code>ArrayBuffer</code></a> de JavaScript.</li>
+ <li>crear una colección de métodos para los que los objetos parecidos a cadenas (de ahora en adelante, <code>stringView</code>s) funcionen estrictamente en arrays de números más que en cadenas JavaScript inmutables.</li>
+ <li>trabajar con otras codificaciones Unicode diferentes de las <a href="/en-US/docs/Web/API/DOMString" title="/en-US/docs/Web/API/DOMString"><code>DOMString</code></a>s UTF-16 por defecto de JavaScript.</li>
+ </ul>
+ </dd>
+ </dl>
+
+ <p><span class="alllinks"><a href="/en-US/docs/tag/Base64">Ver todo...</a></span></p>
+ </td>
+ <td>
+ <h2 class="Tools" id="Tools" name="Tools">Herramientas</h2>
+
+ <ul>
+ <li><a href="#Solution_.232_.E2.80.93_rewriting_atob()_and_btoa()_using_TypedArrays_and_UTF-8">Reescribir atob() y btoa() usando TypedArrays y UTF-8</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code>, una representación parecida a C de cadenas basadas en arrays tipados</a><span class="alllinks"><a href="/en-US/docs/tag/Base64">View All...</a></span></li>
+ </ul>
+
+ <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Temas relacionados</h2>
+
+ <ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer"><code>ArrayBuffer</code></a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays">Vectores o arrays tipados</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBufferView">ArrayBufferView</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/Uint8Array"><code>Uint8Array</code></a></li>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code></a><a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView">, una representación parecida a C de cadenas basadas en arrays tipados</a></li>
+ <li><a href="/en-US/docs/Web/API/DOMString" title="/en-US/docs/Web/API/DOMString"><code>DOMString</code></a></li>
+ <li><a href="/en-US/docs/URI" title="/en-US/docs/URI"><code>URI</code></a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI"><code>encodeURI()</code></a></li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+
+
+<h2 id="El_Problema_Unicode">El "Problema Unicode"</h2>
+
+<p>Como las <a href="/en-US/docs/Web/API/DOMString" title="/en-US/docs/Web/API/DOMString"><code>DOMString</code></a>s son cadenas codificadas en 16 bits, en la mayoría de navegadores llamar a <code>window.btoa</code> sobre una cadena Unicode resultará en una excepción <code>Character Out Of Range </code>si un carácter excede el rango de los caracteres ASCII de 8 bits. Hay dos posibles métodos para resolver este problema:</p>
+
+<ul>
+ <li>el primero es escapar la cadena completa y, entonces, codificarla;</li>
+ <li>el segundo es convertir la <a href="/en-US/docs/Web/API/DOMString" title="/en-US/docs/Web/API/DOMString"><code>DOMString</code></a> UTF-16 en un array de caracteres UTF-8 y codificarla.</li>
+</ul>
+
+<p>Aquí están los dos posibles métodos:</p>
+
+<h3 id="Solución_1_–_escapar_la_cadena_antes_de_codificarla">Solución #1 – escapar la cadena antes de codificarla</h3>
+
+<pre class="brush:js notranslate">function utf8_to_b64( str ) {
+ return window.btoa(unescape(encodeURIComponent( str )));
+}
+
+function b64_to_utf8( str ) {
+ return decodeURIComponent(escape(window.atob( str )));
+}
+
+// Uso:
+utf8_to_b64('✓ à la mode'); // "4pyTIMOgIGxhIG1vZGU="
+b64_to_utf8('4pyTIMOgIGxhIG1vZGU='); // "✓ à la mode"</pre>
+
+<p>Esta solución ha sido propuesta por <a href="http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html">Johan Sundström</a>.</p>
+
+<p>Otra posible solución sin utilizar las funciones 'unscape' y 'escape', ya obsoletas.</p>
+
+<pre class="brush:js notranslate">function b64EncodeUnicode(str) {
+ return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
+ return String.fromCharCode('0x' + p1);
+ }));
+}
+ b64EncodeUnicode('✓ à la mode'); // "4pyTIMOgIGxhIG1vZGU="
+</pre>
+
+<h3 id="Solución_2_–_reescribir_atob_y_btoa_usando_TypedArrays_y_UTF-8">Solución #2 – reescribir <code>atob()</code> y <code>btoa()</code> usando <code>TypedArray</code>s y UTF-8</h3>
+
+<div class="note"><strong>Nota:</strong> El siguiente código también es útil para obtener un <a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer">ArrayBuffer</a> a partir de una cadena <em>Base64</em> y/o viceversa (<a href="#Appendix.3A_Decode_a_Base64_string_to_Uint8Array_or_ArrayBuffer" title="#Appendix.3A_Decode_a_Base64_string_to_Uint8Array_or_ArrayBuffer">véase abajo</a>). <strong>Para una librería completa de arrays tipados, vea <a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView">este artículo</a></strong>.</div>
+
+<pre class="brush: js notranslate">"use strict";
+
+/*\
+|*|
+|*|  Base64 / binary data / UTF-8 strings utilities
+|*|
+|*|  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
+|*|
+\*/
+
+/* Decodificación de cadena base64 en array de bytes */
+
+function b64ToUint6 (nChr) {
+
+  return nChr &gt; 64 &amp;&amp; nChr &lt; 91 ?
+      nChr - 65
+    : nChr &gt; 96 &amp;&amp; nChr &lt; 123 ?
+      nChr - 71
+    : nChr &gt; 47 &amp;&amp; nChr &lt; 58 ?
+      nChr + 4
+    : nChr === 43 ?
+      62
+    : nChr === 47 ?
+      63
+    :
+      0;
+
+}
+
+function base64DecToArr (sBase64, nBlocksSize) {
+
+  var
+    sB64Enc = sBase64.replace(/[^A-Za-z0-9\+\/]/g, ""), nInLen = sB64Enc.length,
+    nOutLen = nBlocksSize ? Math.ceil((nInLen * 3 + 1 &gt;&gt; 2) / nBlocksSize) * nBlocksSize : nInLen * 3 + 1 &gt;&gt; 2, taBytes = new Uint8Array(nOutLen);
+
+  for (var nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx &lt; nInLen; nInIdx++) {
+    nMod4 = nInIdx &amp; 3;
+    nUint24 |= b64ToUint6(sB64Enc.charCodeAt(nInIdx)) &lt;&lt; 18 - 6 * nMod4;
+    if (nMod4 === 3 || nInLen - nInIdx === 1) {
+      for (nMod3 = 0; nMod3 &lt; 3 &amp;&amp; nOutIdx &lt; nOutLen; nMod3++, nOutIdx++) {
+        taBytes[nOutIdx] = nUint24 &gt;&gt;&gt; (16 &gt;&gt;&gt; nMod3 &amp; 24) &amp; 255;
+      }
+      nUint24 = 0;
+
+    }
+  }
+
+  return taBytes;
+}
+
+/* Codificación de array en una cadena Base64 */
+
+function uint6ToB64 (nUint6) {
+
+  return nUint6 &lt; 26 ?
+      nUint6 + 65
+    : nUint6 &lt; 52 ?
+      nUint6 + 71
+    : nUint6 &lt; 62 ?
+      nUint6 - 4
+    : nUint6 === 62 ?
+      43
+    : nUint6 === 63 ?
+      47
+    :
+      65;
+
+}
+
+function base64EncArr (aBytes) {
+
+  var nMod3 = 2, sB64Enc = "";
+
+  for (var nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx &lt; nLen; nIdx++) {
+    nMod3 = nIdx % 3;
+    if (nIdx &gt; 0 &amp;&amp; (nIdx * 4 / 3) % 76 === 0) { sB64Enc += "\r\n"; }
+    nUint24 |= aBytes[nIdx] &lt;&lt; (16 &gt;&gt;&gt; nMod3 &amp; 24);
+    if (nMod3 === 2 || aBytes.length - nIdx === 1) {
+      sB64Enc += String.fromCharCode(uint6ToB64(nUint24 &gt;&gt;&gt; 18 &amp; 63), uint6ToB64(nUint24 &gt;&gt;&gt; 12 &amp; 63), uint6ToB64(nUint24 &gt;&gt;&gt; 6 &amp; 63), uint6ToB64(nUint24 &amp; 63));
+      nUint24 = 0;
+    }
+  }
+
+ return sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) + (nMod3 === 2 ? '' : nMod3 === 1 ? '=' : '==');
+
+}
+
+/* De array UTF-8 a DOMString y viceversa */
+
+function UTF8ArrToStr (aBytes) {
+
+  var sView = "";
+
+  for (var nPart, nLen = aBytes.length, nIdx = 0; nIdx &lt; nLen; nIdx++) {
+    nPart = aBytes[nIdx];
+    sView += String.fromCharCode(
+      nPart &gt; 251 &amp;&amp; nPart &lt; 254 &amp;&amp; nIdx + 5 &lt; nLen ? /* six bytes */
+        /* (nPart - 252 &lt;&lt; 30) may be not so safe in ECMAScript! So...: */
+        (nPart - 252) * 1073741824 + (aBytes[++nIdx] - 128 &lt;&lt; 24) + (aBytes[++nIdx] - 128 &lt;&lt; 18) + (aBytes[++nIdx] - 128 &lt;&lt; 12) + (aBytes[++nIdx] - 128 &lt;&lt; 6) + aBytes[++nIdx] - 128
+      : nPart &gt; 247 &amp;&amp; nPart &lt; 252 &amp;&amp; nIdx + 4 &lt; nLen ? /* five bytes */
+        (nPart - 248 &lt;&lt; 24) + (aBytes[++nIdx] - 128 &lt;&lt; 18) + (aBytes[++nIdx] - 128 &lt;&lt; 12) + (aBytes[++nIdx] - 128 &lt;&lt; 6) + aBytes[++nIdx] - 128
+      : nPart &gt; 239 &amp;&amp; nPart &lt; 248 &amp;&amp; nIdx + 3 &lt; nLen ? /* four bytes */
+        (nPart - 240 &lt;&lt; 18) + (aBytes[++nIdx] - 128 &lt;&lt; 12) + (aBytes[++nIdx] - 128 &lt;&lt; 6) + aBytes[++nIdx] - 128
+      : nPart &gt; 223 &amp;&amp; nPart &lt; 240 &amp;&amp; nIdx + 2 &lt; nLen ? /* three bytes */
+        (nPart - 224 &lt;&lt; 12) + (aBytes[++nIdx] - 128 &lt;&lt; 6) + aBytes[++nIdx] - 128
+      : nPart &gt; 191 &amp;&amp; nPart &lt; 224 &amp;&amp; nIdx + 1 &lt; nLen ? /* two bytes */
+        (nPart - 192 &lt;&lt; 6) + aBytes[++nIdx] - 128
+      : /* nPart &lt; 127 ? */ /* one byte */
+        nPart
+    );
+  }
+
+  return sView;
+
+}
+
+function strToUTF8Arr (sDOMStr) {
+
+  var aBytes, nChr, nStrLen = sDOMStr.length, nArrLen = 0;
+
+  /* mapeando... */
+
+  for (var nMapIdx = 0; nMapIdx &lt; nStrLen; nMapIdx++) {
+    nChr = sDOMStr.charCodeAt(nMapIdx);
+    nArrLen += nChr &lt; 0x80 ? 1 : nChr &lt; 0x800 ? 2 : nChr &lt; 0x10000 ? 3 : nChr &lt; 0x200000 ? 4 : nChr &lt; 0x4000000 ? 5 : 6;
+  }
+
+  aBytes = new Uint8Array(nArrLen);
+
+  /* transcripción... */
+
+  for (var nIdx = 0, nChrIdx = 0; nIdx &lt; nArrLen; nChrIdx++) {
+    nChr = sDOMStr.charCodeAt(nChrIdx);
+    if (nChr &lt; 128) {
+      /* un byte */
+      aBytes[nIdx++] = nChr;
+    } else if (nChr &lt; 0x800) {
+      /* dos bytes */
+      aBytes[nIdx++] = 192 + (nChr &gt;&gt;&gt; 6);
+      aBytes[nIdx++] = 128 + (nChr &amp; 63);
+    } else if (nChr &lt; 0x10000) {
+      /* tres bytes */
+      aBytes[nIdx++] = 224 + (nChr &gt;&gt;&gt; 12);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 6 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &amp; 63);
+    } else if (nChr &lt; 0x200000) {
+      /* cuatro bytes */
+      aBytes[nIdx++] = 240 + (nChr &gt;&gt;&gt; 18);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 12 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 6 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &amp; 63);
+    } else if (nChr &lt; 0x4000000) {
+      /* cinco bytes */
+      aBytes[nIdx++] = 248 + (nChr &gt;&gt;&gt; 24);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 18 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 12 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 6 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &amp; 63);
+    } else /* if (nChr &lt;= 0x7fffffff) */ {
+      /* seis bytes */
+      aBytes[nIdx++] = 252 + (nChr &gt;&gt;&gt; 30);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 24 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 18 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 12 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &gt;&gt;&gt; 6 &amp; 63);
+      aBytes[nIdx++] = 128 + (nChr &amp; 63);
+    }
+  }
+
+  return aBytes;
+
+}
+</pre>
+
+<h4 id="Tests">Tests</h4>
+
+<pre class="brush: js notranslate">/* Tests */
+
+var sMyInput = "Base 64 \u2014 Mozilla Developer Network";
+
+var aMyUTF8Input = strToUTF8Arr(sMyInput);
+
+var sMyBase64 = base64EncArr(aMyUTF8Input);
+
+alert(sMyBase64);
+
+var aMyUTF8Output = base64DecToArr(sMyBase64);
+
+var sMyOutput = UTF8ArrToStr(aMyUTF8Output);
+
+alert(sMyOutput);</pre>
+
+<h4 id="Apéndice_Decodificar_una_cadena_Base64_en_Uint8Array_o_ArrayBuffer">Apéndice: Decodificar una cadena <em>Base64</em> en <a href="/en-US/docs/Web/JavaScript/Typed_arrays/Uint8Array">Uint8Array</a> o <a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer">ArrayBuffer</a></h4>
+
+<p>Estas funciones nos permiten crear también <a href="/en-US/docs/Web/JavaScript/Typed_arrays/Uint8Array">uint8Arrays</a> o <a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer">arrayBuffers</a> a partir de cadenas codificadas en base 64:</p>
+
+<pre class="brush: js notranslate">var myArray = base64DecToArr("QmFzZSA2NCDigJQgTW96aWxsYSBEZXZlbG9wZXIgTmV0d29yaw=="); // "Base 64 \u2014 Mozilla Developer Network"
+
+var myBuffer = base64DecToArr("QmFzZSA2NCDigJQgTW96aWxsYSBEZXZlbG9wZXIgTmV0d29yaw==").buffer; // "Base 64 \u2014 Mozilla Developer Network"
+
+alert(myBuffer.byteLength);</pre>
+
+<div class="note"><strong>Nota:</strong> La función <code>base64DecToArr(sBase64[, <em>nBlocksSize</em>])</code> devuelve un <a href="/en-US/docs/Web/JavaScript/Typed_arrays/Uint8Array"><code>uint8Array</code></a> de bytes. Si tu objetivo es construir un búfer de datos crudos de 16, 32 o 64 bits, usa el argumento <code>nBlocksSize</code>, que es el número de bytes de los que la propiedad <code>uint8Array.buffer.bytesLength</code> debe devolver un múltiplo (1 u omitido para ASCII, <a href="/en-US/docs/Web/API/DOMString/Binary">cadenas binarias</a> o cadenas UTF-8 codificacas, 2 para cadenas UTF-16, 4 para cadenas UTF-32).</div>
+
+<p>Para una librería más completa, véase <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code></a><a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView">, una representación parecida a C de cadenas basadas en arrays tipados</a>.</p>
+
+<h2 id="Véase_también">Véase también</h2>
+
+<ul>
+ <li>{{domxref("WindowBase64.atob","atob()")}}</li>
+ <li>{{domxref("WindowBase64.btoa","btoa()")}}</li>
+ <li><a href="/en-US/docs/data_URIs" title="/en-US/docs/data_URIs"><code>data</code> URIs</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer">ArrayBuffer</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays">TypedArrays</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBufferView">ArrayBufferView</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays/Uint8Array">Uint8Array</a></li>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code> – a C-like representation of strings based on typed arrays</a></li>
+ <li><a href="/en-US/docs/Web/API/DOMString" title="/en-US/docs/Web/API/DOMString">DOMString</a></li>
+ <li><a href="/en-US/docs/URI" title="/en-US/docs/URI"><code>URI</code></a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI"><code>encodeURI()</code></a></li>
+ <li><a href="/en-US/docs/XPCOM_Interface_Reference/nsIURIFixup" title="/en-US/docs/XPCOM_Interface_Reference/nsIURIFixup"><code>nsIURIFixup()</code></a></li>
+ <li><a href="https://en.wikipedia.org/wiki/Base64" title="https://en.wikipedia.org/wiki/Base64"><code>Base64 on Wikipedia</code></a></li>
+</ul>
diff --git a/files/es/glossary/miga-de-pan/index.html b/files/es/glossary/breadcrumb/index.html
index 0fe4ade2f7..0fe4ade2f7 100644
--- a/files/es/glossary/miga-de-pan/index.html
+++ b/files/es/glossary/breadcrumb/index.html
diff --git a/files/es/glossary/caché/index.html b/files/es/glossary/cache/index.html
index 1c9b861ae8..1c9b861ae8 100644
--- a/files/es/glossary/caché/index.html
+++ b/files/es/glossary/cache/index.html
diff --git a/files/es/glossary/pila_llamadas/index.html b/files/es/glossary/call_stack/index.html
index f164d913ca..f164d913ca 100644
--- a/files/es/glossary/pila_llamadas/index.html
+++ b/files/es/glossary/call_stack/index.html
diff --git a/files/es/glossary/clasificación_por_tarjetas_(card_sorting)/index.html b/files/es/glossary/card_sorting/index.html
index a9b2638bb2..a9b2638bb2 100644
--- a/files/es/glossary/clasificación_por_tarjetas_(card_sorting)/index.html
+++ b/files/es/glossary/card_sorting/index.html
diff --git a/files/es/glossary/caracter/index.html b/files/es/glossary/character/index.html
index 5198607137..5198607137 100644
--- a/files/es/glossary/caracter/index.html
+++ b/files/es/glossary/character/index.html
diff --git a/files/es/glossary/conjunto_de_caracteres/index.html b/files/es/glossary/character_set/index.html
index 27e5a7345c..27e5a7345c 100644
--- a/files/es/glossary/conjunto_de_caracteres/index.html
+++ b/files/es/glossary/character_set/index.html
diff --git a/files/es/glossary/cid/index.html b/files/es/glossary/cia/index.html
index 983f0d0447..983f0d0447 100644
--- a/files/es/glossary/cid/index.html
+++ b/files/es/glossary/cia/index.html
diff --git a/files/es/glossary/cifrado/index.html b/files/es/glossary/cipher/index.html
index e0679eca97..e0679eca97 100644
--- a/files/es/glossary/cifrado/index.html
+++ b/files/es/glossary/cipher/index.html
diff --git a/files/es/glossary/textocifrado/index.html b/files/es/glossary/ciphertext/index.html
index 65315ab297..65315ab297 100644
--- a/files/es/glossary/textocifrado/index.html
+++ b/files/es/glossary/ciphertext/index.html
diff --git a/files/es/glossary/clausura/index.html b/files/es/glossary/closure/index.html
index 2f4cbbb479..2f4cbbb479 100644
--- a/files/es/glossary/clausura/index.html
+++ b/files/es/glossary/closure/index.html
diff --git a/files/es/glossary/sistema_gestion_contenidos/index.html b/files/es/glossary/cms/index.html
index e4a67f504b..e4a67f504b 100644
--- a/files/es/glossary/sistema_gestion_contenidos/index.html
+++ b/files/es/glossary/cms/index.html
diff --git a/files/es/glossary/constante/index.html b/files/es/glossary/constant/index.html
index 41d4efb98a..41d4efb98a 100644
--- a/files/es/glossary/constante/index.html
+++ b/files/es/glossary/constant/index.html
diff --git a/files/es/glossary/criptoanálisis/index.html b/files/es/glossary/cryptanalysis/index.html
index c56576e600..c56576e600 100644
--- a/files/es/glossary/criptoanálisis/index.html
+++ b/files/es/glossary/cryptanalysis/index.html
diff --git a/files/es/glossary/criptografía/index.html b/files/es/glossary/cryptography/index.html
index cfd3f498db..cfd3f498db 100644
--- a/files/es/glossary/criptografía/index.html
+++ b/files/es/glossary/cryptography/index.html
diff --git a/files/es/glossary/preprocesador_css/index.html b/files/es/glossary/css_preprocessor/index.html
index 7304385604..7304385604 100644
--- a/files/es/glossary/preprocesador_css/index.html
+++ b/files/es/glossary/css_preprocessor/index.html
diff --git a/files/es/glossary/estructura_de_datos/index.html b/files/es/glossary/data_structure/index.html
index d01f1b0ac8..d01f1b0ac8 100644
--- a/files/es/glossary/estructura_de_datos/index.html
+++ b/files/es/glossary/data_structure/index.html
diff --git a/files/es/glossary/descifrado/index.html b/files/es/glossary/decryption/index.html
index 838c76438b..838c76438b 100644
--- a/files/es/glossary/descifrado/index.html
+++ b/files/es/glossary/decryption/index.html
diff --git a/files/es/glossary/dhtml/index.html b/files/es/glossary/dhtml/index.html
new file mode 100644
index 0000000000..ee735a29bc
--- /dev/null
+++ b/files/es/glossary/dhtml/index.html
@@ -0,0 +1,47 @@
+---
+title: DHTML
+slug: DHTML
+tags:
+ - DHTML
+ - Todas_las_Categorías
+translation_of: Glossary/DHTML
+---
+<p>
+</p>
+<div><b>DHTML es la abreviatura de "HTML dinámico"</b>.El término DHTML se usa generalmente para referirse al código del que están hechas las páginas web interactivas que no requieren la utilización de plugins tales como Flash o Java.El término abarca las funcionalidades disponibles para los desarrolladores web que utilizan las tecnologías <a href="es/HTML">HTML</a>, <a href="es/CSS">CSS</a>, <a href="es/DOM">Document Object Model</a>, y <a href="es/JavaScript">JavaScript</a> de forma combinada.
+</div>
+<table class="topicpage-table">
+<tbody><tr><td>
+<h4 id="Documentaci.C3.B3n" name="Documentaci.C3.B3n"> <a>Documentación</a> </h4>
+<dl><dt> <a href="es/Referencia_de_Objetos_Clientes_DOM">Referencia de Objetos Clientes DOM</a>
+</dt><dd> <small>Esta referencia de objetos clientes proporciona información sobre los objetos usados comúnmente en DHTML, y su intención es ayudar a determinar que propiedades están soportadas en cada navegador.</small>
+</dd></dl>
+<dl><dt> <a href="es/DHTML_Demostraciones_del_uso_de_DOM%2f%2fStyle">DHTML Demostraciones del uso de DOM/Style</a>
+</dt><dd> <small>Demostraciones de Modelo de Objetos del Documento(DOM) , Cross-browser widgets, y recursos adicionales para aprender sobre DOM.</small>
+</dd></dl>
+<dl><dt> <a href="es/Soluci%c3%b3n_a_errores_DHTML_en_Firefox_1.0.3">Solución a errores DHTML en Firefox 1.0.3</a>
+</dt><dd> <small>Tenga en cuenta que los problemas tratados en este artículo se han solucionado en la versión 1.0.4 de Firefox, y este documento solo es de aplicación a las versiones 1.0.3 del navegador.
+</small></dd></dl>
+<p>
+</p><p><span class="alllinks"><a>View All...</a></span>
+</p>
+</td>
+<td>
+<h4 id="Comunidad" name="Comunidad"> Comunidad </h4>
+<ul><li> Ver foros en Mozilla ...
+</li></ul>
+<p>{{ DiscussionList("dev-ajax", "mozilla.dev.ajax") }}
+</p>
+<h4 id="Herramientas" name="Herramientas"> Herramientas </h4>
+<ul><li> <a class="link-https" href="https://addons.mozilla.org/extensions/moreinfo.php?id=1843&amp;application=firefox">Extensión Firebug para Firefox</a>
+</li></ul>
+<h4 id="Temas_Relacionados" name="Temas_Relacionados"> Temas Relacionados </h4>
+<dl><dd> <a href="es/AJAX">AJAX</a>, <a href="es/CSS">CSS</a>, <a href="es/DOM">DOM</a>, <a href="es/HTML">HTML</a>, <a href="es/JavaScript">JavaScript</a>
+</dd></dl>
+</td>
+</tr>
+</tbody></table>
+<p><span class="comment">Categories</span>
+</p><p><span class="comment">Interwiki Language Links</span>
+</p><p><br>
+</p>{{ languages( { "en": "en/DHTML", "fr": "fr/DHTML", "ja": "ja/DHTML", "ko": "ko/DHTML", "pl": "pl/DHTML", "pt": "pt/DHTML" } ) }}
diff --git a/files/es/glossary/nombre_de_dominio/index.html b/files/es/glossary/domain_name/index.html
index e2c9e01c16..e2c9e01c16 100644
--- a/files/es/glossary/nombre_de_dominio/index.html
+++ b/files/es/glossary/domain_name/index.html
diff --git a/files/es/glossary/dtd/index.html b/files/es/glossary/dtd/index.html
deleted file mode 100644
index d59af84200..0000000000
--- a/files/es/glossary/dtd/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: DTD
-slug: Glossary/DTD
-translation_of: Glossary/Doctype
-translation_of_original: Glossary/DTD
----
-<p>{{page("/en-US/docs/Glossary/Doctype")}}</p>
diff --git a/files/es/glossary/tipado_dinámico/index.html b/files/es/glossary/dynamic_typing/index.html
index c8ee61a087..c8ee61a087 100644
--- a/files/es/glossary/tipado_dinámico/index.html
+++ b/files/es/glossary/dynamic_typing/index.html
diff --git a/files/es/glossary/elemento/index.html b/files/es/glossary/elemento/index.html
deleted file mode 100644
index a947c1e053..0000000000
--- a/files/es/glossary/elemento/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: elemento
-slug: Glossary/elemento
-tags:
- - Junk
----
-<p>Componentes que especifican como los documentos HTML deben ser construidos y que tipo de contenido debe ser posicionado en que lugar de un documento HTML.</p>
diff --git a/files/es/glossary/encriptación/index.html b/files/es/glossary/encryption/index.html
index 4d98cc9ad5..4d98cc9ad5 100644
--- a/files/es/glossary/encriptación/index.html
+++ b/files/es/glossary/encryption/index.html
diff --git a/files/es/glossary/entidad/index.html b/files/es/glossary/entity/index.html
index cc6ebf2682..cc6ebf2682 100644
--- a/files/es/glossary/entidad/index.html
+++ b/files/es/glossary/entity/index.html
diff --git a/files/es/glossary/funcion_de_primera_clase/index.html b/files/es/glossary/first-class_function/index.html
index 311f068470..311f068470 100644
--- a/files/es/glossary/funcion_de_primera_clase/index.html
+++ b/files/es/glossary/first-class_function/index.html
diff --git a/files/es/glossary/nombre_de_encabezado_prohibido/index.html b/files/es/glossary/forbidden_header_name/index.html
index e2f16bbecf..e2f16bbecf 100644
--- a/files/es/glossary/nombre_de_encabezado_prohibido/index.html
+++ b/files/es/glossary/forbidden_header_name/index.html
diff --git a/files/es/glossary/función/index.html b/files/es/glossary/function/index.html
index f67d9e90c8..f67d9e90c8 100644
--- a/files/es/glossary/función/index.html
+++ b/files/es/glossary/function/index.html
diff --git a/files/es/glossary/cabecera_general/index.html b/files/es/glossary/general_header/index.html
index d27644dad0..d27644dad0 100644
--- a/files/es/glossary/cabecera_general/index.html
+++ b/files/es/glossary/general_header/index.html
diff --git a/files/es/glossary/identificador/index.html b/files/es/glossary/identifier/index.html
index 63f26a35a8..63f26a35a8 100644
--- a/files/es/glossary/identificador/index.html
+++ b/files/es/glossary/identifier/index.html
diff --git a/files/es/glossary/inmutable/index.html b/files/es/glossary/immutable/index.html
index 534f00b6b6..534f00b6b6 100644
--- a/files/es/glossary/inmutable/index.html
+++ b/files/es/glossary/immutable/index.html
diff --git a/files/es/glossary/arquitectura_de_la_información/index.html b/files/es/glossary/information_architecture/index.html
index 222ed88e59..222ed88e59 100644
--- a/files/es/glossary/arquitectura_de_la_información/index.html
+++ b/files/es/glossary/information_architecture/index.html
diff --git a/files/es/glossary/clave/index.html b/files/es/glossary/key/index.html
index b228776065..b228776065 100644
--- a/files/es/glossary/clave/index.html
+++ b/files/es/glossary/key/index.html
diff --git a/files/es/glossary/localization/index.html b/files/es/glossary/localization/index.html
new file mode 100644
index 0000000000..def1406446
--- /dev/null
+++ b/files/es/glossary/localization/index.html
@@ -0,0 +1,16 @@
+---
+title: Localización
+slug: Localización
+tags:
+ - Localización
+translation_of: Glossary/Localization
+---
+<p>  </p>
+<div> <p>La <strong>localización</strong> es el proceso de traducción de interfaces de usuario de un lenguaje a otro y adaptación para que una cultura extranjera lo comprenda. Estos recursos tratan sobre cómo hacer aplicaciones/extensiones de Mozilla localizables.</p>
+</div>
+<table class="topicpage-table"> <tbody> <tr> <td> <h4 id="Documentaci.C3.B3n"><a href="/Special:Tags" title="Site Tags">Documentación</a></h4> <dl> <dt><a class="external" href="http://www.proyectonave.es/docs/extensiones" title="http://www.proyectonave.es/docs/extensiones">Sistema de traducción de extensiones para NAVE</a></dt> <dd><small>"Este documento tiene como principal objetivo fomentar la traducción de extensiones mediante un sistema escalable que, aunque inicialmente puede ser complicado de entender, al final, se minimiza el tiempo total empleado en generar un paquete de idioma con la traducción." </small></dd> </dl> <dl> <dt><a class="external" href="http://www.proyectonave.es/docs/instaladores" title="http://www.proyectonave.es/docs/instaladores">Creación de instaladores</a></dt> <dd><small>Este documento explica cómo hacer instaladores de productos Mozilla 100% es-ES a partir del correspondiente instalador original en-US y los paquetes de idioma es-ES más, en algunos casos, archivos adicionales de personalización es-ES.</small></dd> </dl> <dl> <dt><a href="/es/Escribir_código_localizable" title="es/Escribir_código_localizable">Escribir código localizable</a></dt> <dd><small>Esta página te explica las buenas prácticas y directrices al tratar con código UI en relación a la localización. Está dirigido a desarrolladores de Mozilla y sus extensiones.</small></dd> </dl> <dl> <dt><a class="external" href="http://kb.mozillazine.org/Localize_extension_descriptions">Localizando las descripciones de las extensiones</a></dt> <dd><small>Para localizar la descripción de una extensión (secuencia que muestra arriba y abajo el nombre de la extensión en ventanas de extensiones), necesitas utilizar una clave especial para anular la descripción especificada en su archivo install.rdf. Este artículo contiene instrucciones de cómo modificar esta tecla de preferencia.</small></dd> </dl> <p><span class="alllinks"><a href="/Special:Tags" title="Site Tags">Ver todo...</a></span></p> </td> <td> <h4 id="Comunidad">Comunidad</h4> <ul> <li><a class="external" href="http://www.proyectonave.es/" title="http://www.proyectonave.es/">El proyecto NAVE</a></li> <li><a class="external" href="http://www.babelzilla.org/forum/index.php?showforum=38">Babelzilla</a></li> <li><a class="external" href="http://www.mozillaes.org/index.php?option=com_forum&amp;Itemid=122&amp;page=viewforum&amp;f=13">Foro sobre traducciones en MozillaES</a></li> <li><a class="external" href="http://www.mozilla-hispano.org/foro/viewforum.php?f=7&amp;sid=f1ffba39f7bdd70f5f54283be1ab23ac" title="http://www.mozilla-hispano.org/foro/viewforum.php?f=7&amp;sid=f1ffba39f7bdd70f5f54283be1ab23ac">Foro sobre traducciones en Mozilla Hispano</a></li> </ul> <ul> <li>En la comunidad Mozilla... en ingles</li> </ul> <p>{{ DiscussionList("dev-l10n", "mozilla.dev.l10n") }}</p> <ul> <li> <ul> <li><a class="external" href="http://www.mozilla.org/projects/l10n/">Proyecto de localización de Mozilla</a></li> </ul> </li> </ul> <p><span class="alllinks"><a href="/es/Localización/Comunidad" title="es/Localización/Comunidad">Ver todo...</a></span></p> <h3 id="Herramientas">Herramientas</h3> <ul> <li><a class="external" href="http://kbabel.kde.org/">KBabel</a></li> <li><a class="external" href="http://wiki.mozilla.org/L10n:MozillaTranslator" title="http://wiki.mozilla.org/L10n:MozillaTranslator">MozillaTranslator</a></li> <li><a class="external" href="http://www.mozilla.org/projects/l10n/mlp_tools.html">Herramientas para la localización (en)</a></li> </ul> <p><span class="alllinks"><a href="/Special:Tags" title="Site Tags">Ver todo...</a></span></p> <h4 id="Temas_Relacionados">Temas Relacionados</h4> <dl> <dd><a href="/es/Extensiones" title="es/Extensiones">Extensiones</a>, <a href="/es/Desarrollando_Mozilla" title="es/Desarrollando_Mozilla">Desarrollando Mozilla</a>, <a href="/es/XUL" title="es/XUL">XUL</a></dd> </dl> </td> </tr> </tbody>
+</table>
+<p><span class="comment">Categorías</span></p>
+<p><span class="comment">Interwiki Language Links</span></p>
+<p>  </p>
+<p>{{ languages( { "de": "de/Lokalisierung", "en": "en/Localization", "fr": "fr/Localisation", "it": "it/Localization", "ja": "ja/Localization", "pl": "pl/Lokalizacja", "pt": "pt/Localiza\u00e7\u00e3o", "zh-tw": "zh_tw/\u672c\u5730\u5316" } ) }}</p>
diff --git a/files/es/glossary/hilo_principal/index.html b/files/es/glossary/main_thread/index.html
index 47cef4e428..47cef4e428 100644
--- a/files/es/glossary/hilo_principal/index.html
+++ b/files/es/glossary/main_thread/index.html
diff --git a/files/es/glossary/metadato/index.html b/files/es/glossary/metadata/index.html
index dddb546b28..dddb546b28 100644
--- a/files/es/glossary/metadato/index.html
+++ b/files/es/glossary/metadata/index.html
diff --git a/files/es/glossary/método/index.html b/files/es/glossary/method/index.html
index b0539a9474..b0539a9474 100644
--- a/files/es/glossary/método/index.html
+++ b/files/es/glossary/method/index.html
diff --git a/files/es/glossary/numero/index.html b/files/es/glossary/number/index.html
index 6c1b7cd2b5..6c1b7cd2b5 100644
--- a/files/es/glossary/numero/index.html
+++ b/files/es/glossary/number/index.html
diff --git a/files/es/glossary/objecto/index.html b/files/es/glossary/object/index.html
index aeda572ea9..aeda572ea9 100644
--- a/files/es/glossary/objecto/index.html
+++ b/files/es/glossary/object/index.html
diff --git a/files/es/glossary/operando/index.html b/files/es/glossary/operand/index.html
index 6a198905e3..6a198905e3 100644
--- a/files/es/glossary/operando/index.html
+++ b/files/es/glossary/operand/index.html
diff --git a/files/es/glossary/operador/index.html b/files/es/glossary/operator/index.html
index 0385f67830..0385f67830 100644
--- a/files/es/glossary/operador/index.html
+++ b/files/es/glossary/operator/index.html
diff --git a/files/es/glossary/textosimple/index.html b/files/es/glossary/plaintext/index.html
index 2c76ac8212..2c76ac8212 100644
--- a/files/es/glossary/textosimple/index.html
+++ b/files/es/glossary/plaintext/index.html
diff --git a/files/es/glossary/preflight_peticion/index.html b/files/es/glossary/preflight_request/index.html
index 6bd66f555a..6bd66f555a 100644
--- a/files/es/glossary/preflight_peticion/index.html
+++ b/files/es/glossary/preflight_request/index.html
diff --git a/files/es/glossary/primitivo/index.html b/files/es/glossary/primitive/index.html
index 1966a23803..1966a23803 100644
--- a/files/es/glossary/primitivo/index.html
+++ b/files/es/glossary/primitive/index.html
diff --git a/files/es/glossary/propiedad/index.html b/files/es/glossary/property/index.html
index 07eae32e78..07eae32e78 100644
--- a/files/es/glossary/propiedad/index.html
+++ b/files/es/glossary/property/index.html
diff --git a/files/es/glossary/pseudo-clase/index.html b/files/es/glossary/pseudo-class/index.html
index b3984258d3..b3984258d3 100644
--- a/files/es/glossary/pseudo-clase/index.html
+++ b/files/es/glossary/pseudo-class/index.html
diff --git a/files/es/glossary/pseudocódigo/index.html b/files/es/glossary/pseudocode/index.html
index 7a68d05ecb..7a68d05ecb 100644
--- a/files/es/glossary/pseudocódigo/index.html
+++ b/files/es/glossary/pseudocode/index.html
diff --git a/files/es/glossary/recursión/index.html b/files/es/glossary/recursion/index.html
index 866ba64a33..866ba64a33 100644
--- a/files/es/glossary/recursión/index.html
+++ b/files/es/glossary/recursion/index.html
diff --git a/files/es/glossary/seguro/index.html b/files/es/glossary/safe/index.html
index f5c1c42763..f5c1c42763 100644
--- a/files/es/glossary/seguro/index.html
+++ b/files/es/glossary/safe/index.html
diff --git a/files/es/glossary/scv/index.html b/files/es/glossary/scm/index.html
index be400de190..be400de190 100644
--- a/files/es/glossary/scv/index.html
+++ b/files/es/glossary/scm/index.html
diff --git a/files/es/glossary/speculative_parsing/index.html b/files/es/glossary/speculative_parsing/index.html
new file mode 100644
index 0000000000..6509450cf9
--- /dev/null
+++ b/files/es/glossary/speculative_parsing/index.html
@@ -0,0 +1,34 @@
+---
+title: Optimizar sus páginas para análisis especulativo
+slug: Web/HTML/Optimizing_your_pages_for_speculative_parsing
+tags:
+ - Avanzado
+ - Desarrollo web
+ - HTML
+ - HTML5
+translation_of: Glossary/speculative_parsing
+---
+<p><span class="seoSummary">Tradicionalmente en los navegadores el analizador de HTML corre en el hilo de ejecución principal y se queda bloqueado después de una etiqueta &lt;/script&gt; hasta que el código se haya recuperado y ejecutado. El analizador de HTML de Firefox 4 y posteriores soporta análisis especulativo fuera del hilo de ejecución principal. Este analiza anticipadamente mientras el codigo está siendo descargado y ejecutado. Como en Firefox 3.5 y 3.6, el analizador de HTML es el que inicia la carga especulativa de código, las hojas de estilos y las imagenes que va encontrando en el flujo de la página. Sin embargo en Firefox 4 y posteriores el analizador de HTML también ejecuta el algoritmo especulativo de la construcción del árbol HTML. La ventaja es que cuando lo especulado tiene exito, no hay necesidad de reanalizar la parte del archivo de entrada que ya fue analizada junto la descarga de código,  hojas de estilo y las imágenes. La desventaja es que se ha realizado un trabajo inútil cuando la especulación fracasa.</span></p>
+
+<p>Este documento le ayuda a evitar este tipo de situaciones que hacen que la especulación falle y ralentize la carga de la página.</p>
+
+<h2 id="Haciendo_cargas_especulativas_exitosas">Haciendo cargas especulativas exitosas</h2>
+
+<p>Hay solo una regla para hacer cargas especulativas exitosas en scripts enlazados, hojas de estilo e imagenes:</p>
+
+<ul>
+ <li>Si usted usa el elemento &lt;base&gt; para anular la base URI de su pagina, ponga el elemento en la parte no-escrita de el documento. No la añada via document.write() o document.createElement().</li>
+</ul>
+
+<h2 id="Evitando_perder_la_salida_del_generador_de_arbol">Evitando perder la salida del generador de arbol</h2>
+
+<p>La generación de árbol especulativo falla cuando <code>document.write()</code> cambia el estado del generador de árbol de tal manera que el estado especulativo después del tag <code>&lt;/script&gt;</code> no se mantiene cuando todo el contenido es inertado por <code>document.write()</code> ha sido analizado. Sin embargo, sólo usos inusuales de <code>document.write()</code> causa problemas. Aquí están las cosas a evitar:</p>
+
+<ul>
+ <li>No escriba árboles desbalanceados. <code>&lt;script&gt;document.write("&lt;div&gt;");&lt;/script&gt;</code> está mal. <code>&lt;script&gt;document.write("&lt;div&gt;&lt;/div&gt;");&lt;/script&gt;</code> es correcto.</li>
+ <li>No escriba un token sin finalizar. <code>&lt;script&gt;document.write("&lt;div&gt;&lt;/div");&lt;/script&gt;</code> esta mal.</li>
+ <li>No termine con un carater de retorno de carro. <code>&lt;script&gt;document.write("Hello World!\r");&lt;/script&gt;</code> está mal. <code>&lt;script&gt;document.write("Hello World!\n");&lt;/script&gt;</code> es correcto.</li>
+ <li>Note que escribiendo etiquetas balanceadas pueden causarse que se creen otras etiquetas desbalanceadas. Ej. <code>&lt;script&gt;document.write("&lt;div&gt;&lt;/div&gt;");&lt;/script&gt;</code> dentro del elemento <code>head</code> será interpretado como <code>&lt;script&gt;document.write("&lt;/head&gt;&lt;body&gt;&lt;div&gt;&lt;/div&gt;");&lt;/script&gt;</code> el cual está desbalanceado.</li>
+ <li>No formatee parte de una tabla. <code>&lt;table&gt;&lt;script&gt;document.write("&lt;tr&gt;&lt;td&gt;Hello World!&lt;/td&gt;&lt;/tr&gt;");&lt;/script&gt;&lt;/table&gt;</code> está mal. Sin embargo, <code>&lt;script&gt;document.write("</code><code>&lt;table&gt;</code><code>&lt;tr&gt;&lt;td&gt;Hello World!&lt;/td&gt;&lt;/tr&gt;</code><code>&lt;/table&gt;</code><code>");&lt;/script&gt;</code> está correcto.</li>
+ <li>HAGA: document.write dentro de otro elemento de formateo.</li>
+</ul>
diff --git a/files/es/glossary/sentencias/index.html b/files/es/glossary/statement/index.html
index 501478a820..501478a820 100644
--- a/files/es/glossary/sentencias/index.html
+++ b/files/es/glossary/statement/index.html
diff --git a/files/es/glossary/tipificación_estática/index.html b/files/es/glossary/static_typing/index.html
index 161ab31c61..161ab31c61 100644
--- a/files/es/glossary/tipificación_estática/index.html
+++ b/files/es/glossary/static_typing/index.html
diff --git a/files/es/glossary/sincronico/index.html b/files/es/glossary/synchronous/index.html
index cfe10edd6f..cfe10edd6f 100644
--- a/files/es/glossary/sincronico/index.html
+++ b/files/es/glossary/synchronous/index.html
diff --git a/files/es/glossary/coercion/index.html b/files/es/glossary/type_coercion/index.html
index 02721fad10..02721fad10 100644
--- a/files/es/glossary/coercion/index.html
+++ b/files/es/glossary/type_coercion/index.html
diff --git a/files/es/glossary/iu/index.html b/files/es/glossary/ui/index.html
index 0b24558082..0b24558082 100644
--- a/files/es/glossary/iu/index.html
+++ b/files/es/glossary/ui/index.html
diff --git a/files/es/glossary/validador/index.html b/files/es/glossary/validator/index.html
index 8b105054a9..8b105054a9 100644
--- a/files/es/glossary/validador/index.html
+++ b/files/es/glossary/validator/index.html
diff --git a/files/es/glossary/valor/index.html b/files/es/glossary/value/index.html
index d0d2cc2bf8..d0d2cc2bf8 100644
--- a/files/es/glossary/valor/index.html
+++ b/files/es/glossary/value/index.html
diff --git a/files/es/glossary/espacio_en_blanco/index.html b/files/es/glossary/whitespace/index.html
index db6014deae..db6014deae 100644
--- a/files/es/glossary/espacio_en_blanco/index.html
+++ b/files/es/glossary/whitespace/index.html
diff --git a/files/es/glossary/xform/index.html b/files/es/glossary/xforms/index.html
index 6590baacdd..6590baacdd 100644
--- a/files/es/glossary/xform/index.html
+++ b/files/es/glossary/xforms/index.html
diff --git a/files/es/glossary/xhtml/index.html b/files/es/glossary/xhtml/index.html
new file mode 100644
index 0000000000..63e9c8b5e7
--- /dev/null
+++ b/files/es/glossary/xhtml/index.html
@@ -0,0 +1,33 @@
+---
+title: XHTML
+slug: XHTML
+tags:
+ - HTML
+ - Todas_las_Categorías
+ - XHTML
+ - XML
+translation_of: Glossary/XHTML
+---
+<p>
+</p><p><b>XHTML</b> es a <a href="es/XML">XML</a> como <a href="es/HTML">HTML</a> es a <a href="es/SGML">SGML</a>. Es decir, XHTML es un lenguaje de marcado que es similar al HTML, pero con un sintaxis más estricta. Dos versiones de XHTML han sido terminadas por el <a class="external" href="http://www.w3.org/">W3C</a>:
+</p>
+<ul><li> <a class="external" href="http://www.sidar.org/recur/desdi/traduc/es/xhtml/xhtml11.htm">XHTML 1.0</a> es HTML4 reformulado como una aplicación XML, y es compatible con versiones anteriores de HTML en casos limitados.
+</li><li> <a class="external" href="http://www.sidar.org/recur/desdi/traduc/es/xhtml/xhtml11_es.html">XHTML 1.1</a> es una versión modular de XHTML que no es compatible con versiones anteriores de HTML.
+<ul><li> Para entender mejor la <a class="external" href="http://www.sidar.org/recur/desdi/traduc/es/xhtml/modxhtml/index.html">Modularidad en XHTML</a>
+</li></ul>
+</li><li> <a class="external" href="http://www.sidar.org/recur/desdi/traduc/es/xhtml/xhtml-basic.html">XHTML Básico</a> Es una versión simplificada pensada para los nuevos dispositivos de acceso a internet, como telefonos, PDAs, y otros.
+</li></ul>
+<p>Actualmente se encuentra en desarrollo <a class="external" href="http://www.w3.org/TR/xhtml2/">XHTML 2</a>, con cambios significativos en el vocabulario de elementos. Para más información sobre XHTML, lea:
+</p>
+<ul><li> <a class="external" href="http://es.wikipedia.org/wiki/XHTML">Artículo sobre XHTML en la Wikipedia</a>
+</li></ul>
+<h3 id="Herramientas" name="Herramientas"> Herramientas </h3>
+<ul><li> <a class="external" href="http://validator.w3.org/">Servicio de validación de XHTML (W3C)</a>
+</li></ul>
+<p><span class="alllinks"><a>Ver todas...</a></span>
+</p><p><span class="comment">Categorías</span>
+</p><p><span class="comment">Interwiki enlaces a otros idiomas</span>
+</p>
+<div class="noinclude">
+</div>
+{{ languages( { "en": "en/XHTML", "fr": "fr/XHTML", "it": "it/XHTML", "ja": "ja/XHTML", "pl": "pl/XHTML", "pt": "pt/XHTML" } ) }}