aboutsummaryrefslogtreecommitdiff
path: root/files/es/archive
diff options
context:
space:
mode:
Diffstat (limited to 'files/es/archive')
-rw-r--r--files/es/archive/add-ons/api_de_restauración_de_sesión/index.html66
-rw-r--r--files/es/archive/add-ons/index.html8
-rw-r--r--files/es/archive/add-ons/observer_notifications/index.html155
-rw-r--r--files/es/archive/add-ons/permitir_sugerencias_en_los_plugins_de_búsqueda/index.html54
-rw-r--r--files/es/archive/add-ons/versionado,_actualización_y_compatibilidad_de_extensiones/index.html295
-rw-r--r--files/es/archive/api/index.html13
-rw-r--r--files/es/archive/api/navigator/index.html8
-rw-r--r--files/es/archive/api/navigator/moznotification/index.html64
-rw-r--r--files/es/archive/apps/advanced_topics/index.html74
-rw-r--r--files/es/archive/apps/index.html8
-rw-r--r--files/es/archive/b2g_os/api/callevent/index.html117
-rw-r--r--files/es/archive/b2g_os/api/cameramanager/getcamera/index.html126
-rw-r--r--files/es/archive/b2g_os/api/cameramanager/index.html62
-rw-r--r--files/es/archive/b2g_os/api/index.html120
-rw-r--r--files/es/archive/b2g_os/api/mozactivity/index.html69
-rw-r--r--files/es/archive/b2g_os/api/mozvoicemailstatus/index.html67
-rw-r--r--files/es/archive/b2g_os/api/navigator/index.html12
-rw-r--r--files/es/archive/b2g_os/api/navigator/mozalarms/index.html116
-rw-r--r--files/es/archive/b2g_os/api/navigator/mozapps/index.html96
-rw-r--r--files/es/archive/b2g_os/api/navigator/moztelephony/index.html83
-rw-r--r--files/es/archive/b2g_os/api/telephony/index.html141
-rw-r--r--files/es/archive/b2g_os/api/telephonycall/hangup/index.html118
-rw-r--r--files/es/archive/b2g_os/api/telephonycall/index.html185
-rw-r--r--files/es/archive/b2g_os/api/telephonycall/number/index.html125
-rw-r--r--files/es/archive/b2g_os/api/telephonycall/onincoming/index.html120
-rw-r--r--files/es/archive/b2g_os/api/window/index.html27
-rw-r--r--files/es/archive/b2g_os/application_development/index.html11
-rw-r--r--files/es/archive/b2g_os/apps/escribiendo_una_aplicacion_web_para_b2g/index.html29
-rw-r--r--files/es/archive/b2g_os/apps/index.html62
-rw-r--r--files/es/archive/b2g_os/architecture/index.html759
-rw-r--r--files/es/archive/b2g_os/building_and_installing_boot_to_gecko/dispositivos_compatibles/index.html360
-rw-r--r--files/es/archive/b2g_os/building_and_installing_boot_to_gecko/firefox_os_build_process_summary/index.html109
-rw-r--r--files/es/archive/b2g_os/building_and_installing_boot_to_gecko/index.html82
-rw-r--r--files/es/archive/b2g_os/building_b2g_for_qemu_emulator/index.html37
-rw-r--r--files/es/archive/b2g_os/compilar_boot_to_gecko/index.html123
-rw-r--r--files/es/archive/b2g_os/complementos/index.html58
-rw-r--r--files/es/archive/b2g_os/consejos_uso_firefox_os/index.html21
-rw-r--r--files/es/archive/b2g_os/debugging/depurar_b2g_usando_gdb/index.html79
-rw-r--r--files/es/archive/b2g_os/debugging/developer_settings/index.html194
-rw-r--r--files/es/archive/b2g_os/debugging/index.html74
-rw-r--r--files/es/archive/b2g_os/debugging/personalizando_el_script_b2g.sh/index.html42
-rw-r--r--files/es/archive/b2g_os/debugging/setting_up/index.html37
-rw-r--r--files/es/archive/b2g_os/developing_gaia/entendiendo_el_codigo_base_de_gaia/index.html104
-rw-r--r--files/es/archive/b2g_os/developing_gaia/index.html61
-rw-r--r--files/es/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html47
-rw-r--r--files/es/archive/b2g_os/elegir_como_ejecutar_gaia_o_b2g/index.html61
-rw-r--r--files/es/archive/b2g_os/firefox_os_apps/building_blocks/index.html195
-rw-r--r--files/es/archive/b2g_os/firefox_os_apps/index.html85
-rw-r--r--files/es/archive/b2g_os/firefox_os_build_prerequisites/index.html204
-rw-r--r--files/es/archive/b2g_os/gaia_hacking_guide/index.html6
-rw-r--r--files/es/archive/b2g_os/gonk/index.html23
-rw-r--r--files/es/archive/b2g_os/index.html94
-rw-r--r--files/es/archive/b2g_os/installing_on_a_mobile_device/index.html79
-rw-r--r--files/es/archive/b2g_os/introduction/index.html27
-rw-r--r--files/es/archive/b2g_os/phone_guide/fairphone/index.html186
-rw-r--r--files/es/archive/b2g_os/phone_guide/flame/configuracion_inicial/index.html122
-rw-r--r--files/es/archive/b2g_os/phone_guide/flame/index.html78
-rw-r--r--files/es/archive/b2g_os/phone_guide/flame/updating_your_flame/index.html301
-rw-r--r--files/es/archive/b2g_os/phone_guide/fx0/index.html51
-rw-r--r--files/es/archive/b2g_os/phone_guide/geeksphone/index.html124
-rw-r--r--files/es/archive/b2g_os/phone_guide/index.html43
-rw-r--r--files/es/archive/b2g_os/phone_guide/lista_dispositivos/index.html712
-rw-r--r--files/es/archive/b2g_os/phone_guide/zte_open/index.html287
-rw-r--r--files/es/archive/b2g_os/phone_guide/zte_open_c/index.html226
-rw-r--r--files/es/archive/b2g_os/platform/gaia/hacking/index.html226
-rw-r--r--files/es/archive/b2g_os/platform/gaia/index.html61
-rw-r--r--files/es/archive/b2g_os/platform/gaia/introduction_to_gaia/index.html13
-rw-r--r--files/es/archive/b2g_os/platform/index.html94
-rw-r--r--files/es/archive/b2g_os/platform/settings_list/index.html709
-rw-r--r--files/es/archive/b2g_os/portando/index.html369
-rw-r--r--files/es/archive/b2g_os/porting_firefox_os/index.html71
-rw-r--r--files/es/archive/b2g_os/porting_firefox_os/portando_de_cyanogenmod/index.html239
-rw-r--r--files/es/archive/b2g_os/preparing_for_your_first_b2g_build/index.html151
-rw-r--r--files/es/archive/b2g_os/probando_firefox_os/index.html81
-rw-r--r--files/es/archive/b2g_os/quickstart/app_tools/index.html16
-rw-r--r--files/es/archive/b2g_os/quickstart/index.html49
-rw-r--r--files/es/archive/b2g_os/quickstart/intro_to_manifests/index.html90
-rw-r--r--files/es/archive/b2g_os/quickstart/introduccion_a_las_open_web_apps/index.html108
-rw-r--r--files/es/archive/b2g_os/quickstart/tu_primera_aplicacion/index.html257
-rw-r--r--files/es/archive/b2g_os/releases/2.0/index.html116
-rw-r--r--files/es/archive/b2g_os/releases/2.1/index.html40
-rw-r--r--files/es/archive/b2g_os/releases/index.html24
-rw-r--r--files/es/archive/b2g_os/screencast_series_colon__app_basics_for_firefox_os/index.html228
-rw-r--r--files/es/archive/b2g_os/security/application_security/index.html118
-rw-r--r--files/es/archive/b2g_os/security/index.html72
-rw-r--r--files/es/archive/b2g_os/security/modelo_seguridad/index.html255
-rw-r--r--files/es/archive/b2g_os/simulator/index.html258
-rw-r--r--files/es/archive/b2g_os/usando_el_b2g_escritorio_cliente/index.html134
-rw-r--r--files/es/archive/b2g_os/using_firefox_os_simulator/index.html57
-rw-r--r--files/es/archive/b2g_os/using_the_app_manager/index.html179
-rw-r--r--files/es/archive/b2g_os/ux/building_blocks/action_menu/coding/index.html80
-rw-r--r--files/es/archive/b2g_os/ux/building_blocks/action_menu/index.html46
-rw-r--r--files/es/archive/b2g_os/ux/building_blocks/button/index.html231
-rw-r--r--files/es/archive/b2g_os/ux/building_blocks/index.html268
-rw-r--r--files/es/archive/b2g_os/ux/guia_estilo/index.html62
-rw-r--r--files/es/archive/b2g_os/web_telephony_api/index.html28
-rw-r--r--files/es/archive/b2g_os/web_telephony_api/introduccion_a_la_webtelephony/index.html64
-rw-r--r--files/es/archive/css3/index.html822
-rw-r--r--files/es/archive/estándares_web/analizar_microformatos_en_javascript/index.html201
-rw-r--r--files/es/archive/estándares_web/crear_microformatos_en_javascript/index.html111
-rw-r--r--files/es/archive/estándares_web/index.html64
-rw-r--r--files/es/archive/estándares_web/preguntas_frecuentes_sobre_rdf_en_mozilla/index.html446
-rw-r--r--files/es/archive/estándares_web/usando_el_marcado_correcto_para_llamar_a_los_plugins/index.html268
-rw-r--r--files/es/archive/estándares_web/ventajas_para_los_negocios_del_uso_de_estándares_web/index.html62
-rw-r--r--files/es/archive/index.html21
-rw-r--r--files/es/archive/jxon/index.html1509
-rw-r--r--files/es/archive/mdn/index.html16
-rw-r--r--files/es/archive/meta_docs/index.html15
-rw-r--r--files/es/archive/meta_docs/mdn_content_on_webplatform.org/index.html19
-rw-r--r--files/es/archive/meta_docs/mdn_page_layout_guide/index.html10
-rw-r--r--files/es/archive/misc_top_level/imágenes,_tablas_y_huecos_misteriosos/index.html97
-rw-r--r--files/es/archive/misc_top_level/index.html8
-rw-r--r--files/es/archive/misc_top_level/usar_las_preferencias_de_contenido/index.html38
-rw-r--r--files/es/archive/mozilla/firefox/el_uso_de_microformatos/index.html218
-rw-r--r--files/es/archive/mozilla/firefox/index.html8
-rw-r--r--files/es/archive/mozilla/firefox/soap_en_los_navegadores_basados_en_gecko/index.html264
-rw-r--r--files/es/archive/mozilla/index.html10
-rw-r--r--files/es/archive/mozilla/jetpack/index.html39
-rw-r--r--files/es/archive/mozilla/table_layout_regression_tests/index.html204
-rw-r--r--files/es/archive/mozilla/xbl/index.html27
-rw-r--r--files/es/archive/mozilla/xul/action/index.html87
-rw-r--r--files/es/archive/mozilla/xul/attribute/index.html304
-rw-r--r--files/es/archive/mozilla/xul/bestiario_xul/index.html186
-rw-r--r--files/es/archive/mozilla/xul/cómo_implementar_un_componente_procesador_de_consultas_xul/index.html187
-rw-r--r--files/es/archive/mozilla/xul/dialog/index.html383
-rw-r--r--files/es/archive/mozilla/xul/elementos/index.html323
-rw-r--r--files/es/archive/mozilla/xul/events/index.html460
-rw-r--r--files/es/archive/mozilla/xul/guía_de_plantillas/index.html6
-rw-r--r--files/es/archive/mozilla/xul/guía_de_plantillas/ordenar_resultados/index.html100
-rw-r--r--files/es/archive/mozilla/xul/index.html28
-rw-r--r--files/es/archive/mozilla/xul/method/index.html174
-rw-r--r--files/es/archive/mozilla/xul/property/align/index.html12
-rw-r--r--files/es/archive/mozilla/xul/property/buttons/index.html21
-rw-r--r--files/es/archive/mozilla/xul/property/index.html273
-rw-r--r--files/es/archive/mozilla/xul/style/index.html31
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/actualizar_comandos/index.html62
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/archivos_manifest/index.html155
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/atajos_de_teclado/index.html376
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_botones/index.html111
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_elementos_html/index.html106
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_etiquetas_e_imagenes/index.html54
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_los_gestores_de_eventos/index.html133
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_más_elementos/index.html98
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/barra_de_herramientas/index.html60
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/barras_de_desplazamiento/index.html74
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/cajas_de_grupo/index.html61
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/características_adicionales_de_la_instalación/index.html39
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/características_de_una_ventana/index.html106
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/comandos/index.html171
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_entrada/index.html86
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_listas/index.html171
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_asistente/index.html138
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_instalador/index.html95
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/creando_una_ventana/index.html105
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/detalles_de_vistas_de_un_árbol/index.html108
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/detalles_del_modelo_de_caja/index.html89
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/divisores/index.html136
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/diálogos_abrir_y_guardar/index.html85
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/el_modelo_de_caja/index.html192
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/emisores_y_receptores/index.html118
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/estructura_xul/index.html159
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/foco_y_selección/index.html179
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/herencia_de_atributos_xbl_en_firefox_1.5_y_2.0/index.html44
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/index.html123
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/instalando_scripts/index.html80
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/interfaces_xpcom/index.html132
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/introducción/index.html75
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/introducción_a_rdf/index.html136
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/la_url_chrome/index.html59
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/manipulando_listas/index.html168
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/medidores_de_progreso/index.html41
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/menús_con_desplazamiento/index.html56
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/menús_de_barras_simples/index.html168
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/menús_emergentes/index.html228
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/modelo_de_objeto_de_documento/index.html230
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/modificando_una_interfaz_xul/index.html157
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/más_asistentes/index.html88
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_botones/index.html102
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_árboles/index.html132
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/más_funciones_de_menú/index.html128
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/más_gestores_de_eventos/index.html168
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/objeto_de_caja_de_árbol/index.html190
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/paneles_de_contenidos/index.html48
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/plantillas/index.html191
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/posicionamiento_de_elementos_de_la_ventana/index.html229
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/rejillas/index.html141
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/selección_en_un_árbol/index.html94
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/usando_espaciadores/index.html103
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/árboles/index.html194
-rw-r--r--files/es/archive/mozilla/xul/tutorial_de_xul/árboles_y_plantillas/index.html138
-rw-r--r--files/es/archive/mozilla/xul/xul_reference/index.html318
-rw-r--r--files/es/archive/mozilla/xul/xul_reference/xul_element_attributes/index.html551
-rw-r--r--files/es/archive/mozilla/xulrunner/componentes/index.html16
-rw-r--r--files/es/archive/mozilla/xulrunner/index.html96
-rw-r--r--files/es/archive/mozilla/xulrunner/primeros_pasos_con_xulrunner/index.html280
-rw-r--r--files/es/archive/rss/index.html56
-rw-r--r--files/es/archive/rss/primeros_pasos/index.html53
-rw-r--r--files/es/archive/rss/versiones/index.html115
-rw-r--r--files/es/archive/security/encriptación_y_desencriptación/index.html78
-rw-r--r--files/es/archive/security/index.html14
-rw-r--r--files/es/archive/themes/create_your_own_firefox_background_theme/index.html102
-rw-r--r--files/es/archive/themes/index.html11
-rw-r--r--files/es/archive/tutoriales-para-principiantes/index.html8
-rw-r--r--files/es/archive/web/index.html12
-rw-r--r--files/es/archive/web/javascript/index.html12
-rw-r--r--files/es/archive/web/javascript/legacy_generator_function_statement/index.html63
-rw-r--r--files/es/archive/web/javascript/proximo_soporte_de_ecmascript_en_mozilla/index.html85
-rw-r--r--files/es/archive/web/liveconnect/index.html23
-rw-r--r--files/es/archive/web/liveconnect/java/index.html15
-rw-r--r--files/es/archive/web/liveconnect/javaarray/index.html65
-rw-r--r--files/es/archive/web/liveconnect/javaclass/index.html64
-rw-r--r--files/es/archive/web/liveconnect/javaobject/index.html61
-rw-r--r--files/es/archive/web/liveconnect/javapackage/index.html39
-rw-r--r--files/es/archive/web/liveconnect/netscape/index.html23
-rw-r--r--files/es/archive/web/liveconnect/packages/index.html44
-rw-r--r--files/es/archive/web/liveconnect/sun/index.html17
216 files changed, 0 insertions, 28499 deletions
diff --git a/files/es/archive/add-ons/api_de_restauración_de_sesión/index.html b/files/es/archive/add-ons/api_de_restauración_de_sesión/index.html
deleted file mode 100644
index 237857bc2e..0000000000
--- a/files/es/archive/add-ons/api_de_restauración_de_sesión/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: API de restauración de sesión
-slug: Archive/Add-ons/API_de_restauración_de_sesión
-tags:
- - Complementos
- - NecesitaRevisiónTécnica
- - Todas_las_Categorías
- - extensiones
-translation_of: Archive/Add-ons/Session_store_API
----
-<p><a href="/es/Firefox_2_para_desarrolladores" title="es/Firefox_2_para_desarrolladores">Firefox 2</a> introduce el almacenamiento de sesiones, una nueva caracteristica que hace posible que las <a href="/es/Extensiones" title="es/Extensiones">extensiones</a> puedan fácilmente, guardar y restaurar datos a lo largo de sesiones de Firefox. Existe una API simple que permite que las extensiones accedan a la caracterìstica de almacenamiento de sesión.</p>
-<p>Un escenario clave en el cual proveer esta caracteristica puede ser crucial para una extensión: Firefox 2 deja revertir el cerrado de pestañas. Para poder restaurar correctamente el estado de la extension cuando una pestaña es restaurada, necesita usar el metodo <code>setTabValue()</code> de la API de almacenamiento de sesion, para guardar la informaciòn que necesitarà para restaurar su estado, y luego invocar <code>getTabValue()</code> para obtener la configuraciòn previa cuando la pestaña es recuperada.</p>
-<p>La API Almacenamiento de Sesion es implementada usando la interfaz <code><a href="/es/NsISessionStore" title="es/NsISessionStore">nsISessionStore</a></code></p>
-<h2 id="Sabiendo_cuando_restaurar" name="Sabiendo_cuando_restaurar">Saber cuando restaurar</h2>
-<p>Cada vez que Firefox està por restaurar una pestaña, un evento de tipo <code>SSTabRestoring</code> es enviado. Si se quiere que la extensión sea capaz de restaurar los datos cuando las pestañas son restauradas, puede instalar un "centinela" como este:</p>
-<pre>function myExtensionHandleRestore(aEvent) {
- Components.classes["@mozilla.org/consoleservice;1"].
- getService(Components.interfaces.nsIConsoleService).
- logStringMessage("restoring tabs");
-};
-
-document.addEventListener("SSTabRestoring", myExtensionHandleRestore, false);
-</pre>
-<p>Simplemente se debe reemplazar los contenidos de la función <code>myExtensionHandleRestore()</code> con cualquier cosa que se necesite hacer cuando la pestaña sea restaurada. En este ejemplo, <code><a href="/es/NsIConsoleService" title="es/NsIConsoleService">nsIConsoleService</a></code> es usado para desplegar un mensaje a la <a href="/es/JavaScript_Console" title="es/JavaScript_Console">Consola</a>.</p>
-<p>Este evento es enviado justo antes de la restauracion de una pestaña. Un evento del tipo <code>SSTabRestored</code> es enviado después que la última pestaña ha sido restaurada.</p>
-<h2 id="El_proceso_de_restauraci.C3.B3n_de_sesi.C3.B3n" name="El_proceso_de_restauraci.C3.B3n_de_sesi.C3.B3n">El proceso de restauración de sesión</h2>
-<p>La secuencia exacta de eventos que ocurre cuando una sesión està siendo restaurada es:</p>
-<ol> <li>El estado de una sesión está a punto de ser restaurado. Esto puede ser al inicio del programa,o en respuesta a Deshacer Cerrar Pestaña, dado que las pestañas cerradas son restauradas como sesiones de una sola pestaña.</li> <li>Nuevas ventanas son abiertas como se requirieron (una por cada ventana que fue salvada durante el almacenamiento de sesión), y tanto cookies como la lista de pestañas recièn cerradas son restauradas.</li>
-</ol>
-<p>Después de esto, los siguientes pasos son seguidos por cada pestaña que està siendo restaurada:</p>
-<ol> <li>Se reutiliza una pestaña o se crea una nueva. En el último caso, el evento <code>TabOpen</code> es enviado.</li> <li>Los atributos persistentes XUL de la pestaña (aquellos que fueron salvados, debido a invocaciones de <code><a href="/es/NsISessionStore#persistTabAttribute.28.29" title="es/NsISessionStore#persistTabAttribute.28.29">persistTabAttribute()</a></code>) y permisos son restaurados.</li> <li>El evento <code>SSTabRestoring</code> es enviado.</li> <li>Se le ordena a la pestaña que cargue el URL que deberìa desplegar.</li> <li>Cuando la página ha terminado de cargar, los campos de texto y barras de desplazamiento son restaurados.</li> <li>Finalmente, el evento <code>SSTabRestored</code> es enviado.</li>
-</ol>
-<p>Si se quiere configurar permisos o manipular de alguna otra forma  una pestaña restaurada antes de que la página sea cargada, debería observar <code>SSTabRestoring</code>. Si se desea hacer algo después de que la pagina ha sido cargada, debería observar <code>SSTabRestored</code>.</p>
-<p>Ambos eventos son siempre enviados por cada pestaña que està siendo restaurada. Se puede determinar cual pestaña esta siendo restaurada mirando el campo <code>originalTarget</code> del evento.</p>
-<p>No existe una forma para determinar cuàndo ha sido restaurada la última pestaña, a menos que se determine cuantas pestañas necesitan ser restauradas y luego contar los eventos s<code>STabRestored.</code></p>
-<h2 id="Usando_la_API_de_almacenamiento_de_sesi.C3.B3n" name="Usando_la_API_de_almacenamiento_de_sesi.C3.B3n">Usando la API de almacenamiento de sesión</h2>
-<p>Esta sección provee algunos ejemplos de còmo usar la API de almacenamiento de sesión.</p>
-<h3 id="Guardando_un_valor_con_una_pesta.C3.B1a" name="Guardando_un_valor_con_una_pesta.C3.B1a">Guardando un valor con una pestaña.</h3>
-<p>El siguiente código adherirà un par llave/valor a una pestaña, asi-cuando èsta sea restaurada-, este par todavía estará asociada a ella.</p>
-<pre class="eval"> var ss = Components.classes["@mozilla.org/browser/sessionstore;1"].
- getService(Components.interfaces.nsISessionStore);
- var currentTab = getBrowser().selectedTab;
- var dataToAttach = "Yo quiero adherir esto";
- ss.setTabValue(currentTab, "nombre-llave-aqui", dataToAttach);
-</pre>
-<p>El código asigna el valor de la llave "nombre-llave-aqui" a <var>dataToAttach</var>. Se puede usar cualquier objeto JavaScript como datos.</p>
-<h3 id="Recuperar_un_valor_guardado" name="Recuperar_un_valor_guardado">Recuperar un valor guardado</h3>
-<p>Se puede recuperar un valor asociado a una pestaña en cualquier momento (ya sea mientras la pestaña este siendo restaurada o no), usando un código similar al siguiente:</p>
-<pre class="eval"> var ss = Components.classes["@mozilla.org/browser/sessionstore;1"].
- getService(Components.interfaces.nsISessionStore);
- var currentTab = getBrowser().selectedTab;
- var retrievedData = ss.getTabValue(currentTab, "nombre-llave-aqui");
-</pre>
-<p>Despuès  que el código ha sido ejecutado, la variable <var>retrievedData</var> contiene el valor guardado en la llave "nombre-llave-aqui". <var>retrievedData</var> está indefinida si no existe un valor guardado para ese nombre de llave.</p>
-<h3 id="Borrando_un_valor_asociado_a_una_pesta.C3.B1a" name="Borrando_un_valor_asociado_a_una_pesta.C3.B1a">Borrando un valor asociado a una pestaña</h3>
-<p>Para borrar un valor de una pestaña, se puede utilizar un código como el siguiente:</p>
-<pre class="eval"> var ss = Components.classes["@mozilla.org/browser/sessionstore;1"].
- getService(Components.interfaces.nsISessionStore);
- var currentTab = getBrowser().selectedTab;
- deleteTabValue(currentTab, "nombre-llave-aqui");
-</pre>
-<h3 id="Comentarios" name="Comentarios">Comentarios</h3>
-<p>El guardado de valores de la ventana y las funciones de restauración, funcionan exactamente como las funciones basadas en pestañas con nombres similares.</p>
-<h2 id="Ver_Tambi.C3.A9n" name="Ver_Tambi.C3.A9n">Ver También:</h2>
-<p><a href="/es/NsISessionStore" title="es/NsISessionStore">nsISessionStore</a></p>
-<p></p>
diff --git a/files/es/archive/add-ons/index.html b/files/es/archive/add-ons/index.html
deleted file mode 100644
index d1851bd7ee..0000000000
--- a/files/es/archive/add-ons/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Add-ons
-slug: Archive/Add-ons
-translation_of: Archive/Add-ons
----
-<p>In progress. Archived add-ons documentation.</p>
-
-<p></p>
diff --git a/files/es/archive/add-ons/observer_notifications/index.html b/files/es/archive/add-ons/observer_notifications/index.html
deleted file mode 100644
index 571cebc9d4..0000000000
--- a/files/es/archive/add-ons/observer_notifications/index.html
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title: Notificaciones Observer
-slug: Archive/Add-ons/Observer_Notifications
-translation_of: Mozilla/Tech/XPCOM/Observer_Notifications
----
-<p></p><div style="text-align: right;" class="prevnext">
- <p><a style="float: left;" href="/es/docs/Escuela_XUL/Objetos_XPCOM">« Anterior</a><a href="/es/docs/Escuela_XUL/Manejo_de_preferencias">Siguiente »</a></p>
-</div><p></p>
-
-<p>Sometimes you need your code to send a message to other parts of your code. For example, you might want to notify that a task is completed, and then several different actions must be performed. You could do that by calling all those functions directly, but XPCOM offers you a better and cleaner way to achieve that using observers and the observer service.</p>
-
-<p>An observer is an object that is responsible to observe (wait for) notifications and then to carry out subsequent actions. To create an observer, you need to implement the <a href="/en/XPCOM_Interface_Reference/nsIObserver" title="en/nsIObserver">nsIObserver</a> interface. The interface has only one method observe() which takes three parameters. The first parameter (subject) can be any XPCOM object, the second parameter is a notification topic, and the final parameter is a string that further describes the notification.</p>
-
-<p>This example code shows you what an implementation of the nsIObserver interface looks like:</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">let testObserver = {
- observe : function(aSubject, aTopic, aData) {
- if (aTopic == "xulschoolhello-test-topic") {
- window.alert("Data received: " + aData);
- }
- }
-}</pre>
-</div>
-</div>
-
-<p>In order for this observer to work, you need to use the <a href="/en/XPCOM_Interface_Reference/nsIObserverService" title="en/XPCOM Interface Reference/nsIObserverService">observer service</a> that provides methods for you to add, remove, notify and enumerate observers.</p>
-
-<p>Adding an observer to the observer service is simple, invoking the <a href="/en/XPCOM_Interface_Reference/nsIObserverService/addObserver" title="en/XPCOM Interface Reference/nsIObserverService/addObserver">addObserver</a> method with three parameters. The first parameter is an observer object, the second parameter is a notification topic, and the third parameter is a boolean which indicates whether the observer service should hold a weak reference to the observer. You should normally set the third parameter to <em>false</em>.</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">let observerService = Components.classes["@mozilla.org/observer-service;1"].
-    getService(Components.interfaces.nsIObserverService);
-
-observerService.addObserver(testObserver, "xulschoolhello-test-topic", false);</pre>
-</div>
-</div>
-
-<div style="border-width: 1px;" class="panel">
-<div class="panelContent">
-<div class="note">You should come up with a notification topic that is unique so you know it will not conflict with Firefox or other extensions topics.</div>
-</div>
-</div>
-
-<p>To remove an observer for a specific topic, you use the <a href="/en/XPCOM_Interface_Reference/nsIObserverService/removeObserver" title="en/XPCOM Interface Reference/nsIObserverService/removeObserver">removeObserver</a> method. The method takes the observer object and notification topic as parameters.</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">observerService.removeObserver(testObserver, "xulschoolhello-test-topic");</pre>
-</div>
-</div>
-
-<p>After you have registered some observers to listen to a notification topic, you can then use the <a href="/en/XPCOM_Interface_Reference/nsIObserverService/notifyObservers" title="en/XPCOM Interface Reference/nsIObserverService/notifyObservers">notifyObservers</a> method to send a notification to all of them. The method takes three parameters. The first parameter can be any XPCOM object to pass to those observers (can be null), the second parameter is the notification topic and the last parameter is an additional string to pass to those observers (can be null).</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">observerService.notifyObservers(null, "xulschoolhello-test-topic", "hello");</pre>
-</div>
-</div>
-
-<h2 id="Non-chrome_to_chrome_communication">Non-chrome to chrome communication</h2>
-
-<p>Non-chrome to chrome communication is one of the main uses of observers. By non-chrome we mean JavaScript Code Modules or XPCOM. As we saw in previous sections, you can use JavaScript Code Module and XPCOM objects very easily from the chrome. But given that chrome is window-dependent and non-chrome objects are not, it's tricky to send a message to the chrome. You would have to invoke a method for the chrome objects in all windows. It's much easier to use observers in this case.</p>
-
-<p>Let's see the following example code on how to send out a notification from non-chrome code.</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">/**
- * Notifies all the registered observers with the test notification topic.
- */
-notifyTest : function() {
- let observerService = Components.classes["@mozilla.org/observer-service;1"].
- getService(Components.interfaces.nsIObserverService);
- let subject = Components.classes["@mozilla.org/supports-string;1"].
- createInstance(Components.interfaces.nsISupportsString);
-
- // assign some text to data attribute
- subject.data = "This is a test.";
- // notify all registered observers
- observerService.notifyObservers(
- subject, "xulschoolhello-test-topic", "hello");
-}</pre>
-</div>
-</div>
-
-<p>In the <em>notifyTest</em> method, the <em>notifyObservers</em> call is used to notify all registered observers about the notification topic "xs-hw-test-topic". The input parameter is an instance of <em>nsISupportsString</em> with some text and the last input parameter is a string "Hello".</p>
-
-<p>In a chrome browser overlay file, we register an observer to listen to the notification topic "xs-hw-test-topic" when the window loads. Keep in mind that <strong>you have to remove observers that are not longer needed</strong>. Not doing so will result in memory leaks. Therefore, the registered observer is unregistered when the browser window is unloaded.</p>
-
-<div style="border-width: 1px;" class="code panel">
-<div class="codeContent panelContent">
-<pre class="brush: js">/**
- * Controls the browser overlay for the Hello World extension.
- */
-XULSchoolChrome.BrowserOverlay = {
- /* Observer service. */
- _observerService : null,
-
- /**
- * Initializes this object.
- */
- init : function() {
- this._observerService = Components.classes["@mozilla.org/observer-service;1"].
-       getService(Components.interfaces.nsIObserverService);
- this._observerService.addObserver(this, "xulschoolhello-test-topic", false);
- },
-
- /**
- * Unitializes this object.
- */
- uninit : function() {
- this._observerService.removeObserver(
- this, "xulschoolhello-test-topic");
- },
-
- /**
- * Observes the registered notification topics.
- * @param aSubject The nsISupports object associated with the notification.
- * @param aTopic The notification topic.
- * @param aData The additional string associated with the notification.
- */
- observe : function(aSubject, aTopic, aData) {
- if (aTopic == "xulschoolhello-test-topic") {
- aSubject.QueryInterface(Ci.nsISupportsString);
- window.alert("Subject: " + aSubject.data); // =&gt; "This is a test"
- window.alert("Data: " + aData); // =&gt; "Hello"
- }
- }
-}
-
-window.addEventListener(
- "load", function() { XULSchoolChrome.BrowserOverlay.init(); }, false);
-window.addEventListener(
- "unload", function() { XULSchoolChrome.BrowserOverlay.uninit(); }, false);</pre>
-</div>
-</div>
-
-<p>In the <em>observe</em> method the notification topic is verified because you can have one observer listening to several topics. You may notice that we explicitly set the interface of the <em>aSubject</em> object to <em>nsISupportsString</em> using the <em>QueryInterface</em> method. This is because the first parameter of the <em>observe</em> method is typed as <em>nsISupports </em>(the generic interface, as seen before), therefore its properties and methods cannot be accessed unless the correct interface is set to it.</p>
-
-<p>When the <em>notifyTest</em> method is called, all observers registered with <em>xulschoolhello-test-topic</em> will get notified and display two alerts. If there are 2 Firefox windows open, the observer will be notified in both and the alerts will show up on both.</p>
-
-<p>You can always listen for multiple notification topics using the same observer. Also, be careful not to add the same observer to a notification topic more than once, otherwise the same code in the observer will be run several times when a notification is sent.</p>
-
-<h2 id="Useful_Firefox_notifications">Useful Firefox notifications</h2>
-
-<p>We have covered sending and receiving custom notification topics using observers and the observer service. In Firefox, there are many built-in observer topics that you can observe as well. The <a href="/en/Observer_Notifications" title="en/Observer Notifications">Observer Notifications</a> page lists some useful topics and is definitely worth spending time studying it.</p>
-
-<p></p><div style="text-align: right;" class="prevnext">
- <p><a style="float: left;" href="/es/docs/Escuela_XUL/Objetos_XPCOM">« Anterior</a><a href="/es/docs/Escuela_XUL/Manejo_de_preferencias">Siguiente »</a></p>
-</div><p></p>
-
-<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>
diff --git a/files/es/archive/add-ons/permitir_sugerencias_en_los_plugins_de_búsqueda/index.html b/files/es/archive/add-ons/permitir_sugerencias_en_los_plugins_de_búsqueda/index.html
deleted file mode 100644
index 7e5d1f33de..0000000000
--- a/files/es/archive/add-ons/permitir_sugerencias_en_los_plugins_de_búsqueda/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Permitir sugerencias en los plugins de búsqueda
-slug: Archive/Add-ons/Permitir_sugerencias_en_los_plugins_de_búsqueda
-tags:
- - Plugins_de_búsqueda
-translation_of: Archive/Add-ons/Supporting_search_suggestions_in_search_plugins
----
-<p>MozSearch admite sugerencias mientras el usuario escribe el la barra de búsqueda, <a href="es/Firefox_2">Firefox 2</a> pregunta a la URL especificada por el plugins del motor de búsqueda para devolver sugerencias en tiempo real.
-</p><p>Una vez que se ha obtenido la lista, se muestra en un cuadro emergente que aparece debajo de la barra de búsqueda, que permite al usuario seleccionar un término sugerido. Si el usuario continua escribiendo, se solicita una nueva lista de sugerencias al motor de búsqueda, y se muestra actualizada.
-</p><p>Los plugins de Yahoo y Google incluidos en Firefox 2 admiten sugerencias de búsqueda.
-</p>
-<h2 id="Implementar_soporte_para_sugerencias_en_un_plugin_de_b.C3.BAsqueda" name="Implementar_soporte_para_sugerencias_en_un_plugin_de_b.C3.BAsqueda">Implementar soporte para sugerencias en un plugin de búsqueda</h2>
-<p>Para soportar sugerencias, un plugin de búsquedaa necesita definir un elemento extra <code>&lt;Url&gt;</code> con su atributo <code>type</code> definido como <code>"application/x-suggestions+json"</code>. (esto significa que los plugins con soporte para sugerencias tendrán dos elementos <code>&lt;Url&gt;</code>, siendo el otro la URL principal <code>text/html</code>.)
-</p><p>Por ejemplo, el plugin de búsqueda de Yahoo tiene esta <code>&lt;Url&gt;</code>:
-</p>
-<pre>&lt;Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command={searchTerms}"/&gt;
-</pre>
-<p>Si el usuario escribe "fir" en la barra de búsqueda, y se detiene, Firefox insertará "fir" en el lugar de <code>{searchTerms}</code> y consultará esa URL:
-</p>
-<pre>&lt;Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command=fir"/&gt;
-</pre>
-<p>Los resultados son usados para construir el diálogo con la lista de sugerencias.
-</p><p>Lee <a href="es/Creaci%c3%b3n_de_plugins_MozSearch">Creación de plugins MozSearch</a> para conocer mas sobre como implementar un plugin de búsqueda.
-</p>
-<h2 id="Implementar_las_sugerencias_en_el_servidor" name="Implementar_las_sugerencias_en_el_servidor">Implementar las sugerencias en el servidor</h2>
-<p>La mayor parte del trabajo para manipular las sugerencias de búsqueda es realmente implementada en el lado del servidor. Si eres desarrollador web, y quieres soportar las sugerencias de búsqueda, necesitas implementar el soporte para devolver las sugerencias en <a class="external" href="http://www.json.org/">JavaScript Object Notation</a> (JSON) dado un termino de búsqueda.
-</p><p>Cuando el navegador desea obtener posibles resultados de un término de búsqueda, envia una solicitud HTTP GET a la URL especificada por el elemento <code>&lt;Url&gt;</code>.
-</p><p>Tu servidor debe entonces decidir que sugerencias debe ofrecer usando los medios que vea necesarios, y construyedo un JSON que consista en al menos dos, y como mucho cuatro, elementos:
-</p>
-<dl><dt> <b>query string</b>
-</dt><dd> El primer elemento en el JSON es la cadena de búsqueda original. Esto permite a Firefox verificar que la sugerencia concuerda con el término de búsqueda actual.
-</dd></dl>
-<dl><dt> <b>completion list</b>
-</dt><dd> Un array de los términos sugeridos. El array debe estar entre corchetes. Por ejemplo: &lt;tt&gt;["termino 1", "termino 2", "termino 3", "termino 4"]&lt;/tt&gt;
-</dd></dl>
-<dl><dt> <b>descriptions</b>
-</dt><dd> Este elemento opcional es un array de descripciones de cada sugerencia en la <i>completion list</i>. Esto puede ser cualquier información que el motor de búsqueda quiera devolver para que se muestre en el navegador, como el numero de resultados disponibles para dicha búsqueda.
-</dd></dl>
-<div class="note">Las descripciones no son soportadas en Firefox 2, y son ignoradas si alguna es espeficificada.</div>
-<dl><dt> <b>query URLs</b>
-</dt><dd> Este elemento opcional es un array de URLs alternativas para cada sugerencia de la <i>completion list</i>. Por ejemplo, si quieres ofrecer un enlace a un mapa en vez de simplemente un resultado de búsqueda para una sugerencia, puedes devolver una URL a un mapa en este array.
-</dd></dl>
-<dl><dd> Si no especificas una URL para la petición, la petición por defecto se manda por defecto al elemento <code>&lt;Url&gt;</code> definido en la descripción XML del plugin.
-</dd></dl>
-<div class="note">Las query URLs no son soportadas en Firefox 2, y son ignoradas.</div>
-<p>Por ejemplo, si el término a buscar es "fir", y no necesitas devolver descripciones o urls alternativas, puedes devolver el siguiente JSON:
-</p>
-<pre class="eval">["fir", ["firefox", "first choice", "mozilla firefox"]]
-</pre>
-<p>Date cuenta que en este ejemplo, solo se especifican la <i>query string</i> y el <i>completion array</i>, sin especificar los elementos opcionales.
-</p><p>Tu <i>completion list</i> puede incluir tantas sugerencias como quieras, aunque debe mantenerse manejable, dado que los datos se estarán actualizando en tiempo real mientras el usuario está escribiendo una palabra. Además, el método que usas para elegir las sugerencias depende de ti.
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/add-ons/versionado,_actualización_y_compatibilidad_de_extensiones/index.html b/files/es/archive/add-ons/versionado,_actualización_y_compatibilidad_de_extensiones/index.html
deleted file mode 100644
index 45a3a213ca..0000000000
--- a/files/es/archive/add-ons/versionado,_actualización_y_compatibilidad_de_extensiones/index.html
+++ /dev/null
@@ -1,295 +0,0 @@
----
-title: 'Versionado, actualización y compatibilidad de extensiones'
-slug: 'Archive/Add-ons/Versionado,_actualización_y_compatibilidad_de_extensiones'
-tags:
- - Complementos
- - Todas_las_Categorías
- - extensiones
- - páginas_a_traducir
-translation_of: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility'
----
-<h2 id="Las_versiones_de_extensiones">Las versiones de extensiones</h2>
-
-<p>Las extensiones deberán especificar su versión utilizando la <a href="/es/Formato_para_la_versi%C3%B3n_del_Toolkit" title="es/Formato_para_la_versión_del_Toolkit">herramienta para el formato de versión</a>. En general son unas cadenas de caracteres cortadas por un punto, algunos ejemplos:</p>
-
-<ul>
- <li>2.0</li>
- <li>1.0b1</li>
- <li>3.0pre1</li>
- <li>5.0.1.2</li>
-</ul>
-
-<h2 id="Como_determinan_la_compatibilidad_las_aplicaciones" name="Como_determinan_la_compatibilidad_las_aplicaciones">Como determinan la compatibilidad las aplicaciones</h2>
-
-<p>Al instalar extensiones/complementos las aplicaciones (programas) comprueban las entradas <code><a href="/es/Install.rdf#targetApplication" title="es/Install.rdf#targetApplication">targetApplication</a></code> en el archivo de instalación (<code>install.rdf</code>) de la extensión. La identificación (ID) de una entrada debe coincidir con la ID de la aplicación. Además, el número de versión de la aplicación debe encontrarse dentro del rango definido en <code>minVersion</code> y <code>maxVersion</code>.</p>
-
-<p>Si la aplicación tiene una entrada <code>targetApplication</code> pero es para una versión incompatible, la aplicación intentará obtendrá información actualizada sobre su compatibilidad del archivo <code><a href="/es/Install.rdf#updateURL" title="es/Install.rdf#updateURL">updateURL</a></code>.</p>
-
-<p>Si el archivo de instalación tiene entradas en <code><a href="/es/Install.rdf#targetPlatform" title="es/Install.rdf#targetPlatform">targetPlatform</a></code>, la plataforma utilizada para instalar la aplicación debe aparecer listada en ella o se cancelará la instalación.</p>
-
-<p> En las aplicaciones basadas en Gecko 1.9 se puede utilizar una entrada <code>targetApplication</code> con una ID <code><a class="link-mailto" href="mailto:toolkit@mozilla.org" rel="freelink">toolkit@mozilla.org</a></code>; <code>minVersion</code>, y <code>maxVersion</code> que coincidan con la versión de la aplicación. Esto permitirá garantizar que la extensión se podrá instalar en cualquier aplicación basada en Toolkit.</p>
-
-<h3 id="Cancelar_el_control_de_compatibilidad" name="Cancelar_el_control_de_compatibilidad">Cancelar el control de compatibilidad</h3>
-
-<p> Para la evaluación de extensiones se puede hacer que la aplicación ignore los controles de compatibilidad durante la instalación. Lo único que hay que hacer es crear la preferencia <code>extensions.checkCompatibility</code> y darle valor False.</p>
-
-<p>Antes de la versión 1.5 de Firefox, se podía utilizar la preferencia <code>app.extensions.version</code> para que la aplicación ignorase su versión e instalar así extensiones de otra forma incompatibles.</p>
-
-<h2 id="Elecci.C3.B3n_de_minVersion_y_maxVersion" name="Elecci.C3.B3n_de_minVersion_y_maxVersion">Elección de minVersion y maxVersion</h2>
-
-<p><code>minVersion</code> y <code>maxVersion</code> deberían especificar las diferentes versiones de la aplicación que se han probado. No se debe introducir un valor <code>maxVersion</code> superior a la versión disponible ya que no se saben qué cambios podrían introducirse en su interfaz de programación (API) y de usuario. Con la <a href="#Actualizaciones_de_compatibilidad">actualización de compatibilidad</a> no hace falta publicar una versión nueva completa de la extensión, sólo habrá que aumentar su <code>maxVersion</code>.</p>
-
-<p>Generalmente, en <code>maxVersion</code> es permitido sustituir el número de versión secundario de la aplicación por un asterisco '*', por ejemplo: <code>2.0.0.*</code> significaría que admite cualquier actualización secundaria de la versión 2 de la aplicación. Normalmente, la aplicación suele sugerir al autor de extensiones con qué parte de la versión conviene más hacer lo antedicho.</p>
-
-<p>El asterisco '*' no representa una versión por sí mismo. En realidad el * representa un número infinitamente alto, por lo que es más sensato usarlo en <code>maxVersion</code> que en <code>minVersion</code> ya que no suele producir el efecto deseado.</p>
-
-<h2 id="Comprobaci.C3.B3n_autom.C3.A1tica_de_actualizaci.C3.B3n_de_extensiones" name="Comprobaci.C3.B3n_autom.C3.A1tica_de_actualizaci.C3.B3n_de_extensiones">Comprobación automática de actualización de extensiones</h2>
-
-<p>Periódicamente, las aplicaciones buscarán actualizaciones de las extensiones instaladas recuperando el archivo <code><a href="/es/Install.rdf#updateURL" title="es/Install.rdf#updateURL">updateURL</a></code>. La información recuperada puede servir para notificar al usuario que existe una actualización de la extensión e informar a la aplicación de las nuevas versiones compatibles con la extensión.</p>
-
-<h3 id="Actualizaciones_de_compatibilidad" name="Actualizaciones_de_compatibilidad">Actualizaciones de compatibilidad</h3>
-
-<p>Durante la comprobación automática de actualizaciones, las aplicaciones buscan nuevas versiones e información actualizada sobre la compatibilidad de la versión instalada de una extensión. Esto quiere decir que si el manifiesto de la actualización incluye una entrada para la versión actual de la extensión instalada y el <code>targetApplication</code> de la entrada especifica un maxVersion mayor, la aplicación utilizará este valor en lugar del especificado en el archivo <code>install.rdf</code> de la extensión. Esto puede causar que se activen extensiones que estaban desactivadas por ser incompatibles y que se instalen aquellas que normalmente no se instalarían.</p>
-
-<h3 id="Formato_RDF_de_actualizaci.C3.B3n" name="Formato_RDF_de_actualizaci.C3.B3n">Formato RDF de actualización</h3>
-
-<p>Si alberga uno mismo el archivo <code>updateURL</code> del complemento será necesario devolver la información de la versión en un formato RDF. Encontrará un ejemplo de manifiesto de actualización más abajo. Muestra información sobre dos versiones diferentes de la extensión para la 'id' <code><a class="link-mailto" href="mailto:foobar@developer.mozilla.org" rel="freelink">foobar@developer.mozilla.org</a></code>. Las versiones incluidas son 2.2 y 2.5, y cada una especifica la compatibilidad con las versiones de Firefox 1.5 a 2.0.0.*. Para la versión 2.2 se utiliza un enlace de actualización https mientras que para la 2.5 es un enlace regular http con un 'hash' para verificar el archivo recuperado.</p>
-
-<p>Es importante recuperar correctamente la descripción RDF inicial del atributo 'about'. Permite saber de que complemento se trata:</p>
-
-<ul>
- <li>Para una extensión: <code>urn:mozilla:extension:&lt;id&gt;</code></li>
- <li>Para un tema:</li>
-</ul>
-
-<p><code>urn:mozilla:theme:&lt;id&gt;</code></p>
-
-<ul>
- <li>Para cualquier otro tipo de complemento: <code>urn:mozilla:item:&lt;id&gt;</code></li>
-</ul>
-
-<p>En cualquiera de los ejemplos siguientes, la secuencia ordenada de las versiones dentro del elemento &lt;RDF:Seq&gt; es importante, con las versiones más nuevas después que las más antiguas. No hay que escribir todas las versiones intermedias si la última es suministrada.</p>
-
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Esta forma de descripción incluye toda la
- información de actualización y compatibilidad
- para un simple complemento con la id
- foobar@developer.mozilla.org.
- Un único archivo RDF admite listados con
- información de varios complementos. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
-
- &lt;!-- Cada "li" es una versión diferente
- del mismo complemento --&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt; &lt;!-- Esto
- es el número de la versión del complemento --&gt;
-
- &lt;!-- Un targetApplication para cada aplicación
- compatible con el complemento --&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
-
- &lt;!-- Dice donde hay que ir para descargar
- esa versión del complemento --&gt;
- &lt;em:updateLink&gt;https://www.mysite.com/foobar2.2.xpi&lt;/em:updateLink&gt;
-
- &lt;!-- Una página sobre lo nuevo
- de esta actualización --&gt;
- &lt;em:updateInfoURL&gt;http://www.mysite.com/updateinfo2.2.xhtml&lt;/em:updateInfoURL&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
- &lt;em:updateLink&gt;http://www.mysite.com/foobar2.5.xpi&lt;/em:updateLink&gt;
- &lt;um:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
-
- &lt;!-- Una firma sólo es necesaria en el caso de haber
- incluido un 'updateKey' en el archivo de
- instalación 'install.rdf' del complemento. --&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-
-<p>Mucha gente prefiere este formato alternativo (se ha quitado mucha información en este ejemplo para ver mejor la estructura básica):</p>
-
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Esta forma de descripción incluye toda la
- información de actualización y compatibilidad
- para un simple complemento con la id
- foobar@developer.mozilla.org.
- Un único archivo RDF admite listados con
- información de varios complementos. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
- &lt;!-- El atributo de recurso apunta a una entrada
- de descripción 'about' que está más abajo.
- La uri actual puede ser cualquier cosa --&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"/&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"/&gt;
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-
- &lt;!-- Esto es lo mismo que la descripción con
- 'li' del ejemplo anterior --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt;
-
- &lt;!-- El contenido de esta parte se ha quitado --&gt;
-
- &lt;/RDF:Description&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
-
- &lt;!-- El contenido de esta parte se ha quitado --&gt;
-
- &lt;/RDF:Description&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-
-<h3 id="Facilitar_detalles_sobre_las_actualizaciones" name="Facilitar_detalles_sobre_las_actualizaciones">Facilitar detalles sobre las actualizaciones</h3>
-
-<p></p>
-
-<h4 id="En_general" name="En_general">En general</h4>
-
-<p>Podemos dar a conocer a los usuarios las novedades incluidas en la versión actualizada de nuestro complemento. El usuario al recibir una notificación de que hay una nueva versión puede ver de un vistazo esa información que contiene las mejoras y los arreglos de cualquier problema de seguridad.</p>
-
-<p>Para que así sea, hay que agregar una entrada <code>updateInfoURL</code> en el manifiesto de actualización (ver el ejemplo de encima). La página de esta URL será recuperada y mostrada, al usuario, fuera del contexto normal de una página web por lo cual su contenido es mucho más "limpio", lo que significa que hay muy pocas opciones de formatos y que las secuencias de órdenes e imágenes no están permitidas. Como regla general, sólo se admite el uso de las etiquetas siguientes (cualquier otra cosa se ignorará):</p>
-
-<ul>
- <li>Para cabeceras: h1, h2, h3</li>
- <li>Para párrafos: p</li>
- <li>Para listas: ul y ol.</li>
-</ul>
-
-<p>Dentro de las listas se usará la etiqueta habitual '<code>li</code>' para cada ítem de la lista.</p>
-
-<p>Dentro de las etiquetas 'h1', 'h2', 'h3', 'p' y 'li' se utilizará:</p>
-
-<ul>
- <li>Para texto en negrita: b o strong</li>
- <li>Para texto en cursiva/itálica: i o em</li>
-</ul>
-
-<p>La página de información recuperada debe ser completamente válida en XHTML, y entregada con el tipo MIME <code>application/xhtml+xml</code>.</p>
-
-<p>Para poder personalizar el texto según la configuración regional/local del usuario se colocará %APP_LOCALE% en updateInfoURL para que esta información esté incluida en la URL, o bien cualquier otras cadenas de substitución admitidas por updateURL, pero no es tan funcional.</p>
-
-<h4 id="Lo_que_ve_el_usuario_final" name="Lo_que_ve_el_usuario_final">Lo que ve el usuario final</h4>
-
-<p>El contenido de <code>updateInfoURL</code> será mostrado al usuario en una pantalla del complemento, con una lista de todas las actualizaciones disponibles. Entonces, el usuario puede hacer clic en el botón "Mostrar la información" y la verá a la derecha. (El botón cambiará a "Esconder la información")</p>
-
-<p><img alt="Image:Example_updateInfoURL2.PNG"></p>
-
-<h3 id="Asegurando_las_actualizaciones" name="Asegurando_las_actualizaciones">Asegurando las actualizaciones</h3>
-
-<p> </p>
-
-<p>Gecko 1.9 has added additional requirements designed to protect users from <a class="external" href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle attacks</a> and the like during add-on updates. In the install.rdf of the already installed add-on <code>updateURL</code> must be specified in one of the following ways:</p>
-
-<ul>
- <li>The <code><a href="/es/Install.rdf#updateURL" title="es/Install.rdf#updateURL">updateURL</a></code> uses https, or there is no <code>updateURL</code> at all (which defaults to <code>addons.mozilla.org</code> which is https)</li>
- <li>The <code><a href="/es/Install.rdf#updateURL" title="es/Install.rdf#updateURL">updateURL</a></code> uses http and the <code><a href="/es/Install.rdf#updateKey" title="es/Install.rdf#updateKey">updateKey</a></code> entry is specified which will be used to verify the data in the update manifest.</li>
-</ul>
-
-<p>Si se especifica una actualización de clave/firma (<code>updateKey</code>) en el archivo de instalación ( <code>install.rdf</code>), hay que incluir una <a href="#Manifiesto_de_actualizaci.C3.B3n_de_firma">firma digital</a> en el manifiesto de actualización sino la información será rechazada.</p>
-
-<p>In the update manifest delivered from the <code>updateURL</code> the <code>updateLink</code> must be specified in one of the following ways:</p>
-
-<ul>
- <li>The <code>updateLink</code> to the XPI file must use https</li>
- <li>The <code>updateLink</code> can use http and you must include an <code><a href="#Update_Hashes">updateHash</a></code> for the XPI file using sha1, sha256, sha384 or sha512 hash algorithms.</li>
-</ul>
-
-<p>Any entries in the update manifest that do not meet one of those two requirements will be ignored when checking for new versions.</p>
-
-<p>Note that https links to sites with invalid certificates or that redirect to http sites will fail for both the <code>update.rdf</code> and <code>updateLink</code> cases.</p>
-
-<h4 id="Los_cifrados_de_actualizaci.C3.B3n" name="Los_cifrados_de_actualizaci.C3.B3n">Los cifrados de actualización</h4>
-
-<p>Al fin de verificar la integridad del XPI descargado se puede proveer una entrada <code>updateHash</code> (cifrado de actualización) junto a <code>updateLink</code>. Este debe ser un cifrado generado desde los datos del fichero según un algoritmo admitido ('sha1', 'sha256', 'sha384' y 'sha512'). El algoritmo de cifrado utilizado debe anteponerse y separarse del cifrado en sí con '<code>:</code>'.</p>
-
-<pre> &lt;em:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
-</pre>
-
-<p>El valor <code>updateHash</code>, <strong>debe</strong> empezar con la cadena del algoritmo de cifrado, es un error común quitar ese prefijo al poner un valor nuevo en <code>updateHash</code>:\n<em><strong>sha1:</strong>78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em>"</p>
-
-<p>Además el cifrado del archivo descargado y el cifrado especificado también deben coincidir, sino dará un error.</p>
-
-<p>Varias herramientas permiten generar un cifrado:</p>
-
-<p>Diversas variantes de Unix incluyen: sha1sum, sha256sum y demás. Los usuarios de Windows pueden utilizar <a class="external" href="http://beeblebrox.org/hashtab/">HashTab</a> para un uso interactivo (fuera de compilación). Tienen también las <a class="external" href="http://gnuwin32.sourceforge.net/packages/coreutils.htm">utilidades para Win</a> (aparte de los clásicos como Cygwin), las cuales son buenas para un uso no-interactivo:</p>
-
-<pre class="eval">sha1sum ARCHIVO
-</pre>
-
-<p>Además de <a class="external" href="http://md5deep.sourceforge.net/">md5deep</a> que es múlti-plataforma</p>
-
-<pre class="eval">sha1deep FILE
-</pre>
-
-<p>OpenSSL también genera cifrado:</p>
-
-<pre class="eval">openssl sha1 FILE
-</pre>
-
-<p>Para los usuarios de Windows, <a class="external" href="http://beeblebrox.org/hashtab/">HashTab</a> es una extensión shell... un simple clic da valores de cifrado para cualquier archivo.</p>
-
-<p>Aquí hay además un <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=395368">bug de mejoras</a> sobre como insertar a McCoy la generación automática de cifrado en archivos XPI.</p>
-
-<p>Y todos los lenguajes (de programación) populares lo ofrecen, por ejemplo: <a class="external" href="http://docs.python.org/lib/module-hashlib.html">Python</a>, Perl: CPAN Digest, <a class="external" href="http://de2.php.net/sha1_file">PHP</a></p>
-
-<h4 id="Firmar_el_manifiesto_de_actualizaci.C3.B3n" name="Firmar_el_manifiesto_de_actualizaci.C3.B3n">Firmar el manifiesto de actualización</h4>
-
-<p> </p>
-
-<p>If you wish to serve your update RDF over regular http, Gecko 1.9 based applications will require that you digitally sign the update manifest to ensure that it's information isn't tampered with between you creating it and applications retrieving it. The <a href="/es/McCoy" title="es/McCoy">McCoy</a> tool should be used to sign the update RDF.</p>
-
-<p>The technical details of the signing mechanism are beyond the scope of this document however the basics are as follows:</p>
-
-<p>The add-on author creates a public/private RSA cryptographic key pair.</p>
-
-<p>The public part of the key is DER encoded and then base 64 encoded and added to the add-on's <code>install.rdf</code> as an <code><a href="/es/Install.rdf#updateKey" title="es/Install.rdf#updateKey">updateKey</a></code> entry.</p>
-
-<p>When the author creates the update rdf file a tool is used to sign it using the private part of the key. Roughly speaking the update information is converted to a string, then hashed using a sha512 hashing algorithm and this hash is signed using the private key. The resultant data is DER encoded then base 64 encoded for inclusion in the update rdf as an <code>em:signature</code> entry.</p>
diff --git a/files/es/archive/api/index.html b/files/es/archive/api/index.html
deleted file mode 100644
index 02c6cf7eab..0000000000
--- a/files/es/archive/api/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: API
-slug: Archive/API
-tags:
- - API
- - Archive
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/API
----
-<p>In progress. Archived documentation about obsolete web standards APIs.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/es/docs/Archive/API/Navigator">Navigator</a></dt><dd class="landingPageList">In progress. Features that used to hang off the <a href="/es/docs/Web/API/Navigator" title="La interfaz Navigator representa el estado y la identidad del user agent. Es completamente consultable y es posible registrar scripts para que ejecuten diversas actividades."><code>Navigator</code></a> interface, but have since been removed.</dd></dl><p></p>
diff --git a/files/es/archive/api/navigator/index.html b/files/es/archive/api/navigator/index.html
deleted file mode 100644
index 37284b83b6..0000000000
--- a/files/es/archive/api/navigator/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Navigator
-slug: Archive/API/Navigator
-translation_of: Archive/API/Navigator
----
-<p>In progress. Features that used to hang off the <a href="/es/docs/Web/API/Navigator" title="La interfaz Navigator representa el estado y la identidad del user agent. Es completamente consultable y es posible registrar scripts para que ejecuten diversas actividades."><code>Navigator</code></a> interface, but have since been removed.</p>
-
-<p></p>
diff --git a/files/es/archive/api/navigator/moznotification/index.html b/files/es/archive/api/navigator/moznotification/index.html
deleted file mode 100644
index 6cc45f16e6..0000000000
--- a/files/es/archive/api/navigator/moznotification/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: navigator.mozNotification
-slug: Archive/API/Navigator/mozNotification
-translation_of: Archive/API/Navigator/mozNotification
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Eventos</summary><ol><li><a href="/es/docs/Web/Events/abort"><code>abort</code></a></li><li><a href="/es/docs/Web/Events/DOMContentLoaded"><code>DOMContentLoaded</code></a></li><li><a href="/es/docs/Web/Events/afterprint"><code>afterprint</code></a></li><li><a href="/es/docs/Web/Events/afterscriptexecute"><code>afterscriptexecute</code></a></li><li><a href="/es/docs/Web/Events/beforeprint"><code>beforeprint</code></a></li><li><a href="/es/docs/Web/Events/beforescriptexecute"><code>beforescriptexecute</code></a></li><li><a href="/es/docs/Web/Events/beforeunload"><code>beforeunload</code></a></li><li><a href="/es/docs/Web/Events/blur"><code>blur</code></a></li><li><a href="/es/docs/Web/Events/cancel"><code>cancel</code></a></li><li><a href="/es/docs/Web/Events/change"><code>change</code></a></li><li><a href="/es/docs/Web/Events/click"><code>click</code></a></li><li><a href="/es/docs/Web/Events/close"><code>close</code></a></li><li><a href="/es/docs/Web/Events/connect"><code>connect</code></a></li><li><a href="/es/docs/Web/Events/contextmenu"><code>contextmenu</code></a></li><li><a href="/es/docs/Web/Events/error"><code>error</code></a></li><li><a href="/es/docs/Web/Events/focus"><code>focus</code></a></li><li><a href="/es/docs/Web/Events/hashchange"><code>hashchange</code></a></li><li><a href="/es/docs/Web/Events/input"><code>input</code></a></li><li><a href="/es/docs/Web/Events/invalid"><code>invalid</code></a></li><li><a href="/es/docs/Web/Events/languagechange"><code>languagechange</code></a></li><li><a href="/es/docs/Web/Events/load"><code>load</code></a></li><li><a href="/es/docs/Web/Events/loadend"><code>loadend</code></a></li><li><a href="/es/docs/Web/Events/loadstart"><code>loadstart</code></a></li><li><a href="/es/docs/Web/Events/message"><code>message</code></a></li><li><a href="/es/docs/Web/Events/offline"><code>offline</code></a></li><li><a href="/es/docs/Web/Events/online"><code>online</code></a></li><li><a href="/es/docs/Web/Events/open"><code>open</code></a></li><li><a href="/es/docs/Web/Events/pagehide"><code>pagehide</code></a></li><li><a href="/es/docs/Web/Events/pageshow"><code>pageshow</code></a></li><li><a href="/es/docs/Web/Events/popstate"><code>popstate</code></a></li><li><a href="/es/docs/Web/Events/progress"><code>progress</code></a></li><li><a href="/es/docs/Web/Events/readystatechange"><code>readystatechange</code></a></li><li><a href="/es/docs/Web/Events/reset"><code>reset</code></a></li><li><a href="/es/docs/Web/Events/select"><code>select</code></a></li><li><a href="/es/docs/Web/Events/show"><code>show</code></a></li><li><a href="/es/docs/Web/Events/sort"><code>sort</code></a></li><li><a href="/es/docs/Web/Events/storage"><code>storage</code></a></li><li><a href="/es/docs/Web/Events/submit"><code>submit</code></a></li><li><a href="/es/docs/Web/Events/toggle"><code>toggle</code></a></li><li><a href="/es/docs/Web/Events/unload"><code>unload</code></a></li><li><a href="/es/docs/Web/Events/loadeddata"><code>loadeddata</code></a></li><li><a href="/es/docs/Web/Events/loadedmetadata"><code>loadedmetadata</code></a></li><li><a href="/es/docs/Web/Events/canplay"><code>canplay</code></a></li><li><a href="/es/docs/Web/Events/playing"><code>playing</code></a></li><li><a href="/es/docs/Web/Events/play"><code>play</code></a></li><li><a href="/es/docs/Web/Events/canplaythrough"><code>canplaythrough</code></a></li><li><a href="/es/docs/Web/Events/seeked"><code>seeked</code></a></li><li><a href="/es/docs/Web/Events/seeking"><code>seeking</code></a></li><li><a href="/es/docs/Web/Events/stalled"><code>stalled</code></a></li><li><a href="/es/docs/Web/Events/suspend"><code>suspend</code></a></li><li><a href="/es/docs/Web/Events/timeupdate"><code>timeupdate</code></a></li><li><a href="/es/docs/Web/Events/volumechange"><code>volumechange</code></a></li><li><a href="/es/docs/Web/Events/waiting"><code>waiting</code></a></li><li><a href="/es/docs/Web/Events/durationchange"><code>durationchange</code></a></li><li><a href="/es/docs/Web/Events/emptied"><code>emptied</code></a></li><li><a href="/es/docs/Web/Events/unhandledrejection"><code>unhandledrejection</code></a></li><li><a href="/es/docs/Web/Events/rejectionhandled"><code>rejectionhandled</code></a></li></ol></details></li><li class="toggle"><details open><summary>Páginas relacionadas a HTML DOM</summary><ol><li><a href="/es/docs/Web/API/BeforeUnloadEvent"><code>BeforeUnloadEvent</code></a></li><li><a href="/es/docs/Web/API/DOMStringMap"><code>DOMStringMap</code></a></li><li><a href="/es/docs/Web/API/ErrorEvent"><code>ErrorEvent</code></a></li><li><a href="/es/docs/Web/API/GlobalEventHandlers"><code>GlobalEventHandlers</code></a></li><li><a href="/es/docs/Web/API/HTMLAnchorElement"><code>HTMLAnchorElement</code></a></li><li><a href="/es/docs/Web/API/HTMLAreaElement"><code>HTMLAreaElement</code></a></li><li><a href="/es/docs/Web/API/HTMLAudioElement"><code>HTMLAudioElement</code></a></li><li><a href="/es/docs/Web/API/HTMLBRElement"><code>HTMLBRElement</code></a></li><li><a href="/es/docs/Web/API/HTMLBaseElement"><code>HTMLBaseElement</code></a></li><li><a href="/es/docs/Web/API/HTMLBaseFontElement"><code>HTMLBaseFontElement</code></a></li><li><a href="/es/docs/Web/API/HTMLBodyElement"><code>HTMLBodyElement</code></a></li><li><a href="/es/docs/Web/API/HTMLButtonElement"><code>HTMLButtonElement</code></a></li><li><a href="/es/docs/Web/API/HTMLCanvasElement"><code>HTMLCanvasElement</code></a></li><li><a href="/es/docs/Web/API/HTMLContentElement"><code>HTMLContentElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDListElement"><code>HTMLDListElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDataElement"><code>HTMLDataElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDataListElement"><code>HTMLDataListElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDialogElement"><code>HTMLDialogElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDivElement"><code>HTMLDivElement</code></a></li><li><a href="/es/docs/Web/API/HTMLDocument"><code>HTMLDocument</code></a></li><li><a href="/es/docs/Web/API/HTMLElement"><code>HTMLElement</code></a></li><li><a href="/es/docs/Web/API/HTMLEmbedElement"><code>HTMLEmbedElement</code></a></li><li><a href="/es/docs/Web/API/HTMLFieldSetElement"><code>HTMLFieldSetElement</code></a></li><li><a href="/es/docs/Web/API/HTMLFormControlsCollection"><code>HTMLFormControlsCollection</code></a></li><li><a href="/es/docs/Web/API/HTMLFormElement"><code>HTMLFormElement</code></a></li><li><a href="/es/docs/Web/API/HTMLFrameSetElement"><code>HTMLFrameSetElement</code></a></li><li><a href="/es/docs/Web/API/HTMLHRElement"><code>HTMLHRElement</code></a></li><li><a href="/es/docs/Web/API/HTMLHeadElement"><code>HTMLHeadElement</code></a></li><li><a href="/es/docs/Web/API/HTMLHeadingElement"><code>HTMLHeadingElement</code></a></li><li><a href="/es/docs/Web/API/HTMLHtmlElement"><code>HTMLHtmlElement</code></a></li><li><a href="/es/docs/Web/API/HTMLIFrameElement"><code>HTMLIFrameElement</code></a></li><li><a href="/es/docs/Web/API/HTMLImageElement"><code>HTMLImageElement</code></a></li><li><a href="/es/docs/Web/API/HTMLInputElement"><code>HTMLInputElement</code></a></li><li><a href="/es/docs/Web/API/HTMLIsIndexElement"><code>HTMLIsIndexElement</code></a></li><li><a href="/es/docs/Web/API/HTMLKeygenElement"><code>HTMLKeygenElement</code></a></li><li><a href="/es/docs/Web/API/HTMLLIElement"><code>HTMLLIElement</code></a></li><li><a href="/es/docs/Web/API/HTMLLabelElement"><code>HTMLLabelElement</code></a></li><li><a href="/es/docs/Web/API/HTMLLegendElement"><code>HTMLLegendElement</code></a></li><li><a href="/es/docs/Web/API/HTMLLinkElement"><code>HTMLLinkElement</code></a></li><li><a href="/es/docs/Web/API/HTMLMapElement"><code>HTMLMapElement</code></a></li><li><a href="/es/docs/Web/API/HTMLMediaElement"><code>HTMLMediaElement</code></a></li><li><a href="/es/docs/Web/API/HTMLMetaElement"><code>HTMLMetaElement</code></a></li><li><a href="/es/docs/Web/API/HTMLMeterElement"><code>HTMLMeterElement</code></a></li><li><a href="/es/docs/Web/API/HTMLModElement"><code>HTMLModElement</code></a></li><li><a href="/es/docs/Web/API/HTMLOListElement"><code>HTMLOListElement</code></a></li><li><a href="/es/docs/Web/API/HTMLObjectElement"><code>HTMLObjectElement</code></a></li><li><a href="/es/docs/Web/API/HTMLOptGroupElement"><code>HTMLOptGroupElement</code></a></li><li><a href="/es/docs/Web/API/HTMLOptionElement"><code>HTMLOptionElement</code></a></li><li><a href="/es/docs/Web/API/HTMLOptionsCollection"><code>HTMLOptionsCollection</code></a></li><li><a href="/es/docs/Web/API/HTMLOutputElement"><code>HTMLOutputElement</code></a></li><li><a href="/es/docs/Web/API/HTMLParagraphElement"><code>HTMLParagraphElement</code></a></li><li><a href="/es/docs/Web/API/HTMLParamElement"><code>HTMLParamElement</code></a></li><li><a href="/es/docs/Web/API/HTMLPictureElement"><code>HTMLPictureElement</code></a></li><li><a href="/es/docs/Web/API/HTMLPreElement"><code>HTMLPreElement</code></a></li><li><a href="/es/docs/Web/API/HTMLProgressElement"><code>HTMLProgressElement</code></a></li><li><a href="/es/docs/Web/API/HTMLQuoteElement"><code>HTMLQuoteElement</code></a></li><li><a href="/es/docs/Web/API/HTMLScriptElement"><code>HTMLScriptElement</code></a></li><li><a href="/es/docs/Web/API/HTMLSelectElement"><code>HTMLSelectElement</code></a></li><li><a href="/es/docs/Web/API/HTMLShadowElement"><code>HTMLShadowElement</code></a></li><li><a href="/es/docs/Web/API/HTMLSourceElement"><code>HTMLSourceElement</code></a></li><li><a href="/es/docs/Web/API/HTMLSpanElement"><code>HTMLSpanElement</code></a></li><li><a href="/es/docs/Web/API/HTMLStyleElement"><code>HTMLStyleElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableCaptionElement"><code>HTMLTableCaptionElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableCellElement"><code>HTMLTableCellElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableColElement"><code>HTMLTableColElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableDataCellElement"><code>HTMLTableDataCellElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableElement"><code>HTMLTableElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableHeaderCellElement"><code>HTMLTableHeaderCellElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableRowElement"><code>HTMLTableRowElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTableSectionElement"><code>HTMLTableSectionElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTemplateElement"><code>HTMLTemplateElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTextAreaElement"><code>HTMLTextAreaElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTimeElement"><code>HTMLTimeElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTitleElement"><code>HTMLTitleElement</code></a></li><li><a href="/es/docs/Web/API/HTMLTrackElement"><code>HTMLTrackElement</code></a></li><li><a href="/es/docs/Web/API/HTMLUListElement"><code>HTMLUListElement</code></a></li><li><a href="/es/docs/Web/API/HTMLUnknownElement"><code>HTMLUnknownElement</code></a></li><li><a href="/es/docs/Web/API/HTMLVideoElement"><code>HTMLVideoElement</code></a></li><li><a href="/es/docs/Web/API/HashChangeEvent"><code>HashChangeEvent</code></a></li><li><a href="/es/docs/Web/API/History"><code>History</code></a></li><li><a href="/es/docs/Web/API/ImageData"><code>ImageData</code></a></li><li><a href="/es/docs/Web/API/Location"><code>Location</code></a></li><li><a href="/es/docs/Web/API/MessageChannel"><code>MessageChannel</code></a></li><li><a href="/es/docs/Web/API/MessageEvent"><code>MessageEvent</code></a></li><li><a href="/es/docs/Web/API/MessagePort"><code>MessagePort</code></a></li><li><a href="/es/docs/Web/API/Navigator"><code>Navigator</code></a></li><li><a href="/es/docs/Web/API/NavigatorGeolocation"><code>NavigatorGeolocation</code></a></li><li><a href="/es/docs/Web/API/NavigatorID"><code>NavigatorID</code></a></li><li><a href="/es/docs/Web/API/NavigatorLanguage"><code>NavigatorLanguage</code></a></li><li><a href="/es/docs/Web/API/NavigatorOnLine"><code>NavigatorOnLine</code></a></li><li><a href="/es/docs/Web/API/NavigatorPlugins"><code>NavigatorPlugins</code></a></li><li><a href="/es/docs/Web/API/PageTransitionEvent"><code>PageTransitionEvent</code></a></li><li><a href="/es/docs/Web/API/Plugin"><code>Plugin</code></a></li><li><a href="/es/docs/Web/API/PluginArray"><code>PluginArray</code></a></li><li><a href="/es/docs/Web/API/PopStateEvent"><code>PopStateEvent</code></a></li><li><a href="/es/docs/Web/API/PortCollection"><code>PortCollection</code></a></li><li><a href="/es/docs/Web/API/PromiseRejectionEvent"><code>PromiseRejectionEvent</code></a></li><li><a href="/es/docs/Web/API/RadioNodeList"><code>RadioNodeList</code></a></li><li><a href="/es/docs/Web/API/Transferable"><code>Transferable</code></a></li><li><a href="/es/docs/Web/API/ValidityState"><code>ValidityState</code></a></li><li><a href="/es/docs/Web/API/Window"><code>Window</code></a></li><li><a href="/es/docs/Web/API/WindowBase64"><code>WindowBase64</code></a></li><li><a href="/es/docs/Web/API/WindowEventHandlers"><code>WindowEventHandlers</code></a></li></ol></details></li></ol></section> <div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p>Proporciona soporte para la creación de objetos <a href="/es/docs/Web/API/Notification" title="La interfaz Notification de la Notifications API se usa para configurar y mostrar notificaciones de escritorio al usuario."><code>notification</code></a>, que son usados para mostrar alertas de notificaciones de escritorio al usuario. Actualmente, estos son admitidos sólamente en Firefox Mobile y Firefox OS. Vea <a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Mostrar notificaciones</a> para un ejemplo.</p>
-
-<h2 id="Method_overview" name="Method_overview">Resumen del método</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>notification <a href="#createNotification()">createNotification</a>(in DOMString title, in DOMString description, in DOMString iconURL <span class="inlineIndicator optional optionalInline">Optional</span>);</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Methods" name="Methods">Métodos</h2>
-
-<h3 id="createNotification()" name="createNotification()">createNotification()</h3>
-
-<p>Crea y devuelve un objeto <a href="/es/docs/Web/API/Notification" title="La interfaz Notification de la Notifications API se usa para configurar y mostrar notificaciones de escritorio al usuario."><code>notification</code></a> que puede ser usado para mostrar el mensaje especificado con una URL opcional.</p>
-
-<pre class="eval">notification createNotification(
- in DOMString title,
- in DOMString description,
- in DOMString iconURL <span class="inlineIndicator optional optionalInline">Optional</span>
-);
-</pre>
-
-<h6 id="Parameters" name="Parameters">Parámetros</h6>
-
-<dl>
- <dt><code>title</code></dt>
- <dd>El título de la notificación.</dd>
- <dt><code>description</code></dt>
- <dd>El texto que se muestra en la notificación.</dd>
- <dt><code>iconURL</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>Un identificador URL de la imagen que se mostrará en la notificación.</dd>
-</dl>
-
-<h6 id="Return_value" name="Return_value">Valor de retorno</h6>
-
-<p>Un nuevo objeto <a href="/es/docs/Web/API/Notification" title="La interfaz Notification de la Notifications API se usa para configurar y mostrar notificaciones de escritorio al usuario."><code>notification</code></a>.</p>
-
-<h2 id="Methods" name="Methods">Permisos</h2>
-
-<p>Asegúrese de agregar en su archivo manifiesto el permiso "desktop-notification".</p>
-
-<pre class="default prettyprint prettyprinted"><code><span class="str">"permissions"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
- </span><span class="str">"desktop-notification"</span><span class="pun">:{}</span><span class="pln">
-</span><span class="pun">}</span></code></pre>
-
-<h2 id="Véase_también">Véase también</h2>
-
-<ul>
- <li><a href="/es/docs/Web/API/Notification" title="La interfaz Notification de la Notifications API se usa para configurar y mostrar notificaciones de escritorio al usuario."><code>notification</code></a></li>
- <li><a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Mostrar notificaciones</a></li>
-</ul>
diff --git a/files/es/archive/apps/advanced_topics/index.html b/files/es/archive/apps/advanced_topics/index.html
deleted file mode 100644
index 0db5a55e2b..0000000000
--- a/files/es/archive/apps/advanced_topics/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Temas avanzados
-slug: Archive/Apps/Advanced_topics
-translation_of: Archive/Apps/Advanced_topics
----
-<p>Este artículo provée información extra en temas más avanzados de Open Web Apps.</p>
-<div class="section">
- <h2 class="Documentation" id="Architecture" name="Architecture">Documentación de arquitectura de apps</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Web/Apps/Architecture">Arquitectura de web apps</a></dt>
- <dd>
- Una revisión de la arquitectura detrás de los proyectos de Open Web Apps diseño e implementación.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Platform-specific_details">Detalles específicos de la plataforma de instalación de apps</a></dt>
- <dd>
- Hay algunas diferencias en cómo las apps son instaladas a través de varias plataformas que soportan Open Web Apps; este artículo te ayudará a entenderlas.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Apps_for_Android">Open Web Apps para Android</a></dt>
- <dd>
- Información acerca de instalar y <em>testear</em> Open Web Apps en un dispositivo Android.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Release_notes">Notas sobre el tiempo de ejecución de la App</a></dt>
- <dd>
- Saca notas para las corridas y el funcionamiento en ejecución de las Web app para varias plataformas.</dd>
- </dl>
- <h2 class="Documentation" id="Other" name="Other">Otra documentación</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Web/Apps/Creating_a_store">Creando almacenamiento</a></dt>
- <dd>
- Información qe podrá ser útil para ti si quieres compilar tu propio almacenamiento para la venta o distribución de las Open Web Apps.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Marketplace">Ver todo...</a></span></p>
-</div>
-<div class="section">
- <p></p><h5 class="Tools" id="Tools" name="Tools">Tools for app developers</h5>
-<ul>
- <li><a href="https://marketplace.firefox.com/developers/">Visit Firefox Marketplace Developer Hub</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator">Firefox OS Simulator</a></li>
- <li><a href="/en-US/docs/Apps/App_developer_tools">App developer tools</a></li>
-</ul>
-<h5 class="Documentation" id="Documentation" name="Documentation">Technology reference documentation</h5>
-<div class="twocolumns">
- <ul>
- <li><a href="/en-US/docs/Web/CSS">CSS</a></li>
- <li><a href="/en-US/docs/DOM">DOM</a></li>
- <li><a href="/en-US/docs/Web/HTML">HTML</a></li>
- <li><a href="/en-US/docs/JavaScript">JavaScript</a></li>
- <li><a href="/en-US/docs/WebAPI">WebAPI</a></li>
- <li><a href="/en-US/docs/Web/WebGL">WebGL</a></li>
- <li><a href="/en-US/docs/SVG">SVG</a></li>
- <li><a href="https://www.mozilla.org/en-US/apps/">Open Web Apps overview site</a></li>
- <li><a href="https://wiki.mozilla.org/Apps">Apps project wiki page</a></li>
- </ul>
-</div>
-<h5 class="Community" id="Community" name="Community">Getting help from the community</h5>
-<p>If you still aren't sure how to do what you're trying to get done, feel free to join the conversation!</p>
-<ul>
- <li>Consult the webapps forum: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-webapps"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.webapps"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.webapps/feeds"> como RSS</a></li>
-</ul>
- <ul>
- <li>Ask your question on the Open Web Apps IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li>
- </ul>
- </li>
-</ul>
-<p><span class="alllinks"><a href="http://www.catb.org/~esr/faqs/smart-questions.html" rel="external">Don't forget about the <em>netiquette</em>...</a></span></p><p></p>
-</div>
-<p> </p>
diff --git a/files/es/archive/apps/index.html b/files/es/archive/apps/index.html
deleted file mode 100644
index 10bb499435..0000000000
--- a/files/es/archive/apps/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Apps
-slug: Archive/Apps
-translation_of: Archive/Apps
----
-<p class="summary">In progress. This page includes archived content for Apps, including obsolete web app content, Firefox OS app-related content, etc.</p>
-
-<p></p>
diff --git a/files/es/archive/b2g_os/api/callevent/index.html b/files/es/archive/b2g_os/api/callevent/index.html
deleted file mode 100644
index ceb6219d5a..0000000000
--- a/files/es/archive/b2g_os/api/callevent/index.html
+++ /dev/null
@@ -1,117 +0,0 @@
----
-title: CallEvent
-slug: Archive/B2G_OS/API/CallEvent
-translation_of: Archive/B2G_OS/API/CallEvent
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li></ol></section> <div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-
-<h2 id="Resumen">Resumen</h2>
-
-<p>El DOM <code>CallEvent</code> representa eventos relacionados con las llamadas telefonicas.</p>
-
-<h2 id="Propiedades">Propiedades</h2>
-
-<dl>
- <dt><a href="/es/docs/Web/API/CallEvent/call" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CallEvent.call</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Un objeto</span> <a href="/es/docs/Web/API/TelephonyCall"><span class="hps">TelephonyCall</span></a> <span class="hps">representa</span> <span class="hps">la llamada</span> <span class="hps">de la que</span> <span class="hps">se originó</span> <span class="hps">el evento.</span></span></dd>
-</dl>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p>No es una implementacion estandar, pero se dicote en el W3C como parte del <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificacion</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_de_navegador">Compatibilidad de navegador</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span></span></p>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso de la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/Telephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony</code></a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall</code></a></li>
- <li><a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/cameramanager/getcamera/index.html b/files/es/archive/b2g_os/api/cameramanager/getcamera/index.html
deleted file mode 100644
index 605e8229b7..0000000000
--- a/files/es/archive/b2g_os/api/cameramanager/getcamera/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: CameraManager.getCamera()
-slug: Archive/B2G_OS/API/CameraManager/getCamera
-translation_of: Archive/B2G_OS/API/CameraManager/getCamera
----
-<div><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Mozilla/Firefox_OS/API/Camera_API">Camera API</a></strong></li><li><strong><a href="/es/docs/Mozilla/Firefox_OS/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Camera API</summary><ol><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li></ol></section><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">privileged or certified applications</a> only.</p>
-</div></div>
-
-<h2 id="Resumen">Resumen</h2>
-
-<p>Este método es usado para acceder a una de las camaras validas en el dispositivo basado en el identificador. Puedes obtener una lista de las camaras validas para ser llamadas por el método <a href="/es/docs/Web/API/CameraManager/getListOfCameras" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraManager.getListOfCameras()</code></a> .</p>
-
-<h2 id="Sintaxis_(pre_Firefox_OS_2.2)">Sintaxis (pre Firefox OS 2.2)</h2>
-
-<pre>CameraManager.getCamera(camera, cameraConfiguration, onsuccess[, onerror]);</pre>
-
-<h3 id="Parametros">Parametros</h3>
-
-<dl>
- <dt><code>camera</code></dt>
- <dd>Especifica la camara que desea usarse (el dispositivo puede tener mas de una camara).</dd>
- <dt><code>cameraConfiguration</code></dt>
- <dd>Un objeto permite al conjunto de opciones de la camara por esta camara: mode, previewSize y recorderProfile</dd>
- <dt><code>onsuccess</code></dt>
- <dd>una función de llamada que toma un objeto <a href="/es/docs/Web/API/CameraControl" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraControl</code></a> como parametro.</dd>
- <dt><code>onerror</code></dt>
- <dd>Una opcional función de llamada que acepta una cadena de error como un parametro.</dd>
-</dl>
-
-<h2 id="Ejemplo">Ejemplo</h2>
-
-<pre class="brush: js">var options = {
-  mode: 'picture',
-  recorderProfile: 'jpg',
-  previewSize: {
-    width: 352,
-    height: 288
-  }
-};
-
-var camera = navigator.mozCameras.getListOfCameras()[0];
-
-function onSuccess(camera) {
- // Do stuff with the camera
-};
-
-function onError(error) {
- console.warn(error);
-};
-
-navigator.mozCameras.getCamera(camera, options, onSuccess, onError);
-</pre>
-
-<h2 id="Sintaxis_(Firefox_OS_2.2)">Sintaxis (Firefox OS 2.2+)</h2>
-
-<pre>Promise CameraManager.getCamera(camera, cameraConfiguration);</pre>
-
-<h3 id="Parametros_2">Parametros</h3>
-
-<dl>
- <dt><code>camera</code></dt>
- <dd>Especifica la camara que deseas usar (El dispositivo puede tener mas de una camara).</dd>
- <dt><code>cameraConfiguration</code></dt>
- <dd>Un objeto permite al conjunto de opciones de la camara por esta camara: mode, previewSize y recorderProfile</dd>
-</dl>
-
-<h3 id="Valor_de_retorno">Valor de retorno</h3>
-
-<p>retorna un <a href="/es/docs/Web/API/Promise" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Promise</code></a>.  La función Promise's <code>.then()</code> acepta dos argumentos en la función:</p>
-
-<dl>
- <dt><code>onsuccess</code></dt>
- <dd>Una función de llamada que toma un objeto como parametro. Este objeto tiene la propiedad camara como objeto <a href="/es/docs/Web/API/CameraControl" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraControl</code></a> y la configuracion de la propiedad como actual cameraConfiguration del dispositivo.</dd>
- <dt><code>onerror</code></dt>
- <dd>Una opcional función de llamada que acepta una cadena de error como un parametro.</dd>
-</dl>
-
-<h2 id="Ejemplo_2">Ejemplo</h2>
-
-<pre class="brush: js">var options = {
-  mode: 'picture',
-  recorderProfile: 'jpg',
-  previewSize: {
-    width: 352,
-    height: 288
-  }
-};
-
-var camera = navigator.mozCameras.getListOfCameras()[0];
-
-function onSuccess(cameraObj) {
- var cameraControl = cameraObj.camera;
- // Do stuff with the cameraControl
-};
-
-function onError(error) {
- console.warn(error);
-};
-
-navigator.mozCameras.getCamera(camera, options).then(onSuccess, onError);
-</pre>
-
-<h2 id="Specification" name="Specification">Especificaciones</h2>
-
-<p>no forma parte de cualquier especificación aun; este propablemente será reemplazado por  <a href="/en-US/docs/WebRTC">WebRTC</a> cuando este gane mas soporte generalizado en dispositivos moviles .</p>
-
-<h2 id="Permisos">Permisos</h2>
-
-<p>Hasta Firefox OS 1.4, la api de la camara es una api certificada, pero no es accesible para aplicaciones  de tercera partes. Para Firefox OS 2.0 en adelante, el nivel de permisos han sido degradado a privilegiado, pero este es ahora valido para desarrolladores  que usen en sus aplicaciones.</p>
-
-<pre class="brush: json">"type": "privileged"</pre>
-
-<pre class="brush: json">"permissions": {
- "camera": {
- "description": "Required for accessing cameras on the device."
- }
-}</pre>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/es/docs/Web/API/CameraManager/getListOfCameras" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraManager.getListOfCameras()</code></a></li>
- <li><a href="/es/docs/Web/API/CameraControl" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraControl</code></a></li>
- <li><a href="/es/docs/Web/API/Navigator/mozCamera" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>navigator.mozCamera</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/cameramanager/index.html b/files/es/archive/b2g_os/api/cameramanager/index.html
deleted file mode 100644
index 492feb0803..0000000000
--- a/files/es/archive/b2g_os/api/cameramanager/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: CameraManager
-slug: Archive/B2G_OS/API/CameraManager
-tags:
- - API
- - B2G
- - Certified Only
- - DOM
- - DOM Reference
- - Firefox OS
- - Graphics
- - JavaScript
- - NeedsTranslation
- - Non-standard
- - Reference
- - Référence(2)
- - TopicStub
- - WebAPI
- - camera
-translation_of: Archive/B2G_OS/API/CameraManager
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Mozilla/Firefox_OS/API/Camera_API">Camera API</a></strong></li><li><strong><a href="/es/docs/Mozilla/Firefox_OS/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Camera API</summary><ol><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/es/docs/Mozilla/Firefox_OS/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">privileged or certified applications</a> only.</p>
-</div><p></p>
-
-<p><span class="seoSummary">The <strong><code>CameraManager</code></strong> interface provides access to any cameras available on the device being used.</span></p>
-
-<h2 id="Properties">Properties</h2>
-
-<p><em>This interface doesn't implements, nor inherits any property.</em></p>
-
-<h2 id="Methods">Methods</h2>
-
-<dl>
- <dt><a href="/es/docs/Web/API/CameraManager/getCamera" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraManager.getCamera()</code></a></dt>
- <dd>Gets a camera instance based on its identifier.</dd>
- <dt><a href="/es/docs/Web/API/CameraManager/getListOfCameras" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraManager.getListOfCameras()</code></a></dt>
- <dd>Returns an <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array"><code>Array</code></a> of all camera identifiers available on the device.</dd>
-</dl>
-
-<h2 id="Specification" name="Specification">Specification</h2>
-
-<p></p><p>Not part of any specification as yet; this will probably be replaced by WebRTC when it gains more widespread support on mobile devices.</p><p></p>
-
-<h2 id="Permissions">Permissions</h2>
-
-<p></p><p>Up until Firefox OS 1.4, The Camera API was a certified API, so not accessible to third party apps. From Firefox OS 2.0 onwards, the permission level has been downgraded to privileged, so it is now available for developers to use in their apps.</p>
-
-<pre class="brush: json">"permissions": {
- "camera": {
- "description": "Required for accessing cameras on the device."
- }
-}</pre><p></p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/es/docs/Web/API/CameraControl" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CameraControl</code></a></li>
- <li><a href="/es/docs/Web/API/Navigator/mozCamera" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>navigator.mozCamera</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/index.html b/files/es/archive/b2g_os/api/index.html
deleted file mode 100644
index 8826729643..0000000000
--- a/files/es/archive/b2g_os/api/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: Firefox OS APIs
-slug: Archive/B2G_OS/API
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/API
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/es/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<p>This page lists all Firefox OS-specific APIs.</p>
-
-<p></p><div class="index">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</div><p></p>
diff --git a/files/es/archive/b2g_os/api/mozactivity/index.html b/files/es/archive/b2g_os/api/mozactivity/index.html
deleted file mode 100644
index d3fb6a28fe..0000000000
--- a/files/es/archive/b2g_os/api/mozactivity/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: MozActivity
-slug: Archive/B2G_OS/API/MozActivity
-translation_of: Archive/B2G_OS/API/MozActivity
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li></ol></section><p></p>
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on Firefox or <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">installed or higher privileged applications</a>.</p>
-</div><p></p>
-<h2 id="Summary">Summary</h2>
-<p>The <code>MozActivity</code> interface allows apps to delegate an activity to another app.</p>
-<p>This interface fully inherits from the <a href="/es/docs/Web/API/DOMRequest" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>DOMRequest</code></a> interface excepts that it has a constructor that it takes a <a href="/es/docs/Web/API/MozActivityOptions" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozActivityOptions</code></a> as a parameter.</p>
-<div class="note">
- <p><strong>Note:</strong> As soon as a MozActivity is instentiated, the system will prompt the user to choose an activity handler. It's not possible to instentiate an activity and wait to use it.</p>
-</div>
-<h2 id="Properties">Properties</h2>
-<p>Inherited from <a href="/es/docs/Web/API/DOMRequest" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>DOMRequest</code></a>:</p>
-<p></p><dl>
- <dt><a href="/en-US/docs/Web/API/DOMRequest/onsuccess" title="The documentation about this has not yet been written; please consider contributing!"><code>DOMRequest.onsuccess</code></a></dt>
- <dd>A callback handler called when the operation represented by the <code>DOMRequest</code> is completed.</dd>
- <dt><a href="/en-US/docs/Web/API/DOMRequest/onerror" title="The documentation about this has not yet been written; please consider contributing!"><code>DOMRequest.onerror</code></a></dt>
- <dd>A callback handler that gets called when an error occurs while processing the operation.</dd>
- <dt><a href="/en-US/docs/Web/API/DOMRequest/readyState" title="The documentation about this has not yet been written; please consider contributing!"><code>DOMRequest.readyState</code></a></dt>
- <dd>A <a href="/en-US/docs/JavaScript/Reference/Global_Objects/String" title="JavaScript/Reference/Global_Objects/String"><code>string</code></a> indicating whether or not the operation is finished running. Its value is either "done" or "pending".</dd>
- <dt><a href="/en-US/docs/Web/API/DOMRequest/result" title="The documentation about this has not yet been written; please consider contributing!"><code>DOMRequest.result</code></a></dt>
- <dd>The operation's result.</dd>
- <dt><a href="/en-US/docs/Web/API/DOMRequest/error" title="The documentation about this has not yet been written; please consider contributing!"><code>DOMRequest.error</code></a></dt>
- <dd>Error information, if any.</dd>
-</dl><p></p>
-<dl>
-</dl>
-<h2 id="Methods">Methods</h2>
-<p>None.</p>
-<h2 id="Example">Example</h2>
-<pre class="brush: js">var activity = new MozActivity({
- // The name of the activity the app wants to delegate the action
- name: "pick",
-
- // Data requierd by the activity. Each application acting as an activity handler
- // can have it's own requirement for the activity. If the data does not fulfill
- // all the requirement of any activity handler, the error event will be sent
- // otherwise, the event sent depend on the activity handler itself.
- data: {
- type: "image/jpeg"
- }
-});
-
-activity.onsuccess = function() {
- console.log("Activity successfuly handled");
-
- var imgSrc = this.result.blob;
-}
-
-activity.onerror = function() {
- console.log("The activity encouter en error: " + this.error);
-}
-</pre>
-<h2 id="Specification">Specification</h2>
-<p></p><p><em>Web Activities</em> is not part of any specification. However, it has some overlap with the proposed <a href="https://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview-respec.html" title="http://www.w3.org/TR/web-intents/">Web Intents</a> specification. Mozilla actually proposed <em>Web Activities</em> as <a href="https://wiki.mozilla.org/WebAPI/WebActivities" title="https://wiki.mozilla.org/WebAPI/WebActivities">a counter proposal</a> to <em>Web Intents</em>. For more information about this, see discussion on the <a href="http://lists.w3.org/Archives/Public/public-web-intents/2012Jun/0061.html" title="http://lists.w3.org/Archives/Public/public-web-intents/2012Jun/0061.html">Web Intents Task Force ML</a>.</p><p></p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a href="/es/docs/Web/API/DOMRequest" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>DOMRequest</code></a></li>
- <li><a href="/es/docs/Web/API/MozActivityOptions" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozActivityOptions</code></a></li>
- <li><a href="/en-US/docs/WebAPI/Web_Activities" title="/en-US/docs/WebAPI/Web_Activities">Web Activities</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/mozvoicemailstatus/index.html b/files/es/archive/b2g_os/api/mozvoicemailstatus/index.html
deleted file mode 100644
index b00c181193..0000000000
--- a/files/es/archive/b2g_os/api/mozvoicemailstatus/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: MozVoicemailStatus
-slug: Archive/B2G_OS/API/MozVoicemailStatus
-translation_of: Archive/B2G_OS/API/MozVoicemailStatus
----
-<section class="Quick_links" id="Quick_Links">
-<ol>
- <li><strong><code>Archive</code></strong></li>
- <li data-default-state="open"><a href="#"><strong>Related pages for Voicemail API</strong></a>
- <ol>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/API/MozVoicemail"><code>MozVoicemail</code></a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/API/MozVoicemailEvent"><code>MozVoicemailEvent</code></a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/API/MozVoicemailStatus"><code>MozVoicemailStatus</code></a></li>
- </ol>
- </li>
-</ol>
-</section>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-
-
-<h2 id="Summary">Summary</h2>
-
-<p>The <code>MozVoicemailStatus</code> API provides access to a voicemail status.</p>
-
-<h2 id="Interface_overview">Interface overview</h2>
-
-<pre>interface MozVoicemailStatus
-{
- readonly attribute unsigned long serviceId;
- readonly attribute boolean hasMessage;
- readonly attribute long messageCount;
- readonly attribute DOMString returnNumber;
- readonly attribute DOMString returnMessage;
-};</pre>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/API/MozVoicemailStatus/serviceId" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemailStatus.serviceId</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A number indicating the voicemail service ID.</dd>
- <dt><a href="/en-US/docs/Web/API/MozVoicemailStatus/hasMessage" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemailStatus.hasMessage</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A boolean indicating if there are messages available within the voicemail box.</dd>
- <dt><a href="/en-US/docs/Web/API/MozVoicemailStatus/messageCount" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemailStatus.messageCount</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A number indicating the total message count.</dd>
- <dt><a href="/en-US/docs/Web/API/MozVoicemailStatus/returnNumber" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemailStatus.returnNumber</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A string representing the return call number for the voicemail status.</dd>
- <dt><a href="/en-US/docs/Web/API/MozVoicemailStatus/returnMessage" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemailStatus.returnMessage</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A string representing a displayable return call message for the voicemail status.</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<p>None.</p>
-
-<h2 id="Specification">Specification</h2>
-
-<p>Not part of any specification yet.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/API/MozVoicemail" title="The documentation about this has not yet been written; please consider contributing!"><code>MozVoicemail</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/navigator/index.html b/files/es/archive/b2g_os/api/navigator/index.html
deleted file mode 100644
index 1760c18acd..0000000000
--- a/files/es/archive/b2g_os/api/navigator/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Navigator (Firefox OS extensions)
-slug: Archive/B2G_OS/API/Navigator
-translation_of: Archive/B2G_OS/API/Navigator
----
-<p>(es translation)</p>
-
-<p>The <code><strong>Navigator</strong></code> interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. This page represents the list of properties and methods added to <code>Navigator</code> on Firefox OS devices. For the list of properties and methods available to any Web sites, consult <a href="/es/docs/Web/API/Navigator" title="La interfaz Navigator representa el estado y la identidad del user agent. Es completamente consultable y es posible registrar scripts para que ejecuten diversas actividades."><code>Navigator</code></a>.</p>
-
-<p>A <code>Navigator</code> object can be retrieved using the read-only <a href="/es/docs/Web/API/Window/navigator" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Window.navigator</code></a> property.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/es/docs/Archive/B2G_OS/API/Navigator/mozApps">Navigator.mozApps</a></dt><dd class="landingPageList">Retorna un objecto <a href="/es/docs/Web/API/Apps" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Apps</code></a> que puedes usar para instalar, manejar y controlar <a href="/es/Apps">Open Web Apps</a> en el navegador.</dd><dt class="landingPageList"><a href="/es/docs/Archive/B2G_OS/API/Navigator/MozTelephony">Navigator.mozTelephony</a></dt><dd class="landingPageList"><span id="result_box" lang="es"><span class="hps">Devuelve un objeto</span> <a href="/es/docs/Web/API/Telephony"><span class="hps"> Telephony</span></a> <span class="hps">que se puede utilizar para</span> <span class="hps">iniciar</span> <span class="hps">y controlar</span> <span class="hps">las llamadas</span> <span class="hps">telefónicas del</span> <span class="hps">navegador.</span></span></dd><dt class="landingPageList"><a href="/es/docs/Archive/B2G_OS/API/Navigator/mozAlarms">window.navigator.mozAlarms</a></dt><dd class="landingPageList">Retorna un objeto <a href="/es/docs/Web/API/MozAlarmsManager" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozAlarmsManager</code></a> que puede usar para programar notificaciones o aplicaciones que se inicien en un momento determinado.</dd></dl><p></p>
diff --git a/files/es/archive/b2g_os/api/navigator/mozalarms/index.html b/files/es/archive/b2g_os/api/navigator/mozalarms/index.html
deleted file mode 100644
index d83b3dc520..0000000000
--- a/files/es/archive/b2g_os/api/navigator/mozalarms/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: window.navigator.mozAlarms
-slug: Archive/B2G_OS/API/Navigator/mozAlarms
-translation_of: Archive/B2G_OS/API/Navigator/mozAlarms
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on Firefox or <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">installed or higher privileged applications</a>.</p>
-</div><p></p>
-
-<h2 id="Resumen">Resumen</h2>
-
-<p>Retorna un objeto <a href="/es/docs/Web/API/MozAlarmsManager" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozAlarmsManager</code></a> que puede usar para programar notificaciones o aplicaciones que se inicien en un momento determinado.</p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval">var alarms = window.navigator.mozAlarms;
-</pre>
-
-<h2 id="Valor">Valor</h2>
-
-<p><code>navigator.mozAlarms</code> es un objeto <a href="/es/docs/Web/API/MozAlarmsManager" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozAlarmsManager</code></a>.</p>
-
-<h2 id="Especificación">Especificación</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estado</th>
- <th scope="col">Comentario</th>
- </tr>
- <tr>
- <td><a class="external" href="https://www.w3.org/2012/sysapps/web-alarms/#interface-navigator" hreflang="en" lang="en" title="La especificación 'Web Alarms API'">Web Alarms API</a></td>
- <td><span class="spec-Obsolete">Obsolete</span></td>
- <td>Define la extensión para el objeto <a href="/es/docs/Web/API/Window/navigator" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>navigator</code></a> .</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari (WebKit)</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox OS</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>1.0</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h3 id="Nota_de_implementación_en_Gecko">Nota de implementación en Gecko</h3>
-
-<p>Esta API es disponible actualmente solo en Firefox OS para cualquier aplicación instalada. La especificación actual para esta API no es considerada lo suficientemente estable como para utilizar sin prefijo actualmente.</p>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/es/docs/Web/API/MozAlarmsManager" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozAlarmsManager</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/navigator/mozapps/index.html b/files/es/archive/b2g_os/api/navigator/mozapps/index.html
deleted file mode 100644
index a0df89d37c..0000000000
--- a/files/es/archive/b2g_os/api/navigator/mozapps/index.html
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: Navigator.mozApps
-slug: Archive/B2G_OS/API/Navigator/mozApps
-tags:
- - API
- - API de aplicaciones
- - No estandar
- - aplicaciones
-translation_of: Archive/B2G_OS/API/Navigator/mozApps
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<h2 id="Summary" name="Summary">Descripción</h2>
-
-<p>Retorna un objecto <a href="/es/docs/Web/API/Apps" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Apps</code></a> que puedes usar para instalar, manejar y controlar <a href="/es/Apps">Open Web Apps</a> en el navegador.</p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval">var <em>apps</em> = window.navigator.mozApps;
-</pre>
-
-<h2 id="Value" name="Value">Valor</h2>
-
-<p><code>navigator.mozApps</code> es un objecto <a href="/es/docs/Web/API/Apps" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Apps</code></a> que puedes usar para instalar, manejar y controlar <a href="/es/Apps">Open Web Apps</a> en el navegador.</p>
-
-<h2 id="Specification" name="Specification">Especificación</h2>
-
-<p>No es parte de ninguna especificación; implementado en Gecko en la base del <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=697383" title="FIXED: implement navigator.mozApps">error 697383</a>.</p>
-
-<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td>---</td>
- <td><a href="/en-US/Firefox/Releases/11" title="Publicado en 2012-03-13.">11.0</a> (11.0)</td>
- <td>---</td>
- <td>---</td>
- <td>---</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td>---</td>
- <td><a href="/en-US/Firefox/Releases/11" title="Publicado en 2012-03-13.">11.0</a> (11.0)</td>
- <td>---</td>
- <td>---</td>
- <td>---</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<p> </p>
diff --git a/files/es/archive/b2g_os/api/navigator/moztelephony/index.html b/files/es/archive/b2g_os/api/navigator/moztelephony/index.html
deleted file mode 100644
index 9a67f43f5c..0000000000
--- a/files/es/archive/b2g_os/api/navigator/moztelephony/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: Navigator.mozTelephony
-slug: Archive/B2G_OS/API/Navigator/MozTelephony
-translation_of: Archive/B2G_OS/API/Navigator/MozTelephony
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section> <div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-
-<h2 id="Summary" name="Summary">Resumen</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Devuelve un objeto</span> <a href="/es/docs/Web/API/Telephony"><span class="hps"> Telephony</span></a> <span class="hps">que se puede utilizar para</span> <span class="hps">iniciar</span> <span class="hps">y controlar</span> <span class="hps">las llamadas</span> <span class="hps">telefónicas del</span> <span class="hps">navegador.</span></span></p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval">var <em>phone</em> = window.navigator.mozTelephony;
-</pre>
-
-<h2 id="Value" name="Value">Valor</h2>
-
-<p><code>navigator.mozTelephony</code> <span id="result_box" lang="es"><span class="hps">es</span> <span class="hps">un objeto de</span> <a href="/es/docs/Web/API/Telephony">Telephony</a> <span class="hps">que se puede utilizar para</span> <span class="hps">controlar</span> <span class="hps">las</span> <span class="hps">funciones de teléfono del</span> <span class="hps">dispositivo en el que</span> <span class="hps">se está ejecutando el</span> <span class="hps">navegador.</span></span></p>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Esta</span> <span class="hps">es</span> <span class="hps">una implementación no</span> <span class="hps">estándar</span><span>,</span> <span class="hps">pero</span> <span class="hps">se discute</span> <span class="hps">en el W3C</span> <span class="hps">como parte de</span><span class="hps">l</span> </span><a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_del_navegador">Compatibilidad del navegador</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span> </span></p>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte básico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso del la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/Telephony">Telephony</a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall">TelephonyCall</a></li>
- <li><a href="/es/docs/Web/API/CallEvent">CallEvent</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/telephony/index.html b/files/es/archive/b2g_os/api/telephony/index.html
deleted file mode 100644
index 840ff8fbe0..0000000000
--- a/files/es/archive/b2g_os/api/telephony/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Telephony
-slug: Archive/B2G_OS/API/Telephony
-translation_of: Archive/B2G_OS/API/Telephony
----
-<div><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section> <div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div> <div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div></div>
-
-<h2 id="Resumen">Resumen</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Proporciona soporte para</span> <span class="hps">marcar,</span> <span class="hps">contestar y manejar</span> <span class="hps">llamadas de teléfono en</span> <span class="hps">un dispositivo con</span> <span class="hps">soporte de telefonía</span><span>.</span></span></p>
-
-<h2 id="Propiedades">Propiedades</h2>
-
-<dl>
- <dt><a href="/es/docs/Web/API/Telephony/active" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.active</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Un objeto</span> <a href="/es/docs/Web/API/TelephonyCall"><span class="hps">TelephonyCall</span></a> <span class="hps">indicanda</span> <span class="hps">la llamada que está</span> <span class="hps">activa en ese momento</span><span>.</span> <span class="hps">La llamada activa</span> <span class="hps">es</span> <span class="hps">la que recibe</span> <span class="hps">la entrada</span> <span class="hps">del micrófono y</span> <span class="hps">cualquier</span> <span class="hps">tono generado</span> <span class="hps">utilizando el</span> metodo <a href="/es/docs/Web/API/Telephony/startTone" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.startTone()</code></a><span>.</span></span></dd>
- <dt><a href="/es/docs/Web/API/Telephony/calls" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.calls</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Matriz de objetos</span> <a href="/es/docs/Web/API/TelephonyCall"><span class="hps">TelephonyCall</span></a><span>,</span> <span class="hps">uno para cada</span> <span class="hps">llamada que está</span> <span class="hps">conectado en ese momento</span><span>.</span></span></dd>
- <dt><a href="/es/docs/Web/API/Telephony/muted" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.muted</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Se establece en <code>true</code></span> <span class="hps">para silenciar el micrófono</span> <span class="hps">o <code>false</code> para</span> <span class="hps">activar el micrófono</span><span>.</span></span></dd>
- <dt><a href="/es/docs/Web/API/Telephony/speakerEnabled" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.speakerEnabled</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Se establece en <code>true</code></span> <span class="hps">para habilitar la funcionalidad</span> <span class="hps">de altavoz o</span> <span class="hps"><code>false</code> para desactivarla</span><span>.</span></span></dd>
-</dl>
-
-<h3 id="Manejo_de_eventos">Manejo de eventos</h3>
-
-<dl>
- <dt><a href="/es/docs/Web/API/Telephony/oncallschanged" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.oncallschanged</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Un</span> <span class="hps">controlador para el evento</span> <code><a href="/es/docs/Web/Reference/Events/callschanged" title="/es/docs/Web/Reference/Events/callschanged">callschanged</a></code><span>;</span> <span class="hps">este evento</span> <a href="/es/docs/Web/API/CallEvent"><span class="hps">CallEvent</span></a> <span class="hps">se envía</span> <span class="hps">cada vez que la</span> <span class="hps">lista de llamadas</span> <span class="hps">presenta cambios.</span></span></dd>
- <dt><span lang="es"><span class="hps"><a href="/es/docs/Web/API/TelephonyCall.onincoming"><span style="color: #ff0000;">Telephony.onincoming</span></a></span></span></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Un</span> <span class="hps">controlador para el</span> <span class="hps">evento de entrada</span><span>, lo que</span> <a href="/es/docs/Web/API/CallEvent"><span class="hps">CallEvent</span></a><span class="hps"> envía</span> <span class="hps">cada vez que hay una</span> <span class="hps">nueva</span> <span class="hps">llamada entrante</span><span>.</span></span></dd>
-</dl>
-
-<h2 id="Metodos">Metodos</h2>
-
-<dl>
- <dt><a href="/es/docs/Web/API/Telephony/dial" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.dial()</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Marca el número</span> <span class="hps">de teléfono especificado</span><span>, que se especifica</span> <span class="hps">como una cadena.</span></span></dd>
- <dt><a href="/es/docs/Web/API/Telephony/startTone" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.startTone()</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Comienza</span> <span class="hps">la generación del</span> <span class="hps">tono DTMF</span> <span class="hps">especificado.</span></span></dd>
- <dt><a href="/es/docs/Web/API/Telephony/stopTone" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony.stopTone()</code></a></dt>
- <dd><span id="result_box" lang="es"><span class="hps">Detiene</span> <span class="hps">la generación del</span> <span class="hps">tono DTMF</span> <span class="hps">actualmente</span> <span class="hps">sonando</span><span>.</span></span></dd>
-</dl>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Esta</span> <span class="hps">es</span> <span class="hps">una implementación no</span> <span class="hps">estándar</span><span>,</span> <span class="hps">pero</span> <span class="hps">se discute</span> <span class="hps">en el W3C</span> <span class="hps">como parte de</span>l</span> <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span> </span></p>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte básico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte básico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso de la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall">TelephonyCall</a></li>
- <li><a href="/es/docs/Web/API/CallEvent">CallEvent</a></li>
- <li><a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/telephonycall/hangup/index.html b/files/es/archive/b2g_os/api/telephonycall/hangup/index.html
deleted file mode 100644
index 1afab7cee9..0000000000
--- a/files/es/archive/b2g_os/api/telephonycall/hangup/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: TelephonyCall.hangUp
-slug: Archive/B2G_OS/API/TelephonyCall/hangUp
-translation_of: Archive/B2G_OS/API/TelephonyCall/hangUp
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-
-<h2 id="Summary" name="Summary">Resumen</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Este método</span> <span class="hps">cuelga</span> <span class="hps">una llamada en curso</span><span>.</span></span></p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval"><em>instanceOfTelephonyCall</em>.hangUp();
-</pre>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Esta</span> <span class="hps">es</span> <span class="hps">una implementación no</span> <span class="hps">estándar</span><span>,</span> <span class="hps">pero</span> <span class="hps">se discute</span> <span class="hps">en el W3C</span> <span class="hps">como parte de</span><span class="hps">l</span> </span><a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_del_navegador">Compatibilidad del navegador</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span> </span></p>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Using the Telephony API</a></li>
- <li><a href="/es/docs/Web/API/Telephony">Telephony</a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall">TelephonyCall</a></li>
- <li><a href="/es/docs/Web/API/CallEvent">CallEvent</a></li>
- <li><a href="/es/docs/Web/API/Navigator.mozTelephony">Navigator.mozTelephony</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/telephonycall/index.html b/files/es/archive/b2g_os/api/telephonycall/index.html
deleted file mode 100644
index 118b5126fc..0000000000
--- a/files/es/archive/b2g_os/api/telephonycall/index.html
+++ /dev/null
@@ -1,185 +0,0 @@
----
-title: TelephonyCall
-slug: Archive/B2G_OS/API/TelephonyCall
-translation_of: Archive/B2G_OS/API/TelephonyCall
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li></ol></section><p></p>
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-<h2 id="Resumen">Resumen</h2>
-<p>Representa una llamada telefonica, <span id="result_box" lang="es"><span class="hps">proporciona</span> <span class="hps">información sobre la llamada</span> <span class="hps">y ofreciendo</span> <span class="hps">mecanismos</span> <span class="hps">para controlar</span> <span class="hps">y</span> <span class="hps">detectar</span> <span class="hps">los cambios en</span> <span class="hps">su estado.</span></span></p>
-<h2 id="Propiedades">Propiedades</h2>
-<dl>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/number" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.number</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Cadena que indica el</span> <span class="hps">número de teléfono</span> <span class="hps">correspondiente a la llamada</span><span>.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/state" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.state</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una</span> <span class="hps">cadena que indica el</span> <span class="hps">estado de la llamada</span><span>.</span></span></dd>
-</dl>
-<h3 id="Controladores_de_eventos">Controladores de eventos</h3>
-<dl>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/onalerting" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.onalerting</code></a></dt>
- <dd>
- A function to be called when the call alerts. <strong>What does this mean?</strong></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/onbusy" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.onbusy</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará cuando</span> <span class="hps">se recibe una</span> <span class="hps">señal de ocupado</span> <span class="hps">al intentar</span> <span class="hps">marcar.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/onconnected" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.onconnected</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará</span> <span class="hps">una vez que se</span> <span class="hps">conecte la llamada</span><span>.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/onconnecting" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.onconnecting</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará</span> <span class="hps">después de marcar</span><span>,</span> <span class="hps">a la espera de</span> <span class="hps">una conexión.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/ondialing" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.ondialing</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará</span> <span class="hps">cuando la llamada</span> <span class="hps">comienza a marcar</span> <span class="hps">el </span></span><a href="/es/docs/Web/API/TelephonyCall/number" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>number</code></a>.</dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/ondisconnected" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.ondisconnected</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará</span> <span class="hps">después de</span> <span class="hps">que la llamada haya</span> <span class="hps">terminado</span> <span class="hps">de desconectar.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/ondisconnecting" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.ondisconnecting</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una función</span> <span class="hps">que se llamará cuando</span> <span class="hps">la llamada</span> <span class="hps">comienza a</span> <span class="hps">desconectar.</span></span></dd>
- <dt>
- <span lang="es"><span class="hps"><span style="color: #ff0000;">TelephonyCall.onincoming</span></span></span></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Una</span> <span class="hps">función a llamar</span> <span class="hps">cuando se detecta</span> <span class="hps">una llamada entrante.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/onstatechange" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.onstatechange</code></a></dt>
- <dd>
- A function to be called when the <a href="/es/docs/Web/API/TelephonyCall/state" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>state</code></a> of the call changes.</dd>
-</dl>
-<h2 id="Metodos">Metodos</h2>
-<dl>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/answer" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.answer()</code></a></dt>
- <dd>
- Responde a una llamada entrante</dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/hangUp" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.hangUp()</code></a></dt>
- <dd>
- Cuelga la llamada</dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/hold" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.hold()</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Permite</span> <span class="hps">poner</span> <span class="hps">una llamada en espera</span><span>.</span></span></dd>
- <dt>
- <a href="/es/docs/Web/API/TelephonyCall/resume" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall.resume()</code></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Permite</span> <span class="hps">recuperar</span> <span class="hps">una llamada</span> <span class="hps">en espera</span>.</span></dd>
-</dl>
-<p><code>TelephonyCall</code> <span id="result_box" lang="es"><span class="hps">también</span> <span class="hps">hereda métodos de</span></span> <a href="/es/docs/Web/API/EventTarget" title="EventTarget is an interface implemented by objects that can receive events and may have listeners for them."><code>EventTarget</code></a>:</p>
-<p></p><dl>
- <dt><a href="/en-US/docs/Web/API/EventTarget/addEventListener" title="The EventTarget method addEventListener() sets up a function that will be called whenever the specified event is delivered to the target."><code>EventTarget.addEventListener()</code></a></dt>
- <dd>Register an event handler of a specific event type on the <code>EventTarget</code>.</dd>
- <dt><a href="/en-US/docs/Web/API/EventTarget/removeEventListener" title="The EventTarget.removeEventListener() method removes from the EventTarget an event listener previously registered with EventTarget.addEventListener(). The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal"><code>EventTarget.removeEventListener()</code></a></dt>
- <dd>Removes an event listener from the <code>EventTarget</code>.</dd>
- <dt><a href="/en-US/docs/Web/API/EventTarget/dispatchEvent" title="Dispatches an Event at the specified EventTarget, (synchronously) invoking the affected EventListeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually with dispatchEvent()."><code>EventTarget.dispatchEvent()</code></a></dt>
- <dd>Dispatch an event to this <code>EventTarget</code>.</dd>
-</dl>
-
-<h3 id="Additional_methods_for_Mozilla_chrome_code">Additional methods for Mozilla chrome code</h3>
-
-<p>Mozilla extensions for use by JS-implemented event targets to implement on* properties. See also <a href="/en-US/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a>.</p>
-
-<ul>
- <li>void <strong>setEventHandler</strong>(DOMString type, EventHandler handler) <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></li>
- <li>EventHandler <strong>getEventHandler</strong>(DOMString type) <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></li>
-</ul><p></p>
-<h2 id="Especificaciones">Especificaciones</h2>
-<p><span id="result_box" lang="es"><span class="hps">Se trata de</span> <span class="hps">una implementación no</span> <span class="hps">estándar, pero</span> <span class="hps">se está discutiendo</span> <span class="hps">en el W3C</span><span>, como parte</span> <span class="hps">del</span></span> <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicación del sistea</a>.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-<h2 id="Compatibilidad_de_navegador">Compatibilidad de navegador</h2>
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span></span></p>
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="Ver_también">Ver también</h2>
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso de la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/Telephony">Telephony</a></li>
- <li><a href="/es/docs/Web/API/CallEvent">CallEvent</a></li>
- <li><a href="/es/docs/Web/API/Navigator.mozTelephony">window.navigator.mozTelephony</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/telephonycall/number/index.html b/files/es/archive/b2g_os/api/telephonycall/number/index.html
deleted file mode 100644
index 7ac9efa096..0000000000
--- a/files/es/archive/b2g_os/api/telephonycall/number/index.html
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: TelephonyCall.number
-slug: Archive/B2G_OS/API/TelephonyCall/number
-translation_of: Archive/B2G_OS/API/TelephonyCall/number
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-
-<h2 id="Summary" name="Summary">Resumen</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">número de teléfono asociado</span> <span class="hps">con una llamada telefónica</span><span>.</span></span> <strong>Solo lectura.</strong></p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval">var phoneNum = window.navigator.mozTelephony.number;
-</pre>
-
-<h3 id="Return_Value" name="Return_Value">Valor</h3>
-
-<p><br>
- <span id="result_box" lang="es"><span class="hps">Una</span> <span class="hps">cadena (<a href="/en/JavaScript/Reference/Global_Objects/String" title="String"><code>String</code></a>) que indica</span> <span class="hps">el número asociado a</span> <span class="hps">la llamada.</span> <span class="hps">Esto puede</span> <span class="hps">ser o bien el</span> <span class="hps">número marcado</span> <span class="hps">durante</span> <span class="hps">una llamada saliente</span><span>,</span> <span class="hps">o</span> <span class="hps">el número de teléfono</span> <span class="hps">informado por</span> <span class="hps">ID de llamada </span><span class="hps">entrante.</span></span></p>
-
-<div class="note"><strong>Nota:</strong> <span id="result_box" lang="es"><span class="hps">El valor devuelto es</span> <span class="hps atn">probablemente "</span><span>"</span> <span class="hps">para</span> <span class="hps">llamadas de personas</span> <span class="hps">con</span> <span class="hps">identificador de llamadas</span> <span class="hps">bloqueadas</span></span>. <strong>¡Esto es solo una conjetura!</strong> Por favor actualice esto cuando lo sepa a ciencia cierta.</div>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p>No es una implementacion estandar, pero se dicute en el W3C como parte del <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_de_navegador">Compatibilidad de navegador</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span> </span></p>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso de la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/Telephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony</code></a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall">TelephonyCall</a></li>
- <li><a href="/es/docs/Web/API/CallEvent">CallEvent</a></li>
- <li><a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/telephonycall/onincoming/index.html b/files/es/archive/b2g_os/api/telephonycall/onincoming/index.html
deleted file mode 100644
index 38514ab777..0000000000
--- a/files/es/archive/b2g_os/api/telephonycall/onincoming/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: TelephonyCall.onincoming
-slug: Archive/B2G_OS/API/TelephonyCall/onincoming
-translation_of: Archive/B2G_OS/API/TelephonyCall/onincoming
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/es/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Páginas relacionadas a Firefox OS</summary><ol><li><a href="/es/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/es/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/es/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> No estándar</strong><br>
- This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.</p>
- </div><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div><p></p>
-
-<h2 id="Summary" name="Summary">Resumen</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Una referencia</span> <span class="hps">a una función</span> <span class="hps">que se llamará</span> <span class="hps">para manejar</span> <span class="hps">evento de</span></span> <code><a href="/es/docs/Web/Reference/Events/incoming" title="/es/docs/Web/Reference/Events/incoming">incoming</a></code> <span id="result_box" lang="es"><span class="hps">de la</span> <span class="hps">API de telefonía</span><span>.</span></span><span id="result_box" lang="es"><span class="hps"> Este evento se produce</span> <span class="hps">cuando se detecta</span> <span class="hps">una llamada entrante.</span></span> <span id="result_box" lang="es"><span class="hps">El controlador de eventos</span> <span class="hps">se llama con un</span></span> <a href="/es/docs/Web/API/CallEvent" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CallEvent</code></a> <span id="result_box" lang="es"><span class="hps">como único</span> <span class="hps">parámetro.</span></span></p>
-
-<h2 id="Syntax" name="Syntax">Sintaxis</h2>
-
-<pre class="eval"><em>instanceOfTelephonyCall</em>.onincoming = <em>funcRef</em>;
-</pre>
-
-<p>Donde <code>funcRef</code> es una función que se llamara cuando se resiva una llamda entrante <code><a href="/es/docs/Web/Reference/Events/incoming" title="/es/docs/Web/Reference/Events/incoming">incoming</a></code>. Estos eventos son de tipo <a href="/es/docs/Web/API/CallEvent" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CallEvent</code></a>.</p>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p>No es una implementacion estandar, pero se discute en el W3C como parte del <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">Grupo de trabajo de aplicaciones del sistema</a>.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Especificación</th>
- <th scope="col">Estatus</th>
- <th scope="col">Comentario</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a class="external" href="https://wiki.mozilla.org/WebAPI/WebTelephony" hreflang="en" lang="en" title="La especificación 'Web Telephony'">Web Telephony</a></td>
- <td><span class="spec-Draft">Draft</span></td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_de_navegador">Compatibilidad de navegador</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Por razones obvias</span><span>, el apoyo</span> <span class="hps">se espera</span> <span class="hps">principalmente en</span> <span class="hps">los navegadores móviles</span><span>.</span></span></p>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/es/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Escritorio</a></li>
- <li><a>Móvil</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Caracteristica</th>
- <th>Android</th>
- <th>Firefox Mobil (Gecko)</th>
- <th>IE Mobil</th>
- <th>Opera Mobil</th>
- <th>Safari Mobil</th>
- </tr>
- <tr>
- <td>Soporte basico</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td>12.0 (12.0)</td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- <td><span style="color: #f00;">Sin soporte</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en/DOM/Using_the_Telephony_API" title="en/DOM/Using the Telephony API">Uso de la API de telefonía</a></li>
- <li><a href="/es/docs/Web/API/TelephonyCall" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>TelephonyCall</code></a></li>
- <li><a href="/es/docs/Web/API/Telephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Telephony</code></a></li>
- <li><a href="/es/docs/Web/API/CallEvent" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>CallEvent</code></a></li>
- <li><a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/api/window/index.html b/files/es/archive/b2g_os/api/window/index.html
deleted file mode 100644
index b5e3bcf899..0000000000
--- a/files/es/archive/b2g_os/api/window/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Window (Firefox OS extensions)
-slug: Archive/B2G_OS/API/Window
-tags:
- - Navegado
-translation_of: Archive/B2G_OS/API/Window
----
-<section class="Quick_links" id="Quick_Links">
-<ol>
- <li><strong><a href="/en-US/docs/Mozilla/Firefox_OS/API/Archive"><code>Archive</code></a></strong></li>
-</ol>
-</section>
-
-
-
-<p>The <code>Window</code> interface represents a window containing a DOM document. This page represents the list of properties and methods added to <code>Window</code> on Firefox OS devices. For the list of properties and methods available to any Web sites, consult <a href="/en-US/docs/Web/API/Window" title="The window object represents a window containing a DOM document; the document property points to the DOM document loaded in that window."><code>Window</code></a>.</p>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/API/Window/onmoztimechange" title="The documentation about this has not yet been written; please consider contributing!"><code>Window.onmoztimechange</code></a></dt>
- <dd>Contains the event handler to be called whent the event <code>moztimechange</code> is sent.</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<p><em>There is no Firefox OS-specific method on the <code>Window</code> interface.</em></p>
diff --git a/files/es/archive/b2g_os/application_development/index.html b/files/es/archive/b2g_os/application_development/index.html
deleted file mode 100644
index 95eb0170fd..0000000000
--- a/files/es/archive/b2g_os/application_development/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Desarrollo de aplicaciones en Firefox OS
-slug: Archive/B2G_OS/Application_development
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS
----
-<p><strong>Las aplicaciones de Firefox OS</strong> no son mas que <a href="/es/Aplicaciones" title="https://developer.mozilla.org/en/Apps">Open Web apps</a>, esto es Aplicaciones HTML5, que estan instaladas en un dispositivo que ejecuta Firefox OS. Esto significa que puedes usar tus conocimientos que tienes actualmente sobre desarrollo <em>front-end</em> para crear aplicaciones que corran en los teléfonos Firefox OS.</p>
-<p>Para más información sobre cómo desarrollar aplicaciones para Firefox OS en vez de sitios web puedes ver el tutorial <a href="/es/docs/Aplicaciones/Comenzando_aplicaciones">Comenzando a construir aplicaciones</a>. <span id="result_box" lang="es"><span class="hps">Desarrollar</span> <span class="hps">una aplicación para</span> <span class="hps">un sistema</span> <span class="hps">específico tiene</span> <span class="hps">algunas advertencias</span><span>.</span> <span class="hps">Puedes obtener</span> <span class="hps">informaciton</span> <span class="hps">relevante</span> sobre ellas en la<span class="hps"> guía</span><span>:</span></span> <a href="/es/docs/Mozilla/Firefox_OS/Escribiendo_una_aplicacion_web_para_B2G" title="/es/docs/Mozilla/Firefox_OS/Escribiendo_una_aplicacion_web_para_B2G">Escribiendo una aplicación web para B2G</a>.</p>
-<p>Una vez familiarizado con los puntos básicos, quizá puedas necesitar consultar la información sobre la <a href="/es/docs/Aplicaciones/Reference" title="/es/docs/Aplicaciones/Reference">API de Desarrollo de Aplicaciones</a>. Para información básica sobre el desarrollo de apps en Firefox OS, puedes ver el <a href="https://marketplace.firefox.com/developers/">Firefox Marketplace Developer Hub</a>.</p>
-<p> </p>
-<div class="note">
- <strong>Nota:</strong> Actualmente Firefox OS se identifica usando la misma cadena UA que Firefox para los sistemas Android, excepto sin la clausula <code>Android</code>. Por ejemplo: <code>Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0a1</code>.</div>
diff --git a/files/es/archive/b2g_os/apps/escribiendo_una_aplicacion_web_para_b2g/index.html b/files/es/archive/b2g_os/apps/escribiendo_una_aplicacion_web_para_b2g/index.html
deleted file mode 100644
index e3ca09ccb8..0000000000
--- a/files/es/archive/b2g_os/apps/escribiendo_una_aplicacion_web_para_b2g/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Escribiendo una aplicación web para B2G
-slug: Archive/B2G_OS/Apps/Escribiendo_una_aplicacion_web_para_B2G
-tags:
- - Firefox OS
- - aplicaciones
- - aplicación
-translation_of: Web/Apps/Fundamentals/Quickstart
----
-<p>Las aplicaciones de B2G son solo aplicaciones Web escritas con HTML, CSS y JavaScript. Las puedes publicar en la Web tal como publicarías cualquier otro sitio Web. Con el fin de hacer instalable el sitio Web como una aplicación Web en el dispositivo, solo tienes que adornarlo con un manifiesto y conectar un botón de instalación tal como se explica a continuación.</p>
-<p>Los siguientes temas son puntos de partida recomendados:</p>
-<ul>
- <li><a href="/es/docs/Aplicaciones/Comenzando_aplicaciones">Comenzar con el desarrollo de aplicaciones</a></li>
- <li><a href="/es/docs/Aplicaciones/Manifest">Manifiesto de la aplicación</a></li>
-</ul>
-<p>Por supuesto, ¡no dudes en <a href="/es/docs/Aplicaciones">profundizar aún más en Open Web Apps</a>!</p>
-<h2 id="Instalando_la_aplicación_Web">Instalando la aplicación Web</h2>
-<p>Con la aplicación y el manifiesto publicados en la Web, necesitas hacer que Gecko sea conciente de ello. Al momento de la instalación, Gecko busca el manifiesto y agrega las entradas necesarias para la pantalla de inicio, etc.</p>
-<p>Para instalar una aplicación, llamar a la  <a href="/en-US/docs/Apps/Apps_JavaScript_API/navigator.mozApps.install"><code>API navigator.mozApps.install</code></a>. Aquí un ejemplo de un botón de instalación que podrías incluir en tu aplicación cuando la estas organizando:</p>
-<pre>&lt;script&gt;
-var manifest_url = "http://my.webapp.com/manifest.json";
-&lt;/script&gt;
-
-&lt;button onclick="navigator.mozApps.install(manifest_url); return false;"&gt;
- ¡Instala esta impresionante aplicación en tu pantalla de inicio!
-&lt;/button&gt;
-</pre>
-<p>Nota: El botón de instalación podría estar también en el app market, tal como el <a href="/en-US/docs/Apps/Submitting_an_app">Firefox Marketplace</a>, pero a menudo es muy importante tener un un botón "Instalar como una apliación web" en la página principal de tu sitio.</p>
-<p>Ahora visita tu sitio web en el navegador de B2G y pulsa el botón de instalación.</p>
diff --git a/files/es/archive/b2g_os/apps/index.html b/files/es/archive/b2g_os/apps/index.html
deleted file mode 100644
index 83e26c0f3f..0000000000
--- a/files/es/archive/b2g_os/apps/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Creando Aplicaciones para Firefox OS
-slug: Archive/B2G_OS/Apps
-translation_of: Web/Apps/Fundamentals
----
-<p>Las aplicaciones para dispositivos Firefox OS son simplemente aplicaciones Web; ellas consisten enteramente de tecnologías Web abiertas como JavaScript, HTML, y CSS. Mientras nuestra documentación primaria para aplicaciones cubre casi todo lo que necesitas saber, aquí hay algunos documentos específicos para desarrollar y probar Firefox OS.</p>
-<div class="row topicpage-table">
- <div class="section">
- <h2 class="Documentation" id="Documentation" name="Documentation">DOCUMENTACIón y tutoriales</h2>
- <dl>
- <dt>
- <a href="/es/docs/Mozilla/Firefox_OS/Escribiendo_una_aplicacion_web_para_B2G">Escribiendo una aplicación web para Firefox OS</a></dt>
- <dd>
- Un tutorial para crear tu primera aplicación para Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX" title="/en-US/docs/Mozilla/Firefox_OS/UX">Experiencia de usuario</a></dt>
- <dd>
- Guías para ayudarte a desarrollar aplicaciones con experiencia de usuario consistente y atractiva, incluyendo ejemplos de código y plantillas.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques">Tips y técnicas</a></dt>
- <dd>
- Una surtida variedad de tips y trucos (tanto como soluciones a los problemas) que nuestros desarrolladores sugieren para ti.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Apps">Ver más...</a></span></p>
- </div>
- <div class="section">
- <h2 class="Community" id="Community" name="Community">recibiendo ayuda de la comunidad</h2>
- <p>¿Necesitas ayuda en un problema relacionado con tu aplicación y no encuentras la solución en la documentación?</p>
- <ul>
- <li>Consulta el foro de aplicaciones web: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-webapps"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.webapps"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.webapps/feeds"> como RSS</a></li>
-</ul></li>
- <li>Consulta el foro de interfaz, que cubre CSS y HTML:<ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-css"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout/feeds"> como RSS</a></li>
-</ul>
- <ul>
- <li>Pregunta en el canal Mozilla IRC: <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li>
- </ul>
- </li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html">No olvides la etiqueta de la red...</a></span></p>
- <h2 class="Tools" id="Tools" name="Tools">Herramientas</h2>
- <ul>
- <li><span class="external">El Firefox Debugger ofrece soporte para debug remoto de aplicaciones Firefox OS</span></li>
- <li><span class="external">Otras <a href="/en-US/docs/Tools">Herramientas para desarrolladores</a></span></li>
- </ul>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Tools">Ver más...</a></span></p>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Tópicos relacionados</h2>
- <ul>
- <li><a href="/en-US/docs/Web/Apps">Apps</a></li>
- </ul>
- </div>
-</div>
-<p> </p>
diff --git a/files/es/archive/b2g_os/architecture/index.html b/files/es/archive/b2g_os/architecture/index.html
deleted file mode 100644
index 875eac916d..0000000000
--- a/files/es/archive/b2g_os/architecture/index.html
+++ /dev/null
@@ -1,759 +0,0 @@
----
-title: Arquitectura del Sistema Operativo Firefox OS
-slug: Archive/B2G_OS/Architecture
-translation_of: Archive/B2G_OS/Architecture
----
-<div class="summary">
-<p><span class="seoSummary">Este artículo es un panorama de alto nivel de la arquitectura de la plataforma Firefox OS, que introduce conceptos fundamentales y explica cómo sus componentes interactúan a un nivel básico.</span></p>
-</div>
-
-<div class="note">
-<p><strong>Nota:</strong> recuerda que Firefox OS todavía se encuentra en estado de pre-lanzamiento. La arquitectura descrita aquí no necesariamente es la final y que otros elementos todavía pueden estar sujetos a cambios.</p>
-</div>
-
-<h2 id="Terminología_de_Firefox_OS">Terminología de Firefox OS</h2>
-
-<p>Existen algunos términos que debes entender antes de continuar leyendo nuestra documentación sobre Firefox OS.</p>
-
-<dl>
- <dt>B2G</dt>
- <dd>Sigla de Boot to Gecko.</dd>
- <dt>Boot to Gecko</dt>
- <dd>El nombre código de ingeniería para el sistema operativo Firefox OS.</dd>
- <dt>Firefox OS</dt>
- <dd>Es básicamente la marca y servicios de soporte de Mozilla (y sus socios de OEM) aplicados sobre <strong>Boot to Gecko</strong> para crear el producto final de lanzamiento.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Gaia">Gaia</a></dt>
- <dd>La interfaz de usuario de la plataforma Firefox OS. Cualquier cosa dibujada en la pantalla una vez que Firefox OS ha sido iniciado es un producto de la capa Gaia. La misma implementa la pantalla de seguridad (lock screen), pantalla principal (home screen) y todas las aplicaciones estándares de cualquier teléfono inteligente moderno. Gaia se implementa en su totalidad empleando HTML, CSS y JavaScript. Las interfaces subyacentes al sistema operativo son Web APIs de código abierto, que se implementan por medio de la capa Gecko. Las aplicaciones de terceros se pueden instalar en paralelo con la capa Gaia.</dd>
- <dt><a href="/en-US/docs/Gecko" title="/en-US/docs/Accessibility/AT-APIs/Gecko">Gecko</a></dt>
- <dd>Este es el <em>runtime</em> de aplicaciones de Firefox OS, es decir, la capa que provee todo el soporte para el trío de estándares de código abierto: HTML, CSS y JavaScript. Es responsable de que esas APIs funcionen bien en cualquier sistema operativo soportado por Gecko. Esto implica que Gecko incluya, además de otras cosas, paquetes de redes y de gráficos, un motor de diagramación, una máquina virtual de JavaScript y capas de adaptación (<em>porting</em>).</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Gonk">Gonk</a></dt>
- <dd>Gonk es el sistema operativo de bajo nivel de la plataforma Firefox OS que consiste un núcleo/kernel Linux (basado sobre el <a href="http://source.android.com/">Android Open Source Project</a> (AOSP)) y una capa de abstracción de hardware de espacio de usuario (HAL por su sigla en inglés). El kernel y varias de las librerías de espacio de usuario son proyectos comunes de código abierto: Linux, libusb, bluez, y sucesivos. Algunas de las otras partes de la HAL se comparten con la AOSP: GPS, cámara y otros. Se podría decir que Gonk es una distribución de Linux muy sencilla. <span style="line-height: 1.5;">Gonk es una capa de adaptación (port) de dispositivos: un adaptador entre el hardware y Gecko. Gonk es una distribución de Linux bastante sencilla que puede ser tratada como un adaptador Gecko empardado con capas de adaptación Gecko —entonces Gonk es un <strong>objetivo</strong> para adaptar <a href="https://developer.mozilla.org/en-US/docs/Gecko">Gecko</a> a Firefox OS así como también hay adaptadores de Gecko para OS X, Windows y Android.</span> Como el Proyecto Firefox OS goza de control total sobre Gonk, podemos exponer interfaces a Gecko que no podrían ser expuestas en otros sistemas operativos. Por ejemplo, Gecko posee a través de Gonk acceso directo al conjunto completo de telefonía y al buffer de pantalla pero no tiene este acceso en otros sistemas operativos.</dd>
- <dt><a name="Jank">Jank</a></dt>
- <dd>Este término, generalmente empleado en el área de las aplicaciones móviles, se refiere al efecto causado por código lento o ineficiente en una aplicación, que podría bloquear la actualización de la interfaz de usuario y provocar su lentitud o que no responda. Nuestros ingenieros de Gaia se valen de numerosas técnicas de optimización para evitar esto lo mejor posible.</dd>
-</dl>
-
-<h2 id="Diagrama_estructural">Diagrama estructural</h2>
-
-<p><img alt="Firefox OS Architecture" src="/files/4605/FirefoxOS.png" style="display: block; height: 915px; margin: 0px auto; width: 754px;"></p>
-
-<h2 id="Procedimiento_de_arranque_de_Firefox_OS">Procedimiento de arranque de Firefox OS</h2>
-
-<p>Esta sección describe el proceso por el que los dipositivos con Firefox OS arrancan (<em>butean</em>), cuáles partes están involucradas en el proceso y dónde. A modo de referencia rápida, el flujo del arranque general del sistema va desde los cargadores de arranque (<em>bootloaders</em>) en el espacio del núcleo/<em>kernel </em>al <em>init</em> en el código nati<em>vo</em>, a B2G y después a Geko en el espacio de usuario y después finalmente a la aplicación de sistema, gestor de ventanas y posteriormente a la pantalla de inicio de la aplicación en Gecko. Sobre ese conjunto se ejecutan todas las otras aplicaciones.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7491/bootup.png" style="display: block; height: 1979px; margin: 0px auto; width: 2112px;"></p>
-
-<h3 id="El_proceso_de_arranque_encadenado_(bootstrapping)">El proceso de arranque encadenado (<em>bootstrapping</em>)</h3>
-
-<p>Cuando un dispositivo con FirefoxOS se enciende, la ejecución se inicia en el cargador del arranque primario (<em>bootloader</em>). Desde allí, el proceso de la carga del SO principal procede normalmene; una sucesión de arranques de jerarquías crecientes inicia el siguiennte arranque en la cadena. Al final del proceso, se delega la ejecución al núcleo/kernel Linux.</p>
-
-<p>Hay algunos puntos destcables sobre el proceso de arranque:</p>
-
-<ul>
- <li>Los arrancadores generalmente muestran la primera pantalla de sistema que ve el usuario durante el inicio; generalmente es un logo del fabricante/vendedor.</li>
- <li>Los arrancadores cargan por <em>flash</em> una imagen [virtual] en el dispositivo. Diferentes dispositivos emplean difierentes protocolos; la mayoría de los teléfonos emplean el <em><a href="http://android-dls.com/wiki/index.php?title=Fastboot" title="http://android-dls.com/wiki/index.php?title=Fastboot">fastboot protocol</a></em> (protocolo de carga rápida), pero el Samsung Galaxy S II usa el protocolo Odin.</li>
- <li>Hacia el final del proceso de arranque encadenado, suele cargarse la imagen virtual del módem y se ejecuta en el procesador del módem. Cómo ocurre esto es específico de cada dispositivo y puede tambien serlo del fabricante.</li>
-</ul>
-
-<h3 id="El_kernel_Linux">El <em>kernel</em> Linux</h3>
-
-<p>El núcleo Linux empleado por Gonk es muy similar a la versión de Linux difundida (<em>upstreamed</em>) de la que deriva (basada sobre el <em><a href="http://source.android.com/" title="http://source.android.com/">Android Open Source Project</a></em>). Existen cambios hehos por el AOSP que todavía no han sido difundidos. Además, los fabricantes y vendedores a veces modifican el núcleo y cargan esos cambios a la versión de difusión de acuerdo con su intinerario. En términos generales, el núcleo Linux es muy parecido al original.</p>
-
-<p>El <a href="http://en.wikipedia.org/wiki/Linux_startup_process" title="http://en.wikipedia.org/wiki/Linux_startup_process">proceso de arranque de Linux</a> se encuentra bien documentado en la internet por lo tanto este artículo no lo cubrirá.</p>
-
-<p>El núcleo Linux activará dispositivos y ejecutará procesos esenciales definidos en <code>init.rc</code> y su sucesor <a href="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc"><code>init.b2g</code>.<code>rc</code></a> para arrancar procesos esenciales como <code>b2g</code> [procesos básicos de Firefox OS, contenedores de Gecko] y <code>rild</code> [un proceso relacionado con la telefonía que puede ser específico de cada chip] —vaya más abajo para ver más detalles. Al final del proceso, un proceso <code>init</code> de espacio de usuario (<em>userspace</em>) se lanza, como ocurre en la mayoría de los sistemas operativos del tipo UNIX.</p>
-
-<p>Una vez que el proceso <code>init</code> se ha lanzado, el núcleo Linux administra las llamadas del sistema desde el espacio de usuario, las interrupciones y semejantes desde los dispositivos de hardware. Algunas de las características de hardware se exponen al espacio de usuario a través de <a href="http://en.wikipedia.org/wiki/Sysfs" title="http://en.wikipedia.org/wiki/Sysfs"><code>sysfs</code></a>. Por ejemplo, aquí hay un <a href="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277" title="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277">fragmento de código</a> que lee el estado de la batería en Gecko:</p>
-
-<pre class="brush:cpp;">FILE *capacityFile = fopen("/sys/class/power_supply/battery/capacity", "r");
-double capacity = dom::battery::kDefaultLevel * 100;
-if (capacityFile) {
- fscanf(capacityFile, "%lf", &amp;capacity);
- fclose(capacityFile);
-}</pre>
-
-<h3 id="Más_sobre_el_proceso_init">Más sobre el proceso <code>init</code></h3>
-
-<p>El proceso <code>init</code> en Gonk gestiona el montaje de los archivos de sistema requeridos y activa los procesos de systema. Después de eso, se mantiene activo como gestor de procesos. Esto es muy similar al init en otros sistemas operativos similares a UNIX. Interpreta <em>scripts</em> [los archivos <code>init.rc</code>] que consisten de comandos que describen lo que debería ser hecho para iniciar servicios varios. El <code>init.rc</code> de FirefoxOS suele ser el <code>init.rc original </code>de Android para ese dispositivo, parchado para incluir los requisitos de arranque de FirefoxOS, y varía de dispositivo a dispositivo.</p>
-
-<p>Una de las tareas fundamentales que maneja el proceso <code>init</code> es el inicio del proceso <code>b2g</code>; éste es el núcleo del sistema operativo FirefoxOS.</p>
-
-<p>El código para tal <code>init.rc</code> es el siguiente:</p>
-
-<pre>service b2g /system/bin/b2g.sh
- class main
- onrestart restart media</pre>
-
-<div class="note">
-<p><strong>Nota:</strong> las variaciones de<code> init.rc </code>dependerán de dispositivo a dispositivo; a veces <code>init.b2g.rc</code> sólo es anexadoo, y a veces los parches son más significativos.</p>
-</div>
-
-<h2 id="Arquitectura_de_los_procesos_del_espacio_de_usuario_(userspace)">Arquitectura de los procesos del espacio de usuario (userspace)</h2>
-
-<p>Resulta muy útil echar un vistazo de alto nivel a cómo varios componentes del Firefox OS se articulan e interactúan entre sí. Este diagrama muestra los procesos primarios de espacio de usuario en Firefox OS.</p>
-
-<p><a href="/files/3849/B2G userspace architecture.svg"><img alt="Userspace diagram" src="/files/3849/B2G%20userspace%20architecture.svg" style="float: right; height: 491px; position: relative; width: 520px;"></a></p>
-
-<div class="note">
-<p><strong>Nota:</strong> recuerda que como Firefox OS se encuentra en desarrollo activo, este diagrama puede estar sujeto a cambios y puede ser impreciso parcialmente.</p>
-</div>
-
-<p>El proceso b2g es el proceso primario de sistema. Se ejecuta con privilegios altos; tiene acceso a la mayoría del hardware. b2g se comunica con el módem, almacena en el buffer de pantalla e interactúa con el GPS, cámaras y otros dispositivos. Internamemte, se ejecuta con una capa de Gecko<span style="line-height: 1.5;"> (implementada por </span><code style="font-style: normal; line-height: 1.5;">libxul.so</code><span style="line-height: 1.5;">). Ver <a href="#Gecko">Gecko</a> para más detalles sobre cómo funciona la capa Gecko y cómo b2g se comunica con ella.</span></p>
-
-<h3 id="b2g">b2g</h3>
-
-<p>El proceso <code>b2g</code> puede dar lugar a un número de procesos de contenido de privilegios limitados. Estos procesos albergan la carga de aplicaciones web y otros contenidos. Estos procesos se comunican con el proceso principal del servidor Gecko a través de <a href="/en-US/docs/IPDL" title="/en-US/docs/IPDL">IPDL</a>, un sistema de envio de mensajes.</p>
-
-<p>El proceso <code>b2g</code> ejecuta lixbul, el cual referencia a <code>b2g/app/b2g.js</code> para obtener las preferencias de fábrica. De las preferencias se abrirá el archivo HTML descriptor <code>b2g/chrome/content/shell.html</code>, que es compilado en un archivo <code>omni.ja.</code> El <code>shell.html</code> incluye el archivo <code>b2g/chrome/content/shell.js</code> , que dispara la aplicación <code>system</code> de Gaia.</p>
-
-<h3 id="rild">rild</h3>
-
-<p>El proceso <code>rild</code> es la interfaz del proceso del módem. <code>rild</code> es el daemon que implementa <strong>La capa de Interfaz de la Radio</strong> [<strong>Radio Interface Layer</strong> (RIL)]. Es un componente de codigo cerrado implementado por el fabricante/vendedor de hardware para comunicarse con el hardware del módem. <code>rild</code> hace posible que el código cliente se comunique con un empalme de dominio-UNIX al que se enlaza. Se inicia con un código como este en el <code>init</code> script:</p>
-
-<pre>service ril-daemon /system/bin/rild
- socket rild stream 660 root radio</pre>
-
-<h3 id="rilproxy">rilproxy</h3>
-
-<p>En Firefox OS, el cliente <code>rild</code> client es el proceso <code>rilproxy</code>. Este actúa como un proxy de reenvio mudo (dumb proxy) entre <code>rild</code> y <code>b2g</code>. Este proxy es necesario como un detalle de implementación; es de hecho necesario. El<code> </code><a href="https://github.com/mozilla-b2g/rilproxy" title="https://github.com/mozilla-b2g/rilproxy">código de rilproxy se encuentra en GitHub</a>.</p>
-
-<h3 id="mediaserver">mediaserver</h3>
-
-<p>El <a href="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice" title="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice">proceso<code> mediaserver</code></a> controla la reproducción de audio y video. Gecko se comunica con él a través de un mecanismo de Llamada de Procedimiento Remota de Android [Android Remote Procedure Call (RPC)]. Algunos de los contenidos multimedia que Gecko puede reproducir (OGG Vorbis audio, OGG Theora video, y <a href="http://www.webmproject.org/about/" title="http://www.webmproject.org/about/">WebM</a> video) son decodificados por Gecko y enviados directamente al proceso <code>mediaserver</code>. Otros archivos multimedia son decodificados por <code>libstagefright</code>, que puede acceder códecs del fabricante y codificadores del hardware.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> El proceso <code>mediaserver</code> es un componente "provisional" de Firefox OS; existe sólo para ayudar en el trabajo de desarrollo inicial pero se espera que se descarte con el tiempo; lo que seguramente no ocurrirá antes de la version 2.0 de Firefox OS.</p>
-</div>
-
-<h3 id="netd">netd</h3>
-
-<p>El proceso <code>netd</code> se usa para configurar interfaces de red.</p>
-
-<h3 id="wpa_supplicant">wpa_supplicant</h3>
-
-<p>El proceso <code>wpa_supplicant</code> process es el daemon estándar tipo UNIX que maneja la conectividad con los puntos de acceso WiFi.</p>
-
-<h3 id="dbus-daemon">dbus-daemon</h3>
-
-<p>El dbus-daemon implementa el <a href="http://www.freedesktop.org/wiki/Software/dbus" title="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>, un sistema de mensajes de bus que Firefox OS emplea para las comunicaciones por Bluetooth.</p>
-
-<h2 id="Gecko">Gecko</h2>
-
-<p><a href="/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>, como se lo mencionó previamente, es la implementación de estándares web (<a href="/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>, <a href="/en-US/docs/CSS" title="/en-US/docs/CSS">CSS</a>, y <a href="/en-US/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a>) que se usa para implementar todos lo que el usuario ve en Firefox OS, y controlar las interacciones con el hardware del telefono.</p>
-
-<p>Las aplicaciones Web conectan HTML5 con el hardware de forma controlada a traves de API's web seguras, implementadas en Gecko. Las API's Web proveen de acceso programado a las caracteristicas implicitas en el hardware del dispositivo (como la bateria, o la vibracion), a medida que los datos son guardados, o estan disponibles, en el dispositivo. El contenido web invoca a las API's web accesibles con HTML5.</p>
-
-<p>Una app consiste en una coleccion de codigos web HTML5 relacionados. Para construir aplicaciones web que funcionen en dispositivos Firefox OS, los desarrolladores simplemento ensamblan, empaquetan y distribuyen este contenido web. En tiempo de ejecucion, este contenido web es interpretado, compilado y renderizado en una navegador web. Para mas informacion sobre Apps, puedes consultar el <a href="https://developer.mozilla.org/en-US/Apps">App Center</a></p>
-
-<div class="note">
-<p><strong>Note</strong>: Para buscar en la base de código de Gecko, se puede usar <a href="http://dxr.mozilla.org">http://dxr.mozilla.org</a>. Es más elegante y ofrece buenas características de referemcias. pero con repositorios limitados. También podría usar el tradicional <a href="http://mxr.mozilla.org">http://mxr.mozilla.org</a>, que contiene más proyectos de Mozilla.</p>
-</div>
-
-<h3 id="Diagrama_de_arquitectura_de_Gecko">Diagrama de arquitectura de Gecko</h3>
-
-<h3 id="sect1"><img alt="" src="https://mdn.mozillademos.org/files/5027/securityframework.png" style="height: 591px; width: 979px;"></h3>
-
-<h3 id="sect2"> </h3>
-
-<ul>
- <li><strong>Framework de seguridad: </strong>formado por
-
- <ul>
- <li>Gestor de Permisos: Da acceso a las funcionalidades de la API Web</li>
- <li>Lista de Control de Acceso: Matriz de roles y permisos requeridos para acceder a las funcionalidades de la API Web.</li>
- <li>Validador de Credenciales: Autentificacion de apps y usuarios</li>
- <li>Conjunto de Permisos: Conjunto de privilegios requeridos para acceder a las funcionalidades de la API Web</li>
- </ul>
- </li>
- <li><strong>API Web: </strong>Conjunto de APIs estandar que exponen las funcionalidades del hardware al contenido web.<br>
- Proveen aplicaciones web con seguridad, acceso programado a las caracteristicas implicitas del hardware del dispositivo movil, mientran el dato este almacenado -o accesible- al dispositivo.</li>
- <li><strong>I/O: </strong>Interfaz al hardware y almacenamiento de datos.</li>
- <li><strong>Actualizaciones de Software: </strong>Obtienen e instalan las actualizaciones del software del sistema y aplicaciones de terceros.</li>
- <li><strong>Diseñador de contenidos y renderizado: </strong>Motor que analiza sintacticamente, interpreta y ejecuta el contenido web y. con la informacion de formato, muestra el contenido formateado al usuario</li>
- <li><strong>Proceso b2g: </strong>(Gecko) corre con alto nivel de privilegios los procesos del sistema que tienen acceso a las caracteristicas del telefono movil.<br>
- Las aplicaciones en ejecucion son procesos hijo de b2g.</li>
-</ul>
-
-<p> </p>
-
-<h3 id="Archivos_de_Gecko_relacionados_con_Firefox_OS">Archivos de Gecko relacionados con Firefox OS</h3>
-
-<h4 id="b2g_2">b2g/</h4>
-
-<p>La carpeta b2g contiene es su mayoría funciones relacionadas con Firefox OS.</p>
-
-<h5 id="b2gchromecontent">b2g/chrome/content</h5>
-
-<p>Contiene archivos de Javascript ejecutados sobre la aplicación de sistema.</p>
-
-<h5 id="b2gchromecontentshell.html">b2g/chrome/content/shell.html</h5>
-
-<p>El punto de entrada a Gaia — el HTML para la aplicación de sistema. <code>shell.html</code> toma de <code>settings.js</code> and <code>shell.js</code>:</p>
-
-<pre class="brush: html"> </pre>
-
-<p><code>settings.js</code> contiene parámetros de configuración básicos (default) de sistema.</p>
-
-<h5 id="b2gchromecontentshell.js">b2g/chrome/content/shell.js</h5>
-
-<p><code>shell.js</code> es el primer script que se carga en la aplicación de sistema de Gaia.</p>
-
-<p><code>shell.js</code> importa todos los módulos requeridos, registra los detectores de clave (key listeners), define <code>sendCustomEvent</code> y <code>sendChromeEvent</code> para que se cominiquen con Gaia, y provee ayudantes de instalación de aplicaciones web: indexedDB quota, RemoteDebugger, ayudante de teclado, y la herramienta para captura de pantalla.</p>
-
-<p>Pero la función más importante de <code>shell.js</code> es lanzar la aplicación de <code>sistema</code> de Gaia, después entregarle todo el trabajo general de administración del sistema.</p>
-
-<pre class="brush: js">let systemAppFrame =
- document.createElementNS('http://www.w3.org/1999/xhtml', 'html:iframe');
- ...
- container.appendChild(systemAppFrame);</pre>
-
-<h5 id="b2gappb2g.js">b2g/app/b2g.js</h5>
-
-<p>Este script contiene configuraciones predefinidas, como about:config en el navegador, y la misma que Gaia's pref.js. Estas configuraciones se pueden cambiar desde la aplicación de congifuraciones y se pueden sobreescribir con user.js en el script de construcción Gaia.</p>
-
-<h4 id="domAPI">dom/{API}</h4>
-
-<p>Nuevas implementaciones de la API (post-b2g) se localizarán en <code>dom/</code>. Las APIs anteiores se localizarán en <code>dom/base</code>, for example <code>Navigator.cpp</code>.</p>
-
-<h5 id="domapps">dom/apps</h5>
-
-<p><code>.jsm</code> se cargarán implementaciones de API — <code>.js</code> API tales como <code>webapp.js</code> install, <code>getSelf</code>, etc.</p>
-
-<h5 id="domappsPermissionsTable.jsm">dom/apps/PermissionsTable.jsm</h5>
-
-<p>Se definen todos los permisos en <a href="http://mxr.mozilla.org/mozilla-central/source/dom/apps/PermissionsTable.jsm">PermissionsTable.jsm</a></p>
-
-<h4 id="domwebidl">dom/webidl</h4>
-
-<p>WebIDL es el lenguaje empleado para definir web APIs. La información sobre los atributos soportados se encuentra en <a href="https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings">WebIDL_bindings</a>.</p>
-
-<h4 id="halgonk">hal/gonk</h4>
-
-<p>Este directorio contiene archivos sobre la capa de adaptación gonk..</p>
-
-<h4 id="Archivos_generados">Archivos generados</h4>
-
-<h5 id="modulelibprefsrcinitall.js">module/libpref/src/init/all.js</h5>
-
-<p>Contiene todos los archivos de configuración.</p>
-
-<h5 id="systemb2g_omni.ja_and_omni.js">/system/b2g/ omni.ja and omni.js</h5>
-
-<p>Contiene el paquete de estilos para los recursos en el dispositivo.</p>
-
-<h3 id="Proceso_de_eventos_de_ingreso">Proceso de eventos de ingreso</h3>
-
-<p>La mayor parte de las acciones en Gecko se activan por acciones de usuario. Estas acciones son representadas por eventos de emtrada (tales como presionar botones, tocar la pantalla y similar). Estos eventos entran a Gecko a través de <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">Gonk implementation</a> perteneciente a <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAppShell" title="">nsIAppShell</a></code>, que es una interfaz de Gecko empleada para representar los puntos de entrada primaria de una aplicación de Gecko, es decir, el controlador del dispositivo de ingreso llama métodos en el objeto <code>nsAppShell</code> que representa el subsistema de Gecko para así enviar eventos a la interfaz de usuario.</p>
-
-<p> </p>
-
-<p>Por ejemplo:</p>
-
-<p> </p>
-
-<pre class="brush:cpp;">void GeckoInputDispatcher::notifyKey(nsecs_t eventTime,
- int32_t deviceId,
- int32_t source,
- uint32_t policyFlags,
- int32_t action,
- int32_t flags,
- int32_t keyCode,
- int32_t scanCode,
- int32_t metaState,
- nsecs_t downTime) {
- UserInputData data;
- data.timeMs = nanosecsToMillisecs(eventTime);
- data.type = UserInputData::KEY_DATA;
- data.action = action;
- data.flags = flags;
- data.metaState = metaState;
- data.key.keyCode = keyCode;
- data.key.scanCode = scanCode;
- {
- MutexAutoLock lock(mQueueLock);
- mEventQueue.push(data);
- }
- gAppShell-&gt;NotifyNativeEvent();
-}</pre>
-
-<p>Estos eventos provienen del sistema estándar Linux <code>input_event</code>. Firefox OS emplea <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/InputReader.cpp" rel="custom">light abstraction layer</a> sobre eso; lo que provee algunas características útiles como filtrar los eventos. Se puede ver el código que crea eventos de ingreso en el método <code>EventHub::getEvents()</code> que se encuentra en <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/EventHub.cpp" rel="custom">widget/gonk/libui/EventHub.cpp</a>.</p>
-
-<p>Un vez que Gecko recivió los eventos, se envían a DOM por <code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">nsAppShell</a></code>:</p>
-
-<pre class="brush:cpp;">static nsEventStatus sendKeyEventWithMsg(uint32_t keyCode,
- uint32_t msg,
- uint64_t timeMs,
- uint32_t flags) {
- nsKeyEvent event(true, msg, NULL);
- event.keyCode = keyCode;
- event.location = nsIDOMKeyEvent::DOM_KEY_LOCATION_MOBILE;
- event.time = timeMs;
- event.flags |= flags;
- return nsWindow::DispatchInputEvent(event);
-}
-</pre>
-
-<p>Después de lo anterior, los eventos son consumidos por el propio Gecko o despachados a aplicaciones web como <a href="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events" title="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events">Eventos DOM</a> para ser procesados posteriormente.</p>
-
-<h3 id="Graficos">Graficos</h3>
-
-<p>En si nivel más inferior, Gecko emplea <a href="http://www.khronos.org/opengles/2_X/" title="http://www.khronos.org/opengles/2_X/">OpenGL ES 2.0</a> para establecer un contexto GL que envuelva los <em>buffers</em> del <em>hardware</em>. Esto es realizado en la implementación de Gonk en <code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsWindow.cpp" rel="custom">nsWindow</a></code> por medio de un código similar a este:</p>
-
-<pre class="brush:cpp;">gNativeWindow = new android::FramebufferNativeWindow();
-sGLContext = GLContextProvider::CreateForWindow(this);</pre>
-
-<p>La clase <code>FramebufferNativeWindow</code> es obtenida directamente desde Android; ver <a href="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp" title="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp"><code>FramebufferNativeWindow.cpp</code></a>. Este emplea la API de <strong>gralloc</strong> para acceder al controlador de gráficos con el fin de mapear los <em>buffers</em> del dispositivo <em>framebuffer</em> a la memoria del dispositivo.</p>
-
-<p>Gecko emplea su sistema (de) <a href="/en-US/docs/Gecko/Layers" title="/en-US/docs/Gecko/Layers">Layers</a> para componer contenido dibujado en la pantalla. En resumen, ocurre lo siguiente:</p>
-
-<ol>
- <li>Gecko dibuja regiones distintas de las páginas en los <em>buffers</em> de memoria, A veces, estos <em>buffers</em> están en la memoria del sistema; otras veces, son texturas mapeadas en el espacio de direcciones de Gecko, lo que siginifica que Gecko está dibujando directamente en la memoria de video. Esto se realiza generalmente en el método <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#83" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>BasicThebesLayer::PaintThebes()</code></a>.</li>
- <li>Entonces, Gecko, compone todas estas texturas en la pantalla empleando comandos OpenGL. Esta composición tiene lugar en <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ThebesLayerOGL.cpp#124" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>ThebesLayerOGL::RenderTo()</code></a>.</li>
-</ol>
-
-<p>Los detalles de cómo Gecko maneja el muestreo (<em>rendenring</em>) de contenido web se encuentra fuera del alcance de este documento.</p>
-
-<h3 id="Capa_de_Abstracción_de_Hardware_(HAL)">Capa de Abstracción de Hardware (HAL)</h3>
-
-<p><br>
- La capa de abstracción de hardware de Gecko es una de sus capas de adaptación (porting). Gestiona los accesos de bajo nivel a las interfaces del sistema a lo largo de múltiples plataformas usando una API de C++ accesible desde los niveles superiores de Gecko. Estas APIs son implementadas plataforma a plataforma dentro de la HAL de Gecko. Esta capa de abstracción de hardware no es expuesta directamente a código JavaScript dentro de Gecko.</p>
-
-<h4 id="Cómo_funciona_HAL">Cómo funciona HAL</h4>
-
-<p>Vamos a considerar la API <a href="/es/docs/Web/API/Window/navigator/vibrate" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>Vibration</code></a> como ejemplo. la HAL para esta API se define en <a href="https://dxr.mozilla.org/mozilla-central/source/hal/Hal.h" rel="custom">hal/Hal.h</a>. Resumiendo (simplificando el método de firma para hacerlo más claro), tienes esta función:</p>
-
-<pre>void Vibrate(const nsTArray &amp;pattern);</pre>
-
-<p>Esta es la función que el código de Gecko llama par activar la vibración del dispositivo de acuerdo con un patrón específico; una función correspondiente existe para cancelar la vibración activa. La implementación de GONK para este método está en <a href="https://dxr.mozilla.org/mozilla-central/source/hal/gonk/GonkHal.cpp" rel="custom">hal/gonk/GonkHal.cpp</a>:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray &amp;pattern) {
- EnsureVibratorThreadInitialized();
- sVibratorRunnable-&gt;Vibrate(pattern);
-}
-</pre>
-
-<p>Este código envía la petición para el inicio de la vibración a otro conjunto de procesos, que se implementa en <code>VibratorRunnable::Run()</code>. El bucle principal de este hilo seria parecido a esto:</p>
-
-<pre class="brush:cpp;">while (!mShuttingDown) {
- if (mIndex &lt; mPattern.Length()) {
- uint32_t duration = mPattern[mIndex];
- if (mIndex % 2 == 0) {
- vibrator_on(duration);
- }
- mIndex++;
- mMonitor.Wait(PR_MillisecondsToInterval(duration));
- }
- else {
- mMonitor.Wait();
- }
-}
-</pre>
-
-<p><code>vibrator_on()</code> es la API HAL de GONK que enciende el motor de vibración. Internamente, este método envía un mensaje al controlador de núcleo (kernel driver) al escribir un valor en un objeto de kernel empleando <code>sysfs</code>.</p>
-
-<h4 id="Implementaciones_de_la_Fallback_HAL_API">Implementaciones de la <em>Fallback HAL API</em></h4>
-
-<p><br>
- Las APIs HAL de Gecko tienen soporte en todas las plataformas. Cuando se construye Gecko para una plataforma que no expone una interfaz a los motores de vibración (como una computadora de escritorio) entonces se vale de una implemenación de <em>fallback</em> de la API de HAL. Para la vibración, este esta implementado en <a href="https://dxr.mozilla.org/mozilla-central/source/hal/fallback/FallbackVibration.cpp" rel="custom">hal/fallback/FallbackVibration.cpp</a>.</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray &amp;pattern) {
-}</pre>
-
-<h4 id="Implementaciones_de_Sandbox_(entorno_cerrado)">Implementaciones de <em>Sandbox</em> (entorno cerrado)</h4>
-
-<p>Debido a que la mayoría del contenido de la red se ejecuta en procesos de contenido con privilegios bajos, no podemos suponer que esos procesos tienen los privilegios necesarios para poder (por ejemplo) activar o desactivar el motor de vibración. Además, queremos tener una ubicación central para controlar las posibles condiciones de carrera (<em>race conditions</em>). En la HAL de Gecko, esto es realizado por medio de la implementación de una sandbox de la HAL. Esta sandbox simplemente funciona como un proxy para la peticiones realizadas por los procesos de contenido y las reenvía al proceso del "servidor Gecko". Las peticiones de proxy se envían empleando IPDL.</p>
-
-<p>Para la vibración, la función<code> Vibrate()</code> se encarga de la gestión y se la implementa en <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&amp; pattern, const WindowIdentifier &amp;id) {
- AutoInfallibleTArray p(pattern);
-
- WindowIdentifier newID(id);
- newID.AppendProcessID();
- Hal()-&gt;SendVibrate(p, newID.AsArray(), GetTabChildFrom(newID.GetWindow()));
-}</pre>
-
-<p>Esto envía un mensaje definido por la interfaz PHal, descrita por IPDL en <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/PHal.ipdl" rel="custom">hal/sandbox/PHal.ipdl</a>. El método se describe aproximadamente de la siguiente manera:</p>
-
-<pre>Vibrate(uint32_t[] pattern);</pre>
-
-<p>El receptor de este mensaje es la <code>HalParent::RecvVibrate()</code> method in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>, el cual seria algo parecido a esto:</p>
-
-<pre class="brush:cpp;">virtual bool RecvVibrate(const InfallibleTArray&amp; pattern,
- const InfallibleTArray &amp;id,
- PBrowserParent *browserParent) MOZ_OVERRIDE {
-
- hal::Vibrate(pattern, newID);
- return true;
-}</pre>
-
-<p>Este omite algunos detalles que no son relevantes a este punto pero, en cualquier caso, demuestra cómo el mensaje progresa desde un proceso de contenido a través de Gecko hasta Gonk, luego a la implementación de la HAL de Gonk <code>Vibrate()</code>, y finalmente al controlador de vibración.</p>
-
-<h3 id="APIs_DOM">APIs DOM</h3>
-
-<p><strong>Las interfaces DOM</strong> son, esencialmente, la forma en la que el contenido web se comunica con Gecko. Hay más información al respecto y, si estás interesado en detalles extras, puedes leer <a href="/en-US/docs/DOM/About_the_Document_Object_Model" title="/en-US/docs/DOM/About_the_Document_Object_Model">sobre el DOM</a>. Las interfaces DOM se definen empleando <a href="/en-US/docs/XPIDL" title="/en-US/docs/XPIDL">IDL</a>, que compone una interfaz de función foránea (foreign function interface, FFI) y un objeto modelo (OM) entre JavaScript y C++.</p>
-
-<p>La API de vibración se expone al contenido web por medio de una interfaz IDL, que se la provee en <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/interfaces/base/nsIDOMNavigator.idl" rel="custom">nsIDOMNavigator.idl</a>:</code></p>
-
-<pre>[implicit_jscontext] void mozVibrate(in jsval aPattern);</pre>
-
-<p>El argumento <a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/Jsval" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JSVAL_IS_OBJECT"><code>jsval</code></a> indica que <code>mozVibrate()</code> (que es nuestra implementación vendedor-prefijada de esta especificación no finalazida de vibración) acepta como ingreso cualquier valor de JavaScript. El compilador IDL, <a href="/en-US/docs/XPIDL/xpidl" title="/en-US/docs/XPIDL/xpidl"><code>xpidl</code></a>, genera una interfaz C++ que entonces se implementa por la clase <code>Navigator</code> en <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/base/Navigator.cpp" rel="custom">Navigator.cpp</a></code>.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Navigator::MozVibrate(const jsval&amp; aPattern, JSContext* cx) {
- // ...
- hal::Vibrate(pattern);
- return NS_OK;
-}</pre>
-
-<p>Hay mucho más código en este método de lo que ves aquí, pero no es importante para el proposito que estamos tratando. El hecho es que la llamada a <code>hal::Vibrate()</code> transfiere el control de DOM a la HAL Gecko. Desde allí, entramos a la implementación de HAL tratada en la sección previa y continuamos hacia el controlador. Además, la implementación DOM no se preocupa por la plataforma en la que está corriendo (Gonk, Windows, OS X, o cualquier otra). Tampoco le interesa si el código está corriendo en un proceso de contenido o en un proceso del servidor Gecko. Esos detalles se dejan de lado para que los gestionen los procesos de nivel bajo del sistema.</p>
-
-<p>La API de vibración es muy simple, lo que la convierte un ejemplo excelente. La<a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS"> API de SMS</a> es más compleja porque emplea su propia capa de envío remoto que conecta los procesos de contenido con el servidor.</p>
-
-<h2 id="Capa_de_Interfaz_de_Radio_(CIRRIL)">Capa de Interfaz de Radio (CIR/RIL)</h2>
-
-<p>La RIL (Radio Interface Lyer) ya se mencionó en la sección <a href="#The_userspace_process_architecture">The userspace process architecture</a>. Esta sección examinará con más detalle cómo las diferentes partes de esta capa interactúan.</p>
-
-<p>Los componentes principales involucrados en la RIL son los siguientes:</p>
-
-<dl>
- <dt><code>rild</code></dt>
- <dd>El daemon que habla al firmware del módem de fábrica.</dd>
- <dt><code>rilproxy</code></dt>
- <dd>El daemon que referencia mensajes (proxy) entre <code>rild</code> y Gecko (que está implementado en el proceso <code>b2g</code>). Esto soluciona el problema de permisos que surje cuando se trata de comunicar con<code> rild</code> directamente ya que sólo se puede comunicar con <code>rild desde el grupo </code><code>radio</code>.</dd>
- <dt><code>b2g</code></dt>
- <dd>Este proceso, también conocido como el <em><strong>proceso chrome</strong></em>, implementa Gecko. Las partes de el que se relacionan con la Capa de Interfaz de Radio son <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, las cuales implementan una cadena de procesos de trabajo (<em>worker thread</em>) que se comunica con <code>rild</code> a través de <code>rilproxy</code> es implementa el estadio radial (<em>radio state machine</em>) y la interfaz <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code>, que es el servicio <a href="/en-US/docs/XPCOM" title="/en-US/docs/XPCOM">XPCOM</a> de la cadena de procesos principal, que actúa principalmente como un intercambio de mensajes entre la cadena <code>ril_worker.js</code> y otros numerosos componentes de Gecko, incluidos el proceso de contenido de Gecko.</dd>
- <dt>Proceso de contenido de Gecko (<em>Gecko's content process</em>)</dt>
- <dd>Dentro del proceso de contenido de Gecko, la interfaz <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> provee un servicio XPCOM que permite a algunas partes de código implementado de DOM, tales como las APIs<a href="/en-US/docs/API/WebTelephony" title="/en-US/docs/API/WebTelephony"> Telephony</a> y <a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS</a>, comunicarse con la interfaz de radio, la cual es un proceso chrome.</dd>
-</dl>
-
-<h3 id="Ejemplo_comunicación_desde_rild_a_DOM">Ejemplo: comunicación desde rild a DOM</h3>
-
-<p>Echemos una mirada al ejemplo de cómo las partes del nivel inferior del sistema se comunican con código DOM. Cuando el módem recibe una llamada entrante, la notifica a <code>rild</code> empleando un mecanismo de fábrica. entonces<code> rild</code> prepara un mensaje para su cliente de acuerdo con el protocolo "open", que se describe en <a href="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h" title="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h"><code>ril.h</code></a>. En el caso de una llamada entrante, se genera un mensaje <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> y lo envía <code>rild</code> a <code>rilproxy</code>.</p>
-
-<p><code>rilproxy</code>, implementada en <a href="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c" title="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c"><code>rilproxy.c</code></a>, recibe este mensaje en bucle principal, que envía (<em>poll</em>) la conexión a<code> rild</code> utilizando código como éste:</p>
-
-<pre class="brush:cpp;">ret = read(rilproxy_rw, data, 1024);
-
-if(ret &gt; 0) {
- writeToSocket(rild_rw, data, ret);
-}</pre>
-
-<p>Una vez que el mensaje es recibido por <code>rild</code>, se lo reenvía a Gecko en el empalme que conecta <code>rilproxy</code> con Gecko. Gecko recibe el mensaje enviado en su <a href="https://dxr.mozilla.org/mozilla-central/source/ipc/ril/Ril.cpp" rel="custom">IPC thread</a>:</p>
-
-<pre class="brush:cpp;">int ret = read(fd, mIncoming-&gt;Data, 1024);
-// ... handle errors ...
-mIncoming-&gt;mSize = ret;
-sConsumer-&gt;MessageReceived(mIncoming.forget());
-</pre>
-
-<p>El consumidor de estos mensajes es <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/SystemWorkerManager.cpp" rel="custom">SystemWorkerManager</a>, que reempaqueta los mensajer y los envía a la cadena <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">ril_worker.js</a></code> que implementa la máquina de estado RIL; que se realia en the <code>RILReceiver::MessageReceived()</code> method:</p>
-
-<pre class="brush:cpp;">virtual void MessageReceived(RilRawData *aMessage) {
- nsRefPtr dre(new DispatchRILEvent(aMessage));
- mDispatcher-&gt;PostTask(dre);
-}</pre>
-
-<p>La tarea postada en esa cadena a su vez llama la función <code>onRILMessage()</code>, que se implemente en JavaScript. Esto se realiza empleando la función <code><a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName">JS_CallFunctionName</a>()</code> de la API de JavaScript:</p>
-
-<pre>return JS_CallFunctionName(aCx, obj, "onRILMessage", NS_ARRAY_LENGTH(argv),
- argv, argv);</pre>
-
-<p><code>onRILMessage()</code> está implementada en <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, que procesa los bytes del mensaje y los corta en fragmentos. Cada fragmento completo se envía a métodos de gestión (<em>handler</em>) individuales apropiadamente:</p>
-
-<pre class="brush:js;">handleParcel: function handleParcel(request_type, length) {
- let method = this[request_type];
- if (typeof method == "function") {
- if (DEBUG) debug("Handling parcel as " + method.name);
- method.call(this, length);
- }
-}
-</pre>
-
-<p>Este código trabaja por medio del tipo de petición (<em>request</em>) del objeto, asegurándose de que sea definido como una función en código de JavaScript, para después llamar al método. Ya que ril_worker.js implementa cada tipo de petición (<em>request type</em>) en un método con el mismo nombre que el tipo de petición, es muy sencillo.</p>
-
-<p>En nuestro ejemplo <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code>, se llama al siguiente <em>handler</em>:</p>
-
-<pre class="brush:js;">RIL[UNSOLICITED_RESPONSE_CALL_STATE_CHANGED] = function UNSOLICITED_RESPONSE_CALL_STATE_CHANGED() {
- this.getCurrentCalls();
-};</pre>
-
-<p>Como puedes ver en el código de más arriba, cuando se recibe la notificación que el estado de la llamada ha cambiado, la máquina de estado (<em>state machine</em>) simplemente trae para sí el estado actual de la llamafa invocando el método <code>getCurrentCall()</code>:</p>
-
-<pre class="brush:js;">getCurrentCalls: function getCurrentCalls() {
- Buf.simpleRequest(REQUEST_GET_CURRENT_CALLS);
-}</pre>
-
-<p>Esto envía una petición de vuelta a <code>rild</code> para solicitar el estado de todas las llamadas actuales. La petición regresa por un camino similar al que siguió el mensaje <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message pero en la dirección opuesta (es decir, desde <code>ril_worker.js</code> a <code>SystemWorkerManager</code> a <code>Ril.cpp</code>, después a <code>rilproxy</code> y finalmente al <code>rild</code> socket). <code>rild</code> responde por el camino inverso y la respuesta llega al handler de <code>ril_worker.js</code>'s handler para el mensaje <code>REQUEST_GET_CURRENT_CALLS</code>. Así es como se da lugar la comunicación bidireccional.</p>
-
-<p>El estado de la llamda se procesay compara con el estado previo; si hay un cambio de estado, ril_worker.js notifica al servicio <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> de la cadena principal:</p>
-
-<pre class="brush:js;">_handleChangedCallState: function _handleChangedCallState(changedCall) {
- let message = {type: "callStateChange",
- call: changedCall};
- this.sendDOMMessage(message);
-}</pre>
-
-<p>Se implementa <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> en <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/RadioInterfaceLayer.js" rel="custom">dom/system/gonk/RadioInterfaceLayer.js</a>; se recibe el mensaje por su método<code> onmessage()</code>:</p>
-
-<pre class="brush:js;"> onmessage: function onmessage(event) {
- let message = event.data;
- debug("Received message from worker: " + JSON.stringify(message));
- switch (message.type) {
- case "callStateChange":
- // This one will handle its own notifications.
- this.handleCallStateChange(message.call);
- break;
- ...
-</pre>
-
-<p>Lo que todo esto realmente hace es enviar el mensaje al proceso de contenidos empleando el Administrador de Mensajes de Procesos Principales [<em>Parent Process Message Manager</em> (PPMM)]:</p>
-
-<pre class="brush:js;">handleCallStateChange: function handleCallStateChange(call) {
- [some internal state updating]
- ppmm.sendAsyncMessage("RIL:CallStateChanged", call);
-}</pre>
-
-<p>En el proceso de contenidos, el mensaje es recibido por el método <code>receiveMessage()</code> en el servicio <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code>, del Administrador de Mensajes de Procesos Secundarios [<em>Child Process Message Manager</em> (CPMM)]:</p>
-
-<pre class="brush:js;">receiveMessage: function receiveMessage(msg) {
- let request;
- debug("Received message '" + msg.name + "': " + JSON.stringify(msg.json));
- switch (msg.name) {
- case "RIL:CallStateChanged":
- this._deliverTelephonyCallback("callStateChanged",
- [msg.json.callIndex, msg.json.state,
- msg.json.number, msg.json.isActive]);
- break;</pre>
-
-<p>Esto, a su vez, llama a los métodos <code><a href="https://developer.mozilla.org/es/docs/XPCOM_Interface_Reference/nsIRILTelephonyCallback#callStateChanged()">nsIRILTelephonyCallback.callStateChanged()</a></code> de cada uno de los objetos registrados de las respuesta de telefonía (<em>registered telephony callback object</em>). Cada aplicación web que accede la API <a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a> API ha registrado uno de ese tipo de objeto que envía los eventos al código JavaScript code en la aplicación web, así sea como un cambio de estado de un objeto de llamada existente o un nuevo evento de llamada <code>incoming</code>.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Telephony::CallStateChanged(PRUint32 aCallIndex, PRUint16 aCallState,
- const nsAString&amp; aNumber, bool aIsActive) {
- [...]
-
- if (modifiedCall) {
- // Change state.
- modifiedCall-&gt;ChangeState(aCallState);
-
- // See if this should replace our current active call.
- if (aIsActive) {
- mActiveCall = modifiedCall;
- }
-
- return NS_OK;
- }
-
- nsRefPtr call =
- TelephonyCall::Create(this, aNumber, aCallState, aCallIndex);
- nsRefPtr event = CallEvent::Create(call);
- nsresult rv = event-&gt;Dispatch(ToIDOMEventTarget(), NS_LITERAL_STRING("incoming"));
- NS_ENSURE_SUCCESS(rv, rv);
- return NS_OK;
-}</pre>
-
-<p>Las aplicaciones pueden recibir estos eventos y actualizar su interfaz de usuario:</p>
-
-<pre class="brush:js;">handleEvent: function fm_handleEvent(evt) {
- switch (evt.call.state) {
- case 'connected':
- this.connected();
- break;
- case 'disconnected':
- this.disconnected();
- break;
- default:
- break;
- }
-}</pre>
-
-<p>Echa una mirada a la implementación de <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js" title="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js"><code>handleEvent()</code> in the Dialer application</a> como un ejemplo más.</p>
-
-<h3 id="Datos_3G">Datos 3G</h3>
-
-<p>Hay un mensaje RIL que inicia una "petición de datos" al servicio móvil; este activa el modo de transferencia de datos en el modem. Esta petición de datos termina creando y activando una interfaz <a href="https://es.wikipedia.org/wiki/Point-to-Point Protocol" title="Point-to-Point Protocol">Point-to-Point Protocol</a> (PPP) en el kernel Linux que pueden ser configuradas usando las interfaces comunes.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Esta sección necesita ser redactada</p>
-</div>
-
-<h3 id="APIs_relacionadas_con_DOM">APIs relacionadas con DOM</h3>
-
-<p>Esta sección lista las APIs de DOM que estan relacionadas con comunicaciones RIL.</p>
-
-<ul>
- <li><a href="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony" title="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony">Telephony API</a></li>
- <li><a href="/en-US/docs/API/WebSMS/Introduction_to_WebSMS" title="/en-US/docs/API/WebSMS/Introduction_to_WebSMS">SMS API</a></li>
- <li>Mobile Connection API</li>
-</ul>
-
-<h2 id="WiFi">WiFi</h2>
-
-<p>El backend de WiFi para Firefox OS simplemente usa wpa_supplicant para hacer la mayor parte del trabajo.<br>
- Esto significa que el principal trabajo del backend es simplemente gestionar el <em>supplicant</em>, y hacer algunas tareas auxiliares como cargar el driver del WiFI y activar o desactivar la interfaz de red.<br>
- En resumen, esto significa que el backend es una maquina de estados, con los estados que indican el estado del <em>supplicant.</em></p>
-
-<div class="note">
-<p><strong>Note:</strong> Muchas cosas interesantes que suceden en WiFi dependen profundamente de posibles cambios de estado en el proceso <code>wpa_supplicant</code>.</p>
-</div>
-
-<p>La implementación del componente WiFi esta dividida en dos archivos.</p>
-
-<dl>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/DOMWifiManager.js" rel="custom">dom/wifi/DOMWifiManager.js</a></dt>
- <dd>Implementa lo que la API muestra al contenido web, tal como esta definido en <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWifi.idl" title="">nsIWifi.idl</a></code>.</dd>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/WifiWorker.js" rel="custom">dom/wifi/WifiWorker.js</a></dt>
- <dd>Implementa la máquina de estados y el código que controla el <em>supplicant.</em></dd>
-</dl>
-
-<p>Estos dos archivos se comunican con otro usando el <a href="https://developer.mozilla.org/en-US/docs/The_message_manager">gestor de mensajes.</a><br>
- El backend escucha los mensajes que requieran una determinada acción, como "asociar" y responde con una mensaje cuando la acción requerida ha sido completada.</p>
-
-<p>El lado del DOM escucha los métodos de respuesta, asi como muchos mensajes de eventos que indican cambios de estado y actualización de información.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Algunas API's síncronas de DOM son implementadas leyendo datos en el otro extremo de la tubería. Los mensajes síncronos son evitados siempre que es posible</p>
-</div>
-
-<h3 id="WifiWorker.js">WifiWorker.js</h3>
-
-<p>Este archivo implementa la logica principal detras de la interfaz WiFi. Se ejecuta en el proceso chrome (en construcciones multiproceso) y es instanciado por el SystemWorkerManager. El fichero es generalmente dividido en dos secciones: una gigantesca funcion anonima y WifiWorker (y su prototipo). La funcion anonima termina siendo el WifiManager proveyendo una API local, incluyendo notificaciones para eventos como una conexion al supplicant y escaneando los resultados cuando estan disponibles. En general. este contiene la logica simple y manda a su control exclusivo de consumidor sus acciones mientras estas simplemente responden a la informacion requerida y controla los detalles de la conexion con el supplicant.</p>
-
-<p>El objeto WifiWorker se situa entre el WifiManager y el DOM. Este reacciona a eventos y los sigue al DOM; a su vez, este recibe las peticiones del DOM y realiza las acciones apropiadas en el supplicant. Este tambien mantiene informacion sobre el supplicant y lo siguiente que necesita hacer.</p>
-
-<h3 id="DOMWifiManager.js">DOMWifiManager.js</h3>
-
-<p>Este implementa la API de DOM, transmitiendo mensajes hacia atras y llamadas de regreso y el actual WiFi worker. Hay muy poca logica envuelta aqui.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Para poder permitir mensajes sincronos al proceso chrome, el WiFi Manager necesita cachear el estado basado en el envio recibido.</p>
-</div>
-
-<p>Hay un solo mensaje sincrono, el cual es enviado en cuanto la API DOM se instancia, para poder obtener el estado actual del supplicant.</p>
-
-<h3 id="DHCP">DHCP</h3>
-
-<p>DHCP y DND van de la mano con dhcpcd, el cliente DHCP estandar en Linux.<br>
- Sin embargo, este no permite reaccionar cuando la conexion de red se pierde.<br>
- Por eso, Firefox OS mata y reinicia dhcpcd cada vez que se conecta a una red inalambrica dada.</p>
-
-<p><code>dhcpcd</code> es tambien responsable de ajustar la ruta por defecto; nosotros llamamos al gestor de redes para informar al kernel sobre los servidores DNS.</p>
-
-<h2 id="Gestor_de_Redes">Gestor de Redes</h2>
-
-<p>El Gestor de Redes configura las interfaces de red abiertas por los datos 3G y los componentes WiFi</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Esto necesita ser redactado.</p>
-</div>
-
-<h2 id="Procesos_e_hilos">Procesos e hilos</h2>
-
-<p>Firefox OS usa los hilos de POSIX para implementar todos los hilos de las aplicaciones - esto incluye los hilos principales de cada aplicación asi como los trabajadores web y los hilos de ayuda. Los grupos de control son usados para priorizar procesos e hilos de ejecución que dependen del planificador completamente justo del kernel Linux. Dependiendo del estado del proceso le asignaremos un grupo de control distinto. Actualmente tenemos 6 niveles de prioridad correspondientes a 5 grupos de control</p>
-
-<table class="standard-table">
- <caption>Process priority levels</caption>
- <thead>
- <tr>
- <th scope="col">Priority</th>
- <th scope="col">Nice</th>
- <th scope="col">Used for</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>MASTER</code></td>
- <td>0</td>
- <td>proceso principal de b2g</td>
- </tr>
- <tr>
- <td><code>FOREGROUND_HIGH</code></td>
- <td>0</td>
- <td>aplicaciones criticas que sostienen la cpu y el wakelock de alta prioridad.<br>
- Este es actualmente reservado para el reloj y las aplicaciones de comunicacion</td>
- </tr>
- <tr>
- </tr>
- <tr>
- <td><code>FOREGROUND</code></td>
- <td>1</td>
- <td>aplicaciones en primer plano</td>
- </tr>
- <tr>
- <td><code>FOREGROUND_KEYBOARD</code></td>
- <td>1</td>
- <td>aplicacion de teclado</td>
- </tr>
- <tr>
- <td><code>BACKGROUND_PERCEIVABLE</code></td>
- <td>7</td>
- <td>aplicaciones en segundo plano que ejecuten audio o sostengan la CPU o el wakelock de alta prioridad y tengan al menos un controlador de mensajes de sistema registrado</td>
- </tr>
- <tr>
- <td><code>BACKGROUND_HOMESCREEN</code></td>
- <td>18</td>
- <td>aplicacion de pantalla principal</td>
- </tr>
- <tr>
- <td><code>BACKGROUND</code></td>
- <td>18</td>
- <td>resto de aplicaciones que se ejecuten en segundo plano</td>
- </tr>
- <tr>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<p>Algunos niveles comparten el mismo grupo de control, esto es asi porque dichos niveles actualmente difieren en la manera que son tratados por el liberador de memoria. Todas las prioridades pueden ser ajustadas en tiempo de ejecucion mediante preferencias; las entradas relativas a esto se pueden encontrar en el <a href="http://hg.mozilla.org/mozilla-central/file/54e8c6492dc4/b2g/app/b2g.js#l610"><code>b2g/app/b2g.js</code></a> file.</p>
-
-<p>Actualmente se usan los siguientes grupos de control:</p>
-
-<table class="standard-table">
- <caption>Grupos de Control</caption>
- <tbody>
- <tr>
- <td><strong>Ruta</strong></td>
- <td><strong>Ocupación de la CPU</strong></td>
- <td><strong>Descripción</strong></td>
- </tr>
- <tr>
- <td> </td>
- <td>50% del tiempo total de CPU</td>
- <td>Grupo de control de Root reservado para el proceso principal de b2g y los servicios del sistema</td>
- </tr>
- <tr>
- <td>apps</td>
- <td>50% del tiempo total de CPU</td>
- <td>Aplicaciones comunes</td>
- </tr>
- <tr>
- <td>apps/critical</td>
- <td>95% de las apps</td>
- <td>Aplicaciones criticas</td>
- </tr>
- <tr>
- <td><code>apps/bg_perceivable</code></td>
- <td>10% de las apps</td>
- <td>Aplicaciones perceptibles en segundo plano</td>
- </tr>
- <tr>
- <td><code>apps/bg_non_interactive</code></td>
- <td>5% de las apps</td>
- <td>Aplicaciones en segundo plano</td>
- </tr>
- </tbody>
-</table>
-
-<div class="note">
-<p><strong>Nota: </strong>para mas informacion sobre el liberador de memoria, y como Firefox OS gestiona las situaciones de memoria baja, lease <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Out_of_memory_management_on_Firefox_OS">Out of memory management on Firefox OS</a></p>
-</div>
-
-<p>Sin un proceso, el hilo principal hereda el "valor seguro" del proceso, mientras que los procesos web en curso toman un "valor seguro" que es un punto mas alto que el hilo principal, que corre la prioridad mas baja.<br>
- Esto esta hecho para prevenir que los ciclos intensivos en curso de la CPU ralenticen excesivamente el hilo principal. Todos los hilos de una aplicación son actualmente asignados al mismo grupo de control. Las prioridades de los procesos son cambiadas cuando un evento importante sucede, como cuando una aplicación cambia de segundo plano al primer plano, o una nueva aplicación inicia, o una aplicación acapara la CPU.</p>
-
-<div class="note">
-<p><strong>Nota: </strong>los cgroups soportados en dispositivos ICS estan actualmente rotos debido a un bug del kernel.</p>
-</div>
-
-<p> </p>
diff --git a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/dispositivos_compatibles/index.html b/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/dispositivos_compatibles/index.html
deleted file mode 100644
index 009e1c5ab5..0000000000
--- a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/dispositivos_compatibles/index.html
+++ /dev/null
@@ -1,360 +0,0 @@
----
-title: Dispositivos compatibles
-slug: Archive/B2G_OS/Building_and_installing_Boot_to_Gecko/Dispositivos_compatibles
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
----
-<div class="note">
-<p>Instalar B2G OS en tu dispositivo es fácil con el <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">instalador de B2G</a> (Add-on de Firefox)</p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: Todos los dispositivos tienen debajo de su nombre (ver el nombre). Por ejemplo para construir la imagen para Nexus 6 haz ./build.sh nexus-6-1. Los nombres en código de los dispositivos es proporcionado por los fabricantes. Puedes encontrar el archivo build.prop en una ROM stock.</p>
-</div>
-
-<h2 id="Dispositivos_de_Desarrollo">Dispositivos de Desarrollo</h2>
-
-<p>Estos dispositivos son de referencia oficial para el desarrollo de B2G</p>
-
-<table class="standard-table" style="height: 380px; width: 680px;">
- <tbody>
- <tr>
- <td style="text-align: center;"><strong>Imagen</strong></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/13384/Z3C_B2G.png" style="height: 154px; width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre<br>
- (Versión android)</strong></td>
- <td style="text-align: center;"><strong>Z3 Compact (Kitkat)</strong><br>
- Sony Shinano platform</td>
- <td style="text-align: center;"><strong>Z3</strong> <strong>(Kitkat)</strong><br>
- Sony Shinano platform</td>
- <td style="text-align: center;"><strong>Flame (Kitkat)</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre en código</strong></td>
- <td style="text-align: center;">aries-kk</td>
- <td style="text-align: center;">leo-kk</td>
- <td style="text-align: center;">flame-kk</td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Información de construcción e instalación</strong></td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082</a></td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">https://discourse.mozilla-community.org/t/flame-builds/8548</a></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Disponible en B2G Installer</strong></td>
- <td style="text-align: center;">Sí</td>
- <td style="text-align: center;">No</td>
- <td style="text-align: center;">Sí</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Dispositivos_Soportados_por_la_Comunidad">Dispositivos Soportados por la Comunidad</h2>
-
-<p>Estos dispositivos son mantenidos por los esfurzos de la comunidad. ¡Siéntete libre de ayudar!</p>
-
-<div class="note">
-<p><span style="font-size: 14px;"><strong>La frecuencia de la distribución de las builds depende del número de voluntarios y del tiempo disponible.</strong></span></p>
-</div>
-
-<h3 id="Dispositivos_disponibles">Dispositivos disponibles</h3>
-
-<p>Estos dispositivos tienen builds disponible para ejecutar B2G:</p>
-
-<table class="standard-table" style="height: 380px; width: 355px;">
- <tbody>
- <tr>
- <td style="text-align: center;"><strong>ImageN</strong></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12035/nexus5.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/13665/WileyFoxSwift_B2G.png" style="height: 157px; width: 79px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre<br>
- (Versión de Android)</strong></td>
- <td style="text-align: center;"><strong>ZTE Open C</strong></td>
- <td style="text-align: center;"><strong>Nexus 5</strong></td>
- <td style="text-align: center;"><strong>WileyFox Swift</strong></td>
- <td style="text-align: center;"><strong>Fairphone 2</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre en código</strong></td>
- <td style="text-align: center;">openc-fr / openc-ebay</td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;">                       </td>
- <td style="text-align: center;"> </td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Información de construcción e instalación</strong></td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402/">https://discourse.mozilla-community.org/t/zte-open-c/8402/</a></td>
- <td style="text-align: center;">
- <p><a href="https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1">https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1</a></p>
- </td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;">
- <p><a href="https://discourse.mozilla-community.org/t/fairphone-2-build/8641/">https://discourse.mozilla-community.org/t/fairphone-2-build/8641/</a><br>
- <a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334</a></p>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Disponible en B2G Installer</strong></td>
- <td style="text-align: center;">
- <p>No</p>
-
- <p>(but a buildbot is available)</p>
- </td>
- <td style="text-align: center;">Sí</td>
- <td style="text-align: center;">Sí</td>
- <td style="text-align: center;">
- <p>Dentro de poco.</p>
-
- <p>Blobfull build working.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="En_progeso">En progeso</h3>
-
-<p>Trabajando en soporte para estos dispositivos.</p>
-
-<table class="standard-table" style="height: 380px; width: 680px;">
- <tbody>
- <tr>
- <td style="text-align: center;"><strong>Imagen</strong></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12025/flamingo.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12017/amami.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"> </td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre<br>
- (Versión de Android)</strong></td>
- <td style="text-align: center;"><strong>E3</strong><br>
- Sony Yukon platform</td>
- <td style="text-align: center;"><strong>Z1 Compact (Lollipop)</strong><br>
- Sony Rhine platform</td>
- <td style="text-align: center;"><strong>Xiaomi Redmi 1S</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nombre en código</strong></td>
- <td style="text-align: center;">flamingo-l</td>
- <td style="text-align: center;">amami-l</td>
- <td style="text-align: center;">armani</td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Información de construcción e instalación</strong></td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361</a></td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348</a></td>
- <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273">https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273</a></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Estado de soporte</strong></td>
- <td style="text-align: center;">Bloqueado, hay problemas con las herramientas de flasheo.</td>
- <td style="text-align: center;">Versiones previas de pruebas.</td>
- <td style="text-align: center;">Versiones previas de pruebas</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Dispositivos_con_posibilidad_de_portar_el_SO">Dispositivos con posibilidad de portar el SO</h2>
-
-<p>Esto es una lista de dispositivos con potencial para portar B2G, gracias a las versiones de AOSP y Cyanogen Mod disponibles, o porque soportaban versiones anteriores de Firefox OS hasta la versión 2.6</p>
-
-<div class="note">
-<p><strong>Nota:</strong> No hay ports para estos dispositivos, pero es posible construir B2G. Mira <a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">la sección de cómo construir</a> para más información. Eres bienvenido para ayudar al mantenimiento de estas builds.</p>
-</div>
-
-<h3 id="Dispositivos_Nexus">Dispositivos Nexus</h3>
-
-<p>Estos dispositivos son (en parte) soportados por B2G porque son dispositivos de referencia de Google para AOSP</p>
-
-<table class="standard-table" style="height: 282px; line-height: 1.5; width: 451px;">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12037/nexus6.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12033/nexus4.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Nexus 6</strong></td>
- <td style="text-align: center;"><strong>Nexus 4</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;"> </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Dispositivos_de_Sony">Dispositivos de Sony</h3>
-
-<p>Estos dispositivos pertenecen a la iniciativa <em>Sony Mobile´s Open Devices</em>, que tiene como objetivo el soporte de los móviles Xperia en AOSP</p>
-
-<p>Estos dispositivos están construidos en base a AOSP Lollipop.</p>
-
-<div class="note">
-<p>Ahora mismo la mayoría de los dispositivos Sony no tienen soporte para cámara. Esto depende del avance del trabajo de los desarrolladores de Sony. Además, nosotros contribuimos con el mantenimiento de estos ports.</p>
-</div>
-
-<p>Los dispositivos que está en curso el soporte para B2G no están listados aquí.</p>
-
-<h4 id="Sony_Shinano_Platform">Sony Shinano Platform</h4>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12007/leo.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12011/scorpion.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12013/sirius.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Z3</strong></td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;"><strong>Z3 Tablet Compact</strong></td>
- <td style="text-align: center;"><strong>Z2</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">leo-l</td>
- <td style="text-align: center;"> </td>
- <td style="text-align: center;">scorpion-l</td>
- <td style="text-align: center;">sirius-l</td>
- </tr>
- </tbody>
-</table>
-
-<dl>
-</dl>
-
-<h4 id="Sony_Rhine_Platform">Sony Rhine Platform</h4>
-
-<div class="note">
-<p>Los dispositivos Rhine utilizan un chip NFC Legacy, así que esta función no está disponible. Mira el <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1226720">bug 1226720</a>. Necesitamos contribuidores para el mantenimiento de estos ports.</p>
-</div>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12015/honami.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Z1</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">honami-l</td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="Sony_Yukon_Platform">Sony Yukon Platform</h4>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12019/tianchi.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12021/seagull.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12023/eagle.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>T2 Ultra</strong></td>
- <td style="text-align: center;"><strong>T3</strong></td>
- <td style="text-align: center;"><strong>M2</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">tianchi-l</td>
- <td style="text-align: center;">seagull-l</td>
- <td style="text-align: center;">eagle-l</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Dispositivos_Soportados_CyanogenMod"><strong>Dispositivos Soportados CyanogenMod</strong></h3>
-
-<p>Hay que completar.</p>
-
-<h2 id="Dispositivos_Legacy">Dispositivos Legacy</h2>
-
-<p>Muchos dispositivos antiguos no son mantenidos por la comunidad, pero es posible que voluntarios puedan mantenerlos vivos. El estado actual de estos dispositivos es desconocido, así que es probable que no se pueda instalar B2G.</p>
-
-<p><strong>No hay dispositivos aquí actualmente.</strong></p>
-
-<h2 id="Obsolete_Devices">Obsolete Devices</h2>
-
-<div class="warning">
-<p><strong>Olvídate del soporte para estos dispositivos si tenes uno.</strong></p>
-</div>
-
-<p>Varios dispositivos antiguos ya no son soportados por B2G OS, y no tenemos voluntarios para mantenerlos vivos. El estado actual de estos dispositivos es desconocido, lo que probablemente significa que no se puede actualizar B2G.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12069/peak.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12067/keon.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12071/inari.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12077/hamachi.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Geeksphone Peak</strong></td>
- <td style="text-align: center;"><strong>Geeksphone Keon</strong></td>
- <td style="text-align: center;"><strong>ZTE Open</strong></td>
- <td style="text-align: center;"><strong>TCL Fire</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">peak</td>
- <td style="text-align: center;">keon</td>
- <td style="text-align: center;">inari</td>
- <td style="text-align: center;">hamachi</td>
- </tr>
- </tbody>
-</table>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12083/galaxy-s2.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12085/galaxy-nexus.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12087/nexus-s.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12087/nexus-s.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Samsung Galaxy S2</strong></td>
- <td style="text-align: center;"><strong>Galaxy Nexus</strong></td>
- <td style="text-align: center;"><strong><a href="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S">Nexus S</a></strong></td>
- <td style="text-align: center;"><strong><a href="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S">Nexus S 4G</a></strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">galaxy-s2</td>
- <td style="text-align: center;">galaxy-nexus</td>
- <td style="text-align: center;">nexus-s</td>
- <td style="text-align: center;">nexus-s-4g</td>
- </tr>
- </tbody>
-</table>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12073/flatfish.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12075/vixen.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12079/pandaboard.png" style="max-width: 133px;"></td>
- <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12081/rpi.png" style="max-width: 133px;"></td>
- </tr>
- <tr>
- <td style="text-align: center;"><strong>Foxconn InFocus</strong></td>
- <td style="text-align: center;"><strong>Via Vixen</strong></td>
- <td style="text-align: center;"><strong><a href="/en-US/Firefox_OS/Pandaboard">Pandaboard</a></strong></td>
- <td style="text-align: center;"><strong>Raspberry Pi</strong></td>
- </tr>
- <tr>
- <td style="text-align: center;">flatfish</td>
- <td style="text-align: center;">vixen</td>
- <td style="text-align: center;">pandaboard</td>
- <td style="text-align: center;">rpi</td>
- </tr>
- </tbody>
-</table>
diff --git a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/firefox_os_build_process_summary/index.html b/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/firefox_os_build_process_summary/index.html
deleted file mode 100644
index 2ba4b7b7b6..0000000000
--- a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/firefox_os_build_process_summary/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: Resumen del proceso de compilación de Firefox OS
-slug: >-
- Archive/B2G_OS/Building_and_installing_Boot_to_Gecko/Firefox_OS_build_process_summary
-tags:
- - Firefox OS
- - compilar
- - instalación
- - instalar
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary
----
-<div class="summary">
- <p>Compilar e Instalar Firefox OS requiere una significante cantidad de tiempo, ancho de banda de red, y poder computacional. Desafortunadamente, a lo largo del camino, las cosas son susceptibles de salir mal. Esta página describe los objetivos del proceso de compilación y  los pasos de este proceso con el fin de ayudar a los usuarios a lo largo del camino. Los detalles de cada paso son mostrados en los enlaces de su respectiva página.</p>
-</div>
-<div class="note">
- <p><span style="font-weight: bold;">Nota:</span> El proceso de compilación de Firefox OS está lleno de referencias a 'B2G' o 'Boot2Gecko'. 'Boot2Gecko' fué el nombre clave original del proyecto Firefox OS.</p>
-</div>
-<h2 id="El_objetivo_de_la_compilación_cuatro_archivos_'image'">El objetivo de la compilación: cuatro archivos 'image'</h2>
-<p>El objetivo general del proceso de compilación es la compilacióno de cuatro archivos que puedan ser copiados a un dispositivo Firefox OS.</p>
-<table style="width: 90%; vertical-align: top; margin: 4px auto;">
- <tbody>
- <tr>
- <td><b>boot.img</b></td>
- <td>El Kernel Linux y un root filesystem image, este último provee un útil conjunto de herramientas básicas de Unix.</td>
- </tr>
- <tr>
- <td><b>system.img</b></td>
- <td>El núcleo de Firefox OS incluye partes de Gonk, el puerto de Gecko, y el ejecutable b2g.</td>
- </tr>
- <tr>
- <td><b>userdata.img</b></td>
- <td>El perfil Gecko del usuario y la aplicación web Gaia para el dispositivo.</td>
- </tr>
- <tr>
- <td><b>recovery.img</b></td>
- <td>Un kernel Linux y una imagen del sistema de ficheros raíz, junto con una herramienta sencilla para que los usuarios puedan arreglar una mala instalación.</td>
- </tr>
- </tbody>
-</table>
-<p>Una vez que se han creado las cuatro imágenes, estas pueden ser transferidas al dispositivo.</p>
-<p>Firefox OS está compilado sobre la base de Android Open Source Project (AOSP). Las herramientas AOSP, <code>adb</code> <code>y fastboot, proveen una potente vía para acceder y manipular un dispositivo. Notablemente</code>, el comando<code> adb reboot-bootloader</code> puede ocasionar que un dispositivo conectado se reinicie (reboot) y se detenga en la fase inicial del  bootloader donde el comando<code> fastboot flash $partition $image</code> puede ser usado para copiar una imágen al dispositivo.</p>
-<h3 id="La_imagen_de_arranque">La imagen de arranque</h3>
-<p>La imagen de arranque (<code>boot.img</code>) es una combinación del Kernel Linux y una partición inicial del root proveyendo el software núcleo de utilidad y el script de inicialización. Este último será copiado en la memoria del dispositivo para uso eficiente por el dispositivo y por consiguiente es llamado "ramdisk". La imagen de arranque será copiada en la partición 'boot' en el dispositivo y el contenido del  ramdisk es visible iniciando en el directorio raíz (root) cuando el  filesystem del dispositivo es accedido en tiempo de ejecución (runtime), tal como cuando se usa <code>adb shell</code>.</p>
-<p>La imágen de arranque también establece los permisos de los usuarios root en el archivo <code>default.prop</code>  en el directorio raíz.</p>
-<p>También es posible modificar una imágen de arranque existente mediante la inspección de archivo, dividiendo el archivo en el Kernel y ramdisk image, extrayendo los contenidos de la imagen ramdisk, modificando esos contenidos, reensamblando la imagen ramdisk, entonces recompilando una boot.img funcional. Ver, por ejemplo, la página de <a href="http://k.japko.eu/alcatel-otf-hackers-guide-1.html">Alcatel One Touch Fire Hacking (Mini) Guide</a>.</p>
-<p>La imagen de arranque puede ser probada antes de ser instalada por  'sideloading'; el dispositivo puede ser inicializado y pausado en el  bootloader y luego un  <code>fastboot</code> puede ser usado para arrancar desde la imagen de arranque sin instalarla usando el comando <code>fastboot boot /some/path/to/boot.img</code>.</p>
-<h3 id="La_imagen_del_sistema">La imagen del sistema</h3>
-<p>La imagen del sistema (<code>system.img</code>) provee el núcleo de  Firefox OS:</p>
-<ul>
- <li><strong>Gonk</strong>: El componente de bajo nivel del sistema operativo.</li>
- <li><strong>Gecko</strong>: El punto para desplegar en Firefox el motor HTML y JavaScript.</li>
- <li><strong>B2G</strong>: El núcleo de los procesos en tiempo de ejecución del sistema operativo.</li>
-</ul>
-<div class="note">
- <p>Vea la guía <a href="https://developer.mozilla.org/es/Firefox_OS/Plataforma">la pataforma Firefox OS</a> para más información acerca de la arquitectura de la plataforma.</p>
-</div>
-<p>La imagen del sistema será copiada a la partición<code> system</code>  en el dispositivo y será visible en el directorio<code> /system/</code> cuando el  filesystem del dispositivo sea accedido en tiempo de ejecución.</p>
-<div class="note">
- <p><strong>Nota</strong>: La Imagen del Sistema también provee las manchas binarias (blobs) que pueden ser usadas por el dispositivo, notablemente el RIL (Radio Interface Layer) controla la radio celular en el dispositivo.</p>
-</div>
-<h3 id="La_imagen_de_los_datos_de_usuario">La imagen de los datos de usuario</h3>
-<p>La imagen de los datos de usuario (<code>userdata.img</code>) provee las aplicaciones Gaia cargadas en tiempo de ejecución.</p>
-<p>La imagen de los datos de usuario será copiada a la partición <code>userdata</code> en el dispositivo y los contenidos serán visibles en el directorio <code>/data/</code> cuando el filesystem del dispositivo sea accedido en tiempo de ejecución. Notablemente el directorio <code>/data/b2g/</code>  contiene el   <em>profile</em>  de Mozilla Gecko del dispositivo del usuario mientras el directorio <code>/data/local/webapps/</code> contiene la aplicación web actual disponible para el usuario.</p>
-<h3 id="La_imagen_de_recuperación">La imagen de recuperación</h3>
-<p>La imagen de recuperación (<code>recovery.img</code>) contiene lo mismo que el Kernel y un similar ramdisk que están presentes en la partición de la imagen de arranque. La imagen de recuperación sin embargo utiliza un script de inicialización diferente, lo que lleva al usuario a un conjunto de recuperación de comandos de acceso utilizando los botones de hardware en el dispositivo.</p>
-<p>La Imagen de recuperación será copiada a la partición <code>recovery</code> en el dispositivo,  que no es montada en el filesystem en tiempo de ejecución normal.</p>
-<h2 id="El_proceso_de_compilación_ajustar_configurar_compilar_instalar">El proceso de compilación:  ajustar, configurar,  compilar, instalar</h2>
-<p>El proceso general de construcción e instalación de Firefox OS consta de cuatro pasos:</p>
-<table style="width: 90%; vertical-align: top; margin: 4px auto;">
- <tbody>
- <tr>
- <td><b>Ajustar</b></td>
- <td>Obtener copias de todos los programas usados por el proceso de construcción, tales como los compiladores y librerías.</td>
- </tr>
- <tr>
- <td><b>Configurar</b></td>
- <td>Descargar el código fuente que será utilizado en la creación y construcción del archivo <code>.configure</code> que define las variables del entorno especificando las direcciones y otros valores utilizados en la construcción.</td>
- </tr>
- <tr>
- <td><b>Compilar</b></td>
- <td>Compilar el perfil Gecko del usuario y la aplicación web Gaia para el dispositivo.</td>
- </tr>
- <tr>
- <td><b>Instalar</b></td>
- <td>Instalar los archivos en el dispositivo.</td>
- </tr>
- </tbody>
-</table>
-<p> </p>
-<h3 id="Ajustar">Ajustar</h3>
-<p>El ajuste inicial debe ser hecho para asegurar el equipo que corre la compilación tenga todos el software requerido durante la compilación, tal como compiladores y herramientas de construcción.</p>
-<p>Esta paso puede ser hecho a mano o usando un script. Los detalles los podemos ver en la página <a href="https://developer.mozilla.org/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="Firefox OS build prerequisites">Prerrequisitos para compilar Firefox OS</a>.</p>
-<div class="note">
- <p><strong>Nota</strong>: En UNIX y máquinas UNIX, la presencia de los software requeridos pueden ser comprobados usando el comando unix <code>which</code> con el nombre del programa requerido como parámetro.</p>
-</div>
-<h3 id="Configuración">Configuración</h3>
-<p>El actual proceso de compilación inicia obteniendo una copia del software Firefox OS (o B2G), por lo general mediante la creación de un clon Git del proyecto <code>B2G</code>. La configuración de compilación obtendrá copias de todo el código fuente que es compilado y crea el archivo <code>.config</code> que especifica las variables para la compilación.</p>
-<p>Esto se ejecuta con el script <code>config.sh</code>. Más detalles podemos encontrar en la página <a href="https://developer.mozilla.org/es/Firefox_OS/Preparing_for_your_first_B2G_build" title="Preparing for your first B2G build">Preparandote para tu primer binario B2G </a>.</p>
-<p>Es script necesario de configuración y parámetros especificando el tipo de dispositivo a compilar. Los nombre de compilación son códigos nombre enlazados a la arquitectura del CPU en lugar de un dispositivo específico, y actualmente no hay manera de establecer qué compilación trabaja para qué dispositivo físico. Una lista de códigos nombres  disponibles puede <a href="/en-US/Firefox_OS/Phones">encontrarse aquí</a>.</p>
-<p>El paso de configuración también utilizará la herramienta Android Open Source Project <code>repo</code> para descargar (o actualizar) una copia de todo el código utilizado en la compilación. Estas copias serán almacenadas en el directorio<code> .repo/projects</code>. Debido a esta actividad, el paso de configuración puede tardar bastante tiempo y descargará una gran cantidad de datos.</p>
-<h3 id="Compilar">Compilar</h3>
-<p>El paso de compilación lo qe hace es compilar todo el código fuente y produce como resultado las imagenes.</p>
-<p>Esto se ejecuta con el script  <code>build.sh</code>. Para más detalles podemos encontrar en la página <a href="https://developer.mozilla.org/es/Firefox_OS/Compilar_Boot_to_Gecko" title="Building">Compilando Firefox OS</a> .</p>
-<p>Por defecto, el paso de compilación es monolítico, intentando compilar todo a la vez desde las herramientas Android Open Source Project para el  kernel Linux a la aplicación web Gaia. Cuando la compilación falla,  puede a veces no ser claro en que paso ha fallado.</p>
-<p>Es posible compilar solo ciertas partes de toda la pila Firefox. Por ejemplo, el sistema Gecko solo puede ser compilado mediante una llamada al script de compilación con el parámetro<code> gecko</code>. De igual manera, Gaia puede ser compilado de forma independiente utilizando el parámetro <code>gaia</code>. Estas partes pueden ser instaladas de forma separada en el dispositivo como se explica a mas adelante.</p>
-<p>También se pueden compilar las imágenes mostradas en la primera parte de esta página. Por ejemplo, el sistema de imagen puede ser compilado utilizando<code>./build.sh out/platform/$target/system.img</code>, donde el parámetro <code>$target</code> es el mismo que el dado en el paso de configuración.</p>
-<h3 id="Instalar">Instalar</h3>
-<p>El paso de instalación colocará nuevamente el código compilado en el dispositivo. Esto es ejecutado con el script <code>flash.sh</code> .</p>
-<p>Partes individuales de la compilación pueden ser instaladas agregando un parámetro al script flash. Por ejemplo, es posible instalar sólo la aplicación web gaia especificando <code>./flash.sh gaia</code>.</p>
diff --git a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/index.html b/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/index.html
deleted file mode 100644
index 0e2cc7d35d..0000000000
--- a/files/es/archive/b2g_os/building_and_installing_boot_to_gecko/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Construyendo e instalando Firefox OS
-slug: Archive/B2G_OS/Building_and_installing_Boot_to_Gecko
-tags:
- - B2G
- - Documentación de construcción
- - Firefox OS
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
----
-<div class="summary">
- <p>Debido a que Firefox OS está actualmente en un desarrollo activo, y se encuentra en estado preliminar, la mejor manera de asegurarse de que tienes una copia actualizada e instalada, es compilarla e instalarla tú mismo.<span class="seoSummary"> Los artículos comprendidos en esta página te guiarán a través de la compilación y la instalación de Firefox OS en un emulador, dispositivo compatible, o en la interfaz de usuario de <a href="/es/Firefox_OS/Gaia/Introduction_to_Gaia" title="Introducción a Gaia">Gaia</a> en el navegador Firefox.</span></p>
-</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Cómo_obtener_y_compilar_Firefox_OS">Cómo obtener y compilar Firefox OS</h2>
- <dl>
- <dt>
- <a href="/es/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko/Firefox_OS_build_process_summary">Firefox OS visión general de la compilación</a></dt>
- <dd>
- La compilación e instalación de Firefox OS requiere de una cantidad significativa de tiempo, ancho de banda y una computadora potente. Esta página describe los objetivos del proceso de compilación y de los pasos de este proceso con el fin de ayudar a los usuarios a lo largo del camino.</dd>
- <dt>
- <a href="/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="Firefox OS requisitos previos de compilación">Firefox OS requisitos previos de compilación</a></dt>
- <dd>
- Pasos a seguir antes de compilar Firefox OS por primera vez.</dd>
- <dt>
- <a href="/es/Firefox_OS/Preparing_for_your_first_B2G_build" title="Preparandose para su primer compilación de B2G">Preparándose para su primera compilación de Firefox OS</a></dt>
- <dd>
- Antes de poder compilar Firefox OS, es necesario clonar el repositorio y configurar su construcción. En este artículo se explica cómo hacerlo.</dd>
- <dt>
- <a href="/es/Firefox_OS/Compilar_Boot_to_Gecko" title="Compilando">Compilando Firefox OS</a></dt>
- <dd>
- Cómo compilar Firefox OS.</dd>
- </dl>
- <dl>
- <dt>
- <a href="/en-US/Firefox_OS/Building_and_installing_Firefox_OS/Building_Firefox_OS_for_flame_on_OSX" title="Compilando bajo OSX">Compilando la llama de Firefox OS en OSX</a></dt>
- <dd>
- Cómo realizar la compilación de la llama de Firefox OS en OSX.</dd>
- </dl>
- <dl>
- <dt>
- <a href="/es/Firefox_OS/Portando" title="Portando">Portando a Firefox OS</a></dt>
- <dd>
- Información sobre cómo portar Firefox OS a nuevos dispositivos.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="tag B2G">Ver todo...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Instalación_de_Firefox_OS_yo_Gaia">Instalación de Firefox OS y/o Gaia</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Choosing_how_to_run_Gaia_or_B2G" title="Eligiendo cómo iniciar Gaia o B2G">Eligiendo cómo iniciar Gaia o Firefox OS</a></dt>
- <dd>
- Puedes usar Gaia dentro de Firefox, o puedes ejecutar Firefox OS en un dispositivo móvil o en un simulador en el escritorio. Esta guía te ayudará a decidir cuál es mejor para tus necesidades.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox" title="Usando Gaia en Firefox">Usando Gaia en Firefox</a></dt>
- <dd>
- Cómo utilizar Gaia dentro de un navegador Firefox de escritorio.</dd>
- <dt>
- <a href="/es/Firefox_OS/usando_el_B2G_escritorio_cliente" title="Usando el cliente B2G de escritorio">Usando el cliente B2G de escritorio</a></dt>
- <dd>
- Una guía para ejecutar y utilizar el cliente de escritorio de Firefox OS; esto simula el entorno Gaia en una aplicación de escritorio. Es más preciso que ejecutar Gaia en Firefox, pero no es tan preciso como los emuladores.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="Usando los emuladores de B2G">Usando los emuladores de Firefox OS</a></dt>
- <dd>
- Una guía para compilar y usar los emuladores de Firefox OS y cuándo usar cada uno.</dd>
- <dt>
- <a href="/es/Firefox_OS/Installing_on_a_mobile_device" title="Instalando en un dispositivo móvil">Instalando Firefox OS en un dispositivo móvil</a></dt>
- <dd>
- Cómo instalar Firefox OS en un dispositivo móvil real.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Dual_boot_of_B2G_and_Android_on_SGS2" title="Booteo doble de B2G y Android en SGS2">Booteo doble de Firefox OS y Android en SGS2</a></dt>
- <dd>
- Cómo configurar un entorno de booteo doble Firefox OS/Android en un Samsung Galaxy S2.</dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/es/archive/b2g_os/building_b2g_for_qemu_emulator/index.html b/files/es/archive/b2g_os/building_b2g_for_qemu_emulator/index.html
deleted file mode 100644
index af77d73b5f..0000000000
--- a/files/es/archive/b2g_os/building_b2g_for_qemu_emulator/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Compilando B2G para el emulador QEMU
-slug: Archive/B2G_OS/Building_B2G_for_QEMU_Emulator
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
----
-<p></p><div class="overheadIndicator obsolete obsoleteHeader"><p><strong><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Obsoleto</strong><br>Esta funcionalidad es obsoleta. Aunque puede aún funcionar en algunos navegadores, se desalienta su uso ya que puede ser removida en cualquier momento. Evite usarla.</p></div><p></p>
-
-<p></p><div class="warning">Éste artículo está obsoleto. Ver <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="Building_and_installing_Boot_to_Gecko">Compilando e instalando Boot to Gecko</a>, una guía completa para compilar Firefox OS.</div><p></p>
-
-<p>Suponemos que ya has <a href="/en/Mozilla/Boot_to_Gecko/Setting_Up_Boot_to_Gecko_Build_Environment" title="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Setting_Up_Boot_to_Gecko_Build_Environment">configurado tu entorno de compilación y clonado los repositorios</a>.</p>
-
-<p>Los siguientes pasos  te permitirán<strong> compilar - y ejecutar - B2G en tu emulador</strong>.  NO ejecutar como root.</p>
-
-<p><span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ cd B2G</span></span><br>
- <span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ make sync</span></span></p>
-
-<p><a class="external" href="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff"><img alt="" class="default" src="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff"></a></p>
-
-<p>Compilar con la configuración para QEMU:<br>
- <code>$ make config-qemu</code></p>
-
-<p>Lo siguiente, construir el backend gonk y luego el propio sistema:<br>
- <code>$ make gonk<br>
- $ make</code><br>
- <br>
- NOTA:   si ./emu.sh - tu emulador - no se inicia a la primera, tendrás que hacerlo ejecutable:<br>
- <code>$ chmod +x emu.sh</code><br>
- <br>
- Después, ejecuta el emulador:<br>
- <code>$ ./emu.sh</code></p>
-
-<p>NOTA:  Después de clonar los repositorios o al crear tu compilación por primera vez, puedes "limpiar" them - e.g. put them into the state so that the latest pull is the same as a fresh clone.</p>
-
-<p>To do this, from your repo root:<br>
- <span style='font-family: "Courier New",Courier,monospace;'>$ make sync; git clean -xfd; git submodule foreach "git clean -xfd"</span><br>
- Alternately, you can try:<br>
- <span style='font-family: "Courier New",Courier,monospace;'><span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ make mrproper</span></span></span></p>
diff --git a/files/es/archive/b2g_os/compilar_boot_to_gecko/index.html b/files/es/archive/b2g_os/compilar_boot_to_gecko/index.html
deleted file mode 100644
index 255f1a3db0..0000000000
--- a/files/es/archive/b2g_os/compilar_boot_to_gecko/index.html
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Compilando Firefox OS
-slug: Archive/B2G_OS/Compilar_Boot_to_Gecko
-translation_of: Archive/B2G_OS/Building
----
-<div>
- </div>
-<p>Una vez que hayas <a href="/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites">preparado tu sistema para compilar </a>y hayas realizado <a href="https://developer.mozilla.org/es/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">la clonación inicial y configurado</a> el código, podrás compilar Boot to Gecko.</p>
-<h2 id="Actualizar_tu_código">Actualizar tu código</h2>
-<p>Si no es la primera vez que compilas B2G, deberías actualizar el código antes de empezar a compilar. Para hacerlo, debes actualizar tanto las herramientas de B2G como las dependencias, usando los siguientes dos comandos:</p>
-<pre>git pull
-./repo sync
-</pre>
-<p>Puedes actualizar partes específicas del repositorio aclarando su nombre:</p>
-<pre>./repo sync gaia
-</pre>
-<p>El comando <code>repo</code> tiene otras opciones disponibles que pueden ser interesantes; <code>repo help</code> te dará mucha información.</p>
-<h2 id="Compilar">Compilar</h2>
-<div class="note">
- <p><strong>Nota:</strong> Antes de compilar, conviene que prepares un archivo <code>.userconfig</code> para personalizar la compilación. Mira <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Personalizar el archivo .userconfig</a> para aprender cómo hacerlo.</p>
-</div>
-<p>Para compilar Boot to Gecko, debes usar simplemente la herramienta <code>build.sh</code>:</p>
-<pre>cd B2G
-./build.sh
-</pre>
-<p>Es hora de otra pausa para un café, o posiblemente una siesta (especialmente si es tu primera compilación). Así como en el paso de configuración de la página anterior, si usas un directorio de archivos de sistema de Android previamente extraídos, deberás establecer ANDROIDFS_DIR antes de ejecutar build.sh.</p>
-<h3 id="Compilar_sólo_ciertos_módulos">Compilar sólo ciertos módulos</h3>
-<p>Si sólo quieres compilar un módulo en particular, por ejemplo Gecko, puedes hacerlo incluyendo el nombre:</p>
-<pre>./build.sh gecko
-</pre>
-<p>Si sólo quieres actualizar una de las aplicaciones, puedes hacerlo compilando el módulo <code>gaia</code> y usando la variable de entorno <code>BUILD_APP_NAME</code>:</p>
-<pre>BUILD_APP_NAME=calendar ./build.sh gaia</pre>
-<p>Para ver una lista de los módulos que puedes compilar, haz:</p>
-<pre>./build.sh modules
-</pre>
-<h3 id="Especificar_cuántos_núcleos_de_procesador_usar">Especificar cuántos núcleos de procesador usar</h3>
-<p>Por defecto, el compilador de B2G utiliza el número de procesadores que existan en tu ordenador, y establece dos como el número de tareas a ejecutar en paralelo. Puedes cambiar estos números especificando el parámetro <code>-j</code> cuando ejecutes <code>build.sh</code>. Esto es útil si estás usando el ordenador para otras cosas mientras compilas, y necesitas reducir el uso de CPU. También viene bien cuando tienes problemas con la compilación, ya que ejecutar tareas de una en una facilita la lectura de mensajes y registros.</p>
-<p>Por ejemplo, para compilar ejecutando 2 tareas en paralelo, usa:</p>
-<pre>./build.sh -j2
-</pre>
-<p>El uso más común de esta opción es configurar la compilación para no ejecutar tareas en paralelo, lo cual facilita la lectura de mensajes y la resolución de errores. Para ello, usa:</p>
-<pre>./build.sh -j1
-</pre>
-<h3 id="Construir_para_múltiples_configuraciones_regionales">Construir para múltiples configuraciones regionales</h3>
-<p>Para crear un sistema que incluya varias configuraciones regionales, haz lo siguiente:</p>
-<h4 id="Gaia">Gaia</h4>
-<ol>
- <li>Escoge el archivo de idioma que quieres usar. Ahora mismo hay dos en Gaia <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-dev.json"><code>shared/resources/languages-dev.json</code></a> y <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-all.json"><code>shared/resources/languages-all.json</code></a></li>
- <li>Clona las configuraciones regionales que necesitas desde <a href="http://hg.mozilla.org/gaia-l10n">http://hg.mozilla.org/gaia-l10n</a> a un directorio; nosotros usamos <code>gaia-l10n/</code> . Tendrás que clonar un repositorio para cada uno de las configuraciones regionales incluidas en el archivo de idiomas.</li>
- <li>En tu sistema, configura <code>LOCALE_BASEDIR</code> como la ruta absoluta al directorio que creaste en el paso 2. Configura <code>LOCALES_FILE</code> como la ruta absoluta al archivo que escogiste en el paso 1.</li>
-</ol>
-<p>Por ejemplo:</p>
-<pre>export LOCALE_BASEDIR=$PWD/gaia-l10n
-export LOCALES_FILE=$PWD/gecko/gaia/shared/resources/languages-dev.json
-</pre>
-<h4 id="Gecko">Gecko</h4>
-<ol>
- <li>Escoge el archivo de idioma que quieres usar. En Gecko, ahora mismo utilizamos <a href="http://hg.mozilla.org/releases/mozilla-b2g18/file/default/b2g/locales/all-locales">b2g/locales/all-locales</a></li>
- <li>Clona las configuraciones regionales que necesitas a un directorio; por ejemplo <code>gecko-l10n/</code> .
- <ul>
- <li>Para mozilla-central, clona desde <a href="http://hg.mozilla.org/l10n-central/">http://hg.mozilla.org/l10n-central/</a></li>
- <li>Para mozilla-aurora, clona desde <a href="http://hg.mozilla.org/releases/l10n/mozilla-aurora/">http://hg.mozilla.org/releases/l10n/mozilla-aurora/</a></li>
- <li>Para mozilla-beta o mozilla-b2g18, clona desde <a href="http://hg.mozilla.org/releases/l10n/mozilla-beta/">http://hg.mozilla.org/releases/l10n/mozilla-beta/</a></li>
- </ul>
- </li>
- <li>Clona <a href="http://hg.mozilla.org/build/compare-locales">compare-locales</a>.</li>
- <li>
- <p>En tu sistema, configura <code>L10NBASEDIR</code> como la ruta absoluta al directorio que creaste en el paso 2. Configura <code>MOZ_CHROME_MULTILOCALE</code> como una lista de las configuraciones regionales que clonaste, separadas con espacios.</p>
- <p>Añade el directorio <code>compare-locales/scripts</code> a tu <code>PATH</code>, y <code>compare-locales/lib</code> a tu <code>PYTHONPATH</code>.</p>
- Por ejemplo,
- <pre>export L10NBASEDIR=$PWD/gecko-l10n
-export MOZ_CHROME_MULTILOCALE="ja zh-TW"
-export PATH="$PATH:$PWD/compare-locales/scripts"
-export PYTHONPATH="$PWD/compare-locales/lib"
-</pre>
- <p>Una vez hayas completado estos pasos, puedes ejecutar build.sh .</p>
- <p>Al parecer, también es posible <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=818560#c9/">usar .userconfig</a>.</p>
- <p>Es posible que estas instrucciones cambien a medida de que avanza el proyecto.</p>
- <h2 id="Errores_conocidos">Errores conocidos</h2>
- <ul>
- <li>
- <h3 id="KeyedVector.h19331_error_indexOfKey_was_not_declared_in_this_scope">KeyedVector.h:193:31: error: indexOfKey was not declared in this scope</h3>
- </li>
- </ul>
- <p>Este error aparece cuando tu versión de gcc es demasiado reciente. Instala una versión 4.6.x de gcc/g++/g++-multilib.</p>
- <p>Visita <a href="https://developer.mozilla.org/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites">Prerrequisitos para compilar Firefox OS</a> para más información.</p>
- <div class="note">
- <p><strong>Aviso de la comunidad:</strong> Es posible utilizar gcc 4.7.x si modificas ligeramente el código de B2G (gcc te proporcionará instrucciones), pero no te podemos ayudar, ni a modificar el código ni con los errores que te puedas encontrar.</p>
- </div>
- <ul>
- <li>
- <h3 id="arm-linux-androideabi-g_Internal_error_Killed_(program_cc1plus)">arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</h3>
- </li>
- </ul>
- <p>Si ves este mensaje, lo más probable es que no tengas suficiente memoria libre. Asegúrate de tener suficiente memoria libre antes de ejecutar<code>./build.sh</code>. Normalmente, 4GB de ram son suficientes para compilar sin problemas.</p>
- <ul>
- <li>
- <h3 id="Si_encuentras_errores_mientras_el_compilador_está_haciendo_tests">Si encuentras errores mientras el compilador está haciendo tests</h3>
- </li>
- </ul>
- <p>A veces (especialmente después de actualizar el compilador o el sistema operativo) puedes encontrarte con errores extraños mientras el compilador está haciendo test tras acabar de compilar. Algo como esto:</p>
- <pre>Generating permissions.sqlite...
-test -d profile || mkdir -p profile
-run-js-command permissions
-WARNING: permission unknown:offline-app
-WARNING: permission unknown:indexedDB-unlimited
-build/permissions.js:122: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPermissionManager.add]
-make[1]: *** [permissions] Error 3
-make: *** [gaia/profile.tar.gz] Error 2</pre>
- <p>En estos casos, prueba a eliminar el directorio<code> gaia/xulrunner-sdk</code> y haz "pull" para bajarte el código de nuevo:</p>
- <pre>rm -r gaia/xulrunner-sdk
-</pre>
- <p>Este comando elimina la copia precompilada de <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> que el compilador se baja automáticamente. Cuando compiles de nuevo, el compilador obtendrá una nueva copia de XULRunner automáticamente.</p>
- <h2 id="Próximos_pasos">Próximos pasos</h2>
- <p>Tras compilar, los pasos siguientes dependen de si has compilado Boot to Gecko para el emulador o para un teléfono móvil; lee los artículos siguientes para más información:</p>
- <ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">Usar los emuladores de B2G</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Usar la versión para ordenador de B2G</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device">Instalar Boot to Gecko en un teléfono móvil</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">Instalar Boot to Gecko en un pandaboard</a></li>
- </ul>
- </li>
-</ol>
diff --git a/files/es/archive/b2g_os/complementos/index.html b/files/es/archive/b2g_os/complementos/index.html
deleted file mode 100644
index c6f9d4dca8..0000000000
--- a/files/es/archive/b2g_os/complementos/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: Complementos para Firefox OS
-slug: Archive/B2G_OS/Complementos
-translation_of: Archive/B2G_OS/Add-ons
----
-<p class="summary">Firefox OS 2.5 introduce el soporte para complementos, una característica que los usuarios de equipos de sobremesa han conocido y amado desde el principio de Firefox. Los complementos en Firefox OS son incluso aún más poderosos y pueden personalizar no solo el navegador, dando una experiencia completa con el teléfono, incluyendo modificaciones en la pantalla de inicio y aplicaciones del sistema como por ejemplo la aplicación de Correo o la de Mensajes. Esta página dice todo lo que necesitas saber para empezar con la creación de complementos para Firefox OS e involucrarse con la comunidad de desarrolladores de complementos.</p>
-
-<div class="note">
-<p><strong>Nota</strong>: Los complementos de Firefox OS se basan en la <a href="https://developer.mozilla.org/es/docs/Mozilla/Add-ons/WebExtensions">WebExtensions API</a>, que tambien es compatible con Firefox para escritorio a partir de la versión 42 y es basado en la API de extensiones usada por Chrome y Opera.</p>
-</div>
-
-<h2 id="Requisitos_previos">Requisitos previos</h2>
-
-<p>Usted deberá seguir los pasos que se indican a continuación para empezar con el desarrollo de las extensiones.</p>
-
-<h3 id="1._Actualizar_su_teléfono_a_la_versión_Firefox_OS_2.5" dir="ltr">1. Actualizar su teléfono a la versión Firefox OS 2.5</h3>
-
-<p>Los complementos en Firefox OS solo son compatibles con Firefox OS 2.5 y versiones posteriores. A continuación se muestra una lista con los dispositivos compatibles y cómo actualizarlos (esta lista está incompleta y se modificará en el futuro).</p>
-
-<ul>
- <li>Flame (recomendad): Ver <a href="https://developer.mozilla.org/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/Flame/Updating_your_Flame">la guía rápida para actualizar tu Flame.</a></li>
-</ul>
-
-<h3 id="2._Habilitar_la_depuración_USB">2. Habilitar la depuración USB</h3>
-
-<p>Ir a la aplicación de Ajustes del dispositivo, seleccione Desarrollador &gt; Depurar vía USB &gt; ADB y DevTools. Ahora debería ser capaz de depurar las apps instaladas mediante WebIDE, ya sea a través de un cable USB y por <a href="https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_OS_over_Wifi">Wifi</a> (no necesita cable USB.)</p>
-
-<h3 id="3._Configurar_WebIDE">3. Configurar WebIDE</h3>
-
-<p>El herramienta de <a href="https://developer.mozilla.org/es/docs/Tools/WebIDE">WebIDE</a> es parte de Firefox y puede utilizarse para instalar complementos en el teléfono durante el desarrollo.</p>
-
-<h2 id="Véase_también">Véase también</h2>
-
-<h3 id="Desarrollo">Desarrollo</h3>
-
-<ul>
- <li dir="ltr"><strong>Tutorial</strong>: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Add-ons/Developing_Firefox_OS_add-ons">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Add-ons/Developing_Firefox_OS_add-ons</a></li>
- <li dir="ltr"><strong>Ejemplo a fondo</strong>: <a href="https://hacks.mozilla.org/2015/11/building-an-ios-style-unread-notifications-add-on-for-firefox-os/">https://hacks.mozilla.org/2015/11/building-an-ios-style-unread-notifications-add-on-for-firefox-os/</a></li>
- <li dir="ltr"><strong>Referencia de la API</strong>: <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions">https://developer.mozilla.org/en-US/Add-ons/WebExtensions</a></li>
-</ul>
-
-<h3 id="Distribución" dir="ltr">Distribución</h3>
-
-<ul>
- <li dir="ltr"><strong>Submitting to Marketplace</strong>: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Marketplace/Add-on_submission">Add-on submission</a></li>
- <li dir="ltr"><strong>Review criteria</strong> (working draft): <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Marketplace/Add-on_submission/Review_criteria">Add-on review criteria</a></li>
-</ul>
-
-<h3 id="Participar" dir="ltr">Participar</h3>
-
-<ul>
- <li dir="ltr"><strong>Mailing list</strong>: <a href="https://mail.mozilla.org/listinfo/dev-addons">https://mail.mozilla.org/listinfo/dev-fxos</a></li>
- <li dir="ltr"><strong>Discourse forum</strong>: <a href="https://discourse.mozilla-community.org/c/add-ons/development">https://discourse.mozilla-community.org/c/add-ons/development</a></li>
- <li dir="ltr"><strong>IRC</strong>:  irc.mozilla.org, #webextensions and #fxos</li>
- <li dir="ltr"><strong>Join the unofficial Telegram group</strong>: <a href="https://telegram.me/joinchat/BTLPMAC90O9n8cpgsZ03_A">https://telegram.me/joinchat/BTLPMAC90O9n8cpgsZ03_A</a></li>
- <li dir="ltr"><strong>Let us know what new APIs we should prioritize</strong>: <a href="https://webextensions.uservoice.com/forums/315663-webextension-api-ideas">https://webextensions.uservoice.com/forums/315663-webextension-api-ideas</a></li>
- <li dir="ltr"><strong>Follow us on Twitter</strong>: <a href="https://twitter.com/MozWebExt">@MozWebExt</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/consejos_uso_firefox_os/index.html b/files/es/archive/b2g_os/consejos_uso_firefox_os/index.html
deleted file mode 100644
index 057a2d39a9..0000000000
--- a/files/es/archive/b2g_os/consejos_uso_firefox_os/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Consejos de uso de Firefox OS
-slug: Archive/B2G_OS/Consejos_uso_Firefox_OS
-translation_of: Archive/B2G_OS/Firefox_OS_usage_tips
----
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_usage_tips/Remote_debugging" title="/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS/Remote_debugging">Depuración remota</a></dt>
- <dd>
- Como poner tu teléfono para la depuración remota.</dd>
- <dt>
- Desbloqueando tu teléfono</dt>
- <dd>
- Instrucciones básicas para desbloquear tu teléfono.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_usage_tips/taking_screenshots" title="/en-US/docs/Mozilla/Firefox_OS/Tips_and_tricks/taking_screenshots"> Hacer capturas de pantalla</a></dt>
- <dd>
- Como hacer capturas de pantalla en tu teléfono con Firefox OS.</dd>
- <dd>
-  </dd>
-</dl>
diff --git a/files/es/archive/b2g_os/debugging/depurar_b2g_usando_gdb/index.html b/files/es/archive/b2g_os/debugging/depurar_b2g_usando_gdb/index.html
deleted file mode 100644
index ff30152895..0000000000
--- a/files/es/archive/b2g_os/debugging/depurar_b2g_usando_gdb/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Depurar B2G usando gdb
-slug: Archive/B2G_OS/Debugging/Depurar_B2G_usando_gdb
-translation_of: Archive/B2G_OS/Debugging/Debugging_B2G_using_gdb
----
-<p></p><div class="overheadIndicator draft">
- <p><strong>Borrador</strong><br>
- Esta página no está completa.</p>
-
-</div><p></p>
-<p>Depurar Firefox OS usando gdb es fácil. Este artículo lo ayudará a hacerlo aún más fácil.</p>
-<h2 id="Iniciar_el_depurador_en_modo_proceso_único">Iniciar el depurador en modo proceso único</h2>
-<div class="note">
- <p><strong>Nota:</strong> Antes de ejecutar el depurador, podría configurar un archivo <code>.userconfig</code> para personalizar ciertas cosas. Vea <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Personalización con el archivo .userconfig</a> para más detalles.</p>
-</div>
-<p>Para reiniciar Firefox OS y ejecutarlo bajo el control de gdb, simplemente use el script <code>run-gdb.sh</code>:</p>
-<pre>./run-gdb.sh
-</pre>
-<div class="note">
- <p><strong>Nota:</strong> Si desea depurar en el emulador, asegúrese de no tener teléfonos conectados; esto puede causar conflctos con la habilidad de gdb de conectarse al emulador.</p>
-</div>
-<p>Si ya se está ejecutando Firefox OS y desea adjuntarlo sin reiniciarlo, puede hacer algo como:</p>
-<pre>./run-gdb.sh attach
-</pre>
-<h2 id="Depurar_tareas_fuera_del_proceso">Depurar tareas fuera del proceso</h2>
-<p>Because of the threaded nature of Firefox OS, you often need to be able to debug tasks other than the main B2G task. To do this, the simplest way is to use the b2g-ps command to find out the PID of the process that you need to debug:</p>
-<pre>$ adb shell b2g-ps
-b2g root 106 1 189828 56956 ffffffff 40101330 S /system/b2g/b2g
-Browser app_0 4308 106 52688 16188 ffffffff 400db330 S /system/b2g/plugin-container
-</pre>
-<p>Aquí, Browser es el proceso hijo usado como el "proceso contenido" para la aplicación navegador. Así que si quiere depurar el proceso contenido, en este ejemplo, debería hacer:</p>
-<pre>$ ./run-gdb attach 4308</pre>
-<p>A veces es útil ser notificado inmediatamente de la creación de cualquier proceso hijo. Esto puede lograrse iniiando run-gdb.sh con la variable de entorno MOZ_DEBUG_CHILD_PROCESS:</p>
-<pre>MOZ_DEBUG_CHILD_PROCESS=1 ./run-gdb.sh</pre>
-<p>Habiendo hecho esto, lanzar una aplicación OOP en Firefox OS mostrará el PID de plugin-container para la nueva tarea y esperará 30 segundos, tiempo suficiente para hacer</p>
-<pre>$ ./run-gdb attach &lt;pid&gt;</pre>
-<p>como se mencionaba anteriormente.</p>
-<p>Si está tratando de depurar algo que ocurre durante el booteo, deberá lanzar la instancia del depurador para la nueva aplicación con bastante rapidez. Una vez que el nuevo depurador fue lanzado, debería presionar inmediatamente "c" para continuar ejecutando la nueva tarea.</p>
-<h2 id="Soporte">Soporte</h2>
-<h3 id="Que_nivel_de_funcionalidad_se_espera">Que nivel de funcionalidad se espera</h3>
-<p>Al menos las siguientes caracterísiticas de depuración deberían funcionar definitivamente. Si no lo hacen, lo más probable es que un simple ajuste a la configuración las haga funcionar:</p>
-<ul>
- <li>Símbolos para todas las librerías (excepto quizás algunos drivers en ciertos teléfonos con Android)</li>
- <li>Backtraces with full debug info (except for optimized-away argument values)</li>
- <li>Breakpoints: you should be able to break on a symbol, or on a file:line, or on an address. All should work.</li>
- <li>Single-stepping ('s' and 'n' should both work)</li>
-</ul>
-<p>Las siguientes características de depuración <strong>not</strong> están soportadas. No intente usarlas.</p>
-<ul>
- <li>Watchpoints.</li>
-</ul>
-<h3 id="Solución_de_problemas">Solución de problemas</h3>
-<p>Hay unas pocas cosas que intentar cuando GDB no está funcionando como se describe anteriormente.</p>
-<h4 id="Asegúrese_que_el_clon_de_B2G_está_actualizado">Asegúrese que el clon de B2G está actualizado</h4>
-<p>Siempre tenga en mente que para actualizar su clon de B2G debe ejecutar estos <strong>dos</strong> comandos:</p>
-<pre>git pull
-./repo sync</pre>
-<p>Olvidarse de <code>git pull</code> aquí es una típica razón por la que se terminará con un <code>run-gdb.sh</code> viejo y no se beneficiará de las mejoras recientes.</p>
-<h4 id="Asegúrese_de_adjuntarse_al_proceso_correcto">Asegúrese de adjuntarse al proceso correcto</h4>
-<p>Adjuntarse al proceso equivocado (ej. proceso principal de B2G en lugar del proceso Browser) podría explicar por que los breakpoints no se alcanzan.</p>
-<h4 id="Asegúrese_que_los_símbolos_se_leyeron_correctamente">Asegúrese que los símbolos se leyeron correctamente</h4>
-<p>En gdb, use <code>info shared</code> para verificar que los símbolos se leyeron correctamente:</p>
-<pre>(gdb) info shared
-From        To          Syms Read   Shared Object Library
-0xb0001000  0xb0006928  Yes         out/target/product/otoro/symbols/system/bin/linker
-0x40051100  0x4007ed74  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libc.so
-0x401ab934  0x401aba2c  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libstdc++.so
-...</pre>
-<p>La columna <code>Syms Read</code> debería decir <code>Yes</code> en todas partes. Quizás en algún teléfono android podría ver <code>Yes (*)</code> para algunas librerías del sistema o drivers; eso debería estar bien. No se debería ver ningún <code>No.</code></p>
-<p>Si se ve un <code>No</code>, ese es el primer problema y debe resolverlo antes de buscar otra cosa.</p>
-<p>Busque cualquer mensaje de error en la salida de terminal justo después de tipear el comando <code>run-gdb.sh</code>.</p>
-<p>También verifique en esa salida de terminal output que el comando GDB esté correcto. En particular, el último argumento de la línea de comando debería ser la ruta al ejecutable de b2g. Aquí hay un ejemplo correcto:</p>
-<pre>prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gdb -x /tmp/b2g.gdbinit.bjacob /hack/b2g/B2G/objdir-gecko/dist/bin/b2g</pre>
-<p>Verifique el valor de estas variables de GDB: <code>solib-search-path</code> y <code>solib-absolute-prefix:</code></p>
-<pre>(gdb) show solib-search-path
-The search path for loading non-absolute shared library symbol files is /hack/b2g/B2G/objdir-gecko/dist/bin:out/target/product/otoro/symbols/system/lib:out/target/product/otoro/symbols/system/lib/hw:out/target/product/otoro/symbols/system/lib/egl:out/target/product/otoro/symbols/system/bin:out/target/product/otoro/system/lib:out/target/product/otoro/system/lib/egl:out/target/product/otoro/system/lib/hw:out/target/product/otoro/system/vendor/lib:out/target/product/otoro/system/vendor/lib/hw:out/target/product/otoro/system/vendor/lib/egl.
-(gdb) show solib-absolute-prefix
-The current system root is "out/target/product/otoro/symbols".</pre>
-<p>Si necesita ayuda, intente el canal de IRC #b2g. Si piensa que encontró un error, infórmelo en <a href="https://github.com/mozilla-b2g/B2G/issues" title="https://github.com/mozilla-b2g/B2G/issues">B2G issue tracker</a>.</p>
diff --git a/files/es/archive/b2g_os/debugging/developer_settings/index.html b/files/es/archive/b2g_os/debugging/developer_settings/index.html
deleted file mode 100644
index 3146b7c96d..0000000000
--- a/files/es/archive/b2g_os/debugging/developer_settings/index.html
+++ /dev/null
@@ -1,194 +0,0 @@
----
-title: Developer settings for Firefox OS
-slug: Archive/B2G_OS/Debugging/Developer_settings
-translation_of: Archive/B2G_OS/Debugging/Developer_settings
----
-<div class="summary">
- <p><span class="seoSummary">Contained in the Firefox OS Settings app is the Developer panel. This panel offers a number of options that can make debugging your open web app on Firefox OS easier.</span> This article covers the options available and how to make use of them.</p>
-</div>
-<p>The settings panel for developer options is intentionally buried deep to avoid having end users who have no need for these options inadvertently turning on options that make their device run more slowly or add strange visual effects to their displays. The panel looks something like this (the following is from a Geeksphone Keon running an April 2014 build of Firefox OS 2.0; yours may differ if you are running a different version):</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/7801/developermenu-short.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<p>The developer panel is reached as follows:</p>
-<ul>
- <li>In Firefox OS &lt;1.4, you open the developer panel via <em>Settings &gt; Device information &gt; More Information &gt; Developer</em>.</li>
- <li>In Firefox 1.4+, you have to enable the developer panel via <em>Settings &gt; Device information &gt; More Information &gt; Check the Developer Menu checkbox</em>.  Once you've done this, you can then access the developer panel via <em>Settings &gt; Developer</em>.</li>
-</ul>
-<p>The following sections cover each of the options in the Developer panel, explaining what they do and why they're useful.</p>
-<div class="warning">
- <p><strong>Importante</strong>: Estas herramientas pueden ocasionar fallos durante el uso normal del teléfono. Algunas características vienen desactivadas por defecto debido a los fallos que han sido reportados.</p>
-</div>
-<h2 id="Ajustes_para_Desarrolladores">Ajustes para Desarrolladores</h2>
-<h3 id="Depuración_via_USB">Depuración via USB</h3>
-<p>La opción "depuración remota" permite utilizar la <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">depuración remota</a> en tu dispositivo. Esto también activa los comandos <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a>.<strong> </strong>En las versiones anteriores a Firefox 1.4 solo existe una casilla para activar estas funciones; en Firefox 1.4 y superior existen tres opciones diferentes:</p>
-<ul>
- <li>Desactivado: la depuración remota está desactivada (por defecto).</li>
- <li>Sólo ADB: Permite el acceso al dispositivo através de los comandos ADB.</li>
- <li>ADB y Devtools: Permite el acceso através de ADB y las Herramientas de Firefox Devtools tales como el <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>.</li>
-</ul>
-<h3 id="HUD_Desarrolladores">HUD Desarrolladores</h3>
-<p>En versiones superiores a Firefox OS 1.4, seleccionando este menú entrarás a las opciones del HUD Desarrolladores.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/8361/Firefox%20OS%202.1%20Developer%20HUD.png" style="width: 320px; display: block; margin: 0px auto; height: 569px;"></p>
-<p>Existen varias opciones que son explicadas a continuacion:</p>
-<ul>
- <li><strong>Cuadros por Segundo</strong>: Muestra los cuadros por segundo tal y como se explica en esta <a href="#Frames_per_second">Frames_per_second</a> sección.</li>
- <li><strong>Tiempo de Carga:</strong> Muestra el tiempo en que se demora en cargar la información tal y como se explica en esta <a href="#Time_to_load">Time_to_load</a> sección.</li>
- <li><strong>Log changes in adb</strong>: Enables logging of device changes to adb logcat.</li>
- <li><strong>Show system HUD</strong>: When checked, enables the display of several different pieces of information overlaid on top of the device display.</li>
- <li><strong>Warnings</strong>: Displays console warnings.</li>
- <li><strong>Errors</strong>: Displays console errors.</li>
- <li><strong>Security issues</strong>: Displays potential security issues.</li>
- <li><strong>Reflows</strong>: Displays reflows as they occur.</li>
- <li><strong><a href="/en-US/Firefox_OS/Platform/Architecture#Jank">Jank</a>/Jank threshold</strong>: Notify the phone user about occurrences of unacceptably high jank, the threshold for which can be customised.</li>
- <li><strong>Unique set size</strong>: This is a measure of the memory used by an application that is unique to that application. This is the most important measurement to inform memory usage optimizations (trying to reduce the memory apps are using), but there are others. See this <a href="/en-US/Firefox_OS/Developing_Gaia/Testing_Gaia_code_changes#Performance_tests">Performance tests</a> section for more information.</li>
- <li><strong>Memoría de la Aplicación</strong>: Muestra inforamación de cuánta memoria esta usando la aplicación en ejecución tal y como se explica en esta <a href="#App_memory">App_memory</a> sección.</li>
-</ul>
-<h4 id="Cuadros_por_Segundo">Cuadros por Segundo</h4>
-<p>Al activar esta opción se mostrarán tres números en la esquina izquierda de la pantalla, si bien estos numeros son "instantáneos" son sólo suposiciones y pueden no ser acertivos. A continuación se explica qué significa cada número:</p>
-<ul>
- <li>El número en la izquierda muestra la <strong>tasa de composición</strong>: es el numero estimado por segundo en el que Firefox OS dibuja los marcos al hardware. Es también un estimado del tiempo en que el usuario percive la actualización del marco. Por ejemplo, puede reportar 60 composiciones incluso si la pantalla no esta cambiando. En este caso la percepción del usuario al cambio de marcos sería de 0.</li>
- <li>The middle number is the <strong>layer transaction rate</strong>, the estimated number of times per second processes are repainting and notifying the compositor. This number is mostly useful for Gecko platform engineers, but it should be less than or equal to the composition rate number on the left.</li>
- <li>The right hand number is a measure of the number of pixels drawn as a percentage of the screen size. A number of 273 means the screen was painted 2.73 times. Ideally this number should be as close to 100 as possible.</li>
-</ul>
-<p><img alt="A screenshot of Firefox OS, showing three numbers in the top left hand corner that are measurements of app framerate." src="https://mdn.mozillademos.org/files/6889/framerate-fxos.jpg" style="width: 357px; height: 640px; display: block; margin: 0px auto;"></p>
-<h4 id="Time_to_load">Time to load</h4>
-<p>Firefox OS also has a tool that can help measure startup time, specifically the "first paint" time. The value shown by the tool — in the top right of the Firefox OS display — is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI, in milliseconds. This number only approximates the real "first paint" time, and in particular underestimates it. However, lowering this number almost always correlates to improvements in real startup time, so it can be useful to quickly measure optimization ideas.</p>
-<p><img alt="A screenshot of Firefox OS, showing a number in the top right hand corner that is a measurement of the current app startup time, in milliseconds." src="https://mdn.mozillademos.org/files/6891/startup-time-fxos.jpg" style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p>
-<h4 id="App_memory">App memory</h4>
-<p>Displays information on how much memory the app is using, and allows you to enable or disable the different items that use memory to show much each one is using in the current app. For example, the screen shot below only has <em>App memory</em> and <em>JS objects</em> checked, and the indicator on the bottom right is showing that the Settings app is using 414.77KB for JS objects.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/7731/memory-usage.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<h3 id="Pseudo-localization">Pseudo-localization</h3>
-<p>When enabled, pseudo-languages like <em>Accented English</em> and <em>Mirrored English</em> are available for selection in <em>Settings &gt; Languages</em>.  With pseudo-localizations, you can test the localizability of your code in regular Gaia builds without having to add real language resources nor having to speak a foreign language.  For instance, you can make sure the layout scales well with longer strings, you can preview the app in a fake RTL language, or spot HTML elements wihout the <code>data-l10n-id</code> attribute (they will be displayed in regular English).</p>
-<p><img alt="Screenshot of pseudolocales" src="http://informationisart.com/images/qps.png" style="width: 600px; height: 440px; display: block; margin: 0px auto;"></p>
-<p>You can turn pseudo-localizations on by default when you build Gaia by adding the following line into <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/common-settings.json">gaia/build/config/common-settings.json</a>:</p>
-<pre class="brush: json"> "devtools.qps.enabled": true</pre>
-<p><strong>Note:</strong> Pseudo-localizations are generated completely dynamically, each time an app is launched.  The performance and memory characteristics may be different than those of regular localizations.  If you specifically want to test performance of non-English languages, <a href="/en-US/Firefox_OS/Building#Building_multilocale">build multilocale Gaia</a> with real locales.</p>
-<h2 id="Graphics_settings">Graphics settings</h2>
-<h3 id="Flash_repainted_area">Flash repainted area</h3>
-<p>In this mode, every time a region of the screen is painted by Gecko, Gecko blits a random translucent color over the painted region. Ideally, only parts of the screen that visually change between frames will "flash" with a new color. But sometimes more area than is needed is repainted, causing large areas to "flash". This symptom may indicate that application code is forcing too much of its scene to update. It may also indicate bugs in Gecko itself.</p>
-<p><img alt="A screenshot of Firefox OS with a number of transparent overlays, showing the parts of the screen repainted with each new animation frame." src="https://mdn.mozillademos.org/files/6893/paint-update-fxos.jpg" style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p>
-<h3 id="Enable_APZ_for_all_content_(Async_PanZoom)">Enable APZ for all content (Async Pan/Zoom)</h3>
-<p>When enabled, the Async Pan/Zoom module allows panning and zooming to be performed on asynchronously, on another thread, with some noticeable differences to rendering behaviour. To find out more, read the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">MozillaWiki APZ</a> article.</p>
-<h3 id="Overscrolling">Overscrolling</h3>
-<p>This enables and disables the behaviour in Firefox 2.1+ where the display stretches in an elastic manner when you scroll past the end of a page, then shrinks back again when you stop dragging the display. The behaviour's full name is <em>elastic overscroll</em>.</p>
-<h3 id="Tiling_(was_Layers_Enable_tiles)">Tiling (was Layers: Enable tiles)</h3>
-<p>Introduced in Firefox OS 1.4, this feature enables the painting of content to the screen in smaller chunks ("tiles") rather than painting the whole screen at once. This is mainly useful for platform QA work involving reducing checkerboarding and finding regression windows.</p>
-<h3 id="Simple_tiling_(was_Layers_Simple_tiles)">Simple tiling (was Layers: Simple tiles)</h3>
-<p>This flips between the two different content painting implementations described in the section above.</p>
-<h3 id="Low-precision_painting">Low-precision painting</h3>
-<p>Enabling this option makes Gecko paint a low-precision (blurry) version of the content when scrolling really fast. This is useful because it's quicker to paint, and so helps us avoid displaying blank areas (i.e. checkerboarding) while scrolling quickly. It should only be visible to the user temporarily; once the user stops scrolling we fill in the low-precision areas with high-precision content.</p>
-<h3 id="Low-precision_transparency">Low-precision transparency</h3>
-<p>This is an additional flag for low-precision painting, which makes the low-precision content half transparent. This makes it a little more subtle and less jarring for the user.</p>
-<h3 id="Hardware_composer_(was_Enable_hardware_compositing)">Hardware composer (was Enable hardware compositing)</h3>
-<p>When enabled, this setting causes the device to use its <a href="https://source.android.com/devices/graphics.html#hwc">Hardware Composer</a> to composite visual elements (surfaces) to the screen.</p>
-<h3 id="Draw_tile_borders_(was_Layers_Draw_tile_borders)">Draw tile borders (was Layers: Draw tile borders)</h3>
-<p>This is very similar to the <a href="#Draw_layer_borders">Draw layer borders</a> option, the difference being that it also draws the borders for individual tiles as well as the borders around layers.</p>
-<h3 id="Draw_layer_borders">Draw layer borders</h3>
-<p>When this setting is enabled, a brightly colored border is added around all the different layers painted to the display — great for diagnosing layout issues.</p>
-<p><img alt="A screenshot from Firefox OS showing an opened select form with the draw layers borders option enabled, resulting in colored borders being drawn on all the different rendered layers." src="https://mdn.mozillademos.org/files/6897/paint-layers-borders.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<h3 id="Dump_layers_tree">Dump layers tree</h3>
-<p>This option enables <code>layers.dump</code>, which causes a copy of the compositor's layer tree to be dumped to logcat on every frame composited to the screen; this is mainly useful for platform graphics performance work, rather than regular web development.</p>
-<h3 id="Cards_View_Screenshots">Cards View: Screenshots</h3>
-<p>When enabled, this specifies that app screenshots will be taken when the open apps are displayed in card view. If disabled, app icons are shown in the center of blank cards for the card view instead.</p>
-<h2 id="Window_management_settings">Window management settings</h2>
-<h3 id="Software_home_button">Software home button</h3>
-<p>Enabling this option creates a software home button that can provide the same functionality as the equivalent hardware button if it is not available. This is intended for future use on devices that are likely to not have hardware home buttons, like tablets.</p>
-<h3 id="Home_gesture">Home gesture</h3>
-<p>Enabling this option allows you to swipe upwards towards the center from outside the screen to bring up the homescreen. Again, this can provide the same functionality as the equivalent hardware button if it is not available, and is intended for future use on devices that are likely to not have hardware home buttons, like tablets.</p>
-<h3 id="Continuous_transition">Continuous transition</h3>
-<p>This setting allows you to decide whether app keyboards open immediately or continuously (with a  transition). Disabling such transition effects are useful on low end devices, when they cause performance to suffer.</p>
-<h3 id="App_transition">App transition</h3>
-<p>Turn this on and then off again and you will disable all app closing/opening transitions: all apps will now just show immediately, without the smooth animation, and keyboards will also open/close without animation. Like "Continuous transition enabled", this is meant for improving performance on low end devices, but it has more of an effect.</p>
-<h3 id="App_suspending">App suspending</h3>
-<p>If enabled, this specifies that when an app is killed in the background, it will be kept in history and reopened when you open it from homescreen/card view. If disabled, such apps are not kept in history/card view.</p>
-<h2 id="Debug_settings">Debug settings</h2>
-<h3 id="Log_slow_animations">Log slow animations</h3>
-<p>This tool tries to help developers understand why animations are not offloaded to the compositor to be run efficiently as possible. It reports "bugs" like trying to animate elements that are too large, or trying to animate CSS properties that can't be offloaded. The messages you'll get on the device will look like the following:</p>
-<pre>I/Gecko ( 5644): Performance warning: Async animation disabled because frame size (1280, 410) is bigger than the viewport (360, 518) [div with id 'views']
-</pre>
-<h3 id="Geolocation_output_in_ADB">Geolocation output in ADB</h3>
-<p>Enables logging of geolocation data to adb logcat. This helps with debugging both the GPS stack (namely we get NMEA callback) and MLS use.</p>
-<h3 id="Wi-Fi_output_in_adb">Wi-Fi output in adb</h3>
-<p>Enabling this option adds information about Wi-Fi to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
-<h3 id="Bluetooth_output_in_adb">Bluetooth output in adb</h3>
-<p>Enabling this option adds information about Bluetooth to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
-<h3 id="Console_enabled">Console enabled</h3>
-<p>When enabled, this option lets you use the <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console">Web Console</a> in Firefox to remotely access the console output on the device; without this option enabled, the <a href="/es/docs/Web/API/Console/log" title='Vea "Mostrando texto en la consola" en la documentación de console para mas detalles.'><code>console.log()</code></a> function does nothing.</p>
-<h3 id="Gaia_debug_traces">Gaia debug traces</h3>
-<p>Enabling this directly enables DEBUG traces in Gaia; see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=881672" title="FIXED: Enabling a DUMP function for all Gaia apps">error 881672</a> for more details.</p>
-<div class="note">
- <p><strong>Note</strong>: Unfortunately, not every app supports this mechanism to print their debug log. Instead, they control a "DEBUG" flag in code directly, so enabling this flag does NOT ensure that you'll see all debug logs.</p>
-</div>
-<h3 id="Show_accessibility_settings">Show accessibility settings</h3>
-<p>This enables the accessibility settings menu, subsequently found at <em>Settings &gt; Accessibility</em>. The options contained within the accessibility settings are as follows:</p>
-<h4 id="Screen_reader">Screen reader</h4>
-<p>Enabling this option turns on Firefox OS's screen reader. This is technology that allows a blind person to use a Firefox OS device. Currently at a very early stage, it changes the way the standard touch events work. When the screen reader is on, you must interact with the screen as follows:</p>
-<ul>
- <li>Touch somewhere to focus that app (or whatever) and be alerted as to what it is. This is indicated both by audible speech output and a rectangle around the selected item. Double tap anywhere on the screen (two taps in rapid succession) to activate the item that has the rectangle around it.</li>
- <li>Swipe from left to right to move sequentially through items on the screen. Items are moved through from left to right, then top to bottom, including scrolling the screen vertically if there are more items to display, and you will be alerted as to each one's name via speech output and a rectangle. Swiping right to left moves through the items in reverse order. Again, double-tap the screen to execute the currently highlighted item.</li>
- <li>Do a swipe with two fingers — left, right, up or down — to scroll the screen in that direction. This is equivalent to swiping one finger across the screen in the given direction when the screen reader is not running. For example, a two-finger swipe left on the first home screen will flip to the second one, and a two-finger swipe upwards on a home screen or browser would cause the screne to scroll downwards to show more content.</li>
-</ul>
-<div class="note">
- <p><strong>Note</strong>: If you have turned the screen reader on and wish to disable it again, you must navigate back to the setting via these new gestures and double-tap the checkbox once it is highlighted to turn it off again. That will restore the touch screen functionality to its default behaviour.</p>
-</div>
-<p><strong>Note</strong>: In Firefox 1.4 and above, there is a quick toggle for the screen reader. Press volume up, then down, three times (up, down, up, down, up, down). The screen reader will instruct you to perform this same action again (volume up, down, up, down, up, down) to turn it on if it is not running, or to turn it off if it is already running. If you do not want to change the current toggle state, simply do something else. That way, you can turn it on and off at will to test your web application for accessibility without having to navigate the accessibility settings menu each time.</p>
-<h4 id="Speech_volume">Speech volume</h4>
-<p>A slider that controls how loud the speech is delivered.</p>
-<h4 id="Speech_rate">Speech rate</h4>
-<p>A slider that controls how fast the speech is delivered.</p>
-<h3 id="Use_Marketplace_reviewer_certs">Use Marketplace reviewer certs</h3>
-<p>TBD</p>
-<h3 id="Shake_to_save_system_log">Shake to save system log</h3>
-<p>TBD</p>
-<h3 id="Verbose_app_permissions">Verbose app permissions</h3>
-<div class="note">
- <p><strong>Note</strong>: Introduced with Firefox 2.1</p>
-</div>
-<p>When this is enabled, developers (and privacy enthusiasts) may modify all permissions granted to installed privileged apps, using The "App Permission" pane in the Settings app. The app sub-pages under here are updated upon enabling the setting to provide a list of each API permission is requested for in the app's manifest file, along with choices to set that permission to. For example, "Schedule Alarms" appears with choices of <em>Ask</em>, <em>Deny</em> and <em>Grant</em>. Note that some apps may be unable to deal with changed permissions. If you experience any odd behavior, consider resetting the permission or re-installing the app.</p>
-<h3 id="Launch_first_time_use">Launch first time use</h3>
-<p>The "Launch first time use" button runs the "First-Time Use" (FTU) program; this lets you go through the initial setup and tutorial process, and is useful when trying to debug that process, or if you want to re-configure your device from scratch.</p>
-<h2 id="Software_updates">Software updates</h2>
-<h3 id="Update_channel">Update channel</h3>
-<p>Enables you to specify different update channels to get software updates from when your device receives OTA updates. Options are <code>nightly</code>, <code>aurora</code> ... (others?)</p>
-<h3 id="Update_URL">Update URL</h3>
-<p>Enables you to specify different URLs from which to receive your updates.</p>
-<h2 id="Obsolete_settings">Obsolete settings</h2>
-<p>This section lists settings that are no longer provided, or no longer exist in the same state, but might still be interesting if you are running an older version of Firefox OS.</p>
-<h3 id="Accessibility">Accessibility</h3>
-<p>In versions of Firefox earlier than newer 1.4 versions, this controls the accessibility settings, as explained in the <a href="#Show_accessibility_settings">Show_accessibility_settings</a> section above.</p>
-<h3 id="Grid">Grid</h3>
-<p>The "Grid" option, when enabled, causes the Firefox OS display to be overlaid with a grid pattern to help you gauge positioning and alignment of items. For example, below we see the Browser app running with the Grid option enabled:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5071/Grid.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<p>The grid's heavier lines are 32 pixels apart, both horizontally and vertically.</p>
-<h3 id="Show_frames_per_second">Show frames per second</h3>
-<p>In Firefox OS versions older than newer 1.4, enabling this displays frames per second, as explained in the <a href="#Frames_per_second">Frames_per_second</a> section above.</p>
-<h3 id="Show_time_to_load">Show time to load</h3>
-<p>In Firefox OS versions older than newer 1.4, enabling this displays time to load information, as explained in the <a href="#Time_to_load">Time_to_load</a> section above.</p>
-<h3 id="Rocketbar_enabled">Rocketbar enabled</h3>
-<p>In Firefox OS versions older than newer 1.4, this option enables the new <a href="https://groups.google.com/forum/#!topic/mozilla.dev.gaia/Nlfbrq1KMP0">Firefox Rocketbar</a> on your device, which provides a useful new way to switch between apps, search, and more. When enabled, you'll find a search icon at the top left of the device, and the RocketBar can be brought up by swiping from the top left of the device towards the bottom left.</p>
-<div class="note">
- <p><strong>Note</strong>: In newer versions of Firefox OS, Rocketbar is enabled automatically and cannot be turned off.</p>
-</div>
-<h3 id="Contacts_debugging_output_in_adb">Contacts debugging output in adb</h3>
-<p>Enabling this option adds debugging information about contacts to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
-<h3 id="Progressive_paint_(was_Layers_Progressive_paint)">Progressive paint (was Layers: Progressive paint)</h3>
-<p>This was introduced to help with debugging of the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">Async Panning/Zoom module</a> (APZ) during its implementation. Now APZ implementation is complete, this option is deprecated, and will be removed from future versions (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1003228" title="FIXED: Remove unnecessary APZ-related settings and menu items">error 1003228</a>).</p>
-<h3 id="Displayport_Heuristics">Displayport Heuristics</h3>
-<ul>
- <li>Default</li>
- <li>Center displayport</li>
- <li>Assume perfect paints</li>
- <li>Taller displayport</li>
- <li>Faster paints</li>
- <li>No checkerboarding</li>
-</ul>
-<p>These options were introduced to help with debugging of the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">Async Panning/Zoom module</a> (APZ) during its implementation, specifically to allow QA to experiment with different repainting heuristics to see which resulted in the least amount of checkboarding.. Now APZ implementation is complete, these options are deprecated, and will be removed from future versions (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1003228" title="FIXED: Remove unnecessary APZ-related settings and menu items">error 1003228</a>).</p>
-<h3 id="Edges_gesture">Edges gesture</h3>
-<p>Enabling this option allows you to swipe left and right from outside the screen towards the center, to navigate to the next and previous sheets (either web pages in the browser, or views inside another app.) This basically works like the browser navigator bar in Firefox, but is enabled by default in Firefox 2.1+.</p>
-<h2 id="Keyboard_layouts">Keyboard layouts</h2>
-<p>In addition to the developer-specific options listed above, Firefox OS &lt; 1.4's developer settings featured keyboard layout options. These let you toggle on and off the then-experimental Chinese input methods:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5079/InputMethods.png"></p>
-<p>As of Firefox 1.4, these options have been removed. This is because the Chinese keyboard layout implementations (zhuyin and pinyin) have now been completed.</p>
-<div class="note">
- <p><strong>Note</strong>: For other keyboard layouts still under development, such as Japanese, we now have a build-time config to opt them in.</p>
-</div>
-<p> </p>
diff --git a/files/es/archive/b2g_os/debugging/index.html b/files/es/archive/b2g_os/debugging/index.html
deleted file mode 100644
index a06052613e..0000000000
--- a/files/es/archive/b2g_os/debugging/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Depuración en Firefox OS
-slug: Archive/B2G_OS/Debugging
-translation_of: Archive/B2G_OS/Debugging
----
-<p>Hay tres tipos de depuración que puedes realizar con Firefox OS. Puedes hacer <span class="short_text" id="result_box" lang="es"><span class="hps alt-edited">un nivel más elevado</span> <span class="hps">de</span> <span class="hps">depuración</span></span> <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Gaia_in_Firefox" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_Gaia_in_Firefox">ejecutando Gaia</a> (y por lo tanto muchas <a href="/en-US/Apps" title="en-US/Apps">aplicaciones web</a> compatibles con B2G) en Firefox 15 o posteriores en el escritorio, lo cual te permitirá utilizar las excelentes <a href="/en/Tools" title="en/Tools">herramientas de desarrollador</a> disponibles en Firefox que te ayudarán a depurar la IU de Gaia a la vez que tu aplicación web. Por otro lado puedes usar la <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">aplicación de escritorio dedicada a B2G</a>; o ejecutar Firefox OS en tu dispositivo móvil o en el emulador bajo el control de gdb debugger. Y hay herramientas disponibles para ti mientras ejecutes el cliente de escritorio B2G. Este artículo proporciona enlaces a información útil para todos estos métodos varios de depurar tu código de Firefox OS.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">documentacion de depuracion Firefox OS</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_Firefox_OS_apps_in_desktop_Firefox" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_Firefox_OS_apps_in_desktop_Firefox">Depuración de aplicaciones de Firefox OS en Firefox para escritorio</a></dt>
- <dd>
- Puedes utilizar Firefox de escritorio para depurar muchas aplicaciones web. Este artículo  te ofrece una guía de características de Firefox que te pueden venir muy bien mientras lo haces.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Setting_up" title="/en-US/docs/Mozilla/Boot_to_Gecko_/Debugging_on_Boot_to_Gecko/Setting_up">Preparándose para depurar código de Firefox OS</a></dt>
- <dd>
- Antes de ponerte a usar la mayoría de herramientas integradas en Firefox para depurar código funcionando bajo Firefox OS, necesitarás realizar un poquito de trabajo de configuración previo. Este artículo te explica qué.</dd>
- <dt>
- <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">Utilizando el depurador</a></dt>
- <dd>
- Puedes emplear el Depurador remoto integrado de Firefox para depurar código ejecutado bajo Firefox OS en un dispositivo usando una conexión compartida (tethering) o en el simulador de Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Using_the_Remote_Web_Console_with_Firefox_OS" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Using_the_Remote_Web_Console_with_Firefox_OS">Usando la Consola web remota con Firefox OS</a></dt>
- <dd>
- La característica Consola web remota incluida en Firefox te permite ver la salida de la consola en un dispositivo con Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_B2G_using_gdb" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_B2G_using_gdb">Depurando B2G con gdb</a></dt>
- <dd>
- El popular depurador gdb se puede utilizar para depurar Firefox OS y aplicaciones que estén en ejecución tanto en un dispositivo como en un emulador. Esta guía te mostrará cómo hacerlo.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_using_the_desktop_B2G_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Debugging_using_the_desktop_B2G_client">Depurar utilizando el cliente de escritorio B2G</a></dt>
- <dd>
- Hay una serie de características disponibles en el cliente de escritorio B2G que puedes utilizar para ayudarte a depurar tus aplicaciones. Aprende sobre ellas en este artículo.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/General_B2G_debugging_tips" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/General_B2G_debugging_tips">Consejos generales para la depuración con B2G</a></dt>
- <dd>
- <span class="short_text" id="result_box" lang="es"><span class="hps">Consejos</span> <span class="hps">de uso general aplicables a cualquier depuración</span></span> con B2G que realices.</dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Customizing_the_b2g.sh_script" title="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Customizing_the_b2g.sh_script">Personalizando el script <code>b2g.sh</code></a></dt>
- <dd>
- Puedes personalizar el script <code>b2g.sh</code> para ajustar las variables del entorno y así cambiar el comportamiento de Gecko.</dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/HTTP_Logging#Boot2Gecko_(B2G)_phones" title="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko/Customizing_the_b2g.sh_script"><span class="short_text" id="result_box" lang="es"><span class="hps">Obtención de</span> <span class="hps">registros</span> <span class="hps">NSPR en</span></span> B2G</a></dt>
- <dd>
- Puedes usar los registros NSPR para grabar HTTP y otras redes.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/HTTP_logging" title="/en-US/docs/Mozilla/Debugging/HTTP_logging">R<span class="short_text" id="result_box" lang="es"><span class="hps">egistro HTTP</span></span></a></dt>
- <dd>
- Cómo registrar tráfico de red HTTP network para propósitos de depuración.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">Ver todo...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">obten ayuda de la comunidad</h2>
- <p>Si estás trabajando con Firefox OS, o desarrollando aplicaciones que te gustaría ejecutar en dipositivos con Firefox OS, ¡hay una serie de recursos de la comunidad que te pueden ayudar!</p>
- <ul>
- <li>Consulta el foro del proyecto Boot to Gecko: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> como RSS</a></li>
-</ul></li>
- <li>Haz tu pregunta en el canal IRC de Mozilla Boot to Gecko: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Y no te olvides de la <em>netiqueta</em>...</a></span></p>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/es/archive/b2g_os/debugging/personalizando_el_script_b2g.sh/index.html b/files/es/archive/b2g_os/debugging/personalizando_el_script_b2g.sh/index.html
deleted file mode 100644
index fb75932f44..0000000000
--- a/files/es/archive/b2g_os/debugging/personalizando_el_script_b2g.sh/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Personalizando el script b2g.sh
-slug: Archive/B2G_OS/Debugging/Personalizando_el_script_b2g.sh
-translation_of: Archive/B2G_OS/Developing_Firefox_OS/Customizing_the_b2g.sh_script
----
-<p></p><div class="overheadIndicator draft">
- <p><strong>Borrador</strong><br>
- Esta página no está completa.</p>
-
-</div><p></p>
-<p>En el teléfono, la aplicación <code><a href="/en-US/docs/Mozilla/Firefox_OS/Architecture#The_userspace_process_architecture" title="/en-US/docs/Mozilla/Firefox_OS/Architecture#The_userspace_process_architecture">b2g</a></code> (que provee las APIs de Firefox OS entre otras cosas) se inicia a través del script <code>/system/bin/b2g.sh</code>. Se puede personalizar este script para cambiar el comportamiento de Firefox OS.</p>
-<h2 id="Establecer_variables_de_entorno">Establecer variables de entorno</h2>
-<p>Si desea establecer una variable de entorno para una ejecución simple de B2G, puede hacer lo siguiente:</p>
-<pre>adb shell stop b2g
-abd shell "export ENV_VAR=value &amp;&amp; /system/bin/b2g.sh"
-</pre>
-<p>Si desea usar las mismas variables de entorno todo el tiempo, puede editar b2g.sh, como se describe en la siguiente sección.</p>
-<h2 id="Editando_b2g.sh">Editando b2g.sh</h2>
-<p>Para depurar, usted puede desear establecer variables de entorno para conseguir inormación de registro o de otra manera afectar como se ejecuta el programa <code>b2g</code>. Puede hacer esto editando el script <code>b2g.sh</code>. No hay herramientas incluídas en el teléfono para editar este archivo en su lugar, así que necesitará copiarlo primero.</p>
-<p>Connect the phone to your computer, open a terminal window, and execute the following command to edit the script:</p>
-<pre>adb pull /system/bin/b2g.sh</pre>
-<p>Edite el script para hacer todos los cambios que desee. Por ejemplo, supongamos que desea ver alguna salida de los registros (lo que require una compliación de depuración), debería agregar algo como:</p>
-<pre>export NSPR_LOG_FILE=/data/local/tmp/mylog.txt
-export NSPR_LOG_MODULES=Layers:5
-</pre>
-<p>Y luego hacer lo siguiente para subir el script <code>b2g.sh</code> al teléfono:</p>
-<pre>adb shell stop b2g
-adb remount
-adb push b2g.sh /system/bin
-adb shell chmod 0755 /system/bin/b2g.sh
-adb shell start b2g
-</pre>
-<div class="note">
- <p><strong>Nota:</strong> <code>/data/local/tmp</code> es el único lugar del sistema de archivos en el que pueden escribir los procesos de contenido.</p>
-</div>
-<h2 id="Véase_también">Véase también</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">Building and installing Firefox OS</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Architecture" title="/en-US/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture overview</a></li>
- <li><a href="/es/docs/Mozilla/Firefox_OS/Depuraci%C3%B3n" title="/en-US/docs/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko">Depuración en Firefox OS</a></li>
-</ul>
-<p> </p>
diff --git a/files/es/archive/b2g_os/debugging/setting_up/index.html b/files/es/archive/b2g_os/debugging/setting_up/index.html
deleted file mode 100644
index c223edb982..0000000000
--- a/files/es/archive/b2g_os/debugging/setting_up/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Setting up to debug Firefox OS using Firefox developer tools
-slug: Archive/B2G_OS/Debugging/Setting_up
-translation_of: Archive/B2G_OS/Debugging/Setting_up
----
-<div class="summary">
- <p>Firefox OS supports the same remote debugging protocol that Firefox mobile supports on Android. This means you can use the Firefox development tools to debug Gaia applications running on a Firefox OS device or emulator. In order to debug Firefox OS running on your device or on the Firefox OS Simulator, you need to use Firefox 18 or later; in addition, there are settings that need to be changed both in your desktop browser's configuration and on your Firefox OS device or simulator.</p>
-</div>
-<div class="note">
- <p><strong>Note</strong>: If you want to debug apps on a Firefox OS device, and you are running Firefox 1.2+, your best option is to use the <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a> instead.</p>
-</div>
-<h2 id="Firefox_desktop">Firefox desktop</h2>
-<p>You need to be sure you have a build of Firefox 18 or later in order to have remote debugging support. If you don't already have a recent copy of Firefox, download the latest <a href="http://nightly.mozilla.org/" title="http://nightly.mozilla.org/">Nightly</a> build to get access to all the latest features.</p>
-<p>Once you're running an appropriate version of Firefox on your computer, type <code>about:config</code> in the URL bar and change the value of <code>devtools.debugger.remote-enabled</code> to <code>true</code>. Then you'll need to restart Firefox to get remote debugging enabled. After restarting Firefox, the Web Developer menu will have a new option, <em>Tools &gt; Connect...</em></p>
-<h2 id="Enabling_debugging">Enabling debugging</h2>
-<p>When using the <a href="/en-US/docs/Tools/Firefox_OS_Simulator" title="Tools/Firefox OS Simulator">Firefox OS Simulator</a> (or B2G Desktop), setting up for debugging is pretty easy. You don't need to do any port forwarding like you do when debugging on a physical device. Simply open your device's <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a> and enable <em>Remote Debugging</em>.</p>
-<div class="warning">
- <p>Note: This no longer works on Firefox OS devices as of January 10, 2013. As of this date device builds of Firefox OS have debugging disabled. There will eventually be a way to build your own build with it re-enabled, but this doesn't exist yet. This document will be updated once that happens. In addition, the preference for turning off out-of-process support has been removed. For now, you'll need to do your debugging in the Firefox OS Simulator.</p>
-</div>
-<p>If using a real Firefox OS device, open the <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a> and:</p>
-<ul>
- <li>Turn on <em>Remote Debugging</em>.</li>
- <li>Turn off <em>Out-of-process</em> support, until <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=797627" title="Remote Debugging Protocol needs a way to contact B2G subprocesses">error 797627</a> is fixed. Without doing so, only system scripts can be debugged.</li>
-</ul>
-<div class="note">
- <p><strong>Note:</strong> If you flash your device, you'll need to redo these configuration changes.</p>
-</div>
-<p>Now you're ready to <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">use the debugger</a>!</p>
-<h2 id="Enabling_console_logging_on_a_Firefox_OS_device">Enabling console logging on a Firefox OS device</h2>
-<p>On production builds of Firefox OS, console logging (for example <a href="/es/docs/Web/API/Console/log" title='Vea "Mostrando texto en la consola" en la documentación de console para mas detalles.'><code>console.log()</code></a>) is disabled by default. In order to enable it, go to your device's <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a> and enable <em>Console Enabled</em>.</p>
-<p>Note: read <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging">On-device console logging</a> for more details about how to use console logging on Firefox OS.</p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Debugging" title="/en-US/docs/Mozilla/Firefox_OS/Debugging">Debugging on Firefox OS</a></li>
- <li><a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">Debugger</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings">Developer settings on Firefox OS</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/developing_gaia/entendiendo_el_codigo_base_de_gaia/index.html b/files/es/archive/b2g_os/developing_gaia/entendiendo_el_codigo_base_de_gaia/index.html
deleted file mode 100644
index 6c1ea3499d..0000000000
--- a/files/es/archive/b2g_os/developing_gaia/entendiendo_el_codigo_base_de_gaia/index.html
+++ /dev/null
@@ -1,104 +0,0 @@
----
-title: Entendiendo el código base de Gaia
-slug: Archive/B2G_OS/Developing_Gaia/Entendiendo_el_codigo_base_de_Gaia
-translation_of: Archive/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase
----
-<div class="summary">
- <p><span class="seoSummary">Before you start to make your own changes to the <a href="https://github.com/mozilla-b2g/gaia/">Gaia codebase</a>, you should understand the basics of how it is all structured, and what coding conventions are used. This article covers both of these points.</span></p>
-</div>
-<h2 id="Gaia_branches">Gaia branches</h2>
-<p>There are many different branches in the Gaia codebase, and depending on what work you are doing (or what device you have) you might not just want to download, hack and make the master branch. Here is a brief guide to the most common repos you'll likely be interested in:</p>
-<ul>
- <li><strong>master</strong> — the latest development branch. You'll want to use this branch if you are developing (or fixing bugs on) new features, or you want to run the latest Gaia on your phone or emulator</li>
- <li><strong>v2.1</strong>, <strong>v2.0</strong>, <strong>v1.4</strong>, etc. — feature freeze versions of Gaia 2.1, 2.0, 1.4, etc. You'll want to use these branches if you are fixing a bug in a specific Gaia version, or want to develop an app and make sure it supports a specific Gaia version (for example, you might be using the Firefox OS Building Blocks with modifications, and want to make sure your layout still works across different Gaia versions.)</li>
- <li><strong>v1.3t</strong> — the low-memory version of Gaia, developed for running on low-memory devices such as the Tarako or Spice Fire One. If you want to develop an app for such devices, this is the branch you should work with.</li>
-</ul>
-<h2 id="Gaia_codebase_structure">Gaia codebase structure</h2>
-<p>The following section outlines all the most important parts of the Gaia codebase.</p>
-<h3 id="apps">apps/</h3>
-<p>This directory contains all of the main Gaia apps, both apps shown in the homescreen — such as calendar and camera — and underlying apps — such as system, homescreen, and keyboard.<br>
- <br>
- The apps work in slightly different ways, but all have a number of common features, including:</p>
-<ul>
- <li><code>index.html</code>: the central file for each app</li>
- <li><code>manifest.webapp</code>: the manifest file defines the app</li>
- <li><code>locales</code>: localisation strings for that app</li>
- <li><code>test</code>: unit and integration tests particular to that app</li>
- <li><code>js</code>, <code>style</code>: scripts and styles for that app</li>
- <li><code>resources</code>: images, sounds and other assets</li>
-</ul>
-<div class="note">
- <p><strong>Note</strong>: You can find more information about the apps actually work on our <a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia apps guide</a>.</p>
-</div>
-<h3 id="build">build/</h3>
-<p>This directory contains build scripts.</p>
-<h3 id="dev_apps">dev_apps/</h3>
-<p>This directory contains other apps that are included by customization. For example you could include custom apps that you want to include in custom builds in here.</p>
-<div class="note">
- <p><strong>Note</strong>: For more information about Gaia customization, read our <a href="/en-US/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide">Market customizations guide</a>.</p>
-</div>
-<h3 id="keyboard">keyboard/</h3>
-<p>The keyboard directory contains keyboard dictionaries and layouts for different languages.</p>
-<h3 id="locales">locales/</h3>
-<p>This directory contains a JSON file, <code>languages_all.json</code>, which defines what languages are supported on Gaia. For more insight into how apps are localized, read <a href="/en-US/Apps/Build/Localization/Getting_started_with_app_localization">Getting started with app localization</a>.</p>
-<h3 id="shared">shared/</h3>
-<p>This directory contains a number of resources that multiple apps make use of; the most notable parts of these are:</p>
-<ul>
- <li><code>gaia/shared/js</code>: JavaScript libraries that perform common functions</li>
- <li><code>l10n.js</code>: A localisation library that detects your device's locale, and replaces localisable strings in your apps with the strings found in the apps locales folders. Localisable strings to be replaced are contained in elements with <code>data-l10n-id</code> attributes.</li>
- <li><code>gaia/shared/locales</code>: Localised resources for different locales.</li>
- <li><code>gaia/shared/resources</code>: Common assets such as icons, ringtones and alarm sound tracks.</li>
- <li><code>gaia/shared/style</code>: stylesheets and other styling resources for common building blocks such as buttons, progress bars, toolbars, tabs, etc. For more information on these, see <a href="/en-US/Apps/Design/Firefox_OS_building_blocks">Firefox OS Building Blocks</a>.</li>
- <li><code>gaia/shared/style_unstable</code>: unstable or experimental styling resources.</li>
- <li><code>gaia/shared/test</code>: JavaScript to define integration and unit tests.</li>
-</ul>
-<h3 id="tools">tools/</h3>
-<p>The tools directory contains tools for build scripts and tests.</p>
-<h2 id="Gaia_coding_style">Gaia coding style</h2>
-<p>Gaia follows the <a href="http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml">Google JavaScript coding style</a>.</p>
-<p>Background information:</p>
-<ul>
- <li>Coding Style: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#General_practices">General practices</a></li>
- <li>Coding Style: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#JavaScript_practices">JavaScript practices</a></li>
- <li>Coding Style: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#Naming_and_Formatting_code">Naming and formatting code</a></li>
-</ul>
-<h3 id="Specific_rules">Specific rules</h3>
-<ol>
- <li>Make sure HTML files are declared with <code>&lt;!DOCTYPE html&gt;</code> (that is, as HTML5 documents). If you don't, Internet Explorer 9 and later will load them in compatibility mode.</li>
- <li>Include the <code>"use strict";</code> statement (just like that, including the quotes) to the top of your JavaScript files to put them into strict mode.</li>
- <li>Always use two spaces for indentation, rather than tabs.</li>
- <li>Please use line breaks to separate logical bits of code!</li>
- <li>Multi-word file names should use the "underscore" character to separate words, <code>like_this.js</code>.</li>
- <li>Use single quotes instead of double quotes for strings.</li>
- <li>Use expanded conditional structures:
- <pre class="brush: js">Bad
-if (expression) doSomething();
-
-Correct
-if (expression) {
- doSomething();
-}</pre>
- </li>
- <li>If you're working on the <a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/System">System app</a>, check out the <a href="https://groups.google.com/forum/#!msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">guidance listed here</a>.</li>
-</ol>
-<h3 id="Per_commit_coding_style_check">Per commit coding style check</h3>
-<p>Gaia uses <a href="http://www.jshint.com/">jshint</a> to automatically check JS coding styles before each commit (via a git pre-commit hook). Once you submit a Pull Request to the Gaia repository, the Travis (Github Continuous Integration) server will run this linter to double check all styles are right.</p>
-<p>The precommit hook script is in <a href="https://github.com/mozilla-b2g/gaia/blob/master/tools/pre-commit">gaia/tools/pre-commit</a> and will be copied to project's <code>.git/hooks</code> folder once a <code>make</code> command is executed.</p>
-<div class="note">
- <p><strong>Note</strong>: We used to use <a href="https://developers.google.com/closure/utilities/docs/linter_howto">gjslint</a> to check coding styles, but we have since deprecated its use as jshint is stricter and produces better results. We’ve been using JSHint since Firefox OS 1.4, and gjslint is now only recommended for legacy files that have not yet been moved to JSHint.</p>
-</div>
-<h3 id="Running_linting_checks_manually_via_Gaia">Running linting checks manually via Gaia</h3>
-<p>Before submitting a patch we recommend you run JSHint on it manually to check for any style errors.<br>
- <br>
- You should look in the <a href="https://github.com/mozilla-b2g/gaia/tree/master/build/jshint">gaia/build/jshint</a> directory for more details about jshint in Gaia; Gaia provides the build script for you. You can run:</p>
-<pre class="brush: bash">$ make lint</pre>
-<p>to automatically run both the gjslint and jshint style checks. Or you can run</p>
-<pre class="brush: bash">$ make hint</pre>
-<p>to just run the jshint style check.</p>
-<div class="note">
- <p><strong>Note</strong>: If you want to install jshint yourself, without using Gaia, you can use the following:</p>
- <pre class="brush: bash">npm install jshint -g
-jshint myfile.js
-</pre>
-</div>
-<p> </p>
diff --git a/files/es/archive/b2g_os/developing_gaia/index.html b/files/es/archive/b2g_os/developing_gaia/index.html
deleted file mode 100644
index 93fce20871..0000000000
--- a/files/es/archive/b2g_os/developing_gaia/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Desarrollando Gaia
-slug: Archive/B2G_OS/Developing_Gaia
-tags:
- - Construir
- - Firefox OS
- - Gaia
- - Mozilla
-translation_of: Archive/B2G_OS/Developing_Gaia
----
-<div class="summary">
- <p><span class="seoSummary">Gaia es la interfaz de usuario de Firefox OS y el conjunto de aplicaciones por defecto: Incluye la pantalla de bloqueo, la pantalla de inicio, marcadores, y otras aplicaciones. Esencialmente, Gaia es un conjunto de aplicaciones web complejas que se ejecutan en la capa superior de la plataforma Firefox OS. Este conjunto de articulos cubre todo lo que necesita saber para contribuir con el proyecto Gaia.</span></p>
-</div>
-<p>En esta guía te llevaremos a un proceso de trabajo eficaz para contribuir con <em>Gaia</em> — y por eso queremos decir la adición de características al codigo base de  <em>Gaia</em> y trabajando en errores presentes en el proyecto <em>Gaia</em>. El primer grupo de articulos se puden trabajar en orden, o se puede saltar a la sección que necesita para recordar un aspecto específico de el proceso.</p>
-<p>Después de eso, se proporcionan materiales de referencia e información de temas adicionales.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/7951/gaia-2.0-screen.png" style="padding: 0px 0px 30px 30px; width: 320px; height: 533px; float: right;"></p>
-<h2 id="Lo_básico">Lo básico</h2>
-<ol>
- <li><a href="/es/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase">Ejecutar el codigo base de Gaia</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Understanding_the_Gaia_codebase"><span class="short_text" id="result_box" lang="es"><span class="hps alt-edited">Entender</span> <span class="hps alt-edited">el</span> <span class="hps alt-edited">código base</span> <span class="hps alt-edited">de Gaia</span></span></a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Making_Gaia_code_changes">Hacer cambios en el código de Gaia</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Test_Gaia_code_changes">Probando los cambios en el código de Gaia</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Submitting_a_Gaia_patch">Enviar los cambios de Gaia</a></li>
-</ol>
-<h2 id="Referencia_contrucción_de_Gaia">Referencia contrucción de Gaia</h2>
-<ul>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Build_System_Primer">Introducción al sistema de contrucción de Gaia</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Customizing_build-time_apps">Personalizar aplicaciones en tiempo de compilación</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/make_options_reference">Referencia de las opciones del comando Make</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Gaia_tools_reference">Referencia a las herramientas de Gaia</a></li>
-</ul>
-<h2 id="Ver_también">Ver también</h2>
-<ul>
- <li><a href="/en-US/Firefox_OS/Developing_Firefox_OS/Filing_bugs_against_Firefox_OS">Informar sobre errores de Firefox OS</a></li>
- <li><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps">Guía de las aplicaciones de Gaia</a></li>
- <li><a href="/it/Firefox_OS/Guida_rapida_allo_sviluppo_di_Gaia/Diversi_modi_per_eseguire_Gaia">Diversidad de maneras para visualizar Gaia</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Market_customizations_guide">Guía de personalización de comercialización</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Customizing_the_keyboard">Personalización del teclado para las aplicaciones en Firefox OS</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/Localizing_Firefox_OS">Localización en Firefox OS (Guía de localización)</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia/L10n_Best_Practices">L10n Buenas Practicas (Para desarrolladores )</a></li>
-</ul>
-<p> </p>
-<p></p><div class="overheadIndicator communitybox" dir="ltr">
-
- <div class="column-container">
- <h2 id="Join_the_Gaia_community">Join the Gaia community</h2>
- <div class="column-half">
- <div class="communitysubhead">Choose your preferred method for joining the discussion:</div>
- <ul class="communitymailinglist">
- <li><a href="https://lists.mozilla.org/listinfo/dev-gaia"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia/feeds"> como RSS</a></li>
-</ul>
- </div>
- <div class="column-half">
- <ul class="communitycontact"><li><strong>IRC: </strong><a href="irc://irc.mozilla.org/gaia">#gaia</a> <span class="smaller">(<a href="https://wiki.mozilla.org/IRC">learn more</a>)</span></li><li><strong>Other IRC channels: </strong><a href="irc://irc.mozilla.org/b2g" title="Discuss B2G, the overall Firefox OS platform">#b2g</a>, <a href="irc://irc.mozilla.org/openwebapps" title="Talk with Web app developers">#openwebapps</a>, <a href="irc://irc.mozilla.org/webapi" title="Discuss Web APIs used to create powerful Web apps">#webapi</a></li></ul>
- </div>
- </div>
-</div><p></p>
diff --git a/files/es/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html b/files/es/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html
deleted file mode 100644
index 334a44b435..0000000000
--- a/files/es/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Ejecutar el codigo base de Gaia
-slug: Archive/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase
-tags:
- - Gaia
-translation_of: Archive/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase
----
-<div class="summary">
- <p><span class="seoSummary">Este artículo se muestra en detalle cómo ejecutar el código base de Gaia, y qué herramienta están disponibles en esta configuración.</span></p>
-</div>
-<p>Para empezar, debemos señalar que NO tiene que compilar Gecko, o B2G, para contribuir con Gaia. Sólo tienes que descargar el código fuente de Gaia y tendrás la capacidad de ejecutarlo y editarlo.<br>
- <br>
- Hay diferentes formas de ejecutar Gaia:</p>
-<ul>
- <li>Flashear tu teléfono con tu actualización Gaia.</li>
- <li>Iniciar tu Gaia dentro de B2G Desktop.</li>
- <li>Correr tu Gaia dentro del WebIDE.</li>
- <li>Iniciar Gaia dentro de  nuestra herramienta de Firefox Mulet tool para correr Gaia en el Escritorio.</li>
-</ul>
-<p>Puedes encontrar información concisa de como <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia">ejecutar Gaia de estas diferentes maneras </a>desde esta página, junto con enlaces e información detallada. En general, estos se ordenan de lo más complejo (experiencia más realista), a lo más fácil (experiencia menos realista).</p>
-<p>En este artículo vamos a concentrarnos en el funcionamiento de Gaia dentro de Firefox Mulet o en el WebIDE — para la mayoría de los cambios que hagas en el código base de Gaia, este mecanismo ofrece la forma más rapida de probar los cambios, pero obviamente hay algunas características (tales como probar las API del dispositivo o la interaccíon con el hardware del teléfono) no estarán disponibles, ya que necesitara un dispositivo real.</p>
-<div class="note">
- <p><strong>Nota</strong>: Para obtener más ayuda con Gaia, los mejores lugares son el canal #gaia (ver <a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a> para más información) y la <a href="https://lists.mozilla.org/listinfo/dev-gaia">lista de correo dev-gaia</a>.</p>
-</div>
-<h2 id="Ejecutar_tu_construcción_de_Gaia">Ejecutar tu construcción de Gaia</h2>
-<ol>
- <li>Primero, hacer una bifurcación (fork) de el <a href="https://github.com/mozilla-b2g/gaia">Repositorio de Gaia en Github</a>.</li>
- <li>Después, clona tu bifurcación localmente:
- <pre class="brush: bash">git clone https://github.com/your-username/gaia.git</pre>
- </li>
- <li>Agrega tu producción (upstream) como esto:
- <pre class="brush: bash">cd gaia
-git remote add upstream https://github.com/mozilla-b2g/gaia</pre>
- </li>
- <li>Now you need to create a Gaia profile. Running <code>make</code> inside your repo folder creates a profile in the <code>profile</code> directory, which is setup for optimal debugging. It creates unpackaged (hosted versions) of the Gaia apps that can be served directly via the local HTTPD server bundled along with Firefox desktop as an extension. When you make a change you just need to refresh your browser window to see the result (as you'll see later), rather than having to rebuild the profile, repush it to the device, etc. This is really good for rapid CSS/JS/HTML hacking.</li>
- <li>With your debug profile built, run it in <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_in_Firefox_Mulet">Mulet</a> or <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_inside_WebIDE_with_a_Firefox_OS_Simulator">WebIDE</a>, using the linked instructions.</li>
-</ol>
-<h2 id="Troobleshooting_and_known_issues">Troobleshooting and known issues</h2>
-<h3 id="Error_Python_executable_python3_is_v3.x_which_is_not_supported_by_gyp.">Error: Python executable "python3" is v3.x, which is not supported by gyp.</h3>
-<p>On some Linux distributions (eg: Archlinux), the default <code>python</code> is <code>python3</code>. This makes <code>npm</code> fail when running some commands (eg. when running tests). To fix it once and for all, you can run the following command:</p>
-<pre>npm config set python python2</pre>
-<p>You can look at this <a href="http://stackoverflow.com/questions/20454199/how-to-use-a-different-version-of-python-duing-npm-install">Stack Overflow page</a> for other solutions.</p>
-<p>Then you should delete your <code>node_modules</code> directory and run the failed command again.</p>
-<h3 id="Please_Install_NodeJS_--_(use_aptitude_on_linux_or_homebrew_on_osx)">Please Install NodeJS -- (use aptitude on linux or homebrew on osx)</h3>
-<p>So, you get this error although you think you installed it. Chances are you're running Debian or another Debian-based distribution like Ubuntu. On these distributions, NodeJS is contained in the <code>nodejs</code> package, and you can install the <code>nodejs-legacy</code> package to set up everything correctly:</p>
-<pre>sudo aptitude install nodejs-legacy</pre>
-<p>If you have issues installing this package, maybe you're using <a href="http://www.ubuntuupdates.org/ppa/chris_lea_nodejs">Chris Lea's PPA for Node</a>; please remove it before moving forward.</p>
diff --git a/files/es/archive/b2g_os/elegir_como_ejecutar_gaia_o_b2g/index.html b/files/es/archive/b2g_os/elegir_como_ejecutar_gaia_o_b2g/index.html
deleted file mode 100644
index 3a741cb101..0000000000
--- a/files/es/archive/b2g_os/elegir_como_ejecutar_gaia_o_b2g/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Elegir cómo ejecutar Gaia o B2G
-slug: Archive/B2G_OS/Elegir_como_ejecutar_Gaia_o_B2G
-tags:
- - B2G
- - Firefox OS
-translation_of: Archive/B2G_OS/Choosing_how_to_run_Gaia_or_B2G
----
-<p></p>
-<p>Dependiendo de tus necesidades, tienes varias opciones a considerar cuando experimentes con Firefox OS o la interfaz gráfica <a href="/en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a>. Puedes elegir entre las opciones que te presentamos en esta página; cada opción tiene ventajas y desventajas a tener en cuenta, y algunas opciones son más flexibles que otras.</p>
-<h2 id="Ejecutar_B2G_en_un_equipo">Ejecutar B2G en un equipo</h2>
-<p>Es posible compilar un simulador de Firefox OS y ejecutar Gaia en él. Este programa está basado en Firefox pero se comporta de forma muy parecida a Firefox OS en un móvil. Actualmente, Mozilla proporciona <a href="https://wiki.mozilla.org/Gaia/Hacking#ATTENTION_-_Desktop_builds_now_available" title="https://wiki.mozilla.org/Gaia/Hacking#ATTENTION_-_Desktop_builds_now_available">versiones diarias de esta aplicación</a> para desarrolladores. Si estás familiarizado con cómo compilar el código fuente de Firefox u otros proyectos en C++, puedes compilar la aplicación tú mismo <a class="link-https" href="https://wiki.mozilla.org/Gaia/Hacking#Building_B2G" title="https://wiki.mozilla.org/Gaia/Hacking#Building_B2G">siguiendo estas instrucciones</a>.</p>
-<h3 id="Ventajas">Ventajas</h3>
-<ul>
- <li>El simulador te proporciona un "viewport" del mismo tamaño que el de un móvil.</li>
- <li>La experiencia es similar a la de un móvil de verdad en la mayoría de los casos.</li>
- <li>Te da acceso a muchos de las APIs del dispositivo (aunque no a todos).</li>
-</ul>
-<h3 id="Desventajas">Desventajas</h3>
-<ul>
- <li>Necesitas tener instalado un compilador para C/C++.</li>
- <li>Tienes que compilar Gecko y el simulador tú mismo.</li>
- <li>Las herramientas para desarrolladores de Firefox no están disponibles.</li>
-</ul>
-<h3 id="Razones_para_utilizar_el_simulador_B2G">Razones para utilizar el simulador B2G</h3>
-<p>El simulador es una sólida solución intermedia para desarollo y testeo. Es una buena manera de obtener una referencia de cómo tu aplicación o cualquier otro código funciona en un entorno similar a un móvil, sin tener que flashear un teléfono cada vez que quieras probar algo.</p>
-<div class="note">
- <strong>Atención:</strong> Antes de distribuir una aplicación, debes testearla primero en teléfonos de verdad.</div>
-<h3 class="note" id="Variantes_del_simulador">Variantes del simulador</h3>
-<p>Hay diferentes variantes del simulador de Firefox OS:</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_Simulator" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_Simulator">Add-on</a></dt>
- <dd>
- Esta extensión en la herramienta fundamental para testear apps en Firefox OS, y es la solución recomendada para la mayoría de usuarios. Es compatible con las herramientas para desarrolladores, agregar aplicaciones al entorno de testeo, etcétera.</dd>
- <dt>
- Versiones "desktop" para desarrolladores</dt>
- <dd>
- Estas versiones del simulador son aplicaciones independientes creadas para ayudar al equipo de desarrolladores de Firefox OS a verificar características técnicas.</dd>
- <dt>
- Versiones "desktop" para traductores</dt>
- <dd>
- Las versiones para traductores son útiles para los equipos de localización, que las usan en su trabajo y para probar las traducciones de Firefox OS y sus aplicaciones.</dd>
-</dl>
-<h2 id="Ejecutar_B2G_en_un_dispositivo_móvil">Ejecutar B2G en un dispositivo móvil</h2>
-<p>La forma más completa de probar tu código para B2G o Gaia, o tu aplicación web, es compilar e instalar Firefox OS en un dispositivo móvil de verdad. Ésta es también la forma más compleja.</p>
-<h3 id="Ventajas_2">Ventajas</h3>
-<ul>
- <li>Obtienes la experiencia real del dispositivo móvil.</li>
- <li>Tienes acceso a todos las APIs del dispositivo.</li>
- <li>Puedes comprobar el rendimiento de tu código en condiciones de uso reales.</li>
-</ul>
-<h3 id="Desventajas_2">Desventajas</h3>
-<ul>
- <li>Necesitas tener instalado un compilador para C/C++.</li>
- <li>Tienes que compilar Gecko y Gaia tú mismo.</li>
- <li>Necesitas un dispositivo móvil compatible en el que instalar el sistema operativo B2G.</li>
- <li>Tienes que flashear el móvil con B2G, eliminando el sistema operativo que esté instalado en el dispositivo.</li>
-</ul>
-<h3 id="Razones_para_utilizar_B2G_en_un_dispositivo_móvil">Razones para utilizar B2G en un dispositivo móvil</h3>
-<p>Obviamente, ésta es la forma más realista de testear cualquier código o proyecto web en B2G o Gaia. Ejecutando en hardware real, te aseguras de que tu proyecto rinde bien, de que su presentación es correcta, y de que utiliza todos las APIs del dispositivo adecuadamente. Además, <strong>siempre</strong> debes probar tu código en hardware de verdad antes de distribuirlo; no hacerlo puede tener desafortunadas consecuencias que son difíciles de predecir.</p>
diff --git a/files/es/archive/b2g_os/firefox_os_apps/building_blocks/index.html b/files/es/archive/b2g_os/firefox_os_apps/building_blocks/index.html
deleted file mode 100644
index e3d6ceee63..0000000000
--- a/files/es/archive/b2g_os/firefox_os_apps/building_blocks/index.html
+++ /dev/null
@@ -1,195 +0,0 @@
----
-title: Firefox OS Building Blocks
-slug: Archive/B2G_OS/Firefox_OS_apps/Building_blocks
-tags:
- - Design
- - Design patterns
- - Firefox OS
- - NeedsTranslation
- - TopicStub
- - UI
- - building blocks
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_blocks
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/es/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<div class="summary">
-<p>The Firefox OS Building Blocks are reusable UI components (also called 'common controls') that reflect OS-wide design patterns. Building Blocks are used to create the interfaces of all <a href="/en-US/Firefox_OS/Platform/Gaia">Gaia</a> default apps. You are free to make use of these components in your own Firefox OS apps, or general Web apps.</p>
-</div>
-
-<h2 id="Using_the_Firefox_OS_Building_Blocks">Using the Firefox OS Building Blocks</h2>
-
-<p>The code for the Firefox OS Building Blocks can be found in the <a href="https://github.com/mozilla-b2g/gaia">Gaia Github repo</a> under <a href="https://github.com/mozilla-b2g/gaia/tree/master/shared/style">shared/style</a>. Here, you can find a CSS file that contains the CSS for that particular Building Block, and a sub directory containing the HTML fragments and image assets. If you are creating your own standalone Web app, you can simply copy the CSS, HTML and image asset files across into your own project; if your app is intended to be installed on Firefox OS only (or you want to use these features only when the app is being used on Firefox OS), then you can link to the versions available inside Gaia.</p>
-
-<p>The pages for the individual Building Block implementations can be found under the pages for each building block — see next section. These contain instructions on how to implement each one.</p>
-
-<div class="note">
-<p><strong>Note</strong>: The version 2.0 building block code is used in Firefox OS releases 2.0 through 2.2. Version 2.3 sees an update, with the building blocks being reimplemented using <a href="/en-US/docs/Web/Web_Components">Web components</a> — these provide the same functionality, but implemented in a much more powerful, flexible way. You'll see 2.3 pages appear underneath the main building block pages covering these Web components as soon as the information is available.</p>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: We also have an old guide covering the <a href="/en-US/Apps/Design/Firefox_OS_building_blocks/1.x">v1.x building blocks</a> used in older versions of Firefox OS. This is mainly for legacy information.</p>
-</div>
-
-<h2 id="Web_components_preliminary_setup">Web components preliminary setup</h2>
-
-<p>This section details the preliminary setup needed to use Gaia Web components.</p>
-
-<h3 id="Web_components_browser_support">Web components browser support</h3>
-
-<p>To use <a href="https://github.com/gaia-components">Gaia Web components</a> at all, you need to run them using a browser that supports Web components. The state of support is as follows:</p>
-
-<ul>
- <li>Firefox: Supported since Firefox 23 (33 on Android), but preffed off. To enable Web components, go to <code>about:config</code> and enable the <code>dom.webcomponents.enabled</code> pref.</li>
- <li>Chrome: Supported since Chrome 33 (39 on Android).</li>
- <li>Opera: Supported since Opera 20 (24 on Android).</li>
- <li>Android browser: Supported since 4.4.4.</li>
- <li>Safari/iOS Mobile and IE/IE mobile: Nope.</li>
-</ul>
-
-<p>Web components are supported in Firefox OS from v2.1 onwards, although most of them weren't actually implemented until v2.3. Be aware also that currently Web components won't work for Firefox OS apps below internal (certified) level. This restriction should be lessened in the future.</p>
-
-<div class="note">
-<p><strong>Note</strong>: If your app is certified, the components will just work. You don't need to set a specific manifest permission.</p>
-</div>
-
-<h3 id="Web_components_installation_notes">Web components installation notes</h3>
-
-<p>Gaia Web components are installed in your app using the <a href="http://bower.io/">Bower</a> package manager. To install this, you first need <a href="http://nodejs.org/">Node.js/npm</a> and <a href="http://www.git-scm.com/">Git</a> installed. Once they are installed you can install Bower with</p>
-
-<pre class="brush: bash">npm install -g bower</pre>
-
-<p>At this point you could also install the Gaia Fira Sans font that Firefox OS uses in your app , with the following command:</p>
-
-<pre class="brush: bash">bower install gaia-components/gaia-fonts</pre>
-
-<p>You can then make use of the font by including the following in your head (along with a <code>font-family</code> of <code>FiraSans</code>):</p>
-
-<pre class="brush: html">&lt;link rel="stylesheet" type="text/css" href="bower_components/gaia-fonts/style.css"&gt;&lt;/link&gt;</pre>
-
-<h2 id="Firefox_OS_Building_Blocks">Firefox OS Building Blocks</h2>
-
-<div class="column-container">
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Action_menu">Action menu</a></dt>
- <dd>An action menu presents a list of actions, related to the app's content, from which the user may make a selection.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Banners">Banners</a></dt>
- <dd>Banners (Status, in older versions of Firefox OS) provide information to the user in a transitory fashion, typically to confirm an action or to alert the user to a system event.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Buttons">Buttons</a></dt>
- <dd>Buttons are used to perform explicit actions. Buttons may be text or images.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Context_menu">Context menu</a></dt>
- <dd>Accessed via a tap and hold gesture (sometimes called a <em>long press</em>), the Context Menu (called the Object Menu in older versions of Firefox OS) allows users to perform actions on objects without having to leave their current view.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Dialog">Dialog</a></dt>
- <dd>A Dialog (Confirm, in older versions of Firefox OS) provides the user with some important information, asks the user to take or confirm an action, or allows the user to make a choice or enter some information.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Drawer">Drawer</a></dt>
- <dd>The drawer is a scalable way for users to navigate between views or filter views. The drawer can also include links to app settings or other tools.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Header">Header</a></dt>
- <dd>A header is a dedicated space at the top of the screen, most often used to display the view title. It can also include navigation, action buttons and other controls.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Input_area">Input area</a></dt>
- <dd>An input area is a data entry field, and can be as simple as a text only entry field, or as complex as a multipart entry field with text entry, value selections, and buttons.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Layout">Layout</a></dt>
- <dd>The Layout utility will help you to create common layout structures for your Firefox OS apps. Note that Layout is only available in Firefox OS 2.1 and above.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/List_items">List items</a></dt>
- <dd>List items are typically used to navigate to a new screen, or to display information or controls.</dd>
-</dl>
-</div>
-
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Picker">Picker</a></dt>
- <dd>The Picker is designed to select a group of items as attachments for messaging and email.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Progress_and_activity">Progress and activity</a></dt>
- <dd>Progress and activity indicators provide the user with visual feedback that a process (such as a resource loading) is active.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Scrolling">Scrolling</a></dt>
- <dd>Scrolling areas allow the user to move text and/or images across the device's display.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Search">Search</a></dt>
- <dd>Search is used to filter a list or find context-specific content.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Slider">Slider</a></dt>
- <dd>A Slider (which was called Seekbar in older Firefox OS versions) is used to select a value from a continuous or discrete range of values by dragging the handle.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Select_mode">Select mode</a></dt>
- <dd>Select Mode (which was called Edit Mode in older Firefox OS versions) is designed to select and perform actions on items.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Subheader">Subheader</a></dt>
- <dd>Subheaders are used to describe a subsection of content.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Switches">Switches</a></dt>
- <dd>Switches (such as checkboxes, etc.) allow users to activate and deactivate items. Switches are also used to select items within a list.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Tab_Filter">Tab/Filter</a></dt>
- <dd>A Tab/Filter gives the user a way to easily switch between views or to filter a set of data.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Toolbars">Toolbars</a></dt>
- <dd>Toolbars contain actions, indicators and navigation elements associated with the current view.</dd>
- <dt><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/Value_selector">Value selector</a></dt>
- <dd>Value Selectors let the user choose from among a list of possible values.</dd>
-</dl>
-</div>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: For a detailed guide to the design pattern followed by the building blocks when the Arabic locale (bidirectional) is selected, read <a href="/en-US/Apps/Design/Firefox_OS_in_Arabic">Firefox OS in Arabic</a>.</p>
-</div>
-
-<h2 id="Cross_browser_CSS">Cross browser CSS</h2>
-
-<p>Arnau March wrote a CSS file called <a href="https://github.com/mdn/gaia-2.0-bb/blob/gh-pages/cross_browser_css/cross_browser.css">cross browser CSS</a>, containing rules to allow Firefox 2.0 building blocks to render properly across different browsers (ie 9, Firefox 18, Chrome 24, Safari 5.1.) If you want to write hosted apps that look ok across different browsers, include this CSS in your project.</p>
-
-<h2 id="Browse_Firefox_OS_Building_Block_implementations_by_version">Browse Firefox OS Building Block implementations by version</h2>
-
-<p>The pages below list links to pages covering the Firefox OS Building Block implementations as they appear in different versions of Firefox OS.</p>
-
-<ul>
- <li><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/2.3">Firefox OS 2.3 Web components</a></li>
- <li><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/2.0">Firefox OS 2.0 building blocks</a> (covers Firefox OS 2.0–2.2.)</li>
- <li><a href="/en-US/Apps/Design/Firefox_OS_building_blocks/1.x">Firefox OS 1.x building blocks</a> (covers older versions of Firefox OS.)</li>
-</ul>
diff --git a/files/es/archive/b2g_os/firefox_os_apps/index.html b/files/es/archive/b2g_os/firefox_os_apps/index.html
deleted file mode 100644
index 370236dd14..0000000000
--- a/files/es/archive/b2g_os/firefox_os_apps/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Firefox OS apps
-slug: Archive/B2G_OS/Firefox_OS_apps
-tags:
- - Apps
- - Building
- - Components
- - Firefox OS
- - Installing
- - NeedsTranslation
- - TopicStub
- - device APIs
-translation_of: Archive/B2G_OS/Firefox_OS_apps
----
-<p class="summary">This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.</p>
-
-<h2 id="Building_Firefox_OS_apps">Building Firefox OS apps</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS">Building apps for Firefox OS</a></dt>
- <dd>Firefox OS/Firefox platform app specifics, including App installation and management APIs, manifest files, packaged and hosted apps, handling API permissions.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Localization">Localization</a></dt>
- <dd>This set of articles provides information for developers wishing to provide localized versions of their apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Performance">Performance</a></dt>
- <dd>This page lists performance-related topics specific to Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_Accounts_on_Firefox_OS">Firefox Accounts on Firefox OS</a></dt>
- <dd>This article provides an overview of using <a href="/en-US/docs/Mozilla/Tech/Firefox_Accounts">Firefox Accounts</a> in Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Reference_apps">Reference apps</a></dt>
- <dd>This page lists a number of sample apps we've put together for you to download, install, play with and learn from. Have fun!</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Screencast_series:_App_Basics_for_Firefox_OS">Screencast series: App Basics for Firefox OS</a></dt>
- <dd>In this collection of short videos, developers from Mozilla and Telenor explain in a few steps how you can get started with building applications for Firefox OS.</dd>
-</dl>
-
-<h2 id="Building_blocks">Building blocks</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_blocks">Building Blocks</a></dt>
- <dd>The Firefox OS Building Blocks are reusable UI components (also called 'common controls') that reflect OS-wide design patterns. Building Blocks are used to create the interfaces of all <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gaia">Gaia</a> default apps. You are free to make use of these components in your own Firefox OS apps, or general Web apps.</dd>
-</dl>
-
-<h2 id="Styleguides">Styleguides</h2>
-
-<dl>
- <dt><a href="http://www.mozilla.org/en-US/styleguide/products/firefox-os/">Firefox OS Visual styleguide</a></dt>
- <dd>Our style guide for Firefox OS visual design, covering colours, typeface, backgrounds, app icons, and the design of specific UI elements.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Copy_styleguide">Firefox OS Copy styleguide</a></dt>
- <dd>This guide outlines the rules we follow for writing Firefox OS app copy, but can be used as a general guide to writing good copy for any app interfaces.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_in_Arabic">Firefox OS in Arabic</a></dt>
- <dd>A guide to the specific UX design implementation Firefox OS has in place for dealing with Arabic (and other RTL languages.)</dd>
-</dl>
-
-<h2 id="Assets">Assets</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Design_asset_library">Firefox OS design asset library</a></dt>
- <dd>In this section you'll find design assets, artwork, graphic templates, fonts and other materials that will be helpful as you design Firefox OS/Gaia apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Icon_font">Firefox OS icon font</a></dt>
- <dd>Firefox OS has its own icon font set available: this article explains how to use it in your own apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Transitions">Firefox OS transitions</a></dt>
- <dd>A reference to some of the transitions used in Firefox OS to move between different states in apps, including animated GIFs demonstrating the animations used, plus code samples to show the CSS animation code needed to implement these animations.</dd>
-</dl>
-
-<h2 id="References">References</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_device_APIs">Firefox OS device APIs</a></dt>
- <dd>This article provides a list of pages covering those APIs, as well as the <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest">app manifest</a> permissions for each one.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_app_tools">Firefox OS app tools</a></dt>
- <dd>This page provides a list of useful tools, libraries, examples, etc. that are useful for Firefox OS app developers, whether you want a code template to copy, or need help with adding a specific feature to your Firefox OS app.</dd>
-</dl>
-
-<h2 id="Other_app_topics">Other app topics</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Porting_Chrome_apps">Porting Chrome apps to Firefox OS Apps</a></dt>
- <dd>This article discusses the differences between Chrome apps and Firefox OS Apps, and how you can convert between the two.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/App_development_FAQ">App development FAQ</a></dt>
- <dd>This FAQ is a compilation of answers to common app development questions.</dd>
-</dl>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/Marketplace">Firefox Marketplace</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/firefox_os_build_prerequisites/index.html b/files/es/archive/b2g_os/firefox_os_build_prerequisites/index.html
deleted file mode 100644
index f21ca58901..0000000000
--- a/files/es/archive/b2g_os/firefox_os_build_prerequisites/index.html
+++ /dev/null
@@ -1,204 +0,0 @@
----
-title: Prerrequisitos para compilar Firefox OS
-slug: Archive/B2G_OS/Firefox_OS_build_prerequisites
-translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
----
-<p>Antes de bajarte el código fuente para compilar Firefox OS, necesitas un <a href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions">sistema de compilación</a> configurado correctamente. Ahora mismo, es posible compilar en distribuciones Linux de 64 bits, y en Mac OS X.</p>
-<h2 id="Necesitas_un_teléfono_móvil_compatible_o_un_emulador">Necesitas un teléfono móvil compatible o un emulador</h2>
-<p>Esto es importante. Aunque hay varios teléfonos compatibles, algunos de ellos tienen variantes y es posible que sólo algunas de esas variantes sean compatibles. Además, algunos teléfonos son más compatibles que otros. Ahora mismo, puedes utilizar Firefox OS / B2G en los siguientes teléfonos y dispositivos:</p>
-<h3 id="Categoría_1">Categoría 1</h3>
-<p>Dispositivos de Categoría 1 son aquellos que recomendamos para tareas de desarrollo, porque son los que primero reciben nueva funcionalidad y soluciones a problemas y errores. Los dispositivos de Categoría 1 son:</p>
-<dl>
- <dt>
- Unagi</dt>
- <dd>
- Unagi es un teléfono que usamos como plataforma de prueba y desarrollo para smartphones simples o de mediana capacidad. Muchos de los desarrolladores del equipo de Firefox OS utilizan Unagi.</dd>
- <dt>
- Otoro</dt>
- <dd>
- Otoro es un teléfono que usamos como plataforma de prueba y desarrollo para smartphones simples o de mediana capacidad. Muchos de los desarrolladores del equipo de Firefox OS utilizan Otoro.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard" title="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">Pandaboard</a></dt>
- <dd>
- Pandaboard es una mini placa base que se usa en el desarrollo de plataformas móviles. La placa está basada en la arquitectura OMAP 4.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">Emulator (ARM and x86)</a></dt>
- <dd>
- Hay dos emuladores: uno emula código ARM y el otro ejecuta en código x86.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Ordenador</a></dt>
- <dd>
- También puedes construir una versión de Firefox OS para ordenador que ejecuta <a href="/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a> en una aplicación <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> y utiliza la experiencia de usuario que proporciona <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a></dd>
-</dl>
-<p><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">La versión para ordenador</a> y los <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">emuladores</a> no requieren teléfono.</p>
-<h3 id="Categoría_2">Categoría 2</h3>
-<p>Los teléfonos de Categoría 2 en general funcionan, y muchos desarrolladores, especialmente desarrolladores de aplicaciones, los utilizan; pero tienden a recibir cambios y novedades más tarde.</p>
-<dl>
- <dt>
- <a class="link-https" href="https://en.wikipedia.org/wiki/Nexus_S#Variants" title="https://en.wikipedia.org/wiki/Nexus_S#Variants">Samsung Nexus S</a></dt>
- <dd>
- Los modelos de Nexus S que sabemos funcionan son el GT-I9020A y el GT-I9023. Es posible que otros modelos también funcionen.</dd>
- <dt>
- Samsung Nexus S 4G</dt>
- <dd>
- El modelo SPH-D720 es compatible como Categoría 2.</dd>
-</dl>
-<h3 id="Categoría_3">Categoría 3</h3>
-<p>Se puede construir Firefox OS para estos teléfonos, pero los desarrolladores del equipo de Firefox OS no trabajan en ellos regularmente, así que su funcionamiento y funcionalidad puede que sean significativamente peores que los de Categorías 1 y 2.</p>
-<dl>
- <dt>
- Samsung Galaxy S2</dt>
- <dd>
- El único modelo que funciona es el i9100. Ninguna de las otras variantes es oficialmente compatible. (Es posible que el i9100P también funcione, ya que la única diferencia es la adición del chip NFC).</dd>
- <dt>
- Samsung Galaxy Nexus</dt>
- <dd>
- En estos momentos no sabemos de ninguna variante que no sea compatible.</dd>
-</dl>
-<div class="warning">
- <strong>Importante</strong>: Sólo son compatibles los teléfonos que utilizan como mínimo <strong>Android 4</strong> (alias <strong>Ice Cream Sandwich</strong>). Si tu teléfono se menciona en esta página pero usa una versión de Android más antigua, actualízalo primero.</div>
-<h2 id="Requisitos_para_Linux">Requisitos para Linux</h2>
-<p>Para compilar en Linux, necesitas:</p>
-<ul>
- <li>Una instalación de <strong>GNU/Linux </strong><strong>64 bits </strong> (como distribución recomendamos Ubuntu 12.04).</li>
- <li>Un mínimo de <strong>4 GB</strong> de ram / espacio en la partición de intercambio.</li>
- <li>Un mínimo de <strong>20 GB</strong> de espacio libre en disco duro.</li>
-</ul>
-<p>Estos requisitos son más que el mínimo indispensable, pero los recomendamos porque la construcción puede fallar debido a falta de recursos.</p>
-<p>Puedes utilizar otras distribuciones, pero recomendamos Ubuntu 12.04 porque es el sistema que más gente utiliza sin dar problemas. Distribuciones que quizá no funcionen: <strong>distribuciones de 32 bits</strong> y distribuciones recientes (<strong>Ubuntu 12.10, Fedora 17/18, Arch Linux</strong> debido a <strong>gcc 4.7</strong>).</p>
-<p>También necesitas instalar las siguiente utilidades:</p>
-<ul>
- <li><strong>autoconf 2.13</strong></li>
- <li><strong>bison</strong></li>
- <li><strong>bzip2</strong></li>
- <li><strong>ccache</strong></li>
- <li><strong>curl</strong></li>
- <li><strong>flex</strong></li>
- <li><strong>gawk</strong></li>
- <li><strong>git</strong></li>
- <li><strong>gcc / g++ / g++-multilib</strong> <strong>(4.6.3 or older)</strong></li>
- <li><strong>make</strong></li>
- <li><strong>OpenGL headers</strong></li>
- <li><strong>X11 headers</strong></li>
- <li><strong>32-bit ncurses</strong></li>
- <li><strong>32-bit zlib</strong></li>
-</ul>
-<h3 id="Ejemplos_de_instalación_de_64_bits"><strong>Ejemplos de instalación de 64 bits:</strong></h3>
-<p><strong>Ubuntu 12.04 / Linux Mint 13 / Debian 6</strong></p>
-<pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make</pre>
-<p class="note">Cuando compiles en Ubuntu 64 bits, es posible que necesites crear enlaces simbólicos (symlinks) a las versiones de 32 bits de <code>libX11.so</code> y <code>libGL.so</code>:</p>
-<pre class="note">$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
-$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so</pre>
-<p><strong>Ubuntu 12.10</strong></p>
-<pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make</pre>
-<p class="note">Además del paso ya explicado para solucionar el problema con las versiones 32 bits de <code>libX11.so</code> y <code>libGL.so</code>, también necesitas especificar GCC 4.6 como el compilador del host por defecto antes de empezar a construir. Una vez que te hayas descargado el código, <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler" title="en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">lee nuestras instrucciones</a> al respecto.</p>
-<p><strong>Fedora 16:</strong></p>
-<pre class="note">$ sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686</pre>
-<p><strong>Arch Linux (distribución aún incompatible):</strong></p>
-<pre class="note">$ sudo <span style=""><span style="">pacman -S --needed </span></span><span style=""><span style="">alsa-lib </span></span><span style=""><span style="">autoconf2.13</span></span><span style=""><span style=""> bison</span></span><span style=""><span style=""> ccache</span></span><span style=""><span style=""> </span></span><span style=""><span style="">curl firefox </span></span><span style=""><span style="">flex </span></span><span style=""><span style="">gcc-multilib </span></span><span style=""><span style="">git </span></span><span style=""><span style="">gperf </span></span><span style=""><span style="">libnotify </span></span><span style=""><span style="">libxt </span></span><span style=""><span style="">libx11 mesa multilib-devel </span></span><span style=""><span style="">wireless_tools </span></span><span style=""><span style="">yasm</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-mesa </span></span><span style=""><span style="">lib32-ncurses lib32-readline</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-zlib</span></span></pre>
-<p>Por defecto, Arch Linux utiliza Python3. Necesitas forzar el uso del antiguo python2:</p>
-<pre><span style=""><span style="">$ cd /usr/bin</span></span>
-
-<span style=""><span style="">$ sudo ln -fs python2 python</span></span></pre>
-<h2 id="Requisitos_para_Mac_OS_X">Requisitos para Mac OS X</h2>
-<p>Para compilar Firefox OS con Mac OS X, necesitas <a class="external" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">instalar Xcode</a>, que está disponible en el Mac App Store.</p>
-<p><strong>Instalar las Utilidades de Línea de Comandos (XCode 4.3.1 y versiones más recientes)</strong></p>
-<p>Xcode 4.3.1 (OS X 10.7 "Lion") y versiones más recientes como 4.4.1+ (Mac OS X10.8 "Mountain Lion") no incluyen necesariamente las Utilidades de Línea de Comandos. Cuando instales Xcode, abre las Preferencias, luego el Panel de Descargas, e instala las Utilidades de Línea de Comandos. Además, asegúrate de que tienes como mínimo 20 GB de espacio libre en el disco duro.</p>
-<p><img alt="Imagen de la opción de para bajarse la Utilidades de Línea de Comandos en Xcode" src="/files/4557/xcode_downloads_command_line_tools.png" style="width: 750px; height: 528px;"></p>
-<div class="note">
- <strong>Atención:</strong> El emulador de Firefox OS necesita un procesador Core 2 Duo o más reciente, es decir, un sistema compatible con Mac OS X 10.7 "Lion". No tienes por qué utilizar Lion, pero tu sistema debe ser compatible con Lion. Esto es sólo para el emulador: puedes construir Firefox OS en Macs más antiguos.</div>
-<p><font face="Georgia, Times, Times New Roman, serif"><span style="font-size: 20px; line-height: 31px;"><b>Cómo iniciar Firefox OS en Mac</b></span></font></p>
-<p>Abre una consola y ejecuta el comando siguiente:</p>
-<pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre>
-<p>Este comando obtiene y ejecuta un programa de inicio que se asegura de que tienes todo lo necesario para compilar el emulador. También solicitará permiso para instalar cualquier cosa que falte. El programa buscará e instalará lo siguiente:</p>
-<ul>
- <li><code>git</code></li>
- <li><code>gpg</code></li>
- <li><code>ccache</code></li>
- <li><code>yasm</code></li>
- <li><code>autoconf-213</code></li>
- <li><code>gcc-4.6</code></li>
- <li><code>homebrew</code></li>
-</ul>
-<div>
- <p>Xcode</p>
- <p>Si ya has actualizado Xcode a la versión 4.4+ pero recibes un mensaje diciendo que Xcode necesita actualización, revisa la ruta de Xcode con este comando:</p>
- <pre>xcode-select -print-path</pre>
- Si la ruta todavía apunta a <code>/Developer</code> puedes actualizarla haciendo:
- <pre>sudo xcode-select -switch /Applications/Xcode.app</pre>
- Asegúrate también de que el SDK de Mac OS X 10.6 existe en:
- <pre>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
- <p>Si no existe, tendrás que extraerlo y copiarlo del archivo DMG de Xcode 4.3, que está disponible en el <a class="external" href="https://developer.apple.com/downloads/index.action">Portal para desarrolladores de Apple</a>. Puedes usar una utilidad que se llama Pacifist para extraer el SDK 10.6. Asegúrate de crear un enlace simbólico (symlink) entre el SDK y el directorio <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code></p>
- <h3 id="Mountain_Lion">Mountain Lion</h3>
- <div>
- <p>Si construyendo en OS X 10.8 "Mountain Lion" (Xcode 4.4.1 o más reciente) te encuentras un error como éste:</p>
- <pre style="font-size: 14px;">external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)</pre>
- Edita el archivo: <code style="font-size: 14px;">B2G/external/qemu/makefile.android</code> y añade en la línea 78:<br>
- <pre style="font-size: 14px;">MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288   #/* B2G_fix: not finding M_PI constant */
-</pre>
- <div>
- Si usando Mountain Lion, y durante la instalación de las dependencias vía homebrew, te encuentras un error como éste:</div>
- </div>
-</div>
-<div>
- <pre>clang: error: unable to execute command: Segmentation fault: 11</pre>
- <p>... prueba a reinstalar las dependencias manualmente añadiendo la opción --use-gcc como se muestra en el ejemplo:</p>
- <pre>brew install mpfr --use-gcc</pre>
-</div>
-<h3 id="Samsung_Galaxy_S2">Samsung Galaxy S2</h3>
-<p>Si tu intención es compilar para el Samsung Galaxy S2, también necesitarás instalar heimdall. Para más información, visita {{ anch("Instalación de heimdall") }}. ¡El programa de inicio <strong>no</strong> ejecuta este paso!</p>
-<div class="note">
- <strong>Atención:</strong> Si has instalado la utilidad <a class="external" href="http://www.samsung.com/us/kies/" title="http://www.samsung.com/us/kies/">Samsung Kies</a>, que se utiliza para administrar los contenidos de muchos teléfonos Samsung, tienes que eliminarla antes de flashear Firefox OS en el teléfono. En Windows, puedes utilizar el procedimiento estándar para remover aplicaciones; en Mac, la imagen de Kies incluye una utilidad para desinstalar Kies completamente. Flashear Firefox OS <strong>fallará</strong> si tienes Kies instalado. Si se te olvida eliminar Kies, el sistema de compilación lo detectará y te recordará que debes desinstalarlo. Ten en cuenta que la utilidad de desinstalación no elimina correctamente el directorio <code>~/Library/Application Support/.FUS</code>, y deja una referencia a cierta utilidad en ese directorio en la lista de programas a ejecutar en inicio. Necesitas eleminar el directorio y la refencia manualmente.</div>
-<div class="note">
- <strong>Atención:</strong> Mac OS X utiliza un sistema de archivos que ignora las mayúsculas, lo que no te permitirá construir Firefox OS en el futuro (<strong>NOTA DEL EDITOR: yo nunca he tenido problemas con esto)</strong>. Te recomendamos que generes una imagen de disco "sparse" sensible a las mayúsculas y que trabajes desde ese directorio. Para construir una imagen de disco "sparse" sensible a las mayúsculas ejecuta:</div>
-<pre>hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.dmg</pre>
-<p>Monta la imagen ejecutando:</p>
-<pre>open ~/firefoxos.dmg</pre>
-<p>Navega al directorio de la imagen montada con:</p>
-<pre>cd /Volumes/untitled/</pre>
-<h3 class="note" id="Cómo_arreglar_la_dependencia_de_libmpc_si_no_funciona">Cómo arreglar la dependencia de libmpc si no funciona</h3>
-<p>gcc 4.6 fue creado con libmpc 0.9; si utilizas homebrew para actualizar paquetes, libmpc se actualiza a la versión 1.0, pero homebrew no recompila gcc 4.6 tras el cambio de versión. Por ello debes crear un enlace simbólico (symlink) para asegurarte de que todo funciona correctamente. Creas el enlace así:</p>
-<pre>cd /usr/local/lib/
-ln -s libmpc.3.dylib libmpc.2.dylib</pre>
-<h3 id="Opcional_Instalación_de_HAX">Opcional: Instalación de HAX</h3>
-<p>Intel proporciona un "driver" especial que permite al emulador x86 de B2G ejecutar código nativamente en el Mac en lugar de emularlo. Si quieres utilizar esta opción, puedes <a class="external" href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">bajártela e instalarla</a>. No es obligatorio, pero puede mejorar la estabilidad y velocidad de la emulación.</p>
-<h2 class="note" id="Instalación_de_adb">Instalación de adb</h2>
-<p>El proceso de compilado necesita obtener bloques binarios de la instalación de Android en el teléfono antes de compilar B2G (a menos, claro, que estés compilando el emulador). Para ello necesitas <code>adb</code>, el "Android Debug Bridge".</p>
-<p>Para obtenerlo, debes instalar el paquete básico del Android SDK (<a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a>) para tu versión de Android. Luego, ejecuta el gestor de paquetes haciendo <code>$SDK_HOME/tools/android</code>, y usa la interfaz gráfica para instalar las herramientas de sistema del Android SDK (Android SDK Platform-tools).</p>
-<p><code>adb</code> será instalado en <code>$SDK_HOME/platform_tools</code>. Asegúrate de añadir este directorio a tu <code>PATH</code>. Para ello, añade esta línea:</p>
-<pre>PATH=$SDK_HOME/platform_tools:$PATH</pre>
-<p>a tu ~/.bashrc o equivalente, sustituyendo $SDK_HOME con el directorio del Android SDK. También es recomendable ejecutar:</p>
-<pre>adb pull /system &lt;backup target dir&gt;/system
-</pre>
-<p>para hacer una copia de seguridad de la partición de Android en tu teléfono. Así tendrás una copia de todos los bloques binarios para Android en caso de que quieras eliminar los archivos de B2G. Dependiendo del teléfono, también necesitas hacer copia de seguridad de los directorios /data y/o /vendor:</p>
-<pre>adb pull /data &lt;backup target dir&gt;/data
-adb pull /vendor &lt;backup target dir&gt;/vendor
-</pre>
-<h2 class="note" id="Instalación_de_heimdall">Instalación de heimdall</h2>
-<p>Heimdall es una utilidad para flashear el Samsung Galaxy S2. B2G la utiliza para reemplazar los contenidos del teléfono con Firefox OS, y para flashear versiones nuevas de B2G y Gaia. Necesitas Heimdall para instalar Firefox OS sólo en el Galaxy S2; <strong>no</strong> es necesaria para ningún otro teléfono. Para otros móviles, se construye y utiliza la utilidad fastboot.</p>
-<div class="note">
- <strong>Atención:</strong> Recuerda que heimdall se necesita <strong>sólo para instalar Firefox OS en el Samsung Galaxy S2</strong>.</div>
-<p>Hay dos maneras de instalar heimdall:</p>
-<ul>
- <li><a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">Bajándote el código de</a> GitHub y compilándolo tú.</li>
- <li>Utilizando un gestor de paquetes para la instalación:
- <ul>
- <li>En Linux: <code>sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev</code></li>
- <li>Para Mac, te puedes <a class="link-https" href="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg" title="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg">bajar una imagen</a>.</li>
- </ul>
- </li>
-</ul>
-<h2 id="Configuración_de_ccache">Configuración de ccache</h2>
-<p>El tamaño estándar de ccache es 1GB; la compilación de B2G enseguida agota esta capacidad. Puedes cambiar el tamaño de tu cache con este comando:</p>
-<pre><code>$ ccache --max-size 2GB</code></pre>
-<h2 id="Configuración_de_la_regla_udev_en_tu_móvil">Configuración de la regla udev en tu móvil</h2>
-<p>Llegado a este punto, puedes obtener el código de identificación del fabricante del USB ejecutando <code>lsusb</code>, pero por lo general es Google (código 18d1) o Samsung (código 04e8). Por tanto, añadir la línea siguiente:</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"</pre>
-<p>al archivo <code>/etc/udev/rules.d/51-android.rules</code> debería funcionar.</p>
-<p>Guarda los cambios, cierra el archivo, y hazlo legible:</p>
-<pre>$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
-</pre>
-<h2 id="Configurar_el_teléfono">Configurar el teléfono</h2>
-<p>Antes de conectar tu teléfono al puerto USB, pon el USB en modo desarrollo, lo que te permitirá acceder al teléfono para depurar y flashear. Para ello, abre la aplicación de Ajustes, accede a la sección de Aplicaciones &gt; Desarrollo, y selecciona la opción "Depuración USB".</p>
-<h2 id="Siguiente_paso">Siguiente paso</h2>
-<p>Llegado a este punto, ¡ya estás listo para <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">bajarte el código de Firefox OS</a>!</p>
diff --git a/files/es/archive/b2g_os/gaia_hacking_guide/index.html b/files/es/archive/b2g_os/gaia_hacking_guide/index.html
deleted file mode 100644
index 8d4ba30890..0000000000
--- a/files/es/archive/b2g_os/gaia_hacking_guide/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Guía para hackear Gaia
-slug: Archive/B2G_OS/Gaia_hacking_guide
-translation_of: Archive/B2G_OS/Developing_Gaia
----
-<p>La guía para hackear Gaia aún no ha sido escrita. Sin embargo,  puedes hacer <a href="https://wiki.mozilla.org/Gaia/Hacking">referencia a este artículo</a> en el wiki de Mozilla, por el momento.</p>
diff --git a/files/es/archive/b2g_os/gonk/index.html b/files/es/archive/b2g_os/gonk/index.html
deleted file mode 100644
index e524f46f74..0000000000
--- a/files/es/archive/b2g_os/gonk/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Gonk
-slug: Archive/B2G_OS/Gonk
-translation_of: Archive/B2G_OS/Platform/Gonk
----
-<p><span style="line-height: 1.5;"></span></p><div class="overheadIndicator draft">
- <p><strong>Borrador</strong><br>
- Esta página no está completa.</p>
-
-</div><p></p>
-<div class="summary">
- <p>Gonk es un sistema operativo de bajo nivel de la plataforma <a href="/en-US/docs/Mozilla/Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> que consiste de un kernel Linux basado sobre el <a class="external" href="http://source.android.com/">Android Open Source Project</a> (AOSP) <span style="line-height: 1.5;">y una capa de abstracción de hardware (HAL). Este artículo intenta explicar qué constituye Gonk; para obtener más información sobre la arquitectura general del Firefox OS y cómo Gonk encuadra en ella, lea nuestra guía sobre la <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture">Arquitectura de Firefox OS</a>.</span></p>
-</div>
-<h2 id="Panorama_de_Gonk">Panorama de Gonk</h2>
-<p>En el código fuente de Gecko hay una carpeta b2g\ que contiene el <em>Gonk Port</em>, el cual habilita las capacidades del hardware móvil para la Web. Consiste de un núcleo, o kernel, Linux, HAL y otras librerías OEM específicas. Varias librerías Gonk son proyectos de código abierto comunes: libusb, bluez, etcétera. Algunas de las otras partes de la HAL están compartidas con el Proyecto Android: GPS, cámara y otros.</p>
-<p><span style="line-height: 1.5;">Gonk es una capa de adaptación (port) de dispositivos: un adaptador entre el hardware y Gecko. Gonk es una distribución de Linux bastante sencilla que puede ser tratada como un adaptador Gecko empardado con capas de adaptación Gecko —entonces Gonk es un <strong>objetivo</strong> para adaptar <a href="https://developer.mozilla.org/en-US/docs/Gecko">Gecko</a> a Firefox OS así como también hay adaptadores de Gecko para OS X, Windows y Android.</span></p>
-<div class="note">
- <p><strong>Nota</strong><b><strong>:</strong> </b>debido a que diferentes dispositivos móviles pueden tener diferentes chips y otras especificaciones de hardware, los dispositivos pueden tener diferentes distribuciones de Gonk.</p>
-</div>
-<p>Como el Proyecto Firefox OS goza de control total sobre Gonk, podemos exponer interfaces a Gecko que no podrían ser expuestas en otros sistemas operativos. Por ejemplo, Gecko posee a través de Gonk acceso directo al conjunto completo de telefonía y al buffer de pantalla.</p>
-<h2 id="Código_fuente_de_Gonk">Código fuente de Gonk</h2>
-<p>El <a href="https://github.com/mozilla-b2g/B2G">repositorio B2g en Github</a> contiene soporte oficial para todas las adaptaciones de Gonk para una variedad de dispositivos, así que puede tratarlo como un repositorio de Gonk. La lista de dispositivos soportados está en<code> B2g/config.sh</code>.</p>
-<p><span style="line-height: 1.5;">La mayor parte del trabajo diario realizado en Gonk implica adaptar el sistema a diferentes placas y asegurarse de que Gecko responda bien a los diferentes dispositivos.</span></p>
diff --git a/files/es/archive/b2g_os/index.html b/files/es/archive/b2g_os/index.html
deleted file mode 100644
index 05e4a3fabb..0000000000
--- a/files/es/archive/b2g_os/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: B2G OS
-slug: Archive/B2G_OS
-tags:
- - B2G
- - B2G OS
- - Basic
- - Empezando con B2G OS
- - Gaia
- - Gecko
- - Gonk
- - Mozilla
- - Overview
- - Principiante
- - SO web Gecko
- - SO web basado en Mozilla
- - b2g smartphone os
-translation_of: Archive/B2G_OS
----
-<div class="summary"><span class="seoSummary">B2G OS es un sistema operativo completo e independiente para un internet abierto. Es un proyecto de código abierto desarrollado por la comunidad de Mozilla, y conforma la base de los productos para Firefox OS.</span></div>
-
-<p><strong>B2G OS </strong>es un sistema operativo de código abierto mantenido por la comunidad, para<strong> </strong>teléfonos inteligentes, tabletas, televisiones inteligentes, y otros dispositivos conectados. El proyecto se <a href="https://wiki.mozilla.org/Booting_to_the_Web">comenzó</a> en 2011, y está basado en el kernel de Linux y en el motor de renderizado Gecko. Toda la interfaz de usuario está hecha con tecnologías web (HTML, CSS y JavaScript), y se puede utilizar para lanzar y utilizar <a href="/en-US/Apps">aplicaciones web</a>. Desde que Mozilla <a href="https://discourse.mozilla-community.org/t/firefox-os-connected-devices-announcement/6864">discontinuó</a> su programa comercial de Firefox OS para teléfonos inteligentes, la parte de teléfonos del proyecto es mantenida enteramente por la comunidad de voluntarios de Mozilla, y se ha renombrado a B2G OS.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="display: block; margin: 0 auto;"></p>
-
-<div class="note">
-<p><strong>Nota</strong>: Se ha realizado una <a href="https://wiki.mozilla.org/B2G/Transition_Project/Call_For_Contribution">Llamada a contribuir</a> y una <a href="https://discourse.mozilla-community.org/t/updated-9th-july-call-for-app-maintainers-adopt-an-app/9300/1">Llamada para la adopción de Apps</a> para reunir a más gente, ¡siéntete libre de compartirlo!</p>
-</div>
-
-<div class="column-container">
-<div class="column-third">
-<h2 id="Cómo_puedes_ayudar">Cómo puedes ayudar</h2>
-
-<ul>
- <li>Reporta y soluciona bugs (el bug principal es el <a class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1252143" rel="nofollow">bug 1252143</a>).</li>
- <li>Ayúdanos a solucionar <a class="external text" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing" rel="nofollow">pruebas</a> fallidas.</li>
- <li>Migra a gaia una <a href="https://mozilla-b2g.github.io/gaia/">app de teléfono</a>:
- <ol>
- <li>Conviértela en una aplicación web (ó)</li>
- <li>Conviértela en chrome:// (<a href="https://discourse.mozilla-community.org/t/why-gaia-apps-are-turned-to-chrome/8011">por qué?</a>) y repórtalo<span style="display: none;"> </span><span style="display: none;"> </span><span style="display: none;"> </span></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porta B2G OS a tu teléfono</a>, o ayúdanos a mantener una portabilidad.</li>
- <li>Ayuda a mejorar y traducir esta documentación y la wiki.</li>
- <li>Propón e implementa nuevas funcionalidades para teléfonos inteligentes.</li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="Involúcrate">Involúcrate</h2>
-
-<ul>
- <li>Lista de correos (<a class="external text" href="https://lists.mozilla.org/listinfo/dev-fxos" rel="nofollow">dev-fxos</a>).</li>
- <li><a class="external text" href="https://wiki.mozilla.org/IRC" rel="nofollow">IRC</a> (irc.mozilla.org #fxos).</li>
- <li><a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a>.</li>
- <li><a class="external text" href="https://telegram.me/B2GOS" rel="nofollow">Grupo de Telegram</a>.</li>
- <li>Síguenos en <a href="https://twitter.com/Boot2Gecko">Twitter</a>, o solo busca <a href="https://twitter.com/hashtag/B2GOS?src=hash">#B2GOS</a>.</li>
- <li><a href="https://wiki.mozilla.org/B2G/Transition_Project/Working_Groups">Grupos de trabajo</a>.</li>
- <li>Seguimiento de tareas de documentación de <a href="https://github.com/mozilla-b2g/B2GOS-community/issues">GitHub</a>.</li>
- <li><a class="external text" href="https://wiki.mozilla.org/B2G/Meeting" rel="nofollow">Reunión semanal de B2G</a> para informarse del estado del proyecto.</li>
-</ul>
-
-<p>Para participar en reuniones y en los Grupos de Trabajo de la comunidad, regístrate en este <a href="https://calendar.google.com/calendar/embed?src=mozilla.com_2d3638353137343333373332@resource.calendar.google.com">Calendario</a>. Se anuncia en <a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a>, donde puedes encontrar información sobre cómo asistir y notas.</p>
-</div>
-
-<div class="column-third">
-<h2 id="Dispositivos_compatibles">Dispositivos compatibles</h2>
-
-<ul>
- <li><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">Sony Xperia Z3C</a> (teléfono para desarrolladores)</li>
- <li><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">Flame </a>(teléfono para desarrolladores)</li>
- <li><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402">ZTE Open C </a> (TEP)</li>
- <li><a href="https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1">Nexus 5</a></li>
- <li>WileyFox Swift</li>
- <li>Nexus 4 (TEP*)</li>
- <li><a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">Fairphone 2 </a> (TEP*)</li>
- <li><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">Sony Xperia Z1C</a> (TEP*)</li>
- <li><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">Sony Xperia E3 </a> (TEP*)</li>
- <li><a href="https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273">Xiaomi Redmi 1S</a> (TEP*)</li>
-</ul>
-
-<p>Para más información visita esta <a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">página</a>.<br>
- Flashea tu dispositivo fácilmente con <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">B2G installer</a>.<br>
- ¿Tu dispositivo no está en la lista? Prueba <a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Mulet">Mulet</a> para escritorio.</p>
-
-<p>*TEP = Trabajo En Progreso.</p>
-</div>
-</div>
-
-<p>
- </p><div class="note">
- <p><strong>Nota</strong>: Se han movido algunas páginas a los <a href="/en-US/docs/Archive/Firefox_OS">Archivos de MDN</a> — Haznos saber si tienes problemas para encontrar algo o si hay algo en los archivos que crees que debería regresar a esta sección.</p>
- </div>
-<p></p>
diff --git a/files/es/archive/b2g_os/installing_on_a_mobile_device/index.html b/files/es/archive/b2g_os/installing_on_a_mobile_device/index.html
deleted file mode 100644
index 690ea49147..0000000000
--- a/files/es/archive/b2g_os/installing_on_a_mobile_device/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Instalar Firefox OS en un dispositivo móvil
-slug: Archive/B2G_OS/Installing_on_a_mobile_device
-tags:
- - Firefox OS
- - Flashear
- - Galaxy S2
- - i9100
-translation_of: Archive/B2G_OS/Installing_on_a_mobile_device
----
-<p></p>
-<p>Una vez que se ha construido Boot to Gecko para un <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator">dispositivo móvil compatible</a>, puede instalarlo. Este artículo le guiará a través del proceso.</p>
-<div class="note">
- <strong>Nota:</strong> La primera vez que flashea su teléfono, <strong>deberá </strong>tener Android 4 (Ice Cream Sandwich) instalado. De lo contrario el proceso no funcionará correctamente. Una vez que usted ha hecho su primera instalación de B2G, sin embargo, sólo tiene que actualizar en la parte superior de la misma.</div>
-<h2 id="Instalando_ADB">Instalando ADB</h2>
-<p><strong>En OSX:</strong></p>
-<p>Si tienes homebrew en OSX:</p>
-<pre>brew install android-platform-tools
-</pre>
-<p>De lo contrario descargue las Herramientas para Desarrolladores Android y agrega los binarios a tu PATH.</p>
-<p><strong>En Ubuntu:</strong></p>
-<pre>sudo apt-get install android-tools-adb</pre>
-<h2 id="Flasheando_su_telefono">Flasheando su telefono</h2>
-<p>Para actualizar todo a su teléfono, sólo tiene que conectar el teléfono y el tipear:</p>
-<pre>./flash.sh
-</pre>
-<p>Eso es todo. El B2G que tienes actualmente en construcción flasheara el dispositivo.</p>
-<h3 id="Configuración_de_la_regla_de_udev_para_su_dispositivo">Configuración de la regla de udev para su dispositivo</h3>
-<p>En Linux, si obtine,</p>
-<pre>&lt; waiting for device &gt;</pre>
-<p>probablemente significa que usted no ha añadido una regla udev para el dispositivo fastboot, que no es el mismo que el de adb. Usted puede obtener el ID de proveedor USB al ejecutar lsusb ahora, pero por lo general es de Google: 18d1, por lo que añadir esta línea en el archivo / etc/udev/rules.d/51-android.rules funcionaría:</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"</pre>
-<div class="note">
- <strong>Nota: </strong>Si usted recibe un error libusb muy útil "-3" en Linux, esto significa que usted tiene que ser root para tener el acceso necesario para el dispositivo USB. Ejecute el script de nuevo usando sudo.</div>
-<div class="note">
- <strong>Nota 2</strong>: Si tienes un un teléfono Keon Geeksphone o Unagi, necesita dos líneas como esta - una para la identificación del proveedor original del teléfono y otra para la de Google.</div>
-<h3 id="Notas_especiales_para_el_Samsung_Galaxy_S2">Notas especiales para el Samsung Galaxy S2</h3>
-<p>Si el teléfono es un Galaxy S2 y utiliza Heimdall 1.3.2 (la versión más reciente, use <code>heimdall version</code> para comprobar), es posible que vea un error alarmante "FACTORYFS upload failed!" seguido de "Heimdall flashing failed" y alguna información adicional. Esto es realmente una condición de finalización satisfactoria, y se puede hacer caso omiso de los consejos.</p>
-<div>
-  </div>
-<div>
- Para deshacerse de este extraño comportamiento, tomar una <a href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">copia de origen</a> de Heimdall, degradar a la versión 1.3.1 (<code>"git checkout fbbed42c1e5719cc7a4dceeba098981f19f37c06"</code>), luego compilarlo según el README, a continuación, instalarlo para que el error desaparezca. Sin embargo, esto no es estrictamente necesario.</div>
-<div>
-  </div>
-<div>
- Todas las versiones de Heimdall son incapaces de flashear una system.img mayor que 100 MB. hacer:</div>
-<pre>ls -l ./out/target/product/galaxys2/system.img
-</pre>
-<p>para ver qué tan grande es el suyo. Si es demasiado grande, pregunte en el IRC para aconsejarlo; hay maneras de hacerlo en dos etapas.</p>
-<h2 id="Paso_añadido_para_el_Samsung_Galaxy_S2">Paso añadido para el Samsung Galaxy S2</h2>
-<p>Si está flasheando el Galaxy S2, hay un paso adicional a seguir. Gaia no consigue flashear automáticamente por el script flash.sh, necesitará hacer también:</p>
-<pre>./flash.sh gaia
-</pre>
-<h2 id="Flasheando_particiones_específicas_para_teléfonos_fastboot">Flasheando particiones específicas para teléfonos fastboot</h2>
-<p>Usted puede flashear particiones específicas para teléfonos fastboot (es decir, cualquier teléfono que no sea el Samsung Galaxy S2). Por ejemplo:</p>
-<pre>./flash.sh system
-./flash.sh boot
-./flash.sh user
-</pre>
-<h2 id="Actualización_de_módulos_específicos">Actualización de módulos específicos</h2>
-<p>Puede actualizar los componentes específicos de B2G especificando sus nombres cuando flashea. Por ejemplo:</p>
-<pre>./flash.sh gaia
-./flash.sh gecko
-</pre>
-<p>Para actualizar sólo una aplicación puede utilizar la variable de entorno BUILD_APP_NAME:</p>
-<pre>BUILD_APP_NAME=calendar ./flash.sh gaia</pre>
-<h2 id="Próximos_pasos">Próximos pasos</h2>
-<p>En este punto, el teléfono debe estar ejecutando Boot to Gecko! Es hora de experimentar, <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Application_development" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Application_development">escribir algo de código</a>, <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">prueba</a>, o <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Debugging" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Debugging">hacer algo de depuración!</a></p>
-<div class="note">
- <strong>Note:</strong> Un consejo útil de uso: si su estructura de B2G se inicia con la pantalla de bloqueo solicitar un código de acceso para desbloquear el teléfono, el código por defecto es 0000.</div>
-<h2 class="note" id="Solución_de_problemas">Solución de problemas</h2>
-<p>Aquí hay algunos consejos sobre qué hacer si el dispositivo no funciona correctamente después de instalar B2G, o actualizar a una nueva versión</p>
-<h3 class="note" id="Si_la_interfaz_de_usuario_no_se_inicia">Si la interfaz de usuario no se inicia</h3>
-<p>Si actualizas el teléfono y la interfaz de usuario no inicia, puede restablecerla para limpiar configuración fuera de fecha y similares. Esto puede traer de vuelta a la vida. He aquí cómo:</p>
-<pre>cd gaia
-make reset-gaia
-</pre>
-<h3 class="note" id="la_imagen_es_demasiado_grande_mensaje_de_error_en_la_ejecución_.flash.sh">"la imagen es demasiado grande" mensaje de error en la ejecución ./flash.sh</h3>
-<p>Podría significar que el teléfono necesita ser arraigada primero antes de flashear ella. Como b2g tiene que ser escrito en la partición root, el teléfono debe estar enraizado con el fin de instalarlo.</p>
diff --git a/files/es/archive/b2g_os/introduction/index.html b/files/es/archive/b2g_os/introduction/index.html
deleted file mode 100644
index 76ac08d8c4..0000000000
--- a/files/es/archive/b2g_os/introduction/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Introducción a Firefox OS
-slug: Archive/B2G_OS/Introduction
-translation_of: Archive/B2G_OS/Introduction
----
-<p><strong>Firefox OS</strong> (también llamado por su nombre clave "Boot to Gecko" o "B2G") es el sistema operativo de código abierto de Mozilla basado en Linux y la tecnología Gecko de Mozilla. La idea es esencialmente tener todo el software accesible al usuario ejecutándose en el teléfono siendo una aplicación web que use técnicas avanzadas de HTML5 y APIs de dispositivos para acceder al hardware del teléfono directamente vía JavaScript.</p>
-<p>Para los desarrolladores web, la parte más importante a entender es que la interfaz de usuario completa es una aplicación web, que es capaz de mostrar e iniciar otras aplicaciones web. Cualquier modificación que haga a la interfaz de usuario y cualquier aplicación que crees para ejecutarse en Firefox OS son páginas web, aunque con acceso mejorado al hardware del dispositivo móvil y sus servicios.</p>
-<p>Puede aprender cómo construir e instalar Firefox OS <a href="/en/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">siguiendo nuestra guía práctica</a>.</p>
-<h2 id="Tips_de_uso">Tips de uso</h2>
-<p>Esta sección proporciona algunos consejos que realmente le ayudarán a usar Firefox OS. Esto es algo así como un marcador de posición hasta que tengamos real documentación de uso.</p>
-<h3 id="Desbloqueando_el_teléfono">Desbloqueando el teléfono</h3>
-<p>Si tu versión de Firefox OS inicia preguntando por una clave para desbloquear el dispositivo, el código por defecto es 0000. Algunas versiones harán eso mientras desarrollamos y probamos la pantalla de bloqueo.</p>
-<h3 id="Capturando_una_pantalla">Capturando una pantalla</h3>
-<p>Actualmente no hay soporte en el dispositivo para capturar pantalla. Sin embargo, puede hacer desde la terminal en la computadora Linux o Mac OS X que tenga un sistema de construcción de Firefox OS instalado.</p>
-<ol>
- <li>Asegúrese que tiene ffmpeg instalado.
- <ol>
- <li>En Mac, si usa MacPorts, puede hacerlo con <code>sudo port install ffmpeg</code>. Para homebrew, haga <code>brew install ffmpeg</code>.</li>
- <li>En Linux (Ubuntu/Debian), utilice <code>sudo apt-get install ffmpeg</code>.</li>
- </ol>
- </li>
- <li>Conecte su teléfono a la computadora usando un cable USB.</li>
- <li>Navegue en su teléfono a cualquier situación donde desea obtener la captura de pantalla.</li>
- <li><code>cd</code> hacia el directorio <code>B2G/gaia</code></li>
- <li><code>make screenshot</code></li>
- <li>Ahora puede tener una captura de pantalla llamada <code>screenshot.png</code>.</li>
-</ol>
diff --git a/files/es/archive/b2g_os/phone_guide/fairphone/index.html b/files/es/archive/b2g_os/phone_guide/fairphone/index.html
deleted file mode 100644
index 9f09a19917..0000000000
--- a/files/es/archive/b2g_os/phone_guide/fairphone/index.html
+++ /dev/null
@@ -1,186 +0,0 @@
----
-title: Fairphone
-slug: Archive/B2G_OS/Phone_guide/Fairphone
-tags:
- - B2G
- - Celular
- - Comercio justo
- - Dispositivo
- - Fairphone
- - Firefox OS
- - Gaia
- - Guía
-translation_of: Archive/B2G_OS/Phone_guide/Fairphone
----
-<div class="warning">
-<p><strong>Advertencia</strong><span lang="es"><strong><span class="hps">:</span></strong> <span class="hps">Este dispositivo</span> <span class="hps">todavía no</span> <span class="hps">ejecuta</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span class="hps">, pero</span> <span class="hps">este es el</span> <span class="hps">objetivo final</span><span>.</span> <span class="hps">Esta página</span> <span class="hps">pretende ser un</span> <span class="hps">punto central de información</span> <span class="hps">para la comunidad de</span> <span class="hps">la coordinación del trabajo</span> <span class="hps">de portabilidad</span><span>.</span></span></p>
-</div>
-
-<p class="summary"><span id="result_box" lang="es"><span class="hps">El</span> </span><a class="tgwf_green" href="https://www.fairphone.com/fairphone/">Fairphone</a><span lang="es"> <span class="hps">es un smartphone</span> de <span class="hps">economía justa</span>; centrado en el<span class="hps"> abastecimiento</span><span>, la producción</span><span>, la distribución</span><span class="atn">, la auto-</span><span>reparación</span> <span class="hps">y el reciclaje de</span> <span class="hps">productos electrónicos</span><span>.</span> <span class="hps">No es</span> <span class="hps">completamente</span> <span class="hps">hardware</span> <span class="hps">software libre</span><span>,</span> <span class="hps">pero</span> <span class="hps">es compatible con</span> <span class="hps">la idea</span> <span class="hps">de devolver</span> <span class="hps">al menos</span> <span class="hps">algún tipo de control</span> <span class="hps">de hardware para</span> los<span class="hps"> usuarios.</span></span></p>
-
-<h2 id="Información_de_publicación_del_dispositivo">I<span class="short_text" id="result_box" lang="es"><span class="hps">nformación de </span></span>publicación<span class="short_text" lang="es"> <span class="hps">del dispositivo</span></span></h2>
-
-<p><a class="tgwf_green" href="https://www.fairphone.com/fairphone/">Fairphone </a>ha lanzado dos dispositivos hasta ahora - la FP1 v1 Fairphone (primera edición) fue lanzado el 30 de diciembre del 2013 y el FP1U (segundo lote) fue lanzado el 22 de julio de 2014. Las ventas han llegado a su fin para el dispositivo v1. El v2 Fairphone fue lanzado el 16 de julio 2015 y se puede pedir a <a class="tgwf_green" href="https://www.fairphone.com/fairphone/">Fairphone</a>.</p>
-
-<table class="standard-table" style="width: 100%;">
- <thead>
- <tr>
- <th scope="col">Fairphone v1</th>
- <th scope="col">Fairphone v2</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 50%;"><img alt="A picture of the Fairphone v1 device, showing lockscreen and the back. Credit : Fairphone. CC BY-NC-SA." src="https://mdn.mozillademos.org/files/10253/FairPhone-v1-Screen-2.jpg" style="float: left; height: 376px; margin-bottom: 20px; margin-right: 20px; width: 100%;"></td>
- <td style="width: 50%;"><img alt="Fairphone 2 Black Matte" id="big-image" src="http://shop.fairphone.com/media/catalog/product/cache/2/image/445x/602f0fa2c1f0d1ba5e241f914e856ff9/f/r/front-and-back.png" style="height: 100px; width: 100%;" title="Fairphone 2 Black Matte"></td>
- </tr>
- </tbody>
-</table>
-
-<div class="note">
-<p><span id="result_box" lang="es"><span class="hps"><strong>Nota:</strong> Puede</span> <span class="hps">seguir el progreso</span> <span class="hps">en el </span></span><a class="tgwf_green" href="https://www.fairphone.com/blog">blog Fairphone</a><span lang="es"><span>,</span> <span class="hps">y</span> <span class="hps">revisar la</span><span class="hps"> </span></span><a class="tgwf_green" href="http://www.fairphone.com/2014/11/04/next-chapter-in-fairphones-strategy-outlook-for-2015/">estrategia</a><span lang="es"><span class="hps"> anunciada</span> <span class="hps">y el </span></span><a class="tgwf_green" href="https://www.fairphone.com/2015/02/12/our-approach-to-developing-the-next-fairphone/">enfoque</a><span lang="es"><span>.</span></span></p>
-</div>
-
-<h2 id="Portabilidad_de_Firefox_OS_al_dispositivo_Fairphone"><span class="short_text" id="result_box" lang="es"><span class="hps">Portabilidad</span></span> de Firefox OS <span class="short_text" id="result_box" lang="es"><span class="hps">al</span></span> dispositivo Fairphone</h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Esto</span> <span class="hps">aún no ha</span> <span class="hps">sucedido</span><span>,</span> <span class="hps">pero se</span> <span class="hps">está trabajando.</span></span></p>
-
-<h3 id="Problemas_reales"><span class="short_text" id="result_box" lang="es"><span class="hps">Problemas</span> <span class="hps">reales</span></span></h3>
-
-<p><strong>Fairphone v1</strong><span lang="es"> </span><a class="tgwf_green" href="https://www.fairphone.com/2014/12/09/our-approach-to-software-and-ongoing-support-for-the-first-fairphones/">no pudo actualizar</a><span lang="es"> <span class="hps">su sistema operativo</span> <span class="hps">Android</span> <span class="hps">personalizado</span> <span class="hps">porque el fabricante</span> <span class="hps">del chipset</span> <span class="hps">no dio a conocer</span> <span class="hps">un código</span> <span class="hps">abierto de banda</span> <span class="hps">actualizada</span> <span class="hps">o </span></span><span class="short_text" id="result_box" lang="es"><span class="hps">compilación</span></span><span lang="es"><span>.</span></span></p>
-
-<p>En el Mobile World Congress 2015, Fairphone hizo un llamado a los posibles sistemas operativos alternativos disponibles para el próximo Fairphone v2. Estas conversaciones que se llevaron a cabo dieron por inicio la portabiliad de Firefox OS al dispositivo Fairphone. Una portabilidad de Firefox OS puede ser una manera de salvar al Fairphone v1, así como <strong>evitar estas cuestiones para las futuras generaciones de teléfonos</strong>. La colaboración de Mozilla con los tres principales proveedores de chipset también ayudaría.</p>
-
-<p><span id="result_box" lang="es"><strong><span class="hps">Fairphone v2</span></strong> <span class="hps">es</span> </span><a class="tgwf_green" href="https://www.fairphone.com/2015/09/23/opening-up-fairphone-to-the-community-open-source-fairphone-2/">orientado a código abierto</a><span lang="es"> <span class="hps">con</span> <span class="hps">contribuciones de la comunidad</span> <span class="hps">a</span> <span class="hps">código fuente</span> y a </span><span class="short_text" id="result_box" lang="es"><span class="hps">compilación</span></span><span lang="es"> de <span class="hps">Fairphone</span> <span class="hps">OS</span><span>. </span></span></p>
-
-<h3 id="El_progreso_y_la_solución"><span class="short_text" id="result_box" lang="es"><span class="hps">El progreso</span> <span class="hps">y</span> <span class="hps">la solución</span></span></h3>
-
-<p><span id="result_box" lang="es"><span class="hps">En este momento</span> <span class="hps">el proyecto</span> <span class="hps">de portabilidad</span> <span class="hps">está empezando</span> <span class="atn hps">(</span><span>fase de encendido</span><span>)</span><span>.</span> <span class="hps">Esperamos</span> <span class="hps">que el trabajo</span> <span class="hps">de portabilidad</span> </span>comienze pronto —<span lang="es"> <span class="hps">ver este espacio</span> <span class="hps">para más información. </span></span></p>
-
-<h3 id="Contribuyendo"><span class="short_text" id="result_box" lang="es"><span class="hps">Contribuyendo</span></span></h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Si usted está interesado</span> <span class="hps">en saber más</span> <span class="hps">o </span></span>contribuir<span lang="es"> <span class="hps">al esfuerzo para la </span><span class="hps">portabilidad</span><span>,</span> <span class="hps">los siguientes enlaces</span> </span>le llevaran<span lang="es"><span class="hps"> a donde</span> <span class="hps">usted necesita ir</span><span>. </span></span></p>
-
-<p>Si usted está interesado en saber más o contribuir al esfuerzo de llevar a cabo, los siguientes enlaces le llevaran a donde usted necesita ir.</p>
-
-<h4 id="Herramientas_de_Proyecto"><span class="short_text" id="result_box" lang="es"><span class="hps">Herramientas</span> <span class="hps">de Proyecto</span></span></h4>
-
-<ul>
- <li><a href="https://wiki.mozilla.org/FirefoxOS/Fairphone">Gestión de la portabiliad del proyecto en WikiMo</a><span lang="es"><span>:</span> R<span class="hps">ecursos</span> <span class="hps">esenciales</span> <span class="hps">para seguir el</span> <span class="hps">progreso</span> <span class="hps">de portabilidad de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">al dispositivo</span> <span class="hps">Fairphone</span><span>.</span></span></li>
- <li><a class="tgwf_grey" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1139642">Bug 1139642 en BMO</a>:<span lang="es"> <span class="hps">Cualquier</span> <span class="hps">error</span> <span class="hps">relacionado directamente con</span> la portabilidad de <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">al</span> <span class="hps">Fairphone</span> <span class="hps">será marcado como</span> <span class="hps">el bloqueo de</span> <span class="hps">este meta bug</span><span>.</span></span></li>
- <li><a href="http://code.fairphone.com/">El entorno completo de compilación de Fairphone OS en Fairphone 2</a><span lang="es"><a href="http://code.fairphone.com/"> <span class="hps">de</span> <span class="hps">Fairphone</span> <span class="hps">OS en</span> <span class="hps">Fairphone</span> <span class="hps">2</span></a><span>:</span> <span class="hps">El código abierto</span> <span class="hps">completo, incluyendo</span> <span class="hps">todas las herramientas y</span> <span class="hps">binarios</span> <span class="hps">que permitirá</span> <span class="hps">a los usuarios</span> <span class="hps">crear sus propias </span></span><span class="short_text" id="result_box" lang="es"><span class="hps">compilación de</span></span><span lang="es"> <span class="hps">Fairphone</span> <span class="hps">OS</span><span>. </span></span></li>
- <li>Página del proyecto de <a href="http://forum.xda-developers.com/fairphone/help/porting-firefox-os-to-fp1-t2983959">la comunidad XDA para la portabilidad de Firefox OS nel dispositivo Fairphone</a><span lang="es"><span>:</span> <span class="hps">El progreso técnico</span> <span class="hps">en la</span> <span class="hps">portabilidad</span><span>.</span></span></li>
-</ul>
-
-<h4 id="Firefox_OS">Firefox OS</h4>
-
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">usted es un desarrollador</span> <span class="hps">de portabilidad</span> <span class="hps">y quieres saber</span> <span class="hps">más acerca</span> <span class="hps">del sistema operativo</span> <span class="hps">Firefox OS: </span></span></p>
-
-<ul>
- <li><span id="result_box" lang="es"><span class="hps"><a href="/en-US/Firefox_OS/Platform">Plataforma</a>:</span> <span class="hps">Una visión general de</span> <span class="hps">la arquitectura y de</span> <span class="hps">la plataforma</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>,</span> <span class="hps">incluyendo</span> <span class="hps">los</span> <span class="hps">componentes de</span> </span> <a href="/en-US/Firefox_OS/Platform/Gaia">Gaia</a>, <a href="/en-US/docs/Mozilla/Gecko">Gecko</a> <span lang="es"> <span class="hps">y</span> </span><a href="/en-US/Firefox_OS/Platform/Gonk">Gonk</a><span lang="es"><span>.</span></span></li>
- <li><span id="result_box" lang="es"><a href="/en-US/Firefox_OS/Developing_Firefox_OS/Porting">Portabilidad OS Firefox</a><span class="hps">:</span> </span><span class="short_text" id="result_box" lang="es"><span class="hps">Una guía</span> <span class="hps">básica sobre la</span> <span class="hps">portabilidad d</span></span><span lang="es"><span class="hps">el</span><span class="hps"> sistema operativo para</span> <span class="hps">los nuevos dispositivos</span><span>.</span></span></li>
- <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS">Compilación e instalación de Firefox OS</a><span lang="es"><span>:</span> <span class="hps">La información sobre</span> <span class="hps">la creación de su</span> <span class="hps">propria</span> <span class="hps">compilación</span> <span class="hps">de</span> <span class="hps">Firefox OS y la instalación</span><span class="hps"> en</span> <span class="hps">un dispositivo.</span></span></li>
- <li><span id="result_box" lang="es"><a href="https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS">El desarrollo de Firefox OS</a><span>:</span> <span class="hps">Para saber cómo</span> <span class="hps">usted puede ayudar a</span> <span class="hps">desarrollar las</span> <span class="hps">áreas</span> <span class="hps">de bajo nivel</span></span><span lang="es"> <span class="hps">de la plataforma</span><span>.</span></span></li>
-</ul>
-
-<h4 id="Comunidad_de_portabilidad_XDA">Comunidad de portabilidad XDA</h4>
-
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">usted es un</span> <span class="hps">desarrollador de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">y desea saber</span> <span class="hps">más acerca de</span> <span class="hps">portar</span> <span class="hps">un sistema operativo</span><span>:</span></span></p>
-
-<ul>
- <li><span id="result_box" lang="es"><span class="hps">Para una referencia</span> <span class="hps">rápida, consulte</span> <span class="hps">este <a href="https://dietrich.makes.org/thimble/LTIxMTM3MzIwOTY=/firefox-os-ports-on-xda-developers">resumen de los diversos foros del sistema operativo Firefox OS y la portabiliad en Desarrollador de XDA</a></span></span></li>
- <li><a class="tgwf_grey" href="http://forum.xda-developers.com/firefox-os/general">Firefox OS comunidad XDA</a></li>
- <li><a class="tgwf_grey" href="http://forum.xda-developers.com/fairphone">Foros Fairphone comunidad XDA</a></li>
- <li><a class="tgwf_grey" href="http://forum.xda-developers.com/wiki/Fairphone">Página wiki Fairphone XDA</a></li>
- <li><a class="tgwf_grey" href="http://forum.xda-developers.com/showthread.php?t=2362172">Thread Fairphone XDA</a></li>
-</ul>
-
-<h2 id="Especificaciones_del_dispositivo"><span class="short_text" id="result_box" lang="es"><span class="hps">Especificaciones del dispositivo</span></span></h2>
-
-<h3 id="Fairphone_v1">Fairphone v1</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted puede encontrar</span> <span class="hps">una lista detallada de</span> <span class="hps">las especificaciones</span> <span class="hps">en la página de las <a href="https://fairphone.zendesk.com/hc/en-us/articles/201064718-What-are-the-technical-specifications-of-the-Fairphone-1-">especificaciones de Fairphone</a></span></span>.</p>
-
-<h4 id="Red">Red</h4>
-
-<ul>
- <li><strong>2G/GSM</strong>: 850/900/1800/1900MHz</li>
- <li><strong>3G/WCDMA</strong>: 900/2100MHz</li>
- <li><strong>Wifi:</strong> 2.4GHz 802.11b/g/n</li>
- <li><strong>Bluetooth:</strong> v2.1 + EDR / v3.0 + HS</li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">SAR calificación</span></span></strong>: Cabeza: 0.329 W/kg; Cuerpo: 0.693 W/kg</li>
-</ul>
-
-<h4 id="Hardware">Hardware</h4>
-
-<ul>
- <li><strong>Mediatek MT6589M (<span class="short_text" id="result_box" lang="es"><span class="hps">primera edición</span></span>) / MT6589 @ 1.2 Ghz (<span class="short_text" id="result_box" lang="es"><span class="hps">segundo lote</span></span>) Chipset</strong>: Quad-core CPU<span id="result_box" lang="es"> <span class="hps">con reproducción de vídeo</span> <span class="hps">Full HD</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Cámara frontal</span></span></strong>: 1.3 MP <span class="short_text" id="result_box" lang="es"><span class="hps">para fotos y</span> <span class="hps">video llamadas</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Cámara posterior</span></span></strong>: 8MP AF <span id="result_box" lang="es"><span class="atn hps">(</span><span class="hps">estabilización</span> <span class="hps">+ </span><span>sensor de imagen</span></span><span lang="es"><span>)</span> <span class="hps">para fotos y</span> <span class="hps">video llamadas</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Pantalla</span></span></strong>: 4.3 <span class="short_text" id="result_box" lang="es"><span class="hps">pulgadas</span></span> qHD IPS (960x540 pixels) (256 ppi); <span class="short_text" id="result_box" lang="es"><span class="hps">Pantalla tactil capacitiva</span></span></li>
- <li><strong>16 GB <span class="short_text" id="result_box" lang="es"><span class="hps">almacenamiento interno</span></span></strong> + 1GB of RAM</li>
- <li><strong>MicroSD</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">Añade</span> <span class="hps">hasta 64 GB de</span> <span class="hps">memoria adicional</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Auriculares</span></span> jack</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">A partir de</span> <span class="hps">una variedad de formatos</span></span></li>
- <li><strong>A-GPS</strong>,<span class="short_text" id="result_box" lang="es"><span class="hps"> además de un</span> <span class="hps">E</span><span class="atn">-</span><span>brújula</span> <span class="hps">y</span> <span class="hps">giroscopio</span></span></li>
- <li><strong>Double SIM</strong>: <span id="result_box" lang="es"><span class="hps">Un</span> <span class="hps">SIM</span><span>:</span> <span class="hps">3G</span><span>;</span> <span class="hps">una tarjeta SIM</span><span>:</span> <span class="hps">2G.</span> <span class="hps">Formato estándar</span> <span class="hps">mini tarjeta</span> <span class="hps">SIM</span></span></li>
- <li><span id="result_box" lang="es"><strong><span class="hps">Puertos de datos y carga</span></strong><span>:</span> E<span class="hps">stándar</span> <span class="hps">micro</span> <span class="hps">USB</span> <span class="hps">2.0, Tipo B</span></span><span lang="es"><span>;</span> <span class="hps">USB</span> <span class="hps">2.0</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps"><strong>Batería</strong>:</span> <span class="hps">2000mAh</span> <span class="atn hps">(</span><span>batería reemplazable</span><span>)</span></span></li>
-</ul>
-
-<h4 id="Software">Software</h4>
-
-<ul>
- <li><span id="result_box" lang="es"><strong><span class="hps">Basado en</span> <span class="hps">el sistema operativo Android</span> <span class="atn hps">(</span><span>4.2</span> <span class="hps">Jelly Bean</span></strong><span><strong>):</strong> Con una</span> <span class="hps">interfaz especial</span> <span class="hps">Fairphone</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><strong><span class="hps">Acceso</span> <span class="hps">Root</span></strong><span>:</span> <span class="hps">acceso de superusuario</span> <span class="hps">Inmediata</span></span></li>
-</ul>
-
-<h3 id="Fairphone_v2">Fairphone v2</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted puede encontrar</span> <span class="hps">una lista detallada de</span> <span class="hps">las especificaciones</span> <span class="hps">en la página de las</span></span> <a class="tgwf_grey" href="https://fairphone.zendesk.com/hc/en-us/articles/203478389-What-technical-specifications-does-the-Fairphone-2-have-">especificaciones de Fairphone</a>.</p>
-
-<h4 id="Red_2">Red</h4>
-
-<ul>
- <li><strong>2G/GSM</strong>: 850/900/1800/1900MHz</li>
- <li><strong>3G/WCDMA</strong>: 900/2100MHz</li>
- <li><strong>4G LTE: </strong>900/1900/2100MHz Cat. 4 150 Mbps <span class="short_text" id="result_box" lang="es"><span class="hps">descargar</span></span> — Cat. 4 50 Mbps subir</li>
- <li><strong>Wifi:</strong> 2.4GHz 802.11b/g/n/ac <span class="short_text" id="result_box" lang="es"><span class="hps">hasta</span></span> 433 Mbps</li>
- <li><strong>Bluetooth:</strong> v4.0 LE</li>
- <li><strong>SAR <span class="short_text" id="result_box" lang="es"><span class="hps">calificación</span></span></strong>: C<span class="short_text" id="result_box" lang="es"><span class="hps">abeza</span></span>: 0.288 W/kg; Cuerpo: 0.426 W/kg</li>
-</ul>
-
-<h4 id="Hardware_2">Hardware</h4>
-
-<ul>
- <li><strong>Qualcomm MSM8974AB</strong> <strong>@ 2.26 Ghz Chipset</strong>: Quad-core CPU Krait 400 con Qualcomm Adreno 330 GPU y <span id="result_box" lang="es"><span class="hps">reproducción de vídeo</span> <span class="hps">Full HD</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Cámara frontal</span></span></strong>: 2 MP Omnivision OV2685 para <span class="short_text" id="result_box" lang="es"><span class="hps">fotos y</span> <span class="hps">video llamadas</span></span></li>
- <li><strong>C<span class="short_text" id="result_box" lang="es"><span class="hps">ámara posterior</span></span></strong>: 8MP AF Omnivision OV8865 <span id="result_box" lang="es"><span class="atn hps">(</span><span class="hps">estabilización</span> <span class="hps">+ </span><span>sensor de imagen</span></span><span lang="es"><span>)</span> <span class="hps">para fotos y</span> <span class="hps">video llamadas</span></span></li>
- <li><strong>Pantalla</strong>: 5 <span class="short_text" id="result_box" lang="es"><span class="hps">pulgadas</span></span> Full HD (Gorilla Glass 3 — 0.7mm thick) LCD TFT/IPS (446 ppi); <span class="short_text" id="result_box" lang="es"><span class="hps">Pantalla tactil capacitiva</span></span></li>
- <li><strong>32 GB <span class="short_text" id="result_box" lang="es"><span class="hps">almacenamiento interno</span></span> eMMC5</strong> + 2GB of RAM LPDDR3</li>
- <li><strong>MicroSD</strong>: SDHC, SDXC, UHS <span class="short_text" id="result_box" lang="es"><span class="hps">hasta 64 GB de</span> <span class="hps">memoria adicional</span></span></li>
- <li><strong><span class="short_text" id="result_box" lang="es"><span class="hps">Auriculares</span></span> jack</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">A partir de</span> <span class="hps">una variedad de formatos; estándar</span></span><span class="short_text" lang="es"><span class="hps"> </span></span>CTIA</li>
- <li><strong>A-GPS</strong>,<span class="short_text" id="result_box" lang="es"><span class="hps"> además de un</span> <span class="hps">E</span><span class="atn">-</span><span>brújula</span> <span class="hps">y</span> <span class="hps">giroscopio</span></span></li>
- <li><strong>Double SIM</strong>: Double-SIM Micro-SIM (3FF), Double-Standby (DSDS)</li>
- <li><span id="result_box" lang="es"><strong><span class="hps">Puertos de datos y carga</span></strong><span>:</span> </span><span class="short_text" id="result_box" lang="es"><span class="hps">Estándar</span> <span class="hps">Micro</span> <span class="hps">USB</span> <span class="hps">2.0</span> <span class="hps">con soporte</span> <span class="hps">OTG</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps"><strong>Batería</strong>:</span> <span class="hps">2420mAh</span> <span class="atn hps">(</span><span>batería reemplazable</span><span>)</span></span></li>
-</ul>
-
-<h4 id="Software_2">Software</h4>
-
-<ul>
- <li><span id="result_box" lang="es"><strong><span class="hps">Basado en</span> <span class="hps">el sistema operativo Android</span> <span class="atn hps">(</span><span>5.1</span> <span class="hps">Lollipop</span><span>)</span></strong><span>:</span> <span class="hps">Con una</span> <span class="hps">interfaz</span> <span class="hps">especial</span> <span class="hps">Fairphone</span></span></li>
- <li><strong>Acceso Root</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">Sin</span> <span class="hps">acceso de superusuario</span></span></li>
-</ul>
-
-<h2 id="Ver_también"><span class="short_text" id="result_box" lang="es"><span class="hps">Ver también</span></span></h2>
-
-<ul>
- <li><a class="tgwf_green" href="https://www.fairphone.com/roadmap/">Fairphone roadmap</a></li>
- <li><span id="result_box" lang="es"><span class="hps">Guías de reparación automática</span></span><span lang="es"><span class="hps"> en </span></span> <a class="tgwf_grey" href="https://www.ifixit.com/Device/Fairphone">iFixit</a><span lang="es"><span class="hps"> y en la </span></span><span class="short_text" id="result_box" lang="es"><span class="hps">página </span></span><span lang="es"><span class="hps">de <a href="https://fairphone.zendesk.com/hc/en-us">soporte de Fairphone</a></span></span></li>
- <li><a href="https://autonome.wordpress.com/2013/01/15/firefox-os-devices-and-dark-matter/">Firefox OS lista de portabilidad a otros dispositivos</a> —<span lang="es"> <span class="hps">podría ser</span> <span class="hps">una fuente</span> <span class="hps">de inspiración</span> <span class="hps">para encontrar o</span> <span class="hps">adaptar</span> <span class="hps">soluciones</span></span></li>
- <li><span id="result_box" lang="es"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Phone_guide/Orange_Klif">La página de Orange Klif MDN</a> </span>—<span lang="es"> <span class="hps">Este es el</span> <span class="hps">primero smartphone</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">que ejecuta el</span> <span class="hps">mismo chipset</span> <span class="hps">MediaTech</span> <span class="hps">como</span> <span class="hps">Fairphone</span> <span class="hps">v1</span></span></li>
- <li><a class="tgwf_grey" href="https://github.com/Kwamecorp/Fairphone">Fairphone v1 OS</a> <span id="result_box" lang="es"><span class="hps">código abierto</span> <span class="hps">en la página</span> </span> <a class="tgwf_grey" href="http://www.kwamecorp.com/">kwamecorp</a><span lang="es"> de <span class="hps">Github</span></span></li>
- <li>
- <p><span id="result_box" lang="es"><a href="https://fairphone.zendesk.com/hc/en-us/articles/201576803-Fairphone-FP1-Source-Code-Packages">Fairphone v1 paquetes de código abierto</a> <span class="hps">en</span><span class="hps"> la página web</span> <span class="hps">Fairphone</span></span></p>
- </li>
-</ul>
diff --git a/files/es/archive/b2g_os/phone_guide/flame/configuracion_inicial/index.html b/files/es/archive/b2g_os/phone_guide/flame/configuracion_inicial/index.html
deleted file mode 100644
index 90bb74f775..0000000000
--- a/files/es/archive/b2g_os/phone_guide/flame/configuracion_inicial/index.html
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title: Configuración Inicial
-slug: Archive/B2G_OS/Phone_guide/Flame/Configuracion_Inicial
-tags:
- - B2G
- - Firefox OS
- - Flame
- - developer phone
- - dispositivo de referencia(2)
- - reference device
- - teléfono desarrollador
-translation_of: Archive/B2G_OS/Phone_guide/Flame/Initial_setup
----
-<div class="summary">
-<p><span id="result_box" lang="es"><span class="hps">Después de conseguir</span> <span class="hps">un Flame</span><span>, hay un par</span> <span class="hps">de pasos que usted</span> <span class="hps">debe asegurarse de que</span> <span class="hps">usted sigue</span> <span class="hps">para su sistema</span> <span class="hps">operativo particular</span></span>, <span id="result_box" lang="es"><span class="hps">antes de empezar a</span> <span class="hps">tratar de</span> <span class="hps">actualizar su dispositivo</span></span> Flame, <span id="result_box" lang="es"><span class="hps">por ejemplo</span></span> para actualizar la versión de Firefox OS de su Flame, <span class="short_text" id="result_box" lang="es"><span class="hps">o instalar</span> <span class="hps">aplicaciones</span> <span class="hps">a su teléfono</span></span>. <span class="short_text" id="result_box" lang="es"><span class="hps">Ambos</span> <span class="hps">están cubiertos</span> <span class="hps">en los artículos siguientes</span></span>, <span id="result_box" lang="es"><span class="hps">pero se debe</span> <span class="hps">trabajar a través de</span> <span class="hps">este artículo</span> <span class="hps">primero</span><span>.</span></span></p>
-</div>
-
-<h2 id="Todos_los_sistemas_operativos">Todos los sistemas operativos</h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Necesita instalar</span> <span class="hps">ADB</span> <span class="hps">y</span> <span class="hps">Fastboot</span> <span class="hps">en su ordenador</span></span> — <span id="result_box" lang="es"><span class="hps">estos son</span> <span class="hps">aplicaciones que</span> <span class="hps">le permiten</span> <span class="hps">interactuar con su</span> <span class="hps">teléfono desde la computadora</span> <span class="hps">cuando</span> <span class="hps">los dos están conectados</span> <span class="hps">a través de cable</span> <span class="hps">de carga USB</span> <span class="hps">del teléfono</span></span>. <span id="result_box" lang="es"><span class="hps">Son necesarios para</span> <span class="hps">que pueda flashear</span> <span class="hps">el teléfono a una</span> <span class="hps">nueva</span> <span class="hps">versión de Firefox</span> <span class="hps">OS</span></span>, <span id="result_box" lang="es"><span class="hps">recuperarse de</span> <span class="hps">un estado no interactivo</span><span>, instalando</span> <span class="hps">aplicaciones</span> <span class="hps">a su teléfono</span><span>,</span> <span class="hps">etc.</span></span></p>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si estás en</span> <span class="hps">Ubuntu</span> <span class="hps">puede</span> <span class="hps">instalar</span> <span class="hps">ADB</span> <span class="hps">y</span> <span class="hps">Fastboot</span> <span class="hps">simplemente usando</span></span> <code>sudo apt-get install android-tools-adb android-tools-fastboot</code> <span class="short_text" id="result_box" lang="es"><span class="hps">en la línea</span> <span class="hps">de comandos</span></span>.</p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si usted está en</span> <span class="hps">Mac</span> <span class="hps">OS</span> <span class="hps">puede instalar</span> <span class="hps">ADB</span> <span class="hps">y</span> <span class="hps">Fastboot</span> <span class="hps">simplemente usando</span> <span class="hps">Homebrew</span> <span class="hps">en la línea</span> <span class="hps">de comandos</span></span>. Mire <a href="//developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB">Instalando y usando ADB</a>.</p>
-</div>
-
-<p>ADB y Fastboot se encuentra disponible en <a class="external external-icon" href="http://developer.android.com/sdk/index.html" title="Android Developer Tookit">Android Developer Toolkit</a>:</p>
-
-<ol>
- <li>Vaya al link anterior.</li>
- <li>Presione el botón <em>Download Eclipse ADT</em>.</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Acepte</span><span class="hps"> las</span> <span class="hps">condiciones de la licencia</span></span>.</li>
- <li><span id="result_box" lang="es"><span class="hps">Elija</span> <span class="hps">entre la versión</span> <span class="hps">de 32 bits y</span> <span class="hps">64</span> <span class="atn hps">bits</span></span> (elija 32-bit si no estás seguro).</li>
- <li>Clic en el botón final <em>Download Eclipse ADT with the Android SDK...</em>.</li>
- <li><span id="result_box" lang="es"><span class="hps">Una vez</span> <span class="hps">finalizada la descarga</span><span>,</span> <span class="hps">descomprima</span> <span class="hps">el contenido del archivo</span> <span class="hps">zip</span> <span class="hps">en el escritorio</span> <span class="hps">de su ordenador.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">nombre de la carpeta</span> <span class="hps">es</span> <span class="hps">un poco complicado</span><span>;</span> <span class="hps">cambiarle el nombre a</span> <span class="hps">simplemente</span></span> <em>adt.</em></li>
-</ol>
-
-<p><span id="result_box" lang="es"><span class="hps">ADB</span> <span class="hps">es una herramienta</span> <span class="hps">que se ejecuta desde</span> <span class="hps">la línea de comandos</span><span>.</span></span> <span class="short_text" id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">usted abre su</span> <span class="hps">terminal / simbolo de sistema</span></span>, vaya a <code>adt/sdk/platform-tools</code> y ejecute el comando <code>adb</code>, <span id="result_box" lang="es"><span class="hps">debería ver</span> <span class="hps">una carga de</span> <span class="hps">la información</span> <span class="hps">arrojada</span> <span class="hps">de vuelta a usted</span> <span class="hps">acerca de lo</span> <span class="hps">que puede hacer con</span> <span class="hps">ADB</span></span>. Ejecutando <code>adb devices</code> <span class="short_text" id="result_box" lang="es"><span class="hps">debe devolver</span> <span class="hps">la línea</span></span> <code>List of devices attached</code>, <span id="result_box" lang="es"><span class="hps">y nada más,</span> <span class="hps">porque</span> <span class="hps">no tienes</span> <span class="hps">ningún dispositivo</span> <span class="hps">aún</span> <span class="hps">conectado</span><span>.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">En este punto,</span> <span class="hps">es necesario establecer</span> <span class="hps">la variable PATH</span> <span class="hps">para que apunte a</span> <span class="hps">la herramienta</span> <span class="hps">ADB</span><span>,</span> </span><span class="short_text" id="result_box" lang="es"><span class="hps">para que pueda</span> <span class="hps">ejecutarlo desde</span> <span class="hps">cualquier lugar</span></span><span lang="es"><span>, no sólo</span> <span class="hps">cuando se está en</span> <span class="hps">el directorio</span> <span class="hps">exacto en que</span> está <span class="hps">el ADB</span><span>.</span></span></p>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Para hacer esto</span> <span class="hps">en Windows</span> <span class="hps">8</span></span> (<span id="result_box" lang="es"><span class="hps">Windows 7</span> <span class="hps">será muy similar</span><span>, pero</span> <span class="hps">con pocas diferencias de</span> <span class="hps">opciones de menú</span></span>):</p>
-
-<ul>
- <li><span id="result_box" lang="es"><span class="hps">Haga clic derecho sobre</span> <span class="hps">el botón</span> <span class="hps">de Windows en la</span> <span class="hps">parte inferior</span> <span class="hps">izquierda y seleccione</span></span> <em>Panel de Control </em> &gt; <em>Sistema y Seguridad</em> &gt; <em>Sistema</em> &gt; <em>Configuración avanzada del sistema</em> &gt; <em>Variables de Entorno</em>.</li>
- <li>En la lista <em>Variables de sistema</em>, encuentra la llamada <em>Path</em>, seleccionela, entonces clic en <em>Editar...</em></li>
- <li>En el campo de texto <em>Valor de la variable value</em> <span class="short_text" id="result_box" lang="es"><span class="hps">del</span> <span class="hps">cuadro de diálogo resultante</span></span>, <span id="result_box" lang="es"><span class="hps">asegúrese de que se encuentra</span> <span class="hps">al final de</span> <span class="hps">la gran</span> <span class="hps">cadena de caracteres</span> <span class="hps">en el cuadro</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">a continuación, escriba</span> <span class="hps">un punto y coma</span></span> (;) <span id="result_box" lang="es"><span class="hps">seguido de la ubicación</span> <span class="hps">de la herramienta</span> <span class="hps">adb</span> <span class="hps">en su sistema</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">que debe ser</span></span> <em>C:\Users\[TU NOMBRE DE USUARIO]\Desktop\adt\sdk\platform-tools</em>.<br>
- <br>
- <span id="result_box" lang="es"><span class="hps">Así que si</span> <span class="hps">su nombre de usuario</span> <span class="hps">es</span> <span class="hps">jamessmith</span><span>, introduciría</span></span> ;<em>C:\Users\jamessmith\Desktop\adt\sdk\platform-tools</em>.</li>
- <li>Presione <em>OK</em> <span id="result_box" lang="es"><span class="hps">en todos</span> <span class="hps">los cuadros de diálogo</span> <span class="hps">que se abrió</span> <span class="hps">en</span> <span class="hps">esta sección.</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Cierre el</span> <span class="hps">símbolo del sistema</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">abra</span> <span class="hps">uno nuevo,</span> <span class="hps">y pruebe</span> <span class="hps">escribiendo</span></span> <code>adb devices</code>. <span class="short_text" id="result_box" lang="es"><span class="hps">Si sale</span></span> <code>List of devices attached</code>, todo ha salido bien.! <span class="short_text" id="result_box" lang="es"><span class="hps">También tendrá</span> <span class="hps">que seguir las</span> <span class="hps">instrucciones de la sección</span></span> <a href="#Pasos_extra_para_Windows">Pasos extra para Windows</a> de abajo.</li>
-</ul>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Para abrir</span> <span class="hps">el símbolo del sistema</span><span>, haga clic en</span> <span class="hps">el botón derecho en</span> <span class="hps">el botón</span> <span class="hps">de Windows en la</span> <span class="hps">parte inferior</span> <span class="hps">izquierda y seleccione</span> <span class="hps">la línea de comandos</span><span>.</span></span></p>
-</div>
-
-<p>En Mac/Linux:</p>
-
-<ul>
- <li><span id="result_box" lang="es"><span class="hps">En el explorador</span><span>, vaya a</span> <span class="hps">la carpeta de inicio</span></span> (<span class="short_text" id="result_box" lang="es"><span class="hps">la que tiene el</span> <span class="hps">icono de la casa</span></span>).</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Si no puede</span> <span class="hps">ver</span> <span class="hps">archivos ocultos</span></span> (<span id="result_box" lang="es"><span class="hps">por ejemplo</span><span>, </span><span class="hps">archivos</span> <span class="hps">con puntos</span> <span class="atn hps">(</span><span>.</span><span>)</span> <span class="hps">en el inicio</span></span>), vaya<span class="short_text" id="result_box" lang="es"><span class="hps"> a</span> <span class="hps">la terminal</span> <span class="hps">y escriba el comando</span></span> <code>defaults write com.apple.finder AppleShowAllFiles YES</code>, entonces reinicie el explorador.</li>
- <li>Abra su archivo <code>.bash_profile</code> o <code>.bashrc</code> en un editor de texto plano como Text Wrangler or Sublime Text (<span class="short_text" id="result_box" lang="es"><span class="hps">tiene que ser</span> <span class="hps">un editor de</span> <span class="hps">texto sin formato</span></span>).</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Dentro del archivo</span><span>,</span> <span class="hps">añada una nueva línea</span></span> <code>PATH=/Users/<em>[Tu nombre de usuario]</em>/Desktop/adt/sdk/platform-tools:$PATH</code></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Guarde y cierre el archivo.</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Reinicie</span> <span class="hps">su terminal</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">y pruebe</span> <span class="hps">escribiendo</span></span> <code>adb devices</code>. <span class="short_text" id="result_box" lang="es"><span class="hps">Si sale</span></span> <code>List of devices attached</code>, todo ha salido bien.</li>
-</ul>
-
-<h2 id="Habilitando_depuración_remota">Habilitando depuración remota</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Asegúrese de</span> <span class="hps">depuración remota</span> <span class="hps">segura</span> <span class="hps">está activado en</span> <span class="hps">tu</span></span> Flame, usando la opción <em>Depuración Remota/Depuración via USB</em> en <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Ajustes de desarrollador</a> en el dispositivo (<span id="result_box" lang="es"><span class="hps">opción</span> <span class="hps">es diferente,</span> <span class="hps">dependiendo de si</span> <span class="hps">usted tiene</span> <span class="hps">Firefox</span> <span class="hps">1.3</span> <span class="hps">e inferior</span><span>,</span> <span class="hps">o Firefox</span> <span class="hps">1.4+</span> <span class="hps">instalado</span></span>).</p>
-
-<h2 id="Pasos_extra_para_Linux">Pasos extra para Linux</h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Dependiendo de su</span> <span class="hps">distro</span> <span class="hps">Linux</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">es probable que</span> <span class="hps">tenga que</span></span> <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#For_Linux.3A_configure_the_udev_rule_for_your_phone">agregar una regla udev</a> para su teléfono.</p>
-
-<p><span id="result_box" lang="es"><span class="hps">Para descubrir</span> <span class="hps">el ID de</span> <span class="hps">proveedor de su</span> <span class="hps">dispositivo</span></span>, <span id="result_box" lang="es"><span class="hps">conectar</span> <span class="hps">su teléfono</span> <span class="hps">a través de USB</span> <span class="hps">y utilice el comando</span></span> <code>lsusb</code> <span id="result_box" lang="es"><span class="hps">para ver</span> <span class="hps">los</span> <span class="hps">dispositivos detectados</span> <span class="hps">en el subsistema</span> <span class="hps">USB.</span></span> <span class="short_text" id="result_box" lang="es"><span class="hps">Encuentre su</span> <span class="hps">teléfono en la lista</span></span>, <span id="result_box" lang="es"><span class="hps">y tome nota de</span> <span class="hps">las cuatro</span> <span class="hps">primeras</span> <span class="hps">cifras</span> <span class="hps">inmediatamente seguido de</span></span> "ID". <span class="short_text" id="result_box" lang="es"><span class="hps">Un ID</span> <span class="hps">común para</span> <span class="hps">Flame</span> <span class="hps">es</span></span> <code>05c6</code>, <span class="short_text" id="result_box" lang="es"><span class="hps">por lo que una</span> <span class="hps">regla</span> <span class="hps">udev</span> <span class="hps">en este caso</span> <span class="hps">sería:</span></span></p>
-
-<pre>SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
-</pre>
-
-<p><span id="result_box" lang="es"><span class="hps">Si el dispositivo</span> <span class="hps">muestra un número</span> <span class="hps">diferente, utilice</span> <span class="hps">en su lugar.</span> <span class="hps">Por ejemplo:</span></span></p>
-
-<pre>SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
-</pre>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Asegúrese de</span> <span class="hps">ejecutar el comando</span></span> <code>udevadm control --reload-rules</code> (<span id="result_box" lang="es"><span class="hps">podría</span> <span class="hps">ser automática</span> <span class="hps">dependiendo de su configuración</span></span>), <span id="result_box" lang="es"><span class="hps">a continuación, desconecte</span> <span class="hps">y</span> <span class="hps">vuelva a conectar</span> <span class="hps">el dispositivo</span> <span class="hps">antes de continuar.</span></span></p>
-
-<h2 id="Pasos_extra_para_Windows">Pasos extra para Windows</h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Para acceder al</span> <span class="hps">dispositivo Flame</span> <span class="hps">con</span></span> <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> <span class="short_text" id="result_box" lang="es"><span class="hps">y</span> <span class="hps">herramientas</span> <span class="hps">Mozilla</span> </span><span class="short_text" lang="es"><span class="hps">dev</span> <span class="hps">como</span></span> <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>/<a href="/en-US/docs/Tools/WebIDE">WebIDE</a>, <span id="result_box" lang="es"><span class="hps">se requiere</span> <span class="hps">un controlador USB</span><span>.</span> <span class="hps">Siga</span> <span class="hps">los pasos descritos en</span> <span class="hps">las</span> <span class="hps">secciones</span> <span class="hps">siguientes para</span> <span class="hps">instalarlo.</span></span></p>
-
-<h3 id="Descargando_el_controlador">Descargando el controlador</h3>
-
-<p><a href="http://cds.w5v8t3u9.hwcdn.net/Alcatel_USB_Driver_Q_4.0.0_2013_11_11_noinstall.zip">Descargue el controlador de Windows desde esta ubicación</a>. <span id="result_box" lang="es"><span class="hps">Una vez descargado,</span> <span class="hps">extraer</span> <span class="hps">el contenido del</span> <span class="hps">archivo ZIP en</span> <span class="hps">un lugar adecuado</span> <span class="hps">en su disco duro</span><span>.</span></span></p>
-
-<div class="note">
-<p><strong>Nota</strong>: Android Debug Bridge (<a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a>) <span id="result_box" lang="es"><span class="hps">se debe instalar</span> <span class="hps">primero</span><span>:</span> <span class="hps">ver</span> <span class="hps">instrucciones anteriores</span> <span class="hps">si no</span> <span class="hps">has</span> <span class="hps">hecho esto ya</span><span>.</span></span></p>
-</div>
-
-<h3 id="Instalando_el_controlador_USB">Instalando el controlador USB</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">En este punto</span><span>, conecte el dispositivo</span> Flame <span class="hps">al ordenador mediante</span> <span class="hps">un cable USB.</span></span></p>
-
-<p>Para instalar el controlador abra el directorio <code>Alcatel_USB_Driver_Q_4.0.0_2013_11_11_noinstall</code>  <span id="result_box" lang="es"><span class="hps">dentro del</span> <span class="hps">archivo ZIP</span> <span class="hps">extraídos y</span> <span class="hps">haga doble clic sobre</span> <span class="hps">el ejecutable</span></span> <code>DriverInstaller.exe</code>. <span id="result_box" lang="es"><span class="hps">Es posible que reciba</span> <span class="hps">una advertencia</span> <span class="hps">en este punto que</span> <span class="hps">el ejecutable</span> <span class="hps">es de</span> <span class="hps">un editor desconocido</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Si es así</span><span>, seleccione el botón</span></span> <em>Si</em> <span id="result_box" lang="es"><span class="hps">y</span> <span class="hps">se pondrá en marcha</span> <span class="hps">el ejecutable</span><span>.</span></span></p>
-
-<p><img alt="Simple dialog box showing a picture of a phone along with install and uninstall buttons." src="https://mdn.mozillademos.org/files/8079/driver-install.png" style="display: block; height: 523px; margin: 0px auto; width: 358px;"></p>
-
-<p>Clic en el botón <em>Install</em> para instalar el controlador.</p>
-
-<p><span id="result_box" lang="es"><span class="hps">Después de que el</span> <span class="hps">controlador</span> <span class="hps">se ha instalado</span><span>, puede comprobar</span> <span class="hps">que está trabajando</span> <span class="hps">abriendo</span> <span class="hps">una ventana de</span> <span class="hps">línea de comandos</span> <span class="hps">y escribiendo</span></span> <code>adb devices</code>.</p>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Esto debe</span> <span class="hps">listar</span></span> <span class="short_text" id="result_box" lang="es"><span class="hps">el dispositivo conectado con</span> <span class="hps">una salida</span> <span class="hps">algo como:</span></span></p>
-
-<pre>List of devices attached
-3561d02a device</pre>
-
-<p><span id="result_box" lang="es"><span class="hps">Si el dispositivo</span> <span class="hps">no aparece</span> <span class="hps">aquí</span><span>, compruebe</span> <span class="hps">en el Administrador</span> <span class="hps">de dispositivos de Windows</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Su</span> Flame<span class="hps"> puede</span> <span class="hps">aparecer</span> <span class="atn hps">como "</span><span>ACER</span> <span class="hps">ADB</span> <span class="hps">Interface"</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Puede</span> <span class="hps">confirmar esto</span> <span class="hps">desconectando</span> <span class="hps">el dispositivo</span> <span class="hps">y ver</span> <span class="hps">si</span> <span class="hps">desaparece del</span> <span class="hps">administrador de dispositivos</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Desinstale el</span> <span class="hps">software del controlador</span> <span class="hps">haciendo clic derecho</span> <span class="atn hps">sobre</span></span> "ACER ADB Interface" <span class="short_text" id="result_box" lang="es"><span class="hps">y haciendo clic en</span> <span class="hps">desinstalar.</span></span>  <span id="result_box" lang="es"><span class="hps">Asegúrese</span> <span class="hps">de marcar la casilla</span> <span class="hps">en el</span> <span class="hps">cuadro de diálogo para</span> <span class="hps">eliminar</span> <span class="hps">el software del controlador</span><span>.</span> <span class="hps">Ahora</span> <span class="hps">vuelva a ejecutar</span> <span class="hps">el instalador</span> <span class="hps">anteriormente.</span></span> <span id="result_box" lang="es"><span class="hps">Es recomendable</span> <span class="hps">establecer el</span> <span class="hps">tiempo de espera</span> <span class="hps">de pantalla en su</span> Flame <span class="hps">a algo</span> <span class="hps">alto</span></span> (<em>Ajustes</em> &gt; <em>Pantalla</em> &gt; <em>Screen timeout</em>) <span id="result_box" lang="es"><span class="hps">en Windows</span> <span class="hps">aparece a veces</span> <span class="hps">para volver a instalar</span> <span class="hps">los controladores predeterminados</span> <span class="hps">cuando la pantalla</span> <span class="hps">se apaga.</span></span></p>
diff --git a/files/es/archive/b2g_os/phone_guide/flame/index.html b/files/es/archive/b2g_os/phone_guide/flame/index.html
deleted file mode 100644
index caf801ff64..0000000000
--- a/files/es/archive/b2g_os/phone_guide/flame/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: Flame
-slug: Archive/B2G_OS/Phone_guide/Flame
-tags:
- - Firefox OS
- - Flame
- - developer phone
- - dispositivo de referência
- - teléfono desarrollador
-translation_of: Archive/B2G_OS/Phone_guide/Flame
----
-<div class="note">
-<p><strong>Actualizaciones en tu Flame</strong>: <span id="result_box" lang="es"><span class="hps">Le animamos a</span> <span class="hps">unirse a la</span> <span class="hps">siguiente lista</span> <span class="hps">de correo para recibir</span> <span class="hps">actualizaciones periódicas</span> <span class="hps">sobre el software</span> <span class="hps">builds y</span> <span class="hps">otras noticias</span> <span class="hps">relacionadas a</span> <span class="hps">su dispositivo</span> Flame</span>: <a href="https://mail.mozilla.org/listinfo/flamenews">https://mail.mozilla.org/listinfo/flamenews</a></p>
-</div>
-
-<p><img alt="A picture of the Flame device, showing the Firefox OS homescreen containing several app icons." src="https://mdn.mozillademos.org/files/8373/flame-dev-hud.png" style="float: left; margin-bottom: 20px; margin-right: 50px; width: 25%;"></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Flame</span> <span class="hps">es el dispositivo</span> <span class="hps">de referencia oficial</span> <span class="hps">para el desarrollo</span><span>, prueba y</span> <span class="hps">depuración de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">y</span> <span class="hps">aplicaciones web</span> <span class="hps">abiertas</span><span>.</span> <span class="hps">Esta guía proporciona información</span> <span class="hps">básica acerca de</span> <span class="hps">sus</span> <span class="hps">especificaciones de hardware</span><span>, así como</span> documentación <span class="hps">práctica específica</span> <span class="hps">experimentando con</span><span>, desarrollando</span> <span class="hps">para</span><span>,</span> <span class="hps">y prueba de</span> <span class="hps">software compatible con</span> <span class="hps">este teléfono</span><span>.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">El hardware</span> <span class="hps">de Flame</span> <span class="hps">ofrece</span> <span class="hps">un conjunto representativo de</span> <span class="hps">especificaciones</span></span> — <span id="result_box" lang="es"><span class="hps">incluyendo</span> <span class="hps">pantalla</span> <span class="hps">FWVGA</span> <span class="hps">y</span> <span class="hps">procesador de doble núcleo</span></span> — <span id="result_box" lang="es"><span class="hps">para ayudar a</span> <span class="hps">los desarrolladores a crear</span> <span class="hps">gran contenido y</span> <span class="hps">experiencias.</span></span> <span id="result_box" lang="es"><span class="hps">Una única</span> <span class="hps">plataforma de hardware</span> <span class="hps">también es bueno para</span> <span class="hps">los probadores</span><span>,</span> <span class="hps">por lo que es</span> <span class="hps">más fácil de</span> <span class="hps">probar y</span> <span class="hps">abordar cuestiones</span> <span class="hps">específicas de software</span> <span class="hps">sin tener que</span> <span class="hps">preocuparse</span> <span class="hps">de dispositivos</span> <span class="hps">de modelos específicos,</span> <span class="hps">errores</span><span>, etc.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Si usted tiene su</span> <span class="hps">teléfono en la mano</span> <span class="hps">y quiere</span> <span class="hps">empezar a jugar</span> <span class="hps">con el</span><span>,</span> <span class="hps">desarrollando y distribuyendo</span> <span class="hps">aplicaciones</span><span>,</span> <span class="hps">o contribuir</span> <span class="hps">a la plataforma de</span> <span class="hps">Firefox</span><span>,</span> <span class="hps">los siguientes enlaces</span> <span class="hps">le llevarán</span><span class="hps"> a donde necesita</span><span class="hps"> ir</span></span>:</p>
-
-<ul>
- <li><a href="/es/Firefox_OS">Firefox OS zone</a>: <span id="result_box" lang="es"><span class="hps">Para</span> <span class="hps">crear sus</span> <span class="hps">propias builds del sistema operativo</span> <span class="hps">Firefox</span> <span class="hps">y</span> <span class="hps">contribuir a los</span> <span class="hps">proyectos de</span> <span class="hps">B2G</span> <span class="hps">y</span> <span class="hps">Gaia</span><span>.</span></span></li>
- <li><a href="/es/Apps">App Center zone</a>: <span id="result_box" lang="es"><span class="hps">Para la construcción de</span> <span class="hps">aplicaciones</span> <span class="hps">web de código abierto</span> <span class="hps">compatible</span> <span class="hps">con el sistema operativo</span> <span class="hps">Firefox</span><span>.</span></span></li>
- <li><a href="/es/Marketplace">Marketplace zone</a>: <span id="result_box" lang="es"><span class="hps">Para obtener información sobre</span> <span class="hps">la publicación y distribución</span> <span class="hps">de aplicaciones</span><span>.</span></span></li>
- <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a>: <span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">mejor lugar para encontrar</span> <span class="hps">y publicar</span> <span class="hps">nuevas</span> <span class="hps">aplicaciones</span> <span class="hps">del sistema operativo</span> <span class="hps">de Firefox.</span></span></li>
-</ul>
-
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">desea</span> <span class="hps">obtener más información sobre</span><span class="hps"> actualizar el</span> <span class="hps">sistema operativo,</span> <span class="hps">recuperación</span><span class="hps">,</span> instalación de <span class="hps">aplicaciones</span><span class="hps">,</span> <span class="hps">o </span><span class="hps">especificaciones del teléfono,</span> <span class="hps">usted encontrará la</span> <span class="hps">información que necesita en</span> <span class="hps">los dos artículos siguientes</span><span>:</span></span></p>
-
-<ul>
- <li><a href="/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/Flame/Configuracion_Inicial">Configuración Inicial</a>: <span id="result_box" lang="es"><span class="hps">Pasos esenciales</span> <span class="hps">a seguir para</span> <span class="hps">configurar el ordenador</span> <span class="hps">para trabajar con su</span> Flame</span></li>
- <li><a href="/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/Flame/Updating_your_Flame">Actualizando su Flame</a>: <span id="result_box" lang="es"><span class="hps">Cómo actualizar</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">en tu</span> Flame<span class="hps">,</span> instalar <span class="hps">aplicaciones</span><span class="hps">,</span> <span class="hps">y solucionar problemas</span> <span class="hps">y probarlo.</span></span></li>
-</ul>
-
-<h2 id="Obtener_un_dispositivo"><span class="short_text" id="result_box" lang="es"><span class="hps">Obtener</span> <span class="hps">un dispositivo</span></span></h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Las ventas de</span> <span class="hps">Flame</span> <span class="hps">han</span> <span class="hps">llegado a su fin</span></span>. <span id="result_box" lang="es"><span class="hps">Todavía hay</span> <span class="hps">un montón de oportunidades</span> <span class="hps">para los colaboradores</span> <span class="hps">de Mozilla</span> <span class="hps">para obtener</span> Flame <span class="hps">gratuitos</span></span>, <span id="result_box" lang="es"><span class="hps">incluyendo</span> <span class="hps">una próxima</span> <span class="hps">segunda</span> <span class="hps">ronda del programa</span> <span class="hps">Foxtrot</span></span>. <span id="result_box" lang="es"><span class="hps">Si tiene preguntas</span> <span class="hps">acerca de cómo obtener</span> <span class="hps">un dispositivo</span> <span class="hps">gratis para </span><span class="hps">desarrollo</span> <span class="hps">o pruebas</span></span>, <span id="result_box" lang="es"><span class="hps">por favor,</span> <span class="hps">comuniquese con</span> <span class="hps">Asa</span> <span class="hps">Dotzler</span> <span class="hps">o</span> <span class="hps">Marcia</span> <span class="hps">Knous</span> <span class="atn hps">(</span><span>marcia</span><span>)</span> <span class="hps">en el canal #fxos en IRC</span><span>.</span></span></p>
-
-<h2 id="Especificaciones_del_dispositivo"><span class="short_text" id="result_box" lang="es"><span class="hps">Especificaciones del dispositivo</span></span></h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted</span> <span class="hps">puede encontrar más de</span> <span class="hps">las especificaciones del dispositivo</span> <span class="hps">que aparecen en</span> <span class="hps">nuestra página</span></span> <a href="/en-US/Firefox_OS/Phone_guide/Phone_specs">Phone and device specs</a>.</p>
-
-<h3 id="Red"><span class="short_text" id="result_box" lang="es"><span class="hps">Red</span></span></h3>
-
-<ul>
- <li>GSM 850/900/1800/1900MHz</li>
- <li>UMTS 850/900/1900/2100MHz</li>
- <li>Wifi 802.11b/g/n</li>
- <li>Bluetooth 3.0</li>
-</ul>
-
-<h3 id="Hardware">Hardware</h3>
-
-<ul>
- <li>NFC</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Acelerómetro</span></span></li>
- <li>Radio FM</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Sensor de proximidad</span></span></li>
- <li>Compatibilidad GPS W / A-GPS</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Sensor de luz ambiental</span></span></li>
-</ul>
-
-<h2 id="Mire_también"><span class="short_text" id="result_box" lang="es"><span class="hps">Mire también</span></span></h2>
-
-<p> </p>
-
-<ul>
- <li><a href="/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/Flame/Configuracion_Inicial">Configuración Inicial</a>: <span id="result_box" lang="es"><span class="hps">Pasos esenciales</span> <span class="hps">a seguir para</span> <span class="hps">configurar el ordenador</span> <span class="hps">para trabajar con su</span> Flame</span></li>
- <li><a href="/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/Flame/Updating_your_Flame">Actualizando su Flame</a>: <span id="result_box" lang="es"><span class="hps">Cómo actualizar</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">en tu</span> Flame<span class="hps">,</span> instalar <span class="hps">aplicaciones</span><span class="hps">,</span> <span class="hps">y solucionar problemas</span> <span class="hps">y probarlo</span></span></li>
- <li><a href="https://hacks.mozilla.org/2014/08/videos-getting-started-with-your-flame-device/">Primeros pasos con Flame</a>: <span class="short_text" id="result_box" lang="es">V<span class="hps">ídeos de cómo hace</span></span><span class="short_text" lang="es"><span class="hps"> de</span> <span class="hps">Chris</span> <span class="hps">Heilmann</span><span>.</span></span></li>
- <li><a href="http://mozilla.github.io/flame-on/">Flame On</a>: <span id="result_box" lang="es"><span class="hps">Gran</span> <span class="hps">página</span> <span class="hps">de inicio</span> <span class="hps">para todos los propietarios</span> <span class="hps">de Flame</span> <span class="hps">creado en el Festival</span> <span class="hps">Mozilla</span> <span class="hps">2014</span><span>.</span></span></li>
- <li><a href="https://blog.mozilla.org/press/2014/02/developer-momentum-2/">Anuncio Original</a>: Anuncio de prensa, <span class="short_text" id="result_box" lang="es"><span class="hps">23 de febrero</span> <span class="hps">de 2014.</span></span></li>
-</ul>
-
-<p> </p>
diff --git a/files/es/archive/b2g_os/phone_guide/flame/updating_your_flame/index.html b/files/es/archive/b2g_os/phone_guide/flame/updating_your_flame/index.html
deleted file mode 100644
index 62e3ec86a4..0000000000
--- a/files/es/archive/b2g_os/phone_guide/flame/updating_your_flame/index.html
+++ /dev/null
@@ -1,301 +0,0 @@
----
-title: Actualiza tu Flame
-slug: Archive/B2G_OS/Phone_guide/Flame/Updating_your_Flame
-tags:
- - Firefox OS
- - Flame
- - developer phone
- - dispositivo de referência
- - reerence device
- - teléfono desarrollador
-translation_of: Archive/B2G_OS/Phone_guide/Flame/Updating_your_Flame
----
-<div class="summary">
-<p><span id="result_box" lang="es"><span class="hps">En este artículo se</span> <span class="hps">explica cómo</span> <span class="hps">actualizar</span> <span class="hps">el software en su</span> <span class="hps">Flame -</span> <span class="hps">incluyendo la actualización de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">e instalación de</span> <span class="hps">nuevas</span> <span class="hps">aplicaciones</span> <span class="hps">a su teléfono</span> <span class="hps">-</span> <span class="hps">junto con</span> <span class="hps">copias de seguridad de</span> <span class="hps">sus datos,</span> <span class="hps">y alguna otra</span> <span class="hps">solución</span> <span class="hps">útil de problemas e</span> <span class="hps">información de prueba</span><span>.</span> <span class="hps">Antes de empezar a</span> <span class="hps">hacer algo de esto</span><span>,</span> <span class="hps">usted debe asegurarse de</span> <span class="hps">que ha iniciado</span> <span class="hps">a través de la</span> <span class="hps">información de configuración</span> <span class="hps">inicial (</span></span><a href="/en-US/Firefox_OS/Developer_phone_guide/Flame/Initial_setup">Initial setup</a><span lang="es"><span class="hps">)</span></span>.</p>
-</div>
-
-<h2 id="Actualizando_el_software_del_Flame">Actualizando el software del Flame</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Tenemos dos</span> <span class="hps">principales</span> <span class="hps">"canales"</span> <span class="hps">de</span> versiones <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">para</span> <span class="hps">e</span>l <span class="hps">Flame:</span></span></p>
-
-<ul>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">El</span> <span class="hps">primer canal</span> <span class="hps">es nuestro</span> <span class="hps">canal "release"</span></span>. Usa <span id="result_box" lang="es"><span class="hps">este canal y</span> <span class="hps">recibirás</span> actualizaciones </span>OTA (over-the-air) <span id="result_box" lang="es"><span class="hps">para</span> <span class="hps">versiones principales</span><span>,</span> <span class="hps">es decir,</span> <span class="hps">se actualizará de</span> <span class="hps">1.3 a 2.0</span> <span class="hps">a 2.1,</span> <span class="hps">etc</span></span>.</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">El segundo canal es</span> <span class="hps">nuestro cana nocturno</span></span> (nightly). El flame puede ser flasheado a este canal, <span id="result_box" lang="es"><span class="hps">y después del</span> flasheo <span class="hps">inicial</span> <span class="hps">recibirá actualizaciones</span> <span class="hps">durante los</span> <span class="hps">cambios</span>  diariamente <span class="hps">o casi</span> <span class="hps">diariamente.</span></span></li>
-</ul>
-
-<h3 id="Imagen_Base"><a name="Base Image">Imagen Base</a></h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted puede obtener</span> <span class="hps">archivos de recuperación</span> <span class="hps">y herramientas</span> <span class="hps">en los siguientes lugares</span> <span class="hps">de almacenamiento</span><span>:</span></span></p>
-
-<h4 id="Up-to-date_(utilice_éstos_a_menos_que_tenga_una_buena_razón_para_no_hacerlo)">Up-to-date <span id="result_box" lang="es"><span class="atn">(</span><span>utilice éstos</span> <span class="hps">a menos que tenga</span> <span class="hps">una buena</span> <span class="hps">razón para no hacerlo</span><span>)</span></span></h4>
-
-<ul>
- <li>Producción:
- <ul>
- <li>Estable: <a href="http://cds.w5v8t3u9.hwcdn.net/v18D.zip">Imágen base v18D.zip</a>: <span id="result_box" lang="es"><span class="hps">El último archivo estable</span><span class="hps">,</span> <span class="hps">que contiene</span> <span class="hps">una imágen de</span> <span class="hps">producción base</span> <span class="hps">de Flame</span> <span class="hps">con Firefox</span> <span class="hps">OS</span> <span class="hps">2.0</span><span>.</span></span></li>
- <li>Nightly: <a href="http://cds.w5v8t3u9.hwcdn.net/v18D_nightly_v2.zip">Imágen base v18D_nightly</a>: <span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">última</span> <span class="hps">archivo nightly</span><span>,</span> <span class="hps">que contiene</span> <span class="hps">una imágen de</span> <span class="hps">producción</span> <span class="hps">base</span> <span class="hps">de Flame</span> con<span class="hps"> Firefox</span> <span class="hps">OS</span> <span class="hps">3.0</span><span>.</span> <span class="hps">Antes de actualizar</span> <span class="hps">su teléfono</span> <span class="hps">a una Build Nightly</span> <span class="hps">usted debe</span> flashear <span class="hps">con la última imagen base</span> <span class="hps">para asegurarse de que</span> <span class="hps">los sistemas subyacentes</span> <span class="hps">están al día</span></span>.</li>
- </ul>
- </li>
- <li>Ingeniería: <span id="result_box" lang="es"><span class="hps">No hay</span> <span class="hps">imágen</span> <span class="hps">Base</span> <span class="hps">ingeniería</span></span>. Use a production base image and  <span id="result_box" lang="es"><span class="hps">Utilice</span> <span class="hps">una imagen </span><span class="hps">base de Producción</span> <span class="hps">y </span></span><a href="#Updating_to_nightly_build">flashee a una build Nightly de ingeniería</a>.</li>
-</ul>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Puede</span> <span class="hps">averiguar qué</span> <span class="hps">imagen base</span> está funcionando en <span class="hps">su dispositivo</span> <span class="hps">con el comando</span></span> <code>adb shell getprop ro.bootloader</code>. <span id="result_box" lang="es"><span class="hps">La versión</span> <span class="hps">son los últimos cuatro</span> <span class="hps">caracteres</span></span>, con el último entonces removido, <span class="short_text" id="result_box" lang="es"><span class="hps">el prefijo</span> <span class="atn hps">'</span><span>v</span><span>'</span></span> (e.j. L1TC000118D0 &gt; v18D).</p>
-</div>
-
-<div class="warning">
-<p><strong>Importante</strong>: <span id="result_box" lang="es"><span class="hps">Cuando se ejecuta</span> <span class="hps">un flasheo completo o</span> <span class="hps">poco profundo (shallow flash)</span><span>,</span> <span class="hps">se sobrescribirán</span> <span class="hps">los datos del teléfono</span><span>:</span> <span class="hps">por lo tanto,</span> <span class="hps">debe hacer una copia</span> <span class="hps">de seguridad de sus</span> <span class="hps">datos</span> <span class="hps">antes de actualizar</span><span>!</span></span> Mire la sección <a href="#Respaldando_y_restaurando_su_información_del_Flame">Respaldando y restaurando su información del Flame</a> para más detalles.</p>
-</div>
-
-<h4 id="Obsoleto">Obsoleto</h4>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Estas imágenes base</span> <span class="hps">de son solo</span> <span class="hps">estables</span></span> y de producción.</p>
-
-<ul>
- <li><a href="http://cds.w5v8t3u9.hwcdn.net/v188.zip">Imágen base v188.zip</a>: <span id="result_box" lang="es"><span class="hps">Un archivo</span> <span class="hps">actualizado</span> <span class="hps">que contiene una</span> <span class="hps">imagen  base</span> <span class="hps">de Flame</span> <span class="hps">con Firefox</span> <span class="hps">OS</span> <span class="hps">2.0</span> <span class="hps">con correcciones de errores</span> <span class="hps">de</span> <span class="hps">la imagen anterior.</span></span></li>
- <li><a href="http://cds.w5v8t3u9.hwcdn.net/Flame_2.0_v180_1.zip">Imágen base v180.zip</a>: <span id="result_box" lang="es"><span class="hps">Un archivo</span> <span class="hps">más antiguo</span> <span class="hps">que contiene una</span> <span class="hps">imagen base</span> <span class="hps">de Flame</span> <span class="hps">con Firefox</span> <span class="hps">OS</span> <span class="hps">2.0</span><span>.</span></span></li>
- <li><a href="http://cds.w5v8t3u9.hwcdn.net/v123.zip">Imágen base v123.zip</a>: <span id="result_box" lang="es"><span class="hps">Una imagen</span> <span class="hps">discontinuada</span> <span class="hps">con Firefox</span> <span class="hps">OS</span> <span class="hps">1.3</span> <span class="hps">basado en</span> <span class="hps">Android</span> <span class="hps">Jellybean</span><span>;</span> <span class="hps">usted no debe usar</span> <span class="hps">esto.</span></span></li>
-</ul>
-
-<div class="note">
-<p><strong>Nota</strong>: Using a locale with base image v188 produces a mixed UI with locale and English languages.</p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Las Imágenes v180 de Firefox</span> <span class="hps">OS</span> <span class="hps">y</span> <span class="hps">anteriores se basan en</span> <span class="hps">Android</span> <span class="hps">KK</span> <span class="atn hps">(</span><span>Kitkat</span><span>,</span> <span class="hps">4,4</span><span>)</span><span>;</span> Builds <span class="hps">JB</span> <span class="atn hps">(</span><span>Jellybean</span><span>,</span> <span class="hps">04.01 a 04.03</span><span>)</span> <span class="hps">ahora</span> <span class="hps">han sido</span> <span class="hps">descontinuados y</span> <span class="hps">ya no son</span> <span class="hps">compatibles,</span> <span class="hps">por lo que no debe</span> <span class="hps">usar nada</span> <span class="hps">más antiguo a</span> <span class="hps">v180</span><span>.</span></span></p>
-</div>
-
-<h3 id="Instalación_de_imágen_base">Instalación de imágen base</h3>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Para instalar</span> <span class="hps">la imagen base</span> <span class="hps">en su dispositivo:</span></span></p>
-
-<ol>
- <li><span id="result_box" lang="es"><span class="hps">Asegúrate de</span> que la <span class="hps">depuración</span> <span class="hps">remota esté</span> <span class="hps">habilitada en el</span></span> Flame, <span class="short_text" id="result_box" lang="es"><span class="hps">utilizando la opción</span></span> <em>Depuración remota/Depuración vía USB</em> en <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">Ajustes de desarrollador</a> (<span id="result_box" lang="es"><span class="hps">la opción</span> <span class="hps">es diferente,</span> <span class="hps">dependiendo de si</span> <span class="hps">usted tiene</span> <span class="hps">Firefox</span> <span class="hps">1.3</span> e<span class="hps"> inferior</span><span>,</span> <span class="hps">o Firefox</span> <span class="hps">1.4+</span> <span class="hps">instalado</span></span>).</li>
- <li><span id="result_box" lang="es"><span class="hps">Conecta tu</span> <span class="hps">Flame</span> <span class="hps">al</span> <span class="hps">ordenador mediante un cable</span> <span class="hps">USB</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Comprueba que el equipo</span> <span class="hps">está conectado</span> <span class="hps">al dispositivo</span> <span class="hps">mediante e</span></span>l comando <code>adb devices</code> en una terminal.</li>
- <li>Descarga el archivo <code>.zip</code> mencionado anteriormente. <span class="short_text" id="result_box" lang="es"><span class="hps">Descomprímelo</span> <span class="hps">en tu</span> <span class="hps">escritorio</span><span>.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Abre la carpeta </span>en la que has<span class="hps"> extraído</span> la Imágen<span class="hps"> </span><span class="hps">y ejecuta</span></span>:
- <ul>
- <li>En Windows,<code> </code>abriendo desde la línea de comandos <code>flash.bat</code> (<span class="short_text" id="result_box" lang="es"><span class="hps">o</span> <span class="hps">haz doble clic en</span> <span class="hps">el archivo</span> <span class="hps">en el explorador</span></span> de archivos)<br>
- <strong>Nota</strong>: Si falta <code>flash.bat</code><span id="result_box" lang="es"><span class="hps">,</span> <span class="hps">simplemente</span> <span class="hps">cambie el nombre del</span> <span class="hps">archivo</span> <span class="hps">flash.sh</span> <span class="hps">a</span> <span class="hps">flash.bat</span><span>,</span> <span class="hps">a continuación, ejecute</span> <span class="hps">eso.</span> <span class="hps">Asegúrese de tener</span> <span class="hps">adb</span> <span class="hps">y</span> <span class="hps">fastboot</span> <span class="hps">instalado</span> <span class="hps">y disponible en</span> <span class="hps">PATH.</span></span></li>
- <li>En Linux / OSX, <span class="short_text" id="result_box" lang="es"><span class="hps">entra en la carpeta</span> mediante <span class="hps">la </span></span>terminal, <span class="short_text" id="result_box" lang="es"><span class="hps">a continuación, ejecuta</span> <span class="hps">el script</span></span> <code>flash.sh</code> usando <code>./flash.sh</code> (<span class="short_text" id="result_box" lang="es"><span class="hps">instrucciones previas</span> <span class="hps">le recomiendan</span><span class="hps"> utilizar</span> <span class="hps">sudo</span></span>. <span id="result_box" lang="es"><span class="hps">No.</span> <span class="hps">Es</span> <span class="hps">muy</span> <span class="hps">peligroso utilizar</span> <span class="hps">sudo</span> <span class="hps">con las cosas</span> <span class="hps">que se descargan de</span> <span class="hps">Internet</span></span>. <span id="result_box" lang="es"><span class="hps">Si el script</span> <span class="hps">de flasheo</span> <span class="hps">no encuentra</span> <span class="hps">su dispositivo</span><span>, por favor</span> <span class="hps">compruebe</span> <span class="hps">que</span></span> sus <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#For_Linux.3A_configure_the_udev_rule_for_your_phone">Reglas udev</a> son correctas). <span class="short_text" id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">usted no ve</span></span> un archivo <code>flash.sh</code>, <span id="result_box" lang="es"><span class="hps">simplemente</span> <span class="hps">cambie el nombre del</span> <span class="hps">archivo</span></span> <code>flash.bat</code> a <code>flash.sh</code> <span class="short_text" id="result_box" lang="es"><span class="hps">primero</span> <span class="hps">y luego usar</span> <span class="hps">el comando anterior</span><span>.</span></span></li>
- </ul>
- </li>
-</ol>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si usted recibe un error</span> <span class="hps">"permiso denegado</span><span>" </span><span class="hps">al ejecutar</span> <span class="hps">los comandos anteriores</span><span>,</span> <span class="hps">el</span> <span class="hps">script de shell</span><span>, probablemente</span> <span class="hps">no tiene</span> <span class="hps">los permisos</span> <span class="hps">adecuados.</span></span><span lang="es"> <span class="hps">Ejecutando</span> <span class="hps">chmod</span> <span class="hps">+x</span> <span class="hps">flash.sh</span> <span class="hps">en él</span> <span class="hps">debe</span> <span class="hps">resolver este problema.</span></span></p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si el script</span> <span class="hps">de flasheo</span> <span class="hps">queda atascado en</span> <span class="atn hps">"</span><span class="atn">&lt;</span></span> waiting for device <span lang="es"><span>&gt;</span><span>"</span> <span class="hps">mientras la pantalla</span> <span class="hps">muestra</span> <span class="atn hps">"</span><span>ThunderSoft</span> <span class="hps">(R</span><span>)</span><span>"</span><span>,</span> el script <span class="hps">no tiene permiso</span> <span class="hps">para acceder al dispositivo</span> <span class="hps">mientras está en modo</span> <span class="hps">fastboot</span><span>.</span></span> <span id="result_box" lang="es"><span class="hps">Necesita configurar</span> <span class="hps">las</span></span> <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#For_Linux.3A_configure_the_udev_rule_for_your_phone">reglas udev</a> <span id="result_box" lang="es"><span class="hps">para darle</span> <span class="hps">acceso</span></span>. <span id="result_box" lang="es"><span class="hps">También</span> <span class="hps">puertos</span> <span class="hps">USB 3 no</span> <span class="hps">funcionan bien con</span> <span class="hps">fastboot</span> <span class="hps">y pueden</span> <span class="hps">ser la causa de</span> <span class="hps">este problema.</span></span></p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">También</span> te <span class="hps">invitamos a</span> <span class="hps">construir su propio</span> build <span class="hps">para instalar en</span> Flame<span>:</span> <span class="hps">mire </span></span><a href="/en-US/Firefox_OS/Building_and_installing_Firefox_OS">Compilando e instalando Firefox OS</a>.</p>
-</div>
-
-<h4 id="Arreglar_la_Fuente">Arreglar la Fuente</h4>
-
-<div class="warning">
-<p><strong>Importante</strong>: E<span id="result_box" lang="es"><span class="hps">ste paso sólo</span> <span class="hps">es necesario para la</span> <span class="hps">imagen base</span> <span class="hps">v180</span><span>.</span></span></p>
-</div>
-
-<p><span id="result_box" lang="es"><span class="hps">Después de actualizar</span> <span class="hps">Gecko y</span> <span class="hps">Gaia a Nightly con</span> <span class="hps">la imagen base</span> <span class="hps">v180</span><span>,</span> <span class="hps">habrá una</span> <span class="hps">falta de correspondencia entre</span> <span class="hps">las fuentes que</span> <span class="hps">espera</span> <span class="hps">Gecko</span> <span class="hps">y Gaia</span> <span class="hps">y</span> <span class="hps">lo que la imagen</span> <span class="hps">base proporciona</span> <span class="atn hps">(</span><span>esto se ha solucionado</span> <span class="hps">a partir de</span> <span class="hps">V188</span><span>)</span><span>.</span> <span class="hps">Para solucionar esto,</span> <span class="hps">usted tiene dos opciones</span><span>:</span></span></p>
-
-<ul>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">descargar nuestro</span></span> <a href="https://people.mozilla.org/~mwu/fira-font-update.zip">paquete de actualización de fuente</a>, <span id="result_box" lang="es"><span class="hps">extraerlo</span><span>, navegue</span> <span class="hps">en el directorio</span> <span class="hps">creado por</span> <span class="hps">la extracción</span><span>,</span> <span class="hps">y ejecute el script</span> <span class="hps">flash.sh</span> <span class="hps">suministrado.</span></span></li>
- <li>usar el script <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/update_system_fonts.sh"><code>update_system_fonts.sh</code></a>, <span id="result_box" lang="es"><span class="hps">que</span> <span class="hps">descarga</span> <span class="hps">y flashea</span><span class="hps"> las</span> <span class="hps">fuentes del sistema</span> <span class="hps">de forma automática.</span></span></li>
-</ul>
-
-<h3 id="Actualizando_su_Flame_a_una_build_nightly"><a id="Updating_to_nightly_build" name="Updating_to_nightly_build">Actualizando su Flame a una build nightly</a></h3>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Para</span> <span class="hps">la versión actual</span><span>, el desarrollo</span> <span class="hps">Nightly Builds</span> <span class="hps">de Firefox</span> <span class="hps">OS</span> <span class="hps">no</span> <span class="hps">es compatible con</span> <span class="hps">A-GPS,</span> <span class="hps">que puede conducir a</span> <span class="hps">un rendimiento lento</span> <span class="hps">de la funcionalidad</span> <span class="hps">GPS.</span> <span class="hps">Tenemos la intención de</span> <span class="hps">resolver esto de</span> <span class="hps">una</span> <span class="hps">futura</span> <span class="hps">actualización</span> <span class="hps">del canal</span> <span class="hps">Nightly</span><span>.</span></span></p>
-</div>
-
-<div class="warning">
-<p><strong>Importante</strong>: <span id="result_box" lang="es"><span class="hps">Cuando se ejecuta</span> <span class="hps">un flasheo completo o</span> <span class="hps">poco profundo (shallow flash)</span><span>,</span> <span class="hps">se sobrescribirán</span> <span class="hps">los datos del teléfono</span><span>:</span> <span class="hps">por lo tanto,</span> <span class="hps">debe hacer una copia</span> <span class="hps">de seguridad de sus</span> <span class="hps">datos</span> <span class="hps">antes de actualizar</span><span>!</span></span> Mire la sección <a href="#Respaldando_y_restaurando_su_información_del_Flame">Respaldando y restaurando su información del Flame</a> para más detalles.</p>
-</div>
-
-<ol>
- <li><span id="result_box" lang="es"><span class="hps">Antes de actualizar</span> <span class="hps">su teléfono</span> <span class="hps">a una build Nightly</span> <span class="hps">usted debe</span> flashear <span class="hps">la </span><span class="hps">última imágen base</span> </span><span lang="es"> <span class="hps">para asegurarse de que</span> <span class="hps">los sistemas subyacentes</span> <span class="hps">están al día</span><span>.</span></span> Descargue una <a href="#Base Image">imágen base</a> <u>con la misma o una versión superior de Firefox OS de la versión que va a utilizar en el paso 3</u> <span id="result_box" lang="es"><span class="hps">y use esto para</span> <span class="hps">actualizar</span> <span class="hps">el software del dispositivo</span><span>,</span> <span class="hps">como se explicó anteriormente</span><span>.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Debido a que en el</span> <span class="hps">paso anterior</span> <span class="hps">se instala</span> <span class="hps">un sistema</span> <span class="hps">operativo nuevo</span> <span class="hps">en el dispositivo,</span> <span class="hps">tendrás que</span> <span class="hps">habilitar de nuevo la depuración</span> <span class="hps">remota en</span> <span class="hps">tu Flame</span></span>, usando la opción <em>Depuración remota </em>en <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Ajustes de desarrollador</a> del dispositivo.</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">A continuación, elija</span> <span class="hps">una build</span> <span class="hps">para instalar</span></span> (las puedes encontrar en <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/">http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/</a>). <span class="short_text" id="result_box" lang="es"><span class="hps">Usted querrá</span> <span class="hps">una de las siguientes</span><span>:</span></span>
- <ul style="margin-left: 40px;">
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Builds de Producción</span><span class="atn hps"> (</span><span>incluye </span>idiomas<span>)</span></span>
- <ul>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central-flame-kk/">Últimas builds master</a> (2.5 actualmente)</li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g37_v2_2-flame-kk/">Últimas builds v2.2</a></li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g34_v2_1-flame-kk/">Últimas builds v2.1</a></li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g32_v2_0-flame-kk/">Últimas builds v2.0</a></li>
- </ul>
- </li>
- <li><span id="result_box" lang="es"><span class="hps">Builds de Ingeniería</span> <span class="hps">(con</span> <span class="hps">aplicaciones</span> <span class="hps">de prueba y</span> <span class="hps">sólo</span> <span class="hps">"pseudo</span><span>-locales"</span><span>)</span></span>
- <ul>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central-flame-kk-eng/">Últimas builds master</a> (2.5 actualmente)</li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g37_v2_2-flame-kk-eng/">Últimas builds v2.2</a></li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g34_v2_1-flame-kk-eng/">Últimas builds v2.1</a></li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g32_v2_0-flame-kk-eng/">Últimas builds v2.0</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Escoja</span> <span class="hps">una versión</span> <span class="hps">y</span> <span class="hps">descarge tanto el archivo</span></span> <code>b2g-XX.XX.en-US.android-arm.tar.gz</code> y <code>gaia.zip</code> files. <span id="result_box" lang="es"><span class="hps">Guardelos</span> <span class="hps">dentro de un directorio</span> <span class="hps">en el escritorio</span> <span class="hps">llamado algo así como</span></span> <code>fxos</code>.</li>
- <li>Descarga el <a href="https://raw.githubusercontent.com/Mozilla-TWQA/B2G-flash-tool/master/shallow_flash.sh">script de flasheo poco produnfo</a> <span id="result_box" lang="es"><span class="hps">y guárdelo en</span> <span class="hps">el mismo directorio que</span> <span class="hps">los dos</span> <span class="hps">archivos anteriores</span><span>.</span></span></li>
- <li><strong>Para usuarios de Windows:</strong> <span class="short_text" id="result_box" lang="es"><span class="hps">Descargue también</span> <span class="hps">el</span></span> script windows <a href="https://raw.githubusercontent.com/Mozilla-TWQA/B2G-flash-tool/master/shallow_flash.bat">shallow_flash.bat</a> e instale <a href="https://cygwin.com">Cygwin</a>, <span id="result_box" lang="es"><span class="hps">que proporciona</span> <span class="hps">un entorno</span> <span class="hps">de comandos de Linux</span><span>-como</span> <span class="hps">en Windows</span><span>.</span> <span class="hps">Usted tendrá que</span> <span class="hps">instalar la</span> <span class="hps">categoría predeterminada</span> <span class="hps">Cygwin</span> <span class="hps">base más</span> <span class="hps">el paquete</span> <span class="hps">descomprimido</span> <span class="hps">pero</span> <span class="hps">shallow_flash.bat</span> <span class="hps">lo hará por</span> <span class="hps">usted si usted</span> <span class="hps">descarga</span> <span class="hps">y copia</span> <span class="hps">la configuración</span> <span class="hps">Cygwin</span> <span class="hps">*</span> <span class="hps">.exe en</span> <span class="hps">la misma carpeta que</span> <span class="hps">el script.</span></span></li>
- <li>
- <p>Desde la línea de comandos o Terminal, utilice el <code>cd</code> <span id="result_box" lang="es"><span class="hps">para entrar en la carpeta en la que ha guardado los archivos </span><span>y luego usa el siguiente comando</span></span>:</p>
-
- <p><strong>Linux</strong>:</p>
-
- <pre class="brush: bash">./shallow_flash.sh --gaia=gaia.zip --gecko=b2g-XX.XX.en-US.android-arm.tar.gz
-</pre>
-
- <p><strong>Mac</strong>:</p>
-
- <pre class="brush: bash">./shallow_flash.sh --gaia gaia.zip --gecko b2g-XX.XX.en-US.android-arm.tar.gz</pre>
-
- <p><strong>Windows</strong>:</p>
-
- <p>Doble clic en <code>shallow_flash.bat</code> (<span class="short_text" id="result_box" lang="es"><span class="hps">con el icono de</span> <span class="hps">engranajes</span></span>) <span class="short_text" id="result_box" lang="es"><span class="hps">o</span> <span class="hps">ejecutarlo desde</span> <span class="hps">una consola de comandos (CMD)</span><span>.</span></span> Se flasheará <code>gaia.zip</code> y un solo <code>b2g-XX.XX.en-US.android-arm.tar.gz</code> file.</p>
- </li>
-</ol>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si usted recibe un error</span> <span class="hps">"permiso denegado</span><span>" </span><span class="hps">al ejecutar</span> <span class="hps">los comandos anteriores</span><span>,</span> <span class="hps">el</span> <span class="hps">script de shell</span><span>, probablemente</span> <span class="hps">no tiene</span> <span class="hps">los permisos</span> <span class="hps">adecuados.</span></span><span lang="es"> <span class="hps">Ejecutando</span> <span class="hps">chmod</span> <span class="hps">+x</span> <span class="hps">flash.sh</span> <span class="hps">en él</span> <span class="hps">debe</span> <span class="hps">resolver este problema.</span></span></p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: Un "shallow flash"actualiza <a href="/en-US/docs/Mozilla/Gecko">Gecko</a> y <a href="/en-US/Firefox_OS/Platform/Gaia">Gaia</a> más directorios de datos, <span id="result_box" lang="es"><span class="hps">en lugar de</span> <span class="hps">un flash</span> <span class="hps">completo</span></span>, <span id="result_box" lang="es"><span>que actualiza</span> <span class="hps">Gecko</span> <span class="hps">/</span> <span class="hps">Gaia</span><span>,</span> <span class="hps">sino también</span> <span class="hps">la capa</span> </span><a href="/en-US/Firefox_OS/Platform/Gonk">Gonk</a> <span id="result_box" lang="es"><span class="hps">subyacente y</span> <span class="hps">binarios</span> <span class="hps">asociados</span> <span class="hps">en particular</span> <span class="hps">a este</span> <span class="hps">tipo de dispositivo.</span></span> <span id="result_box" lang="es"><span class="hps">Es por esto que</span> <span class="hps">es una buena idea</span> <span class="hps">para actualizar</span> <span class="hps">a la primera</span></span> <a href="#Base Image">base image</a>, <span id="result_box" lang="es"><span class="hps">como se sugirió anteriormente</span></span>, entonces flasheo poco produnfo <span id="result_box" lang="es"><span class="hps">sobre la parte superior</span> <span class="hps">de esa</span></span>, <span class="short_text" id="result_box" lang="es"><span class="hps">una vez que tienes</span> <span class="hps">la correcta capa</span></span> Gonk/binario.</p>
-</div>
-
-<p><span id="result_box" lang="es"><span class="hps">Una vez que el</span> <span class="hps">proceso de instalación</span> <span class="hps">termina el</span> <span class="hps">teléfono debe</span> <span class="hps">reiniciarse en</span> <span class="hps">la build</span> <span class="hps">actualizada y</span> <span class="hps">mostrar primero el</span> <span class="hps">flujo de trabajo</span> <span class="hps">del usuario</span><span class="hps">.</span></span></p>
-
-<h4 id="Cambiar_al_canal_de_actualización_nightlyl"><span class="short_text" id="result_box" lang="es"><span class="hps">Cambiar al</span> <span class="hps">canal de</span> <span class="hps">actualización "nightly"</span></span>l</h4>
-
-<p>En v2.2 usted puede cambiar el <strong>Canal de actualizaciones</strong> <code>default</code> por <code>nightly</code> en los <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Update_channel">Ajustes de desarrollador</a>.</p>
-
-<p><span id="result_box" lang="es"><span class="hps">A continuación</span> <span class="hps">es el</span> <span class="hps">método más antiguo</span><span>,</span> <span class="hps">si</span> <span class="hps">no encuentra</span> <span class="hps">esa configuración</span> <span class="hps">en</span> <span class="hps">su dispositivo.</span></span></p>
-
-<ol>
- <li><span id="result_box" lang="es"><span class="hps">Asegúrate de</span> que la <span class="hps">depuración</span> <span class="hps">remota esté</span> <span class="hps">habilitada en su </span>Flame</span>, usando la opción <em>Depuración Remota </em>en <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Ajustes de desarrollador</a> del dispositivo.</li>
- <li>Descarga el script <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/change_channel.sh">cambiar canal</a>: <span class="short_text" id="result_box" lang="es"><span class="hps">haz click en el enlace, pulsa el botón</span></span> <em>Raw</em>, <span id="result_box" lang="es"><span class="hps">continuación utiliza la función "Guardar como" de su navegador y guarde la página como</span></span><code> change_channel.sh</code>.</li>
- <li>En tu terminal, utiliza <code>cd</code> <span id="result_box" lang="es"><span class="hps">para acceder a la carpeta que contiene al </span><span class="hps">script</span> y ejecuta el siguiente comando<span>:</span></span><br>
-
- <pre class="brush: bash">./change_channel.sh -v nightly</pre>
- </li>
- <li><span id="result_box" lang="es"><span class="hps">Una vez</span> <span class="hps">que se reinicie el</span> <span class="hps">teléfono</span><span>, revisa actualizaciones</span><span class="hps"> en</span></span> <em>Ajustes &gt; Información &gt; Revisar ahora.</em></li>
-</ol>
-
-<p><span id="result_box" lang="es"><span class="hps">Ahora puedes </span><span class="hps">obtener actualizaciones</span> <span class="hps">OTA (over-the-air)</span> "<span class="hps">nightly"</span> en<span class="hps"> tu Flame</span><span>.</span></span></p>
-
-<div class="note">
-<p><strong>Nota:</strong> <span id="result_box" lang="es"><span class="hps">Puede seleccionar entre</span> <span class="hps">varios</span> <span class="hps">canales</span> <span class="hps">de actualización</span> <span class="hps">diferentes</span></span>. Ejecuta "./change_channel.sh -h" <span class="short_text" id="result_box" lang="es"><span class="hps">para ver</span> <span class="hps">otras</span> <span class="hps">opciones de canales.</span></span></p>
-</div>
-
-<h3 id="Modo_fastboot">Modo fastboot</h3>
-
-<p>Puede que al aplicar un Shallow Flash o una actualización de la imágen base el telefono deje de responder. Cuando <span id="result_box" lang="es"><span class="hps">esto ocurre</span> <span class="hps">debes reiniciar</span> <span class="hps">el teléfono</span> <span class="hps">en modo de recuperación</span></span>. <span class="short_text" id="result_box" lang="es"><span class="hps">El</span> <span class="hps">modo de recuperación</span> <span class="hps">ofrece</span> algunas<span class="hps"> opciones</span></span> (<em>Reiniciar</em>, <em>Actualizar desde adb</em>, <em>Limpiar datos</em>, <em>Limpiar cache</em>, y <em>Actualizar desde sdcard</em>). D<span class="short_text" id="result_box" lang="es"><span class="hps">esafortunadamente</span></span>, seleccionando <em>Update from adb</em> <span id="result_box" lang="es"><span class="hps">entra en un mod</span><span class="hps">o (sideload) en el que no puede utilizar</span> <span class="hps">los</span> <span class="hps">otros comandos</span> <span class="hps">de ADB</span></span>. El comando <code>adb sideload</code> <span id="result_box" lang="es"><span class="hps">funcionaría</span> <span class="hps">pero los diversos</span> script<span class="hps"> de flasheo</span> <span class="hps">dependen de</span> <span class="hps">otros comandos</span> <span class="hps">adb</span><span>.</span></span></p>
-
-<p><span id="result_box" lang="es"><span>Puede</span> <span class="hps">forzar el modo</span> <span class="hps">fastboot</span> <span class="hps">de la siguiente manera</span><span>:</span></span></p>
-
-<ol>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Apague</span> <span class="hps">el teléfono</span></span> (<span id="result_box" lang="es"><span class="hps">que puede</span> <span class="hps">implicar el remover</span> <span class="hps">la batería</span> <span class="hps">en casos extremos</span></span>...)</li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Conecte el</span> <span class="hps">cable</span> <span class="hps">USB</span><span>.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Encender el teléfono</span> <span class="hps">de nuevo</span> <span class="hps">pulsando</span> los botones <span class="hps">Bajar volumen</span> <span class="hps">y</span><span class="hps"> Encender,</span> <span class="hps">juntos.</span></span></li>
-</ol>
-
-<p><span id="result_box" lang="es"><span class="hps">El teléfono</span> <span class="hps">debe</span> <span class="hps">mostrar el</span> <span class="atn hps">texto "</span><span>FASTBOOT</span><span>"</span><span>: este es</span> <span class="hps">el modo</span> <span class="hps">fastboot</span> <span class="hps">y está</span> <span class="hps">a la espera de</span> <span class="hps">una conexión USB.</span></span>  <span id="result_box" lang="es"><span class="hps">En este punto conecta tu teléfono y ejecuta el siguiente comando </span></span><code>fastboot devices</code>. <span id="result_box" lang="es"><span class="hps">Tenga en cuenta que</span> regularmente <span class="hps">adb</span> <span class="hps">no vería</span> <span class="hps">el dispositivo</span></span> — <span class="short_text" id="result_box" lang="es"><span class="hps">sólo</span> <span class="hps">fastboot</span> <span class="hps">puede verlo</span></span>. <span id="result_box" lang="es"><span class="hps">En este modo</span><span>, puedes usar</span> <span class="hps">el script</span> <span class="hps">flash para</span> <span class="hps">instalar la última</span></span> <a href="#Base Image">imágen base</a> <span id="result_box" lang="es"><span class="hps">como se explicó antes</span></span>. <span id="result_box" lang="es"><span class="hps">A medida que el</span> <span class="hps">script hace</span> <span class="hps">uso de</span> <span class="hps">comandos</span> <span class="hps">tanto</span> <span class="hps">adb</span> <span class="hps">y</span> <span class="hps">fastboot</span><span>,</span> <span class="hps">es posible que aparezca</span> <span class="hps">algún error</span> <span class="hps">inicial y</span> <span class="hps">advertencias</span> <span class="hps">de</span> <span class="hps">adb</span><span>,</span> <span class="hps">pero el dispositivo</span> será flasheado y funcionará de nuevo a<span class="hps">l final</span> <span class="hps">del procedimiento</span><span>.</span></span></p>
-
-<h3 id="Modo_descarga_de_Emergencia">Modo descarga de Emergencia</h3>
-
-<p>Si al instalar una nueva build, el teléfono deja de responder <span class="short_text" id="result_box" lang="es"><span class="hps">y</span> además no <span class="hps">puedes entrar en</span> <span class="hps">el modo</span> <span class="hps">Fastboot</span></span>, <span id="result_box" lang="es"><span class="hps">puedes usar el modo</span> <span class="hps">de emergencia</span> <span class="hps">para recuperarlo.</span></span> <span id="result_box" lang="es"><span class="hps">Usted necesitará</span> <span class="hps">el cable USB</span> <span class="hps">de emergencia proporcionada</span> <span class="hps">con la etiqueta roja</span></span> “Recovery Cable” <span id="result_box" lang="es"><span class="hps">en él y la </span></span><a href="http://cds.w5v8t3u9.hwcdn.net/Flame_Rescure_Tool_(updated_with_tutorial).zip">Herramienta de descarrga de emergencia</a> <span class="short_text" id="result_box" lang="es"><span class="hps">para</span> <span class="hps">entrar en este modo</span></span>.<span id="result_box" lang="es"><span class="hps"> Para obtener instrucciones completas</span><span>, consulte el tutorial</span> <span class="hps">de la herramienta</span> <span class="hps">rescate de emergencia</span> <span class="hps">incluido en</span> <span class="hps">los archivos</span> <span class="hps">de la herramienta</span> <span class="hps">de descarga.</span></span> <span id="result_box" lang="es"><span class="hps">Póngase en contacto con</span> <span class="hps">el fabricante del dispositivo</span></span> (flameservice [at] thundersoft.com) <span class="short_text" id="result_box" lang="es"><span class="hps">si usted necesita cualquier</span> <span class="hps">ayuda</span> <span class="hps">técnica</span><span>.</span></span></p>
-
-<p><img alt="Emergency download tool dialog box as it is when it start." src="https://mdn.mozillademos.org/files/9787/EmergencyDownloadTool.jpg" style="height: 363px; width: 497px;"></p>
-
-<div class="note">
-<p><strong>Nota</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">La herramienta</span> <span class="hps">proporcionada es</span> <span class="hps">sólo para Windows</span><span>.</span></span></p>
-</div>
-
-<h3 id="Modo_de_Recuperación">Modo de Recuperación</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Puedes e</span><span class="hps">ntrar en modo</span> <span class="hps">de recuperación</span> <span class="hps">para borrar</span> <span class="hps">los datos del teléfono</span> <span class="hps">o actualizar</span> <span class="hps">manualmente el</span> <span class="hps">firmware</span><span>.</span> <span class="hps">Hay dos</span> <span class="hps">maneras de entrar en</span> <span class="hps">este modo</span><span>:</span></span></p>
-
-<p>Si tu teléfono está apagado, presiona los botones Subir Volúmen + Encender, juntos.</p>
-
-<ul>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Si las herramientas</span></span> <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> <span class="short_text" id="result_box" lang="es"><span class="hps">están disponibles</span></span>, <span id="result_box" lang="es"><span class="hps">asegurate de que</span> <span class="hps">la depuración</span> <span class="hps">remota</span> <span class="hps">está activada en</span></span> <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Remote_debugging">Ajustes de Desarrollador</a> del dispositivo, <span id="result_box" lang="es"><span class="hps">conecta el teléfono</span> <span class="hps">al ordenador mediante</span> <span class="hps">USB</span>  <span class="hps">y ejecuta el siguiente comando</span></span> <code>adb reboot recovery</code> en la línea de comandos.</li>
-</ul>
-
-<p>Cuando ingreses al Modo de Recuperación presiona las teclas de Volumen (Subir y Bajar) para moverte dentro del menú y utiliza el botón de Encendido para seleccionar una opción. Asegurate de tener un respaldo de la información que tengas en el teléfono asi como en la tarjeta de memoria (SD) así como de haber descargado los ultimos paquetes de actualización.</p>
-
-<h2 id="Respaldando_y_restaurando_su_información_del_Flame">Respaldando y restaurando su información del Flame</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Cuando utiliza Flame</span><span>,</span> <span class="hps">no querrá</span> <span class="hps">perder</span> <span class="hps">los contactos</span> <span class="hps">de su teléfono</span> <span class="hps">y otros</span> <span class="hps">datos, mientras </span><span class="hps">actualiza a</span> <span class="hps">una nueva versión</span> <span class="atn hps">(</span><span>como se ha explicado</span> <span class="hps">anteriormente en este artículo</span><span>)</span><span>.</span></span> Para respaldar y restaurar información puede utilizar nuestra herramienta Backup and restore profile, <span class="short_text" id="result_box" lang="es"><span class="hps">que está</span> <span class="hps">contenida en</span></span> <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool">B2G-flash-tool Git repo</a>.</p>
-
-<ol>
- <li><span id="result_box" lang="es"><span class="hps">Para utilizarlo,</span> <span class="hps">primero</span> <span class="hps">abra su</span>  <span class="hps">terminal </span><span class="hps">/ </span><span class="hps">línea de </span></span><span lang="es"><span class="hps">comandos.</span></span></li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">Clone</span> <span class="hps">el repositorio</span> <span class="hps">anterior</span></span> (necesita tener <a href="http://www.git-scm.com/downloads">Git instalado</a>) usando
- <pre class="brush: bash">git clone https://github.com/Mozilla-TWQA/B2G-flash-tool</pre>
- </li>
- <li><span class="short_text" id="result_box" lang="es"><span class="hps">La herramienta</span> <span class="hps">es un archivo</span> <span class="hps">Python</span></span>: <code>backup_restore_profile.py</code>. <span id="result_box" lang="es"><span class="hps">Asegúrese de que tiene</span> </span><a href="https://www.python.org/downloads/">instalado Python</a> (<span id="result_box" lang="es"><span>2.7.x</span> <span class="hps">es probablemente el mejor</span><span>.</span></span>) <span id="result_box" lang="es"><span class="hps">Sistemas Linux y</span> <span class="hps">Mac deben</span> <span class="hps">tener</span></span> <span class="short_text" id="result_box" lang="es"><span class="hps">esto</span> <span class="hps">fuera de la caja</span><span>.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Entre al</span> <span class="hps">directorio que acaba</span> de clonar<span class="hps"> utilizando</span></span> <code>cd B2G-flash-tool</code>.</li>
-</ol>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Al utilizar</span> <span class="hps">esta herramienta, usted</span> <span class="hps">también tendrá que</span> <span class="hps">asegurarse de que su</span> <span class="hps">teléfono está conectado</span> <span class="hps">a través de USB</span> <span class="hps">al ordenador,</span> <span class="hps">y que</span> <span class="hps">ADB</span></span> (mire <a href="#Important_steps_to_follow_first">Important steps to follow first</a> antes) y que Depuración via USB (<a href="/en-US/Firefox_OS/Debugging/Developer_settings">Ajustes de desarrollador</a> en su dispositivo) está habilitado.</p>
-</div>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Si recibe</span> <span class="hps">un mensaje</span> sobre<span class="hps"> </span><span class="hps">la falta de</span> <span class="hps">permisos</span> <span class="hps">para ejecutar</span> <span class="hps">este archivo, use</span></span> <code>cd</code> <span id="result_box" lang="es"><span class="hps">para el directorio</span> <span class="hps">donde guardó</span> <span class="hps">el archivo y</span> <span class="hps">ejecuta el</span> <span class="hps">siguiente comando</span><span>:</span></span></p>
-
-<pre class="brush: bash">chmod +x backup_restore_profile.py</pre>
-</div>
-
-<h3 id="Respaldando_su_información">Respaldando su información</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Antes de</span> <span class="hps">realizar copias de seguridad</span> <span class="hps">usted debe</span> <span class="hps">asegurarse de que su</span> <span class="hps">dispositivo se ha actualizado</span> <span class="hps">con la actualización</span> <span class="hps">OTA</span> <span class="hps">más reciente.</span></span> <span class="short_text" id="result_box" lang="es"><span class="hps">Para ello,</span> <span class="hps">en el teléfono</span> vaya<span class="hps"> a</span></span> <em>Ajustes &gt; Información &gt; Actualizaciones &gt; clic en Revisar ahora</em>. <span id="result_box" lang="es"><span class="hps">Si hay</span> <span class="hps">una actualización disponible,</span> <span class="hps">usted debe</span> <span class="hps">obtener</span> <span class="hps">en breve una</span> <span class="hps">notificación de</span> <span class="hps">una actualización disponible</span><span>.</span> <span class="hps">Elija instalar</span> <span class="hps">la actualización.</span></span></p>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">Ahora</span><span>, en el directorio</span> <span class="hps">donde guardó</span></span> <code>backup_restore_profile.py</code>, <span class="short_text" id="result_box" lang="es"><span class="hps">ejecute lo siguiente</span><span>:</span></span></p>
-
-<pre class="brush: bash">python backup_restore_profile.py -b</pre>
-
-<p><span id="result_box" lang="es"><span class="hps">Esto debe</span> <span class="hps">guardar su</span> <span class="hps">perfil de dispositivo</span> <span class="hps">a un</span> <span class="hps">directorio llamado</span></span> <code>mozilla-profile</code>, <span class="short_text" id="result_box" lang="es"><span class="hps">en el mismo</span> <span class="hps">directorio donde se encuentra el</span> <span class="hps">script</span></span><span class="short_text" lang="es"><span>.</span></span></p>
-
-<h3 id="Restaurando_su_información">Restaurando su información</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Antes de </span>restaurar <span class="hps">usted debe</span> <span class="hps">asegurarse de que su</span> <span class="hps">dispositivo se ha actualizado</span> <span class="hps">con la actualización</span> <span class="hps">OTA</span> <span class="hps">más reciente.</span></span>. <span class="short_text" id="result_box" lang="es"><span class="hps">Para ello,</span> <span class="hps">en el teléfono</span> vaya<span class="hps"> a</span></span> <em>Ajustes &gt; Información &gt; Actualizaciones &gt; clic en Revisar ahora</em>. <span id="result_box" lang="es"><span class="hps">Si hay</span> <span class="hps">una actualización disponible,</span> <span class="hps">usted debe</span> <span class="hps">obtener</span> <span class="hps">en breve una</span> <span class="hps">notificación de</span> <span class="hps">una actualización disponible</span><span>.</span> <span class="hps">Elija instalar</span> <span class="hps">la actualización.</span></span></p>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">E</span><span>n el directorio</span> <span class="hps">dondese encuentra</span></span> <code>mozilla-profile</code> (mire la sección anterior), <span class="short_text" id="result_box" lang="es"><span class="hps">ejecute lo siguiente</span><span>:</span></span></p>
-
-<pre class="brush: bash">python backup_restore_profile.py -r</pre>
-
-<div class="note">
-<p><strong>Nota</strong>: <span id="result_box" lang="es"><span class="hps">Usted puede obtener</span> <span class="hps">una lista de</span> <span class="hps">todas las opciones de</span> <span class="hps">la herramienta</span> <span class="hps">compatible</span> <span class="hps">con</span> <span class="hps">Python</span> <span class="hps">en ejecución</span></span><br>
- <code>backup_restore_profile.py -h</code>.</p>
-</div>
-
-<h2 id="Instalando_apps_en_tu_Flame">Instalando apps en tu Flame</h2>
-
-<p>Las herramientas <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a> y <a href="/en-US/docs/Tools/WebIDE">WebIDE</a> hacen <span id="result_box" lang="es"><span class="hps">que sea fácil instalar</span> <span class="hps">aplicaciones</span> <span class="hps">a su teléfono</span><span>,</span> <span class="hps">para pruebas,</span> <span class="hps">etc.</span></span></p>
-
-<h2 id="Ajuste_de_RAM">Ajuste de RAM</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Puede ajustar la</span> <span class="hps">capacidad de</span> <span class="hps">la memoria RAM disponible</span> <span class="hps">para ver</span> <span class="hps">cómo las aplicaciones</span> <span class="hps">funcionan</span> <span class="hps">en los teléfonos</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">con</span> <span class="hps">capacidad de memoria</span> <span class="hps">más bajos.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Esto se logra</span> <span class="hps">mediante la introducción al</span> <span class="hps">modo</span> <span class="hps">fastboot</span></span> (primero instale fastboot, <span class="short_text" id="result_box" lang="es"><span class="hps">que está disponible</span> <span class="hps">en la misma página</span> <span class="hps">SDK</span> <span class="hps">como</span></span> <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a>) <span class="short_text" id="result_box" lang="es"><span class="hps">y ejecute:</span></span></p>
-
-<pre class="brush: bash">adb reboot bootloader
-fastboot oem mem [0|256-1024]</pre>
-
-<p>“0” <span class="short_text" id="result_box" lang="es"><span class="hps">es</span> <span class="hps">la memoria</span> <span class="hps">detectada automáticamente y</span></span> “256-1024” es el número en megabytes (MB). Por ejemplo, <span id="result_box" lang="es"><span class="hps">si </span><span class="hps">deseas usar 512 MB de memoria RAM debes usar este comando:</span></span><br>
- <code>fastboot oem mem 512</code>.</p>
-
-<p><span id="result_box" lang="es"><span class="hps">Luego tendrás que</span> <span class="hps">reiniciar el dispositivo</span> <span class="hps">para que los cambios</span> <span class="hps">surtan efecto.</span> <span class="hps">Esto se puede hacer</span> <span class="hps">usando:</span></span></p>
-
-<pre class="brush: bash">fastboot reboot</pre>
-
-<p><span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">tamaño de la memoria</span> <span class="hps">actual</span> <span class="hps">puede ser restaurado</span> <span class="hps">entrando en el modo</span> <span class="hps">fastboot</span> <span class="hps">y escribiendo:</span></span></p>
-
-<pre class="brush: bash">fastboot getvar mem
-</pre>
diff --git a/files/es/archive/b2g_os/phone_guide/fx0/index.html b/files/es/archive/b2g_os/phone_guide/fx0/index.html
deleted file mode 100644
index 5decb58319..0000000000
--- a/files/es/archive/b2g_os/phone_guide/fx0/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: Fx0
-slug: Archive/B2G_OS/Phone_guide/Fx0
-tags:
- - Firefox OS
- - Fx0
- - KDDI
- - Phone
- - consumer
-translation_of: Archive/B2G_OS/Phone_guide/Fx0
----
-<div class="column-container">
-<div class="column-half"><img alt="" src="https://mdn.mozillademos.org/files/9835/fx0.png" style="display: block; height: 439px; margin-bottom: 20px; margin-right: 50px; margin: 0 auto; width: 200px;"></div>
-
-<div class="column-half">
-<p><span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">Fx0</span> <span class="hps">es un teléfono inteligente</span> <span class="hps">de consumo</span> <span class="hps">de gama alta</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>,</span> <span class="hps">y marca el</span> <span class="hps">primer lanzamiento</span> <span class="hps">de teléfonos</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">en Japón.</span> <span class="hps">Fue lanzado por</span> <span class="hps">KDDI</span> <span class="hps">en</span> <span class="hps">diciembre de 2014.</span></span></p>
-
-<h2 id="Obtener_un_dispositivo">Obtener un dispositivo</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">El</span> <span class="hps">Fx0</span> <span class="hps">está disponible</span> <span class="hps">para comprar</span> <span class="hps">a través de canales</span> <span class="hps">minoristas japoneses</span> <span class="hps">estándar.</span> <span class="hps">Es un dispositivo</span> <span class="hps">SIM</span><span class="atn">-</span><span>bloqueado,</span> <span class="hps">por lo que sólo</span> <span class="hps">puede ser utilizado en</span> <span class="hps">Japón.</span></span></p>
-
-<h2 id="Actualizando_el_software">Actualizando el software</h2>
-
-<p><span class="short_text" id="result_box" lang="es"><span class="hps">La imágen del sistema</span> <span class="hps">del</span> <span class="hps">dispositivo está bloqueada</span></span>, <span id="result_box" lang="es"><span class="hps">por lo que sólo</span> <span class="hps">puede actualizarse el</span> <span class="hps">software cuando el</span> <span class="hps">operador de la red</span> <span class="hps">publica una actualización</span> <span class="hps">OTA</span></span>. <span id="result_box" lang="es"><span class="hps">La imagen del sistema</span> <span class="hps">del dispositivo está basada en</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">2.0</span><span>.</span></span></p>
-</div>
-</div>
-
-<h2 id="Especificaciones">Especificaciones</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted</span> <span class="hps">puede encontrar más de</span> <span class="hps">las especificaciones del dispositivo</span> <span class="hps">que aparecen en</span> <span class="hps">nuestra página</span></span> <a href="/en-US/Firefox_OS/Phone_guide/Phone_specs">Phone and device specs</a>.</p>
-
-<h3 id="Hardware">Hardware</h3>
-
-<ul>
- <li><strong>CPU</strong>: Qualcomm Snapdragon S4 MSM8926 1.2GHz <span class="short_text" id="result_box" lang="es"><span class="hps">cuatro nucleos</span></span></li>
- <li><strong>Camera</strong>: <span class="short_text" id="result_box" lang="es"><span class="hps">8</span> <span class="hps">megapíxeles</span> <span class="hps">frontal</span><span>,</span> <span class="hps">2.1</span> <span class="hps">megapíxeles</span></span> posterior</li>
- <li><strong>Batería</strong>: 2,370mAh</li>
- <li><strong>Pantalla</strong>: 4.7"/IPS</li>
- <li><strong>Resolución</strong>: 1280 x 720</li>
- <li><strong>Memoria interna</strong>: 16GB ROM, 1.5GB RAM   </li>
- <li><strong>Memoria externa</strong>: microSDXC (64GB max.)</li>
- <li><strong>Tamaño</strong>: 70x139x10.5 mm</li>
- <li><strong>Peso</strong>: Approx. 148g</li>
-</ul>
-
-<h2 id="Vea_también"><span class="short_text" id="result_box" lang="es"><span class="hps">Vea también</span></span></h2>
-
-<ul>
- <li><a href="http://au-fx.kddi.com/eng/">Official KDDI Fx0 information portal</a></li>
- <li><a href="https://blog.mozilla.org/blog/2014/12/22/mozilla-and-kddi-launch-first-firefox-os-smartphone-in-japan/">Official Mozilla blog annoucement</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/phone_guide/geeksphone/index.html b/files/es/archive/b2g_os/phone_guide/geeksphone/index.html
deleted file mode 100644
index e4cc268f49..0000000000
--- a/files/es/archive/b2g_os/phone_guide/geeksphone/index.html
+++ /dev/null
@@ -1,124 +0,0 @@
----
-title: Geeksphone
-slug: Archive/B2G_OS/Phone_guide/Geeksphone
-tags:
- - Firefox OS
- - Gaia
- - Geeksphone
- - Tutorial
- - Update
- - actualizacion
-translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
----
-<div class="summary">
- <h5 id="Ediciones_Developer_Preview_de_teléfonos_Firefox_OS_se_están_convirtiendo_en_una_amplia_difusión_entre_la_comunidad_principalmente_a_través_de_Geeksphone._Dado_que_estos_son_para_desarrolladores_naturalmente_queremos_que_testees_y_juegues_con_ellos_lo_mas_posible!_En_este_articulo_se_cubriran_algunos_tips_básicos_sobre_comó_mantener_el_telefono_actualizado_y_como_ajustar_las_aplicaciones_del_sistema_Gaia."><span class="seoSummary"><span id="result_box" lang="es"><span class="hps">Ediciones</span> <span class="hps">Developer</span> <span class="hps">Preview</span> <span class="hps">de</span> <span class="hps">teléfono</span>s <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">se están convirtiendo en</span> <span class="hps">una amplia difusión entre</span> <span class="hps">la comunidad</span><span>,</span> <span class="hps">principalmente a través de</span></span> <a href="http://www.geeksphone.com/">Geeksphone</a>. Dado que estos son para desarrolladores, naturalmente queremos que testees y juegues con ellos lo mas posible! En este articulo se cubriran algunos tips básicos sobre comó mantener el telefono actualizado y como ajustar las aplicaciones del sistema Gaia. </span></h5>
-</div>
-<h5 id="(Nota_Estas_instrucciones_son_para_los_viejos_modelos_Keon_y_Peak_no_necesariamente_para_el_ultimo_telefono_Geeksphone_Revolution)">(Nota: Estas instrucciones son para los viejos modelos Keon y Peak, no necesariamente para el ultimo telefono Geeksphone Revolution)</h5>
-<p> </p>
-<h2 id="Actualizando_tu_Geeksphone_a_las_últimas_versiones">Actualizando tu Geeksphone a las últimas versiones</h2>
-<p>Las actualizaciones de Firefox Os pueden ser descargadas desde la aplicación Configuración, que se encuentra bajo información del Dispositivo. Puede configurarse el dispositivo para que cheque por actualizaciones diriamente, semanalmente o  mensualmente. Además se proporciona un botón "checar ahora". Cuando hay una actualización disponible se le pedira que descargue e instale la versión actual.</p>
-<p><img alt="The screen for checking updates on the Firefox OS settings app" src="https://mdn.mozillademos.org/files/6051/checkupate.png" style="width: 318px; height: 478px; display: block; margin: 0px auto;"></p>
-<h2 id="Flasheando_su_teléfono">Flasheando su teléfono</h2>
-<p>El equipo de Geeksphone también ofrece la última versión estable y nightly build como descargas autonomas para flasear tu telefono.</p>
-<h3 id="Configure_su_teléfono_y_computadora">Configure su teléfono y computadora</h3>
-<p>Antes de intentar flashear su teléfono asegurese de que ha realizado las configuraciones descritas en la sección "Configuración del dispositivo Geeksphone" en <a href="https://hacks.mozilla.org/2013/05/pushing-firefox-os-apps-to-the-geeksphone/" style="line-height: 1.572;"> Instalando Apps Firefox OS al Geeksphone</a><span style="line-height: 1.572;">.</span> Esto le asegurara que puede transferir datos a su teléfono. En esa misma sección, siga las instrucciones y asegurese que cuenta con los drivers USB correctos.</p>
-<div class="note">
- <p><strong>Nota:</strong> Es particularmente importante en las computadoras Windows esten configuradas con los drivers USB correctos.</p>
-</div>
-<p>Las imagenes estan localizadas en <a href="http://downloads.geeksphone.com/">el sitio de descarga de Geeksphone.</a> En este sitio se le presentaran varias opciones para seleccionar su dispositivo y que tipo de imagen desea utilizar.</p>
-<p><img alt="Two phone images side by side, the Geeksphone Keon and Peak, with different software download options below each one." src="https://mdn.mozillademos.org/files/6055/geeksphone-download.png" style="width: 530px; height: 486px; display: block; margin: 0px auto;"></p>
-<p>Descarge la imagen que usara y extraiga el archivo en su sistema de archivos. El archivo contiene imagenes y comandos requeridos para flashear el teléfono usando Windows, Mac OS, o Linux. Antes de empezar a flashear el teléfono asegúrese de que tiene habilitada la depuración remota en el teléfono. Esta opción puede ser habilitada lanzando la aplicación Configuraciones y navegando a <code>Informació del dispositivo -&gt; Mas información -&gt; Desarrollador.</code> Asi mismo, no intente flashear el dispositivo si la batería tiene menos del 50% de carga.</p>
-<p><img alt="Enabling remote debugging on the Firefox OS Settings app" src="https://mdn.mozillademos.org/files/6049/remote-debugging.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<div class="note">
- <p><strong>Nota:</strong> Si tu dispositivo no se encuentra con el script de los siguientes pasos, incluso si esta conectado via USB, tendrás que desbloquear tu teléfono y esperar a que aparezca en el sistema.</p>
-</div>
-<div class="note">
- <p><strong>Nota:</strong> "Flashear" el teléfono eliminara todos los datos en el. Si deseas hacer un respaldo de tus datos y restaurarlos despues, sigue las siguientes instrucciones en <span style="line-height: 1.5;"> </span><a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Copia de seguridad de la partición del sistema del teléfono</a><span style="line-height: 1.5;">.</span></p>
-</div>
-<h3 id="Windows">Windows</h3>
-<div class="note">
- <p><strong>Nota:</strong> Puede que tenga la necesidad de instalar los drivers USB en Windows. Para obtener estas instrucciones vea la sección<span style="line-height: 1.572;"> "Configuración del dispositivo Geeksphone" en <a href="https://hacks.mozilla.org/2013/05/pushing-firefox-os-apps-to-the-geeksphone/" style="line-height: 1.572;"> Instalando Apps Firefox OS al Geeksphone</a><span style="line-height: 1.572;">.</span></span></p>
-</div>
-<p>Abra una linea de comandos(<code>inicio -&gt; escriba cmd in la busqueda -&gt; enter </code>en Windows 7, <code>tecla de window + X -&gt; seleccionar linea de comandos</code> en Windos 8) y dirigete a la ruta del directorio donde se encuentran los archivos extraidos con  cd "ruta del directorio". Enter:</p>
-<pre class="brush: bash" lang="bash">flash.bat
-</pre>
-<p>Esto instalara la nueva imagen en el teléfono. El teléfono necesitara ser configurado nuevamente ya que todos los datos habrán sido borrados.</p>
-<h3 id="Mac_OS">Mac OS</h3>
-<p>Abra una ventana de Terminal (<code>Cmd + espacio -&gt; escriba terminal -&gt; enter</code>) y dirijase a la ruta del directorio que contiene los archivos extraidos. Enter:</p>
-<pre class="brush: bash" lang="bash">./flash_mac.sh
-</pre>
-<p>Esto instalara la nueva imagen en el teléfono. El teléfono necesitara ser configurado nuevamente ya que todos los datos habrán sido borrados.</p>
-<h3 id="Linux">Linux</h3>
-<p>Para flashear un Keon desde Ubuntu hay que agregar la siguientes reglas a /etc/udev/rules.d/51-android.rules</p>
-<div>
- SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="8013", MODE="0666"</div>
-<div>
- SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666"</div>
-<div>
-  </div>
-<p>Abra una ventana de Terminal (control-alt-t en Ubuntu) y dirijase al directorio que contiene los archivos extraidos. Enter:</p>
-<pre class="brush: bash" lang="bash">./flash.sh
-</pre>
-<p>Esto instalara la nueva imagen en el teléfono. El teléfono necesitara ser configurado nuevamente ya que todos los datos habrán sido borrados.</p>
-<p>Esto debe flashear la nueva imagen en el teléfono. El teléfono debera configurarse de nuevo ya que toda la información ha sido borrada. Si quiere tener un respaldo de su información y restaurarla despues, puede seguir las instrucciones en <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Respaldo del sistema de partición del teléfono.</a></p>
-<div class="note">
- <p><strong>Otra forma de "Flashear" el Keon usando Ubuntu es de la siguiente manera:</strong></p>
-</div>
-<p>Paso 1: Conecta el dispositivo</p>
-<p>Paso 2: Abre la Terminal</p>
-<p>Paso 3: Escribe el comando <em>sudo nautilus</em>, escribe tu contraseña de Root para abrir el sistema de ficheros</p>
-<pre class="brush: bash language-html" lang="bash"><code class="language-bash"><span class="st"><em>sudo nautilus</em></span></code></pre>
-<p>Paso 4: Pega la carpeta de Firefox O.S Geeks Phone Build en el directorio</p>
-<p>Paso 5: Haz click en el archivo llamado "flash.sh"</p>
-<pre class="brush: bash language-html" lang="bash"><code class="language-bash">./flash.sh</code></pre>
-<h2 id="Si_tiene_un_'unagi'_o_un_teléfono_developer_preview_que_no_sea_un_Geeksphone">Si tiene un 'unagi' o un teléfono developer preview que no sea un Geeksphone</h2>
-<p>Si usted cuenta con un teléfono de desarrollador y no es Geeksphone como un 'unagi' o un dispositivo basado en Android, tal vez necesite realizar los siguientes pasos. Si este no es el caso, por favor siga a la siguiente sección.</p>
-<p>Usted necesitara instalar el <strong>adb </strong>y <strong>fastboot</strong>. Estas utilidades se pueden enconrar en el Kid de herramientas de desarrollo Android (ADT).</p>
-<p>No es necesario instalar todo el kit de desarrollo. Descargue el kit de desarrollo desde aqui y extraiga el contenido. Adb y fastboot se encuentrar en el directorio /platform-tools/carpeta. Estos pueden ser copiados a /usr/bin en Linux o Mac OS, o copiados en alguna carpeta siempre y cuando se especifique el $PATH de los binarios agregados.</p>
-<p>Si usted esta tratando de flashear su dispositivo y tiene otro conectado via USB, su teléfono posiblemente no sea detectado por las utilidades correctamente. Solamente tenga conectado su teléfono mientras intente flashearlo.</p>
-<h2 id="Afinando_Gaia">Afinando Gaia</h2>
-<p>Si usted es parte de la industria, usted puede adaptar las aplicaciones por default en Gaia - la UI en Firefox OS. En esta sección se cubrira algunos aspectos básicos para clonar Gaia y hacer cambios en las aplicaciones por default del sistema. Tenga en cuenta que estos consejos son "bajo su propio riesgo" y pueden involucrar la sección "Ok, he brickeado mi teléfono". Antes de proceder, este seguro de tener instalado adb y fastboot en su sistema. Para verificar que los tiene instalado abra una ventana de Terminal y escriba   <code>adb devices</code>   con su dispositivo conectado. Usted deberia ver su teléfono listado bajo los dispositivos conectados.</p>
-<p>Usted tambien puede correr fastboot desde terminal. Si usted corre fastboot, se debera mostrar un conjunto de opciones. Si usted no tiene instalado adb o fastboot, una busqueda rapida en Google con su sistema operativo volvera varios resultados sobre como instalarlos. Adicionalmente a adb y fastboot usted necesitara tener Git. Si no tiene instalado Git, de un vistazo a esta <a href="https://help.github.com/articles/set-up-git">guia de configuració</a>. Finalmente asegurese de que su teléfono esta configurado para la depuración remota, paso descrito en la sección previa.</p>
-<p>Una vez que tenga todos los prerequisitos abra una terminal y dirijase al directorio donde le gustaría clonar el código fuente de Gaia. Escriba el siguiente comando:</p>
-<pre class="brush: bash" lang="bash">git clone git://github.com/mozilla-b2g/gaia.git gaia
-cd gaia
-</pre>
-<p>Esto clonara la ultima versión del código de Gaia en su sistema.</p>
-<div class="warning">
- <p>Si su plan es subir cambios de regreso al código de Gaia, asegurese de hacer un fork del codigo antes de clonar como se describe en <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking">Hacking Gaia</a>.</p>
-</div>
-<p>Recientemente el Geeksphone Keon ustiliza la rama v1.0.1 del código de Gaia, así que asigne la rama adecuada con el siguiente comando antes de hacer cualquier otra cosa:</p>
-<pre class="brush: bash" lang="bash">git checkout -b v1.0.1 origin/v1.0.1
-</pre>
-<p>La mayor parte de las aplicaciones del sistema estan localizadas en el subdirectorio de aplicaciones de Gaia. Usted ahora puede hacer cualquier cambio que desee en las aplicaciones de Firefox OS. Una vez que haya hecho los cambios, asegurese que su dispositivo ha sido montado apropiadamente usando el siguiente comando:</p>
-<pre class="brush: bash">adb remount</pre>
-<p>A continuación, ejecute el siguiente comando para hacer push de las aplicaciones modificadas en su teléfono. Esto hará push por defecto a todas las apps del teléfono:</p>
-<pre class="brush: bash" lang="bash">B2G_SYSTEM_APPS=1 make install-gaia
-</pre>
-<p>Si sólo hizo cambios en una sola app puedes especificar los cambios de esta usando una sintaxis similar. En este ejemplo sólo la aplicación de calendario sera instalada en el teléfono:</p>
-<pre class="brush: bash" lang="bash">APP=calendar B2G_SYSTEM_APPS=1 make install-gaia
-</pre>
-<p>Si tiene problemas mientras hace los cambios, puede reiniciar el teléfono a los valores por defecto usando los siguientes comandos:</p>
-<pre class="brush: bash" lang="bash">make production
-make reset-gaia
-</pre>
-<div class="note">
- <p><strong>Nota</strong>: Tenga en cuenta que cualquiera de los comandos anteriores limpiaran cualquier dato o aplicación lanzada en el teléfono. Si quiere hacer un respaldo de su información y restaurarla después, debe seguir las instrucciones en el apartado de <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Copia de seguridad de la partición del sistema del teléfono </a>.</p>
-</div>
-<h2 id="Ok_he_bloqueado_mi_teléfono">"Ok, he bloqueado mi teléfono"</h2>
-<p>Si esta en el proceso de modificación de su teléfono y "no responde" debería ser capaz de recuperarlo usando fastboot con un simple procedimiento. A continuación se ilustra como reestablecer el Keon pero con otros teléfonos el proceso debería ser similar. También necesitara verificar si tiene instalado fastboot.</p>
-<p>Primero retire el cable USB y después remueva la batería del teléfono por 30 segundos. Entonces reinserte la batería y presiones el botón de bajar volumen  mientras mantiene el botón de encendido por unos cuantos segundos. A continuación reconecte el cable USB y ejecute los siguientes comandos desde una ventana de Terminal en el directorio que contiene los ultimos archivos img descritos en la primera sección de este post:</p>
-<pre class="brush: bash" lang="bash">fastboot flash recovery recovery.img
-fastboot flash boot boot.img
-fastboot flash userdata userdata.img
-fastboot flash system system.img
-fastboot reboot
-</pre>
-<p>Este proceso debera recuperar su teléfono. Si no funciona, es posible que tenga que  intentar una segunda vez.</p>
-<h2 id="A_jugar!">A jugar!</h2>
-<p>Esperamos que estas instrucciones te sean utiles, y naturalmente queremos que seas feliz con Firefox OS y las posibilidades que somos! Sientete libre de jugar con las actualizaciones de tu dispositivo, de hacer cambios/actualizaciones de las aplicaciones Gaia, y también sientete inspirado de construir tus propias Open Web Apps.</p>
-<h2 id="Ver_también">Ver también</h2>
-<ul>
- <li><a href="/en-US/Firefox_OS/Developer_phone_guide/Geeksphone/Geeksphone_FAQ">Geeksphone FAQ</a></li>
- <li><a href="/en-US/Apps/Quickstart/Build/Intro_to_open_web_apps">Introducción a la web abierta</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/phone_guide/index.html b/files/es/archive/b2g_os/phone_guide/index.html
deleted file mode 100644
index 6047637215..0000000000
--- a/files/es/archive/b2g_os/phone_guide/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Guía de Desarrollo en Firefox OS
-slug: Archive/B2G_OS/Phone_guide
-tags:
- - B2G
- - Firefox OS
- - desarrollo
- - telefonos
-translation_of: Archive/B2G_OS/Phone_guide
----
-<div class="summary">
- <p>Esta sección contiene información relevante para el desarrolladores sobre las especificaciones de los teléfonos que ejecutan Firefox OS. Tenemos información general disponible en <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Building and installing Firefox OS">Construir e instalar Firefox OS</a> y <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS">Hacking Firefox OS</a>, así que por favor vaya por la información acerca de construir e instalar la plataforma desde cero. Sin embargo, los desarrolladores que posean teléfonos especificos de desarrollo pueden encontrar los siguientes articulos de gran ayuda.</p>
-</div>
-<h2 id="Información_especifica_del_dispositivo">Información especifica del dispositivo</h2>
-<dl>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Phones">Datos del teléfono Firefox OS</a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">En este artículo</span> <span class="hps">enumeramos los</span> <span class="hps">distintos teléfonos</span> <span class="hps">disponibles</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>, junto con</span> <span class="hps">información como</span> <span class="hps">sus</span> <span class="hps">nombres en clave</span><span>, la disponibilidad y</span> <span class="hps">características de hardware</span> <span class="hps">específicos.</span></span></dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Geeksphone">Geeksphone</a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">En este artículo vamos</span> <span class="hps">a cubrir</span> <span class="hps">algunos consejos básicos sobre</span> <span class="hps">cómo mantener su</span> <span class="hps">Geeksphone</span> <span class="hps">hasta a</span> <span class="hps">la fecha y</span> <span class="hps">la forma de</span> <span class="hps">modificar</span> <span class="hps">el sistema de</span> <span class="hps">aplicaciones de</span> <span class="hps">Gaia</span><span>.</span> </span></dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN">El ZTE OPEN Firefox OS </a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Este</span> <span class="hps">artículo es para compartir</span> <span class="hps">la información que tenemos</span> <span class="hps">disponible del dispositivo</span> <span class="hps">ZTE</span> <span class="hps">OPEN</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>.</span></span></dd>
-</dl>
-<h2 id="Información_general_de_Firefox_OS">Información general de Firefox OS</h2>
-<dl>
- <dt>
- <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Firefox_OS_device_features">Información general de las caracteristicas </a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Esta página</span> <span class="hps">muestra las características</span> <span class="hps">típicas</span> <span class="hps">de hardware</span> <span class="hps">Firefox</span> <span class="hps">OS y los</span> <span class="hps">requisitos mínimos de hardware</span><span>.</span> </span></dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Troubleshooting"><span id="result_box" lang="es"><span class="hps">Solución de problemas</span> </span></a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Este artículo proporciona</span> <span class="hps">consejos</span> <span class="hps">para la solución de</span> <span class="hps">problemas comunes que</span> <span class="hps">pueden surgir al utilizar</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>.</span> </span></dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Best_practices_open_reference_devices"><span id="result_box" lang="es"><span class="hps">Mejores prácticas para</span> <span class="hps">dispositivos abiertos de referencia</span></span></a></dt>
- <dd>
- Un conjunto de mejores prácticas que creemos y recomendamos para cualquier dispositivo de referencia abierto. Todas las recientes referencias de dispositivos Firefox OS siguen estas prácticas.</dd>
-</dl>
diff --git a/files/es/archive/b2g_os/phone_guide/lista_dispositivos/index.html b/files/es/archive/b2g_os/phone_guide/lista_dispositivos/index.html
deleted file mode 100644
index 86ac8aba87..0000000000
--- a/files/es/archive/b2g_os/phone_guide/lista_dispositivos/index.html
+++ /dev/null
@@ -1,712 +0,0 @@
----
-title: Lista de Dispositivos
-slug: Archive/B2G_OS/Phone_guide/lista_dispositivos
-tags:
- - B2G
- - Dispositivos
- - Especificaciones
- - Firefox OS
- - Guia(2)
- - Guía
- - Móvil
- - Telefono
- - movil(2)
-translation_of: Archive/B2G_OS/Phone_guide/Phone_specs
----
-<div class="summary">
-<p><span class="seoSummary">Este artículo entrega información acerca de los dispositivos disponibles con Firefox OS. Incluye además las especificaciones del Hardware, nombres clave, la versión de Firefox OS con la que fue lanzado al mercado y mucho más.</span></p>
-</div>
-
-<h2 id="Dispositivos_con_Firefox_OS_disponibles">Dispositivos con Firefox OS disponibles</h2>
-
-<p>Durante el desarrollo de Firefox OS hemos tenido diversos dispositivos para realizar pruebas. Hoy en día con la salida al mercado de Firefox OS contamos con diversos modelos de distintos vendedores.</p>
-
-<div class="note">
-<p><strong>Nota</strong>: Para información comercial de los dispositivos que se venden actualmente por favor revisa nuestra página para encontrar <a href="http://www.mozilla.org/en-US/firefox/os/devices/">un dispositivo Firefox OS cerca tuyo</a>.</p>
-</div>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">
- <p>Nombre / Nombre Clave</p>
- </th>
- <th scope="col">Lanzamiento</th>
- <th scope="col">Versión FxOS</th>
- <th scope="col">Disponible</th>
- <th scope="col">Comentarios</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <p>Alcatel One Touch Fire</p>
-
- <p><em>hamachi, buri</em></p>
- </td>
- <td>Julio 12, 2013</td>
- <td>1.0.1</td>
- <td>Actualmente disponible</td>
- <td>
- <p>Disponible publicamente en Brasil, Uruguay, Italia, Alemania, Grecia, Serbia, Hungria y Polonia. Disponible por revendedores en eBay.</p>
- </td>
- </tr>
- <tr>
- <td>Alcatel One Touch Fire E</td>
- <td>Julio 18, 2014</td>
- <td>1.3.0</td>
- <td>Actualmente disponible</td>
- <td>Disponible publicamente en <a href="http://www.congstar.de/handy/alcatel-one-touch-fire-e-braun/">Alemania</a>.</td>
- </tr>
- <tr>
- <td><em>otoro, unagi, inari</em></td>
- <td> </td>
- <td> </td>
- <td> </td>
- <td>off the shelf ZTE phone used for development prior to the ZTE Open.</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN">ZTE Open</a></p>
-
- <p><em>ikura</em></p>
- </td>
- <td>Julio 2, 2013</td>
- <td>1.0.1</td>
- <td>Actualmente disponible</td>
- <td>Similar al inari; Publicamente disponible en eBay</td>
- </tr>
- <tr>
- <td>
- <p>LG Fireweb</p>
-
- <p><em>leo</em></p>
- </td>
- <td>Octubre 24, 2013</td>
- <td>1.1</td>
- <td>Actualmente disponible</td>
- <td>Publicamente disponible en Brasil.</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Keon</a></p>
-
- <p><em>keon</em></p>
- </td>
- <td>Abril 24, 2013</td>
- <td>1.0.1</td>
- <td>Actualmente agotado</td>
- <td>Solo para desarrolladores</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak</a></p>
-
- <p><em>peak</em></p>
- </td>
- <td>Abril 24, 2013</td>
- <td>1.0.1</td>
- <td>Actualmente agotado</td>
- <td>Was codenamed "twist" for a while; developer-only devices</td>
- </tr>
- <tr>
- <td><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak+</a></td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- <td><a href="http://www.geeksphone.com/?wysija-page=1&amp;controller=email&amp;action=view&amp;email_id=15">cancelado</a></td>
- </tr>
- <tr>
- <td>Geeksphone Revolution</td>
- <td>Marzo 4, 2014</td>
- <td>1.3pre</td>
- <td>Actualmente disponible</td>
- <td><a href="http://shop.geeksphone.com/moviles/9-revolution.html">Disponible en linea.</a></td>
- </tr>
- <tr>
- <td>
- <p>LG Google Nexus 4</p>
-
- <p><em>nexus-4</em></p>
- </td>
- <td> </td>
- <td> </td>
- <td> </td>
- <td>Experimental. Not supported by either LG or Google. Discontinued hardware.</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/Firefox_OS/Developer_phone_guide/Flame">Flame</a></p>
-
- <p><em>"the reference device"</em></p>
- </td>
- <td>Fines de Abril, 2014</td>
- <td>1.3</td>
- <td> </td>
- <td><a href="http://www.everbuying.com/product549652.html">Available to pre-order</a></td>
- </tr>
- <tr>
- <td>
- <p>Spreadtrum</p>
-
- <p><em>tarako</em></p>
- </td>
- <td>Al final del Q2, 2014</td>
- <td> </td>
- <td>Pronto.</td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/ZTE_OPEN_C">ZTE Open C</a></td>
- <td>Mayo 13, 2014</td>
- <td>1.3</td>
- <td>Disponible</td>
- <td><a href="http://www.ebay.co.uk/itm/eBay-exclusive-ZTE-OPEN-C-Latest-Firefox-OS-Dual-Core-3G-Unlocked-Smartphone-/171301269724?pt=UK_Mobile_Phones&amp;hash=item27e259f0dc">Disponible en linea.</a></td>
- </tr>
- </tbody>
- <tbody>
- <tr>
- <td><a href="/en-US/Firefox_OS/Developer_phone_guide/Symphony_GoFox_F15">Symphony GoFox F15</a></td>
- <td>Septiembre 16, 2014</td>
- <td>1.4</td>
- <td>Disponible</td>
- <td>Available through Grameenphone channels in Bangladesh only.</td>
- </tr>
- <tr>
- <td>Intex Cloud Fx</td>
- <td> </td>
- <td>1.3 </td>
- <td>Disponible</td>
- <td>Disponible en <a href="http://www.snapdeal.com/product/intex-cloud-fx/1356760619?utm_source=earth_mobile&amp;utm_campaign=mobiles_new_sku&amp;utm_medium=Intex_cloud_FX&amp;utm_content=SKU">Snapdeal</a>, solo en India.</td>
- </tr>
- <tr>
- <td>Spice Fire One (Mi-FX1)</td>
- <td>
- <div> </div>
- </td>
- <td>1.3</td>
- <td>Disponible</td>
- <td>Disponible en <a href="http://www.snapdeal.com/product/intex-cloud-fx/1356760619?utm_source=earth_mobile&amp;utm_campaign=mobiles_new_sku&amp;utm_medium=Intex_cloud_FX&amp;utm_content=SKU">Snapdeal</a>, solo en India.</td>
- </tr>
- <tr>
- <td>Alcatel OneTouch FireC 4020D</td>
- <td>Octubre 1, 2014</td>
- <td>1.3</td>
- <td>Disponible</td>
- <td>Disponible en <a href="http://www.flipkart.com/mobiles/alcatel~brand/pr?p%5B%5D=facets.price_range%255B%255D%3DRs.%2B2000%2Band%2BBelow&amp;p%5B%5D=sort%3Dfeatured&amp;sid=tyy%2C4io&amp;ref=b23d5a52-3b84-4fe6-80a9-99f451be31aa#jumpTo=106|2">Filpkart</a></td>
- </tr>
- <tr>
- <td>Zen Fire 105</td>
- <td>Octubre 16, 2014</td>
- <td>1.3</td>
- <td>Disponible</td>
- <td>Disponible en <a href="http://www.homeshop18.com/zen-fire-fox-phone-u105/mobiles/mobile-phones/product:32873765/cid:3027/">Homeshop18</a></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Versiones_de_Firefox_OS">Versiones de Firefox OS</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Version</th>
- <th scope="col">Feature Complete (FC) date</th>
- <th scope="col">Release To Partner<br>
- (RTP) date</th>
- <th scope="col">Codename</th>
- <th scope="col">Gecko version</th>
- <th scope="col">Included security fixes</th>
- <th scope="col">Release notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1.0</td>
- <td>Diciembre 22, 2012</td>
- <td>Febrero 21, 2013</td>
- <td>TEF</td>
- <td>Gecko 18</td>
- <td>Gecko 18</td>
- <td> </td>
- </tr>
- <tr>
- <td>1.0.1</td>
- <td>Enero 15, 2013</td>
- <td>Septiembre 6, 2013</td>
- <td>Shira</td>
- <td>Gecko 18</td>
- <td>Gecko 20</td>
- <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/1.0.1">Developer</a><br>
- <a href="https://support.mozilla.org/en-US/kb/whats-new-firefox-os-v11">Consumer</a></td>
- </tr>
- <tr>
- <td>1.1</td>
- <td>Marzo 29, 2013</td>
- <td>Octubre 9, 2013</td>
- <td>Leo</td>
- <td>Gecko 18+ (new <a href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface">APIs</a>)</td>
- <td>Gecko 23</td>
- <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/1.1">Developer</a><br>
- <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.1/">Consumer</a></td>
- </tr>
- <tr>
- <td>1.1.1</td>
- <td> </td>
- <td>TBD</td>
- <td>HD</td>
- <td>Same as 1.1.0 with WVGA</td>
- <td>Gecko 23</td>
- <td> </td>
- </tr>
- <tr>
- <td>1.2</td>
- <td>Septiembre 15, 2013</td>
- <td>Diciembre 9, 2013</td>
- <td>Koi</td>
- <td>Gecko 26<sup><a href="http://en.wikipedia.org/wiki/Firefox_OS#cite_note-39"><span>[</span>39<span>]</span></a></sup></td>
- <td>Gecko 26</td>
- <td><a href="/en-US/Firefox_OS/Releases/1.2">Developer</a><br>
- <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.2/">Consumer</a></td>
- </tr>
- <tr>
- <td>1.3</td>
- <td>Diciembre 9, 2013</td>
- <td>TBD</td>
- <td> </td>
- <td>Gecko 28</td>
- <td>Gecko 28</td>
- <td><a href="/en-US/Firefox_OS/Releases/1.3">Developer</a><br>
- <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.3/">Consumer</a></td>
- </tr>
- <tr>
- <td>1.4</td>
- <td>Marzo 17, 2014</td>
- <td>TBD</td>
- <td> </td>
- <td>Gecko 30</td>
- <td>Gecko 30</td>
- <td><a href="/en-US/Firefox_OS/Releases/1.4">Developer</a><br>
- Consumer (TBD)</td>
- </tr>
- <tr>
- <td>2.0</td>
- <td>TBD</td>
- <td>TBD</td>
- <td> </td>
- <td>Gecko 32</td>
- <td>Gecko 32</td>
- <td><a href="/en-US/Firefox_OS/Releases/2.0">Developer</a><br>
- Consumer (TBD)</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Especificaciones_de_dispositivos">Especificaciones de dispositivos</h2>
-
-<p>Nota hay algunos casos donde hay un upcoming device que no ha sido anunciado pero podemos compartir el nobre del codigo and (some of) the capabilities of the device.  DO NOT put extra info down for these devices unless Andreas Gal or someone else equally able to bless the public disclosure of the information has disclosed it.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nombre</th>
- <th scope="col">Versiones</th>
- <th scope="col">Resolución</th>
- <th scope="col">Pantalla (pulgadas)</th>
- <th scope="col">CPU</th>
- <th scope="col">Camara(s), Mpx</th>
- <th scope="col">RAM</th>
- <th scope="col">ROM</th>
- <th scope="col">Storage</th>
- <th scope="col">Battery (mAh)</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <p>Alcatel One Touch Fire</p>
-
- <p><em>hamachi, buri</em></p>
- </td>
- <td>v1.0.1/v1.1</td>
- <td>
- <p>320 x 480<br>
- PX=1</p>
- </td>
- <td>3.5</td>
- <td>Qualcomm Snapdragon S1 MSM7227A 1 GHz</td>
- <td>Rear: 3.2</td>
- <td>256MB</td>
- <td>512MB</td>
- <td>/data: probably the same as inari; <a href="http://www.alcatelonetouch.com/global-en/products/smartphones/one_touch_fire.html#.Unyg5UOVt1M">specs say</a> 160MB "end user memory"<br>
- Probably no built-in DeviceStorage, MicroSD card (up to 32GB) required<br>
-  </td>
- <td>1400</td>
- </tr>
- <tr>
- <td>Alcatel One Touch Fire E</td>
- <td>v1.3.0</td>
- <td>540 x 960</td>
- <td>4.5</td>
- <td>
- <p>Qualcomm Snapdragon 200<br>
- MSM8210<br>
- 1.2 GHz<br>
- dual-core<br>
-  </p>
- </td>
- <td>Rear: 5</td>
- <td>512MB</td>
- <td>4GB</td>
- <td> </td>
- <td>1700</td>
- </tr>
- <tr>
- <td>
- <p>ZTE Open / variants</p>
-
- <p><em>ikura</em></p>
- </td>
- <td>v1.0.1 (as shipped)</td>
- <td>320 x 480<br>
- PX=1</td>
- <td>3.5</td>
- <td>Qualcomm Snapdragon S1 MSM7225A 800 MHz</td>
- <td>Rear: 3.2</td>
- <td>256MB</td>
- <td>512MB</td>
- <td>
- <p>/data: 152M<br>
- No built-in DeviceStorage, MicroSD card required</p>
- </td>
- <td>1200</td>
- </tr>
- <tr>
- <td>
- <p>LG Fireweb</p>
-
- <p><em>leo</em></p>
- </td>
- <td>v1.1</td>
- <td>320 x 480<br>
- PX=1</td>
- <td>4</td>
- <td>Qualcomm  Snapdragon S1 MSM7227A 1 GHz</td>
- <td>Rear: 5</td>
- <td>512MB</td>
- <td>4GB</td>
- <td>
- <p>/data: 1007.90M<br>
- built-in DeviceStorage: yes, size unsure. possibly 3.7G, but that might be bad math.  (On an unhapy device /sys/devices/platform/msm_sdcc.3/mmc_host/mmc0/mmc0:0001/block/mmcblk0/block is 7733248, and then assuming a 512 byte block size, we get 3.7G)</p>
- </td>
- <td>1540</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Keon</a></p>
-
- <p><em>keon</em></p>
- </td>
- <td>
- <p>v1.0.1 - nightly<br>
- <a href="/en-US/docs/">downloads here</a></p>
- </td>
- <td>320 x 480<br>
- PX=1</td>
- <td>3.5</td>
- <td>Qualcomm Snapdragon S1 7225AB 1 GHz</td>
- <td>Rear: 3</td>
- <td>512MB</td>
- <td>4GB</td>
- <td>
- <p>/data: 1.5G<br>
- built-in DeviceStorage: 1023.4M</p>
- </td>
- <td>1580</td>
- </tr>
- <tr>
- <td>
- <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak</a></p>
-
- <p><em>peak</em></p>
- </td>
- <td>v1.0.1 - nightly<br>
- <a href="/en-US/docs/">downloads here</a></td>
- <td>540 x 960<br>
- PX=1.5</td>
- <td>4.3</td>
- <td>Qualcomm Snapdragon S4 8225 1.2 GHz dual-core</td>
- <td>
- <p>Front: 2<br>
- Rear: 8</p>
- </td>
- <td>512MB</td>
- <td>4GB</td>
- <td>/data: 1.5G<br>
- built-in DeviceStorage: 1023.4M</td>
- <td>1800</td>
- </tr>
- <tr>
- <td>Geeksphone Revolution</td>
- <td>v1.3pre (as shipped)</td>
- <td>540 x 960 PX=1.5</td>
- <td>4.7</td>
- <td><span class="mini-text">Dual-core Intel® Atom™ processor Z2560<span class="mini-text"> with up to 1.6GHz</span></span></td>
- <td>
- <p>Front: 1.3 Rear: 8</p>
- </td>
- <td>1GB</td>
- <td>4GB</td>
- <td>
- <p>/data: 2G<br>
- built-in DeviceStorage: 2.5GB</p>
- </td>
- <td>2000</td>
- </tr>
- <tr>
- <td>
- <p>Nexus 4</p>
-
- <p><em>nexus-4</em></p>
- </td>
- <td>v1.3 - nightly</td>
- <td>768 x 1280<br>
- 720p</td>
- <td>4.7</td>
- <td>
- <p>Qualcomm<br>
- <span class="mw-redirect">Snapdragon S4 Pro</span><br>
- 1.5 GHz quad-core</p>
- </td>
- <td>Rear: 8</td>
- <td>2GB</td>
- <td>8 or 16GB</td>
- <td>everything exists in one big soup, there is no external (MicroSD) storage.  The size of the soup varies based on what model Nexus 4 you got.</td>
- <td>2100</td>
- </tr>
- <tr>
- <td>
- <p><a href="https://wiki.mozilla.org/FirefoxOS/TCP">Foxconn InFocus</a></p>
-
- <p><em>flatfish</em></p>
- </td>
- <td> </td>
- <td>1280 x 800</td>
- <td>10</td>
- <td>Allwinner A31, Cortex A7 Quad-Core 1.0 GHz</td>
- <td>
- <p>Front: 2<br>
- Rear: 5</p>
- </td>
- <td>2GB</td>
- <td>16GB</td>
- <td> </td>
- <td>7000</td>
- </tr>
- <tr>
- <td>
- <p><a href="https://wiki.mozilla.org/Platform/2013-11-05">some phone thing</a></p>
-
- <p><em>fugu</em></p>
- </td>
- <td>v1.2f (branch) <a href="https://groups.google.com/d/msg/mozilla.dev.b2g/JKAu9UNjBf8/9zj5Y3m6518J">per</a></td>
- <td>320 x 480</td>
- <td> </td>
- <td> </td>
- <td> </td>
- <td>256MB</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>
- <p><a href="https://wiki.mozilla.org/FirefoxOS/Tarako">Spreadtrum SC6821</a></p>
-
- <p><em>tarako</em></p>
- </td>
- <td>v1.3 <a href="https://wiki.mozilla.org/FirefoxOS/Tarako">per</a></td>
- <td>HVGA<br>
- 320 x 480</td>
- <td>3.5</td>
- <td>Spreadtrum SC6821, Cortex A5 1GHz</td>
- <td>0.3 (rear only?)</td>
- <td>128MB (zram)</td>
- <td>2GB NAND flash (external) + 1GB LPDDR1 (embedded)</td>
- <td>32GB micro SD card</td>
- <td>1100</td>
- </tr>
- <tr>
- <td>
- <p><a href="https://hacks.mozilla.org/2014/02/open-applications-tcp/">VIA Vixen</a></p>
-
- <p><em><a href="https://wiki.mozilla.org/Platform/2014-03-18">community-driven customization of flatfish</a>?</em></p>
- </td>
- <td> </td>
- <td>1024 x 600</td>
- <td>7</td>
- <td>Cortex-A9 Dual Core 1.2 GHz</td>
- <td>
- <p>Front: 0.3 Rear: 2<br>
-  </p>
- </td>
- <td>1GB</td>
- <td>8GB</td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>
- <p><a href="https://blog.mozilla.org/press/2014/02/developer-momentum-2/">Flame</a></p>
-
- <p><em>"the reference device"</em></p>
- </td>
- <td>v1.3</td>
- <td>
- <p>FWVGA<br>
- 854 × 480<br>
- PX=1.5<br>
-  </p>
- </td>
- <td>4.5 capacitive touch</td>
- <td>
- <p>Qualcomm Snapdragon 200 MSM8210, 1.2GHZ Dual core processor</p>
- </td>
- <td>Front: 2<br>
- Rear: 5 auto focus with flash</td>
- <td>256MB–1GB (adjustable by developer)</td>
- <td>8GB</td>
- <td>32GB micro SD card (USB 2.0)</td>
- <td>1800</td>
- </tr>
- <tr>
- <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/ZTE_OPEN_C">ZTE Open C</a></td>
- <td>v1.3</td>
- <td>
- <p>800 x 480 PX=1.5</p>
- </td>
- <td>4</td>
- <td>Qualcomm Snapdragon 200 MSM8210, 1.2GHZ Dual core processor</td>
- <td>Rear: 3</td>
- <td>512MB</td>
- <td>4GB</td>
- <td>
- <p>/data: 1G</p>
- </td>
- <td>1400</td>
- </tr>
- <tr>
- <td><a href="/en-US/Firefox_OS/Developer_phone_guide/Symphony_GoFox_F15">Symphony GoFox F15</a></td>
- <td>
- <p>v1.4</p>
- </td>
- <td>320 x 480<br>
- PX=?</td>
- <td>3.5</td>
- <td>Spreadtrum 1 GHz Single Core Processor</td>
- <td>
- <p>Front: 0.3<br>
- Rear: 3.2 with Flash</p>
- </td>
- <td>512MB</td>
- <td>512MB</td>
- <td> </td>
- <td>1450</td>
- </tr>
- <tr>
- <td>Intex Cloud Fx</td>
- <td>V 1.3</td>
- <td>320 x 480</td>
- <td>3.5</td>
- <td>Spreadtrum 1 GHz</td>
- <td><br>
- Rear: 2.0 without Flash</td>
- <td>128 MB</td>
- <td>256 MB</td>
- <td>
- <p>Data : 2G</p>
-
- <p>Internal Storage: 46 MB(User Memory)</p>
-
- <p>External -Micro SD Card : Upto 4GB Expanable</p>
- </td>
- <td>1250</td>
- </tr>
- <tr>
- <td>Spice Fire One (Mi-FX1)</td>
- <td>V 1.3</td>
- <td>320 x 480</td>
- <td>3.5</td>
- <td>Spreadtrum 1 GHz</td>
- <td>
- <p>Front :VGA</p>
-
- <p>Rear 1.3</p>
- </td>
- <td>128 MB</td>
- <td>512 MB</td>
- <td>
- <p>Data : 2G</p>
-
- <p>Internal Storage: 67.9 MB(User Memory)</p>
-
- <p>External -Micro SD Card: Upto 4GB Expanable</p>
- </td>
- <td>1400</td>
- </tr>
- <tr>
- <td>Alcatel OneTouch FireC 4020D</td>
- <td>V 1.3</td>
- <td>320 x 480</td>
- <td>3.5</td>
- <td>Spreadtrum 1 GHz</td>
- <td> </td>
- <td>128 MB</td>
- <td>256 MB</td>
- <td>
- <p>Data : 2G</p>
-
- <p>Internal Storage : 65 MB(User Memory)</p>
-
- <p>External -Micro SD Card: Upto 32GB Expanable</p>
- </td>
- <td>1000</td>
- </tr>
- <tr>
- <td>Zen Fire 105</td>
- <td>V 1.3</td>
- <td>320 x 480</td>
- <td>3.5</td>
- <td>Spreadtrum 1GHz</td>
- <td>
- <p>Front :VGA</p>
- Rear 2 MP</td>
- <td>128 MB</td>
- <td>256 MB</td>
- <td>
- <p>Data : 2G</p>
-
- <p>External -Micro SD Card: Upto 16GB Expanable</p>
- </td>
- <td>1200</td>
- </tr>
- </tbody>
-</table>
-
-<p>Column explanations:</p>
-
-<ul>
- <li>Resolusion:
- <ul>
- <li>horizontal x vertical</li>
- <li>PX=1, PX=1.5, or PX=2 is the GAIA_DEV_PIXELS_PER_PX setting that should be used for the device</li>
- </ul>
- </li>
- <li>Storage:
- <ul>
- <li>"/data" is the internal storage.  This is where IndexedDB and other stuff lives.  Storage is segregated on a per-app basis and is not USB storage accessible.  Data is potentially accessible via adb depending on privileges.</li>
- <li>DeviceStorage are the places where the <a href="/en-US/docs/WebAPI/Device_Storage">DeviceStorage API</a> can store things.  Some devices may have internal storage (ex: leo), some devices may have external storage on MicroSD cards, some devices may support both (ex: leo).  This storage is potentially accessible by all apps as well as the user via USB.</li>
- <li>Values that don't look nice and round are as reported by "adb shell df" in the "size" column.</li>
- </ul>
- </li>
-</ul>
diff --git a/files/es/archive/b2g_os/phone_guide/zte_open/index.html b/files/es/archive/b2g_os/phone_guide/zte_open/index.html
deleted file mode 100644
index f5ae618098..0000000000
--- a/files/es/archive/b2g_os/phone_guide/zte_open/index.html
+++ /dev/null
@@ -1,287 +0,0 @@
----
-title: The Firefox OS ZTE OPEN
-slug: Archive/B2G_OS/Phone_guide/ZTE_OPEN
-translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN
----
-<div class="summary">
-<h4 id="Mozilla_is_partnered_with_ZTE._This_partnership_helped_to_create_the_ZTE_OPEN_a_powerful_Firefox_OS-based_device_aimed_at_developers_and_early_adopters_worldwide._They_are_unlocked_and_open_for_testing_and_experimentation.">Mozilla is partnered with ZTE. This partnership helped to create the ZTE OPEN, a powerful Firefox OS-based device aimed at developers and early adopters worldwide. They are unlocked and open for testing and experimentation.</h4>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: The instructions are <strong>not</strong> valid for the ZTE Open C device. If you have a ZTE Open C device you should go to our <a href="/en-US/Firefox_OS/Developer_phone_guide/ZTE_OPEN_C">ZTE Open C</a> page instead.</p>
-</div>
-
-<h2 id="Purchasing_a_device">Purchasing a device</h2>
-
-<p>These devices are available through ZTE's US and UK eBay stores, and a separate Hong Kong page aimed at Asian and Oceanian customers who don't want to pay high postage costs. They are priced at $79.99/£59.99.</p>
-
-<ul>
- <li><a href="http://stores.ebay.com/ztemobileuk">Buy from UK eBay store</a></li>
- <li><a href="http://stores.ebay.com/zteauthorizedstoreus/">Buy from US eBay store</a></li>
- <li><a href="http://www.ebay.com/itm/331031989534">Buy from Hong Kong page</a></li>
-</ul>
-
-<h2 id="Upgrading_Firefox_OS">Upgrading Firefox OS</h2>
-
-<p>This section provides instructions for upgrading Firefox OS on your ZTE OPEN device.</p>
-
-<h3 id="General">General</h3>
-
-<p>In general, Firefox OS builds, updates and testing are done by connecting your phone to a computer using a USB cable, and using ADB (Android Debugging Bridge) and Fastboot to join the devices together and issue commands. You'll therefore need to install ADB and fastboot from the <a href="http://developer.android.com/sdk/index.html" title="Android Developer Tookit">Android Developer Toolkit</a> on your desktop machine. It is not necessary to install the entire toolkit. adb and fastboot are found in the <code>/platform-tools/</code> folder.</p>
-
-<p>Next, you need to go to your phone and <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Remote_debugging">enable remote debugging</a>.</p>
-
-<h3 id="Firefox_OS_1.1">Firefox OS 1.1</h3>
-
-<p>On 10th December 2013: ZTE released a Firefox OS 1.1 upgrade for the ZTE OPEN. <strong>This now has fastboot enabled</strong>, which was caused the problems with the previous published builds.</p>
-
-<p>At this point, it's best to first upgrade your phone to version 1.1, even if you wanted to go to version 1.2. To do this, download the 1.1 package that corresponds to your phone (<a href="http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html">OPEN (American Standard)</a> or <a href="http://www.ztedevices.com/support/smart_phone/cba40ed6-d3ab-44c0-bdee-3a15803dc187.html">OPEN (European Standard)</a>).  Note that you need to download the version with your OS revision in it (that is, download the "V1.1.0B02(for V1.0)" if you are upgrading <em>from</em> V1.0). The zip file you’ll download will also contain documentation for the upgrade.  Unzip it and copy the firmware ZIP (inside the downloaded zip) as described below.</p>
-
-<div class="note">
-<p><strong>Note</strong>: User data will be wiped by the SD package installation. You should <a href="https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">backup your data</a> before starting.</p>
-</div>
-
-<p>Now follow these steps:</p>
-
-<ol>
- <li>Power off your phone, remove the battery to access the microSD card and extract the card from its holder.</li>
- <li>Connect the microSD card to your desktop machine.</li>
- <li>Move <strong>US_DEV_FFOS_V1.1.0B04_UNFUS_SD.zip</strong> or <strong>EU_DEV_FFOS_V1.1.0B04_UNFUS_SD.zip</strong> (depending on the version you downloaded) to the root directory of your microSD card. Do NOT unzip the file.</li>
- <li>Disconnect the microSD card from your desktop computer and return it to your phone.</li>
- <li>Hold the volume up button and power key down simultaneously. Volume up is activated by pressing the upper part of the long key on the left side of the phone. If you did it properly, you’ll enter the Firefox OS recovery mode. (Note: the Firefox OS logo may display briefly before you enter the recovery mode; sometimes this can take a little while.)</li>
- <li>Use the volume up/down key to move from one item to the other in the menu, and choose “<strong>apply update from external storage</strong>.”</li>
- <li>Press the power key to confirm the selection. You’ll see a new screen listing the files you have on the microSD card.</li>
- <li>Again use volume up/down key to select the firmware: either <strong>US_DEV_FFOS_V1.1.0B04_UNFUS_SD.zip</strong> or <strong>EU_DEV_FFOS_V1.1.0B04_UNFUS_SD.zip</strong> (depending on the version you downloaded), and press the power key to confirm.</li>
-</ol>
-
-<p>If everything went well, you’ll see a sequence of status messages, culminating with one that says, <em>“<strong>Install from sdcard complete</strong>.”</em>. You’ll need to select “reboot system now” after the installation has completed. Your phone will then reboot, and you’ll see the configuration screen you saw the first time you powered on the phone.</p>
-
-<h3 id="Firefox_OS_1.2">Firefox OS 1.2</h3>
-
-<p>In January 2014, ZTE released a beta version of Firefox OS 1.2 (fastboot enabled, with root access). It is basically version 1.1 baseline + version 1.2 Gecko and Gaia, and doesn't require the build to be put on the phone's SD Card.</p>
-
-<p>With 1.1 installed as described above, open a terminal and check that the connection is made with the following command:</p>
-
-<pre class="brush: bash">adb devices -l
-</pre>
-
-<p>You should see your device as something like, "roamer2    device usb:2-1.2", in response.</p>
-
-<p>Download the appropriate version of the build from the Dropbox account ZTE has set up: <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/32KXfFmedN/P752D04_DEV_US_20131212_v1.2.7z" title="Firefox OS 1.2 build for ZTE Open US">US version</a> or <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/_twgXEkMFH/P752D04_DEV_EU_20131212_v1.2.7z" title="Firefox OS 1.2 build for ZTE Open UK">UK version</a>. For Windows users, you can also <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/6ZoJwmlRjn/Installation%20Instruction.docx" title="Special upgrade instructions for Windows users">download special instructions</a>, and <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/-fyi2XHFPG/upgrade_tool" title="Upgrade tool">an upgrade tool</a> to help you to install the new version easily. The steps below however will work on <strong>all operating systems</strong> – Linux, OS X, and Windows – without relying on the special tool.</p>
-
-<p>Once you have the file, extract the contents, and open a console. Note that those steps will erase your personal data, so be sure to make a (<a href="https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">backup</a>) first. Then navigate to the folder where the files are. Still in the console, type this command:</p>
-
-<pre class="brush: bash">adb reboot bootloader</pre>
-
-<p>While the phone is rebooting, execute the following command. (Fastboot only works inside a reboot):</p>
-
-<pre class="brush: bash">sudo fastboot devices
-</pre>
-
-<p>If you see, "&lt; waiting for device &gt;", hit Ctrl-C and retry the command until you see something like, "ROAMER2    fastboot", in response.</p>
-
-<p>Then, quickly execute the following commands while it is still rebooting:</p>
-
-<pre class="brush: bash">fastboot flash boot boot.img
-fastboot flash userdata userdata.img
-fastboot flash system system.img
-fastboot flash recovery recovery.img
-fastboot erase cache
-fastboot reboot</pre>
-
-<div class="note">
-<p><strong>Note</strong>: If you keep encountering "waiting device" message. Try add <strong>sudo</strong> before the commands, like "sudo fastboot flash boot boot.img".</p>
-</div>
-
-<p>(The reboot completed before I was done entering all the commands as I was distracted. I simply restarted from the, "adb reboot bootloader".)</p>
-
-<p>If everything went well, your phone should reboot at this point. You’ll find that this version of 1.2 from ZTE includes many test applications, which you can remove if you like.</p>
-
-<div class="note">
-<p><strong>Note</strong>: <a href="https://hacks.mozilla.org/2014/01/upgrading-your-zte-open-to-firefox-1-1-or-1-2-fastboot-enabled/">Upgrading your ZTE Open to Firefox 1.1 or 1.2 (fastboot enabled)</a> by <span class="url">Frédéric Harper</span> also provides a useful breakdown of the install process.</p>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: There is a bug in ZTE's 1.2 build for the Open, whereby the notification tray won't pull down/open. This can be fixed by flashing the latest engineering version Firefox OS 1.2 to your phone. Make sure you have <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB installed</a> and <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">remote debugging</a> turned on, then run the following commands in your terminal:<br>
- <br>
- <code>git clone -b v1.2 <a href="https://github.com/mozilla-b2g/gaia.git" rel="nofollow">https://github.com/mozilla-b2g/gaia.git</a> gaia_v1.2<br>
- cd gaia_v1.2<br>
- make reset-gaia</code></p>
-</div>
-
-<h3 id="Firefox_OS_1.3_and_beyond">Firefox OS 1.3 and beyond</h3>
-
-<p>ZTE currently haven't released builds for Firefox OS 1.3 and beyond. To get these on your ZTE open you'll have to manually <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install a new Firefox OS/B2G</a> build on it (start at the <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a> instructions, and treat the ZTE like it is an Inari device, for the purposes of configuration). You can recover your phone if necessary, using the procedure cited in the <a href="#I_bricked_my_phone">I bricked my phone</a> section.</p>
-
-<h2 id="Phone_features">Phone features</h2>
-
-<ul>
- <li>CPU Qualcomm MSM7225A 1.0Ghz</li>
- <li>UMTS 850/1900 or UMTS900/2100</li>
- <li>GSM 850/900/1800/1900 (2G EDGE)</li>
- <li>Screen 3.5" HVGA</li>
- <li>Camera 2 MP (back)</li>
- <li>256 MB (RAM)</li>
- <li>MicroSD (support up to 32GB)</li>
- <li>Battery 1200 mAh</li>
- <li>Wifi b, g, n, Bluetooth 2.1 EDR</li>
- <li>Light &amp; Prox. Sensor, G-Sensor</li>
- <li>Radio FM, GPS</li>
- <li>MicroUSB</li>
-</ul>
-
-<div class="note">
-<p><strong>Note</strong>: the Hong Kong phones also support tri-band 3G Networks — HSDPA 850/1900/2100 (850/1900 for US, CA, 850/1900/2100 for Asia, AU, and 900/2100 for EU.)</p>
-</div>
-
-<h2 id="Wireless_carriers">Wireless carriers</h2>
-
-<div class="warning">
-<p>Pricing information is for reference only and may not be accurate. Visit the associated link for official information.</p>
-</div>
-
-<h3 id="US_carriers">US carriers</h3>
-
-<h4 id="ATT">AT&amp;T</h4>
-
-<ul>
- <li><a href="http://www.att.com/shop/wireless.html">Website</a></li>
- <li>Nationwide coverage for 2G EDGE and 3G</li>
-</ul>
-
-<h5 id="Sampling_of_prepaid_ATT_plans">Sampling of prepaid AT&amp;T plans</h5>
-
-<p><a href="http://www.att.com/shop/wireless/gophone.html">Prepaid GoPhone®</a>, Smartphone Plans</p>
-
-<ul>
- <li>$25/month, $5/50MB 3G data</li>
- <li>$60/month with 2GB data, $10/GB additional 3G data</li>
-</ul>
-
-<h4 id="Aio">Aio</h4>
-
-<ul>
- <li><a href="http://www.aiowireless.com/home.html">Website</a></li>
- <li><a href="#AT&amp;T">AT&amp;T</a>'s own MVNO</li>
-</ul>
-
-<h5 id="Sampling_of_prepaid_Aio_plans">Sampling of prepaid Aio plans</h5>
-
-<ul>
- <li>Aio Smart - $55/month with 2GB 3G data, $10/GB additional 3G data</li>
- <li>Aio Pro - $70/month with 7GB 3G data, $10/GB additional 3G data</li>
-</ul>
-
-<h4 id="Good2GO">Good2GO</h4>
-
-<ul>
- <li><a href="https://us.good2gomobile.com/">Website</a></li>
- <li><a href="#AT&amp;T">AT&amp;T</a> MVNO</li>
-</ul>
-
-<h5 id="Sampling_of_prepaid_Good2GO_plans">Sampling of prepaid Good2GO plans</h5>
-
-<ul>
- <li>$50/month with 1GB 3G data, $20/GB additional 3G data</li>
-</ul>
-
-<h4 id="Other_ATT_MVNOs">Other <a href="#AT&amp;T">AT&amp;T</a> MVNOs</h4>
-
-<p>These carriers do not offer additional 3G data.</p>
-
-<ul>
- <li><a href="http://goredpocket.com/">RedPocket</a></li>
- <li><a href="http://www.net10wireless.com/">Net10</a></li>
- <li><a href="http://www.straighttalk.com/">Straight Talk</a></li>
- <li><a href="https://www.airvoicewireless.com/">Airvoice</a></li>
-</ul>
-
-<h4 id="T-Mobile">T-Mobile</h4>
-
-<ul>
- <li><a href="http://www.t-mobile.com/">Website</a></li>
- <li>Nationwide coverage for 2G EDGE, limited metropolitan coverage for 3G</li>
-</ul>
-
-<h3 id="Canadian_carriers">Canadian carriers</h3>
-
-<p>The US version of the ZTE Open also work in Canada on carriers that use the Bell/Telus network, or the Rogers network. Some regional carriers like Sasktel or MTS that have UMTS should work too.</p>
-
-<p>It will not work on carriers that do not use UMTS or GSM, like Public Mobile, nor on the carriers that use the AWS band like WIND Mobile, Mobilicity, Videotron or Eastlink.</p>
-
-<h2 id="Memory_card">Memory card</h2>
-
-<h3 id="File_system">File system</h3>
-
-<p>In order to be recognized by the phone, the MicroSD card must be formatted as a FAT32 file system. If a card is new or has never been reformatted, it should work as is.</p>
-
-<h2 id="Device_revisions">Device revisions</h2>
-
-<h3 id="Revision_01">Revision 01</h3>
-
-<p>Phones produced before 09/27/2013 do not have fastboot enabled and must be updated. Normally, this would be handled by Software Updates, but since some users have reported trouble with this method, ZTE have made SD card packages available to enable fastboot on earlier devices. Flash images for:</p>
-
-<ul>
- <li><a href="http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html">Phones purchased at ZTE eBay US/Hong Kong store</a></li>
- <li><a href="http://www.ztedevices.com/support/smart_phone/cba40ed6-d3ab-44c0-bdee-3a15803dc187.html">Phones purchased at ZTE eBay UK store</a></li>
-</ul>
-
-<p>The zip file is linked under Downloads.  Note that you need to download the version with your OS revision in it (that is, download the "V1.1.0B02(for V1.0)" if you are upgrading <em>from</em> V1.0).  Once the file is downloaded and unzipped, follow the instructions in the bundled PDF to flash the package to your phone.</p>
-
-<p>Related Support Forum Questions:</p>
-
-<ul>
- <li><a href="https://support.mozilla.org/en-US/questions/971252">ZTE Open update crashes</a></li>
- <li><a href="https://support.mozilla.org/en-US/questions/967817">Why is my ZTE Open unable to update Firefox OS?</a></li>
- <li><a href="https://support.mozilla.org/en-US/questions/976414?page=3">How can I unbrick ZTE Open with adb debug Disabled?</a></li>
-</ul>
-
-<h3 id="Revision_02">Revision 02</h3>
-
-<p>Phones produced on or after 09/27/2013 are fastboot enabled by default. <strong>This includes the Hong Kong phones.</strong></p>
-
-<div class="note">
-<p><strong>Note</strong>: If you are unsure of your phone's revision, check it in <strong>Settings &gt; Device Information &gt; Software</strong>. If it is older than the following version numbers, you will need to update your phone using the above SD packages to enable fastboot.</p>
-
-<ul>
- <li>Phones from UK store:OPEN_EU_DEV_FFOS_V1.0.0B02</li>
- <li>Phones from US store:OPEN_US_DEV_FFOS_V1.0.0B02 <em>(Some phones may display this version incorrectly, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=916098#c39">bug 916098</a>.)</em></li>
-</ul>
-</div>
-
-<h2 id="Device_support">Device support</h2>
-
-<p>Once your phone has <a href="#Device_revisions">fastboot enabled</a>, you will then be able to <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install new Firefox OS/B2G</a> builds on it (start at the <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a> instructions, and treat the ZTE like it is an Inari device, for the purposes of configuration), and recover your phone if necessary, using the procedure cited in the <a href="#I_bricked_my_phone">I bricked my phone</a> section.</p>
-
-<p>If you encounter errors about setting the system time while flashing a custom build, you may need to download a <a href="http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html">modified boot image</a>.</p>
-
-<h3 id="I_bricked_my_phone">I bricked my phone</h3>
-
-<p>If you are in the process of modifying your phone and it becomes “unresponsive” you should be able to recover it using fastboot with the following simple procedure.</p>
-
-<p>First remove the USB cable and then remove the battery from the phone for 30 seconds. Then reinsert the battery and press the volume up button while holding the power button for a few seconds. Next reconnect the USB cable and run the following commands from a terminal window in the directory that contains the SD package files described above (it is worth checking for an update to the SD package before you do this):</p>
-
-<pre class="brush: bash" lang="bash">fastboot flash recovery recovery.img
-fastboot flash boot boot.img
-fastboot flash userdata userdata.img
-fastboot flash system system.img
-fastboot reboot
-</pre>
-
-<p>This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.</p>
-
-<h3 id="Headphones_not_working">Headphones not working?</h3>
-
-<p>We found that the headset jack is designed by a Chinese manufacturer that has compatibility problems with other brands of headsets that include microphones. You may have voice mute problems when you try to use headsets made by Apple, Samsung, HTC, and others. You can buy a 3.5 mm headset adapter that reverses the microphone and ground pins to avoid this problem. For more information, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812607" title="[Unagi] No microphone output through headphones when connected to a call">error 812607</a>.</p>
-
-<h3 id="Other_support_notes">Other support notes</h3>
-
-<p>Some customers have come across an Issue of FOTA updates failing to enable fastboot; this is still under investigation, and we are assisting ZTE to analyze every scenario. We will post more information as it is available.</p>
-
-<p>If your phone was unfortunately damaged during the FOTA update because of ZTE providing false or wrong update files, you can attempt to restore it to factory settings using the appropriate SD image and instructions referenced in <a href="#Revision_01">Revision 01</a>. Otherwise, send your phone back to the eBay store you purchased it from in exchange for a new one. You may contact the store owner directly via an eBay message.</p>
-
-<h2 id="See_also">See also</h2>
-
-<p><a href="https://marketplace.firefox.com/developers/dev_phone">Official Dev Phone page on Firefox Marketplace</a></p>
-
-<p><a href="http://www.movistar.co/documentos/manualesProductos/ZTE_Mozilla_Open_P752-Manual_de_Usuario.pdf">Draft User Manual [en-US]</a> - PDF</p>
diff --git a/files/es/archive/b2g_os/phone_guide/zte_open_c/index.html b/files/es/archive/b2g_os/phone_guide/zte_open_c/index.html
deleted file mode 100644
index 985a7e413e..0000000000
--- a/files/es/archive/b2g_os/phone_guide/zte_open_c/index.html
+++ /dev/null
@@ -1,226 +0,0 @@
----
-title: ZTE OPEN C
-slug: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C
-tags:
- - Dispositivos
- - Gaia
- - Guia(2)
- - Móvil
- - Open C
- - Smarthpone
- - Teléfono(2)
- - Teléfonos(2)
- - zte
-translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C
----
-<div class="summary">
-<p><span class="seoSummary">El ZTE Open C con Firefox OS es un móvil con Firefox OS mejorado por ZTE que ofrece un hardware más potente, incluyendo una cámara de 3MP y pantalla de 4 pulgadas con una calida WVGA, y viene instalado con Firefox OS 1.3. Este artículo proporciona información acerca del dispositivo, incluyendo como actualizarlo y detalles de como solucionar problemas.</span></p>
-</div>
-
-<div class="note">
-<p><strong>Nota: Las instrucciones no son válidas para el ZTE Open. Si tienes un ZTE Open debes ir al link del <a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/ZTE_OPEN">ZTE Open</a></strong></p>
-</div>
-
-<div class="note">
-<p><strong>Nota: La herramienta de actualización que es necesaria para desbloquear el dispositivo (mirar abajo) solo está disponible para Windows en este momento. Sin embargo, hay una manera más complicada de desbloquear el dispositivo en OS X o Linux que es descrita más abajo.</strong></p>
-</div>
-
-<p>El ZTE Open C es el primer dispositivo con <a href="https://blog.mozilla.org/futurereleases/2014/05/08/firefox-os-update-adds-new-features-including-dual-sim-support-and-enhancements-for-music-lovers-and-gamers/">las últimas actualizaciones de Firefox os de mediados de 2014</a> ofreciendo nuevas características incluyendo un acceso al reproductor de música desde la pantalla de bloqueo o la barra de notificaciones y compartir archivos por Bluetooth, permitiendo transferir varios archivos simultaneamente. Los usuarios pueden desplazarse por el dispositivo más rápido con las carpetas inteligentes que agrupan apicaciones o búsquedas de aplicaciones automaticamente en categorías, un sistema de scroll mejorado y aplicaciones del sistema que se inician más rápido.(ej: calendario, contactos, cámara...)</p>
-
-<h2 id="Obtén_tu_dispositivo">Obtén tu dispositivo</h2>
-
-<p>El dispositivo está disponible para comprar en ebay a un precio de 70$</p>
-
-<ul>
- <li><a href="http://item.ebay.com/291125433026">ZTE eBay US store</a></li>
- <li><a href="http://item.ebay.co.uk/171301269724">ZTE eBay UK store</a> (los clientes de Europa deben utilizar esta tienda)</li>
- <li><a href="http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&amp;item=131151681046&amp;ssPageName=STRK:MESE:IT">ZTE eBay DE store</a></li>
- <li><a href="http://www.ebay.com/itm/111326263156">ZTE eBay RU and EU stores</a></li>
-</ul>
-
-<div class="note">
-<p><strong>Nota: Clientes de Francia deben echar un vistazo a <a href="https://developer.mozilla.org/fr/Firefox_OS/Guide_Telephone_Developpeur/ZTE_OPEN_C#Acheter_l%27appareil">la página francesa de MDN para obtener sus respectivos proveedores.</a></strong></p>
-</div>
-
-<div class="note">
-<p><strong>Nota: Los dispositivos no vienen con ninguna aplicación específica de cada operador o sus servicios y están liberados para todas las variantes de los primeros clientes.</strong></p>
-</div>
-
-<h2 id="Especificaciones_del_dispositivo">Especificaciones del dispositivo</h2>
-
-<p>Puedes encontrar más información de sus especificaciones en el listado de <a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Phone_specs">especifiaciones del telefono y dispositivo.</a></p>
-
-<h2 id="Actualizando_el_software">Actualizando el software</h2>
-
-<div class="note">
-<p><strong>Nota: La comunidad francesa de Mozilla proporciona <a href="http://builds.firefoxos.mozfr.org/doc/en/devices/zte-open-c">builds actualizadas del ZTE Open C.</a></strong></p>
-</div>
-
-<p>Para actualizar el software de tu ZTE Open C, la forma más facil usar las builds disponibles en la página de ZTE. Para encontrar esto, ve <a href="http://www.ztedevice.com/support/">al centro de soporte de ZTE</a>, selecciona tu región en la columna derecha, en la columa del centro selecciona <em>Smartphones</em>, y Open C (estándar europeo) o Open C (estándar americano), dependiendo de donde viniera el dispositivo que compraste. Sólo pudimos encontrar el ZTE Open C en España a partir de Agosto del 2014. Luego clickea en <em>Seleccionar</em> para ir a la página de descarga.</p>
-
-<p>Cuandp vayas a descargar una build, deberás encontrar un PDF en un ZIP explicando como instalar la build.</p>
-
-<h2 id="Actualización_manual.">Actualización manual.</h2>
-
-<p>Si quieres actualizar Gecko o Gaia tú mismo, el proceso es un poco complicado, porque el teléfono está bloqueado por defecto (no hay permisos root). Para desbloquear tu teléfono, puedes usar <a href="http://en.comebuy.com/developer-firefox-os-open-c.html">la herramienta de actualización del Open C.</a></p>
-
-<div class="note">
-<p><strong>Nota: Esta herramienta de actualización solo está disponible para Windows por ahora.</strong></p>
-</div>
-
-<p>Si quieres desbloquear tu móvil desde OS X o Linux, esto es lo que tienes que hacer:</p>
-
-<ol>
- <li>Descarga la build desde el link de Comebuy.com</li>
- <li>Extrae la build del paso 1 y deberás encontrar un archivo boot.img dentro del zip.</li>
- <li>
- <p>Añade las siguientes líneas en  in /etc/udev/android.rules :</p>
-
- <pre>SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1350", MODE="0666", GROUP="plugdev"
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666", GROUP="plugdev"</pre>
- </li>
- <li>Para entrar en el modo fastboot usa los siguientes comandos en tu terminal:
- <pre class="brush: bash" id="comment_text_2"> adb reboot-bootloader</pre>
- </li>
- <li>Para flashear el archivo boot.img del paso 2 al dispositivo, usa este comando:
- <pre class="brush: bash" id="comment_text_2"> fastboot flash boot boot.img</pre>
- si lo prefieres, para verificar que fumciona antes de flashear, deberás usar:
-
- <pre class="brush: bash" id="comment_text_2"> fastboot boot boot.img </pre>
- </li>
- <li>Para reiniciar el dispositivo usa:
- <pre class="brush: bash" id="comment_text_2"> fastboot reboot </pre>
- </li>
- <li>Ahora deberás tener el móvil desbloqueado y funcionando:
- <pre class="brush: bash" id="comment_text_2">adb shell getprop ro.secure</pre>
- deberás volver al paso 0.</li>
-</ol>
-
-<h3 id="Actualizando_Gecko_y_Gaia">Actualizando Gecko y Gaia</h3>
-
-<p>Una vez que tu móvil esté en modo fastboot, podrás <a href="https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS">construir e instalar una nueva versión de Firefox OS/B2G</a> y los componenetes Gecko y Gaia.</p>
-
-<ol>
- <li>Comienza en <a href="https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites">instrucciones</a>, y trata al Open C como al Flame en términos de configuración: esto es debido a que el Flame y el Open c están basados en Android Jellybean.
-
- <div class="warning">
- <p><strong>Cuidado: Esto no significa que puedas flashear una imagen del Flame. Hacer esto provocará un brick permanente en tu móvil que no podrá ser solucionado.</strong></p>
- </div>
- </li>
- <li>Durante el paso de configuración, necesitarás un archivo manifest para el Open C. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1016867">Descargalo desde aquí </a>y guardalo en cualquier lugar de tu disco local como openc.xml.</li>
- <li>Limpia el  directorio B2G, borrando los directorios innecesarios:
- <pre class="brush: bash" id="comment_text_2">rm -rf objdir-gecko/ out/ backup-flame/</pre>
- </li>
- <li><u>Opcional:</u> Antes de continuar, puedes escoger la versión de Gecko y Gaia que quieres construir. Para hacer eso, abre el archivo openc.xml, localiza las etiquetas gecko git, gaia y gonk-misc, y modifica el valor de su revisión para coincidir con la versión que quieres. Ejemplo: puedes construir la versión 2.2 de Gecko y Gaia, con lo siguiente:
- <pre class="brush: xml">&lt;project name="gecko.git" path="gecko" remote="mozillaorg" revision="v2.2"/&gt;
-(...)
-&lt;project name="gaia" path="gaia" remote="mozillaorg" revision="v2.2"/&gt;
-&lt;project name="gonk-misc" path="gonk-misc" remote="b2g" revision="v2.2"/&gt;</pre>
- </li>
- <li>Ahora configura Firefox OS con los siguientes comandos: (Nota: el directorio no puede contener espacios, de otra manera no funcionará)
- <pre class="brush: bash language-html">./config.sh flame /PATH/TO/openc.xml</pre>
- </li>
- <li>Puedes construir el componente Gecko y flashearlo en tu teléfono usando lo siguiente:
- <pre class="brush: bash language-html">./build.sh gecko
-./flash.sh gecko</pre>
-
- <div class="note">
- <p><strong>Nota: El último paso del comando flash.sh es para reiniciar el dispositivo, pero la secuencia de inicio no se completará (se congelará cuando salga el zorro animado). No te preocupes, esto es normal.</strong></p>
- </div>
- </li>
- <li>Ahora puedes actualizar Gaia, para que la nueva versión de Gecko funcione con la nueva versión de Gaia en tu dispositivo :
- <pre class="brush: bash language-html">cd gaia
-make reset-gaia</pre>
- </li>
- <li>Finalmente, puede que necesites <a href="https://developer.mozilla.org/es/Firefox_OS/Guia_para_desarrollador_de_telefonos_moviles_Boot_to_Gecko_developer/ZTE_OPEN_C$edit#Font_fix">actualizar las fuentes</a>.</li>
-</ol>
-
-<div class="warning">
-<p><strong>Cuidado: Intentar flashear una imagen del Flame dejará tu móvil brickeado.</strong></p>
-</div>
-
-<p> </p>
-
-<h3 id="Actualizando_Gaia">Actualizando Gaia</h3>
-
-<p> </p>
-
-<p>Para actualizar solo Gaia, dejando Gecko solo, necesitas clonar el repositorio de Gaia desde Github, luego flashealo en tu dispositivo.</p>
-
-<ol dir="ltr">
- <li>Asegurate de que tienes <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB">ADB </a>instalado.</li>
- <li>Ve a <a href="https://github.com/mozilla-b2g/gaia">https://github.com/mozilla-b2g/gaia, </a>luego haz click en el botón "fork", situado en la esquina derecha arriba para forkearlo en tu repositorio.</li>
- <li>Clona el código desde tu repositorio forkeado en tu escritorio ejecutando lo siguiente en tu terminal:
- <pre class="brush: bash language-html">git clone https://github.com/your-github-username/gaia.git</pre>
- </li>
- <li><code>Usa el comando cd en el directorio resultante</code>.</li>
- <li>En tu teléfono, <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">activa la depuración remota</a> (elige ADB y la opción Devtools)</li>
- <li>Ahora conecta tu móvil al ordenador vía USB; asegurate de que es reconocido metiendo dispositivos adb en tu terminal.</li>
- <li>Ejecuta los siguientes comandos para reiniciar tu móvil y actualiza con el nuevo código fuente de Gaia.
- <pre class="brush: bash language-html">make reset-gaia</pre>
- </li>
-</ol>
-
-<h3 id="Arreglar_fuentes">Arreglar fuentes</h3>
-
-<p>Después de actualizar Gecko/Gaia, puede que encuentres diferencias entre las fuentes de Gecko y Gaia. Para arreglar esto, descarga <a href="https://people.mozilla.org/%7Emwu/fira-font-update.zip">nuestra actualización de fuentes</a>, extraelo, accede al directorio creado tras la extracción, y ejecuta el script flash.sh.                                                                                                      <br>
- <br>
- Otra opción es usar <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/update_system_fonts.sh">el script para actualizar las fuentes del sistema</a>, que descarga y flashea las fuentes del sistema automaticamente.</p>
-
-<h3 id="Imágenes_del_sistema">Imágenes del sistema</h3>
-
-<p>Si no quieres compilar Gecko y Gaia por ti mismo, puedes usar una imágen compabitle del Flame ofrecida por Mozilla. Siempre que tu teléfono haya sido desbloqueado con la herramienta de ZTE, puedes flashear una imágen del sistema desde el <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/">directorio de imágenes de prueba (nightly builds).</a> Este proceso borrará todos tus datos; para hacer una copia de seguridad de tu perfil de usuario usa <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/backup_restore_profile.py">este script </a>antes de flashear el nuevo sistema.</p>
-
-<p>Elige tu sabor favorito entre <em>mozilla-centra, aurora, o vanilla</em> y elige el entorno Gecko. Todas los directorios de imagen son llamados como "2014-10-06-xx-yy-zz-mozilla-<em>your_flavor</em>-<em>device_codename</em>" así que necesitarás buscar "2014-10-06-xx-yy-zz-mozilla-your_flavor-<strong>flame</strong>". La imágen de B2G que está dentro del directorio específico de Gecko tiene una versión y lenguaje básico, "b2g-34.0a2.en-US.android-arm.tar.gz" es la versión Gecko 34 y el lenguaje es inglés americano por defecto, descarga "Gaia.zip" si quieres actualizar Gaia también.</p>
-
-<p>Para flashear estos archivos en el dispositivo necesitarás un script llamado <strong>shallow_flash</strong>; puedes encontrarlo <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/shallow_flash.sh">aquí</a>, descarga el script y ejecútalo vía terminal.</p>
-
-<p>En Mac y Cygwin</p>
-
-<pre class="brush: bash language-html">./shallow_flash.sh -g gaia.zip -G b2g-XX.XX.en-US.android-arm.tar.gz</pre>
-
-<p>En Linux</p>
-
-<pre class="brush: bash language-html">./shallow_flash.sh -ggaia.zip -Gb2g-XX.XX.en-US.android-arm.tar.gz</pre>
-
-<p> </p>
-
-<h2 id="He_bloqueado_(brick)_mi_teléfono">He bloqueado (brick) mi teléfono</h2>
-
-<p>Si tu equipo no responde, deberías desbloquearlo (unbrick) utilizando las builds oficiales y las intrucciones para flashearlo vía tarjeta SD, en la página oficial de ZTE.</p>
-
-<ul>
- <li><a href="http://www.ztedevices.com/support/smart_phone/65229ec9-3165-424e-a7dd-3759356325fd.html?type=software">ZTE Open C (Ebay) - España</a></li>
- <li><a href="http://www.ztedevices.com/support/smart_phone/92f36c98-9cc0-42d6-8f23-8834b4a6849c.html?type=software">ZTE Open C (Ebay) - UK Estandar Americano</a></li>
- <li><a href="http://www.ztedevices.com/support/smart_phone/46d40c52-bed4-4cdc-9df9-01719cdf0a70.html?type=software">ZTE Open C (Ebay) - UK Estándar Europeo</a></li>
- <li><a href="http://www.ztefrance.com/assistance/">ZTE French Website - Francés</a></li>
-</ul>
-
-<p>Sin embargo, si la partición de tu sistema es defectuosa, tendrás que repararlo usando directamente el acceso fastboot. Asumiendo que estás utilizando Ubuntu GNU/Linux:</p>
-
-<ol>
- <li>Descarga la<a href="download.ztedevice.com/UpLoadFiles/product/550/4443/soft/2014061214153128.zip"> imágen del sistema de recuperación </a>desde la página de soporte de ZTE y extrae el archivo update.zip en tu escritorio.</li>
- <li>Extrae el archivo recovery.img desde update.zip.</li>
- <li>Crea un directorio small-system/ en el escritorio y copia dentro el archivo <strong>build.prop</strong>, y los directorios <strong>lib/ </strong>y <strong>bin/ </strong>que encontrarás en el archivo update.zip.</li>
- <li>Instala el paquete <code>android-tools-fsutils</code> ( o instala <code><a href="http://forum.xda-developers.com/attachment.php?attachmentid=2431494&amp;d=1386115975">ext4_utils</a></code> desde la fuente en <a href="http://forum.xda-developers.com/galaxy-s2/general/ref-unpacking-repacking-stock-rom-img-t1081239">XDAdevelopers</a>.</li>
- <li>Crea tu  <code>small-system.img</code>:
- <pre class="brush: bash language-html">./make_ext4fs -l 40M small-system.img ~/Desktop/small-system/</pre>
- </li>
- <li>Mueve el archivo small-system.img a tu escritorio y enciende el dispositivo en modo <em>fastboot</em> presionando el botón <em>power y el botón de bajar volumen</em> a la vez.</li>
- <li>Conecta el dispositivo a tu ordenador (los dispositivos fastboot se deberían mostrar) y flasea small-system.img
- <pre class="brush: bash language-html">fastboot flash system small-system.img</pre>
- </li>
- <li>Entonces enciende el móvil en modo <em>recovery</em> usando recovery.img:
- <pre class="brush: bash language-html">fastboot boot recovery.img</pre>
- </li>
- <li>En el menú de booteo, selecciona la entrada <em>apply udate from ADB</em> (usando <em>volúmen arriba</em> y <em>volumen abajo</em> para navegar y <em>power</em> para seleccionar) y entonces:
- <pre class="brush: bash language-html">adb sideload update.zip</pre>
- </li>
- <li>
- <p class="brush: bash language-html">Al finalizar el proceso, sólo tienes que reiniciar tu dispositivo.</p>
- </li>
-</ol>
-
-<div class="note">
-<p><strong>Nota: Puedes hacer <a href="https://support.mozilla.org/en-US/questions/1003136">referencia a esta entrada de soporte </a>para más información.</strong></p>
-</div>
diff --git a/files/es/archive/b2g_os/platform/gaia/hacking/index.html b/files/es/archive/b2g_os/platform/gaia/hacking/index.html
deleted file mode 100644
index 22599068e9..0000000000
--- a/files/es/archive/b2g_os/platform/gaia/hacking/index.html
+++ /dev/null
@@ -1,226 +0,0 @@
----
-title: Hackeando Gaia
-slug: Archive/B2G_OS/Platform/Gaia/Hacking
-translation_of: Firefox_OS/Developing_Gaia
----
-<div class="warning">
-<p><span id="result_box" lang="es"><span class="hps">Esta página</span> <span class="hps">está dirigida a</span> <span class="hps">desarrolladores de</span> <span class="hps">Gaia</span></span>. Si usted está buscando información acerca de cómo construir y ejecutar Firefox OS, debería consultar la página de <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Construyendo e Instalando Firefox OS</a> en su lugar.</p>
-</div>
-
-<p>Gaia es la colección de <a href="https://developer.mozilla.org/apps" rel="nofollow">aplicaciones web</a> que forman la interfaz de <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>. Cualquier cosa que usted vea en la pantalla del Firefox OS es creada usando tecnologías web abiertas. Esto incluye la pantalla de inicio y todas las aplicaciones predeterminadas.</p>
-
-<h2 id="Obteniendo_el_código_fuente">Obteniendo el código fuente</h2>
-
-<p>Para obtener el código fuente de Gaia, <a href="https://github.com/mozilla-b2g/gaia" title="https://github.com/mozilla-b2g/gaia">fork us on GitHub</a> and then clone your fork using <a href="http://git-scm.com/" title="http://git-scm.com/">git</a>.</p>
-
-<pre>$ git clone https://github.com/mozilla-b2g/gaia.git</pre>
-
-<h2 id="Ejecutando_Gaia">Ejecutando Gaia</h2>
-
-<p>Usted puede ejecutar Gaia en el escritorio, en Firefox, o en un un dispositivo móvil compatible.</p>
-
-<h3 id="B2G_desktop">B2G desktop</h3>
-
-<p>B2G desktop es una versión de escritorio de la aplicación de ejecución utilizada en los dispositivos Firefox OS, la cual puedes utilizar para correr Gaia en tu computadora de escritorio.</p>
-
-<p>Puedes descargar una versión nightly de B2G desktop desde <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/">aquí</a>.Dependiendo de qué versión estés utilizando, puede que quieres una versión específica de latest-mozilla-b2g18. Hay versiones para Linux (32 bits y 64 bits), Mac OS X y Windows.</p>
-
-<p>Las versiones Nightly tienen empaquetadas con ellas una versión reciente de Gaia. Una vez que hayas descargado el archivo, todo lo que necesitas es extraerlo en una carpeta y correr el binario de b2g desde la carpeta extraída.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Las versiones de 64-bits de Linux no funcionan correctamente con algunas distribuciones, se trata del <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812484" title="FIXED: [Desktop Build] Nightly 64-bit Linux build broken">error 812484</a>. Si tienes problemas trata con una versión de 32-bits en lugar de una de 64-bits</p>
-</div>
-
-<pre>$ cd b2g
-$ ./b2g</pre>
-
-<p>Para correr B2G con tu propia versión de Gaia para propósitos de desarrollo primero necesitas una construir una versión de tu copia:</p>
-
-<pre>$ cd /path/to/gaia
-$ DEBUG=1 make</pre>
-
-<p>Esto generara un directorio en tu carpeta gaia llamada profile. La parte DEBUG correo Gaia como aplicaciones locales en servidor-web interno, en lugar las aplicaciones empaquetadas por defecto, estas tienen que ser re-empaquetadas después de cada cambio. Puedes encontrar la ruta del perfil de directorio tomando un vistazo a la última línea de salida después de ejecutar el comando de abajo, que debería verse así:</p>
-
-<pre>Profile Ready: please run [b2g|firefox] -profile /path/to/gaia/profile</pre>
-
-<p>Puedes entonces correr B2G Desktop con tu perfil generado como se indica abajo:</p>
-
-<pre>$ ./b2g /path/to/gaia/profile</pre>
-
-<p>Si quieres puedes compilar tu propio B2G desktop desde el código.</p>
-
-<h3 id="Usando_Gaia_en_Firefox">Usando Gaia en Firefox</h3>
-
-<p>It's also possible to run Gaia inside of Firefox. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers. See <a href="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox" title="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox">Using Gaia in Firefox</a> for details on how to do this.</p>
-
-<h3 id="Usando_Gaia_en_un_dispositivo">Usando Gaia en un dispositivo</h3>
-
-<p>If you have a compatible mobile device you can also run Gaia by flashing it with Firefox OS. See <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a> for details on how to do this. We also have documentation for <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">how to test Firefox OS</a>.</p>
-
-<h2 id="Unidad_de_pruebas">Unidad de pruebas</h2>
-
-<p>See <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">Gaia unit tests</a> for documentation about how to create and run unit tests for Gaia.</p>
-
-<h2 id="Presentando_errores">Presentando errores</h2>
-
-<p>Bugs are filed on Bugzilla under <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Firefox OS&amp;component=Gaia&amp;resolution=---" rel="nofollow">Firefox OS &gt; Gaia</a>. File a new bug <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox OS" title="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox OS">under the Gaia component</a> (or one of the sub-components).</p>
-
-<h2 id="Contribuyendo_a_Gaia">Contribuyendo a Gaia</h2>
-
-<p>Mozilla depends on contributions from the open source community to help develop Gaia apps and we'd love you to get involved.</p>
-
-<p>Some great places to find some bugs to start hacking on:</p>
-
-<ul>
- <li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=component:gaia%20sw:polish%20@nobody;list_id=4566236" rel="nofollow">Unowned Gaia polish bugs on Bugzilla</a></li>
- <li><a href="http://www.joshmatthews.net/bugsahoy/?b2g=1" rel="nofollow">Mentored bugs</a></li>
-</ul>
-
-<h3 id="Estilos_de_codificación_básicos">Estilos de codificación básicos</h3>
-
-<ul>
- <li>Background:
- <ul>
- <li><a href="/en-US/docs/Developer_Guide/Coding_Style#General_practices" title="Developer_Guide/Coding_Style#General_practices">Coding Style: General practices</a></li>
- <li><a href="/en-US/docs/Developer_Guide/Coding_Style#JavaScript_practices" title="Developer_Guide/Coding_Style#JavaScript_practices">Coding Style: JavaScript practices</a></li>
- <li><a href="/en-US/docs/Developer_Guide/Coding_Style#Naming_and_formatting_guide" title="Developer_Guide/Coding_Style#Naming_and_formatting_guide">Coding Style: Naming and formatting guide</a></li>
- </ul>
- </li>
- <li>Make sure HTML files are declared <code>&lt;!DOCTYPE html&gt;</code> (that is, as HTML5 documents). If you don't, Internet Explorer 9 and later will load them in compatibility mode.</li>
- <li>Include the <code>"use strict";</code> statement (just like that, including the quotes) to the top of your JavaScript files to put them into strict mode.</li>
- <li>Always use two spaces for indentation, rather than tabs.</li>
- <li>Please use line breaks to separate logical bits of code!</li>
- <li>Multi-word file names should use the "underscore" character to separate words, <code>like_this.js</code>.</li>
- <li>Use single quotes instead of double quotes for strings.</li>
-</ul>
-
-<h4 id="Reglas_Adicionales">Reglas Adicionales</h4>
-
-<p>Mal:</p>
-
-<pre>if (expression) doSomething();
-</pre>
-
-<p>Correcto:</p>
-
-<pre>if (expression) {
- doSomething();
-}
-</pre>
-
-<p>If you're working on the system app, check out the guidance listed <a href="https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ" title="See_here_for_some_rules._https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">here</a>.</p>
-
-<p>Before submitting a patch we recommend you run <a href="http://closure-linter.googlecode.com/svn/trunk/closure_linter/gjslint.py" title="http://closure-linter.googlecode.com/svn/trunk/closure_linter/gjslint.py">gjslint</a> on it to check for any style errors:</p>
-
-<pre>gjslint --nojsdoc my_file.js</pre>
-
-<h3 id="Enviando_un_parche">Enviando un parche</h3>
-
-<p>First file or assign a bug to yourself on <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Firefox OS&amp;component=Gaia&amp;resolution=---" title="https://bugzilla.mozilla.org/buglist.cgi?product=Firefox OS&amp;component=Gaia&amp;resolution=---">Bugzilla</a>, you'll need a Bugzilla account.</p>
-
-<p>Then create a branch on your fork of Gaia:</p>
-
-<pre>$ git branch branchname
-$ git checkout branchname</pre>
-
-<p>Commit your changes:</p>
-
-<pre>$ git add /file/to/add
-$ git commit -m "Bug XXXXX - Fix the broken Gaia and save the world"</pre>
-
-<p>Push your branch:</p>
-
-<pre>$ git push origin branchname</pre>
-
-<p>Send a pull request by navigating to the branch in your fork on GitHub and finding the pull request button.</p>
-
-<p>To request a review of your patch, add an attachment to the bug in Bugzilla referencing the URL of the pull request and set the review ("r") flag to "?" and enter the bugzilla ID of one of the <a href="https://wiki.mozilla.org/Modules/FirefoxOS" title="https://wiki.mozilla.org/Modules/FirefoxOS">module owners and peers</a>. The <a href="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/" title="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/">Github tweaks for bugzilla extension on AMO</a> can help automate this process by automatically creating the attachment and adding it to the bug; you will still need to set the review flag on Bugzilla.</p>
-
-<p>The reviewer may ask you to make some changes. Once they're is happy with your patch, they will merge it into the master branch for you. Before they do this they would prefer it if you could squash all your changes into a single commit, so your contribution can be tracked easily.</p>
-
-<p>The person who merge the commit (usually the reviewer) would add a <code>r=</code> flag in the comment of the merge commit.</p>
-
-<h2 id="Opciones_de_Make">Opciones de Make</h2>
-
-<p>There are many undocumented nor unsupported environment variable presists in the Makefile. Do not depend on them as they may be removed in the future.</p>
-
-<h3 id="Default">Default</h3>
-
-<pre>make</pre>
-
-<p>Make a profile with packaged apps, lunachable by B2G Desktop and can be pushed to device.</p>
-
-<h3 id="Debug_make">Debug make</h3>
-
-<pre>DEBUG=1 make</pre>
-
-<p>The <code>DEBUG</code> part runs Gaia as hosted apps on a built-in web server, rather than the default packaged apps which have to be re-packaged after every change. Launch the profile with the latest Firefox Nightly will also give you nice B2G specific panels on the Firefox Developer Tools.</p>
-
-<h3 id="Push_to_device">Push to device</h3>
-
-<pre>make install-gaia
-
-make reset-gaia</pre>
-
-<p>With <code>adb</code> (Android Debug Bridge) setup, these make targets will push Gaia to the device. <code>reset-gaia</code> will purge the profile and all other webapps before pushing the new Gaia copy.</p>
-
-<h3 id="Selective_build">Selective build</h3>
-
-<pre>APP=system make
-
-APP=system make install-gaia</pre>
-
-<p>With a profile already exists, <code>APP</code> allow you to specify which app to re-package, instead of re-pack and re-push all the Gaia apps.</p>
-
-<h3 id="High_resolution_image_assets">High resolution image assets</h3>
-
-<pre>GAIA_DEV_PIXELS_PER_PX=1.5 make</pre>
-
-<p>When packaging the app, replace images with their <code>*@1.5x.(gif|jpg|png)</code> ones if such image exists.</p>
-
-<p>Gaia is currently targetting HBGA (320x240), qHD (540×960) and WVGA (480×800) only; use GAIA_DEV_PIXELS_PER_PX to make sure the images looks sharp on qHD and WVGA devices. see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel" title="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel">A pixel is not a pixel</a> for more information about device pixels per css pixels.</p>
-
-<h3 id="Script_compression_and_optimization">Script compression and optimization</h3>
-
-<pre>GAIA_OPTIMIZE=1 make</pre>
-
-<p>(TBA)</p>
-
-<h3 id="App_selection">App selection</h3>
-
-<pre>GAIA_APP_SRCDIRS=apps test_apps showcase_apps</pre>
-
-<p>(TBA)</p>
-
-<h3 id="App_selection_shortcuts">App selection shortcuts</h3>
-
-<pre>PRODUCTION=1
-DOGFOOD=1</pre>
-
-<p>(TBA)</p>
-
-<h3 id="Preference_shortcuts">Preference shortcuts</h3>
-
-<pre>NOFTU=1
-REMOTE_DEBUGGER=1</pre>
-
-<p>(TBA)</p>
-
-<h3 id="Device_webapp_installation_partation_selection">Device webapp installation partation selection</h3>
-
-<pre>B2G_SYSTEM_APPS=1</pre>
-
-<p>(TBA)</p>
-
-<h3 id="Distribution_and_market_customization_build">Distribution and market customization build</h3>
-
-<pre>GAIA_DISTRIBUTION_DIR=./dir</pre>
-
-<p>Read <a href="https://wiki.mozilla.org/B2G/MarketCustomizations" title="https://wiki.mozilla.org/B2G/MarketCustomizations">Customization Overview</a> for detail.</p>
-
-<h2 id="Contacting_the_Team">Contacting the Team</h2>
-
-<ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-gaia" rel="nofollow">Gaia Mailing List</a></li>
- <li>#gaia IRC channel on irc.mozilla.org</li>
-</ul>
diff --git a/files/es/archive/b2g_os/platform/gaia/index.html b/files/es/archive/b2g_os/platform/gaia/index.html
deleted file mode 100644
index f8664fd4ee..0000000000
--- a/files/es/archive/b2g_os/platform/gaia/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Gaia
-slug: Archive/B2G_OS/Platform/Gaia
-tags:
- - '#B2G #gaia'
-translation_of: Archive/B2G_OS/Platform/Gaia
----
-<p>Gaia es la capa de interfaz de usuario de <a href="/es/docs/Mozilla/Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>. Todo lo que aparece en la pantalla luego que Firefox OS inicia es presentado por Gaia, incluyendo la pantalla de bloqueo, el marcador y otras aplicaciones. Gaia está completamente escrito en <a href="/en-US/docs/en-US/HTML" title="/en-US/docs/en-US/HTML">HTML</a>, <a href="/es/docs/CSS" title="/en-US/docs/CSS">CSS</a>, y <a href="/es/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a>. Su única interfaz al sistema operativo y hardware subyacentes es a través de interfaces web estándar (Web API), implementadas por <a href="/es/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>.</p>
-<p>Por su diseño, Gaia puede ser ejecutado no solo en dispositivos Firefox OS, sino en otros sistemas operativos y otros navegadores (aunque posiblemente con funcionalidad reducida dependiendo de las capacidades del navegador).</p>
-<p>Aplicaciones de terceros instaladas junto a Gaia pueden ser cargados por Gaia.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="Documentation" name="Documentation">Documentación sobre Gaia</h3>
- <dl>
- <dt>
- <a href="/es/docs/Mozilla/Firefox_OS/Gaia/Introduction_to_Gaia" title="en-US/docs/Mozilla/Boot_to_Gecko/Introduction to Gaia">Introducción a Gaia</a></dt>
- <dd>
- Gaia es la intefaz de usuario para dispositivos Firefox OS; Es simplemente una aplicación web corriendo en la parte superior de Firefox OS. Esta guia te introducirá a Gaia.</dd>
- <dt>
- <a href="/es/docs/Mozilla/Firefox_OS/Gaia_hacking_guide" title="en-US/docs/Mozilla/Boot_to_Gecko/Gaia hacking guide">Guía para hackear Gaia</a></dt>
- <dd>
- La guía para hackear y modificar la interfaz de Gaia.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Gaia" title="/en-US/docs/tag/B2G">Ver todas...</a></span></p>
- </td>
- <td>
- <h3 id="Community" name="Community">Obteniendo ayuda de la comunidad</h3>
- <p>Si estas trabajando en Gaia, o desarrollando aplicaciones para Gaia, estos son los recursos de la comunidad para ayudarte</p>
- <ul>
- <li>Consulta el foro de Boot to Gecko: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-gaia"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia/feeds"> como RSS</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Haz tus preguntas en el canal Gaia del irc de Mozilla: <a href="irc://irc.mozilla.org/gaia" title="irc://irc.mozilla.org/gaia">#gaia</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">No olvides como hacer adecuadamente tus preguntas...</a></span></p>
- <br>
- <h3 id="Related_Topics" name="Related_Topics">Articulos relacionados</h3>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/HTML" title="en-US/docs/HTML">HTML</a></li>
- <li><a href="/en-US/docs/CSS" title="en-US/docs/CSS">CSS</a></li>
- <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li>
- </ul>
- <h3 id="Recursos">Recursos</h3>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Architecture" title="/en-US/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture overview</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p><br>
-  </p>
diff --git a/files/es/archive/b2g_os/platform/gaia/introduction_to_gaia/index.html b/files/es/archive/b2g_os/platform/gaia/introduction_to_gaia/index.html
deleted file mode 100644
index 14c7fb3e16..0000000000
--- a/files/es/archive/b2g_os/platform/gaia/introduction_to_gaia/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Introducción a Gaia
-slug: Archive/B2G_OS/Platform/Gaia/Introduction_to_Gaia
-translation_of: Archive/B2G_OS/Platform/Gaia/Introduction_to_Gaia
----
-<p>Gaia es la interfaz de usuario de Boot to Gecko (B2G); es un conjunto de aplicaciones Web que se ejecutan en un dispositivo B2G, emulador, repertorio de escritorio, o versión de Firefox. Todo lo que necesitas conocer para añadir aplicaciones o realizar cambios a Gaia son tecnologías Web como <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>, <a href="/en/HTML" title="en/HTML">HTML</a>, and <a href="/en/CSS" title="en/CSS">CSS</a>.</p>
-<h2 id="Pantalla_de_bloqueo_de_Gaia">Pantalla de bloqueo de Gaia</h2>
-<p>Predeterminadamente, la pantalla de bloqueo está habilitada, y el PIN por defecto para desbloquear el equipo es "0000". Es muy probable que esta característica cambie con el tiempo mientras es optimizada.</p>
-<h2 id="La_interfaz_por_defecto_de_Gaia">La interfaz por defecto de Gaia</h2>
-<p>La interfaz por defecto en Gaia es similar a lo que se observa en la mayoría de los teléfonos inteligentes, como se muestra aquí.</p>
-<p><a href="/@api/deki/files/6276/=screenshot.png" title="screenshot.png"><img alt="Gaia Home" class="internal lwrap" src="/files/4601/device-2013-01-24-163623.png" style="width: 320px; height: 480px; float: left;"></a>Esta imagen es evidentemente de una versión preliminar del sistema operativo, con iconos de relleno (y algunas aplicaciones de prueba). La barra de estado en la parte superior indica la red en la que el teléfono está operando (o "No hay tarjeta SIM" para un dispositivo sin ninguna red telefónica), la intensidad de la red, la intensidad de la señal WiFi, nivel de batería, y la hora actual.</p>
-<p>La sección media de la pantalla muestra los iconos de las aplicaciones; al deslizar hacia la izquierda y derecha se desplaza a través de pantallas de iconos.</p>
-<p>En la parte inferior de la pantalla se localiza una barra con espacio para hasta siete de las aplicaciones más usadas. Puedes arrastrar y soltar aplicaciones a esta barra desde la sección media.</p>
diff --git a/files/es/archive/b2g_os/platform/index.html b/files/es/archive/b2g_os/platform/index.html
deleted file mode 100644
index 1e6dda531b..0000000000
--- a/files/es/archive/b2g_os/platform/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: La Plataforma Firefox OS
-slug: Archive/B2G_OS/Platform
-translation_of: Archive/B2G_OS/Platform
----
-<p>La Plataforma Firefox OS esta formada por varios componenetes. No obstante no es necesario comprender su arquitectura para desarrollar aplicaciones que funcionen en Firefox OS, si estás trabajando en el desarrollo o adaptación de esta plataforma, o simplemente estás curioseando, esta documentación puede resultar de tu interés.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">DocumentaCion sobre la plataforma Firefox OS</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Introduction" title="en-US/docs/Mozilla/Firefox_OS/Introduction">Introducción al Firefox OS</a></dt>
- <dd>
- Información introductoria sobre qué y cómo trabaja Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS/Building and installing Boot to Gecko">Instalación y Montaje de Firefox OS</a></dt>
- <dd>
- Una guía para Instalar y Montar Firefox OS en terminales compatibles. Esta guía además incluye un emulador para poder arrancar Firefox OS en un PC.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></dt>
- <dd>
- Documentacion sobre Gaia, la interfaz de usuario para los dispositivos Firefox OS; se trata de una Aplicación Web que se ejecuta en el propio dispositivo plataformado con Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></dt>
- <dd>
- Documentación sobre Gonk, la capa del sistema operativo sobre el que corre Gaia. Está formado por un nucleo de Linux (Linux kernel) y una capa de drivers que permiten la comunicación entre Gecko y el propio dispositivo.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Gecko" title="/en-US/docs/Mozilla/Gecko">Gecko</a></dt>
- <dd>
- <span id="result_box" lang="es"><span class="hps">Gecko</span> <span class="hps">es la capa</span> <span class="hps">de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">que proporciona</span> <span class="hps">a la plataforma los mismos</span><span class="hps"> estándares web</span> <span class="hps">abiertos,</span> <span class="hps">utilizados por</span> <span class="hps">Firefox</span> <span class="hps">y</span> <span class="hps">Thunderbird,</span> <span class="hps">así como muchas</span> <span class="hps">otras aplicaciones.</span></span></dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">Feature support chart</a></dt>
- <dd>
- A chart of which features are available in which types of Firefox OS builds.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture">Firefox OS architecture overview</a></dt>
- <dd>
- An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture">Firefox OS apps architecture</a></dt>
- <dd>
- An overview of the application model on Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">Testing Firefox OS</a></dt>
- <dd>
- A guide to testing Firefox OS, including information about creating automated tests.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Porting" title="/en-US/docs/Mozilla/Firefox_OS/Porting">Porting Firefox OS</a></dt>
- <dd>
- Information about how to port Firefox OS to new devices.</dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt>
- <dd>
- How to customize the build and execution of Firefox OS by changing the <code>.userconfig</code> file.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">View All...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
- <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
- <ul>
- <li>Consult the Boot to Gecko project forum: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> como RSS</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Ask your question on Mozilla's Boot to Gecko IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <br>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related topics</h2>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/HTML" title="en-US/docs/HTML">HTML</a></li>
- <li><a href="/en-US/docs/CSS" title="en-US/docs/CSS">CSS</a></li>
- <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li>
- </ul>
- <h2 class="Tools" id="Resources">Resources</h2>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/Schedule_Roadmap" title="https://wiki.mozilla.org/B2G/Schedule_Roadmap">Roadmap</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart">Feature support chart</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/es/archive/b2g_os/platform/settings_list/index.html b/files/es/archive/b2g_os/platform/settings_list/index.html
deleted file mode 100644
index d5397affd8..0000000000
--- a/files/es/archive/b2g_os/platform/settings_list/index.html
+++ /dev/null
@@ -1,709 +0,0 @@
----
-title: Firefox OS settings list
-slug: Archive/B2G_OS/Platform/Settings_list
-translation_of: Archive/B2G_OS/Platform/Settings_list
----
-<div class="summary">
- <p><span class="seoSummary">Firefox OS offers a number of settings that configure the device and its built-in features. These settings can be accessed by certified apps using the <a href="/en-US/docs/WebAPI/Settings" title="/en-US/docs/WebAPI/Settings">Settings API</a>.</span></p>
-</div>
-<div class="note">
- <p><strong>Note:</strong> Because of differences in features provided by different devices and different releases of Firefox OS, this list may or may not be an exact match for what's available on every device.</p>
-</div>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Setting name</th>
- <th scope="col">Type</th>
- <th scope="col">Default value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>accessibility.invert</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>accessibility.screenreader</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>alarm.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>app.reportCrashes</code></td>
- <td>String</td>
- <td><code>ask</code></td>
- </tr>
- <tr>
- <td><code>app.update.interval</code></td>
- <td>Number</td>
- <td>86400</td>
- </tr>
- <tr>
- <td><code>audio.volume.alarm</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.bt_sco</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.dtmf</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.content</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.notification</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.tts</code></td>
- <td>Number</td>
- <td>15</td>
- </tr>
- <tr>
- <td><code>audio.volume.telephony</code></td>
- <td>Number</td>
- <td>5</td>
- </tr>
- <tr>
- <td><code>bluetooth.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>bluetooth.debugging.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>camera.shutter.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>clear.remote-windows.data</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.grid.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.oop.disabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.fps.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.ttl.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.log-animations.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.paint-flashing.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>debug.peformancedata.shared</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>deviceinfo.firmware_revision</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.hardware</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.os</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.platform_build_id</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.platform_version</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.software</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>deviceinfo.update_channel</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>gaia.system.checkForUpdates</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>general.useragent.updates.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>geolocation.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.english</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.dvorak</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.otherlatins</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.cyrillic</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.arabic</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.hebrew</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.zhuyin</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.pinyin</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.greek</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.japanese</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.polish</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.portuguese</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.layouts.spanish</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.vibration</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.clicksound</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>keyboard.autocorrect</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>keyboard.wordsuggestion</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>keyboard.current</code></td>
- <td>String</td>
- <td><code>en</code></td>
- </tr>
- <tr>
- <td><code>language.current</code></td>
- <td>String</td>
- <td><code>en-US</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.passcode-lock.code</code></td>
- <td>String</td>
- <td><code>0000</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.passcode-lock.timeout</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>lockscreen.passcode-lock.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.notifications-preview.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.locked</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>lockscreen.unlock-sound.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>mail.sent-sound.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>message.sent-sound.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>operatorvariant.mcc</code></td>
- <td>String</td>
- <td><code>0</code></td>
- </tr>
- <tr>
- <td><code>operatorvariant.mnc</code></td>
- <td>String</td>
- <td><code>0</code></td>
- </tr>
- <tr>
- <td><code>ril.iccInfo.mbdn</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.sms.strict7BitEncoding.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.cellbroadcast.searchlist</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>debug.console.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>phone.ring.keypad</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>powersave.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>powersave.threshold</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>privacy.donottrackheader.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.callwaiting.enabled</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.cf.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.data.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.data.apn</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.carrier</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.defaultServiceId</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>ril.data.passwd</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.httpProxyHost</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.httpProxyPort</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>ril.data.mmsc</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.mmsproxy</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.data.mmsport</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>ril.data.roaming_enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.data.user</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.apn</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.carrier</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.httpProxyHost</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.httpProxyPort</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.mmsc</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.mmsport</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.mmsproxy</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.passwd</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.mms.user</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.radio.preferredNetworkType</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.radio.disabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.supl.apn</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.supl.carrier</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.supl.httpProxyHost</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.supl.httpProxyPort</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.supl.passwd</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.supl.user</code></td>
- <td>String</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ril.sms.strict7BitEncoding.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ril.sms.</code>defaultServiceId</td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>ril.telephony.</code>defaultServiceId</td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>ring.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>screen.automatic-brightness</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>screen.brightness</code></td>
- <td>Number</td>
- <td>1</td>
- </tr>
- <tr>
- <td><code>screen.timeout</code></td>
- <td>Number</td>
- <td>60</td>
- </tr>
- <tr>
- <td><code>tethering.usb.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>tethering.usb.ip</code></td>
- <td>String</td>
- <td><code>192.168.0.1</code></td>
- </tr>
- <tr>
- <td><code>tethering.usb.prefix</code></td>
- <td>String</td>
- <td><code>24</code></td>
- </tr>
- <tr>
- <td><code>tethering.usb.dhcpserver.startip</code></td>
- <td>String</td>
- <td><code>192.168.0.10</code></td>
- </tr>
- <tr>
- <td><code>tethering.usb.dhcpserver.endip</code></td>
- <td>String</td>
- <td><code>192.168.0.30</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.ip</code></td>
- <td>String</td>
- <td><code>192.168.1.1</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.prefix</code></td>
- <td>String</td>
- <td><code>24</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.dhcpserver.startip</code></td>
- <td>String</td>
- <td><code>192.168.1.10</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.dhcpserver.endip</code></td>
- <td>String</td>
- <td><code>192.168.1.30</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.ssid</code></td>
- <td>String</td>
- <td><code>FirefoxHotspot</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.security.type</code></td>
- <td>String</td>
- <td><code>open</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.security.password</code></td>
- <td>String</td>
- <td><code>1234567890</code></td>
- </tr>
- <tr>
- <td><code>tethering.wifi.connectedClients</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>tethering.usb.connectedClients</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>time.nitz.automatic-update.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>time.timezone</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><code>ums.enabled</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>ums.mode</code></td>
- <td>Number</td>
- <td>0</td>
- </tr>
- <tr>
- <td><code>vibration.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>wifi.enabled</code></td>
- <td>Boolean</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>wifi.screen_off_timeout</code></td>
- <td>Number</td>
- <td>600000</td>
- </tr>
- <tr>
- <td><code>wifi.disabled_by_wakelock</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>wifi.notification</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>wifi.connect_via_settings</code></td>
- <td>Boolean</td>
- <td><code>false</code></td>
- </tr>
- <tr>
- <td><code>icc.displayTextTimeout</code></td>
- <td>Number</td>
- <td>40000</td>
- </tr>
- <tr>
- <td><code>icc.inputTextTimeout</code></td>
- <td>Number</td>
- <td>40000</td>
- </tr>
- </tbody>
-</table>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a href="/en-US/docs/WebAPI/Settings" title="/en-US/docs/WebAPI/Settings">Settings API</a></li>
- <li><a href="/es/docs/Web/API/SettingsManager" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>SettingsManager</code></a></li>
- <li><a href="/es/docs/Web/API/Window/navigator/mozSettings" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>navigator.mozSettings</code></a></li>
- <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/build/config">config files in gaia repository</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/portando/index.html b/files/es/archive/b2g_os/portando/index.html
deleted file mode 100644
index 6dada46208..0000000000
--- a/files/es/archive/b2g_os/portando/index.html
+++ /dev/null
@@ -1,369 +0,0 @@
----
-title: Portando a Boot to Gecko
-slug: Archive/B2G_OS/Portando
-tags:
- - B2G
- - portar
- - porting
-translation_of: Archive/B2G_OS/Porting_B2G_OS/basics
----
-<p>Boot to Gecko (FirefoxOS) utiliza un kernel derivado de <a href="http://www.android.com/" title="http://www.android.com/">Android</a>, con una interfaz de usuario basada en <a href="https://developer.mozilla.org/es/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a> sobre él. Este artículo provee la guía básica de cómo portar el sistema operativo en nuevos dispositivos.</p>
-<p>Esta guía asume que tu estas portando en un dispositivo nuevo que está funcionando con Andriod; Si estás portando a otro dispositivo, el trabajo va a ser más enredado.</p>
-<h2 id="Prequisitos">Prequisitos</h2>
-<h3 id="Configurando_la_compilación_de_tu_sistema">Configurando la compilación de tu sistema</h3>
-<p>El primer paso es configurar la compilación del sistema; puedes seguir la guía en <a href="https://developer.mozilla.org/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites">prerequisitos para compilar B2G</a>.</p>
-<h3 id="Crear_una_copia_de_seguridad_local_del_sistema_original_de_Android">Crear una copia de seguridad local del sistema original de Android</h3>
-<p>A continuación, deberás hacer una copia de seguridad de tu dispositivo Android antes de empezar a bombardearlo con tu compilación de pruebas de B2G. Además, algunos de estos comandos serán necesarios para el proceso de compilación e instalación.</p>
-<pre>mkdir my_device_backup
-cd my_device_backup
-adb pull /system system</pre>
-<div class="note">
- <p><strong>Nota:</strong> Esto es opcional pero es recomendado, ya que algunas veces es posible tener perdidas mayores ocasionadas por problemas de compilaciones, en donde si no posees una copia de los archivos propietarios de tu telefono, lo mas probable es que el problema sea irreparable.</p>
-</div>
-<h2 id="B2G">B2G</h2>
-<h3 id="Crea_un_fork_del_repositorio_de_B2G">Crea un fork del repositorio de B2G</h3>
-<p>Para esto necesitas una cuenta en Github.com, si no la tienes, creala y luego realiza un fork del siguiente repositiorio:</p>
-<pre>https://github.com/mozilla-b2g/B2G</pre>
-<p>Si no sabes como crear un fork de un repositorio en visita este <a href="https://help.github.com/articles/fork-a-repo" title="https://help.github.com/articles/fork-a-repo">sitio</a> para obtener ayuda.</p>
-<h3 id="Clona_tu_repositorio_de_B2G">Clona tu repositorio de B2G</h3>
-<p>Una vez hecho el fork anterior, para empezar a portar B2G a tu nuevo dispositivo, es necesario que clones el repositiorio en tu equipo, clonamos el reposiorio de la siguiente manera:</p>
-<pre>git clone https://github.com/Your-User-Name/B2G.git</pre>
-<div class="note">
- <p>Remplaza <strong>Your-User-Name</strong> con el usuario de tu cuenta de Github.</p>
-</div>
-<h3 id="Agrega_un_nuevo_dispositivo_al_config.sh">Agrega un nuevo dispositivo al config.sh</h3>
-<p>El siguiente paso, es agregar un nuevo dispositivo a <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a>; puedes usar uno de los existentes como plantilla. Esto básicamente consiste en proporcionar las instruciones para obtener los archivos correctos para hacer la compilación.</p>
-<p>Busca la linea siguiente en tu archivo <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a>:</p>
-<pre><span class="k">case</span> <span class="s2">"$1"</span> in</pre>
-<p>Seguidamente agrega:</p>
-<pre class="line"><span class="s2">"<strong>device-name</strong>"</span><span class="o">)</span>
-
-<span class="nb">echo </span><span class="nv">DEVICE</span><span class="o">=</span><strong>device-name</strong> &gt;&gt; .tmp-config <span class="o">&amp;&amp;</span>
-
-repo_sync <span class="nv">$1</span>
-
-;;</pre>
-<div class="note">
- <p><strong>Nota:</strong> Debes remplazar la parte en que dice <strong>device-name</strong>, con el nombre de tu dispositivo, como por ejemplo si tu dispositivo fuera el Samsung Galaxy S3, quedaria asi:</p>
- <pre class="line"><span class="s2">"<strong>i9300</strong>"</span><span class="o">)</span>
-
-<span class="nb">echo </span><span class="nv">DEVICE</span><span class="o">=</span><strong>i9300</strong> &gt;&gt; .tmp-config <span class="o">&amp;&amp;</span>
-
-repo_sync <span class="nv">$1</span>
-
-;;</pre>
-</div>
-<p>Como ultimo paso (opcional, no influye en nada si realizas o no este paso), buscas esta parte en tu archivo <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a>:</p>
-<pre class="line"><span class="nb">echo </span>Usage: <span class="nv">$0</span> <span class="se">\(</span>device name<span class="se">\)</span>
-
-<span class="nb">echo</span>
-
-<span class="nb">echo </span>Valid devices to configure are:
-
-<span class="nb">echo</span> - galaxy-s2
-
-<span class="nb">echo</span> - galaxy-nexus
-
-<span class="nb">echo</span> - nexus-s
-
-<span class="nb">echo</span> - nexus-s-4g
-
-<span class="nb">echo</span> - otoro
-
-<span class="nb">echo</span> - unagi
-
-<span class="nb">echo</span> - pandaboard
-
-<span class="nb">echo</span> - emulator
-
-<span class="nb">echo</span> - emulator-x86
-
-<span class="nb">exit</span> -1
-
-;;</pre>
-<p>Y agregas tu dispositivo:</p>
-<pre class="line">echo - device-name
-</pre>
-<div class="note">
- <p><strong>Nota:</strong> Debes remplazar la parte en que dice <strong>device-name</strong>, con el nombre de tu dispositivo, como por ejemplo si tu dispositivo fuera el Samsung Galaxy S3, quedaria asi:</p>
- <pre class="line">echo - i9300</pre>
-</div>
-<h3 id="Crear_un_árbol_de_configuración_para_el_nuevo_dispositivo">Crear un árbol de configuración para el nuevo dispositivo</h3>
-<p>Este arbol de configuracion debe incluir, al menos:</p>
-<ul>
- <li><code>AndroidBoard.mk</code></li>
- <li><code>AndroidProducts.mk</code></li>
- <li><code>BoardConfig.mk</code></li>
- <li><code>extract-files.sh</code></li>
- <li><code>full_&lt;device_id&gt;.mk</code></li>
- <li>archivos idc para pantallas táctiles</li>
- <li>archivos de inicio (<code>init.rc</code>, <code>init.&lt;target&gt;.rc</code>, <code>uevent.rc</code>, ...)</li>
-</ul>
-<p>El contenido aquí puede variar en gran medida entre un dispositivo y otro. En particular, BoardConfig.mk y extract-files.sh podrían variar significativamente. Esta parte requiere un conjunto de hacking, pruebas, y depuración para averiguar que pedazos binarios deberán ser extraidos. Este arbol de configuracion debe estar hosteado en un repo en tu cuenta de Github, mira este <a href="https://github.com/mozilla-b2g/android-device-galaxys2" title="https://github.com/mozilla-b2g/android-device-galaxys2">repositorio de ejemplo</a> para que te hagas una idea de como tiene que quedar. (Solo es un ejemplo y no tiene que quedar igual a este, todos los telefonos tienen distinto Hardware)</p>
-<div class="note">
- <p><strong>Nota:</strong> No es necesario que crees estos archivos por tu propia cuenta, por lo general la mayoria de los telefonos y dispositivos que corren <a href="http://www.cyanogenmod.com/" title="http://www.cyanogenmod.com/">CyanogenMod</a> o AOKP tienen un repositorio en Github con todos estos archivos del arbol de configuracion, puedes distinguirlos, porque la mayoria de estos repositorios llevan el nombre de: ej "android_device_samsung_i9300" (como es en este caso ejemplo, el nombre varia dependiendo de tu dispositivo). Asi que es recomendable que antes de que empieces a crear estos archivos por tu cuenta, revises algunos de los repositorios de CyanogenMod o AOKP, para ver si el arbol de configuracion de tu dispositivo ya esta creado por alguien mas.</p>
- <p>Caso contrario ocurre con los dispositivos ZTE o algunos otros dispositivos a los cuales CyanogenMod o AOKP aun no han llegado, que requieren que crees estos archivos por tu propia cuenta desde 0. El <a href="http://forum.xda-developers.com/" title="http://forum.xda-developers.com/">Foro XDA </a> es otro buen lugar para debatir y ver recursos.</p>
-</div>
-<p>Una vez que tengas estos archivos, si te ha tocado crearlos desde 0 o tienes los archivos del arbol de configuracion en tu equipo, es totalmente necesario que los subas a un repositorio en tu cuenta de Github como se habia mencionado anteriormente. Si no sabes como crear el repositorio en donde alojar tus archivos de configuracion, por favor revisa esta <a href="https://help.github.com/articles/creating-a-new-repository" title="https://help.github.com/articles/creating-a-new-repository">guia</a>. Al final del proceso deberas tener un repositorio como este:</p>
-<pre>https://github.com/Your-User-Name/android-device-your-new-device</pre>
-<div class="note">
- <p>En donde dice <strong>Your-User-Name</strong> deberia aparecer tu nombre de usuario de tu cuenta en Github, y en donde dice <strong>android-device-new-device</strong>, deberia aparecer el nombre que le has puesto a tu repositiorio cuando estabas creandolo. (ej: android-device-samsung-i9300)</p>
-</div>
-<p>Si por el contrario has tenido suerte de encontrar que CyanogenMod o AOKP, o algun otro usuario ya ha creado estos archivos, tienes que hacer un fork del repo en tu cuenta. En pocas palabras, es necesario que tengas todos los repos de tu dispositivo ha realizar el port de FirefoxOS, alojados en tu cuenta de Github.</p>
-<h2 id="El_Archivo_Manifest">El Archivo Manifest</h2>
-<h3 id="Crea_un_fork_del_repositorio_b2g-manifest">Crea un fork del repositorio b2g-manifest</h3>
-<p>De nuevo realizamos un fork al repositorio de b2g-manifest.</p>
-<pre>https://github.com/mozilla-b2g/b2g-manifest</pre>
-<p>Si no sabes como crear un fork de un repositorio en visita este <a href="https://help.github.com/articles/fork-a-repo" title="https://help.github.com/articles/fork-a-repo">sitio</a> para obtener ayuda.</p>
-<div class="note">
- <p>Este fork tiene que quedar igualmente en tu cuenta de Github.</p>
-</div>
-<h3 id="Crea_tu_propio_repositorio_de_b2g-manifest">Crea tu propio repositorio de b2g-manifest</h3>
-<p>Una vez mas, es necesario que el repositorio que acabas de clonar en el paso anterior, sea hosteado por una cuenta de Github tuya en donde puedas hacer las modificaciones especiales para tu dispositivo. Quedando de la siguiente manera:</p>
-<pre>git clone https://github.com/Your-User-Name/b2g-manifest.git</pre>
-<h3 id="Crear_el_archivo_de_manifiesto_para_el_nuevo_dispositivo">Crear el archivo de manifiesto para el nuevo dispositivo</h3>
-<p>Ahora necesitas agregar los repositorios requeridos para el archivo de manifiesto para el nuevo dispositivo; este archivo de manifiesto es llamado <strong>device-name.xml </strong>(el nombre de este archivo debe ser cambiado por el nombre de tu dispositivo, conservando la extension que lo caracteriza, el .xml). Este archivo debe tener la siguiente estructura:</p>
-<div class="highlight">
- <pre class="line"><span class="cp">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
-
-<span class="nt">&lt;manifest&gt;</span>
-
-
- <span class="nt">&lt;remote</span> <span class="na">name=</span><span class="s">"aosp"</span>
-
- <span class="na">fetch=</span><span class="s">"https://android.googlesource.com/"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;remote</span> <span class="na">name=</span><span class="s">"b2g"</span>
-
- <span class="na">fetch=</span><span class="s">"git://github.com/mozilla-b2g/"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;remote</span> <span class="na">name=</span><span class="s">"linaro"</span>
-
- <span class="na">fetch=</span><span class="s">"git://android.git.linaro.org/"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;remote</span> <span class="na">name=</span><span class="s">"mozilla"</span>
-
-<span class="na">fetch=</span><span class="s">"git://github.com/mozilla/"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;remote</span> <span class="na">name=</span><span class="s">"mozillaorg"</span>
-
- <span class="na">fetch=</span><span class="s">"https://git.mozilla.org/releases"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;default</span> <span class="na">revision=</span><span class="s">"refs/tags/android-4.0.4_r1.2"</span>
-
- <span class="na">remote=</span><span class="s">"linaro"</span>
-
- <span class="na">sync-j=</span><span class="s">"4"</span> <span class="nt">/&gt;</span>
-
-
- <span class="c">&lt;!-- Gonk specific things and forks --&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"build"</span> <span class="na">name=</span><span class="s">"platform_build"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span><span class="nt">&gt;</span>
-
- <span class="nt">&lt;copyfile</span> <span class="na">src=</span><span class="s">"core/root.mk"</span> <span class="na">dest=</span><span class="s">"Makefile"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;/project&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"dalvik"</span> <span class="na">name=</span><span class="s">"fake-dalvik"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"gaia"</span> <span class="na">name=</span><span class="s">"gaia.git"</span> <span class="na">remote=</span><span class="s">"mozillaorg"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"gecko"</span> <span class="na">name=</span><span class="s">"gecko.git"</span> <span class="na">remote=</span><span class="s">"mozillaorg"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"gonk-misc"</span> <span class="na">name=</span><span class="s">"gonk-misc"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"rilproxy"</span> <span class="na">name=</span><span class="s">"rilproxy"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/moztt"</span> <span class="na">name=</span><span class="s">"moztt"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
-
- <span class="c">&lt;!-- Stock Android things --&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"abi/cpp"</span> <span class="na">name=</span><span class="s">"platform/abi/cpp"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"bionic"</span> <span class="na">name=</span><span class="s">"platform/bionic"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"bootable/recovery"</span> <span class="na">name=</span><span class="s">"platform/bootable/recovery"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"device/common"</span> <span class="na">name=</span><span class="s">"device/common"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"device/sample"</span> <span class="na">name=</span><span class="s">"device/sample"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/apriori"</span> <span class="na">name=</span><span class="s">"platform_external_apriori"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/bluetooth/bluez"</span> <span class="na">name=</span><span class="s">"platform/external/bluetooth/bluez"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/bluetooth/glib"</span> <span class="na">name=</span><span class="s">"platform/external/bluetooth/glib"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/bluetooth/hcidump"</span> <span class="na">name=</span><span class="s">"platform/external/bluetooth/hcidump"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/bsdiff"</span> <span class="na">name=</span><span class="s">"platform/external/bsdiff"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/bzip2"</span> <span class="na">name=</span><span class="s">"platform/external/bzip2"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/dbus"</span> <span class="na">name=</span><span class="s">"platform/external/dbus"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/dhcpcd"</span> <span class="na">name=</span><span class="s">"platform/external/dhcpcd"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/dnsmasq"</span> <span class="na">name=</span><span class="s">"platform/external/dnsmasq"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/elfcopy"</span> <span class="na">name=</span><span class="s">"platform_external_elfcopy"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/elfutils"</span> <span class="na">name=</span><span class="s">"platform_external_elfutils"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/expat"</span> <span class="na">name=</span><span class="s">"platform/external/expat"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/fdlibm"</span> <span class="na">name=</span><span class="s">"platform/external/fdlibm"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/flac"</span> <span class="na">name=</span><span class="s">"platform/external/flac"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/freetype"</span> <span class="na">name=</span><span class="s">"platform/external/freetype"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/giflib"</span> <span class="na">name=</span><span class="s">"platform/external/giflib"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/gtest"</span> <span class="na">name=</span><span class="s">"platform/external/gtest"</span> <span class="na">remote=</span><span class="s">"linaro"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/harfbuzz"</span> <span class="na">name=</span><span class="s">"platform/external/harfbuzz"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/icu4c"</span> <span class="na">name=</span><span class="s">"platform/external/icu4c"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/iptables"</span> <span class="na">name=</span><span class="s">"platform/external/iptables"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/jpeg"</span> <span class="na">name=</span><span class="s">"platform/external/jpeg"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/libgsm"</span> <span class="na">name=</span><span class="s">"platform/external/libgsm"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/liblzf"</span> <span class="na">name=</span><span class="s">"platform/external/liblzf"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/libnfc-nxp"</span> <span class="na">name=</span><span class="s">"platform/external/libnfc-nxp"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/libnl-headers"</span> <span class="na">name=</span><span class="s">"platform/external/libnl-headers"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/libpng"</span> <span class="na">name=</span><span class="s">"platform/external/libpng"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/libvpx"</span> <span class="na">name=</span><span class="s">"platform/external/libvpx"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/mksh"</span> <span class="na">name=</span><span class="s">"platform/external/mksh"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/opensans"</span> <span class="na">name=</span><span class="s">"platform_external_opensans"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/openssl"</span> <span class="na">name=</span><span class="s">"platform/external/openssl"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/protobuf"</span> <span class="na">name=</span><span class="s">"platform/external/protobuf"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/safe-iop"</span> <span class="na">name=</span><span class="s">"platform/external/safe-iop"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/screencap-gonk"</span> <span class="na">name=</span><span class="s">"screencap-gonk"</span> <span class="na">remote=</span><span class="s">"b2g"</span> <span class="na">revision=</span><span class="s">"master"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/sonivox"</span> <span class="na">name=</span><span class="s">"platform/external/sonivox"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/speex"</span> <span class="na">name=</span><span class="s">"platform/external/speex"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/sqlite"</span> <span class="na">name=</span><span class="s">"platform/external/sqlite"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/stlport"</span> <span class="na">name=</span><span class="s">"platform/external/stlport"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/strace"</span> <span class="na">name=</span><span class="s">"platform/external/strace"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/tagsoup"</span> <span class="na">name=</span><span class="s">"platform/external/tagsoup"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/tinyalsa"</span> <span class="na">name=</span><span class="s">"platform/external/tinyalsa"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/tremolo"</span> <span class="na">name=</span><span class="s">"platform/external/tremolo"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/webp"</span> <span class="na">name=</span><span class="s">"platform/external/webp"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/webrtc"</span> <span class="na">name=</span><span class="s">"platform/external/webrtc"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/wpa_supplicant"</span> <span class="na">name=</span><span class="s">"platform/external/wpa_supplicant"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/wpa_supplicant_8"</span> <span class="na">name=</span><span class="s">"platform/external/wpa_supplicant_8"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/zlib"</span> <span class="na">name=</span><span class="s">"platform/external/zlib"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"external/yaffs2"</span> <span class="na">name=</span><span class="s">"platform/external/yaffs2"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"frameworks/base"</span> <span class="na">name=</span><span class="s">"platform/frameworks/base"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"frameworks/opt/emoji"</span> <span class="na">name=</span><span class="s">"platform/frameworks/opt/emoji"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"frameworks/support"</span> <span class="na">name=</span><span class="s">"platform/frameworks/support"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"hardware/libhardware"</span> <span class="na">name=</span><span class="s">"platform/hardware/libhardware"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"hardware/libhardware_legacy"</span> <span class="na">name=</span><span class="s">"platform/hardware/libhardware_legacy"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"hardware/ril"</span> <span class="na">name=</span><span class="s">"platform/hardware/ril"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"libcore"</span> <span class="na">name=</span><span class="s">"platform/libcore"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"ndk"</span> <span class="na">name=</span><span class="s">"platform/ndk"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"prebuilt"</span> <span class="na">name=</span><span class="s">"platform/prebuilt"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/bluetooth"</span> <span class="na">name=</span><span class="s">"platform/system/bluetooth"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/core"</span> <span class="na">name=</span><span class="s">"platform/system/core"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/extras"</span> <span class="na">name=</span><span class="s">"platform/system/extras"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/media"</span> <span class="na">name=</span><span class="s">"platform/system/media"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/netd"</span> <span class="na">name=</span><span class="s">"platform/system/netd"</span> <span class="nt">/&gt;</span>
-
- <span class="nt">&lt;project</span> <span class="na">path=</span><span class="s">"system/vold"</span> <span class="na">name=</span><span class="s">"platform/system/vold"</span> <span class="nt">/&gt;</span>
-
-
- <span class="c">&lt;!-- Cosas de tu dispositivo --&gt;</span>
-
-
-
-<span class="nt">&lt;/manifest&gt;</span></pre>
- <p><span class="nt">El archivo manifesto es muy facil de crear, simplemente necesitaras el codigo anterior y entenderlo un poco. Copia el codigo anterior</span></p>
- <h2 id="Booteo_de_B2G">Booteo de B2G</h2>
-</div>
-<h3 id="Recompilar_boot.img">Recompilar boot.img</h3>
-<p>Una vez lo tengas todo hecho, necesitas recompilar la imágen de arranque. Esto no suele ser necesario para el propio Kernel, pero recoge los cambios en  <code>init.rc</code>.</p>
-<h4 id="Cambios_a_init.rc">Cambios a init.rc</h4>
-<p>El init.rc que utilizas <strong>no</strong> es el proporcionado por B2G; en su lugar, tienes que tirarlo desde el dispositivo</p>
-<p>Las principales cosas que necesitarás modificar son:</p>
-<h5 id="Importar_init.b2g.rc">Importar init.b2g.rc</h5>
-<p>Añade las siguientes líneas para importar <code>init.b2g.rc</code>:</p>
-<pre>on early-init
- start ueventd
- import /init.b2g.rc</pre>
-<h5 id="Fijar_permisos">Fijar permisos</h5>
-<p>Corrige los permisos en los archivos <code>/system/b2g/b2g</code>, <code>/system/b2g/updater</code>, <code>/system/b2g/plugin-container</code>; esto se deberá hacer después de las líneas que montan los archivos del sistema de lectura/escritura:</p>
-<pre>chmod 0755 /system/b2g/b2g
-chmod 0755 /system/b2g/updater
-chmod 0755 /system/b2g/plugin-container</pre>
-<p>Es posible que quieras iniciar modificando <code>init.rc</code> del nuevo dispositivo en vez de usar el <code>init.rc</code> proveido por la compilación del sistema; si es así, necesitas recordar configurar <code>TARGET_PROVIDES_INIT_RC</code> en <code>BoardConfig.mk</code>.</p>
-<h3 id="Kernel_precompilado_vs._compilando_el_kernel_desde_una_fuente">Kernel precompilado vs. compilando el kernel desde una fuente</h3>
-<p>Puedes usar un Kernel precompilado, o podrías compilar el Kernel desde una fuente. Para compilar el Kernel desde una fuente, añade AndroidKernel.mk  y la configuración del kernel al árbol de configuración del dispositivo.</p>
-<p>El <a href="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro" title="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro">maguro</a> en la vieja compilación del sistema es un ejemplo de compilación del kernel desde una fuente.</p>
-<h2 id="Flasheo_del_dispositivo">Flasheo del dispositivo</h2>
-<h3 id="Añade_el_nuevo_dispositivo_a_flash.sh">Añade el nuevo dispositivo a flash.sh</h3>
-<p>Añade el nuevo dispositivo a  <code>flash.sh</code>; las especificaciones de como hacer esto dependerán de que herramientas necesitas usar para flashear el nuevo dispositivo.</p>
-<h2 id="Primer_arranque">Primer arranque</h2>
-<h3 id="Configura_compila_y_flashea_el_nuevo_dispositivo">Configura, compila y  flashea el nuevo dispositivo</h3>
-<p>Ahora puedes probar compilando y flasheando tu nuevo dispositivo:</p>
-<pre>ANDROIDFS_DIR=my_device_backup ./config.sh &lt;device_id&gt; default.xml
-./build.sh
-./flash.sh</pre>
-<h3 id="Probar_y_depurar">Probar y depurar</h3>
-<p>Necesitamos añadir algunos detalles aqui; de hecho, este artículo podría usar algo de ayuda.</p>
-<h2 id="FAQ">FAQ</h2>
-<h3 id="¿A_que_dispiositivos_se_le_puede_hacer_Port">¿A que dispiositivos se le puede hacer Port?</h3>
-<p>Si tu dispositivo corre Android 4.0.4 lo mas probable es que pueda correr FirefoxOS, no obstante no quiere decir que a la primera correra sin ningun problema. El Porting es todo un proceso de prueba y error, es posible que tardes mas tiempo solucionando problemas en los archivos que compiles, que recopilandolos todos.</p>
-<h3 id="Mi_dispositivo_es_de_arquitectura_ARMv6_¿correra_alli">Mi dispositivo es de arquitectura ARMv6, ¿correra alli?</h3>
-<p>Puede que si o puede que no, todo depende de tus conocimientos y de hasta donde puedas llegar con el Port, por ahora solo se conoce un caso en los foros de Geeksphone en donde un usuario a logrado completar un Port estable a uno de los telefonos que ofrece Geeksphone de arquitectura ARMv6.</p>
-<h3 id="¿Alguien_mas_esta_trabajando_en_realizar_Port_a_los_diferentes_dispositivos">¿Alguien mas esta trabajando en realizar Port a los diferentes dispositivos?</h3>
-<p>Quienes realizan los Port son desarrolladores, geeks o mozillians. No se puede definir un equipo especial de Mozilla que este trabajando en ello. Por otro lado la comunidad Mozilla Hispano tiene un proyecto conformado por un grupo de personas con el fin de lograr el Port a varios dispositivos. Para mas informacion puedes visitar este <a href="https://www.mozilla-hispano.org/documentacion/Droid2Fox" title="link">link</a>.</p>
-<h3 id="¿Necesito_algunos_conocimientos_previos_para_empezar_a_realizar_el_Port">¿Necesito algunos conocimientos previos para empezar a realizar el Port?</h3>
-<p>Si, de hecho hay dos tipos de casos que pueden suceder mientras realices el Port. El primero de ellos es que tengas la suerte de que todos los sources y archivos que encuentre en Github para tu Port esten bien y compilen sin ningun problema (Poco probable que suceda). El segundo caso es que te toque re escribir algunos, si no son todos los archivos y sources de tu dispositivo para lograr que compilen y que arranquen FirefoxOS (Es lo que probablemente te pueda suceder con seguridad). Por lo que por recomendacion, seria bueno que tuvieras previos conocimientos acerca del funcionamiento de Android, algo de C y C++.</p>
-<h2 id="Mira_también">Mira también</h2>
-<ul>
- <li><a href="https://developer.mozilla.org/es/docs/Mozilla/Firefox_OS" title="/en-US/docs/Mozilla/Boot_to_Gecko">Boot to Gecko</a></li>
- <li><a href="https://github.com/mozilla-b2g/B2G" title="https://github.com/mozilla-b2g/B2G">Código fuente de B2G en Github</a></li>
- <li><a href="http://www.android.com/" title="http://www.android.com/">Sitio web de Android</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/porting_firefox_os/index.html b/files/es/archive/b2g_os/porting_firefox_os/index.html
deleted file mode 100644
index 9da87c1802..0000000000
--- a/files/es/archive/b2g_os/porting_firefox_os/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Porting Firefox OS
-slug: Archive/B2G_OS/Porting_Firefox_OS
-tags:
- - Firefox OS
- - NeedsTranslation
- - TopicStub
- - porting
-translation_of: Archive/B2G_OS/Porting_B2G_OS
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/es/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p><p class="summary">This page lists the available resources for porting Firefox OS.</p>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Porting_Firefox_OS/basics">Porting basics</a></dt>
- <dd>Basic information about how to port Firefox OS to new devices.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Developing_Firefox_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></dt>
- <dd>This article explains how to port Firefox using CyanogenMod.</dd>
-</dl>
diff --git a/files/es/archive/b2g_os/porting_firefox_os/portando_de_cyanogenmod/index.html b/files/es/archive/b2g_os/porting_firefox_os/portando_de_cyanogenmod/index.html
deleted file mode 100644
index cc9e9b19a1..0000000000
--- a/files/es/archive/b2g_os/porting_firefox_os/portando_de_cyanogenmod/index.html
+++ /dev/null
@@ -1,239 +0,0 @@
----
-title: Portando en CyanogenMod
-slug: Archive/B2G_OS/Porting_Firefox_OS/Portando_de_CyanogenMod
-translation_of: Archive/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/es/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/es/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<p class="summary">Firefox OS es tradicionalmente compilado encima de <a href="https://android.googlesource.com/">AOSP</a>. Esto no significa que nosotros solamente usemos AOSP. <span id="result_box" lang="es"><span class="hps">Varias</span> <span class="hps">ramas (forks) de</span> <span class="hps">AOSP</span> <span class="hps">existen</span> <span class="hps">que tienen como objetivo</span> <span class="hps">apoyar</span> <span class="hps">una amplia</span> <span class="hps">gama de hardware</span></span>. <a href="http://www.cyanogenmod.org/">CyanogenMod</a>, el fork mas popular de AOSP, incluye cientos de añadiduras, modificaciones, y hacks para dar soporte a <a href="http://get.cm/">cientos de disposivitos Android al por menor</a>. <span class="seoSummary">Este articulo explica como portar Firefox OS usando CyanogenMod.</span></p>
-
-<p>Cuando compilamos Firefox OS encima de CyanogenMod podemos dar soporte al mismo numero de despositivos que CyanogenMod soporta. Debido a la gran cantidad de dispositivos soportados por CyanogenMod, <span id="result_box" lang="es"><span class="hps">es muy probable</span> <span class="hps">que ya tengas</span> <span class="hps">un dispositivo para el cual puedas compilar</span><span>.</span></span></p>
-
-<div class="warning"><strong>Importante</strong>: Esta guía es solamente para usuarios avanzados; debes de saber al menos cómo compilar CyanogenMod o AOSP.</div>
-
-<p>Si nunca has compilado CyanogenMod para tu dispositivo entonces te sugerimos insistentemente que <a href="https://wiki.cyanogenmod.org/w/Build_Guides">aprendas como hacerlo</a> antes de portar Firefox OS. Esto tiene dos propositos: aprenderás como usar las herramientas necesarias para portar Firefox OS, y verificarás la calidad del 'port' de CyanogenMod.</p>
-
-<p>Más explícitamente, ésta guía asume que tu dispositivo esta desbloqueado y tiene CyanogenMod instalado. Esta guia <em>no</em> te enseñara como rootear y/o desbloquear tu dispositivo, o como preparar tu maquina para compilar o como usar git para solucionar los fallos de combinación.</p>
-
-<p>Un resumen de los pasos a seguir es el siguiente:</p>
-
-<ol>
- <li>Descargar el codigo fuente</li>
- <li>Modificar los 'repos' del dispositivo</li>
- <li>Modicar el núcleo</li>
- <li>Compilar e Instalar</li>
-</ol>
-
-<h2 id="Descargar_el_código_de_fuente">Descargar el código de fuente</h2>
-
-<div class="warning"><strong>Para hacer:</strong> Convinar el manifiesto de mozilla-b2g: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1211870">Bugzilla: 1211870</a>.</div>
-
-<p>Tenemos varias herramientas útiles para construir Firefox OS, todas ellas contenidas en un simple repositorio. Descárga estas herramientas por <strong><code>git</code></strong> para crear tu directorio de trabajo.</p>
-
-<pre><code>git clone https://github.com/cm-b2g/B2G.git &amp;&amp; cd B2G</code>
-</pre>
-
-<p>Hecho esto, necesitamos descargar el código fuente:</p>
-
-<pre><code>./config.sh cm-porting</code>
-</pre>
-
-<p>El archivo <strong><code>config.sh</code></strong>  inicializa la herramienta <code>repo usando el manifiesto </code> <strong><code>base-l-cm.xml</code></strong>  que se encuentra en el repositorio <strong><code>b2g-manifest</code></strong>.  Éste archivo XML es en realidad una lista de repositorios específicos del SO necesarios para construir B2G OS.  Luego, utiliza la herramienta <strong><code>repo</code></strong> para descargar todo el código de fuente.</p>
-
-<p>La descarga de estos repositorios, muchos de los cuales tienen varias gigas,  tomará bastante tiempo, así que te recomendamos hacer esto en la noche si tienes una conección lenta, o justo después del almuerzo si tienes una conección rápida.</p>
-
-<p>Este paso también crea un archivo <strong><code>.config</code></strong> que podrás editar después.</p>
-
-<h2 id="Manifiesto_local_para_tu_dispositivo">Manifiesto local para tu dispositivo</h2>
-
-<p>El manifiesto anterior no contiene ningún repositorio específico de dispositivo, asunto diferente al típico manifiesto. Necesitaremos entonces crear un <strong><code>local_manifest.xml</code></strong> con todos los repositorios de tu dispositivo. La manera más rápida de hacerlo es usando <strong><code>breakfast</code></strong>, un herramienta automática escrita por CyanogenMod para crear un manifiesto local y descargar los repositorios adicionales directamente de la cuenta de CyanogenMod en GitHub.</p>
-
-<pre><code>. build/envsetup.sh &amp;&amp; breakfast 123</code>
-</pre>
-
-<p>Reemplace 123 por el nombre clave de su dispositivo.</p>
-
-<p>Si tu dispositivo no está oficialmente soportado por CyanogenMod, pero hay un 'port' no oficial, tu puedes crear el archivo <strong><code>local_manifest.xml</code></strong> manualmente en la carpeta  <strong><code>.repo/local_manifests</code></strong>.</p>
-
-<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;manifest&gt;
- &lt;remote name="xyz" fetch="git://github.com/xyz/" revision="cm-12.1" /&gt;
- &lt;project name="device_oem_123" path="device/oem/123" remote="xyz" /&gt;
- &lt;project name="device_oem_1xx-common" path="device/oem/1xx-common" remote="xyz" /&gt;
- &lt;project name="kernel_oem_1xx" path="kernel/oem/1xx" remote="xyz" /&gt;
- &lt;project name="vendor_oem" path="vendor/oem" remote="xyz" /&gt;
-&lt;/manifest&gt;</code>
-</pre>
-
-<p>Recuerda correr <strong><code>repo sync</code></strong> cuando hayas creado tu manifiesto.</p>
-
-<h2 id="Modificar_los_'repos'_del_dispositivo">Modificar los 'repos' del dispositivo</h2>
-
-<p>Parte de la configuración de un dispositivo se encuentra en los archivos XML de superposición, usados por el sistema de construcción AOSP para establecer las opciones por defecto en las apps de Android. Firefox OS no los usa así que podemos reimplementar algunas de estas opciones, tales como el botón de inicio de la pantalla, el almacenamiento emulado, etc.</p>
-
-<p>Podemos establecer opciones predeterminadas más sanas mediante la inclusión de dos archivos desde <strong><code>vendor/cm</code></strong>. La primera línea podría ser agregada en la parte superior de <strong><code>device.mk</code></strong> y la segunda en la parte inferior de <strong><code>BoardConfig.mk</code></strong>:</p>
-
-<pre><code># Extra mk import at the top of device.mk
-$(call inherit-product, vendor/cm/config/common_full.mk)
-
-# Extra mk import at the bottom of BoardConfig.mk
-include vendor/cm/BoardConfig.mk</code>
-</pre>
-
-<p>Todavía se necesitan más opciones, ya que muchas son propiamente específicas del dispositivo . A continuación encontrarás una lista de adiciones y eliminaciones específicas de dispositivos comunes. Esta lista no es exhaustiva, pero agregando las dos líneas mencionadas arriba y configurando todas las de abajo,  tendrás un sistema funcional.</p>
-
-<pre><code># for Gecko to use the correct resolution assets
-# Valid options are: 1.5 | 2 | 2.25
-GAIA_DEV_PIXELS_PER_PX := 2.25</code>
-</pre>
-
-<pre><code># for Gecko to use the correct boot animation
-# Valid options are: hvga | fwvga | qHD | 720p | 1080p
-BOOTANIMATION_ASSET_SIZE := 1080p</code>
-</pre>
-
-<pre><code># for Gecko to support separate internal storage partition
-# This is for legacy devices only. You must prvide your own volume.cfg file
-GECKO_BOARD_SEPARATE_STORAGE_PARTITON := true</code>
-</pre>
-
-<pre><code># for Gecko to support virtual home button
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.moz.has_home_button=0</code>
-</pre>
-
-<pre><code># for Gecko to support usb mass storage
-# You may need to add mass_storage to init.oem.usb.rc
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
-- persist.sys.usb.config=mtp
-+ persist.sys.usb.config=mass_storage</code>
-</pre>
-
-<pre><code># for Gecko to support NFC
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.moz.nfc.enabled=true
-
-PRODUCT_PACKAGES += \
- nfcd</code>
-</pre>
-
-<pre><code># Changes in init.device.rc
--on property:init.svc.bootanim=running
--on property:init.svc.bootanim=stopped
--on property:service.bootanim.exit=1
-+on property:sys.boot_completed=1</code>
-</pre>
-
-<h2 id="Modificar_el_núcleo">Modificar el núcleo</h2>
-
-<p>Necesitamos habilitar en el núcleo algunas características de seguridad adicionales para Firefox OS. Estas características no estaban presentes en núcleos Android hasta Marshmallow así que muchos dispositivos necesitarán algunos parches 'backported' adicionales para el núcleo. Más información al respecto en <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=790923">Bugzilla: 790923</a>.</p>
-
-<p>Es suficiente tomar la mejor selección de parches para tu núcleo; el sistema de compilación habilitará automáticamente las nuevas características. Para un trabajo de ejemplo ver el <a href="https://github.com/cm-b2g/android_kernel_lge_msm8974/commits/b2g/cm-12.1-YOG7D">LGE MSM8994 kernel</a>.</p>
-
-<div class="warning"><strong>Importante</strong>: Este paso es obligatorio. Firefox OS no arrancará sin estas características de seguridad.</div>
-
-<h2 id="Compilar_e_instalar">Compilar e instalar</h2>
-
-<p>¿Recuerdas el archivo <strong><code>.config</code></strong> creado anteriormente? Ahora necesitamos reemplazar <strong><code>cm-porting</code></strong> con el nombre clave de tu dispositivo.</p>
-
-<pre><code>$ grep -r PRODUCT_NAME device/oem/123</code>
-</pre>
-
-<p>Nota: No uses el valor en cm.mk, usa el que está en <strong><code>device.mk</code></strong>, este debería ser algo como <strong><code>full_123</code></strong>. Puedes hacer el reemplazo manualmente o con <strong><code>sed</code></strong>:</p>
-
-<pre><code>$ sed -i "s/cm-porting/full_123/g" .config</code>
-</pre>
-
-<p>Ahora es momento de comenzar la compilación:</p>
-
-<pre><code>$ ./bldcm.sh</code>
-</pre>
-
-<p>Esto tomará, en todo caso, de 30 minutos a un par de horas dependiendo de tu PC, así que podría ser un buen momento para ir a la tienda y preparar algo de comer, o ayudar en las tareas de la casa.</p>
-
-<h3 id="Instalar_Firefox_OS_a_través_de_fastboot">Instalar Firefox OS a través de fastboot</h3>
-
-<p>Si tu dispositivo soporta <strong><code>fastboot</code></strong>, puedes simplemente mandar las imágenes de partición directamente al dispositivo:</p>
-
-<pre><code>cd out/target/product/123/
-fastboot flash boot boot.img
-fastboot flash recovery recovery.img
-fastboot flash system system.img
-fastboot flash userdata userdata.img</code>
-</pre>
-
-<h3 id="Instalar_Firefox_OS_através_del_recovery">Instalar Firefox OS através del recovery</h3>
-
-<p>Si tu dispositivo no soporta fastboot entonces puedes usar <strong><code>update.zip</code></strong> en su lugar. Este puede ser inicializado por el dispositivo a través de <strong><code>adb sideload</code></strong>. Una vez allí, deberás mandar el archivo .zip:</p>
-
-<pre><code>adb sideload out/target/product/123/fota/fullimg/update.zip</code>
-</pre>
-
-<h2 id="Solución_de_problemas">Solución de problemas</h2>
-
-<p>¿Algo no funciona? ¡Es momento de remangarse la camisa!</p>
-
-<p>Lo primero que debes hacer es determinar si la característica está funcionando en CyanogenMod. Puede que simplemente falte  alguna configuración para Firefox OS.</p>
-
-<p>Si la característica no funciona en CyanogenMod entonces significa que debes implementarla para tu 'port'. Sería bueno si también presionas tu revisión yendo atrás en el código.</p>
-
-<h3 id="Cámara">Cámara</h3>
-
-<p>Algunas partes de Android fueron removidas del proceso de compilación por ser innecesarias. Si tu cámara  arrojaburbujas de queja sobre la pérdida de funciones, verifica los marcos o la base para ver si las funciones fueron removidas. Podría ser posible traerlas de vuelta.</p>
-
-<h3 id="WiFi">WiFi</h3>
-
-<p>El dispositivo podría no ver ciertos Puntos de Acceso si no están en un canal oficial. Este parecería ser un problema de CyanogenMod o incluso de AOSP, ya que este afecta distintos tipos de hardware y diferentes OEMs.</p>
diff --git a/files/es/archive/b2g_os/preparing_for_your_first_b2g_build/index.html b/files/es/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
deleted file mode 100644
index c0a20668ca..0000000000
--- a/files/es/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title: Preparándote para tu primer binario de B2G
-slug: Archive/B2G_OS/Preparing_for_your_first_B2G_build
-translation_of: Archive/B2G_OS/Preparing_for_your_first_B2G_build
----
-<p></p>
-
-<p>Antes de construir B2G, necesitas clonar el repositorio y configurar tu binario. Este artículo te explica cómo.</p>
-
-<h2 id="Cómo_clonar_el_repositorio_de_B2G">Cómo clonar el repositorio de B2G</h2>
-
-<p>El primer paso antes de empezar a construir tu primer binario es clonar el repositorio de B2G. Esto no lo bajará todo: bajará solamente el "build system" de B2G y las utilidades de configuración. La mayoría del código de B2G está en el repositorio general <a href="https://developer.mozilla.org/en/Mercurial" title="en/Mercurial">Mercurial</a> de Mozilla.</p>
-
-<p>Para clonar el repositorio, usa git:</p>
-
-<pre>git clone git://github.com/mozilla-b2g/B2G.git</pre>
-
-<p>Tras clonarlo (lo que debería tardar sólo un momento), <code>cd</code> al directorio de B2G:</p>
-
-<pre>cd B2G
-</pre>
-
-<h2 id="Cómo_copiar_la_estructura_de_B2G_a_otro_ordenador">Cómo copiar la estructura de B2G a otro ordenador</h2>
-
-<p>Si tienes un ordenador nuevo (<span class="st">¡</span>vaya suerte!), tu vida será mucho más fácil si simplemente migras la estructura completa de B2G de un ordenador al otro.</p>
-
-<p>Para ello, monta el disco duro de tu ordenador viejo en el nuevo, y haz:</p>
-
-<pre>rsync -a <em>source</em>/ <em>dest</em>/
-</pre>
-
-<p>Donde <code>source</code> es la ruta completa (incluida la barra oblicua del final) a la estructura del código, y <code>dest</code> es el destino al que la quieres mover (la barra oblicua del final también es importante en este caso).</p>
-
-<div class="note">
-<p>Atención: Si copias los archivos de un ordenador con un sistema operativo diferente asegúrate de ejecutar '<em>./build.sh clean' </em>antes de empezar el proceso de construcción. Si no, puedes causar problemas de compilación.</p>
-</div>
-
-<p>Si sigues estas instrucciones, puedes saltarte el resto de este artículo e ir directamente a la <a href="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">página de construcción</a>.</p>
-
-<h2 id="Cómo_configurar_B2G_en_tu_móvil">Cómo configurar B2G en tu móvil</h2>
-
-<div class="warning"><strong>Importante: </strong>Recuerda que sólo son compatibles los móviles con <strong>Android 4</strong> (alias <strong>Ice Cream Sandwich </strong>o<strong> ICS</strong>). Asegúrate de que tu teléfono tiene instalado ICS, si no este paso probablemente fallará ya que algunos "drivers" se obtienen de móviles que no son Nexus. Si tienes que flashear tu móvil con ICS, ten en cuenta que algunas extensiones USB no funcionan bien con utilidades para flashear, y que tendrás que conectar tu teléfono a uno de los puertos del ordenador.</div>
-
-<p>Una vez tengas el "build system" de B2G, necesitas configurarlo para el móvil en el que lo vas a instalar. Para ver una lista de aparatos compatibles, puedes utilizar la herramienta <code>config.sh</code>:</p>
-
-<pre>./config.sh
-</pre>
-
-<p>Este comando te muestra una lista de aparatos compatibles. Por ejemplo:</p>
-
-<pre>Usage: ./config.sh [-cdflnq] (device name)
-Flags are passed through to |./repo sync|.
-
-Valid devices to configure are:
-- galaxy-s2
-- galaxy-nexus
-- nexus-4
-- nexus-4-kk
-- nexus-5
-- nexus-5-l
-- nexus-s
-- nexus-s-4g
-- flo (Nexus 7 2013)
-- otoro
-- unagi
-- inari
-- keon
-- peak
-- hamachi
-- helix
-- tarako
-- dolphin
-- dolphin-512
-- pandaboard
-- vixen
-- flatfish
-- flame
-- flame-kk
-- flame-l
-- rpi (Revision B)
-- emulator
-- emulator-jb
-- emulator-kk
-- emulator-l
-- emulator-x86
-- emulator-x86-jb
-- emulator-x86-kk
-- emulator-x86-l
-&gt; Sony Xperia devices
-- aries (Z3 Compact KK)
-- aries-l (Z3 Compact L)
-- leo-kk (Z3 KK)
-- leo-l (Z3 L)
-- scorpion-l (Z3 Tablet Compact L)
-- sirius-l (Z2 L)
-- tianchi-l (T2U L)
-- flamingo-l (E3 L)</pre>
-
-<div><br>
-Si tu aparato no está en la lista, no continúes: ayúdanos a hacer B2G compatible con tu aparato o espera a que alguien lo haga. <span class="st">¡</span>Pero siempre es mejor que seas tú el que nos ayudes!</div>
-
-<div> </div>
-
-<div class="note"><strong>Atención:</strong> Si por cualquier razón quieres construir una versión específica de B2G, lee el artículo <a href="#Cómo_construir_una_versión_específica_de_Gecko">Cómo construir una versión específica de Gecko</a> antes de hacerlo.</div>
-
-<h3 id="Cómo_configurar_un_teléfono_móvil">Cómo configurar un teléfono móvil</h3>
-
-<p>Primero conecta tu móvil: el proceso de configuración necesita acceder al teléfono.</p>
-
-<p>Si tu teléfono aparece en la lista de aparatos compatibles, puedes empezar el proceso de configuración ejecutando <code>config.sh</code> otra vez, pero ahora incluyendo el nombre del aparato. Por ejemplo, para construir para el Samsung Google Nexus S, escribirías:</p>
-
-<pre>./config.sh nexus-s
-</pre>
-
-<p>Al principio de la configuración es posible que tengas que configurar la opción de uso del color, tras lo cual el proceso continúa. Éste es un buen momento para tomarse un descanso, ya que es ahora cuando te estás descargando por primera vez todo el código necesario para construir B2G.</p>
-
-<p>Si tu teléfono ya no tiene Android y tu estructura de B2G no tiene los bloques binarios, pero has hecho una copia de seguridad de la partición <code>/system</code> tal y como te recomendó el artículo <a href="https://developer.mozilla.org/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites" title="https://developer.mozilla.org/es/docs/Mozilla/Boot_to_Gecko/Firefox_OS_build_prerequisites">Prerrequisitos para construir Firefox OS</a>, puedes utilizar dicha copia de seguridad haciendo:</p>
-
-<pre>ANDROIDFS_DIR=&lt;absolute path to parent dir of system dir&gt; ./config.sh &lt;target&gt;
-</pre>
-
-<h3 id="Configuración_para_construir_un_emulador">Configuración para construir un emulador</h3>
-
-<p>Si quieres construir uno de los emuladores, especifica "emulator" para construir la versión ARM, o "emulator-x86" para construir la versión x86. La versión x86 es más rápida, pero su simulación de dispositivos móviles es menos fiel a la realidad.</p>
-
-<p>Por ejemplo, para construir el emulador ARM, escribirías lo siguiente:</p>
-
-<pre>./config.sh emulator
-</pre>
-
-<p>Al principio de la configuración es posible que tengas que configurar la opción de uso del color, tras lo cual el proceso continúa. Éste es un buen momento para tomarse un descanso, ya que es ahora cuando te estás descargando por primera vez todo el código necesario para construir B2G.</p>
-
-<div class="note">
-<p><strong>Atención:</strong> ./config.sh puede llevar más tiempo y consumir más recursos de red de lo que esperabas. Puedes parar el proceso haciendo Ctrl-C y reiniciarlo más tarde. Si sospechas que parte del proceso fue interrumpido antes de terminar, ejecuta './repo sync' para reparar cualquier posible error.</p>
-</div>
-
-<h2 id="Cómo_construir_una_versión_específica_de_Gecko">Cómo construir una versión específica de Gecko</h2>
-
-<p>Algunas veces querrás o necesitarás construir B2G basado en una versión de Gecko distinta de la que se usa por defecto (la que se especifica en el manifiesto). Puedes hacerlo editando el archivo<code>.userconfig</code> antes de hacer "pull" en el repositorio (es decir, antes de ejecutar <code>config.sh</code>). Por ejemplo, si quieres construir basándote en mozilla-central:</p>
-
-<pre>GECKO_PATH=/path/to/mozilla-central
-GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
-</pre>
-
-<div class="note">
-<p><strong>Atención:</strong> si construyes para otra versión de Gecko en Mac OS X, el directorio mozilla-central tiene que estar en un sistema de archivos sensible a las mayúsculas.</p>
-</div>
-
-<p>Lee <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Personalización del archivo .userconfig</a> para más información sobre adaptaciones que puedes hacer.</p>
-
-<p>Próximo paso: <a href="/en/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">empieza a construir</a>.</p>
diff --git a/files/es/archive/b2g_os/probando_firefox_os/index.html b/files/es/archive/b2g_os/probando_firefox_os/index.html
deleted file mode 100644
index 282a2fc9cc..0000000000
--- a/files/es/archive/b2g_os/probando_firefox_os/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Probar Firefox OS
-slug: Archive/B2G_OS/Probando_Firefox_OS
-translation_of: Archive/B2G_OS/Automated_testing
----
-<p></p>
-<p>Considerando que Boot to Gecko esta todavía en desarrollo y la compatibilidad para hardware nuevo está pensada para un futuro inmediato, es importante saber cómo probarlo. Esta página ofrece enlaces a artículos que proveen información sobre varios aspectos las pruebas de Boot to Gecko.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="Documentation" name="Documentation">Pruebas de unidades</h3>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests" title="/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests">Pruebas de unidad para Gaia</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_Mochitests" title="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_Mochitests">Mochitests</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_Reftests" title="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_Reftests">Reftests</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_XPCShell" title="/en-US/docs/Boot_to_Gecko/XPCShell_B2G">Pruebas de XPCShell</a></li>
- </ul>
- <dl>
- </dl>
- <h3 id="Documentation" name="Documentation">Temas de prueba diversos</h3>
- <dl>
- <dt>
- <a href="/en-US/docs/Debugging/Debugging_OpenGL" title="/en-US/docs/Debugging/Debugging_OpenGL">Depurar OpenGL</a></dt>
- <dd>
- Como depurar código OpenGL en Boot to Gecko.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Feature_support_chart" title="/en-US/docs/Mozilla/Boot_to_Gecko/Feature support chart">Gráfico de soporte de características</a></dt>
- <dd>
- Un gráfico de que características están soportadas por las diferentes compilaciones de Boot to Gecko.</dd>
- </dl>
- <h3 id="Documentation" name="Documentation">Marionette para Boot to Gecko</h3>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/Auto-tools/Projects/Marionette" title="https://wiki.mozilla.org/Auto-tools/Projects/Marionette">The Marionette Test Automation Framework</a></li>
- <li><a href="/en/Marionette" title="https://developer.mozilla.org/en/Marionette">Marionette en MDN</a></li>
- </ul>
- <h4 id="Prueba_de_Gaia">Prueba de Gaia</h4>
- <ul>
- <li><a href="/en/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests" title="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests">Ejecutar/escribir pruebas de unidad</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_Integration_Tests" title="/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_Integration_Tests">Ejecutar/escribir pruebas de integración</a></li>
- </ul>
- <h4 id="Tutoriales_de_Marionette">Tutoriales de Marionette</h4>
- <ul>
- <li><a href="/en/Mozilla/Boot_to_Gecko/Setting_Up_Marionette_for_B2G" title="Building B2G for QEMU Emulator">Configurando Marionette para Boot to Gecko</a></li>
- <li><a href="/en/Mozilla/Boot_to_Gecko/Marionette_for_Interactive_Python" title="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Marionette_for_Interactive_Python">Marionette para Interactive Python</a></li>
- <li>Marionette para el emulador QEMU</li>
- </ul>
- <h4 id="Escribiendo_pruebas_para_Marionette">Escribiendo pruebas para Marionette</h4>
- <ul>
- <li><a href="/en/Marionette/Marionette_Python_Tests" title="en/Marionette/Marionette_Python_Tests">Pruebas para Marionette en Python</a></li>
- <li><a href="/en-US/docs/Marionette/Marionette_JavaScript_Tests" title="/en-US/docs/Marionette/Marionette_JavaScript_Tests">Pruebas para Marionette en JavaScript</a></li>
- <li><a href="/en/Marionette/Running_Tests" title="en/Marionette/Running_Tests">Ejecutar pruebas para Marionette</a></li>
- </ul>
- <p><span class="alllinks"><a href="/Special:Tags?tag=B2G&amp;language=en" title="Special:Tags?tag=B2G&amp;language=en">Ver todo...</a></span></p>
- </td>
- <td>
- <h3 id="Community" name="Community">Obtener ayuda de la comunidad</h3>
- <p>Si está trabajando con Boot to Gecko o desarrollando aplicaciones que funcionarán en dispositivos basados en Boot to Gecko, hay recursos de la comunidad que lo ayudarán.</p>
- <ul>
- <li>Consulte el foro de Boot to Gecko: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> como RSS</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Pregunte en el canal de IRC de Mozilla: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">No se olvide de la <em>netiquette</em>...</a></span></p>
- <br>
- <h3 id="Related_Topics" name="Related_Topics">Temas relacionados</h3>
- <ul>
- <li><a href="/en/HTML" title="en/HTML">Preguntas y respuestas</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/es/archive/b2g_os/quickstart/app_tools/index.html b/files/es/archive/b2g_os/quickstart/app_tools/index.html
deleted file mode 100644
index a179d64a23..0000000000
--- a/files/es/archive/b2g_os/quickstart/app_tools/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: App tools
-slug: Archive/B2G_OS/Quickstart/App_tools
-translation_of: Archive/B2G_OS/Quickstart/App_tools
----
-<div class="summary">
- <p>What do you use to build Open Web Apps? The answer is "anything you would normally use to build for the web." The following is a list of tools and resources to help you get started making Open Web Apps. They can be easily integrated into your existing web development workflow, if you have one, or you can build a new workflow around them.</p>
-</div>
-<h2 id="App_Validator">App Validator</h2>
-<p>Is your app ready for the Firefox Marketplace? The <a href="https://marketplace.firefox.com/developers/validator">App validator</a> will check your manifest and show you any errors it may have, or warnings you should consider.</p>
-<h2 id="Firefox_OS_Simulator">Firefox OS Simulator</h2>
-<p>Installing and using the <a href="https://marketplace.firefox.com/developers/docs/firefox_os_simulator">Firefox OS Simulator</a> is the easiest way to get up and running with your app. After installed the simulator is accessible via the Tools -&gt; Web Developer -&gt; Firefox OS Simulator menu. The simulator launches with a JavaScript console so that you may debug your application from within the simulator!</p>
-<h2 id="App_Manager">App Manager</h2>
-<p>The new kid on the block with regards to testing tools is called the <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_App_Manager">App Manager</a>. This tool allows you to connect desktop Firefox to a compatible device via USB (or a Firefox OS simulator), push apps straight to the device, validate apps, and debug them as they run on the device.</p>
-<h2 id="Firefox_Developer_Tools">Firefox Developer Tools</h2>
-<p>Firefox now ships with a default set of developer tools built from the ground up to ensure a great development experience that is both snappy and efficient. To find out more about how these tools work, and see a detailed list of what else Mozilla has to offer, head on over to our <a href="/en-US/docs/Tools">Tools zone</a>.</p>
diff --git a/files/es/archive/b2g_os/quickstart/index.html b/files/es/archive/b2g_os/quickstart/index.html
deleted file mode 100644
index ebe1f7c220..0000000000
--- a/files/es/archive/b2g_os/quickstart/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Build
-slug: Archive/B2G_OS/Quickstart
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Quickstart
----
-<div class="summary">
- <p>Quickstart information on coding open web apps.</p>
-</div>
-<dl>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_open_web_apps">Introduction to open web apps</a></dt>
- <dd>
- What are open web apps? How they differ from regular web pages? Why is this significant? This article aims to answer these questions and more.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Your_first_app">Your first app</a></dt>
- <dd>
- This article takes you through the basic steps and additional knowledge on top of regular web development required to create installable open web apps.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_Firefox_OS">Introduction to Firefox OS</a></dt>
- <dd>
- An introduction to Firefox OS, Mozilla's new open web app-based mobile platform.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_manifests">Introduction to manifests</a></dt>
- <dd>
- An FAQ designed to answer any questions you may have about manifests, hosting apps, origins, and other such topics.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_Web_developers">App development for web developers</a></dt>
- <dd>
- If you're a web developer, how do open web apps differ from what you're used to? This article explains all.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_mobile_developers">App development for mobile developers</a></dt>
- <dd>
- If you're a native mobile application developer, what advantages can open web apps bring to you, and how do they differ from what you are used to? Here are some ideas.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Developing_app_functionality">Developing app functionality</a></dt>
- <dd>
- This page talks about the kinds of different functionality that you might want to build into your apps, with links to further information.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Payments">Payments</a></dt>
- <dd>
- How do you build functionality to make people pay for installing your open web apps? Here is the lowdown.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/App_tools">App tools</a></dt>
- <dd>
- Last for this section, we provide some links to more information on the tools available to help you develop great open web apps.</dd>
-</dl>
diff --git a/files/es/archive/b2g_os/quickstart/intro_to_manifests/index.html b/files/es/archive/b2g_os/quickstart/intro_to_manifests/index.html
deleted file mode 100644
index 84ab7f30d9..0000000000
--- a/files/es/archive/b2g_os/quickstart/intro_to_manifests/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Introducción al manifest
-slug: Archive/B2G_OS/Quickstart/Intro_to_manifests
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_manifests
----
-<div class="summary">
- <p>Este articulo proporciona toda la información básica que usted necesita saber a cerca de trabajar con archivos de manifiesto open web app.</p>
-</div>
-<dl>
- <dt>
- ¿Por qué mi aplicación necesita un app manifest?</dt>
- <dd>
- La aplicación manifest proporciona útil información a cerca de una aplicación (tal como nombre, autor, icono y descripción)  es un simple documento usado por los usuarios y las tiendas de aplicacion. Lo mas importante, está contendra una lista de <a href="//developer.mozilla.org/docs/WebAPI">Web APIs</a> (Tal como <a href="//developer.mozilla.org/docs/Using_geolocation">geolocation</a>) que su aplicación necesita. Esto permite a usuarios tomar decisiones informadas a cerca de aplicaciones antes de instalarla.</dd>
- <dt>
- Es la Open Web app manifest la misma cosa como el  manifest usado por la extensión de Google Chrome y las web app instalables? o el W3C Widgets manifest? o el  HTML5 <a href="//developer.mozilla.org/docs/Using_Application_Cache">cache manifest</a>?</dt>
- <dd>
- No a todos ellos. . La open web app manifest es probablemente la mas similar a google manifest, pero no son identicos. Es esperado que el Open web apps manifest llegará a ser un estandar.</dd>
- <dt>
- ¿Qué es un origen?</dt>
- <dd>
- El origen de una aplicación es el protocolo, dominio y puerto de la url junto. Cada una de las siguientes urls son diferentes a la original:
- <ul>
- <li><code>http://example.com</code></li>
- <li><code>http://example.com:8080</code> (diferente puerto)</li>
- <li><code>https://example.com</code> (diferente protocolo)</li>
- <li><code>http://www.example.com</code></li>
- <li><code>http://myapp.example.com</code> (subdominio)</li>
- </ul>
- </dd>
- <dd>
- Las siguientes urls son la misma original:
- <ul>
- <li><code>http://Example.com:80</code></li>
- <li><code>http://example.com</code></li>
- </ul>
- </dd>
-</dl>
-<dl>
- <dd>
- Las siguientes urls son la misma original:
- <ul>
- <li><code>http://example.com/drawingApp</code></li>
- <li><code>http://example.com/notesApp</code></li>
- </ul>
- </dd>
-</dl>
-<dl>
- <dt>
- ¿Por qué tengo que hospedar el app manifest en el mismo origen que mi aplicación?</dt>
- <dd>
- Asumimos que solo usted puede alojar una aplicación manifest en el mismo origen que su aplicación. Esto significa que los usuarios pueden instalar su aplicación con confianza, sabiendo que la instalación es basada en su aplicación manifiesto y no en alguien más.  Los usuarios deberían tener esta confianza si están instalando su aplicación para Firefox OS Marketplace, para alguna otra tienda de aplicaciones o para su propio sitio web si es auto-publicada su aplicación.</dd>
- <dd>
- Si la aplicación manifest no fué hospedada en el mismo origen que la aplicación misma, allí no habría nada para prevenir que terceros hagan directamente aplicaciones fuera de el contenido alojado en su origen.Incluso empeora, terceros podrían crear una aplicación manifiest usando su marca eso sería engañar a los usuarios para que instalen una aplicación que es una fachada para un robo de contraseñas u otros comportamientos imprevistos .</dd>
- <dt>
- ¿hacer esto significa que no puedo incrusptar imagenes o javascript de otros origenes?</dt>
- <dd>
- No.  La restricción de origen es sobre solo contenido (paginas HTML) . imagenes y otros recursos embebidos pueden ser localizados en otras partes (por ejemplo, en una red de entrega de contenido), excepto por el icono de la aplicación.</dd>
- <dt>
- Puedo tener mas de una aplicación en mi origen?</dt>
- <dd>
- No, allí solo puede estar una aplicación por origen. Si se permitiera multiples aplicaciones de un solo origen, ellos podrian vivir en una simple web sandbox — examinarían cada localStorage del otro , hace solicitud ajax a cada APIS del otro, o incluso roba acceso a las APIS privilegiadas que deberían de haber tenido concebida solo una de las aplicaciones. Esto sería especialmente peligroso para dominios públicos que públican contenido generado por usuario para muchos usuarios.</dd>
- <dd>
- Nosotros recomendamos que use una separación de subdominios para cada una de sus aplicaciones. Por ejemplo, <code>spreadsheet.mycoolapps.com</code> por una aplicación y <code>texteditor.mycoolapps.com</code> por otro. Para mas información, ver <a href="/en-US/docs/Web/Apps/Adding_a_subdomain">Añadiendo un subdominio por una aplicación</a>.</dd>
- <dd>
- Muchos recursos y permisos en la web ya están en el ambito de un solo origen. por definición una aplicación y un origen como la misma cosa  que usamos la misma restrinción que son usados en otra parte de la web y en HTML5.</dd>
- <dt>
- ¿Porqué no subir el manifiesto directamente al Firefox Os Marketplace?</dt>
- <dd>
- Hay varios beneficios de alojas el manifiesto en su dominio y proporcionando la url de la aplicación manifest a el Marketplace:
- <ul>
- <li>Nosotros pretendiamos que el Marketplace (y otras tiendas de aplicaciones) revisarían periodicamente todo el manifiesto  en la URL proporcionada y verifique actualizaciones en ellos. Esto evita la necesidad de que vuelva a subir su aplicación manifiesto por cada actualización .</li>
- <li>El marketplace pasará tanto el original contenido de la aplicación manifiesto como la URL para el dispositivo del usuario. esto permite al dispositivo verificar por bajos costos en la aplicación manifiesto que podría indicar la manipulación. Este será especialmente importante para aplicaciones que usen APIS web(por ejemplo geolocalización).</li>
- </ul>
- <strong>Nota:</strong> A partir de este escrito, nosotros estamos todavía diseñando un proceso por el cual el Marketplace pasará una actualizada aplicación  manifiesto a el dispositivo del usuario.</dd>
- <dt>
- <br>
- ¿Por qué mi servidor Web tiene que utilizar la cabecera Content-Type de HTTP adecuada al servir mi aplicación manifiesta?</dt>
- <dd>
- Esta restricción previene a usuarios de un sitio web que permite contenido de usuarios generados (por ejemplo, un sitio pastebin) para inadvertidamente o inapropiadamente reclamando que todo sitio web como su aplicación.</dd>
- <dt>
- Debería usar HTTPS para servir mi aplicación ?</dt>
- <dd>
- Si, es una buena idea. Nosotros anticipamos que el firefox Os Marketplace requerirá cualquier aplicación usando APIS web (Tal como geolocación) para servir a su aplicación manifesto a través de HTTPS como una defensa adicional contra ataques hombre-en-el-medio. Si usas HTTPS para su manifiesto, usted necesita también usarla para todas las páginas en su sitio.</dd>
- <dt>
- Qué pasa si alguien más entrega mi aplicación a el Markeplace de Firefox OS?</dt>
- <dd>
- En el afortunado evento que alguien adivine la url de su aplicación manifiesto y lo entrega a el Marketplace de Firefox Os antes que usted,<span id="result_box" lang="es"><span class="hps"> por favor</span> <span class="hps">presentar una queja con</span> <span class="hps">el equipo de apoyo</span> <span class="hps">del mercado</span><span>.</span></span></dd>
-</dl>
-<h2 id="Vease_también">Vease también</h2>
-<p><a href="/en-US/docs/Web/Apps/Manifest">App manifest</a></p>
diff --git a/files/es/archive/b2g_os/quickstart/introduccion_a_las_open_web_apps/index.html b/files/es/archive/b2g_os/quickstart/introduccion_a_las_open_web_apps/index.html
deleted file mode 100644
index 37caf3ab16..0000000000
--- a/files/es/archive/b2g_os/quickstart/introduccion_a_las_open_web_apps/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Introducción a las Open Web Apps
-slug: Archive/B2G_OS/Quickstart/Introduccion_a_las_open_web_apps
-tags:
- - Apps
- - Web Open App
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps
----
-<p><img alt="Multi devices" src="/files/4523/multidevices.png" style="width: 640px; height: 225px;"></p>
-
-<div class="summary">
-<p>Este artículo está diseñado para actuar como un buen punto de partida para cualquiera que desee aprender más sobre Open Web Apps, si usted es un desarrollador o administrador del proyecto, o tiene otro rol relevante en el desarrollo de aplicaciones o en la distribución. Aquí te ofrecemos un panorama claro de las Open Web Apps y la filosofía detrás de ellas.</p>
-</div>
-
-<p>Las Open Web Apps son esencialmente diferentes de sitios web estándar o páginas Web. Se construyen utilizando tecnologías web abiertas estándar - HTML, CSS, JavaScript, etc - y se pueden acceder mediante un navegador Web. Las principales diferencias radican en su capacidad para ser instaladas en un dispositivo, trabajar sin conexión y tener acceso a API's avanzadas que permiten la interacción con las características del dispositivo, como la cámara, agenda, y otras cosas. Además, se basan en tecnologías abiertas tanto como sea posible. Cuando las diferencias radican en la implementación de tecnología entre las plataformas, se deben hacer esfuerzos para asegurar que ambos son compatibles, a través de una combinación de detección de características y código apropiado para diferentes plataformas, y la degradación agraciada.</p>
-
-<h2 id="Ventajas_de_las_Open_Web_Apps">Ventajas de las Open Web Apps</h2>
-
-<p>Echemos un vistazo a las ventajas de Open Web Apps con más de detalle:</p>
-
-<ul>
- <li><strong>Instalación local y de almacenamiento fuera de línea:</strong> Las Open Web Apps se pueden instalar en el dispositivo <span id="result_box" lang="es"><span class="hps">y aprovechar</span> <span class="hps">las API</span> <span class="hps">de almacenamiento</span> <span class="hps">local y</span> <span class="hps">IndexedDB</span> <span class="hps">para proporcionar</span> <span class="hps">capacidades de almacenamiento de</span> <span class="hps">datos local</span></span>. Además, las tecnologías Open Web tienden a tener un tamaño mucho más pequeño que las aplicaciones nativas y por lo general se pueden actualizar automáticamente en lugar de tener que instalar un nuevo paquete completo cada vez que hay una actualización. (una excepción a esto son los paquetes de aplicaciones, que requieren un paquete completamente nuevo cuando se actualiza.) Las aplicaciones son por lo tanto menos dependientes de una conexión a Internet siempre activa, y más útiles cuando las redes son irregulares.</li>
- <li>
- <div class="almost_half_cell" id="gt-res-content">
- <div dir="ltr" style="zoom: 1;"><span id="result_box" lang="es"><strong><span class="hps">Acceso</span> <span class="hps">Hardware:</span> </strong><span id="result_box" lang="es"><span class="hps">Los</span> <span class="hps">metadatos proporcionados</span> <span class="hps">con</span> <span class="hps">las Open Web Apps</span> <span class="hps">pueden utilizarse para</span> <span class="hps">conceder permisos de</span> <span class="hps">aplicación</span> <span class="hps">a las API</span> <span class="hps">privilegiadas que</span> <span class="hps">permite</span>n <span class="hps">el uso</span> <span class="hps">de</span> <span class="hps">las características de hardware</span> <span class="hps">del dispositivo</span><span>, algo que la</span> <span class="hps">plataforma</span> <span class="hps">Web</span> <span class="hps">no tenia</span><span class="hps"> tradicionalmente</span><span>.</span></span></span></div>
- </div>
- </li>
- <li>
- <div class="almost_half_cell" id="gt-res-content">
- <div dir="ltr" style="zoom: 1;"><span id="result_box" lang="es"><strong><span class="hps">Rompiendo</span> <span class="hps">los walled gardens</span><span>:</span></strong> <span class="hps">La norma para</span> <span class="hps">las plataformas móviles es que</span> <span class="hps">tienden a</span> <span class="hps">ser</span> <span class="hps">cerradas y escritas </span><span class="hps">con tecnologías</span> <span class="hps">propietarias</span><span>, por lo que</span> <span class="hps">las aplicaciones</span> <span class="hps">están</span> <span class="hps">encerradas en</span> <span class="hps">sus plataformas.</span> <span class="hps">Y</span> <span class="hps">los teléfonos inteligentes</span> <span class="hps">tienden a ser caros</span><span>,</span> <span class="hps">y requieren</span> <span class="hps">tarjetas de crédito para</span> <span class="hps">las compras de aplicaciones</span><span>.</span> Las Open Web Apps <span class="hps">tienden a ser</span> <span class="hps">capaces de ejecutarse</span> <span class="hps">en un hardware</span> <span class="hps">mucho más barato</span><span>, sobre todo</span> <span class="hps">en el caso</span> <span class="hps">de los dispositivos que portan</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">dónde</span><span> literalmente</span> <span class="hps">Firefox</span>  se <span class="hps">ejecuta encima</span> <span class="hps">de un</span> <span class="hps">kernel</span> <span class="hps">Linux</span> <span class="hps">muy ligero.</span> <span class="hps">Y están</span> <span class="hps">escritas usando</span> <span class="hps">tecnologías web</span> <span class="hps">abiertas</span><span>, que es</span> <span class="hps">la plataforma más</span> <span class="hps">distribuida</span> <span class="hps">alrededor del mundo.</span> <span class="hps">Además, los dispositivos</span> <span class="hps">de Firefox</span> <span class="hps">OS</span> <span class="hps">cuentan con</span> <span class="hps">sistemas de pago</span> <span class="hps">donde se puede simplemente</span> <span class="hps">pagar por adelantado para</span> <span class="hps">comprar aplicaciones</span> <span class="hps">o agregar</span> <span class="hps">el costo</span> <span class="hps">a</span> <span class="hps">su factura de</span> <span class="hps">teléfono.</span></span></div>
- </div>
- </li>
- <li><strong>Tienda de Open Web Apps</strong>: <span id="result_box" lang="es"><span class="hps">Siguiendo con</span> <span class="hps">el punto anterior,</span> <span class="hps">se puede optar por</span> <span class="hps">alojar sus</span> <span class="hps">aplicaciones</span> <span class="hps">en un mercado</span> <span class="hps">existente </span></span>(como el <a href="https://marketplace.firefox.com/" title="https://marketplace.firefox.com/">Firefox Marketplace</a>), <span id="result_box" lang="es"><span class="hps">o alojarlas</span> <span class="hps">en algún lugar</span> <span class="hps">completamente distinto.</span> <span class="hps">Todo depende de</span> <span class="hps">usted.</span> <span class="hps">Mozilla</span> <span class="hps">tiene como objetivo poner</span> <span class="hps">de vuelta al desarrollador d</span><span class="hps">e nuevo en el control</span> <span class="hps">de cada aspecto </span><span class="hps">de las aplicaciones</span><span class="hps"> para una facil</span><span class="hps"> distribución  y </span><span class="hps">la gestión directa</span> de <span class="hps">la relación con el cliente</span><span>.</span><span class="hps"> Y las</span> <span class="hps">aplicaciones</span> <span class="hps">se pueden buscar</span> <span class="hps">al igual que cualquier</span> <span class="hps">otra experiencia</span> <span class="hps">basada en la Web</span><span>.</span></span></li>
-</ul>
-
-<p><span id="result_box" lang="es"><span class="hps">El siguiente video</span> <span class="hps">también se ve en</span> <span class="hps">las ventajas</span> <span class="hps">generales de las Open Web Apps</span><span>, y el desarrollo</span> <span class="hps">para la plataforma</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>:</span></span></p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/RJJkFshnnVc?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<h2 id="La_Web_es_la_plataforma">La Web es la plataforma</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Una Open Web App</span><span>, como tal existe</span> <span class="hps">instalada en</span> <span class="hps">una plataforma como</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">no es un</span> <span class="hps">bookmark</span> <span class="hps">- es</span> <span class="hps">una parte</span><span class="hps"> propia del sistema</span><span>.</span><span class="hps"> Las Open Web Apps</span> son <span class="hps">una gran promesa</span><span>.</span> <span class="hps">Se trata de</span> <span class="hps">una oportunidad</span> <span class="hps">que no hay que</span> <span class="hps">perderse</span><span>,</span> <span class="hps">de lo contrario la</span> <span class="hps">web puede</span> <span class="hps">llegar a ser</span> <span class="hps">una vez más</span><span class="hps"> dividida</span><span>.</span> <span class="hps">Con</span> <span class="hps">esto en mente,</span> <span class="hps">debe</span> <span class="hps">quedar claro</span> <span class="hps">que las Open Web Apps </span><span class="hps atn">(</span><span>OWA</span><span>)</span> <span class="hps">están destinadas a</span> <span class="hps">ser estandarizadas y</span> <span class="hps">de formar parte de</span> <span class="hps atn">"</span><span>la</span> <span class="hps">Web"</span><span>.</span> <span class="hps">Si tiene éxito</span><span>, OWA</span> <span class="hps">debería</span> <span class="hps">eventualmente</span> <span class="hps">trabajar en todos los</span> <span class="hps">navegadores,</span> <span class="hps">sistemas</span> <span class="hps">operativos y dispositivos.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">En</span> <span class="hps">Mozilla</span> <span class="hps">estamos trabajando duro</span> <span class="hps">para crear esta</span> <span class="hps">plataforma de</span> <span class="hps">aplicaciones</span> <span class="hps">que está respaldada</span> <span class="hps">en su totalidad por</span> <span class="hps">la</span> open <span class="hps">Web</span><span class="hps">.</span> <span class="hps">No es</span> <span class="hps">la intención de ser</span> la <span class="hps">"plataforma </span><span class="hps">Mozilla</span><span class="atn">" o la "</span><span>plataforma </span><span class="hps">Firefox"</span><span>.</span> <strong><span class="hps">La</span> <span class="hps">Web</span> <span class="hps">es la plataforma</span></strong><span>.</span> <span class="hps">Estamos creando</span> <span class="hps">un conjunto de</span> <span class="hps">APIs abiertas</span> <span class="hps">y las implementaciones</span> <span class="hps">para demostrar cómo</span> <span class="hps">pueden existir</span> <span class="hps">aplicaciones portátiles</span> <span class="hps">en la web sin</span> <span class="hps">dependencia de un proveedor</span><span>.</span> <span class="hps">Otros grupos</span><span>, como Facebook y</span> <span class="hps">Google</span> <span class="hps">Chrome</span> <span class="hps">también están trabajando</span> <span class="hps">en las plataformas de</span> <span class="hps">aplicaciones</span> <span class="hps">soportadas</span> <span class="hps">por la</span> <span class="hps">Web.</span></span> <a href="https://developers.facebook.com/docs/guides/canvas/">Facebook apps</a> estan hechas para encajar en Facebook y <a href="http://www.google.com/intl/en/chrome/webstore/apps.html">Chrome apps</a> estan diseñadas para dispositivos Chrome OS y servidores de Google. Las Chrome apps son las más similares a las Open Web Apps. <span id="result_box" lang="es"><span class="hps">Seguimos colaborando</span> <span class="hps">con el equipo de</span> <span class="hps">Google</span> <span class="hps">Chrome</span> <span class="hps">como las normas de las apps</span> <span class="hps">evolucionan y</span> <span class="hps">que sin duda</span> <span class="hps">compartimos </span>nuestra<span class="hps"> visión en gran parte.</span> <span class="hps">Existe</span> <span class="hps">un enorme potencial para</span> <span class="hps">todas las plataformas</span> <span class="hps">de apps</span> <span class="hps">basadas en la</span> <span class="hps">Web</span> <span class="hps">para converger</span> <span class="hps">e invitamos a</span> <span class="hps">todos los proveedores</span> <span class="hps">a ayudarnos</span> <span class="hps">a construir</span> las correctas <span class="hps">Open Web </span><span class="hps">App</span> <span class="hps">APIs.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">A pesar de que</span> <span class="hps">actualmente</span> <span class="hps">se debe tener</span> <span class="hps">un motor</span> <span class="hps">basado en Firefox</span> <span class="hps">Mozilla </span></span>("Web runtime") para usar las Open Web Apps, <span id="result_box" lang="es"><span>no</span> <span class="hps">se pretende que</span> <span class="hps">este</span> <span class="hps">será siempre el</span> <span class="hps">caso</span></span>. <span id="result_box" lang="es"><span class="hps">Muchas partes del</span> <span class="hps">proyecto de</span> <span class="hps">aplicaciones</span> <span class="hps">Web</span> <span class="hps">abiertas</span> <span class="hps">aún</span> <span class="hps">se están elaborando</span> <span class="hps">y no es</span> <span class="hps">posible implementar</span> <span class="hps">todo</span> <span class="hps">en todos los navegadores</span> <span class="hps">a la vez</span></span>. <span id="result_box" lang="es"><span class="hps">Aunque</span> <span class="hps">muchas partes de</span> las Open Web Apps <span class="hps">ya</span> <span class="hps">están estandarizadas,</span> <span class="hps">muchas otras partes</span> <span class="hps">todavía están</span> <span class="hps">en proceso de cambio</span><span>.</span> <span class="hps">Se pretende</span> <span class="hps">y se espera</span> <span class="hps">que las Open Web Apps </span><span class="hps">serán</span> <span class="hps">una </span><span class="hps">estándar que</span> <span class="hps">estará disponible en</span> <span class="hps">los principales navegadores</span><span>.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Por lo tanto</span><span>, cuando usted lee</span> <span class="hps">las páginas</span>  de <span class="hps">MDN</span> <span class="hps">que tienen que ver</span> <span class="hps">con</span> <span class="hps">las</span> <span class="hps">Open Web</span><span> Apps,</span> <span class="hps">por favor, tenga</span> <span class="hps">en cuenta que</span> <span class="hps">a pesar de que</span> <span class="hps">mucha de la información</span> <span class="hps">es específica para</span> <span class="hps">Firefox</span> <span class="hps">en este momento,</span> <span class="hps">es de esperar que</span>  <span class="hps">se permitirá desarrollar</span> <span class="hps">Open Web Apps</span> <span class="hps">para todos los navegadores</span> <span class="hps">en el futuro.</span></span></p>
-
-<h2 id="Estándares_Web">Estándares Web</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">La tecnología de</span> <span class="hps">OWA</span> <span class="hps">no es una</span> <span class="hps">sola pieza</span><span>, es</span> <span class="hps">un paraguas</span> <span class="hps">que agrupa a</span> <span class="hps">muchas tecnologías</span> <span class="hps">diferentes</span> <span class="hps">y algunas</span> <span class="hps">de ellas</span> <span class="hps">son muy nuevas</span><span>.</span> <span class="hps">Por el momento</span><span>, partes de</span> <span class="hps">OWA</span> <span class="hps">están estandarizadas</span> <span class="hps">(HTML5</span><span>, CSS</span><span>, JavaScript,</span> <span class="hps">IndexedDB</span><span>, etc.)</span></span>. <span id="result_box" lang="es"><span class="hps">Otras partes</span> <span class="hps">aún no</span> <span class="hps">están estandarizadas y</span> <span class="hps">la implementación</span><span class="hps"> Mozilla</span> <span class="hps">es</span> solo <span class="hps">específica</span> <span class="hps">para</span> <span class="hps">Firefox o</span> <span class="hps">a alguna otra</span> <span class="hps">tecnología de Mozilla</span><span>.</span> <span class="hps">Como</span> <span class="hps">la misión de</span> <span class="hps">Mozilla</span> <span class="hps">es</span> <span class="hps">de compartir y</span> <span class="hps">potenciar a</span> <span class="hps">todos,</span> <span class="hps">esta situación</span> <span class="hps">es sólo temporal.</span> <span class="hps">Es por eso que</span> <span class="hps">en la documentación</span> <span class="hps">OWA</span> <span class="hps">vamos a tratar de</span> <span class="hps">identificar claramente las</span> <span class="hps">partes de</span> <span class="hps">OWA</span> <span class="hps">que no están</span> <span class="hps">todavía</span> <span class="hps">estandarizadas.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Tenga en cuenta también</span> <span class="hps">que puede haber</span> <span class="hps">algunas propuestas</span> <span class="hps">relacionadas con</span> <span class="hps">OWA</span> <span class="hps">y normas</span> <span class="hps">potenciales que</span> <span class="hps">no son utilizadas por</span> <span class="hps">Mozilla.</span></span></p>
-
-<h3 id="Normas_eventualmente_previstas.">Normas eventualmente previstas.</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">Así que aquí están</span> <span class="hps">las piezas no</span> <span class="hps">estandarizadas</span> <span class="hps">aún</span> <span class="hps">a través de las</span> <span class="hps">distintas plataformas</span> <span class="hps">web y</span> <span class="hps">que aún</span> <span class="hps">son</span> <span class="hps">Firefox</span><span>, sólo</span> <span class="hps">por el momento</span><span>:</span></span></p>
-
-<ul>
- <li><a href="/en-US/docs/Web/Apps/Manifest">OWA manifest</a> para definir la app.</li>
- <li><a href="/en-US/docs/Web/Apps/JavaScript_API">The Complete OWA API</a> para trabajar con apps.</li>
- <li><a href="https://wiki.mozilla.org/WebAPI">Web APIs</a> para acceder a cosas como el tel<b>é</b>fono, geolocalización, etc. Tambien puedes ver <a href="http://arewemobileyet.com/">arewemobileyet.com</a> para un reporte de status.</li>
- <li><a href="/en-US/docs/Mozilla/Persona">Identity (Persona)</a> para trabajar con los datos de usuario.</li>
- <li><a href="https://wiki.mozilla.org/WebAPI/WebPayment">WebPayment API</a> para facilitar los pagos en apps y las compras de apps para cualquier Marketplace.</li>
- <li><a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">OWA Receipts</a> para verificar el pago de apps en cualquier dispositivo y vender apps para cualquier Marketplace.</li>
-</ul>
-
-<h3 id="Marketplace">Marketplace</h3>
-
-<h4 id="Compra_una_vez_Ejecuta_donde_sea">Compra una vez, Ejecuta donde sea</h4>
-
-<p><span id="result_box" lang="es"><span class="hps">Desde</span> <span class="hps">el principio</span> <span class="hps">Mozilla</span> <span class="hps">ha</span> construido <span class="hps">un sistema de</span> <span class="hps">aplicaciones</span> <span class="hps">que permite a</span> <span class="hps">los usuarios comprar</span> <span class="hps">una aplicación</span> <span class="hps">una vez</span> <span class="hps">y ejecutarla en</span> <span class="hps">todos sus dispositivos</span> <span class="hps">HTML5</span><span>.</span> <span class="hps">Muy</span> <span class="hps">pronto</span> <span class="hps">Mozilla</span></span> <a href="http://bits.blogs.nytimes.com/2012/09/07/a-firefox-smartphone-for-the-poor/">lanzara el smartphone FirefoxOS</a> <span id="result_box" lang="es"><span class="hps">pero eso será</span> <span class="hps">sólo un</span> <span class="hps">dispositivo en el que</span> <span class="hps">se ejecuten</span> <span class="hps">sus aplicaciones</span><span>.</span> <span class="hps">Cuando usted compra</span> <span class="hps">una aplicación</span> <span class="hps">a través de la</span></span> <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>, <span class="short_text" id="result_box" lang="es"><span class="hps">el sistema instala</span> <span class="hps">un recibo</span> <span class="hps">en su dispositivo</span></span>. El <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">recibo</a> es un JSON Web Token con metadata <span id="result_box" lang="es"><span class="hps">que enlaza con</span> <span class="hps">la clave pública del</span> <span class="hps">mercado</span> <span class="hps">y su</span> <span class="hps">dirección URL del servicio</span> <span class="hps">de verificación</span></span>. <span id="result_box" lang="es"><span class="hps">Cuando</span> <span class="hps">una aplicación</span> <span class="hps">se inicia</span><span>, puede</span> <span class="hps">verificar</span> el recibo <span class="hps">pero</span> el recibo <span class="hps">en el dispositivo no</span> <span class="hps">está</span> <span class="hps">atado al</span> <span class="hps">Firefox MarketPlace.</span> <span class="hps">El recibo es</span> <span class="hps">sólo una prueba</span> <span class="hps">criptográficamente</span> <span class="hps">verificable</span> <span class="hps">de compra.</span> <span class="hps">Cualquiera puede</span> <span class="hps">vender</span> <span class="hps">Open Web Apps</span> <span class="hps">si siguen las</span> <span class="hps">especificaciones del</span> <span class="hps">recibo</span><span>.</span> <strong><span class="hps">Cuando usted compra</span> <span class="hps">una aplicación</span><span>, se</span> <span class="hps">pretende que sea</span> <span class="hps">portable a través de</span> <span class="hps">cualquier dispositivo compatible con</span> <span class="hps">el sistema de</span> Open Web Apps<span>.</span></strong></span></p>
-
-<div class="almost_half_cell" id="gt-res-content">
-<div dir="ltr" style="zoom: 1;"><span id="result_box" lang="es"><span class="hps">Mozilla</span> <span class="hps">está construyendo</span> <span class="hps">la infraestructura necesaria</span> <span class="hps">para ejecutar</span> <span class="hps">Open Web Apps</span> <span class="hps">en cualquier dispositivo</span> <span class="hps">HTML5.</span> <span class="hps">Firefox</span> <span class="hps">para Android</span> <span class="hps">le permitirá instalar</span> <span class="hps">y ejecutar</span> <span class="hps">aplicaciones</span> <span class="hps atn">(</span><span>se puede probar</span> <span class="hps">hoy</span><span>)</span><span>.</span> <span class="hps">Los iconos de las apps instaladas estarán en tu pantalla principal justo como en las aplicaciones normales de Android. También se puede</span> <span class="hps">instalar y ejecutar</span> <span class="hps">Open Web Apps </span><span class="hps">en el escritorio</span> <span class="hps">de Windows</span><span>, Mac</span> <span class="hps">o</span> <span class="hps">Linux</span> <span class="hps">usando</span> <span class="hps">Firefox</span> <span class="hps">(esto funciona</span> <span class="hps">actualmente</span><span>)</span><span>.</span> <span class="hps">Actualmente</span> <span class="hps">se requiere</span> <span class="hps">alguna versión de</span> <span class="hps">Firefox</span><span>, pero</span> <span class="hps">está previsto que</span> <span class="hps">el sistema de</span> <span class="hps">Open Web</span> <span class="hps">finalmente</span> <span class="hps">reciba el apoyo de</span> <span class="hps">todos los navegadores</span> <span class="hps">principales con</span> <span class="hps">un conjunto de normas</span><span>.</span> <span class="hps">Desde el primer día</span> <span class="hps">Mozilla</span> <span class="hps">ha</span> <span class="hps">incluido todos</span> <span class="hps">los navegadores</span> <span class="hps">compatibles con</span> <span class="hps">HTML5</span> <span class="hps">en su</span> <span class="hps">prueba de</span> <span class="hps">conceptos</span><span>, se puede</span> <span class="hps">echar un vistazo a</span> <span class="hps">esta</span> <span class="hps">shim alojada en</span> <span class="hps">JavaScript</span> <span class="hps">para obtener ideas sobre</span> <span class="hps">cómo apoyar a</span> <span class="hps">la plataforma de</span> <span class="hps">aplicaciones</span> <span class="hps">en un navegador</span> <span class="hps">que no sea Firefox</span><span>.</span></span></div>
-
-<div dir="ltr" style="zoom: 1;"> </div>
-</div>
-
-<p><span id="result_box" lang="es"><span class="hps">En</span> <span class="hps">el futuro, el</span> <span class="hps">sistema de</span> Open Web Apps <span class="hps">apoyará </span></span><a href="http://docs.services.mozilla.com/aitc/">sinconizando tus apps instaladas</a> entre dispositivos. <span id="result_box" lang="es"><span class="hps">Dado que</span> <span class="hps">los recibos</span> <span class="hps">son portátiles</span> <span class="hps">sólo podrías</span> <span class="hps">sincronizarlos</span> <span class="hps">tú mismo</span> <span class="hps">si quieres</span><span>.</span> <span class="hps">En caso de que</span> <span class="hps">no, es obvio</span><span>  que siempre se puede</span> <span class="hps">ejecutar una</span> <span class="hps">Open Web App</span><span class="hps"> gratis</span> <span class="hps">en cualquier navegador</span><span>, ya que</span> <span class="hps">no</span> <span class="hps">es diferente de</span> <span class="hps">un sitio web</span></span>. </p>
-
-<div class="almost_half_cell" id="gt-res-content">
-<div dir="ltr" style="zoom: 1;"><span class="short_text" id="result_box" lang="es"><span class="hps">Se podría</span><span>, sin embargo</span><span>,</span> <span class="hps">utilizar las nuevas</span></span><a href="https://wiki.mozilla.org/WebAPI/"> APIs especificas para mobiles</a> <span class="short_text" id="result_box" lang="es"><span class="hps">que no</span> <span class="hps">se aplican</span> <span class="hps">en todas las plataformas</span><span>.</span></span></div>
-
-<div dir="ltr" style="zoom: 1;"> </div>
-</div>
-
-<p><span id="result_box" lang="es"><span class="hps">El video a continuación</span> <span class="hps">ofrece</span> <span class="hps">un panorama útil de</span> <span class="hps">las ventajas de</span> <span class="hps">los MarketPlace</span> <span class="hps">abiertos</span> <span class="hps">y un enfoque</span> para el descubrimiento de las Open Apps<span>:</span></span></p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/QCH_ncCrZfE?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<h3 id="WebPayment_API">WebPayment API</h3>
-
-<h4 id="Comercio_para_Apps">Comercio para Apps</h4>
-
-<div class="almost_half_cell" id="gt-res-content">
-<div dir="ltr" style="zoom: 1;"><span id="result_box" lang="es"><span class="hps">Parte del éxito</span> <span class="hps">de las</span> <span class="hps">plataformas de aplicaciones</span> <span class="hps">móviles como</span> <span class="hps">iOS</span> <span class="hps">y Android</span> <span class="hps">es que hacen</span> <span class="hps">que sea muy fácil</span> <span class="hps">de probar</span> <span class="hps">nuevos modelos de negocio</span> <span class="hps">a través de</span> <span class="hps">los pagos móviles</span><span>.</span> <span class="hps">Estos modelos</span> <span class="hps">todavía</span> <span class="hps">están evolucionando</span> <span class="hps">pero el comercio</span> <span class="hps">es</span> <span class="hps">sin duda</span> <span class="hps">algo que</span><span>,</span> <span class="hps">en el momento</span><span>,</span> <span class="hps">es</span> <span class="hps">incómodo</span> <span class="hps">en la Web</span> <span class="hps">de escritorio</span> <span class="hps">y</span> <span class="hps">más natural</span> <span class="hps">en el móvil</span><span>.</span> <span class="hps">En concreto</span><span>, es muy</span> <span class="hps">conveniente para cargar</span> <span class="hps">algo a su</span> <span class="hps">factura de teléfono</span> <span class="hps">cuando</span> <span class="hps">usted ya está</span> <span class="hps">accediendo a ella</span> <span class="hps">desde el teléfono</span> <span class="hps">de todos modos.</span></span> <span id="result_box" lang="es"><span class="hps">Con el lanzamiento de</span> <span class="hps">Firefox</span> <span class="hps">OS</span><span>, el entorno de</span> <span class="hps">aplicaciones</span> <span class="hps">apoyará</span> <span class="hps">compras de aplicaciones</span> <span class="hps">y los pagos</span> <span class="hps">dentro de la aplicación</span> <span class="hps">a través de la</span></span> <a href="https://wiki.mozilla.org/WebAPI/WebPayment" style="">WebPayment API</a>.<span id="result_box" lang="es"><span class="hps"> Apoyar</span> <span class="hps">el comercio</span> <span class="hps">es crucial</span> <span class="hps">para el crecimiento de</span> <span class="hps">una plataforma de</span> <span class="hps">aplicaciones</span><span>.</span> <strong><span class="hps">El</span> <span class="hps">uso de</span> <span class="hps">la API de</span> <span class="hps">pago propuesto</span> <span class="hps">es</span> <span class="hps">completamente opcional</span><span>.</span> </strong><span class="hps">Mozilla</span> <span class="hps">no impedirá que</span> <span class="hps">cualquier aplicación</span><span class="hps"> utilice su</span> <span class="hps">propio</span> <span class="hps"><span id="result_box" lang="es"><span class="hps">sistema de pago independiente</span></span></span><span>.</span></span></div>
-
-<div dir="ltr" style="zoom: 1;"> </div>
-</div>
-
-<h2 id="Véase_también">V<span class="short_text" id="result_box" lang="es"><span class="hps">éase también</span></span></h2>
-
-<ul>
- <li><a href="https://blog.mozilla.org/webdev/2012/09/14/apps-the-web-is-the-platform/">Apps: The Web Is The Platform</a>, por Kumar McMillan (el blog publica <span id="result_box" lang="es"><span class="hps">mucho</span> <span class="hps">de los contenidos</span> <span class="hps">de este artículo</span><span>)</span></span></li>
- <li><a href="https://plus.google.com/113127438179392830442/posts/fR3iiuN4kEF">See the Web platform succeed for applications</a>, por Paul Irish</li>
-</ul>
diff --git a/files/es/archive/b2g_os/quickstart/tu_primera_aplicacion/index.html b/files/es/archive/b2g_os/quickstart/tu_primera_aplicacion/index.html
deleted file mode 100644
index a1f58175e8..0000000000
--- a/files/es/archive/b2g_os/quickstart/tu_primera_aplicacion/index.html
+++ /dev/null
@@ -1,257 +0,0 @@
----
-title: Tu primera Aplicación
-slug: Archive/B2G_OS/Quickstart/tu_primera_aplicacion
-translation_of: Archive/B2G_OS/Quickstart/Your_first_app
----
-<article class="brush: js">
-<div class="summary">
-<p>Las aplicaciones de la web abierta le dan a los desarrolladores lo que justamente han querido por años: un entorno multiplataforma dedicado a la construccion de aplicaciones con HTML, CSS y Javascript, con Firefox OS siendo la primera plataforma dedicada a las aplicaciones web. Esta guía tiene como objetivo iniciarte y orientarte rápidamente en una estructura básica e instrucciones de construcción, ¡de tal manera que tú puedas crear la siguiente generación de aplicaciones!</p>
-</div>
-
-<p>Si deseas continuar con esta guía, puedes descargar nuestro<span style="line-height: 21px;"> </span><a href="https://github.com/chrisdavidmills/mdn-app-template" style="line-height: 21px;">quick start app template</a>. Encuentra más provechoso el contenido leyendo la guía <span style="line-height: 21px;"> </span><a href="https://developer.mozilla.org/en-US/docs/Project:MDN/Style_guide/Sample_app_coding_guidelines#Apps_template" style="line-height: 21px;">Apps template</a><span style="line-height: 21px;">.</span></p>
-
-<h2 id="Estructura_de_la_Aplicación">Estructura de la Aplicación</h2>
-
-<h3 id="Aplicaciones_Empaquetadas_vs._Aplicaciones_Alojadas">Aplicaciones Empaquetadas vs. Aplicaciones Alojadas</h3>
-
-<p>Hay dos tipos de aplicaciones web abiertas: <code>empaquetadas </code>y  <code>alojadas. </code>Las aplicaciones empaquetadas son esencialmente archivos  <code>zip</code>  conteniendo todos los archivos necesarios: HTML, CSS, JavaScript, imágenes, manifest, etc. Las aplicaciones alojadas están corriendo desde un servidor en un dominio dado, como un sitio web estandard. Ambos tipos de aplicaciones  requieren un manifest válido. Cuando llega el momento de listar tu aplicación  en el Firefox Marketplace, ya sea que tu subas tu aplicación como un archivo zip o la URL del servidor donde está tu aplicación.</p>
-
-<div><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/Q7x-B13y33Q?rel=0&amp;html5=1"></iframe></div></div>
-<div class="video-caption">
-<p>Hecho en colaboración con Treehouse: <a class="button" href="http://teamtreehouse.com/?cid=1154">Check them out!</a></p>
-</div>
-</div>
-
-<p>A los efectos de esta guía, crearás una aplicación alojada que vivirá en tu dirección <code>localhost</code>. Una vez que tu aplicación esté lista para ser publicada en el Firefox Marketplace, podras tomar la decisión de agruparla como una aplicación empaquetada o lanzarla como una aplicación alojada.</p>
-
-<h3 id="Manifest_de_la_Aplicación">Manifest de la Aplicación</h3>
-
-<p>Cada aplicación de Firefox  requiere un archivo manifest.webapp en la raíz de la aplicación. El archivo <a href="/en-US/docs/Web/Apps/Manifest"><code>manifest.webapp</code></a>  proporciona información importante sobre la aplicación, como la versión, nombre, descripción, localización de íconos, strings locales, dominios donde la aplicación puede ser instalada, y mucho más. Sólo el nombre y la descripción son obligatorios. Una plantilla simple dentro de la aplicación es similar a lo que sigue:</p>
-
-<pre class="brush: js">{
- "version": "0.1",
- "name": "Open Web App",
- "description": "Your new awesome Open Web App",
- "launch_path": "/app-template/index.html",
- "icons": {
- "16": "/app-template/app-icons/icon-16.png",
- "48": "/app-template/app-icons/icon-48.png",
- "128": "/app-template/app-icons/icon-128.png"
- },
- "developer": {
- "name": "Your Name",
- "url": "http://yourawesomeapp.com"
- },
- "locales": {
- "es": {
- "description": "Su nueva aplicación impresionante Open Web",
- "developer": {
- "url": "http://yourawesomeapp.com"
- }
- },
- "it": {
- "description": "Il vostro nuovo fantastico Open Web App",
- "developer": {
- "url": "http://yourawesomeapp.com"
- }
- }
- },
- "default_locale": "en"
-}</pre>
-
-<div><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/dgAUgHQOm8M#t?rel=0&amp;html5=1"></iframe></div></div>
-<div class="video-caption">
-<p>Hecho en colaboración con Treehouse: <a class="button" href="http://teamtreehouse.com/?cid=1154">Check them out!</a></p>
-</div>
-</div>
-
-<p> </p>
-
-<p>Un manifiesto básico es todo lo que necesitas para empezar. Para más detalles sobre los manifiestos, lee <a href="/en-US/docs/Web/Apps/Manifest">App Manifest</a>.</p>
-
-<h2 id="App_Layout_Design">App Layout &amp; Design</h2>
-
-<p>El <em>responsive design</em> (diseño adaptativo) se ha convertido cada vez más importante a medida que más resoluciones de pantalla en diferentes dispositivos se convierten en la norma. Aunque el principal objetivo de tu aplicación sean las plataformas móviles como Firefox OS, otros dispositivos probablemente también tengan acceso a ella. Las <a href="//developer.mozilla.org/docs/CSS/Media_queries">CSS media queries</a> permiten adaptar el diseño al dispositivo, como se muestra en este ejemplo de esqueleto en CSS:</p>
-
-<pre class="brush: css">/* The following are examples of different CSS media queries */
-
-/* Basic desktop/screen width sniff */
-@media only screen and (min-width : 1224px) {
- /* styles */
-}
-
-/* Traditional iPhone width */
-@media
- only screen and (-webkit-min-device-pixel-ratio : 1.5),
- only screen and (min-device-pixel-ratio : 1.5) {
- /* styles */
-}
-
-/* Device settings at different orientations */
-@media screen and (orientation:portrait) {
- /* styles */
-}
-@media screen and (orientation:landscape) {
- /* styles */
-}</pre>
-
-<p>Hay muchos <em>frameworks</em> JavaScript y CSS disponibles para ayudar en el diseño adaptativo y el desarrollo de aplicaciones móviles (<a href="http://twitter.github.com/bootstrap">Bootstrap</a>, etc.). Elige el <em>frameworks(s)</em> que mejor se adapte a tu aplicación y estilo de desarrollo.</p>
-
-<h2 id="Web_APIs">Web APIs</h2>
-
-<p>JavaScript APIs are being created and enhanced as quickly as devices are. Mozilla's <a href="https://wiki.mozilla.org/WebAPI">WebAPI</a> effort brings dozens of standard mobile features to JavaScript APIs. A list of device support and status is available on the <a href="https://wiki.mozilla.org/WebAPI">WebAPI</a> page. JavaScript feature detection is still the best practice, as shown in the following example:</p>
-
-<pre class="brush: js">// If this device supports the vibrate API...
-if('vibrate' in navigator) {
- // ... vibrate for a second
- navigator.vibrate(1000);
-}</pre>
-
-<p>In the following example, the display style of a <code>&lt;div&gt;</code> is modified based on changes in the battery state of the device:</p>
-
-<pre class="brush: java">// Create the battery indicator listeners
-(function() {
- var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery,
- indicator, indicatorPercentage;
-
- if(battery) {
- indicator = document.getElementById('indicator'),
- indicatorPercentage = document.getElementById('indicator-percentage');
-
- // Set listeners for changes
- battery.addEventListener('chargingchange', updateBattery);
- battery.addEventListener('levelchange', updateBattery);
-
- // Update immediately
- updateBattery();
- }
-
- function updateBattery() {
- // Update percentage width and text
- var level = (battery.level * 100) + '%';
- indicatorPercentage.style.width = level;
- indicatorPercentage.innerHTML = 'Battery: ' + level;
- // Update charging status
- indicator.className = battery.charging ? 'charging' : '';
- }
-})();</pre>
-
-<p>In the code sample above, once you confirm that the <a href="https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery">Battery API</a> is supported, you can add event listeners for <code>chargingchange</code> and <code>levelchange</code> to update the element's display. Try adding the following to the quickstart template, and see if you can get it working.</p>
-
-<p>Check the <a href="https://wiki.mozilla.org/WebAPI">WebAPI</a> page frequently to keep up to date with device API statuses.</p>
-
-<h3 id="Install_API_functionality">Install API functionality</h3>
-
-<p>In our sample quickstart app template, we've implemented an install button that you can click when viewing the app as a standard Web page, to install that site on Firefox OS as an app. The button markup is nothing special:</p>
-
-<pre class="brush: html">&lt;button id="install-btn"&gt;Install app&lt;/button&gt;</pre>
-
-<p>This button's functionality is implemented using the Install API (see install.js):</p>
-
-<pre class="brush: js">var manifest_url = location.href + 'manifest.webapp';
-
-function install(ev) {
-  ev.preventDefault();
-  // define the manifest URL
-  // install the app
-  var installLocFind = navigator.mozApps.install(manifest_url);
-  installLocFind.onsuccess = function(data) {
-    // App is installed, do something
-  };
-  installLocFind.onerror = function() {
-    // App wasn't installed, info is in
-    // installapp.error.name
-    alert(installLocFind.error.name);
-  };
-};
-
-// get a reference to the button and call install() on click if the app isn't already installed. If it is, hide the button.
-var button = document.getElementById('install-btn');
-
-var installCheck = navigator.mozApps.checkInstalled(manifest_url);
-
-installCheck.onsuccess = function() {
-  if(installCheck.result) {
-    button.style.display = "none";
-  } else {
-    button.addEventListener('click', install, false);
-  };
-};
-</pre>
-
-<p>Let's run through briefly what is going on:</p>
-
-<ol>
- <li>We get a reference to the install button and store it in the variable <code>button</code>.</li>
- <li>We use <code>navigator.mozApps.checkInstalled</code> to check whether the app defined by the manifest at <code>http://people.mozilla.com/~cmills/location-finder/manifest.webapp</code> is already installed on the device. This test is stored in the variable <code>installCheck</code>.</li>
- <li>When the test is successfully carried out, its success event is fired, therefore <code>installCheck.onsuccess = function() { ... }</code> is run.</li>
- <li>We then test for the existence of <code>installCheck.result</code> using an <code>if</code> statement. If it does exist, meaning that the app is installed, we hide the button. An install button isn't needed if it is already installed.</li>
- <li>If the app isn't installed, we add a click event listener to the button, so the <code>install()</code> function is run when the button is clicked.</li>
- <li>When the button is clicked and the <code>install()</code> function is run, we store the manifest file location in a variable called <code>manifest_url</code>, and then install the app using <code>navigator.mozApps.install(manifest_url)</code>, storing a reference to that installation in the <code>installLocFind</code> variable. You'll notice that this installation also fires success and error events, so you can run actions dependent on whether the install happened successfully or not.</li>
-</ol>
-
-<p>You may want to verify the <a href="/en-US/docs/Web/Apps/JavaScript_API">implementation state of the API</a> when first coming to Installable web apps.</p>
-
-<div class="note">
-<p>Note: Installable open web apps have a "single app per origin" security policy; basically, you can't host more than one installable app per origin. This makes testing a bit more tricky, but there are still ways around this, such as creating different sub-domains for apps, testing them using the Firefox OS Simulator, or testing the install functionality on Firefox Aurora/Nightly, which allows you to install installable web apps on the desktop. See <a href="/en-US/docs/Web/Apps/FAQs/About_app_manifests">FAQs about apps manifests</a> for more information on origins.</p>
-</div>
-
-<h2 id="WebRT_APIs_(Permissions-based_APIs)">WebRT APIs (Permissions-based APIs)</h2>
-
-<p>There are a number of WebAPIs that are available but require permissions for that specific feature to be enabled. Apps may register permission requests within the <code>manifest.webapp</code> file like so:</p>
-
-<pre class="brush: js">// New key in the manifest: "permissions"
-// Request access to any number of APIs
-// Here we request permissions to the systemXHR API
-"permissions": {
- "systemXHR": {}
-}</pre>
-
-<p>The three levels of permission are as follows:</p>
-
-<ul>
- <li>Normal — APIs that don't need any kind of special access permissions.</li>
- <li>Privileged — APIs available to developers to use in their applications, as long as they set access permissions in the app manifest files, and distribute them through a trusted source.</li>
- <li>Certified — APIs that control critical functions on a device, such as the call dialer and messaging services. These are generally not available for third party developers to use.</li>
-</ul>
-
-<p>For more information on app permission levels, read <a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Packaged_apps#Types_of_packaged_apps" title="/en-US/docs/Web/Apps/Packaged_apps#Types_of_packaged_apps">Types of packaged apps</a>. You can find out more information about what APIs require permissions, and what permissions are required, at <a href="/en-US/docs/Web/Apps/App_permissions">App permissions</a>.</p>
-
-<div class="note">
-<p>It's important to note that not all Web APIs have been implemented within the Firefox OS Simulator.</p>
-</div>
-
-<h2 id="Tools_Testing">Tools &amp; Testing</h2>
-
-<p>Testing is incredibly important when supporting mobile devices. There are many options for testing installable open web apps.</p>
-
-<h3 id="Firefox_OS_Simulator">Firefox OS Simulator</h3>
-
-<p>Installing and using the <a href="https://marketplace.firefox.com/developers/docs/firefox_os_simulator">Firefox OS Simulator</a> is the easiest way to get up and running with your app. After you install the simulator, it is accessible from the Tools -&gt; Web Developer -&gt; Firefox OS Simulator menu. The simulator launches with a JavaScript console so you can debug your application from within the simulator.</p>
-
-<h3 id="App_Manager">App Manager</h3>
-
-<p>The new kid on the block with regards to testing tools is called the <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_App_Manager">App Manager</a>. This tool allows you to connect desktop Firefox to a compatible device via USB (or a Firefox OS simulator), push apps straight to the device, validate apps, and debug them as they run on the device.</p>
-
-<h3 id="Unit_Testing">Unit Testing</h3>
-
-<p>Unit tests are extremely valuable when testing on different devices and builds. jQuery's <a href="http://qunitjs.com">QUnit</a> is a popular client-side testing utility, but you can use any set of testing tools you'd like.</p>
-
-<h3 id="Installing_Firefox_OS_on_a_Device">Installing Firefox OS on a Device</h3>
-
-<p>Since Firefox OS is an open source platform, code and tools are available to build and install Firefox OS on your own device. Build and installation instructions, as well as notes on what devices it can be installed on, can be found on <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform">MDN</a>.</p>
-
-<p>Dedicated Firefox OS developer preview devices are also available: read our <a href="https://marketplace.firefox.com/developers/dev_phone">Developer preview phone page</a> for more information.</p>
-
-<h2 id="App_Submission_and_Distribution">App Submission and Distribution</h2>
-
-<p>Once your app is complete, you can host it yourself like a standard web site or app (read <a href="/en-US/docs/Web/Apps/Publishing/Self-publishing_Apps">Self-publishing apps</a> for more information), or it can be <a href="https://marketplace.firefox.com/developers/submit/app/manifest">submitted</a> to the <a href="https://marketplace.firefox.com">Firefox Marketplace</a>. Your app's manifest will be validated and you may choose which devices your app will support (e.g. Firefox OS, Desktop Firefox, Firefox Mobile, Firefox Tablet). Once validated, you can add additional details about your app (screenshots, descriptions, price, etc.) and officially submit the app for listing within the Marketplace. Once approved, your app is available to the world for purchase and installation.</p>
-
-<h3 id="More_Marketplace_Listing_Information">More Marketplace &amp; Listing Information</h3>
-
-<ol>
- <li><a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Submitting an App to the Firefox OS Marketplace </a></li>
- <li><a href="/en-US/docs/Web/Apps/Publishing/Marketplace_review_criteria">Marketplace Review Criteria </a></li>
- <li><a href="http://s.vid.ly/embeded.html?link=8k2n4w&amp;autoplay=false">App Submission Video Walkthrough </a></li>
-</ol>
-</article>
diff --git a/files/es/archive/b2g_os/releases/2.0/index.html b/files/es/archive/b2g_os/releases/2.0/index.html
deleted file mode 100644
index df409eb076..0000000000
--- a/files/es/archive/b2g_os/releases/2.0/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: Firefox OS 2.0 para desarrolladores
-slug: Archive/B2G_OS/Releases/2.0
-tags:
- - '2.0'
- - B2G
- - Firefox OS
- - Notas de la versión
-translation_of: Archive/B2G_OS/Releases/2.0
----
-<div class="summary">
- <p>En esta página se detallan las características para desarrolladores recientemente implementadas en Gecko específicos para Firefox OS 2.0.</p>
-</div>
-<div class="note">
- <p>El componente Gecko de Firefox OS 2.0 esta basado en Firefox 31/32.</p>
-</div>
-<h2 id="Nuevas_características">Nuevas características</h2>
-<p>Esta sección provee un resumen de las nuevas características disponibles en Firefox OS 2.0. Para mas detalles de cambios en una plataforma especifica (Adiciones API, etc.), revisa la sección<span style="line-height: 1.5;"> <a href="#Adiciones_de_la_plataforma_en_detalle">Adiciones de la plataforma en detalle</a>.</span></p>
-<dl>
- <dt>
- NFC</dt>
- <dd>
- Esta versión incluye soporte para contenido de dispositivo a dispositivo compartido con la tecnología NFC (Near Field Communication). Tu puedes emparejar tu dispositivo con cualquier otro y luego<span style="line-height: 1.5;"> </span><a href="/en-US/docs/Web/API/NFC_API/Using_the_NFC_API#The_P2P_Sharing_UI" style="line-height: 1.5;">deslizar para compartir</a> tus contactos, multimedia o URL's favoritas con otros<span style="line-height: 1.5;">.</span></dd>
- <dt>
- Telefonía</dt>
- <dd>
- Firefox OS ahora soporta direcciones IPv4 e IPv6 en el administrador de red.</dd>
- <dt>
- Encontrar Mi Dispositivo</dt>
- <dd>
- Si has perdido tu teléfono Firefox OS, Encontrar Mi Dispositivo puede ayudarte a encontrarlo (ve al sitio web<span class="author-g-9k649z122zgh819oqmty" style="line-height: 1.5;"> <span class="author-g-9k649z122zgh819oqmty url"><a href="http://find.firefox.com">http://find.firefox.com</a></span>). Puedes verlo en un mapa, hacer que reproduzca un sonido y que muestre un mensaje en pantalla. También puedes bloquearlo remotamente o borrar tu información personal. Para empezar, crea una cuenta Firefox</span><span class="author-g-9k649z122zgh819oqmty" style="line-height: 1.5;"> (<em>Ajustes &gt; Firefox Accounts</em> en tu dispositivo) y activa Encontrar Mi Dispositivo (<span class="author-g-9k649z122zgh819oqmty"><em>Ajustes &gt; Encontrar mi dispositivo</em></span>).</span></dd>
- <dt>
- Multimedia</dt>
- <dd>
- Ahora puedes crear tus propios ringtones usando tu propia colección de música, o canciones que has descargado de la web.</dd>
- <dt>
- Cámara</dt>
- <dd>
- La aplicación de la cámara ahora soporta varios modos de enfoque<span style="line-height: 1.5;">: Touch, auto continuo, y seguimiento de rostro.</span></dd>
- <dt>
- Productividad</dt>
- <dd>
- Hemos realizado una actualización visual a las aplicaciones de Correo, Calendario y Reloj.</dd>
- <dt>
- Pantalla de inicio</dt>
- <dd>
- <span class="author-g-4f4wmtjtu8s4fjq7 b i">Firefox OS 2.0 introduce una pantalla de inicio con desplazamiento vertical sencillo e iconos mas grandes.</span></dd>
- <dt>
- Cambio de aplicación con gestos en los bordes</dt>
- <dd>
- Gestos en los bordes están ahora disponibles para intercambiar entre las diferentes aplicaciones (desliza tu pulgar desde el borde izquierdo de la pantalla hacia el derecho y viceversa, para cambiar entre las múltiples aplicaciones abiertas).</dd>
-</dl>
-<h2 id="Nuevas_características_para_socios">Nuevas características para socios</h2>
-<dl>
- <dt>
- Integración E.ME </dt>
- <dd>
- La integración E.ME proporciona acceso directo a aplicaciones web mientras proveedores de búsqueda configurables pueden buscar en la web al mismo tiempo.</dd>
-</dl>
-<h2 id="Nuevas_características_en_las_DevTools">Nuevas características en las DevTools</h2>
-<p>Las <a href="/en-US/docs/Tools">Herramientas para desarrolladores</a> de Firefox han tenido un gran numero de características añadidas en las versiones 31 y 32 de Firefox; estas no son especificas de Firefox OS, pero puede tomar ventaja de ellas depurando tus aplicaciones para Firefox OS mediante el <a href="/en-US/docs/Tools/WebIDE">WebIDE</a>. Para saber mas, lea:</p>
-<ul>
- <li><a href="https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/">Firefox Developer Tools Episodio 31</a></li>
- <li><a href="https://hacks.mozilla.org/2014/06/toolbox-inspector-scratchpad-improvements-firefox-developer-tools-episode-32/">Firefox Developer Tools Episodio 32</a></li>
-</ul>
-<h2 id="Adiciones_de_la_plataforma_en_detalle">Adiciones de la plataforma en detalle</h2>
-<div class="note">
- <p><strong>Nota</strong>: Esta lista incluye las características mas importantes de Firefox OS. Para una lista ampliada de característica añadidas a Gecko (que generalmente están presentes también en Firefox OS 2.0), consulta las <a href="/en-US/docs/Mozilla/Firefox/Releases/31" title="/en-US/docs/Mozilla/Firefox/Releases/31">notas de la versión para desarrolladores de Firefox 31</a> y las <a href="/en-US/docs/Mozilla/Firefox/Releases/32" title="/en-US/docs/Mozilla/Firefox/Releases/32">notas para desarrolladores de Firefox 32</a>.</p>
-</div>
-<h3 id="Web_API">Web API</h3>
-<ul>
- <li>Los parámetros del constructor <a href="/es/docs/Web/API/MozMobileNetworkInfo" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>MozMobileNetworkInfo</code></a> constructor acepta ahora valores null (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1026727" title="FIXED: Unknown state is displayed instead of Connected during manual network selection">error 1026727</a>).</li>
- <li>WebRTC: <span class="author-g-41mtsa1hor7b107c i"><a href="/es/docs/Web/API/MozGetUserMedia" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>mozGetUserMedia</code></a>, <a href="/es/docs/Web/API/MozRTCPeerConnection" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>mozRTCPeerConnection</code></a>, y <a href="/es/docs/Web/API/DataChannels" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>DataChannels</code></a> son soportados por defecto</span>.</li>
- <li>Nuevas restricciones para  <a class="new" href="https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUserMedia.getUserMedia" title="The documentation about this has not yet been written; please consider contributing!"><code>getUserMedia()</code></a>, <code>width</code>, <code>height</code>, and <code>framerate de </code><a href="https://developer.mozilla.org/en-US/docs/Glossary/WebRTC">WebRTC</a>,  han sido añadidas para limitar las dimensiones del stream y la velocidad de fotogramas (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907352" title="FIXED: Implement width/height/framerate gUM constraints">bug 907352</a>):
- <pre class="brush: json language-json"><code class="language-json"><span class="token punctuation">{</span>
- mandatory<span class="token punctuation">:</span> <span class="token punctuation">{</span>
- width<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">640</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
- height<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">480</span> <span class="token punctuation">}</span>
- <span class="token punctuation">}</span><span class="token punctuation">,</span>
- optional<span class="token punctuation">:</span> <span class="token punctuation">[</span>
- <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">650</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
- <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">650</span> <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
- <span class="token punctuation">{</span> frameRate<span class="token punctuation">:</span> <span class="token number">60</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
- <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token punctuation">{</span> max<span class="token punctuation">:</span> <span class="token number">800</span> <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
- <span class="token punctuation">]</span>
-<span class="token punctuation">}</span></code></pre>
- </li>
- <li>Soporte para RTSP streaming está ahora disponible (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=929372" title="FIXED: [RTSP][User Story]Support basic RTSP streaming function.">error 929372</a>).</li>
- <li>La API de estadística de recursos ha sido implementado (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=951976" title="FIXED: API for Resource Statistics">error 951976</a>).</li>
- <li>La API de Resource Timing ha sido implementado (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=822480" title="FIXED: Add in the Resource Timing API">error 822480</a>).</li>
- <li>La API de fastSeek ahora está disponible para elementos multimedia (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=778077" title="FIXED: Implement fastSeek API on media elements (and switch the built-in controls over to it)">error 778077</a>).</li>
- <li><span class="author-g-41mtsa1hor7b107c i">La <a href="/en-US/docs/Web/API/Network_Information_API">API de información de red</a> está ahora expuesta a Firefox OS (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=960426" title="FIXED: Support Network Information API in Firefox OS">error 960426</a>).</span></li>
- <li><span class="author-g-41mtsa1hor7b107c i"><span class="author-g-41mtsa1hor7b107c i">Las capacidades Wifi del dispositivo pueden retornarse usando <code>WifiManager.getCapabilities()</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1002314" title="FIXED: [B2G]To have a webapi providing WIFI capabilities of device">error 1002314</a>).</span></span></li>
- <li>El comportamiento del método <a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator.vibrate" title="The Navigator.vibrate() method pulses the vibration hardware on the device, if such hardware exists. If the device doesn't support vibration, this method has no effect. If a vibration pattern is already in progress when this method is called, the previous pattern is halted and the new one begins instead."><code>Navigator.vibrate()</code></a>  ha sido adaptado a la ultima especificación: Vibraciones muy largas ahora son truncadas (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1014581" title="FIXED: Update Vibration API to conform to latest W3C spec">bug 1014581</a>).</li>
- <li><span class="author-g-41mtsa1hor7b107c i">La <a href="/en-US/docs/Web/API/Device_Storage_API">API de </a><a href="/en-US/docs/Web/API/Device_Storage_API">Device Storage</a> ahora tiene capacidades de montaje y desmontaje (privilegiado) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=971612" title='FIXED: Implement "mount", "unmount" API for device storage'>error 971612</a>).</span></li>
- <li><span class="author-g-41mtsa1hor7b107c i"><span class="author-g-41mtsa1hor7b107c i">La API de detección de rasgos ahora está disponible (privilegiada) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=983502" title="FIXED: Implement and expose the feature detection API to privileged apps">error 983502</a>).</span></span></li>
- <li> La <a class="new" href="https://developer.mozilla.org/en-US/docs/Web/API/MSISDN_Verification_API">API de verificación MSISDN </a>ha sido añadida (privilegiada) (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=988469" title="FIXED: MSISDN verification API for privileged apps">bug 988469</a>).</li>
- <li>Una nueva API de CameraControl está ahora disponible (privilegiada) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=909542" title="FIXED: Camera Control API clean-up/streamline">error 909542</a>).</li>
- <li>La <a href="https://developer.mozilla.org/en-US/docs/Web/API/Data_Store_API">API</a> de Data Store ahora esta disponible a  <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers">Web Workers</a> (certificado) (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=949325" title="FIXED: C++ wrapper to support DataStore API on the worker">bug 949325</a>).</li>
- <li>La <a href="/en-US/docs/Web/API/Device_Storage_API">API de </a><a href="/en-US/docs/Web/API/Device_Storage_API">Device Storage</a> ahora usa las especificaciones del API File System (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=910412" title="FIXED: Change DeviceStorage API to use FileSystem API spec">error 910412</a>).</li>
- <li><span class="author-g-41mtsa1hor7b107c i">La API de Audio Data obsoleto ha sido eliminada</span> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=927245" title="FIXED: Remove deprecated Audio Data API implementation">error 927245</a>).</li>
-</ul>
-<h3 id="CSS">CSS</h3>
-<ul>
- <li><code>position:sticky</code> ahora es soportado y usado en el diseño de Gaia (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=886646" title="FIXED: implement position:sticky">error 886646</a>).</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow" title="The CSS flex-grow property specifies the flex grow factor of a flex item."><code>flex-grow</code></a> y  <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink" title="The CSS flex-shrink property specifies the flex shrink factor of a flex item."><code>flex-shrink</code></a> ahora pueden hacer la transición entre valores cero y diferentes de cero (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=996945" title="FIXED: Allow flex-grow / flex-shrink to transition between zero and nonzero values">bug 996945</a>).</li>
-</ul>
-<h3 id="Mejoras_en_las_tecnologías_soportadas">Mejoras en las tecnologías soportadas</h3>
-<ul>
- <li>Firefox OS 2.0 ahora es compatible con hardware de video H.264, permitiendo crear y reproducir video codificado usando este códec de manera mucho mas eficiente. Consulta <a href="https://developer.mozilla.org/en-US/Firefox_OS/Media_support">Soporte multimedia en Firefox OS</a> para mas detalles.</li>
-</ul>
-<h2 id="Versiones_Antiguas">Versiones Antiguas</h2>
-<p></p><div class="multiColumnList">
-<ul>
-<li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.4">Firefox OS 1.4 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.3">Firefox OS 1.3 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.2">Firefox OS 1.2 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.1">Firefox OS 1.1 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.0.1">Firefox OS 1.0.1 for developers</a></li></ul>
-</div><p></p>
diff --git a/files/es/archive/b2g_os/releases/2.1/index.html b/files/es/archive/b2g_os/releases/2.1/index.html
deleted file mode 100644
index d43116ad1e..0000000000
--- a/files/es/archive/b2g_os/releases/2.1/index.html
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Firefox OS 2.1 para desarrolladores
-slug: Archive/B2G_OS/Releases/2.1
-tags:
- - '2.1'
- - B2G
- - Firefox OS
- - Notas de la versión
-translation_of: Archive/B2G_OS/Releases/2.1
----
-<div class="summary">
- <p><span class="seoSummary"><strong style="line-height: 1.5;">Firefox OS 2.1 está en una etapa de pre-lanzamiento en este momento</strong><span style="line-height: 1.5;">. Su componente Gecko está basado en </span><strong style="line-height: 1.5;">Firefox 33/34</strong><span style="line-height: 1.5;">. En esta página se detallan las características para desarrolladores recientemente implementadas en Gecko específicamente para</span> Firefox OS 2.1.</span></p>
-</div>
-<div class="note">
- <p><strong>Nota</strong>: Para las características generales de Gecko que están también presentes en Firefox OS Gecko, consulta las <a href="/en-US/docs/Mozilla/Firefox/Releases/33" title="/en-US/docs/Mozilla/Firefox/Releases/28">notas de Firefox 33 para desarrolladores</a> y <a href="/en-US/docs/Mozilla/Firefox/Releases/34" title="/en-US/docs/Mozilla/Firefox/Releases/28">notas de Firefox 34 para desarrolladores</a>.</p>
-</div>
-<h2 id="Cambios_en_la_plataforma">Cambios en la plataforma</h2>
-<p>Firefox OS tenia una política de seguridad de "Aplicación individual (single app) por origen", pero esto ha cambiado desde Firefox 34/Firefox OS 2.1 (leer <a href="https://developer.mozilla.org/en-US/Apps/Build/installable_apps_for_Firefox_OS/App_manifest_FAQ#Can_I_have_more_than_one_app_at_my_origin.3F">FAQ</a> para mas información). Si usted necesita compatibilidad con las versiones anteriores, considere alojar tus aplicaciones en orígenes separados; una estrategia posible es <a href="/en-US/Marketplace/Publishing/Adding_a_subdomain">crear diferentes subdominios</a> para tus aplicaciones.</p>
-<h2 id="Cambios_en_la_API_Web">Cambios en la API <span style="font-size: 2.14285714285714rem;">Web </span><span style="font-size: 2.14285714285714rem;"> </span></h2>
-<ul>
- <li>Los event handlers de emparejamiento de la <a href="/en-US/docs/WebAPI/WebBluetooth">API</a> <a href="/en-US/docs/WebAPI/WebBluetooth">Web Bluetooth </a>— <a href="/es/docs/Web/API/BluetoothAdapter/ondevicepaired" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>BluetoothAdapter.ondevicepaired</code></a> y <a href="/es/docs/Web/API/BluetoothAdapter/ondeviceunpaired" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>BluetoothAdapter.ondeviceunpaired</code></a> — han sido añadidos (ver <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1036234" title="FIXED: Implement pairing in BluetoothAdapter (event handlers)">error 1036234</a>).</li>
- <li>Métodos de emparejamiento actualizados de la <a href="/en-US/docs/WebAPI/WebBluetooth">API</a> <a href="/en-US/docs/WebAPI/WebBluetooth">Web Bluetooth </a> han sido añadidos (ver <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1036233" title="FIXED: Implement pairing in BluetoothAdapter (methods)">error 1036233</a>):
- <ul>
- <li>Promise&lt;void&gt; <a href="/es/docs/Web/API/BluetoothAdapter/pair" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>BluetoothAdapter.pair</code></a>(DOMString aAddress)</li>
- <li>Promise&lt;void&gt; <a href="/es/docs/Web/API/BluetoothAdapter/unpair" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>BluetoothAdapter.unpair</code></a>(DOMString aAddress)</li>
- <li>sequence&lt;BluetoothDevice&gt; <a href="/es/docs/Web/API/BluetoothAdapter/getPairedDevices" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>BluetoothAdapter.getPairedDevices</code></a></li>
- </ul>
- </li>
- <li>Compatibilidad para la <a href="https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html">API</a> <a href="https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html">Web Speech </a>está pendiente: un parche ha sido enviado (ver <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1032964" title="[B2G][SpeechRTC][User Story]: Enabling Voice input in Firefox OS">error 1032964</a>).</li>
- <li><span class="author-g-41mtsa1hor7b107c i">La API FileHandle ha sido renombrada como MutableFile, y LockedFile como FileHandle (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1006485" title="FIXED: FileHandle: Rename FileHandle to MutableFile and LockedFile to FileHandle">error 1006485</a>).</span></li>
-</ul>
-<h2 id="Mira_también">Mira también</h2>
-<ul>
- <li>Notas de Firefox OS 2.1 (Estará enlazada una vez se publique.)</li>
-</ul>
-<h2 id="Versiones_Antiguas">Versiones Antiguas</h2>
-<p></p><div class="multiColumnList">
-<ul>
-<li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/2.0">Firefox OS 2.0 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.4">Firefox OS 1.4 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.3">Firefox OS 1.3 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.2">Firefox OS 1.2 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.1">Firefox OS 1.1 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.0.1">Firefox OS 1.0.1 for developers</a></li></ul>
-</div><p></p>
diff --git a/files/es/archive/b2g_os/releases/index.html b/files/es/archive/b2g_os/releases/index.html
deleted file mode 100644
index f4d3874b14..0000000000
--- a/files/es/archive/b2g_os/releases/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Firefox OS developer release notes
-slug: Archive/B2G_OS/Releases
-tags:
- - Firefox OS
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Releases
----
-<h2 id="Firefox_OS_release_notes_by_version">Firefox OS release notes by version</h2>
-<p>This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.</p>
-<div class="multiColumnList">
- <ol><li><a href="/es/docs/Archive/B2G_OS/Releases/2.0">Firefox OS 2.0 para desarrolladores</a></li><li><a href="/es/docs/Archive/B2G_OS/Releases/2.1">Firefox OS 2.1 para desarrolladores</a></li></ol></div>
-<h2 id="Other_supporting_information">Other supporting information</h2>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/API_support_table">Firefox OS API support table</a></dt>
- <dd>
- Lists the different APIs available, and what versions of Firefox have support for them.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/App_permissions">App permissions</a></dt>
- <dd>
- Lists hosted, privileged and certified APIs, along with information on the permissions they need to have set in the App Manifest of your installable apps, such as the manifest permission name, app type required, description, access property, and default permission.</dd>
-</dl>
diff --git a/files/es/archive/b2g_os/screencast_series_colon__app_basics_for_firefox_os/index.html b/files/es/archive/b2g_os/screencast_series_colon__app_basics_for_firefox_os/index.html
deleted file mode 100644
index 77c5748c58..0000000000
--- a/files/es/archive/b2g_os/screencast_series_colon__app_basics_for_firefox_os/index.html
+++ /dev/null
@@ -1,228 +0,0 @@
----
-title: 'Series de Screencast: Lo Básico sobre Aplicaciones para Firefox OS'
-slug: 'Archive/B2G_OS/Screencast_series:_App_Basics_for_Firefox_OS'
-tags:
- - API
- - Apps
- - B2G
- - Firefox OS
-translation_of: 'Archive/B2G_OS/Firefox_OS_apps/Screencast_series:_App_Basics_for_Firefox_OS'
----
-<div class="summary">
-<p><span class="seoSummary"><a href="http://www.mozilla.org/en-US/firefox/os/">Firefox OS</a> es un sistema operativo que trae la Web a los dispositivos móviles; en lugar de ser un nuevo Sistema Operativo con nuevas tecnologías y entornos de desarrollo,  <a href="http://www.mozilla.org/en-US/firefox/os/">Firefox OS </a>se basa en tecnologías web estándar que han estado en uso desde hace años. Si tu eres un desarrollador web y quieres construir una aplicación móvil, <a href="http://www.mozilla.org/en-US/firefox/os/">Firefox OS</a> te da las herramientas para  hacerlo sin tener que cambiar tu flujo de trabajo o aprender un entorno de desarrollo totalmente nuevo. En esta colección de vídeos cortos, desarrolladores de Mozilla y Telenor se reunieron en Oslo, Noruega para explicar en pocos pasos como puedes empezar a construir aplicaciones para Firefox OS.</span></p>
-</div>
-
-<p>En esta serie aprenderás:</p>
-
-<ul>
- <li>Cómo construir tu primera aplicación para Firefox Os.</li>
- <li>Cómo depurar y probar tu aplicación en el escritorio y en un dispositivo real.</li>
- <li>Cómo lograr que aparezca en el  <a href="/en-US/Marketplace">Firefox Marketplace</a>.</li>
- <li>Cómo usar las APIs e interfaces especiales que Firefox Os ofrece a un desarrollador javaScript para aprovechar el hardware disponible en los teléfonos inteligentes.</li>
-</ul>
-
-<div class="note">
-<p><strong>Nota</strong>: Cada uno de los screencast son lo suficientemente cortos para verlos durante un descanso. Toda la serie no debe tomar mas de una hora para observarla.</p>
-</div>
-
-<h2 id="Código_y_entorno_de_desarrollo">Código y entorno de desarrollo</h2>
-
-<p>Además de los screencasts, tu puedes descargar los <a href="https://github.com/comoyo/fxos-video-script/">códigos de ejemplo desde GitHub</a> que los acompañan. Si deseas probar los códigos de ejemplo por ti mismo, necesitarás configurar un entorno de desarrollo muy sencillo. Todo lo que necesitas es:</p>
-
-<ul>
- <li>Una versión actual de  <a href="https://www.mozilla.org/en-US/firefox/">Firefox</a>, que sale de la caja con las herramientas de desarrollo que necesitas — nosotros recomendamos obtener <a href="http://www.mozilla.org/en-US/firefox/aurora/">Firefox Aurora</a> o <a href="https://nightly.mozilla.org/">Nightly</a> si realmente quieres  jugar con la tecnología de ultima generación.</li>
- <li>Un editor de texto — en los screencast nosotros usamos <a href="http://www.sublimetext.com/">Sublime Text</a>, pero cualquiera sirve. Si quieres ser realmente nativo en la web, puedes probar con <a href="http://brackets.io/">Adobe Brackets</a>.</li>
- <li>Un servidor local o un servidor para subir los archivos de tu demo. Algunas de las aplicaciones demo necesitan conexiones HTTP en lugar de conexiones locales.</li>
-</ul>
-
-<h2 id="Presentación_de_la_serie">Presentación de la serie</h2>
-
-<p>La serie nos muestra a <a href="http://twitter.com/janjongboom">Jan Jongboom (@janjongboom)</a> y <a href="http://twitter.com/sergimansilla">Sergi Mansilla (@sergimansilla)</a> de Telenor Digital, y <a href="http://twitter.com/codepo8">Chris Heilmann (@codepo8)</a> de Mozilla; Fue grabada durante tres días en Oslo, Noruega en la sede central de Telenor en Febrero del 2014.</p>
-
-<p>Aquí estamos nosotros tres hablándote acerca de la serie y qué puedes esperar de ella:</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/bp87xaLI0h4?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<h2 id="Sección_1_Construyendo_tu_primera_aplicación_para_Firefox_Os_y_como_publicarla">Sección 1: Construyendo tu primera aplicación para Firefox Os y como publicarla</h2>
-
-<p>En los primeros cinco screencast de la sección 1 mostraremos como construir una aplicación para Firefox Os, como depurarla y probarla en tu computadora y en un dispositivo real,  y como tenerla listada en el <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>. Esto puede sonar como mucho trabajo, pero pronto descubrirás que si ya sabes como construir un sitio web, tienes 90% del camino listo.</p>
-
-<h3 id="Más_que_un_sitio_web">Más que un sitio web</h3>
-
-<p>Las aplicaciones de Firefox OS son HTML5, En esencia, estas usan las mismas tecnologías que los sitios web. Puedes empezar escribiendo un sitio web y convertirlo en una aplicación simplemente dándole un archivo de manifiesto (ver <a href="#The_app_manifest">The app manifest</a> para más detalles). Esto le dice a Firefox OS que estas escribiendo una aplicación y te permite:</p>
-
-<ul>
- <li>Listar la aplicación en el marketplace.</li>
- <li>Obtenga acceso al hardware del dispositivo  donde se ejecutara, para obtener información tal como  <a href="/en-US/docs/Web/API/Geolocation">Geolocalización</a> y <a href="/en-US/Apps/Build/gather_and_modify_data/Keep_it_level_responding_to_device_orientation_changes">Orientación del dispositivo</a>.</li>
- <li>Mucho más!</li>
-</ul>
-
-<p>En esencia, las aplicaciones HTML5 son sitios web sobre alimentados y deben seguir las mismas reglas, como por ejemplo:</p>
-
-<ul>
- <li>Mejora progresiva: Prueba para ver si lo que tu quieres utilizar está realmente disponible antes de intentar acceder a él.</li>
- <li>Adaptación a su entorno: Por ejemplo, utilizando <a href="/en-US/docs/Web/Guide/CSS/Media_queries">media queries</a> y <a href="/en-US/Apps/app_layout/responsive_design_building_blocks#Responsive_images.2Fvideo">responsive images</a> para optimizar las aplicaciones para distintos tamaños de pantalla, resoluciones y velocidades de red disponibles.</li>
- <li>Utilizar <a href="/en-US/docs/Web/HTML">HTML</a>, <a href="/en-US/docs/Web/CSS">CSS</a> y <a href="/en-US/docs/Web/JavaScript">JavaScript</a> como tecnologías principales.</li>
-</ul>
-
-<p>La diferencia principal es que para que una página web se convierta en una gran aplicación, debes tener muy en cuenta a los usuarios móviles. Esto significa, ante todo, que tu aplicación debe:</p>
-
-<ul dir="ltr">
- <li><a href="/en-US/Apps/Build/Offline">Trabajar <em>offline</em></a></li>
- <li>Permitir a los usuarios hacer una cosa y tener una interface que lo haga fácil</li>
- <li>Jugar muy bien con la vida de la batería y velocidad del procesador</li>
-</ul>
-
-<p>En muchos casos, esto significa que necesitas hacer más ligera tu página web y simplificar la interface. La buena noticia es que todos tus usuarios serán beneficiados por eso.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/fBJmUreevRU?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<div class="note">
-<p><strong>Nota</strong>: Para encontrar más información acerca de cómo diseñar una buena aplicación HTML5, entra al <a href="/en-US/Apps">App Center en MDN</a>.</p>
-</div>
-
-<h3 id="El_archivo_manifest_de_tu_app">El archivo <em>manifest</em> de tu app</h3>
-
-<p>El <a href="/en-US/Apps/Build/Manifest">App Manifest en Firefox OS</a> en un archivo simple de JSON que le dice al sistema operativo acerca de tu aplicación. En esencia, esto es lo que convierte una página web en una <a href="https://developer.mozilla.org/en-US/Apps/Quickstart/Build/Intro_to_open_web_apps">Open Web App</a>. Dentro del <em>manifest</em>, tu defines el nombre en diferentes localidades y solicitas al sistema operativo tener acceso a varios servicios y al <em>hardware</em>. Incluso puedes editar la orientación predeterminada de tu aplicación, y de ser necesario, bloquear la orientación.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/txyux8RZrxY?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Para más información acerca del manifest y herramientas que pueden ayudarte:</p>
-
-<ul>
- <li>El <a href="https://marketplace.firefox.com/developers/validator">Validador de Manifest de Aplicaciones Web Abiertas</a> — también disponible como una <a href="http://firefox-marketplace-api.readthedocs.org/en/latest/">API</a>.</li>
- <li>La <a href="/en-US/Apps/Build/Manifest">Documentación sobre Manifest para aplicaciones Web Abiertas</a> — incluye información sobre como servir un Manifest desde tu propio servidor.</li>
-</ul>
-
-<h3 id="El_gestor_de_aplicaciones">El gestor de aplicaciones</h3>
-
-<p><span id="result_box" lang="es"><span class="hps">La</span> <span class="hps">forma más sencilla de</span> <span class="hps">empezar a trabajar con</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">es probando</span> <span class="hps">el gestor</span> <span class="hps">de aplicaciones</span></span> <a href="https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>.  Esta herramienta se encuentra junto al <a href="https://developer.mozilla.org/en-US/docs/Tools/">Firefox developer tools for desktop</a> y te permite conectarte a un simulador de Firefox OS en su computadora, o a un dispositivo real con Firefefox OS si tienes uno disponible. Desde allí, puedes jugar con Firefox OS, instalar aplicaciones directamente dentro del simulador o en un dispositivo real, y depurarlas como si se ejecutaran en un Firefox OS , viendo los cambios inmediatamente en tiempo real sin necesidad de desinstalar o actualizar las aplicaciones.</p>
-
-<p>El siguiente video presenta los primeros pasos para el uso del App Manager junto con el simulador:</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/wiROpnExj-A?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<div class="note">
-<p><strong>Nota</strong>: El App Manager te permite depurar tus propias aplicaciones sin ningun problema incluso cuando no estes conectado.</p>
-</div>
-
-<p>Para más información sobre el App Manager:</p>
-
-<ul>
- <li>La  <a href="https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager">documentación del App Manager en MDN.</a></li>
- <li>Entradas de <a href="https://hacks.mozilla.org/2013/10/introducing-the-firefox-os-app-manager/">blog introductorias en Mozilla Hacks.</a></li>
-</ul>
-
-<h3 id="Probar_en_un_Dispositivo_Real">Probar en un Dispositivo Real</h3>
-
-<p>Probar tus aplicaciones en un simulador esta bien, pero solo te lleva tan lejos como un ambiente simulado puede hacerlo. Si quieres probar el rendimiento de la interacción de la aplicación o la reacción a algunas cosas como la orientación del dispositivo, necesitas un dispositivo real. Con las herramientas de desarrollo y el App Manager juntos, puedes usar el dispositivo y adentrarte en los detalles de lo que pasa dentro de tu aplicación mientras la usas.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/OIUQwqQMVZM?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<h3 id="Publicar_en_el_Marketplace">Publicar en el Marketplace</h3>
-
-<p>El <a href="http://marketplace.firefox.com/">Marketplace de Firefox OS </a> es el sitio mas conveniente para listas tus aplicaciones y ponerlas a disposicion de las personas en sus dispositivos y en la web. El Marketplace también te permite listar tu aplicación para otras plataformas como Firefox Desktop y Firefox para Android. Tambien puedes permitir que las personas valoren tu aplicación, den su opinión, y compren  tu aplicación usando un proceso simple de verificación. Listar tu aplicación es simple:</p>
-
-<ul>
- <li>Agrega la URL del marketplace a tu archivo manifest.</li>
- <li>Agrega una descripción de tu aplicación (la cual ayuda a las personas a encontrarlo entre todas las demás aplicaciones disponibles.)</li>
- <li>Proporcionar imágenes de pantalla o videos para mostrar la funcionalidad de tu aplicación.</li>
- <li>Selecciona una categoría para tu aplicación.</li>
- <li>Proporcionanos un correo electronico para contactarte.</li>
- <li>Proporciona a usuarios(as) finales un enlace a tu política de privacidad y sitio web de soporte.</li>
- <li>Provee una <a href="/en-US/Marketplace/Submission/Rating_Your_Content">clasificación de contenido</a> para tu aplicación.</li>
-</ul>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/gipaEJTM3TU?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Las aplicaciones enviadas al Marketplace son revisadas por el equipo revisor de aplicaciones de Mozilla y se te notificara sobre el estado de tu envío en pocos días. Si existen problemas con tu aplicación recibirás un mensaje de validación durante el proceso, pero es posible que también recibas una explicación legible por humanos sobre lo que está mal y como solucionarlo.</p>
-
-<div class="note">
-<p><strong>Nota</strong>: Lee <a href="/en-US/Marketplace/Submission/Submitting_an_app">Submitting an application to the Firefox Marketplace</a> para más nformación sobre el procesos de envío.</p>
-</div>
-
-<h2 id="Sección_2_Tópicos_Avanzados_sobre_Firefox_OS">Sección 2: Tópicos Avanzados sobre Firefox OS</h2>
-
-<p>En los primeros videos te presentamos Firefox OS y como desarrollar tu primera aplicación. También abarcamos como depurar tu aplicación en el escritorio (y en un dispositivo real), y como listar tu aplicación en el Marketplace de Firefox. En los cinco videos restantes nos adentraremos en las tecnologías que permiten a Firefox OS ir un paso más adelante y darte acceso a las funcionalidades que hacen del desarrollo para smartphones y tablets interesante para los desarrolladores. Pese a que muchas de estas tecnologías actualmente solo funcionan en Firefox OS, son todas de código abierto y han sido enviadas como propuestas estándar. Trabajar hoy con estas APIs significa que estás preparado para otros dispositivos y plataformas que emergerán en el futuro cercado.</p>
-
-<h3 id="Web_APIs">Web APIs</h3>
-
-<p>Los Smartphones están llenos de tecnología grandiosa (cámaras, acelerómetros, y GPS para nombras algunos).  El problemas era que ellas no eran accesibles para tecnologias web, si querías acceder a ellas necesitabas escribir aplicaciones nativas. Para solucionar esto, Mozilla y sus socios diseñaron un conjunto de APIs para permitir a los desarrolladores alcanzar las profundidades del hadrware de los dispositivos móviles usando JavaScript de una forma segura. Estas son llamadas <a href="https://wiki.mozilla.org/WebAPI">Web APIs</a> y estan definidas abiertamente y disponibles para que otros las implementen. Firefox OS es la primera plataforma que las usa.</p>
-
-<p> Más infromación en el siguiente screencast:</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/p0DWpWNTd7w?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Para más información sobre las Web APIs:</p>
-
-<ul>
- <li>La  <a href="https://wiki.mozilla.org/WebAPI">Página Wiki describe el trabajo adelantado y el estado de la implementación</a>. También incluye enlaces a los estándares en el que se basan.</li>
- <li><a href="https://hacks.mozilla.org/category/webapi/">Entradas en Mozilla Hacks</a>  que tratan el tópico de las WebAPIs.</li>
-</ul>
-
-<h3 id="Web_Activities">Web Activities</h3>
-
-<p><a href="https://wiki.mozilla.org/WebAPI/WebActivities">Web Activities</a> son métodos alternativos para acceder al hardware de un dispositivo. En vez de hacer que una API se comunique con el dispositivo directamente, Web Arctivities te permitirá crear un ecosistema de aplicaciones en el dispositivo que se comunican entre sí y comparten sus habilidades. Por ejemplo, en vez de acceder a la cámara directamente, tu aplicación puede usar un Web Activity para solicitar una imagen y el usuario del dispositivo puede usar su aplicación favorita para tomar una foto la cual es devuelta a la aplicación que realizo la petición originalmente.</p>
-
-<p>En vez de solicitar a los usuarios acceso a los dispositivos (lo cual es importante en términos de seguridad), les permitirás usar aplicaciones en la que ellos ya confían para realizar dichas funciones. Además,  puedes registrar tus aplicaciones como las opciones preferidas para ciertas tareas en el sistema operativo. Puedes pensar sobre los Web Activities como el equivalente de hacer clic con el botón derecho sobre un documento en el escritorio del computador y seleccionar con cual aplicación abrir dicho documento. Aparecerán diferentes opciones más una opción para hacer que el sistema operativo utilice de manera predeterminada esta aplicación para abrir los archivos de ahora en adelante.</p>
-
-<p>Web Activities permite a las aplicaciones comunicarse entre sí en el dispositivo sin ninguna necesidad de utilizar un servidor. Lo único que transmiten de una aplicación a la otra es la información final.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/CQODL9AGKv0?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Para más información sobre Web Activities:</p>
-
-<ul>
- <li><a href="https://wiki.mozilla.org/WebAPI/WebActivities">Página Wiki de Web Activities</a></li>
- <li><a href="/en-US/docs/WebAPI/Web_Activities">Web activities reference on MDN</a></li>
- <li><a href="https://hacks.mozilla.org/2013/01/introducing-web-activities/">Introducción a Web Activities</a> en Mozilla Hacks</li>
-</ul>
-
-<h3 id="Notificaciones_Push">Notificaciones Push</h3>
-
-<p>Notificaciones Push (invocada usando el SimplePush Web API) son métodos para que una aplicación reaccione cuando el dispositivo recibe un mensaje específico. Esto te permitirá desarrollar aplicaciones que pueden estar cerradas (y ahorrando energía) hasta que sean necesarias. Las notificaciones creadas de esta manera tendrán el beneficio de no portar información y de esta manera Mozilla nunca obtendrá información sobre la aplicación y los atacantes no podrán acceder a la misma.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/qpgNIsJ2pg4?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Para más información sobre cómo usar Notificaciones Push con SimplePush:</p>
-
-<ul>
- <li><a href="https://wiki.mozilla.org/WebAPI/SimplePush">Página Wiki de SimplePush </a></li>
- <li><a href="/en-US/docs/WebAPI/Simple_Push">La guía de SimplePush en MDN</a></li>
- <li><a href="https://hacks.mozilla.org/2013/07/dont-miss-out-on-the-real-time-fun-use-firefox-os-push-notifications/">Introducción a SimplePush</a> en Mozilla Hacks</li>
-</ul>
-
-<h3 id="Funcionalidad_sin_conexión">Funcionalidad sin conexión</h3>
-
-<p>Las aplicaciones no son muy útiles si no funcionan sin conexión web. Este es un motivo por el cual los usuarios prefieren aplicaciones ya instaladas en vez abrir el navegador del dispositivo y buscar el contenido en él. El término “aplicación web” pareciera indicar que se necesita de una conexión web para que la aplicación  se pueda usar.</p>
-
-<p>Nuestros usuarios estarán sin conexión web en algunas ocasiones (ya sea en un avión, en el subterráneo o sin plan de datos en la tarjeta SIM) y necesitamos asegurarnos de que nuestras aplicaciones sean útiles cuando eso suceda. HTML5 ofrece algunas tecnologías que permiten funcionalidad sin conexión web, principalmente <a href="https://developer.mozilla.org/en-US/docs/HTML/Using_the_application_cache">AppCache</a> y <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage">DOMStorage</a>.</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/dnuoUM_bIQM?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>Para más información sobre funcionalidad sin conexión:</p>
-
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage">Página Wiki de DOMStorage</a>.</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/HTML/Using_the_application_cache">Página Wiki de AppCache</a>.</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB">Usar IndexedDB</a>  para alamcenamiento avanzado en el cliente.</li>
- <li><a href="https://github.com/mozilla/localForage">LocalForage</a> es un empaquetador usado en Firefox OS para proveer la simplicidad de DOMStorage junto con el poder de IndexedDB (explicado en deatalle en <a href="https://hacks.mozilla.org/2014/02/localforage-offline-storage-improved/">esta entrada de Mozilla Hacks</a>.)</li>
-</ul>
-
-<h2 id="Donde_encontrar_más">Donde encontrar más</h2>
-
-<p>Esperamos que esta serie de videos te haya dado una clara introducción para el desarrollo de tus propias aplicaciones web abiertas. Si te interesa aprender más, existen algunos recursos y canales que puedes usar:</p>
-
-<p></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/Z2yVFXEYnnc?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<ul>
- <li>El <a href="https://developer.mozilla.org/en-US/docs/Apps/">MDN App Center</a> presenta información sobre como diseñar y desarrollar buenas aplicaciones web abiertas.</li>
- <li>La <a href="/en-US/Marketplace">MDN Marketplace zone</a> contiene instrucciones detalladas sobre como hacer que tus aplicaciones sean listadas en el Firefox Marketplace, diferentes opciones de publicación, y la gestión de pagos.</li>
- <li>El <a href="https://hacks.mozilla.org">Hacks Blog</a> presente artículos semanales sobre aplicaciones de Firefox OS (presentando al personal de Mozilla y personas que desarrollan por su cuenta como tu), y tecnologías innovadoras. Es un lugar excelente para tener una visión sobre lo que vendrá en las próximas versiones de Firefox y Firefox OS.</li>
- <li>La <a href="/en-US/Firefox_OS">MDN Firefox OS zone</a> y <a href="https://wiki.mozilla.org/B2G">B2G Wiki</a> tiene información mas detallada sobre el sistema operativo Firefox OS.</li>
- <li>Estamos siempre en IRC — simplemente usa <a href="http://irc.mozilla.org">irc.mozilla.org</a> y encuentranos en #devrel, #b2g, #openwebapps o #marketplace.</li>
-</ul>
-
-<p>Esperamos verte allí.</p>
-
-<p>Chris, Sergi y Jan</p>
diff --git a/files/es/archive/b2g_os/security/application_security/index.html b/files/es/archive/b2g_os/security/application_security/index.html
deleted file mode 100644
index 0573a493e0..0000000000
--- a/files/es/archive/b2g_os/security/application_security/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: Seguridad en aplicaciones
-slug: Archive/B2G_OS/Security/Application_security
-translation_of: Archive/B2G_OS/Security/Application_security
----
-<div>
- <div class="overheadIndicator draft">
- <p><strong>Borrador</strong><br>
- Esta página no está completa.</p>
-
-</div></div>
-<p>Los controles clave en la seguridad de las aplicaciones web introducidas por FirefoxOS son:</p>
-<ul>
- <li>Las aplicaciones web son explicitamente instaladas y lanzadas explicitamente, en vez de ser casualmente navedas con el navegador. Las aplicaciones deben ser instaladas antes de ser usadas, y controles de seguridad gobiernan la actualización y desintalacion de las aplicaciones para proteger al usuario.</li>
- <li>El acceso a las nuevas APIs web esta controlado por un sistema de permisos, donde una aplicación debe declarar los permisos que intenta usar antes de ser instalada. Para ganar acceso a APIs más poderosas, las aplicaciones deben cumplir ciertos requerimientos, y ser revisadas, aprobadas y firmadas por una tienda de aplicaciones.</li>
- <li>Las aplicaciones web funcionan dentro de un sandbox así solo pueden ver sus propios recursos (cookies, almacenamiento offline, bases de datos indexadas, etc.). Inclusive si dos aplicaciones cargan la misma URL, estas dos páginas no son consideradas del mismo origen al estar corriendo dentro de dos aplicaciones separadas.</li>
-</ul>
-<h3 id="Tipos_de_aplicaciones">Tipos de aplicaciones</h3>
-<p>FirefoxOS soporta tres tipos de aplicaciones web:<span id="cke_bm_73S" style="display: none;"> </span><span id="cke_bm_71S" style="display: none;"> </span> "<strong>web</strong>"<span id="cke_bm_73E" style="display: none;"> </span><span id="cke_bm_71E" style="display: none;"> </span>,<span id="cke_bm_74S" style="display: none;"> </span> "<strong>privilegiadas</strong>"<span id="cke_bm_74E" style="display: none;"> </span> y "<strong>certificadas</strong>". Un tipo de aplicacion es declarado en su <a href="/en-US/docs/Apps/Manifest" title="/en-US/docs/Apps/Manifest">manifest</a>, y determina la lista de permisos que puede solicitar.</p>
-<ul>
- <li><strong>Aplicaciones web:</strong> la mayor parte de las aplicaciones de terceros serán aplicaciones "web", el cual es el tipo por defecto, y no garantiza a la aplicación ningún permiso adicional aparte de aquellos ya expuestos en la web. Las aplicaciones wev pueden ser instaladas desde cualquier sitio web, sin ningún otro tipo de verificación. También pueden ser <a href="/es/docs/Aplicaciones/Packaged_apps">empaquetadas</a> pero esto no les concede ningún permiso adicional.</li>
- <li><strong>Aplicaciones privilegiadas:</strong> Estas aplicaciones pueden solicitar mayores permisos, y como tales las aplicaciones <em>privilegiadas</em> deben ser verificadas y firmadas por una tienda de aplicaciones.</li>
- <li><strong>Aplicaciones certificadas:</strong> actualmente las aplicaciones certificadas solo pueden ser preinstaladas en los dispositivos.</li>
-</ul>
-<p>Para más detalles de los tres tipos, véase la documentación del <a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">App Manifest</a>.</p>
-<h3 id="Entrega_de_aplicaciones">Entrega de aplicaciones</h3>
-<p>Las aplicaciones pueden ser  pueden ser entregadas por dos mecanismos diferentes en Firefox OS:  alojadas o enpaquetadas. Las aplicaciones web regulares pueden ser entregadas por cualquier mecanismo, mientras que las aplicaciones privilegiadas deben ser empaquetadas.</p>
-<h4 id="Aplicaciones_alojadas"><span class="mw-headline" id="Hosted_apps">Aplicaciones alojadas</span></h4>
-<p>Una aplicación alojada consiste simplemente en un archivo <a href="/es/docs/Aplicaciones/Manifest">manifest</a> en el servidor del desarrollador. A menudo el manifest apunta también a un manifest de appcache que permite a la aplicación ser cacheada para un arranque más rápido y para habilitar el uso offline, pero de otra manera no afecta a la aplicación para nada. Desde el punto de vista de la seguridad, las aplicaciones alojadas funcionan como un sitio web normal. Cuando una aplicación alojada es cargada, la URL de las paginas cargadas son las URL que aquellas paginas tendrian normalmente en su servidor web. Así para enlazar a una página web específica o recurso en la aplicación, la misma URL es usada como cuando una URL es usada para enlazar a esa página o URL en un sitio web específico.</p>
-<h4 id="Aplicaciones_empaquetadas">Aplicaciones empaquetadas</h4>
-<p><strong>Una aplicación empaquetada</strong> es una Open Web App que tiene todos sus recursos (HTML, CSS, JavaScript, app manifest, etc.) contenidos en un archivo zip, en vez de tener sus recursos en un servidor web. Para más detalles en este formato, vease <a href="/es/docs/Aplicaciones/Packaged_apps">aplicaciones empaquetadas</a>. </p>
-<h3 id="Instalación_de_aplicaciones">Instalación de aplicaciones</h3>
-<p>Las aplicaciones son instaladas mediante la <a href="/es/docs/Aplicaciones/Apps_JavaScript_API" title="/en-US/docs/JavaScript_API">API Javascript de aplicaciones</a>:</p>
-<ul>
- <li>Aplicaciones alojadas: las aplicaciones alojadas son instaladas llamando <code>navigator.mozApps.<a href="/en-US/docs/Web/API/Apps.install" title="/en-US/docs/Web/API/Apps.install">install</a>(URL_del_manifest)</code>, donde URL_del_manifest es una URL que especifica la ubicación de la aplicación. Para más detalles véase <a href="/en-US/docs/DOM/Apps.install">Instalando aplicaciones</a>.</li>
- <li>Aplicaciones empaquetadas: las aplicaciones alojadas son instaladas llamando <code>navigator.mozApps.<a href="/en-US/docs/Web/API/Apps.installPackage" title="/en-US/docs/Web/API/Apps.installPackage">installPackage</a>(URL_del_paquete)</code>. Para las aplicaciones empaquetadas el manifest principal de la aplicación es guardado dentro del paquete mismo, entonces este es firmado. Hay un segundo 'mini-manifest' el cual es usado para arrancar el proceso de instalación. Vease <a href="/es/docs/Web/API/Apps.installPackage">Instalando aplicaciones empaquetadas</a> y <a href="/es/docs/Web/Apps/Developing/Packaged_apps/Packaged_apps">Aplicaciones empaquetadas</a> para más información.</li>
-</ul>
-<p>Para asegurarse que una aplicación realmente quiere ser instalada como una aplicación web tenemos que asegurar que no es posible engañar a un sitio web para que aloje un manifest de aplicación. Esto es hecho exigiendo que el manifest sea servido con un mime-type específico, "application/x-web-app-manifest+json". Esta restricción se relaja cuando la aplicación manifest, y por lo tanto el manifest de aplicación, es del mismo origen que la página que hizo el pedido para instalar la aplicación.</p>
-<h3 id="Actualizaciones"><span class="mw-headline" id="Updates">Actualizaciones</span></h3>
-<p>El proceso de actualizaciones para las aplicaciones está descrito aquí:  <a href="/en-US/docs/Apps/Updating_apps" title="Apps/Updating_apps">Actualizando apliaciones [en-US]</a></p>
-<h2 id="Permisos">Permisos</h2>
-<p>Se le pueden otorgar privilegios adicionales a las aplicaciones por sobre los privilegios de un sitio normal. Por defecto las aplicaciones tienen los mismos permisos que las páginas web normales. Para poder ganar permisos adicionales, el primer paso es enumerar los permisos adicionales que esta necesita en el manifest de la aplicación.</p>
-<h3 id="Declaración_del_manifest">Declaración del manifest</h3>
-<p>Para cada permiso adicional que la aplicación quiera, el manifest debe enumerar el permiso junto con una descripción sencilla de por qué la aplicación necesita ese permiso. Por ejemplo si una aplicación quiere usar la API<a href="/es/docs/DOM/window.navigator.geolocation" title="/en-US/docs/Web/API/window.navigator.geolocation"> navigator.geolocation</a>, debe incluir en su archivo manifest:</p>
-<pre class="brush: html">"permissions": {
- "geolocation":{
-<code class="language-js"><span class="token string"> "description"</span><span class="token punctuation">:</span> <span class="token string">"Requerido para el autocompletado en la pantalla compartida"</span><span class="token punctuation">,</span></code>
- }
-},
-</pre>
-<p>Esto permite a la aplicación indicar el permiso para la geolocalización, de la misma manera que una página web normal lo haría. Para más detalles acerca de los manifest, véase <a href="/en-US/docs/Apps/Manifest" title="Apps/Manifest">App manifest</a>.</p>
-<p>Nota: Actualemente la intensión de uso de los permisos no se muestran al usuario - véase <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=823385" title="https://bugzilla.mozilla.org/show_bug.cgi?id=823385">bug 823385</a>.</p>
-<h3 id="Otorgando_permisos">Otorgando permisos</h3>
-<p>Cuando los permisos son solicitados en el manifest, el permiso es definido como "allow" (permitir) o "prompt" (preguntar). Los permisos permitidos son otorgados al ser declarados en el manifest sin necesidad de más aprobaciones. Para permisos preguntados, se le pide el permiso al usuario la primera vez que la aplicación accede a la API relacionada, y tiene que tomar la decisión antes de que el acceso a la API sea otorgado. En general, Firefox OS solo pide a los usarios acerca de los permisos cuando estos pueden tener un impacto en la privacidad, y es razonable para el usuario entender que esta siendo pedido. Por ejemplo el acceso a los contactos es pedido,  sin embargo el acceso para hacer una conección TCP es simplemente garantizada porque no razonable para un usuario entender  las implicaciones de seguridad implicadas en permitir estos permisos. El uso de permisos "allow" es revisado como parte de la revisión de seguridad del Marketplace para asegurar que los usuarios se encuentran protegidos.</p>
-<h3 id="Revocando_permisos">Revocando permisos</h3>
-<p>Los usuarios pueden cambiar su opinión en cualquier momento acerca de permisos "prompt" en cualquier momento, y puede revocar los permisos a través de la aplicación de configuracion de Firefox OS. Los permisos "allow" no son configurables por el usuario.</p>
-<h2 id="Sandbox_de_las_aplicaciones_Web">Sandbox de las aplicaciones Web</h2>
-<h3 id="Información_almacenada_por_aplicación"><span class="mw-headline" id="Data_stored_per_app">Información almacenada por aplicación</span></h3>
-<p>Cada aplicación corre su propio sandbox, eso significa que toda la información guardada por una aplicación es separada de toda la información guardada por cualquier otra aplicación. Esto incluye cosas como información de cookies, información almacenada localmente, bases de datos indexadas localmente, y permisos de sitios.</p>
-<p>Esto significa que si un usuario instaló dos aplicaciones, la Aplicación A y la Aplicación B, estas tendrán cookies completamente diferentes, diferente información local, y diferentes permisos. Esto se aplica inclusive si ambas aplicaciónes abren un &lt;iframe&gt; que apunta hacia el mismo origen. Por ejemplo, si ambas aplicaciones A y B abren un &lt;iframe&gt; que apunta a "<a class="external free" href="http://www.mozilla.org" rel="nofollow">http://www.mozilla.org</a>", ambas mostrarán la misma página web, sin embargo el sitio será cargado y mostrado con diferentes cookies en las dos aplicaciones.</p>
-<p>Un resultado de esto es que si un usuario se registra en, por ejemplo Facebook, cuando está usando la aplicación A, esto afecta la capacidad de B para interactuar con la cuenta del usuario en Facebook. La cookie que que usa facebook para registrarse cuando el usuario está usando la aplicación A está solo disponible para la aplicación A. Si la aplicación B abre un &lt;iframe&gt; a Facebook, la cookie no estará allí y entonces cuando la aplicación B abre Facebook, recibe la pantalla de registro en vez de la cuenta del usuario.</p>
-<h3 id="Las_aplicaciones_no_se_pueden_abrir_entre_ellas"><span class="mw-headline" id="Apps_can.27t_open_each_other">Las aplicaciones no se pueden abrir entre ellas</span></h3>
-<p>Esto significa que las aplicaciones no pueden abrir otras aplicaciones a través del uso de iframes. Si la aplicación A crea un iframe con el src de la aplicación B, esto no abrirá la aplicación B en el iframe. Esto simplemente abrirá el sitio web qe se encuentra en esa URL. No usará ninguna de las cookies de B y por lo tanto no se comportará diferente si la aplicación B no estuviera instalada en el dispositivo.</p>
-<p>Esto se aplica inclusive para las aplicaciones empaquetadas (más información acerca de estas abajo). inclusive si la aplicación A intenta abrir la aplicación enpaquetada B usando un iframe que apunte a app:// Dirección de la aplicación B, esto simplemente no podrá cargar. Si esto resulta en un error 404 o algún tipo de error determinado todavía falta deteminarse, pero definitivamente fallará al cargar. Y fallará de la misma manera no importa si la aplicación está instalada en el dispositivo o no, de modo que es imposible determinar para la aplicación A si la aplicación B se encuentra instalada.</p>
-<p>Lo mismo sucede si el marco superior de la aplicación A es navegado por una URL a la aplicación B. Nosotros sabremos para un determinado marco que aplicación lo abrio, y por lo tanto cuando intente cargar la URL de la aplicación B en el marco de la aplicación A, esto sucederá exactamente como las dos situaciones descriptas arriba, por ejemplo, no hay forma de que use los recursos de B, como ser cookies u otra información local.</p>
-<h3 id="Motivación"><span class="mw-headline" id="Motivation">Motivación</span></h3>
-<p>Hay tanto beneficios como desventajas con este enfoque. La desventaja es que si un usuario interactúa con el mismo sitio web a través de diferentes aplicaciones, deberá registrarse en cada aplicación. Así tambien si un sitio web necesita almacenar información localmente, y el usuario interactúa con ese sitio en varias aplicaciones, la información terminará dplicada en cada aplicación, lo cual puede ser un problema si hay grandes cantidades de información.</p>
-<p>El principal beneficio de de este enfoque es un modelo mucho más estable. No hay forma de que varias aplicaciones puedan hacerlo a través de sitios web de terceros en formas inesperadas que harían que instalar una aplicación haga que otra aplicación deje de funcionar. Cuando una aplicación es desinstalada, no hay forma que la información necesaria para otra aplicación se pierda, o que una aplicación deje de funcionar debido a una dependencia funcional con la aplicación desinstalada.</p>
-<p>Un usuario puede instalar de forma segura la "Fabulosa Aplicación Social" para registrarse en Facebook sin tener que preocuparse que la aplicación "El Juego de DIbujos" pueda montar algún tipo de ataque para obtener la información del usuario de Facebook usando algún tipo de error o atajo que pueda existir en el sitio web de facebook.</p>
-<p>También existen buenos beneficios para la privacidad. El usuario puede instalar de forma segura la "Aplicación de mi partido político" sin tener que preocuparse de que la "Apliación de empleados de la Megacorporación" sea capaz de detectar que aplicación se encuentra instalada o que información fue creada.</p>
-<h3 id="Permisos_aislados">Permisos aislados</h3>
-<p>Así como la información de un sitio web es aislada por medio de una sandbox, también son aislados los permisos otorgados. Si la aplicación A carga una página de <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a> y la página pide utilizar la geolocalización y el usuario dice "permitir y recordar la decisión", esto solo significa que <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a> tiene acceo a la geolocalización dentro de la aplicación A. Si la aplicación B abre <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a>, esa página no tendrá acceso a la geolocalización a menos que el usuario le garantice ese permiso de vuelta.</p>
-<p>Y como en un navegador normal, los permisos se encuentran separados por origen. Si la aplicación A tiene el acceso garantizado para utilizar geolocalización, esto no significa que todos los origenes corriendo en la aplicación A tendrán ese permiso. Si la aplicación A abre un &lt;iframe&gt; a <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a>, entonces <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a> tiene que pedir permiso antes que el acceso a la geolocalización sea garantizado.</p>
-<h3 id="Sandbox_de_la_API_para_Navegadores">Sandbox de la API para Navegadores</h3>
-<p>Para una seguridad adicional para aquellas aplicaciones que necesitan abrir una gran cantidad de URLs, como por ejemplo navegadores, añadimos el "browserContent flag" (indicador de contenido de navegador). El browserContent flag permite que cada aplicación tenga no una, sino dos sandbox, una para la aplicación en sí, y otra para cualquier contenido web que abra. Por ejemplo:</p>
-<p>Digamos que la aplicación "Mi Navegador" carga desde el sitio  <a class="external free" href="https://mybrowser.com" rel="nofollow">https://minavegador.com</a>. Este es el dominio de donde los scripts y otros recursos son cargados. Los scripts y recursos <em>pertenecen</em> a este dominio.</p>
-<p>Ahora bien, si esta aplicación crea un &lt;iframe mozbrowser&gt;, un sandbox diferente es creado para este &lt;iframe&gt;, el cual será un sandbox diferente del usado por la aplicación - por ejemplo, si este oframe navega a <a class="external free" href="https://mybrowser.com" rel="nofollow">https://minavegador.com</a>, esto resultará en diferentes cookies usados dentro del &lt;iframe mozbrowser&gt;. Así también el contenido dentro del &lt;iframe mozbrowser&gt; verá diferentes IndexedDB y bases de datos localStorage de las que abrió la aplicación.</p>
-<p>Esto también se aplica si "Mi Navegador" quiere crear integración con, por ejemplo, Google Maps para implementar navegación basada en  to implementar navegación basada en la ubicación. Si la aplicación abre un &lt;iframe&gt; a <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a>, esto abrirá un iframe que recibirá las cookies para el sitio <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a>. Si el usuario navega dentro del área de contenido web, por ejemplo del &lt;iframe mozbrowser&gt;, a <a class="external free" href="http://maps.google.com" rel="nofollow">http://maps.google.com</a>, este usará cookies diferentes y permisos diferentes de los que existen a nivel de la aplicación.</p>
-<p>Otro ejemplo donde esto sería util sería en una aplicación tipo Yelp. Yelp tiene la capacidad de visitar el website de un restaurante direntamente desde la aplicación. Al usar un &lt;iframe mozbrowser&gt; para abrir el sitio web de un restorante, la aplicación Yelp se asegura que el el sitio web no puede tener un &lt;iframe&gt; apuntando a la aplicación de Yelp (lo cual apuntaría a <a class="external free" href="http://yelp.com" rel="nofollow">http://yelp.com</a>). Si lo hiciera, el sitio web recibiría el sitio web de Yelp, en vez de la aplicación. Así no existe manera de que el sitio web pueda montar un ataque a la aplicación ya que el sitio web de Yelp no compartirá ninguno de los permisos o la información de la aplicación Yelp.</p>
-<h2 id="Resumen_de_la_Seguridad_en_Aplicaciones">Resumen de la Seguridad en Aplicaciones</h2>
-<p>La tabla de abajo resume los diferente tipos de aplicaciones de Firefox OS, y describe el formato, instalación, y el proceso de actualización de las Open Web Apps corriendo en Firefox OS.</p>
-<table>
- <caption>
- Tipos de aplicaciones web</caption>
- <thead>
- <tr>
- <th scope="col">Tipo</th>
- <th scope="col">Entrega</th>
- <th scope="col">Modelo de Permisos</th>
- <th scope="col">Instalación</th>
- <th scope="col">Actualizaciones</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Web</td>
- <td>Alojada o empaquetada</td>
- <td>Menos sensible a los permisos que no son peligrosos para exponer a contenido web sin validad</td>
- <td>Instaladas desde cualquier lugar</td>
- <td>Pueden ser actualizadas de forma transparente por el usuario o desde el marketplace, dependiendo de donde la aplicación fue instalada, y el mecanismo de entrega.</td>
- </tr>
- <tr>
- <td>Privilegiada</td>
- <td>Empaquetada y firmada</td>
- <td>APIs privilegiadas que requieren de validación y autenticación de la aplicación</td>
- <td>Instaladas desde un marketplace confiable</td>
- <td>Actualizadas desde un marketplace confiable, al usuario se le pide aprovación para descargar e instalar las actualizaciones.</td>
- </tr>
- <tr>
- <td>Certificada</td>
- <td>Empaquetada</td>
- <td>APIs poderosas y peligrosas que no se encuentran disponibles para aplicaciones de terceros.</td>
- <td>Preinstaladas en el dispositivo</td>
- <td>Actualizadas solo como parte de las actualizaciones a nivel del sistema.</td>
- </tr>
- </tbody>
-</table>
-<p><strong>Nota</strong>: Para la  version 1.0 de Firefox OS, si bien las aplicaciones  web pueden ser instaladas desde cualquier sitio web o marketplace, las aplicaciones privilegiadas solo pueden ser instaladas desde el Mozilla Marketplace, como el soporte a multiples marketplaces confiable no está todavía completo.</p>
diff --git a/files/es/archive/b2g_os/security/index.html b/files/es/archive/b2g_os/security/index.html
deleted file mode 100644
index e88430f481..0000000000
--- a/files/es/archive/b2g_os/security/index.html
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: Firefox OS security
-slug: Archive/B2G_OS/Security
-tags:
- - B2G
- - Firefox OS
- - Mobile
- - Móvil
- - Seguridad
- - TopicStub
- - movil(2)
-translation_of: Archive/B2G_OS/Security
----
-<p>Los siguienes artículos cubren información sobre la seguridad de Firefox OS. Esto incluye caracerísticas generales de seguridad así como seguridad en las aplicaciones y mantener el proceso de instalación seguro.</p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentación de seguridad de Firefox OS</h2>
-
- <dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Security/Security_model" title="/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">Modelo de seguridad de Firefox os</a></dt>
- <dd>Un vistazo al manual de seguridad de Firefox  OS</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Security/System_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">Seguridad del sistema</a></dt>
- <dd>Detalles de los controles de seguridad integrados en el <em>runtime</em> de Firefox OS</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Seguridad de aplicaciones en Firefox OS</a></dt>
- <dd>Un vistazo de cómo las aplicaciones son seguras en Firefox OS</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications" title="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications">Instalación y actualización segura de aplicaciones</a></dt>
- <dd>Cómo Firefox OS instala y acualiza las aplicaciones de forma segura.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions" title="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions">Permisos de Software en Firefox OS</a></dt>
- <dd>Una guía de qué tipos de software tienen permisos para realizar varias tareas en Firefox OS.</dd>
- <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing" title="/en-US/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing#Marionette.3A_A_JavaScript_debugging_shell_for_Firefox_OS"><span style="display: none;"> </span>Depuración y pruebas de seguridad con Firefox OS</a></dt>
- <dd>Esta guía muestra los pasos básicos de las pruebas de seguridad, desde la apertura de abrir un depurador remoto de JavaScript hasta la creación de un proxy HTTP/S de intercepción contra una versión de escritorio de Firefox OS.</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">Ver Todo...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">Obtener ayuda de la Comunidad</h2>
-
- <p>Si estás trabajando con Firefox OS, o desarrollando aplicaciones que te gustaría ejecutar en dispositivos Firefox OS, ¡Hay recursos de la comunidad para ayudarte!</p>
-
- <ul>
- <li>Consulta el foro del proyecto Boot to Gecko: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> como RSS</a></li>
-</ul></li>
- <li>Haz una pregunta en el canal IRC de Boot to Gecko: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
-
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">No te olvides de la  <em>netiquette</em>...</a></span></p>
-
-
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Temas Relacionados</h2>
-
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Móvil</a></li>
- <li><a href="/en-US/docs/Security" title="/en-US/docs/Security">Seguridad</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
-
-<div id="cke_pastebin" style="position: absolute; top: 483px; width: 1px; height: 1px; overflow: hidden; left: -1000px;"><br>
-Firefox OS</div>
diff --git a/files/es/archive/b2g_os/security/modelo_seguridad/index.html b/files/es/archive/b2g_os/security/modelo_seguridad/index.html
deleted file mode 100644
index 8c03acd89e..0000000000
--- a/files/es/archive/b2g_os/security/modelo_seguridad/index.html
+++ /dev/null
@@ -1,255 +0,0 @@
----
-title: Introducción a la seguridad de Firefox OS
-slug: Archive/B2G_OS/Security/modelo_seguridad
-translation_of: Archive/B2G_OS/Security/Security_model
----
-<p>Este documento proporciona una visión general del marco de trabajo de seguridad del sistema operativo de Mozilla Firefox OS, que está diseñado para proteger los dispositivos móviles de las amenazas a la plataforma, aplicaciones y datos. En Firefox OS, Mozilla ha implementado un modelo exhaustivo, integrado y de múltiples capas de seguridad que ofrece una protección mejor frente a los riesgos de seguridad en los teléfonos móviles.</p>
-<h1 id="Seguridad_de_la_plataforma">Seguridad de la plataforma</h1>
-<p>Firefox OS en su plataforma utiliza un modelo de seguridad de varias capas que esta diseñado para reducir los riesgos de seguridad en todos los niveles. Contramedidas de primera línea se combinan con una estrategia de defensa en profundidad que proporciona protección completa contra amenazas.</p>
-<h2 id="Arquitectura_de_la_seguridad">Arquitectura de la seguridad</h2>
-<p>Firefox OS conecta las aplicaciones basadas en la web con el hardware subyacente. Se trata de una pila de tecnologías integradas que consiste en los siguientes niveles:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5023/platform.png" style="width: 660px; height: 478px;"></p>
-<p><strong>Mobile device</strong> es el teléfono móvil ejecutando Firefox OS. <strong>Gonk</strong> consiste en el kernel de Linux, las librerías del sistema, el firmware y los controladores del dispositivo. <strong>Gecko</strong> es la capa de tiempo de ejecución de aplicaciones que proporciona el marco de trabajo para la ejecución de aplicaciones, e implementa las API Web que se usan para acceder a las funciones del dispositivo móvil. <strong>Gaia</strong> es la colección de aplicaciones web que conforman la experiencia de usuario (aplicaciones que contienen desde HTML5, CSS, JavaScript, imágenes, medios, y así sucesivamente).</p>
-<p><strong>Gecko</strong> es el portero que hace cumplir las políticas de seguridad diseñadas para proteger el dispositivo móvil de un mal uso. La Capa <strong>Gecko</strong> actúa como intermediario entre las aplicaciones web (en la capa <strong>Gaia</strong>) y el teléfono. <strong>Gonk</strong> le ofrece las características del hardware del teléfono móvil directamente a la capa <strong>Gecko</strong> . Las aplicaciones web acceden a las funcionalidades del teléfono móvil sólo a través de las API Web, y sólo si <strong>Gecko</strong> permite la petición de acceso, no hay accesos directos ni "puertas traseras" en el teléfono. <strong>Gecko</strong> aplica los permisos e impide el acceso a las solicitudes no autorizadas.</p>
-<h2 id="Implementación_del_sistema_de_seguridad">Implementación del sistema de seguridad</h2>
-<p>Firefox OS viene instalado en el teléfono inteligente. la imagen original del sistema es creada por un conocido, una fuente de confianza que por lo general es el OEM del dispositivo, el cuál es responsable de ensamblar, construir, probar y firmar digitalmente el paquete que se distribuye.</p>
-<p>Las medidas de seguridad se utilizan en toda la pila de tecnologías. Los privilegios del sistema de archivos son impuestas por las listas del control de acceso de Linux`s (ACLs). Las aplicaciones del sistema se instalan en un volumen que es de solo lectura (excepto durante las actualizaciones, donde es temporalmente tienen lectura y escritura ). Sólo las áreas que contienen los datos de usuario son de lectura y escritura. Varios componentes del hardware del dispositivo tiene una función de protección que se aplican de forma predeterminada como la práctica estándar de la industria. Los fabricantes de Chipset, por ejemplo, emplean técnicas de endurecimiento para reducir las vulnerabilidades. El núcleo de la plataforma (Gecko and Gonk) se endurece para reforzar su defensa contra las amenazas potenciales, utilizándose en su caso las características de endurecimiento del compilador. Para más detalles ver <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security">Seguridad en tiempo de ejecución</a>.</p>
-<h2 id="Actualizaciones_seguras_del_sistema">Actualizaciones seguras del sistema</h2>
-<p>Las actualizaciones y parches a la plataforma Firefox OS se implementan usando un proceso seguro de Mozilla que asegura la integridad de la imagen del sistema en el teléfono móvil. La actualización es creada por un conocido, una fuente de confianza que por lo general es el OEM del dispositivo, el cuál es responsable de ensamblar, construir, probar y firmar digitalmente el paquete que se distribuye.</p>
-<p>Las actualizaciones del sistema pueden incluir la totalidad o una parte de la pila de Firefox OS. Si cambios en <strong>Gonk </strong>son incluidos en la actualización, entonces FOTA (Firmware sobre el aire ) es el proceso de instalación utilizado. La actualización por FOTA puede incluir cualquier otra parte de la pila de Firefox OS, incluyendo la gestión del dispositivo(FOTA, firmware / drivers), gestión de la configuración(configuraciones de Firefox OS), actualizaciones de seguridad, <strong>Gaia</strong>, <strong>Gecko </strong>y otros parches.</p>
-<p>Actualizaciones que no involucren a <strong>Gonk</strong> pueden hacerse usando la utilidad de actualización de sistemas de Mozilla. Firefox OS utiliza el mismo marco de trabajo de actualizaciones, los procesos y el formato de archivos de Mozilla (MAR)  (usado para actualizar los paquetes) como el producto Firefox para Escritorio. Para más información, consulte <a href="https://wiki.mozilla.org/Software_Update">https://wiki.mozilla.org/Software_Update</a>.</p>
-<p>Al integrar el servicio de actualización que puede ser proporcionado por el fabricante, en el teléfono móvil comprueba periódicamente si hay actualizaciones del sistema. Una vez que un paquete del sistema esta disponible y es detectado por el servicio de actualizaciones, se solicita al usuario que confirme la actualización. Antes de instalar las actualizaciones en dispositivo móvil, se comprueba que haya suficiente espacio para aplicar la actualización y la distribución se verifica para:</p>
-<ul>
- <li>Origen de las actualizaciones (verifica la ubicación de la fuente (protocolo:dominio:puerto) de la actualización del sistema y el manifiesto)</li>
- <li>Integridad del archivo (SHA-256 verificación del hash)</li>
- <li>Firma del código (ver certificado contra una raíz de confianza)</li>
-</ul>
-<p>Las siguientes medidas de seguridad son utilizadas durante el proceso de actualización:</p>
-<ul>
- <li>Mozilla recomienda y espera que las actualizaciones sean a través de una conexión SSL.</li>
- <li>Se requiere una fuerte verificación de criptografía antes de instalar un paquete de firmware.</li>
- <li>La actualización completa debe ser descargada en una ubicación específica y segura antes de que comience el proceso de actualización.</li>
- <li>El sistema debe estar en un estado seguro cuando se inicia el proceso de actualización, sin aplicaciones web en ejecución.</li>
- <li>Las claves deben ser almacenadas en una ubicación segura en el dispositivo.</li>
-</ul>
-<p>Rigurosas comprobaciones se llevan a cabo para asegurar que la actualización es aplicada correctamente en teléfono móvil.</p>
-<h1 id="Seguridad_en_aplicaciones">Seguridad en aplicaciones</h1>
-<p>Firefox OS utiliza una estrategia de seguridad de tipo defensa en profundidad apara proteger el teléfono móvil de las aplicaciones intrusivas o maliciosos. Esta estrategia cuenta con una variedad de mecanismos, incluyendo los niveles de permisos implícitos basados en un modelo de aplicaciones de confianza, la ejecución de recinto de seguridad en tiempo de ejecución, únicamente acceso al hardware subyacente teléfono móvil a través del API, un modelo de permisos robusto y seguridad en la instalación y los procesos de actualización. Para obtener información técnica, consulte: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Seguridad de las aplicaciones.</a></p>
-<p>En Firefox OS, todas las aplicaciones son aplicaciones web - programas escritos utilizando HTML5, JavaScript, CSS, media y otras tecnologías web abiertas (las páginas que se ejecutan en el navegador no se conocen como aplicaciones Web en este contexto). Porque no hay binario ("nativo") las aplicaciones instaladas por el usuario, todo acceso al sistema está mediada estrictamente a través de las API Web. Incluso el acceso al sistema de archivos es sólo a través de las API de Web y una base de datos SQLite de fondo - no hay acceso directo desde las aplicaciones a los archivos almacenados en la tarjeta SD.</p>
-<p>Firefox OS limita y hace cumplir el ámbito de los recursos que pueden ser accedidos o utilizados por una aplicación, mientras que también apoya una amplia gama de aplicaciones con diferentes niveles de permisos. Mozilla implementa controles estrictos sobre qué tipo de aplicaciones pueden acceder a qué APIs. Por ejemplo, sólo las aplicaciones certificadas (se suministran con el teléfono) pueden tener acceso a la API de telefonía. La aplicación Marcador tiene privilegios para acceder a la API de telefonía para hacer llamadas telefónicas, pero no todas las aplicaciones certificadas se puede acceder a esta API. Esto evita que un escenario, por ejemplo, en el que se instala una aplicación de terceros arbitraria, marca un número de teléfono de pago por uso (900 y 910), y por debajo te consume gran cantidad del saldo del teléfono celular. Sin embargo, otras aplicaciones OEM pueden darse de forma selectiva el acceso a la API de telefonía. Por ejemplo, un operador podría proporcionar una aplicación de gestión de sistemas que permite a los clientes administrar su cuenta, incluyendo la posibilidad de llamar a la facturación del operador o de la oficina de apoyo directamente.</p>
-<h2 id="Aplicaciones_confiables_y_no_confiables">Aplicaciones confiables y no confiables</h2>
-<p>Firefox OS clasifica las aplicaciones de acuerdo a los siguientes tipos:</p>
-<table>
- <thead>
- <tr>
- <th style="width: 82px;">
- <p>Tipo</p>
- </th>
- <th style="width: 102px;">
- <p>Nivel de confianza</p>
- </th>
- <th style="width: 447px;">
- <p>Descripción</p>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 82px;">
- <p>Certificadas</p>
- </td>
- <td style="width: 102px;">
- <p>Altamente confiable</p>
- </td>
- <td style="width: 447px;">
- <p>Aplicaciones del sistema que han sido aprobadas por el operador o el OEM (debido al riesgo de corrupción para el dispositivo o riesgo para las funcionalidades críticas). Aplicaciones y servicios del sistema solamente, no destinadas a aplicaciones de terceros.<br>
- Esta designación se reserva para sólo un pequeño número de aplicaciones críticas. Ejemplos: SMS, Bluetooth, cámara, reloj del sistema, la telefonía y el marcador por defecto (para garantizar que los servicios de emergencia siempre están accesibles).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>Privilegiadas</p>
- </td>
- <td style="width: 102px;">
- <p>Confiables</p>
- </td>
- <td style="width: 447px;">
- <p>Aplicaciones de terceros que han sido revisados, aprobados y firmados digitalmente por un mercado autorizado.</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>Web (todo lo demás)</p>
- </td>
- <td style="width: 102px;">
- <p>No confiables</p>
- </td>
- <td style="width: 447px;">
- <p>Contenido web regular. Incluye tanto las aplicaciones instaladas (almacenadas en el teléfono móvil) y las aplicaciones de servidor (almacenados remotamente, con sólo un archivo de manifiesto de aplicación almacenada en el teléfono móvil). El manifiesto para aplicaciones de servidor se puede obtener a través de un mercado de aplicaciones.</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>El nivel de confianza de una aplicación determina, en parte, su capacidad para acceder a la funcionalidades en el teléfono móvil.</p>
-<ul>
- <li>Las aplicaciones certificadas tienen permiso para la mayoría de operaciones de la API Web</li>
- <li>Las aplicaciones privilegiadas tienen permisos a un subconjunto de las operaciones de la API Web accesibles para las aplicaciones certificadas.</li>
- <li>Las aplicaciones no confiables tienen permisos para un subconjunto de las operaciones de la API Web accesibles para las aplicaciones con privilegios. Estas son sólo las APIs Web que contiene suficientes medidas de mitigación de seguridad para estar expuesta a contenido web que no se confía.</li>
-</ul>
-<p>Algunas operaciones, como el acceso a la red, se supone de un permiso implícito para todas las aplicaciones. En general, cuanto más sensible es la operación (por ejemplo, marcar un número de teléfono o el acceso a la lista de contactos), mayor es el nivel de confianza requerido en la aplicación para ejecutarla.</p>
-<h3 id="Principle_of_Least_Permissions">Principle of Least Permissions</h3>
-<p>For web apps, the Firefox OS security framework follows the <em>principle of least permissions</em>: start with the absolute minimum permissions, then selectively grant additional privileges only when required and reasonable. By default, an app starts with very low permissions, which is comparable to untrusted web content. If the app makes Web API calls that require additional permissions, it must enumerate these additional permissions in its <em>manifest</em> (described later in this document). Gecko will consider granting Web API access to an application only if the applicable privileges are explicitly requested in its manifest. Gecko will grant the requested permission only if the <em>type </em>of the Web App (certified, trusted, or web) is sufficiently qualified for access.</p>
-<h3 id="Review_Process_for_Privileged_Apps_in_the_Marketplace">Review Process for Privileged Apps in the Marketplace</h3>
-<p>In order for an app to become privileged, the app provider must submit it for consideration to an authorized Marketplace. The Marketplace subjects the app to a rigorous code review process: verifying its authenticity and integrity, ensuring that requested permissions are used for the purposes stated (in the permission rationale), verifying that the use of implicit permissions is appropriate, and validating that any interfaces between privileged app content and unprivileged external content have the appropriate mitigations to prevent elevation of privilege attacks. The Marketplace has the responsibility to ensure that the web app will not behave maliciously with the permissions that it is granted.</p>
-<p>After an app passes this review, it is approved for use, its app manifest is digitally signed by the Marketplace, and it is made available for mobile users to download. The signature ensures that, if the web store were somehow hacked, the hacker could not get away with installing arbitrary content or malicious code on users’ phones. Due to this vetting process, Firefox OS gives privileged apps obtained from a Marketplace a higher degree of trust than everyday (untrusted) web content.</p>
-<h2 id="Packaged_and_Hosted_Apps">Packaged and Hosted Apps</h2>
-<p>Apps for Firefox OS can be either <em>packaged</em> (stored on the mobile phone) or <em>hosted</em> (stored on a remote web server, with just a manifest stored on the mobile phone). There are some differences in the way in which security is managed for each. Nonetheless, packaged and hosted apps are both subject to application sandboxing, which is described later in this document.</p>
-<h3 id="Packaged_Apps">Packaged Apps</h3>
-<p>A packaged app consists of a ZIP file containing application resources (HTML5, CSS, JavaScript, images, media), as well as a manifest that provides an explicit list of assets and their corresponding hashes. Certified and privileged apps must be packaged apps because the app manifest needs to be digitally signed. When a user obtains a packaged app, the ZIP file is downloaded onto the mobile phone, and the manifest is read from a known location inside the ZIP file. During the install process, app assets are verified and remain stored locally in the package. All explicit permissions are requested at runtime, showing the user the app's data usage intentions, and persisted by default.</p>
-<p>To refer to app resources in a packaged app, the URL begins with app: using the following format:</p>
-<p><code>app://<em>identifier</em>/<em>path_within_zipfile</em>/file.html</code></p>
-<p>where app:// represents the mount point for the ZIP file, and <em>identifier</em> is a UUID that is generated when the app is installed on the mobile phone. This mechanism ensures that resources referred to with an app: URL are contained in the ZIP file. The path within an app: is relative, so relative links to resources in the ZIP file are allowed.</p>
-<p>While packaged apps are primarily intended to be used for Certified or Privileged apps, regular web apps can also be packaged. However, they do not gain any increase in trust or permissions access simply because they are packaged.</p>
-<h3 id="Hosted_Apps">Hosted Apps</h3>
-<p>Hosted apps are located on a web server and loaded via HTTP. Only the app manifest is stored on the mobile phone. Everything else is stored remotely. Certain APIs are available only to privileged and certified apps, which requires the app to be packaged due to signing requirements. Therefore, a hosted app will not have access to any of the Web APIs operations that require privileged or certified app status.</p>
-<p>From a security point of view, hosted apps work very much like normal websites. A hosted app is loaded by invoking a hard-coded, fully-qualified URL that points to the startup page in the root directory of the app on that web server. Once a hosted app is loaded, the mobile phone links to pages using the same URLs that are used when browsing the web site.</p>
-<h2 id="App_Manifest">App Manifest</h2>
-<p>An Open Web App manifest contains information that a Web browser needs in order to interact with an app. A manifest is a JSON file with (at a minimum) a name and description for the app. For further details, refer to <a href="/en-US/docs/Apps/FAQs/About_app_manifests" title="/en-US/docs/Apps/FAQs/About_app_manifests">FAQs about app manifests</a>.</p>
-<h3 id="Example_Manifest">Example Manifest</h3>
-<p>The following code listing shows an example manifest with just basic settings:</p>
-<pre class="brush:text">{
- "name": "My App",
- "description": "My elevator pitch goes here",
- "launch_path": "/",
- "icons": {
- "128": "/img/icon-128.png"
- },
- "developer": {
- "name": "Your name or organization",
- "url": "http://your-homepage-here.org"
- },
- "default_locale": "en"
-}</pre>
-<h3 id="Security_Settings_in_the_App_Manifest">Security Settings in the App Manifest</h3>
-<p>The manifest can also contain other settings, including the following security settings:</p>
-<table>
- <thead>
- <tr>
- <th style="width: 152px;">
- <p>Field</p>
- </th>
- <th style="width: 479px;">
- <p>Description</p>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 152px;">
- <p>permissions</p>
- </td>
- <td style="width: 479px;">
- <p>Permissions required by the app. An app must list every Web API it intends to use that requires user permission. Most permissions make sense for privileged apps or certified apps, but not for hosted apps. Properties per API:</p>
- <ul>
- <li><strong>description</strong> - A string specifying the intent behind requesting use of this API. Required.</li>
- <li><strong>access</strong> - A string specifying the type of access required for the permission. Implicit permissions are granted at install time. Required for only a few APIs. Accepted values: <strong>read</strong>, <strong>readwrite</strong>, <strong>readcreate</strong>, and <strong>createonly</strong>.</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>installs_allowed_from</p>
- </td>
- <td style="width: 479px;">
- <p>Origin of the app. Array of origins (scheme+unique hostname) that are allowed to trigger installation of this app. Allows app providers to restrict installs from only an authorized Marketplace (such as <a href="https://marketplace.firefox.com/">https://marketplace.firefox.com/</a>).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>csp</p>
- </td>
- <td style="width: 479px;">
- <p>Content Security Policy (CSP). Applied to all pages loaded in the app. Used to harden the app against bugs that would allow an attacker to inject code into the app. If unspecified, privileged and certified apps have system-defined defaults. Syntax:<br>
- <a href="https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp">https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp</a></p>
- <p><em>Note that this directive can only increase the CSP applied. You cannot use it, for example, to reduce the CSP applied to a privileged App.</em></p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>type</p>
- </td>
- <td style="width: 479px;">
- <p>Type of application (web, privileged, or certified).</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>Firefox OS requires that the manifest be served with a specific mime-type ("application/x-web-app-manifest+json") and from the same fully-qualified host name (origin) from which the app is served. This restriction is relaxed when the manifest app (and thus the app manifest) is same-origin with the page that requested the app to be installed. This mechanism is used to ensure that it's not possible to trick a website into hosting an application manifest.</p>
-<h2 id="Sandboxed_Execution">Sandboxed Execution</h2>
-<p>This section describes application and execution sandboxes.</p>
-<h3 id="Application_Sandbox">Application Sandbox</h3>
-<p>The Firefox OS security framework uses sandboxing as a defense-in-depth strategy to mitigate risks and protect the mobile phone, platform, and data. Sandboxing is a way of putting boundaries and restrictions around an app during run-time execution. Each app runs in its own worker space and it has access only to the Web APIs and the data it is permitted to access, as well as the resources associated with that worker space (IndexedDB databases, cookies, offline storage, and so on). For details, see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model</a>.</p>
-<p>The following figure provides an overview of this security model.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5025/sandbox.png"></p>
-<p>By isolating each app, its impact is contained within its own worker space. It cannot interfere with anything (such as other apps or their data) outside of that worker space.</p>
-<h3 id="Execution_Sandbox">Execution Sandbox</h3>
-<p>B2G (Gecko) runs in a highly-privileged system process that has access to hardware features in the mobile phone. At run-time, each app runs inside an execution environment that is a child process of the B2G system process. Each child process has a restricted set of OS privileges – for example, a child process cannot directly read or write arbitrary files on the file system. Privileged access is provided through Web APIs, which are mediated by the parent B2G process. The parent ensures that, when a child process requests a privileged API, it has the necessary permission to perform this action.</p>
-<p>Apps communicate only with the B2G core process, not with other processes or apps. Apps do not run independently of B2G, nor can apps open each other. The only “communication” between apps is indirect (for example, when a listener process detects an event generated by some other process), and is mediated through the B2G process.</p>
-<h3 id="Hardware_Access_Only_via_the_Web_API">Hardware Access Only via the Web API</h3>
-<p>Web apps have only one entry point to access mobile phone functionality: the Firefox OS Web APIs, which are implemented in Gecko. Gecko provides the sole gateway to the mobile device and underlying services. The only way to access device hardware functionality is to make a Web API call. There is no “native” API and there are no other routes (no “back doors”) to bypass this mechanism and interact directly with the hardware or penetrate into low-level software layer.</p>
-<h1 id="Security_Infrastructure">Security Infrastructure</h1>
-<p>The following figure shows the components of this security framework:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5027/securityframework.png" style="width: 979px; height: 591px;"></p>
-<ul>
- <li><strong>Permission Manager</strong>: Gateway to accessing functionality in the Web API, which is the only access to the underlying hardware.</li>
- <li><strong>Access Control List</strong>: Matrix of roles and permissions required to access Web API functionality.</li>
- <li><strong>Credential Validation</strong>: Authentication of apps/users.</li>
- <li><strong>Permissions Store</strong>: Set of privileges required to access Web API functionality.</li>
-</ul>
-<h2 id="Permissions_Management_and_Enforcement">Permissions Management and Enforcement</h2>
-<p>Firefox OS security is designed to verify and enforce the permissions granted to web apps.<br>
- The system grants a particular permission to an app only if the content requests it, and only if it has the appropriate permissions requested in the app’s manifest. Some permissions require further authorization from the user, who is prompted to grant permission (as in the case of an app requesting access to the user’s current location). This app-centric framework provides more granular control over permissions than traditional role-centric approaches (in which individual roles are each assigned a set of permissions).</p>
-<p>A given Web API has a set of actions and listeners. Each Web API has a required level of permission. Every time a Web API is called, Gecko checks permission requirements (role lookup) based on:</p>
-<ul>
- <li>permissions associated with calling app (as specified in the manifest and based on the app type)</li>
- <li>permissions required to execute the requested operation (Web API call)</li>
-</ul>
-<p>If the request does not meet the permission criteria, then Gecko rejects the request. For example, untrusted apps cannot execute any Web APIs that are reserved for trusted apps.</p>
-<h2 id="Prompting_Users_for_Permission">Prompting Users for Permission</h2>
-<p>In addition to permissions that are implicitly associated with the web apps, certain operations require explicit permission from the user before they can be executed. For these operations, web apps are required to specify, in their manifest, their justification for requiring this permission. This <em>data usage intention</em> informs users about what the web app intends to do with this data if permission is granted, as well as any risk involved. This allows users to make informed decisions and maintain control over their data.</p>
-<h2 id="Secure_App_Update_Process">Secure App Update Process</h2>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5029/updateprocess.png" style="width: 979px; height: 102px;"></p>
-<p>For app upgrades and patches to a <em>privileged</em> app, app providers submit the updated package to an authorized Marketplace, where it is reviewed and, if approved, signed and made available to users. On Firefox OS devices, an App Update Utility periodically checks for app updates. If an update is available, then the user is asked whether they want to install it. Before a update is installed on the mobile device, the package is verified for:</p>
-<ul>
- <li>update origin (verify the source location protocol:domain:port of the update and manifest)</li>
- <li>file integrity (SHA-256 hash check)</li>
- <li>code signature (certificate check against a trusted root)</li>
-</ul>
-<p>Rigorous checks are in place to ensure that the update is applied properly to the mobile phone.<br>
- The complete update package must be downloaded in a specific and secure location before the update process begins. Installation does not overwrite any user data.</p>
-<h1 id="Device_Security_(Hardware)">Device Security (Hardware)</h1>
-<p>Security mechanisms for the mobile device hardware are typically handled by the OEM. For example, an OEM might offer SIM (Subscriber Identity Module) card locks, along with PUK (PIN Unlock Key) codes to unlock SIM cards that have become locked following incorrect PIN entries. Contact the OEM for details. Firefox OS does allow users to configure passcodes and timeout screens, which are described in the next section.</p>
-<h1 id="Data_Security">Data Security</h1>
-<p>Users can store personal data on their phone that they want to keep private, including contacts, financial information (bank &amp; credit card details), passwords, calendars, and so on. Firefox OS is designed to protect against malicious apps that could steal, exploit, or destroy sensitive data.</p>
-<h2 id="Passcode_and_Timeout_Screens">Passcode and Timeout Screens</h2>
-<p>Firefox OS allows users to set a passcode to their mobile phone so only those who supply the passcode can use the phone. Firefox OS also provides a timeout screen that is displayed after a configurable period of phone inactivity, requiring passcode authentication before resuming use of the phone.</p>
-<h2 id="Sandboxed_Data">Sandboxed Data</h2>
-<p>As described earlier, apps are sandboxed at run time. This prevents apps from accessing data that belongs to other apps <em>unless</em> that data is explicitly shared, and the app has sufficient permissions to access it.</p>
-<h2 id="Serialized_Data">Serialized Data</h2>
-<p>Web apps do not have direct read and write access to the file system. Instead, all access to storage occurs only through Web APIs. Web APIs read from, and write to, storage via a an intermediary SQLite database. There is no direct I/O access. Each app has its own data store, which is serialized to disk by the database.</p>
-<h2 id="Data_Destruction">Data Destruction</h2>
-<p>When a user uninstalls an app, all of the data (cookies, localStorage, Indexeddb, and so on) associated with that application is deleted.</p>
-<h2 id="Privacy">Privacy</h2>
-<p>Mozilla is committed to protecting user privacy and user data according to its privacy principles (<a href="https://www.mozilla.org/privacy/">https://www.mozilla.org/privacy/</a>), which stem from the Mozilla Manifesto (<a href="https://www.mozilla.org/about/manifesto.html">https://www.mozilla.org/about/manifesto.html</a>). The Mozilla Firefox Privacy Policy describes how Mozilla collects and uses information about users of the Mozilla Firefox web browser, including what Firefox sends to websites, what Mozilla does to secure data, Mozilla data practices, and so on. For more information, see:</p>
-<ul>
- <li><a href="http://www.mozilla.org/en-US/legal/privacy/firefox.html">http://www.mozilla.org/en-US/legal/privacy/firefox.html</a></li>
- <li><a href="https://blog.mozilla.org/privacy/">https://blog.mozilla.org/privacy/</a></li>
- <li><a href="http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones">http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones</a></li>
-</ul>
-<p>Firefox OS implements these principles by putting the control of the user data in the hands of the user, who gets to decide where this personal information goes. Firefox OS provides the following features:</p>
-<ul>
- <li>Do Not Track option</li>
- <li>ability to disable Firefox browser cookies</li>
- <li>ability to delete the Firefox OS browsing history</li>
-</ul>
-<p> </p>
diff --git a/files/es/archive/b2g_os/simulator/index.html b/files/es/archive/b2g_os/simulator/index.html
deleted file mode 100644
index e05c481b85..0000000000
--- a/files/es/archive/b2g_os/simulator/index.html
+++ /dev/null
@@ -1,258 +0,0 @@
----
-title: Simulador de Firefox OS
-slug: Archive/B2G_OS/Simulator
-translation_of: Archive/B2G_OS/Simulator
----
-<div class="note">
-<p>El Simulador de Firefox OS está todavía en una etapa temprana de desarrollo, y aún no llega al nivel de confiabilidad que queremos.</p>
-
-<p>Si encuentra un error de cualquier tipo, <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">cree un informe en GitHub</a>, y si quiere hacernos una pregunta, utilice la <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">lista de correo dev-developer-tools</a> o en el canal <a href="irc://irc.mozilla.org/#devtools">#devtools de irc.mozilla.org</a> (en inglés).</p>
-</div>
-
-<p>El complemento Simulador de Firefox OS es una herramienta que le permite probar y depurar <a href="/en-US/docs/Apps" title="/en-US/docs/Apps">aplicaciones para Firefox OS</a> en el escritorio. El ciclo de «programar–probar–depurar» es mucho más rápido con el Simulador que con un dispositivo de hardware real y, obviamente, no necesitará uno para utilizarlo.</p>
-
-<p>En esencia, el complemento del Simulador consiste de:</p>
-
-<ul>
- <li><strong>el Simulador en sí</strong>: éste incluye el <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client">cliente de escritorio de Firefox OS</a>, que es una versión de las capas superiores de <a href="/en-US/docs/Mozilla/Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> que se ejecuta en su sistema operativo de escritorio. El Simulator también incluye algunas <a href="#Simulator-toolbar" title="#Simulator-toolbar">funciones de emulación adicionales</a> que no están disponibles en las compilaciones de Firefox OS para escritorio estándares.</li>
- <li><strong>el tablero</strong>: una herramienta ubicada en el navegador Firefox que permite iniciar y detener el Simulador; e instalar, desinstalar y depurar aplicaciones ejecutadas en él. El tablero también le permite instalar aplicaciones en un dispositivo real, y realiza comprobaciones a los archivos <em> manifest</em> para detectar problemas comunes.</li>
-</ul>
-
-<p>La siguiente captura de pantalla muestra una sesión de depuración utilizando el Simulador.</p>
-
-<p>El tablero se encuentra en la esquina superior derecha de la imagen, ubicado en una pestaña de Firefox. Hemos añadido una aplicación empaquetada, llamada «Where am I?». En la esquina superior izquierda, hay una aplicación ejecutándose en el Simulador. Asimismo, hemos conectado las herramientas de depuración, que están en la ventana inferior. Puede ver que se ha alcanzado un punto de interrupción en la aplicación.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5139/Simulator-overview.png"></p>
-
-<p>Esta guía abarca los temas siguientes:</p>
-
-<ul>
- <li><a href="#Installing" title="#Installing">cómo instalar el complemento del Simulador</a></li>
- <li><a href="#Adding-updating-removing" title="#Adding-updating-removing">cómo añadir, eliminar y actualizar aplicaciones</a></li>
- <li><a href="#Manifest-validation" title="#Manifest-validation">validación de <em>manifest</em></a></li>
- <li><a href="#Running-the-Simulator" title="#Running-the-Simulator">cómo ejecutar el Simulador</a></li>
- <li><a href="#Attaching-developer-tools" title="#Attaching-developer-tools">cómo conectar herramientas de desarrollo como el depurador de JS a las aplicaciones ejecutándose en el Simulador</a></li>
- <li><a href="#Limitations" title="#Limitations">las limitaciones del Simulador al compararlo cun un dispositivo con Firefox OS real</a></li>
-</ul>
-
-<p>Para un tutorial práctivo que le muestra cómo utilizar el Simulador para depurar una aplicación web real, véase la página <a href="/en-US/docs/Tools/Firefox_OS_Simulator/Simulator_Walkthrough" title="/en-US/docs/Tools/Firefox_OS_Simulator/Simulator_Walkthrough">Paso a paso con el Simulador</a>.</p>
-
-<h2 id="Instalar_el_complemento_del_Simulador"><a name="Instalar">Instalar el complemento del Simulador</a></h2>
-
-<p>El Simulador está empaquetado y distribuido como un complemento de Firefox. Para instalarlo:</p>
-
-<ol>
- <li>Mediante Firefox, vaya a <a href="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/" title="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/">la página del Simulador en addons.mozilla.org</a>.</li>
- <li>Pulse en «Añadir a Firefox».</li>
- <li>Una vez que se haya descargado completamente el complemento, se le solicitará instalarlo: pulse en «Instalar ahora».</li>
-</ol>
-
-<p>Debido al tamaño del complemento, Firefox puede colgarse durante unos segundos mientras se instala, y es posible que aparezca el cuadro de diálogo «Aviso: script sin respuesta». Si esto ocurre, pulse en «Continuar» y espere a que la instalación finalice. Este problema se sigue en el <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=814505" title="https://bugzilla.mozilla.org/show_bug.cgi?id=814505">error n.º 814505</a>.<br>
- <br>
- Una vez instalado el complemento, Firefox comprobará si hay actualizaciones regularmente y lo mantendrá actualizado automáticamente.</p>
-
-<p>Cuando instala el Simulador, el tablero se abre automáticamente; y puede volverlo a abrir en cualquier momento yendo al menú «Firefox» (o el menú «Herramientas» en OS X y Linux) ▸ «Desarrollador web» ▸ «Firefox OS Simulator»:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5141/simulator-open-on-windows-7.png" style="display: block; height: 533px; margin-left: auto; margin-right: auto; width: 453px;"><br>
- El tablero es la herramienta que usará para añadir su aplicación al Simulador y ejecutarla. Así es como luce:<br>
- <img alt="" src="https://mdn.mozillademos.org/files/5143/dashboard.png" style="height: 720px; width: 963px;"></p>
-
-<h2 id="Añadir_actualizar_y_desinstalar_aplicaciones"><a name="anadir-actualizar-eliminar">Añadir, actualizar y desinstalar aplicaciones</a></h2>
-
-<h3 id="Añadir_aplicaciones">Añadir aplicaciones</h3>
-
-<p>Para añadir una <a href="/en-US/docs/Apps/Packaged_apps" title="/en-US/docs/Apps/Packaged_apps">aplicación empaquetada</a> al Simulador, abra el tablero, pulse en «Añadir un directorio» y seleccione el <a href="/en-US/docs/Apps/Manifest" title="/en-US/docs/Apps/Manifest">archivo <em>manifest</em></a> para su aplicación.<br>
- <br>
- Para añadir una aplicación alojada en la Web, escriba un URL en el cuadro de texto «URL de página o manifest.webapp», y luego pulse en «Añadir URL». Si el URL apunta a un <em>manifest</em>, ese <em>manifest</em> se utilizará. Si no, el tablero generará un <em>manifest</em> para el URL. De este modo puede añadir cualquier sitio como aplicación con tan solo introducir su URL.<br>
- <br>
- Cuando añade una aplicación, el tablero ejecutará una sserie de pruebas en el archivo <em>manifest</em> para comprbar problemas comunes. Consulte la sección <a href="#Manifest-validation" title="#Manifest-validation">Validación de <em>manifest</em></a> para obtener detalles sobre las pruebas que se ejecutan.</p>
-
-<p>A menos de que la validación del <em>manifest</em> muestre que su aplicación tiene errores, el tablero ejecutará la aplicación en el Simulador automáticamente.</p>
-
-<h3 id="Gestión_de_aplicaciones">Gestión de aplicaciones</h3>
-
-<p>Una vez que ha añadido una aplicación, ésta aparecerá en la lista de aplicaciones instaladas del gestor:<br>
- <img alt="" src="https://mdn.mozillademos.org/files/5145/dashboard-list-apps.png"><br>
- Cada entrada proporciona información sobre la aplicación:</p>
-
-<ul>
- <li>su nombre, tomado del <em>manifest</em></li>
- <li>su tipo, que puede ser «Empaquetada», «Alojada» o «Generada»</li>
- <li>un enlace a su archivo <em>manifest</em></li>
- <li>el resultado de la validación del <em>manifest</em></li>
-</ul>
-
-<p>También proporciona tres órdenes:</p>
-
-<ul>
- <li>«Eliminar»: elimina la aplicación del Simulador o del tablero. Puede deshacer esta operación mientras no cierre la pestaña del tablero.</li>
- <li>«Actualizar»: utilice esta orden para actualizar la aplicación en el Simulador después de que le haya realizado cambios. Esto provoca que el tablero valide el <em>manifest</em> de nuevo. Si realiza cambios a su aplicación, éstos no se reflejarán automáticamente en la aplicación instalada: necesitará pulsar en «Actualizar» y reiniciar el Simulador si estuviera en ejecución.</li>
- <li>«Ejecutar»: ejecuta la aplicación en el Simulador.</li>
-</ul>
-
-<p>Si ha <a href="#Push-to-device" title="#Push-to-device">conectado un dispositivo con Firefox OS</a> a su equipo, verá una cuarta orden llamada «Instalar en dispositivo».</p>
-
-<h3 id="Validación_de_manifest"><a name="Validación de manifest">Validación de <em>manifest</em></a></h3>
-
-<p>Cuando proporciona un <em>manifest</em>, el gestor ejecutará algunas pruebas de validación en él. El gestor informa tres clases de problemas:</p>
-
-<ul>
- <li>errores del <em>manifest</em>: problemas que evitarán que la aplicación se ejecute</li>
- <li>avisos del <em>manifest</em>: problemas que pueden evitar que la aplicación se ejecute correctamente</li>
- <li>avisos específicos del Simulador: funciones que su aplicación utiliza que aún no son compatibles con el Simulador</li>
-</ul>
-
-<p>Se muestran resúmenes de los problemas encontrados en la entrada de la aplicación, al pulsar en los resúmenes se muestran más detalles.</p>
-
-<h4 id="Errores_del_manifest">Errores del <em>manifest</em></h4>
-
-<p>El tablero informará las condiciones siguientes como errores, lo cual significa que no podrá ejecutar su aplicación si no los corrige:</p>
-
-<ul>
- <li>el <em>manifest</em> no incluye el campo obligatorio «name»</li>
- <li>el <em>manifest</em> no contiene código JSON válido</li>
- <li>la aplicación es alojada, pero el campo «<a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">type»</a> en su <em>manifest</em> es <a href="/en-US/docs/Apps/Packaged_apps#Types_of_packaged_apps" title="/en-US/docs/Apps/Packaged_apps#Types_of_packaged_apps">«privileged» o «certified»</a>, que solo están disponibles para aplicaciones empaquetadas</li>
-</ul>
-
-<p>A continuación se muestra el resultado de intentar añadir un archivo <em>manifest</em> que carece del campo «name»:<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/5147/dashboard-missing-name.png"></p>
-
-<h4 id="Avisos_del_manifest">Avisos del <em>manifest</em></h4>
-
-<p>El tablero informará de los siguientes problemas de <em>manifest</em> como avisos:</p>
-
-<ul>
- <li>faltan iconos</li>
- <li>el icono es más pequeño que 128 píxeles: todas las aplicaciones enviadas al Marketplace deben tener al menos un icono de al menos 128 × 128 píxeles</li>
- <li>el campo <a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">«type»</a> es desconocido</li>
- <li>el <em>manifest</em> solicita un <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permiso</a> no reconocido</li>
- <li>el <em>manifest</em> solicita un <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permiso</a> que se denegará</li>
- <li>el <em>manifest</em> solicita un <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permiso</a> para el que no se pudo determinar el nivel de acceso</li>
-</ul>
-
-<h4 id="Avisos_específicos_del_Simulador">Avisos específicos del Simulador</h4>
-
-<p>Finalmente, el gestor emitirá avisos para las aplicaciones que utilicen funciones de Firefox OS que todavía no son totalmente compatibles con el Simulador:</p>
-
-<ul>
- <li>el campo <a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">«type»</a> es «certified», pero el Simulador no es compatible completamente con aplicaciones certificadas</li>
- <li>el <em>manifest</em> solicita un <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permiso</a> para usar una API que el Simulador <a href="#Unsupported-APIs" title="#Unsupported-APIs">todavía no admite</a></li>
-</ul>
-
-<h2 id="Ejecutar_el_Simulador"><a name="Ejecutar-el-Simulador">Ejecutar el Simulador</a></h2>
-
-<p>El Simulador se puede abrir de dos maneras:</p>
-
-<ul>
- <li>si añade, actualiza o elimina una aplicación, o pulsa en el botón «Ejecutar» junto a una entrada de aplicación, el tablero abrirá automáticamente el Simulador y ejecutará su aplicación directamente</li>
- <li>si pulsa en el botón que dice «Detenido» en el lado izquierdo del tablero, el Simulador arrancará a la pantalla de inicio y necesitará navegar hacia su aplicación</li>
-</ul>
-
-<p>Una vez que inició el Simulador mediante cualquiera de estas formas, el botón «Detenido» se vuelve verde y su etiqueta cambia a «Ejecutándose». Para detener el Simulador, pulse en este botón de nuevo.<br>
- <br>
- El Simulador aparece en una ventana separada cuyo tamaño simula las dimensiones de una pantalla de 320 × 480 píxeles, y posee una <a href="#Simulator-toolbar" title="#Simulator-toolbar">barra de herramientas en la parte inferior que contiene algunas funciones adicionales</a>.</p>
-
-<p>Para simular toques, puede pulsar con el ratón y arrastrar mientras mantiene oprimido el botón izquieerdo. Asi que, para ver las aplicaciones incorporadas en el sistema —y las que haya instalado—, pulse y arrastre con el ratón sobre la pantalla de inicio:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5149/simulator-homescreen.png" style="float: left; height: 638px; width: 432px;"><img alt="" src="https://mdn.mozillademos.org/files/5151/simulator-apps-screen.png" style="height: 638px; width: 432px;"></p>
-
-<h3 id="Barra_de_herramientas_del_Simulador"><a name="Barra-simulador">Barra de herramientas del Simulador</a></h3>
-
-<p>La barra de herramientas ubicada en la parte inferior de la ventana contiene tres botones:<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/5159/simulator-toolbar.png" style="display: block; height: 190px; margin-left: auto; margin-right: auto; width: 415px;">De izquierda a derecha, son el botón «Inicio», «Simulación de giro» y «Simulación de geolocalización».</p>
-
-<ul>
- <li>el primero le lleva a la pantalla de inicio,</li>
- <li>el segundo conmuta la orientación de la pantalla entre horizontal y vertical. Este cambio disparará el evento <a href="/en-US/docs/WebAPI/Detecting_device_orientation" title="/en-US/docs/WebAPI/Detecting_device_orientation">«deviceorientation»</a>,</li>
- <li>y el tercero abre un cuadro de diálogo que le pedirá compartir su ubicación geográfica, ya sea utilizando sus coordenadas actuales o proporcionando coordenadas personalizadas; la <a href="/en-US/docs/WebAPI/Using_geolocation" title="/en-US/docs/WebAPI/Using_geolocation">API de geolocalización</a> permite que las aplicaciones hagan uso de esta ubicación.</li>
-</ul>
-
-<h3 id="Activar_el_registro_de_consola">Activar el registro de consola</h3>
-
-<p>Si activa la casilla «Consola» que se ubica bajo el botón «Detenido/Ejecutándose», la <a href="/en-US/docs/Error_Console" title="/en-US/docs/Error_Console">Consola de errores</a> se abrirá junto al Simulador. Su aplicación podrá crear registros en esta consola mediante el bojeto global <a href="/en-US/docs/DOM/console" title="/en-US/docs/DOM/console">«console»</a>.</p>
-
-<h3 id="Adjuntar_herramientas_para_desarolladores"><a id="Adjuntando herramientas para desarolladores" name="Adjuntando herramientas para desarolladores"></a>Adjuntar herramientas para desarolladores<a name="Adjuntando herramientas para desarolladores"></a></h3>
-
-<p>Puedes adjuntar herramientas para desarrolladores en el Simulador, para ayudar a depurar tu aplicación. Por el momento, puedes adjuntar únicamente el <a href="/es/docs/Tools/Debugger">Depurador de JavaScript</a> y la <a href="/es/docs/Tools/Web_Console">Consola Web</a>, pero estamos trabajando para añadir soporte para mas herramientas para desarrolladores.</p>
-
-<p>Mientras que el Simulador esté en funcionamiento otro botón aparecerá debajo de la casilla "Consola". Está etiquetado "Conectar...":</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5167/dashboard-connect.png" style="display: block; height: 442px; margin-left: auto; margin-right: auto; width: 459px;"></p>
-
-<p>Haz clic, y te llevará a una página parecida a esta:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5163/connect-port-selection.png" style="display: block; height: 718px; margin-left: auto; margin-right: auto; width: 798px;">Haz clic en "Conectar" aquí y verás otra página, esta vez como esta:<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/5165/connect-target-selection.png" style="display: block; height: 718px; margin-left: auto; margin-right: auto; width: 798px;"></p>
-
-<p>Para usar el <a href="/es/docs/Tools/Debugger">Depurador de JavaScript</a>, selecciona aquí "chrome://prosthesis/content/shell.xul". Una vez ejecutado, necesitarás buscar los scripts de tu aplicación en el <a href="/en-US/docs/Tools/Debugger#The_debugger_toolbar">seleccionador de script</a>, pero si abres tu aplicación y luego te conectas al depurador, el script principal de tu aplicación será seleccionado como predeterminado:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5169/js-debugger.png" style="display: block; height: 400px; margin-left: auto; margin-right: auto; width: 971px;"> Para usar la <a href="/es/docs/Tools/Web_Console">Consola Web</a> con tu aplicación, selecciona "Proceso Principal" en la ventana "Conectar a dispositivo remoto".</p>
-
-<p>Lamentablemente, no hay depuración de objetivo único que funcione con ambos la Consola Web y el Depurador JS - pero puedes ejecutar dos dos casos simultáneamente de las herramientas de depuración, una dirigida a "shell.xul" y otra a "Proceso Principal".</p>
-
-<h2 id="Subir_al_dispositivo"><a name="Push-to-device">Subir al dispositivo</a></h2>
-
-<p>Si tienes un dispositivo Firefox OS puedes conectarlo al Simulador, y por ello puedes subirlo desde el panel de control a el dispositivo.</p>
-
-<h3 id="Conectar_un_dispositivo">Conectar un dispositivo</h3>
-
-<p>Para conectar un dispositivo, sigue las instrucciones en la guía de <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop">connecting a Firefox OS device to the desktop</a>. Recuerda que no tienes que instalar adb, ya que el complemento del Simulador ya lo incluye.</p>
-
-<p> </p>
-
-<h3 id="Subir_aplicaciones_al_dispositivo">Subir aplicaciones al dispositivo</h3>
-
-<p>Una vez que hayas configurado el dispositivo y escritorio, y conectado el dispositivo a tu escritorio mediante USB, verás aparecer el comentario "Dispositivo conectado." a la izquierda del panel de control, y un nuevo comando en la entrada por cada aplicación etiquetada "Subir":</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/5227/device-connected.png"></p>
-
-<p>Click "Push", and the app will be installed on the Firefox OS device.</p>
-
-<h3 id="Solucionar_problemas_en_Linux">Solucionar problemas en Linux</h3>
-
-<p>Si no puedes conectar tu dispositivo después de crear reglas udev, por favor vea este <a href="https://github.com/mozilla/r2d2b2g/issues/515">bug</a>.</p>
-
-<p> </p>
-
-<h2 id="Limitaciones_del_Simulador"><a name="Limitations">Limitaciones del Simulador</a></h2>
-
-<p>Recuerda que el Simulador de Firefox OS no es una simulación perfecta.</p>
-
-<h3 id="Limitaciones_de_hardware">Limitaciones de hardware</h3>
-
-<p>Aparte del tamaño de la pantalla, el Simulador no simula las limitaciones de hardware del dispositivo Firefox OS tales como memoria disponible o velocidad de la CPU.</p>
-
-<h3 id="Códecs_de_AudioVideo">Códecs de Audio/Video</h3>
-
-<p>Los siguientes códecs dependen en decodificación acelerada por hardware y por lo cual no hay asistencia todavía:</p>
-
-<ul>
- <li>MP3</li>
- <li>AAC</li>
- <li>H.264 (MP4)</li>
- <li>WebM</li>
-</ul>
-
-<p>Esto significa que no es posible usar el Simulador para probar la reproducción de video en aplicaciones y en páginas web como Youtube que dependen de esos códecs.</p>
-
-<h3 id="APIs_no_admitidas"><a name="Unsupported-APIs">APIs no admitidas</a></h3>
-
-<p>Ciertas APIs que funcionan en el dispositivo no funcionarán en el Simulador, generalmente porque el soporte hardware no está disponible para el escritorio. Hemos implementado simulaciones para algunas APIs como geolocalización, y esperamos añadir más en futuras versiones. Sin embargo, por el momento las siguientes APIs no son compatibles. Usárlas podría traer errores o dar resultados incorrectos:</p>
-
-<ul>
- <li><a href="/es/docs/Web/Guide/API/Telephony" title="/en-US/WebAPI/WebTelephony">Telephony</a></li>
- <li><a href="/en-US/docs/WebAPI/WebSMS" title="/en-US/docs/WebAPI/WebSMS">WebSMS</a></li>
- <li><a href="/en-US/docs/WebAPI/WebBluetooth" title="/en-US/docs/WebAPI/WebBluetooth">WebBluetooth</a></li>
- <li><a href="/en-US/docs/WebAPI/Using_Light_Events" title="/en-US/docs/WebAPI/Using_Light_Events">Ambient Light</a></li>
- <li><a href="/en-US/docs/WebAPI/Proximity" title="/en-US/docs/WebAPI/Proximity">Proximity</a></li>
- <li><a href="/en-US/docs/WebAPI/Network_Information" title="/en-US/docs/WebAPI/Network_Information">Network Information</a></li>
- <li><a href="/es/docs/Eventos_online_y_offline" title="/en-US/docs/Online_and_offline_events">eventos navigator.onLine y offline</a></li>
- <li><a href="/es/docs/Web/Guide/API/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibración</a></li>
-</ul>
-
-<h2 id="Obtener_ayuda">Obtener ayuda</h2>
-
-<p>Si encuentras algún bug, por favor <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">archívalos en GitHub</a>. Si tienes alguna cuestión, preguntanos en <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">dev-developer-tools mailing list</a> o en <a href="irc://irc.mozilla.org/#devtools">#devtools en irc.mozilla.org</a>.</p>
diff --git a/files/es/archive/b2g_os/usando_el_b2g_escritorio_cliente/index.html b/files/es/archive/b2g_os/usando_el_b2g_escritorio_cliente/index.html
deleted file mode 100644
index 0fbbe96e02..0000000000
--- a/files/es/archive/b2g_os/usando_el_b2g_escritorio_cliente/index.html
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title: Usando el cliente de escritorio B2G
-slug: Archive/B2G_OS/usando_el_B2G_escritorio_cliente
-translation_of: Archive/B2G_OS/Building_the_B2G_OS_simulator
----
-<p>El cliente de escritorio Firefox OS, también llamado "Cliente de escritorio B2G", te permite correr Gaia y Apps Web en un entorno Gecko-based muy parecido a un dispositivo actual. No emula el hardware del dispositivo, por lo tanto no es apto para probar APIs de dispositivo, tampoco es un reemplazo para probar hardware actual. Sin embargo, tiene múltiples APIs habilitadas que no están disponibles en Firefox como las de Contactos y Opciones. Por lo tanto puede ser muy util durante el desarrollo de nuestra aplicación, o durante el trabajo con la intefaz de usuario de Gaia.</p>
-<p>Este articulo trata sobre la descarga o compilación del cliente de escritorio Firefox OS i como utilizarlo.</p>
-<div class="note">
- <p><strong>Nota:</strong> La forma más sencilla para utilizar el cliente de escritorio de Firefox OS es utilizar el simulador de <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_simulator" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_simulator">Firefox OS</a>. No necesita de instalación de cliente por su parte.</p>
-</div>
-<h2 id="Descarga_una_compilación_nightly">Descarga una compilación "nightly"</h2>
-<div class="note">
- <p><strong>Note:</strong> Firefox OS version 1.0 is based on a branch of Gecko 18. There are also nightly builds based on <code>mozilla-central</code> here:<br>
- <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/</a></p>
-</div>
-<p>Just like <a href="http://nightly.mozilla.org" title="http://nightly.mozilla.org">Firefox Nightlies</a>, the Firefox OS desktop client is built every day from the latest source code. The latest build is <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-aurora/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">available from the Mozilla FTP server</a>. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don't have to download Gaia on your own either.</p>
-<p>Be sure to install the application in a writeable location; the application needs to be able to update included the Gaia profile.</p>
-<p>You can now skip ahead to <a href="#Running_the_desktop_client" title="#Running_the_desktop_client">Running the desktop client</a>, unless you actually want to build it for yourself.</p>
-<h2 id="Building_the_desktop_client">Building the desktop client</h2>
-<p>The first thing we need to do is set up a <a href="/En/Developer_Guide/Build_Instructions#Build_prerequisites" title="En/Developer_Guide/Build_Instructions#Build_prerequisites">standard Mozilla build environment</a>. Once we have that, we can pull down the code we'll need and configure to build the Firefox OS desktop client.</p>
-<h3 id="Downloading_the_code_for_the_first_time">Downloading the code for the first time</h3>
-<p>In a directory where we'd like the source code to go, let's clone the <code>mozilla-central</code> repository that contains all of Gecko:</p>
-<pre> hg clone http://hg.mozilla.org/mozilla-central
-</pre>
-<h3 id="Updating_the_code">Updating the code</h3>
-<p>When we do subsequent builds later, we'll want to make sure we have the latest code. Here's how to pull the latest changes:</p>
-<pre>cd mozilla-central
-hg pull -u
-</pre>
-<h3 id="Create_a_mozconfig">Create a mozconfig</h3>
-<p>Next, we need to create a <code>mozconfig</code> file in the <code>mozilla-central</code> directory to configure the build system to build the Boot to Gecko client instead of Firefox:</p>
-<pre>mk_add_options MOZ_OBJDIR=../build
-mk_add_options MOZ_MAKE_FLAGS="-j9 -s"
-
-ac_add_options --enable-application=b2g
-ac_add_options --disable-libjpeg-turbo
-
-# This option is required if you want to be able to run Gaia's tests
-ac_add_options --enable-tests
-
-# turn on mozTelephony/mozSms interfaces
-# Only turn this line on if you actually have a dev phone
-# you want to forward to. If you get crashes at startup,
-# make sure this line is commented.
-#ac_add_options --enable-b2g-ril</pre>
-<h3 id="Building">Building</h3>
-<p>Now we're ready to build the desktop client with the following command issued from the <code>mozilla-central</code> directory:</p>
-<pre>make -f client.mk
-</pre>
-<p>The built client will be placed in the <code>../build/dist</code> directory (based on the value you specify for <code>MOZ_OBJDIR</code> in the <code>mozconfig</code> file).</p>
-<h2 id="Downloading_Gaia">Downloading Gaia</h2>
-<p>By default the desktop client will show an empty screen because it doesn't know which Web app to load initially as the system app. The collection of system apps and default apps that come with Firefox OS is called Gaia.</p>
-<p>To download Gaia for the first time, let's clone the source code repository on GitHub:</p>
-<pre>git clone https://github.com/mozilla-b2g/gaia
-cd gaia</pre>
-<p>To update an already existing clone of Gaia, we can pull in the latest changes from GitHub:</p>
-<pre>cd gaia
-git pull
-</pre>
-<h3 id="Generating_a_profile">Generating a profile</h3>
-<p>Next we need to set up Gaia's apps for the desktop client. This includes packaging the Gaia apps in the same way like they would be installed on the device, as well as setting up the permissions for the privileged system apps. We do this by generating a profile. The following command (run in the <code>gaia</code> directory) will take care of that:</p>
-<pre>make
-</pre>
-<p>This should create a <code>profile</code> directory below the <code>gaia</code> directory. The new profile contains a customized extension and other configuration needed to make B2G run properly.</p>
-<h2 id="Running_the_desktop_client">Running the desktop client</h2>
-<p>Once you've built the client and downloaded Gaia (or downloaded and installed the nightly desktop application), you're ready to fire up the Firefox OS desktop client.</p>
-<h3 id="Running_on_Linux">Running on Linux</h3>
-<p>To run the desktop client on Linux using the embedded Gaia profile, just run the <code>b2g</code> executable. If you want to specify a different Gaia profile, you need to bypass the <code>b2g</code> wrapper program and run the <code>b2g-bin</code> binary. The binary is in the archive you downloaded earlier or in the <code>../build/dist/bin</code> directory if you built the client yourself.</p>
-<pre>.../b2g-bin -profile gaia/profile
-</pre>
-<p>You may experience annoying rendering problems. To avoid them, add the following line to your <code>gaia/profile/user.js</code> file:</p>
-<pre>user_pref("layers.acceleration.disabled", true);
-</pre>
-<h3 id="Running_on_Mac">Running on Mac</h3>
-<p>If you downloaded the nightly build, you can simply launch it from the Finder as usual. Any console output is visible by running the standard Console utility program included with your Mac.</p>
-<p>If you want to specify a different Gaia profile, you need to bypass the <code>b2g</code> wrapper program and run the <code>b2g-bin</code> binary. The command line is slightly more complicated due to the location of the <code>b2g-bin</code> binary and the need for absolute paths when specifying the profile directory:</p>
-<pre>.../B2G.app/Contents/MacOS/b2g-bin -profile /full/path/to/gaia/profile
-</pre>
-<h3 id="Running_on_Windows">Running on Windows</h3>
-<p>Running the nightly build on Windows is as simple as launching <code>b2g.exe</code>. If you want to customize the execution, you can do so by running the <code>b2g-bin.exe</code> executable instead; this bypasses the wrapper program that automatically uses the bundled Gaia.</p>
-<h2 id="Command_line_options">Command line options</h2>
-<p>There are a number of command line options you can use to adjust the runtime experience while using the desktop client. You can get a list by using the <code>-help</code> option. This section covers some of the particularly interesting ones.</p>
-<h3 id="option-screen" name="option-screen">Specifying the screen size</h3>
-<p>You can specify the screen size of the device you want to simulate using the <code>--screen</code> option:</p>
-<pre>b2g --screen=<em>&lt;width&gt;</em>x<em>&lt;height&gt;</em>[@<em>&lt;dpi&gt;</em>]</pre>
-<p>Where <em>&lt;width&gt;</em>, <em>&lt;height&gt;</em>, and <em>&lt;dpi&gt;</em> are fairly self-explanatory parameters: the width and height of the device's screen in pixels and the device resolution in DPI. For example:</p>
-<pre>b2g --screen=320x480
-b2g --screen=320x480@160
-</pre>
-<p>Optionally, you can specify certain devices by name to simulate their screen size and resolution:</p>
-<ul>
- <li><code>iphone</code></li>
- <li><code>ipad</code></li>
- <li><code>nexus_s</code></li>
- <li><code>galaxy_nexus</code></li>
- <li><code>galaxy_tab</code></li>
- <li><code>wildfire</code></li>
- <li><code>tattoo</code></li>
- <li><code>salsa</code></li>
- <li><code>chacha</code></li>
-</ul>
-<h3 id="option-console" name="option-console">Opening the JavaScript console</h3>
-<p>You can open the JavaScript console when launching the desktop B2G client by launching it from the command line with the <code>-jsconsole</code> flag. After building, just do:</p>
-<pre>.../b2g -jsconsole -profile <em>/path/to/your/profile</em></pre>
-<p>If you've installed the nightly build on a Mac, you can do the following:</p>
-<pre>/Applications/B2G.app/Contents/MacOS/b2g-bin -jsconsole -profile <em>/path/to/your/profile</em></pre>
-<div class="note">
- <p><strong>Note:</strong> On production builds of Firefox OS, console logging (such as by <a href="/es/docs/Web/API/Console/log" title='Vea "Mostrando texto en la consola" en la documentación de console para mas detalles.'><code>console.log()</code></a>) is disabled by default. In order to enable it, open the Settings app and navigate down through Device Information-&gt;More Information-&gt;Developer, then toggle on the "Console Enabled" preference.</p>
-</div>
-<h3 id="option-runapp" name="option-runapp">Launching a specific application at startup</h3>
-<p>You can now specify an application to be launched automatically when b2g starts up in the desktop client. This is done as soon as the rest of the system is done loading up. To do this, just use the <code>--runapp</code> option, which takes as a parameter the name of the application to run. For example:</p>
-<pre> .../b2g-bin -profile <em>/path/to/your/gaia/profile</em> --runapp email</pre>
-<p>Before looking for an app to launch, the specified name is normalized by converting it to all lower case and removing all dashes and spaces. This normalized name is then compared to similarly normalized names from the manifests of available apps' manifests.</p>
-<p>For example, the name of the email app is currently "E-mail", but <code>--runapp email</code> will work because of this normalization.</p>
-<p>If you specify the <code>--runapp</code> option without an argument, or with an empty argument, the b2g client will output to your terminal a list of the known applications as well as a brief usage message.</p>
-<div class="note">
- <p><strong>Note:</strong> Using the <code>--runapp</code> option disables the lock screen as a side effect and does not re-enable it. It's assumed that you won't use this command on a profile on which you will be testing the lock screen, or you will turn it back on manually in Settings application. Feel free to contribute a patch to change this behavior if it's a problem.</p>
-</div>
-<h2 id="Usage_tips">Usage tips</h2>
-<p>This section provides a few helpful tips to using the B2G desktop client.</p>
-<ul>
- <li>ESC key performs the same function as the "back" button.</li>
- <li>Home key performs the same function as the "home" button; if you're on a Mac, Home key is available as Fn+← (Fn + Left Arrow).</li>
- <li>End key performs the same function as the "power" button; if you're on a Mac, End key is available as Fn+→ (Fn + Right Arrow).</li>
- <li>Page Up and Page Down keys perform the same function as "Volume Up" and "Volume Down" buttons respectively; if you're on a Mac, Page Up key is available as Fn+↑ (Fn + Up Arrow) and Page Down key is available as Fn+↓ (Fn + Down Arrow).</li>
- <li>Long press to Home key opens the "Card View"; if you're on Mac, Cmd+Fn+← (Cmd + Fn + Left Arrow) opens the "Card View".</li>
-</ul>
-<h2 id="Next_steps">Next steps</h2>
-<p>Now that you have a desktop build of Boot to Gecko running, you can do testing, development, and other work in it:</p>
-<ul>
- <li><a href="/en/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko">Debugging on Boot to Gecko</a></li>
- <li><a href="/en/Mozilla/Boot_to_Gecko/Testing_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Testing_Boot_to_Gecko">Testing Boot to Gecko</a></li>
- <li><a href="http://blog.johnford.org/desktop-b2g-include-gaia/" title="http://blog.johnford.org/desktop-b2g-include-gaia/">Desktop B2G builds now include Gaia</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/using_firefox_os_simulator/index.html b/files/es/archive/b2g_os/using_firefox_os_simulator/index.html
deleted file mode 100644
index 158cdca809..0000000000
--- a/files/es/archive/b2g_os/using_firefox_os_simulator/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: Using Firefox OS Simulator
-slug: Archive/B2G_OS/Using_Firefox_OS_Simulator
-translation_of: Archive/B2G_OS/Simulator
----
-<p>The Firefox OS Simulator is a desktop platform tool that shows you what apps will look like on a phone that is running the Firefox OS. It is the easiest way to try out apps on Firefox OS before submitting them to the Firefox Marketplace. The Firefox OS Simulator was formerly called "r2d2b2g", but that name is too difficult.</p>
-<p>The Simulator is packaged as a desktop Firefox add-on. You can use any recent version of Firefox from Firefox 17 onward.</p>
-<p>Although there are other ways to run the Firefox OS desktop, the best and most convenient way for app developers is this one. If you're a core Firefox OS platform developer, or are working on localization, there are other tools that are better suited for your needs. The Simulator add-on includes support for adding apps to the test environment, and is configured to support remote debugging, remote Web console, and other features. It also provides a visible Home button you can click, and sets the user-agent string to the one used by Firefox OS on devices. The result is, in nearly every way, a better environment for app developers.</p>
-<h2 id="Installing_Firefox_OS_Simulator">Installing Firefox OS Simulator</h2>
-<ol>
- <li>Using Firefox, go to this link: <a href="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/" title="/en-US/firefox/addon/firefox-os-simulator/">https://addons.mozilla.org/addon/firefox-os-simulator/</a></li>
- <li>Click <strong>Add to Firefox</strong>. It's a large download. Follow the prompts that appear.</li>
-</ol>
-<div class="warning">
- <p>Because of the size of the add-on, Firefox may freeze for several seconds while installing it, and its <em>unresponsive script</em> dialog may appear, due to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=814505" title="https://bugzilla.mozilla.org/show_bug.cgi?id=814505">bug 814505</a>. If it does, just click the <em>Continue</em> button, and Firefox will continue installing the add-on.</p>
-</div>
-<h2 id="Starting_the_Simulator">Starting the Simulator</h2>
-<ol>
- <li>On the <strong>Firefox</strong> menu (Windows) or the <strong>Tools</strong> menu (Mac, Linux), go to <strong>Web Developer</strong> and click <strong>Firefox OS Simulator</strong>. The dashboard appears.
- <p><img alt="Dashboard" src="/files/4487/dashboard.jpg" style="width: 600px; height: 419px;"></p>
- </li>
- <li>Click the <strong>Stopped</strong> button. It changes into the <strong>Running</strong> button and Firefox OS boots up in its own window. The default size for this window is 320x480.
- <p><img alt="Simulator" src="/files/4485/simulator.jpg" style="width: 336px; height: 552px;"></p>
- <p>To stop the Simulator, click the <strong>Running</strong> button in the dashboard, or just close the Simulator window.</p>
- </li>
-</ol>
-<div class="note">
- <p><strong>Note:</strong> You can also start and stop the Simulator in the Developer Toolbar command line using <code>firefoxos start</code> and <code>firefoxos stop</code>.</p>
-</div>
-<h2 id="Navigating_in_the_Simulator">Navigating in the Simulator</h2>
-<p>Imitate swipe motions in the Simulator by clicking and dragging with the mouse. The mouse scroll wheel will move a list up and down, such as in the Settings app. Click and hold down the mouse button to simulate a long press.</p>
-<p>To get back to the home screen, click the home button at the bottom of the Simulator, or press the <strong>Home</strong> key on your keyboard. On Mac keyboards without a <strong>Home</strong> key, use <strong>Fn + Left Arrow</strong>.</p>
-<h2 id="Console_checkbox">Console checkbox</h2>
-<p>Click the <strong>Console</strong> check box before you start the Simulator to open an error console so you can spot errors that might occur while you're working on your app.</p>
-<h2 id="Web_APIs_in_the_Simulator">Web APIs in the Simulator</h2>
-<p>Mozilla is working on many Web APIs to make native platform capabilities available to Open Web Apps. The Web APIs currently supported in the Simulator are:</p>
-<ul>
- <li>Contacts API</li>
- <li>Settings API</li>
- <li><span style="color: #ff0000;"><span style="background-color: #ffff00;">? what other APIs ?</span></span></li>
-</ul>
-<h2 id="Installing_an_app_in_the_Simulator">Installing an app in the Simulator</h2>
-<p>To install a hosted app in the Simulator, type the URL to the app's manifest in the URL box, and click <strong>Add Manifest</strong>. This will install the app in the Simulator. Here is a simple weather app that you can use as a test:</p>
-<pre>http://jlongster.github.com/weatherme/manifest.webapp</pre>
-<p>The app's icon will be added to one of the home screens in the Simulator.</p>
-<p>You can also install a plain website in the same way. Just type the website's URL in the box and click <strong>Add URL</strong>, and an icon for the site will be added to a home screen. Autocompletion works if you have the website open in another tab.</p>
-<p>To install a packaged app in the Simulator, click the <strong>Add Directory</strong> button, then select the mini-manifest of the app on your local filesystem.</p>
-<p>To remove an app from the Simulator, click the <strong>Remove</strong> link for the app in the dashboard. You may have to restart the Simulator to see it gone.</p>
-<h2 id="Updating_an_app">Updating an app</h2>
-<p>If you are working on an app and need to update it in the Simulator, click the app's Update button in the dashboard. You will have to restart the Simulator. Hosted apps follow the usual rules for Website caching and working with appcache.</p>
-<h2 id="Reporting_bugs">Reporting bugs</h2>
-<p>Remember that the Simulator is a brand-new tool and is still heavily under development. Please <a href="https://github.com/mozilla/r2d2b2g/issues?state=open" title="https://github.com/mozilla/r2d2b2g/issues?state=open">let us know</a> if you find any bugs.</p>
-<h2 id="More_information">More information</h2>
-<p>The Simulator itself is the <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Firefox OS desktop client</a> (also called the B2G desktop client), which is a build of Firefox OS that runs on Windows, Mac, and Linux. Firefox OS Simulator makes it easier to test apps on Firefox OS desktop because it includes functionality for adding apps to the environment and is configured/extended in a variety of ways to better meet the needs of app developers.</p>
-<p>However, because the Simulator uses the Firefox OS desktop client, the documentation for B2G Desktop, Gaia, and B2G generally will also apply to the Simulator to some extent. Here are a couple of those docs:</p>
-<p><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Using the Firefox OS desktop client</a></p>
-<p><a href="https://wiki.mozilla.org/Gaia/Hacking" title="https://wiki.mozilla.org/Gaia/Hacking">Hacking Gaia</a></p>
diff --git a/files/es/archive/b2g_os/using_the_app_manager/index.html b/files/es/archive/b2g_os/using_the_app_manager/index.html
deleted file mode 100644
index bd8b6e6427..0000000000
--- a/files/es/archive/b2g_os/using_the_app_manager/index.html
+++ /dev/null
@@ -1,179 +0,0 @@
----
-title: Usando el App Manager
-slug: Archive/B2G_OS/Using_the_App_Manager
-translation_of: Archive/B2G_OS/Using_the_App_Manager
----
-<div class="summary">
- <p>El App Manager es una nueva herramienta disponible en Firefox para escritorio, que provee una cantidad de útiles herramientas para ayudarte a probar, desarrollar y depurar aplicaciones HTML5 en teléfonos Firefox OS y el Simulador de Firefox OS, directamente en tu navegador.</p>
-</div>
-<p>El App Manager se compone de:</p>
-<ul>
- <li>El <a href="#Apps_panel"><em>Apps panel</em></a>, que maneja apps locales (aplicaciones cuyo código fuente está en tu equipo) y apps  alojadas externamente, perimitiéndote empaquetarlas e instalarlas en tu dispositivo o simulador, y depurarlas usando Toolboxes.</li>
- <li>El <a href="#Device_panel"><em>Device panel</em></a>, que muestra información sobre el dispositivo conectado, incluyendo la versión de Firefox OS instalada, los permisos requeridos para usar las APIs en el dispositivo, y las apps instaladas.</li>
- <li><a href="/en-US/docs/Tools_Toolbox"><em>Toolboxes</em></a>, que son conjuntos de aplicaciones para el desarrollador (consola web, inspecto, depurador, etc.) que pueden ser conectadas a una aplicación en ejecución vía el Apps panel para realizar operaciones de depuración.</li>
-</ul>
-<h2 id="Instalación_rápida"><a name="Configuring_device">Instalación rápida:</a></h2>
-<p>Esta seccion esta diseñada para conseguir la puesta en funcionamiento lo antes posible; si necesitas mas detalles por favor siga adelante con la sección <a href="#Configuring_device">Configuración del dispositivo y sistema</a> y continue leyendo desde allí. Vea también la sección <a href="#Troubleshooting">Solución de problemas</a> para obtener ayuda si tiene algún problema.</p>
-<ol>
- <li>Asegúrate de tener Firefox para escritorio 26+ instalado</li>
- <li>Abre el App Manager (en la barra de direcciones, tipea <code>about:app-manager</code>)</li>
- <li>Si no tienes un dispositivo real:
- <ol>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Install the Firefox OS Simulator</a></li>
- <li>En la barra inferior del App Manager, haz clic en <em>Start Simulator</em>, después haz clic en el nombre del simulador instalado, que debe aparecer ahí.</li>
- </ol>
- </li>
- <li>Si tienes un dispositivo real:
- <ol>
- <li>Asegúrate que tu dispositivo está corriendo Firefox OS 1.2+</li>
- <li>En Opciones de tu dispositivo, desactiva el Bloqueo de pantalla (<code>Opciones &gt; <code>Bloqueo de pantalla</code></code>) y activa Depuración remota (<code>Opciones &gt; Información del dispositivo &gt; Más información &gt; Desarrollador</code>)</li>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/adb-helper/">Instala el ADB Helper</a> como complemento en tu Firefox de escritorio</li>
- <li>Conecta tu dispositivo a tu máquina vía cable USB</li>
- <li>El nombre de tu dispositivo debería aparecer en la barra inferior del App Manager. Haz clic en él.</li>
- </ol>
- </li>
- <li>En la barra inferior debe aparecer "Conectar con: xxx"</li>
- <li>Haz  clic en el panel de <em>Apps</em> y añade una app (empaquetada y hospedada)</li>
- <li>El botón <em>Iniciar</em> valida tu app y la instala en el simulador / dispositivo</li>
- <li>El botón <em>Depurar</em> conecta las herramientas para desarrolladores con la app arrancada</li>
-</ol>
-<h2 id="Configuración_del_dispositivo_y_el_sistema">Configuración del dispositivo y el sistema</h2>
-<p><span id="result_box" lang="es"><span class="hps">Lo primero que</span> <span class="hps">tendrá que hacer</span> <span class="hps">cuando se utiliza el</span> <span class="hps">App Manager</span> <span class="hps">es asegurarse de que</span> <span class="hps">su sistema</span> <span class="hps">y el teléfono están</span> <span class="hps">configurados correctamente</span><span>.</span> <span class="hps">En esta sección</span> <span class="hps">se ejecutará</span>n <span class="hps">todos</span> <span class="hps">los pasos necesarios.</span></span></p>
-<h3 id="Se_requiere_Firefox_OS_1.2">Se requiere Firefox OS 1.2+</h3>
-<p><span id="result_box" lang="es"><span class="hps">Asegúrese de que su</span> <span class="hps">dispositivo se está ejecutando</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">1.2/Boot2Gecko</span> <span class="hps">1.2</span> <span class="hps">o superior.</span> <span class="hps">Para</span> <span class="hps">comprobar qué versión de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">del dispositivo</span> <span class="hps">está funcionando</span><span>, vaya a Ajustes </span><span>&gt;</span> <span class="hps">Información </span><span>&gt;</span> <span class="hps">Software.</span></span></p>
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">usted no tiene</span> <span class="hps">una versión</span> <span class="hps">lo suficientemente alta</span> <span class="hps">instalada,</span> <span class="hps">dependiendo de</span><span class="hps">l teléfono</span> <span class="hps">que tiene</span>,<span class="hps"> necesitará</span> <span class="hps">ya sea</span> <span class="hps">instalar una</span> construcción nocturna <span class="hps">disponible</span> <span class="hps">de</span> <span class="hps">Firefox</span> OS <span class="hps">1.2</span> superior, <span class="hps">o</span> <span class="hps">configurar y</span> <span class="hps">construir por sí mismo</span> <span class="hps">desde la fuente</span><span>.</span></span></p>
-<p>Construcciones disponibles:</p>
-<ul>
- <li><a href="http://downloads.geeksphone.com/">Geeksphone Keon/Peak builds</a> (para saber más acerca de como usarlo, lea <a href="/es/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Updating and Tweaking your Firefox OS Developer Preview phone/Geeksphone</a>)</li>
- <li>More to follow</li>
-</ul>
-<p>Para construir tu propia distribución de Firefox OS 1.2+, siga las instrucciones que se encuentran en <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a>, iniciando con <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a>.</p>
-<h3 id="Depuración_remota">Depuración remota</h3>
-<p><span id="result_box" lang="es"><span class="hps">A continuación, debe</span> <span class="hps">habilitar la depuración remota</span> <span class="hps">en Firefox</span> <span class="hps">OS</span><span>.</span> <span class="hps">Para ello,</span> <span class="hps">vaya a Ajustes</span><span>&gt;</span> <span class="hps">Información</span><span>&gt; Más información</span><span>&gt;</span> <span class="hps">Desarrollador</span> <span class="hps">y</span> <span class="hps">active la casilla</span> <span class="hps">de depuración remota</span><span>.</span></span></p>
-<h3 id="Adb_Helper_Add-on" name="Adb_Helper_Add-on"><a name="adb-helper">ADB o ADB helper</a></h3>
-<p><span id="result_box" lang="es"><span class="hps">El proceso utiliza</span> <span class="hps">el puente</span> <span class="hps">de depuración</span> <span class="hps">Android</span> <span class="hps">(ADB</span><span>)</span> <span class="hps">para manejar la</span> <span class="hps">conexión y comunicación entre el dispositivo</span> y la computadora<span>.</span> <span class="hps">Hay dos</span> <span class="hps">opciones para ejecutar</span> <span class="hps">ADB</span><span>:</span></span></p>
-<ul>
- <li>
- <p>Deje que Firefox controle ADB (recomendado). <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/adb-helper/">Instale el complemento ADB Helper</a>, que hace que el proceso sea más fácil. Con este complemento, no hay necesidad de instalar el ADB ni de escribir el comando adb de la otra opción, todo es manejado por el complemento.</p>
- </li>
- <li>Use ADB manualmente. necesitas tenerlo instalado en tu computadora - descarga e instala adb (<a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a>) como parte del paquete del SDK de Android. <span id="result_box" lang="es"><span class="hps">debes </span><span class="hps">activar el reenvío de</span> <span class="hps">puerto introduciendo</span> <span class="hps">el siguiente comando en</span> <span class="hps">el terminal</span></span>:
- <pre>adb forward tcp:6000 localfilesystem:/data/local/debugger-socket</pre>
- Ten en cuenta que tendrás que hacer esto cada vez que el teléfono se reinicie o se desconecte y vuelva a conectarse.</li>
-</ul>
-<div class="note">
- <p>Nota: no es necesario ejecutar este comando si tienes instalado el complemento ADB Helper.</p>
-</div>
-<h2 id="Conectando_tu_disporitivo_al_App_Manager">Conectando tu disporitivo al App Manager</h2>
-<p><span id="result_box" lang="es"><span class="hps">Con toda</span> <span class="hps">la configuración</span> <span class="hps">hecha</span><span>, ahora es</span> <span class="hps">el momento de</span> <span class="hps">conectar el dispositivo a</span> <span class="hps">tu ordenador</span> <span class="hps">e iniciar el</span> <span class="hps">App Manager</span></span>:</p>
-<ol>
- <li>Conecta el dispositivo a tu computadora via USB</li>
- <li>D<span id="result_box" lang="es"><span class="hps">esactiva el</span> b<span class="hps">loqueo de pantalla</span> <span class="hps">en tu dispositivo</span><span>, vaya a</span> Ajustes<span class="hps">&gt;</span> <span class="hps">Pantalla</span> <span class="hps">y desmarque</span> <span class="hps">la casilla </span><span class="hps">Bloquear la pantalla</span><span>.</span> <span class="hps">Esta es una buena</span> <span class="hps">idea, porque</span> <span class="hps">cuando la pantalla</span> <span class="hps">se bloquea</span><span>,</span> <span class="hps">la conexión del teléfono</span> <span class="hps">se pierde,</span> <span class="hps">lo que significa que</span> <span class="hps">ya no está disponible</span> <span class="hps">para la depuración</span><span>.</span></span></li>
- <li>Inicia el App Manager, en el Navegador Firefox de escritorio seleccione la opción de menú Herramientas &gt; Desarrollo web &gt; App Manager, o escriba about:app-manager in la barra de direcciones.</li>
- <li>En la parte inferior del App Manager, verás una barra de estado de conexión (vea la imagen de abajo). <span id="result_box" lang="es"><span class="hps">Usted debe</span> <span class="hps">ser capaz de</span> <span class="hps">conectar el dispositivo</span><span>, haga clic en</span> el botón<span class="hps"> "Connect</span> to <span class="hps">localhost:</span> <span class="hps">6000"</span><span class="hps">.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Si esto funciona</span> <span class="hps">correctamente,</span> un mensaje <span class="hps">deberá aparecer</span> <span class="hps">en el dispositivo:</span> <span class="hps atn">"</span>An incoming request to permit remote debugging connection was detected. Allow connection?<span>"</span><span>.</span> <span class="hps">Pulsa</span> <span class="hps">el botón</span> <span class="hps atn">OK (T</span><span>ambién puede que tengas</span> <span class="hps">que pulsar el</span> <span class="hps">botón de encendido del</span> <span class="hps">teléfono para que pueda</span> <span class="hps">ver</span> <span class="hps">el mensaje</span><span>.</span><span>)</span> <span class="hps">La barra de</span> <span class="hps">estado de la conexión</span> <span class="hps">debe</span> <span class="hps atn">decir "</span>Connected to B2G<span>"</span><span>,</span> <span class="hps">con un</span> <span class="hps">botón Desconectar</span> <span class="hps">disponible</span> <span class="hps">para presionar</span> <span class="hps">si quieres</span> <span class="hps">cancelar la conexión</span><span>.</span></span></li>
-</ol>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6263/connection-status.png" style="width: 600px; height: 30px; display: block; margin: 0px auto;"></p>
-<div class="note">
- <p><span id="result_box" lang="es"><span class="hps">Tenga en cuenta que</span> <span class="hps">los otros controles</span> <span class="hps">en</span> <span class="hps">la barra de</span> <span class="hps">estado de la conexión</span> <span class="hps">permiten conectar</span> <span class="hps">un simulador para</span> <span class="hps">el Administrador de</span> <span class="hps">la aplicación</span><span>, lo que</span> <span class="hps">vamos a cubrir en</span> <span class="hps">la siguiente sección,</span> <span class="hps">a continuación</span><span>,</span> <span class="hps">y cambiar</span> <span class="hps">el puerto que</span> <span class="hps">la conexión</span> <span class="hps">pasa</span> <span class="hps">sucesivamente.</span> <span class="hps">Si cambia el</span> <span class="hps">puerto, también</span> <span class="hps">será necesario que habilite</span> <span class="hps">el reenvío de puertos</span> <span class="hps">para este puerto</span><span>, así</span><span>,</span> <span class="hps">como se indica en</span> la sección <span class="hps"><a href="#adb-helper">ADB o ADB Helper</a>.</span></span></p>
-</div>
-<h2 id="Usar_el_complemento_Firefox_OS_Simulator"><a name="Simulator">Usar el complemento Firefox OS Simulator</a></h2>
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">no tienes</span> <span class="hps">un dispositivo real</span> <span class="hps">disponible para usar</span> <span class="hps">con el App Manager</span><span>, puede</span>s <span class="hps">probarlo</span> <span class="hps">utilizando un</span> <span class="hps">el complemento Firefox</span> <span class="hps">OS</span> <span class="hps">Simulator</span><span>.</span> <span class="hps">Para empezar</span><span>, instala</span> <span class="hps">el simulador</span> <span class="hps">apropiado para su sistema</span> <span class="hps">operativo</span><span>:</span></span></p>
-<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">Install Simulator</a></p>
-<p><span id="result_box" lang="es"><span class="hps">Una vez</span> <span class="hps">que hayas instalado</span> <span class="hps">el simulador,</span> <span class="hps">tienes que ir</span> <span class="hps">a la barra de</span> <span class="hps">estado de la conexión</span> <span class="hps">en la parte inferior</span> <span class="hps">de</span>l App Manager<span class="hps">,</span> <span class="hps">y haga clic en</span> <span class="hps">el botón "Start simulator</span><span>"</span><span>.</span> <span class="hps">Aparecerán</span> <span class="hps">tres botones</span><span>:</span></span></p>
-<ul>
- <li><span id="result_box" lang="es"><span class="hps">"Firefox</span> <span class="hps">OS</span> <span class="hps">1.2"</span> <span class="hps">...</span> <span class="hps atn">etc (</span><span>o algo</span> <span class="hps">similar):</span> <span class="hps">el botón de</span> <span class="hps">más a la izquierda</span> <span class="hps">contiene el</span> <span class="hps">nombre de la versión</span> <span class="hps">del simulador</span> <span class="hps">que ha instalado.</span> <span class="hps">Haga clic en él</span> <span class="hps">para iniciar la conexión</span> <span class="hps">al simulador.</span></span></li>
- <li>"Add": <span id="result_box" lang="es"><span class="hps">el botón central</span> <span class="hps">se desplaza</span> <span class="hps">al simulador</span> <span class="hps">instalar</span> <span class="hps">enlaces de este artículo</span><span>, por lo que</span> <span class="hps">puede</span> <span class="hps">añadir más</span> <span class="hps">Simuladores</span> <span class="hps">(Firefox</span> <span class="hps">OS</span> <span class="hps">1.2</span><span>, Firefox</span> <span class="hps">OS 1.3</span><span>, ...)</span><span>.</span></span></li>
- <li>"Cancel": este botón cancela la conexión.</li>
-</ul>
-<h2 id="Panel_de_aplicaciones"><a name="Apps_panel">Panel de aplicaciones</a></h2>
-<p> </p>
-<p><span id="result_box" lang="es"><span class="hps">Ahora</span> <span class="hps">que todo funciona</span><span>,</span> <span class="hps">vamos a revisar</span> <span class="hps">la funcionalidad disponible</span> <span class="hps">dentro de la</span> <span class="hps">App Manager</span><span>, empezando por el</span> <span class="hps">Panel de</span> <span class="hps">aplicaciones</span><span>.</span> <span class="hps">A partir de aquí</span><span>, puede importar</span> <span class="hps">una aplicación</span> <span class="hps">existente</span> <span class="hps">para instalar</span> en<span class="hps"> su dispositivo y</span> <span class="hps">depurarlo</span></span>:</p>
-<ul>
- <li><span id="result_box" lang="es"><span class="hps">Para instalar</span> <span class="hps">una aplicación</span> <span class="hps">local, haga clic</span> <span class="hps">en el signo "+</span>" <span class="hps">junto a la etiqueta</span> <span class="hps">"Add Packaged App</span><span class="hps">"</span> <span class="hps">y use</span> <span class="hps">el cuadro de diálogo</span> <span class="hps">de selección de archivos</span> <span class="hps">para seleccionar</span> <span class="hps">el directorio </span>donde <span class="hps">está contenida la aplicación.</span></span></li>
- <li><span id="result_box" lang="es"><span class="hps">Para instalar una</span> <span class="hps">aplicación alojada</span> <span class="hps">externamente</span><span>, introduzca la</span> <span class="hps">URL</span> <span class="hps">absoluta del</span> <span class="hps">archivo manifest</span> <span class="hps">de la aplicación</span> <span class="hps">en</span> <span class="hps">el campo de texto</span> <span class="hps">dentro de la caja</span> <span class="hps atn">"</span>Add Hosted App<span class="hps">"</span><span>,</span> <span class="hps">luego presione el</span> <span class="hps">botón más</span><span>.</span></span></li>
-</ul>
-<p><span id="result_box" lang="es"><span class="hps">La información sobre su</span> <span class="hps">aplicación</span> <span class="hps">debe aparecer en la</span> <span class="hps">parte derecha de</span> <span class="hps">la ventana,</span> <span class="hps">como se ve</span> <span class="hps">a continuación:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6261/apps-panel.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-<h2 id="Editor_del_Manifiesto">Editor del Manifiesto</h2>
-<p><span id="result_box" lang="es"><span class="hps">Desde</span> <span class="hps">Firefox</span> <span class="hps">28</span> <span class="hps">en adelante, </span>el panel de aplicaciones<span class="hps"> incluye</span> <span class="hps">un editor para</span> <span class="hps">el </span><span class="hps">manifiesto de la aplicación</span><span>:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6613/apps-panel-fx-28.png" style="width: 1038px; height: 751px;"></p>
-<h2 id="Depuración">Depuración</h2>
-<p><span id="result_box" lang="es"><span class="hps">Al hacer clic</span> <span class="hps">en "Update</span><span>"</span> <span class="hps">actualizará</span> <span class="hps atn">(o </span><span>instalará</span><span>)</span> <span class="hps">la aplicación en</span> <span class="hps">el dispositivo.</span> <span class="hps">Al hacer clic en</span> <span class="hps atn">"</span><span>debug"</span> <span class="hps">se conectará</span> <span class="hps">una caja de herramientas</span> <span class="hps">de</span> <span class="hps">la aplicación,</span> <span class="hps">lo que le permite</span> <span class="hps">depurar</span> <span class="hps">su</span> <span class="hps">código directamente</span><span>:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6265/debug.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-<div class="note">
- <p><span id="result_box" lang="es"><span class="hps">Nota:</span> <span class="hps">podrás disfrutar </span><span class="hps">jugando con la</span> <span class="hps">caja de herramientas</span> <span class="hps">-</span> <span class="hps">intenta</span> <span class="hps">alterar el</span> <span class="hps">DOM</span><span>, CSS</span><span>, etc</span> <span class="hps">y verás</span> <span class="hps">los</span> <span class="hps">cambios</span> <span class="hps">reflejados</span> <span class="hps">en el dispositivo</span> <span class="hps">en tiempo real.</span> <span class="hps">Tales</span> <span class="hps">cambios</span> <span class="hps">se guardarán</span> <span class="hps">en el</span> <span class="hps">código de la aplicación</span> <span class="hps">instalada</span><span>, las verás</span> <span class="hps">la próxima vez</span> <span class="hps">que abras la aplicación</span> <span class="hps">en el dispositivo.</span></span></p>
-</div>
-<p><span id="result_box" lang="es"><span class="hps">Antes de</span> <span class="hps">Firefox</span> <span class="hps">28</span><span>,</span> <span class="hps">las herramientas</span> <span class="hps">se ponen en marcha</span> <span class="hps">en una ventana separada</span><span>.</span> <span class="hps">Desde</span> <span class="hps">Firefox</span> <span class="hps">28</span> <span class="hps">en adelante,</span> <span class="hps">las herramientas</span> <span class="hps">se inician en una</span> <span class="hps">ficha independiente</span> <span class="hps">en la propia</span> <span class="hps">App Manager</span><span>, junto con</span> <span class="hps">las</span> <span class="hps">aplicaciones</span> <span class="hps">y las fichas</span> <span class="hps">de dispositivos</span><span>.</span> <span class="hps">La ficha</span> <span class="hps">tendrá</span> <span class="hps">el icono de la</span> <span class="hps">aplicación</span><span>, así que es</span> <span class="hps">fácil de encontrar:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6615/toolbox-fx-28.png" style="width: 1038px; height: 751px;"></p>
-<h2 id="Errores">Errores</h2>
-<p><span id="result_box" lang="es"><span class="hps">Si</span> <span class="hps">una aplicación</span> <span class="hps">no se ha añadido</span> <span class="hps">con éxito</span> <span class="hps">-</span> <span class="hps">por ejemplo, si</span> <span class="hps">la URL</span> <span class="hps">es incorrecta</span><span>,</span> <span class="hps">o se ha seleccionado</span> <span class="hps">una carpeta</span> <span class="hps">aplicación empaquetada</span> <span class="hps">-</span> <span class="hps">una entrada</span> <span class="hps">se</span> <span class="hps">agrega a la página</span> <span class="hps">de</span> <span class="hps">esta aplicación,</span> <span class="hps">pero esto va a</span> <span class="hps">incluir</span> <span class="hps">información de errores.</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6259/apps-error.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-<p><span id="result_box" lang="es"><span class="hps">También puedes eliminar</span> <span class="hps">una aplicación desde</span> <span class="hps">esta vista</span><span>,</span> <span class="hps">el ratón encima del</span> nombre/Descripción de la <span class="hps">App</span> en<span class="hps"> la izquierda</span> <span class="hps">de la ventana,</span> <span class="hps">y pulsando el botón</span> <span class="hps">"X</span><span>" que aparece</span> <span class="hps">en cada caso.</span> <span class="hps">Sin embargo, esto</span> <span class="hps">no elimina</span> <span class="hps">la aplicación</span> <span class="hps">del dispositivo.</span> <span class="hps">Para ello</span> <span class="hps">es necesario eliminar</span> <span class="hps">manualmente la</span> <span class="hps">aplicación utilizando</span> <span class="hps">el propio dispositivo.</span></span></p>
-<h2 id="Panel_del_Dispositivo"><a name="Device_panel">Panel del Dispositivo</a></h2>
-<p><span id="result_box" lang="es"><span class="hps">La ficha</span> <span class="hps">de dispositivos muestra</span> <span class="hps">información sobre el dispositivo</span> <span class="hps">conectado.</span> <span class="hps">Desde la ventana</span> <span class="hps">"Aplicaciones</span> <span class="hps">instaladas"</span><span>, las aplicaciones</span> <span class="hps">en el dispositivo</span> <span class="hps">se pueden iniciar y</span> <span class="hps">depurar</span><span>.</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6267/device-tab.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-<div class="note">
- <p>Nota: las aplicaciones certificadas no están listadas por defecto. <a href="#Debugging_Certified_Apps">Vea como depurar aplicaciones certificadas</a>.</p>
-</div>
-<p>La ventana "Permissions" muestra los privilegios requeridos por las diferentes <a href="/en-US/docs/WebAPI">Web APIs</a> en el dispositivo actual:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/6269/permissions.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-<p>Finalmente, puedes tomar una captura de pantalla del dispositivo haciendo click en el botón "Screenshot". la imagen aparecerá en una nueva pestaña en Firefox, y desde allí podrás guardarla o descartarla si es tu elección.</p>
-<h2 id="Depurar_aplicaciones_certificadas"><a name="Debugging_Certified_Apps">Depurar aplicaciones certificadas</a></h2>
-<p><span id="result_box" lang="es"><span class="hps">Actualmente, sólo</span> <span class="hps">los dispositivos que ejecutan</span> <span class="hps">una versión de</span> <span class="hps">desarrollo de</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">1.2</span> <span class="hps">son capaces de</span> <span class="hps">depurar</span> <span class="hps">aplicaciones</span> <span class="hps">certificadas.</span> <span class="hps">Si tienes una</span> <span class="hps">versión en desarrollo</span><span>, puede habilitar</span> <span class="hps">la depuración</span> <span class="hps">de aplicaciones</span> <span class="hps">certificadas</span> <span class="hps">por</span> <span class="hps">el cambio de las</span> <span class="hps">prefe</span><span class="atn">-</span><span>certificada</span> <span class="hps">devtools.debugger.forbid</span><span>-apps</span> <span class="hps">en false en</span> <span class="hps">tu perfil.</span> <span class="hps">Para</span> <span class="hps">ello, siga</span> <span class="hps">los pasos a continuación</span><span>:</span></span></p>
-<ol>
- <li>
- <p>En tu computadora, ingresa el siguiente comando en el terminal para entrar al sistema de archivos de tu dispositivo via consola:</p>
- <pre class="brush: bash">adb shell</pre>
- <p>tu consola debe cambiar a <code>root@android</code>.</p>
- </li>
- <li>
- <p><span id="result_box" lang="es"><span class="hps">A continuación,</span> detener <span class="hps">B2G</span> <span class="hps">corriendo</span> <span class="hps">el siguiente comando</span></span>:</p>
- <pre class="brush: bash">stop b2g</pre>
- </li>
- <li>
- <p>Navega al siguiente directorio:</p>
- <pre>cd /data/b2g/mozilla/*.default/</pre>
- </li>
- <li>
- <p>Aquí, actualiza el archivo pref.js con la siguiente linea:</p>
- <pre class="brush: js">echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' &gt;&gt; prefs.js</pre>
- </li>
- <li>
- <p>Después de que termines de editar y salvar el archivo, inicia B2G usando el siguiente comando:</p>
- <pre class="brush: bash">start b2g</pre>
- </li>
- <li>
- <p>Sal del sistema de archivos del dispositivo cuando el comando <code>exit</code>; con esto regresarás a tu terminal normal.</p>
- </li>
- <li>
- <p>Ahora reconecta el App Manager y deberías poder ver las aplicaciones certificadas para su depuración.</p>
- </li>
-</ol>
-<div class="note">
- <p>Nota: Si deseas agregar esta preferencia a tu construcción de Gaia puedes correr el comando <code>make DEVICE_DEBUG=1 reset-gaia</code>.</p>
-</div>
-<h2 id="Solución_de_problemas"><a name="Troubleshooting"><span class="short_text" id="result_box" lang="es"><span class="hps">Solución de problemas</span></span></a></h2>
-<p id="My_device_is_not_recognized">Si el dispositivo no es renonocido:</p>
-<ul>
- <li>Lee la sección <a href="#Configuring_device">Configuración del Dispositivo y el Sistema</a> a fondo, y asegúrate de que has seguido todos los pasos:</li>
- <li><span id="result_box" lang="es"><span class="hps">¿Está su</span> <span class="hps">equipo</span> <span class="hps">funcionando</span> con <span class="hps">al menos</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">1.2</span></span>?</li>
- <li>
- <div class="almost_half_cell" id="gt-res-content">
- <div dir="ltr" style="zoom: 1;">
- <span id="result_box" lang="es"><span class="hps">¿Has habilitado la opción</span> <span class="hps atn">"</span><span>Depuración remota</span><span>" en la configuración</span> <span class="hps">del</span><span class="hps"> dispositivo?</span></span></div>
- </div>
- </li>
- <li>Si no estás usando el <a href="#Adb_Helper_Add-on">complemento ADB Helper</a>:
- <ul>
- <li>¿Has ejecutado sastifactoriamente el comando <code>adb forward</code>.</li>
- </ul>
- </li>
- <li>Si estás usando el <a href="#Adb_Helper_Add-on">complemento ADB Helper</a> y tu dispositivo no está listado en la barra de herramientas inferior:
- <ul>
- <li>Si usas Linux, <a href="http://developer.android.com/tools/device.html#setting-up">asegurate de haber configurado las reglas udev correctamente</a></li>
- <li>Si usas Windows, <a href="http://developer.android.com/tools/device.html#setting-up">asegúrate de haber instalado los controladores apropiados</a></li>
- </ul>
- </li>
- <li>¿Está bloqueada la pantalla de tu dispositivo?</li>
-</ul>
-<p>¿No puedes conectar tu dispositivo al App Manager o iniciar el simulador? <a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication"> </a><span class="short_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Let us know or file a bug."><a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">Háganos saber</a> o <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;attach_text=&amp;blocked=&amp;bug_file_loc=http%3A%2F%2F&amp;bug_ignored=0&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_b2g=---&amp;cf_crash_signature=&amp;cf_status_b2g18=---&amp;cf_status_b2g_1_1_hd=---&amp;cf_status_b2g_1_2=---&amp;cf_status_firefox24=---&amp;cf_status_firefox25=---&amp;cf_status_firefox26=---&amp;cf_status_firefox27=---&amp;cf_status_firefox_esr17=---&amp;cf_status_firefox_esr24=---&amp;cf_tracking_b2g18=---&amp;cf_tracking_firefox24=---&amp;cf_tracking_firefox25=---&amp;cf_tracking_firefox26=---&amp;cf_tracking_firefox27=---&amp;cf_tracking_firefox_esr17=---&amp;cf_tracking_firefox_esr24=---&amp;cf_tracking_firefox_relnote=---&amp;cf_tracking_relnote_b2g=---&amp;comment=&amp;component=Developer%20Tools%3A%20App%20Manager&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;defined_groups=1&amp;dependson=&amp;description=&amp;flag_type-203=X&amp;flag_type-37=X&amp;flag_type-41=X&amp;flag_type-5=X&amp;flag_type-607=X&amp;flag_type-720=X&amp;flag_type-721=X&amp;flag_type-737=X&amp;flag_type-748=X&amp;flag_type-781=X&amp;flag_type-787=X&amp;flag_type-791=X&amp;flag_type-799=X&amp;flag_type-800=X&amp;flag_type-802=X&amp;flag_type-803=X&amp;flag_type-809=X&amp;flag_type-825=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Firefox&amp;qa_contact=developer.tools%40firefox.bugs&amp;rep_platform=x86&amp;requestee_type-203=&amp;requestee_type-41=&amp;requestee_type-5=&amp;requestee_type-607=&amp;requestee_type-748=&amp;requestee_type-781=&amp;requestee_type-787=&amp;requestee_type-791=&amp;requestee_type-800=&amp;short_desc=&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk">abra un bug</a>.</span></span></p>
diff --git a/files/es/archive/b2g_os/ux/building_blocks/action_menu/coding/index.html b/files/es/archive/b2g_os/ux/building_blocks/action_menu/coding/index.html
deleted file mode 100644
index a914e72083..0000000000
--- a/files/es/archive/b2g_os/ux/building_blocks/action_menu/coding/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: 'Coding guide: Action menus'
-slug: Archive/B2G_OS/UX/Building_blocks/Action_menu/Coding
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_blocks/1.x/Action_menu/Coding
----
-<p>Here you can find examples of how to create <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu">action menus</a> on Firefox OS, as well as downloads for the CSS and image resources used by the built-in apps on Firefox OS. You can copy these resources into your app and make use of them to build apps that match these apps' appearances.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Object menus are implemented using the same code; the only difference is that you never use a title in an <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Object_menu" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Object_menu">object menu</a>.</p>
-</div>
-
-<h2 id="Implementing_action_menus">Implementing action menus</h2>
-
-<p>To implement an action menu using the style shown here, place the CSS and media files into your app and then import the CSS using the {{cssxref("@import")}} at-rule:</p>
-
-<pre class="brush: css">@import url(resources/action_menu.css);</pre>
-
-<p>Make sure the media files are in the location expected by the CSS (either by placing them in a corresponding location or by revising the CSS).</p>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="With_title" name="With_title">With title</h3>
-
-<h4 id="HTML_to_create_the_menu">HTML to create the menu</h4>
-
-<p>The HTML below creates the dialog with four buttons, one of which is disabled.</p>
-
-<pre class="brush: html">&lt;form role="dialog" data-type="action" onsubmit="return false;" id="sample-menu"&gt;
-  &lt;header id="sample-title"&gt; Title &lt;/header&gt; &lt;!-- this header is optional --&gt;
-  &lt;menu&gt;
-    &lt;button id="button1"&gt; Action 1 &lt;/button&gt;
-    &lt;button id="button2" disabled&gt; Action 2 (disabled) &lt;/button&gt;
-    &lt;button id="button3"&gt; Action 3 &lt;/button&gt;
-    &lt;button id="cancel"&gt; Cancel &lt;/button&gt;
-  &lt;/menu&gt;
-&lt;/form&gt;
-</pre>
-
-<h4 id="JavaScript_content">JavaScript content</h4>
-
-<p>The JavaScript below simply adds code to some of the buttons to change the title of the dialog when clicked.</p>
-
-<pre class="brush: js">var btn = document.querySelector("#button1");
-btn.addEventListener("click", function() {
- var title = document.getElementById("sample-title");
- title.innerHTML="Button 1";
-});
-
-var btn = document.querySelector("#button3");
-btn.addEventListener("click", function() {
- var title = document.getElementById("sample-title");
- title.innerHTML="Button 3";
-});
-</pre>
-
-<h4 id="Working_demo">Working demo</h4>
-
-<p>You can try out the action menu in this live demonstration.</p>
-
-<h3 id="Without_title" name="Without_title">Without title</h3>
-
-<h4 id="HTML_to_create_the_menu_2">HTML to create the menu</h4>
-
-<p>The HTML below creates the dialog with four buttons, one of which is disabled.</p>
-
-<pre class="brush: html">&lt;form role="dialog" data-type="action" onsubmit="return false;" id="sample-menu"&gt;
-  &lt;menu&gt;
-    &lt;button id="button1"&gt; Action 1 &lt;/button&gt;
-    &lt;button id="button2" disabled&gt; Action 2 (disabled) &lt;/button&gt;
-    &lt;button id="button3"&gt; Action 3 &lt;/button&gt;
-    &lt;button id="cancel"&gt; Cancel &lt;/button&gt;
-  &lt;/menu&gt;
-&lt;/form&gt;
-</pre>
-
-<h4 id="Working_demo_2">Working demo</h4>
-
-<p>You can try out the action menu in this live demonstration.</p>
-
-<p> </p>
diff --git a/files/es/archive/b2g_os/ux/building_blocks/action_menu/index.html b/files/es/archive/b2g_os/ux/building_blocks/action_menu/index.html
deleted file mode 100644
index e4263d2d1a..0000000000
--- a/files/es/archive/b2g_os/ux/building_blocks/action_menu/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Menú de acciones
-slug: Archive/B2G_OS/UX/Building_blocks/Action_menu
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_blocks/1.x/Action_menu
----
-<p>Un menú de acciones, como indica su nombre, muestra un listado de acciones, relativas al contenido de la aplicación, a traves del cual el usuario puede elegir qué hacer. Visita la <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding">Guía de código</a> para saber cómo implementar un menú de acciones en tu aplicación.</p>
-<h2 id="Caracteristicas">Caracteristicas</h2>
-<ul>
- <li>Abiertos desde botones dentro del contenido de la aplicacion, estos botones aparecen a menudo dentro de barras de herramientas (por ejemplo, el boton de "Compartir" de las aplicaciones de navegador).</li>
- <li>Los menus de acciones contienen uno o mas elementos.</li>
- <li>Estos menus se expanden en altura para acomodarese a sus elementos ,hasta el máximo de la altura de la pantalla. Una vez que se alcanza el máximo, el contenido se muestra con scroll vertical. Generalmente, una buena práctica es intentar no incluro más de cinco elementos mas el titulo del menú.</li>
- <li>La cadena del tíutulo es opcional.</li>
- <li>El menu se cierra por una de dos:
- <ul>
- <li>Seleccionar una de las acciones.</li>
- <li>Pulsar el boton de "Cancelar".</li>
- </ul>
- </li>
-</ul>
-<h2 id="Visuales">Visuales</h2>
-<table class="fxosScreenGrid">
- <tbody>
- <tr>
- <td>
- <h3 id="Estado_de_reposo">Estado de reposo</h3>
- <p><img alt="" src="https://mdn.mozillademos.org/files/4641/action-menu-idle.png" style="width: 320px; height: 480px;"></p>
- <p>El boton de acciones abierto, esperando a que el usuario presione una seleccion.</p>
- </td>
- <td>
- <h3 id="Estado_pulsado">Estado pulsado</h3>
- <p><img alt="" src="https://mdn.mozillademos.org/files/4635/action-menu.png" style="width: 320px; height: 480px;"></p>
- <p>Aspecto del menu mientras el dedo del usuario presiona la "Opcion 03".</p>
- </td>
- </tr>
- </tbody>
-</table>
-<h2 id="Variaciones">Variaciones</h2>
-<p>Existen dos variaciones basicas en el menu de acciones: que el menu tenga o no una cadena de titulo en la parte superior.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5381/action-menu-variaciones.jpg" style="width: 1023px; height: 532px;"></p>
-<h2 id="Interaccion">Interaccion</h2>
-<p>El diagrama muestra como trabaja el flujo de interaccion del ususario con el menu de acciones.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/4649/action-menu-flow-1.png" style="width: 731px; height: 1169px;"></p>
-<h2 id="Ver_tambien">Ver tambien</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding">Guia de codigo de menus de acciones</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/ux/building_blocks/button/index.html b/files/es/archive/b2g_os/ux/building_blocks/button/index.html
deleted file mode 100644
index a2e0612620..0000000000
--- a/files/es/archive/b2g_os/ux/building_blocks/button/index.html
+++ /dev/null
@@ -1,231 +0,0 @@
----
-title: Botón
-slug: Archive/B2G_OS/UX/Building_blocks/Button
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_blocks/1.x/Button
----
-<p>Realiza una acción cuando es pulsado por el usuario. Son objetos de interfaz de usuario que tienen una amplia variedad de estilos. Consulta la <a href="/es/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding">Guía de codificación</a> para informarte sobre cómo implementar botones con un aspecto como los que aquí se describen.</p>
-<h2 id="Características">Características</h2>
-<ul>
- <li>Los botones tienen dos componentes: un objetivo visual y un objetivo de contacto. El objetivo de contacto es siempre más grande, con el fin de reducir los errores de contacto haciendo el botón más fácil de presionar.</li>
- <li>Los botones tienen dos estado: normal y presionado.</li>
- <li>Los botones también pueden ser <strong>deshabilitados</strong>, lo que significa que no pueden ser activados por el usuario, y se muestran atenuados para indicar que han sido deshabilitados.</li>
-</ul>
-<p>Hay multiples tipo de botones:</p>
-<dl>
- <dt>
- Botones de acción</dt>
- <dd>
- Se utilizan cuando solo hay unas pocas acciones y no es necesaria una lista. La acción principal del botón utiliza un color especial resatado para indicar que es la opción principal.</dd>
- <dt>
- Botones de lista</dt>
- <dd>
- Se utilizan para mostrar una lista de acciones,  o para activar la presentación de un valor de selección.</dd>
- <dt>
- Botones de campo de entrada</dt>
- <dd>
- Se utilizan para llevar a cabo acciones con campos de entrada.</dd>
- <dt>
- Botones especiales/pesonalizados</dt>
- <dd>
- Se utilizan para proporcionar acciones específicas incluyendo grabar, llamar y similares.</dd>
-</dl>
-<h2 id="Visualización">Visualización</h2>
-<p>Aquí hay varios ejemplos visuales de cómo deberían verse los botones. No olvides que puedes usar la hoja de estilos y los recursos de imágenes proporcionados en la<a href="/es/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding"> Guía de codificación</a> para implementarlos.</p>
-<h3 id="Botones_de_acción">Botones de acción</h3>
-<p>Se utilizan cuando solo hay unas pocas acciones y no es necesaria una lista. La acción principal del botón utiliza un color especial resatado para indicar que es la opción principal.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"> </th>
- <th scope="col">Acción principal</th>
- <th scope="col">Acción secundaria</th>
- <th scope="col">Borrar</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Normal</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4693/btn-main-normal.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4699/btn-secondary-normal.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4687/btn-delete-normal.jpg" style="width: 140px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Presionado</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4691/btn-main-lit.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4697/btn-secondary-lit.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4685/btn-delete-lit.jpg" style="width: 140px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Deshabilitado</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4689/btn-main-disabled.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4695/btn-secondary-disabled.jpg" style="width: 140px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4683/btn-delete-disabled.jpg" style="width: 140px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<p>Sobre fondo oscuro, los botones deshabilitados tienen un aspecto especial, como se ve abajo.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"> </th>
- <th scope="col">Acción principal</th>
- <th scope="col">Acción secundaria</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Disabled</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4701/btn-primary-disabled-dark.jpg" style="width: 140px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4703/btn-secondary-disabled-dark.jpg" style="width: 140px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<h3 id="Botones_de_lista">Botones de lista</h3>
-<p>Se utilizan para mostrar una lista de acciones,  o para activar la presentación de un valor de selección.</p>
-<h4 id="Desencadenar_acciones">Desencadenar acciones</h4>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"> </th>
- <th scope="col">Desecadenar una acción en la vista actual</th>
- <th scope="col">Desencadenar una acción en una nueva vista</th>
- <th scope="col">Mostrar un selector de valores</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Normal</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4725/btn-trigger-current-normal.png" style="width: 291px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4731/btn-trigger-new-normal.png" style="width: 290px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4743/btn-trigger-selector-normal.png" style="width: 291px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Presionado</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4727/btn-trigger-current-pressed.png" style="width: 291px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4733/btn-trigger-new-pressed.png" style="width: 289px; height: 39px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4745/btn-trigger-selector-pressed.png" style="width: 291px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Deshabilitado</th>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4723/btn-trigger-current-disabled.png" style="width: 290px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4729/btn-trigger-new-disabled.png" style="width: 290px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4741/btn-trigger-selector-disabled.png" style="width: 291px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<h4 id="Selección_de_valores">Selección de valores</h4>
-<p>Una vez que se abre un selector de valores, necesitarás al menos un botón en el panel de selección de valores para descartar el valor seleccionado. Estos botones deberían tener el siguiente aspecto:</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Normal</th>
- <th scope="col">Presionado</th>
- <th scope="col">Deshabilitado</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4755/btn-selector-normal.png" style="width: 269px; height: 39px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4757/btn-selector-pressed.png" style="width: 269px; height: 39px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4753/btn-selector-disabled.png" style="width: 269px; height: 39px;"></td>
- </tr>
- </tbody>
-</table>
-<h3 id="Botones_de_campos_de_entrada">Botones de campos de entrada</h3>
-<p>Los botones de campos de entrada son botones asociados a un campo de entrada, que cuando se presionan, llevan a cabo una acción relacionada con ese campo de entrada.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Normal</th>
- <th scope="col">Presionado</th>
- <th scope="col">Deshabilitado</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4761/input-field-normal.png" style="width: 320px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4763/input-field-pressed.png" style="width: 320px; height: 40px;"></td>
- <td><img alt="" src="https://mdn.mozillademos.org/files/4759/input-field-disabled.png" style="width: 320px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<h3 id="Botones_especiales">Botones especiales</h3>
-<p>Los botones especiales son botones visuales al estilo icono que se utilizan para propósitos especiales, tales como operar con la cámara del dispositivo, contestar o colgar el teléfono y activar el teclado de llamada. Por supuesto puedes encontrar otras utilidades a estos botones especiales.</p>
-<h4 id="Botones_de_cámara">Botones de cámara</h4>
-<p>Estos botones no tienen estado deshabilitado; simplemente no los muestras si la ocpión de tomar fotos no está disponible.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"> </th>
- <th scope="col">Grabar video</th>
- <th scope="col">Detener grabación video</th>
- <th scope="col">Tomar foto</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Normal</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4771/video-record-normal.png" style="width: 100px; height: 45px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4775/video-stop-normal.png" style="width: 100px; height: 45px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4767/camera-normal.png" style="width: 100px; height: 45px;"></td>
- </tr>
- <tr>
- <th scope="row">Presionado</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4773/video-record-pressed.png" style="width: 100px; height: 45px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4777/video-stop-pressed.png" style="width: 100px; height: 45px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4769/camera-pressed.png" style="width: 100px; height: 45px;"></td>
- </tr>
- </tbody>
-</table>
-<h4 id="Botones_de_teléfono">Botones de teléfono</h4>
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row"> </th>
- <th scope="col">Descolgar</th>
- <th scope="col">Colgar</th>
- <th scope="col">Ocultar teclado</th>
- </tr>
- <tr>
- <th scope="row">Normal</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4781/phone-answer-normal.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4787/phone-hangup-normal.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4793/hide-dialer-normal.png" style="width: 130px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Presionado</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4783/phone-answer-pressed.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4789/phone-hangup-pressed.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4795/hide-dialer-pressed.png" style="width: 130px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Deshabilitado</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4779/phone-answer-disabled.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4785/phone-hangup-disabled.png" style="width: 130px; height: 40px;"></td>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4791/hide-dialer-disabled.png" style="width: 130px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<h4 id="Botones_personalizados">Botones personalizados</h4>
-<p>Estos son ejemplos de botones personalizados; en este caso, para añadir un contacto.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row">Normal</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4799/generic-normal.png" style="width: 90px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Presionado</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4801/generic-pressed.png" style="width: 90px; height: 40px;"></td>
- </tr>
- <tr>
- <th scope="row">Deshabilitado</th>
- <td style="background-color: black;"><img alt="" src="https://mdn.mozillademos.org/files/4797/generic-disabled.png" style="width: 90px; height: 40px;"></td>
- </tr>
- </tbody>
-</table>
-<h2 id="Ver_también">Ver también</h2>
-<ul>
- <li><a href="/es/docs/Mozilla/Firefox_OS/UX" title="/en-US/docs/Mozilla/Firefox_OS/UX">Firefox OS experiencia de usuario</a></li>
- <li><a href="/es/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding">Estilo de codificación de botones</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/ux/building_blocks/index.html b/files/es/archive/b2g_os/ux/building_blocks/index.html
deleted file mode 100644
index 33fc3c8a70..0000000000
--- a/files/es/archive/b2g_os/ux/building_blocks/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: Componentes básicos de UX de Firefox OS
-slug: Archive/B2G_OS/UX/Building_blocks
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_blocks/1.x
----
-<p><span class="hps">Aquí encontrarás</span> <span class="hps">una descripción de</span> <span class="hps">los elementos de</span> <span class="hps">la interfaz de usuario comunes en las <span class="hps">aplicaciones</span></span> <span class="hps">de</span> <span class="hps">Firefox</span>  <span class="hps">OS,</span> además de<span class="hps"> ejemplos de</span> <span class="hps">cómo</span> <span class="hps">debe verse y</span> <span class="hps">funcionar.</span></p>
-
-<table class="withoutBorder">
- <tbody>
- <tr>
- <td colspan="2">
- <h2 id="Menú_de_acciones">Menú de acciones</h2>
- </td>
- </tr>
- <tr>
- <td style="width: 180px; vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4635/action-menu.png" style="height: 240px; width: 160px;"><br>
-  <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Botón">Botón</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4639/secondary-buttons.png" style="height: 139px; width: 140px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Button/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Confirmación">Confirmación</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p><img alt="" src="https://mdn.mozillademos.org/files/4803/confirmation-example.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Confirmation">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Confirmation/Coding">Guía del programador</a><br>
-  </p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Filtro">Filtro</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4825/filter-visual-bottom" style="height: 241px; width: 161px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Filter">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Filter/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Cabecera">Cabecera</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4845/header-default.png" style="height: 27px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Header">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Header/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Área_de_entrada">Área de entrada</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4859/sample-sms-bottom-input.png" style="height: 241px; width: 161px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Input_area">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Input_area/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Lista">Lista</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4889/list-example" style="height: 119px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/List">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/List/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Menú_de_objetos">Menú de objetos</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4891/object-menu-idle.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Object_menu">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Action_menu/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Indicador_de_progreso_y_actividad">Indicador de progreso y actividad</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4897/progress-bar-example.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Progress_and_activity">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Progress_and_activity/Coding">Guía del prgramador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Desplazamiento_por_letras">Desplazamiento por letras</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4917/scrolling-index-scroll-dark.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Scrolling">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Scrolling/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Barra_de_búsqueda">Barra de búsqueda</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4923/seekbar-sample.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Seek_bar">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Seek_bar/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <h2 id="Estado">Estado</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4637/banner.png" style="height: 240px; width: 160px;"><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Status">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Status/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Interruptor">Interruptor</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4925/switch-settings-sample.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Switch">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Switch/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Pestañas">Pestañas</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4955/tab-screenshot.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Tabs">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Tabs/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Barra_de_herramientas">Barra de herramientas</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4967/toolbar-sample.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Toolbar">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Toolbar/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="vertical-align: top;">
- <h2 id="Selector_de_valor">Selector de valor</h2>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">
- <p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/4975/selector-nested.png" style="height: 240px; width: 160px;"></p>
-
- <p style="text-align: center;"><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Value_selector">Detalles</a><br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Value_selector/Coding" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks/Value_selector/Coding">Guía del programador</a></p>
- </td>
- <td style="vertical-align: top;">
- <p> </p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/es/archive/b2g_os/ux/guia_estilo/index.html b/files/es/archive/b2g_os/ux/guia_estilo/index.html
deleted file mode 100644
index 5a205c7bdf..0000000000
--- a/files/es/archive/b2g_os/ux/guia_estilo/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Guía de estilo de Firefox OS
-slug: Archive/B2G_OS/UX/Guia_estilo
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Copy_styleguide
----
-<p>Hemos puesto a su disposición elementos de diseño visual, incluyendo componentes básicos, plantillas, fondos de pantalla y más, que puede descargarlos desde nuestra <a href="https://assets.mozillalabs.com/Projects/Firefox%20OS/UX/VsD/v01.0/">colección de elementos</a>.</p>
-<h2 id="Iconos_para_aplicaciones">Iconos para aplicaciones</h2>
-<p>¿Necesita ayuda para crear un icono para su aplicación? <a href="http://www.mozilla.org/en-US/styleguide/products/firefoxos/icons/">Échele un vistazo a nuestras pautas y plantillas</a>.</p>
-<h2 id="Tono_de_voz_del_texto">Tono de voz del texto</h2>
-<h3 id="Títulos">Títulos</h3>
-<ul>
- <li>No Escriba Así. Solo ponga en mayúscula la primera letra de la oración —y los nombres propios—</li>
- <li>Limítese a una línea</li>
- <li>No coloque puntuación al final, excepto si el título es una pregunta</li>
- <li>Trate de adelantar lo principal del mensaje en las primeras palabras</li>
-</ul>
-<h3 id="Botones">Botones</h3>
-<ul>
- <li>No Escriba Así: el <em>Title Case</em> que se utiliza ampliamente en el idioma inglés es incorrecto en español. Solo use mayúsculas al comienzo de la oración</li>
- <li>El texto debe limitarse a un par de palabras</li>
- <li>Use verbos que describan concisamente la acción del botón. Por ejemplo: «Cancelar», «Limpiar historial», «Añadir correo», «Seleccionar todo».</li>
-</ul>
-<h3 id="Listas_de_selector_de_valores">Listas de selector de valores</h3>
-<ul>
- <li>No Escriba Así. Solo ponga en mayúscula la primera letra de la oración</li>
- <li>El texto debe limitarse a un par de palabras</li>
-</ul>
-<h3 id="Mejores_prácticas_generales">Mejores prácticas generales</h3>
-<ul>
- <li>Evite usar terminología técnica</li>
- <li>Intente explicar concisamente la situación y lo que el usuario puede hacer para resolverla.</li>
- <li>En la mayoría de las situaciones, evite palabras como «usted», «su», «por favor», etc. No haga distinción entre el usuario y el dispositivo.</li>
- <li>No añada artículos antes de los nombres de las aplicaciones. Por ejemplo, use «Tome fotos con Cámara» en lugar de «Tome fotos con la Cámara».</li>
- <li>Los nombres de aplicaciones se escriben con mayúscula inicial, pero los ajustes individuales o modos se escriben con minúscula.</li>
- <li>Use comillas tipográficas («», “”), no las comunes ("")</li>
-</ul>
-<h3 id="Formularios">Formularios</h3>
-<ul>
- <li>Los botones negativos aparecen en el lado izquierdo y los positivos en el derecho.</li>
- <li>Las etiquetas genéricas son «Cancelar» y «Aceptar».</li>
-</ul>
-<h3 id="Términos_específicos">Términos específicos</h3>
-<ul>
- <li>Use «pulse» en vez de «seleccione», «presione», etc.</li>
- <li>Use «Iniciar sesión», no «Entrar»</li>
- <li>Use «Teléfono», no «Dispositivo»</li>
- <li>Use «Espacio», no «Almacenamiento»</li>
- <li>Use «❙ / ○» para controles de tipo interruptor.</li>
- <li>Use «Wi-Fi», no «WiFi» ni «wifi».</li>
-</ul>
-<h3 id="Cómo_mostrar_unidades_de_tamaños_de_archivo">Cómo mostrar unidades de tamaños de archivo</h3>
-<ul>
- <li>Si es menor a 1 KB, muestre <strong>&lt;1KB</strong></li>
- <li>De 1KB a 1.023 KB, muestre <strong>536 KB</strong></li>
- <li>De 1 MB a 1.047 MB, muestre <strong>2,1 MB</strong> (con una coma decimal)</li>
- <li>Para 1 GB y más, muestre <strong>3,3 GB</strong> (con una coma decimal)</li>
-</ul>
-<h2 id="Véase_también">Véase también</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/UX" title="/en-US/docs/Mozilla/Firefox_OS/UX">Experiencia del usuario de Firefox OS</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks" title="/en-US/docs/Mozilla/Firefox_OS/UX/Building_blocks">Componentes básicos de experiencia del usuario de Firefox OS</a></li>
-</ul>
diff --git a/files/es/archive/b2g_os/web_telephony_api/index.html b/files/es/archive/b2g_os/web_telephony_api/index.html
deleted file mode 100644
index 149350095e..0000000000
--- a/files/es/archive/b2g_os/web_telephony_api/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: Web Telephony API
-slug: Archive/B2G_OS/Web_Telephony_API
-tags:
- - NeedsTranslation
- - Phone
- - Telephony
- - TopicStub
- - Voice
- - WebAPI
-translation_of: Archive/B2G_OS/Web_Telephony_API
----
-<p><span class="seoSummary">WebTelephony is an API that makes it possible for web content to handle voice phone calls from JavaScript code.</span></p>
-<p>The API is available using <a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a>. See below for a full list of interfaces:</p>
-<h2 id="DOM_interfaces">DOM interfaces</h2>
-<ul>
- <li><a href="/es/docs/Web/API/Window/navigator/mozTelephony" title="La documentación acerca de este tema no ha sido escrita todavía . ¡Por favor considera contribuir !"><code>window.navigator.mozTelephony</code></a></li>
- <li><a href="/en-US/docs/Web/API/Telephony"><code>Telephony</code></a></li>
- <li><a href="/en-US/docs/Web/API/TelephonyCall"><code>TelephonyCall</code></a></li>
- <li><a href="/en-US/docs/Web/API/CallEvent"><code>CallEvent</code></a></li>
-</ul>
-<h2 id="Sample_code_and_introduction">Sample code and introduction</h2>
-<div>
- <ul><li><a href="/es/docs/Archive/B2G_OS/Web_Telephony_API/Introduccion_a_la_WebTelephony">Introducción a la WebTelephony</a></li></ul></div>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebTelephony">WebTelephony API</a> (design document)</li>
-</ul>
diff --git a/files/es/archive/b2g_os/web_telephony_api/introduccion_a_la_webtelephony/index.html b/files/es/archive/b2g_os/web_telephony_api/introduccion_a_la_webtelephony/index.html
deleted file mode 100644
index 1b7eb653f8..0000000000
--- a/files/es/archive/b2g_os/web_telephony_api/introduccion_a_la_webtelephony/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Introducción a la WebTelephony
-slug: Archive/B2G_OS/Web_Telephony_API/Introduccion_a_la_WebTelephony
-translation_of: Archive/B2G_OS/Web_Telephony_API/Using_the_Web_Telephony_API
----
-<p><span id="result_box" lang="es"><span class="hps">La base</span> <span class="hps">de acceder a la</span> <span class="hps">funcionalidad del teléfono</span> <span class="hps">es</span> <span class="hps">simplemente a través de</span> <code>navigator.mozTelephony</code><span>,</span> <span class="hps">que es</span> <span class="hps">parte de la <a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebTelephony">WebTelephony API</a></span><span>.</span> <span class="hps">Una vez que tenga</span> <span class="hps">una referencia a</span> <span class="hps">ese objeto</span> <span class="hps">se puede</span> <span class="hps">empezar a hacer</span> <span class="hps">y</span> <span class="hps">de recibir</span> <span class="hps">llamadas.</span> <span class="hps">Aquí hay algunos</span> <span class="hps">ejemplos</span><span>:</span></span></p>
-<pre class="brush: js">// Objeto telephony
-var tel = navigator.mozTelephony;
-
-// <span id="result_box" lang="es"><span class="hps">Comprueba</span> <span class="hps">si el teléfono</span> <span class="hps">está silenciado</span> <span class="hps atn">(</span><span>propiedad</span> <span class="hps">de lectura/escritura)</span></span>
-console.log(tel.muted);
-
-// <span id="result_box" lang="es"><span class="hps">Comprueba si el</span> <span class="hps">altavoz</span> <span class="hps">está activado</span> <span class="hps atn">(</span><span>propiedad</span> de lectura<span class="hps">/escritura)</span></span>
-console.log(tel.speakerEnabled);
-
-// <span class="short_text" id="result_box" lang="es"><span class="hps">Realizar una llamada</span></span>
-var call = tel.dial("123456789");
-
-// <span class="short_text" id="result_box" lang="es"><span class="hps">Eventos para</span> <span class="hps">esa llamada</span></span>
-call.onstatechange = function (event) {
- /*
- Valores posibles del estado:
- "dialing", "ringing", "busy", "connecting", "connected",
- "disconnecting", "disconnected", "incoming"
- */
- console.log(event.state);
-};
-
-// <span class="short_text" id="result_box" lang="es"><span class="hps">Opciones anteriores</span> <span class="hps">como eventos</span> <span class="hps">directos</span></span>
-
- // Conectar llamada
- call.onconnected = function ();
-
- // Desconectar llamada
- call.ondisconnected = function ();
-
- // Resivir una llamada
- tel.onincoming = function (event) {
- var incomingCall = event.call;
-
- // <span class="short_text" id="result_box" lang="es"><span class="hps">Obtener el</span> <span class="hps">número de</span> <span class="hps">la llamada entrante</span></span>
- console.log(incomingCall.number);
-
- // <span class="short_text" id="result_box" lang="es"><span class="hps">Responder a la llamada</span></span>
- incomingCall.answer();
-};
-
-// Desconectar llamada
-call.hangUp();
-
-
-// <span id="result_box" lang="es"><span class="hps">Iteración</span> <span class="hps">sobre las llamadas</span><span>,</span> <span class="hps">y</span> <span class="hps">la adopción de medidas</span> <span class="hps">en función de su</span> <span class="hps">estado de cambiado</span></span>
-tel.oncallschanged = function (event) {
- tel.calls.forEach(function (call) {
- // Registrar el estado de cada llamada
- console.log(call.state);
- });
-};
-</pre>
-<h2 id="Ver_también">Ver también</h2>
-<ul>
- <li><a href="/en-US/docs/Web/Guide/Telephony">WebTelephony</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebTelephony" title="https://wiki.mozilla.org/WebAPI/WebTelephony">WebTelephony API</a> (<span class="short_text" id="result_box" lang="es"><span class="hps">documento en diseño</span></span>)</li>
-</ul>
diff --git a/files/es/archive/css3/index.html b/files/es/archive/css3/index.html
deleted file mode 100644
index 492e22e423..0000000000
--- a/files/es/archive/css3/index.html
+++ /dev/null
@@ -1,822 +0,0 @@
----
-title: CSS3
-slug: Archive/CSS3
-translation_of: Archive/CSS3
----
-<p><span class="seoSummary"><strong>CSS3</strong> es la última evolución del lenguaje de las <em>Hojas de Estilo en Cascada</em> <em>(</em>Cascading Style Sheets), y pretende ampliar la versión CSS2.1. Trae consigo muchas novedades altamente esperadas , como las esquinas redondeadas, sombras, <a href="/es/docs/CSS/Using_CSS_gradients" title="Using CSS gradients">gradientes</a> , <a href="/es/docs/Web/CSS/Transiciones_de_CSS" title="CSS transitions">transiciones</a> o <a href="/es/docs/Web/CSS/Usando_animaciones_CSS" title="CSS animations">animaciones</a>, y nuevos <a href="/en-US/docs/Web/Guide/CSS/Getting_Started/Layout">layouts</a> como <a href="/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts" title="Using CSS multi-column layouts">multi-columnas</a>, cajas flexibles o maquetas de diseño en cuadrícula (grid layouts).</span></p>
-
-<p>Las partes experimentales son particulares para cada navegador y deberían ser evitadas en entornos de producción, o usadas con extrema precaución, ya que tanto la sintaxis como la semántica pueden cambiar en el futuro.</p>
-
-<h2 id="Los_módulos_y_el_proceso_de_estandarización">Los módulos y el proceso de estandarización</h2>
-
-<p>El Nivel 2 de CSS necesitó 9 años, desde Agosto de 2002 hasta Junio de 2011, para alcanzar el estado de Recomendación. Esto fué debido al hecho de que algunas características secundarias fueron retiradas de las especificaciones globales, con el fin de acelerar la normalización de las características no problemáticas, el <a class="external" href="http://www.w3.org/blog/CSS/" title="http://www.w3.org/blog/CSS/">Grupo de Trabajo CSS</a> de la W3C, en una decisión referida como la <a class="external" href="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules" title="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules">doctrina Beijing</a>  dividió CSS en componentes más pequeños llamados <em>módulos</em> cada uno de estos módulos es ahora una parte independiente del lenguaje y se dirije a la estandarización a su propio ritmo mientras algunos módulos son ya recomendados de la W3C, otros todavía son borradores iniciales tambíen se añaden nuevos módulos cuando se identifican nuevas necesidades.</p>
-
-<p><a href="/@api/deki/files/6120/=CSS_Modules_and_Snapshots.png" title="CSS_Modules_and_Snapshots.png"><img alt="CSS Modules and Snapshots as defined since CSS3" class="internal lwrap" src="/files/3623/CSS_Modules_and_Snapshots.png" style="float: left; width: 550px;"> </a></p>
-
-<p>Formalmente, no existe un estandar de CSS3 por sí solo cada módulo es estandarizado independientemente, por lo que el estandar CSS consiste en CSS2.1 modificado y extendido por módulos terminados, no necesariamente todos con el mismo nivel numérico por tanto, puede ser definido un panorama del CSS estandar listando (enumerando) CSS2.1 y los módulos maduros.</p>
-
-<p>El consorcio W3 publica periodicamente ciertos <em>snapshots</em>(imágenes), como en <a href="http://www.w3.org/TR/css-beijing/">2007</a> o <a href="http://www.w3.org/TR/css-2010/">2010</a>.</p>
-
-<p>Aunque hoy en día ningún módulo con nivel mayor al 3 es estandarizado, esto cambiará en el futuro. Algunos módulos, como <em>Selectors 4</em> o <em>CSS Borders</em> y <em>Backgrounds</em> nivel 4 tienen ya un borrador de edición pese a que aún  no tienen un estatus de primer borrador de trabajo.</p>
-
-<h2 id="Estado_de_los_módulos_CSS" style="">Estado de los módulos CSS</h2>
-
-<h3 id="Módulos_estables">Módulos estables</h3>
-
-<p>Unos pocos módulos CSS son lo suficientemente estables y han alcanzado uno de los tres niveles de recomendación de <em>CSSWG</em>: Candidato (<em>Candidate</em>), Recomendación (<em>Recommendation</em>), Recomendación propuesta o Recomendación  (<em>Proposed Recommendation</em> <em>or</em> <em>Recommendation</em>). Estos puden ser usados sin un prefijo y son muy estables aunque algunas características aun pueden ser eliminadas de la etapa de <em>Candidate Recommendation</em>.</p>
-
-<p>Estos módulos extienden y mejoran la especificación CSS2.1 la cual construye el núcleo de la especificación. Juntos, son el <em>snapshot </em>actual de la especificación CSS.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td class="thirdColumn greenBg"><strong>{{ SpecName("CSS3 Colors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Colors") }} desde el 7 de Junio de 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Agrega la propiedad {{ cssxref("opacity") }} y las funciones <code>hsl</code><code>()</code>, <code>hsla()</code>, <code>rgba()</code> and <code>rgb()</code> para crear los valores {{cssxref("&lt;color&gt;")}}. También define la palabra clave <code>currentColor</code> como un color válido.</p>
-
- <p>Ahora el color transparente es un color real (gracias al soporte para el canal <em>alpha</em>) y es un alias para <code>rgba(0,0,0,0.0)</code> .</p>
-
- <p>Deja obsoleto las <em>keyworks</em> del sistema de colores (<em>system-color</em>) <a href="http://www.w3.org/TR/CSS2/ui.html#system-colors">las cuales ya no deberían ser usadas en ambientes de producción</a>.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Selectors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Selectors") }} desde el 29 de Septiembre de 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Agrega:</p>
-
- <ul>
- <li>Atributo substring selector de igualdad, <code>E[attribute^="value"]</code> , <code>E[attribute$="value"]</code> , <code>E[attribute*="value"]</code> .</li>
- <li>Nuevas pseudo-clases: {{ cssxref(":target") }}, {{ cssxref(":enabled") }} y {{ cssxref(":disabled") }}, {{ cssxref(":checked") }}, {{ cssxref(":indeterminate") }}, {{ cssxref(":root") }}, {{ cssxref(":nth-child") }} y {{ cssxref(":nth-last-child") }}, {{ cssxref(":nth-of-type") }} y {{ cssxref(":nth-last-of-type") }}, {{ cssxref(":last-child") }}, {{ cssxref(":first-of-type") }} y {{ cssxref(":last-of-type") }}, {{ cssxref(":only-child") }} y {{ cssxref(":only-of-type") }},{{ cssxref(":empty") }}, y {{ cssxref(":not") }}.</li>
- <li>Los Pseudo-elementos ahora son caracterizados por un par de dos puntos en vez de sólo uno: <code>:after</code> ahora es {{ cssxref("::after") }}, <code>:before</code> ahora es {{ cssxref("::before") }}, <code>:first-letter</code> ahora es {{ cssxref("::first-letter") }}, y <code>:first-line</code> ahora es {{ cssxref("::first-line") }}.</li>
- <li>El nuevo combinador general de hermanos (<em>general sibling combinator</em>) ( <code>h1~pre</code> ).</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>La <a class="external" href="http://dev.w3.org/csswg/selectors4/" title="http://dev.w3.org/csswg/selectors4/">siguiente iteración de la especificación de <em>Selectores</em></a> ya está en progreso, aunque aún no ha alcanzado el estado de primer borrador público de trabajo.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Namespaces", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Namespaces") }} desde el 29 de Septiembre de 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Añade soporte para los nombres de espacio XML (<em>namespaces</em>) definiendo la noción de nombre CSS cualificado (<em>CSS qualified name</em>), usando la sintaxis ' | ' y agregando la regla CSS {{ cssxref("@namespace") }}.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Media Queries", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Media Queries") }} desde el 19 de Junio de 2012</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extiende los tipos anteriores de media ( <code>print</code>, <code>screen</code>, <code>…</code> ) a un lenguaje completo permitiendo queries sobre las capacidades de  <em>media </em>del dispositivo como <code>only screen y color</code>.</p>
-
- <p>Los <em>Media queries</em> no sólo son usado en documentos CSS sino también en algunos atributos de elementos HTML, como el atributo {{ htmlattrxref("media","link") }} del elemento {{ HTMLElement("link") }}.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>La <a href="http://dev.w3.org/csswg/mediaqueries4">siguiente generación de esta especificación</a> está en progreso, permitiendo adaptar un sitio Web con respecto a los métodos de entrada disponibles en el agente del usuario con las nuevas características <em>media </em>como <code>hover</code> o <code>pointer.</code> También está propuesta la detección de soporte <em>EcmaScript </em>usando <em>media </em><code>script</code>.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Style", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Style") }} desde el 7 de Noviembre de 2013</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Define formalmente la sintaxis del contenido del atributo global <code><a href="/en/HTML/Global_attributes#attr-style">style</a></code><a href="/en/HTML/Global_attributes#attr-style"> </a>de HTML.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Backgrounds", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Backgrounds") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Agrega:</p>
-
- <ul>
- <li>Soporte en fondos para cualquier tipo de {{cssxref("&lt;image&gt;")}} y no solo las <code>uri()</code> definidas.</li>
- <li>Soporte para multiples imágenes de fondo.</li>
- <li>Los valores {{ cssxref("background-repeat") }} <code>space</code> y <code>round</code>, y para la sintaxis de dos-valores de esta propiedad CSS.</li>
- <li>El valor <code>local</code> de {{ cssxref("background-attachment") }}.</li>
- <li>Las propiedades CSS de {{ cssxref("background-origin") }}, {{ cssxref("background-size") }} y {{ cssxref("background-clip") }}.</li>
- <li>Soporte para border curvos con las propiedades CSS {{ cssxref("border-radius") }}, {{ cssxref("border-top-left-radius") }}, {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-left-radius") }}, y {{ cssxref("border-bottom-right-radius") }}.</li>
- <li>Soporte para el uso de una {{cssxref("&lt;image&gt;")}} como borde con las propiedades CSS {{ cssxref("border-image") }}, {{ cssxref("border-image-source") }}, {{ cssxref("border-image-slice") }}, {{ cssxref("border-image-width") }}, {{ cssxref("border-image-outset") }}, y {{ cssxref("border-image-repeat") }}.</li>
- <li>Soporte para sombras de elemento con la propiedad CSS {{ cssxref("box-shadow") }}.</li>
- </ul>
-
- <p> </p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>El <a class="external" href="http://dev.w3.org/csswg/css4-background/" title="http://dev.w3.org/csswg/css4-background/">CSS4 Iteración de fondos y Especificación de bordes</a> ya está en progreso; aunque aún no ha alcanzado el estado del Primer Borrador de Trabajo Público, este planea agregar la característica de acortar los bordes (en el  CSS {{ cssxref("border-clip") }}, {{ cssxref("border-clip-top") }}, {{ cssxref("border-clip-right") }}, {{ cssxref("border-clip-bottom") }}, y {{ cssxref("border-clip-left") }} propiedades) o controlar la forma del borde en una esquina (usandopropiedad CSS {{ cssxref("border-corner-shape") }}).</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Multicol", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Multicol") }}</td>
- </tr>
- <tr>
- <td colspan="2">Se agrega soporte para el diseño fácil de multi-columnas usando CSS {{ cssxref("columns") }}, {{ cssxref("column-count") }}, {{ cssxref("column-fill") }}, {{ cssxref("column-gap") }}, {{ cssxref("column-rule") }}, {{ cssxref("column-rule-color") }}, {{ cssxref("column-rule-style") }}, {{ cssxref("column-rule-width") }}, {{ cssxref("column-span") }}, {{ cssxref("column-width") }}, {{ cssxref("break-after") }}, {{ cssxref("break-before") }}, and {{ cssxref("break-inside") }}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Speech", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Speech") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines the <code>speech</code> media type, an aural formatting model and numerous properties specific for speech-rendering user agents.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Se define el tipo de dato {{cssxref("&lt;image&gt;")}}.</p>
-
- <p>Se extiende la sintaxis  de <code>url()</code> para dar soporte a cortes de imágenes usando <em>media fragments</em>.</p>
-
- <p>Agregados:</p>
-
- <ul>
- <li>La unidad <code>dppx</code> al tipo de dato {{cssxref("&lt;resolution&gt;")}}.</li>
- <li>La función <code>image()</code> como una alternativa más flexible a  <code>url()</code> para definir una imagen desde una URL.<br>
- <em><strong>Un riesgo</strong> </em><strong><em>:</em> </strong>Dado el insuficiente soporte por los navegadores<em>, la estandarización de la función <code>image()</code> debe ser postergada a la siguiente iteración de este módulo</em> <em>.</em></li>
- <li>Soporte para <code>linear-gradient()</code>, <code>repeating-linear-gradient()</code>, <code>radial-gradient()</code> and <code>repeating-radial-gradient()</code>.</li>
- <li>La capacidad de definir cómo reemplazar el elemento que encaja en sus elementos, usando al propiedad CSS {{ cssxref("object-fit") }}.<br>
- <em><strong>Un riesgo</strong> </em><strong><em>:</em> </strong> <em> </em>Dado el insuficiente soporte por los navegadores<em>, la estandarización de  {{ cssxref("object-fit") }} y propiedad debe ser posterga a la siguiente iteración de este módulo.</em></li>
- <li>La capacidad de sobreescribir la resolución y la orientacion de una imagen externa usando el CSS {{ cssxref("image-resolution") }} y {{ cssxref("image-orientation") }} .<br>
- <em><strong>RIESGO</strong> </em><strong><em>:</em> </strong> <em> debido al bajo soporte de los navegadores, la estandarización de {{ cssxref("image-resolution") }} y {{ cssxref("image-orientation") }} podría posponerse para la próxima iteración</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>The <a href="#Images_(Level_4)">CSS Image Values and Replaced Content Level 4</a> which will supersede CSS Image Level 3 is in development and is a {{Spec2("CSS4 Images")}}.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Values", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Values") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Makes <code>initial</code> and <code>inherit</code> keywords usable on any CSS property.</p>
-
- <p>Formally defines the CSS data types of CSS 2.1, that were implicitely defined by their grammar token and some textual precisions.</p>
-
- <p>Adds:</p>
-
- <ul>
- <li>Definition for new font-relative length units: <code>rem</code> and <code>ch</code> .</li>
- <li>Definition for viewport-relative length units: <code>vw</code>, <code>vh</code>, <code>vmax</code>, and <code>vmin</code> .</li>
- <li>Precision about the real size of the absolute length units, which are not really absolute, but defined in relation with the <em>reference pixel</em> .</li>
- <li>Definition for {{ cssxref("&lt;angle&gt;") }}, {{cssxref("&lt;time&gt;")}}, {{cssxref("&lt;frequency&gt;")}}, {{cssxref("&lt;resolution&gt;")}}.</li>
- <li>Normative value to the definition of {{cssxref("&lt;color&gt;")}}, {{cssxref("&lt;image&gt;")}}, and {{ cssxref("&lt;position&gt;") }}.</li>
- <li>Definition for the {{ cssxref("calc", "calc()") }}, {{ cssxref("attr", "attr()")}}, and <code>toggle()</code> functional notations.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>calc()</code>, <code>attr()</code>, and <code>toggle()</code> functional notations may be postponed to </em> <em>the next iteration of this module</em><em>.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>Several types definition, like <code>&lt;ident&gt;</code> and <code>&lt;custom-ident&gt;</code>, have been deferred to CSS Values and Units Module Level 4.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Flexbox", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Flexbox") }}</td>
- </tr>
- <tr>
- <td colspan="2">Add a flexbox layout to the CSS {{ cssxref("display") }} property and several new CSS properties to control it: {{ cssxref("flex") }}, {{ cssxref("flex-align") }}, {{ cssxref("flex-direction") }}, {{ cssxref("flex-flow") }}, {{ cssxref("flex-item-align") }}, {{ cssxref("flex-line-pack") }}, {{ cssxref("flex-order") }}, {{ cssxref("flex-pack") }}, and {{ cssxref("flex-wrap") }}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Conditional", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Conditional") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds features for conditional processing of parts of style sheets, conditioned on capabilities of the browser or the document the style sheet is being applied to. It consists mainly in allowing nested at-rules inside {{ cssxref("@media") }} and the adding of a new CSS at-rule, {{ cssxref("@supports") }}, and a new DOM method {{domxref("CSS.supports()")}}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Text-decoration", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text-decoration") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-decoration") }} property by making it a shorthand for the CSS {{ cssxref("text-decoration-line") }}, {{ cssxref("text-decoration-color") }}, and {{ cssxref("text-decoration-style") }} properties. And adds the {{ cssxref("text-decoration-skip") }}, and {{ cssxref("text-underline-position") }} properties.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for East-Asian-script emphasis marks with the CSS {{ cssxref("text-emphasis") }}, {{ cssxref("text-emphasis-style") }}, {{ cssxref("text-emphasis-color") }}, and {{ cssxref("text-emphasis-position") }} properties.</li>
- <li>Support for script shadows with the CSS {{ cssxref("text-shadow") }} property.</li>
- </ul>
-
- <p>Precises:</p>
-
- <ul>
- <li>The paint order of the decorations.</li>
- </ul>
-
- <p><em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>text-decoration-skip</code>, line positioning rules and the ability to place both emphasis marks and ruby above the same base text may be postponed to </em> <em>the next iteration of this module</em><em>.</em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Fonts", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fonts") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Amends the CSS2.1 Font matching algorithm to be closer to what is really implemented.</p>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for downloadable fonts via the CSS {{ cssxref("@font-face") }} at-rule.</li>
- <li>The control of the contextual inter-glyph spacing via the CSS {{ cssxref("font-kerning") }} property.</li>
- <li>The choice of language-specific glyphs via the CSS {{ cssxref("font-language-override") }} property.</li>
- <li>The choice of glyphs with specific OpenType features via the CSS {{ cssxref("font-feature-settings") }} property.</li>
- <li>The control of the aspect ratio to use when fallback fonts are selected via the CSS {{ cssxref("font-size-adjust") }} property.</li>
- <li>The choice of alternative font faces using the CSS {{ cssxref("font-stretch") }}, {{ cssxref("font-variant-alternates") }}, {{ cssxref("font-variant-caps") }}, {{ cssxref("font-variant-east-asian") }}, {{ cssxref("font-variant-ligatures") }}, {{ cssxref("font-variant-numeric") }}, and {{ cssxref("font-variant-position") }} properties. It also extends the related CSS {{ cssxref("font-variant") }} shorthand property and introduces the {{ cssxref("@font-features-values") }} at-rule.</li>
- <li>The control of the automatic generation of an oblique or bold face when none are found via the CSS {{ cssxref("font-synthesis") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Syntax", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Syntax") }}</td>
- </tr>
- <tr>
- <td colspan="2">Precises how charsets are determined; minor changes in parsing and tokenization algorithms.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_refining_phase">Modules in the refining phase</h3>
-
-<p>Specifications that are deemed to be in the <em>refining phase</em> are already fairly stable. Though changes are still expected, they shouldn't create incompatibilities with current implementations; they should mainly define behavior in edge cases.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Basic UI", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Basic UI") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>The ability to tweak the box model using the CSS {{ cssxref("box-sizing") }} property.<br>
- <strong><em>At risk:</em> </strong> <em> due to insufficient browser support, standardization of the <code>padding</code><code>-box</code> value may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Allow the styling of forms according their content using the CSS {{ cssxref(":indeterminate") }}, {{ cssxref(":default") }}, {{ cssxref(":valid") }}, {{ cssxref(":invalid") }}, {{ cssxref(":in-range") }}, {{ cssxref(":out-of-range") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":read-only") }}, and {{ cssxref(":read-write") }} pseudo-classes and the {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} pseudo-elements.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the pseudo-elements {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Support for icons, defined by the CSS {{ cssxref("icon") }} property simultaneously with the new <code>icon</code> value of the CSS {{ cssxref("content") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("icon") }} property and the <code>icon</code> value may be postponed to CSS4. </em></li>
- <li>Support for the CSS {{ cssxref("outline-offset") }} property giving more control on the position of the outline.</li>
- <li>Support for the CSS {{ cssxref("resize") }} property allowing Web authors to control if and how elements should be resized.</li>
- <li>Support for the CSS {{ cssxref("text-overflow") }} property defining how text overflows, if needed.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, the 2-value syntax of this property as well as the support for {{cssxref("&lt;string&gt;")}} values may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to define the hotspot of a cursor as well as the new <code>none</code>, <code>context-menu</code>, <code>cell</code>, <code>vertical-text</code>, <code>alias</code>, <code>copy</code>, <code>no-drop</code>, <code>not-allowed</code>, <code>nesw-</code><code>resize</code>, <code>nwse-</code><code>resize</code>, <code>col-resize</code>, <code>row-resize</code>, <code>all-scroll</code>, <code>zoom-in</code>, <code>zoom-out</code>, extending the {{ cssxref("cursor") }} property.</li>
- <li>The ability to specify the sequential navigation order (that is the <em>tabbing order</em> ) using the CSS {{ cssxref("nav-index") }}, {{ cssxref("nav-up") }}, {{ cssxref("nav-right") }}, {{ cssxref("nav-left") }}, {{ cssxref("nav-down") }} properties.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the navigation properties may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to control the usage of an IME editor, using the CSS {{ cssxref("ime-mode") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("ime-mode") }} property may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>An early list of what could be in the next iteration of the CSS Basic User Interface Module is <a class="external" href="http://wiki.csswg.org/spec/css4-ui" title="http://wiki.csswg.org/spec/css4-ui">available</a>.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transitions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transitions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of transitions effects between two properties values by adding the CSS {{ cssxref("transition") }}, {{ cssxref("transition-delay") }}, {{ cssxref("transition-duration") }}, {{ cssxref("transition-property") }}, and {{ cssxref("transition-timing-function") }} properties.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Animations", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Animations") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of animations effects by adding the CSS {{ cssxref("animation") }}, {{ cssxref("animation-delay") }},{{ cssxref("animation-direction") }}, {{ cssxref("animation-duration") }}, {{ cssxref("animation-fill-mode") }}, {{ cssxref("animation-iteration-count") }}, {{ cssxref("animation-name") }}, {{ cssxref("animation-play-state") }}, and {{ cssxref("animation-timing-function") }} properties, as well as the {{ cssxref("@keyframes") }} at-rule.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transforms", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transforms") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>the support of bi-dimensional transforms to be applied to any element using the CSS {{ cssxref("transform") }} and {{ cssxref("transform-origin") }} properties. The supported transforms are: <code>matrix</code><code>()</code>, <code>translate()</code>, <code>translateX()</code>, <code>translateY()</code>, <code>scale()</code>, <code>scaleX()</code>, <code>scaleY()</code>, <code>rotate()</code>, <code>skewX()</code>, and <code>skewY()</code>.</li>
- <li>the support of tri-dimensional transforms to be applied to any element by adding the CSS {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }}, and {{ cssxref("backface-visibility") }} properties and extended the {{ cssxref("transform") }} property with the following transforms are: <code>matrix</code> <code>3d()</code>, <code>translate3d()</code>, <code>translateZ()</code>,  <code>scale3d()</code>, <code>scaleZ()</code>, <code>rotate3d()</code>, <code>rotateX</code><code>()</code> ,<code>rotateY</code><code>()</code>, <code>rotateZ()</code>, and <code>perspective()</code>.</li>
- </ul>
-
- <p><em><strong>Note:</strong> this specification is a merge of CSS 2D-Transforms, CSS 3D-Transforms and SVG transforms. </em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255, 255, 220);"><strong>{{ SpecName("CSS3 Fragmentation", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fragmentation") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines how partitions of a Web page should happen, that is page, column breaks, and widows and orphans handling.
- <p>Adds:</p>
-
- <ul>
- <li>Support for defining the behavior of decorations, that is borders and background colors or images, when a box is breaked (at a page, column or line-break) with the CSS {{ cssxref("box-decoration-break") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Text", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-transform") }} property with the value <code>full-width</code>.</li>
- <li>the CSS {{ cssxref("text-align") }} property with the value <code>start</code>, <code>end</code>, <code>start end</code>, and <code>match-parent</code> for a better support of documents with multiple directionalities of text.</li>
- <li>the CSS {{ cssxref("text-align") }} property with a {{cssxref("&lt;string&gt;")}} value to align on that character. This is useful to align number on the decimal point.</li>
- <li>the CSS {{ cssxref("word-spacing") }} and {{ cssxref("letter-spacing") }} properties with range constraints to control flexibility in justification.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Control on how whitespaces are displayed using the CSS {{ cssxref("text-space-collapse") }} and {{ cssxref("tab-size") }} properties.</li>
- <li>Control on line breaks and word boundaries using the CSS {{ cssxref("line-break") }}, {{ cssxref("word-break") }}, {{ cssxref("hyphens") }}, {{ cssxref("text-wrap") }}, {{ cssxref("overflow-wrap") }}, and {{ cssxref("text-align-last") }} properties.</li>
- <li>Control on how justification is happening, in order to support more type of scripts, using the CSS {{ cssxref("text-justify") }} property.</li>
- <li>Control on edge effect using the CSS {{ cssxref("text-indent") }} and {{ cssxref("hanging-punctuation") }} properties.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>A few features present in early CSS Text Level 3 draft have being <a class="external" href="http://dev.w3.org/csswg/css3-text/#recent-changes" title="http://dev.w3.org/csswg/css3-text/#recent-changes">postponed to the next iteration of this module</a> .</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Variables", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Variables") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a mechanism allowing to define variables in CSS.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_revising_phase">Modules in the revising phase</h3>
-
-<p>Modules that are in the revising phase are much less stable than those in the refining phase. Often the syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntax are tested and often implemented.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Writing Modes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Writing Modes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines the writing modes of both horizontal and vertical scripts and precises how the CSS {{ cssxref("direction") }} and {{ cssxref("unicode-bidi") }} properties interact with the new CSS {{ cssxref("text-orientation") }} property, and extends them where needed.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_exploring_phase">Modules in the exploring phase</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS4 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the <code>image()</code> functional notation to describe the directionality of the image (<code>rtl</code> or <code>ltr</code>), allowing for bidi-sensitive images.</li>
- <li>the {{ cssxref("image-orientation") }} property by adding the keyword <code>from-image</code>, allowing to follow EXIF data stored into images to be considered.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>the <code>image-set()</code> functional notation to allow the definition to equivalent images at different resolution allowing for resolution-negotiated selection of images.</li>
- <li>the <code>element()</code> functional notation allowing the use of part of the page as image.</li>
- <li>the <code>cross-fade()</code> functional notation allowing to refer to intermediate images when transitioning between two images and defines the interpolation between two images.</li>
- <li>the <code>conic-gradient()</code> and <code>repeating-conic-gradient()</code> functional notation describing a new type of gradient.</li>
- <li>the {{cssxref("image-rendering")}} property that allow to define how resize of the object should be handled.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Device") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Grid", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Grid") }}</td>
- </tr>
- <tr>
- <td colspan="2">Add a grid layout to the CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display" title=""><code>display</code></a> property and several new CSS properties to control it: {{cssxref("grid")}}, {{cssxref("grid-area")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-flow")}}, {{cssxref("grid-auto-position")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-column")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, {{cssxref("grid-row")}}, {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-template")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("grid-template-columns")}}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 GCPM", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 GCPM") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds the ability to tailor printed version of a document by allowing to control header, footer but also references tables like indexes or tables of content.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Exclusions and Shapes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Exclusions and Shapes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the floats mechanism to define exclusion regions in any positioning scheme. Adds the notion of shapes, in which content must flows.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Lists", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Lists") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the list counter mechanism so that list markers can be styled and Web developers can define new list counter schemes.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Regions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Regions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a new mechanism allowing content to flow across, eventually non-contiguous, multiple areas called regions.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Device") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("Filters 1.0", "", "") }}</strong></td>
- <td>{{ Spec2("Filters 1.0") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Template", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Template") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Sizing", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Sizing") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Line Grid", "", "") }}</strong></td>
- <td>{{ Spec2("CSS Line Grid") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Positioning", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Positioning") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Ruby", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Ruby") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSSOM", "", "") }}</strong></td>
- <td>{{ Spec2("CSSOM") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Overflow", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Overflow") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Font Loading", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Font Loading") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Display", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Display") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Scope", "", "") }}</strong></td>
- <td>{{ Spec2("CSS Scope") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Media Queries", "", "") }}</strong></td>
- <td>{{ Spec2("CSS4 Media Queries") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Non-element Selectors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS Non-element Selectors") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("Geometry Interfaces", "", "") }}</strong></td>
- <td>{{ Spec2("Geometry Interfaces") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Inline", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Inline") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_rewriting_phase">Modules in the rewriting phase</h3>
-
-<p>Modules that are in the rewriting phase are outdated and require to be rewritten. The syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntaxes are tested and often implemented.</p>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Box", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Box") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Content", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Content") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Inline Layout", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Inline Layout") }}</td>
- </tr>
- <tr>
- <td colspan="2"> </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/es/archive/estándares_web/analizar_microformatos_en_javascript/index.html b/files/es/archive/estándares_web/analizar_microformatos_en_javascript/index.html
deleted file mode 100644
index a187eb78c5..0000000000
--- a/files/es/archive/estándares_web/analizar_microformatos_en_javascript/index.html
+++ /dev/null
@@ -1,201 +0,0 @@
----
-title: Analizar microformatos en JavaScript
-slug: Archive/Estándares_Web/Analizar_microformatos_en_JavaScript
-tags:
- - Firefox 3
- - Microformats
-translation_of: Archive/Web_Standards/Parsing_microformats_in_JavaScript
----
-<p> Firefox 3 introduces a new API for <a href="es/Using_microformats">managing</a> and parsing microformats. This article examines the generic microformat parsing API, which handles the heavy lifting of pulling data out of a microformat. This API is primarily intended to be used when implementing new microformats.</p>
-
-<h2 id="Methods" name="Methods">Methods</h2>
-
-<h3 id="dateTimeGetter.28.29" name="dateTimeGetter.28.29">dateTimeGetter()</h3>
-
-<p>Specifically retrieves a date from a microformat node. After getting the text, it is normalized into an ISO 8601 date.</p>
-
-<pre class="eval">normalizedDate = Microformats.parser.dateTimeGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value" name="Return_value">Return value</h6>
-
-<p>A string containing the normalized date.</p>
-
-<h3 id="defaultGetter.28.29" name="defaultGetter.28.29">defaultGetter()</h3>
-
-<p>Uses the microformat patterns to decide what the correct text for a given microformat property is. This includes looking at thing such as <code>abbr</code>, <code>img</code> and <code>alt</code>, <code>area</code> and <code>alt</code>, and value excerpting.</p>
-
-<pre class="eval">propertyValue = Microformats.parser.defaultGetter(propnode, parentnode, datatype);
-</pre>
-
-<h6 id="Parameters_2" name="Parameters_2">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
- <dt>datatype</dt>
- <dd>"HTML" if the search should be done using <code>innerHTML()</code>, or "text" to use <code>innerText()</code>. The default is "text".</dd>
-</dl>
-
-<h6 id="Return_value_2" name="Return_value_2">Return value</h6>
-
-<p>A string containing the property's value.</p>
-
-<h3 id="emailGetter.28.29" name="emailGetter.28.29">emailGetter()</h3>
-
-<p>Specifically retrieves an email address from a microformat node. This removes the subject if one is specified, as well as the <code>mailto:</code> prefix.</p>
-
-<pre class="eval">email = Microformats.parser.emailGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters_3" name="Parameters_3">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value_3" name="Return_value_3">Return value</h6>
-
-<p>A string containing the email address.</p>
-
-<h3 id="HTMLGetter.28.29" name="HTMLGetter.28.29">HTMLGetter()</h3>
-
-<p>Retrieves all the HTML from a particular DOM node.</p>
-
-<pre class="eval">html = Microformats.parser.HTMLGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters_4" name="Parameters_4">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value_4" name="Return_value_4">Return value</h6>
-
-<p>An object containing a function you can call to get the string and the HTML.</p>
-
-<p></p><div class="note"><strong>Nota:</strong> This doesn't return the HTML as a string, but an object with a few functions you can call to retrieve the HTML and do other tasks.</div><p></p>
-
-<p>The functions you can call on the returned object are:</p>
-
-<pre class="eval">string = html.toString();
-</pre>
-
-<p>Returns a string using <code>innerText()</code>.</p>
-
-<pre class="eval">string = html.toHTML();
-</pre>
-
-<p>Returns the node's HTML using <code>innerHTML()</code>.</p>
-
-<pre class="eval">string = html.replace(a, b);
-</pre>
-
-<p>Returns a string in which all occurrences of a in the HTML are replaced with b.</p>
-
-<pre class="eval">string = html.match(a);
-</pre>
-
-<p>Performs the specified matching operation on the HTML and returns the result.</p>
-
-<h3 id="iso8601FromDate" name="iso8601FromDate">iso8601FromDate</h3>
-
-<p>Converts a JavaScript date object into an ISO 8601 formatted date.</p>
-
-<pre class="eval">isoDate = Microformats.parser.iso8601FromDate(date, punctuation)
-</pre>
-
-<h6 id="Parameters_5" name="Parameters_5">Parameters</h6>
-
-<dl>
- <dt>date</dt>
- <dd>The JavaScript <code>Date</code> object to convert.</dd>
- <dt>punctuation</dt>
- <dd><code>true</code> if the date should have "-" and "/" in it.</dd>
-</dl>
-
-<h6 id="Return_value_5" name="Return_value_5">Return value</h6>
-
-<p>A string containing the ISO 8601 formatted date.</p>
-
-<h3 id="textGetter.28.29" name="textGetter.28.29">textGetter()</h3>
-
-<p>Retrieves all the text from a particular DOM node, including all tags. This calls <code><a href="#defaultGetter.28.29">defaultGetter()</a></code> internally.</p>
-
-<pre class="eval">text = Microformats.parser.textGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters_6" name="Parameters_6">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value_6" name="Return_value_6">Return value</h6>
-
-<p>A string containing all the text from the specified microformat node, including the tags.</p>
-
-<h3 id="telGetter.28.29" name="telGetter.28.29">telGetter()</h3>
-
-<p>Specifically retrieves a telephone number from a microformat node. This handles the fact that telephone numbers use "value" as the name of one of their subproperties, but "value" is also used for <a class="external" href="http://microformats.org/wiki/hcard#Value_excerpting">value excerpting</a>.</p>
-
-<pre class="eval">tel = Microformats.parser.telGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters_7" name="Parameters_7">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value_7" name="Return_value_7">Return value</h6>
-
-<p>A string containing the telephone number.</p>
-
-<h3 id="uriGetter.28.29" name="uriGetter.28.29">uriGetter()</h3>
-
-<p>Specifically retrieves a URI from a microformat node. This is done by looking at an <code>href</code>, <code>img</code>, <code>object</code>, or <code>area</code> to get the fully-qualified URI.</p>
-
-<pre class="eval">uri = Microformats.parser.uriGetter(propnode, parentnode);
-</pre>
-
-<h6 id="Parameters_8" name="Parameters_8">Parameters</h6>
-
-<dl>
- <dt>propnode</dt>
- <dd>The DOM node to check.</dd>
- <dt>parentnode</dt>
- <dd>The property's parent node. If it is a subproperty, this is the parent property node. Otherwise this is the microformat node.</dd>
-</dl>
-
-<h6 id="Return_value_8" name="Return_value_8">Return value</h6>
-
-<p>A string containing the fully-qualified URI.</p>
-
-<h2 id="See_also" name="See_also">See also</h2>
-
-<p><a href="es/Using_microformats">Using microformats</a>, <a href="es/Describing_microformats_in_JavaScript">Describing microformats in JavaScript</a></p>
diff --git a/files/es/archive/estándares_web/crear_microformatos_en_javascript/index.html b/files/es/archive/estándares_web/crear_microformatos_en_javascript/index.html
deleted file mode 100644
index 3fb594f13b..0000000000
--- a/files/es/archive/estándares_web/crear_microformatos_en_javascript/index.html
+++ /dev/null
@@ -1,111 +0,0 @@
----
-title: Crear microformatos en JavaScript
-slug: Archive/Estándares_Web/Crear_microformatos_en_JavaScript
-tags:
- - Firefox 3
- - Microformats
- - páginas_a_traducir
-translation_of: Archive/Web_Standards/Describing_microformats_in_JavaScript
----
-<p> Los microformatos son descritos en JavaScript usando un formato de estructura estandarizada que tiene varios miembros estándar que describen el objeto.</p>
-
-<h3 id="Microformat_definition_format" name="Microformat_definition_format">Formato de definición de microformatos</h3>
-
-<p>La definición de microformatos debe contener las siguientes entradas:</p>
-
-<dl>
- <dt><code>mfVersion</code></dt>
- <dd>Especifica el numero de versión del microformato API a la definición de la cual fue escrita. Para Firefox 3, este debe ser fijado a 0.8.</dd>
- <dt><code>mfObject</code></dt>
- <dd>El objeto JavaScript que implementa el microformato.</dd>
- <dt><code>className</code></dt>
- <dd>Una cadena especificando el nombre de las clase de microformato como es referenciada en HTML (<code>class="<em>className</em>"</code>).</dd>
- <dt><code>required</code></dt>
- <dd>Un areglo indicando los nombres de todas las propiedades que deben ser especificadas. Este debe ser omitido si todas las propiedades son opcionales.</dd>
- <dt><code>properties</code></dt>
- <dd>Una estructura describiendo las propiedades del microformato.</dd>
-</dl>
-
-<h3 id="Property_specifications" name="Property_specifications">Especificaciones de las propiedades</h3>
-
-<p>Cada propiedad en la estructura <code>properties </code>es especificada por su nombre, y debe incluir atributos adicionales si la propiedad lo requiere. Los atributos estándar son:</p>
-
-<dl>
- <dt><code>plural</code></dt>
- <dd>Un valor booleano que, si  es <code>true </code>indica que la propiedad puede tener multiples valores. Si una propiedad es plural, este es retornado como un arreglo.</dd>
- <dt><code>virtual</code></dt>
- <dd>Un valor booleano que indica si la propiedad es virtual o no. Si esta es virtual, el metodo <code>virtualGetter() </code>sera llamado para intentar crear la propiedad si esta no existe.</dd>
- <dt><code>virtualGetter</code></dt>
- <dd>Una funcion que es creada para conseguir el valor de una propiedad virtual. Esta función es usada solo si <code>virtual </code>es <code>true</code>.</dd>
- <dt><code>value</code></dt>
- <dd>El valor por defecto de la propiedad.</dd>
- <dt><code>subproperties</code></dt>
- <dd>Es posible para una propiedad incluir en si misma mas propiedades; para hacer esto, se deben incluir en una estructura <code>subproperties </code>dentro de la propiedad.</dd>
- <dt><code>dataType</code></dt>
- <dd>El tipo de dato contenido por la propiedad. Los posibles valores son:</dd>
- <dt><code>dateTime</code></dt>
- <dd>Una fecha ISO</dd>
- <dt><code>anyURI</code></dt>
- <dd>Un URI</dd>
- <dt><code>email</code></dt>
- <dd>Una dirección de correo electrónico.</dd>
- <dt><code>tel</code></dt>
- <dd>Un numero de teléfono.</dd>
- <dt><code>HTML</code></dt>
- <dd>HTML incluyendo etiquetas.</dd>
- <dt><code>float</code></dt>
- <dd>Un numero de punto flotante.</dd>
- <dt><code>microformat</code></dt>
- <dd>Un microformato.</dd>
- <dt><code>microformat_property</code></dt>
- <dd>Una propiedad especifica dentro del microformato especificada por <code>microformat</code>.</dd>
- <dt><code>custom</code></dt>
- <dd>datos de aduana.</dd>
-</dl>
-
-<h3 id="A_simple_example" name="A_simple_example">Un ejemplo simple</h3>
-
-<p>El microformato hCard para definir información de contactos hace uso del microformato <code>adr </code>para definir una dirección. el microformato <code>adr </code>es definido a continuación:</p>
-
-<pre>var adr_definition = {
- mfVersion: 0.8,
- mfObject: adr,
- className: "adr",
- properties: {
- "type" : {
- plural: true,
- types: ["work", "home", "pref", "postal", "dom", "intl", "parcel"]
- },
- "post-office-box" : {
- },
- "street-address" : {
- plural: true
- },
- "extended-address" : {
- },
- "locality" : {
- },
- "region" : {
- },
- "postal-code" : {
- },
- "country-name" : {
- }
- }
-};
-</pre>
-
-<p>Las propiedades aqui son absolutamente simples. La propiedad <code>type </code>indica el tipo de dirección representada por el objeto (trabajo, hogar, y asi sucesivamente). Desde que la propiedad <code>plural</code> sea <code>true</code>, multiples tipos pueden ser especificados. Esto permite a una dirección ser marcada como sea, por ejemplo, una dirección de trabajo para recibir paquetes.</p>
-
-<p>La propiedad <code>street-address</code> es tambien <code>plural</code>. Esto permite que multiples líneas de información sean contenidas en el arreglo <code>street-address.</code></p>
-
-<p>El microformato esta registrado con el microformato API llamando <code><a href="/es/Using_microformats#add.28.29" title="es/Using_microformats#add.28.29">Microformats.add()</a></code>, como este:</p>
-
-<pre class="eval">Microformats.add("adr", adr_definition);
-</pre>
-
-<p></p><div class="note"><strong>Nota:</strong>  Para ser claro: desde que el  microformato <code>adr</code> esta incluido por defecto en Firefox 3 y posteriores, usted no necesita agregarlo por si mismo si necesita usarlo. </div><p></p>
-
-<h3 id="See_also" name="See_also">Ver tambien</h3>
-
-<p><a href="/es/Using_microformats" title="es/Using_microformats">Using microformats</a>, <a href="/es/Parsing_microformats_in_JavaScript" title="es/Parsing_microformats_in_JavaScript">Parsing microformats in JavaScript</a></p>
diff --git a/files/es/archive/estándares_web/index.html b/files/es/archive/estándares_web/index.html
deleted file mode 100644
index 2f6362a8af..0000000000
--- a/files/es/archive/estándares_web/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Estándares Web
-slug: Archive/Estándares_Web
-tags:
- - Estándares_Web
-translation_of: Archive/Web_Standards
----
-<p>
-</p>
-<div class="callout-box"><b><a class="external" href="http://www.w3c.es/Presentaciones/2005/0314-estandares-JA/index.html">Estándares Web del W3C</a></b><br>
-Una magnífica introducción al tema</div> <p>Los <b>estándares web</b> se diseñan cuidadosamente para aportar las máximas ventajas al mayor número de usuarios, y aseguran la viabilidad a largo plazo de cualquier documento publicado en la Web. Diseñar y publicar con arreglo a estos estándares simplifica y reduce los costes de producción, Además, los sitios son accesibles a más gente, y a más tipos de dispositivos con acceso a Internet.<sup><a href="https://developer.mozilla.org/es/docs/Archive/Est%C3%A1ndares_Web#endnote_1">[1]</a></sup> </p><p>La entidad encargada de crear, mantener y divulgar los <b>estándares web</b> es el W3C. </p>
-<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/Ventajas_para_los_negocios_del_uso_de_est%c3%a1ndares_web">Ventajas para los negocios del uso de estándares web</a>
-</dt><dd> <small> Ser fiel a los estándares web, y dejar de lado las tecnologías propietarias puede contribuir a los objetivos comerciales de una compañía. </small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.w3c.es/divulgacion/a-z/">El W3C de la A a la Z</a>
-</dt><dd> <small>Documento cuyo objetivo principal es ofrecer una descripción breve y sencilla sobre las diferentes tecnologías del W3C, proporcionando así a los usuarios una mejor comprensión de las mismas.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://cristian.blindesign.com/diseno/diez-razones-para-aprender-y-usar-estandares-web/">10 razones para usar los estándares</a>
-</dt><dd> <small>Traducción del artículo sobre porqué aprender y usar estándares web</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://w3c.es/Consorcio/">¿Qué es el Consorcio World Wide Web?</a>
-</dt><dd> <small>El W3C, en mil ocasiones habrás leido estas siglas, pero... ¿Qué hay detrás?</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.mozilla.org/docs/web-developer/upgrade_2.html">Using Web Standards in your Web Pages <small>(en)</small></a>
-</dt><dd> <small>This article provides an overview of the process for upgrading the content of your web pages to conform to the W3C web standards.</small>
-</dd></dl>
-<p><span class="alllinks"><a>Ver Todos</a></span>
-</p>
-</td> <td>
-<h4 id="Comunidad" name="Comunidad"> Comunidad </h4>
-<ul><li> En la comunidad Mozilla...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-web-development"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development/feeds"> como RSS</a></li>
-</ul>
-<p></p>
-<ul><li> <a class="external" href="http://webstandards.org/">The Web Standards Project</a>
-</li></ul>
-<p><span class="alllinks"><a href="es/Est%c3%a1ndares_Web/Comunidad">Ver Todos</a></span>
-</p>
-<h4 id="Herramientas" name="Herramientas"> Herramientas </h4>
-<ul><li> <a class="external" href="http://validator.w3.org/">Servicio de validacion de HTML y XHTML</a>
-</li><li> <a class="external" href="http://jigsaw.w3.org/css-validator/">Servicio de validacion de CSS</a>
-</li></ul>
-<ul><li> <a class="link-https" href="https://addons.mozilla.org/extensions/moreinfo.php?id=60&amp;application=firefox">Web Developer</a>Extensión para Firefox
-</li></ul>
-<p><span class="alllinks"><a>Ver Todos</a></span>
-</p>
-<h4 id="Temas_relacionados" name="Temas_relacionados"> Temas relacionados </h4>
-<dl><dd> <a href="es/CSS">CSS</a>, <a href="es/HTML">HTML</a>, <a href="es/XML">XML</a>, <a href="es/Desarrollo_Web">Desarrollo Web</a>
-</dd></dl>
-</td> </tr> </tbody></table>
-<hr>
-<p><small></small></p><div class="note"><small><strong>Nota:</strong> 1</small></div><small> - <a class="external" href="http://webstandards.org/">The Web Standards Project</a></small>
-<p></p><p><span class="comment">Categorías</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>
diff --git a/files/es/archive/estándares_web/preguntas_frecuentes_sobre_rdf_en_mozilla/index.html b/files/es/archive/estándares_web/preguntas_frecuentes_sobre_rdf_en_mozilla/index.html
deleted file mode 100644
index cd499f080a..0000000000
--- a/files/es/archive/estándares_web/preguntas_frecuentes_sobre_rdf_en_mozilla/index.html
+++ /dev/null
@@ -1,446 +0,0 @@
----
-title: Preguntas frecuentes sobre RDF en Mozilla
-slug: Archive/Estándares_Web/Preguntas_frecuentes_sobre_RDF_en_Mozilla
-tags:
- - RDF
- - Todas_las_Categorías
- - páginas_a_traducir
-translation_of: Archive/Web_Standards/RDF_in_Mozilla_FAQ
----
-<h2 id="General" name="General">General</h2>
-
-<h3 id=".C2.BFPor_d.C3.B3nde_empiezo.3F" name=".C2.BFPor_d.C3.B3nde_empiezo.3F">¿Por dónde empiezo?</h3>
-
-<p><a href="es/RDF">RDF</a> cumple dos objetivos primarios en Mozilla.</p>
-
-<ul>
- <li>El primero, es una simple base de datos en cruz para guardar una pequeña cantidad de datos.</li>
-</ul>
-
-<ul>
- <li>El segundo, el más importante, es el modelo RDF que se utiliza junto a <a href="es/XUL/Gu%c3%ada_de_Plantillas">XUL plantillas</a>, un "API" abstracto para mostrar información.</li>
-</ul>
-
-<p><a href="es/RDF_en_cincuenta_palabras_o_menos">RDF en cincuenta palabras o menos</a> es una rápida y muy buena descripción de qué hace RDF en Mozilla.</p>
-
-<p>El documento <a href="es/RDF_Arquitectura_final_(exterior)">RDF Arquitectura final</a> describe con muchos más detalles como trabaja la conexión Mozilla y RDF, y da una explicación de los interfaces implicados.</p>
-
-<h3 id="Donde_puedo_encontrar_informaci.C3.B3n_sobre_Open_Directory_.28.22dmoz.22.29.3F" name="Donde_puedo_encontrar_informaci.C3.B3n_sobre_Open_Directory_.28.22dmoz.22.29.3F">Donde puedo encontrar información sobre Open Directory ("dmoz")?</h3>
-
-<p>Aquí no, desafortunadamente. Bien, aquí hay un poco... Debes empezar en <a class="external" href="http://www.dmoz.org/" rel="freelink">http://www.dmoz.org/</a> para mas información acerca de Open Directory. El set de datos Open Directory está disponible como un, enorme, depósito RDF/XML. Describe miles de sitios Web que usan un mix de vocabulario de <a class="external" href="http://www.dublincore.org/">Dublin Core</a> y de la "taxonomía" DMoz. Para más información mira sus <a class="external" href="http://dmoz.org/rdf.html">páginas RDF</a>, o los <a class="external" href="http://groups.yahoo.com/group/odp-rdf-announce/">anuncios odp-rdf</a> para actualizaciones relacionados con su formato de datos exacto. El sitio <a class="external" href="http://chefmoz.org/">ChefMoz</a> también esta <a class="external" href="http://chefmoz.org/rdf.html">disponible en RDF</a>.</p>
-
-<p>Si tienes problemas con los datos DMoz y ChefMoz, será mejor que contactes directamente esos proyectos. Pero si haces algo interesante con los contenidos (ej. cargando pedazos de los datos desde un sitio remoto hacia una interface de usuario XUL), no olvides hacerlo saber a las listas de <a class="link-mailto" href="mailto:mozilla-rdf@mozilla.org">mozilla-rdf</a> y <a class="link-mailto" href="mailto:www-rdf-interest@w3.org">RDF Interest Group</a>. Estas listas también estarán interesadas en herramientas para limpieza / re-procesamiento y almacenaje de datos DMoz. Para algunos directorios basados en ODP RDF puedes mirar las páginas de los <a class="external" href="http://dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/">sitios que usan ODP Data</a>.</p>
-
-<h3 id="Qu.C3.A9_es_un_datasource.3F" name="Qu.C3.A9_es_un_datasource.3F">Qué es un datasource?</h3>
-
-<p>Generalmente, RDF puede ser visto desde dos puntos de vista: Como un gráfico con nodos y arcos, o como una sopa de declaraciones lógicas. Un datasource es un subgráfico (o coleccíon de declaraciones, dependiendo de tu punto de vista) que por alguna razón están recolectadas todas juntas. Los ejemplos de datasources que existen hoy en día son "marcadores de browser", "historial de navegación", "cuentas de correo IMAP", "servidores de noticia NNTP", y "archivos RDF/XML".</p>
-
-<p>En Mozilla, las datasources pueden unirse usando <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl">composite data source</a>. Es como superponer gráficos, o unir una colección de declaraciones ("microteorías"). Las declaraciones acerca de del mismo recurso RDF pueden ser mezcladas. Por ejemplo, "la última fecha de visita" de un sitio en particular proviene del historial de navegación, y el "atajo de teclado" que puedes usar para ese sitio proviene de los marcadores. Ambos datasources refieren al website a través del URL, esta es la "clave" que permite que el datasource sea mezclado con efectividad.</p>
-
-<p>Para mas información acerca de como escribir un datasource por favor remitete a <a href="es/RDF_Datasource_How-To">RDF Datasource How-To</a>.</p>
-
-<h3 id="C.C3.B3mo_administra_los_datasource_Mozilla.3F" name="C.C3.B3mo_administra_los_datasource_Mozilla.3F">Cómo administra los datasource Mozilla?</h3>
-
-<p>El <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF service</a> administra una tabla con todos los datasources cargados. A la tabla se le asigna una URI, que es algo asi como la URL del archivo RDF/XML, o una URI "especial" que empieza con <code>rdf</code> que hace referencia a un datasource <em>Built-in</em>.</p>
-
-<p>Los datasources se pueden cargar a traves del servicio RDF, utilizando el método <code>GetDataSource()</code>. Si el argumento URI hace referencia a la URL de un archivo RDF/XML, entonces el servicio creará un <em>datasource RDF</em>. El datasource permanecerá "capturado" hasta que la última referencia al datasource sea liberada. Si el argumento URI hace referencia a un datasource Built-in, el servicio RDF utilizará el administrador de componentes XPCOM para cargar el componente cuya <em>ContractID</em> ha sido hecha utilizando la URI "especial" y el bien conocido <code><a class="link-mailto" href="mailto:prefijo@mozilla.org" rel="freelink">prefijo@mozilla.org</a>/rdf/datasource;1?name=</code>.</p>
-
-<p>Por ejemplo:</p>
-
-<p> </p>
-
-<pre class="eval">rdf:foo
-</pre>
-
-<p>que cargará:</p>
-
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=foo
-</pre>
-
-<p>Igual que los datasources RDF/XML, un datasource que es respondida de esta manera, será "capturada" por el servicio RDF hasta que la última referencia es soltada.</p>
-
-<h3 id="C.C3.B3mo_creo_datasources_desde_un_archivo_RDF.2FXML.3F" name="C.C3.B3mo_creo_datasources_desde_un_archivo_RDF.2FXML.3F">Cómo creo datasources desde un archivo RDF/XML?</h3>
-
-<p>Puedes crear un datasource RDF/XML usando el método <code>GetDataSource()</code> del <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">servicio RDF</a>:</p>
-
-<pre class="eval"><span class="highlightblue">// Obten el servicio RDF</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// ...y desde allí, Obten el datasource. Aségurat de que el servidor web lo entregue como
-// <strong>text/xml</strong> (recomendado) o como <strong>text/rdf</strong>!</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// NOTA que <strong>ds</strong> será cargado desincronizadamente, asi que los aciertos no serán
-// inmediatos</span>
-</pre>
-
-<p>O puedes crear uno utilizando el administrador de componentes XPCOM directamente, Aquí hay un ejemplo.</p>
-
-<pre class="eval"><span class="highlightblue">// Crear un archivo RDF/XML usando el administrador de componentes XPCOM</span>
-var ds =
- Components
- .classes["@mozilla.org/rdf/datasource;1?name=xml-datasource"]
- .createInstance(Components.interfaces.nsIRDFDataSource);
-<span class="highlightblue">// La interface <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl">nsIRDFRemoteDataSource</a> tiene las interfaces
-// que necesitamos para configurar el datasource.</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-<span class="highlightblue">// Asegúrate de que el servidor entregue esto como <strong>text/xml</strong> (recomendado) o como <strong>text/rdf</strong>!</span>
-remote.Init("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// Cárgalo! fijate que esto ocurrira desicronizadamente. Configura
-// <strong>aBlocking</strong> a true, podemos forzarlo pra que sea sincronizado pero
-// generalmente es una mala idea, porque se bloqueará tu interface de usuario!</span>
-remote.Refresh(false);
-<span class="highlightblue">// NOTA que<strong>ds</strong> será cargado desincronizadamente, los aciertos no
-// serán inmediatos</span>
-</pre>
-
-<p>Si deseas que se cargue de forma sincronizada, deberías crearlo manualmente.</p>
-
-<h3 id="C.C3.B3mo_actualizo_un_datasource_RDF.2FXML.3F" name="C.C3.B3mo_actualizo_un_datasource_RDF.2FXML.3F">Cómo actualizo un datasource RDF/XML?</h3>
-
-<p>Puedes forzar un datasource RDF/XML (o cualquier datasource que soporte <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a>) utilizando el método <code>Refresh()</code>de <code>nsIRDFRemoteDataSource. Refresh()</code> tiene un solo parámetro que indica si te gustaría realizar la operacíon sincronizadamente ("blocking") o desincronizadamente ("non-blocking"). Nunca lo hagas sincronizadamente, a menos que sepas lo que estás haciendo, esta opción bloqueará la interfaz de usuario hasta que la carga sea completada.</p>
-
-<h3 id="C.C3.B3mo_s.C3.A9_si_un_datasource_RDF.2FXML_se_carg.C3.B3.3F" name="C.C3.B3mo_s.C3.A9_si_un_datasource_RDF.2FXML_se_carg.C3.B3.3F">Cómo sé si un datasource RDF/XML se cargó?</h3>
-
-<p>Es posible consultar la propiedad <code>loaded</code> utilizando la interfaz <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> para determinar si el datasource está cargado o no.</p>
-
-<p> </p>
-
-<pre class="eval"><span class="highlightblue">// Obtén el servicio RDF</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// Obtén el datasource.</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// Ahora mira si se cargó o no...</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("El datasource ya está cargado!");
-}
-else {
- alert("El datasource no se cargó, pero se está cargando ahora!");
-}
-</pre>
-
-<p>Digamos que el datasource <em>no está</em> cargado, y se está cargando desincronizadamente. Podríamos usar esta API y el <code>setTimeout()</code> de JavaScript para realizar un loop que chequee la propiedad <code>loaded</code> de forma continua. Sería malo no detectar una carga <em>fallida</em>, por ejemplo, que no hubiera ningun dato en le URL.</p>
-
-<p>Por esta razón, hay una <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFXMLSink.idl">interfaz observadora</a> que te permite espiar el progreso del datasource. El siguiente código ilustra como usarlo.</p>
-
-<p> </p>
-
-<pre class="eval"><span class="highlightblue">// Este es el objeto que observará el progreso de RDF/XML</span>
-var Observer = {
- onBeginLoad: function(aSink)
- {},
-
- onInterrupt: function(aSink)
- {},
-
- onResume: function(aSink)
- {},
-
- onEndLoad: function(aSink)
- { alert("done!"); },
-
- onError: function(aSink, aStatus, aErrorMsg)
- { alert("error! " + aErrorMsg); }
-};
-<span class="highlightblue">// obtén el servicio RDF</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// Obtén el datasource.</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// ahora mira si se cargó o no...</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("El datasource ya está cargado!");
-}
-else {
- alert("El datasource no se cargó, pero se está cargando ahora!");
- <span class="highlightblue">// los datasources RDF/XML son <strong>nsIRDFXMLSink</strong>s</span>
- var sink =
- ds.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- <span class="highlightblue">// Adjunta el observador al datasource</span>
- sink.addXMLSinkObserver(Observer);
- <span class="highlightblue">// ahora serán llamados del métodos del <strong>Observador</strong> como
- // los progresos de carga.</span>
-}
-</pre>
-
-<p><br>
- Nota que el observador permanecerá unido al datasource RDF/XML a menos que llamemos a <code>XMLSinkObserver</code></p>
-
-<h3 id="C.C3.B3mo_accedo_a_la_informaci.C3.B3n_de_un_datasource.3F" name="C.C3.B3mo_accedo_a_la_informaci.C3.B3n_de_un_datasource.3F">Cómo accedo a la información de un datasource?</h3>
-
-<p>La interfaz <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl"><code>nsIRDFDataSource</code></a> es lo que te permitirá acceder y manipular las declaraciones en un datasource.</p>
-
-<ul>
- <li><code>boolean HasAssertion(aSource, aProperty, aTarget, aTruthValue)</code>.<br>
- This tests the datasource to see if it has the specified tuple.</li>
- <li><code>nsIRDFNode GetTarget(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetTargets(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsIRDFResource GetSource(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetSoruces(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsIn(aTarget)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsOut(aSource)</code>.</li>
-</ul>
-
-<p>También puedes usar la interfaz <a href="#How_do_I_manipulate_RDF_.22containers.22.3F">RDF container</a> para acceder a la información contenida en <em>contenedores</em> RDF.</p>
-
-<h3 id="C.C3.B3mo_cambio_informaci.C3.B3n_en_un_datasource.3F" name="C.C3.B3mo_cambio_informaci.C3.B3n_en_un_datasource.3F">Cómo cambio información en un datasource?</h3>
-
-<p>Usa "Assert" para agregar una declaración y "Unassert" para quitar una. Mira <a class="external" href="http://www.mozilla.org/rdf/back-end-architecture.html">Mozilla RDF Back end Architecture</a></p>
-
-<pre class="eval">ds.Assert(homepage, FV_quality, value, true);
-ds.Unassert(homepage, FV_quality, value, true);
-</pre>
-
-<h3 id="C.C3.B3mo_guardo_los_cambios_en_un_datasource.3F" name="C.C3.B3mo_guardo_los_cambios_en_un_datasource.3F">Cómo guardo los cambios en un datasource?</h3>
-
-<p>Se puede hacer <code>QueryInterface</code> a <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> con un datasource. Esta interfaz tiene un método <code>Flush()</code> que re-escribe los contenidos de un datasource nuevamente hacia la URL desde donde fueron cargados. Usando un mecanismo de protocolo específico (ej. un <code>file</code>: URL simplemente escribe el archivo, un <code> http:</code> URL probablemente hará un HTTP-POST). <code>Flush()</code> sólo escribe el datasource si el contenido ha cambiado.</p>
-
-<h3 id="C.C3.B3mo_.C3.BAno_varios_datasource_para_verlos_c.C3.B3mo_uno_solo.3F" name="C.C3.B3mo_.C3.BAno_varios_datasource_para_verlos_c.C3.B3mo_uno_solo.3F">Cómo úno varios datasource para verlos cómo uno solo?</h3>
-
-<p>Utiliza nsIRDFCompositeDataSource. Esta interfaz proviene de nsIRDFDataSource. Implementar esta interfaz combinará las declaraciones de distintos datasources dentro de uno colectivo. Como la interfaz nsIRDFCompositeDataSource proviene de nsIRDFDataSource, puede ser llamada y modificada igual que un data source.</p>
-
-<h3 id="C.C3.B3mo_accedo_a_datasources_.22built-in.22.3F" name="C.C3.B3mo_accedo_a_datasources_.22built-in.22.3F">Cómo accedo a datasources "built-in"?</h3>
-
-<p>Un <em>datasource buitl-in</em> es un componente localmente-instalado que implementa <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a>. Por ejemplo, el <a class="external" href="http://lxr.mozilla.org/mozilla/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">servicio de marcadores</a>. Primero, asegúrate de que eres <em>capaz</em> de acceder a un datasource haciendo click <a href="#What_is_the_security_model_for_RDF.2FXML_in_XUL.3F">aquí</a>. Hay grandes restricciones de seguridad para acceder a un datasource desde un XUL o JS "desconocido".</p>
-
-<p>Como el datasource built-in es nada mas que un componente XPCOM, puedes acceder utilizando el componente administrador XPConnect.</p>
-
-<pre class="eval">// Usa el administrador de componentes para obtener los // marcadores
-<span class="highlightgreen">var bookmarks =
- Components.
- classes["@mozilla.org/rdf/datasource;1?name=bookmarks"].
- getService(Components.interfaces.nsIRDFDataSource);</span>
-
-// Ahora haz algo con eso...
-if (bookmarks.HasAssertion(
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#BookmarksRoot" rel="freelink">http://home.netscape.com/NC-rdf#BookmarksRoot</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#child" rel="freelink">http://home.netscape.com/NC-rdf#child</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#PersonalToolbarFolder" rel="freelink">http://home.netscape.com/NC-rdf#PersonalToolbarFolder</a>"),
- true) {
- // ...
-}
-</pre>
-
-<p>Algunos datasources tienen ContractID "especiales" que hacen más fácil el acceso utilizando el método <code>GetDataSource()</code> de <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFSerivce</code></a> o el atributo <code>datasource</code> de una plantilla XUL. Estos ContractID son de:</p>
-
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=<em>name</em>
-</pre>
-
-<p>Y son accesibles via <code>GetDataSource</code> y el atributo <code>datasources</code> usando <code>rdf:<em>name</em></code>. Por ejemplo, el siguiente fragmento XUL muestra como colocar el servicio de marcadores dentro de una plantilla XUL.</p>
-
-<pre class="eval">&lt;tree datasources="rdf:bookmarks"&gt;
- ...
-&lt;/tree&gt;
-</pre>
-
-<h3 id="C.C3.B3mo_manipulo_.22contenedores.22_RDF.3F" name="C.C3.B3mo_manipulo_.22contenedores.22_RDF.3F">Cómo manipulo "contenedores" RDF?</h3>
-
-<p>Para manipular un "contenedor" RDF (un <code>&lt;rdf:SEq&gt;</code>, por ejemplo) puedes utilizar <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainerUtils.idl"><code>nsIRDFContainerUtils</code></a> la cual puede ser llamada como un servicio a tráves del siguiente ContratID:</p>
-
-<pre class="eval">@mozilla.org/rdf/container-utils;1
-</pre>
-
-<p>Puedes usarlo para detectar si algo es un contenedor RDF utilizando <code>IsSeq(), IsBag(), IsAlt()</code>. Puedes "crear un recurso dentro de un contenedor", sino hubiera uno, utilizando <code>MakeSeq(), MakeBag(), MakeAlt()</code>. Estos métodos devuelven <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainer.idl"><code>nsIRDFContainer</code></a> que te permitirá hacer operaciones tipo-contenedor sin ensuciarte las manos.</p>
-
-<p>Si tu datasource ya posee un objeto que <em>es</em> un contenedor RDF, puedes usar el objeto <code>nsIRDFContainer</code> con:</p>
-
-<pre class="eval">@mozilla.org/rdf/container;1
-</pre>
-
-<p>Utiliza COntractID y <code>Init()</code> con el datasource y el recurso como parámetros. Nota que esto fallará si el recurso todavia no es un contenedor.</p>
-
-<h2 id="Plantillas_XUL" name="Plantillas_XUL">Plantillas XUL</h2>
-
-<p>Las plantillas XUL se crean especificando un atributo <code>datsource</code> sobre un elemento en un documento XUL.</p>
-
-<p>Hay dos "formas" de escribir plantillas XUL. La "simple", que es la mas comun en Mozilla, y la "extendida", que pertime mayor concordancia contra gráficos RDF. Mira también <a href="es/XUL/Template_Guide">XUL:Template Guide</a> (está ordenado de forma bizarra porque se intenta introducir primero la forma extendida, y luego la forma simple como una especie de simplificación de la forma extendida).</p>
-
-<h3 id=".C2.BFQu.C3.A9_puedo_construir_con_una_plantilla_XUL.3F" name=".C2.BFQu.C3.A9_puedo_construir_con_una_plantilla_XUL.3F">¿Qué puedo construir con una plantilla XUL?</h3>
-
-<p>Puedes construir <em>cualquier</em> clase de contenido usando una plantilla XUL. Puedes utilizar cualquier clase de etiqueta (incluso HTML o XML arbitrario) en la parte <code>&lt;action&gt;</code> de un <code>&lt;rule&gt;</code>.</p>
-
-<h3 id="Cu.C3.A1ndo_debo_utilizar_una_plantilla_XUL.3F" name="Cu.C3.A1ndo_debo_utilizar_una_plantilla_XUL.3F">Cuándo debo utilizar una plantilla XUL?</h3>
-
-<p>Una alternativa al uso de plantillas RDF y XUL es el uso de <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM APIs</a>, para crear y manipular modelos de contenido XUL (o HTML). Sin embargo, algunas veces suelen presentarse algunos incovenientes:</p>
-
-<ol>
- <li><em>hay</em> distintas &lt;/em&gt;"vistas" de los datos&lt;/em&gt;. Por ejemplo, Mozilla mail/news muestra la jerarquía de carpeta en la barra de herramientas, varios menues, y en algunas ventana de diálogo. Mejor que escribir tres pedazos de código JS (o C++) para construir los árboles DOM, uno para cada modelo de contenido, <code>&lt;menubutton&gt;</code>, <code>&lt;menu&gt;</code> y <code>&lt;tree&gt;</code>, seria que escribas tres sets compactos de reglas.</li>
- <li><em>Los datos pueden cambiar</em>. Por ejemplo un usuario de mail/news tal vez agregue o quite carpetas IMAP (nota como estos requerimientos complican la construcción de modelos de contenido) La plantila de construcción XUL utiliza reglas para mantener sincronizados, de forma automática, <em>todos</em> los modelos de contenidos acorde a tus cambios.</li>
-</ol>
-
-<p>Para poder tener la ventaja de estas funciones, debes ser capaz de expresar tu información en términos de <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">RDF datasource API</a> ya sea usando el <em>built-in memory datasource</em>, usando RDF/XUL para almacenar tu información, o escribiendo tu propia implementación de <code>nsIRDFDataSource</code></p>
-
-<h3 id="Qu.C3.A9_es_lo_que_se_carga_cuando_especifico_.22datasource.3D.22_.3F" name="Qu.C3.A9_es_lo_que_se_carga_cuando_especifico_.22datasource.3D.22_.3F">Qué es lo que se carga cuando especifico "datasource=" ?</h3>
-
-<p>En el "root" de una plantilla, el atributo <code>datasources</code> especifica que se debe cargar una lista de URIs datasource que están separadas por un espacio en blanco. Pero, qué es una "URI datasource"? Puede ser:</p>
-
-<ul>
- <li>Un ContractID abreviado para un componente instalado localmente. Especificando <code>rdf:nombre</code> le indicas al generador de la plantilla que cargue el componente XPCOM con el ContractID: <code>@mozilla.org/rdf/datasource;1?name=<em>nombre</em></code></li>
- <li>La URL de un archivo RDF/XML. Por ejemplo,
- <pre>file:///tmp/foo.rdf
-chrome://mycomponent/content/component-data.rdf
-http://www.mysite.com/generate-rdf.cgi
-ftp://ftp.somewhere.org/toc.rdf
-</pre>
-
- <p>La carga será procesada desincronizadamente, y a medida que vaya llegando RDF/XML, el generador de la plantilla irá generando contenido.</p>
- </li>
-</ul>
-
-<p>En ambos casos, los datasources se cargan usando el método <code>GetDataSource()</code> de <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFService</code></a> asi que será manejado de igual manera para todos los datasources que asi se carguen.</p>
-
-<h3 id="Cu.C3.A1l_es_el_modelo_de_seguridad_para_RDF.2FXML_en_XUL.3F" name="Cu.C3.A1l_es_el_modelo_de_seguridad_para_RDF.2FXML_en_XUL.3F">Cuál es el modelo de seguridad para RDF/XML en XUL?</h3>
-
-<p>El documento XUL que es cargado de una URL "confiable" (cualquier <code>chrome:</code> URL) puede especificar <em>cualquier</em> URI datasource en el atributo <code>datasources</code> de la plantilla XUL.</p>
-
-<p>El documento que es cargado desde una URL "no confiable", puede especificar solo un documento RDF/XML desde el mismo <em>codebase</em> (en el significado de Java) donde se origino el documento XUL. Los datasources que no son "especiales" (ej. <code>rdf:</code>) se cargarán desde un XUL "no confiable".</p>
-
-<h3 id="C.C3.B3mo_agrego_un_datasource_a_una_plantila_XUL.3F" name="C.C3.B3mo_agrego_un_datasource_a_una_plantila_XUL.3F">Cómo agrego un datasource a una plantila XUL?</h3>
-
-<p>Si bien es posible crear una plantilla XUL con un conjunto de datasources "implicitos" especificando el atributo <code>datasource</code>, abrá veces que no sabrás que datasource cargar hasta que la XUL esté cargada. Por ejemplo, tu XUL tal vez necesite computar el datasource que se desea mostrar en un manejador <code>onload</code>. O, tal vez necesites agregar datasources basado en la acción de un usuario.</p>
-
-<pre class="eval">&lt;window xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
- ...
- <span class="highlightgreen">&lt;tree id="my-tree" datasources="rdf:null"&gt;
- ...
- &lt;/tree&gt;</span>
- ...
-&lt;/window&gt;
-</pre>
-
-<p>Asumiendo que hemos adquirido el datasource de alguna manera (ej. <a href="#How_do_I_create_a_datasource_from_an_RDF.2FXML_file.3F">así</a>), el sig. ejemplo muestra cómo agregar un datasource a una plantila, y luego, forzar a la plantilla a reconstruirse basada en los nuevos contenidos agregados.</p>
-
-<pre class="eval">var ds = <span class="highlightblue">/* asumimos que tienes esto! */</span>;
-<span class="highlightblue">// Obten el elemento DOM para 'my-tree'</span>
-var tree = document.getElementById('my-tree');
-<span class="highlightblue">// agregamos nuestro datasource</span>
-tree.database.AddDataSource(ds);
-<span class="highlightblue">// Forza al arbol a reconstruirse *ahora*. debes hacerlo "manual"!</span>
-tree.builder.rebuild();
-</pre>
-
-<p>Cualquier elemento XUL con un atributo <code>datasources</code> "tendrá" una propiedad <code>database</code> y una <code>builder</code>. La primera refiere a un objeto <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl"><code>nsIRDFCompositeDataSource</code></a> que contiene los datasources desde donde son contruidas las plantillas.</p>
-
-<p>La segunda propiedad refiere a un objeto <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIXULTemplateBuilder.idl"><code>nsIXULTemplateBuilder</code></a> que es el "generador" que mantiene el estado de los contenidos de la plantilla.</p>
-
-<p>Nota que el datasource <code>rdf:null</code> es un datasource especial que nos dice "hey, no tenemos un datasource todavía, pero vamos a agregar uno mas tarde, chequéalo!". Esto hace que <code>database</code> y <code>builder</code> se instalen, pero deja a <code>database</code> vacía de datasources, debes agregarlos tú mismo!</p>
-
-<h3 id="Puedo_manipular_plantillas_XUL_usando_las_APIs_DOM.3F" name="Puedo_manipular_plantillas_XUL_usando_las_APIs_DOM.3F">Puedo manipular plantillas XUL usando las APIs DOM?</h3>
-
-<p>Sí! puedes agragar, quitar reglas, cambiar las condiciones de una regla y cambiar el contenido que es generado por una regla. De hecho, puedes cambiar <em>cualquier cosa</em> de una plantilla usando <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM APIs</a>.</p>
-
-<p>Eso si, debes llamar a <code>rebuild()</code> para que los cambios hagan efecto (del mismo modo que lo haces si <a href="#C.C3.B3mo_agrego_un_datasource_a_una_plantila_XUL.3F">agregas un datasource</a> a una plantilla XUL).</p>
-
-<h3 id="C.C3.B3mo_agrego_texto_plano_desde_una_plantilla.3F" name="C.C3.B3mo_agrego_texto_plano_desde_una_plantilla.3F">Cómo agrego texto plano desde una plantilla?</h3>
-
-<p>Para agregar texto plano desde una plantilla usa el elemento <code>&lt;text&gt;</code>.</p>
-
-<pre class="eval">&lt;template&gt;
- &lt;rule&gt;
- &lt;conditions&gt;...&lt;/condition&gt;
- &lt;bindings&gt;...&lt;/bindings&gt;
- &lt;action&gt;
- <span class="highlightgreen">&lt;text value="?alguna-variable" /&gt;</span>
- &lt;/action&gt;
- &lt;/rule&gt;
-&lt;/template&gt;
-</pre>
-
-<p>La plantilla arriba creará un modelo de contenido que ejecutará series de nodos de texto.</p>
-
-<h2 id="Soluci.C3.B3n_de_problemas" name="Soluci.C3.B3n_de_problemas">Solución de problemas</h2>
-
-<p>Trucos y secretos sobre el tema.</p>
-
-<h3 id="Mi_archivo_RDF.2FXML_no_carga." name="Mi_archivo_RDF.2FXML_no_carga.">Mi archivo RDF/XML no carga.</h3>
-
-<p>La causa mas usual de este problema es un tipo de MIME incorrecto. Asegúrate que tu servidor esté enviando el archivo como <code>text/xml</code> (recomendado) o como <code>text/rdf</code>.</p>
-
-<p>Nota que W3C RDF Core WG está registrando application/rdf+xml, aunque esto no funciona con ningún código Mozilla. (tenemos algún bug registrado para rastrear esto? -- <a class="link-mailto" href="mailto:danbri-mozilla@rdfweb.org">danbri</a>)</p>
-
-<p>Otro problema posible: para XUL y RDF cargado de forma remota tal vez necesites ajustar las restricciones de seguridad de Mozilla (mira más abajo para ejemplos). Si XUL no está cargando tu RDF, y el tipo MIME está OK, tal vez este sea el problema.</p>
-
-<p>Puedes usar los utilitarios <code>rdfcat</code> y <code>rdfpoll</code> para verificar que RDF/XML son válidos. Estos programas son generados en Windows por defecto, y en Linux cuando especificas <code>configure --enable-tests</code>.</p>
-
-<ul>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfcat/rdfcat.cpp">rdfcat</a><em>url</em></code><br>
- Toma como parametro una URL desde donde leerá un archivo RDF/XML, y lo enviará a la consola. Puedes usarlo para verificar que Mozilla ejecuta adecuadamente el RDF/XML hayas escrito.</li>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfpoll/rdfpoll.cpp">rdfpoll</a><em>url</em> [<em>interval</em>]</code><br>
- Toma como parámetro una URL desde donde leerá un archivo RDF/XML. Támbien ecepta un <em>intervalo</em> donde actualizará la URL. NOta que las actualizaciones generan una series de <em>diferencias</em> entre los contenidos previos y posteriores del archivo RDF/XML. Esto es útil para quitar errores en archivos generados que cambien con el tiempo.</li>
-</ul>
-
-<p>Ambos programas son lentos para cargar y ejecutarse (pero se ejecutarán). Inician XPCOM y hacen que Necko pueda cargar y procesar URLs igual que lo hace Mozilla.</p>
-
-<h3 id="No_sucede_nada_cuando_llamo_AddDataSource." name="No_sucede_nada_cuando_llamo_AddDataSource.">No sucede nada cuando llamo AddDataSource.</h3>
-
-<p>Nota que el generador de la plantilla <em>no</em> regenera automaticamente el contenido de una plantilla después de <code>AddDataSource</code> o <code>RemoveDataSource</code>, debe ser llamado desde <code>database</code> del generador. Debes llamar <code><em>elt.</em>builder.rebuild()</code> manualmente para actualizar los contenidos de la plantilla</p>
-
-<p>Por qué? Esto se diseño para que no se produzcan múltiple re-generaciones cuando más de un datasource es agregado a la <code>database</code>.</p>
-
-<h2 id="Ejemplos" name="Ejemplos">Ejemplos</h2>
-
-<h3 id="Donde_puedo_encontrar_algunos_ejemplos.3F" name="Donde_puedo_encontrar_algunos_ejemplos.3F">Donde puedo encontrar algunos ejemplos?</h3>
-
-<p><a class="external" href="http://www.mozilla.org/rdf/doc/examples.html">Aquí</a> hay algunos, son ejecutables directamente desde HTTP.</p>
-
-<p>Mira también <a class="link-https" href="https://bugzilla.mozilla.org/data/duplicates.rdf"><code>duplicates.rdf</code></a> (directo desde Mozilla) también <a class="link-https" href="https://bugzilla.mozilla.org/duplicates.xul"><code>duplicates.xul</code></a>. Nota que debes alivianar el <a href="es/Bypassing_Security_Restrictions_and_Signing_Code">modelo de seguridad</a> de Mozilla para que funcionen. Para hacerlo, agrega la siguiente línea al archivo de preferencias. (primero debes reiniciar Mozilla para que escriba el archivo)</p>
-
-<pre class="eval">user_pref("signed.applets.codebase_principal_support", true);
-</pre>
-
-<p>Te preguntará si permites a los scripts en <code>duplicates.xul</code> accerder XPConnect, responde que SÍ.</p>
-
-<p>Actualmente Mozilla no permite acceso a las interfaces y servicios RDF sin previlegios, mira el bug <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=122846">122846</a> para detalles.</p>
-
-<p>Por favor comunicate via mail con <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a> si crees que deberíamos colocar algún otro link</p>
-
-<h2 id="Notas" name="Notas">Notas</h2>
-
-<ol>
- <li>Mira también <a class="external" href="http://www.w3.org/RDF/">W3C RDF</a> y <a class="external" href="http://www.w3.org/2001/sw/">Semantic Web</a> para más información acerca de RDF y tecnologías relacionadas.</li>
-</ol>
-
-<h2 id="Contribuyentes" name="Contribuyentes">Contribuyentes</h2>
-
-<ul>
- <li>Sección de ejemplos agregada por <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a> el 2002-07-02 &lt;/li&gt;</li>
-</ul>
-
-<ul>
- <li>Gracias a Myk Melez por las notas sobre política de seguridad en XUL remoto.</li>
-</ul>
-
-<p>Autor: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></p>
-
-<div class="originaldocinfo">
-<h2 id="Informaci.C3.B3n_sobre_documento_original" name="Informaci.C3.B3n_sobre_documento_original">Información sobre documento original</h2>
-
-<div>
-<ul>
- <li>Autor(es): <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- <li>Ultima actualización: December 22, 2004</li>
- <li>Derechos de autor: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
-</ul>
-</div>
-
-<p><span class="comment">Categorías</span></p>
-
-<p><span class="comment">Interwiki Language Links</span></p>
-
-<p> </p>
-
-<div class="noinclude"> </div>
-</div>
diff --git a/files/es/archive/estándares_web/usando_el_marcado_correcto_para_llamar_a_los_plugins/index.html b/files/es/archive/estándares_web/usando_el_marcado_correcto_para_llamar_a_los_plugins/index.html
deleted file mode 100644
index 11aa4d9829..0000000000
--- a/files/es/archive/estándares_web/usando_el_marcado_correcto_para_llamar_a_los_plugins/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: Usando el marcado correcto para llamar a los plugins
-slug: Archive/Estándares_Web/Usando_el_marcado_correcto_para_llamar_a_los_plugins
-tags:
- - HTML
- - Plugins
- - Todas_las_Categorías
-translation_of: Archive/Web_Standards/Using_the_Right_Markup_to_Invoke_Plugins
----
-<p>Este artículo habla de cómo llamar correctamente a un plugin usando HTML. Habla de los elementos object y embed y muestra detalles sobre cómo llamar a aplicaciones Java con HTML en aplicaciones web.</p>
-
-<h3 id="El_elemento_.3Cobject.3E:_Est.C3.A1ndares_W3C_y_los_navegadores" name="El_elemento_.3Cobject.3E:_Est.C3.A1ndares_W3C_y_los_navegadores">El elemento &lt;object&gt;: Estándares W3C y los navegadores</h3>
-
-<p>El elemento object es parte de la especificación HTML 4.01, y es el mecanismo recomendado para llamar a los plugins. Su uso esta condicionado a unas pocas advertencias de las que esta sección habla.</p>
-
-<p>Tradicionalmente, el elemento object ha sido usando de forma diferente por Microsoft Internet Explorer y los navegadores basados en Mozilla como Netscape 7. En IE, el elemento object es usado para llamar a un plugin creado con la arquitectura ActiveX. Aquí vemos un ejemplo de este tipo de uso por parte de IE:</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-&lt;/object&gt;
-</pre>
-
-<p>En el ejemplo de arriba, el atributo <code>classid</code> que va junto al elemento object apunta a un URN "clsid:" seguido de un único identificador de un control ActiveX (en el ejemplo de arriba, la cadena que comienza por "D27..."). Esto es, de hecho, el identificador único del plugin de Macromedia's Flash, y los desarrolladores se supone que conocen esos identificadores únicos para llamar al componente de su elección. El atributo <code>codebase</code> usado arriba apunta a la localización donde está el archivo CAB que contiene el control del ActiveX. En este contexto, el atributo codebase se usa como <strong>mecanismo de obtención</strong> (es decir, una forma de obtener el controlador si no esta presente). Si el control de ActiveX de Flash no está instalado, IE irá entonces a la URL indicada en el atributo codebase y obtendrá el control de ActiveX. Los elementos <code>param</code> adicionales (que son "hijos" del elemento object) especifican los parámetros de configuración para el plugin de Flash. Por ejemplo, <code>param name="movie"</code> indica al plugin de Flash la localización del archivo SWF para empezar a reproducirlo.</p>
-
-<p>Con la salida de Netscape 7.1, este tipo de uso de elementos object de ActiveX está soportado con el uso del Microsoft® Windows Media Player. Sólo el Windows Media Player está soportado como control de ActiveX en Netscape 7.1. Los detalles se indican en <a href="es/Windows_Media_en_Netscape">otro artículo</a>.</p>
-
-<p>Navegadores como Netscape 7 no renderizarán el plugin Flash si se usa el marcado de arriba, porque Netscape 7 no soporta llamadas a componentes ActiveX o basados en ActiveX, con la excepción del Windows Media Player en Netscape 7.1. Los navegadores basados en Mozilla soportan la arquitectura de plugin de Netscape, los cuales no estan basados en COM como el ActiveX (y por ello, no son llamados vía identificador único) sino basados en el tipo MIME. Los navegadores basados en Mozilla suportan el uso del elemento object junto con el tipo MIME. A continuación se muestra un ejemplo de este uso, una vez más para el plugin de Macromedia Flash:</p>
-
-<pre>&lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href= "http://www.macromedia.com/downloads/"&gt;here.&lt;/a&gt;&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>En el ejemplo anterior, <code>application/x-shockwave-flash</code> es el tipo MIME de Flash e invocará la arquitectura Flash específica de Netscape en navegadores basados en Mozilla. Los punteros de atributos que apuntan al fichero SWF a ejecutar, y los parámetros de configuración (los elementos <code>param</code>) son ambos usados de una forma consistente por IE y por los navegadores basados en Mozilla como Netscape 7. De hecho, lo visto anteriormente también funcionará para IE, que interpreta las invocaciones de tipo MIME para ciertos tipos MIME como Flash<em>además</em> de las invocaciones del estilo ActiveX <code>classid</code>.</p>
-
-<p>Debido a que el uso de los tipos MIME para Flash funcionará tanto para IE como para Netscape 7, se puede usar el código anterior el plugin de Flash tanto en IE como en Netscape 7. Sin embargo, hay algunas advertencias que los desarrolladores deben tener en cuenta cuando usen el elemento <code>object</code> en navegadores basados en Mozilla como es Netscape 7 y en IE:</p>
-
-<h4 id="Advertencias" name="Advertencias">Advertencias</h4>
-
-<ul>
- <li>Si se usa un único elemento <code>object</code> para ambos navegadores (como en el ejemplo anterior), <strong>no será posible facilitar un<em>mecanismo de obtención</em> multiplataforma para descargas en flujo</strong>. No se puede usar el atributo <code>codebase</code> para enlazarlo a un fichero CAB firmado para el componente ActiveX ya que no funcionará en los navegadores basados en Mozilla tales como Netscape 7. Y lo que es más importante, el uso que IE hace del atributo <code>codebase</code> como mecanismo de obtención en sí no es estrictamente correcto conforme la especificación HTML 4.01, la cual dice que el atributo <code>codebase</code> debería ser usado para cualificar URNs referenciadas por los atributos <code>data</code>, <code>archivo</code> y <code>classid</code>. Los futuros navegadores de Netscape basados en el código fuente de Mozilla permitirán el uso del elemento especial <code>param</code> para especificar de dónde obtener los plugins que no estén instalados, pero esta característica no está disponible en Netscape 7 sino que está siendo discutida en Mozilla <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>error 167601</a>.</li>
-</ul>
-
-<ul>
- <li><strong>IE no muestra correctamente los elementos <code>object</code> anidados de acuerdo a la especificación HTML 4.01</strong>. Conforme a la especificación, se pueden anidar elementos y los navegadores deberían detenerse cuando encuentren un elemento que puedan visualizar y sino, seguir buscando en los niveles más internos hasta encontrar alguno. IE lo muestra todo, como si estuviera puesto en fila y no anidado. De este modo IE en el siguiente ejemplo, en lugar de pararse en el control ActiveX mostrará la animación dos veces ya que reconoce el tipo MIME para Flash:</li>
-</ul>
-
-<pre>&lt;!-- Usage Will Not Work As Intended --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-
- &lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
- width="366" height="142" id="myFlashNSCP"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href="http://www.macromedia.com/downloads/"&gt;
- here.&lt;/a&gt;&lt;/p&gt;
- &lt;/object&gt;
-
-&lt;/object&gt;
-</pre>
-
-<ul>
- <li><strong>Los diseñadores Web tienen que especificar un<em>mecanismo de obtención</em> en los navegadores basados en Mozilla (el navegador no descargará automáticamente los plugins no instalados si no se especifica de dónde descargarlos a través del atributo <code>codebase</code></strong>. Si no se especifica ningún atributo <code>codebase</code> y el plugin no está instalado, el navegador mostrará sólo el texto alternativo más interno. Sino, se intentará descargar el plugin que falta a través del servicio Netscape Plugin Finder. Este comportamiento es correcto de acuerdo a la especificación HTML 4.01 aunque obliga a los diseñadores web a especificar diligentemente<em>mecanismos de obtención</em>. Como mínimo, los diseñadores Web tendrán que anidar un texto alternativo dentro de sus elementos <code>&lt;object&gt;</code> diciéndole a los usuarios dónde pueden obtener el componente que falta. Añadir una conveniente capa adicional de la forma de recuperación automática es el tema de una <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">error 180411</a> en el código abierto de Mozilla.</li>
-</ul>
-
-<ul>
- <li><strong>Algunos plugins no entienden parte de los elementos <code>param</code> que su documentación sugiere deberían ser configurados en los navegadores basados en Mozilla.</strong> Un ejemplo son las versiones del reproductor de Macromedia Flash hasta Flash Player 6 r.47, el cual no comprende el elemento parámetro <code>&lt;param name="movie" value="animation.swf"&gt;</code>, que se supone dice al reproductor Flash qué animación debería empezar a reproducir. Para que funcione, se anima a los desarrolladores a que usen el atributo <code>data</code> del elemento <code>object</code>: <code>&lt;object type="application/x-shockwave-flash" data="animation.swf"..../&gt;</code>. El hecho de que el reproductor Flash no comprenda este <code>param</code> es un fallo de Macromedia Flash Player del que se habla en la <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>error 180378</a>.</li>
-</ul>
-
-<h4 id="Recomendaciones" name="Recomendaciones">Recomendaciones</h4>
-
-<p>Para superar el inconveniente de no poder anidar elementos <code>object</code> en IE y de no existir el modo de usar simplemente un elemento <code>object</code> de modo multiplataforma (con mecanismos de obtención específicos de la arquitectura), la mejor solución es escribir elementos <code>object</code> dinámicamente basándose en la arquitectura. Por ejemplo, en los navegadores que soportan ActiveX como IE, creando un elemento con un atributo <code>classid</code> y en navegadores que soportan la arquitectura de plugins de Netscape, usando un tipo MIME. A continuación se muestra un ejemplo en JavaScript que ilustra esto:</p>
-
-<pre>if (window.ActiveXObject)
-{
-
-// browser supports ActiveX
-// Create object element with
-// download URL for IE OCX
-
-document.write('&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
-document.write(' codebase="http://download.macromedia.com');
-document.write('/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"');
-document.write(' width="366" height="142" id="myFlash"&gt;');
-document.write(' &lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write(' &lt;param name="quality" value="high" /&gt;');
-document.write(' &lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-
-else
-{
-
-// browser supports Netscape Plugin API
-
-document.write('&lt;object id="myFlash" data="javascript-to-flash.swf"');
-document.write(' type="application/x-shockwave-flash"');
-document.write(' width="366" height="142"&gt;');
-document.write('&lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write('&lt;param name="quality" value="high" /&gt;');
-document.write('&lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;p&gt;You need Flash for this.');
-document.write(' Get the latest version from');
-document.write(' &lt;a href="http://www.macromedia.com/downloads"&gt;here&lt;\/a&gt;.');
-document.write('&lt;\/p&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-</pre>
-
-<p>Véase también: <a class="external" href="http://www.alistapart.com/articles/flashsatay/">Flash Satay</a></p>
-
-<h4 id="El_elemento_object_y_Java" name="El_elemento_object_y_Java">El elemento object y Java</h4>
-
-<p>Los navegadores basados en Mozilla como Netscape 6.x, Netscape 7 y CompuServe 7 vienen con el <a class="external" href="http://java.sun.com/j2se/downloads.html">plugin para Java que Sun proporciona</a>. Los usuarios que instalen Netscape 6.x o Netscape 7 tienen la opción de instalar o no Java. A diferencia de Netscape Communicator 4.x, Netscape 6.x y 7 que no tienen por defecto una máquina virtual Java -- ellos dependen del plugin de Sun. Durante la época de Netscape Communicator 4.x, Netscape Communications solía desarrollar una máquina virtual Java que soportaba Java 1.5.0 y anterior. Ahora, con Netscape 6 y 7, la máquina virtual Java es un plugin de Sun. Netscape ya no desarrolla o incluye una máquina virtual Java por defecto con el nevegador.</p>
-
-<p>El plugin para Java de Sun puede ser invocado por el elemento <code>object</code>, como cualquier otro plugin. Una vez más, Internet Explorer típicamente invoca el plugin de forma que el elemento <code>object</code> es usado conjuntamente con el atributo <code>classid</code> que apunta a un identificador único ActiveX. Cada versión superior del plugin tiene un identificador único. Este es un ejemplo del tipo de etiqueta que JRE 1.4.1 invocará en IE, usando el identificador único para JRE 1.4.1:</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
- width="460" height="160"
-codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4_1-windows-i586.cab#version=1,4,1"&gt;
- &lt;param...&gt;
- &lt;param...&gt;
-&lt;/object&gt;
-</pre>
-
-<p>La invocación anterior no funcionará en navegadores basados en Mozilla como Netscape 7 a causa de la razón vista anteriormente: <code>classid</code> usado conjuntamente con el identificador único hace referencia a una arquitectura (ActiveX) que el código de Mozilla (y, por lo tanto, Netscape 7) no soporta. Puedes invocar el plugin de Java para Netscape 7 y otros navegadores basados en Mozilla usando el tipo MIME para Java apropiado. Aquí se muestra un ejemplo:</p>
-
-<pre>&lt;object type="application/x-java-applet;jpi-version=1.4.1_01"
-width="460" height="160"&gt;
- &lt;param name="code" value="Animator.class" /&gt;
- &lt;param name="imagesource" value="images/Beans" /&gt;
- &lt;param name="backgroundcolor" value="0xc0c0c0" /&gt;
- &lt;param name="endimage" value="10" /&gt;
- &lt;param name="soundsource" value="audio"&gt;
- &lt;param name="soundtrack" value="spacemusic.au" /&gt;
- &lt;param name="sounds" value="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au" /&gt;
- &lt;param name="pause" value="200" /&gt;
- &lt;p&gt;You need the Java Plugin.
- Get it from &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;here.&lt;/a&gt;&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>El código anterior menciona una versión específica de un tipo MIME, y si el navegador basado en Mozilla como Netscape 7 no tiene instalado JRE 1.4.1_01, el texto alterno es mostrado. No es necesario siempre dar una versión específica de un tipo MIME. Si no te estás aprovechando de las características específicas de alguna versión concreta, un tipo MIME más genérico como <code>application/x-java-vm</code> funcionará igual de bien. Los parámetros de configuración para el applet, incluyendo la clase que contiene el punto de entrada inicial (Animator.class, referenciado por el elemento <code>param</code>), son específicos en muchos elementos <code>param</code>.</p>
-
-<p>Los navegadores basados en Mozilla como Netscape 7 también permiten el uso de un atributo especial <code>classid</code>. Este es el especial <code>classid</code> "java:". Aquí vemos un ejemplo usando este método de invocación:</p>
-
-<pre>&lt;object classid="java:NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java 2 SDK, Standard Edition v1.4" /&gt;
- &lt;p&gt;You need the Java Plugin.
- Get it from
- &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;here.
- &lt;/a&gt;
- &lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>el <code>classid</code> "java:" te permite referenciar la clase que proporciona el punto de entrada inicial. El resto de los parámetros de configuración funcionan gracias a los elementos <code>param</code>.</p>
-
-<h4 id="Applet.2C_la_elecci.C3.B3n_t.C3.ADpica" name="Applet.2C_la_elecci.C3.B3n_t.C3.ADpica">Applet, la elección típica</h4>
-
-<p>El elemento <code>applet</code> continúa siendo el más soportado, y sigue siendo la forma más popular de invocar applets en Java. En Netscape 7 y CompuServe 7, el elemento <code>applet</code> invoca directamente el plugin de Java. Aquí vemos un ejemplo:</p>
-
-<pre>&lt;applet code="NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java(TM) 2 SDK, Standard Edition v1.4" /&gt;
-&lt;/applet&gt;
-</pre>
-
-<p>El elemento <code>applet</code> ha sido despreciado en la especificación HTML 4.01, pero una ventaja de usarlo es que en navegadores basados en Mozilla como Netscape 7, si has perdido Java, un mecanismo automático de obtención lo reemplaza. El navegador usará el Netscape's Plugin Finder Service para descargar el plugin de Java. La sección <a href="#References">References</a> reúne recursos de como usar el elemento applet.</p>
-
-<h4 id="El_elemento_embed" name="El_elemento_embed">El elemento embed</h4>
-
-<p>El elemento <code>embed</code> ha sido usado para invocar plugins desde los primeros tiempos de los navegadores Netscape. Típicamente, el elemento <code>embed</code> es anidado con un elemento <code>object</code>, tal que el otro elemento <code>object</code> invoca un control ActiveX para IE, mientras que el elemento interno <code>embed</code> invoca un plugin de Netscape. Aquí vemos un ejemplo de este uso:</p>
-
-<pre>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width=366 height=142 id="myFlash"&gt;
- &lt;param name="movie" value="javascript_to_flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;embed src="javascript_to_flash.swf" quality="high" width="366" height="142"
- type="application/x-shockwave-flash"
- pluginspage="http://www.macromedia.com/downloads/"
- name="myFlash" swliveconnect="true"&gt;
- &lt;/embed&gt;
-&lt;/object&gt;
-</pre>
-
-<p>Enlaces a las normas que marcan el uso del elemento <code>embed</code> pueden ser vistas en la sección <a href="#References">References</a>. El elemento <code>embed</code> es habitualmente el elemento más ampliamente usado para invocar plugins en navegadores Netscape. Es importante indicar, sin embargo, que el elemento <code>embed</code> no es parte de la especificación HTML 4.01, por lo que no es un estándar W3C. Algunas advertencias que marcan el uso del elemento <code>embed</code> son:</p>
-
-<ul>
- <li>No incluyas un atributo <code>name</code> con el elemento <code>object</code>, especialmente si tiene el mismo nombre que el elemento <code>embed</code>. Sin embargo hacerlo también viola el estándar HTML 4.01, algunos generadores de código dan atributos <code>name</code> al elemento <code>object</code>. Navegadores basados en Mozilla no te permitirán el acceso al elemento llamado <code>embed</code> a través de métodos JavaScript DOM 0 si el elemento <code>object</code> tiene el mismo <code>name</code>. Utiliza el atributo <code>id</code> con el elemento <code>object</code>. El atributo <code>id</code> del elemento <code>object</code> puede tener el mismo valor que el atributo <code>name</code> del elemento <code>embed</code>.</li>
- <li>Verás que el elemento <code>embed</code> permite parámetros de configuración pasados a través de atributos a medida, como <code>swliveconnect="true"</code>. Éstos son análogos a los elementos <code>param</code> usados por el elemento <code>object</code>. Plugins de otras compañías requerirán que diferentes parámetros de configuración sean pasados a través del elemento <code>embed</code>, y aprender éstos es aconsejable.</li>
-</ul>
-
-<p>Nótese que el <strong>mecanismo de obtención</strong> para el elemento <code>embed</code> -- esto es, la forma en como un plugin se obtiene si se ha perdido -- viene a través del atributo <code>pluginspage</code>. Este atributo apunta a una página para coger el plugin si éste no se detecta por el navegador. El atributo <code>pluginurl</code> es otro atributo que puede ser usado, y puede ser usado para apuntar directamente a un archivo <a href="es/XPInstall">XPInstall</a> para una descarga más racionalizada. Para el elemento <code>embed</code> en concreto, estos atributos en Netscape 7 y Mozilla son mandados por la opción Plugin Finder Service. Debajo de Editar | Preferencias | Navegador | Aplicaciones de ayuda es una opción para usar el Plugin Finder Service de Netscape. Si el usuario ha seleccionado<em>Siempre usar Netscape Plugin Finder Service para obtener Plugins</em> entonces si estos atributos son o no especificados no produce ninguna diferencia -- el navegador<em>siempre</em> consultará con el Plugin Finder Service para determinar si tiene un plugin para manejar el tipo MIME perdido. Si esta opción no está marcada, el Plugin Finder Service será usado sólo si el autor de la página web<em>NO</em> especifica cualquiera de estos atributos.</p>
-
-<h3 id="Informaci.C3.B3n_del_documento_original" name="Informaci.C3.B3n_del_documento_original">Información del documento original</h3>
-
-<ul>
- <li>Autor(es): Arun K. Ranganathan, Netscape Communications</li>
- <li>Última actualización: 14. Nov 2002</li>
- <li>Información de Copyright: Copyright © 2001-2003 Netscape. Todos los derechos reservados.</li>
- <li>Link: <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2002/markup-and-plugins/index_en.html" rel="freelink">http://devedge-temp.mozilla.org/view.../index_en.html</a></li>
-</ul>
-
-<h4 id="Referencias" name="Referencias">Referencias</h4>
-
-<h5 id="General_--_Especificaciones" name="General_--_Especificaciones">General -- Especificaciones</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40">Especificación HTML 4.01</a></li>
- <li><a class="external" href="http://www.w3.org/TR/xhtml1/">Especificación XHTML 1.0</a></li>
-</ul>
-
-<h5 id="El_elemento_.3Cobject.3E" name="El_elemento_.3Cobject.3E">El elemento <code>&lt;object&gt;</code></h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT">Especificación en el elemento Object HTML 4.01</a></li>
-</ul>
-
-<h5 id="El_elemento_.3Cembed.3E" name="El_elemento_.3Cembed.3E">El elemento <code>&lt;embed&gt;</code></h5>
-
-<ul>
- <li><a href="es/Gecko_Plugin_API_Reference/Plug-in_Basics">Plugin API Reference on EMBED element</a> <a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/intro.html#1002612">on devedge-temp</a></li>
-</ul>
-
-<h5 id="Java" name="Java">Java</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-APPLET">HTML 4.01 Applet Definition (Deprecated)</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/index.html">Java Plugin Homepage</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/versions.html">Sun Documentation on OBJECT, EMBED, and APPLET and Different Plugin Versions</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/applets.html">Sun Demonstration of Web Pages using Applet Element</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/plugin/applets.html">Sun Demonstration of Web Pages Using OBJECT/EMBED Elements</a></li>
-</ul>
-
-<h5 id="Bugs_y_futuras_direcciones_en_Netscape_y_Mozilla" name="Bugs_y_futuras_direcciones_en_Netscape_y_Mozilla">Bugs y futuras direcciones en Netscape y Mozilla</h5>
-
-<ul>
- <li><a href="es/Windows_Media_in_Netscape">Windows Media in Netscape</a> Netscape 7.1 and the Windows Media ActiveX control</li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>error 180378</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>error 167601</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">error 180411</a></li>
-</ul>
-
-<p><span class="comment">Categorías</span></p>
-
-<p><span class="comment">Interwiki, vínculos a otros idiomas</span></p>
diff --git a/files/es/archive/estándares_web/ventajas_para_los_negocios_del_uso_de_estándares_web/index.html b/files/es/archive/estándares_web/ventajas_para_los_negocios_del_uso_de_estándares_web/index.html
deleted file mode 100644
index acc168d514..0000000000
--- a/files/es/archive/estándares_web/ventajas_para_los_negocios_del_uso_de_estándares_web/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Ventajas para los negocios del uso de estándares web
-slug: Archive/Estándares_Web/Ventajas_para_los_negocios_del_uso_de_estándares_web
-tags:
- - Desarrollo_Web
- - Estándares_Web
- - Todas_las_Categorías
-translation_of: Archive/Web_Standards/The_Business_Benefits_of_Web_Standards
----
-<h2 id="Introducci.C3.B3n" name="Introducci.C3.B3n">Introducción</h2>
-<p>Más con menos, esta parece ser la misión imposible de los diseñadores web: Dirigirse a más clientes, a una audiencia creciente, con mayor diversidad de navegadores, mejorando la accesibilidad, con usuarios que piden más velocidad, y todo esto reduciendo los costes de mantenimiento o rediseño del sitio. Atrapados entre la espada y la pared, los webmasters afrontan un desafío formidable. Pero cuentan con un aliado insospechado en la batalla, los estándares web.</p>
-<p>Este artículo explica cómo, ser fiel a los estándares web, y dejar de lado el código y las tecnologías propietarias, puede contribuir a los objetivos comerciales de una compañía.</p>
-<h2 id="Dar_al_sitio_un_dise.C3.B1o_uniforme" name="Dar_al_sitio_un_dise.C3.B1o_uniforme">Dar al sitio un diseño uniforme</h2>
-<p>Separando el contenido de la presentación los diseñadores web tienen mucho ganado. El estilo es definido con CSS, un lenguaje orientado a la presentación. Guardar el código CSS en un documento separado (hoja de estilo) y aplicarlo a un grupo de documentos HTML permite cambiar por completo el diseño para todos esos documentos fácilmente. El HTML estricto (a diferencia del marcado transicional), no permite el uso de etiquetas de estilo en los documentos HTML, forzando con naturalidad la separación de contenido y presentación.</p>
-<h2 id="Mejorar_la_experiencia_de_Usuario:" name="Mejorar_la_experiencia_de_Usuario:">Mejorar la experiencia de Usuario:</h2>
-<h3 id="Cargar_m.C3.A1s_r.C3.A1pido.2C_consumiendo_menos_ancho_de_banda" name="Cargar_m.C3.A1s_r.C3.A1pido.2C_consumiendo_menos_ancho_de_banda">Cargar más rápido, consumiendo menos ancho de banda</h3>
-<p>El código HTML suele ser mucho más compacto cuando es usado conjuntamente con CSS, y por lo tanto es más fácil de leer y mantener. Según varios estudios sobre el caso, y <a class="external" href="http://webword.com/interviews/king.html">Andy King</a>, el autor de <a class="external" href="http://www.websiteoptimization.com/speed/5/">Speed Up Your Web Site: Web Site Optimization</a>, CSS posibilita la transformación de maquetaciones a base de tablas en diseños basados en CSS. Hacerlo, suele reducir el tamaño de las páginas entre un 25 y un 50 %. Esto se traduce en una mejor experiencia de usuario, <a class="external" href="http://www.useit.com/papers/responsetime.html">según el Gurú de la usabilidad Jakob Nielsen</a>, que apunta que los usuarios tienden a cerrar una página Web cuando tarda más de 10 segundos en cargar.</p>
-<h2 id="Aumentar_el_tr.C3.A1fico_del_sitio" name="Aumentar_el_tr.C3.A1fico_del_sitio">Aumentar el tráfico del sitio</h2>
-<h3 id="Mejorar_el_posicionamiento_en_los_buscadores" name="Mejorar_el_posicionamiento_en_los_buscadores">Mejorar el posicionamiento en los buscadores</h3>
-<p>Conseguir un buen posicionamiento es uno de los mayores desafíos que un webmasters debe afrontar. En este asunto toda ayuda es buena.</p>
-<p>Los robots de los buscadores rastrean la web para indexarla. Comparados con una persona, los robots ven la web de un modo muy distinto. Los efectos dinámicos creados con JavaScript son ignorados (de flash ni hablamos), y el texto dentro de los gráficos tampoco será leído. La separación de contenidos y presentación aumenta el ratio información/código, haciendo los documentos basados en CSS más apropiados para su consulta por parte de usuarios no humanos, lo cual mejora su posición en los resultados de los buscadores.</p>
-<p>Crear los títulos con texto y CSS en vez de gráficos también ayuda.</p>
-<h3 id="Adaptaci.C3.B3n_a_m.C3.BAltiples_plataformas" name="Adaptaci.C3.B3n_a_m.C3.BAltiples_plataformas">Adaptación a múltiples plataformas</h3>
-<p>Estándares y multiplataforma van de la mano. Mientras algunos navegadores caprichosos tienen comportamientos diferentes según la plataforma, los navegadores basados en Mozilla están diseñados para comportarse igual en todas las plataformas soportadas (Mac, Linux, Unix, Windows ...)</p>
-<h2 id="Pensando_en_el_ma.C3.B1ana" name="Pensando_en_el_ma.C3.B1ana">Pensando en el mañana</h2>
-<p>Una parte muy significativa de la información almacenada electrónicamente es producida para la web y escrita en formato HTML. La mayor parte de esta información usa HTML no válido, que puede ser mostrado correctamente en navegadores viejos más permisivos. Pero la web evoluciona; los navegadores web pueden ser menos permisivos, o comportarse de modo diferente cuando detectan código no válido (p.ej parsea los datos inválidos y los renderiza de otro modo). La utilización de código válido, conforme a los estándares asegura que los datos serán reutilizables durante mucho tiempo, porque las especificaciones de cómo analizar los formatos estándar están bien documentadas y son estables.</p>
-<p>En contra de la creencia popular, escribir código estándar no significa producir contenidos menos atractivos. De hecho, siguiendo los estándares puede hacerse casi todo lo que se hace con las extensiones propietarias, con la ventaja añadida de ser multiplataforma y una apuesta de futuro.</p>
-<h2 id="Extensibilidad" name="Extensibilidad">Extensibilidad</h2>
-<p>Usar HTML estricto y separar la estructura del contenido prepara el terreno para XHTML, que es una versión de HTML compatible con XML. La Utilización de XHTML permitirá a los desarrolladores web usar herramientas del mundo XML, tales como XSLT, que permite manipular datos XML fácilmente.</p>
-<p>El uso de XHTML es una introducción a la familia de estándares que conforman las tecnologías XML, como XML, XSLT (transformando documentos), SVG (gráficos animados), MathML (expresiones matemáticas)... Estas tecnologías han sido diseñadas para ser interoperables, y son la base de los Servicios Web. Este va mucho más allá del simple diseño web.</p>
-<h2 id="Reducir_los_costes_de_mantenimiento" name="Reducir_los_costes_de_mantenimiento">Reducir los costes de mantenimiento</h2>
-<p>El mantenimiento de un sitio Web es a menudo costoso y usar estándares web puede ayudar mucho en este aspecto.</p>
-<h3 id="Ventajas_de_CSS_sobre_JavaScript" name="Ventajas_de_CSS_sobre_JavaScript">Ventajas de CSS sobre JavaScript</h3>
-<p>Es frecuente usar gráficos o javaScript para añadir algún efecto especial al texto. Las hojas de estilo dan a los diseñadores un control total sobre la tipografía y permite efectos como los rollovers. Esto reduce la necesidad de crear gráficos y programar scripts, y lo que es más importante, reduce el ancho de banda que consumen las imágenes.</p>
-<h3 id="C.C3.B3digo_HTML_bien_formado" name="C.C3.B3digo_HTML_bien_formado">Código HTML bien formado</h3>
-<p>Uno de los principales dolores de cabeza de los desarrolladores es la diferencia en como los distintos navegadores muestran las páginas web. Tales diferencias de renderizado son propias de navegadores antiguos, la mayoría son conocidas y están documentadas. En muchos casos, las divergencias son causadas por un código ambiguo.</p>
-<p>El código gramaticalmente correcto reduce considerablemente las diferencias de renderizado entre los navegadores. La utilización de instrumentos de validación como el <a class="external" href="http://validator.w3.org/">validador del W3C</a> ayudan a detectar los errores y a comprobar que el código HTML es gramaticalmente correcto, esto elimina la ambigüedad en el parseo que hacen los navegadores.</p>
-<h2 id="Compatibilidad_con_m.C3.BAltiples_navegadores" name="Compatibilidad_con_m.C3.BAltiples_navegadores">Compatibilidad con múltiples navegadores</h2>
-<p>Cada vez son más los navegadores, además del IE, usados para surfear por la web:</p>
-<ul> <li>Windows: MSIE, navegadores basados en Gecko, Ópera...</li> <li>Mac: MS-Tasman(motor de renderizado IE/Mac's), navegadores basados en Gecko, Safari, Ópera...</li> <li>GNU/Linux: navegadores basados en Gecko, navegadores basados en KHTML, Ópera...</li>
-</ul>
-<p>A grosso modo, para surfear en la web se usan 5 motores de renderizado diferentes, en docenas de navegadores, para las 3 plataformas principales.</p>
-<p>Según todas las fuentes, los navegadores basados en Gecko son cada día más populares. Firefox ha sido descargado más de 200 millones de veces.</p>
-<p>En un entorno cada vez más heterogéneo, probar las páginas Web en todas las configuraciones es imposible. el código estándar se convierte en la única solución viable. <span class="comment">== The Netscape 4 and IE4 exceptions == The only drawback in using CSS is that older browsers (specifically IE4 and NS4) will not be able to render as intended. In some cases, where a significant portion of the audience is running Netscape 4.x, use of simple tables for layout and CSS for font control may be a solution. Another option is to serve HTML content to Netscape 4.x users, without CSS style. The content will be usable but not as attractively presented as in a modern browser. Furthermore, 4.x browsers are known to have security issues, so their users should be encouraged to upgrade.</span></p>
-<h2 id="Accesibilidad" name="Accesibilidad">Accesibilidad</h2>
-<p>Ser accesible es un requisito para las agencias gubernamentales de muchos países: EE.UU, España o Brasil y en algunos países como Australia, para cualquier organización el código estándar (en concreto,HTML estricto y CSS para la maquetación) hace de la accesibilidad un objetivo más fácil, porque los estándares han sido creados pensando en la accesibilidad.</p>
-<p>Cuidando la accesibilidad seremos capaces de servir contenidos web a una mayor audiencia, y aumentamos la usabilidad del sitio, incluso para la gente sin minusvalía.</p>
-<h2 id="Reducir_la_dependencia_del_desarrollador" name="Reducir_la_dependencia_del_desarrollador">Reducir la dependencia del desarrollador</h2>
-<p>Cuando los webmasters asumen la dirección de un sitio creado por otros, el código escrito por los anteriores desarrolladores puede ser todo un reto. En muchos casos, tienen que enfrentarse con un código HTML de mala calidad, que además contiene características indocumentadas, hacks, o prácticas de marcado peculiares. La carencia de documentación es a menudo un problema.</p>
-<p>El siguiente documento: <a class="external" href="http://www.w3.org/QA/2002/07/WebAgency-Requirements">standards-compliance in requirements</a>, aporta un modo muy eficaz de medir la calidad del producto final, el W3C que es un juez imparcial.</p>
-<p>Como los estándares están muy bien documentados, cualquier persona que asuma código estándar puede trabajar con él de inmediato; sin tener que familiarizarse con las prácticas de codificación del desarrollador anterior. Esto además, reduce considerablemente la dependencia de un desarrollador concreto.</p>
-<h2 id="Ventajas_para_los_visitantes_del_sitio" name="Ventajas_para_los_visitantes_del_sitio">Ventajas para los visitantes del sitio</h2>
-<p>Gracias a la accesibilidad, a la rapidez en la carga de las páginas y a la mayor compatibilidad con múltiples navegadores (sin limitarse a uno o dos navegadores usados en las pruebas), es más probable que sus visitantes aprecien sus servicios y vuelvan mañana.</p>
-<h2 id="Conclusi.C3.B3n" name="Conclusi.C3.B3n">Conclusión</h2>
-<p>Utilizar los estándares web y separar el diseño de los contenidos aporta un montón de ventajas, hoy y mañana.</p>
-<p>Hoy esto significa ampliar la audiencia, reducir los coste de producción de nuevos contenidos, y mejorar la accesibilidad.</p>
-<p>Mañana esto significará reducir la dependencia de proveedores, reducir costes en mantenimiento, y un diseño más flexible para el sitio. Por último pero no menos importante, el uso de estándares abre las puertas a las tecnologías XML.</p>
-<p>Todos estos factores también contribuyen a facilitar la administración del sitio, aumentar el número de visitas y amortizar la inversión. Técnicos, vendedores, y contables, todos pueden beneficiarse de un sitio Web basado en estándares. Es más de lo que uno podría esperar.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">interwikis</span></p>
-
-<p></p>
diff --git a/files/es/archive/index.html b/files/es/archive/index.html
deleted file mode 100644
index 4f4a70c023..0000000000
--- a/files/es/archive/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Archive of obsolete content
-slug: Archive
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive
----
-<p>Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.</p>
-
-<p>There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should <strong>not</strong> be used for building new Web sites or apps for modern browsers. It's here for historical reference only.</p>
-
-<div class="note">
-<p><strong>Note to writers:</strong> We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are <strong>extremely</strong> obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs chat room</a> before moving content here.</p>
-</div>
-
-<p>{{SubpagesWithSummaries}}</p>
-
-<h2 id="Subnav">Subnav</h2>
-
-<p>{{ListSubpages("/en-US/docs/Archive", 2, 0, 1)}}</p>
diff --git a/files/es/archive/jxon/index.html b/files/es/archive/jxon/index.html
deleted file mode 100644
index 9fb34dede3..0000000000
--- a/files/es/archive/jxon/index.html
+++ /dev/null
@@ -1,1509 +0,0 @@
----
-title: JXON
-slug: Archive/JXON
-tags:
- - Documentos
-translation_of: Archive/JXON
----
-<p><strong>JXON</strong> (lossless <strong>J</strong>avaScript <strong>X</strong>ML <strong>O</strong>bject <strong>N</strong>otation) is a generic name by which is defined the representation of JavaScript Objects using <a href="/en/XML" title="en/XML">XML</a>. There are no real standards for this conversion, but <a href="#The_Parker_Convention" title="The Parker Convention">some conventions begin to appear on the web</a>. There are some cases in which the whole content of an XML document must be read from the JavaScript interpreter (like for web-apps languages or settings XML documents, for example). In these cases JXON could represent the most practical way.</p>
-
-<p>In this article we will show how to convert a parsed XML <a href="/en-US/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code>document</code></a> (i.e. an instance of <a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#i-Document"><code>Document</code></a>) to a JavaScript Object tree (i.e. a tree of nested instances of <a href="/en/JavaScript/Reference/Global_Objects/Object" title="en/JavaScript/Reference/Global_Objects/Object"><code>Object</code></a>) and viceversa, with some different algorithms. It could be useful to read the <a href="/en/XML_Introduction" title="en/XML_Introduction">XML introduction article</a> first.</p>
-
-<p>If you want <strong>a complete bidirectional JXON library</strong> (modelled on the <a href="/en/JavaScript/Reference/Global_Objects/JSON" title="en/JavaScript/Reference/Global_Objects/JSON"><code>JSON</code></a> global object), skip to the <a href="#Appendix.3A_a_complete.2C_bidirectional.2C_JXON_library" title="A complete JXON library">dedicated paragraph</a> (but please read the <a href="#const_compatibility" title="#const_compatibility">note about the <code>const</code> statement compatibility</a>).</p>
-
-<div class="note"><strong>Note:</strong> If you are interested to address only some parts of an XML document (and are not starting in JavaScript/JSON for templating purposes), use <a href="/en/XPath" title="en/XPath">XPath</a> instead of converting the whole document into JSON.</div>
-
-<h2 id="Conversion_snippets">Conversion snippets</h2>
-
-<p>Now imagine you have this sample XML document:</p>
-
-<h5 id="example.xml">example.xml</h5>
-
-<pre class="brush: xml notranslate">&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE catalog SYSTEM "catalog.dtd"&gt;
-&lt;catalog&gt;
-  &lt;product description="Cardigan Sweater"&gt;
-   &lt;catalog_item gender="Men's"&gt;
-     &lt;item_number&gt;QWZ5671&lt;/item_number&gt;
-     &lt;price&gt;39.95&lt;/price&gt;
-     &lt;size description="Medium"&gt;
-       &lt;color_swatch image="red_cardigan.jpg"&gt;Red&lt;/color_swatch&gt;
-       &lt;color_swatch image="burgundy_cardigan.jpg"&gt;Burgundy&lt;/color_swatch&gt;
-     &lt;/size&gt;
-     &lt;size description="Large"&gt;
-       &lt;color_swatch image="red_cardigan.jpg"&gt;Red&lt;/color_swatch&gt;
-       &lt;color_swatch image="burgundy_cardigan.jpg"&gt;Burgundy&lt;/color_swatch&gt;
-     &lt;/size&gt;
-   &lt;/catalog_item&gt;
-   &lt;catalog_item gender="Women's"&gt;
-     &lt;item_number&gt;RRX9856&lt;/item_number&gt;
-     &lt;discount_until&gt;Dec 25, 1995&lt;/discount_until&gt;
-     &lt;price&gt;42.50&lt;/price&gt;
-     &lt;size description="Medium"&gt;
-       &lt;color_swatch image="black_cardigan.jpg"&gt;Black&lt;/color_swatch&gt;
-     &lt;/size&gt;
-   &lt;/catalog_item&gt;
-  &lt;/product&gt;
-  &lt;script type="text/javascript"&gt;&lt;![CDATA[function matchwo(a,b) {
-    if (a &lt; b &amp;&amp; a &lt; 0) { return 1; }
-    else { return 0; }
-}]]&gt;&lt;/script&gt;
-&lt;/catalog&gt;
-</pre>
-
-<p>First, create a DOM tree like the previous example as described in the <a href="/en/How_to_create_a_DOM_tree" title="en/How_to_create_a_DOM_tree">How to Create a DOM tree</a> article. If you have already have a DOM tree from using <a href="/en-US/docs/Web/API/XMLHttpRequest" title="XMLHttpRequest objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing."><code>XMLHttpRequest</code></a>, skip to the next paragraph.</p>
-
-<div class="note"><strong>Note:</strong> If you are using an instance of <a href="/en-US/docs/DOM/XMLHttpRequest" title="/en-US/docs/DOM/XMLHttpRequest"><code>XMLHttpRequest</code></a> in order to retrieve your XML file, please use the <code>yourRequest.responseXML</code> property to get a <em>parsed</em> XML document. Don't use <code>yourRequest.responseText</code>!</div>
-
-<p>The algorithms proposed here (see: <a href="#Algorithm_.231.3A_a_verbose_way" title="Go to JXON algorithm #1">#1</a>, <a href="#Algorithm_.232.3A_a_less_verbose_way" title="Go to JXON algorithm #2">#2</a>, <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">#3</a>, <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">#4</a>) will consider only the following types of nodes and their attributes:</p>
-
-<ol>
- <li><a href="/en-US/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code>Document</code></a> (only as function argument),</li>
- <li><a href="/en-US/docs/Web/API/DocumentFragment" title="The DocumentFragment interface represents a minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made."><code>DocumentFragment</code></a> (only as function argument),</li>
- <li><a href="/en-US/docs/Web/API/Element" title="Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of element. More specific classes inherit from Element."><code>Element</code></a>,</li>
- <li><a href="/en-US/docs/Web/API/Text" title="The Text interface represents the textual content of Element or Attr.  If an element has no markup within its content, it has a single child implementing Text that contains the element's text.  However, if the element contains markup, it is parsed into information items and Text nodes that form its children."><code>Text</code></a> (never as function argument),</li>
- <li><a href="/en-US/docs/Web/API/CDATASection" title="The CDATASection interface represents a CDATA section that can be used within XML to include extended portions of unescaped text, such that the symbols &lt; and &amp; do not need escaping as they normally do within XML when used as text."><code>CDATASection</code></a> (never as function argument),</li>
- <li><a href="/en-US/docs/Web/API/Attr" title="This type represents a DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types."><code>Attr</code></a> (never as function argument).</li>
-</ol>
-
-<p>This is a good and <strong>standardized</strong> compromise for a JavaScript usage, since all of the information of an XML Document is contained in these node types. All other information (like processing instructions, schemas, comments, etc.) will be lost. This type of algorithm is still considered <strong>lossless</strong>, since what is lost is <strong>meta-information</strong> and not <strong>information</strong>.</p>
-
-<p>In order to avoid conflicts, the representation of nodes and attributes names is <strong>case insensitive</strong> (always rendered in <strong>lower case</strong>), so objects' local property names set using JavaScript must always have some kind of capitalization (that is, at least one capital letter somewhere in their names), as you can see below.</p>
-
-<p>The following algorithms are somewhat based on the <a href="#The_Parker_Convention" title="The Parker Convention">Parker convention, version 0.4</a>, which prescribes the <strong>transformation of <a href="/en/DOM/Node.nodeName" title="en/DOM/Node.nodeName">tags names</a> into <a href="/en/JavaScript/Guide/Working_with_Objects#Objects_and_properties" title="en/Core_JavaScript_1.5_Guide/Working_with_Objects#Objects_and_properties">object properties names</a></strong> and the <strong>recognition of the <a href="/en/JavaScript/Reference/Operators/typeof" title="en/JavaScript/Reference/Operators/typeof"><code>typeof</code></a></strong> of all the collected <a href="/en/DOM/Node.nodeValue" title="en/DOM/Node.nodeValue"><code>text content</code></a> of each tag (plain text parsing); but <a href="#Code_considerations" title="Code considerations">with some differences</a> (so, one can say that we follow <em>a our convention</em>). Moreover, <strong>all algorithms are equally lossless for the contemplated nodes</strong>.</p>
-
-<p>We consider <strong><a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">the third algorithm</a> as the most representative and practical JXON parsing algorithm</strong>.</p>
-
-<p>Now let's serialize <code>doc</code> — the DOM tree — to a JavaScript Object Tree (you can read more about <a href="/en/JavaScript/Guide/Working_with_Objects" title="Working with Objects">working with Objects</a> and <a href="/en/JavaScript/Introduction_to_Object-Oriented_JavaScript" title="Introduction to Object-Oriented JavaScript – MDC">how Javascript is Object-Oriented</a>). We can use several algorithms to convert its content to a Javascript Object Tree.</p>
-
-<h3 id="Algorithm_1_a_verbose_way">Algorithm #1: a verbose way</h3>
-
-<p>This simple recursive constructor will convert an XML DOM tree to a JavaScript Object tree. The text content of each element is stored into the <code>keyValue</code> property, while <code>nodeAttributes</code>, if they exist, are listed under the child object <code>keyAttributes</code>. The constructor's argument can be the entire XML <code>Document</code>, a <code>DocumentFragment</code> or simply an <code>Element</code> node.</p>
-
-<pre class="brush: js notranslate">/*\
-|*|
-|*|  JXON Snippet #1 - Mozilla Developer Network
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-function parseText (sValue) {
-  if (/^\s*$/.test(sValue)) { return null; }
-  if (/^(?:true|false)$/i.test(sValue)) { return sValue.toLowerCase() === "true"; }
-  if (isFinite(sValue)) { return parseFloat(sValue); }
-  if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-  return sValue;
-}
-
-function JXONTree (oXMLParent) {
-  var nAttrLen = 0, nLength = 0, sCollectedTxt = "";
-  if (oXMLParent.hasChildNodes()) {
-   for (var oNode, sProp, vContent, nItem = 0; nItem &lt; oXMLParent.childNodes.length; nItem++) {
-      oNode = oXMLParent.childNodes.item(nItem);
-      if ((oNode.nodeType - 1 | 1) === 3) { sCollectedTxt += oNode.nodeType === 3 ? oNode.nodeValue.trim() : oNode.nodeValue; } // nodeType is "Text" (3) or "CDATASection" (4)
-      else if (oNode.nodeType === 1 &amp;&amp; !oNode.prefix) { // nodeType is "Element" (1)
-        sProp = oNode.nodeName.toLowerCase();
-        vContent = new JXONTree(oNode);
-        if (this.hasOwnProperty(sProp)) {
-          if (this[sProp].constructor !== Array) { this[sProp] = [this[sProp]]; }
-          this[sProp].push(vContent);
-        } else { this[sProp] = vContent; nLength++; }
-      }
-    }
-    this.keyValue = parseText(sCollectedTxt);
-  } else { this.keyValue = null; }
-  if (oParentNode.hasAttributes &amp;&amp; oXMLParent.hasAttributes()) {
-    var oAttrib;
-    this.keyAttributes = {};
-    for (nAttrLen; nAttrLen &lt; oXMLParent.attributes.length; nAttrLen++) {
-      oAttrib = oXMLParent.attributes.item(nAttrLen);
-      this.keyAttributes[oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-    }
-  }
-  /*
-  * Optional properties...
-
-  this.keyLength = nLength;
-  this.attributesLength = nAttrLen;
-  // this.DOMNode = oXMLParent;
-
-  */
-
-  /* Object.freeze(this); */
-}
-
-/*
-* Optional methods... Uncomment the optional properties first!
-
-JXONTree.prototype.valueOf = function () { return this.keyValue; };
-JXONTree.prototype.toString = function () { return String(this.keyValue); };
-JXONTree.prototype.getItem = function (nItem) {
-  if (nLength === 0) { return null; }
-  var nCount = 0;
-  for (var sKey in this) { if (nCount === nItem) { return this[sKey]; } nCount++; }
-  return null;
-};
-JXONTree.prototype.getAttribute = function (nAttrId) {
-  if (nAttrLen === 0 || nAttrId + 1 &gt; nAttrLen) { return null; }
-  var nAttr = 0;
-  for (var sAttrName in this.keyAttributes) { if (nAttr === nAttrId) { return this.keyAttributes[sAttrName]; } nAttr++; }
-  return null;
-};
-JXONTree.prototype.hasChildren = function () { return this.keyLength &gt; 0; };
-
-*/
-
-var myObject = new JXONTree(doc);
-// we got our javascript object! try: alert(JSON.stringify(myObject));
-</pre>
-
-<div class="note"><strong>Note:</strong> If you want to freeze the whole object tree (because of the "static" nature of an XML document), uncomment the string: <code>/* Object.freeze(this); */</code>. The <code><a href="/en/JavaScript/Reference/Global_Objects/Object/freeze" title="en/JavaScript/Reference/Global_Objects/Object/freeze">Object.freeze()</a></code> method prevents new properties from being added to it, prevents existing properties from being removed and prevents existing properties, or their enumerability, configurability, or writability, from being changed. In essence the object tree is made effectively immutable.</div>
-
-<p>With this algorithm <a href="#example.xml" title="Go to the sample XML document">our example</a> becomes:</p>
-
-<pre class="brush: js notranslate">{
- "catalog": {
-   "product": {
-     "catalog_item": [{
-       "item_number": {
-         "keyValue": "QWZ5671"
-       },
-       "price": {
-         "keyValue": 39.95
-       },
-       "size": [{
-         "color_swatch": [{
-           "keyValue": "Red",
-           "keyAttributes": {
-             "image": "red_cardigan.jpg"
-           }
-         }, {
-           "keyValue": "Burgundy",
-           "keyAttributes": {
-             "image": "burgundy_cardigan.jpg"
-           }
-         }],
-         "keyValue": null,
-         "keyAttributes": {
-           "description": "Medium"
-         }
-       }, {
-         "color_swatch": [{
-           "keyValue": "Red",
-           "keyAttributes": {
-             "image": "red_cardigan.jpg"
-           }
-         }, {
-           "keyValue": "Burgundy",
-           "keyAttributes": {
-             "image": "burgundy_cardigan.jpg"
-           }
-         }],
-         "purchased": {
-           "keyValue": null
-         },
-         "keyValue": null,
-         "keyAttributes": {
-           "description": "Large"
-         }
-       }],
-       "keyValue": null,
-       "keyAttributes": {
-         "gender": "Men's"
-       }
-     }, {
-       "item_number": {
-         "keyValue": "RRX9856"
-       },
-       "discount_until": {
-         "keyValue": new Date(1995, 11, 25)
-       },
-       "price": {
-         "keyValue": 42.5
-       },
-       "size": {
-         "color_swatch": {
-           "keyValue": "Black",
-           "keyAttributes": {
-             "image": "black_cardigan.jpg"
-           }
-         },
-         "keyValue": null,
-         "keyAttributes": {
-           "description": "Medium"
-         }
-       },
-       "keyValue": null,
-       "keyAttributes": {
-         "gender": "Women's"
-       }
-     }],
-     "keyValue": null,
-     "keyAttributes": {
-       "description": "Cardigan Sweater"
-     }
-   },
-   "script": {
-     "keyValue": "function matchwo(a,b) {\n if (a &lt; b &amp;&amp; a &lt; 0) { return 1; }\n else { return 0; }\n}",
-     "keyAttributes": {
-       "type": "text/javascript"
-     }
-   },
-   "keyValue": null
- },
- "keyValue": null
-}
-</pre>
-
-<p>This is a recommanded technique if you don't know the structure of the XML document.</p>
-
-<h3 id="Algorithm_2_a_less_verbose_way">Algorithm #2: a less verbose way</h3>
-
-<p>Here is another, simpler, conversion method, in which <code>nodeAttributes</code> are listed under the same object of child nodes but have the “@” prefix (as suggested by the <a href="http://badgerfish.ning.com/" title="BadgerFish convention">BadgerFish Convention</a>). As above, the text content is stored into the <code>keyValue</code> property. The constructor's argument can be the entire XML <code>Document</code>, a <code>DocumentFragment</code> or simply an <code>Element</code> node of it.</p>
-
-<pre class="brush: js notranslate">/*\
-|*|
-|*|  JXON Snippet #2 - Mozilla Developer Network
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-function parseText (sValue) {
-  if (/^\s*$/.test(sValue)) { return null; }
-  if (/^(?:true|false)$/i.test(sValue)) { return sValue.toLowerCase() === "true"; }
-  if (isFinite(sValue)) { return parseFloat(sValue); }
-  if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-  return sValue;
-}
-
-function JXONTree (oXMLParent) {
-  if (oXMLParent.hasChildNodes()) {
-    var sCollectedTxt = "";
-    for (var oNode, sProp, vContent, nItem = 0; nItem &lt; oXMLParent.childNodes.length; nItem++) {
-      oNode = oXMLParent.childNodes.item(nItem);
-      if ((oNode.nodeType - 1 | 1) === 3) { sCollectedTxt += oNode.nodeType === 3 ? oNode.nodeValue.trim() : oNode.nodeValue; }
-      else if (oNode.nodeType === 1 &amp;&amp; !oNode.prefix) {
-        sProp = oNode.nodeName.toLowerCase();
-        vContent = new JXONTree(oNode);
-        if (this.hasOwnProperty(sProp)) {
-          if (this[sProp].constructor !== Array) { this[sProp] = [this[sProp]]; }
-          this[sProp].push(vContent);
-        } else { this[sProp] = vContent; }
-      }
-    }
-    if (sCollectedTxt) { this.keyValue = parseText(sCollectedTxt); }
-  }
-  if (oParentNode.hasAttributes &amp;&amp; oXMLParent.hasAttributes()) {
-    var oAttrib;
-    for (var nAttrib = 0; nAttrib &lt; oXMLParent.attributes.length; nAttrib++) {
-      oAttrib = oXMLParent.attributes.item(nAttrib);
-      this["@" + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-    }
-  }
-  /* Object.freeze(this); */
-}
-
-var myObject = new JXONTree(doc);
-// we got our javascript object! try: alert(JSON.stringify(myObject));
-</pre>
-
-<div class="note"><strong>Note:</strong> If you want to freeze the whole object tree (because of the "static" nature of an XML document), uncomment the string: <code>/* Object.freeze(this); */</code>. The <code><a href="/en/JavaScript/Reference/Global_Objects/Object/freeze" title="en/JavaScript/Reference/Global_Objects/Object/freeze">Object.freeze()</a></code> method prevents new properties from being added to it, prevents existing properties from being removed and prevents existing properties, or their enumerability, configurability, or writability, from being changed. In essence the object tree is made effectively immutable.</div>
-
-<p>With this algorithm <a href="#example.xml" title="Go to the sample XML document">our example</a> becomes:</p>
-
-<pre class="brush: js notranslate">{
-  "catalog": {
-    "product": {
-      "catalog_item": [{
-        "item_number": {
-          "keyValue": "QWZ5671"
-        },
-        "price": {
-          "keyValue": 39.95
-        },
-        "size": [{
-          "color_swatch": [{
-            "keyValue": "Red",
-            "@image": "red_cardigan.jpg"
-          }, {
-            "keyValue": "Burgundy",
-            "@image": "burgundy_cardigan.jpg"
-          }],
-          "@description": "Medium"
-        }, {
-          "color_swatch": [{
-            "keyValue": "Red",
-            "@image": "red_cardigan.jpg"
-          }, {
-            "keyValue": "Burgundy",
-            "@image": "burgundy_cardigan.jpg"
-          }],
-          "@description": "Large"
-        }],
-        "@gender": "Men's"
-      }, {
-        "item_number": {
-          "keyValue": "RRX9856"
-        },
-        "discount_until": {
-          "keyValue": new Date(1995, 11, 25)
-        },
-        "price": {
-          "keyValue": 42.5
-        },
-        "size": {
-          "color_swatch": {
-            "keyValue": "Black",
-            "@image": "black_cardigan.jpg"
-          },
-          "@description": "Medium"
-        },
-        "@gender": "Women's"
-      }],
-      "@description": "Cardigan Sweater"
-    },
-    "script": {
-      "keyValue": "function matchwo(a,b) {\n  if (a &lt; b &amp;&amp; a &lt; 0) { return 1; }\n  else { return 0; }\n}",
-      "@type": "text/javascript"
-    }
-  }
-}
-</pre>
-
-<p>This is a possible technique to use if you partially know the structure of the XML document.</p>
-
-<h3 id="Algorithm_3_a_synthetic_technique">Algorithm #3: a synthetic technique</h3>
-
-<p>Here is another method of conversion. This algorithm is the closest to the <a href="#The_Parker_Convention" title="The Parker Convention">Parker convention</a>. It is very similar to the previous one, except that nodes which do not contain other recognizable nodes than <code>Text</code> or <code>CDATASection</code> are not treated as objects, but directly as booleans, strings, numbers or <code>Date</code> objects (see the <a href="#The_Parker_Convention" title="The Parker Convention">Parker convention</a>). Empty nodes (i.e. which do not contain other <code>Element</code> nodes, <code>Text</code> nodes, <code>CDATASection</code> nodes or <code>Attr</code> nodes) have the default value <code>true</code> (see the <a href="#Code_considerations" title="Code considerations">Code considerations</a>). Also, this time we use a function instead of a constructor. The function's argument can be the entire XML <a href="/en-US/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code>Document</code></a>, a <a href="/en-US/docs/Web/API/DocumentFragment" title="The DocumentFragment interface represents a minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made."><code>DocumentFragment</code></a>, or simply an <a href="/en-US/docs/Web/API/Element" title="Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of element. More specific classes inherit from Element."><code>Element</code></a> node within it. <code>nodeAttributes</code> have the “@” prefix, as suggested by the <a href="http://badgerfish.ning.com/" title="BadgerFish convention">BadgerFish Convention</a>. <strong>In many cases, this is the most practical conversion method</strong>.</p>
-
-<pre class="brush: js notranslate">/*\
-|*|
-|*|  JXON Snippet #3 - Mozilla Developer Network
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-function parseText (sValue) {
-  if (/^\s*$/.test(sValue)) { return null; }
-  if (/^(?:true|false)$/i.test(sValue)) { return sValue.toLowerCase() === "true"; }
-  if (isFinite(sValue)) { return parseFloat(sValue); }
-  if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-  return sValue;
-}
-
-function getJXONTree (oXMLParent) {
-  var vResult = /* put here the default value for empty nodes! */ true, nLength = 0, sCollectedTxt = "";
-  if (oXMLParent.hasAttributes &amp;&amp; oXMLParent.hasAttributes()) {
-    vResult = {};
-    for (nLength; nLength &lt; oXMLParent.attributes.length; nLength++) {
-      oAttrib = oXMLParent.attributes.item(nLength);
-      vResult["@" + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-    }
-  }
-  if (oXMLParent.hasChildNodes()) {
-    for (var oNode, sProp, vContent, nItem = 0; nItem &lt; oXMLParent.childNodes.length; nItem++) {
-      oNode = oXMLParent.childNodes.item(nItem);
-      if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is "CDATASection" (4) */
-      else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is "Text" (3) */
-      else if (oNode.nodeType === 1 &amp;&amp; !oNode.prefix) { /* nodeType is "Element" (1) */
-        if (nLength === 0) { vResult = {}; }
-        sProp = oNode.nodeName.toLowerCase();
-        vContent = getJXONTree(oNode);
-        if (vResult.hasOwnProperty(sProp)) {
-          if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
-          vResult[sProp].push(vContent);
-        } else { vResult[sProp] = vContent; nLength++; }
-      }
-    }
-  }
-  if (sCollectedTxt) { nLength &gt; 0 ? vResult.keyValue = parseText(sCollectedTxt) : vResult = parseText(sCollectedTxt); }
-  /* if (nLength &gt; 0) { Object.freeze(vResult); } */
-  return vResult;
-}
-
-var myObject = getJXONTree(doc);
-// we got our javascript object! try: alert(JSON.stringify(myObject));
-</pre>
-
-<div class="note"><strong>Note:</strong> If you want to freeze the whole object tree (because of the "static" nature of an XML document), uncomment the string: <code>/* if (nLength &gt; 0) { Object.freeze(vResult); } */</code>. The <code><a href="/en/JavaScript/Reference/Global_Objects/Object/freeze" title="en/JavaScript/Reference/Global_Objects/Object/freeze">Object.freeze()</a></code> method prevents new properties from being added to it, prevents existing properties from being removed and prevents existing properties, or their enumerability, configurability, or writability, from being changed. In essence the object tree is made effectively immutable.</div>
-
-<p>With this algorithm, <a href="#example.xml" title="Go to the sample XML document">our example</a> becomes:</p>
-
-<pre class="brush: js notranslate">{
-  "catalog": {
-    "product": {
-      "@description": "Cardigan Sweater",
-      "catalog_item": [{
-        "@gender": "Men's",
-        "item_number": "QWZ5671",
-        "price": 39.95,
-        "size": [{
-          "@description": "Medium",
-          "color_swatch": [{
-            "@image": "red_cardigan.jpg",
-            "keyValue": "Red"
-          }, {
-            "@image": "burgundy_cardigan.jpg",
-            "keyValue": "Burgundy"
-          }]
-        }, {
-          "@description": "Large",
-          "color_swatch": [{
-            "@image": "red_cardigan.jpg",
-            "keyValue": "Red"
-          }, {
-            "@image": "burgundy_cardigan.jpg",
-            "keyValue": "Burgundy"
-          }]
-        }]
-      }, {
-        "@gender": "Women's",
-        "item_number": "RRX9856",
-        "discount_until": new Date(1995, 11, 25),
-        "price": 42.5,
-        "size": {
-          "@description": "Medium",
-          "color_swatch": {
-            "@image": "black_cardigan.jpg",
-            "keyValue": "Black"
-          }
-        }
-      }]
-    },
-    "script": {
-      "@type": "text/javascript",
-      "keyValue": "function matchwo(a,b) {\n  if (a &lt; b &amp;&amp; a &lt; 0) { return 1; }\n  else { return 0; }\n}"
-    }
-  }
-}
-</pre>
-
-<p>This is a recommended technique if you know the structure of the XML document.</p>
-
-<h3 id="Algorithm_4_a_very_minimalist_way">Algorithm #4: a very minimalist way</h3>
-
-<p>The following is another possible way to do the conversion. It is very close to the <a href="#The_Parker_Convention" title="The Parker Convention">Parker convention</a>, too. With this algorithm, all <a href="/en-US/docs/Web/API/Element" title="Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of element. More specific classes inherit from Element."><code>Element</code></a> nodes that contain other child <a href="/en-US/docs/Web/API/Element" title="Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of element. More specific classes inherit from Element."><code>Element</code></a>, <a href="/en-US/docs/Web/API/Text" title="The Text interface represents the textual content of Element or Attr.  If an element has no markup within its content, it has a single child implementing Text that contains the element's text.  However, if the element contains markup, it is parsed into information items and Text nodes that form its children."><code>Text</code></a>, or <a href="/en-US/docs/Web/API/CDATASection" title="The CDATASection interface represents a CDATA section that can be used within XML to include extended portions of unescaped text, such that the symbols &lt; and &amp; do not need escaping as they normally do within XML when used as text."><code>CDATASection</code></a> nodes in the same level are treated as instances of <code>Boolean</code>, <code>Number</code>, <code>String</code>, or <code>Date</code> Constructors. So any child <code>Element</code> node, if exists, will be nested in these types of objects.</p>
-
-<p>For example:</p>
-
-<pre class="brush: xml notranslate">&lt;employee type="usher"&gt;John Smith&lt;/employee&gt;
-&lt;manager&gt;Lisa Carlucci&lt;/manager&gt;
-</pre>
-
-<p>becomes</p>
-
-<pre class="brush: js notranslate">var myObject = {
- "employee": new String("John Smith"),
- "manager": "Lisa Carlucci"
-};
-
-myObject.employee["@type"] = "usher";
-
-// test
-
-alert(myObject.manager); // "Lisa Carlucci"
-alert(myObject.employee["@type"]); // "usher"
-alert(myObject.employee); // "John Smith"
-</pre>
-
-<div class="note"><strong>Note:</strong> This algorithm represents <em>a special case of conversion</em>. <strong>The generated JavaScript Object tree is not <a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify" title="en/JavaScript/Reference/Global_Objects/JSON/stringify">stringifyable</a></strong> (see the <a href="#Code_considerations" title="Code considerations">Code considerations</a>). It is very practical for internal JavaScript access, but don't use it if you want to transfer the tree via JSON string!</div>
-
-<p>As for the third algorithm, nodes which do not contain other recognizable nodes than <code>Text</code> or <code>CDATASection</code> are not treated as objects, but directly as booleans, strings, numbers (primitive values) or <code>Date</code> objects; and empty nodes (i.e. which do not contain other <code>Element</code> nodes, <code>Text</code> nodes, <code>CDATASection</code> nodes or <code>Attr</code> nodes) have the default value <code>true</code>. As for the third algorithm it is not used a constructor, but a function. The function's argument can be the entire XML <code>Document</code>, a <code>DocumentFragment</code> or simply an <code>Element</code> node of it. <code>nodeAttributes</code> have the “@” prefix, as suggested by the <a href="http://badgerfish.ning.com/" title="BadgerFish convention">BadgerFish Convention</a>.</p>
-
-<pre class="brush: js notranslate">/*\
-|*|
-|*|  JXON Snippet #4 - Mozilla Developer Network
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-function parseText (sValue) {
-  if (/^\s*$/.test(sValue)) { return null; }
-  if (/^(?:true|false)$/i.test(sValue)) { return sValue.toLowerCase() === "true"; }
-  if (isFinite(sValue)) { return parseFloat(sValue); }
-  if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-  return sValue;
-}
-
-function objectify (vValue) {
-  if (vValue === null) {
-    return new (function() {
-      this.toString = function() { return "null"; }
-      this.valueOf = function() { return null; }
-    })();
-  }
-  return vValue instanceof Object ? vValue : new vValue.constructor(vValue);
-}
-
-var aTmpEls = []; // loaded element nodes cache
-
-function getJXONTree (oXMLParent) {
-  var  sProp, vContent, vResult, nLength = 0, nLevelStart = aTmpEls.length,
-      nChildren = oXMLParent.hasChildNodes() ? oXMLParent.childNodes.length : 0, sCollectedTxt = "";
-
-  for (var oNode, nItem = 0; nItem &lt; nChildren; nItem++) {
-    oNode = oXMLParent.childNodes.item(nItem);
-    if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is "CDATASection" (4) */
-    else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is "Text" (3) */
-    else if (oNode.nodeType === 1 &amp;&amp; !oNode.prefix) { aTmpEls.push(oNode); } /* nodeType is "Element" (1) */
-  }
-
-  var nLevelEnd = aTmpEls.length, vBuiltVal = parseText(sCollectedTxt);
-
-  if (oParentNode.hasAttributes &amp;&amp; oXMLParent.hasAttributes()) {
-    vResult = objectify(vBuiltVal);
-    for (nLength; nLength &lt; oXMLParent.attributes.length; nLength++) {
-      oAttrib = oXMLParent.attributes.item(nLength);
-      vResult["@" + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-    }
-  } else if (nLevelEnd &gt; nLevelStart) { vResult = objectify(vBuiltVal); }
-
-  for (var nElId = nLevelStart; nElId &lt; nLevelEnd; nElId++) {
-    sProp = aTmpEls[nElId].nodeName.toLowerCase();
-    vContent = getJXONTree(aTmpEls[nElId]);
-    if (vResult.hasOwnProperty(sProp)) {
-    if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
-      vResult[sProp].push(vContent);
-    } else { vResult[sProp] = vContent; nLength++; }
-  }
-
-  aTmpEls.length = nLevelStart;
-
-  if (nLength === 0) { vResult = sCollectedTxt ? vBuiltVal : /* put here the default value for empty nodes: */ true; }
-  /* else { Object.freeze(vResult); } */
-
-  return vResult;
-}
-
-var myObject = getJXONTree(doc);
-alert(myObject.catalog.product.catalog_item[1].size.color_swatch["@image"]); // "black_cardigan.jpg"
-alert(myObject.catalog.product.catalog_item[1].size.color_swatch); // "Black" !
-</pre>
-
-<div class="note"><strong>Note:</strong> If you want to freeze the whole object tree (because of the "static" nature of an XML document), uncomment the string: <code>/* else { Object.freeze(vResult); } */</code>. The <code><a href="/en/JavaScript/Reference/Global_Objects/Object/freeze" title="en/JavaScript/Reference/Global_Objects/Object/freeze">Object.freeze()</a></code> method prevents new properties from being added to it, prevents existing properties from being removed and prevents existing properties, or their enumerability, configurability, or writability, from being changed. In essence the object tree is made effectively immutable.</div>
-
-<p>This is a possible technique if you know the structure of the XML document.</p>
-
-<h3 id="Reverse_algorithms">Reverse algorithms</h3>
-
-<p>It is possible to reverse the algorithms proposed here in order to build a new XML document starting from a JavaScript Objects Tree. For simplicity, we will propose here a single example, which in a single method represents the inversion of all our algorithms.</p>
-
-<pre class="brush: js notranslate">/*\
-|*|
-|*|  JXON Snippet #5 - Mozilla Developer Network
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-function createXML (oObjTree) {
-  function loadObjTree (oParentEl, oParentObj) {
-    var vValue, oChild;
-    if (oParentObj.constructor === String || oParentObj.constructor === Number || oParentObj.constructor === Boolean) {
-      oParentEl.appendChild(oNewDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 or 1 */
-      if (oParentObj === oParentObj.valueOf()) { return; }
-    } else if (oParentObj.constructor === Date) {
-      oParentEl.appendChild(oNewDoc.createTextNode(oParentObj.toGMTString()));
-    }
-    for (var sName in oParentObj) {
-      if (isFinite(sName)) { continue; } /* verbosity level is 0 */
-      vValue = oParentObj[sName];
-      if (sName === "keyValue") {
-        if (vValue !== null &amp;&amp; vValue !== true) { oParentEl.appendChild(oNewDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
-      } else if (sName === "keyAttributes") { /* verbosity level is 3 */
-        for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
-      } else if (sName.charAt(0) === "@") {
-        oParentEl.setAttribute(sName.slice(1), vValue);
-      } else if (vValue.constructor === Array) {
-        for (var nItem = 0; nItem &lt; vValue.length; nItem++) {
-          oChild = oNewDoc.createElement(sName);
-          loadObjTree(oChild, vValue[nItem]);
-          oParentEl.appendChild(oChild);
-        }
-      } else {
-        oChild = oNewDoc.createElement(sName);
-        if (vValue instanceof Object) {
-          loadObjTree(oChild, vValue);
-        } else if (vValue !== null &amp;&amp; vValue !== true) {
-          oChild.appendChild(oNewDoc.createTextNode(vValue.toString()));
-        }
-        oParentEl.appendChild(oChild);
-      }
-    }
-  }
-  const oNewDoc = document.implementation.createDocument("", "", null);
-  loadObjTree(oNewDoc, oObjTree);
-  return oNewDoc;
-}
-
-var newDoc = createXML(myObject);
-// we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
-</pre>
-
-<div class="note"><strong>Note:</strong> With this code the <code>Date</code> instances, if they exist, are converted into <a href="/en/JavaScript/Reference/Global_Objects/String" title="String">Strings</a> through the <a href="/en/JavaScript/Reference/Global_Objects/Date/toGMTString" title="toGMTString"><code>toGMTString()</code></a> method. Nothing prohibits the use of any other conversion method. In addition, all properties of the tree with a <code>true</code> value will be converted into empty elements with no text nodes (see the <a href="#Code_considerations" title="Code considerations">Code considerations</a>).</div>
-
-<p>This is a good solution if you want to automate the creation of an XML document. It is a bad choice, however, if you want to re-build an XML document previously converted into JSON. Although <strong>the bidirectional conversion is very faithful</strong> (except for <a href="/en-US/docs/Web/API/CDATASection" title="The CDATASection interface represents a CDATA section that can be used within XML to include extended portions of unescaped text, such that the symbols &lt; and &amp; do not need escaping as they normally do within XML when used as text."><code>CDATASection</code></a> nodes, which will be converted into <a href="/en-US/docs/Web/API/Text" title="The Text interface represents the textual content of Element or Attr.  If an element has no markup within its content, it has a single child implementing Text that contains the element's text.  However, if the element contains markup, it is parsed into information items and Text nodes that form its children."><code>Text</code></a> nodes), the process is unnecessarily costly. In fact, if your goal is to edit an XML document, it is strongly recommended to work on it rather than create new ones.</p>
-
-<h2 id="The_Parker_Convention">The Parker Convention</h2>
-
-<p>The functions listed above for the conversion of an XML document to <a href="/en/JSON" title="en/JSON">JSON</a> (often called "JXON algorithms") are more or less freely based on the Parker Convention (especially regarding the transformation of <a href="/en/DOM/Node.nodeName" title="en/DOM/Node.nodeName">tags names</a> into <a href="/en/JavaScript/Guide/Working_with_Objects#Objects_and_properties" title="en/Core_JavaScript_1.5_Guide/Working_with_Objects#Objects_and_properties">object properties names</a>, the recognition of the <a href="/en/JavaScript/Reference/Operators/typeof" title="en/JavaScript/Reference/Operators/typeof"><code>typeof</code></a> of all the collected <a href="/en/DOM/Node.nodeValue" title="en/DOM/Node.nodeValue"><code>text content</code></a> of each tag and the absorption of solitary <code>Text</code> and/or <code>CDATASection</code> nodes into primitive values). It is called “Parker Convention” in opposition to “BadgerFish Convention”, after the comic Parker &amp; Badger by Cuadrado. See also: <a href="http://badgerfish.ning.com/" title="BadgerFish convention">BadgerFish Convention</a>.</p>
-
-<p>The following is a transcription of the Parker Convention paper (version 0.4), from the page “<a href="http://code.google.com/p/xml2json-xslt/wiki/TransformingRules" title="TransformingRules – xml2json-xslt">TransformingRules</a>” of the <a href="http://code.google.com/p/xml2json-xslt/" title="xml2json-xslt project">xml2json-xslt project</a> site.</p>
-
-<p>This Convention was written in order to regulate the conversion to <a href="/en/JSON" title="en/JSON">JSON</a> from <a href="/en/XSLT" title="en/XSLT">XSLT</a>, so parts of it are futile for JavaScript.</p>
-
-<div class="note"><strong>Note:</strong> On October 29th, 2013, the World Wide Web Consortium relased <a href="http://www.w3.org/TR/microdata/#json" title="Converting HTML to other formats: JSON – World Wide Web Consortium">in a note</a> on <em>official</em> algorithm for converting <em><a href="/en-US/docs/Web/HTML/Global_attributes#itemid">HTML5 microdata</a></em> to <em><a href="/en/JSON" title="en/JSON">JSON</a></em>. However, <em>HTML microdata</em> <strong>is not</strong> <em>HTML:</em> microdata is a formatted <strong>subset</strong> of HTML.</div>
-
-<h3 id="Translation_JSON">Translation JSON</h3>
-
-<ol>
- <li>
- <p>The root element will be absorbed, for there is only one:</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;test&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">"test"
-</pre>
- </li>
- <li>
- <p>Element names become object properties:</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;name&gt;Xml&lt;/name&gt;&lt;encoding&gt;ASCII&lt;/encoding&gt;&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{
- "name": "Xml",
- "encoding": "ASCII"
-}
-</pre>
- </li>
- <li>
- <p>Numbers are recognized (integers and decimals):</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;age&gt;12&lt;/age&gt;&lt;height&gt;1.73&lt;/height&gt;&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{
- "age": 12,
- "height": 1.73
-}
-</pre>
- </li>
- <li>
- <p>Booleans are recognized case insensitive:</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;checked&gt;True&lt;/checked&gt;&lt;answer&gt;FALSE&lt;/answer&gt;&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{
- "checked": true,
- "answer": false
-}
-</pre>
- </li>
- <li>
- <p>Strings are escaped:</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;Quote: &amp;quot; New-line:
-&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">"Quote: \" New-line:\n"</pre>
- </li>
- <li>
- <p>Empty elements will become null:</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;nil/&gt;&lt;empty&gt;&lt;/empty&gt;&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{
- "nil": null,
- "empty": null
-}
-</pre>
- </li>
- <li>
- <p>If all sibling elements have the same name, they become an array</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;item&gt;1&lt;/item&gt;&lt;item&gt;2&lt;/item&gt;&lt;item&gt;three&lt;/item&gt;&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">[1, 2, "three"]
-</pre>
- </li>
- <li>
- <p>Mixed mode text-nodes, comments and attributes get absorbed:</p>
-
- <pre class="brush: xml notranslate">&lt;root version="1.0"&gt;testing&lt;!--comment--&gt;&lt;element test="true"&gt;1&lt;/element&gt;&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{ "element": true }
-</pre>
- </li>
- <li>
- <p>Namespaces get absorbed, and prefixes will just be part of the property name:</p>
-
- <pre class="brush: xml notranslate">&lt;root xmlns:ding="http://zanstra.com/ding"&gt;&lt;ding:dong&gt;binnen&lt;/ding:dong&gt;&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{ "ding:dong" : "binnen" }
-</pre>
- </li>
-</ol>
-
-<div class="note"><strong>Note:</strong> Our algorithms comply with points 2, 3, 4 and 7. The third and the fourth algorithm comply also with point 6 (but <code>true</code> instead of <code>null</code> – see the <a href="#Code_considerations" title="Code considerations">Code considerations</a>). Point 5 is automatically managed by the JavaScript method <code><a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify" title="en/JavaScript/Reference/Global_Objects/JSON/stringify">JSON.stringify()</a></code>. Regarding point 9, we chose to ignore all nodes which have a prefix; you can include them by removing the string <code>&amp;&amp; !oNode.prefix</code> from our algorithms (see the <a href="#Code_considerations" title="Code considerations">Code considerations</a>).</div>
-
-<h3 id="Extra_JavaScript_translations">Extra JavaScript translations</h3>
-
-<p>This is the same as the JSON translation, but with these extras:</p>
-
-<ol>
- <li>
- <p>Property names are only escaped when necessary</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;while&gt;true&lt;/while&gt;&lt;wend&gt;false&lt;/wend&gt;&lt;only-if/&gt;&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{
- "while": true,
- wend: false,
- "only-if": null
-}
-</pre>
- </li>
- <li>
- <p>Within a string, closing elements "&lt;/" are escaped as "&lt;\/"</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;&lt;![CDATA[&lt;script&gt;alert("YES");&lt;/script&gt;]]&gt;&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">{ script: "&lt;script&gt;alert(\"YES\")&lt;\/script&gt;" }
-</pre>
- </li>
- <li>
- <p>Dates are created as new <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> objects</p>
-
- <pre class="brush: xml notranslate">&lt;root&gt;2006-12-25&lt;/root&gt;</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">new Date(2006, 12 - 1, 25)
-</pre>
- </li>
- <li>
- <p>Attributes and comments are shown as comments (for testing purposes):</p>
-
- <pre class="brush: xml notranslate">&lt;!--testing--&gt;&lt;root&gt;&lt;test version="1.0"&gt;123&lt;/test&gt;&lt;/root&gt;
-</pre>
-
- <p>becomes</p>
-
- <pre class="brush: js notranslate">/* testing */ { test /* @version = "1.0" */ : 123}
-</pre>
- </li>
- <li>
- <p>A bit of indentation is done, to keep things legible</p>
- </li>
-</ol>
-
-<div class="note"><strong>Note:</strong> Our algorithms comply with the point 3 (but without month decrease). The points 1 and 2 are automatically managed by the JavaScript method <code><a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify" title="en/JavaScript/Reference/Global_Objects/JSON/stringify">JSON.stringify()</a></code>.</div>
-
-<h2 id="In_summary">In summary</h2>
-
-<p>Let's take <strong><a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">the third algorithm</a> as the most representative JXON parsing algorithm</strong>. A single structured XML <code>Element</code> might have <em>eight different configurations</em>:</p>
-
-<ol>
- <li>an empty element,</li>
- <li>an element with pure text content,</li>
- <li>an empty element with attributes,</li>
- <li>an element with text content and attributes,</li>
- <li>an element containing elements with different names,</li>
- <li>an element containing elements with identical names,</li>
- <li>an element containing elements and contiguous text,</li>
- <li>an element containing elements and non contiguous text.</li>
-</ol>
-
-<p>The following table shows the corresponding conversion patterns between XML and JSON according to the <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">third algorithm</a>.</p>
-
-<table>
- <thead>
- <tr>
- <th style="background: #faf9e2; color: #5d5636; text-align: center;"><strong>Case</strong></th>
- <th style="background: #faf9e2; color: #5d5636; text-align: center;"><strong>XML</strong></th>
- <th style="background: #faf9e2; color: #5d5636; text-align: center;"><strong>JSON</strong></th>
- <th style="background: #faf9e2; color: #5d5636; text-align: center;"><strong>Javascript access</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="background: #f6f6f6; color: #000000;">1</td>
- <td style="background: #f6f6f6; color: #000000;"><code>&lt;animal /&gt;</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>"animal": true</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>myObject.animal</code></td>
- </tr>
- <tr>
- <td style="background: #e7e5dc; color: #silver;">2</td>
- <td style="background: #e7e5dc; color: #silver;"><code>&lt;animal&gt;Deka&lt;/animal&gt;</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>"animal": "Deka"</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>myObject.animal</code></td>
- </tr>
- <tr>
- <td style="background: #f6f6f6; color: #000000;">3</td>
- <td style="background: #f6f6f6; color: #000000;"><code>&lt;animal name="Deka" /&gt;</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>"animal": {"@name": "Deka"}</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>myObject.animal["@name"]</code></td>
- </tr>
- <tr>
- <td style="background: #e7e5dc; color: #silver;">4</td>
- <td style="background: #e7e5dc; color: #silver;"><code>&lt;animal name="Deka"&gt;is my cat&lt;/animal&gt;</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>"animal": { "@name": "Deka", "keyValue": "is my cat" }</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>myObject.animal["@name"]</code>, <code>myObject.animal.keyValue</code></td>
- </tr>
- <tr>
- <td style="background: #f6f6f6; color: #000000;">5</td>
- <td style="background: #f6f6f6; color: #000000;"><code>&lt;animal&gt; &lt;dog&gt;Charlie&lt;/dog&gt; &lt;cat&gt;Deka&lt;/cat&gt; &lt;/animal&gt;</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>"animal": { "dog": "Charlie", "cat": "Deka" }</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>myObject.animal.dog</code>, <code>myObject.animal.cat</code></td>
- </tr>
- <tr>
- <td style="background: #e7e5dc; color: #silver;">6</td>
- <td style="background: #e7e5dc; color: #silver;"><code>&lt;animal&gt; &lt;dog&gt;Charlie&lt;/dog&gt; &lt;dog&gt;Mad Max&lt;/dog&gt; &lt;/animal&gt;</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>"animal": { "dog": ["Charlie", "Mad Max"] }</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>myObject.animal.dog[0]</code>, <code>myObject.animal.dog[1]</code></td>
- </tr>
- <tr>
- <td style="background: #f6f6f6; color: #000000;">7</td>
- <td style="background: #f6f6f6; color: #000000;"><code>&lt;animal&gt; in my house &lt;dog&gt;Charlie&lt;/dog&gt; &lt;/animal&gt;</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>"animal": { "keyValue": "in my house", "dog": "Charlie" }</code></td>
- <td style="background: #f6f6f6; color: #000000;"><code>myObject.animal.keyValue</code>, <code>myObject.animal.dog</code></td>
- </tr>
- <tr>
- <td style="background: #e7e5dc; color: #silver;">8</td>
- <td style="background: #e7e5dc; color: #silver;"><code>&lt;animal&gt; in my ho &lt;dog&gt;Charlie&lt;/dog&gt; use &lt;/animal&gt;</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>"animal": { "keyValue": "in my house", "dog": "Charlie" }</code></td>
- <td style="background: #e7e5dc; color: #silver;"><code>myObject.animal.keyValue</code>, <code>myObject.animal.dog</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Code_considerations">Code considerations</h2>
-
-<p>In these examples we chose to use a property named <code>keyValue</code> for the text content. The lack of standards for XML to JSON conversion leads developers to choose a variety of property names for the text content of XML <a href="/en-US/docs/Web/API/Element" title="Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of element. More specific classes inherit from Element."><code>Element</code></a> nodes that also contain other child nodes. Sometimes a property called <code>$</code> is used. Other times a property called <code>#text</code> is used (however, a name like this isn't a good choice, since the text content of a node can be parsed into a non-string value by our algorithms during the conversion). In the algorithms proposed here, you can easily change this name, depending on your needs.</p>
-
-<p>The choice of using a <code>true</code> value instead of a <code>null</code> value to represent empty nodes is due to the fact that <strong>when in an XML document there is an empty node the reason is often to express a<em> <code>Boolean</code></em></strong>, as in this case:</p>
-
-<pre class="brush: xml notranslate">&lt;car&gt;
- &lt;type&gt;Ferrari&lt;/type&gt;
- &lt;bought /&gt;
-&lt;/car&gt;
-</pre>
-
-<p>If the value were <code>null</code> it would be more cumbersome to launch a code like this:</p>
-
-<pre class="brush: js notranslate">if (myObject.car.bought) {
- // do something
-}
-</pre>
-
-<div class="note"><strong>Note:</strong> According to our <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">third algorithm</a> and our <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">fourth algorithm</a>, just <code>CDATASection</code> nodes which contain nothing but white spaces (precisely: <code>/^\s+$/</code>) will be parsed as <code>null</code>.</div>
-
-<p>The <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">fourth algorithm</a> represents a <strong>special case of conversion</strong>. As you can see, <strong>the generated JavaScript Object tree is not <a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify" title="en/JavaScript/Reference/Global_Objects/JSON/stringify">stringifyable</a></strong>. It is very practical for internal JavaScript access, but don't use it if you want to transfer the tree via JSON string (as for <code><a href="/en/DOM/Worker" title="en/DOM/Worker">Worker</a></code> messages, for example).</p>
-
-<p>We chose to <strong>ignore nodes which have a prefix</strong> (for example: <code>&lt;ding:dong&gt;binnen&lt;/ding:dong&gt;</code>), due to their special case (they are often used in order to represents an <a href="http://www.w3.org/TR/xmlschema-ref/" title="W3C XML Schema Definition Language (XSD): Component Designators">XML Schema</a>, which is <em>meta-information</em> concerning how to organize the <em>information</em> of the document, reserved for the XML parser). You can include them removing the string <code>&amp;&amp; !oNode.prefix</code> from our algorithms (by doing so the whole tag will become the property name: <code>{ "ding:dong": "binnen" }</code>).</p>
-
-<p>An important consideration is that, when using the <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">third</a> or the <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">fourth</a> algorithm, an XML <a href="/en-US/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code>Document</code></a> can be used to create any type of JavaScript object. For example, If you want to create an object like the following:</p>
-
-<pre class="brush: js notranslate">{
-  "myboolean": true,
-  "myarray": ["Cinema", "Hot dogs", false],
-  "myobject": {
-    "nickname": "Jack",
-    "registration_date": new Date(1995, 11, 25),
-    "privileged_user": true
-  },
-  "mynumber": 99,
-  "mytext": "Hello World!"
-}
-</pre>
-
-<p>you must just create an XML document with the following structure:</p>
-
-<pre class="brush: xml notranslate">&lt;myboolean&gt;true&lt;/myboolean&gt;
-&lt;myarray&gt;Cinema&lt;/myarray&gt;
-&lt;myarray&gt;Hot dogs&lt;/myarray&gt;
-&lt;myarray&gt;false&lt;/myarray&gt;
-&lt;myobject&gt;
-  &lt;nickname&gt;Jack&lt;/nickname&gt;
-  &lt;registration_date&gt;Dec 25, 1995&lt;/registration_date&gt;
-  &lt;privileged_user /&gt;
-&lt;/myobject&gt;
-&lt;mynumber&gt;99&lt;/mynumber&gt;
-&lt;mytext&gt;Hello World!&lt;/mytext&gt;
-</pre>
-
-<p>This example also shows how the ideal JXON document is an XML document designed specifically to be converted in JSON format, though <em>our algorithms work fine with any kind of XML document</em>.</p>
-
-<div class="note" id="ordering-lossless-note"><strong>Note:</strong> Despite the term JXON suggesting "lossless" conversions, these techniques are not actually lossless if one needs to preserve <strong>ordering of elements</strong>, as is common with many XML dialects (including of course <a href="/en-US/docs/XHTML" title="/en-US/docs/XHTML">XHTML</a>). The ECMAScript standard (JavaScript) indicates that object iteration order is <em>implementation dependent</em>.</div>
-
-<h2 id="Appendix_a_complete_bidirectional_JXON_library">Appendix: a complete, bidirectional, JXON library</h2>
-
-<p>Now we can create a more complete, bidirectional, JXON library based on <strong>all</strong> our algorithms (see: <a href="#Algorithm_.231.3A_a_verbose_way" title="Go to JXON algorithm #1">#1</a>, <a href="#Algorithm_.232.3A_a_less_verbose_way" title="Go to JXON algorithm #2">#2</a>, <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">#3</a>, <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">#4</a>, <a href="#Reverse_algorithms" title="Reverse algorithms">reverse</a>). Its usage is modeled on the <a href="/en/JavaScript/Reference/Global_Objects/JSON" title="en/JavaScript/Reference/Global_Objects/JSON"><code>JSON</code></a> native object. <strong>Before implementing it in a working environment, please read the <a href="#const_compatibility" title="#const_compatibility">note about the <code>const</code> statement compatibility</a></strong>. The following code is also <a class="external external-icon" href="https://github.com/madmurphy/jxon.js">available on GitHub</a>.</p>
-
-<pre class="brush: js notranslate">"use strict";
-
-/*\
-|*|
-|*|  JXON framework - Copyleft 2011 by Mozilla Developer Network
-|*|
-|*|  Revision #3 - October 31th, 2016
-|*|
-|*|  https://developer.mozilla.org/en-US/docs/JXON
-|*|  https://developer.mozilla.org/User:fusionchess
-|*|  https://github.com/madmurphy/jxon.js
-|*|
-|*|  This framework is released under the GNU Public License, version 3 or later.
-|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
-|*|
-\*/
-
-const JXON = new (function () {
-
-  function parseText (sValue) {
-    if (rIsNull.test(sValue)) { return null; }
-    if (rIsBool.test(sValue)) { return sValue.toLowerCase() === "true"; }
-    if (isFinite(sValue)) { return parseFloat(sValue); }
-    if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-    return sValue;
-  }
-
-  function EmptyTree () {}
-
-  EmptyTree.prototype.toString = function () { return "null"; };
-
-  EmptyTree.prototype.valueOf = function () { return null; };
-
-  function objectify (vVal) {
-    return vVal === null ? new EmptyTree() : vVal instanceof Object ? vVal : new vVal.constructor(vVal);
-  }
-
-  function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) {
-
-    const
-      nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(),
-      bAttributes = oParentNode.hasAttributes &amp;&amp; oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb &amp; 2);
-
-    var
-      sProp, vContent, nLength = 0, sCollectedTxt = "",
-      vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true;
-
-    if (bChildren) {
-      for (var oNode, nItem = 0; nItem &lt; oParentNode.childNodes.length; nItem++) {
-        oNode = oParentNode.childNodes.item(nItem);
-        if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is "CDATASection" (4) */
-        else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is "Text" (3) */
-        else if (oNode.nodeType === 1 &amp;&amp; !oNode.prefix) { aCache.push(oNode); } /* nodeType is "Element" (1) */
-      }
-    }
-
-    const nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt);
-
-    if (!bHighVerb &amp;&amp; (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; }
-
-    for (var nElId = nLevelStart; nElId &lt; nLevelEnd; nElId++) {
-      sProp = aCache[nElId].nodeName.toLowerCase();
-      vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr);
-      if (vResult.hasOwnProperty(sProp)) {
-        if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
-        vResult[sProp].push(vContent);
-      } else {
-        vResult[sProp] = vContent;
-        nLength++;
-      }
-    }
-
-    if (bAttributes) {
-
-      const
-        nAttrLen = oParentNode.attributes.length,
-        sAPrefix = bNesteAttr ? "" : sAttrsPref, oAttrParent = bNesteAttr ? {} : vResult;
-
-      for (var oAttrib, nAttrib = 0; nAttrib &lt; nAttrLen; nLength++, nAttrib++) {
-        oAttrib = oParentNode.attributes.item(nAttrib);
-        oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-      }
-
-      if (bNesteAttr) {
-        if (bFreeze) { Object.freeze(oAttrParent); }
-        vResult[sAttrProp] = oAttrParent;
-        nLength -= nAttrLen - 1;
-      }
-
-    }
-
-    if (nVerb === 3 || (nVerb === 2 || nVerb === 1 &amp;&amp; nLength &gt; 0) &amp;&amp; sCollectedTxt) {
-      vResult[sValProp] = vBuiltVal;
-    } else if (!bHighVerb &amp;&amp; nLength === 0 &amp;&amp; sCollectedTxt) {
-      vResult = vBuiltVal;
-    }
-
-    if (bFreeze &amp;&amp; (bHighVerb || nLength &gt; 0)) { Object.freeze(vResult); }
-
-    aCache.length = nLevelStart;
-
-    return vResult;
-
-  }
-
-  function loadObjTree (oXMLDoc, oParentEl, oParentObj) {
-
-    var vValue, oChild;
-
-    if (oParentObj.constructor === String || oParentObj.constructor === Number || oParentObj.constructor === Boolean) {
-      oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 or 1 */
-      if (oParentObj === oParentObj.valueOf()) { return; }
-    } else if (oParentObj.constructor === Date) {
-      oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString()));
-    }
-
-    for (var sName in oParentObj) {
-      vValue = oParentObj[sName];
-      if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */
-      if (sName === sValProp) {
-        if (vValue !== null &amp;&amp; vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
-      } else if (sName === sAttrProp) { /* verbosity level is 3 */
-        for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
-      } else if (sName.charAt(0) === sAttrsPref) {
-        oParentEl.setAttribute(sName.slice(1), vValue);
-      } else if (vValue.constructor === Array) {
-        for (var nItem = 0; nItem &lt; vValue.length; nItem++) {
-          oChild = oXMLDoc.createElement(sName);
-          loadObjTree(oXMLDoc, oChild, vValue[nItem]);
-          oParentEl.appendChild(oChild);
-        }
-      } else {
-        oChild = oXMLDoc.createElement(sName);
-        if (vValue instanceof Object) {
-          loadObjTree(oXMLDoc, oChild, vValue);
-        } else if (vValue !== null &amp;&amp; vValue !== true) {
-          oChild.appendChild(oXMLDoc.createTextNode(vValue.toString()));
-        }
-        oParentEl.appendChild(oChild);
-      }
-    }
-
-  }
-
-  /* Uncomment the following code if you want to enable the .appendJXON() method for *all* the "element" objects! */
-
-  /*
-
-  Element.prototype.appendJXON = function (oObjTree) {
-    loadObjTree(document, this, oObjTree);
-    return this;
-  };
-
-  */
-
-  this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) {
-    const nVerbMask = arguments.length &gt; 1 &amp;&amp; typeof nVerbosity === "number" ? nVerbosity &amp; 3 : /* put here the default verbosity level: */ 1;
-    return createObjTree(oXMLParent, nVerbMask, bFreeze || false, arguments.length &gt; 3 ? bNesteAttributes : nVerbMask === 3);
-  };
-
-  this.unbuild = function (oObjTree, sNamespaceURI /* optional */, sQualifiedName /* optional */, oDocumentType /* optional */) {
-    const oNewDoc = document.implementation.createDocument(sNamespaceURI || null, sQualifiedName || "", oDocumentType || null);
-    loadObjTree(oNewDoc, oNewDoc, oObjTree);
-    return oNewDoc;
-  };
-
-  const
-    sValProp = "keyValue", sAttrProp = "keyAttributes", sAttrsPref = "@", /* you can customize these values */
-    aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i;
-
-})();
-</pre>
-
-<div class="note" id="const_compatibility"><strong>Note:</strong> The current implementation of <a href="/en/JavaScript/Reference/Statements/const" title="en/JavaScript/Reference/Statements/const"><code>const</code></a> (constant statement) <strong>is not part of ECMAScript 5</strong>. It is supported in Firefox &amp; Chrome (V8) and partially supported in Opera 9+ and Safari. <strong>It is not supported in Internet Explorer 6-9, or in the preview of Internet Explorer 10</strong>. <a href="/en/JavaScript/Reference/Statements/const" title="en/JavaScript/Reference/Statements/const"><code>const</code></a> is going to be defined by ECMAScript 6, but with different semantics. Similar to variables declared with the <a href="/en/JavaScript/Reference/Statements/let" title="en/JavaScript/Reference/Statements/let"><code>let</code></a> statement, constants declared with <a href="/en/JavaScript/Reference/Statements/const" title="en/JavaScript/Reference/Statements/const"><code>const</code></a> will be block-scoped. <strong>We used it only for didactic purpose. If you want a full browser compatibility of this library, please replace all the <a href="/en/JavaScript/Reference/Statements/const" title="en/JavaScript/Reference/Statements/const"><code>const</code></a> statements with the <a href="/en/JavaScript/Reference/Statements/var" title="en/JavaScript/Reference/Statements/var"><code>var</code></a> statements.</strong></div>
-
-<h3 id="Usage">Usage</h3>
-
-<p>The obtained non-native <code>JXON</code> global object will have two methods:</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td><a href="#JXON.build_syntax" title="JXON.build"><code>JXON.build(<em>document</em>[, <em>verbosity</em>[, <em>freeze</em>[, <em>nesteAttributes</em>]]])</code></a></td>
- <td>Returns a JavaScript <a href="/en/JavaScript/Reference/Global_Objects/Object" title="en/JavaScript/Reference/Global_Objects/Object"><code>Object</code></a> based on the given XML Document.</td>
- </tr>
- <tr>
- <td><a href="#JXON.unbuild_syntax" title="JXON.unbuild"><code>JXON.unbuild(<em>objTree</em>[, <em>namespaceURI</em>[, <em>qualifiedNameStr</em>[, <em>documentType</em>]]])</code></a></td>
- <td>Returns an XML <a href="/en-US/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code>Document</code></a> based on the given JavaScript <a href="/en/JavaScript/Reference/Global_Objects/Object" title="en/JavaScript/Reference/Global_Objects/Object"><code>Object</code></a>.</td>
- </tr>
- </tbody>
-</table>
-
-<p>These methods are inverses of each other. So, you can work with the <code>JXON</code> object by inserting the previous code at the beginning of your scripts. If you are not interested in a bidirectional conversion, don't use it, use only one of our algotithm instead.</p>
-
-<p>Sample usage:</p>
-
-<pre class="brush: js notranslate">var myObject = JXON.build(doc);
-// we got our javascript object! try: alert(JSON.stringify(myObject));
-
-var newDoc = JXON.unbuild(myObject);
-// we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));</pre>
-
-<p>…the same thing using AJAX:</p>
-
-<pre class="brush: js notranslate">function reqListener () {
-
-    var myObject = JXON.build(this.responseXML);
-    // we got our javascript object!
-    alert(JSON.stringify(myObject));
-
-    var newDoc = JXON.unbuild(myObject);
-    // we got our Document instance!
-    alert((new XMLSerializer()).serializeToString(newDoc));
-
-};
-
-var oReq = new XMLHttpRequest();
-oReq.onload = reqListener;
-oReq.open("get", "example.xml", true);
-oReq.send();</pre>
-
-<h4 id="JXON.build_syntax">JXON.build syntax</h4>
-
-<p><code>JXON.build(<a href="#JXON_build-document" title="JXON.build – @document"><em>document</em></a>[, <a href="#JXON_build-verbosity" title="JXON.build – @verbosity"><em>verbosity</em></a>[, <a href="#JXON_build-freeze" title="JXON.build – @freeze"><em>freeze</em></a>[, <a href="#JXON_build-nesteAttributes" title="JXON.build – @nesteAttributes"><em>nesteAttributes</em></a>]]])</code></p>
-
-<h4 id="JXON.build_description">JXON.build description</h4>
-
-<p>Returns a JavaScript <a href="/en/JavaScript/Reference/Global_Objects/Object" title="en/JavaScript/Reference/Global_Objects/Object"><code>Object</code></a> based on the given XML Document.</p>
-
-<h4 id="JXON.build_parameters">JXON.build parameters</h4>
-
-<dl>
- <dt><code id="JXON_build-document">document</code></dt>
- <dd>The XML document to be converted into JSON format.</dd>
- <dt><code id="JXON_build-verbosity">verbosity</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>The verbosity level of conversion (optional), from <code>0</code> to <code>3</code>. It is almost equivalent to our algorithms from <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">#4</a> to <a href="#Algorithm_.231.3A_a_verbose_way" title="Go to JXON algorithm #1">#1</a> (default value is <code>1</code>, which is equivalent to the <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">algorithm #3</a>).</dd>
- <dt><code id="JXON_build-freeze">freeze</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>A boolean (optional) expressing whether the created object must be <a href="/en/JavaScript/Reference/Global_Objects/Object/freeze" title="en/JavaScript/Reference/Global_Objects/Object/freeze">freezed</a> or not (default value is <code>false</code>).</dd>
- <dt><code id="JXON_build-nesteAttributes">nesteAttributes</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>A boolean (optional) expressing whether the the <code>nodeAttributes</code> must be nested into a child-object named <code>keyAttributes</code> or not (default value is <code>false</code> for verbosity levels from <code>0</code> to <code>2</code>; <code>true</code> for verbosity level <code>3</code>).</dd>
-</dl>
-
-<h4 id="JXON.unbuild_syntax">JXON.unbuild syntax</h4>
-
-<p><code>JXON.unbuild(<a href="#JXON_unbuild-objTree" title="JXON.unbuild – @objTree"><em>objTree</em></a>[, <a href="#JXON_unbuild-namespaceURI" title="JXON.unbuild – @namespaceURI"><em>namespaceURI</em></a>[, <a href="#JXON_unbuild-qualifiedNameStr" title="JXON.unbuild – @qualifiedNameStr"><em>qualifiedNameStr</em></a>[, <a href="#JXON_unbuild-documentType" title="JXON.unbuild – @objTree"><em>documentType</em></a>]]])</code></p>
-
-<h4 id="JXON.unbuild_description">JXON.unbuild description</h4>
-
-<p>Returns an XML Document based on the given JavaScript <a href="/en/JavaScript/Reference/Global_Objects/Object" title="en/JavaScript/Reference/Global_Objects/Object"><code>Object</code></a>.</p>
-
-<h4 id="JXON.unbuild_parameters">JXON.unbuild parameters</h4>
-
-<dl>
- <dt><code id="JXON_unbuild-objTree">objTree</code></dt>
- <dd>The JavaScript Object from which you want to create your XML Document.</dd>
- <dt><code id="JXON_unbuild-namespaceURI">namespaceURI</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>Is a <a href="https://developer.mozilla.org/en-US/docs/Web/API/DOMString" title="A UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String."><code>DOMString</code></a> containing the namespace URI of the document to be created, or <code>null</code> if the document doesn't belong to one.</dd>
- <dt><code id="JXON_unbuild-qualifiedNameStr">qualifiedNameStr</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>Is a <a href="https://developer.mozilla.org/en-US/docs/Web/API/DOMString" title="A UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String."><code>DOMString</code></a> containing the qualified name, that is an optional prefix and colon plus the local root element name, of the document to be created.</dd>
- <dt><code id="JXON_unbuild-documentType">documentType</code> <span class="inlineIndicator optional optionalInline">Optional</span></dt>
- <dd>Is the <a class="internal" href="https://developer.mozilla.org/En/DOM/DocumentType" title="En/DOM/DocumentType"><code>DocumentType</code></a> of the document to be created. It defaults to <code>null</code>.</dd>
-</dl>
-
-<h3 id="Extend_the_native_Element.prototype_object">Extend the native <code><a href="/en-US/docs/Web/API/element" title="/en-US/docs/Web/API/element">Element</a>.prototype</code> object</h3>
-
-<p>If you want to enable the <code>.appendJXON()</code> method for all the native <a href="/en-US/docs/Web/API/element"><code>element</code></a> objects, you can uncomment the following code from the JXON library:</p>
-
-<pre class="brush: js notranslate">  /* Uncomment the following code if you want to enable the .appendJXON() method for *all* the "element" objects! */
-
-  /*
-
-  Element.prototype.appendJXON = function (oObjTree) {
-    loadObjTree(document, this, oObjTree);
-    return this;
-  };
-
-  */</pre>
-
-<h4 id="Example">Example</h4>
-
-<p>Imagine you want to populate the following <a href="/en-US/docs/Web/API/HTMLElement"><code>HTMLElement</code></a> through JSON:</p>
-
-<pre class="brush: html notranslate">&lt;div id="form_container"&gt;&lt;/div&gt;</pre>
-
-<p>Then, the following code:</p>
-
-<pre class="brush: js notranslate">document.getElementById("form_container").appendJXON({
-  "form": {
-    "script": {
-      "@type": "text/javascript",
-      "keyValue": "\n  function numbersOnly (oToCheckField, oKeyEvent) {\n  return oKeyEvent.charCode === 0 || /\\d/.test(String.fromCharCode(oKeyEvent.charCode));\n  }\n"
-    },
-    "input": [{
-      "@type": "hidden",
-      "@name": "instId",
-      "@value": 1234
-    }, {
-      "@type": "hidden",
-      "@name": "currency",
-      "@value": "GBP"
-    }, {
-      "@type": "hidden",
-      "@name": "amount",
-      "@value": 0
-    }, {
-      "@type": "hidden",
-      "@name": "name",
-      "@value": "CAPTURED"
-    }],
-    "table": {
-      "tr": [{
-        "th": {
-          "@style": "text-align: right;",
-          "keyValue": "Product:"
-        },
-        "td": {
-          "span": [{
-            "input": {
-              "@type": "radio",
-              "@name": "nome",
-              "@id": "rel_tshirt",
-              "@value": "tshirt"
-            },
-            "label": {
-              "@for": "rel_tshirt",
-              "keyValue": "T-Shirt"
-            },
-            "@class": "product"
-          }, {
-            "input": {
-              "@type": "radio",
-              "@name": "nome",
-              "@id": "rel_trousers",
-              "@value": "trousers"
-            },
-            "label": {
-              "@for": "rel_trousers",
-              "keyValue": "Trousers"
-            },
-            "@class": "product"
-          }, {
-            "input": {
-              "@type": "radio",
-              "@name": "nome",
-              "@id": "rel_pullover",
-              "@value": "pullover"
-            },
-            "label": {
-              "@for": "rel_pullover",
-              "keyValue": "Pullover"
-            },
-            "@class": "product"
-          }]
-        }
-      }, {
-        "th": {
-          "@style": "text-align: right;",
-          "keyValue": "Quantity:"
-        },
-        "td": {
-          "input": {
-            "@type": "text",
-            "@name": "myInput",
-            "@onkeypress": "return numbersOnly(this, event);",
-            "@onpaste": "return false;"
-          }
-        }
-      }]
-    },
-    "p": {
-      "input": {
-        "@type": "submit",
-        "@value": "Purchase!"
-      }
-    },
-    "@action": "https://secure-test.worldpay.com/wcc/purchase",
-    "@name": "BuyForm",
-    "@method": "POST"
-  }
-});</pre>
-
-<p>will populate the previous element in the following way:</p>
-
-<pre class="brush: html notranslate">&lt;div id="form_container"&gt;
-  &lt;form action="https://secure-test.worldpay.com/wcc/purchase" name="BuyForm" method="POST"&gt;
-    &lt;script type="text/javascript"&gt;
-      function numbersOnly(oToCheckField, oKeyEvent) {
-        return oKeyEvent.charCode === 0 || /\d/.test(String.fromCharCode(oKeyEvent.charCode));
-      }
-    &lt;/script&gt;
-    &lt;input type="hidden" name="instId" value="1234" /&gt;
-    &lt;input type="hidden" name="currency" value="GBP" /&gt;
-    &lt;input type="hidden" name="amount" value="0" /&gt;
-    &lt;input type="hidden" name="name" value="CAPTURED" /&gt;
-    &lt;table&gt;
-      &lt;tr&gt;
-        &lt;th style="text-align: right;"&gt;Product:&lt;/th&gt;
-        &lt;td&gt;&lt;span class="product"&gt;&lt;input type="radio" name="nome" id="rel_tshirt" value="tshirt"/&gt;&lt;label for="rel_tshirt"&gt;T-Shirt&lt;/label&gt;&lt;/span&gt;&lt;span class="product"&gt;&lt;input type="radio" name="nome" id="rel_trousers" value="trousers"/&gt;&lt;label for="rel_trousers"&gt;Trousers&lt;/label&gt;&lt;/span&gt;&lt;span class="product"&gt;&lt;input type="radio" name="nome" id="rel_pullover" value="pullover"/&gt;&lt;label for="rel_pullover"&gt;Pullover&lt;/label&gt;&lt;/span&gt;
-        &lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
-        &lt;th style="text-align: right;"&gt;Quantity:&lt;/th&gt;
-        &lt;td&gt;
-          &lt;input type="text" name="myInput" onkeypress="return numbersOnly(this, event);" onpaste="return false;" /&gt;
-        &lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-    &lt;p&gt;
-      &lt;input type="submit" value="Purchase!" /&gt;
-    &lt;/p&gt;
-  &lt;/form&gt;
-&lt;/div&gt;</pre>
-
-<h3 id="Other_examples">Other examples</h3>
-
-<h4 id="Example_1_How_to_use_JXON_to_create_an_HTML_document_instead_of_an_XML_document">Example #1: How to use JXON to create an HTML document instead of an XML document:</h4>
-
-<pre class="brush: js notranslate">/* The structure of my document */
-var oMyHTMLStruct = {
-  "html": {
-    "head": {
-      "meta": {
-        "@http-equiv": "Content-Type",
-        "@content": "text/html; charset=UTF-8"
-      },
-      "title": "My HTML Document",
-      "script": {
-        "@type": "text/javascript",
-        "keyValue": "alert(\"Welcome!\");"
-      },
-      "style": "p:first-letter {\n  font: italic bold 30px Georgia, serif;\n}"
-    },
-    "body": {
-      "h1": "My HTML Document",
-      "p": "Hello world!!"
-    }
-  }
-};
-
-/* Create the document */
-var oMyHTMLDoc = JXON.unbuild(oMyHTMLStruct, "http://www.w3.org/1999/xhtml");</pre>
-
-<p>…And here is the output of <code>alert((new XMLSerializer()).serializeToString(oMyHTMLDoc))</code>:</p>
-
-<pre class="brush: html notranslate">&lt;html&gt;
-
-&lt;head&gt;
-  &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
-  &lt;title&gt;My HTML Document&lt;/title&gt;
-  &lt;script type="text/javascript"&gt;
-    alert("Welcome!");
-  &lt;/script&gt;
-  &lt;style&gt;
-    p:first-letter {
-      font: italic bold 30px Georgia, serif;
-    }
-  &lt;/style&gt;
-&lt;/head&gt;
-
-&lt;body&gt;
-  &lt;h1&gt;My HTML Document&lt;/h1&gt;
-  &lt;p&gt;Hello world!!&lt;/p&gt;
-&lt;/body&gt;
-
-&lt;/html&gt;</pre>
-
-<div class="note"><strong>Note:</strong> As we already said in <a href="#ordering-lossless-note">the note within <em>Code considerations</em></a>, despite the bidirectional conversion between XML and JSON <strong>is</strong> lossless regarding the whole content and the structure of an XML document, it <strong>is not</strong> lossless regarding the ordering of elements, which for some XML dialects (like XHTML) is part of the information. For instance, a bidirectional conversion of the following HTML paragraph:
-
-<pre class="brush: html notranslate">&lt;p&gt;She &lt;strong&gt;loves&lt;/strong&gt; you. And definitely &lt;strong&gt;hates&lt;/strong&gt; me.&lt;/p&gt;</pre>
-would determine a result like the following:
-
-<pre class="brush: html notranslate">&lt;p&gt;&lt;strong&gt;loves&lt;/strong&gt;&lt;strong&gt;hates&lt;/strong&gt;Sheyou. And definitelyme.&lt;/p&gt;</pre>
-As you can see in this special case, the whole information is preserved, the ordering of the elements is not.<br>
-It turns out then that for some XML dialects JXON can be not the best choise, while it can be a really powerful tool in dealing with <em>standard XML</em>. One conversion method which is lossless for element order, as it relies on arrays (but, with a less human-readable, JavaScript-friendly syntax), is <a href="http://www.jsonml.org/" title="http://www.jsonml.org/">JsonML</a>.</div>
-
-<h3 id="About_this_library">About this library</h3>
-
-<p>The <code>JXON.build()</code> method summarizes all our four ways of conversion (see: <a href="#Algorithm_.231.3A_a_verbose_way" title="Go to JXON algorithm #1">#1</a>, <a href="#Algorithm_.232.3A_a_less_verbose_way" title="Go to JXON algorithm #2">#2</a>, <a href="#Algorithm_.233.3A_a_synthetic_technique" title="Go to JXON algorithm #3">#3</a>, <a href="#Algorithm_.234.3A_a_very_minimalist_way" title="Go to JXON algorithm #4">#4</a>). The result is therefore the same of our four algorithms, depending on the level of verbosity utilised. As above, optional properties and methods (commented in the example) of the <a href="#Algorithm_.231.3A_a_verbose_way" title="Go to JXON algorithm #1">first algorithm</a> (verbosity level: 3) are not included.</p>
-
-<p>The <code>JXON.unbuild()</code> method utilises our <a href="#Reverse_algorithms" title="Reverse algorithms">reverse algorithm</a>.</p>
-
-<p>Therefore, <strong>all <a href="#Code_considerations" title="Code considerations">code considerations</a> remain the same</strong>.</p>
-
-<h2 id="Resources">Resources</h2>
-
-<ul>
- <li><a href="http://code.google.com/p/xml2json-xslt/wiki/TransformingRules" title="TransformingRules – xml2json-xslt">The Parker Convention</a></li>
- <li><a href="http://badgerfish.ning.com/" title="BadgerFish convention">The BadgerFish Convention</a></li>
- <li><a href="http://www.balisage.net/Proceedings/vol7/html/Lee01/BalisageVol7-Lee01.html" title="JXON: an Architecture for Schema and Annotation Driven JSON/XML Bidirectional Transformations – Balisage: The Markup Conference 2011">JXON: an Architecture for Schema and Annotation Driven JSON/XML Bidirectional Transformations</a></li>
- <li><a href="http://www.w3.org/TR/microdata/#json">Converting HTML to other formats: JSON (The World Wide Web Consortium)</a></li>
- <li><a href="http://dinogambone.com/2012/jxon-a-simple-way-to-keep-xml-out-of-your-life/" title="JXON – A simple way to keep XML out of your life – Dino Gambone's blog">JXON – A simple way to keep XML out of your life – Dino Gambone's blog</a></li>
- <li><a href="http://webreflection.blogspot.it/2008/07/jxon-lossless-javascript-to-xml-object.html" title="Web Reflection: JXON – Lossless JavaScript to XML Object Notation convertion">Web Reflection: JXON – Lossless JavaScript to XML Object Notation convertion</a></li>
- <li><a href="http://davidwalsh.name/convert-xml-json" title="Convert XML to JSON with JavaScript – David Walsh Blog">Convert XML to JSON with JavaScript – David Walsh Blog</a></li>
- <li><a href="http://goessner.net/download/prj/jsonxml/" title="http://goessner.net/download/prj/jsonxml/">http://goessner.net/download/prj/jsonxml/</a> – just another json2xml and xml2json conversion tool</li>
- <li><a href="http://tawani.blogspot.it/2006/12/serialize-javascript-objects-to-xml-for.html" title="Serialize JavaScript objects to XML (for use with Ajax) – Tawani's Blog Rants">Serialize JavaScript objects to XML (for use with Ajax) – Tawani's Blog Rants</a></li>
- <li><a href="http://www.kawa.net/works/js/xml/objtree-e.html" title="XML.ObjTree – XML source code from/to JavaScript object like E4X – Kawa.net">XML.ObjTree – XML source code from/to JavaScript object like E4X – Kawa.net</a></li>
- <li><a href="http://www.jsonml.org/" title="http://www.jsonml.org/">JsonML</a> – a conversion method which is lossless for element order, as it relies on arrays.</li>
-</ul>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en/XML" title="en/XML">XML</a></li>
- <li><a href="/en/JSON" title="en/JSON">JSON</a></li>
- <li><a href="/en/XPath" title="en/XPath">XPath</a></li>
- <li><a href="/en/E4X" title="en/E4X">E4X (ECMAScript for XML)</a></li>
- <li><a href="/en/Parsing_and_serializing_XML" title="en/Parsing_and_serializing_XML">Parsing and serializing XML</a></li>
- <li><a href="/en/DOM/XMLHttpRequest" title="en/XMLHttpRequest">XMLHttpRequest</a></li>
- <li><a href="/en/How_to_create_a_DOM_tree" title="en/How_to_create_a_DOM_tree">How to Create a DOM tree</a></li>
- <li><a href="/en/JavaScript/Introduction_to_Object-Oriented_JavaScript" title="Introduction to Object-Oriented JavaScript">Introduction to Object-Oriented JavaScript</a></li>
- <li><a href="/en/JavaScript/Guide/Working_with_Objects" title="Working with Objects">Working with Objects</a></li>
- <li><a href="/en/XML_Introduction" title="en/XML_Introduction">XML Introduction</a></li>
-</ul>
diff --git a/files/es/archive/mdn/index.html b/files/es/archive/mdn/index.html
deleted file mode 100644
index 95f78220b5..0000000000
--- a/files/es/archive/mdn/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: MDN
-slug: Archive/MDN
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/MDN
----
-<p></p><div class="overheadIndicator obsolete obsoleteHeader"><p><strong><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Obsolete</strong><br>This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.</p></div><p></p>
-
-<p>The documentation listed below is archived, obsolete material about MDN itself.</p>
-
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Content_kits">Content kits</a></dt><dd class="landingPageList">MDN Content Kits are subject-based collections of technical resources to help you host a local developer meetup or give a technical presentation at an event, conference, or workshop.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Howto_Link_a_Github_account">How to link a GitHub account to your MDN profile</a></dt><dd class="landingPageList">All users who wish to contribute to MDN must add a GitHub login to their MDN account in order to edit. This article describes how to add GitHub authentication to your MDN profile.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Persona_sign-ins">MDN and Persona sign-ins</a></dt><dd class="landingPageList">Starting on November 1, 2016, we only support GitHub for logging into MDN. If you didn't add a GitHub login to your MDN account before we disabled Persona logins, please file an <a href="https://mzl.la/accounthelp">"Account Help" bug</a> on Bugzilla.</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Subject-matter_experts">Subject-matter experts</a></dt><dd class="landingPageList">This article's purpose is to help writers find the Mozilla developers who have answers for questions about various technologies. If you're an engineer on any Mozilla project, <strong>please</strong> make sure your technology is on this list and that the contact information for your group is provided.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Zones">Zones</a></dt><dd class="landingPageList">A <strong>zone</strong> is a special area of MDN whose content is presented with some added user interface elements, such as a special zone navigation box and enhanced visuals in the header area of the page.</dd></dl></div>
- </div><p></p>
diff --git a/files/es/archive/meta_docs/index.html b/files/es/archive/meta_docs/index.html
deleted file mode 100644
index b81d50a9bc..0000000000
--- a/files/es/archive/meta_docs/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: MDN "meta-documentation" archive
-slug: Archive/Meta_docs
-tags:
- - Archive
- - MDN
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Meta_docs
----
-<p>Here you'll find archived "meta-documentation"; that is, documentation about how to write documentation on MDN. The articles here are obsolete and should no longer be referenced; we are retaining them here for reference while we migrate some content to new places, but very little of this is useful.</p>
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/es/docs/Project%3AClases_CSS">Clases CSS</a></dt><dd class="landingPageList">Estas son las clases CSS que hemos definido para los wikis del MDC. Si por alguna razón necesitas una clase CSS a medida para las páginas que edites, puedes ponerte en contacto con <a href="/User:Dria">Dria</a>.</dd><dt class="landingPageList"><a href="/es/docs/Archive/Meta_docs/MDN_page_layout_guide">MDN page layout guide</a></dt><dd class="landingPageList">These guides supplement the <a href="/en-US/docs/MDN/Contribute/Content/Style_guide">MDN style guide</a> with specific layouts for the various types of pages on MDN. This helps contributors create new content that's structurally consistent with the rest of MDN.</dd></dl></dl></div>
- <div class="section"><dl><dt></dt></dl></div>
- </div><p></p>
diff --git a/files/es/archive/meta_docs/mdn_content_on_webplatform.org/index.html b/files/es/archive/meta_docs/mdn_content_on_webplatform.org/index.html
deleted file mode 100644
index efe6963c37..0000000000
--- a/files/es/archive/meta_docs/mdn_content_on_webplatform.org/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: MDN content on WebPlatform.org
-slug: Archive/Meta_docs/MDN_content_on_WebPlatform.org
-translation_of: Archive/Meta_docs/MDN_content_on_WebPlatform.org
----
-<p><a href="http://www.webplatform.org/" title="http://www.webplatform.org/">Web Platform Docs</a> (WPD) is a site for documentation and education about Web standards, run by <a href="http://www.w3.org/" title="http://www.w3.org/">W3C</a> and supported by Mozilla, among others. Anyone is welcome to contribute content from MDN to WebPlatform.org, under the terms of MDN's <a href="http://creativecommons.org/licenses/by-sa/2.5/" title="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Share-Alike 2.5</a> (CC-BY-SA) license. Content that originates from MDN must be attributed to MDN, with a link to the source article. The Web Platform Docs site provides support for doing this in a systematic way.</p>
-
-<p>If you create an account on WPD and create a new page, you’ll see that there is an option in the "new page" form to indicate that the content you’re contributing came from MDN, and to provide the original URL on MDN. There is also a way on WPD to mark <em>sections</em> of articles as coming from MDN, for cases where they get merged into CC-BY content. (CC-BY is the default license for reuse on WPD.) The <a href="http://docs.webplatform.org/wiki/WPD:External_Attribution" title="http://docs.webplatform.org/wiki/WPD:External_Attribution">External Attribution</a> page on WebPlatform.org describes how to do all of that.</p>
-
-<h2 id="Questions">Questions?</h2>
-
-<dl>
- <dt>About MDN or its content</dt>
- <dd>Post them to <a href="https://discourse.mozilla-community.org/c/mdn">MDN's discussion forum</a>, or ask in <a href="irc://irc.mozilla.org/mdn" title="irc://irc.mozilla.org/devmo">#mdn on irc.mozilla.org</a>.</dd>
- <dt>About Mozilla's license terms</dt>
- <dd>Send e-mail to <a href="http://mailto:licensing@mozilla.org" title="http://mailto:licensing@mozilla.org">licensing@mozilla.org</a>.</dd>
- <dt>About Web Platform Docs, its content, its license, or its terms-of-use</dt>
- <dd>Post them to the <a href="http://lists.w3.org/Archives/Public/public-webplatform/" title="http://lists.w3.org/Archives/Public/public-webplatform/">public-webplatform</a> mailing list, run by W3C, or ask in <a href="irc://irc.freenode.org/webplatform" title="irc://irc.freenode.org/webplatform">#webplatform on irc.freenode.org</a>.</dd>
-</dl>
diff --git a/files/es/archive/meta_docs/mdn_page_layout_guide/index.html b/files/es/archive/meta_docs/mdn_page_layout_guide/index.html
deleted file mode 100644
index 018759b970..0000000000
--- a/files/es/archive/meta_docs/mdn_page_layout_guide/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: MDN page layout guide
-slug: Archive/Meta_docs/MDN_page_layout_guide
-translation_of: Archive/Meta_docs/MDN_page_layout_guide
----
-<div class="threecolumns">
-<p><span class="seoSummary">These guides supplement the <a href="/en-US/docs/MDN/Contribute/Content/Style_guide">MDN style guide</a> with specific layouts for the various types of pages on MDN. This helps contributors create new content that's structurally consistent with the rest of MDN.</span></p>
-</div>
-
-<p></p><p><strong>There are no subpages at this time.</strong></p><p></p>
diff --git a/files/es/archive/misc_top_level/imágenes,_tablas_y_huecos_misteriosos/index.html b/files/es/archive/misc_top_level/imágenes,_tablas_y_huecos_misteriosos/index.html
deleted file mode 100644
index 6c3febef05..0000000000
--- a/files/es/archive/misc_top_level/imágenes,_tablas_y_huecos_misteriosos/index.html
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: 'Imágenes, tablas y huecos misteriosos'
-slug: 'Archive/Misc_top_level/Imágenes,_tablas_y_huecos_misteriosos'
-tags:
- - CSS
- - Todas_las_Categorías
-translation_of: 'Archive/Misc_top_level/Images,_Tables,_and_Mysterious_Gaps'
----
-<p> </p>
-<p>No importa cuándo hayas empezado a crear páginas web, es muy probable que tengas uno o más diseños basados en el clásico paradigma de "Tablas complicadas y muchas imágenes". Puede que hayas cortado algún logo para que encajara bien en el diseño, o usado un montón de GIF espaciadores de un píxel, los principios y peligros son los mismos. En el pasado, esta forma de maquetar funcionaba porque los navegadores creaban las celdas tan altas y anchas como la imagen que contenían.</p>
-<p>A partir de 2001 y el auge de los navegadores conformes que muestran las páginas usando HTML y CSS en vez de sus propios algoritmos de diseño, y a causa de un detalle poco conocido de la especificación de CSS, todo diseño basado en maquetación con tablas e imágenes espaciadoras se ha convertido en un desastre visual esperando ser visitado. Todo lo que necesitas es un navegador moderno, un DOCTYPE apropiado, y... ¡Boom!</p>
-<h3 id="Los_componentes" name="Los_componentes">Los componentes</h3>
-<p>Veamos más de cerca la reproducción del problema, y el porqué del mismo. Empezaremos con un ejemplo sencillo, ilustrado en la Figura 1: una celda de una tabla que contiene una imagen.</p>
-<p><img align="none" alt="Figura 1" class=" internal" src="/@api/deki/files/1119/=Images-tables-gaps-figure1.gif"></p>
-<p>Evidentemente la mayoría de los diseños son más complicados que este, pero no necesitamos más para lo que nos proponemos. Una imagen y una celda es todo lo que necesitamos. Aparentemente no hay nada incorrecto en ese ejemplo. Y no debería haberlo, ya que es una muestra de cómo los navegadores se comportaban tradicionalmente.</p>
-<p>Veamos ahora cómo es mostrada esa misma tabla en un navegador moderno cuando la página tiene un DOCTYPE estricto.</p>
-<p><img align="none" alt="Figura 2" class=" internal" src="/@api/deki/files/1122/=Images-tables-gaps-figure2.gif"></p>
-<p>Observa el espacio que aparece debajo de la imagen en la Figura 2. El diseño de ambas tablas y celdas es el mismo, es el modo de renderizado el que ha cambiado. La celda, en vez de ceñirse a las dimensiones de la imagen, ahora envuelve también la línea en la que reposa la imagen. La imagen reposa en una línea porque las imágenes son, por defecto, contenido en línea. Eso es lo que pasa.</p>
-<h3 id="C.C3.B3mo_se_construye_el_contenido_en_l.C3.ADnea" name="C.C3.B3mo_se_construye_el_contenido_en_l.C3.ADnea">Cómo se construye el contenido en línea</h3>
-<p>Para entender qué ha sucedido, veremos la construcción de una línea, el emplazamiento de las imágenes dentro de una línea, y el emplazamiento de una línea dentro de la celda de una tabla. Primero veamos una línea básica que contiene texto, como la de la Figura 3.</p>
-<p><img align="none" alt="Figura 3" class=" internal" src="/@api/deki/files/1123/=Images-tables-gaps-figure3.gif"></p>
-<p>La parte más importante de la Figura 3 es la línea base (representada con una línea azul), y su posición dentro de la línea. El emplazamiento exacto de la línea base depende de la tipografía por "defecto" de la línea (representada por el cuadro rojo). La tipografía está determinada por el valor de font-family del elemento que contiene la línea. El autor no puede cambiar la línea base directamente; por eso, donde quiera que esté, ahí se queda. El espacio debajo de la línea base se llama "espacio de descenso" ya que es hasta donde desciende el trazo inferior de letras como "j", "y", o "q". La Figura 4 nos muestra qué pasa cuando añadimos una imagen a la composición.</p>
-<p><img align="none" alt="Figura 4" class=" internal" src="/@api/deki/files/1124/=Images-tables-gaps-figure4.gif"></p>
-<p>Observa dónde reposa por defecto la imagen: su parte inferior esta alineada con la línea base. Este emplazamiento se puede cambiar con <code>vertical-align</code>, hablaremos de ello en breve, pero casi nadie cambia su valor por defecto. Quitemos el texto y dejemos sólo la imagen, como hemos hecho en la Figura 5.</p>
-<p><img align="none" alt="Figura 5" class=" internal" src="/@api/deki/files/1125/=Images-tables-gaps-figure5.gif"></p>
-<p>Tenemos una imagen posada en la línea base de la línea que contiene la imagen. Veamos qué ocurre cuando ponemos esa línea en la celda de una tabla (Figura 6).</p>
-<p><img align="none" alt="Figura 6" class=" internal" src="/@api/deki/files/1126/=Images-tables-gaps-figure6.gif"></p>
-<p>Aquí lo tienes, espacios abiertos donde nunca se han visto antes. Es incluso peor con imágenes pequeñas, como las espaciadoras de un píxel, como la que se muestra en la Figura 7.</p>
-<p><img align="none" alt="Figura 7" class=" internal" src="/@api/deki/files/1127/=Images-tables-gaps-figure7.gif"></p>
-<p>Ahora sobra espacio por todos lados. Suficiente para volver loco a cualquier diseñador.</p>
-<h3 id=".C2.BFQu.C3.A9_tal_si_lo_arreglamos.3F" name=".C2.BFQu.C3.A9_tal_si_lo_arreglamos.3F">¿Qué tal si lo arreglamos?</h3>
-<p>Hay una solución evidente, dejar de crear diseños que dependan de tablas e imágenes espaciadoras o recortadas. Pero para muchos diseñadores esto no resulta práctico, y seguro que no ayudará a arreglar diseños antiguos que de repente se ven mal en los navegadores actuales. Hay otra solución, asegurarte de que tu documento no activa el modo de renderizado "estándar".</p>
-<p>Puedes hacerlo usando un DOCTYPE que active el <a class="external" href="http://www.mozilla.org/docs/web-developer/quirks/">modo quirks</a> o el <a href="/es/Modo_casi_estándar_de_Gecko" title="es/Modo_casi_estándar_de_Gecko">modo "casi estándar"</a>, o no usando ningún DOCTYPE. No usar DOCTYPE te impedirá validar el código, por lo que no es recomendable. Para los autores que estén trabajando con documentos heredados, el modo "quirks" es la mejor opción. En los casos en los que el autor esté escribiendo documentos nuevos o intentando migrar un diseño para hacerlo tan estándar como sea posible, entonces el modo "casi estándar" será probablemente la mejor elección.</p>
-<p>Por supuesto, los documentos creados en XHTML estricto o HTML estricto usarán el modo de renderizado "estándar", por lo que tenemos dos vías para solventar el problema en los documentos estrictos.</p>
-<h4 id="Poner_las_im.C3.A1genes_en_bloque" name="Poner_las_im.C3.A1genes_en_bloque">Poner las imágenes en bloque</h4>
-<p>La primera opción, que funcionará para la mayoría de los diseños con mucho contenido gráfico, es convertir la imagen que es inicialmente un elemento en línea, en un elemento en bloque. Hazlo y no se generará nunca más una imagen en línea, y así el problema queda resuelto, esto asumiendo que esa imagen es la única cosa que está en esa celda. En los casos simples, podemos añadir en el css un estilo como este:</p>
-<pre> td img {display: block;}</pre>
-<p>Este recurso se aplica no sólo a las imágenes sino también a los objetos como por ejemplo las animaciones Flash (swf). Para los objetos debemos introducir en el css la línea:</p>
-<pre> td object {display: block;}</pre>
-<p><br>
-Considera esta regla cuando la aplicamos al siguiente código:</p>
-<pre>&lt;table cellspacing="0" cellpadding="0" border="0" width="500"&gt;
-&lt;tr&gt; &lt;td&gt; &lt;img src="boton1.gif"&gt; &lt;img src="boton2.gif"&gt; &lt;img src="boton3.gif"&gt;
- &lt;img src="boton4.gif"&gt; &lt;img src="boton5.gif"&gt; &lt;/td&gt; &lt;/tr&gt;
-&lt;tr&gt; &lt;td style="background: red;"&gt;
- &lt;img src="puntorojo.gif" height="1" width="1"&gt; &lt;/td&gt; &lt;/tr&gt;
-&lt;tr&gt; &lt;td&gt;
- &lt;p style="margin: 0.5em;"&gt;Este texto esta en otra celda de la tabla.
- Dentro del texto hay un icono &lt;img src="icon2.gif"&gt;
- que indica que el enlace apunta a otra página. Es muy astuto. &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;
-&lt;/table&gt;
-</pre>
-<p>Como podemos ver en la Figura 8, eso funciona bien en algunos casos pero no tanto en otros.</p>
-<p><img align="none" alt="Figura 8" class=" internal" src="/@api/deki/files/1128/=Images-tables-gaps-figure8.gif"></p>
-<p>La línea roja muestra que el GIF espaciador de un píxel está haciendo ahora que la celda tenga un píxel de alto, como el diseñador pretendía. Por desgracia, ahora los botones de la celda están todos en bloque, y por eso aparecen uno debajo del otro, en vez de mostrarse uno al lado del otro.</p>
-<p>Una posible solución es añadir un <code>class</code> a cualquier imagen que necesite estar en bloque y después escribir la regla que se adapte.</p>
-<pre>td img.enbloque {display: block;}
-
-&lt;td&gt;&lt;img src="reddot.gif" class="enbloque"&gt;&lt;/td&gt;</pre>
-<p>Dependiendo del diseño, puede que tengamos que añadir muchos <code>class</code> para conseguir este simple efecto. Aún más si hay varias celdas de un píxel que se espere que creen "stacked lines" o algo parecido. Si tienes un código de este tipo, puedes aplicar la clase en las filas de la tabla en vez de en las imágenes. Para lo que tendrás:</p>
-<pre> tr.enbloque img {display: block;}
-</pre>
-<p>...así como el siguiente cambio en el código html:</p>
-<pre>&lt;tr class="enbloque"&gt;&lt;td style="background: red;"&gt;
-&lt;img src="puntorojo.gif" height="1" width="1"&gt;
-&lt;/td&gt;&lt;/tr&gt;</pre>
-<p>El resultado es que sólo el GIF espaciador está en bloque, así dejamos las otras imágenes tranquilas. Esto nos lleva al resultado que se ve en la Figura 9.</p>
-<p><img align="none" alt="Figura 9" class=" internal" src="/@api/deki/files/1129/=Images-tables-gaps-figure9.gif"></p>
-<p>Como alternativa, si lo prefieres, puedes ponerle la clase a las celdas en vez de a las filas. En cualquier caso, poner las imágenes en bloque puede provocar efectos indeseados si las celdas de tus tablas contienen más de una imagen, como en la Figura 8.</p>
-<p>Por supuesto, aunque tenemos un espaciador de celda de un píxel en la Figura 9, hay un espacio indeseado justo debajo de los botones de navegación de la parte superior. Deshacerse de este espacio es tan fácil como poner cada imagen en su propia celda y hacer que todas estén en bloque, pero dejémoslas todas juntas en una única celda y así podremos ilustrar otro ejemplo.</p>
-<h4 id="Usar_la_alineaci.C3.B3n_vertical" name="Usar_la_alineaci.C3.B3n_vertical">Usar la alineación vertical</h4>
-<p>Otra elección habitual es dejar la imagen en línea y modificar el alineamiento vertical de la imagen con respecto a la caja de la línea. Por ejemplo, puedes probar lo siguiente:</p>
-<pre>td img {vertical-align: bottom;}</pre>
-<p>Esto hará que el borde inferior de las imágenes se alinee con la parte inferior de la caja de la línea, en vez de alinearse con la línea base. Como podemos ver en el la Figura 10, tiene el efecto deseado: el espacio debajo de las imágenes de la barra de navegación ha desaparecido. Sin embargo, la celda decorativa es aún demasiado alta, y otras imágenes esta desalineadas respecto del texto de circundante.</p>
-<p><img align="none" alt="Figura 10" class=" internal" src="/@api/deki/files/1120/=Images-tables-gaps-figure10.gif"></p>
-<p>De nuevo, podemos ponerle clases a las imágenes, celdas, o filas para reducir el efecto del problema. Sin embargo, los estilos anteriormente mostrados no solucionarán el problema de las imágenes de un píxel, porque la caja en línea que la contiene tendrá la altura que tenga el tamaño de la fuente, y por ello no nos lo reducirá. La imagen se moverá a la parte inferior de la celda, pero la celda no se ajustará a la imagen. Además, cualquier otra imagen que sea más pequeña que la altura de la caja de la línea tendrá espacio alrededor, como pasaba con la celda espaciadora roja. La imagen de un píxel en la celda se alineará con la parte inferior de la misma, pero la caja en línea ha vuelto y con el tamaño del texto normal.</p>
-<p>Mira, por ejemplo, la Figura 11, donde el tamaño de la fuente del documento es bastante grande. Las imágenes de la barra de navegación tienen ahora un espacio encima, y el espaciador rojo ahora es incluso más grande.</p>
-<p><img align="none" alt="Figura 11" class=" internal" src="/@api/deki/files/1121/=Images-tables-gaps-figure11.gif"></p>
-<p>Es difícil evitar esto, ya que las imágenes aún están en línea y por eso participan en la creación de la caja en línea. Si esa caja en línea se hace lo suficientemente alta, aparecerá un espacio rodeando las imágenes.</p>
-<h3 id="Esperando_una_soluci.C3.B3n" name="Esperando_una_soluci.C3.B3n">Esperando una solución</h3>
-<p>Gracias a la minuciosa implementación de CSS 2 por parte de Mozilla, el problema de las imágenes en línea dentro de celdas que crean espacios indeseados ha llamado la atención del grupo de trabajo de CSS. Se han planteado varias propuestas para solucionar el problema, una de las más prometedoras es la propiedad <a class="external" href="http://www.w3.org/TR/css3-box/#line-box-contain">line-box-contain</a>, que ha sido propuesta para su inclusión en CSS 3. Cuando esta propiedad sea adoptada, cualquier navegador que la implemente podrá emular el comportamiento tradicional de "reducción" sin modificar otros diseños con la siguiente regla:</p>
-<pre>td {line-box-contain: font replaced;} /* propuesto para CSS3 */</pre>
-<p>Hay otros posibles arreglos dentro del plan de trabajo actual de CSS3, como la <a class="external" href="http://www.w3.org/TR/css3-box/#line-height">line-height-policy</a>. Evidentemente, cuanto antes se encuentre e implemente una solución, antes se complacerá a todos los autores.</p>
-<h3 id="Recomendaciones" name="Recomendaciones">Recomendaciones</h3>
-<p>Sin soporte para CSS3 es difícil facilitar una serie de pasos a seguir para solucionar todas las variantes de este problema, ya que la mejor solución para un documento dado dependerá en gran medida de su estructura. Si tu documento usa un marcado transitional, asegúrate de que tu DOCTYPE refleja ese hecho y no activa el modo "estándar". Esto evitará que los navegadores usen el renderizado estándar, y de esta manera se evitan todos los problemas de diseño en las imágenes. Si estas usando HTML estricto, o necesitas por otros motivos el renderizado "estándar", entonces recuerda estas pautas:</p>
-<ul> <li>Cualquier imagen sola en una celda de una tabla (e.j. imágenes espaciadoras de un píxel) deben tener un display: block;.</li> <li>Cualquier imagen que comparta celda con otras imágenes debe ser alineada verticalmente con la parte inferior de la línea.</li> <li>Cualquier imagen que comparta celda con otras imágenes y texto debe tener su alineación vertical modificada, si fuese necesario.</li>
-</ul>
-<p>Con una juiciosa mezcla de aproximaciones y reduciendo los trucos con imágenes de un píxel, los cuales -en un navegador que implemente CSS- son innecesarios, es posible evitar estos efectos extraños derivados de la implementación de los estándares. La mejor solución podría ser asegurarse que las imágenes están siempre en una celda ellas solas, esto permite a los autores ponerlas en bloque, pero como siempre esto dependerá del diseño del autor.</p>
-<h3 id="Enlaces_relacionados" name="Enlaces_relacionados">Enlaces relacionados</h3>
-<ul> <li><a href="/es/Modo_casi_estándar_de_Gecko" title="es/Modo_casi_estándar_de_Gecko">El modo <em>casi estándar</em></a></li> <li><a class="external" href="http://www.mozilla.org/docs/web-developer/quirks/">El modo <em>quirks</em></a></li>
-</ul>
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information">Información del documento original</h3>
-<ul> <li>Autor(es): Eric A. Meyer</li> <li>Última actualización: 21 de marzo de 2003</li> <li>Copyright © 2001-2003 Netscape.</li>
-</ul></div>
-<p> </p>
-<p></p>
diff --git a/files/es/archive/misc_top_level/index.html b/files/es/archive/misc_top_level/index.html
deleted file mode 100644
index 95bf3b61ab..0000000000
--- a/files/es/archive/misc_top_level/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Misc top level
-slug: Archive/Misc_top_level
-translation_of: Archive/Misc_top_level
----
-<p>In progress. These pages were moved from the top level of MDN in a spate of furious reorganization.</p>
-
-<p></p>
diff --git a/files/es/archive/misc_top_level/usar_las_preferencias_de_contenido/index.html b/files/es/archive/misc_top_level/usar_las_preferencias_de_contenido/index.html
deleted file mode 100644
index d188b50bf4..0000000000
--- a/files/es/archive/misc_top_level/usar_las_preferencias_de_contenido/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Usar las preferencias de contenido
-slug: Archive/Misc_top_level/Usar_las_preferencias_de_contenido
-tags:
- - Firefox 3
-translation_of: Archive/Misc_top_level/Using_content_preferences
----
-<p>
-Firefox 3 introduce el concepto de las preferencias sobre el contenido. Esto permite ejecutar código dentro del chrome (en otras palabras: las extensiones y el navegador en sí, no los sitios web) para guardar las preferencias a nivel local en cada sitio. Esto hace posible escribir una extensión que permita al usuario personalizar la apariencia de sitios web específicos (por ejemplo, poner el tamaño de letra más grande en los sitios que utilizan fuentes muy pequeñas).
-</p><p>El servicio de preferencias de contenido, ejecutado por <a href="es/NsIContentPrefService">nsIContentPrefService</a>, ofrece funciones para fijar y recuperar las preferencias para determinados sitios o preferencias globales. Las preferencias globales se utilizan cada vez que una preferencia para un sitio específico no está disponible.
-</p>
-<h3 id="Ejemplo:_Configurar_y_recuperar_preferencias" name="Ejemplo:_Configurar_y_recuperar_preferencias">Ejemplo: Configurar y recuperar preferencias</h3>
-<p>Este ejemplo demuestra como guardar preferencias y después recuperarlas </p>
-<pre class="eval">var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
-var prefService = Components.classes["@mozilla.org/content-pref/service;1"]
- .getService(Components.interfaces.nsIContentPrefService);
-
-// Crea un objeto URI con la referencia del sitio por el cual se guardará la preferencia
-var uri = ioSvc.newURI("<span class="nowiki">http://developer.mozilla.org/</span>", null, null);
-
-// Define el valor de la preferencia "devmo.somesetting" a "foo".
-
-prefService.setPref(uri, "devmo.somesetting", "foo");
-
-...
-
-// Devuelve el valor de la preferencia "devmo.somesetting".
-
-var value = prefService.getPref(uri, "devmo.somesetting");
-</pre>
-<h3 id="V.C3.A9ase_tambi.C3.A9n" name="V.C3.A9ase_tambi.C3.A9n">Véase también</h3>
-<p><code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code>, <code><a href="/es/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefObserver" title="">nsIContentPrefObserver</a></code>
-</p><p><br>
-</p><p><br>
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/mozilla/firefox/el_uso_de_microformatos/index.html b/files/es/archive/mozilla/firefox/el_uso_de_microformatos/index.html
deleted file mode 100644
index e264fc04c9..0000000000
--- a/files/es/archive/mozilla/firefox/el_uso_de_microformatos/index.html
+++ /dev/null
@@ -1,218 +0,0 @@
----
-title: El uso de microformatos
-slug: Archive/Mozilla/Firefox/El_uso_de_microformatos
-tags:
- - Firefox 3
- - Microformatos
-translation_of: Archive/Mozilla/Firefox/Using_microformats
----
-<p> Los microformatos permiten a un sitio web ofrecer datos semánticos a los navegadores de forma que sea posible presentar resúmenes de la información en una página sin que sea necesario saber cómo analizar el documento en si mismo. Firefox 3 implementa un objeto global <code>Microformats</code> que permite el acceso a estos microformatos. Este objeto y su API hacen de la búsqueda y lectura de microformatos, algo fácil.</p>
-
-<h2 id="Cargar_el_API_de_Microformatos" name="Cargar_el_API_de_Microformatos">Cargar el API de Microformatos</h2>
-
-<p>El objeto <code>Microformats</code> se crea usando el nuevo cargador de JavaScript integrado en Firefox 3. Para usar este API, primero necesitas cargar el objeto:</p>
-
-<pre class="eval"><span class="nowiki">Components.utils.import("resource://gre/modules/Microformats.js");</span>
-</pre>
-
-<p>Una vez cargado del API de Microformatos, puedes manejar los Microformatos usando los métodos que aquí listamos. Para información sobre cómo analizar los Microformatos, lee: <a href="es/Analizar_microformatos_en_JavaScript">Analizar microformatos en JavaScript</a>.</p>
-
-<h2 id="Microformatos_predefinidos" name="Microformatos_predefinidos">Microformatos predefinidos</h2>
-
-<p>Firefox 3 ofrece varios Microformatos integrados:</p>
-
-<dl>
- <dt><code><a href="es/El_Microformato_adr">adr</a></code></dt>
- <dd>Representa una dirección (como una calle o una dirección postal).</dd>
- <dt><code><a href="es/El_Microformato_geo">geo</a></code></dt>
- <dd>Representa una localización geográfica usando coordenadas de latitud y longitud.</dd>
- <dt><code><a href="es/El_Microformato_hCard">hCard</a></code></dt>
- <dd>Representa la información de contacto de una persona.</dd>
- <dt><code><a href="es/El_Microformato_hCalendar">hCalendar</a></code></dt>
- <dd>Representa una entrada en un calendario o la cita en una agenda.</dd>
- <dt><code><a href="es/El_Microformato_tag">tag</a></code></dt>
- <dd>Se usa para añadir pestañas a otros Microformatos.</dd>
-</dl>
-
-<h2 id="M.C3.A9todos" name="M.C3.A9todos">Métodos</h2>
-
-<h3 id="add.28.29" name="add.28.29">add()</h3>
-
-<p>Añade un nuevo Microformato al módulo de Microformatos.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Si ya existe un microformato con el mismo nombre, será reemplazado por el nuevo.</p>
-</div>
-
-<pre class="eval">add(name, definition);
-</pre>
-
-<h6 id="Par.C3.A1metros" name="Par.C3.A1metros">Parámetros</h6>
-
-<dl>
- <dt>name</dt>
- <dd>El nombre del microformato a añadir al módulo.</dd>
- <dt>definición</dt>
- <dd>Una estructura JavaScript que describe el microformato. Ver <a href="es/Crear_microformatos_en_JavaScript">Crear microformatos en JavaScript</a> para más detalles.</dd>
-</dl>
-
-<h3 id="count.28.29" name="count.28.29">count()</h3>
-
-<p>Cuenta el número de microformatos que hay en un documento que cumple con determinado criterio.</p>
-
-<pre class="eval">numMicroformats = Microformats.count(name, rootElement, options);
-</pre>
-
-<h6 id="Par.C3.A1metros_2" name="Par.C3.A1metros_2">Parámetros</h6>
-
-<dl>
- <dt>name</dt>
- <dd>El nombre del microformato que queremos contar.</dd>
- <dt>rootElement</dt>
- <dd>Requerido. El elemento DOM en dónde empezar la búsqueda. Si deseas buscar en el documento entero, especifica <code>content.document</code>.</dd>
- <dt>options</dt>
- <dd>Opcional. Cuando se especifica, este es un objeto JavaScript que contiene cero o más de los siguientes flag:</dd>
-</dl>
-
-<blockquote>
-<dl>
- <dt>recurseExternalFrames</dt>
- <dd>Si es <code>true</code>, se incluyen los marcos (frames) hijos en la búsqueda. Por defecto es <code>true</code>.</dd>
- <dt>showHidden</dt>
- <dd>Si es <code>true</code>, se añaden microformatos ocultos, en caso contrario, se ignoran. Por defecto es <code>false</code>.</dd>
- <dt>debug</dt>
- <dd>Se especifica a <code>true</code> cuando se usa el modo de "debug", en caso contrario es <code>false</code>. Por defecto es <code>false</code>.</dd>
-</dl>
-</blockquote>
-
-<h6 id="Valor_devuelto" name="Valor_devuelto">Valor devuelto</h6>
-
-<p>Un valor entero que indica el número de microformatos que cumplen el criterio especificado.</p>
-
-<h3 id="debug.28.29" name="debug.28.29">debug()</h3>
-
-<p>Devuelve una cadena que describe un objeto microformato.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Pueds simplemente llamar a <code>debug()</code> en un objeto microformato: <code>microformatObject.debug()</code> en lugar de usar este método, si lo prefieres.</p>
-</div>
-
-<pre class="eval">dumpString = debug(microformatObject)
-</pre>
-
-<h6 id="Par.C3.A1metros_3" name="Par.C3.A1metros_3">Parámetros</h6>
-
-<dl>
- <dt>microformatObject</dt>
- <dd>El objeto microformato a descargar.</dd>
-</dl>
-
-<h6 id="Valor_devuelto_2" name="Valor_devuelto_2">Valor devuelto</h6>
-
-<p>Una cadena que describe el contenido del objeto microformato especificado.</p>
-
-<h3 id="get.28.29" name="get.28.29">get()</h3>
-
-<p>Devuelve una matriz de objetos microformato encontrados, que cumplen con el criterio especificado.</p>
-
-<pre class="eval">microformatsArray = Microformats.get(name, rootElement, options, targetArray);
-</pre>
-
-<h6 id="Par.C3.A1metros_4" name="Par.C3.A1metros_4">Parámetros</h6>
-
-<dl>
- <dt>name</dt>
- <dd>El nombre del microformato a encontrar.</dd>
- <dt>rootElement</dt>
- <dd>Requerido. El elemento DOM donde debe comenzar la búsqueda. Si quieres buscar el documento entero, especifica <code>content.document</code>.</dd>
- <dt>options</dt>
- <dd>Opcional. Si se especifica, es un objeto JavaScript que contiene cero o más de los siguientes flag:</dd>
-</dl>
-
-<blockquote>
-<dl>
- <dt>recurseExternalFrames</dt>
- <dd>Si es <code>true</code>, se incluyen los marcos hijo que hagan referencia a contenido externo, en la búsqueda. Por defecto es <code>true</code>.</dd>
- <dt>showHidden</dt>
- <dd>Si es <code>true</code>, se incluyen los microformatos ocultos, en caso contrario se ignoran. Por defecto es <code>false</code>.</dd>
- <dt>debug</dt>
- <dd>Especifica <code>true</code> si se está en modo "debug", en caso contrario es <code>false</code>. Por defecto es <code>false</code>.</dd>
-</dl>
-</blockquote>
-
-<dl>
- <dt>targetArray</dt>
- <dd>Opcional. Cuando se especifica, es una matriz de objetos microformatos en donde se añaden lso objetos microformato resultantes de la búsqueda.</dd>
-</dl>
-
-<h6 id="Valor_devuelto_3" name="Valor_devuelto_3">Valor devuelto</h6>
-
-<p>Una nueva matriz de objetos microformato que cumplen con el criterio de búsqueda, o la matriz especificada por microformats con los nuevos microformatos encontrados añadidos.</p>
-
-<h3 id="getNamesFromNode.28.29" name="getNamesFromNode.28.29">getNamesFromNode()</h3>
-
-<p>Devuelve una lista, delimitada por espacios, de nombres de microformatos que corresponde al nodo especificado.</p>
-
-<pre class="eval">nameList = Microformats.getNamesFromNode(node);
-</pre>
-
-<h6 id="Par.C3.A1metros_5" name="Par.C3.A1metros_5">Parámetros</h6>
-
-<dl>
- <dt>node</dt>
- <dd>El nodo en el cual leer una lista de nombres de microformatos.</dd>
-</dl>
-
-<h6 id="Valor_devuelto_4" name="Valor_devuelto_4">Valor devuelto</h6>
-
-<p>Si el node especificado es un microformato, el resultado es una cadena conteniendo, delimitados por especios, los nombres de todos los microformatos que corresponden al nodo. Si el nodo no es un microformato, no se devuelve nada.</p>
-
-<h3 id="getParent.28.29" name="getParent.28.29">getParent()</h3>
-
-<p>Devuelve el nodo padre del microformato especificado o hijo de un microformato.</p>
-
-<pre class="eval">parentNode = Microformats.getParent(node);
-</pre>
-
-<h6 id="Par.C3.A1metros_6" name="Par.C3.A1metros_6">Parámetros</h6>
-
-<dl>
- <dt>node</dt>
- <dd>El nodo cuyo padre quieres obtener.</dd>
-</dl>
-
-<h6 id="Valor_devuelto_5" name="Valor_devuelto_5">Valor devuelto</h6>
-
-<p>El padre del nodo especificado. No devuelve nada si el node especificado no es un microformato o el hijo de un microformato.</p>
-
-<h3 id="isMicroformat.28.29" name="isMicroformat.28.29">isMicroformat()</h3>
-
-<p>Determina si el nodo DOM especificado es o no un microformato.</p>
-
-<pre class="eval">flag = Microformats.isMicroformat(node);
-</pre>
-
-<h6 id="Par.C3.A1metros_7" name="Par.C3.A1metros_7">Parámetros</h6>
-
-<dl>
- <dt>node</dt>
- <dd>El nodo DOM a comprobar si es un microformato.</dd>
-</dl>
-
-<h6 id="Valor_devuelto_6" name="Valor_devuelto_6">Valor devuelto</h6>
-
-<p>Devuelve <code>true</code> si el nodo es un microformato y <code>false</code> en caso contrario.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> Este método<em>no</em> devuelve <code>true</code> si el nodo es hijo de un microformato.</p>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<p> </p>
-
-<ul>
- <li><a href="http://www.microformats.org/" title="http://www.microformats.org">Microformats.org</a></li>
-</ul>
-
-<p> </p>
diff --git a/files/es/archive/mozilla/firefox/index.html b/files/es/archive/mozilla/firefox/index.html
deleted file mode 100644
index 9e61c718ff..0000000000
--- a/files/es/archive/mozilla/firefox/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Firefox
-slug: Archive/Mozilla/Firefox
-translation_of: Archive/Mozilla/Firefox
----
-<p>In progress. Out-of-date information about the Firefox project.</p>
-
-<p></p>
diff --git a/files/es/archive/mozilla/firefox/soap_en_los_navegadores_basados_en_gecko/index.html b/files/es/archive/mozilla/firefox/soap_en_los_navegadores_basados_en_gecko/index.html
deleted file mode 100644
index 0ab155e7b2..0000000000
--- a/files/es/archive/mozilla/firefox/soap_en_los_navegadores_basados_en_gecko/index.html
+++ /dev/null
@@ -1,264 +0,0 @@
----
-title: SOAP en los navegadores basados en Gecko
-slug: Archive/Mozilla/Firefox/SOAP_en_los_navegadores_basados_en_Gecko
-tags:
- - SOAP
- - Servicios_Web_XML
- - Todas_las_Categorías
-translation_of: Archive/Mozilla/Firefox/SOAP_in_Gecko-based_Browsers
----
-<p> </p>
-<p>Este artículo muestra cómo acceder a los servicios web utilizando las posibilidades de SOAP y JavaScript disponibles en los últimos navegadores basados en Gecko.</p>
-<h3 id="Introducci.C3.B3n" name="Introducci.C3.B3n">Introducción</h3>
-<p><a class="external" href="http://www.w3.org/TR/SOAP/">SOAP</a> (Simple Object Access Protocol, protocolo simple de acceso a objetos) es la base sobre la que se construyen los servicios web. Es un protocolo basado en XML utilizado para poder comunicarse e interoperar con los servicios web. Mozilla 1.0 (sobre el cual ha sido construido Netscape 7.0x) y Firefox son capaces de comunicarse directamente con los servicios web a través de su implementación de SOAP a bajo nivel a través de JavaScript.</p>
-<p>La interfaz de JavaScript de Gecko que establece llamadas SOAP es una API de bajo nivel que precisa de una para construir el mensaje SOAP utilizando varios objetos de JavaScript específicos para SOAP. Este artículo explicará las operaciones básicas de SOAP. Para más detalles véase la API de SOAP a bajo nivel en Gecko <a class="external" href="http://lxr.mozilla.org/mozilla/source/extensions/webservices/docs/Soap_Scripts_in_Mozilla.html">aquí</a>.</p>
-<p><span class="comment">Traducido cross domain access como acceso multidominio ¿¿??</span> El uso de JavaScript para la comunicación con los servicios web está sujeto a las mismas políticas de seguridad que otros scripts en términos de acceso multidominio. Por tanto, el acceso a servicios web ubicados en servidores distintos al servidor en el que se está ejecutando JavaScript violará la política de multidominio. Este artículo mostrará cómo esquivar temporalmente esto para hacer pruebas.</p>
-<h3 id="Configurar_una_llamada_SOAP" name="Configurar_una_llamada_SOAP">Configurar una llamada SOAP</h3>
-<p>El objeto más básico es <code>SOAPCall</code>, el cual es usado para iniciar e invocar una llamada SOAP.</p>
-<p>Figura 1 : Configuración básica e invocación de una llamada SOAP</p>
-<pre>var mySOAPCall = new SOAPCall();
-mySOAPCall.transportURI = "http-based service URI"
-
-var parameters = new Array();
-mySOAPCall.encode(SOAPCall.VERSION_1_1,
- // method
- "method", "namespaceURI",
- // header block
- 0, null,
- // parameter
- parameters.length, parameters);
-
-var response = mySOAPCall.invoke();
-</pre>
-<p>El objeto <code>SOAPCall</code> posee un miembro llamado <code>transportURI</code> que es el URI de la localización a donde se debe enviar la llamada SOAP. El método <code>encode()</code> necesita el nombre del método a llamar en el servicio web, su
- <i>
- namespaceURI</i>
- , el número de
- <i>
- SOAPParameters</i>
- pasados y un array de
- <i>
- SOAPParameters</i>
- que contendrá todos los parámetros. Todos estos parámetros pueden conocerse en el fichero WSDL del servicio web, el cual será explicado en la sección de ejemplos.</p>
-<p>Los parámetros SOAP son creados usando el objeto <code>SOAPParameter</code>. Son pares de nombre/valor que son pasados al servicio web.</p>
-<p>Figura 2: Crear un parámetro SOAP</p>
-<pre>var param = new SOAPParameter();
-param.name = "translationmode";
-param.value = "en_fr";
-</pre>
-<h3 id="Manejar_una_respuesta" name="Manejar_una_respuesta">Manejar una respuesta</h3>
-<p>Una vez <code>invoke()</code> ha sido llamado, Gecko genera el contenedor SOAP y lo envía al URI especificado. Como la petición es síncrona, la respuesta es el valor devuelto desde <code>invoke()</code>.</p>
-<p>Figura 3 : Manejar la respuesta de una llamada SOAP</p>
-<pre>var returnObject = mySOAPCall.invoke();
-
-if(returnObject.fault){
- alert("An error occured: " + returnObject.fault.faultString);
-} else {
- var response = new Array();
- response = returnObject.getParameters(false, {});
- alert("Return value: " + response[0].value);
-}
-</pre>
-<p>El valor devuelto desde <code>invoke()</code> se guarda y comprueba en el miembro <code>fault</code>. Si éste existe, entonces ocurrió un error en el servicio web y el mensaje de error se guarda en <code>fault.faultString</code>. Si <code>fault</code> no existe, se puede llamar a la función <code>getParameters()</code> del objeto retornado para obtener los SOAPParameters devueltos.</p>
-<h3 id="Ejemplo" name="Ejemplo">Ejemplo</h3>
-<p>El siguiente ejemplo utiliza un servicio web real, Bablfish, proporcionado por <a class="external" href="http://www.xmethods.net/">xmethods.net</a>. El servicio web Babelfish permite la traducción entre varios idiomas. Toma como entrada dos parámetros: una cadena con formato "&lt;idioma_original&gt;_&lt;idioma_destino&gt;" y otra cadena con el texto a traducir. El fichero WSDL para el servicio web de Bablfish está disponible <a class="external" href="http://www.xmethods.net/sd/2001/BabelFishService.wsdl">aquí</a> y contiene toda la información necesaria para configurar y hacer una llamada SOAP de bajo nivel al servicio web.</p>
-<p>El primer paso es conocer la localización del servicio web, la cual será el valor del miembro <code>transportURI</code> de <code>SOAPCall</code>. Esto se puede sacar del elemento <code>service</code> del WSDL, concretamente del atributo <code>location</code> de <code>soap:address</code>.</p>
-<p>Figura 4 : Obtener la localización del servicio web a partir de su WSDL</p>
-<pre class="eval"><strong>WSDL:</strong>
- &lt;service name="BabelFishService"&gt;
- &lt;documentation&gt;
- Translates text of up to 5k in length, between a variety of languages.
- &lt;/documentation&gt;
- &lt;port name="BabelFishPort" binding="tns:BabelFishBinding"&gt;
- <span style="color: green;">&lt;soap:address location="<span class="nowiki">http://services.xmethods.net:80/perl/soaplite.cgi</span>"/&gt;</span>
- &lt;/port&gt;
- &lt;service&gt;
-
-<strong>JavaScript:</strong>
- var babelFishCall = new SOAPCall();
- babelFishCall.transportURI = "<span class="nowiki">http://services.xmethods.net:80/perl/soaplite.cgi</span>";
- ...
-</pre>
-<p>El siguiente paso es el más complicado: conocer exactamente qué parámetros espera recibir el servicio web. El servicio web de Babelfish sólo tiene un método, "Babelfish", el cual está representado en el WSDL en las etiquetas <code>operation</code> y que son hijas del elemento <code>portType</code>. Cada <code>operation</code> del WSDL tiene dos hijos: los elementos <code>input</code> y <code>output</code>, los cuales contienen el tipo esperado. Los tipos están definidos en los elementos <code>message</code> de los cuales hay dos: <code>BabelFishRequest</code>, que es lo que va a ser pasado al servicio web y <code>babelFishResponse</code>, que es el tipo devuelto.</p>
-<p>BabelFish espera recibir dos parámetros de entrada: <code>translationmode</code> y <code>sourcedata</code>. El ejemplo mostrado en la figura 5 traducirá la cadena "I am" del inglés al francés.</p>
-<p>Figura 5 : Estableciendo los parámetros necesarios</p>
-<pre class="eval"><strong>WSDL:</strong>
- &lt;message <span style="color: blue;">name="BabelFishRequest"&gt;</span>
- <span style="color: green;">&lt;part name="translationmode" type="xsd:string"/&gt;</span>
- <span style="color: green;">&lt;part name="sourcedata" type="xsd:string"/&gt;</span>
- &lt;/message&gt;
-
- &lt;message name="BabelFishResponse"&gt;
- &lt;part name="return" type="xsd:string"/&gt;
- &lt;/message&gt;
-
- &lt;portType name="BabelFishPortType"&gt;
- &lt;operation name="BabelFish"&gt;
- <span style="color: green;">&lt;input message="tns:BabelFishRequest"/&gt;</span>
- &lt;output message="tns:BabelFishResponse"/&gt;
- &lt;/operation&gt;
- &lt;/portType&gt;
-
-<strong>JavaScript:</strong>
- // SOAP parameters
- var param1 = new SOAPParameter();
- param1.value = "en_fr";
- param1.name = "translationmode";
-
- var param2 = new SOAPParameter();
- param2.value = "I am";
-
- param2.name = "sourcedate";
-
- // combine the 2 params into an array
- var myParamArray = [param1,param2];
-</pre>
-<p>Luego, es hora de configurar e invocar el objeto <code>SOAPCall</code>. "BabelFish" es el método usado por el ejemplo para el servicio web. El siguiente parámetro es el espacio de nombres que se espera para pasárselo al servicio web para el método <code>BabelFish</code>.</p>
-<p>Esto se puede saber mirando el elemento <code>binding</code> del WSDL. El elemento <code>binding</code> tiene un hijo <code>operation</code> para el método <code>BabelFish</code>. El espacio de nombres necesarios es el valor del atributo <code>namespace</code> de <code>soap:body</code> dentro del elemento <code>input</code>.</p>
-<p>Figura 6 : Configurando el método <code>encode</code></p>
-<pre class="eval"><strong>WSDL:</strong>
- &lt;binding name="BabelFishBinding" type="tns:BabelFishPortType"&gt;
- &lt;soap:binding style="rpc" transport="<span class="nowiki">http://schemas.xmlsoap.org/soap/http</span>"/&gt;
- &lt;operation name="BabelFish"&gt;
- &lt;soap:operation soapAction="urn:xmethodsBabelFish#BabelFish"/&gt;
- &lt;input&gt;
- <span style="color: green;">&lt;soap:body use="encoded" namespace="urn:xmethodsBabelFish"
- encodingStyle="<span class="nowiki">http://schemas.xmlsoap.org/soap/encoding/</span>"/&gt;</span>
- &lt;/input&gt;
- ...
- &lt;/operation&gt;
- &lt;/binding&gt;
-
-<strong>JavaScript:</strong>
- babelFishCall.encode(0, "BabelFish", "urn:xmethodsBabelFish", 0, null, myParamArray.length, myParamArray);
-
- var translation = babelFishCall.invoke();
-</pre>
-<p>Como muestra la figura 5, la respuesta del método de BabelFish ("BabelFishResponse") tiene un parámetro, concretamente una cadena de texto. Tras asegurarnos de que no se ha devuelto un error, el método <code>getParameters()</code> del objeto devuelto es usado para obtener un array de SOAPResponses. Dado que se espera un solo parámetro (el texto traducido), el método <code>alert()</code> será usado para mostrar dicha traducción.</p>
-<p>Figura 7 : Manejando la respuesta</p>
-<pre class="eval"><strong>JavaScript:</strong>
- if(translation.fault){
- // error returned from the web service
- alert(translation.fault.faultString);
- } else {
- // we expect only one return SOAPParameter - the translated string.
- var response = new Array();
- response = translation.getParameters(false, {});
- alert("Translation: " + response[0].value);
- }
-</pre>
-<p>Como se dijo en la introducción, las llamadas SOAP obedecen la política de acceso multidominio en los scripts.</p>
-<p>Existen dos formas de rodear la política de seguridad para hacer pruebas:</p>
-<dl>
- <dd>
-  </dd>
-</dl>
-<ol>
- <li>
- <p>Ejecuta el script en el disco local.</p>
- <p>Guarda el código localmente en tu disco duro.</p>
- <p>El modelo de seguridad multidomino no afecta al código ejecutado desde el disco duro local.</p>
- </li>
- <li>
- <p>Habilita el acceso multidominio</p>
- <p>Se puede saltar la comprobación multidominio estableciendo una opción como se explica en el artículo <a href="es/Bypassing_Security_Restrictions_and_Signing_Code">Bypassing Security Restrictions and Signing Code</a> y añadiéndolo al comando JavaScript para decirle a la petición que ignore la comprobación multidominio.</p>
- <p>Tras sortear la comprobación, ejecuta el navegador y carga esta <a class="external" href="http://developer.mozilla.org/samples/soap/example-crossdomain.html">página con el ejemplo modificado</a>. Te preguntará (mediante un cuadro de diálogo) los permisos para desactivar el multidominio (para esa sesión) para la función generadora de la llamada SOAP. El único cambio realizado ha sido añadir <code>netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");</code> a la función que genera la llamada SOAP.</p>
- </li>
-</ol>
-<p>Figura 8 : Código final - <a class="external" href="http://developer.mozilla.org/samples/soap/example.html">Ejemplo local</a>, <a class="external" href="http://developer.mozilla.org/samples/soap/example-crossdomain.html">Ejemplo multidominio</a></p>
-<pre class="eval"><strong>JavaScript:</strong>
- var babelFishCall = new SOAPCall();
- babelFishCall.transportURI = "<span class="nowiki">http://services.xmethods.net:80/perl/soaplite.cgi</span>";
-
- // SOAP params
- var param1 = new SOAPParameter();
- param1.value = "en_fr";
- param1.name = "translationmode";
-
- var param2 = new SOAPParameter();
- param2.value = "I am";
- param2.name = "sourcedate";
-
- // combine the 2 params into an array
- var myParamArray = [param1,param2];
-
- babelFishCall.encode(0, "BabelFish", "urn:xmethodsBabelFish", 0, null, myParamArray.length, myParamArray);
-
- var translation = babelFishCall.invoke();
-
- if(translation.fault){
- // error returned from the web service
- alert(translation.fault.faultString);
- } else {
- // we expect only one return SOAPParameter - the translated string.
- var response = new Array();
- response = translation.getParameters(false, {});
- alert("Translation: " + response[0].value);
- }
-</pre>
-<h3 id="Tras_la_pista_del_contenedor_Soap" name="Tras_la_pista_del_contenedor_Soap">Tras la pista del contenedor Soap</h3>
-<p>Aquí se muestra un volcado HTTP (usando la aplicación multiplataforma <a class="external" href="http://www.ethereal.com/">Ethereal</a>) de lo que realmente se envía y se recibe cuando se ejecuta el ejemplo:</p>
-<p>Figura 9 : Volcado HTTP</p>
-<pre class="eval"><strong>Sent:</strong>
-POST /perl/soaplite.cgi HTTP/1.1
-Host: services.xmethods.net:80
-...
-Content-Type: text/xml
-Content-Length: 516
-
-&lt;env:Envelope xmlns:env="<span class="nowiki">http://schemas.xmlsoap.org/soap/envelope/</span>"
- xmlns:enc="<span class="nowiki">http://schemas.xmlsoap.org/soap/encoding/</span>"
- env:encodingStyle="<span class="nowiki">http://schemas.xmlsoap.org/soap/encoding/</span>"
- xmlns:xs="<span class="nowiki">http://www.w3.org/1999/XMLSchema</span>"
- xmlns:xsi="<span class="nowiki">http://www.w3.org/1999/XMLSchema-instance</span>"&gt;
- &lt;env:Header/&gt;
- &lt;env:Body&gt;
- &lt;a0:BabelFish xmlns:a0="<span style="color: green;">urn:xmethodsBabelFish</span>"&gt;
- <span style="color: green;">&lt;a0:translationmode xsi:type="xs:string"&gt;en_fr&lt;/a0:translationmode&gt;</span>
- <span style="color: green;">&lt;a0:sourcedata xsi:type="xs:string"&gt;I am&lt;/a0:sourcedata&gt;</span>
- &lt;/a0:BabelFish&gt;
- &lt;/env:Body&gt;
-&lt;/env:Envelope&gt;
-
-
-<strong>Recieved:</strong>
-HTTP/1.1 200 OK
-Date: Tue, 11 Mar 2003 20:28:11 GMT
-Server: Apache/1.3&amp; (Unix) Enhydra-Director/3 PHP/4.0.6 DAV/1.0.3 AuthNuSphere/1.0.0
-SOAPServer: SOAP::Lite/Perl/0.52
-Content-Length: 532
-
-...
-Content-Type: text/xml; charset=utf-8
-
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;SOAP-ENV:Envelope xmlns:SOAP-ENC="<span class="nowiki">http://schemas.xmlsoap.org/soap/encoding/</span>"
- SOAP-ENV:encodingStyle="<span class="nowiki">http://schemas.xmlsoap.org/soap/encoding/</span>"
- xmlns:SOAP-ENV="<span class="nowiki">http://schemas.xmlsoap.org/soap/envelope/</span>"
- xmlns:xsi="<span class="nowiki">http://www.w3.org/1999/XMLSchema-instance</span>"
- xmlns:xsd="<span class="nowiki">http://www.w3.org/1999/XMLSchema</span>"&gt;
- &lt;SOAP-ENV:Body&gt;
- &lt;namesp1:BabelFishResponse xmlns:namesp1="urn:xmethodsBabelFish"&gt;
- <span style="color: green;">&lt;return xsi:type="xsd:string"&gt;je suis&lt;/return&gt;</span>
- &lt;/namesp1:BabelFishResponse&gt;
- &lt;/SOAP-ENV:Body&gt;
-&lt;/SOAP-ENV:Envelope&gt;
-</pre>
-<h3 id="Recursos" name="Recursos">Recursos</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/extensions/webservices/docs/Soap_Scripts_in_Mozilla.html">SOAP Scripts in Mozilla</a> por Ray Whitmer<br>
- <a class="external" href="http://www.oreillynet.com/lpt/a/2677">Using the Mozilla SOAP API</a> por Scott Andrew LePera and Apple Developer Connection.<br>
- <a class="external" href="http://www.w3.org/TR/soap12-part1/">The Latest w3.org SOAP Specification</a><br>
- <a class="external" href="http://www.onlamp.com/lpt/a/5981">Calling SOAP Servers from JS in Mozilla</a> OnLamp.com article by Zachary Kessin<br>
- <a class="external" href="http://www.xulplanet.com/references/objref/SOAPCall.html">SOAPCall documentation on XULPlanet.com</a><br>
- <a class="external" href="http://www.xulplanet.com/references/objref/SOAPResponse.html">SOAPResponse documentation on XULPlanet.com</a></p>
-<div class="originaldocinfo">
- <h3 id="Informaci.C3.B3n_del_documento_original" name="Informaci.C3.B3n_del_documento_original">Información del documento original</h3>
- <ul>
- <li>Author(s): Doron Rosenberg</li>
- <li>Published: March 14, 2003</li>
- <li>Copyright Information: Copyright © 2001-2003 Netscape.</li>
- <li>Original Location: <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2003/soap/01/index_en.html" rel="freelink">http://devedge-temp.mozilla.org/view.../index_en.html</a></li>
- <li>Note: This reprinted article was originally part of the DevEdge site.</li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/es/archive/mozilla/index.html b/files/es/archive/mozilla/index.html
deleted file mode 100644
index 855e3e8ae6..0000000000
--- a/files/es/archive/mozilla/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Archived Mozilla and build documentation
-slug: Archive/Mozilla
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Mozilla
----
-<p>These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.</p>
-<p></p><dl><dt class="landingPageList"><a href="/es/docs/Introducci%C3%B3n_a_la_extensi%C3%B3n_de_la_API_de_audio">Introducción a la extension del API de audio</a></dt><dd class="landingPageList">La extension de audio de la API se extiende de la especificación de HTML5 {HTMLElement("audio")}} y <a href="/es/docs/HTML/Elemento/video" title="This article hasn't been written yet. Please consider contributing!"><code>&lt;video&gt;</code></a> multimedia mediante la exposición de elementos metadata de audio y datos puros en audio. Esto permite a los usuarios visualizar los datos de audio, para procesarlos y crear nuevos datos de audio.</dd><dt class="landingPageList"><a href="/es/docs/Archive/Mozilla/Table_Layout_Regression_Tests">Table Layout Regression Tests</a></dt><dd class="landingPageList">Changes in layout, parser and content code can have unintended side effects, also known as regressions. It is good style to check for these unwanted regressions and fixing them before checkin rather than causing Bugzilla avalanches.</dd></dl><p></p>
diff --git a/files/es/archive/mozilla/jetpack/index.html b/files/es/archive/mozilla/jetpack/index.html
deleted file mode 100644
index 7e80cca2b8..0000000000
--- a/files/es/archive/mozilla/jetpack/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Jetpack
-slug: Archive/Mozilla/Jetpack
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Mozilla/Jetpack
----
-<p><img alt="" class="internal" src="/@api/deki/files/3848/=jetpack_icon_47x60.png" style="float: left; height: 48px; margin-right: 6px; width: 37px;"></p>
-
-<h1 id="Jetpack">Jetpack</h1>
-
-<p><span class="author-g-abp0twjvvqmqlouk">Jetpack is a project to make it easy to build Firefox add-ons using common web technologies.</span></p>
-
-<div>
-<h4 id="GettingStarted" name="GettingStarted">Get Started</h4>
-
-<ol>
- <li>Visit the <a class="link-https" href="https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/index.html#getting-started">Getting Started tutorial</a></li>
- <li><a class="link-https" href="https://ftp.mozilla.org/pub/mozilla.org/labs/jetpack/jetpack-sdk-latest.zip" title="https://ftp.mozilla.org/pub/mozilla.org/labs/jetpack/jetpack-sdk-latest.zip">Download</a> the Add-on SDK (formerly called the Jetpack SDK)</li>
-</ol>
-
-<h4 id="GettingStarted" name="GettingStarted">Documentation</h4>
-
-<ul>
- <li>Check out the <a class="link-https" href="https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/index.html">documentation</a>, including tutorials, examples, guides, and API reference</li>
-</ul>
-
-<h4 id="GettingStarted" name="GettingStarted">Join the Jetpack Community</h4>
-
-<ul>
- <li>Follow Jetpack on the <a class="external" href="http://blog.mozilla.com/addons/category/jetpack/" title="http://blog.mozilla.com/addons/category/jetpack/">Mozilla Add-ons Blog</a></li>
- <li><a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Add-on%20SDK&amp;component=General" title="https://bugzilla.mozilla.org/enter_bug.cgi?product=Add-on SDK&amp;component=General">Report</a> a bug</li>
- <li>Check out the <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&amp;resolution=---&amp;resolution=DUPLICATE&amp;query_format=advanced&amp;product=Add-on%20SDK" title="https://bugzilla.mozilla.org/buglist.cgi?order=Bug Number&amp;resolution=---&amp;resolution=DUPLICATE&amp;query_format=advanced&amp;product=Add-on SDK">open bugs</a></li>
- <li><a class="external" href="http://groups.google.com/group/mozilla-labs-jetpack">Discuss</a> Jetpack</li>
- <li>Grab the <a class="link-https" href="https://github.com/mozilla/addon-sdk" title="http://hg.mozilla.org/labs/jetpack-sdk/">source code </a></li>
- <li>Join us in #jetpack on irc.mozilla.org</li>
-</ul>
-</div>
diff --git a/files/es/archive/mozilla/table_layout_regression_tests/index.html b/files/es/archive/mozilla/table_layout_regression_tests/index.html
deleted file mode 100644
index 564a8273bf..0000000000
--- a/files/es/archive/mozilla/table_layout_regression_tests/index.html
+++ /dev/null
@@ -1,204 +0,0 @@
----
-title: Table Layout Regression Tests
-slug: Archive/Mozilla/Table_Layout_Regression_Tests
-translation_of: Archive/Mozilla/Table_Layout_Regression_Tests
----
-<p></p><div class="warning warningHeader">
- <p><strong>Advertencia:</strong> <strong>The content of this article may be out of date.</strong> While the information on the layout debugger is still useful, the testing information is much less relevant now than it has been, as the "rtest" testing framework described here has been superseded by the <a class='"external"' href='"http://mxr.mozilla.org/mozilla/source/layout/tools/reftest/README.txt"'>reftest</a> framework. It is unclear whether or how well rtest continues to work and whether it is still used or not.</p>
-</div><p></p>
-
-<h3 id="Subject_Overview" name="Subject_Overview">Subject Overview</h3>
-
-<p>Changes in layout, parser and content code can have unintended side effects, also known as regressions. It is good style to check for these unwanted regressions and fixing them before checkin rather than causing Bugzilla avalanches.</p>
-
-<h3 id="Prerequisites" name="Prerequisites">Prerequisites</h3>
-
-<p>In order to run these tests, you will need to have:</p>
-
-<ol>
- <li>Make sure that your build is a <strong>debug</strong> <a href="en/Configuring_Build_Options">build</a> (in short you need <code>ac_add_options --enable-debug</code> in your <code>.mozconfig</code> file).</li>
- <li>to build the layoutdebugger itself, build either all extensions or include layoutdebug in your <code>.mozconfig</code> file. For example <code>ac_add_options --enable-extensions=all</code>.</li>
- <li>a Mozilla tree with the test files at <code>%MOZ_SRC%/layout/html/tests</code>,</li>
- <li><code>DISABLE_TESTS</code> should not be defined (so <code>ac_add_options --enable-tests</code>),</li>
- <li>patience and time.</li>
-</ol>
-
-<h3 id="Test_Runs" name="Test_Runs">Test Runs</h3>
-
-<ul>
- <li>Go to the <code>%MOZ_SRC%/layout/html/tests/block</code> directory.</li>
- <li>Avoid the nasty assertions to pop up by <code>set XPCOM_DEBUG_BREAK=warn</code>, the world would be a much better place if we could <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=152015">first fix those assertions</a>.</li>
- <li>As you will probably run your normal Mozilla in parallel with the testing issue then: <code>set MOZ_NO_REMOTE=1</code> at the command prompt.</li>
- <li>Start the layout debugger via <code>mozilla -layoutdebug - P foo</code> where <code>foo</code> is just another profile than your main profile.</li>
- <li>Select from the <code>Regression-Test</code> Menu the <code>Add New List...</code>entry.<br>
- <img alt="Menu display Add New List.."></li>
- <li>Select <code>%MOZ_SRC%/layout/html/tests/block/rtest.lst</code>.</li>
- <li>Execute the baseline test<br>
- <img alt="baseline run"></li>
- <li>Shutdown the layoutdebugger</li>
- <li>Execute <code>mozilla -layoutdebug - P foo &gt;selftest.txt</code></li>
- <li>Execute the verify test<br>
- <img alt="verify run"></li>
- <li>Make a note which tests have failed <code>grep 'failed' selftest.txt</code> (these are false positives, quite frequently they indicate reflow problems, pages showing differently when loaded from cache)</li>
- <li>Make your changes to the source, recompile.</li>
- <li>Execute <code>mozilla -layoutdebug - P foo &gt;outputfile.txt</code></li>
- <li>Execute the verify test</li>
- <li>Make a note which tests have failed <code>grep 'failed' outputfile.txt</code></li>
- <li>Check how many tests have failed and analyze your results:
- <ul>
- <li>If the regression tests have failed at the same place as the previous diagnosed false positives =&gt; ignore</li>
- <li>Try to figure out what the other regressions are: Are they improving the picture or are they regressions?</li>
- <li>Note the difficult to explain test failures.</li>
- </ul>
- </li>
- <li>Change the source if necessary until the regression tests indicate that your patch does not fork the block and table layout</li>
- <li>Submit your patch and lists the remaining differences in the bug</li>
-</ul>
-
-<p>Be prepared to cycle.</p>
-
-<h3 id="How_the_layout_regression_tests_work" name="How_the_layout_regression_tests_work">How the layout regression tests work</h3>
-
-<p>First the URL's to test are red from <code>rtest.lst</code> files in various directories. <code><a href="https://dxr.mozilla.org/mozilla-central/source/layout/html/tests/block/rtest.lst" rel="custom">layout/html/tests/block/rtest.lst</a></code> points to them.</p>
-
-<p>Snippet from rtest.lst in the <code>table/marvin</code> directory:</p>
-
-<pre>body_col.html
-body_tbody.html
-body_tfoot.html
-body_thead.html
-col_span.html
-</pre>
-
-<p>The regression tests compare the frame tree dumps recorded at two different times. The URL's to test are red from <code>rtest.lst</code>For every file in <code>rtest.lst</code> Mozilla takes the root frame and dumps the whole tree via <a href="http://mxr.mozilla.org/mozilla-central/search?string=nsFrame%3A%3ADumpRegression">nsFrame::DumpRegression</a>.</p>
-
-<p>The frame tree dumps are invoked by the <a href="https://dxr.mozilla.org/mozilla-central/source/layout/base/nsILayoutDebugger.h" rel="custom">nsILayoutDebugger</a>. The frame trees are dumped to separate files in a baseline or verify directory for all URL's in <code>rtest.lst</code> (see: <a href="http://mxr.mozilla.org/mozilla-central/ident?i=DumpFrameModel">nsRegressionTester::DumpFrameModel</a>).</p>
-
-<p>Their name is generated by replacing the old extension <code>.html</code> or <code>.xml</code> with <code>.rgd</code>. For <code>appendCells1.html</code> a file <code>appendCells1.rgd</code> will be created in the baseline or verify subdirectory.</p>
-
-<p>A typical beginning of a dump (<code><span class="nowiki">*.rgd</span></code> file) looks like:</p>
-
-<pre>&lt;frame va="15022440" type="Viewport(-1)" state="270340" parent="0"&gt;
- &lt;view va="47171904"&gt;
- &lt;/view&gt;
- &lt;stylecontext va="15022232"&gt;
-
- &lt;font serif 240 240 0 /&gt;
- &lt;color data="-16777216"/&gt;
- &lt;background data="0 2 3 -1 0 0 "/&gt;
- &lt;spacing data="left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0" /&gt;
- &lt;list data="100 100 " /&gt;
- &lt;position data="left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto " /&gt;
-
- &lt;text data="0 0 0 Normal Normal 0[0x0]tw Normal " /&gt;
- &lt;textreset data="0 10[0xa]enum " /&gt;
- &lt;display data="0 1 0 0 0 0 0 0 0 0 0 0 " /&gt;
- &lt;visibility data="0 1 1.000000" /&gt;
- &lt;table data="0 0 4 -1 1 " /&gt;
- &lt;tableborder data="1 Null Null 0 2 " /&gt;
-
- &lt;content data="0 0 0 Null " /&gt;
- &lt;quotes data="0 " /&gt;
- &lt;ui data="3 0 0 1 " /&gt;
- &lt;uireset data="7 0 4" /&gt;
- &lt;xul data="0 0 0 0 0 1 &lt;svg data="0 1.000000 1.000000 0 1.000000" /&gt;
- &lt;/stylecontext&gt;
-</pre>
-
-<p>The <code>baseline</code> log will look like:</p>
-
-<pre>Type Manifest File: e:\moz_src\mozilla\obj-i586-pc-msvc\dist\bin\components\xpti.dat
-+++ JavaScript debugging hooks installed.
-++WEBSHELL == 1
-++DOMWINDOW == 1
-++WEBSHELL == 2
-++DOMWINDOW == 2
-Note: styleverifytree is disabled
-Note: frameverifytree is disabled
-Note: verifyreflow is disabled
-++WEBSHELL == 3
-++DOMWINDOW == 3
-Running baseline test for E:\moz_src\mozilla\layout\html\tests\block\rtest.lst.
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\block\base\baseline\width-fixed_html.rgd
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\block\base\baseline\width-percent_html.rgd
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\block\base\baseline\margin1_html.rgd
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\block\base\baseline\pre_html.rgd
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\block\base\baseline\pre1_html.rgd
-</pre>
-
-<p>The second verify run creates first the frame dumps in the verify subdirectories (<code>verify</code>) and <a href="http://mxr.mozilla.org/mozilla-central/search?string=nsFrameUtil%3A%3ACompareTrees">compares</a> each frame dump with the corresponding reference frame dump. If they differ in critical points the test fails.</p>
-
-<p>A typical part of the <code>verify</code> log would look like:</p>
-
-<pre>Type Manifest File: e:\moz_src\mozilla\obj-i586-pc-msvc\dist\bin\components\xpti.dat
-+++ JavaScript debugging hooks installed.
-++WEBSHELL == 1
-++DOMWINDOW == 1
-++WEBSHELL == 2
-++DOMWINDOW == 2
-Note: styleverifytree is disabled
-Note: frameverifytree is disabled
-Note: verifyreflow is disabled
-++WEBSHELL == 3
-++DOMWINDOW == 3
-Running verify test for E:\moz_src\mozilla\layout\html\tests\block\rtest.lst.
-Writing regression data to E:\moz_src\mozilla\layout\html\tests\table\core\verify\standards1.rgd
-Comparing to regression data from E:\moz_src\mozilla\layout\html\tests\table\core\baseline\standards1.rgd
-frame bbox mismatch: 0,26437,4824,600 vs. 0,26437,4872,600
-Node 1:
- TableOuter(table)(144) 0x10004 0,26437,4824,600, |null attr|-16777216|left: 0[0x0]tw top: 0[0x0]tw right: 0[0x0]tw bottom: 0[0x0]tw left: 0[0x0]tw top: 0[0x0]tw right: 0[0x0]tw bottom: 0[0x0]tw left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 8 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Node 2:
- TableOuter(table)(144) 0x10004 0,26437,4872,600, |null attr|-16777216|left: 0[0x0]tw top: 0[0x0]tw right: 0[0x0]tw bottom: 0[0x0]tw left: 0[0x0]tw top: 0[0x0]tw right: 0[0x0]tw bottom: 0[0x0]tw left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 8 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-frame bbox mismatch: 0,0,4824,600 vs. 0,0,4872,600
-Node 1:
- Table(table)(144) 0x10004 0,0,4824,600, |null attr|-16777216|left: Null top: 0[0x0]tw right: Null bottom: 0[0x0]tw left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 2 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 8 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Node 2:
- Table(table)(144) 0x10004 0,0,4872,600, |null attr|-16777216|left: Null top: 0[0x0]tw right: Null bottom: 0[0x0]tw left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 2 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 8 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-frame bbox mismatch: 24,24,4776,552 vs. 24,24,4824,552
-Node 1:
- TableColGroup(table)(144) 0x80010004 24,24,4776,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 12 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Node 2:
- TableColGroup(table)(144) 0x80010004 24,24,4824,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 12 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-frame bbox mismatch: 0,0,2400,552 vs. 0,0,2424,552
-Node 1:
- TableCol(table)(144) 0x30010004 0,0,2400,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 11 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Node 2:
- TableCol(table)(144) 0x30010004 0,0,2424,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 11 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-frame bbox mismatch: 2424,0,2352,552 vs. 2448,0,2376,552
-Node 1:
- TableCol(table)(144) 0x30010004 2424,0,2352,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 11 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Node 2:
- TableCol(table)(144) 0x30010004 2448,0,2376,552, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null left: 1[0x1]enum top: 1[0x1]enum right: 1[0x1]enum bottom: 1[0x1]enum left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|1 1 [none]|left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |0 0 0 Normal Normal 0[0x0]tw Normal |0 11 1,000000 0 0 0 0 0 0 0 0 0 0 0 [none]|0 0 0 -1 1 |0 0 0 Null
-Comparison for file:///E:/moz_src/mozilla/layout/html/tests/table/core/baseline/standards1.rgd failed.
-</pre>
-
-<p>The first regression test has failed and it is marked so.</p>
-
-<h3 id="Adding_new_regression_tests" name="Adding_new_regression_tests">Adding new regression tests</h3>
-
-<p>Once you have checked in the code:</p>
-
-<ul>
- <li>please add your testcase for the bug to the regression tests.</li>
- <li>A testcase should only contain local files.</li>
- <li>Place the images in <code>table/images</code> <code>block/images</code> or (don't forget <code> cvs commit -kb</code>)</li>
- <li>and the test file in the <code>table/bugs</code> or <code>block/bugs</code> directory.</li>
- <li>Update the <code>rtest.lst</code> file in the corresponding directory in order to include your file.</li>
-</ul>
-
-<h3 id="Additional_Notes" name="Additional_Notes">Additional Notes</h3>
-
-<p>There is a special type of frame dumps - the printing regression tests, they are invoked by the <code>-Prt</code> command line argument to the <code>viewer</code> and include first a display then a frame dump taking into account the printer pages. Please contact if you need help with running those tests.</p>
-
-<p>I would like to thank Chris Karnaze for his guidance and fantasai for her language support.</p>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
-
-<ul>
- <li>Author(s): Bernd Mielke</li>
- <li>Other Contributors: Boris Zbarsky</li>
- <li>Last Updated Date: February 5, 2007</li>
- <li>Copyright Information: Portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a Creative Commons license | <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>.</li>
-</ul>
-</div>
diff --git a/files/es/archive/mozilla/xbl/index.html b/files/es/archive/mozilla/xbl/index.html
deleted file mode 100644
index 0cc0e0d40a..0000000000
--- a/files/es/archive/mozilla/xbl/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: XBL
-slug: Archive/Mozilla/XBL
-tags:
- - XBL
-translation_of: Archive/Mozilla/XBL
----
-<p>
-</p><p><b>XML Binding Language</b> (<b>XBL</b>, algunas veces simplemete denominado Extensible Bindings Language) es un lenguaje para describir vinculaciones que pueden ser adjuntadas a elementos en otros documentos. El elemento al cual el vinculado es añadido, llamado <i>elemento vinculado</i>, adquiere el nuevo comportamiento especificado por el vínculo.
-</p><p>Las vinculaciones pueden contener eventos handlers que son registrados en el elemento vinculado, una implementación de nuevos métodos y propiedades que ahora son accesibles por el elemento vinculado, y contenido anónimo que es insertado a través del elemento vinculado.
-</p><p>Muchos widgets <a href="es/XUL">XUL</a> son, por lo menos, parcialmente implementados usando XBL. Puedes construir tus propios widgets reusables a partir de <a href="es/XUL">XUL</a>, <a href="es/HTML">HTML</a>, <a href="es/SVG">SVG</a> existentes, y otras primitivas usando XBL.
-</p>
-<h3 id="Especificaciones"> Especificaciones </h3>
-<p>XBL 1.0 está especificado en <a href="es/XBL/Referencia_XBL_1.0">Referencia XBL 1.0</a>. Desafortunadamente, la implementación actual en Mozilla es diferente de la especificación, y no hay documento conocido donde se describan las diferencias. Afortunadamente, la Referencia será actualizada para describir dichas diferencias.
-</p><p>XBL 1.0 es una tecnología específica de Mozilla, y no un estándard <a class="external" href="http://w3.org/">W3C</a> . Sin embargo, al menos dos estándares estan siendo implementados: sXBL y XBL 2.0.
-</p>
-<ul><li> El estándard W3C <a class="external" href="http://w3.org/TR/sXBL/">sXBL</a> (actualmente un borrador) para <i>SVG's XML Binding Language</i>. Se supone que incluirá un subconjunto de características de XBL 2.0 necesarias para <a href="es/SVG">SVG</a>. Similar al XBL de Mozilla, pero con unas ligeras (y no tan ligeras) diferencias. Por ejemplo, los nombres de los elementos son distintos. Además sXBL carece de algunas características de XBL, como son herencias vinculadas y definición de métodos/propiedades en elementos vinculados.
-</li><li> <a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0</a> está siendo desarrollado para solventar problemas encontrados en XBL 1.0 y permitir implementaciones en un mayor número de navegadores.
-</li></ul>
-<p>Algunas diferencias entre sXBL y XBL2 están expuestas en <a class="external" href="http://annevankesteren.nl/2005/11/xbl">un artículo de Anne van Kesteren</a>.
-</p>
-<h3 id="Véase_también"> Véase también </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Introducci%c3%b3n_al_XBL">Introducción al XBL</a> desde el <a href="es/Tutorial_de_XUL">Tutorial de XUL</a>.
-</li><li> <a class="external" href="http://mb.eschew.org/15.php">XBL chapter</a> de <a class="external" href="http://mb.eschew.org/">"Rapid Application Development with Mozilla"</a>
-</li></ul>
-<ul><li> <a>Mas recursos sobre XBL...</a>
-</li></ul>
diff --git a/files/es/archive/mozilla/xul/action/index.html b/files/es/archive/mozilla/xul/action/index.html
deleted file mode 100644
index f44a54305b..0000000000
--- a/files/es/archive/mozilla/xul/action/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: action
-slug: Archive/Mozilla/XUL/action
-tags:
- - para_revisar
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/action
----
-<p><span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/es/docs/XUL/Elementos">Referencia de XUL</a> [
- <a href="#Examples">Ejemplos</a> |
- <a href="#Attributes">Atributos</a> |
- <a href="#Properties">Propiedades</a> |
- <a href="#Methods">Methoden</a> |
- <a href="#Related">Métodos</a> ]
-</span></p>
-<p>Utilizado para especificar el contenido que debe ser generado para cada resultado correspondiente de una consulta. La acción debe estar contenido dentro de un elemento <code><a href="/es/docs/Mozilla/Tech/XUL/query" title="query">query</a></code> o <code><a href="/es/docs/Mozilla/Tech/XUL/rule" title="rule">rule</a></code>.</p>
-<p>Un descendiente de la acción debe tener un atributo <code id="a-uri"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code> seteado a la variable miembro. Este elemento y sus descendientes pueden utilizar variables en lugar de valores de atributos. Las variables son un signo de interrogación seguido por un nombre. Por regla general, cada variable será una referencia a los datos dentro de la fuente de datos, determina a partir de la consulta. Si la misma variable aparece varias veces, tendrá el mismo valor en cada lugar.</p>
-<p>Para más información, ver <a href="/en/XUL/Template_Guide/Actions" title="en/XUL/Template_Guide/Actions">Acciones</a>.</p>
-<h3 id="Examples" name="Examples">Ejemplos</h3>
-<pre class="eval">se necesitan ejemplos
-</pre>
-<h3 id="Attributes" name="Attributes">Atributos</h3>
-<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);">
-<tbody>
-<tr>
-<td><p><strong>Heredados desde el elemento XUL</strong><br> <small>
-<code id="a-align"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>,
-<code id="a-allowevents"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>,
-<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>,
-<code id="a-class"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>,
-<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>,
-<code id="a-collapsed"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>,
-<code id="a-container"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>,
-<code id="a-containment"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>,
-<code id="a-context"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>,
-<code id="a-contextmenu"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>,
-<code id="a-datasources"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>,
-<code id="a-dir"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>,
-<code id="a-empty"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>,
-<code id="a-equalsize"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>,
-<code id="a-flags"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>,
-<code id="a-flex"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>,
-<code id="a-height"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>,
-<code id="a-hidden"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>,
-<code id="a-id"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>,
-<code id="a-insertafter"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>,
-<code id="a-insertbefore"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>,
-<code id="a-left"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>,
-<code id="a-maxheight"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>,
-<code id="a-maxwidth"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>,
-<code id="a-menu"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>,
-<code id="a-minheight"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>,
-<code id="a-minwidth"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>,
-<code id="a-mousethrough"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>,
-<code id="a-observes"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>,
-<code id="a-ordinal"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>,
-<code id="a-orient"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>,
-<code id="a-pack"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>,
-<code id="a-persist"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>,
-<code id="a-popup"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>,
-<code id="a-position"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>,
-<code id="a-preference-editable"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>,
-<code id="a-querytype"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>,
-<code id="a-ref"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>,
-<code id="a-removeelement"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>,
-<code id="a-sortDirection"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>,
-<code id="a-sortResource"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>,
-<code id="a-sortResource2"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>,
-<code id="a-statustext"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>,
-<code id="a-style"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>,
-<code id="a-template"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>,
-<code id="a-tooltip"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>,
-<code id="a-tooltiptext"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>,
-<code id="a-top"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>,
-<code id="a-uri"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>,
-<code id="a-wait-cursor"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>,
-<code id="a-width"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="Properties" name="Properties">Propiedades</h3>
-<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Propiedades Heredadas</strong><br> <small> <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/width">width</a></span></code></small></p> </td> </tr> </tbody>
-</table><h3 id="Methods" name="Methods">Métodos</h3>
-<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Métodos Heredados</strong><br> <small><code><a href="https://developer.mozilla.org/es/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.appendChild">appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.cloneNode">cloneNode()</a></code>, <a class="internal" href="/es/DOM/Node.compareDocumentPosition" title="es/DOM/Node.compareDocumentPosition">compareDocumentPosition</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getBoundingClientRect">getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getClientRects">getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByClassName">getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <a class="internal" href="/es/DOM/Node.getFeature" title="es/DOM/Node.getFeature">getFeature</a>, <a class="internal" href="/es/DOM/Node.getUserData" title="es/DOM/Node.getUserData">getUserData</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.isDefaultNamespace">isDefaultNamespace()</a></code>, <a class="internal" href="/es/DOM/Node.isEqualNode" title="es/DOM/Node.isEqualNode">isEqualNode</a>, <a class="internal" href="/es/DOM/Node.isSameNode" title="es/DOM/Node.isSameNode">isSameNode</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.isSupported">isSupported()</a></code>, <a class="internal" href="/es/DOM/Node.lookupNamespaceURI" title="es/DOM/Node.lookupNamespaceURI">lookupNamespaceURI</a>, <a class="internal" href="/es/DOM/Node.lookupPrefix" title="es/DOM/Node.lookupPrefix">lookupPrefix</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.querySelector">querySelector()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.querySelectorAll">querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code>, <a class="internal" href="/es/DOM/Node.setUserData" title="es/DOM/Node.setUserData">setUserData</a></small></p> </td> </tr> </tbody>
-</table>
diff --git a/files/es/archive/mozilla/xul/attribute/index.html b/files/es/archive/mozilla/xul/attribute/index.html
deleted file mode 100644
index 4914368c25..0000000000
--- a/files/es/archive/mozilla/xul/attribute/index.html
+++ /dev/null
@@ -1,304 +0,0 @@
----
-title: Atributos
-slug: Archive/Mozilla/XUL/Attribute
-translation_of: Archive/Mozilla/XUL/Attribute
----
-<div><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/es/docs/XUL/Elementos">Referencia de XUL</a></span></div>
-
-<ul>
- <li><a href="/es/XUL/Attribute/acceltext" title="es/XUL/Attribute/acceltext">acceltext</a></li>
- <li><a href="/es/XUL/Attribute/accessible" title="es/XUL/Attribute/accessible">accessible</a></li>
- <li><a href="/es/XUL/Attribute/accesskey" title="es/XUL/Attribute/accesskey">accesskey</a></li>
- <li><a href="/es/XUL/Attribute/activetitlebarcolor" title="es/XUL/Attribute/activetitlebarcolor">activetitlebarcolor</a> </li>
- <li><a href="/es/XUL/Attribute/afterselected" title="es/XUL/Attribute/afterselected">afterselected</a></li>
- <li><a href="/es/XUL/Attribute/align" title="es/XUL/Attribute/align">align</a></li>
- <li><a href="/es/XUL/Attribute/allowevents" title="es/XUL/Attribute/allowevents">allowevents</a></li>
- <li><a href="/es/XUL/Attribute/allownegativeassertions" title="es/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></li>
- <li><a href="/es/XUL/Attribute/alternatingbackground" title="es/XUL/Attribute/alternatingbackground">alternatingbackground</a></li>
- <li><a href="/es/XUL/Attribute/alwaysopenpopup" title="es/XUL/Attribute/alwaysopenpopup">alwaysopenpopup</a></li>
- <li><a href="/es/XUL/Attribute/attribute" title="es/XUL/Attribute/attribute">attribute</a></li>
- <li><a href="/es/XUL/Attribute/autoCheck" title="es/XUL/Attribute/autoCheck">autocheck</a></li>
- <li><a href="/es/XUL/Attribute/autoCheck" title="es/XUL/Attribute/autoCheck">autoCheck</a></li>
- <li><a href="/es/XUL/Attribute/autocompleteenabled" title="es/XUL/Attribute/autocompleteenabled">autocompleteenabled</a></li>
- <li><a href="/es/XUL/Attribute/autocompletepopup" title="es/XUL/Attribute/autocompletepopup">autocompletepopup</a></li>
- <li><a href="/es/XUL/Attribute/autocompletesearch" title="es/XUL/Attribute/autocompletesearch">autocompletesearch</a></li>
- <li><a href="/es/XUL/Attribute/autocompletesearchparam" title="es/XUL/Attribute/autocompletesearchparam">autocompletesearchparam</a></li>
- <li><a href="/es/XUL/Attribute/autoFill" title="es/XUL/Attribute/autoFill">autoFill</a></li>
- <li><a href="/es/XUL/Attribute/autoFillAfterMatch" title="es/XUL/Attribute/autoFillAfterMatch">autoFillAfterMatch</a></li>
- <li><a href="/es/XUL/Attribute/autoscroll" title="es/XUL/Attribute/autoscroll">autoscroll</a></li>
- <li><a href="/es/XUL/Attribute/beforeselected" title="es/XUL/Attribute/beforeselected">beforeselected</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeyaccept" title="es/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeycancel" title="es/XUL/Attribute/buttonaccesskeycancel">buttonaccesskeycancel</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeydisclosure" title="es/XUL/Attribute/buttonaccesskeydisclosure">buttonaccesskeydisclosure</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeyextra1" title="es/XUL/Attribute/buttonaccesskeyextra1">buttonaccesskeyextra1</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeyextra2" title="es/XUL/Attribute/buttonaccesskeyextra2">buttonaccesskeyextra2</a></li>
- <li><a href="/es/XUL/Attribute/buttonaccesskeyhelp" title="es/XUL/Attribute/buttonaccesskeyhelp">buttonaccesskeyhelp</a></li>
- <li><a href="/es/XUL/Attribute/buttonalign" title="es/XUL/Attribute/buttonalign">buttonalign</a></li>
- <li><a href="/es/XUL/Attribute/buttondir" title="es/XUL/Attribute/buttondir">buttondir</a></li>
- <li><a href="/es/XUL/Attribute/buttondisabledaccept" title="es/XUL/Attribute/buttondisabledaccept">buttondisabledaccept</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabelaccept" title="es/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabelcancel" title="es/XUL/Attribute/buttonlabelcancel">buttonlabelcancel</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabeldisclosure" title="es/XUL/Attribute/buttonlabeldisclosure">buttonlabeldisclosure</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabelextra1" title="es/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabelextra2" title="es/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></li>
- <li><a href="/es/XUL/Attribute/buttonlabelhelp" title="es/XUL/Attribute/buttonlabelhelp">buttonlabelhelp</a></li>
- <li><a href="/es/XUL/Attribute/buttonorient" title="es/XUL/Attribute/buttonorient">buttonorient</a></li>
- <li><a href="/es/XUL/Attribute/buttonpack" title="es/XUL/Attribute/buttonpack">buttonpack</a></li>
- <li><a href="/es/XUL/Attribute/buttons" title="es/XUL/Attribute/buttons">buttons</a></li>
- <li><a href="/es/XUL/Attribute/checked" title="es/XUL/Attribute/checked">checked</a></li>
- <li><a href="/es/XUL/Attribute/checkState" title="es/XUL/Attribute/checkState">checkState</a></li>
- <li><a href="/es/XUL/Attribute/class" title="es/XUL/Attribute/class">class</a></li>
- <li><a href="/es/XUL/Attribute/closebutton" title="es/XUL/Attribute/closebutton">closebutton</a></li>
- <li><a href="/es/XUL/Attribute/coalesceduplicatearcs" title="es/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></li>
- <li><a href="/es/XUL/Attribute/collapse" title="es/XUL/Attribute/collapse">collapse</a></li>
- <li><a href="/es/XUL/Attribute/collapsed" title="es/XUL/Attribute/collapsed">collapsed</a></li>
- <li><a href="/es/XUL/Attribute/color" title="es/XUL/Attribute/color">color</a></li>
- <li><a href="/es/XUL/Attribute/cols" title="es/XUL/Attribute/cols">cols</a></li>
- <li><a href="/es/XUL/Attribute/command" title="es/XUL/Attribute/command">command</a></li>
- <li><a href="/es/XUL/Attribute/commandupdater" title="es/XUL/Attribute/commandupdater">commandupdater</a></li>
- <li><a href="/es/XUL/Attribute/completedefaultindex" title="es/XUL/Attribute/completedefaultindex">completedefaultindex</a></li>
- <li><a href="/es/XUL/Attribute/container" title="es/XUL/Attribute/container">container</a></li>
- <li><a href="/es/XUL/Attribute/containment" title="es/XUL/Attribute/containment">containment</a></li>
- <li><a href="/es/XUL/Attribute/contentcontextmenu" title="es/XUL/Attribute/contentcontextmenu">contentcontextmenu</a></li>
- <li><a href="/es/XUL/Attribute/contenttooltip" title="es/XUL/Attribute/contenttooltip">contenttooltip</a></li>
- <li><a href="/es/XUL/Attribute/context" title="es/XUL/Attribute/context">context</a></li>
- <li><a href="/es/XUL/Attribute/contextmenu" title="es/XUL/Attribute/contextmenu">contextmenu</a></li>
- <li><a href="/es/XUL/Attribute/control" title="es/XUL/Attribute/control">control</a></li>
- <li><a href="/es/XUL/Attribute/crop" title="es/XUL/Attribute/crop">crop</a></li>
- <li><a href="/es/XUL/Attribute/curpos" title="es/XUL/Attribute/curpos">curpos</a></li>
- <li><a href="/es/XUL/Attribute/current" title="es/XUL/Attribute/current">current</a></li>
- <li><a href="/es/XUL/Attribute/currentset" title="es/XUL/Attribute/currentset">currentset</a></li>
- <li><a href="/es/XUL/Attribute/customindex" title="es/XUL/Attribute/customindex">customindex</a></li>
- <li><a href="/es/XUL/Attribute/customizable" title="es/XUL/Attribute/customizable">customizable</a></li>
- <li><a href="/es/XUL/Attribute/cycler" title="es/XUL/Attribute/cycler">cycler</a></li>
- <li><a href="/es/XUL/Attribute/datasources" title="es/XUL/Attribute/datasources">datasources</a></li>
- <li><a href="/es/XUL/Attribute/decimalplaces" title="es/XUL/Attribute/decimalplaces">decimalplaces</a></li>
- <li><a href="/es/XUL/Attribute/default" title="es/XUL/Attribute/default">default</a></li>
- <li><a href="/es/XUL/Attribute/defaultButton" title="es/XUL/Attribute/defaultButton">defaultButton</a></li>
- <li><a href="/es/XUL/Attribute/defaultset" title="es/XUL/Attribute/defaultset">defaultset</a></li>
- <li><a href="/es/XUL/Attribute/description" title="es/XUL/Attribute/description">description</a></li>
- <li><a href="/es/XUL/Attribute/dir" title="es/XUL/Attribute/dir">dir</a></li>
- <li><a href="/es/XUL/Attribute/disableAutocomplete" title="es/XUL/Attribute/disableAutocomplete">disableAutocomplete</a></li>
- <li><a href="/es/XUL/Attribute/disableAutocomplete" title="es/XUL/Attribute/disableAutocomplete">disableautocomplete</a></li>
- <li><a href="/es/XUL/Attribute/disableautoselect" title="es/XUL/Attribute/disableautoselect">disableautoselect</a></li>
- <li><a href="/es/XUL/Attribute/disableclose" title="es/XUL/Attribute/disableclose">disableclose</a></li>
- <li><a href="/es/XUL/Attribute/disabled" title="es/XUL/Attribute/disabled">disabled</a></li>
- <li><a href="/es/XUL/Attribute/disablehistory" title="es/XUL/Attribute/disablehistory">disablehistory</a></li>
- <li><a href="/es/XUL/Attribute/disableKeyNavigation" title="es/XUL/Attribute/disableKeyNavigation">disableKeyNavigation</a></li>
- <li><a href="/es/XUL/Attribute/disableKeyNavigation" title="es/XUL/Attribute/disableKeyNavigation">disablekeynavigation</a></li>
- <li><a href="/es/XUL/Attribute/disablesecurity" title="es/XUL/Attribute/disablesecurity">disablesecurity</a></li>
- <li><a href="/es/XUL/Attribute/dlgtype" title="es/XUL/Attribute/dlgtype">dlgtype</a></li>
- <li><a href="/es/XUL/Attribute/dragging" title="es/XUL/Attribute/dragging">dragging</a></li>
- <li><a href="/es/XUL/Attribute/editable" title="es/XUL/Attribute/editable">editable</a></li>
- <li><a href="/es/XUL/Attribute/editortype" title="es/XUL/Attribute/editortype">editortype</a></li>
- <li><a href="/es/XUL/Attribute/element" title="es/XUL/Attribute/element">element</a></li>
- <li><a href="/es/XUL/Attribute/empty" title="es/XUL/Attribute/empty">empty</a></li>
- <li><a href="/es/XUL/Attribute/emptytext" title="es/XUL/Attribute/emptytext">emptytext</a></li>
- <li><a href="/es/XUL/Attribute/enableColumnDrag" title="es/XUL/Attribute/enableColumnDrag">enableColumnDrag</a></li>
- <li><a href="/es/XUL/Attribute/enablehistory" title="es/XUL/Attribute/enablehistory">enablehistory</a></li>
- <li><a href="/es/XUL/Attribute/equalsize" title="es/XUL/Attribute/equalsize">equalsize</a></li>
- <li><a href="/es/XUL/Attribute/eventnode" title="es/XUL/Attribute/eventnode">eventnode</a></li>
- <li><a href="/es/XUL/Attribute/events" title="es/XUL/Attribute/events">events</a></li>
- <li><a href="/es/XUL/Attribute/expr" title="es/XUL/Attribute/expr">expr</a></li>
- <li><a href="/es/XUL/Attribute/firstdayofweek" title="es/XUL/Attribute/firstdayofweek">firstdayofweek</a></li>
- <li><a href="/es/XUL/Attribute/firstpage" title="es/XUL/Attribute/firstpage">firstpage</a></li>
- <li><a href="/es/XUL/Attribute/first-tab" title="es/XUL/Attribute/first-tab">first-tab</a></li>
- <li><a href="/es/XUL/Attribute/fixed" title="es/XUL/Attribute/fixed">fixed</a></li>
- <li><a href="/es/XUL/Attribute/flags" title="es/XUL/Attribute/flags">flags</a></li>
- <li><a href="/es/XUL/Attribute/flex" title="es/XUL/Attribute/flex">flex</a></li>
- <li><a href="/es/XUL/Attribute/focused" title="es/XUL/Attribute/focused">focused</a></li>
- <li><a href="/es/XUL/Attribute/forceComplete" title="es/XUL/Attribute/forceComplete">forceComplete</a></li>
- <li><a href="/es/XUL/Attribute/forceComplete" title="es/XUL/Attribute/forceComplete">forcecomplete</a></li>
- <li><a href="/es/XUL/Attribute/grippyhidden" title="es/XUL/Attribute/grippyhidden">grippyhidden</a></li>
- <li><a href="/es/XUL/Attribute/grippytooltiptext" title="es/XUL/Attribute/grippytooltiptext">grippytooltiptext</a></li>
- <li><a href="/es/XUL/Attribute/group" title="es/XUL/Attribute/group">group</a></li>
- <li><a href="/es/XUL/Attribute/handleCtrlPageUpDown" title="es/XUL/Attribute/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li>
- <li><a href="/es/XUL/Attribute/handleCtrlTab" title="es/XUL/Attribute/handleCtrlTab">handleCtrlTab</a></li>
- <li><a href="/es/XUL/Attribute/height" title="es/XUL/Attribute/height">height</a></li>
- <li><a href="/es/XUL/Attribute/helpURI" title="es/XUL/Attribute/helpURI">helpURI</a></li>
- <li><a href="/es/XUL/Attribute/hidden" title="es/XUL/Attribute/hidden">hidden</a></li>
- <li><a href="/es/XUL/Attribute/hidechrome" title="es/XUL/Attribute/hidechrome">hidechrome</a></li>
- <li><a href="/es/XUL/Attribute/hidecolumnpicker" title="es/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></li>
- <li><a href="/es/XUL/Attribute/hideheader" title="es/XUL/Attribute/hideheader">hideheader</a></li>
- <li><a href="/es/XUL/Attribute/hideseconds" title="es/XUL/Attribute/hideseconds">hideseconds</a></li>
- <li><a href="/es/XUL/Attribute/hidespinbuttons" title="es/XUL/Attribute/hidespinbuttons">hidespinbuttons</a></li>
- <li><a href="/es/XUL/Attribute/homepage" title="es/XUL/Attribute/homepage">homepage</a></li>
- <li><a href="/es/XUL/Attribute/href" title="es/XUL/Attribute/href">href</a></li>
- <li><a href="/es/XUL/Attribute/icon" title="es/XUL/Attribute/icon">icon</a></li>
- <li><a href="/es/XUL/Attribute/id" title="es/XUL/Attribute/id">id</a></li>
- <li><a href="/es/XUL/Attribute/ignoreBlurWhileSearching" title="es/XUL/Attribute/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li>
- <li><a href="/es/XUL/Attribute/ignoreBlurWhileSearching" title="es/XUL/Attribute/ignoreBlurWhileSearching">ignorebluewhilesearching</a></li>
- <li><a href="/es/XUL/Attribute/ignorecase" title="es/XUL/Attribute/ignorecase">ignorecase</a></li>
- <li><a href="/es/XUL/Attribute/ignoreincolumnpicker" title="es/XUL/Attribute/ignoreincolumnpicker">ignoreincolumnpicker</a></li>
- <li><a href="/es/XUL/Attribute/ignorekeys" title="es/XUL/Attribute/ignorekeys">ignorekeys</a></li>
- <li><a href="/es/XUL/Attribute/image" title="es/XUL/Attribute/image">image</a></li>
- <li><a href="/es/XUL/Attribute/inactivetitlebarcolor" title="es/XUL/Attribute/inactivetitlebarcolor">inactivetitlebarcolor</a> </li>
- <li><a href="/es/XUL/Attribute/increment" title="es/XUL/Attribute/increment">increment</a></li>
- <li><a href="/es/XUL/Attribute/index" title="es/XUL/Attribute/index">index</a></li>
- <li><a href="/es/XUL/Attribute/inputtooltiptext" title="es/XUL/Attribute/inputtooltiptext">inputtooltiptext</a></li>
- <li><a href="/es/XUL/Attribute/insertafter" title="es/XUL/Attribute/insertafter">insertafter</a></li>
- <li><a href="/es/XUL/Attribute/insertbefore" title="es/XUL/Attribute/insertbefore">insertbefore</a></li>
- <li><a href="/es/XUL/Attribute/instantApply" title="es/XUL/Attribute/instantApply">instantApply</a></li>
- <li><a href="/es/XUL/Attribute/inverted" title="es/XUL/Attribute/inverted">inverted</a></li>
- <li><a href="/es/XUL/Attribute/iscontainer" title="es/XUL/Attribute/iscontainer">iscontainer</a></li>
- <li><a href="/es/XUL/Attribute/isempty" title="es/XUL/Attribute/isempty">isempty</a></li>
- <li><a href="/es/XUL/Attribute/key" title="es/XUL/Attribute/key">key</a></li>
- <li><a href="/es/XUL/Attribute/keycode" title="es/XUL/Attribute/keycode">keycode</a></li>
- <li><a href="/es/XUL/Attribute/keytext" title="es/XUL/Attribute/keytext">keytext</a></li>
- <li><a href="/es/XUL/Attribute/label" title="es/XUL/Attribute/label">label</a></li>
- <li><a href="/es/XUL/Attribute/lastpage" title="es/XUL/Attribute/lastpage">lastpage</a></li>
- <li><a href="/es/XUL/Attribute/lastSelected" title="es/XUL/Attribute/lastSelected">lastSelected</a></li>
- <li><a href="/es/XUL/Attribute/last-tab" title="es/XUL/Attribute/last-tab">last-tab</a></li>
- <li><a href="/es/XUL/Attribute/left" title="es/XUL/Attribute/left">left</a></li>
- <li><a href="/es/XUL/Attribute/linkedpanel" title="es/XUL/Attribute/linkedpanel">linkedpanel</a></li>
- <li><a href="/es/XUL/Attribute/max" title="es/XUL/Attribute/max">max</a></li>
- <li><a href="/es/XUL/Attribute/maxheight" title="es/XUL/Attribute/maxheight">maxheight</a></li>
- <li><a href="/es/XUL/Attribute/maxlength" title="es/XUL/Attribute/maxlength">maxlength</a></li>
- <li><a href="/es/XUL/Attribute/maxpos" title="es/XUL/Attribute/maxpos">maxpos</a></li>
- <li><a href="/es/XUL/Attribute/maxrows" title="es/XUL/Attribute/maxrows">maxrows</a></li>
- <li><a href="/es/XUL/Attribute/maxwidth" title="es/XUL/Attribute/maxwidth">maxwidth</a></li>
- <li><a href="/es/XUL/Attribute/member" title="es/XUL/Attribute/member">member</a></li>
- <li><a href="/es/XUL/Attribute/menu" title="es/XUL/Attribute/menu">menu</a></li>
- <li><a href="/es/XUL/Attribute/menuactive" title="es/XUL/Attribute/menuactive">menuactive</a></li>
- <li><a href="/es/XUL/Attribute/min" title="es/XUL/Attribute/min">min</a></li>
- <li><a href="/es/XUL/Attribute/minheight" title="es/XUL/Attribute/minheight">minheight</a></li>
- <li><a href="/es/XUL/Attribute/minResultsForPopup" title="es/XUL/Attribute/minResultsForPopup">minResultsForPopup</a></li>
- <li><a href="/es/XUL/Attribute/minResultsForPopup" title="es/XUL/Attribute/minResultsForPopup">minresultsforpopup</a></li>
- <li><a href="/es/XUL/Attribute/minwidth" title="es/XUL/Attribute/minwidth">minwidth</a></li>
- <li><a href="/es/XUL/Attribute/mode" title="es/XUL/Attribute/mode">mode</a></li>
- <li><a href="/es/XUL/Attribute/modifiers" title="es/XUL/Attribute/modifiers">modifiers</a></li>
- <li><a href="/es/XUL/Attribute/mousethrough" title="es/XUL/Attribute/mousethrough">mousethrough</a></li>
- <li><a href="/es/XUL/Attribute/multiline" title="es/XUL/Attribute/multiline">multiline</a></li>
- <li><a href="/es/XUL/Attribute/multiple" title="es/XUL/Attribute/multiple">multiple</a></li>
- <li><a href="/es/XUL/Attribute/name" title="es/XUL/Attribute/name">name</a></li>
- <li><a href="/es/XUL/Attribute/negate" title="es/XUL/Attribute/negate">negate</a></li>
- <li><a href="/es/XUL/Attribute/newlines" title="es/XUL/Attribute/newlines">newlines</a></li>
- <li><a href="/es/XUL/Attribute/next" title="es/XUL/Attribute/next">next</a></li>
- <li><a href="/es/XUL/Attribute/noautofocus" title="es/XUL/Attribute/noautofocus">noautofocus</a></li>
- <li><a href="/es/XUL/Attribute/noautohide" title="es/XUL/Attribute/noautohide">noautohide</a></li>
- <li><a href="/es/XUL/Attribute/nomatch" title="es/XUL/Attribute/nomatch">nomatch</a></li>
- <li><a href="/es/XUL/Attribute/object" title="es/XUL/Attribute/object">object</a></li>
- <li><a href="/es/XUL/Attribute/observes" title="es/XUL/Attribute/observes">observes</a></li>
- <li><a href="/es/XUL/Attribute/onbeforeaccept" title="es/XUL/Attribute/onbeforeaccept">onbeforeaccept</a></li>
- <li><a href="/es/XUL/Attribute/onbookmarkgroup" title="es/XUL/Attribute/onbookmarkgroup">onbookmarkgroup</a></li>
- <li><a href="/es/XUL/Attribute/onchange" title="es/XUL/Attribute/onchange">onchange</a></li>
- <li><a class="internal" href="/es/XUL/Attribute/onclick" title="En/XUL/Attribute/Onclick">onclick</a></li>
- <li><a href="/es/XUL/Attribute/onclosetab" title="es/XUL/Attribute/onclosetab">onclosetab</a></li>
- <li><a href="/es/XUL/Attribute/oncommand" title="es/XUL/Attribute/oncommand">oncommand</a></li>
- <li><a href="/es/XUL/Attribute/oncommandupdate" title="es/XUL/Attribute/oncommandupdate">oncommandupdate</a></li>
- <li><a href="/es/XUL/Attribute/ondialogaccept" title="es/XUL/Attribute/ondialogaccept">ondialogaccept</a></li>
- <li><a href="/es/XUL/Attribute/ondialogcancel" title="es/XUL/Attribute/ondialogcancel">ondialogcancel</a></li>
- <li><a href="/es/XUL/Attribute/ondialogdisclosure" title="es/XUL/Attribute/ondialogdisclosure">ondialogclosure</a></li>
- <li><a href="/es/XUL/Attribute/ondialogextra1" title="es/XUL/Attribute/ondialogextra1">ondialogextra1</a></li>
- <li><a href="/es/XUL/Attribute/ondialogextra2" title="es/XUL/Attribute/ondialogextra2">ondialogextra2</a></li>
- <li><a href="/es/XUL/Attribute/ondialoghelp" title="es/XUL/Attribute/ondialoghelp">ondialoghelp</a></li>
- <li><a href="/es/XUL/Attribute/onerror" title="es/XUL/Attribute/onerror">onerror</a></li>
- <li><a href="/es/XUL/Attribute/onerrorcommand" title="es/XUL/Attribute/onerrorcommand">onerrorcommand</a></li>
- <li><a href="/es/XUL/Attribute/onextra1" title="es/XUL/Attribute/onextra1">onextra1</a></li>
- <li><a href="/es/XUL/Attribute/onextra2" title="es/XUL/Attribute/onextra2">onextra2</a></li>
- <li><a href="/es/XUL/Attribute/oninput" title="es/XUL/Attribute/oninput">oninput</a></li>
- <li><a href="/es/XUL/Attribute/onload" title="es/XUL/Attribute/onload">onload</a></li>
- <li><a href="/es/XUL/Attribute/onnewtab" title="es/XUL/Attribute/onnewtab">onnewtab</a></li>
- <li><a href="/es/XUL/Attribute/onpageadvanced" title="es/XUL/Attribute/onpageadvanced">onpageadvanced</a></li>
- <li><a href="/es/XUL/Attribute/onpagehide" title="es/XUL/Attribute/onpagehide">onpagehide</a></li>
- <li><a href="/es/XUL/Attribute/onpagerewound" title="es/XUL/Attribute/onpagerewound">onpagerewound</a></li>
- <li><a href="/es/XUL/Attribute/onpageshow" title="es/XUL/Attribute/onpageshow">onpageshow</a></li>
- <li><a href="/es/XUL/Attribute/onpaneload" title="es/XUL/Attribute/onpaneload">onpaneload</a></li>
- <li><a href="/es/XUL/Attribute/onpopuphidden" title="es/XUL/Attribute/onpopuphidden">onpopuphidden</a></li>
- <li><a href="/es/XUL/Attribute/onpopuphiding" title="es/XUL/Attribute/onpopuphiding">onpopuphiding</a></li>
- <li><a href="/es/XUL/Attribute/onpopupshowing" title="es/XUL/Attribute/onpopupshowing">onpopupshowing</a></li>
- <li><a href="/es/XUL/Attribute/onpopupshown" title="es/XUL/Attribute/onpopupshown">onpopupshown</a></li>
- <li><a href="/es/XUL/Attribute/onsearchcomplete" title="es/XUL/Attribute/onsearchcomplete">onsearchcomplete</a></li>
- <li><a href="/es/XUL/Attribute/onselect" title="es/XUL/Attribute/onselect">onselect</a></li>
- <li><a href="/es/XUL/Attribute/ontextcommand" title="es/XUL/Attribute/ontextcommand">ontextcommand</a></li>
- <li><a href="/es/XUL/Attribute/ontextentered" title="es/XUL/Attribute/ontextentered">ontextentered</a></li>
- <li><a href="/es/XUL/Attribute/ontextrevert" title="es/XUL/Attribute/ontextrevert">ontextrevert</a></li>
- <li><a href="/es/XUL/Attribute/ontextreverted" title="es/XUL/Attribute/ontextreverted">ontextreverted</a></li>
- <li><a href="/es/XUL/Attribute/onwizardback" title="es/XUL/Attribute/onwizardback">onwizardback</a></li>
- <li><a href="/es/XUL/Attribute/onwizardcancel" title="es/XUL/Attribute/onwizardcancel">onwizardcancel</a></li>
- <li><a href="/es/XUL/Attribute/onwizardfinish" title="es/XUL/Attribute/onwizardfinish">onwizardfinish</a></li>
- <li><a href="/es/XUL/Attribute/onwizardnext" title="es/XUL/Attribute/onwizardnext">onwizardnext</a></li>
- <li><a href="/es/XUL/Attribute/open" title="es/XUL/Attribute/open">open</a></li>
- <li><a href="/es/XUL/Attribute/ordinal" title="es/XUL/Attribute/ordinal">ordinal</a></li>
- <li><a href="/es/XUL/Attribute/orient" title="es/XUL/Attribute/orient">orient</a></li>
- <li><a href="/es/XUL/Attribute/pack" title="es/XUL/Attribute/pack">pack</a></li>
- <li><a href="/es/XUL/Attribute/pageid" title="es/XUL/Attribute/pageid">pageid</a></li>
- <li><a href="/es/XUL/Attribute/pageincrement" title="es/XUL/Attribute/pageincrement">pageincrement</a></li>
- <li><a href="/es/XUL/Attribute/pagestep" title="es/XUL/Attribute/pagestep">pagestep</a></li>
- <li><a href="/es/XUL/Attribute/parent" title="es/XUL/Attribute/parent">parent</a></li>
- <li><a href="/es/XUL/Attribute/parsetype" title="es/XUL/Attribute/parsetype">parsetype</a></li>
- <li><a href="/es/XUL/Attribute/persist" title="es/XUL/Attribute/persist">persist</a></li>
- <li><a href="/es/XUL/Attribute/persistence" title="es/XUL/Attribute/persistence">persistence</a></li>
- <li><a href="/es/XUL/Attribute/phase" title="es/XUL/Attribute/phase">phase</a></li>
- <li><a href="/es/XUL/Attribute/pickertooltiptext" title="es/XUL/Attribute/pickertooltiptext">pickertooltiptext</a></li>
- <li><a href="/es/XUL/Attribute/popup" title="es/XUL/Attribute/popup">popup</a></li>
- <li><a href="/es/XUL/Attribute/position" title="es/XUL/Attribute/position">position</a></li>
- <li><a href="/es/XUL/Attribute/predicate" title="es/XUL/Attribute/predicate">predicate</a></li>
- <li><a href="/es/XUL/Attribute/preference" title="es/XUL/Attribute/preference">preference</a></li>
- <li><a href="/es/XUL/Attribute/preference-editable" title="es/XUL/Attribute/preference-editable">preference-editable</a></li>
- <li><a href="/es/XUL/Attribute/primary" title="es/XUL/Attribute/primary">primary</a></li>
- <li><a href="/es/XUL/Attribute/priority" title="es/XUL/Attribute/priority">priority</a></li>
- <li><a href="/es/XUL/Attribute/properties" title="es/XUL/Attribute/properties">properties</a></li>
- <li><a href="/es/XUL/Attribute/querytype" title="es/XUL/Attribute/querytype">querytype</a></li>
- <li><a href="/es/XUL/Attribute/readonly" title="es/XUL/Attribute/readonly">readonly</a></li>
- <li><a href="/es/XUL/Attribute/ref" title="es/XUL/Attribute/ref">ref</a></li>
- <li><a href="/es/XUL/Attribute/rel" title="es/XUL/Attribute/rel">rel</a></li>
- <li><a href="/es/XUL/Attribute/removeelement" title="es/XUL/Attribute/removeelement">removeelement</a></li>
- <li><a href="/es/XUL/Attribute/resizeafter" title="es/XUL/Attribute/resizeafter">resizeafter</a></li>
- <li><a href="/es/XUL/Attribute/resizebefore" title="es/XUL/Attribute/resizebefore">resizebefore</a></li>
- <li><a href="/es/XUL/Attribute/rows" title="es/XUL/Attribute/rows">rows</a></li>
- <li><a href="/es/XUL/Attribute/screenX" title="es/XUL/Attribute/screenX">screenX</a></li>
- <li><a href="/es/XUL/Attribute/screenY" title="es/XUL/Attribute/screenY">screenY</a></li>
- <li><a href="/es/XUL/Attribute/searchSessions" title="es/XUL/Attribute/searchSessions">searchSessions</a></li>
- <li><a href="/es/XUL/Attribute/searchlabel" title="es/XUL/Attribute/searchlabel">searchlabel</a></li>
- <li><a href="/es/XUL/Attribute/selected" title="es/XUL/Attribute/selected">selected</a></li>
- <li><a href="/es/XUL/Attribute/selectedIndex" title="es/XUL/Attribute/selectedIndex">selectedIndex</a></li>
- <li><a href="/es/XUL/Attribute/seltype" title="es/XUL/Attribute/seltype">seltype</a></li>
- <li><a href="/es/XUL/Attribute/setfocus" title="es/XUL/Attribute/setfocus">setfocus</a></li>
- <li><a href="/es/XUL/Attribute/showcaret" title="es/XUL/Attribute/showcaret">showcaret</a></li>
- <li><a href="/es/XUL/Attribute/showCommentColumn" title="es/XUL/Attribute/showCommentColumn">showCommentColumn</a></li>
- <li><a href="/es/XUL/Attribute/showCommentColumn" title="es/XUL/Attribute/showCommentColumn">showcommentcolumn</a></li>
- <li><a href="/es/XUL/Attribute/showpopup" title="es/XUL/Attribute/showpopup">showpopup</a></li>
- <li><a href="/es/XUL/Attribute/size" title="es/XUL/Attribute/size">size</a></li>
- <li><a href="/es/XUL/Attribute/sizemode" title="es/XUL/Attribute/sizemode">sizemode</a></li>
- <li><a href="/es/XUL/Attribute/sizetopopup" title="es/XUL/Attribute/sizetopopup">sizetopopup</a></li>
- <li><a href="/es/XUL/Attribute/smoothscroll" title="es/XUL/Attribute/smoothscroll">smoothscroll</a></li>
- <li><a href="/es/XUL/Attribute/sort" title="es/XUL/Attribute/sort">sort</a></li>
- <li><a href="/es/XUL/Attribute/sortActive" title="es/XUL/Attribute/sortActive">sortActive</a></li>
- <li><a href="/es/XUL/Attribute/sortDirection" title="es/XUL/Attribute/sortDirection">sortDirection</a></li>
- <li><a href="/es/XUL/Attribute/sortResource" title="es/XUL/Attribute/sortResource">sortResource</a></li>
- <li><a href="/es/XUL/Attribute/sortResource2" title="es/XUL/Attribute/sortResource2">sortResource2</a></li>
- <li><a href="/es/XUL/Attribute/spellcheck" title="es/XUL/Attribute/spellcheck">spellcheck</a></li>
- <li><a href="/es/XUL/Attribute/src" title="es/XUL/Attribute/src">src</a></li>
- <li><a href="/es/XUL/Attribute/state" title="es/XUL/Attribute/state">state</a></li>
- <li><a href="/es/XUL/Attribute/statedatasource" title="es/XUL/Attribute/statedatasource">statedatasource</a></li>
- <li><a href="/es/XUL/Attribute/statusbar" title="es/XUL/Attribute/statusbar">statusbar</a></li>
- <li><a href="/es/XUL/Attribute/statustext" title="es/XUL/Attribute/statustext">statustext</a></li>
- <li><a href="/es/XUL/Attribute/style" title="es/XUL/Attribute/style">style</a></li>
- <li><a href="/es/XUL/Attribute/subject" title="es/XUL/Attribute/subject">subject</a></li>
- <li><a href="/es/XUL/Attribute/substate" title="es/XUL/Attribute/substate">substate</a></li>
- <li><a href="/es/XUL/Attribute/suppressonselect" title="es/XUL/Attribute/suppressonselect">suppressonselect</a></li>
- <li><a href="/es/XUL/Attribute/tabindex" title="es/XUL/Attribute/tabindex">tabindex</a></li>
- <li><a href="/es/XUL/Attribute/tabScrolling" title="es/XUL/Attribute/tabScrolling">tabScrolling</a></li>
- <li><a href="/es/XUL/Attribute/tabScrolling" title="es/XUL/Attribute/tabScrolling">tabscrolling</a></li>
- <li><a href="/es/XUL/Attribute/targets" title="es/XUL/Attribute/targets">targets</a></li>
- <li><a href="/es/XUL/Attribute/template" title="es/XUL/Attribute/template">template</a></li>
- <li><a href="/es/XUL/Attribute/timeout" title="es/XUL/Attribute/timeout">timeout</a></li>
- <li><a href="/es/XUL/Attribute/title" title="es/XUL/Attribute/title">title</a></li>
- <li><a href="/es/XUL/Attribute/toolbarname" title="es/XUL/Attribute/toolbarname">toolbarname</a></li>
- <li><a href="/es/XUL/Attribute/tooltip" title="es/XUL/Attribute/tooltip">tooltip</a></li>
- <li><a href="/es/XUL/Attribute/tooltiptext" title="es/XUL/Attribute/tooltiptext">tooltiptext</a></li>
- <li><a href="/es/XUL/Attribute/tooltiptextnew" title="es/XUL/Attribute/tooltiptextnew">tooltiptextnew</a></li>
- <li><a href="/es/XUL/Attribute/top" title="es/XUL/Attribute/top">top</a></li>
- <li><a href="/es/XUL/Attribute/type" title="es/XUL/Attribute/type">type</a></li>
- <li><a href="/es/XUL/Attribute/uri" title="es/XUL/Attribute/uri">uri</a></li>
- <li><a href="/es/XUL/Attribute/userAction" title="es/XUL/Attribute/userAction">userAction</a></li>
- <li><a href="/es/XUL/Attribute/validate" title="es/XUL/Attribute/validate">validate</a></li>
- <li><a href="/es/XUL/Attribute/value" title="es/XUL/Attribute/value">value</a></li>
- <li><a href="/es/XUL/Attribute/var" title="es/XUL/Attribute/var">var</a></li>
- <li><a href="/es/XUL/Attribute/wait-cursor" title="es/XUL/Attribute/wait-cursor">wait-cursor</a></li>
- <li><a href="/es/XUL/Attribute/width" title="es/XUL/Attribute/width">width</a></li>
- <li><a href="/es/XUL/Attribute/windowtype" title="es/XUL/Attribute/windowtype">windowtype</a></li>
- <li><a href="/es/XUL/Attribute/wrap" title="es/XUL/Attribute/wrap">wrap</a></li>
- <li><a href="/es/XUL/Attribute/wraparound" title="es/XUL/Attribute/wraparound">wraparound</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/bestiario_xul/index.html b/files/es/archive/mozilla/xul/bestiario_xul/index.html
deleted file mode 100644
index 7d2f8b3a9d..0000000000
--- a/files/es/archive/mozilla/xul/bestiario_xul/index.html
+++ /dev/null
@@ -1,186 +0,0 @@
----
-title: Bestiario XUL
-slug: Archive/Mozilla/XUL/Bestiario_XUL
-tags:
- - Complementos
- - Todas_las_Categorías
- - XUL
- - extensiones
-translation_of: Archive/Mozilla/XUL/A_XUL_Bestiary
----
-<p> </p>
-<p>Este documento sobre XUL presenta algunos de los conceptos clave y términos del entorno de desarollo XUL. El propósito de este artículo no es explicar estos elementos en profundidad sino decir lo que son en términos sencillos. Se han seleccionado los elementos para este grupo porque parecen que están inmersos en el misterio, que son poco usados como conceptos o términos, o que son infravalorados de acuerdo a su papel en XUL y al desarrollo multiplataforma. En contraposición al <a class="external" href="http://www.mozilla.org/docs/jargon.html">
- <i>
- Mozilla Jargon File</i>
- </a>, este artículo explica los elementos de especial interés para el desarrollo web o de contenidos y pretende establecer un contexto para comprender las nuevas tecnologías de Mozilla y en particular el lenguaje de interfaces de usuario basado en XML de Mozilla: XUL.</p>
-<h2 id="Chrome" name="Chrome">Chrome</h2>
-<p>Algunas de las más potentes y con frecuencia incomprendidas características de XUL y del navegador Mozilla tienen que ver con chrome. El término chrome es usado en diferentes contextos para referirse a cosas distintas. En general, chrome se refiere a una interfaz XUL y a todos sus ficheros de apoyo. chrome quiere decir que el contenido y estructura XUL + la apariencia que le da CSS + cualesquiera ficheros de configuración regional y específicos de la plataforma son parte de dicha interfaz XUL. En comparación, la apariencia es sólo el CSS y los gráficos referenciados para el fichero XUL, las cadenas de texto de la configuración regional están almacenadas en un DTD y el contenido es sólo el XUL.</p>
-<h3 id="La_URL_chrome" name="La_URL_chrome">La URL chrome</h3>
-<p>El concepto de chrome como algo integrado y dinámico separado de alguna forma del núcleo de la aplicación se realiza a través de la url chrome apuntando a partes de XUL a sus ficheros relacionados. La url chrome se parece a las direcciones http, como se muestra en la siguiente instrucción de proceso de apariencia global:</p>
-<pre class="eval">&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-</pre>
-<p>Esto especifica un chrome para que pueda ser cargado por el motor de renderizado Gecko. En el ejemplo anterior, el chrome es simplemente un fichero de apariencia cargado en el fichero XUL, aunque el chrome puede además cargar otros chromes, como cuando un menuitem de una ventana muestra un nuevo chrome:</p>
-<pre class="eval">&lt;menuitem
- value="Mozilla Help"
- oncommand="window.openDialog('<a class="external" rel="freelink">chrome://help/content/help.xul</a>',
- '_blank',
- 'chrome,all,dialog=no')" /&gt;
-</pre>
-<p>En el ejemplo anterior, la url chrome se usa para apuntar a un chrome dentro de la jerarquía de paquetes de la aplicación Mozilla. Existe un chrome
- <i>
- Help</i>
- definido en mozilla/bin/chrome/help que es invocado desde el menú de Ayuda. Nótese que cuando no se especifica el nombre de fichero en la ruta del directorio del chrome se supone que dicho nombre de fichero coincide con el del paquete. En otras palabras, una url chrome como el apuntador global de antes pediría un fichero llamado global.css y el apuntador de ayuda anterior podría ser reescrito como '<a class="external" rel="freelink">chrome://help/content</a>' dado que el nombre del paquete es "help".</p>
-<h3 id="Ver_otros_chromes_que_no_son_de_Mozilla" name="Ver_otros_chromes_que_no_son_de_Mozilla">Ver otros chromes que no son de Mozilla</h3>
-<p>Existe un modificador especial que puede ser usado al iniciar Mozilla con algún otro chrome diferente al predeterminado. Cuando Mozilla es ejecutado desde la línea de comandos con el modificador <code>-chrome</code>, se puede especificar el chrome que se quiera, como el del anterior ejemplo.</p>
-<pre class="eval">mozilla -chrome <a class="external" rel="freelink">chrome://help/content/help.xul</a>
-</pre>
-<p>Esto mostrará el paquete de ayuda mencionado anteriormente como un chrome
- <i>
- independiente</i>
- . Esta opción especial te permite crear y acceder a chromes independientes del navegador Mozilla y es un punto de inicio para explicar las posibilidades de XUL como plataforma más alla del simple rediseño del navegador.</p>
-<h2 id="Paquetes" name="Paquetes">Paquetes</h2>
-<p>Un paquete es de algún modo parecido a un chrome pero específico para la arquitectura de Mozilla. Un paquete es un trozo de código de interfaz que se ubica en un lugar en particular dentro de la jerarquía de paquetes de Mozilla. Como un chrome, dicho trozo generalmente alberga contenido XUL, información de apariencia CSS y gráficos, cadenas de configuración regional y quizá algo de código específico para la plataforma. El navegador es un paquete definido en mozilla/bin/chrome/navigator, la parte de correo y noticias es un paquete situado en mozilla/bin/chrome/mailnews/, etc... El directorio de cada paquete tiene tres subdirectorios: content, skin y locale; en el que se ubican el XUL, el CSS y la información de configuración regional, respectivamente:</p>
-<pre class="eval">navigator/
- content/
- default/
- navigator.xul
- ...
- skin/
- default/
- navigator.css
- nav-icon.gif
- ...
- locale/
- US-en/
- navigator.dtd
-</pre>
-<p>El directorio predeterminado (default) subyacente de cada uno de esos subdirectorios del paquete principal se asume en la url chrome (p.e.: <a class="external" rel="freelink">chrome://help/content/help.xul</a> no incluye un directorio predeterminado como parte de la url, pese a que dicho directorio exista en la estructura real). Cuando se crean diferentes chromes para un paquete, se puede crear un directorio subyacente al directorio content cuyo contenido será cargado en lugar del predeterminado. Por ejemplo, si se quiere crear una nueva apariencia con la que dotar al paquete navigator se puede crear un subdirectorio bajo navigator/skin/ cuyo contenido sea cargado en lugar del predeterminado. Así, la estructura quedaría:</p>
-<pre class="eval">navigator/
- content/
- default/
- navigator.xul
- ...
- skin/
- default/
- navigator.css
- nav-icon.gif
- ...
- <b>myNewSkin/</b>
- newskin.css
- newgifs.gif
- ...
- locale/
- US-en/
- navigator.dtd
-</pre>
-<p>Para cargar la información del chrome guardada en el paquete del nuevo directorio como el de antes, se puede usar la siguiente url chrome:</p>
-<pre class="eval"><a class="external" rel="freelink">chrome://navigator/skin/myNewSkin/newskin.css</a>
-</pre>
-<p>que cargará los gráficos de dicho subdirectorio cuando se necesiten:</p>
-<h2 id="Apariencia" name="Apariencia">Apariencia</h2>
-<p>La apariencia es el conjunto de CSS y gráficos que proporcionan el aspecto o presentan a XUL. XUL por sí mismo contiene muy poca información sobre cómo deben de presentarse los controles en la interfaz. Antes incluso de que se aplique la apariencia global (la cual es cargada en casi cada fichero XUL que se ve en Mozilla y cuya ausencia de los propios ficheros XUL puede hacer que se muestren de modo extraño, sin sentido, invisibles, o todo a la vez), el fichero xul.css es cargado para proporcionar algo de información de presentación muy básica para los controles comunes. Por todo esto, CSS es una parte vital de lo que hace a XUL lo que es, especialmente con el llegada de CSS 2 y sus nuevas capacidades de posicionamiento.</p>
-<p>Los cambios de apariencia son más apropiados cuando se trata de cambiar dinámicamente la apariencia general de una aplicación. Pese a que esto aún no existe en el navegador, muy pronto será posible cambiar por completo el aspecto de la aplicación dinámicamente aunque sólo para ampliar la apariencia definida en el global.css principal o en otra apariencia global. Cuando se crean estilos en las etiquetas &lt;tags&gt;, como atributos de estilo para elementos individuales, o en ficheros CSS personalizados se está rompiendo la capacidad de Gecko para dotar de apariencia a la aplicación a la que pertenece el XUL.</p>
-<h2 id="Controles" name="Controles">Controles</h2>
-<p>Los controles (widgets en inglés) son las piezas que permiten ser ensambladas para construir un interfaz. Los menús, las barras de herramientas, los botones y las barras de desplazamiento son controles y como tales son piezas de propósito general al igual que las cajas (box) y las cajas de relleno (spring). Dichos controles pueden ser creados y ubicados dentro de un fichero XUL como elementos simples: <code>&lt;menu&gt;</code>, <code>&lt;toolbar&gt;</code>, etc... La sintaxis para estos elementos está basada en su mayoría en XML. De modo colectivo, estos controles son también conocidos como el XPToolkit.</p>
-<h2 id="Modelos_de_objetos_DOM_y_AOM" name="Modelos_de_objetos:_DOM_y_AOM">Modelos de objetos: DOM y AOM</h2>
-<p>El Modelo de Objetos de Documento (DOM) es la representación de un documento como una serie de objetos interactivos mediante código. Cuando un lenguaje de script como JavaScript accede a las diversas partes de un documento HTML, lo hace a través del DOM. Las partes del documento, tales como la cabecera, los enlaces, el cuerpo..., cualquier etiqueta está disponible como nodos cuyos atributos pueden ser leídos y establecidos. Desafortunadamente, existen diferentes modelos de objetos de documento correspondientes a los diferentes tipos de documentos y también a las diferentes nociones propietarias sobre las que un documento debería ser accedido mediante un programa. El <a class="external" href="http://www.w3c.org">W3C</a> ha estandarizado un modelo de objetos de documento en concreto y ya tiene una recomendación candidata para una versión de actualización. Este es el DOM reflejado en XUL y en el navegador Mozilla. El DOM asienta el objeto window en el más alto nivel del árbol de nodos. El objeto window tiene nodos hijos como el objeto document, el objeto history que almacena las páginas que el usuario ha visitado, nodos de marcos, etc... siendo todos ellos accesibles mediante un programa.</p>
-<p>Con las dramáticas mejoras en el modelo de objetos y el poder del DOM 2 del W3C, el concepto del DOM se ver forzado más allá del más abstracto DHTML. Dado que cualquier desarrollo web dinámico es dependiente una vez el programa accede al documento web (o a la interfaz XUL), y dado que el DOM es un estándar y las primeras nociones del HTML dinámico no, el término "DOM" es usado como sinónimo por o en lugar de términos como "HTML dinámico" o "DHTML".</p>
-<p>AOM significa modelo de objetos de aplicación y es una extensión del DOM hasta la interfaz definida en XUL. Mientras que HTML es reflejado en el DOM en forma de nodos como
- <i>
- link</i>
- ,
- <i>
- layer</i>
- e
- <i>
- img</i>
- , XUL es reflejado en el modelo de objetos de aplicación en la jerarquía de los controles XUL: browser, menu, menuitem, etc... El DOM y el AOM forman una especie de evolución, siendo el conjunto total manipulable desde los estándares sobre los que XUL está basado.</p>
-<h2 id="Casi_sin.C3.B3nimos_de_XUL" name="Casi_sin.C3.B3nimos_de_XUL">Casi sinónimos de XUL</h2>
-<p>Existe una gran confusión sobre las palabras que comienzan con "X" en el proyecto de código abierto de Mozilla. La sección <a href="#Mozilla_XPArchitecture">Arquitectura XP de Mozilla</a> que se verá más adelante describe XPCOM, XPIDL y XPConnect; tres tecnologías relacionadas de alguna forma para acceder al código de la aplicación desde la interfaz. Esta sección explica XUL, XPToolkit y XPFE, que son de algún modo sinónimos y a la vez diferentes.</p>
-<p>En pocas palabras, XUL es el lenguaje basado en XML usado para crear interfaces, XPToolkit es el conjunto de controles XUL (menus, toolbars, etc...) utilizados realmente para este propósito: ser los ladrillos de la interfaz, y XPFE es la parte frontal multiplataforma que ha sido creada a partir de XPToolkit.</p>
-<p>Las diferencias son significativas: XUL es el universo de elementos, atributos, sintaxis, reglas y relaciones mientras que el XPToolkit es en realidad un counjunto finito de elementos específicos para el interfaz creados en XUL. EL XPFE es lo que ha sido creado fuera del XPToolkit. Una pobre relación análoga para XUL, XPToolkit y XPFE puede ser la que forman HTML, las etiquetas HTML y una página web, respectivamente.</p>
-<h2 id="Partes_XUL" name="Partes_XUL">Partes XUL</h2>
-<p>La gente se confunde a veces con la sintaxis que describe las partes de un control. Para un control como el menú que se muestra a continuación,
- <i>
- menu</i>
- es el elemento y tanto
- <i>
- value</i>
- como
- <i>
- id</i>
- son atributos.</p>
-<pre class="eval"><b>&lt;menu id="file" value="File" &gt;</b>
- &lt;popup&gt;
- &lt;menuitem value="New" onclick="CreateNewDoc()" /&gt;
- &lt;menuitem value="Open" onclick="OpenDoc()" /&gt;
- &lt;menuitem value="Close" onclick="CloseDoc()" /&gt;
- &lt;/popup&gt;
-<b>&lt;/menu&gt;</b>
-</pre>
-<p>El elemento da nombre al item, el control, mientras que los atributos describen características de dicho elemento, tales como su nombre, su estilo, etc... En la jerga orientada a objetos, el elemento es análogo al propio objeto mientras que los atributos son como propiedades. Los atributos tienen un valor asociado a él (tales como la cadena "file" para el atributo id en el ejemplo anterior). Nótese que el elemento
- <i>
- menu</i>
- incluye tanto una etiqueta de apertura al principio como una de cierre al final del ejemplo. De alguna forma, el elemento
- <i>
- menu</i>
- engloba tanto al él mismo como a sus hijos, los elementos
- <i>
- menuitem</i>
- y el elemento
- <i>
- popup</i>
- .</p>
-<h2 id="Eventos" name="Eventos">Eventos</h2>
-<p>Los eventos son también origen de confusión para muchos desarrolladores inexpertos. De hecho, ni yo mismo estoy seguro de comprenderlos del todo pero aquí va una explicación simple de lo que son los eventos y de cómo utilizarlos, básicamente, en una interfaz basada en eventos como la creada en XUL. Los eventos son mensajes que son enviados desde un objeto cuando dicho objeto realiza alguna acción. Por ejemplo, un documento provoca el evento
- <i>
- load</i>
- cuando es cargado en un navegador. El evento
- <i>
- click</i>
- es provocado por un botón cuando es pulsado.</p>
-<p>Si no se hace nada con estos eventos, entonces probablemente nunca se sabrá nada de ellos. Los documentos serán cargados, los botones serán pulsados y los enlaces serán sobrevolados... y los eventos serán provocados para cada una de esas acciones de modo imperceptible. En cambio si se escriben
- <i>
- manejadores de eventos</i>
- dentro de
- <i>
- escuchadores de eventos</i>
- como se explicará en breve, se podrán usar estos eventos para realizar otras acciones. El uso de eventos para disparar otros acciones más explícitas explica vagamente lo que es un modelo de eventos.</p>
-<p>¿Dónde exactamente están estos eventos provocados? ¿Provocados por quién? Los eventos que son lanzados por un objeto, emergen como una
- <i>
- burbuja</i>
- a través del modelo jerárquico que es el DOM (o el AOM) nodo a nodo. Dichos eventos pueden ser manejados en cualquier punto de la jerarquía (incluyendo el mismo nodo en el que es lanzado). Si nadie en un nivel en particular de la jerarquía está interesado en el evento, entonces el evento continúa
- <i>
- emergiendo</i>
- al siguiente nivel superior hasta llegar a lo más alto de la jerarquía.</p>
-<p>El término no es usado con frecuencia, pero un
- <i>
- escuchador de eventos</i>
- es un atributo especial de un objeto que escucha sus propios eventos. El documento, por ejemplo, tiene un escuchador de eventos <code>onload</code> para escuchar a su evento <code>load</code>. Los botones XUL tienen escuchadores de eventos <code>onclick</code>. Los escuchadores de eventos son algo realmente útil: en lugar de usarlos se podría detectar cuándo un objeto ha disparado un evento, luego averiguar de qué evento se trataba y luego tratar el evento como respuesta, pero el escuchador de eventos proporciona un mecanismo fácil para escribir manejadores de eventos para eventos tanto comunes como específicos.</p>
-<p>Un manejador de eventos es un retal de código que se escribe en respuesta a un evento. Un manejador de evento <code>onload</code> viene a decir que cuando el documento se cargue, el manejador será llamadao. Y el atributo escuchador de evento proporciona un lugar muy apropiado en el que escribir manejadores de eventos (de hecho es tan apropiado que el término
- <i>
- manejador de evento</i>
- es frecuentemente usado para describir tanto al atributo escuchador de eventos como al código manejador de eventos). Para crear un manejador de eventos, sólo hay que escribir el código que se quiere que sea ejecutado dentro del escuchador de eventos apropiado:</p>
-<pre class="eval">&lt;menuitem value="Púlsame" onclick="alert('Evento manejado.')" /&gt;
-</pre>
-<p>Esto sigue la explicación de antes de que los manejadores de eventos pueden ser escritos para eventos que son lanzados en algún nivel inferior en la jerarquía. Un menubar en XUL, por ejemplo, puede contener manejadores de eventos para los eventos lanzados por sus menuitems hijos.</p>
-<h2 id="Arquitectura_XP_de_Mozilla" name="Arquitectura_XP_de_Mozilla">Arquitectura XP de Mozilla</h2>
-<p>Obviamente, Mozilla es mucho más que una simple interfaz. Es multiplataforma basado en los estándares y, de algún modo, los manejadores de eventos escritos en JavaScript y que residen en la interfaz XUL se están volviendo muy importantes en el núcleo de la aplicación.</p>
-<p>Cosas como interfaces para sockets, edición, correo/noticias, seguridad... Las tecnologías que hacen esto posible son quizá las menos comprendidas del conglomerado de innovaciones que es Mozilla. Además de los programar estas cosas tan importantes en C++ y compilarlas plataforma a plataforma, los arquitectos y desarrolladores de Mozilla utilizan tres tecnologías
- <i>
- XP</i>
- que unen el núcleo con la interfaz.</p>
-<p>XPCOM no es un lenguaje de programación sino una aproximación a la programación (en C++) que proporciona un auténtico modelo de objetos de componentes multiplataforma, de donde la tecnología toma su nombre. Basado en COM, XPCOM proporciona un lenguaje e interfaces independientes de la plataforma que otros objetos pueden usar para acceder a sus servicios. XPCOM refuerza las reglas para diseñar y compilar que hacen posible el uso de servicios de un objeto sin conocer nada sobre la implementación.</p>
-<p>XPIDL, el lenguaje de definición de interfaces multiplataforma, es un lenguaje en el que estas interfaces asistidas por XPCOM pueden ser descritos. Usar XPIDL para describir las interfaces XPCOM hace que éstas estén disponibles en ficheros de cabecera especiales. Finalmente, XPConnect es la tecnología que conecta estas interfaces XPCOM/XPIDL con JavaScript, el lenguaje de script que utiliza XUL. La unión de estas tres tecnologías multiplataforma se ubica en mitad de una arquitectura que tiene este aspecto:</p>
-<p><img align="none" alt="Bridging C++ and JavaScript"></p>
-<p>Autor: <a class="link-mailto" href="mailto:oeschger@netscape.com">Ian Oeschger</a><br>
- Otros documentos: <a class="external" href="http://www.mozilla.org/docs/jargon.html">Mozilla Jargon File</a> y <a href="es/Introducci%c3%b3n_a_XUL">Introducción a XUL</a></p>
-<div class="originaldocinfo">
- <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
- <ul>
- <li>Author(s): <a class="link-mailto" href="mailto:oeschger@netscape.com">Ian Oeschger</a></li>
- <li>Last Updated Date: April 16, 2000</li>
- <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:oeschger@netscape.com">Ian Oeschger</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/es/archive/mozilla/xul/cómo_implementar_un_componente_procesador_de_consultas_xul/index.html b/files/es/archive/mozilla/xul/cómo_implementar_un_componente_procesador_de_consultas_xul/index.html
deleted file mode 100644
index f53b35c6a3..0000000000
--- a/files/es/archive/mozilla/xul/cómo_implementar_un_componente_procesador_de_consultas_xul/index.html
+++ /dev/null
@@ -1,187 +0,0 @@
----
-title: Cómo implementar un componente procesador de consultas XUL
-slug: Archive/Mozilla/XUL/Cómo_implementar_un_componente_procesador_de_consultas_XUL
-translation_of: Archive/Mozilla/XUL/How_to_implement_a_custom_XUL_query_processor_component
----
-<p>El servicio XUL apoya el uso de plantillas para crear un bloque de contenidos a partir de una consulta a una fuente de datos. La <a href="es/Guia_de_Plantillas_XUL"> Guia de Plantillas XUL</a> presenta una gran fuente de información detallada acerca del uso de las plantillas XUL. El servicio XUL proporciona procesadores de consulta de plantillas para RDF, XML y SQL (<a href="es/Almacenamiento">mozStorage</a>). Este sistema de plantillas también da soporte a la creación de procesadores de consultas personalizadas. Los procesadores de consultas personalizadas son componentes XPCOM que deben implementar la interfaz <a href="es/NsIXULTemplateQueryProcessor">nsIXULTemplateQueryProcessor</a> y seguir algunos de los criterios que indican cuándo se deben registrar los mismos.</p>
-
-<p>En este ejemplo, crearemos un <a href="es/C%c3%b3mo_crear_sencillo_componente_XPCOM_en_JavaScript">sencillo componente XPCOM en JavaScript</a>. Dicho componente mantendrá una pequeña selección de objetos de JavaScript en su fuente de datos. En la práctica, se usaría una fuente propia de datos personalizada.</p>
-
-<p>A continuación presentamos un ejemplo del posible aspecto que podría tener nuestro servicio de XUL al utilizar un procesador de consultas personalizado:</p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-&lt;window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;grid&gt;
- &lt;columns&gt;
- &lt;column flex="1"/&gt;
- &lt;column flex="3"/&gt;
- &lt;column flex="2"/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows datasources="dummy" ref="." querytype="simpledata"&gt;
- &lt;template&gt;
- &lt;row uri="?"&gt;
- &lt;label value="?name"/&gt;
- &lt;label value="?age"/&gt;
- &lt;label value="?hair"/&gt;
- &lt;label value="?eye"/&gt;
- &lt;/row&gt;
- &lt;/template&gt;
- &lt;/rows&gt;
- &lt;/grid&gt;
-&lt;/window&gt;
-</pre>
-
-<p>Algunas cosas a tener en cuenta. En realidad no estamos utilizando las <code>fuentes de datos</code> en nuestro componente de ejemplo, por lo que lo configuraremos con un valor no válido. Un hilo vacío también valdría. El tipo de <code>consulta</code> es importante. Se usa para crear un caso de nuestro objeto XPCOM. La contracción de la identidad de nuestro componente XPCOM debería tener la forma de <code>"@mozilla.org/xul/xul-query-processor;1?name=xxx"</code>, donde las <strong>xxx</strong> representan el <code>tipo de consulta</code> utilizado en el bloque de plantillas XUL. A continuación mostramos nuestro ejemplo de procesador de consultas XPCOM de JavaScript:</p>
-
-<pre>Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-
-// basic wrapper for nsIXULTemplateResult
-function TemplateResult(aData) {
- this._data = aData;
- // just make a random number for the id
- this._id = Math.random(100000).toString();
-}
-
-TemplateResult.prototype = {
- QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIXULTemplateResult]),
-
- // private storage
- _data: null,
-
- // right now our results are flat lists, so no containing/recursion take place
- isContainer: false,
- isEmpty: true,
- mayProcessChildren: false,
- resource: null,
- type: "simple-item",
-
- get id() {
- return this._id;
- },
-
- // return the value of that bound variable such as ?name
- getBindingFor: function(aVar) {
- // strip off the ? from the beginning of the name
- var name = aVar.toString().slice(1);
- return this._data[name];
- },
-
- // return an object instead of a string for convenient comparison purposes
- // or null to say just use string value
- getBindingObjectFor: function(aVar) {
- return null;
- },
-
- // called when a rule matches this item.
- ruleMatched: function(aQuery, aRuleNode) { },
-
- // the output for a result has been removed and the result is no longer being used by the builder
- hasBeenRemoved: function() { }
-};
-
-
-// basic wrapper for nsISimpleEnumerator
-function TemplateResultSet(aArrayOfData) {
- this._index = 0;
- this._array = aArrayOfData;
-}
-
-TemplateResultSet.prototype = {
- QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsISimpleEnumerator]),
-
- hasMoreElements: function() {
- return this._index &lt; this._array.length;
- },
-
- getNext: function() {
- return new TemplateResult(this._array[this._index++]);
- }
-};
-
-
-// The query processor class - implements nsIXULTemplateQueryProcessor
-function TemplateQueryProcessor() {
- // our basic list of data
- this._data = [
- {name: "mark", age: 36, hair: "brown", eye: "brown"},
- {name: "bill", age: 25, hair: "red", eye: "black"},
- {name: "joe", age: 15, hair: "blond", eye: "blue"},
- {name: "jimmy", age: 65, hair: "gray", eye: "dull"}
- ];
-}
-
-TemplateQueryProcessor.prototype = {
- QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIXULTemplateQueryProcessor]),
- classDescription: "Sample XUL Template Query Processor",
- classID: Components.ID("{282cc4ea-a49c-44fc-81f4-1f03cbb7825f}"),
- contractID: "@mozilla.org/xul/xul-query-processor;1?name=simpledata",
-
- getDatasource: function(aDataSources, aRootNode, aIsTrusted, aBuilder, aShouldDelayBuilding) {
- // TODO: parse the aDataSources variable
- // for now, ignore everything and let's just signal that we have data
- return this._data;
- },
-
- initializeForBuilding: function(aDatasource, aBuilder, aRootNode) {
- // perform any initialization that can be delayed until the content builder
- // is ready for us to start
- },
-
- done: function() {
- // called when the builder is destroyed to clean up state
- },
-
- compileQuery: function(aBuilder, aQuery, aRefVariable, aMemberVariable) {
- // outputs a query object.
- // eventually we should read the &lt;query&gt; to create filters
- return this._data;
- },
-
- generateResults: function(aDatasource, aRef, aQuery) {
- // preform any query and pass the data to the result set
- return new TemplateResultSet(this._data);
- },
-
- addBinding: function(aRuleNode, aVar, aRef, aExpr) {
- // add a variable binding for a particular rule, which we aren't using yet
- },
-
- translateRef: function(aDatasource, aRefstring) {
- // if we return null, everything stops
- return new TemplateResult(null);
- },
-
- compareResults: function(aLeft, aRight, aVar) {
- // -1 less, 0 ==, +1 greater
- if (aLeft &lt; aRight) {
- return -1;
- }
- else if (aLeft &gt; aRight) {
- return 1;
- }
- else {
- return 0;
- }
- }
-};
-
-
-var components = [TemplateQueryProcessor];
-
-function NSGetModule(compMgr, fileSpec) {
- return XPCOMUtils.generateModule(components);
-}
-</pre>
-
-<p>Nuestro ejemplo de procesador de consultas es muy fácil. Notas aclaratorias:</p>
-
-<ul>
- <li>Estamos usando el <code>getBindingFor</code> en vez del <code>getBindingObjectFor</code> para simplificar así el código. La variable introducida en el <code>getBindingFor</code> todavía conserva las “?” por lo que debéis aseguraros de introducirla de forma correcta.</li>
- <li>No se usarán cualquiera de los elementos <code>&lt;query/&gt;</code> o <code>&lt;rule/&gt;</code> en el bloque de plantillas de XUL. Se podrá hacer uso de éstas para apoyar el filtrado de fuentes de datos.</li>
- <li>No estamos manejando <code>fuentes de datos</code>, sino que en su lugar, estamos introduciendo a mano el componente. Se podría ampliar fácilmente este ejemplo para manejar varias <code>fuentes de datos</code> a través de la comprobación del valor de las mismas en el <code>getDatasource</code> y en el <code>initializeForBuilding</code>.</li>
- <li>No se usarán cualquiera de los elementos <code>&lt;query/&gt;</code> o <code>&lt;rule/&gt;</code> en el bloque de plantillas de XUL. Se podrá hacer uso de éstas para apoyar el filtrado de fuentes de datos.</li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/dialog/index.html b/files/es/archive/mozilla/xul/dialog/index.html
deleted file mode 100644
index 90b8773539..0000000000
--- a/files/es/archive/mozilla/xul/dialog/index.html
+++ /dev/null
@@ -1,383 +0,0 @@
----
-title: dialog
-slug: Archive/Mozilla/XUL/Dialog
-translation_of: Archive/Mozilla/XUL/dialog
----
-<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/es/docs/XUL/Elementos">Referencia de XUL</a> [
- <a href="#Examples">Ejemplos</a> |
- <a href="#Attributes">Atributos</a> |
- <a href="#Properties">Propiedades</a> |
- <a href="#Methods">Methoden</a> |
- <a href="#Related">Métodos</a> ]
-</span></div>
-
-<p>Este elemento debería utilizarse en lugar del elemento <code><a href="/es/docs/Mozilla/Tech/XUL/window" title="window">window</a></code> para cuadros de diálogo. El atributo <code id="a-buttons"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/buttons">buttons</a></code> puede utilizarse para configurar aquellos botones que deberían aparecer en el cuadro de diálogo. Estos botones serán colocados en el lugar correcto para la plataforma del usuario.</p>
-
-<p>Hay más información disponible en <a href="/en/XUL_Tutorial/Creating_Dialogs" title="en/XUL_Tutorial/Creating_Dialogs">XUL Tutorial</a> y en <a href="/en/Code_snippets/Dialogs_and_Prompts" title="en/Code_snippets/Dialogs_and_Prompts">Dialogs and prompts</a> (fragmentos de código).</p>
-
-<dl>
- <dt>Atributos</dt>
- <dd><a href="#a-buttonaccesskeyaccept">buttonaccesskeyaccept</a>, <a href="#a-buttonaccesskeycancel">buttonaccesskeycancel</a>, <a href="#a-buttonaccesskeydisclosure">buttonaccesskeydisclosure</a>, <a href="#a-buttonaccesskeyextra1">buttonaccesskeyextra1</a>, <a href="#a-buttonaccesskeyextra2">buttonaccesskeyextra2</a>, <a href="#a-buttonaccesskeyhelp">buttonaccesskeyhelp</a>, <a href="#a-buttonalign">buttonalign</a>, <a href="#a-buttondir">buttondir</a>, <a href="#a-buttondisabledaccept">buttondisabledaccept</a>, <a href="#a-buttonlabelaccept">buttonlabelaccept</a>, <a href="#a-buttonlabelcancel">buttonlabelcancel</a>, <a href="#a-buttonlabeldisclosure">buttonlabeldisclosure</a>, <a href="#a-buttonlabelextra1">buttonlabelextra1</a>, <a href="#a-buttonlabelextra2">buttonlabelextra2</a>, <a href="#a-buttonlabelhelp">buttonlabelhelp</a>, <a href="#a-buttonorient">buttonorient</a>, <a href="#a-buttonpack">buttonpack</a>, <a href="#a-buttons">buttons</a>, <a href="#a-defaultButton">defaultButton</a>, <a href="#a-ondialogaccept">ondialogaccept</a>, <a href="#a-ondialogcancel">ondialogcancel</a>, <a href="#a-ondialogdisclosure">ondialogdisclosure</a>, <a href="#a-ondialogextra1">ondialogextra1</a>, <a href="#a-ondialogextra2">ondialogextra2</a>, <a href="#a-ondialoghelp">ondialoghelp</a>, <a href="#a-title">title</a></dd>
-</dl>
-
-<dl>
- <dt>Propiedades</dt>
- <dd><a href="#p-buttons">buttons</a>, <a href="#p-defaultButton">defaultButton</a></dd>
-</dl>
-
-<dl>
- <dt>Métodos</dt>
- <dd><a href="#m-acceptDialog">acceptDialog</a>, <a href="#m-cancelDialog">cancelDialog</a>, <a href="#m-centerWindowOnScreen">centerWindowOnScreen</a>, <a href="#m-getButton">getButton</a>, <a href="#m-moveToAlertPosition">moveToAlertPosition</a></dd>
-</dl>
-
-<h3 id="Examples" name="Examples">Ejemplos</h3>
-
-<div class="float-right"><img alt="Image:XUL_ref_dialog.png" class="internal" src="/@api/deki/files/453/=XUL_ref_dialog.png"></div>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?&gt;
-&lt;dialog id="donothing" title="Dialog example"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- buttons="accept,cancel"
- buttonlabelcancel="Cancel"
- buttonlabelaccept="Save"
- ondialogaccept="return doOK();"
- ondialogcancel="return doCancel();"&gt;
-
- &lt;dialogheader title="Options" description="My preferences"/&gt;
- &lt;groupbox&gt;
- &lt;caption label="Colour"/&gt;
- &lt;radiogroup&gt;
- &lt;radio label="Red"/&gt;
- &lt;radio label="Green" selected="true"/&gt;
- &lt;radio label="Blue"/&gt;
- &lt;/radiogroup&gt;
- &lt;label value="Nickname"/&gt;
- &lt;textbox /&gt;
- &lt;/groupbox&gt;
-&lt;/dialog&gt;
-</pre>
-
-<h3 id="Attributes" name="Attributes">Atributos</h3>
-
-<p> </p><div id="a-activetitlebarcolor">
-
-
-<dl>
- <dt><code id="a-activetitlebarcolor"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/activetitlebarcolor">activetitlebarcolor</a></code> </dt>
- <dd>Type: <em>color string</em></dd>
- <dd>Specify background color of the window's titlebar when it is active (foreground). Moreover this hides separator between titlebar and window contents. <em>This only affects Mac OS X.</em></dd>
-</dl>
-</div> <div id="a-buttonaccesskeyaccept">
-
-<dl>
- <dt>
- <code id="a-buttonaccesskeyaccept"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The access key to use for the "accept" button.</dd>
-</dl>
-</div> <div id="a-buttonaccesskeycancel">
-
-<dl>
- <dt>
- <code id="a-buttonaccesskeycancel"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeycancel">buttonaccesskeycancel</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The access key to use for the "cancel" button.</dd>
-</dl>
-</div> <div id="a-buttonaccesskeydisclosure">
-
-<dl>
- <dt>
- <code id="a-buttonaccesskeydisclosure"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeydisclosure">buttonaccesskeydisclosure</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The access key to use for the "disclosure" button.</dd>
-</dl>
-</div> <div id="a-buttonaccesskeyextra1">
-
-<dl>
- <dt>
- <code id="a-buttonaccesskeyextra1"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeyextra1">buttonaccesskeyextra1</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The access key to use for the first extra button.</dd>
-</dl>
-</div> <div id="a-buttonaccesskeyextra2">
-
-
-<dl>
- <dt><code id="a-buttonaccesskeyextra2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeyextra2">buttonaccesskeyextra2</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The access key to use for the second extra button.</dd>
-</dl>
-</div> <div id="a-buttonaccesskeyhelp">
-
-<dl>
- <dt>
- <code id="a-buttonaccesskeyhelp"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonaccesskeyhelp">buttonaccesskeyhelp</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The access key to use for the "help" button.</dd>
-</dl>
-</div> <div id="a-buttonalign">
-
-<dl>
- <dt>
- <code id="a-buttonalign"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonalign">buttonalign</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The value of the <code id="a-align"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code> attribute for the box containing the buttons.</dd>
-</dl>
-</div> <div id="a-buttondir">
-
-
-<dl>
- <dt><code id="a-buttondir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttondir">buttondir</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The value of the <code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code> attribute for the box containing the buttons.</dd>
-</dl>
-</div> <div id="a-buttondisabledaccept">
-
-
-<dl>
- <dt><code id="a-buttondisabledaccept"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttondisabledaccept">buttondisabledaccept</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If <code>true</code>, the accept button is disabled.</dd>
-</dl>
-</div> <div id="a-buttonlabelaccept">
-
-
-<dl>
- <dt><code id="a-buttonlabelaccept"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the "accept" button.</dd>
-</dl>
-</div> <div id="a-buttonlabelcancel">
-
-
-<dl>
- <dt><code id="a-buttonlabelcancel"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelcancel">buttonlabelcancel</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the "cancel" button.</dd>
-</dl>
-</div> <div id="a-buttonlabeldisclosure">
-
-
-<dl>
- <dt><code id="a-buttonlabeldisclosure"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabeldisclosure">buttonlabeldisclosure</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the "disclosure" button.</dd>
-</dl>
-</div> <div id="a-buttonlabelextra1">
-
-
-<dl>
- <dt><code id="a-buttonlabelextra1"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the first extra button.</dd>
-</dl>
-</div> <div id="a-buttonlabelextra2">
-
-
-<dl>
- <dt><code id="a-buttonlabelextra2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the second extra button.</dd>
-</dl>
-</div> <div id="a-buttonlabelhelp">
-
-
-<dl>
- <dt><code id="a-buttonlabelhelp"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelhelp">buttonlabelhelp</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label to appear on the "help" button.</dd>
-</dl>
-</div> <div id="a-buttonorient">
-
-
-<dl>
- <dt><code id="a-buttonorient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonorient">buttonorient</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The value of the <code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> attribute for the box containing the buttons.</dd>
-</dl>
-</div> <div id="a-buttonpack">
-
-
-<dl>
- <dt><code id="a-buttonpack"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonpack">buttonpack</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The value of the <code id="a-pack"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code> attribute for the box containing the buttons.</dd>
-</dl>
-</div> <div id="a-buttons">
-
-<dl>
- <dt>
- <code id="a-buttons"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttons">buttons</a></code></dt>
- <dd>
- Type: <em>comma-separated list of the values below</em></dd>
- <dd>
- A comma-separated list of buttons to appear in the dialog box. The buttons will be placed in suitable locations for the user's platform and basic event handling will be performed automatically. The following values can be used in the list:
- <ul>
- <li><code>accept</code>: The OK button, which will accept the changes when pressed. This button will also be the default button.</li>
- <li><code>cancel</code>: The cancel button which will cancel the operation.</li>
- <li><code>help</code>: A help button for displaying help about the dialog.</li>
- <li><code>disclosure</code>: A button to show more information. This might be a button or a disclosure triangle.</li>
- <li><code>extra1</code>: An optional additional button. You can set its label with the <code><code id="a-buttonlabelextra1"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></code></code> attribute and its command with the<code> <code><code id="a-ondialogextra1"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogextra1">ondialogextra1</a></code></code> attribute</code>.</li>
- <li><code>extra2</code>: A second optional additional button. You can set its label with the <code><code id="a-buttonlabelextra2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></code></code> attribute and its command with the<code> <code><code id="a-ondialogextra2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogextra2">ondialogextra2</a></code></code> attribute</code>.</li>
- </ul>
- </dd>
-</dl>
-<div class="note"><strong>Note:</strong> If you don't want to display any buttons in the dialog box, set the value of this attribute to "," (a single comma).</div>
-<div class="warning"><strong>Warning:</strong> If the <code>accept</code> and <code>cancel</code> buttons are actually shown is system dependent and is mainly controlled by the value of the boolean preference <code>browser.preferences.instantApply</code>. If it is set to <code>true</code> any changes to settings are supposed to be applied immediately. The <code>accept</code> button is therefore unnecessary and is hidden. The <code>cancel</code> button might be shown as an additional possibility to close the dialog in this situation (Windows and Linux) or might be hidden, too (Mac OS).<br>
- The default setting of <code>browser.preferences.instantApply</code> currently is <code>true</code> on Linux and Mac OS and <code>false</code> on Windows (which however might or might not change soon, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=738797" title="FIXED: Enable the in-content preferences by default">bug 738797</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1037225" title="FIXED: Consider keeping browser.preferences.instantApply = false on Windows">bug 1037225</a>).</div>
-</div> <div id="a-defaultButton">
-
-
-<dl>
- <dt><code id="a-defaultButton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/defaultButton">defaultButton</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Normally this attribute should not be set, but if it is, it specifies the default button in the dialog. Typically, this means that the button will be activated when the Enter key is pressed. This should be set to one of the same values as those for the <code id="a-buttons"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttons">buttons</a></code> attribute.</dd>
-</dl>
-</div> <div id="a-inactivetitlebarcolor">
-
-
-<dl>
- <dt><code id="a-inactivetitlebarcolor"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/inactivetitlebarcolor">inactivetitlebarcolor</a></code> </dt>
- <dd>Type: <em>color string</em></dd>
- <dd>Specify background color of the window's titlebar when it is inactive (background). Moreover this hides separator between titlebar and window contents. <em>This affects only on Mac OS X.</em></dd>
-</dl>
-</div> <div id="a-ondialogaccept">
-
-
-<dl>
- <dt><code id="a-ondialogaccept"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogaccept">ondialogaccept</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the accept button is pressed, or when the <span id="m-acceptDialog"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/acceptDialog">acceptDialog</a></code></span> method is called. If the handler returns <code>true</code>, the dialog will indeed go away, but if it returns <code>false</code> it will not.</dd>
-</dl>
-</div> <div id="a-ondialogcancel">
-
-
-<dl>
- <dt><code id="a-ondialogcancel"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogcancel">ondialogcancel</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the "cancel" button is pressed or when the <span id="m-cancelDialog"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/cancelDialog">cancelDialog</a></code></span> method is called. If the routine returns true, the dialog will indeed go away, but if it returns false it will not.</dd>
-</dl>
-</div> <div id="a-ondialogdisclosure">
-
-
-<dl>
- <dt><code id="a-ondialogdisclosure"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogdisclosure">ondialogdisclosure</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the "disclosure" button is pressed.</dd>
-</dl>
-</div> <div id="a-ondialogextra1">
-
-
-<dl>
- <dt><code id="a-ondialogextra1"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogextra1">ondialogextra1</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the first extra button is pressed.</dd>
-</dl>
-</div> <div id="a-ondialogextra2">
-
-
-<dl>
- <dt><code id="a-ondialogextra2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialogextra2">ondialogextra2</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the second extra button is pressed.</dd>
-</dl>
-</div> <div id="a-ondialoghelp">
-
-
-<dl>
- <dt><code id="a-ondialoghelp"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ondialoghelp">ondialoghelp</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>The code in this attribute is called when the "help" button is pressed.</dd>
-</dl>
-</div> <div id="a-title">
-
-
-<dl>
- <dt><code id="a-title"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/title">title</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The text to appear in the title bar of the window.</dd>
-</dl>
-</div>
-
-<h3 id="Properties" name="Properties">Propiedades</h3>
-
-<p> </p><div id="p-buttons">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/buttons">buttons</a></span></code></dt>
- <dd>Typo: <em>lista de los valores de abajo separados por comas</em></dd>
- <dd>Una lista separada por comas de botones que aparecerán en el cuadro de diálogo. Los botones serán puestos en lugares adecuados para la plataforma del usuario y la gestión básica de eventos se ejecutará automáticamente. En la lista pueden utilizarse los siguientes valores:</dd>
-</dl>
-
-<ul>
- <li><code>accept</code>: El botón Aceptar, que aceptará los cambios cuando se presione. Este botón también será el botón predeterminado.</li>
- <li><code>cancel</code>: El botón Cancelar que cancelará la operación.</li>
- <li><code>help</code>: Un boton Ayuda para mostrar ayuda sobre el diálogo.</li>
- <li><code>disclosure</code>: Un botón para mostrar más información. Este podría ser un botón o un triángulo.</li>
- <li><code>extra1</code>: Un botón adicional opcional. Usted puede configurar su leyenda con el atributo<code> <code id="a-buttonlabelextra1"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></code></code>.</li>
- <li><code>extra2</code>: Un segundo botón adicional opcional. Usted puede configurar su leyenda con el atributo <code><code id="a-buttonlabelextra2"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></code></code>.</li>
-</ul></div> <div id="p-defaultButton">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/defaultButton">defaultButton</a></span></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Normally this attribute should not be set, but if it is, it specifies the default button in the dialog. Typically, this means that the button will be activated when the Enter key is pressed. This should be set to one of the same values as those for the <code id="a-buttons"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/buttons">buttons</a></code> attribute.</dd>
-</dl></div>
-
-<h3 id="Methods" name="Methods">Métodos</h3>
-
-<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238); float: right; width: 250px;">
-<tbody>
-<tr>
-<td>
-<p><strong>Métodos Heredados</strong><br>
-<small><code><a href="https://developer.mozilla.org/es/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.appendChild">appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.cloneNode">cloneNode()</a></code>, <a href="/es/DOM/Node.compareDocumentPosition" title="es/DOM/Node.compareDocumentPosition">compareDocumentPosition</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getBoundingClientRect">getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getClientRects">getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Method/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByClassName">getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <a href="/es/DOM/Node.getFeature" title="es/DOM/Node.getFeature">getFeature</a>, <a href="/es/DOM/Node.getUserData" title="es/DOM/Node.getUserData">getUserData</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.isDefaultNamespace">isDefaultNamespace()</a></code>, <a href="/es/DOM/Node.isEqualNode" title="es/DOM/Node.isEqualNode">isEqualNode</a>, <a href="/es/DOM/Node.isSameNode" title="es/DOM/Node.isSameNode">isSameNode</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.isSupported">isSupported()</a></code>, <a href="/es/DOM/Node.lookupNamespaceURI" title="es/DOM/Node.lookupNamespaceURI">lookupNamespaceURI</a>, <a href="/es/DOM/Node.lookupPrefix" title="es/DOM/Node.lookupPrefix">lookupPrefix</a>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.querySelector">querySelector()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.querySelectorAll">querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/es/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code>, <a href="/es/DOM/Node.setUserData" title="es/DOM/Node.setUserData">setUserData</a></small></p>
-
-</td>
-</tr>
-</tbody>
-</table> <dl>
- <dt>
- <span id="m-acceptDialog"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/acceptDialog">acceptDialog()</a></code></span></dt>
- <dd>
- Return type: <em>no return value</em></dd>
- <dd>
- Accepts the dialog and closes it, similar to pressing the OK button.</dd>
-</dl> <dl>
- <dt><span id="m-cancelDialog"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/cancelDialog">cancelDialog()</a></code></span></dt>
- <dd>Return type: <em>no return value</em></dd>
- <dd>Cancels the dialog and closes it, similar to pressing the Cancel button.</dd>
-</dl> <dl>
- <dt><span id="m-centerWindowOnScreen"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/centerWindowOnScreen">centerWindowOnScreen()</a></code></span></dt>
- <dd>Return type: <em>no return value</em></dd>
- <dd>Centers the dialog on the screen.</dd>
-</dl> <dl>
- <dt><span id="m-getButton"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/getButton">getButton( type )</a></code></span></dt>
- <dd>Return type: <em>button element</em></dd>
- <dd>Returns the <code><a href="/en-US/docs/Mozilla/Tech/XUL/button" title="button">button</a></code> element in the dialog corresponding to the given type.</dd>
-</dl> <dl>
- <dt><span id="m-moveToAlertPosition"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/moveToAlertPosition">moveToAlertPosition()</a></code></span></dt>
- <dd>Return type: <em>no return value</em></dd>
- <dd>Moves and resizes the dialog to a position and size suitable for an alert box.</dd>
-</dl>
-
-<h3 id="Related" name="Related">Relacionado</h3>
-
-<dl>
- <dt>Elementos</dt>
- <dd><code><a href="/es/docs/Mozilla/Tech/XUL/dialogheader" title="dialogheader">dialogheader</a></code></dd>
-</dl>
diff --git a/files/es/archive/mozilla/xul/elementos/index.html b/files/es/archive/mozilla/xul/elementos/index.html
deleted file mode 100644
index 99aa60adfc..0000000000
--- a/files/es/archive/mozilla/xul/elementos/index.html
+++ /dev/null
@@ -1,323 +0,0 @@
----
-title: Elementos
-slug: Archive/Mozilla/XUL/Elementos
-tags:
- - Todas_las_Categorías
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/elements
----
-<p>« <a href="/es/docs/XUL" title="es/XUL">Referencia de XUL</a> «</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th colspan="3">Todos los elementos XUL (ordenados alfabéticamente)</th>
- </tr>
- <tr>
- <td>
- <p><a class="internal" href="/es/XUL/action" title="es/XUL/action">action</a><br>
- <a class="internal" href="/Es/XUL/Arrowscrollbox" title="Es/XUL/Arrowscrollbox">arrowscrollbox</a><br>
- <a class="internal" href="/Es/XUL/Assign" title="es/XUL/Assign">assign</a><br>
- <a class="internal" href="/Es/XUL/Bbox" title="es/XUL/bbox">bbox</a><br>
- <a class="internal" href="/es/XUL/binding" title="es/XUL/binding">binding</a><br>
- <a class="internal" href="/es/XUL/bindings" title="es/XUL/bindings">bindings</a><br>
- <a class="internal" href="/es/XUL/box" title="es/XUL/box">box</a><br>
- <a class="internal" href="/es/XUL/broadcaster" title="es/XUL/broadcaster">broadcaster</a><br>
- <a class="internal" href="/es/XUL/broadcasterset" title="es/XUL/broadcasterset">broadcasterset</a><br>
- <a class="internal" href="/es/XUL/button" title="es/XUL/button">button</a><br>
- <a class="internal" href="/es/XUL/browser" title="es/XUL/browser">browser</a><br>
- <a class="internal" href="/es/XUL/checkbox" title="es/XUL/checkbox">checkbox</a><br>
- <a class="internal" href="/es/XUL/caption" title="es/XUL/caption">caption</a><br>
- <a class="internal" href="/es/XUL/colorpicker" title="es/XUL/colorpicker">colorpicker</a><br>
- <a class="internal" href="/es/XUL/column" title="es/XUL/column">column</a><br>
- <a class="internal" href="/es/XUL/columns" title="es/XUL/columns">columns</a><br>
- <a class="internal" href="/es/XUL/commandset" title="es/XUL/commandset">commandset</a><br>
- <a class="internal" href="/es/XUL/command" title="es/XUL/command">command</a><br>
- <a class="internal" href="/es/XUL/conditions" title="es/XUL/conditions">conditions</a><br>
- <a class="internal" href="/es/XUL/content" title="es/XUL/content">content</a><br>
- <a class="internal" href="/es/XUL/datepicker" title="es/XUL/datepicker">datepicker</a><br>
- <a class="internal" href="/es/XUL/deck" title="es/XUL/deck">deck</a><br>
- <a class="internal" href="/es/XUL/description" title="es/XUL/description">description</a><br>
- <a class="internal" href="/Es/XUL/Dialog" title="es/XUL/dialog">dialog</a><br>
- <a class="internal" href="/es/XUL/dialogheader" title="es/XUL/dialogheader">dialogheader</a><br>
- <a class="internal" href="/es/XUL/dropmarker" title="es/XUL/dropmarker">dropmarker</a><br>
- <a class="internal" href="/es/XUL/editor" title="es/XUL/editor">editor</a><br>
- <a class="internal" href="/es/XUL/grid" title="es/XUL/grid">grid</a><br>
- <a class="internal" href="/es/XUL/grippy" title="es/XUL/grippy">grippy</a><br>
- <a class="internal" href="/es/XUL/groupbox" title="es/XUL/groupbox">groupbox</a><br>
- <a class="internal" href="/es/XUL/hbox" title="es/XUL/hbox">hbox</a><br>
- <a class="internal" href="/es/XUL/iframe" title="es/XUL/iframe">iframe</a><br>
- <a class="internal" href="/es/XUL/image" title="es/XUL/image">image</a><br>
- <a class="internal" href="/es/XUL/key" title="es/XUL/key">key</a><br>
- <a class="internal" href="/es/XUL/keyset" title="es/XUL/keyset">keyset</a><br>
- <a class="internal" href="/es/XUL/label" title="es/XUL/label">label</a><br>
- <a class="internal" href="/es/XUL/listbox" title="es/XUL/listbox">listbox</a><br>
- <a class="internal" href="/es/XUL/listcell" title="es/XUL/listcell">listcell</a><br>
- <a class="internal" href="/es/XUL/listcol" title="es/XUL/listcol">listcol</a><br>
- <a class="internal" href="/es/XUL/listcols" title="es/XUL/listcols">listcols</a><br>
- <a class="internal" href="/es/XUL/listhead" title="es/XUL/listhead">listhead</a><br>
- <a class="internal" href="/es/XUL/listheader" title="es/XUL/listheader">listheader</a><br>
- <a class="internal" href="/es/XUL/listitem" title="es/XUL/listitem">listitem</a></p>
- </td>
- <td>
- <p><a class="internal" href="/es/XUL/member" title="es/XUL/member">member</a><br>
- <a class="internal" href="/es/XUL/menu" title="es/XUL/menu">menu</a><br>
- <a class="internal" href="/es/XUL/menubar" title="es/XUL/menubar">menubar</a><br>
- <a class="internal" href="/es/XUL/menuitem" title="es/XUL/menuitem">menuitem</a><br>
- <a class="internal" href="/es/XUL/menulist" title="es/XUL/menulist">menulist</a><br>
- <a class="internal" href="/es/XUL/menupopup" title="es/XUL/menupopup">menupopup</a><br>
- <a class="internal" href="/es/XUL/menuseparator" title="es/XUL/menuseparator">menuseparator</a><br>
- <a class="internal" href="/es/XUL/notification" title="es/XUL/notification">notification</a><br>
- <a class="internal" href="/es/XUL/notificationbox" title="es/XUL/notificationbox">notificationbox</a><br>
- <a class="internal" href="/es/XUL/observes" title="es/XUL/observes">observes</a><br>
- <a class="internal" href="/es/XUL/overlay" title="es/XUL/overlay">overlay</a><br>
- <a class="internal" href="/es/XUL/page" title="es/XUL/page">page</a><br>
- <a class="internal" href="/es/XUL/panel" title="es/XUL/panel">panel</a><br>
- <a class="internal" href="/es/XUL/param" title="es/XUL/param">param</a><br>
- <a class="internal" href="/es/XUL/popupset" title="es/XUL/popupset">popupset</a><br>
- <a class="internal" href="/es/XUL/preference" title="es/XUL/preference">preference</a><br>
- <a class="internal" href="/es/XUL/preferences" title="es/XUL/preferences">preferences</a><br>
- <a class="internal" href="/es/XUL/prefpane" title="es/XUL/prefpane">prefpane</a><br>
- <a class="internal" href="/es/XUL/prefwindow" title="es/XUL/prefwindow">prefwindow</a><br>
- <a class="internal" href="/es/XUL/progressmeter" title="es/XUL/progressmeter">progressmeter</a><br>
- <a class="internal" href="/es/XUL/query" title="es/XUL/query">query</a><br>
- <a class="internal" href="/es/XUL/queryset" title="es/XUL/queryset">queryset</a><br>
- <a class="internal" href="/es/XUL/radio" title="es/XUL/radio">radio</a><br>
- <a class="internal" href="/es/XUL/radiogroup" title="es/XUL/radiogroup">radiogroup</a><br>
- <a class="internal" href="/es/XUL/resizer" title="es/XUL/resizer">resizer</a><br>
- <a class="internal" href="/es/XUL/richlistbox" title="es/XUL/richlistbox">richlistbox</a><br>
- <a class="internal" href="/es/XUL/richlistitem" title="es/XUL/richlistitem">richlistitem</a><br>
- <a class="internal" href="/es/XUL/row" title="es/XUL/row">row</a><br>
- <a class="internal" href="/es/XUL/rows" title="es/XUL/rows">rows</a><br>
- <a class="internal" href="/es/XUL/rule" title="es/XUL/rule">rule</a><br>
- <a class="internal" href="/es/XUL/scale" title="es/XUL/scale">scale</a><br>
- <a class="internal" href="/es/XUL/script" title="es/XUL/script">script</a><br>
- <a class="internal" href="/es/XUL/scrollbar" title="es/XUL/scrollbar">scrollbar</a><br>
- <a class="internal" href="/es/XUL/scrollbox" title="es/XUL/scrollbox">scrollbox</a><br>
- <a class="internal" href="/es/XUL/scrollcorner" title="es/XUL/scrollcorner">scrollcorner</a><br>
- <a class="internal" href="/es/XUL/separator" title="es/XUL/separator">separator</a><br>
- <a class="internal" href="/es/XUL/spacer" title="es/XUL/spacer">spacer</a><br>
- <a class="internal" href="/es/XUL/spinbuttons" title="es/XUL/spinbuttons">spinbuttons</a><br>
- <a class="internal" href="/es/XUL/splitter" title="es/XUL/splitter">splitter</a><br>
- <a class="internal" href="/es/XUL/stack" title="es/XUL/stack">stack</a><br>
- <a class="internal" href="/Es/XUL/Statusbar" title="es/XUL/statusbar">statusbar</a></p>
- </td>
- <td>
- <p><a class="internal" href="/es/XUL/statusbarpanel" title="es/XUL/statusbarpanel">statusbarpanel</a><br>
- <a class="internal" href="/es/XUL/stringbundle" title="es/XUL/stringbundle">stringbundle</a><br>
- <a class="internal" href="/es/XUL/stringbundleset" title="es/XUL/stringbundleset">stringbundleset</a><br>
- <a class="internal" href="/es/XUL/tab" title="es/XUL/tab">tab</a><br>
- <a class="internal" href="/es/XUL/tabbrowser" title="es/XUL/tabbrowser">tabbrowser</a> (Firefox-a partir de<br>
- Firefox 3/Gecko 1.9)<br>
- <a class="internal" href="/es/XUL/tabbox" title="es/XUL/tabbox">tabbox</a><br>
- <a class="internal" href="/es/XUL/tabpanel" title="es/XUL/tabpanel">tabpanel</a><br>
- <a class="internal" href="/es/XUL/tabpanels" title="es/XUL/tabpanels">tabpanels</a><br>
- <a class="internal" href="/es/XUL/tabs" title="es/XUL/tabs">tabs</a><br>
- <a class="internal" href="/es/XUL/template" title="es/XUL/template">template</a><br>
- <a class="internal" href="/es/XUL/textnode" title="es/XUL/textnode">textnode</a><br>
- <a class="internal" href="/es/XUL/textbox" title="es/XUL/textbox">textbox</a><br>
- <a class="internal" href="/es/XUL/textbox_(Firefox_autocomplete)" title="es/XUL/textbox (Firefox autocomplete)">textbox (Firefox autocomplete)</a><br>
- <a class="internal" href="/es/XUL/textbox_(Mozilla_autocomplete)" title="es/XUL/textbox (Mozilla autocomplete)">textbox (Mozilla autocomplete)</a><br>
- <a class="internal" href="/es/XUL/timepicker" title="es/XUL/timepicker">timepicker</a><br>
- <a class="internal" href="/es/XUL/titlebar" title="es/XUL/titlebar">titlebar</a><br>
- <a class="internal" href="/es/XUL/toolbar" title="es/XUL/toolbar">toolbar</a><br>
- <a class="internal" href="/es/XUL/toolbarbutton" title="es/XUL/toolbarbutton">toolbarbutton</a><br>
- <a class="internal" href="/es/XUL/toolbargrippy" title="es/XUL/toolbargrippy">toolbargrippy</a><br>
- <a class="internal" href="/es/XUL/toolbaritem" title="es/XUL/toolbaritem">toolbaritem</a><br>
- <a class="internal" href="/es/XUL/toolbarpalette" title="es/XUL/toolbarpalette">toolbarpalette</a><br>
- <a class="internal" href="/es/XUL/toolbarseparator" title="es/XUL/toolbarseparator">toolbarseparator</a><br>
- <a class="internal" href="/es/XUL/toolbarset" title="es/XUL/toolbarset">toolbarset</a><br>
- <a class="internal" href="/es/XUL/toolbarspacer" title="es/XUL/toolbarspacer">toolbarspacer</a><br>
- <a class="internal" href="/es/XUL/toolbarspring" title="es/XUL/toolbarspring">toolbarspring</a><br>
- <a class="internal" href="/es/XUL/toolbox" title="es/XUL/toolbox">toolbox</a><br>
- <a class="internal" href="/es/XUL/tooltip" title="es/XUL/tooltip">tooltip</a><br>
- <a class="internal" href="/es/XUL/tree" title="es/XUL/tree">tree</a><br>
- <a class="internal" href="/es/XUL/treecell" title="es/XUL/treecell">treecell</a><br>
- <a class="internal" href="/es/XUL/treechildren" title="es/XUL/treechildren">treechildren</a><br>
- <a class="internal" href="/es/XUL/treecol" title="es/XUL/treecol">treecol</a><br>
- <a class="internal" href="/es/XUL/treecols" title="es/XUL/treecols">treecols</a><br>
- <a class="internal" href="/es/XUL/treeitem" title="es/XUL/treeitem">treeitem</a><br>
- <a class="internal" href="/es/XUL/treerow" title="es/XUL/treerow">treerow</a><br>
- <a class="internal" href="/es/XUL/treeseparator" title="es/XUL/treeseparator">treeseparator</a><br>
- <a class="internal" href="/es/XUL/triple" title="es/XUL/triple">triple</a><br>
- <a class="internal" href="/es/XUL/vbox" title="es/XUL/vbox">vbox</a><br>
- <a class="internal" href="/es/XUL/where" title="es/XUL/where">where</a><br>
- <a class="internal" href="/es/XUL/window" title="es/XUL/window">window</a><br>
- <a class="internal" href="/es/XUL/wizard" title="es/XUL/wizard">wizard</a><br>
- <a class="internal" href="/es/XUL/wizardpage" title="es/XUL/wizardpage">wizardpage</a></p>
- </td>
- </tr>
- </tbody>
-</table>
-<h1 id="Referencia_de_XUL">Referencia de XUL</h1>
-<p>« <a href="/es/docs/XUL" title="es/XUL">Referencia de XUL</a> «</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th colspan="3">Elementos XUL por categoría</th>
- </tr>
- <tr>
- <td>
- <p><u><strong>VENTANAS</strong></u></p>
- <p><a class="internal" href="/Es/XUL/Dialog" title="es/XUL/dialog">dialog</a><br>
- <a class="internal" href="/es/XUL/overlay" title="es/XUL/overlay">overlay</a><br>
- <a class="internal" href="/es/XUL/page" title="es/XUL/page">page</a><br>
- <a class="internal" href="/es/XUL/window" title="es/XUL/window">window</a><br>
- <a class="internal" href="/es/XUL/wizard" title="es/XUL/wizard">wizard</a><br>
- <a class="internal" href="/es/XUL/wizardpage" title="es/XUL/wizardpage">wizardpage</a><br>
- <a class="internal" href="/es/XUL/preference" title="es/XUL/preference">preference</a><br>
- <a class="internal" href="/es/XUL/preferences" title="es/XUL/preferences">preferences</a><br>
- <a class="internal" href="/es/XUL/prefpane" title="es/XUL/prefpane">prefpane</a><br>
- <a class="internal" href="/es/XUL/prefwindow" title="es/XUL/prefwindow">prefwindow</a></p>
- <p><u><strong>ESTRUCTURA<br>
- DE VENTANAS</strong></u></p>
- <p><a class="internal" href="/es/XUL/browser" title="es/XUL/browser">browser</a><br>
- <a class="internal" href="/es/XUL/tabbrowser" title="es/XUL/tabbrowser">tabbrowser</a><br>
- <a class="internal" href="/es/XUL/editor" title="es/XUL/editor">editor</a><br>
- <a class="internal" href="/es/XUL/iframe" title="es/XUL/iframe">iframe</a><br>
- <a class="internal" href="/es/XUL/titlebar" title="es/XUL/titlebar">titlebar</a><br>
- <a class="internal" href="/es/XUL/resizer" title="es/XUL/resizer">resizer</a><br>
- <a class="internal" href="/Es/XUL/Statusbar" title="es/XUL/statusbar">statusbar</a><br>
- <a class="internal" href="/es/XUL/statusbarpanel" title="es/XUL/statusbarpanel">statusbarpanel</a><br>
- <a class="internal" href="/es/XUL/dialogheader" title="es/XUL/dialogheader">dialogheader</a><br>
- <a class="internal" href="/es/XUL/notification" title="es/XUL/notification">notification</a><br>
- <a class="internal" href="/es/XUL/notificationbox" title="es/XUL/notificationbox">notificationbox</a></p>
- <p><u><strong>MENUS Y VENTANAS<br>
- EMERGENTES</strong></u></p>
- <p><a class="internal" href="/es/XUL/menubar" title="es/XUL/menubar">menubar</a><br>
- <a class="internal" href="/es/XUL/menu" title="es/XUL/menu">menu</a><br>
- <a class="internal" href="/es/XUL/menuitem" title="es/XUL/menuitem">menuitem</a><br>
- <a class="internal" href="/es/XUL/menuseparator" title="es/XUL/menuseparator">menuseparator</a><br>
- <a class="internal" href="/es/XUL/menupopup" title="es/XUL/menupopup">menupopup</a><br>
- <a class="internal" href="/es/XUL/panel" title="es/XUL/panel">panel</a><br>
- <a class="internal" href="/es/XUL/tooltip" title="es/XUL/tooltip">tooltip</a><br>
- <a class="internal" href="/es/XUL/popupset" title="es/XUL/popupset">popupset</a></p>
- <p><u><strong>BARRAS DE<br>
- HERRAMIENTAS</strong></u></p>
- <p><a class="internal" href="/es/XUL/toolbar" title="es/XUL/toolbar">toolbar</a><br>
- <a class="internal" href="/es/XUL/toolbarbutton" title="es/XUL/toolbarbutton">toolbarbutton</a><br>
- <a class="internal" href="/es/XUL/toolbargrippy" title="es/XUL/toolbargrippy">toolbargrippy</a><br>
- <a class="internal" href="/es/XUL/toolbaritem" title="es/XUL/toolbaritem">toolbaritem</a><br>
- <a class="internal" href="/es/XUL/toolbarpalette" title="es/XUL/toolbarpalette">toolbarpalette</a><br>
- <a class="internal" href="/es/XUL/toolbarseparator" title="es/XUL/toolbarseparator">toolbarseparator</a><br>
- <a class="internal" href="/es/XUL/toolbarset" title="es/XUL/toolbarset">toolbarset</a><br>
- <a class="internal" href="/es/XUL/toolbarspacer" title="es/XUL/toolbarspacer">toolbarspacer</a><br>
- <a class="internal" href="/es/XUL/toolbarspring" title="es/XUL/toolbarspring">toolbarspring</a><br>
- <a class="internal" href="/es/XUL/toolbox" title="es/XUL/toolbox">toolbox</a></p>
- <p><u><strong>PESTAÑAS Y<br>
- AGRUPAMIENTO</strong></u></p>
- <p><a class="internal" href="/es/XUL/tabbox" title="es/XUL/tabbox">tabbox</a><br>
- <a class="internal" href="/es/XUL/tabs" title="es/XUL/tabs">tabs</a><br>
- <a class="internal" href="/es/XUL/tab" title="es/XUL/tab">tab</a><br>
- <a class="internal" href="/es/XUL/tabpanels" title="es/XUL/tabpanels">tabpanels</a><br>
- <a class="internal" href="/es/XUL/tabpanel" title="es/XUL/tabpanel">tabpanel</a><br>
- <a class="internal" href="/es/XUL/groupbox" title="es/XUL/groupbox">groupbox</a><br>
- <a class="internal" href="/es/XUL/caption" title="es/XUL/caption">caption</a><br>
- <a class="internal" href="/es/XUL/separator" title="es/XUL/separator">separator</a><br>
- <a class="internal" href="/es/XUL/spacer" title="es/XUL/spacer">spacer</a></p>
- </td>
- <td>
- <p><u><strong>CONTROLES</strong></u></p>
- <p><a class="internal" href="/es/XUL/button" title="es/XUL/button">button</a><br>
- <a class="internal" href="/es/XUL/checkbox" title="es/XUL/checkbox">checkbox</a><br>
- <a class="internal" href="/es/XUL/colorpicker" title="es/XUL/colorpicker">colorpicker</a><br>
- <a class="internal" href="/es/XUL/datepicker" title="es/XUL/datepicker">datepicker</a><br>
- <a class="internal" href="/es/XUL/menulist" title="es/XUL/menulist">menulist</a><br>
- <a class="internal" href="/es/XUL/progressmeter" title="es/XUL/progressmeter">progressmeter</a><br>
- <a class="internal" href="/es/XUL/radio" title="es/XUL/radio">radio</a><br>
- <a class="internal" href="/es/XUL/radiogroup" title="es/XUL/radiogroup">radiogroup</a><br>
- <a class="internal" href="/es/XUL/scale" title="es/XUL/scale">scale</a><br>
- <a class="internal" href="/es/XUL/splitter" title="es/XUL/splitter">splitter</a><br>
- <a class="internal" href="/es/XUL/textbox" title="es/XUL/textbox">textbox</a><br>
- <a class="internal" href="/es/XUL/textbox_(Firefox_autocomplete)" title="es/XUL/textbox (Firefox autocomplete)">textbox (Firefox autocomplete)</a><br>
- <a class="internal" href="/es/XUL/textbox_(Mozilla_autocomplete)" title="es/XUL/textbox (Mozilla autocomplete)">textbox (Mozilla autocomplete)</a><br>
- <a class="internal" href="/es/XUL/timepicker" title="es/XUL/timepicker">timepicker</a></p>
- <p><u><strong>TEXTO E<br>
- IMAGENES</strong></u></p>
- <p><a class="internal" href="/es/XUL/description" title="es/XUL/description">description</a><br>
- <a class="internal" href="/es/XUL/label" title="es/XUL/label">label</a><br>
- <a class="internal" href="/es/XUL/image" title="es/XUL/image">image</a></p>
- <p><u><strong>LISTAS</strong></u></p>
- <p><a class="internal" href="/es/XUL/listbox" title="es/XUL/listbox">listbox</a><br>
- <a class="internal" href="/es/XUL/listitem" title="es/XUL/listitem">listitem</a><br>
- <a class="internal" href="/es/XUL/listcell" title="es/XUL/listcell">listcell</a><br>
- <a class="internal" href="/es/XUL/listcol" title="es/XUL/listcol">listcol</a><br>
- <a class="internal" href="/es/XUL/listcols" title="es/XUL/listcols">listcols</a><br>
- <a class="internal" href="/es/XUL/listhead" title="es/XUL/listhead">listhead</a><br>
- <a class="internal" href="/es/XUL/listheader" title="es/XUL/listheader">listheader</a><br>
- <a class="internal" href="/es/XUL/richlistbox" title="es/XUL/richlistbox">richlistbox</a><br>
- <a class="internal" href="/es/XUL/richlistitem" title="es/XUL/richlistitem">richlistitem</a></p>
- <p><u><strong>ARBOLES</strong></u></p>
- <p><a class="internal" href="/es/XUL/tree" title="es/XUL/tree">tree</a><br>
- <a class="internal" href="/es/XUL/treecell" title="es/XUL/treecell">treecell</a><br>
- <a class="internal" href="/es/XUL/treechildren" title="es/XUL/treechildren">treechildren</a><br>
- <a class="internal" href="/es/XUL/treecol" title="es/XUL/treecol">treecol</a><br>
- <a class="internal" href="/es/XUL/treecols" title="es/XUL/treecols">treecols</a><br>
- <a class="internal" href="/es/XUL/treeitem" title="es/XUL/treeitem">treeitem</a><br>
- <a class="internal" href="/es/XUL/treerow" title="es/XUL/treerow">treerow</a><br>
- <a class="internal" href="/es/XUL/treeseparator" title="es/XUL/treeseparator">treeseparator</a></p>
- <p> </p>
- </td>
- <td>
- <p><u><strong>DISPOSICION</strong></u></p>
- <p><a class="internal" href="/es/XUL/box" title="es/XUL/box">box</a><br>
- <a class="internal" href="/es/XUL/hbox" title="es/XUL/hbox">hbox</a><br>
- <a class="internal" href="/es/XUL/vbox" title="es/XUL/vbox">vbox</a><br>
- <a class="internal" href="/Es/XUL/Bbox" title="es/XUL/bbox">bbox</a><br>
- <a class="internal" href="/es/XUL/deck" title="es/XUL/deck">deck</a><br>
- <a class="internal" href="/es/XUL/stack" title="es/XUL/stack">stack</a><br>
- <a class="internal" href="/es/XUL/grid" title="es/XUL/grid">grid</a><br>
- <a class="internal" href="/es/XUL/columns" title="es/XUL/columns">columns</a><br>
- <a class="internal" href="/es/XUL/column" title="es/XUL/column">column</a><br>
- <a class="internal" href="/es/XUL/rows" title="es/XUL/rows">rows</a><br>
- <a class="internal" href="/es/XUL/row" title="es/XUL/row">row</a><br>
- <a class="internal" href="/es/XUL/scrollbox" title="es/XUL/scrollbox">scrollbox</a></p>
- <p><u><strong>PLANTILLAS</strong></u></p>
- <p><a class="internal" href="/es/XUL/action" title="es/XUL/action">action</a><br>
- <a class="internal" href="/Es/XUL/Assign" title="es/XUL/assign">assign</a><br>
- <a class="internal" href="/es/XUL/binding" title="es/XUL/binding">binding</a><br>
- <a class="internal" href="/es/XUL/bindings" title="es/XUL/bindings">bindings</a><br>
- <a class="internal" href="/es/XUL/conditions" title="es/XUL/conditions">conditions</a><br>
- <a class="internal" href="/es/XUL/content" title="es/XUL/content">content</a><br>
- <a class="internal" href="/es/XUL/member" title="es/XUL/member">member</a><br>
- <a class="internal" href="/es/XUL/param" title="es/XUL/param">param</a><br>
- <a class="internal" href="/es/XUL/query" title="es/XUL/query">query</a><br>
- <a class="internal" href="/es/XUL/queryset" title="es/XUL/queryset">queryset</a><br>
- <a class="internal" href="/es/XUL/rule" title="es/XUL/rule">rule</a><br>
- <a class="internal" href="/es/XUL/template" title="es/XUL/template">template</a><br>
- <a class="internal" href="/es/XUL/textnode" title="es/XUL/textnode">textnode</a><br>
- <a class="internal" href="/es/XUL/triple" title="es/XUL/triple">triple</a><br>
- <a class="internal" href="/es/XUL/where" title="es/XUL/where">where</a></p>
- <p><u><strong>SCRIPTING</strong></u></p>
- <p><a class="internal" href="/es/XUL/script" title="es/XUL/script">script</a><br>
- <a class="internal" href="/es/XUL/commandset" title="es/XUL/commandset">commandset</a><br>
- <a class="internal" href="/es/XUL/command" title="es/XUL/command">command</a><br>
- <a class="internal" href="/es/XUL/broadcaster" title="es/XUL/broadcaster">broadcaster</a><br>
- <a class="internal" href="/es/XUL/broadcasterset" title="es/XUL/broadcasterset">broadcasterset</a><br>
- <a class="internal" href="/es/XUL/observes" title="es/XUL/observes">observes</a><br>
- <a class="internal" href="/es/XUL/key" title="es/XUL/key">key</a><br>
- <a class="internal" href="/es/XUL/keyset" title="es/XUL/keyset">keyset</a><br>
- <a class="internal" href="/es/XUL/stringbundle" title="es/XUL/stringbundle">stringbundle</a><br>
- <a class="internal" href="/es/XUL/stringbundleset" title="es/XUL/stringbundleset">stringbundleset</a></p>
- <p><u><strong>ELEMENTOS<br>
- DE AYUDA</strong></u></p>
- <p><a class="internal" href="/es/XUL/scrollbar" title="es/XUL/scrollbar">arrowscrollbox</a><br>
- <a href="/en/XUL/dropmarker" title="en/XUL/dropmarker">dropmarker</a><br>
- <a class="internal" href="/es/XUL/grippy" title="es/XUL/grippy">grippy</a><br>
- <a class="internal" href="/es/XUL/scrollbar" title="es/XUL/scrollbar">scrollbar</a><br>
- <a class="internal" href="/es/XUL/scrollcorner" title="es/XUL/scrollcorner">scrollcorner</a><br>
- <a class="internal" href="/es/XUL/spinbuttons" title="es/XUL/spinbuttons">spinbuttons</a></p>
- </td>
- </tr>
- </tbody>
-</table>
-<h3 id="Other_XUL_lists" name="Other_XUL_lists">Otras listas de XUL</h3>
-<ul>
- <li><a class="internal" href="/Es/XUL/Attribute" title="es/XUL/Attribute">Todos los atributos</a></li>
- <li><a class="internal" href="/Es/XUL/Property" title="es/XUL/Property">Todas las propiedades</a></li>
- <li><a class="internal" href="/Es/XUL/Method" title="es/XUL/Method">Todos los métodos</a></li>
- <li><a class="internal" href="/Es/XUL_element_attributes" title="es/XUL element attributes">Atributos definidos para todos los elementos de XUL</a></li>
- <li><a class="internal" href="/Es/XUL/Style" title="es/XUL/Style">Clases de estilo</a></li>
- <li><a class="internal" href="/Es/XUL/Events" title="es/XUL/Events">Gestión de eventos</a></li>
- <li><a class="internal" href="/Es/XUL/Deprecated//Defunct_Markup" title="es/XUL/Deprecated//Defunct Markup">Obsoletos/Marcado extinto</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/events/index.html b/files/es/archive/mozilla/xul/events/index.html
deleted file mode 100644
index 1911016926..0000000000
--- a/files/es/archive/mozilla/xul/events/index.html
+++ /dev/null
@@ -1,460 +0,0 @@
----
-title: Eventos
-slug: Archive/Mozilla/XUL/Events
-translation_of: Archive/Mozilla/XUL/Events
----
-<p> </p>
-
-<p><a href="https://developer.mozilla.org/es/docs/XUL/Elementos" title="« Referencia de XUL">« Referencia de XUL</a></p>
-
-<p> </p>
-
-<p>The following tables describe the event handler that are valid for most XUL elements. The events listeners can be attached using <a href="/en/DOM/element.addEventListener" title="en/DOM/element.addEventListener"> addEventListener</a> and removed using <a href="/en/DOM/element.removeEventListener" title="en/DOM/element.removeEventListener"> removeEventListener</a>.</p>
-
-<p>Some of the events can be attached using attributes as well. When attaching event listeners using attributes, be aware that only one listener can be attached at a time. Any previously attached listeners are disconnected. The attribute name is the event name with an 'on' prefix.</p>
-
-<h3 id="Inherited_DOM_events" name="Inherited_DOM_events">Inherited DOM events</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>
- <p>blur</p>
- </td>
- <td>
- <p>The opposite of the focus event, the blur event is passed after an element loses the focus.<br>
- <strong>attribute:</strong> onblur</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>change</p>
- </td>
- <td>
- <p>This event is sent when the value of the textbox is changed. The event is not sent until the focus is moved to another element.<br>
- <strong>attribute:</strong> onchange</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>click</p>
- </td>
- <td>
- <p>This event is sent when a mouse button is pressed and released. You can determine which mouse button was clicked by retrieving the <code>button</code> property of the event object. This event is also sent when the user double-clicks with the mouse. The <code>detail</code> property specifies how many clicks occurred. You can also check for triple-clicks in a similar manner. You should not use this event in XUL to respond to user actions; the <code>command</code> event should be used instead.<br>
- <strong>attribute:</strong> onclick</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dblclick</p>
- </td>
- <td>
- <p>This event is like the click event except it is only sent when the user double clicks with the mouse. This is an alternative to checking the detail property in the click event.<br>
- <strong>attribute:</strong> ondblclick</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>DOMMouseScroll</p>
- </td>
- <td>
- <p>This event is sent when the mouse wheel is moved, whether it results in content being scrolled or not.<br>
- The target of this event is the element that was under the mouse pointer when the mouse wheel was scrolled, similar to the <code>click</code> event.</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>focus</p>
- </td>
- <td>
- <p>The focus event is sent to an element when it receives the focus. Once an element has the focus, keyboard events are sent to it. The focus can be changed by clicking on an element or by pressing TAB to switch to the next element is sequence.<br>
- <strong>attribute:</strong> onfocus</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>keydown</p>
- </td>
- <td>
- <p>The keydown event is sent to an element that has the focus and a key is pressed but not released.<br>
- <strong>attribute:</strong> onkeydown</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>keypress</p>
- </td>
- <td>
- <p>The keypress event is sent to an element that has the focus and a key is pressed and released. When the user presses a key, the keydown event is first sent, followed by the keypress event and then the keyup event. In a textbox, a user normally can hold down a key to repeat a character In this case, multiple sets of key events are sent as if the user rapidly pressed the same key repeatedly.<br>
- <strong>attribute:</strong> onkeypress</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>keyup</p>
- </td>
- <td>
- <p>The keyup event is sent to an element that has the focus and a key is released.<br>
- <strong>attribute:</strong> onkeyup</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>load</p>
- </td>
- <td>
- <p>This event is sent to the window after it has been fully loaded. You should place this event handler on the window element. This event may also be used on the image element, or an element that accepts an image attribute, and will be fired when the image has finished loading. For images, this event does not bubble up the element tree, so it will not conflict with the window's load event.<br>
- <strong>attribute:</strong> onload</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>mousedown</p>
- </td>
- <td>
- <p>This event is sent when the mouse is pressed on an element but not released.<br>
- <strong>attribute:</strong> onmousedown</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>mousemove</p>
- </td>
- <td>
- <p>This event is sent repeatedly as the mouse is moved over an element.<br>
- <strong>attribute:</strong> onmousemove</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>mouseout</p>
- </td>
- <td>
- <p>This mouseout event is sent to an element when the user moves the mouse outside the element. This event is the reverse of mouseover.<br>
- <strong>attribute:</strong> onmouseout</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>mouseover</p>
- </td>
- <td>
- <p>This event is sent to an element when the mouse first moves over an element. You can use this event to provide feedback to the user.<br>
- <strong>attribute:</strong> onmouseover</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>mouseup</p>
- </td>
- <td>
- <p>This event is sent when the mouse is released on an element.<br>
- <strong>attribute:</strong> onmouseup</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>select</p>
- </td>
- <td>
- <p>This event is sent to a listbox or tree when an item is selected.<br>
- <strong>attribute:</strong> onselect</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>unload</p>
- </td>
- <td>
- <p>This event is sent to a window when the window has closed. This is done after the close event. You should place this event handler on the window element.<br>
- <strong>attribute:</strong> onunload</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Mutation_DOM_events" name="Mutation_DOM_events">Mutation DOM events</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>
- <p>DOMAttrModified</p>
- </td>
- <td>
- <p>This event is sent to an element when one of its attributes is modified. In the event handler, you can retrieve the attribute that was modified using the event's attrName property, and you can retrieve the old and new values of the attribute using the event's prevValue and newValue properties.</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>DOMNodeInserted</p>
- </td>
- <td>
- <p>This event is sent when a node is added as a child of a element. If you capture this event at the document level, you can be notified of document changes.</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>DOMNodeRemoved</p>
- </td>
- <td>
- <p>This event is sent when a node is removed from an element. If you capture this event at the document level, you can be notified of document changes.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>It should be noted that the presence of any mutation event listeners in a document degrades the performance of subsequent DOM operations in that document. In simple tests that can mean that a DOM operation takes between 1.5 and 7 as long as it would without any mutation listener.</p>
-
-<h3 id="Common_XUL_events" name="Common_XUL_events">Common XUL events</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>
- <p>broadcast</p>
- </td>
- <td>
- <p>The event handler should be placed on an observer. The broadcast event is sent when the attributes of the element (such as a broadcaster) being listened to are changed.<br>
- <strong>attribute:</strong> onbroadcast</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>close</p>
- </td>
- <td>
- <p>This event is sent when a request has been made to close the window when the user presses the close button. If you place an event handler on the window element, you can trap the window close. If you return false from the close handler, the window will not close. Return true to have it close normally. Note that this event is only fired when the user presses the close button on the titlebar; use the unload event to capture all attempts to unload the window.<br>
- <strong>attribute:</strong> onclose</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>command</p>
- </td>
- <td>
- <p>This event handler is called when an element is activated. How it is activated varies for each element and in many cases, there are several ways to activate an element. For example, a button can be activated by clicking on it with the mouse or by pressing ENTER while it has the focus. Menus can be activated by selecting them with the mouse or by pressing a shortcut key. You should always use the command event instead of click because it will be called in all of the needed cases.<br>
- <strong>attribute:</strong> oncommand</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>commandupdate</p>
- </td>
- <td>
- <p>This event occurs when a command update occurs on a &lt;commandset&gt; element. You would use this to update the disabled status of its commands.<br>
- <strong>attribute:</strong> oncommandupdate</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>contextmenu</p>
- </td>
- <td>
- <p>This event is sent to an element when the user requests to open the context menu for the element. The action to do this varies by platform, but it will typically be a right click. This handler is usually used to dynamically set the commands on a menu when the user requests to display it, or you can use popupshowing event. Returning false from this event handler prevents the popup from appearing.<br>
- <strong>attribute:</strong> oncontextmenu</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>drag </p>
- </td>
- <td>
- <p>The drag event is sent to the source node (the node that was dragged) several times a second while the drag is occurring.<br>
- <strong>attribute:</strong> ondrag</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dragdrop</p>
- </td>
- <td>
- <p>This event is sent when the user releases the mouse button to drop an object being dragged. The element, if it accepts the drop, should respond in some manner such inserting the dragged object into itself.<br>
- <strong>attribute:</strong> ondragdrop</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dragend </p>
- </td>
- <td>
- <p>The dragend event is sent to the source node (the node that was dragged) when the drag is finished.<br>
- <strong>attribute:</strong> ondragend</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dragenter</p>
- </td>
- <td>
- <p>The dragenter event is sent when the mouse pointer first moves over an element during a drag. It is similar to the mouseover event but occurs while dragging.<br>
- <strong>attribute:</strong> ondragenter</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dragexit</p>
- </td>
- <td>
- <p>This event is sent when the mouse pointer moves away from an element during a drag. It is also called after a drop on an element. It is similar to the mouseout event but occurs during a drag.<br>
- <strong>attribute:</strong> ondragexit</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>draggesture</p>
- </td>
- <td>
- <p>This event is sent when the user starts dragging the element, usually by holding down the mouse button and moving the mouse.<br>
- <strong>attribute:</strong> ondraggesture</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>dragover</p>
- </td>
- <td>
- <p>Related to the mousemove event, this event is sent while something is being dragged over an element. The handler should indicate whether the object being dragged can be dropped.<br>
- <strong>attribute:</strong> ondragover</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>input</p>
- </td>
- <td>
- <p>This event is sent when a user enters text in a textbox. This event is only called when the text displayed would change, thus it is not called when the user presses non-displayable keys.<br>
- <strong>attribute:</strong> oninput</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>overflow</p>
- </td>
- <td>
- <p>This event is only sent to a box or other layout element with a CSS overflow property set to a value other than 'visible'. When there is not enough space to display the contents of the element at full size, the overflow event will be fired. Depending on the value of the overflow property, scrollbars may have appeared. For example, if a box has a maximum size of 100 pixels, and only enough space for 80 pixels is available, the overflow event will be sent to the box. If the size changes, for example, by the user resizing the window, the underflow event will be fired when enough space becomes available.<br>
- <strong>attribute:</strong> onoverflow</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>popuphidden</p>
- </td>
- <td>
- <p>This event is sent to a popup after it has been hidden.<br>
- <strong>attribute:</strong> onpopuphidden</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>popuphiding</p>
- </td>
- <td>
- <p>This event is sent to a popup when it is about to be hidden.<br>
- <strong>attribute:</strong> onpopuphiding</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>popupshowing</p>
- </td>
- <td>
- <p>This event is sent to a popup just before it is popped open. This handler is usually used to dynamically set the contents when the user requests to display it. Returning false from this event handler prevents the popup from appearing.<br>
- <strong>attribute:</strong> onpopupshowing</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>popupshown</p>
- </td>
- <td>
- <p>This is event is sent to a popup after it has been opened, much like the onload event is sent to a window when it is opened.<br>
- <strong>attribute:</strong> onpopupshown</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>syncfrompreference</p>
- </td>
- <td>
- <p>This event is sent when the element is being changed because a preference changed, or when an element is initialized from a preference. This event will only be sent to elements connected to a preference and in a <a href="/en/XUL/prefwindow" title="en/XUL/prefwindow"> prefwindow</a>. This is not a real event instead it is just a function call and must use the attribute syntax. The script may return a value to set the element to a specific value rather than the value of the preference. This event is usually used to adjust the preference value so that it is more suitable for display in the user interface.<br>
- <strong>attribute:</strong> onsyncfrompreference</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>synctopreference</p>
- </td>
- <td>
- <p>This event is sent when the element connected to a preference has changed. This event will only be sent to elements connected to a preference and in a <a href="/en/XUL/prefwindow" title="en/XUL/prefwindow"> prefwindow</a>. This is not a real event instead it is just a function call and must use the attribute syntax. The script may return a value to set the preference to a specific value rather than the value of the element.<br>
- <strong>attribute:</strong> onsynctopreference</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>underflow</p>
- </td>
- <td>
- <p>This event is sent to an element when there becomes enough space to display it at full size. This applies to boxes and other layout elements with a CSS overflow property other than 'visible'. The underflow event can be used to indicate that a scrolling mechanism is no longer necessary.<br>
- <strong>attribute:</strong> onunderflow</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>DOMMenuItemActive</p>
- </td>
- <td>
- <p>This event is sent when a menu or menuitem is hovered over, or highlighted. This event bubbles.</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>DOMMenuItemInactive</p>
- </td>
- <td>
- <p>This event is sent when a menu or menuitem is no longer being hovered over, or highlighted. This event bubbles.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Accessibility_events" name="Accessibility_events">Accessibility events</h3>
-
-<p>These events are used to notify the accessibility system of changes to an element. You would not normally use these yourself.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>
- <p>CheckboxStateChange</p>
- </td>
- <td>
- <p>This event is sent when a <a href="/en/XUL/checkbox" title="en/XUL/checkbox"> checkbox</a> is checked or unchecked, either by the user or a script. Normally, you would use the command event to listen to checkbox changes, however, the command event is only sent when the user modifies the value, while the CheckboxStateChange event is also sent when a script modifies the checked property of a checkbox. For user changes, the CheckboxStateChange event is sent before the command event. The CheckboxStateChange event does not bubble.</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>RadioStateChange</p>
- </td>
- <td>
- <p>This event is sent when a <a href="/en/XUL/radio" title="en/XUL/radio"> radio</a> button is selected, either by the user or a script. Normally, you would use the command event to listen to radio button selection changes, however, the command event is only sent when the user changes the selected radio button, while the RadioStateChange event is also sent when a script modifies the selection. For user changes, the RadioStateChange event is sent before the command event. The RadioStateChange event bubbles so you can also attach the event handler to the enclosing <a href="/en/XUL/radiogroup" title="en/XUL/radiogroup"> radiogroup</a>.</p>
- </td>
- </tr>
- </tbody>
-</table>
diff --git a/files/es/archive/mozilla/xul/guía_de_plantillas/index.html b/files/es/archive/mozilla/xul/guía_de_plantillas/index.html
deleted file mode 100644
index 6a22cc7d9b..0000000000
--- a/files/es/archive/mozilla/xul/guía_de_plantillas/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Guía de plantillas
-slug: Archive/Mozilla/XUL/Guía_de_plantillas
-translation_of: Archive/Mozilla/XUL/Template_Guide
----
-<p>This page was auto-generated because a user created a sub-page to this page.</p>
diff --git a/files/es/archive/mozilla/xul/guía_de_plantillas/ordenar_resultados/index.html b/files/es/archive/mozilla/xul/guía_de_plantillas/ordenar_resultados/index.html
deleted file mode 100644
index 916878ae02..0000000000
--- a/files/es/archive/mozilla/xul/guía_de_plantillas/ordenar_resultados/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: Ordenar resultados
-slug: Archive/Mozilla/XUL/Guía_de_plantillas/Ordenar_resultados
-tags:
- - Guía_de_plantillas_XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Template_Guide/Sorting_Results
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/XUL:Guía_de_plantillas:Modificaciones_RDF" style="float: left;">« Anterior</a><a href="/es/docs/XUL:Guía_de_plantillas:Atributos_adicionales_para_las_plantillas">Siguiente »</a></p>
-</div>
-
-<p>The template content builder uses a separate component to insert generated nodes into the content tree. This is done when inserting the nodes when they are first created as well as when a new result is available. This additional component is called the sort service. It is responsible for determining where to insert nodes into the XUL document. Since the component is called the 'sort service' it is also used to sort the generated results. Since an RDF graph doesn't specify any order to results -- unless the items are in an RDF Seq -- the template builder will handle the results in any order. You may have noticed in the examples that results that are not in a Seq are not output in any particular order.</p>
-
-<p>The sort service may be used to order the results in some particular order, generally, ascending or descending based on the value of some predicate pointing out of the result node. The sort service also supports a third sort order, natural order, which is the default. It causes items to appear without any extra sorting in the order they are added. However, if the results are items in a Seq they will appear in the order listed in the Seq. For instance, the photos are listed in the same order in <a class="external" href="http://developer.mozilla.org/samples/xultemp/template-guide-ex19.xul">this example</a> as they appear in the Seq in the <a class="external" href="http://developer.mozilla.org/samples/xultemp/template-guide-photos4.rdf">datasource</a>.</p>
-
-<p>This method of sorting a Seq works best for simple rule conditions since it is obvious how the starting ref relates to the end member results (they are just the children), or for extended syntax rules that follow a similar pattern. For more complex rules, this natural sorting will not work, because the sort service assumes that the starting ref resource is the container and the end results are the children. In this case, the natural order of the results will just be the order that the template builder generates the results.</p>
-
-<p>For ascending or descending sorts, this doesn't matter, since it will ignore whether results are containers and just sort by a value, alphabetically or numerically depending on the type of data.</p>
-
-<p>The sort service only applies to content builders. The tree builder uses a different and much simpler means of sorting since there is no content to insert. It supports the same three types of sorting, natural, ascending or descending. In the latter two sort types, the tree builder sorts by the value in a column. For instance, if the photos were displayed in a two column tree showing the title and description, you could sort by either title or description. The user can change the sort column and direction by clicking the column headers, however, you can programmatically change the sort as well.</p>
-
-<h3 id="Sorting_Tree_Results">Sorting Tree Results</h3>
-
-<p>We'll examine sorting of trees first since trees are the most common element used with sorted items. Using a tree builder, you can sort the results in a tree by a column. To do this, place a sort attribute on a &lt;treecol&gt; element referring to the variable to sort by for that column.</p>
-
-<pre>&lt;treecol id="name" label="Name" sort="?name" flex="1"/&gt;
-&lt;treecol id="date" label="Date" sort="?date" flex="1"/&gt;
-</pre>
-
-<p>In this example, the first column will be sorted by the ?name variable and the second column by the ?date variable. When the sort is ascending, the tree rows will be sorted in alphabetical order. When the sort is descending, the tree rows will be sorted in the reverse order. For natural sorting, the rows will be sorted according to the natural order in the RDF datasource. Only one column applies a sort at a time. If the tree is sorted by name, and the user clicks on the date column header, the sort will change to the date column.</p>
-
-<p>There are two additional attributes used for sorting, which you may set on a column to specify the initial sort. These attributes are modified when the user changes the sort. The sortDirection attribute may be used to specify the initial sort direction for a column. Only one column should have this attribute set, as a tree may only be sorted by one column at a time. The value should be either 'ascending', 'descending' or 'natural'. This last value is the default if the attribute is not specified. The sortActive attribute may be set to true or false and specifies which column the tree is sorted by. Only one column should have the sortActive attribute set to true at a time. The tree will change both attributes as necessary automatically when the column headers are clicked or the tree is sorted by other means.</p>
-
-<p>If you don't want to allow sorting by a certain column, you can leave out the sort attribute. Only specify this attribute on columns that you wish to allow the user to sort by.</p>
-
-<p>Here is a <a class="external" href="http://developer.mozilla.org/samples/xultemp/template-guide-ex41.xul">complete example</a> of sorting a tree.</p>
-
-<p>The sort attribute should be set to the variable that holds the values to sort by. Usually, this would be the same variable that is used to generate the label for the cells in that column, however this is not actually necessary. For instance, in the example the second column sorts by date, but if you were to use a different variable such as ?description, assuming a &lt;binding&gt; set it, the tree would sort by the value of the description variable for each row. In almost all situations however, you would normally sort using the same variable used for the label value. However, one situation where this is not desirable is if the displayed values would not generate the correct order as there is a lower representation that is more accurate. For example, the date 'May 15' would appear after 'August 24' when sorted purely alphabetically but before it when sorted chronologically.</p>
-
-<p>Another way to sort by dates is to use the the parseType="Date" construct in the RDF datasource. This marks a literal as being a date value rather than a string. The builder will recognize this and sort chronologically instead. This also has the advantage that the dates will be displayed according to the user's current locale (meaning that the date is formatted so as to be suitable for the user's language). Here is a sample of how to specify this in the RDF/XML datasource:</p>
-
-<pre>&lt;rdf:RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:r="http://www.xulplanet.com/rdf/"
- xmlns:nc="http://home.netscape.com/NC-rdf#"&gt;
- &lt;rdf:Description rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg"&gt;
- &lt;r:date nc:parseType="Date"&gt;1125966767295&lt;r:date&gt;
- &lt;/rdf:Description&gt;
-&lt;/rdf:RDF&gt;
-</pre>
-
-<p>You can also specify parseType="Integer" for numbers which will allow sorting numerically. By specifing different types for different values, you can sort alphabetically, numerically or by date.</p>
-
-<p>If you are using the simple rule syntax, there are no variables, so you need to specify the full predicate including the rdf: prefix in the sort attribute. For instance:</p>
-
-<pre>&lt;treecol id="name" label="Name" sort="rdf:http://purl.org/dc/elements/1.1/title" flex="1"/&gt;
-</pre>
-
-<p>Note that all of this discussion about sorting only applies to tree builders. For other elements or content trees, a different sorting mechanism must be used which will be discussed next.</p>
-
-<h3 id="Content_Sorting">Content Sorting</h3>
-
-<p>For content builders (templates that do not use flags="dont-build-content"), sorting is done using a different means. Instead of sorting on a variable generated during the template generation, sorting for content builders may only be performed using a triple pointing out of the member variable. There is no connection between the generated variables and the resource used for sorting, so it doesn't have to be one used in the template.</p>
-
-<p>You specify the resource used for sorting with the sortResource attribute on the root element, as follows:</p>
-
-<pre>&lt;hbox datasources="template-guide-photos5.rdf"
- sortResource="http://purl.org/dc/elements/1.1/title"
- sortDirection="ascending"
- ref="http://www.xulplanet.com/rdf/myphotos"&gt;
- &lt;template&gt;
- &lt;vbox class="box-padded" uri="rdf:*"&gt;
- &lt;image src="rdf:*"/&gt;
- &lt;label value="rdf:http://purl.org/dc/elements/1.1/title"/&gt;
- &lt;/vbox&gt;
- &lt;/template&gt;
-&lt;/hbox&gt;
-</pre>
-
-<p>In <a class="external" href="http://developer.mozilla.org/samples/xultemp/template-guide-ex42.xul">this example</a>, the generated items will be sorted by title. The sortDirection attribute specifies the sort direction and may be set to "descending" for a reverse sort. The sortDirection attribute functions similarly to how the tree builder uses it. With a tree builder, each column has its own sort specified using the sort attribute, and the sortActive attribute is used to indicate the column that is currently sorted. For other content, there are no columns and only one sort is applicable, so the sortActive attribute is not necessary.</p>
-
-<p>When the template builder generates a result, the sort service uses the value of the sortResource predicate for the result to determine where in the content the generated output should be inserted. When the RDF datasource changes, and a new result is available, the sort service inserts the new content at the right location.</p>
-
-<p>Unlike with trees, you can sort using a secondary resource with the sortResource2 attribute which is used in the same manner as the sortResource attribute. If the values for the sortResource predicate are the same for two results, the sortResource2 predicate is used to further clarify the order. You can only have one secondary resource, that is, there is no sortResource3 attribute.</p>
-
-<p>To change the sorting for a template's generated contents, you can either change the sort related attributes and rebuild the template, or for listboxes and menus, you can call the sort service's sort method:</p>
-
-<pre>var listbox = document.getElementById("aListBox");
-
-var sortService = Components.classes["@mozilla.org/xul/xul-sort-service;1"].
- getService(Components.interfaces.nsIXULSortService);
-sortService.sort(listbox, "http://purl.org/dc/elements/1.1/title", "descending");
-</pre>
-
-<p>This code will sort a listbox by title in a descending order. The arguments to the sort method specify the root node (the listbox), the sort resource and the sort direction.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/XUL:Guía_de_plantillas:Modificaciones_RDF" style="float: left;">« Anterior</a><a href="/es/docs/XUL:Guía_de_plantillas:Atributos_adicionales_para_las_plantillas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/index.html b/files/es/archive/mozilla/xul/index.html
deleted file mode 100644
index 1189079118..0000000000
--- a/files/es/archive/mozilla/xul/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: XUL
-slug: Archive/Mozilla/XUL
-tags:
- - Todas_las_Categorías
- - XUL
-translation_of: Archive/Mozilla/XUL
----
-<p> </p>
-<div class="callout-box"><strong><a href="/es/Tutorial_de_XUL" title="es/Tutorial_de_XUL">Empezando</a></strong><br>
-Tutorial de introducción a XUL, documento original de XULPlanet.</div>
-<div>
-<p><strong>XUL</strong> es el <em>lenguaje <a href="/es/XML" title="es/XML">XML</a> para interfaces de usuario</em> de Mozilla. Te permite crear potentes aplicaciones multiplataforma que pueden ejecutarse con conexión a Internet o sin ella. Estas aplicaciones son fácilmente personalizables con texto alternativo, gráficos, y diseños por lo que pueden ser fácilmente instalados o traducidos para diversos mercados. Los desarrolladores web que estén familiarizados con HTML Dinámico (<a href="/es/DHTML" title="es/DHTML">DHTML</a>) pueden aprender XUL fácilmente y empezar a crear aplicaciones ya.</p>
-</div>
-<table class="topicpage-table"> <tbody> <tr> <td> <h4 id="Documentación"><a href="/Special:Tags?tag=XUL&amp;language=es" title="Special:Tags?tag=XUL&amp;language=es">Documentación</a></h4> <dl> <dt><a href="/es/XUL/Elementos" title="es/XUL/Elementos">Referencia XUL</a></dt> <dd><small>Vea también la documentación del MDC sobre <a href="/es/Sistema_de_preferencias" title="es/Sistema_de_preferencias">prefwindow</a>.</small></dd> </dl> <dl> <dt><a href="/es/Bestiario_XUL" title="es/Bestiario_XUL">Bestiario XUL</a></dt> <dd><small> Esta "XULNote" muestra algunos conceptos clave y términos en el entorno de desarrollo XUL.</small></dd> </dl> <dl> <dt><a class="external" href="http://www.hevanet.com/acorbin/xul/top.xul">Xul Periodic Table <small>(en)</small></a></dt> <dd><small>Échale un vistazo a los elementos de una Interfaz XUL.</small></dd> </dl> <dl> <dt><a class="external" href="http://es.wikibooks.org/wiki/XUL/Introducci%C3%B3n">Wikilibro de XUL</a></dt> <dd><small> Wikilibro con una introducción al lenguaje XUL. </small></dd> </dl> <p><span><a href="/Special:Tags?tag=XUL&amp;language=es" title="Special:Tags?tag=XUL&amp;language=es">Ver Todos...</a></span></p> </td> <td> <h4 id="Comunidad">Comunidad</h4> <ul> <li>En los foros de Mozilla Hispano. <ul> <li><a class="external" href="http://www.mozilla-hispano.org/foro/viewforum.php?f=8">Desarrollo en XUL</a></li> </ul> </li> </ul> <ul> <li><a class="external" href="http://groups.google.com/group/dexul/">Lista sobre XUL en español</a></li> </ul> <ul> <li>En la comunidad Mozilla... en inglés.</li> </ul> <p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xul"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xul"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xul/feeds"> como RSS</a></li>
-</ul> <span>* <a class="external" href="http://xulplanet.com/forum/" title="http://xulplanet.com/forum/">Foros de XULPlanet (en)</a></span><p></p> <p><span><a href="/es/XUL/Comunidad" title="es/XUL/Comunidad">Ver todas...</a></span></p> <h4 id="Herramientas">Herramientas</h4> <ul> <li><a class="external" href="http://starkravingfinkle.org/blog/xul-explorer/">XUL Explorer</a> (un sencillo IDE para XUL)</li> <li><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extensión para desarrolladores</a> (Editor XUL en tiempo real)</li> <li><a class="external" href="http://www.extensionsmirror.nl/index.php?showtopic=751">Barra lateral XULRef</a></li> <li><a class="external" href="http://www.getfirebug.com/">Firebug</a></li> <li><a href="/es/DOM_Inspector" title="es/DOM_Inspector">DOM Inspector</a></li> <li><a class="external" href="http://www.spket.com/">Spket IDE</a>, IDE para XUL/XBL</li> </ul> <p><span><a href="/Special:Tags?tag=XUL:Herramientas&amp;language=es" title="Special:Tags?tag=XUL:Herramientas&amp;language=es">Ver todas...</a></span></p> <h4 id="Temas_relacionados">Temas relacionados</h4> <dl> <dd><a href="/es/JavaScript" title="es/JavaScript">JavaScript</a>, <a href="/es/XBL" title="es/XBL">XBL</a>, <a href="/es/CSS" title="es/CSS">CSS</a>, <a href="/es/RDF" title="es/RDF">RDF</a>, <a href="/es/Extensiones" title="es/Extensiones">Extensiones</a>, <a href="/es/XULRunner" title="es/XULRunner">XULRunner</a></dd> </dl> </td> </tr> </tbody>
-</table>
-<p><span>Categorías</span></p>
-<p><span>Interwiki Language Links</span> <span>automatismos</span></p>
-<p> </p>
-<p> </p>
-<p> </p>
-<p></p>
diff --git a/files/es/archive/mozilla/xul/method/index.html b/files/es/archive/mozilla/xul/method/index.html
deleted file mode 100644
index 101edc07d5..0000000000
--- a/files/es/archive/mozilla/xul/method/index.html
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: Métodos
-slug: Archive/Mozilla/XUL/Method
-translation_of: Archive/Mozilla/XUL/Method
----
-<p><span class="breadcrumbs XULRefMeth_breadcrumbs">« <a href="/es/docs/XUL/Elementos" title="/es/docs/XUL/Elementos">Referencia de XUL</a></span></p>
-
-<ul>
- <li><a href="/es/XUL/Method/acceptDialog" title="es/XUL/Method/acceptDialog">acceptDialog</a></li>
- <li><a href="/es/XUL/Method/addItemToSelection" title="es/XUL/Method/addItemToSelection">addItemToSelection</a></li>
- <li><a href="/es/XUL/Method/addPane" title="es/XUL/Method/addPane">addPane</a></li>
- <li><a href="/es/XUL/Method/addProgressListener" title="es/XUL/Method/addProgressListener">addProgressListener</a></li>
- <li><a href="/es/XUL/Method/addSession" title="es/XUL/Method/addSession">addSession</a></li>
- <li><a href="/es/XUL/Method/addTab" title="es/XUL/Method/addTab">addTab</a></li>
- <li><a href="/es/XUL/Method/advance" title="es/XUL/Method/advance">advance</a></li>
- <li><a href="/es/XUL/Method/advanceSelectedTab" title="es/XUL/Method/advanceSelectedTab">advanceSelectedTab</a></li>
- <li><a href="/es/XUL/Method/appendCustomToolbar" title="es/XUL/Method/appendCustomToolbar">appendCustomToolbar</a></li>
- <li><a href="/es/XUL/Method/appendGroup" title="es/XUL/Method/appendGroup">appendGroup</a></li>
- <li><a href="/es/XUL/Method/appendItem" title="es/XUL/Method/appendItem">appendItem</a></li>
- <li><a href="/es/XUL/Method/appendNotification" title="es/XUL/Method/appendNotification">appendNotification</a></li>
- <li><a href="/es/XUL/Method/blur" title="es/XUL/Method/blur">blur</a></li>
- <li><a href="/es/XUL/Method/cancel" title="es/XUL/Method/cancel">cancel</a></li>
- <li><a href="/es/XUL/Method/cancelDialog" title="es/XUL/Method/cancelDialog">cancelDialog</a></li>
- <li><a href="/es/XUL/Method/centerWindowOnScreen" title="es/XUL/Method/centerWindowOnScreen">centerWindowOnScreen</a></li>
- <li><a href="/es/XUL/Method/checkAdjacentElement" title="es/XUL/Method/checkAdjacentElement">checkAdjacentElement</a></li>
- <li><a href="/es/XUL/Method/clearResults" title="es/XUL/Method/clearResults">clearResults</a></li>
- <li><a href="/es/XUL/Method/clearSelection" title="es/XUL/Method/clearSelection">clearSelection</a></li>
- <li><a href="/es/XUL/Method/click" title="es/XUL/Method/click">click</a></li>
- <li><a href="/es/XUL/Method/close" title="es/XUL/Method/close">close</a></li>
- <li><a href="/es/XUL/Method/collapseToolbar" title="es/XUL/Method/collapseToolbar">collapseToolbar</a></li>
- <li><a href="/es/XUL/Method/contains" title="es/XUL/Method/contains">contains</a></li>
- <li><a href="/es/XUL/Method/decrease" title="es/XUL/Method/decrease">decrease</a></li>
- <li><a href="/es/XUL/Method/decreasePage" title="es/XUL/Method/decreasePage">decreasePage</a></li>
- <li><a href="/es/XUL/Method/doCommand" title="es/XUL/Method/doCommand">doCommand</a></li>
- <li><a href="/es/XUL/Method/ensureElementIsVisible" title="es/XUL/Method/ensureElementIsVisible">ensureElementIsVisible</a></li>
- <li><a href="/es/XUL/Method/ensureIndexIsVisible" title="es/XUL/Method/ensureIndexIsVisible">ensureIndexIsVisible</a></li>
- <li><a href="/es/XUL/Method/ensureSelectedElementIsVisible" title="es/XUL/Method/ensureSelectedElementIsVisible">ensureSelectedElementIsVisible</a></li>
- <li><a href="/es/XUL/Method/expandToolbar" title="es/XUL/Method/expandToolbar">expandToolbar</a></li>
- <li><a href="/es/XUL/Method/extra1" title="es/XUL/Method/extra1">extra1</a></li>
- <li><a href="/es/XUL/Method/extra2" title="es/XUL/Method/extra2">extra2</a></li>
- <li><a href="/es/XUL/Method/focus" title="es/XUL/Method/focus">focus</a></li>
- <li><a href="/es/XUL/Method/getBrowserAtIndex" title="es/XUL/Method/getBrowserAtIndex">getBrowserAtIndex</a></li>
- <li><a href="/es/XUL/Method/getBrowserForDocument" title="es/XUL/Method/getBrowserForDocument">getBrowserForDocument</a></li>
- <li><a href="/es/XUL/Method/getBrowserForTab" title="es/XUL/Method/getBrowserForTab">getBrowserForTab</a></li>
- <li><a href="/es/XUL/Method/getBrowserIndexForDocument" title="es/XUL/Method/getBrowserIndexForDocument">getBrowserIndexForDocument</a></li>
- <li><a href="/es/XUL/Method/getButton" title="es/XUL/Method/getButton">getButton</a></li>
- <li><a href="/es/XUL/Method/getDefaultSession" title="es/XUL/Method/getDefaultSession">getDefaultSession</a></li>
- <li><a href="/es/XUL/Method/getEditor" title="es/XUL/Method/getEditor">getEditor</a></li>
- <li><a href="/es/XUL/Method/getElementsByAttribute" title="es/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></li>
- <li><a href="/es/XUL/Method/getElementsByAttributeNS" title="es/XUL/Method/getElementsByAttributeNS">getElementsByAttributeNS</a></li>
- <li><a href="/es/XUL/Method/getFormattedString" title="es/XUL/Method/getFormattedString">getFormattedString</a></li>
- <li><a href="/es/XUL/Method/getHTMLEditor" title="es/XUL/Method/getHTMLEditor">getHTMLEditor</a></li>
- <li><a href="/es/XUL/Method/getIndexOfFirstVisibleRow" title="es/XUL/Method/getIndexOfFirstVisibleRow">getIndexOfFirstVisibleRow</a></li>
- <li><a href="/es/XUL/Method/getIndexOfItem" title="es/XUL/Method/getIndexOfItem">getIndexOfItem</a></li>
- <li><a href="/es/XUL/Method/getItemAtIndex" title="es/XUL/Method/getItemAtIndex">getItemAtIndex</a></li>
- <li><a href="/es/XUL/Method/getNextItem" title="es/XUL/Method/getNextItem">getNextItem</a></li>
- <li><a href="/es/XUL/Method/getNotificationBox" title="es/XUL/Method/getNotificationBox">getNotificationBox</a></li>
- <li><a href="/es/XUL/Method/getNotificationWithValue" title="es/XUL/Method/getNotificationWithValue">getNotificationWithValue</a></li>
- <li><a href="/es/XUL/Method/getNumberOfVisibleRows" title="es/XUL/Method/getNumberOfVisibleRows">getNumberOfVisibleRows</a></li>
- <li><a href="/es/XUL/Method/getPageById" title="es/XUL/Method/getPageById">getPageById</a></li>
- <li><a href="/es/XUL/Method/getPreviousItem" title="es/XUL/Method/getPreviousItem">getPreviousItem</a></li>
- <li><a href="/es/XUL/Method/getResultAt" title="es/XUL/Method/getResultAt">getResultAt</a></li>
- <li><a href="/es/XUL/Method/getResultCount" title="es/XUL/Method/getResultCount">getResultCount</a></li>
- <li><a href="/es/XUL/Method/getResultValueAt" title="es/XUL/Method/getResultValueAt">getResultValueAt</a></li>
- <li><a href="/es/XUL/Method/getRowCount" title="es/XUL/Method/getRowCount">getRowCount</a></li>
- <li><a href="/es/XUL/Method/getSearchAt" title="es/XUL/Method/getSearchAt">getSearchAt</a></li>
- <li><a href="/es/XUL/Method/getSelectedItem" title="es/XUL/Method/getSelectedItem">getSelectedItem</a></li>
- <li><a href="/es/XUL/Method/getSession" title="es/XUL/Method/getSession">getSession</a></li>
- <li><a href="/es/XUL/Method/getSessionByName" title="es/XUL/Method/getSessionByName">getSessionByName</a></li>
- <li><a href="/es/XUL/Method/getSessionResultAt" title="es/XUL/Method/getSessionResultAt">getSessionResultAt</a></li>
- <li><a href="/es/XUL/Method/getSessionStatusAt" title="es/XUL/Method/getSessionStatusAt">getSessionStatusAt</a></li>
- <li><a href="/es/XUL/Method/getSessionValueAt" title="es/XUL/Method/getSessionValueAt">getSessionValueAt</a></li>
- <li><a href="/es/XUL/Method/getString" title="es/XUL/Method/getString">getString</a></li>
- <li><a href="/es/XUL/Method/goBack" title="es/XUL/Method/goBack">goBack</a></li>
- <li><a href="/es/XUL/Method/goBackGroup" title="es/XUL/Method/goBackGroup">goBackGroup</a></li>
- <li><a href="/es/XUL/Method/goDown" title="es/XUL/Method/goDown">goDown</a></li>
- <li><a href="/es/XUL/Method/goForward" title="es/XUL/Method/goForward">goForward</a></li>
- <li><a href="/es/XUL/Method/goForwardGroup" title="es/XUL/Method/goForwardGroup">goForwardGroup</a></li>
- <li><a href="/es/XUL/Method/goHome" title="es/XUL/Method/goHome">goHome</a></li>
- <li><a href="/es/XUL/Method/goTo" title="es/XUL/Method/goTo">goTo</a></li>
- <li><a href="/es/XUL/Method/gotoIndex" title="es/XUL/Method/gotoIndex">gotoIndex</a></li>
- <li><a href="/es/XUL/Method/goUp" title="es/XUL/Method/goUp">goUp</a></li>
- <li><a href="/es/XUL/Method/hasUserValue" title="es/XUL/Method/hasUserValue">hasUserValue</a></li>
- <li><a href="/es/XUL/Method/hidePopup" title="es/XUL/Method/hidePopup">hidePopup</a></li>
- <li><a href="/es/XUL/Method/increase" title="es/XUL/Method/increase">increase</a></li>
- <li><a href="/es/XUL/Method/increasePage" title="es/XUL/Method/increasePage">increasePage</a></li>
- <li><a href="/es/XUL/Method/insertItem" title="es/XUL/Method/insertItem">insertItem</a></li>
- <li><a href="/es/XUL/Method/insertItemAt" title="es/XUL/Method/insertItemAt">insertItemAt</a></li>
- <li><a href="/es/XUL/Method/invertSelection" title="es/XUL/Method/invertSelection">invertSelection</a></li>
- <li><a href="/es/XUL/Method/loadGroup" title="es/XUL/Method/loadGroup">loadGroup</a></li>
- <li><a href="/es/XUL/Method/loadOneTab" title="es/XUL/Method/loadOneTab">loadOneTab</a></li>
- <li><a href="/es/XUL/Method/loadTabs" title="es/XUL/Method/loadTabs">loadTabs</a></li>
- <li><a href="/es/XUL/Method/loadURI" title="es/XUL/Method/loadURI">loadURI</a></li>
- <li><a href="/es/XUL/Method/loadURIWithFlags" title="es/XUL/Method/loadURIWithFlags">loadURIWithFlags</a></li>
- <li><a href="/es/XUL/Method/makeEditable" title="es/XUL/Method/makeEditable">makeEditable</a></li>
- <li><a href="/es/XUL/Method/moveByOffset" title="es/XUL/Method/moveByOffset">moveByOffset</a></li>
- <li><a href="/es/XUL/Method/moveTo" title="es/XUL/Method/moveTo">moveTo</a></li>
- <li><a href="/es/XUL/Method/moveToAlertPosition" title="es/XUL/Method/moveToAlertPosition">moveToAlertPosition</a></li>
- <li><a href="/es/XUL/Method/onSearchComplete" title="es/XUL/Method/onSearchComplete">onSearchComplete</a></li>
- <li><a href="/es/XUL/Method/onTextEntered" title="es/XUL/Method/onTextEntered">onTextEntered</a></li>
- <li><a href="/es/XUL/Method/onTextReverted" title="es/XUL/Method/onTextReverted">onTextReverted</a></li>
- <li><a href="/es/XUL/Method/openPopup" title="es/XUL/Method/openPopup">openPopup</a></li>
- <li><a href="/es/XUL/Method/openPopupAtScreen" title="es/XUL/Method/openPopupAtScreen">openPopupAtScreen</a></li>
- <li><a href="/es/XUL/Method/openSubDialog" title="es/XUL/Method/openSubDialog">openSubDialog</a></li>
- <li><a href="/es/XUL/Method/openWindow" title="es/XUL/Method/openWindow">openWindow</a></li>
- <li><a href="/es/XUL/Method/preferenceForElement" title="es/XUL/Method/preferenceForElement">preferenceForElement</a></li>
- <li><a href="/es/XUL/Method/reload" title="es/XUL/Method/reload">reload</a></li>
- <li><a href="/es/XUL/Method/reloadAllTabs" title="es/XUL/Method/reloadAllTabs">reloadAllTabs</a></li>
- <li><a href="/es/XUL/Method/reloadTab" title="es/XUL/Method/reloadTab">reloadTab</a></li>
- <li><a href="/es/XUL/Method/reloadWithFlags" title="es/XUL/Method/reloadWithFlags">reloadWithFlags</a></li>
- <li><a href="/es/XUL/Method/removeAllItems" title="es/XUL/Method/removeAllItems">removeAllItems</a></li>
- <li><a href="/es/XUL/Method/removeAllNotifications" title="es/XUL/Method/removeAllNotifications">removeAllNotifications</a></li>
- <li><a href="/es/XUL/Method/removeAllTabsBut" title="es/XUL/Method/removeAllTabsBut">removeAllTabsBut</a></li>
- <li><a href="/es/XUL/Method/removeCurrentNotification" title="es/XUL/Method/removeCurrentNotification">removeCurrentNotification</a></li>
- <li><a href="/es/XUL/Method/removeCurrentTab" title="es/XUL/Method/removeCurrentTab">removeCurrentTab</a></li>
- <li><a href="/es/XUL/Method/removeItemAt" title="es/XUL/Method/removeItemAt">removeItemAt</a></li>
- <li><a href="/es/XUL/Method/removeItemFromSelection" title="es/XUL/Method/removeItemFromSelection">removeItemFromSelection</a></li>
- <li><a href="/es/XUL/Method/removeNotification" title="es/XUL/Method/removeNotification">removeNotification</a></li>
- <li><a href="/es/XUL/Method/removeProgressListener" title="es/XUL/Method/removeProgressListener">removeProgressListener</a></li>
- <li><a href="/es/XUL/Method/removeSession" title="es/XUL/Method/removeSession">removeSession</a></li>
- <li><a href="/es/XUL/Method/removeTab" title="es/XUL/Method/removeTab">removeTab</a></li>
- <li><a href="/es/XUL/Method/removeTransientNotifications" title="es/XUL/Method/removeTransientNotifications">removeTransientNotifications</a></li>
- <li><a href="/es/XUL/Method/replaceGroup" title="es/XUL/Method/replaceGroup">replaceGroup</a></li>
- <li><a href="/es/XUL/Method/reset" title="es/XUL/Method/reset">reset</a></li>
- <li><a href="/es/XUL/Method/rewind" title="es/XUL/Method/rewind">rewind</a></li>
- <li><a href="/es/XUL/Method/scrollByIndex" title="es/XUL/Method/scrollByIndex">scrollByIndex</a></li>
- <li><a href="/es/XUL/Method/scrollByPixels" title="es/XUL/Method/scrollByPixels">scrollByPixels</a></li>
- <li><a href="/es/XUL/Method/scrollToIndex" title="es/XUL/Method/scrollToIndex">scrollToIndex</a></li>
- <li><a href="/es/XUL/Method/select" title="es/XUL/Method/select">select</a></li>
- <li><a href="/es/XUL/Method/selectAll" title="es/XUL/Method/selectAll">selectAll</a></li>
- <li><a href="/es/XUL/Method/selectItem" title="es/XUL/Method/selectItem">selectItem</a></li>
- <li><a href="/es/XUL/Method/selectItemRange" title="es/XUL/Method/selectItemRange">selectItemRange</a></li>
- <li><a href="/es/XUL/Method/setSelectionRange" title="es/XUL/Method/setSelectionRange">setSelectionRange</a></li>
- <li><a href="/es/XUL/Method/showPane" title="es/XUL/Method/showPane">showPane</a></li>
- <li><a href="/es/XUL/Method/showPopup" title="es/XUL/Method/showPopup">showPopup</a></li>
- <li><a href="/es/XUL/Method/sizeTo" title="es/XUL/Method/sizeTo">sizeTo</a></li>
- <li><a href="/es/XUL/Method/startEditing" title="es/XUL/Method/startEditing">startEditing</a></li>
- <li><a href="/es/XUL/Method/stop" title="es/XUL/Method/stop">stop</a></li>
- <li><a href="/es/XUL/Method/stopEditing" title="es/XUL/Method/stopEditing">stopEditing</a></li>
- <li><a href="/es/XUL/Method/syncSessions" title="es/XUL/Method/syncSessions">syncSessions</a></li>
- <li><a href="/es/XUL/Method/timedSelect" title="es/XUL/Method/timedSelect">timedSelect</a></li>
- <li><a href="/es/XUL/Method/toggleItemSelection" title="es/XUL/Method/toggleItemSelection">toggleItemSelection</a></li>
-</ul>
-
-<h3 id="Related_DOM_element_methods" name="Related_DOM_element_methods">Related DOM element methods</h3>
-
-<ul>
- <li><a href="/es/DOM/element.addEventListener" title="es/DOM/element.addEventListener">DOM:element.addEventListener</a></li>
- <li><a href="/es/DOM/Node.appendChild" title="es/DOM/element.appendChild">DOM:element.appendChild</a></li>
- <li><a href="/es/DOM/element.dispatchEvent" title="es/DOM/element.dispatchEvent">DOM:element.dispatchEvent</a></li>
- <li><a href="/es/DOM/element.getAttribute" title="es/DOM/element.getAttribute">DOM:element.getAttribute</a></li>
- <li><a href="/es/DOM/element.getAttributeNode" title="es/DOM/element.getAttributeNode">DOM:element.getAttributeNode</a></li>
- <li><a href="/es/DOM/element.getAttributeNodeNS" title="es/DOM/element.getAttributeNodeNS">DOM:element.getAttributeNodeNS</a></li>
- <li><a href="/es/DOM/element.getAttributeNS" title="es/DOM/element.getAttributeNS">DOM:element.getAttributeNS</a></li>
- <li><a href="/es/DOM/element.getElementsByTagName" title="es/DOM/element.getElementsByTagName">DOM:element.getElementsByTagName</a></li>
- <li><a href="/es/DOM/element.getElementsByTagNameNS" title="es/DOM/element.getElementsByTagNameNS">DOM:element.getElementsByTagNameNS</a></li>
- <li><a href="/es/DOM/element.hasAttribute" title="es/DOM/element.hasAttribute">DOM:element.hasAttribute</a></li>
- <li><a href="/es/DOM/element.hasAttributeNS" title="es/DOM/element.hasAttributeNS">DOM:element.hasAttributeNS</a></li>
- <li><a href="/es/DOM/Node.hasAttributes" title="es/DOM/element.hasAttributes">DOM:element.hasAttributes</a></li>
- <li><a href="/es/DOM/Node.hasChildNodes" title="es/DOM/element.hasChildNodes">DOM:element.hasChildNodes</a></li>
- <li><a href="/es/DOM/Node.insertBefore" title="es/DOM/element.insertBefore">DOM:element.insertBefore</a></li>
- <li><a href="/es/DOM/Node.isSupported" title="es/DOM/element.isSupported">DOM:element.isSupported</a></li>
- <li><a href="/es/DOM/Node.normalize" title="es/DOM/element.normalize">DOM:element.normalize</a></li>
- <li><a href="/es/DOM/element.removeAttribute" title="es/DOM/element.removeAttribute">DOM:element.removeAttribute</a></li>
- <li><a href="/es/DOM/element.removeAttributeNode" title="es/DOM/element.removeAttributeNode">DOM:element.removeAttributeNode</a></li>
- <li><a href="/es/DOM/element.removeAttributeNS" title="es/DOM/element.removeAttributeNS">DOM:element.removeAttributeNS</a></li>
- <li><a href="/es/DOM/Node.removeChild" title="es/DOM/element.removeChild">DOM:element.removeChild</a></li>
- <li><a href="/es/DOM/element.removeEventListener" title="es/DOM/element.removeEventListener">DOM:element.removeEventListener</a></li>
- <li><a href="/es/DOM/Node.replaceChild" title="es/DOM/element.replaceChild">DOM:element.replaceChild</a></li>
- <li><a href="/Es/DOM/Element.setAttribute" title="es/DOM/element.setAttribute">DOM:element.setAttribute</a></li>
- <li><a href="/es/DOM/element.setAttributeNode" title="es/DOM/element.setAttributeNode">DOM:element.setAttributeNode</a></li>
- <li><a href="/es/DOM/element.setAttributeNodeNS" title="es/DOM/element.setAttributeNodeNS">DOM:element.setAttributeNodeNS</a></li>
- <li><a href="/es/DOM/element.setAttributeNS" title="es/DOM/element.setAttributeNS">DOM:element.setAttributeNS</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/property/align/index.html b/files/es/archive/mozilla/xul/property/align/index.html
deleted file mode 100644
index d3fc019b3d..0000000000
--- a/files/es/archive/mozilla/xul/property/align/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Align
-slug: Archive/Mozilla/XUL/Property/Align
-translation_of: Archive/Mozilla/XUL/Property/align
----
-<div class="noinclude"><span class="breadcrumbs XULRefProp_breadcrumbs">« <a href="/es/docs/XUL/Elementos" title="XUL/Elementos">Referencia de XUL</a></span></div>
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/align">align</a></span></code></dt>
- <dd>Tipo: <em>string</em></dd>
- <dd>Gets and sets the value of the <code id="a-align"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code> attribute.</dd>
-</dl>
diff --git a/files/es/archive/mozilla/xul/property/buttons/index.html b/files/es/archive/mozilla/xul/property/buttons/index.html
deleted file mode 100644
index 18c1b31651..0000000000
--- a/files/es/archive/mozilla/xul/property/buttons/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: buttons
-slug: Archive/Mozilla/XUL/Property/Buttons
-translation_of: Archive/Mozilla/XUL/Property/buttons
----
-<div class="noinclude"><span class="breadcrumbs XULRefProp_breadcrumbs">« <a href="/es/docs/XUL/Elementos" title="XUL/Elementos">Referencia de XUL</a></span></div>
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/es/docs/XUL/Property/buttons">buttons</a></span></code></dt>
- <dd>Typo: <em>lista de los valores de abajo separados por comas</em></dd>
- <dd>Una lista separada por comas de botones que aparecerán en el cuadro de diálogo. Los botones serán puestos en lugares adecuados para la plataforma del usuario y la gestión básica de eventos se ejecutará automáticamente. En la lista pueden utilizarse los siguientes valores:</dd>
-</dl>
-
-<ul>
- <li><code>accept</code>: El botón Aceptar, que aceptará los cambios cuando se presione. Este botón también será el botón predeterminado.</li>
- <li><code>cancel</code>: El botón Cancelar que cancelará la operación.</li>
- <li><code>help</code>: Un boton Ayuda para mostrar ayuda sobre el diálogo.</li>
- <li><code>disclosure</code>: Un botón para mostrar más información. Este podría ser un botón o un triángulo.</li>
- <li><code>extra1</code>: Un botón adicional opcional. Usted puede configurar su leyenda con el atributo<code> <code id="a-buttonlabelextra1"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></code></code>.</li>
- <li><code>extra2</code>: Un segundo botón adicional opcional. Usted puede configurar su leyenda con el atributo <code><code id="a-buttonlabelextra2"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></code></code>.</li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/property/index.html b/files/es/archive/mozilla/xul/property/index.html
deleted file mode 100644
index 1a7ae096bc..0000000000
--- a/files/es/archive/mozilla/xul/property/index.html
+++ /dev/null
@@ -1,273 +0,0 @@
----
-title: Propiedades
-slug: Archive/Mozilla/XUL/Property
-translation_of: Archive/Mozilla/XUL/Property
----
-<p><span class="breadcrumbs XULRefProp_breadcrumbs">« <a href="/es/docs/XUL/Elementos" title="XUL/Elementos">Referencia de XUL</a></span></p>
-
-<ul>
- <li><a href="/es/XUL/Property/accessible" title="es/XUL/Property/accessible">accessible</a></li>
- <li><a href="/es/XUL/Property/accessibleType" title="es/XUL/Property/accessibleType">accessibleType</a></li>
- <li><a href="/es/XUL/Property/accessKey" title="es/XUL/Property/accessKey">accessKey</a></li>
- <li><a href="/es/XUL/Property/align" title="es/XUL/Property/align">align</a></li>
- <li><a href="/es/XUL/Property/allNotifications" title="es/XUL/Property/allNotifications">allNotifications</a></li>
- <li><a href="/es/XUL/Property/allowEvents" title="es/XUL/Property/allowEvents">allowEvents</a></li>
- <li><a href="/es/XUL/Property/alwaysOpenPopup" title="es/XUL/Property/alwaysOpenPopup">alwaysOpenPopup</a></li>
- <li><a href="/es/XUL/Property/amIndicator" title="es/XUL/Property/amIndicator">amIndicator</a></li>
- <li><a href="/es/XUL/Property/appLocale" title="es/XUL/Property/appLocale">appLocale</a></li>
- <li><a href="/es/XUL/Property/autoCheck" title="es/XUL/Property/autoCheck">autoCheck</a></li>
- <li><a href="/es/XUL/Property/autoFill" title="es/XUL/Property/autoFill">autoFill</a></li>
- <li><a href="/es/XUL/Property/autoFillAfterMatch" title="es/XUL/Property/autoFillAfterMatch">autoFillAfterMatch</a></li>
- <li><a href="/es/XUL/Property/boxObject" title="es/XUL/Property/boxObject">boxObject</a></li>
- <li><a href="/es/XUL/Property/browsers" title="es/XUL/Property/browsers">browsers</a></li>
- <li><a href="/es/XUL/Property/builder" title="es/XUL/Property/builder">builder</a></li>
- <li><a href="/es/XUL/Property/builderView" title="es/XUL/Property/builderView">builderView</a></li>
- <li><a href="/Es/XUL/Property/Buttons" title="es/XUL/Property/buttons">buttons</a></li>
- <li><a href="/es/XUL/Property/canAdvance" title="es/XUL/Property/canAdvance">canAdvance</a></li>
- <li><a href="/es/XUL/Property/canGoBack" title="es/XUL/Property/canGoBack">canGoBack</a></li>
- <li><a href="/es/XUL/Property/canGoForward" title="es/XUL/Property/canGoForward">canGoForward</a></li>
- <li><a href="/es/XUL/Property/canRewind" title="es/XUL/Property/canRewind">canRewind</a></li>
- <li><a href="/es/XUL/Property/checked" title="es/XUL/Property/checked">checked</a></li>
- <li><a href="/es/XUL/Property/checkState" title="es/XUL/Property/checkState">checkState</a></li>
- <li><a href="/es/XUL/Property/child" title="es/XUL/Property/child">child</a></li>
- <li><a href="/es/XUL/Property/children" title="es/XUL/Property/children">children</a></li>
- <li><a href="/es/XUL/Property/className" title="es/XUL/Property/className">className</a></li>
- <li><a href="/es/XUL/Property/clickSelectsAll" title="es/XUL/Property/clickSelectsAll">clickSelectsAll</a></li>
- <li><a class="internal" href="/es/XUL/Property/clientHeight" title="es/XUL/Property/clientHeight">clientHeight</a> </li>
- <li><a class="internal" href="/es/XUL/Property/clientWidth" title="es/XUL/Property/clientWidth">clientWidth</a> </li>
- <li><a href="/es/XUL/Property/collapsed" title="es/XUL/Property/collapsed">collapsed</a></li>
- <li><a href="/es/XUL/Property/color" title="es/XUL/Property/color">color</a></li>
- <li><a href="/es/XUL/Property/columns" title="es/XUL/Property/columns">columns</a></li>
- <li><a href="/es/XUL/Property/command" title="es/XUL/Property/command">command</a></li>
- <li><a href="/es/XUL/Property/commandManager" title="es/XUL/Property/commandManager">commandManager</a></li>
- <li><a href="/es/XUL/Property/completeDefaultIndex" title="es/XUL/Property/completeDefaultIndex">completeDefaultIndex</a></li>
- <li><a href="/es/XUL/Property/container" title="es/XUL/Property/container">container</a></li>
- <li><a href="/es/XUL/Property/contentDocument" title="es/XUL/Property/contentDocument">contentDocument</a></li>
- <li><a href="/es/XUL/Property/contentPrincipal" title="es/XUL/Property/contentPrincipal">contentPrincipal</a></li>
- <li><a href="/es/XUL/Property/contentTitle" title="es/XUL/Property/contentTitle">contentTitle</a></li>
- <li><a href="/es/XUL/Property/contentView" title="es/XUL/Property/contentView">contentView</a></li>
- <li><a href="/es/XUL/Property/contentViewerEdit" title="es/XUL/Property/contentViewerEdit">contentViewerEdit</a></li>
- <li><a href="/es/XUL/Property/contentViewerFile" title="es/XUL/Property/contentViewerFile">contentViewerFile</a></li>
- <li><a href="/es/XUL/Property/contentWindow" title="es/XUL/Property/contentWindow">contentWindow</a></li>
- <li><a href="/es/XUL/Property/contextMenu" title="es/XUL/Property/contextMenu">contextMenu</a></li>
- <li><a href="/es/XUL/Property/control" title="es/XUL/Property/control">control</a></li>
- <li><a href="/es/XUL/Property/controller" title="es/XUL/Property/controller">controller</a></li>
- <li><a href="/es/XUL/Property/controllers" title="es/XUL/Property/controllers">controllers</a></li>
- <li><a href="/es/XUL/Property/crop" title="es/XUL/Property/crop">crop</a></li>
- <li><a href="/es/XUL/Property/current" title="es/XUL/Property/current">current</a></li>
- <li><a href="/es/XUL/Property/currentIndex" title="es/XUL/Property/currentIndex">currentIndex</a></li>
- <li><a href="/es/XUL/Property/currentItem" title="es/XUL/Property/currentItem">currentItem</a></li>
- <li><a href="/es/XUL/Property/currentNotification" title="es/XUL/Property/currentNotification">currentNotification</a></li>
- <li><a href="/es/XUL/Property/currentPage" title="es/XUL/Property/currentPage">currentPage</a></li>
- <li><a href="/es/XUL/Property/currentPane" title="es/XUL/Property/currentPane">currentPane</a></li>
- <li><a href="/es/XUL/Property/currentSet" title="es/XUL/Property/currentSet">currentSet</a></li>
- <li><a href="/es/XUL/Property/currentURI" title="es/XUL/Property/currentURI">currentURI</a></li>
- <li><a href="/es/XUL/Property/customToolbarCount" title="es/XUL/Property/customToolbarCount">customToolbarCount</a></li>
- <li><a href="/es/XUL/Property/database" title="es/XUL/Property/database">database</a></li>
- <li><a href="/es/XUL/Property/datasources" title="es/XUL/Property/datasources">datasources</a></li>
- <li><a href="/es/XUL/Property/date" title="es/XUL/Property/date">date</a></li>
- <li><a href="/es/XUL/Property/dateLeadingZero" title="es/XUL/Property/dateLeadingZero">dateLeadingZero</a></li>
- <li><a href="/es/XUL/Property/dateValue" title="es/XUL/Property/dateValue">dateValue</a></li>
- <li><a href="/es/XUL/Property/decimalPlaces" title="es/XUL/Property/decimalPlaces">decimalPlaces</a></li>
- <li><a href="/es/XUL/Property/decimalSymbol" title="es/XUL/Property/decimalSymbol">decimalSymbol</a></li>
- <li><a href="/es/XUL/Property/defaultButton" title="es/XUL/Property/defaultButton">defaultButton</a></li>
- <li><a href="/es/XUL/Property/defaultValue" title="es/XUL/Property/defaultValue">defaultValue</a></li>
- <li><a href="/es/XUL/Property/description" title="es/XUL/Property/description">description</a></li>
- <li><a href="/es/XUL/Property/dir" title="es/XUL/Property/dir">dir</a></li>
- <li><a href="/es/XUL/Property/disableAutocomplete" title="es/XUL/Property/disableAutocomplete">disableAutocomplete</a></li>
- <li><a href="/es/XUL/Property/disableAutocomplete" title="es/XUL/Property/disableAutocomplete">disableAutoComplete</a></li>
- <li><a href="/es/XUL/Property/disableautoselect" title="es/XUL/Property/disableautoselect">disableautoselect</a></li>
- <li><a href="/es/XUL/Property/disabled" title="es/XUL/Property/disabled">disabled</a></li>
- <li><a href="/es/XUL/Property/disableKeyNavigation" title="es/XUL/Property/disableKeyNavigation">disableKeyNavigation</a></li>
- <li><a href="/es/XUL/Property/dlgType" title="es/XUL/Property/dlgType">dlgType</a></li>
- <li><a href="/es/XUL/Property/docShell" title="es/XUL/Property/docShell">docShell</a></li>
- <li><a href="/es/XUL/Property/documentCharsetInfo" title="es/XUL/Property/documentCharsetInfo">documentCharsetInfo</a></li>
- <li><a href="/es/XUL/Property/editable" title="es/XUL/Property/editable">editable</a></li>
- <li><a href="/es/XUL/Property/editingColumn" title="es/XUL/Property/editingColumn">editingColumn</a></li>
- <li><a href="/es/XUL/Property/editingRow" title="es/XUL/Property/editingRow">editingRow</a></li>
- <li><a href="/es/XUL/Property/editingSession" title="es/XUL/Property/editingSession">editingSession</a></li>
- <li><a href="/es/XUL/Property/editor" title="es/XUL/Property/editor">editor</a></li>
- <li><a href="/es/XUL/Property/editortype" title="es/XUL/Property/editortype">editortype</a></li>
- <li><a href="/es/XUL/Property/emptyText" title="es/XUL/Property/emptyText">emptyText</a></li>
- <li><a href="/es/XUL/Property/enableColumnDrag" title="es/XUL/Property/enableColumnDrag">enableColumnDrag</a></li>
- <li><a href="/es/XUL/Property/eventNode" title="es/XUL/Property/eventNode">eventNode</a></li>
- <li><a href="/es/XUL/Property/firstOrdinalColumn" title="es/XUL/Property/firstOrdinalColumn">firstOrdinalColumn</a></li>
- <li><a href="/es/XUL/Property/firstPermanentChild" title="es/XUL/Property/firstPermanentChild">firstPermanentChild</a></li>
- <li><a href="/es/XUL/Property/flex" title="es/XUL/Property/flex">flex</a></li>
- <li><a href="/es/XUL/Property/focused" title="es/XUL/Property/focused">focused</a></li>
- <li><a href="/es/XUL/Property/focusedItem" title="es/XUL/Property/focusedItem">focusedItem</a></li>
- <li><a href="/es/XUL/Property/forceComplete" title="es/XUL/Property/forceComplete">forceComplete</a></li>
- <li><a href="/es/XUL/Property/group" title="es/XUL/Property/group">group</a></li>
- <li><a href="/es/XUL/Property/handleCtrlPageUpDown" title="es/XUL/Property/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li>
- <li><a href="/es/XUL/Property/handleCtrlTab" title="es/XUL/Property/handleCtrlTab">handleCtrlTab</a></li>
- <li><a href="/es/XUL/Property/height" title="es/XUL/Property/height">height</a></li>
- <li><a href="/es/XUL/Property/hidden" title="es/XUL/Property/hidden">hidden</a></li>
- <li><a href="/es/XUL/Property/hideSeconds" title="es/XUL/Property/hideSeconds">hideSeconds</a></li>
- <li><a href="/es/XUL/Property/homePage" title="es/XUL/Property/homePage">homePage</a></li>
- <li><a href="/es/XUL/Property/hour" title="es/XUL/Property/hour">hour</a></li>
- <li><a href="/es/XUL/Property/hourLeadingZero" title="es/XUL/Property/hourLeadingZero">hourLeadingZero</a></li>
- <li><a href="/es/XUL/Property/id" title="es/XUL/Property/id">id</a></li>
- <li><a href="/es/XUL/Property/ignoreBlurWhileSearching" title="es/XUL/Property/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li>
- <li><a href="/es/XUL/Property/image" title="es/XUL/Property/image">image</a></li>
- <li><a href="/es/XUL/Property/increment" title="es/XUL/Property/increment">increment</a></li>
- <li><a href="/es/XUL/Property/inputField" title="es/XUL/Property/inputField">inputField</a></li>
- <li><a href="/es/XUL/Property/inverted" title="es/XUL/Property/inverted">inverted</a></li>
- <li><a href="/es/XUL/Property/is24HourClock" title="es/XUL/Property/is24HourClock">is24HourClock</a></li>
- <li><a href="/es/XUL/Property/isPM" title="es/XUL/Property/isPM">isPM</a></li>
- <li><a href="/es/XUL/Property/isSearching" title="es/XUL/Property/isSearching">isSearching</a></li>
- <li><a href="/es/XUL/Property/isWaiting" title="es/XUL/Property/isWaiting">isWaiting</a></li>
- <li><a href="/es/XUL/Property/itemCount" title="es/XUL/Property/itemCount">itemCount</a></li>
- <li><a href="/es/XUL/Property/label" title="es/XUL/Property/label">label</a></li>
- <li><a href="/es/XUL/Property/labelElement" title="es/XUL/Property/labelElement">labelElement</a></li>
- <li><a href="/es/XUL/Property/lastPermanentChild" title="es/XUL/Property/lastPermanentChild">lastPermanentChild</a></li>
- <li><a href="/es/XUL/Property/lastSelected" title="es/XUL/Property/lastSelected">lastSelected</a></li>
- <li><a href="/es/XUL/Property/left" title="es/XUL/Property/left">left</a></li>
- <li><a href="/es/XUL/Property/linkedPanel" title="es/XUL/Property/linkedPanel">linkedPanel</a></li>
- <li><a href="/es/XUL/Property/listBoxObject" title="es/XUL/Property/listBoxObject">listBoxObject</a></li>
- <li><a href="/es/XUL/Property/locked" title="es/XUL/Property/locked">locked</a></li>
- <li><a href="/es/XUL/Property/markupDocumentViewer" title="es/XUL/Property/markupDocumentViewer">markupDocumentViewer</a></li>
- <li><a href="/es/XUL/Property/max" title="es/XUL/Property/max">max</a></li>
- <li><a href="/es/XUL/Property/maxHeight" title="es/XUL/Property/maxHeight">maxHeight</a></li>
- <li><a href="/es/XUL/Property/maxLength" title="es/XUL/Property/maxLength">maxLength</a></li>
- <li><a href="/es/XUL/Property/maxRows" title="es/XUL/Property/maxRows">maxRows</a></li>
- <li><a href="/es/XUL/Property/maxWidth" title="es/XUL/Property/maxWidth">maxWidth</a></li>
- <li><a href="/es/XUL/Property/menu" title="es/XUL/Property/menu">menu</a></li>
- <li><a href="/es/XUL/Property/menuBoxObject" title="es/XUL/Property/menuBoxObject">menuBoxObject</a></li>
- <li><a href="/es/XUL/Property/menupopup" title="es/XUL/Property/menupopup">menupopup</a></li>
- <li><a href="/es/XUL/Property/min" title="es/XUL/Property/min">min</a></li>
- <li><a href="/es/XUL/Property/minHeight" title="es/XUL/Property/minHeight">minHeight</a></li>
- <li><a href="/es/XUL/Property/minResultsForPopup" title="es/XUL/Property/minResultsForPopup">minResultsForPopup</a></li>
- <li><a href="/es/XUL/Property/minWidth" title="es/XUL/Property/minWidth">minWidth</a></li>
- <li><a href="/es/XUL/Property/minute" title="es/XUL/Property/minute">minute</a></li>
- <li><a href="/es/XUL/Property/minuteLeadingZero" title="es/XUL/Property/minuteLeadingZero">minuteLeadingZero</a></li>
- <li><a href="/es/XUL/Property/mode" title="es/XUL/Property/mode">mode</a></li>
- <li><a href="/es/XUL/Property/month" title="es/XUL/Property/month">month</a></li>
- <li><a href="/es/XUL/Property/monthLeadingZero" title="es/XUL/Property/monthLeadingZero">monthLeadingZero</a></li>
- <li><a href="/es/XUL/Property/name" title="es/XUL/Property/name">name</a></li>
- <li><a href="/es/XUL/Property/next" title="es/XUL/Property/next">next</a></li>
- <li><a href="/es/XUL/Property/noMatch" title="es/XUL/Property/noMatch">noMatch</a></li>
- <li><a href="/es/XUL/Property/notificationsHidden" title="es/XUL/Property/notificationsHidden">notificationsHidden</a></li>
- <li><a href="/es/XUL/Property/object" title="es/XUL/Property/object">object</a></li>
- <li><a href="/es/XUL/Property/observes" title="es/XUL/Property/observes">observes</a></li>
- <li><a href="/es/XUL/Property/onFirstPage" title="es/XUL/Property/onFirstPage">onFirstPage</a></li>
- <li><a href="/es/XUL/Property/onLastPage" title="es/XUL/Property/onLastPage">onLastPage</a></li>
- <li><a href="/es/XUL/Property/open" title="es/XUL/Property/open">open</a></li>
- <li><a href="/es/XUL/Property/ordinal" title="es/XUL/Property/ordinal">ordinal</a></li>
- <li><a href="/es/XUL/Property/orient" title="es/XUL/Property/orient">orient</a></li>
- <li><a href="/es/XUL/Property/pack" title="es/XUL/Property/pack">pack</a></li>
- <li><a href="/es/XUL/Property/pageCount" title="es/XUL/Property/pageCount">pageCount</a></li>
- <li><a href="/es/XUL/Property/pageid" title="es/XUL/Property/pageid">pageid</a></li>
- <li><a href="/es/XUL/Property/pageIncrement" title="es/XUL/Property/pageIncrement">pageIncrement</a></li>
- <li><a href="/es/XUL/Property/pageIndex" title="es/XUL/Property/pageIndex">pageIndex</a></li>
- <li><a href="/es/XUL/Property/pageStep" title="es/XUL/Property/pageStep">pageStep</a></li>
- <li><a href="/es/XUL/Property/parentContainer" title="es/XUL/Property/parentContainer">parentContainer</a></li>
- <li><a href="/es/XUL/Property/palette" title="es/XUL/Property/palette">palette</a></li>
- <li><a href="/es/XUL/Property/persist" title="es/XUL/Property/persist">persist</a></li>
- <li><a href="/es/XUL/Property/persistence" title="es/XUL/Property/persistence">persistence</a></li>
- <li><a href="/es/XUL/Property/pmIndicator" title="es/XUL/Property/pmIndicator">pmIndicator</a></li>
- <li><a href="/es/XUL/Property/popup" title="es/XUL/Property/popup">popup</a></li>
- <li><a href="/es/XUL/Property/popupBoxObject" title="es/XUL/Property/popupBoxObject">popupBoxObject</a></li>
- <li><a href="/es/XUL/Property/popupOpen" title="es/XUL/Property/popupOpen">popupOpen</a></li>
- <li><a href="/es/XUL/Property/position" title="es/XUL/Property/position">position</a></li>
- <li><a href="/es/XUL/Property/predicate" title="es/XUL/Property/predicate">predicate</a></li>
- <li><a href="/es/XUL/Property/preferenceElements" title="es/XUL/Property/preferenceElements">preferenceElements</a></li>
- <li><a href="/es/XUL/Property/preferencePanes" title="es/XUL/Property/preferencePanes">preferencePanes</a></li>
- <li><a href="/es/XUL/Property/preferences" title="es/XUL/Property/preferences">preferences</a></li>
- <li><a href="/es/XUL/Property/priority" title="es/XUL/Property/priority">priority</a></li>
- <li><a href="/es/XUL/Property/radioGroup" title="es/XUL/Property/radioGroup">radioGroup</a></li>
- <li><a href="/es/XUL/Property/readOnly" title="es/XUL/Property/readOnly">readonly</a></li>
- <li><a href="/es/XUL/Property/readOnly" title="es/XUL/Property/readOnly">readOnly</a></li>
- <li><a href="/es/XUL/Property/ref" title="es/XUL/Property/ref">ref</a></li>
- <li><a href="/es/XUL/Property/resource" title="es/XUL/Property/resource">resource</a></li>
- <li><a href="/es/XUL/Property/resultsPopup" title="es/XUL/Property/resultsPopup">resultsPopup</a></li>
- <li><a href="/es/XUL/Property/scrollBoxObject" title="es/XUL/Property/scrollBoxObject">scrollBoxObject</a></li>
- <li><a href="/es/XUL/Property/scrollIncrement" title="es/XUL/Property/scrollIncrement">scrollIncrement</a></li>
- <li><a class="internal" href="/es/XUL/Property/scrollHeight" title="es/XUL/Property/scrollHeight">scrollHeight</a> </li>
- <li><a class="internal" href="/es/XUL/Property/scrollWidth" title="es/XUL/Property/scrollWidth">scrollWidth</a> </li>
- <li><a href="/es/XUL/Property/searchCount" title="es/XUL/Property/searchCount">searchCount</a></li>
- <li><a href="/es/XUL/Property/searchLabel" title="es/XUL/Property/searchLabel">searchLabel</a></li>
- <li><a href="/es/XUL/Property/searchParam" title="es/XUL/Property/searchParam">searchParam</a></li>
- <li><a href="/es/XUL/Property/searchSessions" title="es/XUL/Property/searchSessions">searchSessions</a></li>
- <li><a href="/es/XUL/Property/second" title="es/XUL/Property/second">second</a></li>
- <li><a href="/es/XUL/Property/secondLeadingZero" title="es/XUL/Property/secondLeadingZero">secondLeadingZero</a></li>
- <li><a href="/es/XUL/Property/securityUI" title="es/XUL/Property/securityUI">securityUI</a></li>
- <li><a href="/es/XUL/Property/selected" title="es/XUL/Property/selected">selected</a></li>
- <li><a href="/es/XUL/Property/selectedBrowser" title="es/XUL/Property/selectedBrowser">selectedBrowser</a></li>
- <li><a href="/es/XUL/Property/selectedCount" title="es/XUL/Property/selectedCount">selectedCount</a></li>
- <li><a href="/es/XUL/Property/selectedIndex" title="es/XUL/Property/selectedIndex">selectedIndex</a></li>
- <li><a href="/es/XUL/Property/selectedItem" title="es/XUL/Property/selectedItem">selectedItem</a></li>
- <li><a href="/es/XUL/Property/selectedItems" title="es/XUL/Property/selectedItems">selectedItems</a></li>
- <li><a href="/es/XUL/Property/selectedPanel" title="es/XUL/Property/selectedPanel">selectedPanel</a></li>
- <li><a href="/es/XUL/Property/selectedTab" title="es/XUL/Property/selectedTab">selectedTab</a></li>
- <li><a href="/es/XUL/Property/selectionEnd" title="es/XUL/Property/selectionEnd">selectionEnd</a></li>
- <li><a href="/es/XUL/Property/selectionStart" title="es/XUL/Property/selectionStart">selectionStart</a></li>
- <li><a href="/es/XUL/Property/selstyle" title="es/XUL/Property/selstyle">selstyle</a></li>
- <li><a href="/es/XUL/Property/selType" title="es/XUL/Property/selType">selType</a></li>
- <li><a href="/es/XUL/Property/sessionCount" title="es/XUL/Property/sessionCount">sessionCount</a></li>
- <li><a href="/es/XUL/Property/sessionHistory" title="es/XUL/Property/sessionHistory">sessionHistory</a></li>
- <li><a href="/es/XUL/Property/showCommentColumn" title="es/XUL/Property/showCommentColumn">showCommentColumn</a></li>
- <li><a href="/es/XUL/Property/showPopup" title="es/XUL/Property/showPopup">showPopup</a></li>
- <li><a href="/es/XUL/Property/size" title="es/XUL/Property/size">size</a></li>
- <li><a href="/es/XUL/Property/smoothScroll" title="es/XUL/Property/smoothScroll">smoothScroll</a></li>
- <li><a href="/es/XUL/Property/spinButtons" title="es/XUL/Property/spinButtons">spinButtons</a></li>
- <li><a href="/es/XUL/Property/src" title="es/XUL/Property/src">src</a></li>
- <li><a href="/es/XUL/Property/state" title="es/XUL/Property/state">state</a></li>
- <li><a href="/es/XUL/Property/statusbar" title="es/XUL/Property/statusbar">statusbar</a></li>
- <li><a href="/es/XUL/Property/statusText" title="es/XUL/Property/statusText">statusText</a></li>
- <li><a href="/es/XUL/Property/stringBundle" title="es/XUL/Property/stringBundle">stringBundle</a></li>
- <li><a href="/es/XUL/Property/strings" title="es/XUL/Property/strings">strings</a></li>
- <li><a href="/es/XUL/Property/style" title="es/XUL/Property/style">style</a></li>
- <li><a href="/es/XUL/Property/subject" title="es/XUL/Property/subject">subject</a></li>
- <li><a href="/es/XUL/Property/suppressOnSelect" title="es/XUL/Property/suppressOnSelect">suppressOnSelect</a></li>
- <li><a href="/es/XUL/Property/tabContainer" title="es/XUL/Property/tabContainer">tabContainer</a></li>
- <li><a href="/es/XUL/Property/tabIndex" title="es/XUL/Property/tabIndex">tabIndex</a></li>
- <li><a href="/es/XUL/Property/tabs" title="es/XUL/Property/tabs">tabs</a></li>
- <li><a href="/es/XUL/Property/tabScrolling" title="es/XUL/Property/tabScrolling">tabScrolling</a></li>
- <li><a href="/es/XUL/Property/tabpanels" title="es/XUL/Property/tabpanels">tabpanels</a></li>
- <li><a href="/es/XUL/Property/tag" title="es/XUL/Property/tag">tag</a></li>
- <li><a href="/es/XUL/Property/textLength" title="es/XUL/Property/textLength">textLength</a></li>
- <li><a href="/es/XUL/Property/textValue" title="es/XUL/Property/textValue">textValue</a></li>
- <li><a href="/es/XUL/Property/timeout" title="es/XUL/Property/timeout">timeout</a></li>
- <li><a href="/es/XUL/Property/title" title="es/XUL/Property/title">title</a></li>
- <li><a href="/es/XUL/Property/toolbarName" title="es/XUL/Property/toolbarName">toolbarName</a></li>
- <li><a href="/es/XUL/Property/toolbarset" title="es/XUL/Property/toolbarset">toolbarset</a></li>
- <li><a href="/es/XUL/Property/tooltip" title="es/XUL/Property/tooltip">tooltip</a></li>
- <li><a href="/es/XUL/Property/tooltipText" title="es/XUL/Property/tooltipText">tooltipText</a></li>
- <li><a href="/es/XUL/Property/top" title="es/XUL/Property/top">top</a></li>
- <li><a href="/es/XUL/Property/treeBoxObject" title="es/XUL/Property/treeBoxObject">treeBoxObject</a></li>
- <li><a href="/es/XUL/Property/type" title="es/XUL/Property/type">type</a></li>
- <li><a href="/es/XUL/Property/uri" title="es/XUL/Property/uri">uri</a></li>
- <li><a href="/es/XUL/Property/userAction" title="es/XUL/Property/userAction">userAction</a></li>
- <li><a href="/es/XUL/Property/value" title="es/XUL/Property/value">value</a></li>
- <li><a href="/es/XUL/Property/valueNumber" title="es/XUL/Property/valueNumber">valueNumber</a></li>
- <li><a href="/es/XUL/Property/view" title="es/XUL/Property/view">view</a></li>
- <li><a href="/es/XUL/Property/webBrowserFind" title="es/XUL/Property/webBrowserFind">webBrowsereFind</a></li>
- <li><a href="/es/XUL/Property/webNavigation" title="es/XUL/Property/webNavigation">webNavigation</a></li>
- <li><a href="/es/XUL/Property/webProgress" title="es/XUL/Property/webProgress">webProgress</a></li>
- <li><a href="/es/XUL/Property/width" title="es/XUL/Property/width">width</a></li>
- <li><a href="/es/XUL/Property/wizardPages" title="es/XUL/Property/wizardPages">wizardPages</a></li>
- <li><a href="/es/XUL/Property/wrapAround" title="es/XUL/Property/wrapAround">wrapAround</a></li>
- <li><a href="/es/XUL/Property/year" title="es/XUL/Property/year">year</a></li>
- <li><a href="/es/XUL/Property/yearLeadingZero" title="es/XUL/Property/yearLeadingZero">yearLeadingZero</a></li>
-</ul>
-
-<h3 id="Related_DOM_element_properties" name="Related_DOM_element_properties">Propiedades de elementos relacionadas con DOM</h3>
-
-<ul>
- <li><a href="/Es/DOM/Node.attributes" title="es/DOM/element.attributes">DOM:element.attributes</a></li>
- <li><a href="/Es/DOM/Node.childNodes" title="es/DOM/element.childNodes">DOM:element.childNodes</a></li>
- <li><a href="/Es/DOM/Node.cloneNode" title="es/DOM/element.cloneNode">DOM:element.cloneNode</a></li>
- <li><a href="/Es/DOM/Node.firstChild" title="es/DOM/element.firstChild">DOM:element.firstChild</a></li>
- <li><a href="/Es/DOM/Node.lastChild" title="es/DOM/element.lastChild">DOM:element.lastChild</a></li>
- <li><a href="/Es/DOM/Node.localName" title="es/DOM/element.localName">DOM:element.localName</a></li>
- <li><a href="/Es/DOM/Node.namespaceURI" title="es/DOM/element.namespaceURI">DOM:element.namespaceURI</a></li>
- <li><a href="/Es/DOM/Node.nextSibling" title="es/DOM/element.nextSibling">DOM:element.nextSibling</a></li>
- <li><a href="/Es/DOM/Node.nodeName" title="es/DOM/element.nodeName">DOM:element.nodeName</a></li>
- <li><a href="/Es/DOM/Node.nodeType" title="es/DOM/element.nodeType">DOM:element.nodeType</a></li>
- <li><a href="/Es/DOM/Node.nodeValue" title="es/DOM/element.nodeValue">DOM:element.nodeValue</a></li>
- <li><a href="/Es/DOM/Node.ownerDocument" title="es/DOM/element.ownerDocument">DOM:element.ownerDocument</a></li>
- <li><a href="/Es/DOM/Node.parentNode" title="es/DOM/element.parentNode">DOM:element.parentNode</a></li>
- <li><a href="/Es/DOM/Node.prefix" title="es/DOM/element.prefix">DOM:element.prefix</a></li>
- <li><a href="/Es/DOM/Node.previousSibling" title="es/DOM/element.previousSibling">DOM:element.previousSibling</a></li>
- <li><a href="/es/DOM/element.tagName" title="es/DOM/element.tagName">DOM:element.tagName</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/style/index.html b/files/es/archive/mozilla/xul/style/index.html
deleted file mode 100644
index 920b41ddce..0000000000
--- a/files/es/archive/mozilla/xul/style/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Clases de estilo
-slug: Archive/Mozilla/XUL/Style
-translation_of: Archive/Mozilla/XUL/Style
----
-<p><a href="/es/docs/XUL/Elementos" title="« Referencia de XUL">« Referencia de XUL</a></p>
-
-<ul>
- <li><a href="/es/XUL/Style/alert-icon" title="es/XUL/Style/alert-icon">alert-icon</a></li>
- <li><a href="/es/XUL/Style/chromeclass-toolbar" title="es/XUL/Style/chromeclass-toolbar">chromeclass-toolbar</a></li>
- <li><a href="/es/XUL/Style/error-icon" title="es/XUL/Style/error-icon">error-icon</a></li>
- <li><a href="/es/XUL/Style/groove" title="es/XUL/Style/groove">groove</a></li>
- <li><a href="/es/XUL/Style/header" title="es/XUL/Style/header">header</a></li>
- <li><a href="/es/XUL/Style/indent" title="es/XUL/Style/indent">indent</a></li>
- <li><a href="/es/XUL/Style/listcell-iconic" title="es/XUL/Style/listcell-iconic">listcell-iconic</a></li>
- <li><a href="/es/XUL/Style/listitem-iconic" title="es/XUL/Style/listitem-iconic">listitem-iconic</a></li>
- <li><a href="/es/XUL/Style/menuitem-iconic" title="es/XUL/Style/menuitem-iconic">menuitem-iconic</a></li>
- <li><a href="/es/XUL/Style/menuitem-non-iconic" title="es/XUL/Style/menuitem-non-iconic">menuitem-non-iconic</a></li>
- <li><a href="/es/XUL/Style/message-icon" title="es/XUL/Style/message-icon">message-icon</a></li>
- <li><a href="/es/XUL/Style/monospace" title="es/XUL/Style/monospace">monospace</a></li>
- <li><a href="/es/XUL/Style/plain" title="es/XUL/Style/plain">plain</a></li>
- <li><a href="/es/XUL/Style/question-icon" title="es/XUL/Style/question-icon">question-icon</a></li>
- <li><a href="/es/XUL/Style/small-margin" title="es/XUL/Style/small-margin">small-margin</a></li>
- <li><a href="/es/XUL/Style/statusbarpanel-iconic" title="es/XUL/Style/statusbarpanel-iconic">statusbarpanel-iconic</a></li>
- <li><a href="/es/XUL/Style/statusbarpanel-iconic-text" title="es/XUL/Style/statusbarpanel-iconic-text">statusbarpanel-iconic-text</a></li>
- <li><a href="/es/XUL/Style/statusbarpanel-menu-iconic" title="es/XUL/Style/statusbarpanel-menu-iconic">statusbarpanel-menu-iconic</a></li>
- <li><a href="/es/XUL/Style/text-link" title="es/XUL/Style/text-link">text-link</a></li>
- <li><a href="/es/XUL/Style/thin" title="es/XUL/Style/thin">thin</a></li>
- <li><a href="/es/XUL/Style/tree-splitter" title="es/XUL/Style/tree-splitter">tree-splitter</a></li>
- <li><a href="/es/XUL/Style/treecol-image" title="es/XUL/Style/treecol-image">treecol-image</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/actualizar_comandos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/actualizar_comandos/index.html
deleted file mode 100644
index dd76069198..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/actualizar_comandos/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Actualizar comandos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Actualizar_comandos
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Updating_Commands
----
-<p> </p>
-<p>En esta sección veremos como actualizar comandos.</p>
-<h3 id="Invocando_comandos" name="Invocando_comandos">Invocando comandos</h3>
-<p>Si un comando tiene un atributo <code>oncommand</code>, podemos invocarlo simplemente usando el método doCommand del comando o de un elemento vinculado a él. Para otros comandos, necesitaremos usar un par de líneas de código. Necesitamos usar estos pasos adicionales cuando invocamos comandos implementados por un controlador. Además, tendremos que hacerlo cuando creemos nuestros comandos de menú, por ejemplo para implementar los comandos del menú editar en nuestra aplicación.</p>
-<p>Afortunadamente, el código extra es bastante simple. Todo lo que necesitamos hacer es obtener el controlador y llamar al comando. Un forma sencilla de hacerlo es la siguiente:</p>
-<pre>var controlador = document.commandDispatcher.getControllerForCommand("cmd_paste");
-if (controlador &amp;&amp; controlador.isCommandEnabled("cmd_paste"))
- controlador.doCommand(command);
-}
-</pre>
-<p>El código mostrado arriba primero obtiene el controlador para comando ‘cmd_paste’ del despachador de comandos. Entonces comprueba que el comando esta habilitado y lo ejecuta usando el método doCommand. Hay que fijarse en que no hace falta adivinar que elemento o controlador usar, el despachador de comandos hace esa faena por nosotros. Tambíen podríamos ejecutar el método doCommand sin comprobar si el comando está habilitado o no, aunque mejor no hacerlo.</p>
-<p>El código de arriba es lo suficientemente genérico como para crear una función que tome un parametro, comando, y lo ejecute. Esta función podría entonces ser reusada para todos los comandos. De hecho, esto es tan común que Mozilla incluye una librería que hace justo esto. Sí incluyes el guión ‘<a class="external" rel="freelink">chrome://global/content/globalOverlay.js</a>’ en un archivo XUL, puede llamar el método goDoCommand que ejecutará el comando que se le pase como parametro. El código para esa función son simplemente unas pocas líneas, así que podemos incluirla directamente en nuestro código si por alguna razón no queremos incluir la librería.</p>
-<pre>&lt;script src="chrome://global/content/globalOverlay.js"/&gt;
-
-&lt;command id="cmd_paste" oncommand="goDoCommand('cmd_paste');/&gt;
-&lt;button label="Pegar" command="cmd_paste"/&gt;
-</pre>
-<p>Este ejemplo implementa un botón Pegar. Está vinculado con un comando que a su vez invoca ese mismo comando para que lo gestione el controlador por defecto. Este código es todo lo que se necesita para implementar la funcionalidad del comando pegar en nuestra aplicación. La única cosa que nos falta es asegurarnos de que el comando pegar, y por ende el botón, este habilitado y se actualize en el momento oportuno, lo que se describe a continuación.</p>
-<h3 id="Actualizadores_de_comandos" name="Actualizadores_de_comandos">Actualizadores de comandos</h3>
-<p>Un actualizador de comandos es una característica extra del elemento commandset, que nos permite actualizar el estado de uno o más comandos cuando ciertos eventos ocurren. Necesitamos pensar cuando un comando es válido y cuando no lo es. Además debemos considerar cuando debe cambiar el estado y cuando debén los comandos ser actualizados.</p>
-<p>Por ejemplo, el comando pegar es válido cuando una caja de texto tiene el foco y hay algo en el portapapeles que pegar. El comando se habilitará cuando la caja de texto obtenga el foco o el contenido del portapales cambie. Un actualizador de comandos escuchará a estas situaciones y podrá ejecutar código que habilite o deshabilite comandos como sea necesario.</p>
-<p>Un simple actualizador de comandos puede ser como el siguiente:</p>
-<pre>&lt;commandset id="actualizaPegarElemento"
- commandupdater="true"
- events="focus"
- oncommandupdate="goUpdateCommand('cmd_paste');"/&gt;
-</pre>
-<p>Un actualizador de comandos es indicado cuando se usa el atributo commandupdater, el cual debe ser true. El atributo event se usa para definir los eventos a los cuales debe escuchar el actualizador. Podemos especificar varios eventos si los separamos con comas. En este ejemplo el actualizador de comandos escucha al evento ‘focus’. Esto hará que los comandos se actualizen con un elemento reciba el foco.</p>
-<p>Cuando ocurre un evento de foco, el código en el atributo oncommandupdate es ejecutado. En el ejemplo, la función goupdateCommand es llamada, que es la función implementada en globalOverlay.js descrita anteriormente. Esto actualizara el comando y habilitará o deshabilitará los botones y menús necesarios. El código detrás de todo esto es bastante sencillo. Simplement coge el controlador adecuado, llama su método isCommandEnabled y el comando queda habilitado o deshabilitado. Si hay varios comandos a actualizar, llamaremos la función goUpdateCommand una vez para cada comando.</p>
-<p>Cabe mencionar que el actualizador de comandos recibirá avisos sobre todos los eventos de foco en todos los elementos, incluso si otros gestores de eventos responden al evento. Esencialmente, un actualizador de comandos es como un gestor de eventos global.</p>
-<p>Los actualizadores de comandos puede escuchar a los siguientes eventos, aunque es posible crear nuestros propios eventos.</p>
-<pre class="eval"> * focus: ocurre cuando un elemento obtiene el foco
- * select: ocurre cuando el texto seleccionado cambia
- * undo: ocurre cuando el buffer de deshacer cambia
- * clipboard: ocurre cuando los contenidos del portapapeles cambian
-</pre>
-<p>Los siguientes ejemplos demuestran como se usan los actualizadores de comandos en el navegador Mozilla para actualizar los comandos del menú editar. Las funciones usadas pueden ser encontradas en el fichero ‘<a class="external" rel="freelink">chrome://communicator/content/utilityOverlay.js</a>’.</p>
-<pre>&lt;commandset id="globalEditMenuItems"
- commandupdater="true"
- events="focus"
- oncommandupdate="goUpdateGlobalEditMenuItems()"/&gt;
-&lt;commandset id="selectEditMenuItems"
- commandupdater="true"
- events="select"
- oncommandupdate="goUpdateSelectEditMenuItems()"/&gt;
-&lt;commandset id="undoEditMenuItems"
- commandupdater="true"
- events="undo"
- oncommandupdate="goUpdateUndoEditMenuItems()"/&gt;
-&lt;commandset id="clipboardEditMenuItems"
- commandupdater="true"
- events="clipboard"
- oncommandupdate="goUpdatePasteMenuItems()"/&gt;
-</pre>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/archivos_manifest/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/archivos_manifest/index.html
deleted file mode 100644
index e95455ea20..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/archivos_manifest/index.html
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title: Archivos Manifest
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Archivos_Manifest
-tags:
- - Todas_las_Categorías
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Manifest_Files
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:La_URL_chrome" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Creando_una_ventana">Siguiente »</a></p>
-</div>
-
-<p><br>
- En esta sección veremos como incluir ficheros XUL y chrome en un un paquete y crear un archivo <em>Manifest</em> para ellos.</p>
-
-<h3 id="Paquetes" name="Paquetes">Paquetes</h3>
-
-<p>Un paquete es un conjunto de ficheros XUL y scripts que definen la funcionalidad de una interfaz de usuario. Los paquetes se pueden instalar dentro de Mozilla y referenciar con una URL del chrome. Un paquete puede contener cualquier tipo de ficheros que pueden estar separados en distintos subdirectorios dentro del paquete. Un paquete puede estar contenido como un directorio o como un fichero JAR.</p>
-
-<h3 id="Archivos_Manifest" name="Archivos_Manifest">Archivos Manifest</h3>
-
-<p>Un archivo manifest describe un paquete y mapea su localización en disco a una URL. El archivo manifest en el directorio chrome se examinará al iniciarse la aplicación Mozilla para comprobar los paquetes instalados. Esto significa que todo lo que necesitamos hacer para instalar un nuevo paquete es añadir un nuevo archivo manifest en el directorio chrome de la aplicación o en el directorio chrome específico del usuario. Este último es el utilizado preferentemente, dado que es posible que no tengamos suficientes permisos para escribir en el directorio de la aplicación.</p>
-
-<p>Si únicamente intenta probar código XUL con privilegios en el navegador Firefox, puede hacerlo fácilmente utilizando un archivo manifest con sólo una linea:</p>
-
-<ol>
- <li>Cree un nuevo directorio en algún lugar. Por ejemplo, en una maquina Windows, puede usar C:\testfiles</li>
- <li>Cree un nuevo fichero <strong>ASCII</strong><sup>1</sup> llamado test.manifest en el directorio chrome. Realmente no importa cómo se llame el fichero, tan solo que tenga la extensión .manifest. <sub>(1. No funciona con UTF-8 com BOM.)</sub></li>
- <li>Añada la linea siguiente en él:</li>
-</ol>
-
-<pre class="eval"> content tests <a class="external" rel="freelink">file:///C:/testfiles/</a>
-</pre>
-
-<p>La ruta al fichero deberá apuntar al directorio creado anteriormente. Si no está seguro de cual es la ruta, abra el directorio en el navegador y copie la URL de la barra de dirección.</p>
-
-<p>¡Ya está! Ahora, todo lo que necesita hacer es añadir algunos ficheros XUL dentro del nuevo directorio y será capaz de cargarlos escribiéndolos en una URL chrome de la forma <a class="external" rel="freelink">chrome://tests/content/</a>&lt;filename&gt;. Por supuesto, necesitará reiniciar el navegador para que los cambios tengan efecto. Si el fichero no carga, asegúrese de que la ruta del fichero es correcta.</p>
-
-<p>La sintaxis básica de las lineas en un archivo manifest para contener paquetes es:</p>
-
-<p>'content &lt;nombrepaquete&gt; &lt;rutaarchivo&gt;'</p>
-
-<p>El primer campo 'content' indica un paquete contenido. Para los temas utilizamos 'skin', mientras que para la configuración regional utilizamos 'locale'. El &lt;nombrepaquete&gt; es en nuestro ejemplo de arriba 'tests', lo cual significa que el primer campo en la URL chrome es 'tests' como en <a class="external" rel="freelink">chrome://tests/content/sample.xul</a>. Si el nombre del paquete fuera 'browser', la URL chrome sería <a class="external" rel="freelink">chrome://browser/content/</a>. El campo final es la ruta donde se localiza el archivo. Esta puede ser una ruta de archivo local utilizando una URL de archivo, o un archivo JAR utilizando una URL jar, la cual describiremos a continuación. Puede especificar múltiples paquetes incluyendo otras lineas en el fichero manifest.</p>
-
-<p>El fichero browser.manifest usado por Firefox es algo parecido a esto:</p>
-
-<pre>content branding jar:browser.jar!/content/branding/ xpcnativewrappers=yes
-content browser jar:browser.jar!/content/browser/ xpcnativewrappers=yes
-overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul
-overlay chrome://global/content/viewPartialSource.xul chrome://browser/content/viewSourceOverlay.xul
-overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul
-</pre>
-
-<p>Aqui se estan listando dos paquetes, 'branding' y 'browser'. Además se están especificando tres recubrimeintos (overlays ), lo cual permite combinar contenidos de distintos paquetes. Las extensiones harán mayor uso de los recubrimientos (overlays), dado que ellas fusionan su UI con la del navegador.</p>
-
-<p>Las rutas de fichero para los paquetes branding y browser utilizan URLs jar dado que el contenido está empaquetado en un archivo. Un archivo JAR puede crearse con una utilidad ZIP. Para un archivo JAR localizado en el directorio chrome, la sintaxis es muy simple:</p>
-
-<p>jar:&lt;filename.jar&gt;!/&lt;ruta_en_el_archivo&gt;</p>
-
-<p>Para el paquete browser, el archivo es browser.jar, situado junto al fichero manifest en el directorio chrome. La ruta 'content/browser' especifica la ruta donde se localizan los ficheros XUL dentro del archivo. No necesita especificar la ruta si no tiene directorio en el archivo. En este caso la hay, dado que los ficheros para el paquete branding se almacenan en diferentes rutas del mismo archivo.</p>
-
-<p>Para el paquete 'tests' creado, los archivos no se encuentran empaquetados por lo que utilizaremos una ruta directa. Ello facilita la labor del desarrollador puesto que no se precisa empaquetar todos los archivos cada vez que se realiza un cambio. Sin embargo, en el momento de la distribución del paquete o la extensión, es preferible hacerlo empaquetado para evitar la instalación de varios pequeños archivos.</p>
-
-<p>La parte <em>xpcnativewrappers=yes</em> del final del manifiesto es un señalador que puede usarse opcionalmente. En <em>javascript</em> es posible sobreescribir las funciones preconstruidas en el código. Si se especifica el señalador <em>xpcnativewrappers</em>, indicará que el <em>script</em> que se ejecuta en un contexto con privilegios no utiliza las versiones sobrecargadas sino las versiones originales. De otro modo, si la extensión intentara llamadas a las versiones modificadas pudiera no funcionar correctamente, o peor aún, crear problemas en la seguridad. Este señalador fue añadido para prevenir estos problemas y debería utlizarse siempre en nuevas extensiones, pero se ha respetado por compatibilidad de antiguas extensiones.</p>
-
-<h3 id="Temas_y_configuraci.C3.B3n_regional" name="Temas_y_configuraci.C3.B3n_regional">Temas y configuración regional</h3>
-
-<p>La estructura para los temas y la configuración regional es similar a la del paquete de contenido, excepto que es necesario especificar el paquete de contenido para el cual se está proporcionando dicho tema o configuración regional. Por ejemplo:</p>
-
-<pre>skin browser classic/1.0 jar:classic.jar!/skin/classic/browser/
-locale browser en-US jar:en-US.jar!/locale/browser/
-</pre>
-
-<p>A las líneas anteriores se les ha añadido un campo extra para indicar que tanto el tema y la configuración regional se aplican al navegador. El nombre del tema es 'classic/1.0'. Es este caso se usa un número de versión como parte del nombre del tema pero es opcional si vas a crear tu propio tema. Mozilla no utiliza el número de versión de manera especial ya que dicho número simplemente forma parte del nombre del tema. La configuración regional es 'en-US'. Sus URL chrome son mapeadas a <a class="external" rel="freelink">chrome://browser/skin</a> y <a class="external" rel="freelink">chrome://browser/locale</a>. Si estás creando tu propio tema o configuración regional para el navegador, todo lo que necesitas hacer es crear un fichero manifest con una de estas dos líneas en él, modificándolas para que se adapten al tema o a la configuración regional.</p>
-
-<h3 id="Nuestro_dialogo_de_ejemplo_para_buscar_archivos" name="Nuestro_dialogo_de_ejemplo_para_buscar_archivos">Nuestro dialogo de ejemplo para buscar archivos</h3>
-
-<p>Vamos a crear un fichero manifest para el cuadro de diálogo para buscar archivos que desarrollaremos. Puedes combinar los tres tipos anteriores en un único fichero si lo deseas. Esto se puede hacer cuando se crea una extensión con todas sus partes incluidas en un solo fichero. Lo haremos así para el cuadro de diálogo. Crea un fichero llamado findfile.manifest en el directorio chrome y añade lo siguiente a dicho fichero:</p>
-
-<pre>content findfile file:///findfile/content/
-skin findfile classic/1.0 file:///findfile/skin/
-locale findfile en-US file:///findfile/locale/
-</pre>
-
-<p>Crea los nuevos directorios listados anteriormente. No importa dónde, pero asegúrate de que la rutas de los ficheros en el fichero manifest apuntan a dichos directorios. Naturalmente, lo lógico sería usar los directorios apropiados para tu sistema. Si se va a distribuir el paquete, se necesitaría empaquetarlo en un fichero JAR y modificar estas rutas. En este caso, sólo vamos a crearlo para demostrar el uso del fichero manifest y para preparar los directorios para los ejemplo que veremos en las siguiente secciones.</p>
-
-<p>Nótese que el segundo campo de las líneas del tema y de la configuración regional especifica 'findfile'. Esto significa que el tema y la configuración regional modifican el paquete findfile especificado en la primera línea. Las tres rutas anteriores especifican subdirectorios para cada parte. Seguramente querrás crear estos subdirectorios para mantener los ficheros de cada parte separados.</p>
-
-<h3 id="Instalaci.C3.B3n_de_un_paquete" name="Instalaci.C3.B3n_de_un_paquete">Instalación de un paquete</h3>
-
-<p>Para instalar una aplicación, necesitarás crear un instalador para ella o incluirlo como parte de otra aplicación. El método usado depende de qué clase de aplicación estés creando. Para las extensiones, necesitarás crear un fichero de instalación llamado install.rdf, el cual describe lo que será instalado, el autor de la extensión y con qué versiones del navegador u otras aplicaciones es compatible. También se necesita una estructura de directorios específica ya que las extensiones están limitadas a donde los ficheros deben de ser instalados. Una extensión es empaquetada en un fichero XPI. XPI es la abreviatura de XPInstall y es usada por Mozilla para instalar componentes. Al igual que los ficheros JAR, un fichero XPI sólo es un fichero ZIP al que se le ha cambiado la extensión por lo que puedes crear y ver los ficheros XPI con cualquier herramienta ZIP.</p>
-
-<p>El administrador de extensiones de Firefox maneja automáticamente las extensiones instaladas empaquetadas en ficheros XPI. Se recomienda subir las extensiones al <a class="link-https" href="https://addons.mozilla.org/">sitio Add-ons de Mozilla</a>, donde los usuarios pueden localizarlas para instalarlas. Aunque pueden ser instaladas desde cualquier lugar, de modo predeterminado no se permiten instalaciones desde otros sitios.</p>
-
-<p>También es posible utilizar un script de instalación escrito en JavaScript para instalar ficheros. Esto permite copiar los ficheros a cualquier ubicación y realizar otras tareas de administración de ficheros. Sin embargo, las aplicaciones instaladas a través de script no serán listadas por el administrador de extensiones ni existe ningún método automatizado para desinstalarlas. Por esta razón, los scripts de instalación no se usan tan asiduamente.</p>
-
-<p>Las aplicaciones independientes pueden ser empaquetadas utilizando XULRunner. Esto crea un fichero ejecutable por separado para que la aplicación pueda ser distribuida independientemente del navegador.</p>
-
-<p>Para más información sobre la creación de extensiones, véase <a href="/es/Extensiones" title="es/Extensiones">Extensiones</a>. Para más información sobre XULRunner, véase <a href="/es/XULRunner" title="es/XULRunner">XULRunner</a>.</p>
-
-<h3 id="Aplicaciones_antiguas" name="Aplicaciones_antiguas">Aplicaciones antiguas</h3>
-
-<p>Si estás creando aplicaciones para las versiones antiguas de Mozilla, es decir, anteriores a Firefox 1.5 o a Mozilla 1.8, el proceso se vuelve un poco más complicado. A continuación se explica cómo configurar un paquete para las primeras versiones. Se puede obviar esta sección si lo que se van a crear son nuevas extensiones o aplicaciones XUL.</p>
-
-<div class="note"><strong>Nota</strong>: Este antiguo proceso también se aplica al nuevo SeaMonkey 1.0. El código base aún no ha adoptado el formao <em>"Manifest"</em>.</div>
-
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="<span class="nowiki">http://www.w3.org/1999/02/22-rdf-syntax-ns#</span>"
- xmlns:chrome="<span class="nowiki">http://www.mozilla.org/rdf/chrome#</span>"&gt;
-
- &lt;RDF:Seq about="urn:mozilla:package:root"&gt;
- &lt;RDF:li resource="urn:mozilla:package:<span style="color: #ff0000;"><span class="highlightred">mi_aplicacion</span></span>"/&gt;
- &lt;/RDF:Seq&gt;
-
- &lt;RDF:Description about="urn:mozilla:package:<span style="color: #ff0000;"><span class="highlightred">mi_aplicacion</span></span>"
- chrome:displayName="<span style="color: #00ccff;"><span class="highlightblue">titulo</span></span>"
- chrome:author="<span style="color: #00ccff;"><span class="highlightblue">autor</span></span>"
- chrome:name="<span style="color: #ff0000;"><span class="highlightred">mi_aplicacion</span></span>"
- chrome:extension="true"/&gt;
-
-&lt;/RDF:RDF&gt;
-</pre>
-
-<pre class="eval">content,install,url,<span class="highlightred"><a class="external" rel="freelink">file:///main/app/</a></span>
-</pre>
-
-<ol>
- <li>Crea un directorio cualquiera. La mayoría de la gente lo crearía como subdirectorio del directorio chrome de Mozilla aunque no es imprescindible. El directorio puede estar en cualquier lugar en disco. Pon los ficheros XUL en este directorio.</li>
- <li>Crea un fichero llamado contents.rdf y ponlo en dicho directorio. Copia el texto mostrado a continuación en este fichero. Este fichero será usado para conocer el identificador de la aplicación, su nombre, autor, versión, etc...</li>
- <li>Cambia las partes resaltadas del fichero anterior por tus datos. El texto en rojo '<span style="color: #ff0000;">mi_aplicacion</span>' debería corresponder al ID de la aplicación. Te lo puedes inventar pero usualmente el ID corresponde al nombre de la aplicación. Reemplaza el texto resaltado en <span style="color: #00ccff;">azul</span> con el título de la aplicación y el autor.</li>
- <li>Si el campo 'chrome:extension' es true, la aplicación es una extensión de Mozilla Firefox Extension y será mostrada en la ventana de extensiones del navegador. Si es false, no aparecerá.</li>
- <li>Guarda el fichero contents.rdf y asegúrate de que está en el directorio creado en el paso 1.</li>
- <li>Abre el fichero &lt;directorio_mozilla&gt;/chrome/installed-chrome.txt, donde &lt;directorio_mozilla&gt; es el directorio deon está instalado Mozilla. Sal de Mozilla antes de hacer esto.</li>
- <li>A continuación vas a registrar la nueva aplicación con Mozilla para que ésta sepa dónde encontrarla. Añade una línea al final de installed-chrome.txt apuntando al nuevo directorio creado en el paso 1. Cambia el texto resaltado a continuación por la ruta del directorio. Asegúrate de que la URL acaba con una barra (/) y que dejas una nueva línea al final de la línea. Si no estás seguro de qué URL es, abre el directorio creado en el paso 1 en Mozilla y copia la URL desde el campo de localización. Date cuenta de que la referencia debe ser siempre un directorio, no un fichero.</li>
- <li>Borra el fichero &lt;directorio_mozilla&gt;/chrome/chrome.rdf.</li>
- <li>Ejecuta Mozilla. Deberías ver cualquier fichero XUL ubicado en el directorio utilizando una URL de la forma <strong>chrome://<span class="highlightred">id_aplicacion</span>/content/fichero.xul</strong> donde fichero.xul es el nombre del fichero. El fichero XUL principal debería ser id_aplicacion.xul, el cual puede ser cargado usando la URL abreviada <strong>chrome://<span class="highlightred">id_aplicacion</span>/content/</strong>.</li>
-</ol>
-
-<p>Si estás creando temas y/o configuraciones regionales, repite los pasos anteriores, exceptuando que el formato del fichero contents.rdf es ligeramente diferente. Mira el contenido de los ficheros contents.rdf en otras aplicaciones para más detalles.</p>
-
-<h3 id="Localizaci.C3.B3n_de_fallos" name="Localizaci.C3.B3n_de_fallos">Localización de fallos</h3>
-
-<p>Crear un paquete chrome puede resultar con frecuencia un arte y es difícil detectar errores. A continuación se muestran unos cuantos trucos en caso de que te atasques.</p>
-
-<ul>
- <li>Abre el fichero &lt;directorio_mozilla&gt;/chrome/chrome.rdf. Ahí deberías encontrar referencias a tu ID de aplicación. Si no es el caso, algo ha ido mal durante el registro. Si está ahí, probablemente estés usando una URL chrome incorrecta cuando cargas el fichero.</li>
- <li>Intenta borrar el fichero &lt;directorio_mozilla&gt;/chrome/chrome.rdf. Será regenerado. Elimina por completo también el directorio &lt;directorio_mozilla&gt;/chrome/overlayinfo/ si estás usando overlays.</li>
- <li>Asegúrate de que la URL que añadiste en el fichero installed-chrome.txt acaba con una barra y que hay un retorno de carro después de ella.</li>
- <li>En Windows, las URL del sistema de ficheros tienen de la forma <a class="external" rel="freelink">file:///C</a>|/files/app/, donde C es la letra de unidad.</li>
- <li>Asegúrate de que el fichero contents.rdf está en el directorio correcto y de que está bien escrito. Abre el fichero contents.rdf en Mozilla para ver si lo analiza como un XML bien formado. Si no, verás un error sobre un fondo amarillo.</li>
- <li>Si estás utilizando una compilación de depuración de Mozilla, cierta información será mostrada en el terminal cuando empiece a comprobar las aplicaciones chrome. Comprueba si tu aplicación aparece en este listado.</li>
-</ul>
-
-<p>En la siguiente sección empezaremos a mirar el lenguaje XUL.</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/atajos_de_teclado/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/atajos_de_teclado/index.html
deleted file mode 100644
index 39ab142d19..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/atajos_de_teclado/index.html
+++ /dev/null
@@ -1,376 +0,0 @@
----
-title: Atajos de teclado
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Atajos_de_teclado
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Keyboard_Shortcuts
----
-<p>Puedes usar manejadores de evento de teclado para responder al teclado. Sin embargo, sería tedioso hacer eso para cada botón y elemento de menú.</p>
-
-<h3 id="Creaci.C3.B3n_de_un_atajo_de_teclado" name="Creaci.C3.B3n_de_un_atajo_de_teclado">Creación de un atajo de teclado</h3>
-
-<p>XUL provee métodos en los cuales puede definir atajos de teclado. Ya vimos en <a href="/es/Tutorial_de_XUL/Menús_de_Barras_Simples" title="es/Tutorial de XUL/Menús de Barras Simples">la sección de menús</a> que podemos definir un atributo llamado <code>accesskey</code> que específica la tecla que un usuario debe presionar para activar el menú o un elemento del mismo. En el ejemplo que está debajo, el menú Archivo puede ser seleccionado presionando 'Alt' y 'F' (o cualquier otra combinación de teclas para una plataforma específica). Una vez que el menú Archivo está abierto, el menú Cerrar puede ser seleccionado presionando la tecla C.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="Archivo" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem id="close-command" label="Cerrar" accesskey="c"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-&lt;/menubar&gt;
-</pre>
-
-<p>Tambié puede usar el atributo <code><a href="/Es/XUL/Atributos#accesskey" title="Es/XUL/Atributos#accesskey">accesskey</a></code> en botones. Cuando la tecla es presionada en este caso, el botón es seleccionado.</p>
-
-<p>Quizás quiera configurar atajos de teclado más generales. Por ejemplo, presionar Control+C para copiar texto al porta papeles. Aunque a veces atajos como estos no siempre son válidos, usualmente funcionarán cada vez que la ventana esté abierta. Usualmente, un atajo del teclado estará permitido en cualquier momento y puede ver ver si deberí estar haciendo algo con algún programa. Por ejemplo, copiar texto al portapapeles sólo debería funcionar cuando hay algún texto seleccionado.</p>
-
-<h4 id="El_elemento_.27tecla.27" name="El_elemento_.27tecla.27">El elemento 'key'</h4>
-
-<p>XUL provee de un elemento, <code><a href="/es/XUL/Elementos#key" title="es/XUL/Elementos#key">key</a></code>, que permite definir atajos de teclado para una ventana. Tiene atributos para especificar la tecla que debería ser presionada y qué teclas modificadoras (tales como Shift o Control) necesitan ser presionadas simultáneamente. A continuación se muestra un ejemplo:</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="sample-key" modifiers="shift" key="R"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>En este ejemplo se define un atajo de teclado que es activado cuando el usuario presiona las teclas 'Shift' y 'R' simultáneamente. El atributo <code><a href="/Es/XUL/Atributos#key" title="Es/XUL/Atributos#key">key</a></code> (tiene el mismo nombre que el elemento) se emplea para indicar qué tecla debe apretarse, en este caso la 'R'. Se puede asignar cualquier caracter (de teclado) a este atributo para requerir que se apriete una tecla en particular. Los modificadores que deben apretarse se indican con el atributo <code><a href="/Es/XUL/Atributos#modifiers" title="Es/XUL/Atributos#modifiers">modifiers</a></code>. Se pueden establecer varios, (ej: <code>modifiers="control alt") </code>asignando como valor una lista separada con espacios de teclas de modificadoras; se listan a continuación:</p>
-
-<dl>
- <dt>alt </dt>
- <dd>El usuario debe pulsar la tecla Alt. En Macintosh, es la tecla Option.</dd>
- <dt>control </dt>
- <dd>El usuario debe pulsar la tecla Control.</dd>
- <dt>meta </dt>
- <dd>El usuario debe pulsar la tecla Meta. En Macintosh, es la tecla Command.</dd>
- <dt>shift </dt>
- <dd>El usuario debe pulsar la tecla Mayúsculas.</dd>
- <dt>accel </dt>
- <dd>El usuario debe pulsar la tecla especial acelerador. La tecla usada por los atajos de teclado en la plataforma del usuario. Habitualmente, éste debería ser el valor que utilizases.</dd>
-</dl>
-
-<p>Tu teclado no tendrá necesariamente todas las teclas, en cuyo caso serán mapeadas a las teclas modificadoras que tengas.</p>
-
-<p>El elemento <code><a href="/es/XUL/Elementos#key" title="es/XUL/Elementos#key">key</a></code> debe colocarse dentro de un elemento <code><a href="/es/XUL/Elementos#keyset" title="es/XUL/Elementos#keyset">keyset</a></code>; en caso contrario no funcionará. Este elemento esta diseñado para contener un conjunto de elementos <code>key</code>, lo cual sirve para agrupar todas las definiciones de teclas en un solo sitio en cada archivo. Cualquier elemento <code>key</code> fuera de un <code>keyset </code>no funcionará.<br>
-  </p>
-
-<p>Cada plataforma generalmente utiliza una tecla diferente para los atajos de teclado. Por ejemplo, Windows usa la tecla Control y Macintosh usa la tecla Command. Sería conveniente definir elementos key por separado para cada plataforma. Afortunadamente, hay una solución. El modificador accel hace referencia a la tecla usada para atajos de teclado específica de cada plataforma. Funciona igual que otros modificadores, pero no será la misma en todas las plataformas.</p>
-
-<p><strong>Algunos ejemplos adicionales:</strong></p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="control" key="C"/&gt;
- &lt;key id="explore-key" modifiers="control alt" key="E"/&gt;
- &lt;key id="paste-key" modifiers="accel" key="V"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<h4 id="El_atributo_c.C3.B3digo_de_tecla_.28keycode.29" name="El_atributo_c.C3.B3digo_de_tecla_.28keycode.29">El atributo código de tecla (keycode)</h4>
-
-<p>El atributo <code><a href="/Es/XUL/Atributos#key" title="Es/XUL/Atributos#key">key</a></code> se utiliza para especificar la tecla que debe ser pulsada. Sin embargo, habrá casos en los que quieras referirte a teclas que no pueden ser especificadas con un caracter (como la tecla Enter o las teclas de función F1..F12). El atributo <code>key</code> sólo puede ser utilizado para caracteres imprimibles. Otro atributo, <a href="/Es/XUL/Atributos#keycode" title="Es/XUL/Atributos#keycode">keycode</a> puede ser utilizado para caracteres no imprimibles.</p>
-
-<p>El atributo <a href="/Es/XUL/Atributos#keycode" title="Es/XUL/Atributos#keycode">keycode</a> debería ser establecido a un código especial que represente la tecla que quieres. A continuación hay una lista de teclas. No todas las teclas están disponibles en todos los teclados.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td>VK_CANCEL</td>
- <td>VK_BACK</td>
- <td>VK_TAB</td>
- <td>VK_CLEAR</td>
- </tr>
- <tr>
- <td>VK_RETURN</td>
- <td>VK_ENTER</td>
- <td>VK_SHIFT</td>
- <td>VK_CONTROL</td>
- </tr>
- <tr>
- <td>VK_ALT</td>
- <td>VK_PAUSE</td>
- <td>VK_CAPS_LOCK</td>
- <td>VK_ESCAPE</td>
- </tr>
- <tr>
- <td>VK_SPACE</td>
- <td>VK_PAGE_UP</td>
- <td>VK_PAGE_DOWN</td>
- <td>VK_END</td>
- </tr>
- <tr>
- <td>VK_HOME</td>
- <td>VK_LEFT</td>
- <td>VK_UP</td>
- <td>VK_RIGHT</td>
- </tr>
- <tr>
- <td>VK_DOWN</td>
- <td>VK_PRINTSCREEN</td>
- <td>VK_INSERT</td>
- <td>VK_DELETE</td>
- </tr>
- <tr>
- <td>VK_0</td>
- <td>VK_1</td>
- <td>VK_2</td>
- <td>VK_3</td>
- </tr>
- <tr>
- <td>VK_4</td>
- <td>VK_5</td>
- <td>VK_6</td>
- <td>VK_7</td>
- </tr>
- <tr>
- <td>VK_8</td>
- <td>VK_9</td>
- <td>VK_SEMICOLON</td>
- <td>VK_EQUALS</td>
- </tr>
- <tr>
- <td>VK_A</td>
- <td>VK_B</td>
- <td>VK_C</td>
- <td>VK_D</td>
- </tr>
- <tr>
- <td>VK_E</td>
- <td>VK_F</td>
- <td>VK_G</td>
- <td>VK_H</td>
- </tr>
- <tr>
- <td>VK_I</td>
- <td>VK_J</td>
- <td>VK_K</td>
- <td>VK_L</td>
- </tr>
- <tr>
- <td>VK_M</td>
- <td>VK_N</td>
- <td>VK_O</td>
- <td>VK_P</td>
- </tr>
- <tr>
- <td>VK_Q</td>
- <td>VK_R</td>
- <td>VK_S</td>
- <td>VK_T</td>
- </tr>
- <tr>
- <td>VK_U</td>
- <td>VK_V</td>
- <td>VK_W</td>
- <td>VK_X</td>
- </tr>
- <tr>
- <td>VK_Y</td>
- <td>VK_Z</td>
- <td>VK_NUMPAD0</td>
- <td>VK_NUMPAD1</td>
- </tr>
- <tr>
- <td>VK_NUMPAD2</td>
- <td>VK_NUMPAD3</td>
- <td>VK_NUMPAD4</td>
- <td>VK_NUMPAD5</td>
- </tr>
- <tr>
- <td>VK_NUMPAD6</td>
- <td>VK_NUMPAD7</td>
- <td>VK_NUMPAD8</td>
- <td>VK_NUMPAD9</td>
- </tr>
- <tr>
- <td>VK_MULTIPLY</td>
- <td>VK_ADD</td>
- <td>VK_SEPARATOR</td>
- <td>VK_SUBTRACT</td>
- </tr>
- <tr>
- <td>VK_DECIMAL</td>
- <td>VK_DIVIDE</td>
- <td>VK_F1</td>
- <td>VK_F2</td>
- </tr>
- <tr>
- <td>VK_F3</td>
- <td>VK_F4</td>
- <td>VK_F5</td>
- <td>VK_F6</td>
- </tr>
- <tr>
- <td>VK_F7</td>
- <td>VK_F8</td>
- <td>VK_F9</td>
- <td>VK_F10</td>
- </tr>
- <tr>
- <td>VK_F11</td>
- <td>VK_F12</td>
- <td>VK_F13</td>
- <td>VK_F14</td>
- </tr>
- <tr>
- <td>VK_F15</td>
- <td>VK_F16</td>
- <td>VK_F17</td>
- <td>VK_F18</td>
- </tr>
- <tr>
- <td>VK_F19</td>
- <td>VK_F20</td>
- <td>VK_F21</td>
- <td>VK_F22</td>
- </tr>
- <tr>
- <td>VK_F23</td>
- <td>VK_F24</td>
- <td>VK_NUM_LOCK</td>
- <td>VK_SCROLL_LOCK</td>
- </tr>
- <tr>
- <td>VK_COMMA</td>
- <td>VK_PERIOD</td>
- <td>VK_SLASH</td>
- <td>VK_BACK_QUOTE</td>
- </tr>
- <tr>
- <td>VK_OPEN_BRACKET</td>
- <td>VK_BACK_SLASH</td>
- <td>VK_CLOSE_BRACKET</td>
- <td>VK_QUOTE</td>
- </tr>
- <tr>
- <td>VK_HELP</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<p>Por ejemplo, para crear un atajo con las teclas 'Alt y F5':</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="test-key" modifiers="alt" keycode="VK_F5"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>El siguiente ejemplo muestra algunos atajos de teclado más:</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="accel" key="C"/&gt;
- &lt;key id="find-key" keycode="VK_F3"/&gt;
- &lt;key id="switch-key" modifiers="control alt" key="1"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>La primera tecla es invocada cuando el usuario pulsa su atajo específico de la plataforma y C. El segundo es invocado cuando el usuario pulsa F3. El tercero es invocado al pulsar las teclas Control, Alt y 1 a la vez. Si quieres distinguir entre teclas de la parte principal del teclado y el teclado numérico, utiliza las teclas VK_NUMPAD (como VK_NUMPAD1).</p>
-
-<div class="note">
-<p>Consulta la <a class="external" href="http://www.mozilla.org/access/keyboard/">Mozilla Keyboard Planning FAQ and Cross Reference</a> para más información sobre selección atajos de teclado para usar en aplicaciones.</p>
-</div>
-
-<h3 id="Usando_los_atajos_de_teclado" name="Usando_los_atajos_de_teclado">Usando los atajos de teclado</h3>
-
-<p>Ahora que sabemos cómo definir atajos de teclado, veremos cómo podemos usarlos. Hay dos formas. La primera es la más simple y sólo requiere que utilices el manejador de evento keypress en el elemento <code><a href="/es/XUL/Elementos#key" title="es/XUL/Elementos#key">key</a></code>. Cuando el usuario pulsa la tecla, el script será invocado. A continuación se muestra un ejemplo:</p>
-
-<pre class="eval">&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="accel" key="C" oncommand="DoCopy();"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>La función <code>DoCopy</code> será llamada cuando el usuario presione las teclas especificadas en el elemento <code><a href="/es/XUL/Elementos#key" title="es/XUL/Elementos#key">key</a></code>, que en este ejemplo, son las teclas para copiar al portapapeles (como Control+C). Esto funcionará mientras la ventana esté abierta. La función <code>DoCopy</code> debería comprobar si hay texto seleccionado y en ese caso copiarlo al portapapeles. Nota que las cajas de texto tienen los atajos del portapapeles ya incluidos, por lo que no tienes que implementarlos por ti mismo.</p>
-
-<h4 id="Asignaci.C3.B3n_de_un_atajo_de_teclado_a_un_men.C3.BA" name="Asignaci.C3.B3n_de_un_atajo_de_teclado_a_un_men.C3.BA">Asignación de un atajo de teclado a un menú</h4>
-
-<p>Si estás asignando un atajo de teclado que ejecuta a un comando que ya existe en un menú, puedes asociar el elemento <code><a href="/es/XUL/Elementos#key" title="es/XUL/Elementos#key">key</a></code> directamente con el comando del menú. Para hacer esto, añade un atributo <code><a href="/Es/XUL/Atributos#key" title="Es/XUL/Atributos#key">key</a></code> al <code><a href="/es/XUL/Elementos#menuitem" title="es/XUL/Elementos#menuitem">menuitem</a></code>. Establece su valor al <code><a href="/Es/XUL/Atributos#id" title="Es/XUL/Atributos#id">id</a></code> de la tecla que quieras usar. El siguiente ejemplo muestra esto.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_2.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:keyshort1.jpg" class="internal" src="/@api/deki/files/1147/=Keyshort1.jpg"></div>
-
-<pre class="eval">&lt;keyset&gt;
- &lt;key id="paste-key" modifiers="accel" key="V"
- oncommand="alert('Paste invoked')"/&gt;
-&lt;/keyset&gt;
-
-&lt;menubar id="sample-menubar"&gt;
- &lt;menu id="edit-menu" label="Edit" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem id="paste-command"
- accesskey="p" key="paste-key"
- label="Paste" oncommand="alert('Paste invoked')"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-&lt;/menubar&gt;
-</pre>
-
-<p>El atributo <code><a href="/Es/XUL/Atributos#key" title="Es/XUL/Atributos#key">key</a></code> del elemento menuitem, cuyo valor aquí es <code>paste-key</code> es igual al valor del atributo <code>id</code> de la tecla definida. Puedes usar esto para teclas adicionales así como para definir atajos de teclado para cualquier número de elementos.</p>
-
-<p>También verás que se ha añadido un texto junto a la opción "Paste" para indicar que el comando de menú puede ser invocado mediante Control + V. Esto se realiza automáticamente basándose en los modificadores del elemento <code>key</code>. Los atajos de teclado asociados a los menús funcionarán aunque el menú no esté abierto.</p>
-
-<p>Una característica adicional de las definiciones de teclas es que las puedes desactivar fácilmente. Par hacer esto, añade un atributo <code><a href="/Es/XUL/Atributos#disabled" title="Es/XUL/Atributos#disabled">disabled</a> al elemento &lt;code&gt;key</code> y establece su valor a <code>true</code>. Esto desactiva el atajo de teclado para que no pueda ser invocado. Es útil cambiar el atributo <code>disabled</code> utilizando un script.</p>
-
-<div class="highlight">
-<h4 id="Nuestro_ejemplo" name="Nuestro_ejemplo">Nuestro ejemplo</h4>
-
-<p>Vamos a añadir atajos de teclado al diálogo encontrar archivos. Añadiremos cuatro, para los comandos Cortar (Cut), Copiar (Copy) y Pegar (Paste) y otro para el comando Cerrar (Close) cuando el usuario pulse Escape.</p>
-
-<pre class="eval"><span class="highlightred"> &lt;keyset&gt; &lt;key id="cut_cmd" modifiers="accel" key="X"/&gt; &lt;key id="copy_cmd" modifiers="accel" key="C"/&gt; &lt;key id="paste_cmd" modifiers="accel" key="V"/&gt; &lt;key id="close_cmd" keycode="VK_ESCAPE" oncommand="window.close();"/&gt; &lt;/keyset&gt; </span>
-
-&lt;vbox flex="1"&gt;
- &lt;toolbox&gt;
- &lt;menubar id="findfiles-menubar"&gt;
- &lt;menu id="file-menu" label="File" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="Open Search..." accesskey="o"/&gt;
- &lt;menuitem label="Save Search..." accesskey="s"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Close" accesskey="c" <span class="highlightred">key="close_cmd"</span>
- oncommand="window.close();"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Edit" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Cut" accesskey="t" <span class="highlightred">key="cut_cmd"</span>/&gt;
- &lt;menuitem label="Copy" accesskey="c" <span class="highlightred">key="copy_cmd"</span>/&gt;
- &lt;menuitem label="Paste" accesskey="p" <span class="highlightred">key="paste_cmd"</span> disabled="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
- &lt;/toolbox&gt;
-&lt;/vbox&gt;
-</pre>
-
-<p>Ahora podemos usar esos atajos para activar los comandos. Por supuesto, los comandos del portapapeles no harán nada porque no hemos escrito esos scripts.</p>
-</div>
-
-<h3 id="Los_eventos_de_tecla" name="Los_eventos_de_tecla">Los eventos de tecla</h3>
-
-<p>Hay tres eventos de teclado que pueden ser utilizados si las funcionalidades descritas antes no estuvieran disponibles. Estos eventos son:</p>
-
-<dl>
- <dt>keypress </dt>
- <dd>Llamado cuando una tecla es pulsada y despulsada mientras un elemento tiene el foco. Puedes usar esta tecla para comprobar los caracteres permitidos en un campo.</dd>
- <dt>keydown </dt>
- <dd>Llamado cuando una tecla es pulsada (aunque todavía no se haya despulsado) mientras un elemento tiene el foco.</dd>
- <dt>keyup </dt>
- <dd>Llamado cuando una tecla es despulsada mientras un elemento tiene el foco.</dd>
-</dl>
-
-<p>Los eventos de tecla son sólo enviados al elemento que tiene el foco. Típicamente, esto incluye cajas de texto, botones, checkboxes y elementos así. Si no hay ningún elemento focalizado, el evento de la tecla será dirigido al propio documento XUL. En este caso, puedes añadir un escuchador de eventos (event listener) a la etiqueta <code><a href="/es/XUL/Elementos#window" title="es/XUL/Elementos#window">window</a></code>. Aunque normalmente, si quieres responder a teclas globalmente, utilizarás un atajo de teclado como se ha descrito antes.</p>
-
-<p>El <a href="/es/DOM/event" title="es/DOM/event">objeto evento</a> de tecla tiene dos propiedades que registran la tecla que ha sido pulsada. La propiedad <code><a href="/es/DOM/event.keyCode" title="es/DOM/event.keyCode">keyCode</a></code> registra el código de la tecla y puede ser comparada con una de las constantes de la anterior tabla de esta sección. La propiedad <code><a href="/es/DOM/event.charCode" title="es/DOM/event.charCode">charCode</a></code> es utilizada para caracteres imprimibles y registrará el código de caracter de la tecla que fue pulsada.</p>
-
-<div class="highlight"><strong>Nuestro ejemplo:</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-keyshort.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-keyshort.xul">Ver en funcionamiento</a></div>
-
-<p>Seguimos con poner un gestor de <a href="/es/Tutorial_de_XUL/Foco_y_Selección" title="es/Tutorial_de_XUL/Foco_y_Selección">foco y selección</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Más_gestores_de_eventos" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Foco_y_Selección">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_botones/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_botones/index.html
deleted file mode 100644
index 4181b632c6..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_botones/index.html
+++ /dev/null
@@ -1,111 +0,0 @@
----
-title: Añadiendo botones
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Añadiendo_botones
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Buttons
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Creando_una_ventana" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Añadiendo_etiquetas_e_imagenes">Siguiente »</a></p>
-</div>
-
-<p>En esta sección veremos cómo añadir botones sencillos a una ventana.</p>
-
-<h3 id="A.C3.B1adir_botones_a_una_ventana" name="A.C3.B1adir_botones_a_una_ventana">Añadir botones a una ventana</h3>
-
-<p>La ventana que hemos creado no contiene nada hasta ahora, así es que carece de interés. En esta sección vamos a añadir dos botones: Uno para buscar y otro para cancelar. También aprenderemos una forma fácil de ubicarlos dentro de la ventana.</p>
-
-<p>Al igual que HTML, XUL tiene una serie de etiquetas para crear elementos de interfaz de usuario. La más básica de todas es la etiqueta <code><code><a href="/es/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code>, que sirve para crear un botón simple.</p>
-
-<p>Cada elemento<em>botón</em> tiene dos propiedades asociadas: <code>label</code> e <code>image</code>, mútuamente compatibles: Se puede tener un botón con imagen y/o con etiqueta. Los botones se usan generalmente para las opciones de<em>Aceptar</em> o<em>Cancelar</em> en los cuadros de diálogo, por ejemplo.</p>
-
-<h4 id="Sintaxis_de_los_botones" name="Sintaxis_de_los_botones">Sintaxis de los botones</h4>
-
-<p>La etiqueta <code><code><a href="/es/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> tiene la siguiente sintaxis:</p>
-
-<pre>&lt;button
- id="identificador"
- class="dialogo"
- label="Aceptar"
- image="imagenes/imagen.jpg"
- disabled="true"
- accesskey="t"/&gt;
-</pre>
-
-<p>Los atributos son todos opcionales, y se interpretan así:</p>
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> </dt>
- <dd>Un identificador<em>único</em> (dentro de la página actual) que represente de forma inequívoca al botón. Es muy útil para referirse al botón desde una hoja de estilos CSS o desde un script de código, por ejemplo. Es recomendable rellenar este atributo en<em>todas las etiquetas</em> que uno declare (si no figura explícitamente en cada etiqueta de esta guía es porque se da por sobreentendido).</dd>
- <dt><code id="a-class"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code> </dt>
- <dd>La clase-estilo del botón. Se usa de la misma manera que en HTML: Sirve para indicar el estilo que el navegador deberá aplicar al botón creado. En el ejemplo precedente se usa la clase <code>dialogo</code>, aunque por lo general uno no suele establecer una clase específica para un botón.</dd>
- <dt><code id="a-label"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> </dt>
- <dd>El texto que aparecerá dentro del botón. Por ejemplo:<em>Aceptar</em> or<em>Cancelar</em>. Si no se rellena, el botón aparece sin texto.</dd>
- <dt><code id="a-image"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code> </dt>
- <dd>La URL de la imagen que aparecerá dentro del botón. Si no se rellena, el botón aparecerá sin imagen. Una forma alternativa de especificar esta imagen es desde una hoja de estilo CSS, mediante una propiedad <code><a href="es/CSS/list-style-image">list-style-image</a></code>.</dd>
- <dt><code id="a-disabled"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code> </dt>
- <dd>Indicador de deshabilitado: Si se rellena con valor <code>true</code>, el botón aparecera deshabilitado, lo que quiere decir que no responderá a la acción de pulsar sobre él (y el aspecto, usualmente, será con el texto en gris pálido). Si no se especifica este atributo, el botón está habilitado. También se puede cambiar el estado habilitado/deshabilitado mediante <a href="es/JavaScript">JavaScript</a>.</dd>
- <dt><code id="a-accesskey"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code> </dt>
- <dd>En este atributo debe ir una sóla letra que se usará como tecla de acceso directo para pulsar el botón. Esta letra debería pertenecer al valor del atributo <code>label</code>. El aspecto, usualmente, será un subrayado bajo la letra escogida en el botón. Su funcionamiento consiste en que cada vez que el usuario pulse la letra escogida (más un pulsador que pude variar en función de la plataforma; usualmente ALT), desde cualquier lugar de la ventana, el botón recibirá el foco.</dd>
-</dl>
-
-<p>Atención: La etiqueta <code>button</code> en realidad soporta<em>más atributos</em> de los listados aquí, pero el resto se verán <a href="es/XUL_Tutorial/More_Button_Features">más adelante</a>.</p>
-
-<h4 id="Algunos_ejemplos_de_botones" name="Algunos_ejemplos_de_botones">Algunos ejemplos de botones</h4>
-
-<p><span id="Example_1"><a id="Example_1"></a><strong>Example 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:buttons1.png"></div>
-
-<pre>&lt;button label="Normal"/&gt;
-&lt;button label="Disabled" disabled="true"/&gt;
-</pre>
-
-<p><br>
- El ejemplo de arriba genera los botones mostrados en la imagen. El primer botón es un botón normal, el segundo está desabilitado.</p>
-
-<p>Empezaremos creando un simple botón "Buscar" para la función buscar fichero. El ejemplo siguiente nos muestra cómo hacer esto.</p>
-
-<p> </p>
-
-<pre>&lt;button id="find-button" label="Buscar"/&gt;
-</pre>
-
-<div class="note">FireFox no permite abrir ventanas "chrome" desde páginas web, asi que el links "Ver" en el tutorial abriran una ventana de normal de browser.debido a esto, los botones aparecerán ocupando todo el ancho de la ventana. Puedes colocar align="start" a la etiqueta window para que esto no ocurra.</div>
-
-<div class="highlight">
-<h5 id="El_ejemplo_findfile.xul" name="El_ejemplo_findfile.xul">El ejemplo findfile.xul</h5>
-
-<p>Coloquemos este código al archivo que habiamos creado en la sección anterior. El código debe ser colocado entre las etiquetas de <code><code><a href="/es/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code>. El código que debemos agregar esta aquí abajo en rojo.</p>
-
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-&lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
-
- <span class="highlightred">&lt;button id="find-button" label="Find"/&gt;</span>
- <span class="highlightred">&lt;button id="cancel-button" label="Cancel"/&gt;</span>
-
-&lt;/window&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:buttons2.png"></div>
-
-<p>Verás que tambien se agrego el botón Cancel. Le dimos a la ventana una orientación horizontal, de este modo, los botones se muestran uno al lado del otro. Si abres el fichero en Mozilla, obtendras algo como la imagen mostrada aquí.</p>
-</div>
-
-<p> </p>
-
-<div class="note">Nota: No deberíamos poner el texto de <code>label</code> directamente en el fichero XUL. En lugar de eso, deberíamos usar <a href="es/XUL_Tutorial/Localization">entes así, el texto puede ser traducido facilmente.</a>.</div>
-
-<p>En la próxima sección descubriremos <a href="es/XUL_Tutorial/Adding_Labels_and_Images">cómo agregar etiquetas e imágenes a una ventana XUL</a>.</p>
-
-<p><small>Ver también <a href="es/XUL_Tutorial/More_Button_Features">more button fetaures</a></small></p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Creando_una_ventana" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Añadiendo_etiquetas_e_imagenes">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_elementos_html/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_elementos_html/index.html
deleted file mode 100644
index c0330768d6..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_elementos_html/index.html
+++ /dev/null
@@ -1,106 +0,0 @@
----
-title: Añadiendo elementos HTML
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Añadiendo_elementos_HTML
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_HTML_Elements
----
-<p> </p>
-<p>Ahora que hemos añadido algunos botones, vamos a añadir algunos otros elementos.</p>
-<h3 id="Adici.C3.B3n_de_Elementos_de_HTML_a_una_Ventana" name="Adici.C3.B3n_de_Elementos_de_HTML_a_una_Ventana">Adición de Elementos de HTML a una Ventana</h3>
-<p>Además de todos los elementos XUL que están disponibles, usted también puede añadir elementos de HTML directamente dentro de un archivo XUL. Usted en realidad puede usar cualquier elemento de HTML en un archivo XUL, queriendo decir que programillas Javaneses y mesas pueden ser colocados en una ventana. Usted debería evitar usar elementos de HTML en archivos XUL si usted puede. Sin embargo, esta sección describirá como usarlos de todas maneras. Recuerde que XML es sensible a las mayusculas, entonces usted debera escribir tanto las etiquetas como los atributos en minúscula.</p>
-<p>Para usar elementos de HTML en un archivo XUL, usted debe declarar que usted hace así la utilización del XHTML namespace. Este camino, Mozilla puede distinguir las etiquetas de HTML de los XUL. El atributo debajo debería para ser añadido a la etiqueta de <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_window.html">ventana</a></code> del archivo XUL, o al elemento de HTML exterior.</p>
-<pre class="eval"> <span class="nowiki">xmlns:html="http://www.w3.org/1999/xhtml"</span>
-</pre>
-<p>Esto es una declaración de HTML mucho como el que solíamos declarar XUL. Esto debe ser entrado exactamente como mostrado o esto no trabajará correctamente. Note que Mozilla en realidad no descarga este URL, pero esto realmente lo reconoce como ser HTML.</p>
-<p>Aquí está un ejemplo como podría ser añadido a la ventana de archivo de hallazgo:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-&lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-</pre>
-<p>Entonces, usted puede utilizar etiquetas HTML como lo haría normalmente. Teniendo en cuenta lo sieguiente:</p>
-<ul>
- <li>Debe añadir el prefijo html al principio de cada etiqueta, asumiendo que ha declarado el espacio de nombres HTML al comienzo.</li>
- <li>Las etiquetas deben estar en minúsculas.</li>
- <li>Todos los atributos deben ir entre comillas dobles.</li>
- <li>Las etiquetas XML vacias, deben terminar con "/&gt;". Esto se ve mejor en los siguientes ejemplos.</li>
-</ul>
-<p>Puede utilizar cualquier etiqueta HTML, aunque algunas como <code>head</code> y <code>body</code>, realmente no son utiles. A continuación se muestran algunos ejemplos.</p>
-<pre>&lt;html:img src="banner.jpg"/&gt;
-
-&lt;html:input type="checkbox" value="true"/&gt;
-
-&lt;html:table&gt;
- &lt;html:tr&gt;
- &lt;html:td&gt;
- A simple table
- &lt;/html:td&gt;
- &lt;/html:tr&gt;
-&lt;/html:table&gt;
-</pre>
-<p>These examples will create an image from the file banner.jpg, a checkbox and a single-cell table. You should always use XUL features if they are available and you probably should not use tables for layout in XUL. (There are XUL elements for doing layout). Notice that the prefix html: was added to the front of each tag. This is so that Mozilla knows that this is an HTML tag and not a XUL one. If you left out the html: part, the browser would think that the elements were XUL elements and they would not display because img, input, table, and so on are not valid XUL tags.</p>
-<p>In XUL, you can add labels with the <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_description.html">description</a></code> or <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_label.html">label</a></code> element. You should use these elements when you can. You can also add labels to controls either by using the HTML <code>label</code> element, or you can simply put the text inside another HTML block element (such as <code>p</code> or <code>div</code>) as in the example below.</p>
-<h4 id="Example" name="Example">Example</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_1.xul">Ver en funcionamiento</a></p>
-<pre>&lt;html:p&gt;
- Search for:
- &lt;html:input id="find-text"/&gt;
- &lt;button id="okbutton" label="OK"/&gt;
-&lt;/html:p&gt;
-</pre>
-<p>This code will cause the text 'Search for:' to be displayed, followed by an input element and an OK button. Notice that the XUL button can appear inside the HTML elements, as it does here. Plain text will only be displayed when placed inside an HTML element that would normally allow you to display text (such as a <code>p</code> tag). Text outside of one will not be displayed, unless the XUL element the text is inside allows this (the <code>description</code> element, for example). The examples below may help.</p>
-<h3 id="Ejemplos_de_elementos_HTML" name="Ejemplos_de_elementos_HTML">Ejemplos de elementos HTML</h3>
-<p>What follows are some examples of adding HTML elements to windows. In each case, the window and other common information has been left out for simplicity.</p>
-<h4 id="Example_A_dialog_with_a_check_box" name="Example:_A_dialog_with_a_check_box">Example: A dialog with a check box</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_2.xul">Ver en funcionamiento</a></p>
-<pre>&lt;html:p&gt;
- Click the box below to remember this decision.
- &lt;html:p&gt;
- &lt;html:input id="rtd" type="checkbox"/&gt;
- &lt;html:label for="rtd"&gt;Remember This Decision&lt;/html:label&gt;
- &lt;/html:p&gt;
-&lt;/html:p&gt;
-</pre>
-<p>In this case, one <code>p</code> tag was used to place the text in and another was used to break apart the text into multiple lines.</p>
-<p><img alt="Image:htmlelem-ex1.jpg"></p>
-<h4 id="Example_Text_outside_of_HTML_blocks" name="Example:_Text_outside_of_HTML_blocks">Example: Text outside of HTML blocks</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_3.xul">Ver en funcionamiento</a></p>
-<pre>&lt;html:div&gt;
- Would you like to save the following documents?
- &lt;html:hr/&gt;
-&lt;/html:div&gt;
-Expense Report 1
-What I Did Last Summer
-&lt;button id="yes" label="Yes"/&gt;
-&lt;button id="no" label="No"/&gt;
-</pre>
-<p><img alt="Image:htmlelem-ex2.jpg"></p>
-<p>As can be seen in the image, the text inside the <code>div</code> tag was displayed but the other text (Expense Report 1 and What I Did Last Summer) was not. This is because there is no HTML or XUL element capable of displaying text enclosing it. To have this text appear, you would need to put it inside the <code>div</code> tag, or enclose the text in a <code>description</code> tag.</p>
-<h4 id="Example_Invalid_HTML_elements" name="Example:_Invalid_HTML_elements">Example: Invalid HTML elements</h4>
-<pre>&lt;html:po&gt;Case 1&lt;/html:po&gt;
-&lt;div&gt;Case 2&lt;/div&gt;
-&lt;html:description value="Case 3"/&gt;
-</pre>
-<p>All three of the cases above will not display, each for a different reason.</p>
-<dl>
- <dt>
- Case 1 </dt>
- <dd>
- <code>po</code> is not a valid HTML tag and Mozilla has no idea what to do with it.</dd>
- <dt>
- Case 2 </dt>
- <dd>
- <code>div</code> is valid but only in HTML. To get it to work, you will need to add the html: qualifier.</dd>
- <dt>
- Case 3 </dt>
- <dd>
- A <code>description</code> element is only valid in XUL and not in HTML. It should not have the html: qualifier.</dd>
-</dl>
-<p>Next, we'll learn how to adding spacing between elements. <span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_etiquetas_e_imagenes/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_etiquetas_e_imagenes/index.html
deleted file mode 100644
index 2ab6c737b7..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_etiquetas_e_imagenes/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Añadiendo etiquetas e imagenes
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Añadiendo_etiquetas_e_imagenes
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Labels_and_Images
----
-<p>Esta sección describe un modo de añadir etiquetas e imágenes a una ventana. Además, veremos como incluir elementos en grupos.</p>
-<h3 id="Elementos_de_Texto" name="Elementos_de_Texto">Elementos de Texto</h3>
-<p>Usted no puede integrar el texto directamente en un archivo XUL sin etiquetas alrededor de ello y esperar que ello sea mostrado. El modo más básico de incluir el texto en una ventana es de usar el elemento de etiqueta. Muestran un ejemplo debajo:</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_1.xul">Ver en funcionamiento</a></p>
-<pre>&lt;label value="This is some text"/&gt;
-</pre>
-<p>El atributo de <code>valor</code> puede ser usado para especificar el texto que usted desea tener mostrado. El texto no se ajustará, de tal forma que el texto aparecerá sobre una sola línea. Esto es conveniente para las secciones cortas de texto.</p>
-<p>Para el texto más largo, usted puede colocar el contenido dentro de etiquetas de <a class="external" href="http://www.xulplanet.com/references/elemref/ref_description.html">descripción</a> de apertura y cierre. A diferencia del texto especificado con el elemento de <a class="external" href="http://www.xulplanet.com/references/elemref/ref_label.html">etiqueta</a> y el atributo de <code>valor</code>, el texto hijo se ajustará en múltiples líneas si fuera necesario. Redimensione la ventana para ver lo ajustado. Como HTML, saltos de línea y espacios en blanco extras son colapsados en un solo espacio. Más adelante descubriremos como contraemos la anchura de elementos de modo que nosotros podamos ver la envoltura más fácilmente.</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_2.xul">Ver en funcionamiento</a></p>
-<pre>&lt;description&gt;
- This longer section of text is displayed.
-&lt;/description&gt;
-</pre>
-<p>Internamente, tanto el elemento de <code>etiqueta</code> como el elemento de <code>descripción</code> son lo mismo, lo cual significa que las etiquetas pueden tener texto ajustado si usted coloca el texto dentro de la ´etiqueta´, y las descripciones pueden tener un atributo de <code>valor</code>. El elemento de etiqueta es querido para las etiquetas de mandos, como campos de texto. El elemento de <code>descripción</code> esta prometido a otro texto descriptivo como el texto informativo en el tope de un cuadro de diálogo. Por convención, usted debería seguir esta pauta.</p>
-<p>Usted puede usar el atributo de <code>control</code> para fijar cual etiqueta de control esta asociada. Cuando el usuario pulsa la etiqueta, ése control será enfocado. Ponga el valor del atributo de <code>control</code> al id del elemento que será enfocado.</p>
-<h4 id="Ejemplo_3" name="Ejemplo_3">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_3.xul">Ver en funcionamiento</a></p>
-<pre>&lt;label value="Click here:" control="open-button"/&gt;
-&lt;button id="open-button" label="Open"/&gt;
-</pre>
-<p><br>
- En el ejemplo encima, pulsando la etiqueta hará que el botón sea enfocado.</p>
-<h3 id="Im.C3.A1genes" name="Im.C3.A1genes">Imágenes</h3>
-<p>Como HTML, XUL tiene un elemento para mostrar imágenes dentro de una ventana. Este elemento es adecuadamente llamado <a class="external" href="http://www.xulplanet.com/references/elemref/ref_image.html">image</a>. Note que el nombre de etiqueta es diferente que en HTML (image en vez de img). Usted puede usar el atributo de <code>src</code> para especificar el URL del archivo de imagen. El ejemplo debajo muestra esto:</p>
-<pre>&lt;image src="images/banner.jpg"/&gt;
-</pre>
-<p>Aunque usted pueda usar esta sintaxis, sería mejor usar una hoja de estilo para poner la URL de la imagen. En sesiones posteriores describiremos como usar hojas de estilo, pero un ejemplo se mostrá aqui para ampliar. Usted puede usar <code>lista-estilo-imagen</code> de la propiedad CSS para poner el URL para la imagen. Aquí están algunos ejemplos:</p>
-<pre class="eval"><b>XUL:</b>
- &lt;image id="image1"/&gt;
- &lt;image id="search"/&gt;
-</pre>
-<pre class="eval"><b>Style Sheet:</b>
- #image1 {
- list-style-image: url("<a class="external" rel="freelink">chrome://findfile/skin/banner.jpg</a>");
- }
-
- #search {
- list-style-image: url("<a class="external" rel="freelink">chrome://findfile/skin/images/search.jpg</a>");
- }
-</pre>
-<p>Estas imágenes vienen desde dentro del directorio chrome, en el skin para el paquete findfile. Puesto que estas imágenes varían por el piel, usted debe usualmente poner una imagen en el directorio skin.</p>
-<p>En la próxima sesión, aprenderemos como añadir algunos controles a una ventana.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_los_gestores_de_eventos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_los_gestores_de_eventos/index.html
deleted file mode 100644
index 41b1cce66c..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_los_gestores_de_eventos/index.html
+++ /dev/null
@@ -1,133 +0,0 @@
----
-title: Añadiendo los gestores de eventos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Añadiendo_los_gestores_de_eventos
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Event_Handlers
----
-<p>The find files dialog so far looks quite good. We haven't cleaned it up much but we have created a simple user interface easily. Next, we will show how to add scripts to it.</p>
-
-<h3 id="Usando_scripts" name="Usando_scripts">Usando scripts</h3>
-
-<p>Para hacer funcional el diálogo de búsqueda de archivos, necesitaremos algunos scripts los cuales se ejecutarán cuando el usuario interactúe con el diálogo. Podríamos querer agregar un script para manejar el botón Buscar, el botón Cancelar y manejar cada comando del menú. Escribimos esto utilizando funciones <a href="/es/JavaScript" title="es/JavaScript">JavaScript</a> muchas de la misma forma que en <a href="/es/HTML" title="es/HTML">HTML</a>.</p>
-
-<p>Puede utilizar el elemento <code><a href="/es/XUL/Elementos#script" title="es/XUL/Elementos#script">script</a></code> para incluir scripts en archivos XUL. Puede incluir el código script directamente en el archivo XUL entre la apertura y cierre de etiquetas <code>script</code> pero es mucho mejor incluir código en un archivo separado ya que de esta manera la ventana XUL cargará ligeramente más rápido. El atributo <code><a href="/Es/XUL/Atributos#src" title="Es/XUL/Atributos#src">src</a></code> es utilizado para enlazar un archivo script externo.</p>
-
-<div class="highlight">
-<h5 id="Nuestro_ejemplo" name="Nuestro_ejemplo">Nuestro ejemplo</h5>
-
-<p>Agreguemos un script al diálogo buscar archivo. Aunque no importe cómo sea llamado el archivo script, generalmente debería ser el mismo que el archivo XUL con una extensión <em>.js</em>. En este caso, findfile.js será utilizado. Agregue la línea debajo sólo <strong>después de la apertura de la etiqueta <code><a href="/es/XUL/Elementos#window" title="es/XUL/Elementos#window">window</a></code> y antes de cualquier otro elemento</strong>.</p>
-
-<pre class="eval"><span class="highlightred">&lt;script src="findfile.js"/&gt;</span>
-</pre>
-
-<div class="note">Nota: Al agregar el elemento <em>script</em> directamente bajo el elemento <em>window</em> su ámbito será el documento completo. Si se anida bajo otra etiqueta su ámbito se restringirá a los elementos anidados en ella, y no sera "visible" para otras zonas de documento.</div>
-
-<p>Crearemos el archivo script más tarde cuando conozcamos qué queremos poner en él. Definiremos algunas funciones en el archivo y podremos llamarlas desde un manejador de eventos.</p>
-</div>
-
-<p>Puede incluir scripts múltiples en un archivo XUL utilizando múltiples etiquetas <code>script</code>, cada una apuntando a un script diferente. Puede utilizar URLs relativas o absolutas. Por ejemplo, puede utilizar URLs de la siguiente forma:</p>
-
-<pre class="eval">&lt;script src="findfile.js"/&gt;
-&lt;script src="<a class="external" rel="freelink">chrome://findfiles/content/help.js</a>"/&gt;
-&lt;script src="<span class="nowiki">http://www.example.com/js/items.js</span>"/&gt;
-</pre>
-
-<p>Este tutorial no intenta describir cómo utilizar JavaScript ya que esto es un tópico extenso y hay variedades de otras fuentes que están disponibles para esto.</p>
-
-<div class="note">Por defecto la consola JavaScript sólo muestra errores desde contenido de red. Para mostrar errores en JavaScript chrome, es necesario cambiar la preferencia <code>javascript.options.showInConsole</code> a verdadero. Puede también cambiar la preferencia <code>javascript.options.strict</code> para la depuración. Estableciendo este valor a verdadero, la sintaxis propensa, pobremente escrita y no estándar causa errores lógicos que son guardados en la consola JavaScript.</div>
-
-<h3 id="Respuesta_a_eventos" name="Respuesta_a_eventos">Respuesta a eventos</h3>
-
-<p>El script contendrá código que responderá a varios eventos disparados por el usuario u otras situaciones. Hay más de treinta eventos diferentes que pueden ser manejados de formas distintas. Un evento típico es que el usuario presione un botón del ratón o presione una tecla. Cada elemento XUL tiene la habilidad de disparar varios eventos en diferentes situaciones. Algunos eventos son disparados solamente por determinados elementos.</p>
-
-<p>Cada evento tiene un nombre, por ejemplo, 'mousemove' es el nombre del evento que es disparado cuando el usuario mueve el ratón sobre un elemento de la Interfaz de Usuario. XUL utiliza el mismo mecanismo de evento definido en <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Events/">eventos DOM</a>. Cuando una acción ocurre que debería disparar un evento, tal como que el usuario mueva el ratón, se crea un objeto evento correspondiente a tal tipo de evento. Las propiedades de dicho objeto se establecen de modo que ofrezca información asociada a la circunstancia en que se produjo, tal como: la posición del ratón, la(s) tecla(s) que fue(ron) presionada(s), el botón del ratón que se utilizó, etc.</p>
-
-<p>El evento es enviado luego en fases al XUL.</p>
-
-<ul>
- <li>En la fase de captura, el evento primero es enviado a la ventana, luego al documento, seguido por cada ancestro del elemento XUL donde el evento ocurrió hacia abajo hasta que alcance el elemento.</li>
- <li>En la fase objetivo, el evento es enviado hacia el elemento objetivo XUL.</li>
- <li>En la fase burbujeante, el evento es enviado a cada elemento de más atrás hasta que alcance nuevamente la ventana.</li>
-</ul>
-
-<p>Puede responder a un evento durante la captura completa de la fase burbujeante. Una vez que el evento ha finalizado de propagarse, cualquier acción por defecto ocurrirá, la cual está incluida en comportamiento del elemento.</p>
-
-<p>Por ejemplo, cuando el ratón sea movido sobre un botón que está dentro de un cuadro, un evento 'mousemove' es generado, y enviado primero a la ventana, seguido por el documento, y luego al cuadro. Eso completa la fase de captura. Luego, el evento 'mousemove' es enviado al botón. Finalmente, la fase burbujeante es esencialmente lo inverso a la fase de captura. Note que algunos eventos no hacen la fase burbujeante.</p>
-
-<p>Puede adjuntar oyentes a cada elemento a ser oído por los eventos durante cada paso de la propagación de eventos. Debido a la forma en que un evento simple es pasado a todos los ancestros, puede adjuntar un oyente a un elemento específico o a un elemento más grande en la jerarquía. Naturalmente, un evento adjunto a un elemento más grande recibirá la notificación de todos los elementos dentro de él, mientras que un evento adjunto a un botón sólo recibirá eventos preparados para ese botón. Esto es útil si hay varios elementos que querrían manejarse utilizando el mismo código o similar.</p>
-
-<p>El evento más común utilizado es el evento 'command'. El evento command es disparado cuando un usuario activa un elemento, por ejemplo presionando un botón, cambiando una casilla de verificación o seleccionando un ítem desde un menú. El evento command es un evento útil ya que automática maneja distintas formas de activar el elemento. Por ejemplo, el evento command ocurrirá sin importar si el usuario utiliza el ratón para seleccionar un botón o presionar la tecla Enter.</p>
-
-<p>Hay dos formas de adjuntar un evento oyente a un elemento. Primero, utilizando un atributo con script como su valor. Segundo, llamando a un método del evento addEventListener. El primero sólo puede manejar eventos burbujeantes pero tiende a ser más simple de escribir. El último puede manejar eventos en cualquier fase y puede también ser utilizado para adjuntar múltiples oyentes para un evento en un elemento. Utilizando la forma atributo es más común para la mayoría de eventos.</p>
-
-<h3 id="Attribute_Event_Listeners" name="Attribute_Event_Listeners">Atributos controladores de eventos</h3>
-
-<p>Para controlar eventos bajo la forma de atributos se debe asignar un atributo asociado con el evento a controlar en el elemento en en que se desea atraparlo: el atributo será el nombre del evento precedido del prefijo 'on' y se le asignará como valor un llamado a la función o script que se desea ejecutar cuando ocurra el evento. Por ejemplo, para el evento '<em>command</em>' el atributo correspondiente será '<em>oncommand</em>' y para '<em>mouseover</em>' será '<em>onmouseove</em>r'. El código de llamado a la función suele ser muy corto y generalmente llama a un procedimiento que ha sido definido en una etiqueta script o en un archivo separado. A continuación se ofrece un ejemplo de tratamiento de evento en respuesta a pulsar un botón:</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_1.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;button label="OK" oncommand="alert('Se apretó el botón!');"/&gt;
-</pre>
-
-<p>Como el evento command permea las capas contenedoras (es burbujeante), también es posible ubicar el controlador de eventos en un elemento contenedor. En el ejemplo siguiente, el atributo controlador se establece en una caja y ésta atrapa eventos de los dos elementos que contiene.</p>
-
-<p><strong>Ejemplo 2</strong> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_2.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;vbox oncommand="alert(event.target.tagName);"&gt;
- &lt;button label="OK"/&gt;
- &lt;checkbox label="Muestra las imágenes"/&gt;
-&lt;/vbox&gt;
-</pre>
-
-<p>En este ejemplo, el evento command se filtrará desde el elemento en que ocurra - button o checkbox - hasta el elemento vbox, donde es controlado. Si se hubiese colocado un segundo controlador de eventos (atributo <code>oncommand</code>) en el elemento button, su código sería invocado antes, seguido del manejador situado en el elemento vbox. Los controladores de eventos reciben, como argumento implícito, un objeto event al que se puede hacer referencia en código mediante la variable 'event'. Dicho objeto porta, en sus propiedades, la información que específicamente concierne al evento. Cuando varios elementos comparten un controlador de eventos (como en este ejemplo) es usual utilizar la propiedad 'target' del objeto event (<code>event.target</code>), que alberga una referencia al elemento en el que ocurrió. En el código de ejemplo se hace un llamado a la ventana de mensajes para que muestre el nombre de la etiqueta 'tagName' del elemento en que ocurra. La propiedad target resulta útil para controlar la permeabilidad de eventos burbujeantes, de modo que un conjunto de elementos, buttons por ejemplo, comparta y sea controlado mediante un único script.</p>
-
-<div class="note"><strong>Nota de traducción</strong>: Si se anida controladores de eventos, para un mismo evento, en varias capas; se debe tener cuidado de cancelarlo, una vez controlado en una capa, para evitar que se dispare nuevamente en los controladores situados en las capas contenedoras. A no ser que se desee realizar acciones en cascada.</div>
-
-<p>Se debe notar que la sintaxis para establecer los atibitos controladores es similar a la empleada para asignar eventos en documentos HTML. De hecho, HTML y XUL comparten el mismo mecanismo de definición de eventos. No obstante, <strong>hay una diferencia importante</strong>: mientras que en HTML se usa el evento 'click' (o el atributo <code>onclick</code>) para responder a acciones sobre los buttons, en XUL se debe usar el evento command en su lugar. XUL soporta el evento click, pero este sólo responde a acciones del ratón (mouse), no al uso del teclado. En consecuencia, se debe evitar el uso del evento click en XUL, a no ser que se tenga alguna razón para responder de modo exclusivo a acciones provocadas con el mouse (ratón). Adicionalmente, cuando se deshabilita un elemento, este no disparará eventos command; mientras que el evento click se produce con independencia de que el elemento en que se dispare esté o no habilitado.</p>
-
-<div class="highlight">
-<h5 id="Nuestro_ejemplo_2" name="Nuestro_ejemplo_2">Nuestro ejemplo</h5>
-
-<p>Un gestor command se puede agregar a los botones Buscar y Cancelar del diálogo de búsqueda de archivos. Presionar el botón Buscar debe iniciar la búsqueda. Como aún no vamos a implementar el proceso de búsqueda, dejaremos esta parte fuera por un rato. Presionar el botón Cancelar debe cerrar la ventana. El código de abajo muestra como hacer esto. Mientras estamos aquí, añadimos el mismo código al menuitem Cerrar.</p>
-
-<pre class="eval">&lt;menuitem label="Cerrar" accesskey="c" <span class="highlightred">oncommand="window.close();"</span>/&gt;
-...
-
-&lt;button id="cancel-button" label="Cancelar"
- <span class="highlightred">oncommand="window.close();</span>"/&gt;
-</pre>
-
-<p>Aquí se añadieron dos gestores. El atributo <code>oncommand</code> fue añadido al menuitem Cerrar. Usando este gestor, el usuario podrá cerrar la ventana dando click al menuitem con el mouse o seleccionándolo con el teclado.El gestor <code>oncommand</code> también fue añadido al botón Cancelar.</p>
-</div>
-
-<h3 id="DOM_Event_Listeners" name="DOM_Event_Listeners">Controladores de eventos asignados mediante métodos del DOM</h3>
-
-<p>Una segunda vía para asignar controladores de eventos a los elementos es usar su método addEventListener. Este camino permite agregarlos dinámicamente y escucharlos durante la fase de captura. A continuación se ilustra la sintaxis:</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button id="okbutton" label="OK"/&gt;
-
-&lt;script&gt;
-function buttonPressed(event){
- alert('Se apretó el botón!');
-}
-
-var button = document.getElementById("okbutton");
-button.addEventListener('command', buttonPressed, true);
-&lt;/script&gt;
-</pre>
-
-<p>La función <code><a href="/es/DOM/document.getElementById" title="es/DOM/document.getElementById">getElementById()</a></code> devuelve el elemento cuyo Id sea pasado como parámetro; en este caso, el button <code>"okbutton"</code>. Luego se llama a la función <code><a href="/es/DOM/element.addEventListener" title="es/DOM/element.addEventListener">addEventListener()</a></code> de dicho elemento para agregarle un controlador de eventos: su primer argumento es el nombre del evento al que se va a responder, el segundo es el mombre de la función a llamar cuando el evento ocurra y finalmente, el último argumento debe ser <code>true</code> para controladores en la fase de captura. Si se desea permitir que el evento pase a otras fases se debe asignar el último argumenta como false. La función pasada como segundo argumento, debe a su vez, tener un argumento para pasar el objeto event, como se muestra en la declaración de la función <code>buttonPressed</code> arriba.</p>
-
-<div class="highlight">Nuestro ejemplo hasta aquí: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-events.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-events.xul">Ver en funcionamiento</a></div>
-
-<p>Seguimos con más detalles sobre <a href="/es/Tutorial_de_XUL/Más_gestores_de_eventos" title="es/Tutorial_de_XUL/Más_gestores_de_eventos">los eventos</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Menúes_con_desplazamiento" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Más_gestores_de_eventos">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_más_elementos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_más_elementos/index.html
deleted file mode 100644
index 5ac33e16d8..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/añadiendo_más_elementos/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Añadiendo más elementos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Añadiendo_más_elementos
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_More_Elements
----
-<p>Concluiremos la discusión de cajas adicionando algunas al diálogo de encontrar archivos.</p>
-
-<h3 id="A.C3.B1adiendo_elementos_al_ejemplo_de_encontrar_archivos" name="A.C3.B1adiendo_elementos_al_ejemplo_de_encontrar_archivos">Añadiendo elementos al ejemplo de encontrar archivos</h3>
-
-<p>Vamos a agregar ahora algunos elementos al diálogo de encontrar archivos. Primero, vamos a adicionar la capacidad de búsqueda por otra información, tal como el tamaño y la fecha del archivo.</p>
-
-<pre class="eval">&lt;hbox&gt;
- <span class="highlightred">&lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Name"/&gt;
- &lt;menuitem label="Size"/&gt;
- &lt;menuitem label="Date Modified"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Is"/&gt;
- &lt;menuitem label="Is Not"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;</span>
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-&lt;/hbox&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:boxfinal1.png"></div>
-
-<p>Dos <a href="es/Tutorial_de_XUL/Controles_de_listas#Listas_desplegables">cajas de listas desplegables</a> son añadidas al diálogo. Un <a href="es/Tutorial_de_XUL/Usando_espaciadores">espaciador</a> ha sido adicionado en medio de cada elemento para separarlos. Estos espaciadores han dado un ancho específico de 10 pixeles cada uno. Usted notará que si la ventana es redimensionada, la caja de texto crece pero los otros componentes no. Igualmente notará que la etiqueta fué removida.</p>
-
-<p>Si usted redimensiona la ventana verticalmente, el elemento no cambia su tamaño. Esto es debido a que está dentro de cajas horizontales. Lo mas apropiado sería que los botones de Encontrar y Cancelar permanecieran siempre al fondo de la ventana. Esto es fácil de hacer agregando un espaciador en medio de las dos cajas horizontales.</p>
-
-<pre class="eval"><span class="highlightred">&lt;spacer style="height: 10px"/&gt;</span>
-&lt;hbox&gt;
- &lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Nombre"/&gt;
- &lt;menuitem label="Medida"/&gt;
- &lt;menuitem label="Fecha de modificación"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Es"/&gt;
- &lt;menuitem label="No es"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-&lt;/hbox&gt;
-
-<span class="highlightred">&lt;spacer style="height: 10px" flex="1"/&gt;</span>
-
-&lt;hbox&gt;
-</pre>
-
-<p>Ahora cuando el diálogo es redimensionado, los dos botones se moverán ya que estan siempre a lo largo del fondo del diálogo. El primer <a href="es/XUL/Elemento">espaciador</a> añade espacio extra en medio de la etiqueta del título y los elementos del criterio de búsqueda.</p>
-
-<p>Se vería mejor si hubiera un borde al rededor de los criterios de búsqueda. Hay dos formas de hacer esto. Podemos utilizar la propiedad CSS <code>border</code> de CSS o podemos utilizar el elemento <code><a href="es/XUL/Elemento">caja de grupo</a></code>. Este primer método puede requerir que coloquemos el estilo en la caja como tal. Sin embargo, vamos a utilizar el último método. Un <a href="es/Tutorial_de_XUL/Cajas_de_grupo">caja de grupo</a> tiene la ventaja de que dibuja una caja con un bonito estilo biselado, adecuado para el tema actual.</p>
-
-<p>Vamos a cambiar la caja dentro de un <code>groupbox</code>:</p>
-
-<p><span class="nowiki">Aquí inserta texto sin formato</span> <span class="highlightred">&lt;groupbox orient="horizontal"&gt;</span></p>
-
-<pre class="eval"> <span class="highlightred"><span class="nowiki">&lt;caption label="Search Criteria"/&gt;</span></span>
- &lt;menulist id="searchtype"&gt;
- .
- .
- .
- &lt;spacer style="width: 10px;"/&gt;
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-<span class="highlightred">&lt;/groupbox&gt;</span>
-</pre>
-
-<div class="float-right"><img alt="Image:boxfinal2.png"></div>
-
-<p>Existen otros problemas cosméticos como tal. Podemos también tener que el groupbox crece de tal forma que se extiende verticalmente al final de la caja. También, podemos modificar algunos de los márgenes de tal forma que los elementos queden mejor posicionados.</p>
-
-<p>Veremos más ejemplos del modelo de caja y algunos de sus rasgos a medida que continuemos agregando elementos durante el tutorial.</p>
-
-<p>Ejemplo de encontrar archivos <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxfinal.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxfinal.xul">Ver en funcionamiento</a></p>
-
-<p>Seguido, veremos como <a href="es/Tutorial_de_XUL/Pilas_y_barajas">crear pilas</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Cajas_de_grupo" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Pilas_y_barajas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/barra_de_herramientas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/barra_de_herramientas/index.html
deleted file mode 100644
index 722fd6fb36..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/barra_de_herramientas/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title: Barra de Herramientas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Barra_de_Herramientas
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Toolbars
----
-<p> </p>
-<p>Una barra de herramientas normalmente se sitúa en la parte superior de la ventana y contiene un número de botones que realizan acciones cotidianas. XUL ofrece la posibilidad de crear barra de herramientas.</p>
-<h3 id="A.C3.B1adiendo_una_barra_de_herramientas" name="A.C3.B1adiendo_una_barra_de_herramientas">Añadiendo una barra de herramientas</h3>
-<p>Como otros elementos, las barras de herramientas de XUL son del tipo caja. Generalmente mostrará una fila de botones, pero cualquier otro elemento puede colocarse en una barra de herramientas. Por ejemplo, el navegador Mozilla contiene una caja de texto para mostrar e introducir las direcciones URL.</p>
-<p>Las barras de herramientas pueden ser colocadas en cualquier parte de la ventana, ya sea horizontalmente o verticalmente. Por supuesto que normalmente no pondremos una caja de texto en una barra de herramientas vertical. En verdad, como las barras de herramientas no son más que cajas, pueden colocarse en cualquier sitio que deseémos, incluso en el centro de la ventana. Sin embargo, es típico que las barras de herramientas se sitúen en la parte superior de la venta, colocandose una debajo de otra si hubíera más de una, agrupandose en un elemento llamadao toolbox.</p>
-<p>En la parte izquierda de una barra de herramientas se encuentra un pequeño notch que al hacer clic en él contraerá la barra de herramientas, de forma que solo el notch quede visible. Este notch se denomina grippy. Cuando tenemos varias barras de herramientas agrupadas dentro de un elemento toolbox, los grippes se colocarán en una misma fila. Esto compacta el espacio usado de manera eficiente. Para las barras de herramientas verticales, los grippies se sitúan en la parte superior. Un usuario puede contraer las barras de herramientas para obtener más espacio en la ventana principal.</p>
-<p>He aquí un ejemplo de una simple barra de herramientas.</p>
-<h3 id="Ejemplo" name="Ejemplo">Ejemplo</h3>
-<pre>&lt;toolbox&gt;
- &lt;toolbar id="nav-herramientas"&gt;
- &lt;toolbarbutton label="Atrás" /&gt;
- &lt;toolbarbutton label="Adelante" /&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-</pre>
-<p>Esto creará una barra de herramientas con dos botones, un botón Atrás y otro Adelante. La barra de tareas ha sido definida dentro de un elemento toolbox. Todo esto ha requerido cuatro nuevos elementos, que son descritos aquí:</p>
-<pre class="eval"> * toolbox
-</pre>
-<p>Una caja que contiene barras de herramientas</p>
-<pre class="eval"> * toolbar
-</pre>
-<p>Una barra de herramientas que contiene elementos como botones. Las barras de herramientas pueden minimizarse usando el grippy de su borde izquierdo o superior.</p>
-<pre class="eval"> * toolbarbutton
-</pre>
-<p>Un botón para la barra de herramientas, el cual tiene las mismas características que un botón normal pero que normalmente se muestra de forma distinta.</p>
-<pre class="eval"> * toolbargrippy
-</pre>
-<p>Este elemento crea el notch que puede usarse para contraer y expandir la barra de herramientas. No necesitamos definirla manualmente, ya que se añade automaticamente.</p>
-<p>El elemento toolbar es el principal y responsable de crear la barra de herramientas. Dentro de él se colocan los elementos que debe mostrar la barra de herramientas, normalmente botones aunque puede ser cualquier otro elemento. La barra de herramientas debería tener un atributo id o el grippy no será capaz de contraer o expandir la barra de herramientas correctamente.</p>
-<p>En el ejemplo anterior solo creamos una barra de herramientas. Podemos crear más simplemente añadiendo más elementos toolbar después del primero.</p>
-<p>El elemento toolbox no es más que un contenedor para las barras de herramientas. En algunas aplicaciones, veremos varias barras de herramientas en la parte superior de la venta. Podemos ponerlas todas juntas dentro de un toolbox. Sin embargo no es obligatorio poner las barras de herramientas dentro de un toolbox.</p>
-<p>Los grippies son creados usando otro elemento, toolbargrippy. No tiene sentido usarlo en ningún otro sitio que no sea una barra de herramientas, ya que esta especialmente diseñador para contraer y expandir barras de herramientas. Sin embargo si es posible aplicarle un estilo diferente. Incluso puedes ocultarlo si incluimos el atributo grippyhidden al elemento toolbar, poniendo su valor a true.</p>
-<h3 id="Tres_barras_de_herramientas_agrupadas_en_un_toolbox" name="Tres_barras_de_herramientas_agrupadas_en_un_toolbox">Tres barras de herramientas agrupadas en un toolbox</h3>
-<p>Las mismas barras pero con dos de ellas contraidas.</p>
-<p><br>
- Ahora añadiremos una barra de herramientas a nuestro dialogo. Realmente no lo necesitamos pero crearemos una de todas formas para demostrar su uso. Se definirán dos botones, los tipicos de Abrir y Guardar. En teoría deberían posibilitar que el usuario puediera guardar los resultados de una búsqueda y abrirlos posteriormente.</p>
-<pre>&lt;vbox flex="1"&gt;
- &lt;toolbox&gt;
- &lt;toolbar id="findfiles-toolbar"&gt;
- &lt;toolbarbutton id="abrirbusqueda" label="Abrir" /&gt;
- &lt;toolbarbutton id="guardarbusqueda" label="Guardar" /&gt;
- &lt;/toolbar&gt;
- &lt;/toolbox&gt;
-
- &lt;tabbox&gt;
-</pre>
-<p>Hemos añadido una barra de herramientas con dos botones. En la imagen, vemos que aparecen alineados horizontalmente en la parte superior. El grippy tambíen aparece en el borde izquierdo. Fijemonos en que hemos colocado la barra de herramientas en la caja vertical, justo encima del elemento tabbox. Lo hemos hecho así porque necesitamos la alineación vertical de la caja para que la barra de herramientas aparezca arriba del todo.</p>
-<p><br>
- Siguiente, veremos como añadir paneles de contenido.</p>
-<p>NdT: el elemento ‘toolbargrippy’ no es soportado por Firefox, dada la popularidad de este navegador creo que habría que poner algun comentario al respecto. Ver la ref. de toolbargrippy</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/barras_de_desplazamiento/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/barras_de_desplazamiento/index.html
deleted file mode 100644
index 74325c678a..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/barras_de_desplazamiento/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Barras de desplazamiento
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Barras_de_desplazamiento
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - para_revisar
-translation_of: Archive/Mozilla/XUL/Tutorial/Scroll_Bars
----
-<p>Ahora, aprenderemos a añadir barras de desplazamiento en una ventana.</p>
-
-<h3 id="A.C3.B1adiendo_barras_de_desplazamiento" name="A.C3.B1adiendo_barras_de_desplazamiento">Añadir barras de desplazamiento</h3>
-
-<p>Una barra de desplazamiento sirve para que un usuario pueda moverse en un documento grande. También puedes usarla cuando tienes que buscar un valor que está dentro de un cierto rango. Las barras de desplazamiento pueden crearse de varias formas. En XUL, puede crearse una usando la etiqueta <code><code><a href="/es/docs/Mozilla/Tech/XUL/scrollbar" title="scrollbar">scrollbar</a></code></code>. Algunos elementos, como cajas de texto, también añadirán barras de desplazamiento cuando el contenido de dentro es demasiado grande</p>
-
-<p>En esta sección, hablaremos de la creación de una barra de desplazamiento independiente. El usuario pondrá el valor ajustando la barra de desplazamiento. Probablemente no usarás esto a menudo. Una barra de desplazamiento está compuesta de varias partes: el deslizador, que es la parte principal de la barra de desplazamiento con la caja ajustable, y los dos botones de flecha. Una barra de desplazamiento crea todos estos elementos automáticamente.</p>
-
-<p><img alt="Imagen:BarraDesplazamiento.jpg" class="internal" src="/@api/deki/files/1107/=BarraDesplazamiento.jpg"></p>
-
-<p>La sintaxis de una barra de desplazamiento es la siguiente:</p>
-
-<pre>&lt;scrollbar
- id="barrahori"
- orient="horizontal"
- curpos="50"
- maxpos="400"
- increment="2"
- pageincrement="10"/&gt;
-</pre>
-
-<p>Los atributos son los siguientes:</p>
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> <code>id</code></dt>
- <dd>El identificador único de la barra de desplazamiento</dd>
-</dl>
-
-<dl>
- <dt><code id="a-orient"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> <code>orient</code></dt>
- <dd>Especifica la dirección de la barra de desplazamiento. Por defecto es <code>horizontal</code>, que crea una barra de desplazamiento que se extiende de izquierda a derecha. También puedes especificar <code>vertical</code> que crea una barra de desplazamiento que se extiende de arriba abajo.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-curpos"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/curpos">curpos</a></code> <code>curpos</code></dt>
- <dd>Indica la posición actual de la barra de desplazamiento (la caja que puedes deslizar hacia adelante y hacia atrás.) El rango de valores se extiende de 0 al valor de maxpos. Este valor no es necesario. El valor por defecto es 0.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-maxpos"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/maxpos">maxpos</a></code> <code>maxpos</code></dt>
- <dd>Indica la posición máxima de la barra de desplazamiento. Es un valor numérico. El valor por defecto es 100.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-increment"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/increment">increment</a></code> <code>increment</code></dt>
- <dd>Este valor especifica cuánto cambia el valor de <code>curpos</code> cuando el usuario pulsa sobre una de las flechas de barra de desplazamiento. El valor por defecto es 1.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-pageincrement"><a href="https://developer.mozilla.org/es/docs/Mozilla/Tech/XUL/Attribute/pageincrement">pageincrement</a></code> <code>pageincrement</code></dt>
- <dd>Este valor especifica cuánto cambia el valor <code>curpos</code> cuando el usuario hace clic sobre las páginas con la barra de desplazamiento, que puede hacerse pulsando sobre la bandeja entre la caja y las flechas. El valor por defecto es 10.</dd>
-</dl>
-
-<p>El ejemplo dado en la sintaxis anterior creará una barra de desplazamiento que puede extenderse de un valor de 0 a 100. El valor 100 podría ser el número de líneas en una lista, pero podría ser lo que quieras. El valor inicial en este ejemplo es 20. Al hacer clic sobre una de las flechas de barra de desplazamiento, el valor se cambiará por 1 encima de o abajo. Pero paginando por la barra de desplazamiento, el valor se cambiará por 10.</p>
-
-<p>Cuando el usuario haga clic sobre las flechas de la barra de desplazamiento, se moverá la cantidad especificada por el valor <code>increment</code>. El aumento del valor de este atributo hará que la barra de desplazamiento se mueva más lejos con cada clic. La posición más a la izquierda o superior de la barra de desplazamiento tiene el valor 0 y la posición más a la derecha o inferior de la barra de desplazamiento tiene el valor dado por <code>maxpos</code>.</p>
-
-<p>Ajustando los valores de la barra de desplazamiento, puedes tener el thumb posicionado donde quieras y el cambio cuando el usuario haga clic en las flechas tal y como desees.</p>
-
-<p>A continuación, aprenderemos a <a href="/es/Tutorial_de_XUL/Barra_de_Herramientas" title="es/Tutorial_de_XUL/Barra_de_Herramientas">crear barras de herramientas</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Divisores" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Barra_de_Herramientas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/cajas_de_grupo/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/cajas_de_grupo/index.html
deleted file mode 100644
index d3607f1260..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/cajas_de_grupo/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Cajas de grupo
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Cajas_de_grupo
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Groupboxes
----
-<p>Esta sección describe un método para incluir elementos dentro de grupos.</p>
-<h3 id="Cajas_de_grupo" name="Cajas_de_grupo">Cajas de grupo</h3>
-<p>HTML provee un elemento, <code>fieldset</code>, que puede ser usado para agrupar otros elementos. Generalmente un borde es trazado alrededor de los elementos para demostrar que están relacionados entre sí. Un ejemplo sería un grupo de casillas de verificación. XUL provee un elemento equivalente, <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_groupbox.html">groupbox</a></code> (caja de grupo), que se utiliza para propósitos similares.</p>
-<p>Como su nombre implica, la <code>groupbox</code> es un tipo de caja, esto significa que los elementos dentro de ella se alinean de acuerdo a las reglas de las cajas. Hay dos diferencias entre las cajas de grupo y las cajas regulares:</p>
-<ol>
- <li>Un borde biselado es dibujado alrededor de la caja de grupo de manera predeterminada. Puede cambiarse este comportamiento corrigiendo el estilo CSS.</li>
- <li>La caja de grupo permite un encabezado que es colocado a lo largo del borde superior.</li>
-</ol>
-<p>Como las cajas de grupo son un tipo de caja pueden utilizarse los mismos atributos, como <code>orient</code> y <code>flex</code>. Puede insertarse cualquier elemento dentro de la caja, pero normalmente estos elementos estarán relacionados de alguna manera.</p>
-<p>La etiqueta en el borde superior puede ser creada utilizando el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_caption.html">caption</a></code>, esto funciona de manera similar al elemento HTML <code>legend</code>. Un simple elemento caption puesto como el primer hijo será suficiente.</p>
-<p>El ejemplo siguiente muestra una simple caja de grupo:</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<pre>&lt;groupbox&gt;
- &lt;caption label="Respuesta"/&gt;
- &lt;description value="Banana"/&gt;
- &lt;description value="Mandarina"/&gt;
- &lt;description value="Casilla telefónica"/&gt;
- &lt;description value="Kiwi"/&gt;
-&lt;/groupbox&gt;
-</pre>
-<p><img alt="Image:titledbox1.jpg"></p>
-<p>Esto causará que se vean cuatro segmentos de texto rodeados por una caja con la etiqueta “Respuesta�?. Nótese que la caja de grupo posee orientación vertical por omisión, lo que es necesario para apilar los elementos en una sola columna.</p>
-<p>También pueden agregarse elementos hijos dentro del elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_caption.html">caption</a></code> para crear un encabezado más complejo. Por ejemplo, el panel de preferencias para tipos de letra de Mozilla utiliza un menú desplegable como encabezado. A pesar de que se puede hacer uso de cualquier contenido, usualmente se usa una casilla de verificación o un menú desplegable.</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<pre>&lt;groupbox flex="1"&gt;
- &lt;caption&gt;
- &lt;checkbox label="Habilitar copias de seguridad"/&gt;
- &lt;/caption&gt;
- &lt;hbox&gt;
- &lt;label control="dir" value="Directorio:"/&gt;
- &lt;textbox id="dir" flex="1"/&gt;
- &lt;/hbox&gt;
- &lt;checkbox label="Comprimir archivos almacenados"/&gt;
-&lt;/groupbox&gt;
-</pre>
-<p>En este ejemplo se ha utilizado como encabezado una casilla de verificación. Podríamos usar un guión para habilitar o deshabilitar los contenidos de la caja de grupo cuando la casilla de verificación sea marcada y desmarcada. La caja de grupo contiene una caja horizontal con una etiqueta y una caja de texto. Tanto la caja de texto como la caja de grupo fueron hechas flexibles así la caja de texto se expandirá cuando la ventana se expanda. La casilla de verificación adicional aparece debajo de la caja de texto por la orientación vertical de la caja de grupo. En la siguiente sección añadiremos una caja de grupo a la ventana de diálogo “Buscar archivos�?.</p>
-<h3 id="Grupos_radiales" name="Grupos_radiales">Grupos radiales</h3>
-<p>Puede usarse el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_radiogroup.html">radiogroup</a></code> (grupo radial) para agrupar varios elementos radio (botón radial). El <code>radiogroup</code> es un tipo de caja. Puede agregarse cualquier elemento al mismo, y aparte de su manejo especial de botones <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_radio.html">radio</a></code> estos funcionan como cualquier otra caja.</p>
-<p>Todos los botones radiales insertados en el grupo radial serán agrupados entre sí, aún si se encuentran dentro de cajas anidadas. Esto podría aprovecharse para agregar elementos extras dentro de la estructura, como en el siguiente ejemplo:</p>
-<h4 id="Ejemplo_3" name="Ejemplo_3">Ejemplo</h4>
-<pre>&lt;radiogroup&gt;
- &lt;radio id="no" value="no" label="Sin número"/&gt;
- &lt;radio id="aleatorio" value="aleatorio" label="Número aleatorio"/&gt;
- &lt;hbox&gt;
- &lt;radio id="especificado" value="especificado" label="Especifique un número:"/&gt;
- &lt;textbox id="numeroespecifico"/&gt;
- &lt;/hbox&gt;
-&lt;/radiogroup&gt;
-</pre>
-<p>Obsérvese que el elemento <code>radiogroup</code>no dibuja un borde a su alrededor, si se desearan bordes y encabezado deberá ser colocado dentro de una <code>groupbox</code> (caja de grupo).</p>
-<p>A continuación utilizaremos lo aprendido hasta el momento y añadiremos algunos elementos adicionales a la ventana de diálogo “Buscar archivos�?.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/características_adicionales_de_la_instalación/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/características_adicionales_de_la_instalación/index.html
deleted file mode 100644
index 12cde3c81f..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/características_adicionales_de_la_instalación/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Características adicionales de la instalación
-slug: >-
- Archive/Mozilla/XUL/Tutorial_de_XUL/Características_adicionales_de_la_instalación
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Additional_Install_Features
----
-<p> </p>
-<p>Esta sección describe algo más específico sobre instaladores.</p>
-<h3 id="Manipulaci.C3.B3n_De_Archivo_De_Instalaci.C3.B3n" name="Manipulaci.C3.B3n_De_Archivo_De_Instalaci.C3.B3n">Manipulación De Archivo De Instalación</h3>
-<p>La sección anterior describió un instalador básico. Usted puede desear realizar un proceso más elaborado durante la instalación. Por ejemplo, usted puede desear instalar un paquete solamente cuando se cumplan ciertas condiciones, por ejemplo tener una librería particular instalada.</p>
-<p>Además del objeto <code>Install</code>, un objeto <code>File</code> también está disponible para el script de instalación. Este objeto proporciona algunas funciones que se puedan utilizar para examinar y para modificar archivos en disco. Usted puede utilizarlo para mover, copiar o borrar archivos antes o después de que los archivos sean instalados. Por ejemplo, usted puede querer hacer primero una copia de respaldo de algunos archivos.</p>
-<p>El código siguiente hará una copia del archivo "/bin/grep" y la pondrá en el directorio "/main".</p>
-<pre>var binFolder=getFolder("file:///","bin");
-var grep=getFolder(binFolder,"grep");
-
-var mainFolder=getFolder("file:///","main");
-
-File.copy(grep,mainFolder);
-</pre>
-<p><br>
- La primera línea recuperará una referencia al directorio /bin. El texto '<a class="external" rel="freelink">file:///</a>' es una secuencia especial que significa la raíz del sistema de archivos. De allí, conseguimos el archivo 'grep' que esta en el interior del directorio 'bin'. Si no existe este archivo, un error ocurrirá durante la instalación. Después, conseguimos la carpeta 'main', otra vez desde la raíz del sistema de archivos. Finalmente, ejecutamos la función File.copy que copia el archivo desde el fuente al destino.</p>
-<p>También existen <a class="external" href="http://www.xulplanet.com/references/elemref/ref_File.html">Funciones</a> para mover, renombrar y ejecutar archivos. Así, usted puede mover los archivos que puedan estar en conflicto con su paquete.</p>
-<h3 id="Manipulaci.C3.B3n_De_Errores" name="Manipulaci.C3.B3n_De_Errores">Manipulación De Errores</h3>
-<p>Usted probablemente deseará manejar de mejor forma los errores. Esto ocurrirá si un archivo o un directorio no puede ser encontrado, hay poco espacio en disco o por otras razones.</p>
-<p>Usted puede utilizar la función getLastError para determinar si ocurrió un error. Si retornó SUCCESS, no ocurrió ningún error. Si no, el número será un código de error que indica el tipo de error que ocurrió. Usted puede llamar esta función en cualquier punto durante el script de instalación para determinar si un error ocurrió durante la operación pasada.</p>
-<p>Si ocurre un error, usted deseará probablemente abortar la instalación. Usted puede también exhibir un mensaje de error al usuario. Por ejemplo, usted puede ser que ponga esto como la sección pasada de su script:</p>
-<pre>if (getLastError() == SUCCESS){
- performInstall();
-}
-else {
- cancelInstall();
-}
-</pre>
-<p>Los códigos de error que puede retornar getLastError se enumeran en el archivo fuente de Mozilla <code><a class="external" href="http://lxr.mozilla.org/mozilla/source/xpinstall/src/nsInstall.h">nsInstall.h</a></code>. Durante la instalación, se crea un archivo log que contiene las operaciones que se realizan. También mostrará cualquier error que ocurra. El archivo log se puede encontrar en el archivo 'install.log' en el directorio de instalación de Mozilla. Un bloque de texto será agregado a este archivo por cada instalación que ocurra.</p>
-<p>La función logComment se puede utilizar para escribir una cadena de caracteres al archivo log. Tiene un parámetro, el texto a escribir.</p>
-<p>El Tutorial XUL se acabo. :D</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/características_de_una_ventana/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/características_de_una_ventana/index.html
deleted file mode 100644
index 57b8fff890..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/características_de_una_ventana/index.html
+++ /dev/null
@@ -1,106 +0,0 @@
----
-title: Características de una ventana
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Características_de_una_ventana
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Features_of_a_Window
----
-<p>Ya hemos visto algunas de las características de las ventanas. En esta sección veremos algunas más.</p>
-
-<h3 id="Creando_otra_ventana" name="Creando_otra_ventana">Creando otra ventana</h3>
-
-<p>Puedes crear otra ventana para tu aplicación de la misma manera como lo harías para crear la primera. Solamente crea un segundo archivo XUL con el código de la ventana en él. Como en HTML, puedes usar la función <code><a href="es/DOM/window.open">window.open()</a></code> para abrir la segunda ventana. Esta función devolverá una referencia de la nueva ventana abierta. Puedes usar esta referencia para llamar funciones de la otra ventana.</p>
-
-<p>La función open toma tres argumentos. El primero es la url del archivo que quieres abrir. El segundo es un nombre interno para la nueva ventana. El tercero es una lista de indicadores. El flag ‘chrome’ es importante para abrir la ventana como un archivo chrome. Si no agregas el flag ‘chrome’, el archivo se abrirá como el contenido de una ventana del navegador.</p>
-
-<p>Por ejemplo:</p>
-
-<pre>var myWin =
-window.open("chrome://findfile/content/findfile.xul","findfile","chrome");
-</pre>
-
-<h3 id="Especificando_el_ancho_y_alto" name="Especificando_el_ancho_y_alto">Especificando el ancho y alto</h3>
-
-<p>Deben haber notado que siempre que algunos elementos fueron agregados a una ventana, el ancho de la ventana se expande para hacer caber los nuevos elementos. En realidad la ventana es solo una caja (box) que es flexible y con orientación vertical por defecto. También puedes especificar el ancho y alto directamente en la etiqueta <code><a href="es/XUL/Elementos/window">window</a>. Esto causa que la ventana se muestre con un tamaño específico. Si no se especifica, el tamaño se determinará por los elementos que contiene. </code></p>
-
-<pre>&lt;window
-id="findfile-window"
-title="Find Files"
-width="400"
-height="450"
-
-xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-</pre>
-
-<p>En este ejemplo, la ventana se abrirá con un ancho de 400 píxeles y un alto de 450 píxeles. Incluso si no contiene suficientes elementos como para abarcar este tamaño, de todas maneras la ventana se abrirá con este tamaño y quedará espacio en blanco en el área no ocupada. Si contiene demasiados elementos, la ventana no será lo suficientemente grande como para contener los elementos. El usuario deberá ajustar el tamaño del dialogo. Cuando especificas el alto y ancho de una ventana debes tener cuidado para que la ventana no resulte demasiado chica o demasiado grande. Nota que debes especificar ambos, el ancho y alto. Si especificas solo uno, el otro se tomará como 0. Para que la ventana ajuste automáticamente su tamaño, no especifiques ni el ancho ni el alto. El ancho y alto especifican solo el tamaño inicial de la ventana. El usuario podrá cambiar el tamaño de la ventana, asumiendo que la ventana sea dimensionable (‘resizable’) (ver más abajo).</p>
-
-<h3 id="Otras_caracter.C3.ADsticas_de_las_ventanas" name="Otras_caracter.C3.ADsticas_de_las_ventanas">Otras características de las ventanas</h3>
-
-<p>Los indicadores de abajo se pueden pasar como parte del tercer argumento a la función window.open. Tu sistema operativo puede que no los soporte todos. También puedes usar cualquiera de los indicadores ya existentes, los cuales deberías encontrar en una referencia de JaveScript. Puedes desactivar alguna característica especificándolo con ‘no’, por ejemplo ‘dialog=no’.</p>
-
-<dl>
- <dt>alwaysLowered </dt>
- <dd>La ventana aparecerá siempre debajo de otras ventanas.</dd>
-</dl>
-
-<dl>
- <dt>alwaysRaised </dt>
- <dd>La ventana aparecerá siempre arriba de otras ventanas.</dd>
-</dl>
-
-<dl>
- <dt>centerscreen </dt>
- <dd>La ventana al abrirse se centrará.</dd>
-</dl>
-
-<dl>
- <dt>dependent </dt>
- <dd>La ventana aparecerá siempre en relación a la ventana que la abrió. Si la ventana que abrió la nueva ventana se mueve, la nueva ventana se mueve junto a ella.</dd>
-</dl>
-
-<dl>
- <dt>dialog </dt>
- <dd>La ventana es un dialogo, el cual puede aparecer diferentemente.</dd>
-</dl>
-
-<dl>
- <dt>modal </dt>
- <dd>El dialogo es modal. No se podrá interactuar con la ventana que abrió el dialogo hasta que este se cierre.</dd>
-</dl>
-
-<dl>
- <dt>resizable </dt>
- <dd>El usuario puede cambiar el tamaño de la ventana.</dd>
-</dl>
-
-<h3 id="Depurando_una_ventana" name="Depurando_una_ventana">Depurando una ventana</h3>
-
-<p>Otra característica útil solo durante el desarrollo es activar el modo de depuración de una ventana. Para hacerlo, agrega un atributo debug con valor ‘true’ a la ventana. Esto hará que la ventana muestre los ‘box’ y los ‘spacers’ de forma que puedas ver lo que está ocurriendo. Este ejemplo muestra como usarlo.</p>
-
-<pre>&lt;window
-id="findfile-window"
-title="Find Files"
-debug="true"
-xmlns:html="http://www.w3.org/1999/xhtml"
-xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-</pre>
-
-<p>La imagen de abajo muestra el efecto cuando se aplica a una ventana sencilla.</p>
-
-<p> </p>
-
-<ul>
- <li><a class="external" href="http://xulplanet.com/tutorials/xultu/images/featwin1.jpg">Cajas azules indican cajas horizontales. </a></li>
- <li><a class="external" href="http://xulplanet.com/tutorials/xultu/images/featwin1.jpg">Cajas rojas indican cajas verticales. Puedes ver la ventana es una caja vertical. </a></li>
- <li><a class="external" href="http://xulplanet.com/tutorials/xultu/images/featwin1.jpg">Zigzags indican los elementos flexibles. En este caso, el espaciador es flexible entonces un zigzag aparece sobre él. </a></li>
- <li><a class="external" href="http://xulplanet.com/tutorials/xultu/images/featwin1.jpg">Líneas indican donde están los elementos inflexibles, en este caso el texto, el ’input field’ y los botones. </a></li>
- <li><a class="external" href="http://xulplanet.com/tutorials/xultu/images/featwin1.jpg">Los cuadrados blancos indican los márgenes de los elementos. </a></li>
-</ul>
-
-<p><span class="external">En la imagen, puede que notes algunas cajas (boxes) adicionales. Esto es debido a que cada elemento XUL está hecho de un número de cajas (boxes), definidas con XBL. Las puedes ignorar. Puedes especificar el atributo debug en cualquier caja, no solo en la ventana (window). </span></p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Ejemplo_de_XBL" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Creando_Diálogos">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/comandos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/comandos/index.html
deleted file mode 100644
index 561baa97ec..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/comandos/index.html
+++ /dev/null
@@ -1,171 +0,0 @@
----
-title: Comandos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Comandos
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Commands
----
-<p> </p>
-
-<p>Un comando es una operación o función que se puede invocar.</p>
-
-<h3 id="El_elemento_comando" name="El_elemento_comando">El elemento comando</h3>
-
-<p>El elemento <code><a href="/es/XUL/Elementos#command" title="es/XUL/Elementos#command">command</a></code> se usa para crear comandos los cuales pueden ser usados para llevar a cabo operaciones. Usted no necesitaría usar comandos, ya que usted puede invocar un script para manejar las cosas. Sin embargo, un comando tiene la ventaja de que puede ser deshabilitado automáticamente cuando se necesite y puede ser invocado externamente sin necesidad de saber de los detalles de su implementación. Los comandos son una manera adecuada de abstraer operaciones del código. Además los comandos son muy útiles para aplicaciones extensas.</p>
-
-<p>Para empezar, con el fin de implementar los comandos del menú portapapeles, cortar, copiar y pegar usted puede usar comandos. Si no usara comandos, usted necesitaría averiguar cual campo tiene el foco (focus), luego verificar para asegurarse que la operación es la adecuada para ese elemento. Además, los comandos del menú necesitarían ser habilitados y deshabilitados dependiendo de si el elemento enfocado haya seleccionado texto o no, y para las operaciones de pegar (paste), si hay algo adecuado en el portapapeles (clipboard) para pegar. Como puede ver, esto se vuelve complicado. Usando comandos, gran parte del trabajo es manejada para usted. Usted puede usar un comando para cualquier operación. Mozilla los usa para casi todos los comandos del menú. Ademas, campos de texto y otros accesorios tienen un número de comandos ya soportados y que usted puede invocar. Usted debería usarlos cuando la operación depende de cual elemento es enfocado.</p>
-
-<p>Un comando es identificado por su atributo <code><a href="/es/XUL/Atributos#id" title="es/XUL/Atributos#id">id</a></code>. Mozilla usa la convención de que el id del comando comience con '<code>cmd_</code>'. Usted probablemente querrá usar el mismo id si un comando está siendo usado, sin embargo para sus comandos propios, usted puede usar cualquier id de comando que desee. Para evitar conflictos, usted puede desear incluir el nombre de la aplicación en el id del comando. Una manera simple de usar comandos es como sigue:</p>
-
-<p> </p>
-
-<h4 id="Ejemplo_un_s.C3.B3lo_comando" name="Ejemplo:_un_s.C3.B3lo_comando">Ejemplo: un sólo comando</h4>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_commands_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_commands_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;command id="cmd_openhelp" oncommand="alert('Ayuda!');"/&gt;
-&lt;button label="Ayuda" command="cmd_openhelp"/&gt;
-</pre>
-
-<p>En este ejemplo, en vez de colocar el atributo <code><a href="/Es/XUL/Atributos#oncommand" title="es/XUL/Atributos#oncommand">oncommand</a></code> en el <code><a href="/es/XUL/Elementos#button" title="es/XUL/Elementos#button">button</a></code>, simplemente lo colocamos sobre un elemento <code><a href="/es/XUL/Elementos#command" title="es/XUL/Elementos#command">command</a></code>. Los dos son entonces enlazados usando el atributo <code><a href="/Es/XUL/Atributos#command" title="es/XUL/Atributos#command">command</a></code> el cual tiene el valor del <code><a href="/Es/XUL/Atributos#id" title="es/XUL/Atributos#id">id</a></code> del comando. El resultado es que cuando el botón es presionado, el comando: '<code>cmd_openhelp</code>' es invocado.</p>
-
-<p><br>
- Hay dos ventajas al usar ésta técnica:</p>
-
-<ul>
- <li>Primero, que transfiere todas sus operaciones a comandos los cuales pueden ser agrupados juntos en una sección del archivo XUL. Esto significa que el código está todo junto y no esparcido por el código UI.</li>
-</ul>
-
-<ul>
- <li>La otra ventaja es que muchos botones u otros elementos UI pueden ser enlazados al mismo comando. Para empezar, usted puede tener un <a href="/es/Tutorial_de_XUL/Menús_de_Barras_Simples" title="es/Tutorial de XUL/Menús de Barras Simples">menu item</a>, un <a href="/es/Tutorial_de_XUL/Barra_de_Herramientas" title="es/Tutorial_de_XUL/Barra_de_Herramientas">botón de barra de herramientas</a> y un <a href="/es/Tutorial_de_XUL/Atajos_de_teclado" title="es/Tutorial_de_XUL/Atajos_de_teclado">atajo de teclado</a> todos para la misma operación. En vez de repetir el código tres veces, usted puede enlazar todos los tres al mismo comando. Normalmente, usted solo enlazará elementos que enviarían un evento de comando.</li>
-</ul>
-
-<p>Adicionalmente:</p>
-
-<ul>
- <li>Si usted coloca el atributo <code><a href="/Es/XUL/Atributos#disabled" title="es/XUL/Atributos#disabled">disabled</a></code> en el comando , el comando será deshabilitado y no será invocado.</li>
- <li>Cualquier botón y objeto del menú enlazados a éste serán deshabilitados automáticamente.</li>
- <li>Si usted rehabilita el comando, los botones se habilitan de nuevo.</li>
-</ul>
-
-<h4 id="Ejemplo_toggling_command_disabled" name="Ejemplo:_toggling_command_disabled">Ejemplo: toggling <code>command</code> disabled</h4>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_commands_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_commands_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;command id="cmd_openhelp" oncommand="alert('Ayuda');"/&gt;
-&lt;button label="Ayuda" command="cmd_openhelp"/&gt;
-&lt;button label="Más ayuda" command="cmd_openhelp"/&gt;
-
-&lt;button label="Desactivado"
- oncommand="document.getElementById('cmd_openhelp').setAttribute('disabled','true');"/&gt;
-&lt;button label="Activado"
- oncommand="document.getElementById('cmd_openhelp').removeAttribute('disabled');"/&gt;
-</pre>
-
-<p>En este ejemplo, ambos botones usan el mismo comando. Cuando un botón deshabilitar es presionado, el comando es deshabilitado al colocar su atributo <code><a href="/es/XUL/Atributos#disabled" title="es/XUL/Atributos#disabled">desactivado</a></code>, y ambos botones serán deshabilitados también.</p>
-
-<p>Es normal colocar un grupo de comandos dentro de un elemento</p>
-
-<p><code><a href="/es/XUL/Elementos#commandset" title="es/XUL/Elementos#commandset">commandset</a></code>, junto cerca del inicio del archivo XUL, tal como en el siguiente:</p>
-
-<pre>&lt;commandset&gt;
- &lt;command id="cmd_open" oncommand="alert('Abrir!');"/&gt;
- &lt;command id="cmd_help" oncommand="alert('Ayuda!');"/&gt;
-&lt;/commandset&gt;
-</pre>
-
-<p>Un comando es invocado cuando el usuario activa el botón u otro elemento agregado al comando. Usted puede también invocar un comando al llamar el método <code><a href="/es/XUL/M%C3%A9todos#doCommand" title="es/XUL/Métodos#doCommand">doCommand</a></code> cualquier elemento de l<code><a href="/es/XUL/Elementos#command" title="es/XUL/Elementos#command">comando</a></code> o un elemento agregado al comando tal como un botón.</p>
-
-<h3 id="Command_Dispatching" name="Command_Dispatching">Command Dispatching</h3>
-
-<p>Es posible usar comandos sin el elemento <code><a href="/es/XUL/Elementos#command" title="es/XUL/Elementos#command">comando</a></code> elements, o al menos, sin añadir un atributo <code><a href="/es/XUL/Atributos#oncommand" title="es/XUL/Atributos#oncommand">oncommand</a></code> al comando. In this case, the command will not invoke a script directly, but instead, find an element or function which will handle the command. This function may be separate from the XUL itself, and might be handled internally by a widget. In order to find something to handle the command, XUL uses an object called a command dispatcher. This object locates a handler for a command. A handler for a command is called a controller. So, essentially, when a command is invoked, the command dispatcher locates a controller which can handle the command. You can think of the <code><a href="/es/XUL/Elementos#command" title="es/XUL/Elementos#command">comando</a></code> element as a type of controller for the command.</p>
-
-<p>The command dispatcher locates a controller by looking at the currently focused element to see if it has a controller which can handle the command. XUL elements have a <code><a href="/es/XUL/Propiedades#controllers" title="es/XUL/Propiedades#controllers">controladores</a></code> property which is used to check. You can use the <code><a href="/es/XUL/Propiedades#controllers" title="es/XUL/Propiedades#controllers">controladores</a></code> property to add your own controllers. You might use this to have a listbox respond to cut, copy and paste operations, for instance. An example of this will be provided later. By default, only textboxes have a controller that does anything. The textbox controller handles clipboard operations, selection, undo and redo as well as some editing operations. Note that an element may have multiple controllers, which will all be checked.</p>
-
-<p>If the currently focused element does not have a suitable controller, the window is checked next. The window also has a <code><a href="/es/XUL/Propiedades#controllers" title="es/XUL/Propiedades#controllers">controladores</a></code> property which you can modify if desired. If the focus is inside a frame, each frame leading to the top-level window is checked as as well. This means that commands will work even if the focus is inside a frame. This works well for a browser, since editing commands invoked from the main menu will work inside the content area. Note that HTML also has a commands and controller system although you can't use it on unprivileged web pages, but you may use it from, for example, a browser extension. If the window doesn't provide a controller capable of handling the command, nothing will happen.</p>
-
-<p>You can get the command dispatcher using the document's <code>commandDispatcher</code> property, or you can retrieve it from the controllers list on an element or a window. The command dispatcher contains methods for retrieving controllers for commands and for retrieving and modifying the focus.</p>
-
-<h4 id="A.C3.B1adiendo_controladores" name="A.C3.B1adiendo_controladores">Añadiendo controladores</h4>
-
-<p>You can implement your own controllers to respond to commands. You could even override the default handling of a command with careful placement of the controller. A controller is expected to implement four methods, which are listed below:</p>
-
-<dl>
- <dt>supportsCommand (command) </dt>
- <dd>this method should return true if the controller supports a command. If you return false, the command is not handled and command dispatcher will look for another controller. A single controller may support multiple commands.</dd>
- <dt>isCommandEnabled (command) </dt>
- <dd>this method should return true if the command is enabled, or false if it is disabled. Corresponding buttons will be disabled automatically.</dd>
- <dt>doCommand (command) </dt>
- <dd>execute the command. This is where you would put the code to handle the command.</dd>
- <dt>onEvent (event) </dt>
- <dd>this method handles an event.</dd>
-</dl>
-
-<h5 id="Ejemplo_implementaci.C3.B3n_del_controlador" name="Ejemplo:_implementaci.C3.B3n_del_controlador">Ejemplo: implementación del controlador</h5>
-
-<p>Let's assume that we want to implement a listbox that handles the delete command. When the user selects Delete from the menu, the listbox deletes the selected row. In this case, you just need to attach a controller to a listbox which will perform the action in its <code>doCommand</code> method.</p>
-
-<p>Try opening the example below (<a href="https://developer.mozilla.org/samples/xultu/examples/commands.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/commands.xul">Ver en funcionamiento</a>) in a browser window and selecting items from the list. You'll notice that the Delete command on the browser's Edit menu is enabled and that selecting it will delete a row. (See <a href="/Talk:es/XUL_Tutorial/Commands" title="Talk:es/XUL_Tutorial/Commands">Discussion</a> about opening this example). The example below isn't completely polished. Really, we should ensure that the selection and focus is adjusted appropriately after a deletion.</p>
-
-<pre>&lt;window id="controller-example" title="Ejemplo de controlador" onload="init();"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;script&gt;
-function init()
-{
- var list = document.getElementById("laLista");
-
- var listController = {
- supportsCommand : function(cmd){ return (cmd == "cmd_delete"); },
- isCommandEnabled : function(cmd){
- if (cmd == "cmd_delete") return (list.selectedItem != null);
- return false;
- },
- doCommand : function(cmd){
- list.removeItemAt(list.selectedIndex);
- },
- onEvent : function(evt){ }
- };
-
- list.controllers.appendController(listController);
-}
-&lt;/script&gt;
-
-&lt;listbox id="laLista"&gt;
- &lt;listitem label="Ocean"/&gt;
- &lt;listitem label="Desert"/&gt;
- &lt;listitem label="Jungle"/&gt;
- &lt;listitem label="Swamp"/&gt;
-&lt;/listbox&gt;
-
-&lt;/window&gt;
-</pre>
-
-<p>The controller (listController) implements the four methods described above. The <code>supportsCommand</code> method returns true for the 'cmd_delete' command, which is the name of the command used when the Delete menu item is selected. For other commands, false should be returned since the controller does not handle any other commands. If you wanted to handle more commands, check for them here, since you will often use a single controller for multiple related commands.</p>
-
-<p>The <code>isCommandEnabled</code> method returns true if the command should be enabled. In this case, we check if there is a selected item in the listbox and return true if there is. If there is no selection, false is returned. If you delete all the rows in the example, the Delete command will become disabled. You may have to click the listbox to update the menu in this simple example. The <code>doCommand</code> method will be called when the Delete menu item is selected, and this will cause the selected row in the listbox to be deleted. Nothing needs to happen for the <code>onEvent</code> method, so no code is added for this method.</p>
-
-<h4 id="Override_Default_Controller" name="Override_Default_Controller">Override Default Controller</h4>
-
-<p>We attach this controller to the listbox by calling the <code>appendController</code> method of the listbox's <code><a href="/es/XUL/Propiedades#controllers" title="es/XUL/Propiedades#controllers">controladores</a></code>. The <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIControllers.html">el objeto controlador</a> has a number of methods that may be used to manipulate the controllers. For instance, there is also an <code>insertControllerAt</code> method which inserts a controller into an element before other ones. This might be useful to override commands. For example, the following example will disable pasting into a textbox.</p>
-
-<pre>var tboxController = {
- supportsCommand : function(cmd){ return (cmd == "cmd_paste"); },
- isCommandEnabled : function(cmd){ return false; },
- doCommand : function(cmd){ },
- onEvent : function(evt){ }
-};
-
-document.getElementById("tbox").controllers.insertControllerAt(0,tboxController);
-</pre>
-
-<p>In this example, we insert the controller at index 0, which means before any others. The new controller supports the 'cmd_paste' command and always indicates that the command is disabled. The default textbox controller never gets called because the command dispatcher found the controller above to handle the command first.</p>
-
-<p>Seguimos con la <a href="/es/Tutorial_de_XUL/Actualizar_comandos" title="es/Tutorial_de_XUL/Actualizar_comandos">actualización de comandos</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Foco_y_Selección" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Actualizar_comandos">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_entrada/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_entrada/index.html
deleted file mode 100644
index 30cfc30cbc..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_entrada/index.html
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: Controles de entrada
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Controles_de_entrada
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Input_Controls
----
-<p>XUL tiene elementos que son similares a los controles de los formularios de HTML</p>
-<h3 id="Campos_de_Entrada_de_Texto" name="Campos_de_Entrada_de_Texto">Campos de Entrada de Texto</h3>
-<p>HTML tiene un elemento de entrada que puede ser usado para mandos de entrada de texto. XUL tiene un elemento similar, textbox, usado para campos de entrada de texto. Sin cualquier atributo, el elemento textbox crea una caja en la cual el usuario puede entrar en el texto. Textboxes aceptan muchos de los mismos atributos que mandos de entrada de HTML. Lo siguiente es algunos de ellos:</p>
-<p><strong>id</strong></p>
-<p>Un identificador único de modo que usted puede identificar el textbox.</p>
-<p><strong>class</strong></p>
-<p>La clase de estilo del textbox.</p>
-<p><strong>value</strong></p>
-<p>Si usted quiere que el textbox tenga un texto por defecto, suminístrelo del atributo de valor.</p>
-<p><strong>disabled</strong></p>
-<p>Si vale verdadero desactiva el componente.</p>
-<p><strong>type</strong></p>
-<p>Existen una serie de valores que cambian el comportamiento del textbox. Por ejemplo 'password' hace que lo escrito quede oculto y suele usarse para campos de contraseña.</p>
-<p><strong>maxlength</strong></p>
-<p>El número máximo de los carácteres a los cuales el textbox permite.</p>
-<p>Note que mientras en HTML, varias clases diferentes de campos pueden ser creadas con el elemento de entrada, en XUL hay elementos separados para cada tipo. El ejemplo siguiente muestra algún textboxes:</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<pre>&lt;label control="some-text" value="Enter some text"/&gt;
-&lt;textbox id="some-text"/&gt;
-&lt;label control="some-password" value="Enter a password"/&gt;
-&lt;textbox id="some-password" type="password" maxlength="8"/&gt;
-</pre>
-<p>Los ejemplos textbox encima crearán las entradas de texto que sólo pueden ser usadas para entrar en una línea de texto. HTML también tiene un elemento textarea para crear una entrada de texto más grande el área. En XUL, usted puede usar el elemento textbox por esta razón también - dos elementos separados no son necesarios. Si usted pone el atributo de multilínea a verdadero, el campo de entrada de texto mostrará filas de mutliple.</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_2.xul">Ver en funcionamiento</a></p>
-<pre>&lt;textbox multiline="true"
- value="Esto es un texto que podría ser ajustado en multiples líneas."/&gt;
-</pre>
-<p>Similar al elemnento HTML <code>textarea</code>, puedes usar los tributos <code>rows</code> y <code>cols</code> para seleccionar el tamaño. Esto debería seleccionar el nñumero de filas y columnas de caracteres a mostrar.</p>
-<div class="highlight">
- <p>Vamos a añadir un campo de entrada de busqueda para el dialogo buscar archivo. Usaremos el elemento <code>textbox</code>.</p>
- <pre class="eval"><span class="highlightred">&lt;label value="Buscar por:" control="find-text"/&gt;</span>
-<span class="highlightred">&lt;textbox id="find-text"/&gt;</span>
-
-&lt;button id="find-button" label="Find"/&gt;
-</pre>
- <p>Añade estas líneas antes de los botones que creamos en la última sección. Si abres esta ventana, verás algo parecido a lo que se muestra en la imagen siguiente.</p>
- <p><img alt="Image:inputs1.jpg"></p>
- <p>Nota que la etiqueta y el campo de entrada de texto ahora aparecen en la ventana. La caja de etxto es completamente funcional y puedes teclear dentro y seleccionar texto. Nota que el atributo de control tiene que estar siendo usado con la caja de texto seleccionada cuando la etiqueta se pulsa.</p>
-</div>
-<h3 id="Cajas_de_Chekeo_y_Botones_de_Radio" name="Cajas_de_Chekeo_y_Botones_de_Radio">Cajas de Chekeo y Botones de Radio</h3>
-<p>Dos elementos adicionales son usados para crear las cajas de chekeo y los botones de radio. Son variaciones de botones. Las cajas de checkeo se usan para opciones que pueden ser habilitadas o desabilitadas. Los Botones de Radio pueden usarse para propositos similares cuando dentro de un grupo de elementos solo podemos seleccionar uno.</p>
-<p>La mayoría de los atributos de las cajas de checkeo y los botones de radio coinciden con los de los botones. El ejemplo siguiente muestra algunas cajas de checkeo y botones de radio simples.</p>
-<pre>&lt;checkbox id="case-sensitive" checked="true" label="Case sensitive"/&gt;
-&lt;radio id="orange" label="Orange"/&gt;
-&lt;radio id="violet" selected="true" label="Violet"/&gt;
-&lt;radio id="yellow" label="Yellow"/&gt;
-</pre>
-<p>La primera línea crea una caja de checkeo simple. Cuando el usuario hace click en la aja de checkeo, esta cambia entre checkeada y no checkeada. El atributo <code>checked</code> puede usarse para indicar el estado por defecto. Puedes seleccionarlo como <code>true</code> o <code>false</code>. El atributo etiqueta puede usarse para asignar una etiqueta que aparezca despues de la caja de chekeo. Para los botones de radio, deberías usar el atributo <code>selected</code> en lugar del atributo <code>checked</code>. Seleccionalo a <code>true</code> para tener un botón de radio seleccionado por defecto, o dejalo para otros botones de radio.</p>
-<p>Para que un grupo de botones de radio trabajen junto, necesitas usar el elemento <a class="external" href="http://www.xulplanet.com/references/elemref/ref_radiogroup.html">radiogroup</a>. Solo uno de los botones de radio en un grupo de botones de radio puede estar seleccionado. Pulsando en uno desactivaras el resto de los botones de radio en el mismo grupo. El siguiente ejemplo demuestra esto.</p>
-<h4 id="Ejemplo_3" name="Ejemplo_3">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_3.xul">Ver en funcionamiento</a></p>
-<pre>&lt;radiogroup&gt;
- &lt;radio id="orange" label="Orange"/&gt;
- &lt;radio id="violet" selected="true" label="Violet"/&gt;
- &lt;radio id="yellow" label="Yellow"/&gt;
-&lt;/radiogroup&gt;
-</pre>
-<p>Como los botones, la cajas de checkeo y los botones de radio estan hechos de una etiqueta y una imagen, donde la imagen cambia entre checkeado y no checkeado cuando se pulsa. Las cajas de checkeo tienen la muchos de los atributos de los botones:</p>
-<dl>
- <dt>
- label </dt>
- <dd>
- La etiqueta de las cajas de checkeo o botones de radio.</dd>
- <dt>
- disabled </dt>
- <dd>
- Seleecciona entre <code>true</code> or <code>false</code> para habilitar o deshabilitar una caja de checkeo o botón de radio.</dd>
- <dt>
- accesskey </dt>
- <dd>
- Las teclas de acceso rápido pueden usarse para seleccionar el elemento. La letra especificada es normalmente subrallada en la etiqueta.</dd>
-</dl>
-<h3 id="Llevando_el_ejemplo_Burcar_Archivos_m.C3.A1s_lejos" name="Llevando_el_ejemplo_Burcar_Archivos_m.C3.A1s_lejos">Llevando el ejemplo Burcar Archivos más lejos</h3>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-inputs.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-inputs.xul">Ver en funcionamiento</a></p>
-<p>En la siguiente sección, veremos algunos elementos para crear cajas de listas.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_listas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_listas/index.html
deleted file mode 100644
index 53a621b470..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/controles_de_listas/index.html
+++ /dev/null
@@ -1,171 +0,0 @@
----
-title: Controles de listas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Controles_de_listas
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/List_Controls
----
-<p>XUL tiene una cantidad de tipos de elementos para la cración de cajas de listas.</p>
-
-<h3 id="Cajas_de_listas" name="Cajas_de_listas">Cajas de listas</h3>
-
-<p>Una caja de listas de usa para mostrar un número de elementos en una lista. El usuario puede seleccionar un elemento de la lista.</p>
-
-<p>XUL provee dos tipos de elementos para crear listas, un elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listbox.html">listbox</a></code> para crear cajas de listas de multiples filas, y un elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menulist.html">menulist</a></code> para crear listas desplegables. Trabajan de forma muy similar al elemento de HTML <code>select</code>, el cual permite embas funciones, pero los elementos XUL tienes caracteristicas adicionales.</p>
-
-<p>La caja de listas más simple usa el elemento <code>listbox</code> para su propia caja, y el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listitem.html">listitem</a></code> para cada elemento. Por ejemplo, esta lista tendrá cuatro filas, una por cada elemento.</p>
-
-<p><strong>Ejemplo 1</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;listbox&gt;
- &lt;listitem label="Butter Pecan"/&gt;
- &lt;listitem label="Chocolate Chip"/&gt;
- &lt;listitem label="Raspberry Ripple"/&gt;
- &lt;listitem label="Squash Swirl"/&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p><img alt="Image:lists1.jpg"></p>
-
-<p>Similar al elemento HTML <code>option</code>, Puedes asignar un valor para cada elemento usando el atributo <code>value</code>. Puedes entonces usar el valor en un script. La caja de listas tendrá por defecto el tamaño de las filas de la lista, pero puedes controlar el tamaño con el atributo rows. Seleccionando el número de <code>rows</code> a mostrar en la caja de lista. Una barra de desplazamiento aparecerá para mostrar al usuario las filas adicionales.</p>
-
-<p>El siguiente ejemplo demuestra estas características adicionales:</p>
-
-<p><strong>Ejemplo 2</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;listbox rows="3"&gt;
- &lt;listitem label="Butter Pecan" value="bpecan"/&gt;
- &lt;listitem label="Chocolate Chip" value="chocchip"/&gt;
- &lt;listitem label="Raspberry Ripple" value="raspripple"/&gt;
- &lt;listitem label="Squash Swirl" value="squash"/&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>El ejemplo fue cambiado para mostrar sólo 3 filas a la vez. Los valores se han añadido a los elementos de la lista. Las cajas de listas tienen algunas características adicionales, las cuales se describirán más adelante.</p>
-
-<h3 id="Cajas_de_lista_multi-columna" name="Cajas_de_lista_multi-columna">Cajas de lista multi-columna</h3>
-
-<p>Las cajas de listas tambien soportan multiples columnas. Cada celda puede tener un contenido arbitrario dentro, aunque generalmente sólo se usa texto. Cuando el usuario selecciona un elemento de la lista, la fila entera se selecciona. No tendrás una sola celda seleccionada.</p>
-
-<p>Se usan dos campos para especificar las columnas en la caja de listas. El elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listcols.html">listcols</a></code> se usa para mantener la información de la columna, cada una de las cuales se especifica usando un elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listcol.html">listcol</a></code> . Necesitas un elemento <code>listcol</code> para cada columna en la caja de listas.</p>
-
-<p>Las cajas de lista no poseen un equivalente al elemento rows de las grillas. De hecho, hay un equivalente, pero es creado y puesto en la caja de lista automáticamente. También está oculto para que no se sepa que está allí.</p>
-
-<p>El elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listcell.html">listcell</a></code> (celda de lista) puede ser utilizado para cada celda en una fila. Si se quiere tener tres columnas, se necesita adicionar tres elementos <code>listcell</code> dentro de cada <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_listitem.html">listitem</a></code>. Para especificar el texto contenido en una celda debe colocarse dentro del elemento un atributo <code>label</code>. Para el simple caso donde hay una sola columna, también puede ponerse los atributos <code>label</code> directamente en los elementos <code>listitem </code> (ítem de lista) correspondientes y no utilizar elementos <code>listcell</code>, como se muestra en el siguente ejemplo.</p>
-
-<p>(Cuando el usuario selecciona un item, toda la fila es seleccionada. No es posible seleccionar una celda individualmente.)</p>
-
-<p>El siguiente ejemplo es de una caja de lista con dos columnas y tres filas:</p>
-
-<p><strong>Ejemplo 3</strong></p>
-
-<pre class="eval">&lt;listbox&gt;
- &lt;listcols&gt;
- &lt;listcol flex="1"/&gt;
- &lt;listcol flex="2"/&gt;
- &lt;/listcols&gt;
- &lt;listitem&gt;
- &lt;listcell label="Jorge"/&gt;
- &lt;listcell label="Pintor de casas"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="María Elena"/&gt;
- &lt;listcell label="Fabricante de velas"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Rogelio"/&gt;
- &lt;listcell label="Matón"/&gt;
- &lt;/listitem&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>Esta caja de lista posee dos columnas, siendo la segunda el doble de flexible que la primera. Si se reduce el tamaño horizontalmente, las etiquetas en las celdas se recortarán automáticamente. Como con otros elementos, puede utilizarse el atributo crop en las celdas o en los ítems para controlar el recorte.</p>
-
-<h3 id="Filas_de_encabezado" name="Filas_de_encabezado">Filas de encabezado</h3>
-
-<p>Las cajas de lista también permiten la utilización de una fila especial, la fila encabezado. Es muy parecida a una fila regular excepto que se la muestra de manera distinta. Puede ser aprovechada para crear encabezados en las columnas. Se utilizan dos elementos.</p>
-
-<p>El elemento cabeza de lista (<code>listhead</code>) se usa para las filas de encabezado, al igual que el elemento <code>listitem</code> se utiliza para filas comunes. Sin embargo la fila de encabezado no es una fila normal, por lo que si se usara un guión para obtener la primer fila en una caja de lista, la fila de encabezado no sería tenida en cuenta.</p>
-
-<p>El elemento <code>listheader</code> (encabezado de lista) indica cada celda en la fila de encabezado. Para indicar el texto dentro de la celda de encabezado se utiliza el atributo <code>label</code></p>
-
-<p>Este sería el ejemplo anterior pero con una fila de encabezado:</p>
-
-<p><strong>Ejemplo 4</strong></p>
-
-<pre class="eval">&lt;listbox&gt;
- &lt;listhead&gt;
- &lt;listheader label="Nombre"/&gt;
- &lt;listheader label="Ocupación"/&gt;
- &lt;/listhead&gt;
- &lt;listcols&gt;
- &lt;listcol flex="1"/&gt;
- &lt;listcol flex="2"/&gt;
- &lt;/listcols&gt;
- &lt;listitem&gt;
- &lt;listcell label="Jorge"/&gt;
- &lt;listcell label="Pintor de casas"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="María Elena"/&gt;
- &lt;listcell label="Fabricante de velas"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Rogelio"/&gt;
- &lt;listcell label="Matón"/&gt;
- &lt;/listitem&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>En este ejemplo, el atributo <code><a href="es/XUL/Atributo#flex">flex</a></code> se usa para hacer la columna flexible. Este atributo será descrito en una sección posterior, pero aqui permite que la columna rellene todo el espacio horizontal disponible. Puedes redimensionar la ventana para ver que la columna se estrecha cuando la ventana lo hace. Si cortas el tamaño horizontalmente, las etiquetas de las celdas se cortarán automáticamente usando una elipsis. Puedes usar el atributo <code><a href="es/XUL/Atributo#crop">crop</a></code> en las celdas o elementos seleccionados con el valor <code>none</code> para deshablitar la elipsis.</p>
-
-<h3 id="Listas_desplegables" name="Listas_desplegables">Listas desplegables</h3>
-
-<p>Las listas desplegables se crean en HTML usando el elemento <code>select</code> . El usuario puede ver una sola elección en una caja de texto y hacer click en la flecha o algo similar como un botón pegado a la caja de texto para realizar una selección diferente. Las otras opciones aparecerán en una ventana emergente. XUL tiene un elemento <code>[[XUL:Elemento#menulista|lista de menú}}</code> que puede usarse para este proposito. Consiste en una caja de texto con un btón adjunto. El nombre se eligió porque muestra un menu emergente con las opciones en el.</p>
-
-<p>Se necesitan tres elementos para describir una lista desplegable. El primero es el elemento <code>menulist</code> , que crea la caja de texto con el botón adjunto. El segundo, <code><a href="es/XUL/Elemento#menupopup">menupopup</a></code>, crea la ventana de menu emergente que aparecerá cuando el botón sea pulsado. El tercero, <code><a href="es/XUL/Elemento#menuitem">menuitem</a></code>, crea cada opción individual.</p>
-
-<p>Su sintaxis se describe mejor con el siguiente ejemplo:</p>
-
-<p><strong>Ejemplo 5</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_5.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:inputs2.png"></div>
-
-<pre>&lt;menulist label="Bus"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Coche"/&gt;
- &lt;menuitem label="Taxi"/&gt;
- &lt;menuitem label="Bus" selected="true"/&gt;
- &lt;menuitem label="Tren"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-
-<p>Esta lista de menu contiene cuatro opciones, una por cada elemento <code><a href="es/XUL/Elemento#menuitem">menuitem</a></code> . Para mostrar las opciones, haz click en el botón de flecha en la lista de menu. Cuando se seleccione uno, este aparecerá como la opción en la lista de menu. El atributo <code><a href="es/XUL/Atributo#selected">selected</a></code> se usa para indicar el valor que tendrá la selección por defecto.</p>
-
-<h4 id="Lista_de_men.C3.BA_editable" name="Lista_de_men.C3.BA_editable">Lista de menú editable</h4>
-
-<p>Por defecto, solo puedes seleccionar opciones de la lista. No puedes introducir tu propio texto tecleandolo dentro. Una variante del menulist permite editar el texto dentro del campo. Por ejemplo, el campo URL en el navegador tiene una lista desplegable para seleccionar URLs tecleadas anteriormente, pero puedes teclaearla tu mismo.</p>
-
-<p>Para clear un menulist editable, añada el atributo <code><a href="es/XUL/Atributo#editable">editable</a></code> como sigue: <strong>Ejemplo 6</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_6.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_6.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;menulist editable="true"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="www.mozilla.org"/&gt;
- &lt;menuitem label="www.xulplanet.com"/&gt;
- &lt;menuitem label="www.dmoz.org"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-
-<p>El campo URL creado aqui tiene tres opciones predefinidas que el usuario puede seleccionar o puede introducir una propia escribiendo en el campo. El texto que el usuario introduzca no se añadirá como nueva opción. Porque el atributo <code>label</code> no se usa en este ejemplo, el valor por defecto será en blanco.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Controles_de_entrada" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Medidores_de_Progreso">Siguiente »</a></p>
-</div>
-
-<p><span class="comment">Categorías</span></p>
-
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_asistente/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_asistente/index.html
deleted file mode 100644
index e448d38424..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_asistente/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Crear un asistente
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Creando_un_asistente
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - para_revisar
-translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Wizard
----
-<p>Muchas aplicaciones usan un asistente para ayudar al usuario a realizar tareas complicadas. XUL proporciona una forma de crear fácilmente un asistente.</p>
-
-<h3 id="El_asistente" name="El_asistente">El asistente</h3>
-
-<p>Un asistente es un tipo especial de diálogo que contiene una serie de páginas. Los botones de navegación entre páginas aparecen en la parte inferior del diálogo. Los asistentes se utilizan habitualmente para ayudar al usuario en la realización de tareas complejas. Cada página contiene una única cuestión o varias preguntas relacionadas. Después de la última página, se lleva a cabo la operación.</p>
-
-<p>XUL proporciona un elemento <code><a href="/es/XUL/Elementos/wizard" title="es/XUL/Elementos/wizard">wizard</a></code> que permite crear asistentes. Los atributos colocados en el asistente se usan para controlar la navegación de éste. Al crear un asistente se usa la etiqueta <code><a href="/es/XUL/Elementos/wizard" title="es/XUL/Elementos/wizard">wizard</a></code> en lugar de la etiqueta <code><a href="/es/XUL/Elementos/window" title="es/XUL/Elementos/window">window</a></code>.</p>
-
-<p>El contenido del elemento <code><a href="/es/XUL/Elementos/wizard" title="es/XUL/Elementos/wizard">wizard</a></code> incluye el contenido de cada página del asistente. Las páginas del asistente se crean mediante el elemento <code> </code><code><a href="/es/XUL/Elementos/wizardpage" title="es/XUL/Elementos/wizardpage">wizardpage</a></code>. Puedes colocar cualquier contenido que desees dentro de cada <code><a href="/es/XUL/Elementos/wizardpage" title="es/XUL/Elementos/wizardpage">wizardpage</a></code>.</p>
-
-<div class="note">Ten en cuenta que actualmente los asistentes solo funcionan adecuadamente desde URLs chrome.</div>
-
-<p>El asistente consta de varias secciones y, por supuesto, el diseño  del asistente puede variar según el sistema operativo de cada plataforma. El asistente se mostrará generalmente con el aspecto de la plataforma del usuario. El aspecto típico incluirá un título en la parte superior, un grupo de botones de navegación en la parte inferior y el contenido de la página en medio de ambos.</p>
-
-<p>El título a lo largo de la parte superior se crea usando el atributo <code><a href="/es/XUL/Atributos/title" title="es/XUL/Atributos/title">title</a></code>, muy parecido al que podría usarse para una ventana normal. Los botones de navegación son creados automáticamente. </p>
-
-<h4 id="Un_ejemplo_de_asistente" name="Un_ejemplo_de_asistente">Un ejemplo de asistente</h4>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_wizard_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_wizard_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;wizard id="example-window" title="Select a Dog Wizard"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;wizardpage&gt;
- &lt;description&gt;
- Esta asistente le ayudará a seleccionar el tipo de perro que más le conviene."
- &lt;/description&gt;
- &lt;label value="¿Por qué quiere un perro?"/&gt;
- &lt;menulist&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Para que la gente se vaya"/&gt;
- &lt;menuitem label="Para que asuste a un gato"/&gt;
- &lt;menuitem label="Necesito un buen amigo"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;/wizardpage&gt;
-
- &lt;wizardpage description="Detalles del perro"&gt;
- &lt;label value="Proporcione detalles adicionales sobre el perro que le gustaría:"/&gt;
- &lt;radiogroup&gt;
- &lt;caption label="Tamaño"/&gt;
- &lt;radio value="small" label="Pequeño"/&gt;
- &lt;radio value="large" label="Grande"/&gt;
- &lt;/radiogroup&gt;
- &lt;radiogroup&gt;
- &lt;caption label="Género"/&gt;
- &lt;radio value="male" label="Macho"/&gt;
- &lt;radio value="female" label="Hembra"/&gt;
- &lt;/radiogroup&gt;
- &lt;/wizardpage&gt;
-
-&lt;/wizard&gt;
-</pre>
-
-<div class="float-right">
-<div class="float-right"><img alt="Image:wizard1.jpg" class="internal" src="/@api/deki/files/970/=Wizard1.jpg"></div>
-</div>
-
-<p>El asistente tiene dos páginas, una que tiene un menú desplegable y la otra botones redondos. El asistente será formateado automáticamente, con un título en la parte de arriba y botones en la parte de abajo. El usuario puede navegar entre las páginas con los botones de 'Anterior' (<em>Back</em>) y 'Posterior' (<em>Next</em>). Estos botones se activan y desactivan ellos mismos cuando es necesario. En la última página, además de estos anteriores, aparecerá el botón de Terminar/Finalizar. Todo esto es automático, no hay que hacer nada para manipular las páginas.</p>
-
-<p>El atributo <code><a href="/es/XUL/Atributos/description" title="es/XUL/Atributos/description">description</a></code> puede ser opcionalmente colocado en un elemento <code><a href="/es/XUL/Elementos/wizardpage" title="es/XUL/Elementos/wizardpage">wizardpage</a></code> a fin de proporcionar un subtítulo para esa página. En el ejemplo anterior, está puesto en la segunda página, pero no en la primera.</p>
-
-<h3 id="Gesti.C3.B3n_de_los_cambios" name="Gesti.C3.B3n_de_los_cambios">Gestión de los cambios en las página</h3>
-
-<p>Generalmente, desearás que se haga algo una vez se presione el botón Finalizar. Se puede definir un atributo <code>onwizardfinish</code>, dentro del elemento <code><a href="/es/XUL/Elementos/wizard" title="es/XUL/Elementos/wizard">wizard</a></code> para que sea así. Colócalo en un script que realice cualquier tarea que desees y que después devuelva 'true'. Este script se puede usar para guardar la información que incluye el usuario durante el asistente. Por ejemplo:</p>
-
-<pre>&lt;wizard id="example-window" title="Select a Dog Wizard"
- onwizardfinish="return saveDogInfo();"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-</pre>
-
-<p>Cuando el usuario haga clic sobre el botón Finalizar, es llamada la función <code>saveDogInfo()</code>, la cual se definirá en un archivo de script para guardar la información que se ha incluido. Si la función devuelve 'true', el asistente se cierra. Si devuelve 'false', entonces el asistente no se cerrará, lo que suele ocurrir, por ejemplo, si la función <code>saveDogInfo()</code> encuentra una entrada que no es válida.</p>
-
-<p>Existen otros atributos relacionados <code><a href="/es/XUL/Atributos/onwizardback" title="es/XUL/Atributos/onwizardback">onwizardback</a></code>, <code><a href="/es/XUL/Atributos/onwizardnext" title="es/XUL/Atributos/onwizardnext">onwizardnext</a></code> y <code><a href="/es/XUL/Atributos/onwizardcancel" title="es/XUL/Atributos/onwizardcancel">onwizardcancel</a></code>, que son llamados cuando los botones Volver, Siguiente y Cancelar son presionados respectivamente. Estas funciones son llamadas sin considerar qué página se está mostrando actualmente.</p>
-
-<p>Para llamar un código diferente dependiendo de qué página se encuentra el usuario, se utilizan los atributos <code><a href="/es/XUL/Atributos/onpagerewound" title="es/XUL/Atributos/onpagerewound">onpagerewound</a></code> o <code><a href="/es/XUL/Atributos/onpageadvanced" title="es/XUL/Atributos/onpageadvanced">onpageadvanced</a></code> en un elemento <code><a href="/es/XUL/Elementos/wizardpage" title="es/XUL/Elementos/wizardpage">wizardpage</a></code>. Funcionan de manera parecida a las otras funciones con la excepción que se puede usar código diferente en cada página. Esto te permite validar la información incluida en cada página antes de que continúe el usuario.</p>
-
-<p>Un tercer método consiste en usar los atributos <code><a href="/es/XUL/Atributos/onpagehide" title="es/XUL/Atributos/onpagehide">onpagehide</a></code> y <code><a href="/es/XUL/Atributos/onpageshow" title="es/XUL/Atributos/onpageshow">onpageshow</a></code> en el elemento <code><a href="/es/XUL/Elementos/wizardpage" title="es/XUL/Elementos/wizardpage">wizardpage</a></code>. Estos se llamarán cuando la página se oculte o se muestre, independientemente de qué botón se pulse (excepto cuando se presiona Cancel: tienes que usar <code><a href="/es/XUL/Atributos/onwizardcancel" title="es/XUL/Atributos/onwizardcancel">onwizardcancel</a></code> para comprobarlo).</p>
-
-<p>Estos tres métodos deberían proporcionar suficiente flexibilidad para gestionar la navegación tanto como necesites. La siguiente tabla es un resumen  de las funciones de los atributos que se llaman cuando el usuario pulsa Siguiente ('Next'), en el orden en que son comprobados. En el momento en que uno devuelva false, se cancelará la navegación.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Atributo</th>
- <th>Etiqueta</th>
- <th>Llamada</th>
- </tr>
- <tr>
- <td>pagehide</td>
- <td>wizardpage</td>
- <td>Llamada a la página que el usuario esta dejando.</td>
- </tr>
- <tr>
- <td>pageadvanced</td>
- <td>wizardpage</td>
- <td>Llamada a la página que el usuario esta dejando.</td>
- </tr>
- <tr>
- <td>wizardnext</td>
- <td>wizard</td>
- <td>Llamado en el asitente.</td>
- </tr>
- <tr>
- <td>pageshow</td>
- <td>wizardpage</td>
- <td>Llamada a la página que el usuario esta entrando.</td>
- </tr>
- </tbody>
-</table>
-
-<p>Un proceso similar ocurre para el botón Volver.</p>
-
-<div class="note">Siempre que trates de usar una función en el evento anterior, como con pageadvanced, deberías usar
-<p><code>return funcName()</code> en lugar de solo la llamada <code>funcName()</code>o no funcionará como se espera, por ejemplo</p>
-
-<pre class="eval"> &lt;wizardpage pageadvanced='return funcName()'&gt;&lt;/wizardpage&gt;&lt;/code&gt;
-</pre>
-</div>
-
-<p><br>
- </p><div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Diálogos_Abrir_y_Guardar" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Más_asistentes">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_instalador/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_instalador/index.html
deleted file mode 100644
index 031f186435..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_un_instalador/index.html
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: Creando un instalador
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Creando_un_instalador
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Creating_an_Installer
----
-<p> </p>
-
-<p>Esta sección describe como empaquetar una aplicación de XUL en un instalador.</p>
-
-<h3 id="Paquetes_de_XPInstall" name="Paquetes_de_XPInstall">Paquetes de XPInstall</h3>
-
-<p>Mozilla proporciona un mecanismo que se puede utilizar para empaquetar ventanas de XUL, scripts, skins y otros archivos en un solo instalador. Usted puede colocar este instalador en alguna parte para que los usuarios la puedan descargar. Un script simple puede ser usado para tener descargado el paquete e instalarlo. Este mecanismo se llama <a href="es/XPInstall">XPInstall</a> (plataforma cruzada de instalación).</p>
-
-<p>Los instaladores de XPInstall se empaquetan en archivos JAR. Dentro del archivo JAR, usted puede agregar todos los archivos que usted desea haber instalado. Además, los instaladores deben contener un script de instalación (un archivo llamado install.js) que se pueda utilizar para escribir el proceso de la instalación. Este script tiene acceso a varias funciones de instalación que se pueden utilizar para instalar archivos y componentes.</p>
-
-<p>Los instaladores del archivo JAR tienen típicamente la extensión .xpi (se pronuncia zippy) para distinguirlos de otros archivos. Los instaladores serán utilizados generalmente para instalar los componentes de Mozilla tales como skins nuevos, plugins y nuevos paquetes.Texto de Código</p>
-
-<p>Hay varios pasos implicados en abrir un instalador e instalar los componentes. Éstos se describen gradualmente abajo.</p>
-
-<ol>
- <li>Crea una pagina web desde la cual el usuario pueda descargar el software que se instalará. Esta página contendrá un ‘disparador de la instalación’ que es una pequeña parte del script que abre la instalación.</li>
- <li>Se le presenta al usuario un diálogo indicando que el paquete está siendo instalado. Es posible que el ‘disparador de la instalación’ abra múltiples instaladores. En este caso, serán presentados en una lista. El usuario puede elegir continuar o cancelar.</li>
- <li>Si el usuario elige continuar, se descargará el instalador del archivo XPI. Una barra de progreso se exhibe al usuario durante este proceso.</li>
- <li>El archivo install.js es extraído del archivo de la instalación y se ejecutara. Este script abrirá las funciones del instalador que indicarán qué partes del archivo deben ser instalados.</li>
- <li>Una vez que el script esté completo, el nuevo paquete ya habrá sido instalado. Si los paquetes múltiples están siendo instalados, sus scripts funcionarán en secuencia.</li>
-</ol>
-
-<h3 id="Disparadores_.28triggers.29_de_instalaci.C3.B3n" name="Disparadores_.28triggers.29_de_instalaci.C3.B3n">Disparadores (triggers) de instalación</h3>
-
-<p>Según lo indicado arriba, el proceso de la instalación es empezado por un ‘disparador de instalación’. Esto implica el uso del objeto global especial InstallTrigger. Este contiene varios métodos que se pueden utilizar para comenzar una instalación. Usted puede utilizar este objeto en el contenido local o remoto, significando que es conveniente para una descarga directa del sitio web.</p>
-
-<p>Vamos a crear un ejemplo de un disparador de instalación. Esto involucra el uso de la función InstallTrigger.install. Esta función tiene dos parámetros, el primero es una lista de los paquetes a instalar, y el segundo es una función de rellamada que será usada cuando la instalación se complete. Aquí está un ejemplo:</p>
-
-<pre>function doneFn ( name , result ){
- alert("The package " + name + " was installed with a result of " + result);}
-
-var xpi = new Object();
-xpi["Calendar"] = "calendar.xpi";
-InstallTrigger.install(xpi,doneFn);
-</pre>
-
-<p>Primero, definimos una función de rellamada doneFn que será ejecutada cuando la instalación se complete. Usted puede nombrar la función como prefiera. Esta función tiene dos parámetros. El primero es el nombre del paquete que acaba de ser instalado. Esto es importante si usted está instalando múltiples componentes. El segundo es un código de resultado. Si el resultado es 0, la instalación terminó con éxito. Si el resultado no es cero, quiere decir que hubo un error y el valor es el código del error. La función doneFn solo mostrará un mensaje de alerta al usuario.</p>
-
-<p>Después, creamos un vector xpi que contendrá el nombre (calendario) y URL (calendar.xpi) del instalador. Usted puede agregar una línea similar para cada paquete que desee instalar. Finalmente, ejecutamos la función de instalación.</p>
-
-<p>Cuando esta sección del script se ejecute, el archivo calendar.xpi será instalado.</p>
-
-<div class="highlight">
-<p>Vamos intentar esto con el diálogo de búsqueda de archivos.</p>
-
-<pre>function doneFn ( name , result ){
- if (result) alert("An error occured: " + result);
-}
-
-var xpi = new Object();
-xpi["Find Files"] = "findfile.xpi";
-InstallTrigger.install(xpi,doneFn);
-</pre>
-</div>
-
-<h3 id="El_archivo_de_XPI" name="El_archivo_de_XPI">El archivo de XPI</h3>
-
-<p>Se requiere que el archivo XPI contenga un archivo llamado install.js que es un archivo <a href="es/JavaScript">JavaScript</a> que se ejecuta durante la instalación. Los archivos restantes son los archivos que se instalarán. Estos archivos típicamente están colocados dentro de un directorio dentro del archivo pero no es obligatorio. Los archivos cromo (chrome), deben estar estructurados como el directorio chrome.</p>
-
-<p>A menudo, los únicos archivos colocados en un archivo XPI serán el script de instalación (install.js) y un archivo JAR. Este archivo JAR contiene todos los archivos usados por la aplicación. Los componentes proporcionados con Mozilla se almacenan de esta manera.</p>
-
-<p>Debido a que el archivo XPI es un archivo tipo ZIP, usted puede crear y agregar archivos usando una aplicación que manipule estos archivos.</p>
-
-<p>Para el diálogo de búsqueda de archivos, crearemos una estructura en el archivo como el siguiente:</p>
-
-<div class="highlight">
-<pre>install.js
-findfile
- content
- contents.rdf
- findfile.xul
- findfile.js
- skin
- contents.rdf
- findfile.css
- locale
- contents.rdf
- findfile.dtd
-</pre>
-</div>
-
-<p>Se ha agregado un directorio para cada parte del paquete, del contenido, del skin y del ‘locale’. Los archivos contents.rdf también se han agregado porque serán necesarios para registrar los archivos 'chrome'.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Presentación_dinámica" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Instalando_Scripts">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_una_ventana/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/creando_una_ventana/index.html
deleted file mode 100644
index d751c77611..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/creando_una_ventana/index.html
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: Creando una ventana
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Creando_una_ventana
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Archivos_Manifest" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Añadiendo_botones">Siguiente »</a></p>
-</div>
-
-<h3 id="Creando_un_archivo_XUL" name="Creando_un_archivo_XUL">Creando un archivo XUL</h3>
-
-<p>Un archivo XUL puede tener cualquier nombre, pero debería tener una extensión .xul. El archivo XUL más simple tiene la siguiente estructura:</p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-&lt;!-- Otros elementos irán aquí --&gt;
-&lt;/window&gt;
-</pre>
-
-<p>Esta ventana no hará nada, ya que no contiene ningún elemento UI (Interfaz de Usuario), éstos serán añadidos en la siguiente sección. A continuación veremos línea por línea el código de arriba:</p>
-
-<ol>
- <li><strong>&lt;?xml version="1.0"?&gt;</strong><br>
- Esta línea simplemente define que éste es un archivo XML, normalmente deberíamos añadir esta línea al inicio de cada fichero xul, al igual que pondríamos la etiqueta HTML al principio de un archivo HTML.</li>
- <li><strong>&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;</strong><br>
- Esta línea se usa para especificar la hoja de estilos a utilizar por el archivo, y es la sintaxis que los ficheros XML utilizan para importar hojas de estilo. En este caso, nosotros importaremos los estilos ubicados en el apartado global de un paquete de temas. No especificaremos ningún fichero así Mozilla determinará que ficheros del directorio utilizar. En este caso, el todo-importante fichero global.css es seleccionado. Este fichero contiene todas las declaraciones por defecto para todos los elementos XUL. Como XML no sabe cuantos elementos debe visualizar, el fichero lo indica. Generalmente, deberemos poner esta línea en la parte superior de cada archivo XUL. También podemos importar otra hoja de estilos utilizando una sintaxis parecida. Normalmente importamos la hoja de estilo global desde dentro de nuestro archivo de estilos.</li>
- <li><strong>&lt;window</strong><br>
- Esta línea declara que estamos describiendo una <a href="es/XUL/Elementos">window</a>. Cada ventana de la interfaz de usuario es descrita en un fichero por separado. Esta etiqueta es parecida a la etiqueta BODY en HTML que engloba todo el contenido. Los atributos de la ventana serán colocados aquí, en este caso hay cuatro. En el ejemplo cada atributo es colocado en una línea distinta pero esto no debe ser hacer necesariamente.</li>
- <li><strong>id="findfile-window"</strong><br>
- El atributo <code><a href="es/XUL/Atributos">id</a></code> es usado como un identificador, de esta manera la ventana puede ser llamada desde scripts. Usualmente colocarás el atributo <code>id</code> a todos los elementos. El nombre lo eliges tú.</li>
- <li><strong>title="Find Files"</strong><br>
- Este atributo muestra el texto que aparecerá en la barra de títulos cuando se muestre la ventana. En el ejemplo aparecerá "Find Files".</li>
- <li><strong>orient="horizontal"</strong><br>
- Este atributo indica el orden de los ítems dentro de la ventana. El valor <code>horizontal</code> indica que los ítems serán colocados a través de la ventana. También puedes usar el valor <code> vertical</code> que ordenará los ítems en una columna. Este es el valor por defecto, asi que tal vez desees no utilizar este atributo si deseas mostrar los datos en columnas.</li>
- <li><strong>xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;</strong><br>
- Esta línea declara el nombre para XUL, que deberías colocar dentro de la etiqueta window para indicar que todo eso es XUL. Esta dirección no será descargada, Mozilla la reconocerá internamente.</li>
- <li><strong><span class="nowiki">&lt;!-- Otros elementos van aquí --&gt;</span></strong><br>
- Escribe en este bloque otros elementos (botones, menúes, y otros componentes de interfaz) que aparecen en la ventana. Pondremos algo de eso en el siguiente tomo de la sección..</li>
- <li><strong>&lt;/window&gt;</strong><br>
- Finalmente, debemos cerrar la etiqueta al final del fichero.</li>
-</ol>
-
-<h3 id="Abriendo_una_ventana" name="Abriendo_una_ventana">Abriendo una ventana</h3>
-
-<p>Al fin de abrir una ventana XUL, varios métodos son aplicables. Si se está solo en el estado del desarrollo, se puede escribir la URL (empezando con chrome:, file: o cualquier otro tipo de URL) en la barra de dirección de Mozilla. También se puede hacer doble clic sobre el archivo en la pantalla 'Abrir archivo', suponiendo que los archivos XUL están asociados a Mozilla. La ventana XUL aparecerá en la ventana del navegador en lugar de en una nueva ventana, pero suele ser suficiente durante los principios del desarrollo.</p>
-
-<p>El camino correcto, naturalmente, es de abrir la ventana utilizando a JavaScript. No es necesaria una sintaxis nueva se puede usar la función <a href="es/DOM/window.open">window.open()</a> igual que para los documentos <a href="es/HTML">HTML</a>. Aún así, una opción adicional, llamada 'chrome' es necesaria para indicar al navegador que el documento a abrir es <a href="es/DOM/window.open">chrome</a>. Ésta se abrirá sin barra de herramientas, ni menúes o cualquier otra cosa de las que suele tener de normal un navegador. La sintaxis se describe a continuación:</p>
-
-<pre>window.open(url,windowname,flags);
-
-donde el argumento 'flags' contiene "chrome" como en este ejemplo:
-
-window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300");
-</pre>
-
-<div class="highlight">
-<h5 id="Nuestro_ejemplo_de_b.C3.BAsqueda" name="Nuestro_ejemplo_de_b.C3.BAsqueda">Nuestro ejemplo de búsqueda</h5>
-
-<p>Empezaremos por crear el archivo básico para el dialogo de búsqueda. Lo llamaremos 'findfile.xul' y lo pondremos en el directorio especificado en el archivo 'findfile.manifest' (el cual hemos creado en la sección anterior). Ponerle la plantilla mostrada arriba de esta página y guardarlo.</p>
-</div>
-
-<p>Podemos usar el parámetro en línea de comando '-chrome' para especificar que archivo XUL tendrá que abrir Mozilla al empezar. Si no se ha especificado, la ventana por defecto será abierta (habitualmente la ventana del navegador). Por ejemplo, podríamos abrir el dialogo de búsqueda con una de las siguientes órdenes:</p>
-
-<pre>mozilla -chrome chrome://findfile/content/findfile.xul
-
-mozilla -chrome resource:/chrome/findfile/content/findfile.xul
-</pre>
-
-<p>Si utilizamos esta orden en línea (suponiendo que se pueda hacer en nuestra plataforma), el dialogo de búsqueda de archivo será abierto por defecto en lugar de la ventana de Mozilla. Pero como no hemos puesto ningún elemento gráfico, no la veremos. Colocaremos algunos elementos en la sección siguiente.</p>
-
-<p>Para ver aún así el efecto, lo siguiente abrirá la ventana de marcadores:</p>
-
-<pre class="eval"><span class="highlightred">Para Mozilla</span>
-mozilla -chrome <a class="external" rel="freelink">chrome://communicator/content/bookma...rksManager.xul</a>
-
-<span class="highlightred">Para Firefox</span>
-firefox -chrome <a class="external" rel="freelink">chrome://browser/content/bookmarks/b...rksManager.xul</a>
-</pre>
-
-<p>El argumento '-chrome' no da al archivo ningún privilegio adicional. En su lugar, causa que el archivo especificado se abra como una ventana en el nivel superior sin ningun atributo del browser chrome, como el campo de direcciones o menus. Solo las URLs chrome tienen privilegios adicionales.</p>
-
-<div class="note">Para escribir y ver inmediatamente los resultados en Mozilla, puede probar con <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">este editor XUL</a>.</div>
-
-<h3 id="Problemas" name="Problemas">Problemas</h3>
-
-<ul>
- <li>Si la ventana XUL no se muestra en el escritorio pero tiene un icono en la barra de tareas, revisaremos la declaración 'xml-stylesheet'. Nos aseguraremos de haber incluido correctamente la hoja de estilo:</li>
-</ul>
-
-<pre class="eval"> &lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-</pre>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Archivos_Manifest" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Añadiendo_botones">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_de_vistas_de_un_árbol/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_de_vistas_de_un_árbol/index.html
deleted file mode 100644
index 060dd9e5f9..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_de_vistas_de_un_árbol/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Detalles de Vistas de un árbol
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Detalles_de_Vistas_de_un_árbol
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Tree_View_Details
----
-<p> </p>
-<p>Además del contenido estático y RDF, los árboles pueden obtener su contenido de una vista personalizada.</p>
-<h3 id="Creando_una_vista_detallada_o_personalizada" name="Creando_una_vista_detallada_o_personalizada">Creando una vista detallada o personalizada</h3>
-<p>Hasta ahora hemos visto dos formas de definir el contenido de un árbol. Podemos poner filas y celdas estáticas dentro de un árbol o usar una fuente de datos RDF. El primer método funciona bíen siempre y cuando solo se traten de unos pocos datos. Usar una fuente de datos es adecuado cuando hay una disponible, ya sea una proporcionada con Mozilla o una creada por nosotros mismos. En algunos casos, podemos querer guardar datos en algún otro formato o realizar operaciones en ellos. XUL provee un tercer método, el cual requiere la creación de una vista personalizada con un guión.</p>
-<p>Este método puede ser usado para contener datos para cientos o miles de filas, que el árbol puede mostrar instantaneamente. Para ello implementamos un árbol como hasta ahora pero dejamos el elemento treechildren vacio. El siguiente ejemplo muestra como hacerlo:</p>
-<pre>&lt;tree id="miArbol" flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="colNombre" label="Nombre" flex="1"/&gt;
- &lt;treecol id="colFecha" label="Fecha" flex="1"/&gt;
- &lt;/treecols&gt;
- &lt;treechildren/&gt;
-&lt;/tree&gt;
-</pre>
-<p>Para asignar datos y que sean mostrados en el árbol, debemos crear un objecto guión que será usado para indicar que valor toma cada celda, el número total de filas y alguna otra información adicional. El objeto de guión estará asignado al árbol. El árbol llamará a los métodos del objeto para obtener la información que necesita mostrar.</p>
-<p>El objeto guión, llamado vista de árbol, soporta más o menos treinta métodos que puedes implementar para suministrar información acerca de los contenidos del árbol y su apariencia, pero solo tendremos que implementar una pequeña parte de ellos. Algunos métodos que deberemos implementar son:</p>
-<pre class="eval"> * rowCount
-</pre>
-<p>Esta propiedad deberá contener el número de líneas que queremos mostrar en el árbol.</p>
-<pre class="eval"> * getCellText( fila, columna )
-</pre>
-<p>Este método devuelve el contenido de una celda, especificada mediante los paramentros ‘fila’ y ‘columna’. Será llamada para mostrar los datos de cada celda. Las filas pasadas como paramentro es un número contando desde 0. Las columnas en cambio son los valores del atributo id definido en las columnas del árbol.</p>
-<pre class="eval"> * setTree( arbol )
-</pre>
-<p>Este método es llamado una sola vez para vincular el elemento árbol con la vista. Esto nos permite utilizar la misma vista con distintos árboles.</p>
-<p>Aquí mostramos un ejemplo de como definir el objeto, el cual puede tener el nombre que deseemos.</p>
-<pre>var vistaArbol = {
- rowCount : 10000,
- getCellText : function(fila, columna) {
- if (columna=="colNombre") return "Fila "+row;
- else return "18 de Febrero";
- },
- setTree: function(arbol){ this.treebox=arbol; },
- isContainer: function(fila){ return false; },
- isSeparator: function(fila){ return false; },
- isSorted: function(fila){ return false; },
- getLevel: function(fila){ return 0; },
- getImageSrc: function(fila,columna){ return null; },
- getRowProperties: function(fila,props){},
- getCellProperties: function(fila,columna,props){},
- getColumnProperties: function(idColumna,columna,props){}
-};
-</pre>
-<p>Las funciones de este ejemplo que no han sido descritas anteriormente, no necesitan realizar ninguna acción, pero si deben estar declaradas, ya que el árbol las llamará para intentar conseguir información adicional.</p>
-<p>Este ejemplo puede usarse para mostrar un arbol con 10.000 filas. El contenido de las celdas en la primera columna contendrán el texto ‘Fila X’, donde X es el número de fila. En la segunda columna todas las celdas contendrán el texto con la fecha ‘18 de Febrero’. La condición if de la función getCellText() compara el parametro columna con el texto ‘colNombre’. Este texto corresponde al id de la primera columna en la definición del árbol del ejemplo anterior. Por supuesto que este ejemplo es muy simple, en realidad deberíamos tener datos mucho más complejos en cada celda.</p>
-<p>El último paso es asociar el objeto vista con el árbol. El árbol tiene una propiedad llamada view, la cual puede ser asignada al objeto vista declarado anteriormente. Podremos asignarle un valor a esta propiedad en cualquier momento para poner o cambiar una vista.</p>
-<pre>function ponerVista() {
- document.getElementById('miArbol').view = vistaArbol;
-}
-</pre>
-<p>A continuación se incluye el ejemplo completo. Un guión incrustado ha sido usado aquí para simplificar el ejemplo. No obstante, normalmente pondremos los guiones en ficheros separados.</p>
-<p>Ejemplo 7.6.1</p>
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window title="Ejemplo de árbol" id="ventana-arbol"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- onload="ponerVista();"&gt;
-
-&lt;script&gt;
-var vistaArbol = {
- rowCount : 10000,
- getCellText : function(fila, columna) {
- if (columna=="colNombre") return "Fila "+row;
- else return "18 de Febrero";
- },
- setTree: function(arbol){ this.treebox=arbol; },
- isContainer: function(fila){ return false; },
- isSeparator: function(fila){ return false; },
- isSorted: function(fila){ return false; },
- getLevel: function(fila){ return 0; },
- getImageSrc: function(fila,columna){ return null; },
- getRowProperties: function(fila,props){},
- getCellProperties: function(fila,columna,props){},
- getColumnProperties: function(idColumna,columna,props){}
-};
-
-function ponerVista() {
- document.getElementById('miArbol').view = vistaArbol;
-}
-&lt;/script&gt;
-
-&lt;tree id="miArbol" flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="colNombre" label="Nombre" flex="1"/&gt;
- &lt;treecol id="colFecha" label="Fecha" flex="1"/&gt;
- &lt;/treecols&gt;
- &lt;treechildren/&gt;
-&lt;/tree&gt;
-
-&lt;/window&gt;
-</pre>
-<p>En la imagen, podemos ver dos columnas, cada una con datos generados por la función getCellText(). La función ponerVista() ha sido llamada en el gestor de eventos onload de la ventana. Tambíen hubieramos podido definir la vista más tarde si hubieramos querido. Podemos cambiar la vista en cualquier momento.</p>
-<p>Cabe especial mención que la función getCellText solo es llamada cuando es necesario para mostrar los contenidos. En el ejemplo anterior de 10.000 filas, getCellText solo es llamada para las celdas que se están mostrando actualmente. Cuando el usuario se desplaze por el árbol se irá llamando para las celdas que se pongan a la vista. Esto hace que el árbol sea mucho más eficiente.</p>
-<p>Tambíen podemos usar el objeto vista para árboles sin una vista personalizada. Por ejemplo, árboles construidos desde datos RDF tendrán un objeto vista que cogerá información de la fuente de datos RDF. Podemos usar el objeto vista para obtener información acerca de los datos mostrados por el árbol.</p>
-<p>El interfaz nsiTreeView (inglés) lista todas la propiedades y métodos que podemos implementar para las vistas de árbol.</p>
-<p>Siguiente, descubriremos como usar los comandos.</p>
-<p>NdT. según un comentario del tutorial del 5/3/05, el parametro Columna de la función getCellText() ya no es un string en las últimas versiones, sino un nsITreeColumn, el cual podemos obtener a través de columns.getNamedColumn(string)</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_del_modelo_de_caja/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_del_modelo_de_caja/index.html
deleted file mode 100644
index d97360678c..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/detalles_del_modelo_de_caja/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: Detalles del modelo de caja
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Detalles_del_modelo_de_caja
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Box_Model_Details
----
-<p> </p>
-<p>Hemos visto gran cantidad de características del modelo de caja. Aquí descubriremos unos cuantos detalles más con algunos ejemplos.</p>
-<h3 id="M.C3.A1s_detalles_del_esquema" name="M.C3.A1s_detalles_del_esquema">Más detalles del esquema</h3>
-<p>Las propiedades de estilo como min-width y max-height pueden ser aplicadas a cualquier elemento. Las hemos añadido a botones y cajas de texto, también podemos añadirlas a espaciadores o cajas. Además, el atributo flex puede ser aplicado a cualquier elemento.</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<pre>&lt;hbox flex="1"&gt;
- &lt;button label="Izquierda" style="min-width: 100px;" flex="1"/&gt;
- &lt;spacer flex="1"/&gt;
- &lt;button label="Derecha" style="min-width: 100px;" flex="1"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>En el ejemplo anterior, los tres elementos se redimensionarán solos porque todos ellos son flexibles. Los dos botones indican un ancho mínimo de 100 píxeles, su tamaño nunca será inferior al indicado pero podrán crecer a mayor altura. Aquí la ventana debería aparecer con unos 200 píxeles de ancho, eso es suficiente para los dos botones. Ya que estos tres elementos son flexibles, pero no requieren un mayor lugar, la flexibilidad no agregará espacio extra.</p>
-<p><a href="/@api/deki/files/557/=Boxdet1.png" title="Image:boxdet1.jpg"><img alt="Image:boxdet1.jpg" class="internal default" src="/@api/deki/files/557/=Boxdet1.png"></a></p>
-<p>Como se muestra en la imagen anterior, hay dos botones que se expandirán verticalmente hasta acomodarse a su contenedor, que en éste caso es un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_hbox.html">hbox</a></code>. El atributo <code>align</code> controla este comportamiento en una caja horizontal. También puede prevenirse esta expansión insertando una altura máxima en los elementos o, mejor aún, en la misma caja. Si una caja posee una altura máxima, los elementos dentro de la misma serán ceñidos a ella. Sin embargo, el problema con esto es que se deberá conocer de antemano qué tan grande será el elemento. Lo siguiente muestra el ejemplo anterior con un atributo <code>align</code> establecido.</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<pre>&lt;hbox flex="1" align="top"&gt;
- &lt;button label="Izquierda" style="min-width: 100px;" flex="1"/&gt;
- &lt;spacer flex="1"/&gt;
- &lt;button label="Derecha" style="min-width: 100px;" flex="1"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>Para lograr esquemas complicados, generalmente se necesitará añadir cajas anidadas, especificar tamaños mínimos y máximos en algunos elementos, y convertir a ciertos elementos en flexibles. La mejor internase es la que puede ser exhibida en varios tamaños sin problemas. El modelo de caja podría ser difícil de entender sin antes realizar varias cosas por uno mismo.</p>
-<p>A continuación una reseña de ambos tipos de cajas:</p>
-<p><strong>Cajas horizontales</strong></p>
-<ol>
- <li>Sitúan sus elementos uno después del otro horizontalmente.</li>
- <li>Los elementos flexibles se flexionan horizontalmente.</li>
- <li>El empaque controla la colocación horizontal de los elementos hijos.</li>
- <li>La alineación regula cómo la fila de elementos es alineada verticalmente.</li>
-</ol>
-<p><strong>Cajas verticales</strong></p>
-<ol>
- <li>Ponen sus elementos verticalmente en una columna.</li>
- <li>Los elementos flexibles se flexionan verticalmente.</li>
- <li>El empaque controla la ubicación vertical de los elementos hijos.</li>
- <li>La alineación regula cómo se alinea horizontalmente la columna de elementos hijos.</li>
-</ol>
-<p>Pueden ponerse cajas en cualquier parte de un archivo XUL, incluso dentro de un elemento HTML como una tabla; sin embargo, el esquema estará parcialmente controlado por el elemento HTML. Esto quiere decir que el <code>flex</code> podría no funcionar exactamente como se desee. Recuerde que la flexibilidad solo tiene significado para elementos que se encuentran directamente dentro de una caja o de algún elemento que sea un tipo de caja.</p>
-<h3 id="Ejemplos" name="Ejemplos">Ejemplos</h3>
-<h4 id="1._Utilizaci.C3.B3n_de_espaciadores" name="1._Utilizaci.C3.B3n_de_espaciadores">1. Utilización de espaciadores</h4>
-<pre>&lt;hbox&gt;
- &lt;button label="Uno"/&gt;
- &lt;spacer style="width: 5px"/&gt;
- &lt;button label="Dos"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>Aquí se utiliza un espaciador como separador entre dos botones, fijándole explícitamente un ancho de 5 píxeles. También podrían establecerse márgenes (usando la propiedad CSS <code>margin</code>).</p>
-<p>Here, a spacer is used as a separator between the two buttons, by setting an explicit width of 5 pixels. You could also set margins (using the CSS margin property).</p>
-<h4 id="2._Centrado_de_botones" name="2._Centrado_de_botones">2. Centrado de botones</h4>
-<pre>&lt;hbox pack="center" align="center" flex="1"&gt;
- &lt;button label="¡Mírame!"/&gt;
- &lt;button label="¡Presióname!"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>Este ejemplo contiene una caja horizontal flexible con dos botones en ella. La caja posee el atributo <code>pack</code> que se utiliza para centrar los botones horizontalmente. El atributo align alinea los botones verticalmente. El resultado es que los botones estarán centrados en la caja en ambas direcciones. Este ejemplo también funcionará con una caja vertical, aunque el segundo botón estará debajo del primero en lugar de a su lado.</p>
-<h4 id="3._Una_ventana_de_di.C3.A1logo_.E2.80.9CBuscar_texto.EF.BF.BD.3F" name="3._Una_ventana_de_di.C3.A1logo_.E2.80.9CBuscar_texto.EF.BF.BD.3F">3. Una ventana de diálogo “Buscar texto�?</h4>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="buscartexto" title="Buscar Texto" orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;vbox flex="3"&gt;
- &lt;label control="t1" value="Texto a buscar:"/&gt;
- &lt;textbox id="t1" style="min-width: 100px;" flex="1"/&gt;
- &lt;/vbox&gt;
-
- &lt;vbox style="min-width: 150px;" flex="1" align="start"&gt;
- &lt;checkbox id="c1" label="Ignorar mayúsculas/minúsculas"/&gt;
- &lt;spacer flex="1" style="max-height: 30px;"/&gt;
- &lt;button label="Buscar"/&gt;
- &lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
-<p>Aquí son creadas dos cajas verticales, una para la caja de texto y la otra para la casilla de verificación y el botón. La caja izquierda posee una flexibilidad que es tres veces mayor que la caja derecha así siempre recibirá el triple de espacio extra cuando se incremente el tamaño de la ventana. A la caja derecha se le impone un ancho mínimo de 150 píxeles.</p>
-<p>La caja de texto es flexible así podrá redimensionarse cuando la ventana lo haga, también se le ha impuesto un ancho mínimo de 100 píxeles. La casilla de verificación aparece a la derecha junto con su etiqueta. Justo debajo de esta caja hay un espaciador, el mismo crecerá y se reducirá pero sin exceder los 30 píxeles. El resultado es que la casilla de verificación y el botón de búsqueda estarán separados uno del otro por un espacio nunca mayor a 30 píxeles.</p>
-<p>La segunda caja posee un valor de alineación <code>start</code>, esto causa que los elementos hijos sean alineados en el borde izquierdo. Si esto fuera especificado, el valor por omisión sería <code>stretch</code>, lo que haría que los elementos se estiren horizontalmente. Como no queremos que el botón de búsqueda cambie su tamaño necesitamos especificar una alineación. <img alt="Image:boxdet-ex3.jpg"></p>
-<p>A continuación aprenderemos sobre un tipo da caja más especializado, la caja de grupo.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/divisores/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/divisores/index.html
deleted file mode 100644
index 729af7c557..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/divisores/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: Divisores
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Divisores
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Splitters
----
-<p>Ahora podemos ver como añadir divisores/separadores a una ventana.</p>
-
-<h3 id="Divisi.C3.B3n_de_una_caja" name="Divisi.C3.B3n_de_una_caja">División de una caja</h3>
-
-<p>Hay momentos en los cuales se necesita tener dos secciones en la ventana donde el usuario pueda dimensionar las partes. Un ejemplo es la ventana del navegador de Mozilla, donde se puede cambiar el tamaño del panel lateral desplazando la línea de intersección de los cuadros. También se puede esconder, picando la cruz del panel.</p>
-
-<h4 id="El_elemento_separador" name="El_elemento_separador">El elemento separador</h4>
-
-<p>Ésta funcionalidad es cumplida utilizando un elemento llamado un <code><a href="es/XUL/splitter">splitter</a></code>. Este elemento crea una barra fina entre los dos cuadros, lo cual permite dimensionar estos. Se puede poner un separador donde se quiera o necesite para permitir dimensionar los elementos situados antes o después de él en una misma caja.</p>
-
-<p>Cuando un separador se coloca en una caja horizontal, permite dimensionar horizontalmente. Si se coloca en una caja vertical, permite dimensionar verticalmente.</p>
-
-<p>La sintaxis de un separador es la siguiente:</p>
-
-<pre>&lt;splitter
- id="identifier"
- state="open"
- collapse="before"
- resizebefore="closest"
- resizeafter="closest"&gt;
-</pre>
-
-<p>Los atributos son los que siguientes:</p>
-
-<dl>
- <dt><a href="es/XUL/Atributos/id">id</a></dt>
- <dd>El identificador único de este separador.</dd>
-</dl>
-
-<dl>
- <dt><a href="es/XUL/Atributos/state">state</a></dt>
- <dd>Indica el estado del separador. Se pone en <code>open</code>, que es la opción por defecto, si se quiere que el panel dimensionable esté inicialmente abierto o en <code>collapsed</code> para que uno de los paneles sea completamente reducido y que el otro ocupe (colapse) todo el espacio.</dd>
-</dl>
-
-<dl>
- <dt><a href="es/XUL/Atributos/collapse">collapse</a></dt>
- <dd>Indica de que lado el panel debe reducirse cuando el separador es agarrado o iniciado en estado de colapse. Se definirá en <code>before</code> para designar elemento anterior al separador y en <code>after</code> para el elemento posterior. Poniéndolo en <code>none</code>, lo cual es la opción por defecto, el separador al ser agarrado no reducirá los paneles.</dd>
-</dl>
-
-<dl>
- <dt><a href="es/XUL/Atributos/resizebefore">resizebefore</a></dt>
- <dd>Cuando un separador es desplazado, los elementos a su izquierda (o encima) cambian de dimensiones. Éste atributo indica cual de los elementos puede dimensionarse. Para que el elemento inmediatamente a la izquierda del separador sea dimensionado, se definirá en <code>closest</code> (el valor por defecto) y en <code>farthest</code> para que sea el elemento más lejos a la izquierda (el primer elemento en la caja) el que sea dimensionado.</dd>
-</dl>
-
-<dl>
- <dt><a href="es/XUL/Atributos/resizeafter">resizeafter</a></dt>
- <dd>Cuando un separador es desplazado, los elementos a su derecha (o debajo) cambian de dimensiones. Éste atributo indica cual de los elementos puede dimensionarse. Para que el elemento inmediatamente a su derecha sea dimensionado, se definirá en <code>closest</code> (el valor por defecto) y en <code>farthest</code> para que sea el elemento más lejos a derecha (el último elemento en la caja) el que sea dimensionado. Éste atributo también se puede definir en <code>grow</code>, en este caso los elementos a su derecha no cambiarán de tamaño al mover el separador, pero si la caja entera.</dd>
-</dl>
-
-<p>Si se pone el atributo <code><a href="es/XUL/Atributos/collapse">collapse</a></code>, se añadirá también el elemento <code><a href="es/XUL/grippy">grippy</a></code> dentro del <code>splitter</code> para permitir que el usuario pueda utilizar el separador.</p>
-
-<h4 id="Ejemplo_con_separador" name="Ejemplo_con_separador">Ejemplo con separador</h4>
-
-<p>Aquí un ejemplo que puede ayudar:</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_splitter_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_splitter_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;vbox flex="1"&gt;
- &lt;iframe id="content-1" width="60" height="20" src="w1.html"/&gt;
- &lt;splitter collapse="before" resizeafter="farthest"&gt;
- &lt;grippy/&gt;
- &lt;/splitter&gt;
- &lt;iframe id="content-2" width="60" height="20" src="w2.html"/&gt;
- &lt;iframe id="content-3" width="60" height="20" src="w3.html"/&gt;
- &lt;iframe id="content-4" width="60" height="20" src="w4.html"/&gt;
-&lt;/vbox&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:splitter-ex1.jpg"></div>
-
-<p>Aquí, cuatro marcos han sido creados y un separador colocado entre el primero y el segundo. El atributo de <code><a href="es/XUL/Atributos/collapse">colapso</a></code> se ha definido en el valor <code>before</code>, para que si el separador es agarrado, el primer cuadro desaparezca y que el divisor y los marcos restantes se desplacen a la izquierda. El punto del cursor para mover el separador es centrado en relación a él-mismo.</p>
-
-<p>Al separador se le ha dado un valor <code><a href="es/XUL/Atributos/resizeafter">resizeafter</a></code> de <code>farthest</code>. Ésto hace que cuando el separador es movido, el elemento más lejos a su derecha cambiará de tamaño, en este caso el cuadro 4.</p>
-
-<p>A value has not been specified for <code><a href="es/XUL/Atributos/resizebefore">resizebefore</a></code> so it will default to a value of <code>closest</code>. In this case, there is only one frame before the splitter, so frame 1 will change size.</p>
-
-<p>Frames 2 and 3 will only change size if you drag the splitter far enough to the right that frame 4 has reached its minimum size.</p>
-
-<div class="float-right"><img alt="Image:splitter-ex2.jpg"></div>
-
-<p>This image shows the 4 panels with the splitter in a collapsed state.</p>
-
-<div class="float-right"><img alt="Image:splitter-ex3.jpg"></div>
-
-<p>This image shows the 4 panels with the splitter resized to the right. Notice how the middle two panels have not changed size. Only panel 1 and panel 4 have changed size. You can just see part of the fourth panel. If you continue to drag the splitter to the right, the other two panels will shrink.</p>
-
-<p>You can use the style properties such as <code>min-width</code>, <code>max-height</code> on the iframes to specify minimum or maximum widths or heights in the box. If you do, the splitter will detect this and not allow the user to drag the splitter past the minimum and maximum sizes.</p>
-
-<p>For example, if you specified a minimum width of 30 pixels on panel 4 above, it would not shrink below that size. The other two panels would have to shrink. If you set the minimum width of panel 1 to 50 pixels, you would only be able to drag the splitter 10 pixels to the left (as it starts at 60 pixels wide). You can still collapse the splitter however.</p>
-
-<p>You can also place more than one splitter in a box if you want, in which case you could collapse different parts of it. Similarly, you do not have to collapse just iframes. Any element can be collapsed.</p>
-
-<h3 id="Nuestro_ejemplo_de_b.C3.BAsqueda" name="Nuestro_ejemplo_de_b.C3.BAsqueda">Nuestro ejemplo de búsqueda</h3>
-
-<div class="highlight">
-<p>Let's see what the find file dialog looks like with a splitter in it. One possibility would be to add the results of the search in the dialog. We'll add an area in-between the search criteria and the buttons along the bottom. A splitter will allow you to collapse, or hide, the search results.</p>
-
-<pre class="eval">&lt;/tabbox&gt;
-
- <span class="highlightred">&lt;iframe src="results.html"/&gt;
- &lt;splitter resizeafter="grow"/&gt;</span>
-
- &lt;hbox&gt;
-</pre>
-
-<p>Here, a splitter and an iframe have been added to the dialog. We don't need the <code><a href="es/XUL/spacer">spacer</a></code> after the <code><a href="es/XUL/tabbox">tabbox</a></code> any more so we can remove it. The content of the frame is contained in a file called 'results.html'. Create this file and put whatever you want in it for now. The iframe will be replaced <a href="es/Tutorial_de_XUL/%c3%81rboles">más tarde</a> with a results list when we know how to create it. For now, it serves to demonstrate the splitter.</p>
-
-<p>The splitter has been set to a <code>collapse</code> value of <code>before</code> meaning that the element just before the splitter will collapse. Here, it is the iframe. As the images below show, when the grippy is clicked, the iframe is collapsed and the buttons shuffle up.</p>
-
-<p>The <code>resizeafter</code> attribute has been set to <code>grow</code> so that the elements after the splitter push themselves down when the splitter is dragged down. This results in the content of the frame growing to any size. It should be noted that the window does not resize itself automatically. You'll also notice that this is a horizontal splitter because it has been placed in a vertical box.</p>
-
-<p>Estado normal:</p>
-
-<p><img alt="Image:splitter1.png"></p>
-
-<p>Estado colapsado:</p>
-
-<p><img alt="Image:splitter2.png"></p>
-
-<p><strong>Nuestro ejemplo</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-splitter.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-splitter.xul">Ver en funcionamiento</a></p>
-</div>
-
-<p><br>
- </p><div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Paneles_de_contenidos" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Barras_de_desplazamiento">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/diálogos_abrir_y_guardar/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/diálogos_abrir_y_guardar/index.html
deleted file mode 100644
index ee9354c54b..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/diálogos_abrir_y_guardar/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Diálogos Abrir y Guardar
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Diálogos_Abrir_y_Guardar
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Open_and_Save_Dialogs
----
-<p>Un tipo común de diálogo es aquello donde el usuario puede elegir un archivo para abrirlo o guardarlo.</p>
-
-<h3 id="Selectores_de_archivos" name="Selectores_de_archivos">Selectores de archivos</h3>
-
-<p>Un selector de archivos es un diálogo que permite al usuario seleccionar un archivo. Generalmente se utiliza para las órdenes de menú: Abrir y Guardar, pero se pueden utilizar en cualquier lugar en que el usuario necesita elegir un archivo. Para implementar el selector de archivos se utiliza la interfaz <a href="es/NsIFilePicker">nsIFilePicker</a> de <a href="es/XPCOM">XPCOM</a>.</p>
-
-<p>Se puede usar el selector de archivos de un modo de los tres siguientes:</p>
-
-<ul>
- <li>Abrir: se le pide al usuario que seleccione un archivo.</li>
- <li>Seleccionar carpeta/directorio: se le pide al usuario que seleccione una carpeta.</li>
- <li>Guardar: se le pide al usuario que seleccione un nombre para guardar el archivo.</li>
-</ul>
-
-<p>La apariencia del diálogo será distinta en cada tipo y variará en cada plataforma. Cuando el usuario ha seleccionado un archivo o una carpeta, lo puede leer o escribir en él.</p>
-
-<p>La interfaz del selector de archivo nsIFilePicker es la encargada de mostrar el diálogo en uno de los tres modos. Usando la interfaz se puede configurar una serie de características del diálogo. Cuando se cierra el diálogo, se pueden usar las funciones de la interfaz para obtener el archivo que fue seleccionado.</p>
-
-<h4 id="Creando_un_selector_de_archivo" name="Creando_un_selector_de_archivo">Creando un selector de archivo</h4>
-
-<p>Para empezar, debes crear un componente selector de archivos e iniciarlo.</p>
-
-<pre>var nsIFilePicker = Components.interfaces.nsIFilePicker;
-var fp = Components.classes["@mozilla.org/filepicker;1"]
- .createInstance(nsIFilePicker);
-fp.init(window, "Select a File", nsIFilePicker.modeOpen);
-</pre>
-
-<p>Primero, se crea un nuevo objeto selector de archivos y es almacenado en la variable ‘fp’. La función ‘init’ se usa para iniciar el selector de archivos. Esta función toma tres argumentos, la ventana que está abriendo el diálogo, el título del diálogo y el modo. Aquí el modo es <code>modeOpen</code> (modoAbrir) el cual es usado para un diálogo Abrir. También se puede usar <code>modeGetFolder</code> (modoObtenerCarpeta) y <code>modeSave</code> (modoGuardar) para los otros dos modos. Estos modos son constantes de la interfaz <code>nsIFilePicker</code>.</p>
-
-<h4 id="Directorio_y_filtros_por_defecto" name="Directorio_y_filtros_por_defecto">Directorio y filtros por defecto</h4>
-
-<p>Hay dos características del diálogo que se pueden configurar antes de que se muestre.</p>
-
-<ul>
- <li>La primera es el directorio por defecto que se muestra cuando el diálogo es abierto.</li>
- <li>La segunda es un filtro que indica la lista de archivos que se muestran en el diálogo. Este se puede usar, por ejemplo, para ocultar todos los archivos menos los archivos HTML.</li>
-</ul>
-
-<p>Se puede configurar el directorio por defecto con la propiedad <code>displayDirectory</code> del objeto selector de archivos. El directorio debe ser un objeto <code><a href="es/NsILocalFile">nsILocalFile</a></code>. Si no asignas ningún valor, un directorio por defecto será escogido automáticamente. Para agregar filtros, se llama la función <code>apeendFilters()</code> para configurar los tipos de archivos que se desea mostrar.</p>
-
-<pre>fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterImages);
-fp.appendFilters(nsIFilePicker.filterText | nsIFilePicker.filterAll);
-</pre>
-
-<p>El primer ejemplo agrega filtros para archivos HTML e imágenes. Al usuario se le permitirá seleccionar sólo esos tipos de archivos. La forma de realizar esto depende de la plataforma. En algunas plataformas, cada filtro será separado y el usuario podrá seleccionar entre archivos HTML e imágenes. El segundo ejemplo agrega filtros para archivos de texto y para todos los archivos. Luego el usuario tiene la opción de elegir entre mostrar solo los archivos de texto o todos los archivos.</p>
-
-<p>También se puede usar <code>filterXML</code> y <code>filterXUL</code> para filtrar archivos XML y XUL. Si se desea crear un filtro en particular se puede utilizar la función <code>appendFilter()</code> de la siguiente manera:</p>
-
-<pre>fp.appendFilter("Audio Files","*.wav; *.mp3");
-</pre>
-
-<p>Esta línea agregará un filtro para archivos WAV y MP3. El primer argumento es el título del tipo de archivos y el segundo es una lista de máscaras de archivos separadas por punto y coma. Se puede agregar más o menos máscaras como sea necesario. También se puede llamar la función appendFilters tantas veces como sea necesario para agregar filtros adicionales. El orden en que se agregan determina su prioridad. Generalmente, el primero que se agrega es seleccionado por defecto.</p>
-
-<h4 id="Conseguir_el_archivo_seleccionado" name="Conseguir_el_archivo_seleccionado">Conseguir el archivo seleccionado</h4>
-
-<p>Finalmente, se puede mostrar el diálogo llamando la función ‘show’. No toma ningún parámetro pero devuelve un código de estado que indica que eligió el usuario. Note que la función no devuelve hasta que el usuario haya seleccionado un archivo. La función devuelve una de las tres siguientes constantes:</p>
-
-<ul>
- <li><strong>returnOK</strong>: el usuario seleccionó un archivo y presionó Aceptar. El archivo seleccionado será almacenado en la propiedad ‘file’ del selector de archivos.</li>
- <li><strong>returnCancel</strong>: el usuario presionó Cancelar.</li>
- <li><strong>returnReplace</strong>: en el modo guardar (save), este valor de retorno indica que el usuario ha seleccionado un archivo para reemplazarlo. (returnOK será devuelto cuando el usuario haya ingresado un nombre nuevo para el archivo).</li>
-</ul>
-
-<p>Se debería revisar el valor retornado para luego recuperar el objeto del archivo desde el selector de archivos usando la propiedad <code>file</code>.</p>
-
-<pre>var res = fp.show();
-if (res == nsIFilePicker.returnOK){
- var thefile = fp.file;
- // --- do something with the file here ---
-}
-</pre>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Creando_Diálogos" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Creando_un_asistente">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/el_modelo_de_caja/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/el_modelo_de_caja/index.html
deleted file mode 100644
index 4ed1b2660f..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/el_modelo_de_caja/index.html
+++ /dev/null
@@ -1,192 +0,0 @@
----
-title: El modelo de caja
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/El_modelo_de_caja
-translation_of: Archive/Mozilla/XUL/Tutorial/The_Box_Model
----
-<p>{{ PreviousNext("Escuela_XUL/Agregar_eventos_y_comandos", "Escuela_XUL/Agregar_ventanas_y_dialogos") }}</p>
-
-<p>In order to master XUL, you'll need to have a fairly good understanding of its <a href="/en/XUL_Tutorial/The_Box_Model" title="en/XUL Tutorial/The Box Model">Box Model</a>. This is the system that determines how all elements are laid out visually in a XUL document. It is important to know how it works in order to make interfaces that are easy to localize, skin and use in different types of operating systems, screen sizes and resolutions.</p>
-
-<p>The XUL box model is a significant improvement over the HTML layout model, which is mostly vertical. With XUL you can define vertically oriented as well as horizontally oriented interfaces, providing greater flexibility in interface design.</p>
-
-<p>Any XUL interface can be broken down into the following basic components:</p>
-
-<ul>
- <li>Boxes</li>
- <li>Text</li>
- <li>Images</li>
- <li>Alignment and flexibility</li>
- <li>Widths and heights</li>
- <li>Margins and paddings</li>
-</ul>
-
-<p>Menus, toolbar buttons, and even the most complex elements in XUL are composed of these simple ingredients. Complex elements are created from simpler ones through XBL, which will be covered later on. Once you grasp this simple idea, you'll be able to use the DOM Inspector and CSS to mold XUL elements and layouts with great precision and flexibility.</p>
-
-<p>Most of the examples shown in the rest of this section were generated using the <a href="/samples/xultu/examples/aligner.xul" title="samples/xultu/examples/aligner.xul">XUL Box Alignment Example</a>. We recommend you play around with it for a while to get an idea of how the basic parts of the box model work.</p>
-
-<h2 id="Boxes">Boxes</h2>
-
-<p>A XUL box is very similar to an HTML <em>div</em>. It's an invisible rectangular container with no styling at all (<em>divs</em> may have some default styling, though). Their behavior is similar. However, one of the fundamental differences between XUL and HTML is the fact that XUL boxes can be vertically oriented (like <em>divs</em>) or horizontally oriented (unlike <em>divs</em>).</p>
-
-<p>There are 3 basic box elements in XUL: <a href="/en/XUL/hbox" title="en/XUL/hbox">hbox</a>, <a href="/en/XUL/vbox" title="en/XUL/vbox">vbox</a> and <a href="/en/XUL/box" title="en/XUL/box">box</a>. An <em>hbox</em> is oriented horizontally by default, meaning that its child nodes are displayed next to each other from left to right. A <em>vbox</em> is oriented vertically by default, its child nodes displayed one below the other from top to bottom. A <em>box</em> is a generic version that you can orient as you please, but its default is horizontal orientation, so it's pretty much equivalent to an <em>hbox</em> and it is seldom used.</p>
-
-<p>Here's a very simple example of an <em>hbox</em> with 3 child buttons:</p>
-
-<pre>&lt;hbox&gt;
- &lt;button label="Cat" /&gt;
- &lt;button label="Parrot" /&gt;
- &lt;button label="Porcupine" /&gt;
-&lt;/hbox&gt;
-</pre>
-
-<p>This is how it looks on Mac OS (the black border was added for illustrative purposes, boxes don't have borders by default):</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4199/=box1.png" style="height: 64px; width: 303px;"></p>
-
-<p>If you use a <em>vbox</em> instead, it looks like this:</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4200/=box2.png" style="height: 132px; width: 121px;"></p>
-
-<p>The orientation of boxes (and most XUL elements) can be controlled using the <a href="/en/XUL/Attribute/orient" title="en/XUL/Attribute/orient">orient</a> attribute or the <a href="/en/CSS/box-orient" title="en/CSS/-moz-box-orient">-moz-box-orient</a> CSS property. With these you can make an <em>hbox</em> have vertical orientation and viceversa, although that isn't very useful. The CSS property may be useful on some occasions, but using the orient attribute is not recommended because it mixes content and presentation.</p>
-
-<h2 id="Flexibility"> Flexibility</h2>
-
-<p>An HTML <em>div</em> is as big as its contents unless you override its dimensions using CSS. This is similarly the case for XUL, except there are two flexibility directions to consider. An <em>hbox</em> is as big as its contents horizontally, but it will occupy all the available space vertically. You can make an <em>hbox</em> flexible horizontally with the CSS property <a href="/en/CSS/box-flex" title="en/CSS/-moz-box-flex">-moz-box-flex</a> or the <a href="/en/XUL/Attribute/flex" title="en/XUL/Attribute/flex">flex</a> attribute. The same applies to a <em>vbox</em>, but in the other direction.</p>
-
-<p>Unlike most style attributes, the <em>flex</em> attribute is considered acceptable to use in XUL code. This is because this attribute is used much too often, and it would require a great deal of CSS code to avoid using it. At any rate, it can always be overriden using CSS, so your extension won't lose skinability because of it.</p>
-
-<p>Flexibility is defined as a numeric value. The default value for most elements is 0, which means that the element will not stretch in the direction of its orientation, and its size in that dimension will be determined by its contents and padding. If you want an element to be flexible, you should set its flexibility to 1. This makes the element stretch to occupy as much available space there is in the direction of its orientation. If we add flexibility to the hbox in our first example, we get the following result:</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4201/=hboxflex.png" style="height: 64px; width: 585px;"></p>
-
-<p>The box flexes to cover the available horizontal space. The buttons maintain their size.</p>
-
-<p>If we also add flexibility to the "Cat" button, this is what we get:</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4202/=catflex.png" style="height: 64px; width: 585px;"></p>
-
-<p>Now the flexible button is taking the available inner space, moving the other two buttons all the way to the end of the box.</p>
-
-<p>What would happen if we also add flexibility to the "Parrot" button?</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4203/=catparrotflex.png" style="height: 64px; width: 585px;"></p>
-
-<p>Since both buttons have a flexibility of 1, the available space is distributed evenly among the two. Note that this is not always the case. If one of the buttons has a very long label that restricts its minimum size, then it could be the label determining its size, while the other button would flex taking the rest of the room.</p>
-
-<p>Now, if you want a different size distribution in flexible elements, you can use flexibility values higher than 1.</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4204/=morecatflex.png" style="height: 64px; width: 585px;"></p>
-
-<p>In this case, the "Cat" button has a <em>flex</em> value of 3, while the "Parrot" button still has a <em>flex</em> value of 1. The "Cat" button is now larger in a 3 to 1 proportion. Note that, again, this can depend on the contents of the elements, in this case, the labels and paddings in the buttons. If the label of the "Parrot" button was something much longer, the size ratio would not be kept.</p>
-
-<p>You can have even more control over the size of flexible elements using the <a href="/en/XUL/Attribute/minwidth" title="en/XUL/Attribute/minwidth">minwidth</a>, <a href="/en/XUL/Attribute/maxwidth" title="en/XUL/Attribute/maxwidth">maxwidth</a>, <a href="/en/XUL/Attribute/minheight" title="en/XUL/Attribute/minHeight">minheight</a> and <a href="/en/XUL/Attribute/maxheight" title="en/XUL/Attribute/maxheight">maxheight</a> attributes, or their CSS counterparts: <a href="/en/CSS/min-width" title="en/CSS/min-width">min-width</a>, <a href="/en/CSS/max-width" title="en/CSS/max-width">max-width</a>, <a href="/en/CSS/min-height" title="en/CSS/min-height">min-height</a> and <a href="/en/CSS/max-height" title="en/CSS/max-height">max-height</a>. The latter are recommended to keep style code in the skin section of the chrome. As their names should make clear, you can control the flexibility boundaries of elements, thus preventing them from growing or shrinking too much.</p>
-
-<div class="panel" style="border-width: 1px;">
-<div class="panelContent">
-<div class="note">All CSS properties involving lengths should be handled with caution. We recommended that you use proportional units (em, %) instead of absolute units (px) whenever possible. Using the former allows the UI to scale proportionately depending on font size settings, which are often changed by users with accessibility limitations. A common exception to this rule is when your CSS is directly related to images, where you'll usually handle measurements in pixels (px).</div>
-</div>
-</div>
-
-<p>Also, just like in HTML, you can control the dimensions of inflexible elements using the <a href="/en/CSS/width" title="en/CSS/width">width</a> and <a href="/en/CSS/height" title="en/CSS/height">height</a> CSS properties and attributes. These attributes won't have any effect on flexible elements.</p>
-
-<h3 id="Margins_paddings_and_spacers">Margins, paddings and spacers</h3>
-
-<p>Margins and paddings are frequently used in both HTML and XUL to define spacing between elements and inside of elements. The <a href="/en/CSS/margin" title="en/CSS/margin">margin</a> determines the space between an element and the elements surrounding it, while the <a href="/en/CSS/padding" title="en/CSS/padding">padding</a> determines the space between the borders of a container element and its child nodes, kind of like an inner margin.</p>
-
-<p>Sometimes you also need to define flexible spaces between elements. In this case you should use a <a href="/en/XUL/spacer" title="en/XUL/spacer">spacer</a> element with a <em>flex</em> value. A <em>spacer</em> element is completely invisible and doesn't do more than take space. You should only use it when you need flexible space. If you need fix-sized space it's best to use margins and paddings and avoid adding unnecessary nodes to your XUL document.</p>
-
-<h2 id="Alignment">Alignment</h2>
-
-<p>XUL, unlike HTML, provides an easy way to align elements both horizontally and vertically. You can either use the <a href="/en/XUL/Attribute/align" title="en/XUL/Attribute/align">align</a> and <a href="/en/XUL/Attribute/pack" title="en/XUL/Attribute/pack">pack</a> attributes, or the <a href="/en/CSS/box-align" title="en/CSS/-moz-box-align">-moz-box-align</a> and <a href="/en/CSS/box-pack" title="en/CSS/-moz-box-pack">-moz-box-pack</a> CSS properties. Packing determines the positioning of the child elements in the direction of the container's orientation. Alignment determines the positioning in the other direction. So, in a flexed <em>hbox</em>, having <em>center</em> alignment and <em>end</em> packing results in this:</p>
-
-<p><img alt="" class="internal" src="/@api/deki/files/4205/=alignment.png" style="height: 204px; width: 427px;"></p>
-
-<p>One important thing to notice is that aligment and flexibility can't be mixed in some cases. If you add flexibility to one of the buttons, the packing will no longer be useful, but the alignment still makes a difference. It also wouldn't make sense to use flexibility or packing in the <em>hbox</em> if it didn't have any available horizontal space; the container element needs to either be flexible itself, or have a fixed width larger than its contents.</p>
-
-<h2 id="Text">Text</h2>
-
-<p>There are 2 XUL elements that are typically used for displaying text: <a href="/en/XUL/label" title="en/XUL/label">label</a> and <a href="/en/XUL/description" title="en/XUL/description">description</a>. Their behavior is nearly identical, but they are meant to be used in different situations.</p>
-
-<p>The <em>label</em> element should be used mainly for text in XUL forms, such as the ones you see in the Firefox Options / Preferences window. Here's a typical usage of the <em>label</em> element:</p>
-
-<div class="code panel" style="border-width: 1px;">
-<div class="codeContent panelContent">
-<pre class="code-java">&lt;label control=<span class="code-quote">"xulschoolhello-greeting-textbox"</span>
- value=<span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.typeGreeting.label;"</span> /&gt;
-&lt;textbox id=<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">-greeting-textbox"</span> /&gt;</pre>
-</div>
-</div>
-
-<p>The label says something like "Type a greeting message", and the textbox next to it allows the user to type the message. The <a href="/en/XUL/Attribute/control" title="en/XUL/Attribute/control">control</a> attribute links the label to the textbox. If the user clicks on the label, the textbox will be focused. Also, if the user has a screen reader, the label will be read when the focus is placed on the textbox.</p>
-
-<p>The <em>description</em> element is used for the rest of the cases, where the text is only meant as additional information and is not related to input elements.</p>
-
-<p>Handling text in XUL may seem simple, but it's actually quite a tricky subject. You always have to keep in mind that localized strings may be significantly longer in other languages, specially much longer than English strings. You should avoid using long blocks text, and also avoid designing your UI so that everything fits just right around text. You should always keep in mind that the text can be much longer, and your UI should adapt to it.</p>
-
-<p>Labels should generally be short, and they should always be displayed in a single line. Descriptions may be longer, and in general you should plan it so that they can wrap into multiple lines. In order to have wrapping descriptions, you need to set the text as a child node instead of using the <em>value</em> attribute:</p>
-
-<div class="code panel" style="border-width: 1px;">
-<div class="codeContent panelContent">
-<pre class="code-java">&lt;description&gt;&amp;<span class="code-quote">xulschoolhello</span>.description.label;&lt;/description&gt;</pre>
-</div>
-</div>
-
-<p>Even then, the text will extend as much as it can in a single line, so you need to add some CSS limits in order to make it wrap inside a XUL dialog or window. You can use the CSS property <em>width</em> to restrict the width of the <em>description</em> so that it wraps as you need it to.</p>
-
-<div class="panel" style="border-width: 1px;">
-<div class="panelContent">
-<div class="note">Never cut text lines into separate locale strings in order to bypass wrapping difficulties. This makes localization much harder, or even impossible in some cases.</div>
-</div>
-</div>
-
-<p>There are other more complicated text wrapping cases where a <em>description</em> won't be good enough. For instance, <a href="/en/XUL_Tutorial/Templates" title="en/XUL Tutorial/Templates">templates</a> don't allow you to set the internal text in a <em>description</em> element in a way that it wraps properly. One way to work around this is using a <a href="/en/XUL/textbox" title="en/XUL/textbox">textbox</a> element instead. <a class="external" href="http://xulsolutions.blogspot.com/2006/07/how-to-handle-text-and-keep-your.html">This blog post</a> is a good guide on the subject, and you should keep it in mind if you need to do some advanced text handling.</p>
-
-<p>Another way to handle excessive text length is to use the <a href="/en/XUL/Attribute/crop" title="en/XUL/Attribute/crop">crop</a> attribute. If the line of text is longer than its container will allow, the text will be cut, showing "..." in the place where it was cut. You can choose where to cut the text, but cropping at the end is the most common practice. Similarly as with wrapping, cropping will only occur is there is no room for the text to grow, so you'll need to restrict the width using CSS.</p>
-
-<h3 id="Text_links">Text links</h3>
-
-<p>XUL makes it very easy for you to create a <em>label</em> that is also a link. All you need is to set the <a href="/en/XUL/Style/text-link" title="en/XUL/Style/text-link">text-link</a> class to the label, and add an <em>onclick</em> handler (<em>oncommand</em> won't work for this). The label is displayed with the expected link style so that users can easily recognize it as a link.</p>
-
-<p>A trickier case is when you need only part of a label to be clickable, just like in HTML. Since labels can't handle rich text, workarounds have to implemented using Javascript. One possibility is to use special markup in a locale property so that the link can be easily recognized:</p>
-
-<div class="code panel" style="border-width: 1px;">
-<div class="codeContent panelContent">
-<pre class="code-java"><span class="code-quote">xulschoolhello</span>.linkedText.label = Go to &lt;a&gt;our site&lt;/a&gt; <span class="code-keyword">for</span> more information</pre>
-</div>
-</div>
-
-<p>The syntax is similar to HTML because it's easier to read this way, but string bundles won't do anything special with it. You'll have to break the string using <a href="/en/JavaScript/Reference/Global_Objects/RegExp" title="en/Core JavaScript 1.5 Reference/Global Objects/RegExp">regular expressions</a> and generate 3 different labels, one with the <em>text-link</em> class. You'll also need to do some CSS work on the labels so that the inner spacing in the text looks right.</p>
-
-<p>Another option is to take it up a notch and really use HTML.</p>
-
-<div class="code panel" style="border-width: 1px;">
-<div class="codeContent panelContent">
-<pre class="code-java"><span class="code-quote">xulschoolhello</span>.linkedText.label = Go to &lt;html:a onclick=<span class="code-quote">"%S"</span>&gt;our site&lt;/html:a&gt; <span class="code-keyword">for</span> more information</pre>
-</div>
-</div>
-
-<p>To include HTML in a XUL document, you need to add the namespace for it in the document root:</p>
-
-<div class="code panel" style="border-width: 1px;">
-<div class="codeContent panelContent">
-<pre class="code-java">&lt;overlay id=<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">-browser-overlay"</span>
- xmlns=<span class="code-quote">"http:<span class="code-comment">//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"</span>
- xmlns:html=<span class="code-quote">"http://www.w3.org/1999/xhtml"</span>&gt;</span></pre>
-</div>
-</div>
-
-<p>Then you can have an <em>html:p</em> (paragraph) element where you insert the result of parsing the property string. You can easily parse XML using the <a href="/en/DOM/DOMParser" title="en/DOMParser">DOMParser</a> object.</p>
-
-<div class="note">Since XUL documents are strict XML, you can only use strict XHTML in XUL, and not the more loosely-formatted forms of HTML.</div>
-
-<h2 id="Exercise">Exercise</h2>
-
-<p>Use the DOM Inspector extension to look into the Firefox chrome. Select toolbar buttons, menu items, textboxes, etc. and look into the Box Model, CSS Style Rules and Computed Style views. Look into the computed width and height values, and how the paddings and margins affect the dimensions of XUL nodes.</p>
-
-<p>Modify the Hello World extension so that it changes the appearance of Firefox drastically using only CSS. Play with changing the dimensions and appearance of buttons, changing the background color of the toolbars and status bars, font styles, sizes, etc. Note that this is not really what you would expect from an extension, it's more like a theme. However, it's very interesting and useful to see how you can manipulate the appearance of Firefox so easily.</p>
-
-<p>If you're not familiar with CSS, you should read this <a href="/en/CSS/Getting_Started" title="en/CSS/Getting Started">CSS Getting Started Guide</a> and other online resources before continuing with this tutorial.</p>
-
-<p>{{ PreviousNext("Escuela_XUL/Agregar_eventos_y_comandos", "Escuela_XUL/Agregar_ventanas_y_dialogos") }}</p>
-
-<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/emisores_y_receptores/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/emisores_y_receptores/index.html
deleted file mode 100644
index dc19a9e359..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/emisores_y_receptores/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: Emisores y receptores
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Emisores_y_receptores
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Broadcasters_and_Observers
----
-<p>There may be times when you want several elements to respond to events or changes of state easily. To do this, we can use broadcasters.</p>
-
-<h3 id="Command_Attribute_Forwarding" name="Command_Attribute_Forwarding">Command Attribute Forwarding</h3>
-
-<p>We've already seen that elements such as buttons can be hooked up to commands. In addition, if you place the <code><a href="es/XUL/Atributos#disabled">desactivado</a></code> attribute on the <code><a href="es/XUL/Elementos#command">comando</a></code> element, any elements hooked up to it will also become disabled automatically. This is useful way to simplify the amount of code you need to write. The technique also works for other attributes as well. For instance, if you place a <code><a href="es/XUL/Atributos#label">label</a></code> attribute on a <code><a href="es/XUL/Elementos#command">comando</a></code> element, any buttons attached to the command will share the same label.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;command id="mi_comando" label="Abrir"/&gt;
-
-&lt;button command="mi_comando"/&gt;
-&lt;checkbox label="Abrir en una ventan nueva" command="mi_comando"/&gt;
-</pre>
-
-<p>In this example, the button does not have a <code><a href="es/XUL/Atributos#label">label</a></code> attribute, however it is attached to a command that does. The button will share the label with the command. The checkbox already has a label, however, it will be overridden by the command's label. The result is that both the button and the checkbox will have the same label 'Open'.</p>
-
-<p>If you were to modify the command's <code><a href="es/XUL/Atributos#label">label</a></code> attribute, the label on the button and checkbox will adjust accordingly. We saw something like this in a previous section where the <code><a href="es/XUL/Atributos#disabled">desactivado</a></code> attribute was adjusted once and propagated to other elements.</p>
-
-<p>This attribute forwarding is quite useful for a number of purposes. For instance, let's say that we want the Back action in a browser to be disabled. We would need to disable the Back command on the menu, the Back button on the toolbar, the keyboard shortcut (Alt+Left for example) and any Back commands on popup menus. Although we could write a script to do this, it is quite tedious. It also has the disadvantage that we would need to know all of the places where a Back action could be. If someone added a new Back button using an extension, it wouldn't be handled. It is convenient to simply disable the Back action and have all the elements that issue the Back action disable themselves. We can use the attribute forwarding of commands to accomplish this.</p>
-
-<h3 id="El_emisor" name="El_emisor">El emisor</h3>
-
-<p>There is a similar element called a <code><a href="es/XUL/Elementos#broadcaster">emisor</a></code>. Broadcasters support attribute forwarding in the same way that commands do. They work the same as commands except that a command is used for actions, while a broadcaster is instead used for holding state information. For example, a <code><a href="es/XUL/Elementos#command">comando</a></code> would be used for an action such as Back, Cut or Delete. A <code><a href="es/XUL/Elementos#broadcaster">emisor</a></code> would be used to hold, for instance, a flag to indicate whether the user was online or not. In the former case, menu items and toolbar buttons would need to be disabled when there was no page to go back to, or no text to cut or delete. In the latter case, various UI elements might need to update when the user switches from offline mode to online mode.</p>
-
-<p>The simplest broadcaster is shown below. You should always use an <code><a href="es/XUL/Atributos#id">id</a></code> attribute so that it can be referred to by other elements.</p>
-
-<pre>&lt;broadcasterset&gt;
- &lt;broadcaster id="isOffline" label="Offline"/&gt;
-&lt;/broadcasterset&gt;
-</pre>
-
-<p>Any elements that are watching the broadcaster will be modified automatically whenever the broadcaster has its <code><a href="es/XUL/Atributos#label">label</a></code> attribute changed. This results in these elements having a new label. Like other non-displayed elements, the <code><a href="es/XUL/Elementos#broadcasterset">broadcasterset</a></code> element serves as a placeholder for broadcasters. You should declare all your broadcasters inside a <code><a href="es/XUL/Elementos#broadcasterset">broadcasterset</a></code> element so that they are all kept together.</p>
-
-<h3 id="Making_elements_observers" name="Making_elements_observers">Making elements observers</h3>
-
-<p>Elements that are watching the broadcaster are called observers because they observe the state of the broadcaster. To make an element an observer, add an <code><a href="es/XUL/Atributos#observes">observes</a></code> attribute to it. This is analogous to using the <code><a href="es/XUL/Atributos#command">comando</a></code> attribute when attaching an element to a <code><a href="es/XUL/Elementos#command">comando</a></code> element. For example, to make a button an observer of the broadcaster above:</p>
-
-<pre>&lt;button id="offline_button" observes="isOffline"/&gt;
-</pre>
-
-<p>The <code>observes</code> attribute has been placed on the button and its value has been set to the value of the <code>id</code> on the broadcaster to observe. Here the button will observe the broadcaster which has the id <code>isOffline</code>, which is the one defined earlier. If the value of the <code>label</code> attribute on the broadcaster changes, the observers will update the values of their <code><a href="es/XUL/Atributos#label">label</a></code> attributes also.</p>
-
-<p>We could continue with additional elements. As many elements as you want can observe a single broadcaster. You can also have only one if you wanted to but that would accomplish very little since the main reason for using broadcasters is to have attributes forwarded to multiple places. You should only use broadcasters when you need multiple elements that observe an attribute. Below, some additional observers are defined:</p>
-
-<pre>&lt;broadcaster id="offline_command" label="Offline" accesskey="f"/&gt;
-
-&lt;keyset&gt;
- &lt;key id="goonline_key" observes="offline_command" modifiers="accel" key="O"/&gt;
-&lt;/keyset&gt;
-&lt;menuitem id="offline_menuitem" observes="offline_command"/&gt;
-&lt;toolbarbutton id="offline_toolbarbutton" observes="offline_command"/&gt;
-</pre>
-
-<p>In this example, both the <code><a href="es/XUL/Atributos#label">label</a></code> and the <code><a href="es/XUL/Atributos#accesskey">accesskey</a></code> will be forwarded from the broadcaster to the key, menu item and the toolbar button. The key won't use any of the received attributes for anything, but it will be disabled when the broadcaster is disabled.</p>
-
-<p>You can use a broadcaster to observe any attribute that you wish. The observers will grab all the values of any attributes from the broadcasters whenever they change. Whenever the value of any of the attributes on the broadcaster changes, the observers are all notified and they update their own attributes to match. Attributes of the observers that the broadcaster doesn't have itself are not modified. The only attributes that are not updated are the <code><a href="es/XUL/Atributos#id">id</a></code> and <code><a href="es/XUL/Atributos#persist">persist</a></code> attributes; these attributes are never shared. You can also use your own custom attributes if you wish.</p>
-
-<p>Broadcasters aren't used frequently as commands can generally handle most uses. One thing to point out is that there really is no difference between the <code><a href="es/XUL/Elementos#command">comando</a></code> element and the <code><a href="es/XUL/Elementos#broadcaster">emisor</a></code> element. They both do the same thing. The difference is more semantic. Use commands for actions and use broadcasters for state. In fact, any element can act as broadcaster, as long as you observe it using the <code><a href="es/XUL/Atributos#observes">observes</a></code> attribute.</p>
-
-<h3 id="El_observador" name="El_observador">El observador</h3>
-
-<p>There is also a way to be more specific about which attribute of the broadcaster to observe. This involves an <code><a href="es/XUL/Elementos#observes">observes</a></code> element. Like its attribute counterpart, it allows you to define an element to be an observer. The <code><a href="es/XUL/Elementos#observes">observes</a></code> element should be placed as a child of the element that is to be the observer. An example is shown below:</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;broadcasterset&gt;
- &lt;broadcaster id="isOffline" label="Offline" accesskey="f"/&gt;
-&lt;/broadcasterset&gt;
-
-&lt;button id="offline_button"&gt;
- &lt;observes element="isOffline" attribute="label"/&gt;
-&lt;/button&gt;
-</pre>
-
-<p>Two attributes have been added to the <code><a href="es/XUL/Elementos#observes">observes</a></code> element. The first, <code><a href="es/XUL/Atributos#element">elemento</a></code>, specifies the id of the broadcaster to observe. The second, <code><a href="es/XUL/Atributos#attribute">atributo</a></code>, specifies the attribute to observe. The result here is that the button will receive its label from the broadcaster, and when the label is changed, the label on the button is changed. The <code><a href="es/XUL/Elementos#observes">observes</a></code> element does not change but instead the element it is inside changes, which in this case is a <code><a href="es/XUL/Elementos#button">botón</a></code>. Notice that the <code><a href="es/XUL/Atributos#accesskey">accesskey</a></code> is not forwarded to the button, since it is not being obseved. If you wanted it to be, another <code><a href="es/XUL/Elementos#observes">observes</a></code> element would need to be added. If you don't use any <code><a href="es/XUL/Elementos#observes">observes</a></code> elements, and instead use the <code><a href="es/XUL/Atributos#observes">observes</a></code> attribute directly on the button, all attributes will be observed.</p>
-
-<h4 id="El_evento_emisor" name="El_evento_emisor">El evento emisor</h4>
-
-<p>There is an additional event handler that we can place on the <code><a href="es/XUL/Elementos#observes">observes</a></code> element which is <code>onbroadcast</code>. The event is called whenever the observer notices a change to the attributes of the broadcaster that it is watching. An example is shown below.</p>
-
-<p><strong>Example 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_broadob_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;broadcasterset&gt;
- &lt;broadcaster id="colorChanger" style="color: black"/&gt;
-&lt;/broadcasterset&gt;
-
-&lt;button label="Test"&gt;
- &lt;observes element="colorChanger" attribute="style" onbroadcast="alert('Color changed');"/&gt;
-&lt;/button&gt;
-
-&lt;button label="Observer"
- oncommand="document.getElementById('colorChanger').setAttribute('style','color: red');"
-/&gt;
-</pre>
-
-<p>Two buttons have been created, one labeled Test and the other labeled Observer. If you click on the Test button, nothing special happens. However, if you click on the Observer button, two things happen. First, the button changes to have red text and, second, an alert box appears with the message 'Color changed'.</p>
-
-<p>What happens is the <code><a href="es/XUL/Atributos#oncommand">oncommand</a></code> handler on the second button is called when the user presses on it. The script here gets a reference to the broadcaster and changes the style of it to have a <code>color</code> that is red. The broadcaster is not affected by the style change because it doesn't display on the screen. However, the first button has an observer which notices the change in style. The <code><a href="es/XUL/Atributos#element">elemento</a></code> and the <code><a href="es/XUL/Atributos#attribute">atributo</a></code> on the <code><a href="es/XUL/Elementos#observes">observes</a></code> tag detect the style change. The style is applied to the first button automatically.</p>
-
-<p>Next, because the broadcast occured, the event handler <code>onbroadcast</code> is called. This results in an alert message appearing. Note that the broadcast only occurs if the attributes on the <code><a href="es/XUL/Elementos#broadcaster">emisor</a></code> element are changed. Changing the style of the buttons directly will not cause the broadcast to occur so the alert box will not appear.</p>
-
-<p>If you tried duplicating the code for the first <code><a href="es/XUL/Elementos#button">botón</a></code> several times, you would end up with a series of alert boxes appearing, one for each button. This is because each button is an observer and will be notified when the style changes.</p>
-
-<p>Seguimos con el uso del <a href="es/Tutorial_de_XUL/Modelo_de_objeto_de_documento">DOM</a> con elementos XUL.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Actualizar_comandos" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Modelo_de_objeto_de_documento">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/estructura_xul/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/estructura_xul/index.html
deleted file mode 100644
index 0859e26e37..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/estructura_xul/index.html
+++ /dev/null
@@ -1,159 +0,0 @@
----
-title: Estructura XUL
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Estructura_XUL
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
----
-<p>{{ PreviousNext("Tutorial de XUL:Introducción", "Tutorial de XUL:La URL chrome") }}</p>
-
-<p> </p>
-
-<p>Comenzaremos viendo cómo se procesa XUL por parte de Mozilla.</p>
-
-<h3 id="C.C3.B3mo_se_procesa_XUL" name="C.C3.B3mo_se_procesa_XUL">Cómo se procesa XUL</h3>
-
-<p>En Mozilla, XUL se procesa en forma similar al procesamiento de <a href="es/HTML">HTML</a> y otros tipos de contenido. Cuando el usuario escribe la URL de una página HTML en el campo de dirección del navegador, éste busca el sitio web y descarga su contenido. El motor de presentación de Mozilla toma el contenido en el formato HTML y lo transforma en un árbol de documento. Este árbol se convierte en un conjunto de objetos que pueden mostrarse en la pantalla. Los estilos <a href="es/CSS">CSS</a>, imágenes y otras tecnologías son usados para controlar la presentación. El procesamiento de XUL es muy similar.</p>
-
-<p>De hecho, en Mozilla, todos los tipos de documento, sin importar si son HTML, XUL o aún <a href="es/SVG">SVG</a> son procesados por el mismo código. Esto significa que las mismas propiedades CSS pueden usarse para definir el estilo tanto del HTML como de XUL, y muchas de las características pueden compartirse entre ambos. Sin embargo, hay características que son específicas del HTML como son los formularios, y otras que son específicas de XUL como son los <strong>overlays</strong> (revestimientos). Ya que XUL y HTML se procesan de la misma forma, se pueden cargar desde el sistema de archivos local del usuario, desde una página web, desde una extensión del navegador o desde una aplicación <a href="es/XULRunner">XULRunner</a>.</p>
-
-<p>El contenido de fuentes remotas, como por ejemplo: <span class="nowiki">http://localhost/~username/</span>, sin importar si es HTML, XUL o cualquier otro tipo de documento, está limitado en la clase de operaciones que pueden realizar, por razones de seguridad. Por este motivo, Mozilla proporciona un método para instalar contenido en forma local y registrar los archivos instalados para que formen parte del sistema chrome. Esto permite usar una URL especial llamada la URL <code><a class="external" rel="freelink">chrome://</a></code>. Al acceder a un archivo usando la URL chrome, éstos reciben privilegios para acceder a archivos locales, preferencias, marcadores de página y ejecutar otras operaciones privilegiadas. Obviamente, las páginas web no obtienen estos privilegios, a menos que estén firmadas con un certificado digital y el usuario dé el permiso para ejecutar estas operaciones.</p>
-
-<p>Este registro en el paquete chrome es la forma en la que las extensiones de Firefox pueden añadir características al navegador. Las extensiones son pequeños paquetes con archivos XUL, Javascript, hojas de estilo e imágenes empaquetados en un sólo archivo. Este archivo puede crearse usando una utilidad ZIP. Cuando el usuario descarga la extensión, ésta es instalada en su máquina. La extensión se ensambla en el navegador usando una característica especial de XUL llamada overlay (revestimiento), la cual permite que se combinen el XUL de la extensión y el XUL del navegador. Para el usuario, puede parecer que la extensión ha modificado al navegador, pero en realidad el código está separado y la extensión se puede desinstalar fácilmente.</p>
-
-<p>Por supuesto, no es necesario que los paquetes registrados usen revestimientos. Si no los usan, no se puede acceder a ellos desde la interfaz del navegador, pero sí por medio de la URL chrome, si se sabe cuál es.</p>
-
-<p>Las aplicaciones XUL autónomas (que no necesitan el navegador) pueden incluir código XUL de la misma forma, pero este código se incluirá como parte de la instalación, en lugar de tener que instalarse de forma separada como una extensión. Sin embargo, este código XUL debe ser registrado en el sistema chrome de tal forma que las aplicaciones puedan mostrar la UI.</p>
-
-<p>Vale la pena anotar que el navegador Mozilla realmente es un conjunto de paquetes que contienen archivos XUL, JavaScript y hojas de estilo. Estos paquetes son accesibles usando una URL chrome, tienen privilegios ampliados y trabajan como cualquier otro paquete. Por supuesto, el navegador es más grande y más sofisticado que la mayoría de las extensiones. Firefox, Thunderbird y muchos otros componentes también están escritos en XUL y se puede acceder a ellos usando la URL chrome. Se puede examinar estos paquetes mirando el directorio chrome donde Firefox o cualquier otra aplicación XUL esté instalada.</p>
-
-<p>La URL chrome siempre comienza por '<a class="external" rel="freelink">chrome://</a>'. De la misma forma que la URL <code><span class="nowiki">'http://'</span></code> se refiere a sitios web remotos accesibles por medio de HTTP y la URL <code>'<a class="external" rel="freelink">file://</a>'</code> siempre se refiere a archivos locales, la URL <code>'<a class="external" rel="freelink">chrome://</a>'</code> se refiere a los paquetes y extensiones instalados. En la próxima sección veremos con detalles la sintaxis de la URL chrome. Es importante anotar que si se accede a un contenido a través de una URL chrome, éste gana los privilegios ampliados que se han mencionado anteriormente y que otras clases de URL no tienen. Por ejemplo, una URL HTTP no tiene ningún privilegio especial, y ocurrirá un error si la página web intenta leer un archivo local. Sin embargo, un archivo cargado por medio de una URL chrome podrá leer archivos sin restricciones.</p>
-
-<p>Esta diferenciación es importante. Significa que hay ciertas cosas que el contenido de las páginas web no puede hacer, tales como leer los marcadores de página del usuario. Esta diferenciación no está basada en la clase de contenido a ser mostrado, sólo en el tipo de URL empleada. Tanto el HTML como el XUL colocados en un sitio web no tienen permisos adicionales, sin embargo si el HTML o el XUL son cargados por medio de una URL chrome tendrán permisos ampliados.</p>
-
-<p>Si Ud. va a usar XUL en un sitio web, debe colocar el archivo XUL en el sitio web tal como lo haría con un archivo HTML, y luego cargar su URL en el navegador (<span class="nowiki">http://localhost/xul.php</span>). Debe asegurarse que el servidor web esté configurado para enviar los archivos XUL con el tipo de contenido de <strong>application/vnd.mozilla.xul+xml</strong> (con PHP sería: <code>header('content-type: application/vnd.mozilla.xul+xml');</code>). Este tipo de contenido permite a Mozilla diferenciar entre HTML y XUL. Mozilla no usa la extensión del archivo, a menos que esté leyendo archivos del disco local, pero se debería usar la extensión .xul para todos los archivos XUL. Es posible abrir archivos XUL desde el navegador o el gestor de archivos.</p>
-
-<div class="note">Recuerde que los archivos XUL remotos tienen restricciones significativas sobre lo que pueden hacer.</div>
-
-<h4 id="Tipos_de_documentos_HTML_XML_XUL_CSS" name="Tipos_de_documentos:_HTML_XML_XUL_CSS">Tipos de documentos: HTML XML XUL CSS</h4>
-
-<p>Mozilla emplea una clase totalmente diferente de objeto de documento (<a href="es/DOM">DOM</a>) para el HTML y el XUL, aunque compartan mucha funcionalidad. En Mozilla existen tres tipos principales de documentos: HTML, XML y XUL. Naturalmente, el documento HTML se usa para los documentos HTML, el documento XUL se utiliza en los documentos XUL y el documento XML se emplea para otros tipos de documentos XML. Ya que el formato XUL también es XML, el documento XUL es una subclase del documento XML que es más genérico. Existen diferencias sutiles de funcionalidad. Por ejemplo, mientras los controles de un formulario en HTML es accesible por medio de la propiedad <code>document.forms</code>, en los documentos XUL no está disponible ya que XUL no tiene formularios en el mismo sentido que HTML. De otro lado, características específicas de XUL como los revestimientos y las plantillas sólo están disponibles en los documentos XUL.</p>
-
-<p>La distinción entre documentos es importante. Es posible usar muchas características de XUL en documentos HTML o XML ya que no son específicas al tipo de documento, sin embargo, otras características requieren un tipo de documento específico. Por ejemplo, se pueden usar los tipos de disposición de XUL en otros documentos ya que no dependen del tipo de documento XUL para funcionar.</p>
-
-<p>Para resumir los puntos expuestos anteriormente:</p>
-
-<ul>
- <li>Mozilla muestra el <a href="es/HTML">HTML</a> y el <a href="es/XUL">XUL</a> con el mismo motor de resultado y emplea <a href="es/CSS">CSS</a> para especificar su presentación.</li>
- <li>XUL puede cargarse desde un sitio remoto, desde el sistema de archivos local o ser instalado como un paquete y ser accesible con una URL chrome. Esto es lo que hacen las extensiones del navegador.</li>
- <li>Las URL chrome sirven para acceder a los paquetes instalados y abrirlos con privilegios ampliados.</li>
- <li>HTML, XML y XUL cada uno representa un diferente tipo de documento. Algunas características se pueden usar en cualquier tipo de documento, mientras que otras son específicas de un tipo de documento.</li>
-</ul>
-
-<p>En las próximas secciones describiremos la estructura básica de un paquete chrome que será instalado dentro de Mozilla. Sin embargo, si desea comenzar a construir una aplicación simple, puede saltar a <a href="es/Tutorial_de_XUL/Creando_una_ventana">creando una ventana</a> y volver más tarde.</p>
-
-<h3 id="Organizaci.C3.B3n_del_paquete" name="Organizaci.C3.B3n_del_paquete">Organización del paquete</h3>
-
-<p>Mozilla está organizado de tal forma que te permite tener tantos componentes pre-instalados como quieras. Cada extensión es, además, un componente con un chrome URL distinto. Además tendrá un componente para cada tema o configuración regional instalado. Cada uno de estos componentes o paquetes, está compuesto de un conjunto de ficheros que describen la interfaz de usuario para cada uno. Por ejemplo, el componente de mensajería tendrá descripciones de la ventana de listado de mensajes de correo, la ventana de composición y los cuadros de la libreta de direcciones.</p>
-
-<p>Los paquetes que vienen con Mozilla están localizados en la carpeta chrome, que puedes encontrar en el directorio donde instalaste Mozilla. La carpeta chrome es donde encontrarás todos estos archivos que describen la interfaz de usuario para el navegador Mozilla, el cliente de correo y para otras aplicaciones. Habitualmente pondrás todos los archivos XUL para una aplicación en esta carpeta, excepto para las extensiones, que serán instaladas en la carpeta de extensiones de un usuario concreto. El simple hecho de copiar un archivo XUL a la carpeta 'chrome' no proporcionará al archivo ningún permiso extra ni será accesible a través de chrome URL. Para conseguir estos privilegios extras, tendrás que crear un archivo manifest y ponerlo en la carpeta chrome. Este archivo es fácil de crear, y habitualmente sólo contiene un par de líneas de código. Se usa para enlazar un chrome URL a un archivo o ruta de una carpeta del disco donde están los archivos XUL. Detalles de cómo crear este archivo serán vistos <a href="es/Tutorial_de_XUL/Archivos_Manifest">en la siguiente sección</a>.</p>
-
-<p>La única forma de acceder a contenido a través de una URL chrome es crear un paquete como se describe en las siguientes secciones. Esta carpeta se denomina 'chrome' porque parece ser un nombre conveniente para el directorio donde se mantienen los paquetes chrome que se incluyen con Mozilla.</p>
-
-<p>Para agrandar la confusión, hay otros dos sitios donde la palabra chrome puede aparecer. El primero es el argumento <code>'-chrome'</code>, y el segundo el modificador <code>chrome</code> para la función <code><a href="es/DOM/window.open">window.open()</a></code>. La llamada de estas características no otorga privilegio alguno. Son usadas para abrir una nueva ventana arriba del todo sin el menú o la barra de herramientas del navegador. Habitualmente se usará esta característica en aplicaciones XUL donde no se quiera que aparezca las diferentes barras del navegador alrededor de los cuadros de diálogo.</p>
-
-<p>Los archivos para un paquete son normalmente unidos en un simple archivo JAR. Un archivo JAR debe ser creado y examinado usando una aplicación ZIP. Por ejemplo, puedes abrir un archivo JAR en la carpeta chrome de Mozilla para ver la estructura básica de un paquete. Aunque es normal unir los archivos en un archivo JAR, los paquetes pueden ser accesibles de forma expandida en un directorio. No es habitual distribuir un paquete de esta forma, pero es práctico durante su desarrollo, ya que puedes editar el archivo directamente para después recargarlo sin tener que volver a empaquetar o reinstalar los archivos.</p>
-
-<p>Por defecto, las aplicaciones Mozilla analizan los archivos XUL y los scripts, y guardan una versión pre-compilada en la memoria para mejorar el resto de la sesión. Esto mejora la ejecución. Sin embargo, por culpa de esto, el archivo XUL no será recargado aún cuando el archivo fuente haya cambiado. Para desactivar este mecanismo, es necesario cambiar las preferencia <code>nglayout.debug.disable_xul_cache</code>. En Firefox, ésta preferencia se puede añadir a las preferencias del usuario poniendo "about:config" en la barra de dirección y cambiar ese valor por verdadero (<code>true</code>). O manualmente editando el archivo de preferencias user.js y añadiéndole la siguiente línea:</p>
-
-<pre class="eval">pref("nglayout.debug.disable_xul_cache", true);
-</pre>
-
-<p><br>
- Habitualmente hay tres partes distintas en un paquete chrome, aunque son opcionales. Cada parte está almacenada en una carpeta distinta. Estas tres partes son el contenido, la piel (skin) y la configuración regional, explicados más abajo. Un paquete particular debe proporcionar una o más pieles (skins) y locales, pero un usuario puede reemplazarlos con los suyos propios. Además, el paquete debe incluir varias aplicaciones distintas cada una accesible a través de diferentes chrome URLs. El sistema de paquetes es suficientemente flexible por lo que puedes incluir todas las partes que necesites y permitir que otras partes, como el texto para diferentes idiomas, sean descargadas de forma separada.</p>
-
-<p>Los tres tipos de paquetes chrome son:</p>
-
-<ul>
- <li><strong>Contenido</strong> - ventanas y scripts.<br>
- Las declaraciones de las ventanas y los elementos de la interfaz de usuario contenidos con ellos. Se almacenan en archivos XUL, que tienen extension <code>.xul</code>. Un paquete de contenido puede tener múltiples archivos XUL, pero la ventana principal debe tener el mismo nombre de archivo que el nombre del paquete. Por ejemplo, el paquete 'editor' tendrá un archivo que se llamará <code>editor.xul</code>. Los scripts están situados en archivos separados junto a los archivos XUL.</li>
- <li><strong>Aspecto (skin)</strong> - Hojas de estilo, imágenes y otros archivos específicos al tema.<br>
- Las hojas de estilo describen detalles de la apariencia de una ventana. Se almacenan de forma separada a los archivos XUL para facilitar modificar el aspecto (skin o tema) de una aplicación. Algunas imágenes usadas también se almacenan aquí.</li>
- <li><strong>Configuración regional</strong> - Archivos locales específicos.<br>
- Todo el texto que se muestra en una ventana se almacena de forma separada. De esta forma, un usuario puede tener un conjunto para su propio idioma.</li>
-</ul>
-
-<h3 id="Paquetes_de_contenido" name="Paquetes_de_contenido">Paquetes de contenido</h3>
-
-<p>El nombre de un archivo JAR debe describir lo que contiene, pero no se puede asegurar el contenido si no se mira a dentro. Vamos a usar el paquete del navegador incluido con Firefox como ejemplo. Si extraemos los archivos de <code>browser.jar</code>, nos encontraremos con una jerarquía de directorios similar a la que se muestra a continuación:</p>
-
-<pre>content
- browser
- browser.xul
- browser.js
- -- otros ficheros XUL y JS van aquí --
- bookmarks
- -- los archivos de marcadores, aquí --
- preferences
- -- los archivos de preferencias, aquí --
-.
-.
-.
-</pre>
-
-<p><span class="comment">el ejemplo original &lt;pre&gt; content browser browser.xul browser.js -- other browser XUL and JS files goes here -- bookmarks -- bookmarks files go here -- preferences -- preferences files go here -- . . . &lt;/pre&gt;</span></p>
-
-<p>Ésto es fácilmente reconocible como un paquete de contenido, ya que el directorio superior se llama <code>content</code>. Para aspectos(skins) esta carpeta normalmente será denominada skin y para configuración regional se le llamará locale. Este esquema de nombres no es necesario pero es una práctica habitual para hacer más claras las partes de un paquete. Algunos paquetes deben incluir una sección de contenidos, una piel (skin) y un locale. En este caso, encontraremos un sub-directorio para cada tipo. Por ejemplo, Chatzilla está distribuido de esta forma.</p>
-
-<p>La carpeta content/browser contiene un número de archivos con extensiones .xul y .js. Los archivos XUL son los que tienen la extensión .xul. Los archivos con extensiones .js son archivos JavaScript que contienen los scripts que se encargan de la funcionalidad de una ventana. Muchos archivos XUL tienen un archivo script asociado con ellos, y muchos deben tener más de uno.</p>
-
-<p>En el listado superior, dos archivos han sido vistos. De hecho hay otros, pero para simplificar no serán vistos. El archivo browser.xul es el archivo XUL que describe la ventana principal del navegador. La ventana principal para un paquete de contenido debe tener el mismo nombre que el paquete con una extensión .xul. En este caso, el nombre del paquete es "browser", por eso esperaremos encontrarnos con browser.xul. Algunos de los otros archivos XUL describen ventanas distintas. Por ejemplo, el archivo pageInfo.xul describe el cuadro de información de la página.</p>
-
-<p>Muchos paquetes incluirán un archivo contents.rdf que describe el paquete, su autor y el revestimiento que usa. Sin embargo, este archivo está obsoleto y ha sido reemplazado con un mecanismo más simple. Este nuevo método es el archivo manifest mencionado anteriormente, y encontraremos estos archivos con la extensión .manifest en el directorio chrome. Por ejemplo, browser.manifest describe el paquete del navegador.</p>
-
-<p>Varias subcarpetas, como son marcadores y preferencias (bookmarks y preferences), describen secciones adicionales del navegador. Están ubicadas en diferentes carpetas sólo para mantener los archivos más organizados.</p>
-
-<h3 id="Aspectos_.28skins.29_o_Temas" name="Aspectos_.28skins.29_o_Temas">Aspectos (skins) o Temas</h3>
-
-<p>Al código subyacente de Mozilla se le llama aspectos (skins), aunque a la interfaz de usuario se la llama temas, pero ambos se refieren a la misma cosa. El archivo classic.jar describe el tema por defecto que viene con Firefox. La estructura es similar a los paquetes de contenido. Por ejemplo, examinando classic.jar:</p>
-
-<pre>skin
- classic
- browser
- -- browser skin files go here --
- global
- contents.rdf
- -- global skin files go here --.
-.
-.
-</pre>
-
-<p>Nuevamente, esta estructura de carpetas no es necesaria y es usada por comodidad. Realmente puedes colocar todos los archivos en una carpeta arriba del todo y no usar subcarpetas. Sin embargo, para aplicaciones mayores, las subcarpetas son usadas para separar los diferentes componentes. En el ejemplo anterior, una carpeta es para los archivos del tema para el navegador y otra para los archivos del tema global. La carpeta global contiene archivos de la piel (skin) que son comunes a todos los paquetes. Estos archivos se aplicarán a todos los componentes y serán incluídos para tus aplicaciones autónomas. La parte global define el aspecto de todos los chismes comunes XUL, mientras que las otras carpetas contienen archivos que son específicos de estas aplicaciones. Firefox incluye tanto los archivos del tema global como los del navegador en un archivo, pero ambos pueden ser incluídos por separado.</p>
-
-<p>Una piel (skin) se compone de archivos CSS y de un número de imágenes usadas para definir el aspecto y la interfaz. El archivo browser.css es usado por browser.xul y contiene estilos que definen el aspecto de varias partes de la interfaz del navegador. Nuevamente, nótese como el archivo browser.css tiene el mismo nombre que el paquete. Cambiando los archivos CSS, puedes ajustar el aspecto de una ventana sin cambiar su función. De esta forma puedes crear un nuevo tema. La parte XUL continúa igual pero la parte de la piel (el skin) cambia independientemente.</p>
-
-<h3 id="Configuraci.C3.B3n_regional" name="Configuraci.C3.B3n_regional">Configuración regional</h3>
-
-<p>El archivo en-US.jar describe la información del idioma para cada componente, en este caso para US English. Como las pieles (skins), cada idioma contendrá archivos que especifican texto usado por el paquete pero para un idioma concreto. La estructura para la configuración regional es similar a las otras, por eso no será explicada aquí.</p>
-
-<p>El texto de idioma es almacenado en dos tipos de archivos: archivos DTD y archivos de propiedades. Los archivos DTD tienen una extensión .dtd y contienen declaraciones de identidad, una para cada cadena de texto usada en una ventana. Por ejemplo, el archivo browser.dtd contiene declaraciones de identidad para cada comando del menú. Además, los atajos de teclado para cada comando también están definidos, ya que pueden ser diferentes en cada idioma. Los archivos DTD son usados por los archivos XUL por eso, en general, tendrás uno por cada archivo XUL. La parte de configuración regional también contiene archivos de propiedades, que son similares, pero son usados por archivos script. El archivo browser.properties contiene algunas cadenas de idioma.</p>
-
-<p>Esta estructura nos permite traducir Mozilla o un componente a un idioma distinto sólo añadiendo una nueva configuración regional para ese idioma. No tienes que cambiar la parte de XUL. Además, otra persona puede proporcionar un paquete separado que aplica una piel (skin) o configuración regional a tu parte de contenido, proporcionando soporte de esta manera a un nuevo tema o idioma sin tener que modificar el paquete original.</p>
-
-<h3 id="Otros_paquetes" name="Otros_paquetes">Otros paquetes</h3>
-
-<p>Hay un paquete especial llamado toolkit (o global). Vimos anteriormente el directorio global para skins (pieles). El archivo toolkit.jar contiene el contenido correspondiente para ello. Contiene algunos diálogos globales y definiciones. Además, define la apariencia por defecto y la funcionalidad de varios chismes XUL comunes como son los cuadros de texto y los botones. Los archivos localizados en la parte global de un paquete skin contienen la apariencia por defecto para todos los elementos de la interfaz XUL. El paquete toolkit es usado por todas las aplicaciones XUL.</p>
-
-<h3 id="A.C3.B1adiendo_un_paquete" name="A.C3.B1adiendo_un_paquete">Añadiendo un paquete</h3>
-
-<p>Mozilla coloca los paquetes incluidos con la instalación en la carpeta chrome. Sin embargo, no es necesario colocarlos aquí. Si tienes otro paquete instalado, puede ser colocado en cualquier parte del disco, siempre que un archivo manifest apunte a él. Es una práctica frecuente colocar los paquetes en la carpeta chrome simplemente por ser conveniente, sin embargo sólo funcionarán correctamente desde otro directorio o desde algún lugar de tu red local. No puedes almacenarlos en un lugar remoto, a no ser que el sitio remoto sea montado a través del sistema de ficheros local.</p>
-
-<p>Hay dos carpetas chrome usadas para las aplicaciones XUL, una está instalada en el mismo sitio donde las aplicaciones están instaladas, y la otra es parte del perfil del usuario. La primera permite a los paquetes ser compartidos por todos los usuarios, mientras que la segunda permite la creación de paquetes sólo por un usuario o grupo específico. Las extensiones, cuando son instaladas en una carpeta de extensiones diferente, son también normalmente específicas del usuario. Cualquier archivo manifest situado en cualquier carpeta chrome será examinado para ver que los paquetes instalados.</p>
-
-<p>En la siguiente sección, veremos como referirse a un paquete chrome usando la URL chrome.</p>
-
-<p>{{ PreviousNext("Tutorial de XUL:Introducción", "Tutorial de XUL:La URL chrome") }}</p>
-
-<p><span class="comment">Interwiki Language Links</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/foco_y_selección/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/foco_y_selección/index.html
deleted file mode 100644
index 89f2b7bfdd..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/foco_y_selección/index.html
+++ /dev/null
@@ -1,179 +0,0 @@
----
-title: Foco y Selección
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Foco_y_Selección
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Focus_and_Selection
----
-<p>Esta sección describe como gestionar el foco y la selección de los elementos.</p>
-
-<h3 id="Elementos_con_foco" name="Elementos_con_foco">Elementos con foco</h3>
-
-<p>El elemento con foco se refiere al elemento que actualmente recibe los eventos de entrada. Si hay tres campos de texto en una ventana, el que tiene el foco es en el que el usuario puede introducir texto. Sólo un elemento por ventana puede tener el foco en un momento dado.</p>
-
-<p>El usuario puede cambiar el foco haciendo clic en un elemento o usando la tecla TAB. Cuando la tecla TAB es presionada, el foco pasa al siguiente elemento. Para ir al elemento anterior puede pulsarse Mayúsculas + Tab.</p>
-
-<h4 id="Reordenaci.C3.B3n_del_orden_de_tabulaci.C3.B3n" name="Reordenaci.C3.B3n_del_orden_de_tabulaci.C3.B3n">Reordenación del orden de tabulación</h4>
-
-<p>Puedes cambiar el orden en que los elementos reciben el foco cuando el usuario presiona TAB si especificas un valor para el atributo tabindex en cada elemento. El valor de este atributo debe ser un número. Cuando el usuario presiona la tecla TAB, el foco cambiará al elemento con el tabindex inmediatamente superior al elemento actual. Esto significa que puedes ordenar los elementos si les asignas índices en forma secuencial. Normalmente, sin embargo, no especificarás un valor para el atributo tabindex. Si no lo especificas, presionar la tecla TAB pondrá el foco en el siguiente elemento marcado en el código. Sólo necesitas especificarlo si deseas usar un orden distinto. Aquí hay un ejemplo:</p>
-
-<p><strong>Ejemplo 1:</strong> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_1.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;button label="Botón 1" tabindex="2"/&gt;
-&lt;button label="Botón 2" tabindex="1"/&gt;
-&lt;button label="Botón 3" tabindex="3"/&gt;
-</pre>
-
-<h4 id="El_evento_enfoque" name="El_evento_enfoque">El evento enfoque</h4>
-
-<p>El evento onfocus (enfoque) se usa para responder cuando un elemento recibe el foco. El evento onblur (desenfocado) se usa para responder cuando el foco se retira de un elemento. Ambos eventos funcionan igual que sus equivalentes en HTML. Puedes usar estos gestores para iluminar un elemento o mostrar un texto de ayuda en la barra de estado. El siguiente ejemplo puede ser usado para aplicar una función a la gestión del evento de enfoque.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_2.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;script&gt;
-function displayFocus()
-{
- var elem=document.getElementById('sbar');
- elem.setAttribute('value','Introduce tu número de teléfono.');
-}
-&lt;/script&gt;
-
-&lt;textbox id="tbox1"/&gt;
-&lt;textbox id="tbox2" onfocus="displayFocus();"/&gt;
-&lt;description id="sbar" value=""/&gt;
-</pre>
-
-<p>El evento onfocus, cuando ocurra, llamará a la función displayFocus(). Esta función cambiará el valor de la etiqueta. Podemos extender este ejemplo para eliminar ese texto cuando el elemento pierde el foco. Generalmente, usarás los eventos de enfoque y desenfocado para actualizar partes de la interfaz cuando el usuario seleccione elementos. Por ejemplo, calculando un total cuando usuario introduzca valores en otros campos, o usando los eventos de foco para validar ciertos valores. No muestres diálogos de alerta durante los eventos de foco ya que generalmente esto incomodará o distraerá al usuario y por ello se considera un diseño de interfaz bastante pobre.</p>
-
-<p>También puedes añadir gestores de eventos dinámicamente usando la función del DOM addEventListener. Puedes usarla para cualquier tipo de elemento. Toma tres parametros, el tipo de evento, la función a ejecutar cuando ocurre el evento y un booleano indicando si debe ser capturado o no.</p>
-
-<h4 id="Obtenci.C3.B3n_del_elemento_actualmente_enfocado" name="Obtenci.C3.B3n_del_elemento_actualmente_enfocado">Obtención del elemento actualmente enfocado</h4>
-
-<p>El elemento enfocado actualmente se registra en un objeto llamado despachador de comandos (command dispatcher), del cual sólo hay una instancia en cada ventana. El despachador de comandos es responsable de mantener controlado el elemento que tiene el foco cuando el usuario usa el interfaz. El despachador de comandos también tiene otras tareas, que serán discutidas en un próxima sección sobre los comandos. Por ahora, miraremos algunas de las características relacionadas con la focalización.</p>
-
-<p>Puedes obtener el despachador de comandos de la ventana usando la propiedad commandDispatcher del documento. Desde ahí, puedes saber el elemento enfocado actualmente con el atributo focusedElement del despachador. El siguiente ejemplo ilustra cómo hacerlo.</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_3.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;window id="focus-example" title="Ejemplo de Foco"
- onload="init();"
- xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
-
- &lt;script&gt;
- function init()
- {
- addEventListener("focus",setFocusedElement,true);
- }
-
- function setFocusedElement()
- {
- var focused = document.commandDispatcher.focusedElement;
- document.getElementById("focused").value = focused.tagName;
- }
- &lt;/script&gt;
-
- &lt;hbox&gt;
- &lt;label control="username" value="Nombre de usuario:"/&gt;
- &lt;textbox id="username"/&gt;
- &lt;/hbox&gt;
-
- &lt;button label="Hola"/&gt;
- &lt;checkbox label="Recuerda esta decisión"/&gt;
- &lt;label id="focused" value="-Sin Foco-"/&gt;
-
-&lt;/window&gt;
-</pre>
-
-<p>En este ejemplo, el gestor de eventos del foco se adjunta a la ventana. Queremos usar un gestor de eventos capturador, así que debemos usar el método addEventListener. Este registrará un gestor de eventos capturador con la ventana, que se encargará de llamar al método setFocusedElement(). Este método coge el elemento que contiene el foco actualmente del despachador de comandos y pone el valor de la etiqueta con el nombre del elemento. Cuando el foco cambia de elemento, la etiqueta mostrará el nombre del elemento que contiene el foco. Algunas cosas que cabe mencionar son las siguientes:</p>
-
-<ul>
- <li>Primero, cuando la caja de texto tiene el foco, el nombre del elemento es ‘html:input’, no ‘textbox’ como cabría esperar. Esto es así porque las cajas de texto en XUL están implementadas usando el control input de HTML, así que el evento de foco es recibido por ese elemento.</li>
- <li>Segundo, haciendo clic en la etiqueta de la caja de texto cambia el foco a la caja de texto. Esto sucede porque el elemento etiqueta tiene un atributo control apuntando al id de la caja de texto.</li>
- <li>Finalmente, la otra etiqueta que muestra el nombre del elemento, no tiene un atributo control, así que hacer clic sobre ella no tiene ningún efecto para el cambio de foco. Sólo los elementos focalizables pueden obtener el foco.</li>
-</ul>
-
-<h4 id="Hacer_una_etiqueta_enfocable" name="Hacer_una_etiqueta_enfocable">Hacer una etiqueta enfocable</h4>
-
-<p>Si tuvieras que crear un elemento personalizado, tendrías que definir si este nuevo elemento puede obtener el foco o no. Para ello, puedes usar una propiedad de estilo especial : -moz-user-focus. Esta propiedad controla si un elemento puede ser focalizable. Por ejemplo, podrías crear una etiqueta focalizable como en el siguiente ejemplo.</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_4.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;label id="focused" style="-moz-user-focus: normal;"
- onkeypress="alert('Etiqueta Focalizada');" value="Focalizame"/&gt;
-</pre>
-
-<p>La propiedad de estilo está puesta como normal. También puedes ponerla como ignore para que el elemento no sea focalizable. Esta propiedad no debe ser usada para deshabilitar un elemento, para ello puedes usar el atributo disabled ya que se diseñó específicamente para ello. Una vez la etiqueta del ejemplo obtiene el foco, puede responder a pulsaciones del teclado. Naturalmente, la etiqueta no da ninguna indicación de estar focalizada, ya que normalmente no debería poder obtener el foco.</p>
-
-<h4 id="Cambio_del_foco" name="Cambio_del_foco">Cambio del foco</h4>
-
-<p>Hay distintas formas de cambiar el elemento actualmente enfocado. La más simple es llamando al método focus del elemento XUL que deseas tener enfocado. El método blur sería usado para desfocalizar un elemento. El siguiente ejemplo muestra su uso.</p>
-
-<p><strong>Ejemplo 5</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_5.xul">Ver en funcionamiento</a></p>
-
-<pre class="eval">&lt;textbox id="addr"/&gt;
-
-&lt;button label="Foco" oncommand="document.getElementById('addr').focus()"/&gt;
-</pre>
-
-<p>Opcionalmente puedes usar los métodos advanceFocus y rewindFocus del despachador de comandos. Estos métodos mueven el foco al siguiente o anterior elemento respectivamente. Esto es lo que pasa cuando se presiona TAB o Mayúsculas+TAB.</p>
-
-<p>Para las cajas de texto, un atributo especial focused se añade cuando el elemento tiene el foco. Puedes comprobar la presencia del atributo para determinar si el elemento está enfocado, ya sea mediante un guión o desde una hoja de estilos. Tendrá el valor true si la caja de texto tiene el foco y si no lo tuviera el atributo ni siquiera estará presente.</p>
-
-<h4 id="Comportamientos_espec.C3.ADficos_de_plataforma" name="Comportamientos_espec.C3.ADficos_de_plataforma">Comportamientos específicos de plataforma</h4>
-
-<dl>
- <dt>Max OS X</dt>
- <dd>Hay una preferencia llamada "Acceso Total al Teclado" (Full Keyboard Access, FKA). Nota que XUL es fiel a esto. Esto quiere decir que cuando la preferencia FKA está<em>off</em>, sólo las cajas de texto y las listas/árboles son enfocables con el teclado, así como de tu teclado utilizando el método focus.</dd>
-</dl>
-
-<h3 id="Manejo_de_cambios_de_texto" name="Manejo_de_cambios_de_texto">Manejo de cambios de texto</h3>
-
-<p>Hay dos eventos que pueden ser utilizados cuando el usuario cambia el valor de una caja de texto. Naturalmente, estos eventos sólo serán enviados a la caja de texto que tiene el foco.</p>
-
-<ul>
- <li>El evento input es disparado siempre que el texto del campo es modificado. El valor nuevo será diferente del viejo. Puedes querer utilizar este evento en lugar de usar eventos de tecla, ya que algunas teclas como Mayúsculas no cambian el valor. Además, el evento input no se disparará si se pulsa una tecla de letra cuando ya no caben más letras en la caja de texto.</li>
- <li>El evento change es similar en que se dispara sólo cuando el campo cambia. Sin embargo sólo se dispara una vez la caja de texto pierde el foco, es decir, una vez por cada conjunto de cambios.</li>
-</ul>
-
-<h3 id="Selecci.C3.B3n_de_texto" name="Selecci.C3.B3n_de_texto">Selección de texto</h3>
-
-<p>Cuando trabajamos con cajas de texto, seguramente deseemos obtener el texto seleccionado en lugar de todo el texto. También es posible que necesitemos cambiar la selección actual.</p>
-
-<p>Las cajas de texto en XUL soportan una forma de obtener y modificar la selección. La forma más sencilla es seleccionar todo el texto de la caja. Esto involucra usar el método select de la caja de texto.</p>
-
-<pre class="eval">tbox.select();
-</pre>
-
-<p>Sin embargo, podrías querer seleccionar tan sólo una parte del texto. Para hacerlo puedes usar la función setSelectionRange. Toma dos parametros, el primero es la posición del caracter inicial y el segundo es la posición del caracter inmediatamente posterior al fin de la selección. Los valores comienzan en 0, así que la posición del primer caracter es 0, la del segundo 1 …</p>
-
-<pre class="eval">tbox.setSelectionRange(4,8);
-</pre>
-
-<p>Este ejemplo seleccionará el quinto, sexto, séptimo y octavo caracteres. Si tan sólo hubiera seis caracteres, sólo el quinto y el sexto serían seleccionados, sin provocar ningún error.</p>
-
-<p>Si usas el mismo valor para ambos parametros, el inicio y fin de la selección cambia a la misma posición. Esto equivale a cambiar la posición del cursor dentro de la caja de texto. Por ejemplo, la siguiente línea puede usarse para mover el cursor al inicio del texto.</p>
-
-<pre class="eval">tbox.setSelectionRange(0,0);
-</pre>
-
-<p>Puedes obtener la selección actual usando las propiedades <code>selectionStart</code> y <code>selectionEnd</code>. Estas propiedades contienen los valores de inicio y final de la selección actual respectivamente. Si ambas contienen el mismo valor, significa que no hay ningún texto seleccionado, y los valores serán la posición actual del cursor. Una vez que tienes la posición inicial y final puedes extraer la subcadena del texto completo.</p>
-
-<p>Puedes obtener y modificar el contenido de una caja de texto usando la propiedad value.</p>
-
-<p>Otra propiedad de las cajas de texto bastante útil es <code>textLength</code>, la cual nos dirá el número de caracteres del campo.</p>
-
-<h3 id="Selecci.C3.B3n_de_otros_elementos" name="Selecci.C3.B3n_de_otros_elementos">Selección de otros elementos</h3>
-
-<p>Muchos otros elementos proporcionan métodos para obtener los elementos seleccionados dentro de ellos. Listas, menús y cajas de pestañas tienen la propiedad selectedIndex que podemos usar para obtener el índice del elemento actualmente seleccionado.</p>
-
-<p>Si asignas un valor a la propiedad selectedIndex puedes cambiar el elemento seleccionado.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Atajos_de_teclado" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Comandos">Siguiente »</a></p>
-</div>
-
-<p><span class="comment">Categorías</span></p>
-
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/herencia_de_atributos_xbl_en_firefox_1.5_y_2.0/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/herencia_de_atributos_xbl_en_firefox_1.5_y_2.0/index.html
deleted file mode 100644
index 930be87618..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/herencia_de_atributos_xbl_en_firefox_1.5_y_2.0/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Herencia de atributos xbl en Firefox 1.5 y 2.0.
-slug: >-
- Archive/Mozilla/XUL/Tutorial_de_XUL/Herencia_de_atributos_xbl_en_Firefox_1.5_y_2.0.
-tags:
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/XBL_Attribute_Inheritance
----
-<p> </p>
-
-<h3 id="Herencia_de_atributos_xbl_en_Firefox_1.5_y_2.0." name="Herencia_de_atributos_xbl_en_Firefox_1.5_y_2.0."><strong>Herencia de atributos xbl en Firefox 1.5 y 2.0.</strong></h3>
-
-<p>He visto por internet que muchas personas están teniendo problemas con <strong>xbl:inherits</strong> en firefox 1.5 y 2.0 en cualquier plataforma, igual que yo, así que pues me di un tiempo después del trabajo para solucionear el problema, tienes que escribir los xmlns como en mi ejemplo.</p>
-
-<p> </p>
-
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-&lt;bindings xmlns="<a class="external" href="http://www.mozilla.org/xbl" rel="freelink">http://www.mozilla.org/xbl</a>" xmlns:xbl="<a class="external" href="http://www.mozilla.org/xbl" rel="freelink">http://www.mozilla.org/xbl</a>" xmlns:xul="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
-&lt;binding id="zona"&gt;
- &lt;content&gt;
- &lt;xul:deck xbl:inherits="selectedIndex" flex="1"&gt;
- &lt;xul:stack&gt;
- &lt;xul:image src="green1.jpg" /&gt;
- &lt;xul:hbox pack="center"&gt;
- &lt;xul:vbox pack="center"&gt;
- &lt;xul:image style="height: 80px; width: 80px;" src="yinyan-m.jpg" /&gt;
- &lt;/xul:vbox&gt;
- &lt;/xul:hbox&gt;
- &lt;/xul:stack&gt;
- &lt;xul:stack&gt;
- &lt;xul:image src="green1.jpg"/&gt;
- &lt;xul:vbox pack="center"&gt;
- &lt;xul:image src="set.jpg"/&gt;
- &lt;/xul:vbox&gt;
- &lt;/xul:stack&gt;
- &lt;/xul:deck&gt;
- &lt;/content&gt;
-&lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-
-<p>Este archivo se guarda con la extensión .xml por ejemplo miarchivo.xml, de esta manera la herencia de atributos de la forma xbl:inherits funciona incluso con atributos definidos en un namespace. RECUERDEN PONER ATENCIÓN A LOS NAMESPACES <strong>xmlns</strong>.</p>
-
-<p> </p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/index.html
deleted file mode 100644
index 6dbfec687b..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/index.html
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Tutorial de XUL
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial
----
-<p>
-</p><p><br>
-</p>
-<div class="note">
-<p>Este tutorial de XUL fue creado por <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a>. Él nos dio su permiso para que lo usáramos como parte de MDC.
-</p>
-</div>
-<p>Este tutorial describe <a href="es/XUL">XUL</a>, el lenguaje de usuario XML. Este lenguaje fue creado para la aplicación Mozilla y es usado para dibujar su interface.
-</p>
-<h3 id="Introducci.C3.B3n" name="Introducci.C3.B3n"> Introducción </h3>
-<ul><li><a href="es/Tutorial_de_XUL/Introducci%c3%b3n">Introducción</a>
-</li><li><a href="es/Tutorial_de_XUL/Estructura_XUL">Estructura XUL</a>
-</li><li><a href="es/Tutorial_de_XUL/La_URL_chrome">La URL chrome</a>
-</li><li><a href="es/Tutorial_de_XUL/Archivos_Manifest">Archivos manifest</a>
-</li></ul>
-<h3 id="Elementos_simples" name="Elementos_simples"> Elementos simples </h3>
-<ul><li><a href="es/Tutorial_de_XUL/Creando_una_ventana">Creando una ventana</a>
-</li><li><a href="es/Tutorial_de_XUL/A%c3%b1adiendo_botones">Añadiendo botones</a>
-</li><li><a href="es/Tutorial_de_XUL/A%c3%b1adiendo_etiquetas_e_imagenes">Añadiendo etiquetas e imágenes</a>
-</li><li><a href="es/Tutorial_de_XUL/Controles_de_entrada">Controles de entrada</a>
-</li><li><a href="es/Tutorial_de_XUL/Controles_de_listas">Controles de listas</a>
-</li><li><a href="es/Tutorial_de_XUL/Medidores_de_Progreso">Medidores de progreso</a>
-</li><li><a href="es/Tutorial_de_XUL/A%c3%b1adiendo_elementos_HTML">Añadiendo elementos HTML</a>
-</li><li><a href="es/Tutorial_de_XUL/Usando_espaciadores">Usando espaciadores</a>
-</li><li><a href="es/Tutorial_de_XUL/M%c3%a1s_caracter%c3%adsticas_de_los_botones">Más características de los botones</a>
-</li></ul>
-<h3 id="El_modelo_de_caja" name="El_modelo_de_caja"> El modelo de caja </h3>
-<ul><li><a href="es/Tutorial_de_XUL/El_modelo_de_caja">El modelo de caja</a>
-</li><li><a href="es/Tutorial_de_XUL/Posicionamiento_de_elementos_de_la_ventana">Posicionamiento de elementos de la ventana</a>
-</li><li><a href="es/Tutorial_de_XUL/Detalles_del_modelo_de_caja">Detalles del modelo de caja</a>
-</li><li><a href="es/Tutorial_de_XUL/Cajas_de_grupo">Cajas de grupo</a>
-</li><li><a href="es/Tutorial_de_XUL/A%c3%b1adiendo_m%c3%a1s_elementos">Añadiendo más elementos</a>
-</li></ul>
-<h3 id="M.C3.A1s_elementos_de_dise.C3.B1o" name="M.C3.A1s_elementos_de_dise.C3.B1o"> Más elementos de diseño </h3>
-<ul><li><a href="es/Tutorial_de_XUL/Apilado_y_plataforma">Apilado y plataforma <small>(stacks and decks)</small></a>
-</li><li><a href="es/Tutorial_de_XUL/Indicadores_de_progreso">Indicadores de progreso</a>
-</li><li><a href="es/Tutorial_de_XUL/Contenedores_de_pesta%c3%b1as">Contenedores de pestañas</a>
-</li><li><a href="es/Tutorial_de_XUL/Rejillas">Cuadrículas</a>
-</li><li><a href="es/Tutorial_de_XUL/Paneles_de_contenidos">Paneles de contenidos</a>
-</li><li><a href="es/Tutorial_de_XUL/Divisores">Divisores</a>
-</li><li><a href="es/Tutorial_de_XUL/Barras_de_desplazamiento">Barras de desplazamiento</a>
-</li></ul>
-<h3 id="Barra_de_herramientas_y_men.C3.BAes" name="Barra_de_herramientas_y_men.C3.BAes">Barra de herramientas y menús</h3>
-<ul> <li><a href="/es/Tutorial_de_XUL/Barra_de_Herramientas" title="es/Tutorial_de_XUL/Barra_de_Herramientas">Barra de herramientas</a></li> <li><a href="/es/Tutorial_de_XUL/Menús_de_Barras_Simples" title="es/Tutorial de XUL/Menús de Barras Simples">Menús de barras simples</a></li> <li><a href="/es/Tutorial_de_XUL/Más_funciones_de_menú" title="es/Tutorial_de_XUL/Más_funciones_de_menú">Más funciones de menú</a></li> <li><a href="/es/Tutorial_de_XUL/Menús_emergentes" title="es/Tutorial de XUL/Menús emergentes">Menús emergentes</a></li> <li><a href="/es/Tutorial_de_XUL/Menús_con_desplazamiento" title="es/Tutorial de XUL/Menús con desplazamiento">Menús con desplazamiento</a></li>
-</ul><h3 id="Eventos_y_scripts" name="Eventos_y_scripts"> Eventos y scripts </h3>
-<ul><li><a href="es/Tutorial_de_XUL/A%c3%b1adiendo_los_gestores_de_eventos">Añadiendo los gestores de eventos</a>
-</li><li><a href="es/Tutorial_de_XUL/M%c3%a1s_gestores_de_eventos">Más gestores de eventos</a>
-</li><li><a href="es/Tutorial_de_XUL/Atajos_de_teclado">Atajos de teclado</a>
-</li><li><a href="es/Tutorial_de_XUL/Foco_y_Selecci%c3%b3n">Foco y selección</a>
-</li><li><a href="es/Tutorial_de_XUL/Comandos">Comandos</a>
-</li><li><a href="es/Tutorial_de_XUL/Actualizar_comandos">Actualizar comandos</a>
-</li><li><a href="es/Tutorial_de_XUL/Emisores_y_receptores">Emisores y receptores</a>
-</li></ul>
-<h3 id="Modelo_de_objeto_de_documento" name="Modelo_de_objeto_de_documento"> Modelo de objeto de documento </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Modelo_de_objeto_de_documento">Modelo de objeto de documento</a>
-</li><li> <a href="es/Tutorial_de_XUL/Modificando_una_interfaz_XUL">Modificando una interfaz XUL</a>
-</li><li> <a href="es/Tutorial_de_XUL/Manipulando_listas">Manipulando listas</a>
-</li><li> <a href="es/Tutorial_de_XUL/Objectos_de_caja">Objectos de caja</a>
-</li><li> <a href="es/Tutorial_de_XUL/Interfaces_XPCOM">Interfaces XPCOM</a>
-</li><li> <a href="es/Tutorial_de_XUL/Ejemplos_XPCOM">Ejemplos XPCOM</a>
-</li></ul>
-<h3 id=".C3.81rboles" name=".C3.81rboles"> Árboles </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/%c3%81rboles">Árboles</a>
-</li><li> <a href="es/Tutorial_de_XUL/M%c3%a1s_caracter%c3%adsticas_de_los_%c3%a1rboles">Más características de los árboles</a>
-</li><li> <a href="es/Tutorial_de_XUL/Selecci%c3%b3n_en_un_%c3%a1rbol">Selección en un árbol</a>
-</li><li> <a href="es/Tutorial_de_XUL/Detalles_de_Vistas_de_un_%c3%a1rbol">Detalles de vistas de un árbol</a>
-</li><li> <a href="es/Tutorial_de_XUL/Objeto_de_caja_de_%c3%a1rbol">Objeto de caja de árbol</a>
-</li></ul>
-<h3 id="Plantillas_y_RDF" name="Plantillas_y_RDF"> Plantillas y RDF </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Introducci%c3%b3n_a_RDF">Introducción a RDF</a>
-</li><li> <a href="es/Tutorial_de_XUL/Plantillas">Plantillas</a>
-</li><li> <a href="es/Tutorial_de_XUL/%c3%81rboles_y_plantillas">Árboles y plantillas</a>
-</li><li> <a href="es/Tutorial_de_XUL/Fuentes_de_datos_RDF">Fuentes de datos RDF</a>
-</li><li> <a href="es/Tutorial_de_XUL/Reglas_avanzadas">Reglas avanzadas</a>
-</li><li> <a href="es/Tutorial_de_XUL/Datos_persistentes">Datos persistentes</a>
-</li></ul>
-<h3 id="Aspectos.2Ftemas_y_configuraci.C3.B3n" name="Aspectos.2Ftemas_y_configuraci.C3.B3n"> Aspectos/temas y configuración </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/A%c3%b1adiendo_hojas_de_estilo">Añadiendo hojas de estilo</a>
-</li><li> <a href="es/Tutorial_de_XUL/Estilizando_un_%c3%a1rbol">Estilizando un árbol</a>
-</li><li> <a href="es/Tutorial_de_XUL/Modificando_el_aspecto_por_defecto">Modificando el aspecto/tema por defecto</a>
-</li><li> <a href="es/Tutorial_de_XUL/Creando_un_aspecto">Creando un aspecto/tema</a>
-</li><li> <a href="es/Tutorial_de_XUL/Localizaci%c3%b3n">Localización</a>
-</li><li> <a href="es/Tutorial_de_XUL/Archivos_de_propiedad">Archivos de propiedad</a>
-</li></ul>
-<h3 id="Vinculaciones" name="Vinculaciones"> Vinculaciones </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Introducci%c3%b3n_al_XBL">Introducción al XBL</a>
-</li><li> <a href="es/Tutorial_de_XUL/Contenido_an%c3%b3nimo">Contenido anónimo</a>
-</li><li> <a href="es/Tutorial_de_XUL/Herencia_de_atributos_XBL">Herencia de atributos XBL</a>
-</li><li> <a href="es/Tutorial_de_XUL/A%c3%b1adiendo_propiedades">Añadiendo propiedades</a>
-</li><li> <a href="es/Tutorial_de_XUL/A%c3%b1adiendo_m%c3%a9todos">Añadiendo métodos</a>
-</li><li> <a href="es/Tutorial_de_XUL/A%c3%b1adiendo_gestores_de_eventos">Añadiendo gestores de eventos</a>
-</li><li> <a href="es/Tutorial_de_XUL/Herencia_en_XBL">Herencia en XBL</a>
-</li><li> <a href="es/Tutorial_de_XUL/Ejemplo_de_XBL">Ejemplo de XBL</a>
-</li></ul>
-<h3 id="Tipos_de_ventanas_especializadas" name="Tipos_de_ventanas_especializadas"> Tipos de ventanas especializadas </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Caracter%c3%adsticas_de_una_ventana">Características de una ventana</a>
-</li><li> <a href="es/Tutorial_de_XUL/Creando_Di%c3%a1logos">Creando diálogos</a>
-</li><li> <a href="es/Tutorial_de_XUL/Di%c3%a1logos_Abrir_y_Guardar">Diálogos abrir y guardar</a>
-</li><li> <a href="es/Tutorial_de_XUL/Creando_un_asistente">Creando un asistente</a>
-</li><li> <a href="es/Tutorial_de_XUL/M%c3%a1s_asistentes">Más asistentes</a>
-</li><li> <a href="es/Tutorial_de_XUL/Presentaci%c3%b3n">Presentación</a>
-</li><li> <a href="es/Tutorial_de_XUL/Presentaci%c3%b3n_din%c3%a1mica">Presentación dinámica</a>
-</li></ul>
-<h3 id="Instalaci.C3.B3n" name="Instalaci.C3.B3n"> Instalación </h3>
-<ul><li> <a href="es/Tutorial_de_XUL/Creando_un_instalador">Creando un instalador</a>
-</li><li> <a href="es/Tutorial_de_XUL/Instalando_Scripts">Instalando scripts</a>
-</li><li> <a href="es/Tutorial_de_XUL/Caracter%c3%adsticas_adicionales_de_la_instalaci%c3%b3n">Características adicionales de la instalación</a>
-</li></ul>
-<div class="originaldocinfo">
-<h3 id="Informaci.C3.B3n_original_del_documento" name="Informaci.C3.B3n_original_del_documento">Información original del documento</h3>
-<ul> <li>Autor: <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a></li> <li>Última modificación: 3 de Junio de 2005</li> <li>Copyright: © 1999-2005 XULPlanet.com</li>
-</ul></div>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/instalando_scripts/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/instalando_scripts/index.html
deleted file mode 100644
index 80db82b861..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/instalando_scripts/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Instalando Scripts
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Instalando_Scripts
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts
----
-<p> </p>
-<p>Esta sección describe el script de instalación.</p>
-<h3 id="Creando_un_script_de_instalaci.C3.B3n" name="Creando_un_script_de_instalaci.C3.B3n">Creando un script de instalación</h3>
-<p>Usted deseará generalmente alguna forma de control sobre el proceso de instalacion. Por ejemplo, usted puede desear comprobar versiones de archivos e instalar solamente archivos actualizados, o quizás usted desea aplicar parches a los archivos existentes. El script de instalación es lo suficiente flexible para permitirle desinstalar archivos. Por esta razón, los instaladores incluyen un script de instalación para manejar el proceso de la instalación.</p>
-<p>El script de instalación se debe llamar install.js y se debe colocar en el nivel superior del archivo del instalador. El script contendrá código Javascript que ejecutará varias funciones de instalación.</p>
-<p>En un documento HTML, o un documento XUL, el objeto <code>window</code> es el objeto global de la raíz. Eso significa que usted puede llamar los métodos del objeto <code>window</code> sin usar el calificador antes de la llamada, lo que significa que window.open(…) se puede escribir simplemente open(…). En un script de instalación, no hay ventana asociada, sin embargo el objeto global será un objeto <code>Install</code> que contiene varias funciones para personalizar el proceso de instalación. Algunas de las funciones del objeto <code>Install</code> serán descritas abajo.</p>
-<p>El script de instalación debe seguir los siguientes pasos:</p>
-<ol>
- <li>Inicie la instalación especificando qué paquete y versión está siendo instalada.</li>
- <li>Utilice las funciones de instalación para indicar qué archivos y directorios necesitan ser instalados. Usted puede también fijar los archivos que se moverán y serán suprimidos.</li>
- <li>Comience el proceso de instalar los archivos necesarios.</li>
-</ol>
-<p>Es importante observar que durante el paso dos, usted indica solamente qué archivos deben ser instalados y que suceda cualquier otra operación que usted desee. Ningún archivo se copia hasta el paso tres. Debido a esto, usted puede especificar fácilmente un número de archivos que se instalarán, viene a través de una cierta clase de error, y aborta el proceso entero sin la modificación del sistema del usuario.</p>
-<h3 id="El_Registro_de_Componentes" name="El_Registro_de_Componentes">El Registro de Componentes</h3>
-<p>Mozilla mantiene un archivo que es un registro de todos los componentes que están instalados actualmente. Los componentes incluyen los nuevos paquetes de chrome, skins y extensiones. Cuando un nuevo componente es instalado, el registro se actualiza. El registro almacena los archivos y la información de versión de los componentes instalados. De esa forma, es más fácil comprobar si una versión de su componente está presente y actualizarlo solamente en caso de necesidad.</p>
-<p>Los componentes del registro trabajan como el registro de Windows. Consiste en una jerarquía de llaves y de valores. Usted no necesita saber mucho sobre eso para crear aplicaciones XUL a menos que usted esté creando sus propios componentes XPCOM.</p>
-<p>Lo qué usted necesita saber para una instalación es que el registro almacena un sistema de información sobre su aplicación, tal como la lista del archivo y las versiones. Toda esta información se almacena en una llave (y dentro de subkeys) que usted proporciona en la escritura de la instalación (en el paso 1 mencionado arriba).</p>
-<p>Esta llave esta estructurada como un directorio de la trayectoria de la forma siguiente:</p>
-<pre>/Author/Package Nombre
-</pre>
-<p>Substituya la palabra Author por su nombre y substituya el nombre del paquete por el nombre del paquete que usted está instalando. Por ejemplo:</p>
-<pre>/Xulplanet/Find Files
-
-/Netscape/Personal Security Manager
-</pre>
-<p>El primer ejemplo es el que utilizaremos para el diálogo de búsqueda de archivos. El segundo es la llave usada para el Personal Security Manager.</p>
-<h3 id="Iniciar_la_Instalaci.C3.B3n" name="Iniciar_la_Instalaci.C3.B3n">Iniciar la Instalación</h3>
-<p>El objeto <code>Install</code> tiene una función, initInstall, que se puede utilizar para iniciar la instalación. Debe ser ejecutada al principio de su script de instalación. La sintaxis de esta función es como sigue:</p>
-<p>initInstall( packageName , regPackage , version );</p>
-<p><b>Ejemplo:</b></p>
-<p>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0");</p>
-<p>El primer parámetro es el nombre del paquete en forma legible. El segundo parámtro es la llave del registro usada para guardar la información del paquete según lo descrito antes. El tercer parámetro es la versión del paquete que esta siendo instalado.</p>
-<p>Después, necesitamos definir el directorio donde serán instalados los archivos. Hay dos maneras de hacer esto. El método simple asigna un directorio de la instalación e instala todos los archivos en él. El segundo método permite que usted asigne una destinación basándose en el archivo-por-archivo (o directorio). El primer método se describe abajo.</p>
-<p>La función setPackageFolder asigna un directorio de la instalación. Para el diálogo de búsqueda de archivos, instalaremos los archivos en el directorio chrome. (realmente podría ponerlos dondequiera.) El setPackageFolder toma una discusión, el directorio donde sera instalado. Para una máxima portabilidad, usted no puede especificar una cadena de caracteres para el directorio. En lugar de eso, usted especifica un identificador de un directorio conocido y abre subdirectorios de él. Así, si sus aplicaciones necesitan instalar algunas bibliotecas de sistema, usted no necesitará saber el nombre de esos directorios.</p>
-<p>Los identificadores de directorio se enumeran en <a class="external" href="http://www.xulplanet.com/references/elemref/ref_Install.html#prop_getFolder">XULPlanet reference</a>. Para el directorio chrome, el identificador del directorio es 'Chrome'. La función getFolder se puede utilizar para conseguir uno de estos directorios especiales. Esta función tiene dos parámetros, el primero es el identificador y el segundo es un subdirectorio. Por ejemplo:</p>
-<pre>findDir = getFolder("Chrome","findfile");
-setPackageFolder(findDir);
-</pre>
-<p>Aquí, conseguimos la carpeta findfile en la carpeta chrome y la pasamos directamente a la función del setPackageFolder. La segunda discusión al getFolder es el subdirectorio en el cual vamos a instalar, que no tiene que existir. Usted puede dejar esta discusión enteramente afuea si usted no necesita uno.</p>
-<h3 id="Especificar_los_archivos_a_instalar" name="Especificar_los_archivos_a_instalar">Especificar los archivos a instalar</h3>
-<p>Después, usted necesita especificar qué archivos deben ser instalados. Esto implica el uso de dos funciones, addDirectory y addFile. La función addDirectory le dice al instalador que un directorio del archivo XPI (y de todo su contenido) debe ser instalado a un lugar particular. El addFile es similar pero para un solo archivo.</p>
-<p>Las funciones addDirectory y addFile tienen varias formas. Las más simples solo tienen una discusión, el directorio del instalador para instalar al directorio asignado de la instalación.</p>
-<p>addDirectory ( dir ); addFile ( dir );</p>
-<p><b>Ejemplo:</b></p>
-<p>addDirectory("findfile");</p>
-<p>El ejemplo anterior especificará que el directorio findfile del archivo del instalador debe ser instalado. Podemos llamar estas funciones múltiples veces para instalar otros archivos.</p>
-<p>Después, desearemos colocar los archivos de busqeuda en el sistema del chrome para poderlo utilizar con un cromo URL. Esto se puede hacer con la función registerChrome. Toma dos discusiones, el primero es el tipo de chrome a colocarse (contenido, skin o ‘locale’). El segundo es el directorio que contiene el archivo de contents.rdf para colocarse. Porque el diálogo de los archivos de busqueda tiene contenido, un archivo skin y un archivo ‘locale’, el registerChrome necesitará ser abierto tres veces.</p>
-<pre>registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content"));
-registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin"));
-registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale"));
-</pre>
-<p>La bandera de DELAYED_CHROME se utiliza para indicar que el cromo debe ser instalado la próxima vez Mozilla está funcionado.</p>
-<h3 id="Terminar_la_Instalaci.C3.B3n" name="Terminar_la_Instalaci.C3.B3n">Terminar la Instalación</h3>
-<p>Las funciones addDirectory y addFile no copian ningun archivo. Indican solamente qué archivos deben ser instalados. Semejantemente, el registerChrome indica solamente que el chrome debe ser colocado. Para terminar el proceso y para comenzar a copiar archivos, abra la función performInstall. No toma ninguna discusión.</p>
-<p>el script final para instalar el componente de búsqueda de archivos se muestra abajo:</p>
-<div class="highlight">
- <h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
- <pre>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0");
-
-findDir = getFolder("Chrome","findfile");
-setPackageFolder(findDir);
-
-addDirectory("findfile");
-
-registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content"));
-registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin"));
-registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale"));
-
-performInstall();
-</pre>
-</div>
-<p>A continuación veremos algunas funciones adicionales de instalación</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/interfaces_xpcom/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/interfaces_xpcom/index.html
deleted file mode 100644
index 5965efa462..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/interfaces_xpcom/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Interfaces XPCOM
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Interfaces_XPCOM
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/XPCOM_Interfaces
----
-<p> </p>
-<p>En esta sección, vamos a echar un pequeño vistazo a XPCOM (Cross-platform Component Object Model o Modelo de Objeto de Componentes Multiplataforma), el sistema de objetos que utiliza Mozilla.</p>
-<h3 id="Llamando_a_Objetos_Nativos" name="Llamando_a_Objetos_Nativos">Llamando a Objetos Nativos</h3>
-<p>Usando XUL podemos construir una interfaz de usuario compleja. Podemos asociarle scripts que modificarán la interfaz y ejecutarán tareas. Pero hay bastantes cosas que no podemos hacer directamente con JavaScript. Por ejemplo, si quisieramos crear una aplicación de correo, necesitaríamos escribir scripts que se conectaran con los servidores de correo para obtener el correo y mandarlo. Pero JavaScript no puede hacer esta clase de cosas.</p>
-<p>La única forma de llevar a cabo estas tareas sería escribiendo código nativo. También necesitaríamos una forma de que nuestros scripts pudieran comunicarse con el código nativo de forma sencilla. Mozilla nos proporciona todo esto con XPCOM (Modelo de Objeto de Componentes Multiplataforma).</p>
-<h3 id="Acerca_de_XPCOM" name="Acerca_de_XPCOM">Acerca de XPCOM</h3>
-<p>Mozilla está construido mediante una colección de componentes, cada uno de ellos responsable de ejecutar una cierta tarea. Por ejemplo, hay un componente para cada menú, botón y elemento. Estos componentes se construyen a partir de un conjunto de definiciones llamadas interfaces.</p>
-<p>Una interfaz en Mozilla es una definición de un conjunto de funcionalidades que pueden ser implementadas mediante componentes. Los componentes son los encargados de implementar el código que ejecuta las distintas tareas en Mozilla. Cada componente implementa la funcionalidad tal como está descrita en la interfaz. Un único componente puede implementar múltiples interfaces. Y varios componentes pueden implementar la misma interfaz.</p>
-<p>Tomemos el ejemplo de un supuesto componente archivo. Se necesitaría crear una interfaz que describiera las propiedades y funciones que pueden realizarse sobre los archivos. Un archivo necesitaría propiedades para almacenar su nombre, la fecha de modificación y su tamaño. Entre las funciones del archivo podríamos incluir movernos por el archivo, copiarlo o borrarlo.</p>
-<p>La interfaz Archivo solo describe las características de un archivo, no las implementa. La implementación de la interfaz Archivo es tarea del componente. El componente tendrá código que será capaz de obtener el nombre del archivo, la fecha y su tamaño. Además, tendrá código que permita copiarlo y renombrarlo.</p>
-<p>Mientras implemente la interfaz correctamente, no nos preocupa cómo hace todas estas cosas. Evidentemente, necesitaremos diferentes implementaciones, una para cada plataforma. Las versiones de un componente archivo en Windows y Macintosh serán bastante diferentes. De todas formas, ambas implementarán la misma interfaz. Por lo tanto, podemos utilizar un componente accediendo a las funciones que conocemos de la interfaz.</p>
-<p>En Mozilla, el nombre de las interfaces viene precedido de ‘nsI’ de forma que sean facilmente reconocibles. Por ejemplo, nsIAddressBook es la interfaz que se utiliza para interaccionar con una libreta de direcciones (address book), nsISound se utiliza para reproducir sonidos y nsILocalFile se utiliza para manejo de archivos.</p>
-<p>Los componentes XPCOM suelen implementarse con código nativo, lo que significa que normalmente pueden hacer cosas que JavaScript no puede por sí mismo. Existe una forma sencilla de llamar a este código nativo, que veremos dentro de poco. Podemos ejecutar cualquiera de las funciones proporcionadas por el componente tal como se describe en las interfaces que implementa. Por ejemplo, una vez que tenemos un componente, podemos comprobar si implementa nsISound, y, si es el caso, podemos reproducir sonidos a través de él.</p>
-<p>El proceso de llamar a XPCOM desde un script se realiza a través de XPConnect, una capa que traduce los objetos de script en objetos nativos.</p>
-<h3 id="Creando_Objetos_XPCOM" name="Creando_Objetos_XPCOM">Creando Objetos XPCOM</h3>
-<p>Hay tres pasos a seguir a la hora de llamar a un componente XPCOM.</p>
-<ol>
- <li>Obtener el componente</li>
- <li>Obtener la parte del componente que implementa la interfaz que queremos utilizar.</li>
- <li>Llamar a la función que necesitamos</li>
-</ol>
-<p>Una vez que se han llevado a cabo los dos primeros pasos, podemos repetir el último paso tantas veces como sea necesario. Digamos que queremos renombrar un archivo. Para eso podemos utilizar la interfaz nsILocalFile. El primer paso es obtener un componente archivo. Después, hacemos una petición al componente y obtenemos la porción que implementa la interfaz nsILocalFile. Por último, llamamos a las funciones proporcionadas por la interfaz. Esta interfaz se utiliza para representar un único archivo.</p>
-<p>Hemos visto que las interfaces siempre se nombran comenzando con ‘nsI’. Los componentes, por otra parte, se referencian utilizando una sintaxis URI. Mozilla almacena una lista de todos los componentes disponibles en su propio registro. Un usuario puede instalar nuevos componentes si lo desea. Todo esto funciona de forma muy parecida a los plug-ins.</p>
-<p>Mozilla proporciona un componente archivo, es decir, un componente que implementa nsILocalFile. Este componente puede ser referenciado para ser utilizado usando la URI ‘@mozilla.org/file/local;1’. Para especificar un determinado componente se utiliza la forma componente: URI. Se puede referenciar otros componentes de forma similar.</p>
-<p>Se puede utiliar esta URI para obtener el componente. Para obtener un componente podemos utilizar un código JavaScript similar al siguiente:</p>
-<pre>var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance();
-</pre>
-<p>Se obtiene el componente archivo y éste se almacena en la variable unArchivo.</p>
-<p>La palabra clave <code>Components</code> del ejemplo anterior hace referencia a un objeto general que proporciona algunas funciones relacionadas con componentes. En este caso, obtenemos la clase de un componente a partir de la propiedad <code>classes</code>. La propiedad <code>classes</code> es un vector de todos los componentes disponibles. Para obtener un componente diferente, simplemente tendrías que reemplazar la URI de este componente por la del componente que quieras utilizar. Por último, se crea una instancia con la función <code>createInstance</code>.</p>
-<p>Deberías comprobar el valor de retorno de <code>createInstance</code> para asegurarte de que no sea null, lo que indicaría que el componente no existe.</p>
-<p>Llegados a este punto tenemos solo una referencia al componente archivo en sí. Para poder llamar a sus funciones necesitamos obtener una de sus interfaces, en este caso nsILocalFile. Necesitamos añadir una segunda línea de código:</p>
-<pre>var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (unArchivo) unArchivo.QueryInterface(Components.interfaces.nsILocalFile);
-</pre>
-<p><code>QueryInterface</code> es una función proporcionada por todos los componentes que puede ser utilizada para obtener una interfaz específica de ese componente. Esta función toma un solo parámetro, la interfaz que queremos obtener. La propiedad <code>interfaces</code> del objeto <code>Components</code> contiene una lista de todas las interfaces disponibles. En este caso, utilizamos la interfaz nsILocalFile y la pasamos como parámetro a <code>QueryInterface</code>. El resultado es que unArchivo será una referencia a la parte del componente que implementa la interfaz nsILocalFile.</p>
-<p>Las dos líneas de JavaScript anteriores pueden ser utilizadas para obtener cualquier interfaz de un componente. Simplemente reemplaza el nombre del componente con el nombre del componente que quieras utilizar y sustituye también el nombre de la interfaz. Por supuesto, también puedes utilizar cualquier nombre de variable. Por ejemplo, para obtener una interfaz sonido, puedes hacer lo siguiente:</p>
-<pre>var sonido = Components.classes["@mozilla.org/sound;1"].createInstance();
-if (sonido) sonido.QueryInterface(Components.interfaces.nsISound);
-</pre>
-<p>Las interfaces XPCOM pueden heredar de otras interfaces. Las interfaces que heredan de otras tienen sus propias funciones y las funciones de todas las interfaces de las que heredan. Todas las interfaces heredan de una interfaz raíz llamada nsISupports. En esta interfaz se define la función <code>QueryInterface</code>, que ya hemos visto. Dado que todos los componentes implementan la interfaz nsISupports, la función <code>QueryInterface</code> está disponible en todos los componentes.</p>
-<p>Varios componentes distintos pueden implementar la misma interfaz. Normalmente, suelen ser subclases de la original pero no es necesario. Cualquier componente puede implementar la funcionalidad de nsILocalFile. Además, un componente puede implementar varias interfaces. Por esto es por lo que se necesitan dos pasos a la hora de obtener una interfaz con la que llamar a las funciones.</p>
-<p>De todas formas, existe un atajo que podemos utilizar dado que estas dos líneas se utilizan tan amenudo:</p>
-<pre>var aLocalFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
-</pre>
-<p>Esto tiene el mismo efecto que las dos líneas anteriores pero en una sola línea de código, lo cual elimina la necesidad de crear la instancia y pedir una interfaz en dos pasos distintos.</p>
-<p>Si llamas a <code>QueryInterface</code> sobre un objeto y la interfaz pedida no está soportada por el objeto, se lanza una excepción. Si no estas seguro de si un componente soporta una determinada interfaz, puedes utilizar el operador instanceof para comprobarlo:</p>
-<pre>var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (unArchivo instanceof Components.interfaces.nsILocalFile){
- // hacer algo
-}
-</pre>
-<p>El operador instanceof devuelve verdadero si unArchivo implementa la interfaz nsILocalFile. Esto tiene el efecto secundario de llamar a <code>QueryInterface</code>, de forma que unArchivo será un nsILocalFile después.</p>
-<h3 id="Llamando_a_las_Funciones_de_una_Interfaz" name="Llamando_a_las_Funciones_de_una_Interfaz">Llamando a las Funciones de una Interfaz</h3>
-<p>Ahora que tenemos un objeto que referencia un componente con la interfaz nsILocalFile, podemos llamar a las funciones de nsILocalFile a través de él. La tabla siguiente muestra alguna de las propiedades y métodos de la interfaz nsILocalFile.</p>
-<p>Propiedad / método Descripción</p>
-<dl>
- <dt>
- initWithPath </dt>
- <dd>
- Este método se utiliza para inicializar la ruta y el nombre de archivo para nsILocalFile. El primer parámetro debería ser la ruta del archivo, como ‘/usr/local/mozilla’</dd>
- <dt>
- leafName  </dt>
- <dd>
- El nombre de archivo sin la parte del directorio</dd>
- <dt>
- fileSize </dt>
- <dd>
- El tamaño del directorio</dd>
- <dt>
- isDirectory() </dt>
- <dd>
- Devuelve verdadero si nsILocalFile representa un directorio</dd>
- <dt>
- delete(recursivo) </dt>
- <dd>
- Borra un archivo. Si el parámetro recursivo es true, también permite borrar un directorio y todos sus archivos y subdirectorios.</dd>
- <dt>
- copyTo(directorio,nuevonombre) </dt>
- <dd>
- Copia un archivo a otro directorio, puede usarse también para renombrar el archivo. El parámetro directorio debería ser un nsILocalFile que sirva como apuntador del directorio donde se quiere copiar el archivo.</dd>
- <dt>
- moveTo(directorio,nuevonombre) </dt>
- <dd>
- Permite mover un archivo a otro directorio, o renombrar el archivo. El parámetro directorio debería ser un nsILocalFile apuntando al directorio al que se quiere mover el archivo.</dd>
-</dl>
-<p>Para borrar un archivo primero tenemos que asignarlo al nsILocalFile. Podemos llamar al método <code>initWithPath</code> para indicar el archivo al que nos referimos. Simplemente asigna la ruta del archivo a su propiedad. Después, llamamos a la función <code>delete</code>. Esta función toma un parámetro que indica si debe borrar de forma recursiva. El siguiente código sirve como demostración de estos dos pasos:</p>
-<pre>var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (unArchivo instanceof Components.interfaces.nsILocalFile){
- unArchivo.initWithPath("/mozilla/archivoprueba.txt");
- unArchivo.delete(false);
-}
-</pre>
-<p>Este código obtiene el archivo de /mozilla/testfile.txt y lo borra. Prueba este ejemplo añadiendo este código a un manejador de evento. Deberías cambiar el nombre de archivo a un archivo existente en tu sistema de archivos y que quieras borrar.</p>
-<p>En la tabla de funciones anterior, verás dos funciones <code>copyTo</code> y <code>moveTo</code>. Estas dos funciones puede ser utilizadas para copiar archivos y mover archivos respectivamente. Ten en cuenta que estos no toman una cadena de caracteres como parámetro indicando el directorio al que copiar o mover el archivo, si no un nsILocalFile. Esto significa que tendrás que obtener dos componentes archivo. El siguiente ejemplo muestra como copiar un archivo.</p>
-<pre>function copiarArchivo(archivofuente,dirdestino)
-{
- // obtenemos un componente para el archivo a copiar
- var unArchivo = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
- if (!unArchivo) return false;
-
- // obtenemos un componente para el directorio donde queremos copiar
- var unDirectorio = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
- if (!unDirectorio) return false;
-
- // asignamos las URLs a los componentes archivo
- unArchivo.initWithPath(archivofuente);
- unDirectorio.initWithPath(dirdestino);
-
- // finalmente, copiamos el archivo, sin renombrarlo
- unArchivo.copyTo(unDirectorio,null);
-}
-
-copyFile("/mozilla/archivoprueba.txt","/etc");
-</pre>
-<h3 id="Servicios_XPCOM" name="Servicios_XPCOM">Servicios XPCOM</h3>
-<p>Existen algunos componentes XPCOM especiales llamados servicios. No tienes que crear instancias de ellos porque solo puede existir uno. Los servicios proporcionan funciones de carácter general que pueden obtener o establecer el valor de información global o ejecutar operaciones en otros objetos. En lugar de llamar a createInstance, llamamos a getService para obtener una referencia al componente del servicio. A parte de eso, los servicios no son demasiado diferentes de los demás componentes.</p>
-<p>Uno de los servicios que proporciona Mozilla es un servicio de marcadores. Este permite añadir marcadores a la lista de marcadores del usuario. A continuación podemos ver un ejemplo:</p>
-<pre>var marcadores = Components.classes["@mozilla.org/browser/bookmarks-service;1"].getService();
-marcadores.QueryInterface(Components.interfaces.nsIBookmarksService);
-marcadores.addBookmarkImmediately("http://www.mozilla.org","Mozilla",0,null);
-</pre>
-<p>Primero obtenemos el componente “@mozilla.org/browser/bookmarks-service;1�? y su servicio se coloca en una variable marcadores. Utilizamos QueryInterface para obtener la interfaz nsIBookmarksService. La función addBookmarkImmediately proporcionada por esta interfaz puede utilizarse para añadir marcadores. Los dos primeros parámetros de la función son la URL y el título del marcador. El tercer parámetro es el tipo del marcador que valdrá 0 normalmente, y el último parámetro es la codificación de caractéres del documento que estamos añadiendo a marcadores, que puede ser null.</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/introducción/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/introducción/index.html
deleted file mode 100644
index 9c010ca596..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/introducción/index.html
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: Introducción
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Introducción
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Estructura_XUL">Siguiente »</a></p>
-</div>
-
-<p>Este tutorial te guiará durante el aprendizaje de XUL (XML Lenguaje de Interfaz de Usuario) el cual es un lenguaje múltiplataforma para describir la interfaz de usuario de las aplicaciones.</p>
-
-<p>Este tutorial te mostrará la creación de una sencilla interfaz de usuario de un buscador de archivos, muy parecida a la suministrada por la aplicación de Macintosh Sherlock o el cuadro de diálogo de búsqueda de archivos en Windows. Observa que solo se creará la interfaz de usuario y su funcionalidad será limitada. No se implementará la búsqueda de archivos propiamente dicha. Se mostrará una linea azul en la parte izquierda del párrafo donde se modificará el diálogo de búsqueda.</p>
-
-<h3 id=".C2.BFQu.C3.A9_es_XUL_y_porque_fue_creado.3F" name=".C2.BFQu.C3.A9_es_XUL_y_porque_fue_creado.3F">¿Qué es XUL y porque fue creado?</h3>
-
-<p>XUL (se pronuncia “sul? y rima con “cool?) fue creado para facilitar y acelerar el desarrollo del navegador Mozilla. Es un lenguaje XML, por lo tanto todas las características del XML están también en XUL.</p>
-
-<p>La mayoría de las aplicaciones necesitan ser desarrolladas usando características de una plataforma específica, convirtiendo el desarrollo de aplicaciones múltiplataformas en una tarea costosa y que consume mucho tiempo. Esto podrá no importarle a algunas personas, pero el usuario podría querer usar la aplicación en otros dispositivos, como equipos de bolsillo.</p>
-
-<p>En el pasado se desarrollaron muchas soluciones multiplataforma. Por ejemplo, Java tiene como un punto fuerte de venta la soportabilidad. XUL es un lenguaje diseñado específicamente para construir interfaces soportables.</p>
-
-<p>Desarrollar una aplicación toma mucho tiempo incluso si es sólo para una plataforma. El tiempo requerido para compilar y depurar también puede ser muy largo. Con XUL, una interfaz puede ser implementada y modificada de forma fácil y rápida.</p>
-
-<p>XUL tiene todas las ventajas de otros lenguajes XML. Por ejemplo, XHTML u otros lenguajes XML como MathML o SVG se pueden usar junto a él. Además, el texto que se muestra con XUL es fácilmente localizable, lo que significa que puede ser traducido a otros idiomas con poco esfuerzo. Se pueden aplicar hojas de estilo para modificar la apariencia de la interfaz de usuario (muy parecido a las funcionalidades de aspectos o temas presentes en Winamp o algunos gestores de ventanas).</p>
-
-<h3 id=".C2.BFQue_tipo_de_interfaz_se_puede_hacer_con_XUL.3F" name=".C2.BFQue_tipo_de_interfaz_se_puede_hacer_con_XUL.3F">¿Que tipo de interfaz se puede hacer con XUL?</h3>
-
-<p>XUL proporciona la habilidad de crear la mayoría de los elementos encontrados en las interfaces gráficas modernas. Es tan general que este puede ser aplicado a las necesidades específicas de ciertos dispositivos y tan poderoso que los desarrolladores pueden crear sofisticadas interfaces con éste.</p>
-
-<p>Algunos elementos que pueden ser creados son:</p>
-
-<ul>
- <li>Controles de entrada tales como cuadros de texto y cajas de chequeo</li>
- <li>Barra de herramientas con botones u otros contenidos</li>
- <li>Menús en barras de menú o menú emergente</li>
- <li>Pestañas de diálogo</li>
- <li>Árbol de información jerárquica o tabulada</li>
- <li>Teclas de accesos directo</li>
-</ul>
-
-<p>El contenido mostrado puede ser creado desde el contenido de un archivo XUL o con datos de una fuente de datos. En Mozilla, tales fuentes de datos son utilizadas para los mensajes de una cuenta de correo, los marca-páginas y los resultados de búsqueda. El contenido de los menúes, árboles y otros elementos pueden ser llenados con estos datos, o con sus propios datos suministrados en un archivo RDF (Resource Description Framework).</p>
-
-<p>Existen varios casos en los cuales aplicaciones XUL son creadas:</p>
-
-<ul>
- <li><strong>extensión de Firefox</strong>: una extensión suma funcionalidades al navegador mismo, a menudo barra de herramientas suplementaria, menúes contextuales o una interfaz de personalización del navegador. Para conseguir eso una funcionalidad XUL llamada<em>overlay</em> es usada. Permite hacer fusionar una interfaz existente como el navegador Firefox con una interfaz de usuario de la extensión. Unas extensiones pueden igualmente ser aplicadas a otros productos de Mozilla tal como Thunderbird.</li>
- <li><strong>aplicación XULRunner autónoma</strong>: XULRunner es una versión empaquetada de una plataforma Mozilla permitiendo crear aplicaciones XUL autónomas. No se necesita ningún navegador para arrancar éstas aplicaciones ya que contienen sus propios archivos ejecutables.</li>
- <li><strong>paquete de XUL</strong>: a medio camino entre las dos otras se encuentran aplicaciones creadas de la misma manera que una extensión pero funcionando como una aplicación independiente en una ventana separada. Estos paquetes se emplean cuando no se desea una imponente aplicación completa XULRunner pero tampoco implica la instalación de un navegador Mozilla.</li>
- <li><strong>aplicación XUL remota</strong>: se puede también colocar solamente código XUL en un servidor web y abrirlo con un navegador, como cualquier página web. Sin embargo este método es limitado, por razones de seguridad sobre que acciones se permiten, como la apertura de otras ventanas.</li>
-</ul>
-
-<p>Los tres primeros tipos necesitan cada uno su instalación en la máquina del usuario. Por lo cual, estos tipos de aplicaciones no tienen restricciones de seguridad, pueden acceder a los archivos locales y leer y escribir las preferencias, por ejemplo. El contenido XUL es normalmente cargado desde un paquete instalado dentro de Mozilla. Los archivos XUL, "scripts" asociados e imágenes de una aplicación podrán ser empaquetados dentro de un simple archivo, descargados e instalados por el usuario. Mozilla proporciona una manera de tener estos paquetes instalados y registrados sin tener que escribir un montón de códigos complejos. Además, estos paquetes pueden incorporarse al navegador u otras aplicaciones para adicionarles características; esta es la forma en que trabajan las extensiones de Firefox.</p>
-
-<p>También es posible abrir directamente archivos XUL desde el sistema de archivos o desde un sitio web remoto, sin embargo ellos estarán restringidos en el tipo de operaciones que puedan hacer, y algunas características de XUL no trabajarán. En cambio, si Ud. quiere cargar el contenido XUL desde un sitio remoto, el servidor web debe estar configurado para enviar archivos XUL con contenidos de tipo '<code>application/vnd.mozilla.xul+xml</code>'. El XUL es usualmente almacenado en archivos con una extensión .xul. Ud. puede abrir un archivo XUL con Mozilla tal como abre otros archivos, usando el comando Abrir Archivo desde el menú de Archivo o escribiendo la URL en la barra de dirección.</p>
-
-<h3 id=".C2.BFQue_necesita_conocer_para_utilizar_este_tutorial.3F" name=".C2.BFQue_necesita_conocer_para_utilizar_este_tutorial.3F">¿Que necesita conocer para utilizar este tutorial?</h3>
-
-<p>Debe tener conocimentos de HTML (HyperText Markup Language) y por lo menos, conocimientos básicos de XML y CSS (Cascading Style Sheets). Aquí se exponen algunas reglas que debe tener en mente:</p>
-
-<ul>
- <li>Los elementos en XUL y sus atributos deben introducirse en minúsculas, ya que XML distingue entre mayúsculas/minúsculas (a diferencia de HTML).</li>
- <li>Los valores de los atributos en XUL, deben colocarse entre comillas, aunque sean números.</li>
- <li>Los archivos XUL por lo general se dividen en cuatro ficheros, uno para la disposición de los elementos, otro para la definición del estilo, otro para declarar las entidades (usadas en las localizaciones) y otro para los "script". Además se pueden tener archivos para las imágenes o para datos específicos de una plataforma.</li>
-</ul>
-
-<p>XUL está soportado en Mozilla y otros navegadores basados en el motor Gecko, tales como Netscape 6 o posteriores y Mozilla Firefox. Debido a los diversos cambios que ha tenido la sintaxis de XUL en el tiempo, tener la última versión de su navegador permitirá que los ejemplos trabajen adecuadamente. La mayoría de los ejemplos deben funcionar en Mozilla 1.0 o posteriores. XUL es bastante similar en Firefox y los otros navegadores, aunque tiene algunas diferencias específicas como el soporte de barras de herramientas personalizables.</p>
-
-<p>Este tutorial intenta cubrir gran parte de la funcionalidad de XUL, no obstante, no trata todas las características. Una vez se haya familiarizado con el lenguaje XUL puede utilizar <a href="es/XUL/Elementos">la referencia de elementos del lenguaje XUL</a> (<a class="external" href="http://www.xulplanet.com/references/elemref/">en</a>) para encontrar otras características soportadas por elementos específicos del lenguaje.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Estructura_XUL">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/introducción_a_rdf/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/introducción_a_rdf/index.html
deleted file mode 100644
index 8315441b4c..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/introducción_a_rdf/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: Introducción a RDF
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Introducción_a_RDF
-tags:
- - RDF
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Introduction_to_RDF
----
-<p>En ésta sección, miraremos el Marco de Descripción de Recursos (RDF) <small>(Resource Description Framework)</small>.</p>
-
-<h3 id="Marco_de_descripci.C3.B3n_de_recursos" name="Marco_de_descripci.C3.B3n_de_recursos">Marco de descripción de recursos</h3>
-
-<p>Podemos usar <a href="es/Tutorial_de_XUL/%c3%81rboles">los elementos del árbol</a> para mostrar un conjunto de datos, tales como bookmarks o mensajes de email. Sin embargo, Sería inconveniente hacerlo así ingresando los archivos diretamente en el archivo <a href="es/XUL">XUL</a>. Eso haría muy difícil modificar los (marcadores) bookmarks si ellos estuviesen directamente en el archivo XUL. La forma de solucionar ésto es usando un recurso de datos RDF.</p>
-
-<p><a href="es/RDF">RDF</a> (Marco de Descripción de Recursos) Es un formato que puede ser usado para almacenar recursos tales como marcadores o bookmarks y correos. Alternativamente, datos en otros formatos pueden ser usados y códigos de escritura que leerán el archivo y crearán datos RDF de ellos. Así es como Mozilla funciona, cuando él lee los datos tal como marcadores o bookmarks, el historial o los correos, Mozilla provee datos de recurso para este dato común para que pueda facilmente usarlos.</p>
-
-<p>Puedes usar cualquiera de los datos de recurso RDF proveidos para poblar árboles con datos a or you can point to an RDF file stored in XML which contains the data. This makes it very convenient to display trees with lots of rows in them. RDF can also populate other XUL elements as well such as listboxes and menus. We'll see this in the next section.</p>
-
-<p>A very brief overview of RDF will be provided here. For a more detailed guide to RDF, ver <a class="external" href="http://www.xulplanet.com/tutorials/mozsdk/rdfstart.php">Introducción al modelo RDF</a>, en XULPlanet. It is recommended that you read this guide if you are new to RDF.</p>
-
-<p>Para más información sobre RDF, ver la <a class="external" href="http://www.w3.org/TR/rdf-primer/">especificación RDF</a>.</p>
-
-<h4 id="RDF.2FXML" name="RDF.2FXML">RDF/XML</h4>
-
-<p>RDF consta de un modelo, el cual es una representación gráfica de datos. RDF/XML es un lenguaje XML que puede ser usado para representar un dato RDF. Ello contiene un conjunto de elementos bastante simples. El ejemplo de abajo muestra una simple plantilla RDF</p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;RDF:RDF
- xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
- ...
-&lt;/RDF:RDF&gt;
-</pre>
-
-<p>Ésto tiene similitudes con el encabezador de XUL. En vez de <code><a href="es/XUL/Elementos/window">window</a></code> element, el elemento <code>RDF</code> es usado. puedes ver el namespace (espacio de nombre) para RDF fue declarado así para que los elementos RDF sean reconocidos apropiadamente. Dentro del elemento <code>RDF</code>, podrás colocar el dato. para ver algún ejemplo de archivos RDF/XML, Mira aquellas proveidas por Mozilla. Ellos tienen la extensión rdf.</p>
-
-<h4 id="Base_de_datos_RDF" name="Base_de_datos_RDF">Base de datos RDF</h4>
-
-<p>Tomemos el ejemplo de una lista de marcadores generados desde RDF.Una lista de marcadores contiene un conjunto de registros,Cada uno con un conjunto asociado a ello, tal como una URL, Un título de marcador y un fecha de visita.</p>
-
-<p>Piensa en el marcador como una base de datos, el cual es almacenado en una grande tabla con numerosos campos. En el caso de RDF o como sea, Las listas pueden ser jerarquizadas también. Esto es necesario para nosotros podamos tener carpetas o categorías de los marcadores. cada uno de los campos en la base de datos RDF es un recurso, cada uno con su nombre asociado a ello. El nombre es descrito por un URI.</p>
-
-<p>Por ejemplo, una selección de campos en la lista de marcadores de Mozilla es descrito por los URIs below:</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td>Nombre</td>
- <td><span class="nowiki">http://home.netscape.com/NC-rdf#Nombre</span></td>
- <td>Bookmark name</td>
- </tr>
- <tr>
- <td>URL</td>
- <td><span class="nowiki">http://home.netscape.com/NC-rdf#URL</span></td>
- <td>URL to link to</td>
- </tr>
- <tr>
- <td>Descripción</td>
- <td><span class="nowiki">http://home.netscape.com/NC-rdf#Descripción</span></td>
- <td>Bookmark description</td>
- </tr>
- <tr>
- <td>Fecha última visita</td>
- <td><span class="nowiki">http://home.netscape.com/WEB-rdf#FechaÚltimaVisita</span></td>
- <td>La fecha en la cual se visitó por última vez</td>
- </tr>
- </tbody>
-</table>
-
-<p>These are generated by taking a namespace name and appending the field name. In the next section, we'll look at how we can use these to fill in the field values automatically. Note that the last visited date has a slightly different namespace than the other three.</p>
-
-<h4 id="Ejemplo_de_archivo_RDF.2FXML" name="Ejemplo_de_archivo_RDF.2FXML">Ejemplo de archivo RDF/XML</h4>
-
-<p>Below, a sample RDF/XML file is shown, listing a table with three records and three fields.</p>
-
-<pre>&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ANIMALS="http://www.some-fictitious-zoo.com/rdf#"&gt;
-
- &lt;RDF:Seq about="http://www.some-fictitious-zoo.com/all-animals"&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/mammals/lion"&gt;
- &lt;ANIMALS:name&gt;León&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Panthera leo&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Mamífero&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/arachnids/tarantula"&gt;
- &lt;ANIMALS:name&gt;Tarántula&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Avicularia avicularia&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Araña&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/mammals/hippopotamus"&gt;
- &lt;ANIMALS:name&gt;Hipopótamo&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Hippopotamus amphibius&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Mamífero&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;/RDF:Seq&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-
-<p>Here, three records have been described, one for each animal. Each <code>RDF:Description</code> tag describes a single record. Within each record, three fields are described, <code>name</code>, <code>species</code> and <code>class</code>. It isn't necessary for all records to have the same fields but it makes more sense to have them all the same.</p>
-
-<p>Each of three fields have been given a namespace of <code>ANIMALS</code>, the URL of which has been declared on the <code>RDF</code> tag. The name was selected because it has meaning in this case, but we could have selected something else. The namespace feature is useful because the <code>class</code> field might conflict with that used for styles.</p>
-
-<p>The <code>Seq</code> and <code>li</code> elements are used to specify that the records are in a list. This is much like how HTML lists are declared. The <code>Seq</code> element is used to indicate that the elements are ordered, or in sequence. Instead of the <code>Seq</code> element, you can also use <code>Bag</code> to indicate unordered data, and <code>Alt</code> to indicate data where each record specifies alternative values (such as mirror URLs).</p>
-
-<p>The resources can be referred to in a XUL file by combining the namespace URL followed by the field name. In the example above, the following URIs are generated which can be used to refer to the specific fields:</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td>Nombre</td>
- <td><span class="nowiki">http://www.some-fictitious-zoo.com/rdf#name</span></td>
- </tr>
- <tr>
- <td>Especies</td>
- <td><span class="nowiki">http://www.some-fictitious-zoo.com/rdf#species</span></td>
- </tr>
- <tr>
- <td>Clase</td>
- <td><span class="nowiki">http://www.some-fictitious-zoo.com/rdf#class</span></td>
- </tr>
- </tbody>
-</table>
-
-<p>Next, we'll see how we can use RDF to populate XUL elements.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Objeto_de_caja_de_árbol" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Plantillas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/la_url_chrome/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/la_url_chrome/index.html
deleted file mode 100644
index d62ed39007..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/la_url_chrome/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: La URL chrome
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/La_URL_chrome
-translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Introducción" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Archivos_Manifest">Siguiente »</a></p>
-</div>
-
-<p><br>
- La siguiente sección describe cómo referirse a los documentos XUL y otros archivos chrome.</p>
-
-<h3 id="La_URL_Chrome" name="La_URL_Chrome">La URL Chrome</h3>
-
-<p>Los archivos XUL pueden accederse con una URL HTTP común, igual que los archivos HTML. Sin embargo, se puede hacer referencia a los paquetes que se instalan dentro del sistema chrome de Mozilla con un URL chrome especial. Los paquetes incluidos con Mozilla ya se encuentran instalados, pero tu puedes registrar los tuyos.</p>
-
-<p>Los paquetes instalados tienen la ventaja de que no tienen restricciones de seguridad establecidas, que es necesario para muchas aplicaciones. Otra ventaja sobre otro tipo de URL es que maneja automáticamente múltiples temas e idiomas. Por ejemplo, una URL chrome permite referirse a un archivo del tema como una imagen, sin necesidad de saber cuál es el tema que el usuario está usando. Siempre y cuando los nombres de los archivos sean iguales en cada tema, te puedes referir a ellos usando una URL chrome. Mozilla se encargará de determinar dónde se encuentran los archivos para retornar los datos correctos. Esto significa que realmente no importa dónde se encuentre instalado el paquete para poder acceder a el. Las URL chrome son independientes de donde se encuentren instalados fisicamente los archivos. Esto hace más fácil escribir aplicaciones que tienen muchos archivos ya que no tienes que preocuparte por el detalle de dónde se encuentran localizados.</p>
-
-<p>La sintaxis básica de una URL chrome es la siguiente</p>
-
-<pre>chrome://&lt;nombre del paquete&gt;/&lt;parte&gt;/&lt;archivo.xul&gt;
-</pre>
-
-<p>El texto &lt;nombre del paquete&gt; es el nombre del paquete, como lo puede ser<em>messenger</em> (IM) o el editor HTML. La &lt;parte&gt; es normalmente 'content', 'skin' o 'locale', depende la parte que quieras. &lt;archivo.xul&gt; es simplemente el nombre del archivo.</p>
-
-<p><strong>Ejemplo</strong>: <a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a></p>
-
-<p>El ejemplo se refiere a la ventana messenger. Puedes apuntar a un archivo que es parte del skin reemplazando 'content' con 'skin' y cambiando el nombre del archivo. Similarmente puedes apuntar a un archivo que es parte de locale usando 'locale' en lugar de 'content'.</p>
-
-<p>Cuando abres una URL chrome, Mozilla echa un vistazo a través de su lista de paquetes instalados e intenta localizar el archivo JAR o el directorio que concuerde con el nombre del paquete y la parte. El mapeado entre las URL chrome y los archivos JAR se especifica en el archivo de manifiesto almacenado en el directorio chrome. Si reubicases el archivo<em>messenger.jar</em> en algun otro lugar al original y actualizases el archivo de manifiesto adecuadamente, todo continuaría funcionando correctamente ya que está restringido a su lugar de instalación. Usando URLs chrome podemos permitirle detalles como este a Mozilla. Análogamente, si el usuario cambia su tema, la parte 'skin' de la URL chrome se redirecciona a una colección de archivos diferente, sin que se tengan que hacer cambios en el XUL y en los scripts.</p>
-
-<p>Aquí hay otros ejemplos. Fíjate como ninguna de las URLs de tema o locale establecen especificamente algun directorio.</p>
-
-<pre>chrome://messenger/content/messenger.xul
-chrome://messenger/content/attach.js
-chrome://messenger/skin/icons/folder-inbox.gif
-chrome://messenger/locale/messenger.dtd
-</pre>
-
-<p>Para referirse a algun subdirectorio, solo es necesario agregarlo al final de la URL chrome. Las siguientes URLs se refieren a la ventana de favoritos (bookmarks), presta atención que en ambas se refieren al mismo archivo, pero varía de paquete ya que uno es para la Suite de Mozilla y la otra se usa en Firefox</p>
-
-<pre>chrome://communicator/content/bookmarks/bookmarksManager.xul (Mozilla)
-chrome://browser/content/bookmarks/bookmarksManager.xul (Firefox)
-</pre>
-
-<p>Puedes usar las URLs chrome en cualquier lugar donde se usan las URLs comunes. Incluso puedes escribirlas directamente en la barra de dirección (URL) de la ventana del navegador de Mozilla. Si escribes una de las URL de arriba en la barra de direccion, verás una ventana que aparece donde normalmente iría una pagina web y que en su mayoría es tan funcional como si fuera una ventana separada. Algunas ventanas de dialogo pueden no funcionar correctamente si precisan de argumentos que debe asignar la ventana que la abre.</p>
-
-<p>En ocaciones verás URLs chrome sin el nombre de un archivo especificado, por ejemplo:</p>
-
-<pre>chrome://browser/content/
-</pre>
-
-<p>En este caso, solo el nombre del paquete y la parte son especificados. Este tipo de referencia selecciona automáticamente un archivo apropiado del directorio correspondiente. Para contenido, se selecciona un archivo con el mismo nombre del paquete y con la extension xul. En el ejemplo de arriba, el archivo browser.xul es el que se selecciona. Para messenger, el arhivo seleccionado sería messenger.xul. Cuando creas tus propias aplicaciones, deberías crear un archivo con la ventana principal usando el mismo nombre de tu aplicación, así podrás referirte a ella de una manera más práctica y corta. Esta es una práctica común para que los usuarios solo necesiten saber el nombre del paquete para ejecutar la aplicación. Por supuesto, para una extensión que modifica la interfaz del navegador, el usuario no necesitar saber la URL ya que la extensión se presenta ella misma en la interfaz gráfica.</p>
-
-<p>Para una piel (skin), el archivo &lt;nombre_del_paquete&gt;.css se selecciona; para una configuración regional, el archivo &lt;nombre_del_paquete&gt;.dtd es seleccionado.</p>
-
-<p>Recuerda, chrome URL no está relacionado con su ubicación en el disco. Las dos primeras piezas de chrome URL son el nombre del paquete y la parte (ya sea contenido, piel (skin), o locale). A pesar de que es común colocar los archivos de contenido en un directorio llamado 'content', esto está fuero de convenio alguno, y estos archivos deben ser colocados en una estructura distinta.</p>
-
-<p>En la siguiente sección veremos como crear archivos .manifest y paquetes.</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/manipulando_listas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/manipulando_listas/index.html
deleted file mode 100644
index 90a38d41c6..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/manipulando_listas/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: Manipulando listas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Manipulando_listas
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Manipulating_Lists
----
-<p>The XUL listbox provides a number of specialized methods.</p>
-
-<h3 id="Manipulaci.C3.B3n_de_una_lista" name="Manipulaci.C3.B3n_de_una_lista">Manipulación de una lista</h3>
-
-<p>The <code><a href="es/XUL/Elementos/listbox">listbox</a></code> element provides numerous methods to retrieve and manipulate its items. Although <a href="es/Tutorial_de_XUL/Controles_de_listas">listboxes</a> may be manipulated using the standard <a href="es/DOM">DOM</a> functions as well, it is recommended that the specialized listbox functions be used instead when possible. These functions are bit simpler and will do the right thing.</p>
-
-<p>The <code><a href="es/XUL/M%c3%a9todos/appendItem">appendItem()</a></code> function is used to append a new item to the end a list. Similar to the <a href="es/DOM/element#element.appendChild">DOM appendChild()</a> function except that it takes a string label, and you do not have to worry about where to add it in the list structure. Here is an example:</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function addItem(){
- document.getElementById('thelist').appendItem("Thursday", "thu");
-}
-&lt;/script&gt;
-
-&lt;listbox id="thelist"/&gt;
-
-&lt;button label="Add" oncommand="addItem();"/&gt;
-</pre>
-
-<p>The <code><a href="es/XUL/M%c3%a9todos/appendItem">appendItem()</a></code> takes two arguments, the <code>label</code>, in this case 'Thursday', and a <code>value</code> 'thu'. The two arguments correspond to the <code><a href="es/XUL/Atributos/label">label</a></code> attribute and the <code><a href="es/XUL/Atributos/value">value</a></code> attribute on the <code><a href="es/XUL/Elementos/listitem">listitem</a></code> element. The value is used only as an extra optional value associated with an item which you might wish to use in a script.</p>
-
-<p>Similarly, there is also an <code><a href="es/XUL/M%c3%a9todos/insertItemAt">insertItemAt()</a></code> and a <code><a href="es/XUL/M%c3%a9todos/removeItemAt">removeItemAt()</a></code> function which inserts a new item and removes an existing item respectively. The syntax is as follows:</p>
-
-<pre>list.insertItemAt(3, "Miércoles", "mié");
-list.removeItemAt(3);
-</pre>
-
-<p>The <code><a href="es/XUL/M%c3%a9todos/insertItemAt">insertItemAt()</a></code> function takes an additional argument, the position to insert the new item. The new item is inserted at this index, so, in the example, the new item will be added at position 3 while the item previously at that position will now be at position 4. Remember that the first item is 0. The <code><a href="es/XUL/M%c3%a9todos/removeItemAt">removeItemAt()</a></code> function will remove the item at a specific index.</p>
-
-<p>These three methods are also available for several other XUL elements and work in the same manner. In fact, these methods are part of the <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMXULSelectControlElement.html">nsIDOMXULSelectControlElement</a> interface so any XUL elements which implement this interface have these methods. This includes the <code><a href="es/XUL/Elementos/menulist">menulist</a></code>, <code><a href="es/XUL/Elementos/radiogroup">radiogroup</a></code> and <code><a href="es/XUL/Elementos/tabs">tabs</a></code> elements. For example, to add a new item to a <a href="es/Tutorial_de_XUL/Men%c3%baes_de_barras_simples">menulist</a>, you can use the same syntax as for a <a href="es/Tutorial_de_XUL/Controles_de_listas">listbox</a>. The right kind of element will be appended in each situation.</p>
-
-<h3 id="Lista_de_selecci.C3.B3n" name="Lista_de_selecci.C3.B3n">Lista de selección</h3>
-
-<p>The <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMXULMultiSelectControlElement.html">nsIDOMXULMultiSelectControlElement</a> interface provides two additonal properties, <code><a href="es/XUL/Propiedades/selectedIndex">selectedIndex</a></code> and <code><a href="es/XUL/Propiedades/selectedItem">selectedItem</a></code>. The former returns the index of the selected item while the latter returns the selected element. For instance the selectedItem of a menulist will be the <code><a href="es/XUL/Elementos/menuitem">menuitem</a></code> that is selected. If no item is selected, <code><a href="es/XUL/Propiedades/selectedIndex">selectedIndex</a></code> will return -1, while <code><a href="es/XUL/Propiedades/selectedItem">selectedItem</a></code> will return null.</p>
-
-<h4 id="Obteniendo_el_.C3.ADtem_seleccionado" name="Obteniendo_el_.C3.ADtem_seleccionado">Obteniendo el ítem seleccionado</h4>
-
-<p>These two properties are commonly inspected during a select event, as in the following example:</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;listbox id="thelist" onselect="alert(this.selectedItem.label);"&gt;
- &lt;listitem label="Corto"/&gt;
- &lt;listitem label="Medio"/&gt;
- &lt;listitem label="Largo"/&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>The select event is fired for a <a href="es/XUL/Elementos/listbox">listbox</a> when an item in the list is selected. The select handler here displays an alert containing the label of the selected item in the list. Since the select event fired we can assume that an item is selected. In other cases, you may wish to check to ensure that selectedItem is not null before continuing.</p>
-
-<p>The select event is also fired when a radio button in a <code><a href="es/XUL/Elementos/radiogroup">radiogroup</a></code> is selected and when a tab is selected in a <code><a href="es/XUL/Elementos/tabs">tabs</a></code> element. However, <code><a href="es/XUL/menulist">menulists</a></code> do not fire the select event; instead you can listen to the command event to handle when an item is selected.</p>
-
-<p>For the <code><a href="es/XUL/Elementos/tabs">tabs</a></code> element, it is often more convenient to use functions of the <code><a href="es/XUL/Elementos/tabbox">tabbox</a></code> element instead. It also has a <code><a href="es/XUL/Propiedades/selectedIndex">selectedIndex</a></code> function which will return the index of the selected tab. However, to get the selected item, use the tabbox's <code><a href="es/XUL/Propiedades/selectedTab">selectedTab</a></code> property instead. Or, use the <code><a href="es/XUL/Propiedades/selectedPanel">selectedPanel</a></code> property to get the selected panel, that is, return the content associated with the <a href="es/XUL/Elementos/tab">tab</a>.</p>
-
-<h4 id="Cambiando_la_selecci.C3.B3n" name="Cambiando_la_selecci.C3.B3n">Cambiando la selección</h4>
-
-<p>All of the selection related properties described above may also be assigned a new value to change the selection. In the next example, the <code><a href="es/XUL/Propiedades/selectedIndex">selectedIndex</a></code> property of a <code><a href="es/XUL/Elementos/radiogroup">radiogroup</a></code> element is changed based on the value entered in a textbox. This code isn't foolproof though; for example it doesn't check if the value entered is out of range. You will want to make sure that you add this kind of error checking.</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function doSelect(){
- var val = document.getElementById('number').value;
- val = Number(val);
- if (val != null)
- document.getElementById('level').selectedIndex = val - 1;
-}
-&lt;/script&gt;
-
-&lt;hbox align="center"&gt;
- &lt;label value="Escriba un número del 1 a 3:"/&gt;
- &lt;textbox id="number"/&gt;
- &lt;button label="Seleccionar" oncommand="doSelect();"/&gt;
-&lt;/hbox&gt;
-
-&lt;radiogroup id="level"&gt;
- &lt;radio label="Excelente"/&gt;
- &lt;radio label="Bueno"/&gt;
- &lt;radio label="Pobre"/&gt;
-&lt;/radiogroup&gt;
-</pre>
-
-<p>Listboxes also support multiple selection and the functions of the <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMXULMultiSelectControlElement.html">nsIDOMXULMultiSelectControlElement</a> interface. This interface provides a number of functions specifically for handling multiple selection. For example the <code><a href="es/XUL/Propiedades/selectedItems">selectedItems</a></code> property holds a list of the items that are selected, while the <a href="es/XUL/Propiedades/selectedCount">selectedCount</a> property holds the number of items selected. Typically, you will use these properties to iterate over the list and perform some operation for each item. Be careful when iterating over the selected items; if you modify the items in the list while iterating, the list will change and the selection properties may return different values. This is one reason why it is useful to manipulate the list by the item rather than by index.</p>
-
-<h4 id="Deleting_selected_items" name="Deleting_selected_items">Deleting selected items</h4>
-
-<p>The following example shows a method of deleting the selected items properly:</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_4.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function deleteSelection(){
- var list = document.getElementById('thelist');
- var count = list.selectedCount;
- while (count--){
- var item = list.selectedItems[0];
- list.removeItemAt(list.getIndexOfItem(item));
- }
-}
-&lt;/script&gt;
-
-&lt;button label="Delete" oncommand="deleteSelection();"/&gt;
-
-&lt;listbox id="thelist" seltype="multiple"&gt;
- &lt;listitem label="Cheddar"/&gt;
- &lt;listitem label="Cheshire"/&gt;
- &lt;listitem label="Edam"/&gt;
- &lt;listitem label="Gouda"/&gt;
- &lt;listitem label="Havartie"/&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>Inside the while loop we</p>
-
-<ul>
- <li>first get the selecteItem at index 0. The first selected item is always retrieved as the size of the array will decrease as the items are removed.</li>
- <li>Next, we remove the item using the <code><a href="es/XUL/M%c3%a9todos#removeItemAt">removeItemAt()</a></code> function. Since this function requires an index</li>
- <li>we can convert between an item and an index using the <code><a href="es/XUL/M%c3%a9todos#getIndexOfItem">getIndexOfItem()</a></code> function. There is also a corresponding <code><a href="es/XUL/M%c3%a9todos#getItemAtIndex">getItemAtIndex()</a></code> function to do the reverse.</li>
-</ul>
-
-<p>The <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMXULMultiSelectControlElement.html">nsIDOMXULMultiSelectControlElement</a> interface also provides methods for modifying the selected items. For instance, the <code><a href="es/XUL/M%c3%a9todos/addItemToSelection">addItemToSelection()</a></code> function adds a new item to the set of selected items, without clearing the existing selection. The <code><a href="es/XUL/M%c3%a9todos#removeItemFromSelection">removeItemFromSelection()</a></code> function removes a single item from the selection.</p>
-
-<h3 id="Lista_desplegable" name="Lista_desplegable">Lista desplegable</h3>
-
-<p>If there are more rows in the <code><a href="es/XUL/Elementos/listbox">listbox</a></code> than can be displayed, a scroll bar will appear to allow the user to scroll the list. The scroll position may be adjusted using a couple of listbox methods.</p>
-
-<p>The <code><a href="es/XUL/M%c3%a9todos/scrollToIndex">scrollToIndex()</a></code> method scrolls to a given row. This listbox will scroll such that the row will be the top row visible, unless the row is near the end of the list of items. The <code><a href="es/XUL/M%c3%a9todos/ensureIndexIsVisible">ensureIndexIsVisible()</a></code> method is similar in that it also scrolls to show a row, but this method does not scroll if the item is already visible. Thus, the former function is used to scroll to a specific row while the latter is used just to make sure that a row is visible. There is also an <code><a href="es/XUL/M%c3%a9todos/ensureIndexIsVisible">ensureIndexIsVisible()</a></code> that takes an item as an argument instead of an index. Compare the effect of both functions at different scroll positions in this example:</p>
-
-<p><strong>Ejemplo 5</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_domlists_5.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="scrollToIndex"
- oncommand="document.getElementById('thelist').scrollToIndex(4);"/&gt;
-&lt;button label="ensureIndexIsVisible"
- oncommand="document.getElementById('thelist').ensureIndexIsVisible(4);"/&gt;
-
-&lt;listbox id="thelist" rows="5"&gt;
- &lt;listitem label="1"/&gt;
- &lt;listitem label="2"/&gt;
- &lt;listitem label="3"/&gt;
- &lt;listitem label="4"/&gt;
- &lt;listitem label="5"/&gt;
- &lt;listitem label="6"/&gt;
- &lt;listitem label="7"/&gt;
- &lt;listitem label="8"/&gt;
- &lt;listitem label="9"/&gt;
- &lt;listitem label="10"/&gt;
- &lt;listitem label="11"/&gt;
- &lt;listitem label="12"/&gt;
-&lt;/listbox&gt;
-</pre>
-
-<p>Seguimos con los <a href="es/Tutorial_de_XUL/Objectos_de_caja">objetos de caja de XUL</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Modificando_una_interfaz_XUL" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Objetos_de_caja">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/medidores_de_progreso/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/medidores_de_progreso/index.html
deleted file mode 100644
index 687e1fbcc3..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/medidores_de_progreso/index.html
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: Medidores de Progreso
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Medidores_de_Progreso
-tags:
- - Tutorial_de_XUL
- - XUL
----
-<p>En esta seccion veremos como crear medidores progreso (o indicador de progreso).</p>
-<h3 id="A.C3.B1adiendo_un_indicador_de_progreso" name="A.C3.B1adiendo_un_indicador_de_progreso">Añadiendo un indicador de progreso</h3>
-<p>Un indicador de progreso es una barra que indica la cantidad de trabajo realizado para completar una acción. Son tipicamente usados cuando se han de descargar ficheros o cuando realizamos una larga operación. XUL tiene indicadores de progreso, habiendo dos tipos de ellos: determinados e indeterminados.</p>
-<p>Los indicadores de progreso determinados se usan cuando conocemos la cantidad de trabajo necesaria para llevar a cabo una operación. El indicador de progreso se irá llenando y una vez lleno completamente, la operación deberá haber terminado. Este puede usarse para dialogos de descarga de ficheros, ya que conocemos el tamaño del fichero.</p>
-<p>Los indicadores indeterminados se usan cuando no sabemos cuanto trabajo puede llevar una operación.</p>
-<p>Indicador de progreso determinado : <img alt="Image:prog-det.png" class=" internal" src="/@api/deki/files/814/=Prog-det.png"></p>
-<p>Indicador de progreso indeterminado : <img alt="Image:prog-udet.png" class=" internal" src="/@api/deki/files/815/=Prog-udet.png"></p>
-<p>Los indicadores de progreso tienen la siguiente sintaxis:</p>
-<pre>&lt;progressmeter
- id="identificador"
- mode="determined"
- value="0%"/&gt;
-</pre>
-<p>Los atributos son como sigue:</p>
-<dl> <dt>id </dt> <dd>El identificador para el indicador de progreso</dd> <dt>mode </dt> <dd>El tipo de indicador de progreso. Si es determined, será un indicador de progreso determinado y se irá llenando conforme se realize la tarea. Sí es undetermined será un indicador de progreso indeterminado, donde no conocemos cuando finalizará la operación. El valor por defecto, si no definimos este atributo, es determined.</dd>
-</dl>
-<dl> <dt>value </dt> <dd>El valor actual del indicador de progreso. Solo deberíamos usar cuando el indicador de progreso es del tipo determinado. El valor debe ser un porcentaje desde 0% a 100%. Este atributo puede ser cambiado desde un script conforme vaya completandose la tarea.</dd>
-</dl>
-<div class="highlight">
-<p>Incluyamos un indicador de progreso a nuestro dialogo de encontrar ficheros. Deberíamos poner un indicador indeterminado, ya que no sabemos cuantos ficheros tendremos que comprobar en nuestra búsqueda o cuanto tardaremos en hacerlo. Sin embargo, pondremos uno determinado por ahora para ver como funciona. El indicador de progreso normalmente solo aparecerá cuando la búsqueda se está llevando a cabo. Más tarde crearemos un script para mostrarlo y ocultarlo.</p>
-<p> </p>
-<pre class="eval">&lt;hbox&gt;
-
- <span class="highlightred">&lt;progressmeter value="50%" style="margin: 4px;"/&gt;</span>
-</pre>
-<pre class="eval"> &lt;spacer flex="1" /&gt;
-&lt;/hbox&gt;
-</pre>
-<p><img alt="Image:progress1.png" class=" internal" src="/@api/deki/files/816/=Progress1.png"></p>
-<p>El atributo lo hemos puesto como 50% para poder ver el indicador inicialmente. Tambíen le hemos asignado un margen de 4 pixels para separarlo de los márgenes de la ventana. Tal como indicamos anteriormente, solo queremos ver el indicador de progreso cuando se esté realizando la búsqueda. Un script lo ocultará y mostrará cuando sea necesario.</p>
-</div>
-<p>En la proxima seccion, aprenderemos como adicionar elementos a una ventana usando HTML.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_con_desplazamiento/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/menús_con_desplazamiento/index.html
deleted file mode 100644
index c5fb82fb1c..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_con_desplazamiento/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Menús con desplazamiento
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Menús_con_desplazamiento
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - para_revisar
----
-<p>Esta sección describe los menús con desplazamiento y cómo usar el mecanismo con otros elementos.</p>
-
-<h3 id="Creaci.C3.B3n_de_un_men.C3.BA_largo" name="Creaci.C3.B3n_de_un_men.C3.BA_largo">Crear un menú grande</h3>
-
-<p>Te preguntarás qué sucede si creas un menú con muchas opciones en él, de tal forma que no todos los ítems aparezcan en la pantalla a la vez. Mozilla <img alt="scrolling-menu.jpg" class="internal rwrap" src="/@api/deki/files/4819/=scrolling-menu.jpg" style="float: right;">proveerá un mecanismo de despliegue que te permitirá moverte a través de los ítems.</p>
-
-<div class="float-right"><img alt="Image:menuscroll1.png" class="internal" src="/@api/deki/files/761/=Menuscroll1.png"></div>
-
-<p>Si el espacio disponible es demasiado pequeño, aparecerán flechas al final de cada menú. Si mueves el ratón sobre las flechas, el menú se desplegará hacia abajo o hacia arriba. Si el espacio disponible es lo suficientemente grande, las flechas no aparecerán. Observa que el comportamiento exacto de este mecanismo dependerá del tema actual.</p>
-
-<p>Este comportamiento es automático. No tienes que hacer nada para obtener menús desplegables. Se aplicará a menús en barras de menú, en emergentes o listas de menús. Se implementa usando un elemento <code><a href="/es/XUL/Elementos#arrowscrollbox" title="es/XUL/Elementos#arrowscrollbox">arrowscrollbox</a></code>. Este elemento puede usarse para crear cajas desplegables con flechas.</p>
-
-<p>El elemento <code><a href="/es/XUL/Elementos#arrowscrollbox" title="es/XUL/Elementos#arrowscrollbox">arrowscrollbox</a></code> puede usarse en cualquier lugar donde se pueda usar una caja normal. No tienes que usarlo en menús. Siempre es un caja vertical y puede contener cualquier elemento en su interior. Puedes usarlo para implementar una lista cuando no deseas hacer un menú desplegable.</p>
-
-<h4 id="Ejemplo_-_desplazamiento_de_una_lista_de_botones" name="Ejemplo_-_desplazamiento_de_una_lista_de_botones">Ejemplo - lista de botones con desplazamiento</h4>
-
-<p>El siguiente ejemplo muestra cómo crear una lista desplegable de botones (tendrás que redefinir el tamaño de la ventana para ver los botones de flechas):</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menuscroll_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menuscroll_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;arrowscrollbox orient="vertical" flex="1"&gt;
- &lt;button label="Rojo"/&gt;
- &lt;button label="Azul"/&gt;
- &lt;button label="Verde"/&gt;
- &lt;button label="Amarillo"/&gt;
- &lt;button label="Naranja"/&gt;
- &lt;button label="Plata"/&gt;
- &lt;button label="Lavenda"/&gt;
- &lt;button label="Oro"/&gt;
- &lt;button label="Turquesa"/&gt;
- &lt;button label="Melocotón"/&gt;
- &lt;button label="Marrón"/&gt;
- &lt;button label="Negro"/&gt;
-&lt;/arrowscrollbox&gt;
-</pre>
-
-<p>Si pruebas este ejemplo, primero abrirá a tamaño total. Sin embargo, si encoges el alto de la ventana, las flechas de despliegue aparecerán. Al volver a hacer la ventana más grande, las flechas desaparecerán.</p>
-
-<p>Puedes establecer una altura máxima usando la propiedad CSS <code>max-height</code> en el <code>arrowscrollbox</code> para limitar el tamaño de la caja de despliegue y así hacer que las flechas aparezcan todo el tiempo.</p>
-
-<p>El <code>arrowscrollbox</code> es principalmente útil en menús y emergentes.</p>
-
-<p>A continuación veremos cómo añadir <a href="/es/Tutorial_de_XUL/Añadiendo_los_gestores_de_eventos" title="es/Tutorial_de_XUL/Añadiendo_los_gestores_de_eventos">gestores de eventos a elementos XUL</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Menús_emergentes" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Añadiendo_los_gestores_de_eventos">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_de_barras_simples/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/menús_de_barras_simples/index.html
deleted file mode 100644
index 30f475f63b..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_de_barras_simples/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: Barras de menús simples
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Menús_de_Barras_Simples
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - Tutoriales
- - XUL
- - para_revisar
-translation_of: Archive/Mozilla/XUL/Tutorial/Simple_Menu_Bars
----
-<p>En esta sección veremos cómo crear una barra de menús.</p>
-<h3 id="Creando_un_Men.C3.BA" name="Creando_un_Men.C3.BA">Crear un menú</h3>
-<p>XUL tiene varias formas de crear un menú. La más simple es agregar una barra de menús con una fila de menús en ella como tienen muchas aplicaciones. También se pueden crear menús emergentes. Las características de menús en XUL consisten en una cantidad de elementos diferentes que permiten la creación de barras de menú o menús emergentes. Los elementos u opciones en dichos menús pueden ser personalizados sin mucha dificultad. Vimos ya una <a href="/es/Tutorial_de_XUL/Controles_de_listas" title="es/Tutorial de XUL/Controles de listas">parte de cómo construir un menú </a>usando <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menulist.html">menulist</a></code>. En esta sección ampliaremos el tema.</p>
-<p>Las barras de menús son creadas, generalmente, de manera muy similar a las barras de herramientas o <code><a href="../../../../en/XUL/toolbar" rel="custom nofollow">toolbar</a></code>. Una barra de menús puede ser ubicada de manera opcional dentro de una <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_toolbox.html">toolbox</a></code> (caja de herramientas) y el menú funcionará como cualquier otra barra de herramientas. XUL, sin embargo, tiene ciertos elementos de menú especiales que proporcionará funciones características de los menús clásicos.</p>
-<p>Hay 5 elementos asociados con la creación de una barra de menús y sus menús, que se explican brevemente a continuación pero en los que se profundizará más adelante:</p>
-<dl>
- <dt>
- <a href="../../../../en/XUL/menubar" rel="custom nofollow">menubar</a></dt>
- <dd>
-  </dd>
- <dd>
- El contenedor de una fila de menús.</dd>
-</dl>
-<p><strong><span style="font-family: Georgia;"><a href="../../../../en/XUL/menu" rel="custom nofollow">menu</a></span></strong></p>
-<dl>
-</dl>
-<dl>
- <dd>
- A pesar del nombre, es sólo el título del menú en la barra (menubar). Este elemento puede aparecer, también, de forma separada.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/menupopup" rel="custom nofollow">menupopup</a></dt>
- <dd>
-  </dd>
- <dd>
- La ventana emergente que aparecerá cuando se haga clic en el título del menú. Esta caja contendrá una lista de comandos.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/menuitem" rel="custom nofollow">menuitem</a></dt>
- <dd>
-  </dd>
- <dd>
- Un comando en un menú. Aparece dentro de <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menupopup.html">menupopup</a></code>.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/menuseparator" rel="custom nofollow">menuseparator</a></dt>
- <dd>
-  </dd>
- <dd>
- Una barra de separación en un menú. Aparece dentro de <code>menupopup</code>.</dd>
-</dl>
-<p>Ahora ya se pueden personalizar los menús  dentro de una barra de menús para poder contener lo que queramos en cualquier plataforma excepto Macintosh. Esto es debido a que Macintosh posee su menú especial propio en la parte superior de la pantalla y es controlado por el sistema. Si bien se pueden crear menús personalizados, cualquier regla de estilo especial o elementos que no sean menús pueden ser omitidos. Esto se debe tener muy presente al crear menús.</p>
-<h5 id="Ejemplo_de_una_barra_de_menús_simple"><strong>Ejemplo de una barra de menús simple</strong></h5>
-<p><strong>Ejemplo</strong>:</p>
-<div class="float-right">
- <img align="right" alt="simple_mnubar.jpg" class="internal rwrap" src="/@api/deki/files/4813/=simple_mnubar.jpg"></div>
-<pre>&lt;toolbox flex="1"&gt;
- &lt;menubar id="ejemplo-barra-de-menus"&gt;
- &lt;menu id="menu-archivo" label="Archivo"&gt;
- &lt;menupopup id="archivo-emergente"&gt;
- &lt;menuitem label="Nuevo"/&gt;
- &lt;menuitem label="Abrir"/&gt;
- &lt;menuitem label="Guardar"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Salir"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="menu-editar" label="Editar"&gt;
- &lt;menupopup id="editar-emergente"&gt;
- &lt;menuitem label="Deshacer"/&gt;
- &lt;menuitem label="Rehacer"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-<p>Aquí, una barra de menús sencilla es creada utilizando el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menubar.html">menubar</a></code>. Éste crea una fila en donde se ubicarán los menús. Dos menús: Archivo y Editar se crearon en ella. Los elementos <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menu.html">menu</a></code> crean el título en la parte superior del menú, el que aparece en la barra de menús. Los menús emergentes se crean utilizando el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menupopup.html">menupopup</a></code>. Aparecerán cuando el usuario haga clic en el menú padre. El tamaño de dicho menú emergente dependerá de lo que contenga, siempre siendo suficientemente amplio como para que entren todos los comandos creados utilizando el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menuitem.html">menuitem</a></code>. Cada uno representa un comando individual dentro del menú emergente.</p>
-<p>También se pueden crear separadores dentro de los menús utilizando el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_menuseparator.html">menuseparator</a></code>. Se utiliza para separar grupos de menuitems.</p>
-<h4 id="menubar_element" name="menubar_element">Elemento<code> menubar</code></h4>
-<p><code><code><a href="../../../../en/XUL/menubar" rel="custom nofollow">menubar</a></code></code> es una caja que contiene menús. Nótese que fue ubicada en una <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_toolbox.html">toolbox</a></code> flexible. menubar no tiene atributos especiales sino que es un tipo de caja. Esto significa que se podría crear un menubar vertical con sólo configurar el atributo <code> <code><span id="a-orient"><a href="../../../../en/XUL/Attribute/orient" rel="custom nofollow">orient</a></span></code></code> a vertical.</p>
-<h4 id="Elemento_menu">Elemento <span><code>menu</code></span></h4>
-<p>El elemento <code><code><a href="../../../../en/XUL/menu" rel="custom nofollow">menu</a></code></code> funciona de manera muy similar al elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_button.html">button</a></code>. Acepta algunos atributos idénticos y otros adicionales:</p>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/id" rel="custom nofollow">id</a></dt>
- <dd>
-  </dd>
- <dd>
- El identificador único del título del menú.</dd>
-</dl>
-<p><strong><span style="font-family: Georgia;"><a href="../../../../en/XUL/Attribute/label" rel="custom nofollow">label</a></span></strong></p>
-<dl>
-</dl>
-<dl>
- <dd>
- El texto que va a aparecer en el menú (Archivo y Editar en el ejemplo anterior).</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/disabled" rel="custom nofollow">disabled</a></dt>
- <dd>
-  </dd>
- <dd>
- Es un atributo booleano que determina si el menú está deshabilitado o no. Aunque se puede, rara vez se necesita deshabilitar un menú completo. Este atributo puede ser configurado como <code>true</code> o <code>false</code>, siendo este último valor aquél por defecto.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/accesskey" rel="custom nofollow">accesskey</a></dt>
- <dd>
-  </dd>
- <dd>
- La tecla que el usuario puede presionar para activar el menú. Por lo general, ésta es la letra que aparece subrayada en el título del menú. Mozilla se fijará en el atributo label y le agregará el subrayado al carácter especificado aquí. Por esta razón es que se debe especificar un carácter que aparece en dicho título de ser posible (la tecla de acceso aún funcionará si no aparece).</dd>
-</dl>
-<div class="float-right">
- <img alt="Image:menubar-ex2.jpg" class="internal" src="/@api/deki/files/755/=Menubar-ex2.jpg"></div>
-<div class="float-right">
- El elemento <code>menu </code>normalmente se ubica en un menubar, aunque no necesariamente. Sin embargo, le aportará un aspecto diferente. La imagen muestra lo que el aspecto que tendría el ejemplo anterior sin la barra de menús.</div>
-<h4 id="Elemento_menupopup">Elemento <code>menupopup</code></h4>
-<div class="float-right">
- El elemento <code>menupopup</code> genera el menú emergente que contiene los comandos. Es un tipo de caja que, por defecto, se orienta verticalmente. Se puede cambiar a horizontal si se desea que se ubiquen en una fila los <code>menuitem</code>. Normalmente sólo elementos <code>menuitem</code> y/o <code>menuseparator</code> se ubicarán en un <code>menupopup</code>; pero se puede ubicar cualquier elemento dentro de un menupopup, aunque será ignorado en una Macintosh.</div>
-<h4 id="Elemento_menuitem">Elemento <code>menuitem</code></h4>
-<p>El elemento <code>menuitem</code> es muy similar al elemento <code>menu</code> y tiene algunos de los mismos atributos:</p>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/id" rel="custom nofollow">id</a></dt>
- <dd>
-  </dd>
- <dd>
- El identificador único del título del menú.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/label" rel="custom nofollow">label</a></dt>
- <dd>
-  </dd>
- <dd>
- El texto que va a aparecer en el menú.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/disabled" rel="custom nofollow">disabled</a></dt>
- <dd>
-  </dd>
- <dd>
- Es un atributo booleano que determina si el menú está deshabilitado o no. Este atributo puede ser configurado como <code>true</code> o <code>false</code>, siendo este último valor aquél por defecto.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/accesskey" rel="custom nofollow">accesskey</a></dt>
- <dd>
-  </dd>
- <dd>
- La tecla que el usuario puede presionar para activar el menú. Por lo general, ésta es la letra que aparece subrayada en el título del menú. Mozilla se fijará en el atributo <code><code><span id="a-label"><a href="../../../../en/XUL/Attribute/label" rel="custom nofollow">label</a></span></code></code> y le agregará el subrayado al carácter especificado aquí. Por esta razón es que se debe especificar un carácter que aparece en dicho título de ser posible.</dd>
-</dl>
-<dl>
- <dt>
- <a href="../../../../en/XUL/Attribute/acceltext" rel="custom nofollow">acceltext</a></dt>
- <dd>
-  </dd>
- <dd>
- Especifica la tecla de acceso rápido que aparece junto al texto del menú. Sin embargo, no asocia dichas teclas al <code><a href="../../../../en/XUL/menuitem" rel="custom nofollow">menuitem</a></code>. Se profundizará en esto <a href="/es/Tutorial_de_XUL/Atajos_de_teclado" title="es/Tutorial de XUL/Atajos de teclado">más adelante.</a></dd>
-</dl>
-<h4 id="Elemento_menuseparator">Elemento <span><code>menuseparator</code></span></h4>
-<p>El elemento<code> <code><a href="../../../../en/XUL/menuseparator" rel="custom nofollow">menuseparator</a></code></code> no posee atributos especiales. Simplemente crea una barra horizontal (o vertical) entre los elementos menuitems vecinos.</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_emergentes/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/menús_emergentes/index.html
deleted file mode 100644
index c44daf0dcd..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/menús_emergentes/index.html
+++ /dev/null
@@ -1,228 +0,0 @@
----
-title: Menús emergentes
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Menús_emergentes
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - para_revisar
----
-<p>En la última sección vimos cómo crear un menú en una barra de menú. XUL tiene además la capacidad de crear menús emergentes. Los menús emergentes normalmente se muestran cuando el usuario presiona el botón derecho del ratón.</p>
-
-<h3 id="Creaci.C3.B3n_de_un_men.C3.BA_emergente" name="Creaci.C3.B3n_de_un_men.C3.BA_emergente">Crear un menú emergente (menú popup)</h3>
-
-<p>XUL tiene tres tipos diferentes de elementos emergentes, los cuales se describen a continuación. La principal diferencia entre ellos es la manera en la que aparecen.</p>
-
-<ul>
- <li>
- <dl>
- <dt>Menús emergentes simples (Plain Popups)</dt>
- </dl>
- </li>
-</ul>
-
-<dl>
- <dd>El menú emergente simple es una ventana emergente que aparece al presionar el botón izquierdo del ratón sobre un elemento. Son como los menús que aparecen en las barras de menú, excepto que pueden ponerse en cualquier lugar y se les puede poner cualquier contenido. Un buen ejemplo es el menú con despliegue hacia abajo que aparece cuando haces clic sobre la pequeña flecha hacia abajo que sigue a los botones adelante y atrás en una ventana del explorador.</dd>
-</dl>
-
-<ul>
- <li>
- <dl>
- <dt>Menús emergentes de contexto (Context Popups)</dt>
- </dl>
- </li>
-</ul>
-
-<dl>
- <dd>El menú emergente de contexto es una ventana emergente que aparece cuando el usuario presiona el botón de menú contextual, el cual es usualmente el botón derecho del ratón. La forma exacta en que un menú contextual es abierto varía en cada plataforma. En Macintosh, por ejemplo, el usuario puede bien presionar la tecla Control y hacer clic con el ratón o mantener presionado el botón del ratón por un momento. Además, es posible abrir un menú contextual sin usar el ratón, por ejemplo presionando la tecla Menú en un teclado.</dd>
-</dl>
-
-<ul>
- <li>
- <dl>
- <dt>Ventanas emergentes de información (Tooltips)</dt>
- </dl>
- </li>
-</ul>
-
-<dl>
- <dd>Una ventana emergente de información aparecerá cuando el usuario pasa el ratón sobre un elemento. Este tipo de emergentes puede usarse para proporcionar una descripción de un botón con mayor detalle del que puede ofrecer el botón mismo.</dd>
-</dl>
-
-<p>Los tres tipos de elementos emergentes difieren en la forma en que son invocados por el usuario. El tipo de elemento emergente es determinado por el elemento que lo invoca.</p>
-
-<h4 id="Declaraci.C3.B3n_del_contenido_del_men.C3.BA" name="Declaraci.C3.B3n_del_contenido_del_men.C3.BA">Declarar el contenido de un emergente</h4>
-
-<p>Un elemento emergente se describe usando el elemento <code><a href="/es/XUL/Elementos#menupopup" title="es/XUL/Elementos#menupopup">menupopup</a></code>. No tiene atributos especiales y es un tipo de caja. Cuando es invocado, aparecerá una ventana conteniendo lo que sea que hayas puesto dentro del elemento <code><a href="/es/XUL/Elementos#menupopup" title="es/XUL/Elementos#menupopup">menupopup</a></code>. Sin embargo, deberías poner siempre un atributo <code><a href="/Es/XUL/Atributos#id" title="Es/XUL/Atributos#id">id</a></code> en el menupopup ya que sirve para asociar el elemento emergente con un elemento. Veremos lo que esto significa pronto. Pero primero, un ejemplo:</p>
-
-<pre>&lt;popupset&gt;
- &lt;menupopup id="clipmenu"&gt;
- &lt;menuitem label="Cortar"/&gt;
- &lt;menuitem label="Copiar"/&gt;
- &lt;menuitem label="Pegar"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-</pre>
-
-<p>Como puede verse aquí, se ha creado un menú emergente simple con tres órdenes. El elemento <code><a href="/es/XUL/Elementos#menupopup" title="es/XUL/Elementos#menupopup">menupopup</a></code> contiene los tres elementos del menú <code> <code><a href="../../../../en/XUL/menuitem" rel="custom nofollow">menuitem</a></code></code> . Además, como observarás, el <code><a href="/Es/XUL/Atributos#id" title="Es/XUL/Atributos#id">id</a></code> se ha puesto en el elemento <code>menupopup</code>.</p>
-
-<p>El elemento <code><a href="/es/XUL/Elementos#popupset" title="es/XUL/Elementos#popupset">popupset</a></code> contiene toda la declaración del menú emergente. Este es un contenedor genérico de emergentes y es opcional. Este no aparece en pantalla sino que se usa como un apartado en donde puedes declarar todos tus emergentes. Como su mismo nombre implica (<code><a href="/es/XUL/Elementos#popupset" title="es/XUL/Elementos#popupset">popupset</a></code>), puedes poner múltiples declaraciones de elementos emergentes dentro de éste. Solamente tienes que añadir, detrás del primer elemento <code><a href="/es/XUL/Elementos#popupset" title="es/XUL/Elementos#popupset">popupset</a></code>, todos los que quieras adicionalmente. Puedes tener más de un <code><a href="/es/XUL/Elementos#popupset" title="es/XUL/Elementos#popupset">popupset</a></code> en un archivo, pero lo normal es que tengas únicamente uno.</p>
-
-<h4 id="Asociaci.C3.B3n_de_un_men.C3.BA_emergente_con_un_elemento" name="Asociaci.C3.B3n_de_un_men.C3.BA_emergente_con_un_elemento">Asociar un emergente con un elemento</h4>
-
-<p>Ahora que hemos creado el elemento emergente, es hora de hacer que se muestre. Para hacerlo necesitamos asociar el emergente con un elemento en donde debería aparecer. Hacemos esto porque queremos que el emergente aparezca únicamente cuando el usuario haga clic en una determinada área de la ventana. Habitualmente será un botón o una caja concretos.</p>
-
-<p>Para asociar el emergente con un elemento agrega un atributo de entre tres posibles al elemento. El atributo que agregues dependerá del tipo de emergente que quieras crear. Para un menú emergente simple, agrega un atributo <code><a href="../../../../en/XUL/Attribute/popup" rel="internal">popup</a></code> al elemento. Para un menú emergente de contexto, agrega un atributo <code><a href="../../../../en/XUL/Attribute/context" rel="internal">context</a></code>. Por último, para un emergente de información, agrega un atributo <code><a href="../../../../en/XUL/Attribute/tooltip" rel="internal">tooltip</a></code>.</p>
-
-<p>El valor del atributo debe ser el <code><a href="/Es/XUL/Atributos#id" title="Es/XUL/Atributos#id">id</a></code> del <code>menupopup</code> que quieras que aparezca. Este es el porqué de poner un <code><u><span style="color: #3366ff;">id</span></u></code> en el emergente. De esa manera es fácil tener múltiples menús emergentes en un archivo.</p>
-
-<p>En el ejemplo de arriba, queremos hacer que el emergente sea un menú contextual. Eso significa que necesitamos usar el atributo <code><a href="/Es/XUL/Atributos#context" title="Es/XUL/Atributos#context">context</a></code> y agregarlo al elemento con el cual queremos tener asociado el emergente. El ejemplo de abajo muestra cómo debemos hacer esto:</p>
-
-<p><span id="Ejemplo_1"><a id="Ejemplo_1"></a><strong>Ejemplo 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_1.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:popups-ex1.png" class="internal" src="/@api/deki/files/813/=Popups-ex1.png"></div>
-
-<pre>&lt;popupset&gt;
- &lt;menupopup id="clipmenu"&gt;
- &lt;menuitem label="Cortar"/&gt;
- &lt;menuitem label="Copiar"/&gt;
- &lt;menuitem label="Pegar"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-
-&lt;box context="clipmenu"&gt;
- &lt;label value="Haz clic con el botón derecho para ver el menú"/&gt;
-&lt;/box&gt;
-</pre>
-
-<p>Aquí, el menú emergente ha sido asociado con una caja. Cada vez que hagas clic contextual (clic con el botón derecho) en cualquier lugar de la caja, aparecerá el menú emergente. El emergente también aparecerá aun si haces clic sobre los descendientes de la caja, así que también funcionará si haces clic en el elemento <code><a href="/es/XUL/Elementos#label" title="es/XUL/Elementos#label">label</a></code>. El atributo <code><a href="/Es/XUL/Atributos#context" title="Es/XUL/Atributos#context">context</a></code> se ha usado para asociar la caja con un menú emergente con el mismo id. En este caso, aparecerá el menú emergente <code>clipmenu</code>. De esta forma, puedes tener varios emergentes y asociar cada uno con diferentes elementos.</p>
-
-<p>Podrías asociar múltiples emergentes con el mismo elemento poniendo más atributos de diferente tipo en un elemento. Podrías además asociar el mismo emergente con múltiples elementos, lo cual es una ventaja de esta sintaxis. Los emergentes solamente pueden asociarse a elementos XUL; no pueden asociarse con elementos HTML.</p>
-
-<h3 id="Herramientas_de_ayuda" name="Herramientas_de_ayuda">Informativos (Tooltips)</h3>
-
-<p>Aquí veremos una forma simple de crear emergentes de información. Hay dos maneras de crearlos. La manera más simple, que es la más común, es agregar un atributo <code><a href="/Es/XUL/Atributos#tooltiptext" title="Es/XUL/Atributos#tooltiptext">tooltiptext</a></code> a un elemento para el que quieres asignar un emergente de información.</p>
-
-<p>El segundo método es usar un elemento <code><a href="/es/XUL/Elementos#tooltip" title="es/XUL/Elementos#tooltip">tooltip</a></code> que tenga el contenido de un emergente de información. Esto requiere que tengas un bloque de contenido separado para cada emergente de información o que tengas un script que establezca el contenido. Sin embargo, esto te permite usar cualquier contenido además de texto en el emergente de información.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Guardar" tooltiptext="Haz clic aquí para guardar tu trabajo"/&gt;
-
-&lt;popupset&gt;
- &lt;tooltip id="moretip" orient="vertical" style="background-color: #33DD00;"&gt;
- &lt;description value="Ver más información"/&gt;
- &lt;description value="¿De verdad?" style="color: red;"/&gt;
- &lt;/tooltip&gt;
-&lt;/popupset&gt;
-
-&lt;button label="Más" tooltip="moretip"/&gt;
-</pre>
-
-<p>Estos dos botones tienen un emergente de información cada uno. El primero usa el estilo por defecto. El segundo usa un estilo personalizado que tiene un fondo de diferente color y estilos aplicados al texto. El emergente ha sido asociado al botón Más usando el atributo <code><a href="/Es/XUL/Atributos#tooltip" title="Es/XUL/Atributos#tooltip">tooltip</a></code>, el cual ha sido establecido al correspondiente <code><a href="/Es/XUL/Atributos#id" title="Es/XUL/Atributos#id">id</a></code> del elemento <code><a href="/es/XUL/Elementos#tooltip" title="es/XUL/Elementos#tooltip">tooltip</a></code>. Observa que el elemento <code>tooltip</code> sigue estando ubicado dentro de un elemento <code><a href="/es/XUL/Elementos#popupset" title="es/XUL/Elementos#popupset">popupset</a></code>, como los otros tipos de emergentes.</p>
-
-<h3 id="Definir_donde_aparecer.C3.A1_el_men.C3.BA_emergente" name="Definir_donde_aparecer.C3.A1_el_men.C3.BA_emergente">Alineación del emergente</h3>
-
-<p>Por defecto, las ventanas emergentes y de contexto aparecerán donde esté el puntero del ratón. Los emergentes de información se ubicarán ligeramente por debajo del elemento de tal forma que el puntero del ratón no los oculte. Hay casos sin embargo, en los que vas a querer indicar con mayor detalle dónde debe aparecer el emergente. Por ejemplo, el menú emergente que aparece cuando haces clic en el botón Atrás en un explorador debería aparecer por debajo del botón Atrás y no donde está el puntero del ratón.</p>
-
-<p>Para cambiar la posición del emergente, puedes usar un atributo adicional, <code><a href="/Es/XUL/Atributos#position" title="Es/XUL/Atributos#position">position</a></code>, en el <code><a href="/es/XUL/Elementos#menupopup" title="es/XUL/Elementos#menupopup">menupopup</a></code>. Puedes incluso agregarlo al elemento <code><a href="/es/XUL/Elementos#menupopup" title="es/XUL/Elementos#menupopup">menupopup</a></code>. Este atributo se usa para indicar el lugar del emergente relativo al elemento que lo invoca. Puede establecerse en distintos valores, que se describen brevemente a continuación:</p>
-
-<dl>
- <dt>after_start</dt>
- <dd>El emergente aparece debajo del elemento con los bordes izquierdos de éste y la ventana emergente alineados. Si la ventana emergente es más grande que el elemento, se extiende hacia la derecha. Este es el valor usado para los menús colgantes asociados con los botones Atrás y Adelante de los exploradores.</dd>
-</dl>
-
-<dl>
- <dt>after_end</dt>
- <dd>El emergente aparece debajo del elemento con los bordes derechos de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>before_start</dt>
- <dd>El emergente aparece arriba del elemento con los bordes izquierdos de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>before_end</dt>
- <dd>El emergente aparece arriba del elemento con los bordes derechos de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>end_after</dt>
- <dd>El emergente aparece a la derecha del elemento con los bordes inferiores de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>end_before</dt>
- <dd>El emergente aparece a la derecha del elemento con los bordes superiores de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>start_after</dt>
- <dd>El emergente aparece a la izquierda del elemento con los bordes inferiores de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>start_before</dt>
- <dd>El emergente aparece a la izquierda del elemento con los bordes superiores de éste y la ventana emergente alineados.</dd>
-</dl>
-
-<dl>
- <dt>overlap</dt>
- <dd>El emergente aparece encima del elemento.</dd>
-</dl>
-
-<dl>
- <dt>at_pointer</dt>
- <dd>El emergente aparece en la posición del puntero del ratón.</dd>
-</dl>
-
-<dl>
- <dt>after_pointer</dt>
- <dd>El emergente aparece en la misma posición horizontal del puntero del ratón pero debajo del elemento. Así es como aparecen los emergentes de información.</dd>
-</dl>
-
-<p>Al agregar el atributo <code>position</code> al elemento emergente, puedes especificar con precisión dónde aparece el emergente. No puedes especificar la posición exacta de un píxel. El atributo <code>position</code> puede usarse con los tres tipos de emergentes, aunque probablemente no cambiarás el valor de un emergente de información. El ejemplo de abajo demuestra cómo crear un botón Atrás con un menú emergente:</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;popupset&gt;
- &lt;menupopup id="backpopup" position="after_start"&gt;
- &lt;menuitem label="Página 1"/&gt;
- &lt;menuitem label="Página 2"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-
-&lt;button label="Hazme aparecer" popup="backpopup"/&gt;
-</pre>
-
-<h3 id="Ejemplo_de_archivo_de_b.C3.BAsqueda" name="Ejemplo_de_archivo_de_b.C3.BAsqueda">Nuestro ejemplo con un buscador de archivos</h3>
-
-<p>Agreguemos un menú emergente simple al dialogo de búsqueda de archivos. Por simplicidad, solo repetiremos los contenidos del menú Editar. Hagamos que el emergente aparezca cuando se haga clic sobre la primera pestaña del panel:</p>
-
-<pre class="eval"><span class="highlightred">&lt;popupset&gt;
- &lt;menupopup id="editpopup"&gt;
- &lt;menuitem label="Cortar" accesskey="t"/&gt;
- &lt;menuitem label="Copiar" accesskey="c"/&gt;
- &lt;menuitem label="Pegar" accesskey="p" disabled="true"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;</span>
-
-&lt;vbox flex="1"&gt;
-.
-.
-.
-
-<span class="highlightred">&lt;tabpanel id="searchpanel" orient="vertical" context="editpopup"&gt;</span>
-</pre>
-
-<p>Aquí se ha agregado un emergente simple similar al del menú Editar. Si haces clic derecho (Control-clic en Macintosh) en cualquier lugar del primer panel, aparecerá el emergente. Sin embargo, el emergente no aparecerá si haces clic en otro lugar. Observa que la caja de texto tiene su propio contenido para el menú emergente, el cual prevalecerá sobre el especificado por nosotros.</p>
-
-<p>Otro ejemplo : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-popups.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-popups.xul">Ver en funcionamiento</a></p>
-
-<p><br>
- A continuación seguiremos con la <a href="/es/Tutorial_de_XUL/Menús_con_desplazamiento" title="es/Tutorial de XUL/Menús con desplazamiento">creación de menús con desplazamiento</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Más_funciones_de_menú" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Menús_con_desplazamiento">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/modelo_de_objeto_de_documento/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/modelo_de_objeto_de_documento/index.html
deleted file mode 100644
index 231555c72a..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/modelo_de_objeto_de_documento/index.html
+++ /dev/null
@@ -1,230 +0,0 @@
----
-title: Modelo de objeto de documento
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Modelo_de_objeto_de_documento
-tags:
- - DOM
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Document_Object_Model
----
-<p> </p>
-
-<p>El modelo de objeto de documento (DOM) can be used with XUL elements to get information about them or modify them.</p>
-
-<h3 id="Introducci.C3.B3n_al_.27DOM.27" name="Introducci.C3.B3n_al_.27DOM.27">Introducción al 'DOM'</h3>
-
-<p>El <a href="es/DOM">modelo de objeto de documento</a> (DOM) es usado para almacenar el árbol de los nodos XUL. Cuando un archivo XUL es cargado, las etiquetas son analizadas y convertidas en un documento con estructura jerárquica de nodos, uno por cada etiqueta y bloque te texto. La estructura DOM puede ser examinada y modificada usando varios métodos con esta finalidad. Los elementos XUL específicos también proporcionan funciones adicionales que pueden ser usadas.</p>
-
-<p>Cada archivo XUL que es cargado tendrá su propio documento visualizado en una ventana o marco. A pesar que hay solo un documento asociado con una ventana en cada momento, se puede carga documentos adicionales usando varios métodos.</p>
-
-<p>En Mozilla, el <a href="es/DOM">DOM</a> puede ser accedido y manipulado utilizando <a href="es/JavaScript">JavaScript</a>. Los diversos objetos DOM tienen funciones las cuales pueden ser llamadas por script. Sin embargo, es importante advertir que la DOM es un API que es accesible por JavaScript. JavaScript por sí mismo , es exactamente un lenguaje de scripting que permite el acceso a dichos objetos porque Mozilla dispone esos objetos para su uso.</p>
-
-<p>En <a href="es/JavaScript">JavaScript</a>, siempre hay un único objeto global que está siempre disponible. Se puede hacer referencia a sus propiedades y métodos. Por ejemplo, si un objeto global tiene como propiedad 'name', se puede cambiar el nombre (name) con el código 'name = 7', sin haber especificado objeto alguno. En el contexto de un browser, la es ventana es un objeto global y asimismo es cierto para XUL. Naturalmente, este objeto global sera diferente para cada ventana. Cada marco tendrá también un objeto ventana separado.</p>
-
-<p>La ventana es a menudo referida usando la <a href="es/DOM/window#window.window">propiedad de window</a>, a pesar de que es optativo. En ocasiones, esto se hace simplemente para clarificar el alcance del método al que hace referencia. Por ejemplo, en el siguiente fragmento de código, las dos líneas son equivalentes.</p>
-
-<pre>window.open("test.xul","_new");
-open("test.xul","_new");
-</pre>
-
-<p>Cuando se declara una función o una variable en el nivel más alto de un script, es decir desde otra función, se está de hecho declarando una propiedad del objeto global. En XUL, cada función declarada será definida como propiedad del objeteo window. Por ejemplo, en el siguiente código se visualizará el texto 'Message' en una <a href="es/DOM/window#window.alert">alerta</a> doble.</p>
-
-<pre>function getText(){
- return "Message";
-}
-
-alert(getText());
-alert(window.getText());
-</pre>
-
-<p>De esta manera, si se desea acceder a variables o llamar a funciones declaradas en un script usado por otra ventana, solo se necesita acceder usando el objeto <code><a href="es/DOM/window">window</a></code> de la otra ventana. Por ejemplo, si se combina los dos últimos ejemplos en un único archivo, podríamos querer llamar a la función getText() desde la otra ventana (por ejemplo la ventana 'test.xul'). Para hacerlo, se puede utilizar lo siguiente:</p>
-
-<pre>alert(window.opener.getText());
-</pre>
-
-<p>Cada ventana tiene un <code><a href="es/DOM/window#window.opener">opener</a></code> property que mantiene a dicho objeto ventana abierto. En este ejemplo, se recupera el opener window y llamamos a la función getText() declarada en el script. Observar que se ha explicitado la propiedad con el identificador 'window' para clarificarlo.</p>
-
-<p>El método de la apertura de la ventana (window's <code><a href="es/DOM/window#window.open">open()</a></code>)también devuelve una referencia a la nueva ventana, por lo que puede llamar a funciones de la nueva ventana desde el <code><a href="es/DOM/window#window.opener">opener</a></code>. Es importante advertir, que sin embargo, el método <code><a href="es/DOM/window#window.open">open()</a></code> lo devuelve antes de que la ventana haya sido complemetamente cargada, por lo que no estarán disponibles todavía funciones.</p>
-
-<p>EL objeto ventana no está definido por ninguna especificación DOM, pero Mozilla en ocasiones lo considera parte del <a>DOM Level 0</a>, un nombre es usado por varios desarrolladores para referirse a este tipo de funciones antes que se hubieran añadido especificaciones. El documento actual visualizado en una ventana puede ser recuperado usando la propiedad del <code><a href="es/DOM/window#window.document">documento</a></code> de la ventana. Desde que esto es uno de los más propiedades referenciadas de una ventana, la propiedad <code><a href="es/DOM/window#window.document">documento</a></code> property es utilizado sin la partícula 'window.' .</p>
-
-<p>Mozilla provee varios objetos documento diferentes dependiendo del tipo de documento. Hay tres documentos principales <a class="external" href="http://www.xulplanet.com/references/objref/HTMLDocument.html">HTMLDocument</a>, <a class="external" href="http://www.xulplanet.com/references/objref/XMLDocument.html">XMLDocument</a>, y <a class="external" href="http://www.xulplanet.com/references/objref/XULDocument.html">XULDocument</a>, para documentos <a href="es/HTML">HTML</a>, <a href="es/XML">XML</a> y <a href="es/XUL">XUL</a> respectivamente. Obviamente, esto es uno de los últimos tipos de documento usados por XUL. Los tres tipos de documentos son muy parecidos, de hecho comparten la misma implementación básica. Sun embargo, hay algunas funciones especificadads para cada tipo de documento.</p>
-
-<h3 id="Recuperaci.C3.B3n_de_elementos" name="Recuperaci.C3.B3n_de_elementos">Recuperación de elementos</h3>
-
-<p>El método más común para recuperar un elemento en un documento es dar al elemento un atributo con el <code><a href="es/DOM/element#element.id">id</a></code> y el uso del documento <code><a href="es/DOM/document#document.getElementById">getElementById()</a></code>. Hemos añadido el atributo id a una serie de elementos a encontrar el archivo de diálogo. Por ejemplo, podríamos obtener el estado de una casilla de verificación mediante el código que aparece a continuación:</p>
-
-<pre>var state = document.getElementById('casecheck').checked;
-</pre>
-
-<p>El valor <code>casecheck</code> corresponde al <code>id</code> del <a href="es/Tutorial_de_XUL/Controles_de_entrada#Casillas_de_selecci.C3.B3n_y_botones">checkbox</a> (que es case sensitive: distingue entre mayúsculas y minúsculas) . Una vez que tenemos una indicación de si está marcada o no, podemos utilizar el estado para llevar a cabo la búsqueda. Podríamos hacer algo similar para las otras casillas de verificación, o cualquier otro elemento que tiene un id. Se necesita para obtener el texto en el campo de entrada, por ejemplo.</p>
-
-<div class="highlight">
-<h4 id="Nuestro_ejemplo" name="Nuestro_ejemplo">Nuestro ejemplo</h4>
-
-<p>No tiene sentido tener la <a href="es/Tutorial_de_XUL/Indicadores_de_progreso">barra de progreso</a> y el <a href="es/Tutorial_de_XUL/%c3%81rboles">árbol de dato</a> de pruebas desplegado cuando el dialogo de búsqueda de archivos se visualiza primero. Estos se agregaron a fin de que pudiéramos verlos. Dejémoslo fuera y aparecerá sólo cuando se presione el botón Buscar. En primer lugar, tenemos que hacerlos inicialmente invisible. El atributo <code><a href="es/XUL/Atributos#hidden">hidden</a></code>, se utiliza para controlar si un elemento es visible o no.</p>
-
-<p>Vamos a cambiar la medida del progreso a fin de que esté inicialmente oculta. Además, vamos a añadir un atributo <code><a href="es/XUL/Atributos#id">id</a></code> de manera que podemos referirnos a ella en una secuencia de comandos para mostrar y ocultar. Si bien estamos en ello, también vamos a ocultar los <a href="es/Tutorial_de_XUL/Divisores">divisores</a> y el árbol de resultados que solo se necesitarán después de que la búsqueda se haya realizado.</p>
-
-<pre class="eval">&lt;tree <span class="highlightred">id="results" hidden="true"</span> flex="1"&gt;
- .
- .
- .
-&lt;splitter <span class="highlightred">id="splitbar"</span> resizeafter="grow" <span class="highlightred">hidden="true"</span>/&gt;
-
-&lt;hbox&gt;
-
- &lt;progressmeter <span class="highlightred">id="progmeter"</span> value="50%"
- style="margin: 4px;" <span class="highlightred">hidden="true"</span>/&gt;
-</pre>
-
-<p>Hemos agregado el atributo <code><a href="es/XUL/Atributos#hidden">hidden</a></code> y fijado el valor <code>true</code>. Esto hace que el elemento se oculte cuando aparece por primera vez.</p>
-
-<p>A continuación, vamos a añadir una función que se llama cuando el botón Buscar se presiona. Vamos a poner el scripts en un archivo separado llamado findfile.js. En la <a href="es/Tutorial_de_XUL/A%c3%b1adiendo_los_gestores_de_eventos">sección anterior</a>, añadimos el elemento <code><a href="es/XUL/Elementos#script">script</a></code> en el archivo XUL. Si no lo ha hecho, hagalo ahora, como se indica a continuación. Un controlador <code><a href="es/XUL/Atributos#oncommand">oncommand</a></code> también se añadirá al botón Buscar.</p>
-
-<pre class="eval">&lt;script src="findfile.js"/&gt;
- .
- .
- .
-&lt;button id="find-button" label="Find"
- <span class="highlightred">oncommand="doFind();"</span>/&gt;
-</pre>
-
-<p>Ahora, crearemos otro archivo llamado findfile.js en el mismo directorio que findfile.xul. Vamos a añadir la función doFind() en este archivo. La etiqueta script permite código que pueda figurar directamente dentro de ella. Sin embargo, por diversas razones, entre ellas un mejor rendimiento, siempre se deben poner scripts en archivos separados, con excepción de breves fragmentos que pueden ponerse directamente en el controlador de eventos.</p>
-
-<pre class="eval">function doFind(){
- var meter = document.getElementById('progmeter');
- meter.hidden = false;
-}
-</pre>
-
-<p>Esta función primero obtiene una referencia del medidor de progreso utilizando su identificador, <code>progmeter</code>. La segunda línea del cuerpo de la función cambia el estado oculto de modo que el elemento es visible de nuevo.</p>
-
-<p>Por último, vamos a tener un cuadro de alerta pop-up que muestra lo que será buscado. Por supuesto, no queremos que esté en la versión final, pero vamos a añadirlo para asegurarnos que algo pasará.</p>
-
-<pre class="eval">function doFind(){
- var meter=document.getElementById('progmeter');
- meter.hidden = false;
- <span class="highlightred">var searchtext=document.getElementById('find-text').value;
- alert("Searching for \"" + searchtext + "\"");</span>
-}
-</pre>
-
-<p>Ahora, con ese cuadro de alerta ahí, sabemos lo que debería suceder cuando haga clic en el botón Buscar. Podríamos añadir código adicional para obtener la selección de los cuadros desplegables.</p>
-</div>
-
-<h3 id="XUL_Element_DOM" name="XUL_Element_DOM">XUL Element DOM</h3>
-
-<p>Every XUL element has a set of attributes, a set of properties and a set of children.</p>
-
-<ul>
- <li>The attributes are declared in the source, for example, flex="1", is a <code><a href="es/XUL/Atributos#flex">flex</a></code> attribute set to the value <code>1</code>.</li>
- <li>Properties are available in JavaScript using the dot syntax. For example, element.hidden refers to the hidden property of an element.</li>
- <li>The children are the child tags of the element and will be nested inside the element in the source.</li>
-</ul>
-
-<p>It is possible to manipulate the attributes, properties and children of an element dynamically using DOM methods.</p>
-
-<p>It is important to note that attributes and properties are separate things. Just because there is an attribute with a given name does not mean that there is a corresponding property with the same name. However, it will often be the case that such a property will exist. For example, to get the flex of an element, you can use the flex property. In this case, the underlying code just returns the value of the attribute. For other properties, XUL will perform more complex calculations.</p>
-
-<p>You can manipulate the attributes of an element using any of the following methods:</p>
-
-<dl>
- <dt><a href="es/DOM/element#element.getAttribute">getAttribute</a> ( nombre )</dt>
- <dd>Return the value of the attribute with the given name.</dd>
- <dt><a href="es/DOM/element#element.hasAttribute">hasAttribute</a> ( nombre )</dt>
- <dd>Return true if the attribute with the given name has a value.</dd>
- <dt><a href="es/DOM/element#element.setAttribute">setAttribute</a> ( nombre , valor )</dt>
- <dd>Set the value of the attribute with the given name to the given value.</dd>
- <dt><a href="es/DOM/element#element.removeAttribute">removeAttribute</a> ( nombre )</dt>
- <dd>Remove the attribute with the given name.</dd>
-</dl>
-
-<p>These functions allow you to get and change the value of an attribute at any time. For example, to use the value of the flex attribute, you might use code like the following:</p>
-
-<pre> var box = document.getElementById('somebox');
- var flex = box.getAttribute("flex");
-
- var box2 = document.getElementById('anotherbox');
- box2.setAttribute("flex", "2");
-</pre>
-
-<p>However, the <code><a href="es/XUL/Atributos#flex">flex</a></code> attribute has a <a href="es/XUL/Propiedades#flex">corresponding script property</a> which can be used instead. It isn't any more efficient, but it does mean slightly less typing. The following example accomplishes the same as above using the flex property instead.</p>
-
-<pre> var box = document.getElementById('somebox');
- var flex = box.flex;
-
- var box2 = document.getElementById('anotherbox');
- box2.flex = 2;
-</pre>
-
-<p>Once you have a reference to an element, you can call the properties of that element. For example, to get the <code><a href="es/XUL/Propiedades#hidden">hidden</a></code> property for an element, you can use the syntax <code><em>element</em>.hidden</code> where 'element' is a reference to the element. You might note that most of the properties listed in the reference correlate to common attributes on elements. There are differences, of course, for example, while <strong><font color="green">getAttribute("hidden") will return the string 'true'</font></strong> for a hidden element, whereas the hidden <strong><font color="green">property returns a boolean true value</font></strong>. In this case, the type conversion is done for you so the property is more convenient.</p>
-
-<p>As with each document, there is a different element object for XUL elements as for <a href="es/HTML">HTML</a> and <a href="es/XML">XML</a> elements. Every XUL element implements the <a class="external" href="http://www.xulplanet.com/references/objref/XULElement.html">XULElement</a> interface. A XUL element is any element declared with the XUL namespace. So, XUL elements will have that interface even if added to other XML documents, and non-XUL elements will not have that interface. The XULElement interface has a number of properties and methods specific to XUL elements, many inherited from the generic DOM Element interface.</p>
-
-<p>A namespace is a URI which specifies the kind of element. Here are some examples:</p>
-
-<pre>&lt;button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/&gt;
-&lt;button xmlns="http://www.w3.org/1999/xhtml"/&gt;
-&lt;html:button xmlns:html="http://www.w3.org/1999/xhtml"/&gt;
-&lt;html:button xmlns:html="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/&gt;
-</pre>
-
-<p>Namespaces are specified using the <code>xmlns</code> attribute.</p>
-
-<ul>
- <li>The first button is a XUL element as it has been placed in the XUL namespace.</li>
- <li>The second element is an XHTML element as it has been given the XHTML namespace.</li>
- <li>In the third example, the prefix 'html' is mapped to the namespace <span class="nowiki">'http://www.w3.org/1999/xhtml'</span>. You can also use the prefix syntax with a colon to use a specific namespace . This is used when you are using several namespaces in a document and you need to be more precise with which namespace is meant. This causes an XHTML button to be created for this case.</li>
- <li>The fourth button is a little confusing, but might clarify that it is the URI that is important and not the prefix. The fourth example is a XUL button, not an HTML button, despite what the prefix might say.</li>
-</ul>
-
-<p>This is an important distinction. In fact, the actual text used for the prefix is irrelevant when determining what kind of element is used.</p>
-
-<p>The DOM provides a number of namespace related functions similar to the non-namespace ones. For example, the <code><a href="es/DOM/element#element.getAttributeNS">getAttributeNS()</a></code> function is similar to the the <code><a href="es/DOM/element#element.getAttribute">getAttribute()</a></code> function except an additional argument may be supplied to specify an attribute in a specific namespace.</p>
-
-<p>Many XUL elements have their own properties that are unique to that element. Refer to the <a href="es/XUL/Referencias">elemento reference</a> for a full guide to the attributes and properties available for an element.</p>
-
-<h3 id="Navegaci.C3.B3n_en_el_DOM" name="Navegaci.C3.B3n_en_el_DOM">Navegación en el DOM</h3>
-
-<p>The DOM is a tree structure with a single root node with children. You can get a reference to the root node using the document's <code><a href="es/DOM/document#document.documentElement">documentElement</a></code> property. The root node is always an element, but this is not the case for other nodes in the tree. An element corresponds to a tag is the XUL source, but you may also find text nodes, comment nodes and a few other types in a document tree. In the case of XUL, the root element will be the <code><a href="es/XUL/Elementos">window</a></code> tag in the XUL document. Each node in the tree may have children and those children may have child nodes of their own. Since the DOM is a tree structure, you can navigate through the tree using a variety of properties. Some common properties are listed below:</p>
-
-<dl>
- <dt><a href="es/DOM/element#element.firstChild">firstChild</a> </dt>
- <dd>reference to the first child node of an element</dd>
- <dt><a href="es/DOM/element#element.lastChild">lastChild</a></dt>
- <dd>reference to the last child node of an element</dd>
- <dt><a href="es/DOM/element#element.childNodes">childNodes</a></dt>
- <dd>holds a list of the children of an element</dd>
- <dt><a href="es/DOM/element#element.parentNode">parentNode</a></dt>
- <dd>reference to the parent of an node</dd>
- <dt><a href="es/DOM/element#element.nextSibling">nextSibling</a></dt>
- <dd>reference to the next sibling in sequence</dd>
- <dt><a href="es/DOM/element#element.previousSibling">previousSibling</a></dt>
- <dd>reference to the previous sibling in sequence</dd>
-</dl>
-
-<p>These properties allow you to navigate through a document is various ways. For example, you might get the first child of an element using the <code><a href="es/DOM/element#element.firstChild">firstChild</a></code> property and then navigate through the children using the <code><a href="es/DOM/element#element.nextSibling">nextSibling</a></code> property. Or, you might accomplish the same thing by iterating through the items in the <code><a href="es/DOM/element#element.childNodes">childNodes</a></code> list. In Mozilla, the latter method is more efficient.</p>
-
-<p>The following example shows how to iterate over the children of the root node:</p>
-
-<pre>var childNodes = document.documentElement.childNodes;
-for (var i = 0; i &lt; childNodes.length; i++) {
- var child = childNodes[i];
- // do something with child
-}
-</pre>
-
-<p>The <code><a href="es/DOM/element#element.childNodes">childNodes</a></code> variable will hold the children of the document root element. We then use a for loop to iterate over the children, accessing each item using an array-like notation.</p>
-
-<div class="highlight">Nuestro ejemplo: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-dom.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-dom.xul">Ver en funcionamiento</a></div>
-
-<p><small>See also: <a href="es/A_re-introduction_to_JavaScript">A re-introduction to JavaScript</a> and the <a href="es/Referencia_de_JavaScript_1.5">referencia de JavaScript</a></small></p>
-
-<p>Seguimos con la <a href="es/Tutorial_de_XUL/Modificando_una_interfaz_XUL">modificación del DOM</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Emisores_y_receptores" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Modificando_una_interfaz_XUL">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/modificando_una_interfaz_xul/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/modificando_una_interfaz_xul/index.html
deleted file mode 100644
index 2b7fc14bf2..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/modificando_una_interfaz_xul/index.html
+++ /dev/null
@@ -1,157 +0,0 @@
----
-title: Modificando una interfaz XUL
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Modificando_una_interfaz_XUL
-tags:
- - DOM
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Modifying_a_XUL_Interface
----
-<p>El DOM proporciona funciones variadas para modificar el documento.</p>
-
-<h3 id="Creaci.C3.B3n_de_nuevos_elementos" name="Creaci.C3.B3n_de_nuevos_elementos">Creación de nuevos elementos</h3>
-
-<p>You can create new elements using the <code><a href="es/DOM/document#document.createElement">createElement()</a></code> function of the document. It takes one argument, the tag name of the element to create. You can then set attributes of the element using the <code><a href="es/DOM/element#element.setAttribute">setAttribute()</a></code> function and append it to the XUL document using the <code><a href="es/DOM/element#element.appendChild">appendChild()</a></code> function. For example, the following will add a button to a XUL window: <strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function addButton(){
- var aBox = document.getElementById("aBox");
- var button = document.createElement("button");
- button.setAttribute("label","A new Button");
- aBox.appendChild(button);
-}
-&lt;/script&gt;
-
-&lt;box id="aBox" width="200"&gt;
- &lt;button label="Añade" oncommand="addButton();"/&gt;
-&lt;/box&gt;
-</pre>
-
-<ul>
- <li>This script first gets a reference to the box with <code><a href="es/DOM/document#document.getElementById">getElementById()</a></code>, which is the container to add a new button to.</li>
- <li>The <code><a href="es/DOM/document#document.createElement">createElement()</a></code> function creates a new button.</li>
- <li>We assign the label 'A new Button' to the button using the <code><a href="es/DOM/element#element.setAttribute">setAttribute()</a></code> function.</li>
- <li>The <code><a href="es/DOM/element#element.appendChild">appendChild()</a></code> function of the box is called to add the button to it.</li>
-</ul>
-
-<p>The <code><a href="es/DOM/document#document.createElement">createElement()</a></code> function will create the default type of element for the document. For XUL documents, this generally means that a XUL element will be created. For an HTML document, an HTML element will be created, so it will have the features and functions of an HTML element instead. The <code><a href="es/DOM/document#document.createElementNS">createElementNS()</a></code> function may be used to create elements in a different namespace.</p>
-
-<p>The <code><a href="es/DOM/element#element.appendChild">appendChild()</a></code> function is used to add an element as a child of another element. Three related functions are the <code><a href="es/DOM/element#element.insertBefore">insertBefore()</a></code>, <code><a href="es/DOM/element#element.replaceChild">replaceChild()</a></code> and <code><a href="es/DOM/element#element.removeChild">removeChild</a></code> functions. The syntax of these functions is as follows:</p>
-
-<pre>parent.appendChild(child);
-parent.insertBefore(child, referenceChild);
-parent.replaceChild(newChild, oldChild);
-parent.removeChild(child);
-</pre>
-
-<p>It should be fairly straightforward from the function names what these functions do.</p>
-
-<ul>
- <li>The <code><a href="es/DOM/element#element.insertBefore">insertBefore()</a></code> function inserts a new child node before an existing one. This is used to insert into the middle of a set of children instead of at the end like <code><a href="es/DOM/element#element.appendChild">appendChild()</a></code> does.</li>
- <li>The <code><a href="es/DOM/element#element.replaceChild">replaceChild()</a></code> function removes an existing child and adds a new one in its place at the same position.</li>
- <li>Finally the <code><a href="es/DOM/element#element.removeChild">removeChild()</a></code> function removes a node.</li>
-</ul>
-
-<p>Note that for all these functions, the reference child or child to remove must already exist or an error occurs.</p>
-
-<p>It is often the case that you want to remove an existing element and add it somewhere else. If so, you can just add the element without removing it first. Since a node may only be in one place at a time, the insertion call will always remove the node from its existing location first. This is a convenient way to move nodes around in the document.</p>
-
-<h4 id="Copying_Nodes" name="Copying_Nodes">Copying Nodes</h4>
-
-<p>To copy nodes however, you may call the <code><a href="es/DOM/element#element.cloneNode">cloneNode()</a></code> function. This function makes a copy of an existing node so that you can add it somewhere else. The original node will stay where it is. It takes one boolean argument which indicates whether to copy all of the node's children or not. If false, only the node is copied, such that the copy won't have any children. If true, all of the children are copied as well. This is done recursively, so for large tree structures make sure that this is desired before passing true to the <code><a href="es/DOM/element#element.cloneNode">cloneNode()</a></code> function. Here is an example:</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;hbox height="400"&gt;
- &lt;button label="Copy"
- oncommand="this.parentNode.appendChild(this.nextSibling.cloneNode(true));"/&gt;
-
- &lt;vbox&gt;
- &lt;button label="First"/&gt;
- &lt;button label="Second"/&gt;
- &lt;/vbox&gt;
-&lt;/hbox&gt;
-</pre>
-
-<p>When the Copy button is pressed..</p>
-
-<ul>
- <li>we retrieve the <code><a href="es/DOM/element#element.nextSibling">nextSibling</a></code> of the <code><a href="es/XUL/Elementos#button">botón</a></code>, which will be the <code><a href="es/XUL/Elementos#vbox">vbox</a></code> element.</li>
- <li>a copy of this element is made using the <code><a href="es/DOM/element#element.cloneNode">cloneNode()</a></code> function</li>
- <li>and the copy is appended using <code><a href="es/DOM/element#element.appendChild">appendChild()</a></code>.</li>
-</ul>
-
-<p>Note that some elements, such as <code><a href="es/XUL/Elementos#listbox">listbox</a></code> and <code><a href="es/XUL/Elementos#menulist">menulist</a></code> provide some additional specialized modification functions which you should use instead when you can. Ésto se describe en la <a href="es/Tutorial_de_XUL/Manipulando_listas">próxima sección</a>.</p>
-
-<h3 id="Manipulaci.C3.B3n_de_elementos_b.C3.A1sicos" name="Manipulaci.C3.B3n_de_elementos_b.C3.A1sicos">Manipulación de elementos básicos</h3>
-
-<p>The main XUL elements such as buttons, checkboxes and radio buttons may be manipulated using a number of script properties. The properties available are listed in the <a href="es/XUL/Referencia">referencia al element</a> as those available are different for each element. Common properties that you will manipulate include the <code><a href="es/XUL/Propiedades#label">label</a></code>, <code><a href="es/XUL/Propiedades#value">value</a></code>, <code><a href="es/XUL/Propiedades#checked">checked</a></code> and <code><a href="es/XUL/Propiedades#disabled">disabled</a></code> properties. They set or clear the corresponding attribute as necessary.</p>
-
-<h4 id="Ejemplos_de_propiedades_label_y_value" name="Ejemplos_de_propiedades_label_y_value">Ejemplos de propiedades <code>label</code> y <code>value</code></h4>
-
-<p>Here is a simple example which changes the label on a button:</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Hola" oncommand="this.label = 'Adiós';"/&gt;
-</pre>
-
-<p>Cuando el botón es apretado, el <a href="es/XUL/Propiedades#label">label</a> es cambiado. This technique will work for a variety of different elements that have labels. For a textbox, you can do something similar for the <code><a href="es/XUL/Propiedades#value">value</a></code> property.</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_4.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Añade" oncommand="this.nextSibling.value += '1';"/&gt;
-&lt;textbox/&gt;
-</pre>
-
-<p>This example adds a '1' to the textbox each time the button is pressed. The <code><a href="es/DOM/element#element.nextSibling">nextSibling</a></code> property navigates from the button (this) to the next element, the textbox. The '+=' operator is used to add to the current value so a 1 will be added onto the end of the existing text. Note that you can still enter text into the textbox. You can also retrieve the current label or value using these properties, as in the following example:</p>
-
-<p><strong>Ejemplo 5</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_5.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Hola" oncommand="alert(this.label);"/&gt;
-</pre>
-
-<h4 id="Toggling_a_checkbox" name="Toggling_a_checkbox">Toggling a checkbox</h4>
-
-<p>Checkboxes have a <code><a href="es/XUL/Propiedades#checked">checked</a></code> property which may be used to check or uncheck the <code><a href="es/XUL/Elementos#checkbox">checkbox</a></code>. It should be easy to determine how this is used. In this next example, we reverse the state of the <code><a href="es/XUL/Propiedades#checked">checked</a></code> property whenever the button is pressed. Note that while the <code><a href="es/XUL/Propiedades#label">label</a></code> and <code><a href="es/XUL/Propiedades#value">value</a></code> properties are strings, the <code><a href="es/XUL/Propiedades#checked">checked</a></code> property is a boolean property which will be set either true or false.</p>
-
-<p><strong>Ejemplo 6</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_6.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_6.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Change" oncommand="this.nextSibling.checked = !this.nextSibling.checked;"/&gt;
-&lt;checkbox label="Check for messages"/&gt;
-</pre>
-
-<p>Radio buttons may be selected as well using properties, however since only one in a group may be selected at a time, the others must all be unchecked when one is checked. You don't have to do this manually of course. The radiogroup's <code><a href="es/XUL/Propiedades#selectedIndex">selectedIndex</a></code> property may be used to do this. The <code><a href="es/XUL/Propiedades#selectedIndex">selectedIndex</a></code> property may be used to retrieve the<em>index</em> of the selected radio button in the group and well as change it.</p>
-
-<h4 id="Cambio_de_un_elemento_desactivado_o_activado" name="Cambio_de_un_elemento_desactivado_o_activado">Cambio de un elemento desactivado o activado</h4>
-
-<p>It is common to disable particular fields that don't apply in a given situation. For example, in a preferences dialog, one might have the choice of several possibilities, but one choice allows additional customization. Here is an example of how to create this type of interface.</p>
-
-<p><strong>Ejemplo 7</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_7.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_dommodify_7.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function updateState(){
- var name = document.getElementById("name");
- var sindex = document.getElementById("group").selectedIndex;
- name.disabled = sindex == 0;
-}
-&lt;/script&gt;
-
-&lt;radiogroup id="group" onselect="updateState();"&gt;
- &lt;radio label="Random name" selected="true"/&gt;
- &lt;hbox&gt;
- &lt;radio label="Specify a name:"/&gt;
- &lt;textbox id="name" value="Jim" disabled="true"/&gt;
- &lt;/hbox&gt;
-&lt;/radiogroup&gt;
-</pre>
-
-<p>In this example a function updateState() is called whenever a select event is fired on the radio group. This will happen whenever a radio button is selected. This function will retrieve the currently selected <code><a href="es/XUL/Elementos#radio">radio</a></code> element using the <code><a href="es/XUL/Propiedades#selectedIndex">selectedIndex</a></code> property. Note that even though one of the radio buttons is inside an <code><a href="es/XUL/Elementos#hbox">hbox</a></code>, it is still part of the radio group. If the first radio button is selected (index of 0), the textbox is enabled by setting its <code><a href="es/XUL/Propiedades#disabled">disabled</a></code> property to true. If the second radio button is selected, the textbox is enabled.</p>
-
-<p>La sección siguiente proporciona más detalles sobre la <a href="es/Tutorial_de_XUL/Manipulando_listas">manipulación de listas</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Modelo_de_objeto_de_documento" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Manipulando_listas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/más_asistentes/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/más_asistentes/index.html
deleted file mode 100644
index 0ba0eb84c5..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/más_asistentes/index.html
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: Más asistentes
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Más_asistentes
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Wizards
----
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Creando_un_asistente" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Presentación">Siguiente »</a></p>
-</div>
-
-<p> </p>
-
-<h3 id="Navegaci.C3.B3n_m.C3.A1s_compleja_del_asistente" name="Navegaci.C3.B3n_m.C3.A1s_compleja_del_asistente">Navegación más compleja del asistente</h3>
-
-<p>Normalmente, un asistente muestra cada <code><a href="es/XUL/Elementos/wizardpage">wizardpage</a></code> en el orden en el cual se han puesto en el archivo XUL. En algunos casos sin embargo, se necesita tener diferentes páginas que aparecerán en el asistente en función de lo que seleccionó el usuario en páginas anteriores.</p>
-
-<p>En este caso, el atributo <code>pageid</code> se coloca en cada una de las páginas. Ésto tiene que ser definido en un identificador para cada página. Después, para navegar a una página, se usará uno de estos dos métodos:</p>
-
-<ol>
- <li>Set the <code>next</code> attribute on each page to the page ID of the next page to go to. You can change these attributes as needed to navigate to different pages.</li>
- <li>Call the wizard's <code>goTo()</code> method. It takes one argument, the page ID of a page to go to. You might call this method in the <code>onpageadvanced</code> or <code>onwizardnext</code> handlers. Remember to return false in this case, because you have already changed the page yourself. Note that the <code>goTo()</code> method, because it causes a page change, will fire the events again, so you'll have to make sure you handle that case.</li>
-</ol>
-
-<p>For example, here are a set of wizard pages (the inner content has been omitted):</p>
-
-<pre>&lt;wizardpage pageid="type" next="font"&gt;
-&lt;wizardpage pageid="font" next="done"&gt;
-&lt;wizardpage pageid="color" next="done"&gt;
-&lt;wizardpage pageid="done"&gt;
-</pre>
-
-<ul>
- <li>The wizard always starts at the first page, which in this case has the page ID <code>type</code>. The next page is the one with the page ID <code>font</code>, so the wizard will navigate to that page next.</li>
- <li>On the page with the page ID <code>font</code>, we can see that the next page is <code>done</code>, so that page will be displayed afterwards.</li>
- <li>The page with the page ID <code>done</code> has no <code>next</code> attribute, so this will be the last page.</li>
-</ul>
-
-<p>A script will adjust the <code>next</code> attributes as necessary to go to the page with the page ID <code>color</code> when needed.</p>
-
-<h3 id="Funciones_de_asistente" name="Funciones_de_asistente">Funciones de asistente</h3>
-
-<p>The wizard works much like a <a href="es/Tutorial_de_XUL/Contenedores_de_pesta%c3%b1as">etiquetas</a>, except that the tabs are not displayed and the user navigates between pages by using the buttons along the bottom. Because all of the pages are part of the same file, all of the values of the fields on all pages will be remembered. Thus, you do not have to load and save information between pages.</p>
-
-<p>However, you may want to do some validation of each field on each page. For this, use the handlers described in the previous section. If a field is invalid, you might display an alert. In some cases, it would be more convenient to disable the Next button until valid input has been entered.</p>
-
-<p>The wizard has a property <code>canAdvance</code>, which can be set to true to indicate that the Next button should be enabled. If set to false, the Next button is disabled. You can change the property when invalid or valid data has been entered.</p>
-
-<p>In the following example, the user must enter a secret code into a textbox on the first page of the wizard. The function checkCode() is called whenever the first page is shown as indicated by the <code>onpageshow</code> attribute. It is also called whenever a key is pressed in the textbox, to determine whether the Next button should be enabled again.</p>
-
-<h4 id="Ejemplo_de_asistente" name="Ejemplo_de_asistente">Ejemplo de asistente</h4>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_advwiz_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advwiz_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;wizard id="theWizard" title="Asistente de código secreto"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;script&gt;
-function checkCode(){
- document.getElementById('theWizard').canAdvance = (document.getElementById('secretCode').value == "cabbage");
-}
-&lt;/script&gt;
-
- &lt;wizardpage onpageshow="checkCode(); return true;"&gt;
- &lt;label value="Escriba el código secreto:"/&gt;
- &lt;textbox id="secretCode" onkeyup="checkCode();"/&gt;
- &lt;/wizardpage&gt;
-
- &lt;wizardpage&gt;
- &lt;label value="Ésto es el código secreto correcto."/&gt;
- &lt;/wizardpage&gt;
-
-&lt;/wizard&gt;
-</pre>
-
-<p>There is also a corresponding <code>canRewind</code> property that you can use to enable or disable the Back button. Both properties are adjusted automatically as you switch pages. Thus, the Back button will be disabled on the first page so you don't have to set it yourself.</p>
-
-<p>Another useful property of the wizard is <code>currentPage</code>, which holds a reference to the currently displayed <code>wizardpage</code>. You can also modify the current page by changing this property. If you do change it, the various page change events will still be fired.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Creando_un_asistente" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Presentación">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_botones/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_botones/index.html
deleted file mode 100644
index fdf8c15409..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_botones/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Más características de los botones
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Más_características_de_los_botones
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Button_Features
----
-<p>En esta sección, veremos algunas características adicionales de los botones.</p>
-
-<h3 id="A.C3.B1adiendo_una_imagen" name="A.C3.B1adiendo_una_imagen">Añadiendo una imagen</h3>
-
-<p>Usted puede agregar una imagen a un botón especificando una URL en el atributo <code><a href="es/XUL/Atributos#image">imagen</a></code>. La imagen se carga desde la URL, la cual puede ser relativa o absoluta, entonces la imagen se muestra sobre el botón.</p>
-
-<p>El botón de arriba tendrá <code><a href="es/XUL/Atributos#label">label</a></code> y <code><a href="es/XUL/Atributos#image">imagen</a></code> 'happy.png'. La imagen aparecerá a la izquierda de la etiqueta. Usted puede cambiar la posición usando otros dos atributos. Esto se explicará en un momento.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Ayuda" image="happy.png"/&gt;
-</pre>
-
-<h4 id="Bot.C3.B3n_con_imagen_CSS" name="Bot.C3.B3n_con_imagen_CSS">Botón con imagen CSS</h4>
-
-<p>Another way to specify the image is by using the CSS <a href="es/Css/xref">list-style-image</a> style property on the button. This is designed to allow the 'skin' (in this case, the appearance of the image) to be changed without changing the XUL file. An example is shown below.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button id="find-button"
- label="Busca" style="list-style-image: url('happy.png')"/&gt;
-</pre>
-
-<p>In this case, the image 'happy.png' is displayed on the button. The <code><a href="es/XUL/Atributos#style">estilo</a></code> attribute functions similar to its HTML counterpart. In general, it can be used on all XUL elements. Note that you really should put the style declarations in a separate style sheet.</p>
-
-<h3 id="Posicionando_las_im.C3.A1genes" name="Posicionando_las_im.C3.A1genes">Posicionando las imágenes</h3>
-
-<p>By default, the image on a button will appear to the left of the text label. There are two attributes that can be used to control this position.</p>
-
-<p>The <code><a href="es/XUL/Atributos#dir">dirección</a></code> attribute controls the direction of the image and text. By setting this attribute to the value <code>reverse</code>, the image will be placed on the right side of the text. By using the value <code>normal</code>, or leaving the attribute out entirely, the image will be placed on the left side of the text.</p>
-
-<p>The <code><a href="es/XUL/Atributos#orient">orientación</a></code> attribute can be used to place the image above or below the text. The default value is <code>horizontal</code> which is used to place the image on the left or right. You can also use the value <code>vertical</code> to place the image above or below. In this case, the dir attribute controls the placement above or below. The same values are used, where <code>normal</code> means place the image above the text, and <code>reverse</code> means place the image below the text.</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_3.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:advbtns1.png"></div>
-
-<pre>&lt;button label="Left" image="happy.png"/&gt;
-&lt;button label="Right" image="happy.png" dir="reverse"/&gt;
-&lt;button label="Above" image="happy.png" orient="vertical"/&gt;
-&lt;button label="Below" image="happy.png" orient="vertical" dir="reverse"/&gt;
-</pre>
-
-<p> </p>
-
-<p>The example here shows all four types of alignment of buttons. Note that the two attributes are not specified when the default value can be used.</p>
-
-<h3 id="Botones_con_contenido_extra" name="Botones_con_contenido_extra">Botones con contenido extra</h3>
-
-<p>Buttons may have arbitrary markup contained inside them, and it will be rendered inside the button. You probably wouldn't use this very often, but you might use it when creating custom elements.</p>
-
-<p>For example, the following will create a button where two of the words are red:</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_4.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button&gt;
- &lt;description value="This is a"/&gt;
- &lt;description value="rather strange" style="color: red;"/&gt;
- &lt;description value="button"/&gt;
-&lt;/button&gt;
-</pre>
-
-<p>Any XUL element may be placed inside the <code><a href="es/XUL/Elementos#button">botón</a></code>. HTML elements will be ignored, so you need to wrap them inside a <code><a href="es/XUL/Elementos#description">descripción</a></code> element. If you specify the <code><a href="es/XUL/Atributos#label">label</a></code> attribute on the button, it will override any content placed inside the button.</p>
-
-<h4 id="Bot.C3.B3n_con_men.C3.BA_emergente" name="Bot.C3.B3n_con_men.C3.BA_emergente">Botón con menú emergente</h4>
-
-<p>You can place a <code><a href="es/XUL/Elementos#menupopup">menupopup</a></code> inside the button to cause a menu to drop down when the button is pressed, much like the <code><a href="es/XUL/Elementos#menulist">menulist</a></code>. However, in this case you must set the <code><a href="es/XUL/Atributos#button.type">type</a></code> attribute to the value <code>menu</code>.</p>
-
-<p><strong>Ejemplo 5</strong>:</p>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_5.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:advbtns2.png"></div>
-
-<pre>&lt;button type="menu" label="Device"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Impresora"/&gt;
- &lt;menuitem label="Ratón"/&gt;
- &lt;menuitem label="Teclado"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-
-<p>In this example, the user may click the button to pop up a menu containing three items. Note that selecting one of these menu items doesn't change the label on the button, unlike a <code><a href="es/XUL/Elementos#menulist">menulist</a></code>. This type of button is intended to be used like a menu, with scripts attached to each item to perform a task. We'll see more on menus later.</p>
-
-<p>You can also set the <code><a href="es/XUL/Atributos#button.type">type</a></code> attribute to the value <code>menu-button</code>. This also creates a button with a menu, but the appearance will be different. The image to the right shows the difference. The left one is a 'menu' and the second one is a 'menu-button'. It has an arrow indicating the presence of a menu. For the 'menu', the user may click anywhere on the button to show the menu. For the 'menu-button', the user must click the arrow to show the menu.</p>
-
-<p>Seguimos con como <a href="es/Tutorial_de_XUL/El_modelo_de_caja">los elementos XUL son colocados en una ventana</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Usando_espaciadores" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:El_modelo_de_caja">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_árboles/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_árboles/index.html
deleted file mode 100644
index e8eb95ca57..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/más_características_de_los_árboles/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Más características de los árboles
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Más_características_de_los_árboles
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Tree_Features
----
-<p>Aquí veremos más características de los árboles.</p>
-
-<h3 id=".C3.81rboles_jer.C3.A1rquicos" name=".C3.81rboles_jer.C3.A1rquicos">Árboles jerárquicos</h3>
-
-<p>El elemento <code><a href="es/XUL/Elementos/tree">tree</a></code> también puede utilizarse para crear listas jerárquicas, similares a las encontradas en un administrador de archivos o a una lista de marcadores de un navegador. Para lograr esto deben realizarse dos cosas:</p>
-
-<p>Primero debe marcarse como contenedor al elemento <code><a href="es/XUL/Elementos/tree">treeitem</a></code> que contenga hijos, esto se consigue agregándole el atributo <code><a href="es/XUL/Atributos/container">container</a></code> (contenedor) de la siguiente manera:</p>
-
-<pre>&lt;treeitem container="true"/&gt;
-</pre>
-
-<p>Esto permite al usuario hacer doble-clic sobre el árbol para expandir y contraer las filas internas. Puede hacerse que las filas hijas sean visibles desde un principio simplemente agregando el atributo <code><a href="es/XUL/Atributos/open">open</a></code> (abierto). Cuando el usuario expanda o contraiga el árbol, éste atributo cambiará para reflejar el estado actual.</p>
-
-<p>El segundo cambio a realizar es colocar el atributo <code><a href="es/XUL/Atributos/primary">primary</a></code> (primario) en la primer columna. Esto provocará la aparición de un pequeño triángulo o un signo “+�? delante de las celdas en esa columna. Esto indicará que esas celdas pueden expandirse, además las filas hijas tendrán sangrado. Note que el usuario no puede ocultar la primer columna.</p>
-
-<p>Cada hijo puede especificarse poniendo un elemento <code>treechildren</code> dentro de <code>treeitem</code>, si se coloca dentro de <code>treerow</code> no funcionará.</p>
-
-<p>Puede repetirse este proceso para crear árboles profundamente anidados. En esencia, un elemento <code>treeitem</code> puede contener ya sea filas simples -declaradas con el elemento <code>treerow</code>- o una colección de filas que se declaran con el elemento <code>treechildren</code>.</p>
-
-<p>El siguiente es un ejemplo sencillo:</p>
-
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_advtrees_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advtrees_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;tree flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="nombre" label="Nombre" primary="true" flex="3"/&gt;
- &lt;treecol id="apellido" label="Apellido" flex="7"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem container="true" open="true"&gt;
- &lt;treerow&gt;
- &lt;treecell label="Tipos"/&gt;
- &lt;/treerow&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Pepe"/&gt;
- &lt;treecell label="Carpintero"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Lito"/&gt;
- &lt;treecell label="Albañil"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;
-</pre>
-
-<p><img alt="Image:advtrees1.jpg"></p>
-
-<p>Esto ha creado un árbol jerárquico. Como puede verse en la imagen, un pequeño símbolo “+�? o “-�? apareció junto a la primer fila, indicando que contiene filas hijas. El usuario puede abrir o cerrar la lista hacienda doble-clic en esa fila. Note como la fila Tipos necesita solamente una columna y es un ítem de posición para sus hijos.</p>
-
-<p>El elemento <code><a href="es/XUL/Elementos/treeitem">treeitem</a></code> externo contiene un elemento <code><a href="es/XUL/Elementos/treerow">treerow</a></code> y un elemento <code><a href="es/XUL/Elementos/treechildren">treechildren</a></code>, el primero crea los datos para la fila madre y el último contiene las filas hijas.</p>
-
-<p>También pueden anidarse filas profundamente. Debe recordarse que hay que utilizar el atributo <code><a href="es/XUL/Atributos/container">container</a></code> en las filas que contienen filas hijas. La simple presencia de filas hijas no es suficiente indicación ya que puede haber un contenedor que no contenga hijos pero aún debe ser tratado como contenedor. Por ejemplo, un directorio sin archivos dentro debe ser tratado como contenedor aunque esté vacío.</p>
-
-<h3 id="M.C3.A1s_sobre_las_columnas_del_.C3.A1rbol" name="M.C3.A1s_sobre_las_columnas_del_.C3.A1rbol">Más sobre las columnas del árbol</h3>
-
-<p>Un atributo adicional que puede colocarse al árbol es <code><a href="es/XUL/Atributos/enableColumnDrag">enableColumnDrag</a></code> (habilitar arrastre de columna, note las iniciales en mayúscula). Si se encuentra habilitado el usuario podrá arrastrar los encabezados de columna para reconfigurar el orden de las mismas,</p>
-
-<p>El usuario también querrá cambiar el ancho de las columnas, esto se logra poniendo un elemento <code><a href="es/XUL/Elementos/splitter">splitter</a></code> (divisor) entre cada elemento <code><a href="es/XUL/Elementos/treecol">treecol</a></code>. Aparecerá una pequeña muesca entre cada encabezado de columna, la cual podrá ser arrastrada por el usuario para cambiar el ancho de la columna. Para esconder la muesca puede fijarse en 0 el atributo CSS max-width del divisor, a pesar de lo cual el ancho de la columna seguirá siendo modificable. La hoja de estilos globales proporciona una clase <code>tree-splitter</code>, la cual realiza esto.</p>
-
-<p>Puede establecerse el ancho mínimo y máximo de una columna utilizando las propiedades de estilo <code><a href="es/XUL/Atributos/minwidth">minwidth</a></code> y <code><a href="es/XUL/Atributos/maxwidth">maxwidth</a></code> en el encabezado de la columna.</p>
-
-<p>La columna puede estar oculta de manera predeterminada si se coloca un atributo <code><a href="es/XUL/Atributos/hidden">hidden</a></code> (oculto) con el valor true. El usuario podrá escoger si ve la columna seleccionándola en el menú desplegable que se encuentra al final de la fila encabezado.</p>
-
-<p>Como con todos los elementos, puede utilizarse el atributo <code><a href="es/XUL/Atributos/persist">persist</a></code> (persistir) para almacenar el estado de las columnas entre sesiones. Esto es, una vez que el usuario se decide por una disposición de columnas de su agrado, esta será automáticamente almacenada para la próxima vez. Será necesario guardar un cierto número de atributos como se indica en el siguiente ejemplo:</p>
-
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_advtrees_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advtrees_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;tree enableColumnDrag="true" flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="corredor" label="Corredor" flex="2" persist="width ordinal hidden"/&gt;
- &lt;splitter class="tree-splitter"/&gt;
- &lt;treecol id="ciudad" label="Ciudad de origen" flex="2" persist="width ordinal hidden"/&gt;
- &lt;splitter class="tree-splitter"/&gt;
- &lt;treecol id="horainicio" label="Hora de inicio" flex="1" persist="width ordinal hidden"/&gt;
- &lt;splitter class="tree-splitter"/&gt;
- &lt;treecol id="horafin" label="Hora de finalización" flex="1" persist="width ordinal hidden"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Joshua Granville"/&gt;
- &lt;treecell label="Vancouver"/&gt;
- &lt;treecell label="7:06:00"/&gt;
- &lt;treecell label="9:10:26"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Robert Valhalla"/&gt;
- &lt;treecell label="Seattle"/&gt;
- &lt;treecell label="7:08:00"/&gt;
- &lt;treecell label="9:15:51"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;
-</pre>
-
-<p>En este caso deberán marcarse como persistentes tres atributos de las columnas:</p>
-
-<ul>
- <li>el atributo <code><a href="es/XUL/Atributos/width">width</a></code> para guardar el ancho de las mismas,</li>
- <li>el atributo <code><a href="es/XUL/Atributos/ordinal">ordinal</a></code> que contiene la posición de la columna,</li>
- <li>el atributo <code><a href="es/XUL/Atributos/hidden">hidden</a></code> que indica si la columna es visible o no.</li>
-</ul>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Árboles" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Selección_en_un_árbol">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/más_funciones_de_menú/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/más_funciones_de_menú/index.html
deleted file mode 100644
index 2c90a3fdd9..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/más_funciones_de_menú/index.html
+++ /dev/null
@@ -1,128 +0,0 @@
----
-title: Más funciones de menú
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Más_funciones_de_menú
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - para_revisar
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Menu_Features
----
-<p>En esta sección, veremos cómo crear submenús y menús con marcas de verificación o <em>checks</em>.</p>
-
-<h3 id="Creando_submen.C3.BAes" name="Creando_submen.C3.BAes">Crear submenús</h3>
-
-<p>Puedes crear submenús dentro de otros menús (menús jerarquizados ) usando los elementos existentes. Recuerda que puedes poner cualquier elemento dentro de un <code>menupopup</code>. Ya hemos visto cómo colocar <code>menuitem</code>s y <code>menuseparator</code>s en <code>menupopup</code>s. Sin embargo , puedes crear submenús simplemente colocando el elemento de <code><a href="/es/XUL/Elementos" title="es/XUL/Elementos">menu</a></code> dentro del elemento del <code><a href="/es/XUL/Elementos" title="es/XUL/Elementos">menupopup</a></code> . Esto funciona porque el elemento del menú es válido aún cuando no esté colocado directamente en la barra de menú. El ejemplo de abajo crea un submenú simple dentro del menú de <strong>File</strong>.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_1.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="nested-menu.jpg" class="default internal" src="/@api/deki/files/4817/=nested-menu.jpg"></div>
-
-<pre>&lt;toolbox flex="1"&gt;
- &lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="Archivo"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menu id="new-menu" label="Nuevo"&gt;
- &lt;menupopup id="new-popup"&gt;
- &lt;menuitem label="Ventana"/&gt;
- &lt;menuitem label="Mensage"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menuitem label="Abrir"/&gt;
- &lt;menuitem label="Guardar"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Salir"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-
-<h3 id="Adici.C3.B3n_de_un_men.C3.BA_al_archivo_de_b.C3.BAsqueda_del_ejemplo" name="Adici.C3.B3n_de_un_men.C3.BA_al_archivo_de_b.C3.BAsqueda_del_ejemplo">Adición de un menú a nuestro ejemplo con el Buscador de archivos</h3>
-
-<p>Agreguemos un menú al dialogo de búsqueda de archivos. Agregaremos solo unos pocos comandos simples a un menú <strong>File</strong> y un menú <strong>Edit</strong>. Este es similar al ejemplo de arriba.</p>
-
-<pre class="eval">&lt;toolbox&gt;
-
- <span class="highlightred">&lt;menubar id="findfiles-menubar"&gt;
- &lt;menu id="file-menu" label="Archivo" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="Abrir la búsqueda..." accesskey="o"/&gt;
- &lt;menuitem label="Guardar la búsqueda..." accesskey="s"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Cerrar" accesskey="c"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Editar" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Cortar" accesskey="t"/&gt;
- &lt;menuitem label="Copiar" accesskey="c"/&gt;
- &lt;menuitem label="Pegar" accesskey="p" disabled="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;</span>
-
-&lt;toolbar id="findfiles-toolbar&gt;
-</pre>
-
-<div class="float-right"><img alt="fnd-dlg-sample.jpg" class="default internal" src="/@api/deki/files/4818/=fnd-dlg-sample.jpg"></div>
-
-<p>Aquí hemos agregado dos menús con varios comandos en ellos. Observa cómo la barra de menús fue agregada dentro de la caja. Los tres puntos después de Open y Save son la forma habitual en la que se indica al usuario que se abrirá un dialogo cuando seleccione el comando. Se han agregado claves de acceso para cada menú y elemento de menú. Verás en la imagen que esta letra ha sido subrayada en la etiqueta del menú. Además, el comando Pegar (Paste) ha sido deshabilitado. Asumiremos que no hay nada que pegar.</p>
-
-<p> <strong>Ejemplo de Encontrar archivos </strong> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-advmenu.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-advmenu.xul">Ver en funcionamiento</a></p>
-
-<h3 id="A.C3.B1adiendo_casillas_seleccionadas_en_los_men.C3.BAes" name="A.C3.B1adiendo_casillas_seleccionadas_en_los_men.C3.BAes">Añadir marcas de verificación (checkmarks) a los menús</h3>
-
-<p>Muchas aplicaciones tienen elementos de menú que tienen marcas de verificación <em><em>o</em> </em><em>checks</em>. Por ejemplo, una característica que este activada tiene una marca de verificación o <em>check</em> al lado del comando y una característica que está deshabilitada no lo tiene. Cuando el usuario selecciona el menú, cambia el estado de la marca o <em>check</em> (habilitado/deshabilitado). Puedes además agregar botones redondos en los elementos del menú.</p>
-
-<p>Las marcas de verificación o <em>checks </em>se crean de manera similar a los elementos <code><a href="../../../../en/XUL/checkbox" rel="custom nofollow">checkbox</a></code> y <code><a href="../../../../en/XUL/radio" rel="custom nofollow">radio</a></code> . Esto implica el uso de dos atributos: <code><a href="/Es/XUL/Atributos#button.type" title="Es/XUL/Atributos#button.type">type</a></code> para indicar el tipo de  marca o <em>check</em> y <code><a href="/Es/XUL/Atributos#menuitem.name" title="Es/XUL/Atributos#menuitem.name">name</a></code> para agrupar comandos. El ejemplo de abajo crea un menú con una marca de verificación.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;toolbox&gt;
- &lt;menubar id="options-menubar"&gt;
- &lt;menu id="options_menu" label="Opciones"&gt;
- &lt;menupopup&gt;
- &lt;menuitem id="backups" label="Hacer copias de seguridad" type="checkbox"/&gt;
- &lt;menuitem id="backups" label="Enviar un email al administrador" type="checkbox" checked="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-
-<p>El atributo <code><a href="/es/XUL/Atributo#button.type" title="es/XUL/Atributo#button.type">type</a></code> se ha agregado con el fin poder marcar o desmarcar un elemento del menú. Al establecer su valor a <code>checkbox</code> , el elemento del menú puede marcarse o desmarcarse seleccionando dicho elemento.</p>
-
-<h4 id="Men.C3.BA_con_botones_de_selecci.C3.B3n" name="Men.C3.BA_con_botones_de_selecci.C3.B3n">Menú con botones circulares</h4>
-
-<p>Además de las marcas estándares, puedes crear <em>checks</em> con estilo circular cambiando el valor de <code><a href="/Es/XUL/Atributos#button.type" title="Es/XUL/Atributos#button.type">type</a></code> a el valor de <code>radio</code>. Un botón circular si usa si se desea agrupar varios elementos del menús pero se puede seleccionar solo uno a la vez. Un ejemplo puede ser a menú de Fuente (font) donde únicamente puede seleccionarse una fuente a la vez. Cuando se selecciona otro elemento, el seleccionado previamente queda deshabilitado.</p>
-
-<p>Con el fin de agrupar un conjunto de elementos del menú, tienes que poner un atributo <code><a href="/Es/XUL/Atributos#menuitem.name" title="Es/XUL/Atributos#menuitem.name">name</a></code> a cada uno. Establece el valor para la misma cadena. El ejemplo siguiente lo muestra:</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;toolbox&gt;
- &lt;menubar id="planets-menubar"&gt;
- &lt;menu id="planet-menu" label="Planetas"&gt;
- &lt;menupopup&gt;
- &lt;menuitem id="júpiter" label="Júpiter" type="radio" name="ringed"/&gt;
- &lt;menuitem id="saturno" label="Saturno" type="radio" name="ringed" checked="true"/&gt;
- &lt;menuitem id="uranus" label="Uranus" type="radio" name="ringed"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem id="tierra" label="Tierra" type="radio" name="inhabited" checked="true"/&gt;
- &lt;menuitem id="luna" label="Luna" type="radio" name="inhabited"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-
-<p>Si pruebas a hacer este ejemplo, encontrarás que de los tres primeros elementos del menú, solamente se puede seleccionar uno. Se agrupan juntos porque todos tienen el mismo nombre. El último elemento del menú es Earth, aunque es un botón circular, no es parte de este grupo porque tiene un nombre diferente.</p>
-
-<p>Desde luego, los elementos agrupados deben estar dentro del mismo menú. No se deben ubicar cerca unos de otros en el menú, además no tiene mucho sentido que lo estén.</p>
-
-<p>Seguimos con la <a href="/es/Tutorial_de_XUL/Menús_emergentes" title="es/Tutorial_de_XUL/Menúes_emergentes">creación de menús emergentes</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Menús_de_Barras_Simples" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Menús_emergentes">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/más_gestores_de_eventos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/más_gestores_de_eventos/index.html
deleted file mode 100644
index d181cbea94..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/más_gestores_de_eventos/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: Más gestores de eventos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Más_gestores_de_eventos
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Event_Handlers
----
-<p>In this section, the event object is examined and additional events are described.</p>
-
-<h3 id="El_objeto_de_evento" name="El_objeto_de_evento">El objeto de evento</h3>
-
-<p>Each event handler has a single argument which holds an <a href="es/DOM/event">event</a> object. In the attribute form of event listener, this event is an implied argument to the script code which can be refered to using the name 'event'. In the <code><a href="es/DOM/element.addEventListener">addEventListener</a></code> form, the first argument to the listener function will be the event object. The event object has a number of properties which can be examined during an event. The full list can be found in the <a class="external" href="http://xulplanet.com/references/objref/Event.html">referencia al objeto en planeta XUL</a>.</p>
-
-<p>We already saw the event's <code><a href="es/DOM/event.target">target</a></code> property in the last section. It holds a reference to the element where the event occured. A similar property <code><a href="es/DOM/event.currentTarget">currentTarget</a></code> holds the element that is currently having its event listeners handled. In the example below, <code><a href="es/DOM/event.currentTarget">currentTarget</a></code> is always the vbox, whereas <code><a href="es/DOM/event.target">target</a></code> would be the specific element, either the button or checkbox, that was activated. <strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;vbox oncommand="alert(event.currentTarget.tagName);"&gt;
- &lt;button label="OK"/&gt;
- &lt;checkbox label="Show images"/&gt;
-&lt;/vbox&gt;
-</pre>
-
-<h4 id="La_evento_de_parada_de_propagaci.C3.B3n" name="La_evento_de_parada_de_propagaci.C3.B3n">La evento de parada de propagación</h4>
-
-<p>Once you handle an event, regardless of where in the propagation the event is, you will likely want to stop the event from being sent to further elements, essentially stopping the capturing or bubbling phases from continuing. Depending on how you attach the event listener to an element, there are different ways of doing this.</p>
-
-<p>Recall that the capturing phase occurs before the bubbling phase, so any capturing listeners will trigger before any bubbling listeners. If a capturing event stops the event propagation, none of the later capturing listeners, nor any of the bubbling listeners will ever receive notification about the events. To stop event propagation, call the event object's <code><a href="es/DOM/event.stopPropagation">stopPropagation</a></code> method, as in the following example.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;hbox id="outerbox"&gt;
- &lt;button id="okbutton" label="OK"/&gt;
-&lt;/hbox&gt;
-
-&lt;script&gt;
-function buttonPressed(event){
- alert('Button was pressed!');
-}
-
-function boxPressed(event){
- alert('Box was pressed!');
- event.stopPropagation();
-}
-
-var button = document.getElementById("okbutton");
-button.addEventListener('command',buttonPressed,true);
-
-var outerbox = document.getElementById("outerbox");
-outerbox.addEventListener('command',boxPressed,true);
-&lt;/script&gt;
-</pre>
-
-<p>Here, an event listener has been added to the button and another event listener has been added to the box. The <code><a href="es/DOM/event.stopPropagation">stopPropagation</a></code> method has been called in the box's listener, so the button's listener never gets called. If this call was removed, both listeners would be called and both alerts would appear.</p>
-
-<h4 id="Prevent_Default_Action" name="Prevent_Default_Action">Prevent Default Action</h4>
-
-<p>If no event handlers have been registered for an event, then after completing the capturing and bubbling phases, the element will handle the event in a default way. What will happen depends on the event and the type of element. For example, the 'popupshowing' event is sent to a popup just before it is displayed. The default action is to display the popup. If the default action is prevented, the popup will not be displayed. The default action can be prevented with the event object's <code><a href="es/DOM/event.preventDefault">preventDefault</a></code> method, as in the example below.</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;button label="Tipos" type="menu"&gt;
- &lt;menupopup onpopupshowing="event.preventDefault();"&gt;
- &lt;menuitem label="Vidrio"/&gt;
- &lt;menuitem label="Plástico"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-
-<p>Alternatively, for attribute event listeners, you can just return false from the code. Note that preventing the default action is not the same as stopping event propagation with the <code><a href="es/DOM/event.stopPropagation">stopPropagation</a></code> method. Even if the default action has been prevented, the event will still continue to propagate. Similarly, calling the <code><a href="es/DOM/event.stopPropagation">stopPropagation</a></code> method won't prevent the default action. You must call both methods to stop both from occuring.</p>
-
-<p>Note that once propagation or the default action has been prevented, neither may be re-enabled again for that event.</p>
-
-<p>The following sections list some of the events that may be used. A full list is provided in the <a class="external" href="http://www.xulplanet.com/references/elemref/ref_EventHandlers.html">referencia al gestor de evento en planeta XUL</a>.</p>
-
-<h3 id="Eventos_del_rat.C3.B3n" name="Eventos_del_rat.C3.B3n">Eventos del ratón</h3>
-
-<p>There are several events which can be used to handle mouse specific actions, which are described briefly below:</p>
-
-<dl>
- <dt>click</dt>
- <dd>Called when the mouse is pressed and released on an element.</dd>
-</dl>
-
-<dl>
- <dt>dblclick</dt>
- <dd>Called when the a mouse button is double clicked.</dd>
-</dl>
-
-<dl>
- <dt>mousedown</dt>
- <dd>Called when a mouse button is pressed down on an element. The event handler will be called as soon as a mouse button is pressed, even if it hasn't been released yet.</dd>
-</dl>
-
-<dl>
- <dt>mouseup</dt>
- <dd>Called when a mouse button is released on an element.</dd>
-</dl>
-
-<dl>
- <dt>mouseover</dt>
- <dd>Called when the mouse pointer is moved onto an element. You could use this to highlight the element, however CSS provides a way to do this automatically so you shouldn't do it with an event. You might, however, want to display some help text on a status bar.</dd>
-</dl>
-
-<dl>
- <dt>mousemove</dt>
- <dd>Called when the mouse pointer is moved while over an element. The event may be called many times as the user moves the mouse so you should avoid performing lengthy tasks frorm this handler.</dd>
-</dl>
-
-<dl>
- <dt>mouseout</dt>
- <dd>Called when the mouse pointer is moved off of an element. You might then unhighlight the element or remove status text.</dd>
-</dl>
-
-<p>There are also a set of drag related events, which occur when the user holds down a mouse button and drags the mouse around. Those events are described in <a href="es/Drag_and_Drop">Drag and Drop</a>.</p>
-
-<h4 id="Propiedades_del_bot.C3.B3n_del_rat.C3.B3n" name="Propiedades_del_bot.C3.B3n_del_rat.C3.B3n">Propiedades del botón del ratón</h4>
-
-<p>When a mouse button event occurs, a number of additional properties are available to determine which mouse buttons were pressed and the location of the mouse pointer. The event's <code><a href="es/DOM/event.button">button</a></code> property can be used to determine which button was pressed, where possible values are 0 for the left button, 1 for the right button and 2 for the middle button. If you've configured your mouse differently, these values may be different.</p>
-
-<p>The <code><a href="es/DOM/event.detail">detail</a></code> property holds the number of times the button has been clicked quickly in sequence. This allows you to check for single, double or triple clicks. Of course, if you just want to check for double clicks, you can also use the dblclick event instead. The click event will be fired once for the first click, again for the second click, and again for the third click, but the dblclick event will only be fired once for a double click.</p>
-
-<p>The <code><a href="es/DOM/event.button">button</a></code> and <code><a href="es/DOM/event.detail">detail</a></code> properties only apply to the mouse button related events, not mouse movement events. For the mousemove event, for example, both properties will be set to 0.</p>
-
-<h4 id="Propiedades_de_la_posici.C3.B3n_del_rat.C3.B3n" name="Propiedades_de_la_posici.C3.B3n_del_rat.C3.B3n">Propiedades de la posición del ratón</h4>
-
-<p>However, all mouse events will be supplied with properties that hold the coordinates of the mouse position where the event occured. There are two sets of coordinates. The first is the <code><a href="es/DOM/event.screenX">screenX</a></code> and <code><a href="es/DOM/event.screenY">screenY</a></code> properties and are relative to the top left corner of the screen. The second set, <code><a href="es/DOM/event.clientX">clientX</a></code> and <code><a href="es/DOM/event.clientY">clientY</a></code>, are relative to the top left corner of the document. Here is an example which displays the current mouse coordinates:</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_4.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-
-function updateMouseCoordinates(event){
- var text = "X:" + event.clientX + " Y:" + event.clientY;
- document.getElementById("xy").value = text;
-}
-&lt;/script&gt;
-
-&lt;label id="xy"/&gt;
-&lt;hbox width="400" height="400" onmousemove="updateMouseCoordinates(event);"/&gt;
-</pre>
-
-<p>In this example, the size of the box has been set explicity so the effect is easier to see. The event handler gets the <code><a href="es/DOM/event.clientX">clientX</a></code> and <code><a href="es/DOM/event.clientY">clientY</a></code> properties and creates a string from them. This string is then assigned to the value property of the label. Note that the event argument must be passed to the <code>updateMouseCoordinates</code> function. If you move the mouse quickly across the border of the box, you might notice that the coordinates don't generally stop right at 400. This is because the mousemove events occur at intervals depdending on the speed at which the mouse moves and the mouse is usually moved some distance past the border by the time the next event fires. Obviously, it would be much too inefficient to send a mousemove event for every pixel the mouse is moved.</p>
-
-<h4 id="Element_Relative_Coordinates" name="Element_Relative_Coordinates">Element Relative Coordinates</h4>
-
-<p>You will often want to get the coordinates of an event relative to the element where the element occured rather than the entire window. You can do this by subtracting the element's position from the event position, as in the following code.</p>
-
-<pre>var element = event.target;
-var elementX = event.clientX - element.boxObject.x;
-var elementY = event.clientY - element.boxObject.y;
-</pre>
-
-<p>XUL elements have a box object that can be retrieved using the <code><a href="es/XUL/Propiedades#boxObject">boxObject</a></code> property. We'll learn more about the box object in <a href="es/Tutorial_de_XUL/Objetos_de_caja">una sección más adelante</a>, but it holds information pertaining to how the element is displayed, including the x and y position of the element. In this example code, these coordinates are subtracted from the event coordinates to get the event position relative to the element.</p>
-
-<h3 id="Load_Events" name="Load_Events">Load Events</h3>
-
-<p>The load event is sent to the document (la etiqueta de la <code><a href="es/XUL/Elementos#window">ventana - &lt;code&gt;window</a></code>&lt;/code&gt;) once the XUL file has finished loading and just before the content is displayed. This event is commonly used to initialize fields and perform other tasks that need to be done before the user can use the window. You should use a load event to do these kinds of things as opposed to adding script at the top level outside a function. This is because the XUL elements may not have loaded or fully initialized yet, so some things may not work as expected. To use a load event, place an <code><a href="es/XUL/Atributos#onload">onload</a></code> attribute on the <code><a href="es/XUL/Elementos#window">window</a></code> tag. Call code within the load handler which will initialize the interface as necessary.</p>
-
-<p>There is also an unload event which is called once the window has closed, or in a browser context, when the page is switched to another URL. You can use this event to save any changed information, for example.</p>
-
-<p><br>
- Next, we'll find out how to add <a href="es/Tutorial_de_XUL/Atajos_de_teclado">atajos de teclado</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Añadiendo_los_gestores_de_eventos" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Atajos_de_teclado">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/objeto_de_caja_de_árbol/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/objeto_de_caja_de_árbol/index.html
deleted file mode 100644
index d6eaf7a8d9..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/objeto_de_caja_de_árbol/index.html
+++ /dev/null
@@ -1,190 +0,0 @@
----
-title: Objeto de caja de árbol
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Objeto_de_caja_de_árbol
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Tree_Box_Objects
----
-<p> </p>
-
-<p>Ésta sección describe el objeto caja del árbol usada para gestionar como un árbol es mostrado.</p>
-
-<h3 id="Sobre_el_objeto_caja_del_.C3.A1rbol" name="Sobre_el_objeto_caja_del_.C3.A1rbol">Sobre el objeto caja del árbol</h3>
-
-<p>Box objects were described in an <a href="es/Tutorial_de_XUL/Objetos_de_caja">sección</a>. The tree box object is a specialized box object used specifically for trees. The tree box implements the <a class="external" href="http://www.xulplanet.com/references/objref/TreeBoxObject.html">TreeBoxObject</a> interface.</p>
-
-<h4 id="Redibujando_el_.C3.A1rbol" name="Redibujando_el_.C3.A1rbol">Redibujando el árbol</h4>
-
-<p>We already saw the <code>rowCountChanged()</code> function of the tree box object in the previous section. It is used to indicate that one or more rows have been added to the tree or removed from the tree. The tree will redraw the affected area. You don't need to call the <code>rowCountChanged()</code> function when a row has simply changed in some way, for example if a cell's label changes. In this case, there are other drawing functions that can be used. The simplest is to call <code>invalidateRow()</code> which will redraw a specific row in the tree. The tree will call the view to get the updated data and update the contents of the tree on screen.</p>
-
-<p>Other redrawing functions are</p>
-
-<ul>
- <li><code>invalidateCell()</code> to redraw only a single cell</li>
- <li><code>invalidateColumn()</code> to redraw a column</li>
- <li><code>invalidateRange()</code> to redraw a range of rows</li>
- <li><code>invalidate()</code> to redraw the entire tree.</li>
-</ul>
-
-<p>Note that redrawing does not occur until the calling script ends since Mozilla does not redraw in the background.</p>
-
-<h4 id="Desplegando_el_.C3.A1rbol" name="Desplegando_el_.C3.A1rbol">Desplegando el árbol</h4>
-
-<p>You can also scroll the tree using four different methods, similar to those available for <a href="es/Tutorial_de_XUL/Manipulando_listas#Lista_desplegable">listboxes</a>. The <code>scrollToRow()</code> function may be used to scroll to a particular row. Here is a simple example.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treeboxobject_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treeboxobject_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function doScroll(){
- var value = document.getElementById("tbox").value;
- var tree = document.getElementById("thetree");
-
- var boxobject = tree.boxObject;
- boxobject.QueryInterface(Components.interfaces.nsITreeBoxObject);
- boxobject.scrollToRow(value);
-}
-&lt;/script&gt;
-
-&lt;tree id="thetree" rows="4"&gt;
- &lt;treecols&gt;
- &lt;treecol id="row" label="Row" primary="true" flex="1"/&gt;
- &lt;/treecols&gt;
- &lt;treechildren&gt;
- &lt;treeitem label="Row 0"/&gt;
- &lt;treeitem label="Row 1"/&gt;
- &lt;treeitem label="Row 2"/&gt;
- &lt;treeitem label="Row 3"/&gt;
- &lt;treeitem label="Row 4"/&gt;
- &lt;treeitem label="Row 5"/&gt;
- &lt;treeitem label="Row 6"/&gt;
- &lt;treeitem label="Row 7"/&gt;
- &lt;treeitem label="Row 8"/&gt;
- &lt;treeitem label="Row 9"/&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;
-
-&lt;hbox align="center"&gt;
- &lt;label value="Scroll to row:"/&gt;
- &lt;textbox id="tbox"/&gt;
- &lt;button label="Scroll" oncommand="doScroll();"/&gt;
-&lt;/hbox&gt;
-</pre>
-
-<p>Note that we use the rows attribute on the <code><a href="es/XUL/Elementos/tree">tree</a></code> to specify that only four rows are displayed at a time. This makes it easier to see how the example works. Also, notice that the first row is 0.</p>
-
-<p>The <code>doScroll()</code> function gets the box object and calls the <code>scrollToRow()</code> function with an argument set to the value of the textbox. You might notice that the tree box object can be retieved in the same way as other box objects using the <a class="external" href="http://www.xulplanet.com/references/objref/BoxObject.html">boxObject</a> property, however we need to call <code>QueryInterface()</code> to cast the box object to the more specific tree box object. The functions of the more general box object are also available to trees.</p>
-
-<p>Additional scroll methods include the <code>scrollByLines()</code>, <code>scrollByPages()</code> and <code>ensureRowIsVisible()</code> functions.</p>
-
-<p>The <code>scrollByLines()</code> scrolls up or down by a certain number of rows. Use a positive number to go down and a negative number to go up. The <code>scrollByPages()</code> function scrolls by a number of pages and is called automatically when the user presses the page up or page down keys while the tree is focused. A page is equal to the number of visible rows. For example if the tree shows 10 rows at a time, a page will be equivalent to 10 rows. This is a convenient method since when the user resizes a flexible tree, the page size will grow and shrink, so you don't need to calculate the page size manually. This isn't too hard to calculate manually anyway since the tree box object also provides a <code>getPageLength()</code> function which returns the number of rows in a page. In the scrolling example above, <code>getPageLength()</code> would return four.</p>
-
-<div class="note">
-<p>Note that in Firefox 1.0 and Mozilla 1.7 and earlier, the <code>getPageLength()</code> function is called <code>getPageCount()</code> instead. The name was changed to <code>getPageLength()</code> since it was confusing before since it doesn't return the number of pages, but the size of each page. You could determine the number of pages by dividing the total number of rows by the page length.</p>
-</div>
-
-<p>The <code>ensureRowIsVisible()</code> function will scroll to a row just as <code>scrollToRow()</code> does, but does not scroll if the row is already visible.</p>
-
-<h3 id="Coordenadas_de_celda" name="Coordenadas_de_celda">Coordenadas de celda</h3>
-
-<p>Some of the most interesting functions of the tree box object are several functions which may be used to get the parts of the tree at specific coordinates and vice versa.</p>
-
-<ul>
- <li>The <code>getCellAt()</code> function may be used to get the cell at specific pixel location</li>
- <li>The <code>getRowAt()</code> function may be used to get a row at a specific location. The <code>getRowAt()</code> function takes two arguments, the x and y coordinates to use.</li>
-</ul>
-
-<pre>tree.boxObject.getRowAt( 50, 100 );
-</pre>
-
-<p>This example will return the index of the row with a horizontal position of 50 and a vertical position of 100. Naturally, it doesn't really matter what the value of the x coordinate is since rows always take up the entire horizontal space of the tree.</p>
-
-<div class="note">One important thing to note is that the coordinates are measured from the upper left corner of the containing document, not the edge of the tree itself.</div>
-
-<p>This makes it easy to pass event coordinates directly to these functions, as in the following example of the <code>getCellAt()</code> function.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treeboxobject_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treeboxobject_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;script&gt;
-function updateFields(event){
- var row = {}, column = {}, part = {};
- var tree = document.getElementById("thetree");
-
- var boxobject = tree.boxObject;
- boxobject.QueryInterface(Components.interfaces.nsITreeBoxObject);
- boxobject.getCellAt(event.clientX, event.clientY, row, column, part);
-
- if (column.value &amp;&amp; typeof column.value != "string")
- column.value = column.value.id;
-
- document.getElementById("row").value = row.value;
- document.getElementById("column").value = column.value;
- document.getElementById("part").value = part.value;
-}
-&lt;/script&gt;
-
-&lt;tree id="thetree" flex="1" onmousemove="updateFields(event);"&gt;
- &lt;treecols&gt;
- &lt;treecol id="utensil" label="Utensil" primary="true" flex="1"/&gt;
- &lt;treecol id="count" label="Count" flex="1"/&gt;
- &lt;/treecols&gt;
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Fork"/&gt;
- &lt;treecell label="5"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Knife"/&gt;
- &lt;treecell label="2"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Spoon"/&gt;
- &lt;treecell label="8"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;
-
-&lt;label value="Row:"/&gt;
-&lt;label id="row"/&gt;
-&lt;label value="Column:"/&gt;
-&lt;label id="column"/&gt;
-&lt;label value="Child Type:"/&gt;
-&lt;label id="part"/&gt;
-</pre>
-
-<p>The <code>getCellAt()</code> function takes five arguments, the coordinates to look up and three out parameters. An out parameter is used since the function needs to return more that one value. You will see a number of interfaces that use out parameters in the <a class="external" href="http://www.xulplanet.com/references/objref/">XULPlanet object reference</a>. These are indicated by the word 'out' before the argument. For these, you will need to supply an empty object and the function will fill in the 'value' property with the necessary value.</p>
-
-<p>The three out parameters will be filled in with the row, the column and a child type. The row is the index of the row the mouse is over, since we call it with the event coordinates of a <code>mousemove</code> event. If the coordinate is not over a row, the row value will be set to -1. The column is a column object in Mozilla 1.8 and later. In earlier versions, columns are identified with a string, the id of the column. In later versions, a separate column object exists, which can be queried for column data.</p>
-
-<p>The following line is used so that the example above will work in all versions.</p>
-
-<pre>if (column.value &amp;&amp; typeof column.value != "string")
- column.value = column.value.id;
-</pre>
-
-<p>If the column is a string, we are running on Mozilla 1.7 or earlier, but for later versions we get the column id from the column object. If you are writing code for multiple versions, you should check for this as above.</p>
-
-<p>The last argument to <code>getCellAt()</code> is the child type which is filled in with a string depending on what part of the cell the coordinate is at. If you move the mouse around in the previous example, you might notice the label change between 'text' and 'cell'. The value 'text' indicates the area where the text would be drawn and the value 'cell' indicates the area around the text, for example, the margin on the left side where the open and close twisties are normally drawn. If there was a twisty, however, the value would be 'twisty' instead. This is convenient since you could determine whether the user clicked on a twisty instead of another part of the row. In fact, this is what the underlying tree code does when the user double clicks the twisty. The final value that may be returned is 'image' if there is an image in the tree cell and the coordinate corresponds to a location where the image is. Of course, in many cases you may not care what part of the cell the coordinate is on and just want the row and column.</p>
-
-<p>To go in reverse and get the cell at a specific coordinate, use the <code>getCoordsForCellItem()</code> function. It takes seven arguments, as described below.</p>
-
-<pre>var x = {}, y = {}, width = {}, height = {};
-if (typeof tree.columns != "undefined") column = tree.columns[column];
-tree.boxObject.getCoordsForCellItem( row, column, part, x, y, width, height );
-</pre>
-
-<p>The row, column, and part arguments are similar to those returned from the <code>getCellAt()</code> function. Again, the column should be either a string or a column object depending on which version you are using. The cell part type may be used to get the coordinates of either the text, the entire cell, the twisty or the image in the cell. The same values as the <code>getCellAt()</code> function are used. The <code>getCoordsForCellItem()</code> function returns the x and y coordinates in addition to the width and height, all as out parameters.</p>
-
-<p>Next, we'll look at RDF which can be used to automatically populate trees and other elements.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Detalles_de_Vistas_de_un_árbol" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Introducción_a_RDF">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/paneles_de_contenidos/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/paneles_de_contenidos/index.html
deleted file mode 100644
index 3be2bfc904..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/paneles_de_contenidos/index.html
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Paneles de contenidos
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Paneles_de_contenidos
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Content_Panels
----
-<p> </p>
-<p>En esta sección veremos como crear paneles capaces de mostrar páginas HTML o XUL.</p>
-<h3 id="A.C3.B1adiendo_marcos" name="A.C3.B1adiendo_marcos">Añadiendo marcos</h3>
-<p>Hay veces en que queremos tener parte de un documento cargado desde una página separada. Como por ejemplo en los dialogos guiados paso a paso, en los que pasamos secuencialmente de una pantalla a otra, preguntando una serie de preguntas. Cada vez que el usuario hace clic en el boton ‘siguiente’, la siguiente pantalla se muestra.</p>
-<p>Se podrían crear estos dialogos guiados abriendo una ventana para cada pantalla, sin embargo hay almenos tres problemas con esta aproximación. Primero, cada ventana podría aparecer en un sitio diferente (aunque hay formas de evitarlo). Segundo, algunos elementos como los botones ‘atrás’ y ‘siguiente’ son siempre iguales durante todas las pantallas, por lo que sería mucho mejor si solo el área de contenidos fuera la que cambiara. Tercero, sería dificil coordinar los scripts si se ejecutarán en diferentes ventanas.</p>
-<p>Cabe destacar que XUL nos ofrece el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_wizard.html">wizard</a></code>, que podemos usar para crear dialogos guiados. Este elementos se explicará más adelante.</p>
-<p>Otra aproximación es usar marcos de contenido, el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_iframe.html">iframe</a></code> en XUL, el cual funciona practicamente igual que el elemento del mismo nombre en HTML. Crea un documento separado dentro de la ventana. Tiene la ventaja de que puede colocarse en cualquier parte de la ventana y de que su contenido puede guardarse en un fichero separado. Podemos decidir que fichero queremos que se muestre usando el atributo <code>src</code>. Este fichero puede ser de cualquier tipo, aunque normalmente usaremos ficheros HTML o XUL. Podemos cambiar los contenidos de un <code>iframe</code>, sin afectar a la ventana principal, usando un script.</p>
-<p>En la ventana del navegador Mozilla, el área donde se muestra la página web se crea usando un <code>iframe</code>. Cuando el usuario introduce una dirección o hace clic en un enlace del documento, el atributo src del iframe es cambiado.</p>
-<p>El siguiente ejemplo muestra el uso de los marcos de contenido:</p>
-<h4 id="Ejemplo_Usando_iframe" name="Ejemplo:_Usando_iframe">Ejemplo: Usando <code>iframe</code></h4>
-<pre>&lt;toolbox&gt;
- &lt;toolbar id="nav-toolbar"&gt;
- &lt;toolbarbutton label="Atrás"/&gt;
- &lt;toolbarbutton label="Siguiente"/&gt;
- &lt;textbox id="urlfield"/&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-
-&lt;iframe id="contenidos" src="http://www.mozilla.org" flex="1"/&gt;
-</pre>
-<p>Este ejemplo presenta el interfaz para un navegador web muy simple. Hay dos elementos principales, un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_toolbox.html">toolbox</a></code> (contenedor para barras de herramientas) y un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_iframe.html">iframe</a></code> (marco de contenidos). Los botones Atrás y Siguiente, así como la caja de texto para la dirección se han incluido en una barra de herramientas. Las páginas web aparecerían dentro del elemento <code>iframe</code>, en este caso la página de la fundación Mozilla sería la que aparecería por defecto.</p>
-<p>Este ejemplo no es completamente funcional. Posteriormente, necesitaremos adicionar un script el cual cambia el atributo en el tiempo deseado, por ejemplo cuando el usuario presiona la tecla Enter.</p>
-<h3 id="Browsers" name="Browsers">Browsers</h3>
-<p>There is a second type of content panel, using the <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_browser.html">browser</a></code> tag. You would use this when you want to create a frame that displays content like a browser. Actually, the iframe can do this too, but the browser has a variety of additional features. For example, the browser maintains a page history for use with Back and Forward buttons. The <code>browser</code> can also load pages with referers and other flags. Essentially, the <code>browser</code> tag should be used when you want to create a browser-like interface, but the <code>iframe</code> may be used when you just need a simple panel.</p>
-<p>A similar element, <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_tabbrowser.html">tabbrowser</a></code>, provides the functionality of <code>browser</code> but also provides a tab bar for switching between multiple pages. This is the widget used by the Mozilla browser for its tabbed browsing interface. The <code>tabbrowser</code> element is actually implemened as a <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_tabbox.html">tabbox</a></code> containing a set of <code>browser</code> elements. Both types of browser offer similar control over pages that are displayed.</p>
-<p>Here is an example browser:</p>
-<h4 id="Example" name="Example">Example</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_2.xul">Ver en funcionamiento</a></p>
-<pre>&lt;browser src="http://www.mozilla.org" flex="1"/&gt;
-</pre>
-<p>As with the iframe, you can specify the url in a browser using the <code>src</code> attribute. For a <code>tabbrowser</code>, you cannot set the url directly like this, as it doesn't display just one url. Instead, you must use a script and call the <code>loadURI</code> function.</p>
-<p>There are three classes of browser, depending on the kind of content that you want to display inside. The type may be specified using the <code>type</code> attribute. The first type is the default and is used if you don't specify a type. In this case, the content loaded inside the browser is treated as if it was part of the same application and has access to the outer window. That means that when a script loaded inside the browser tries to get the topmost window, it will get the outer XUL window.</p>
-<p>This would be suitable for a child XUL panel that is part of your application, but this isn't what you want for a browser that loads a web page. Instead, you would want to restrict the web page to only getting access to the web page content. You might note that a Mozilla browser window has XUL content for the toolbars and statusbar and so forth with a <code>tabbrowser</code> forming the main area. This inner area displays a web page, but the web page cannot access the XUL around it. This is because it uses the second type of browser, specified by setting the <code>type</code> attribute to the value <code>content</code>. This prevents the content from traversing up to the XUL window. An example:</p>
-<pre>&lt;browser src="http://www.mozilla.org" type="content" flex="1"/&gt;
-</pre>
-<p>It is important that you set the <code>type</code> attribute correctly if you are going to be displaying remote web sites inside the <code>browser</code> element. The <code>tabbrowser</code> sets the content type automatically on all tabbed browsers that it creates. So you don't have to set this explicitly for tabbed browsers.</p>
-<p>The third type is used when your window contains multiple browser elements, for example if you have a sidebar displaying some extra content. Set the <code>type</code> attribute on the main <code>browser</code> element to <code>content-primary</code> to indicate that its content will be the primary content inside the window. This acts just like the <code>content</code> value except that the content inside is accessible using the XUL window's 'content' property. This makes it easy to access the content of the main browser using a script. The <code>tabbrowser</code> automatically sets the <code>type</code> attribute of whichever browser is currently visible to <code>content-primary</code>, which means that you will always be able to access the currently visible content in this way.</p>
-<p>Next, we'll look at how to create a splitter.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/plantillas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/plantillas/index.html
deleted file mode 100644
index 96b7e38150..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/plantillas/index.html
+++ /dev/null
@@ -1,191 +0,0 @@
----
-title: Plantillas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Plantillas
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Templates
----
-<p>En esta sección descubriremos cómo poblar elementos con datos.</p>
-
-<h3 id="Poblando_elementos" name="Poblando_elementos">Poblando elementos</h3>
-
-<p>XUL provee un método con el cual creamos elementos a partir de datos proporcionados por RDF, ya sea desde un archivo RDF o desde un origen de datos interno. Mozilla suministra muchas fuentes de datos, como ser marcadores, histórico y mensajes de correo. En la <a href="es/Tutorial_de_XUL/Fuentes_de_datos_RDF">próxima sección</a> se ofrecerán más detalles sobre esto.</p>
-
-<p>Normalmente los elementos tales como treeitem y menuitem serán poblados con datos. Sin embargo, si se desea pueden usarse otros elementos, aunque éstos son mas útiles en casos especiales. A pesar de ello comenzaremos con estos otros elementos ya que los árboles y los menús requieren mas código.</p>
-
-<p>Para permitir la creación de elementos basados en datos RDF se necesitará proporcionar una plantilla simple, la cual será duplicada por cada elemento creado. Esencialmente, se provee únicamente el primer elemento y los restantes son construidos sobre la base de éste.</p>
-
-<p>La plantilla es creada empleando el elemento <code><a href="es/XUL/Elementos/template">template</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_template.html">en</a>), dentro del mismo pueden ubicarse los elementos que se desee utilizar para cada elemento a construir. El elemento <code>template</code> debe ser colocado dentro del contenedor que contendrá los elementos construidos. Por ejemplo, si se utiliza un árbol debe colocarse el elemento <code>template</code> dentro de un elemento <code><a href="es/XUL/Elementos/tree">tree</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_tree.html">en</a>).</p>
-
-<h4 id="Ejemplo_de_plantilla_simple" name="Ejemplo_de_plantilla_simple">Ejemplo de plantilla simple</h4>
-
-<p>Tomemos un simple ejemplo donde queremos crear un botón por cada marcador de primer nivel. Mozilla ofrece una fuente de datos de marcadores por lo que ésta puede emplearse para adquirir los datos. Este ejemplo únicamente obtendrá los marcadores de primer nivel (o carpetas de marcadores) por lo que crearemos botones. Para los marcadores hijos deberemos usar un elemento que muestre datos de manera jerárquica, como un árbol o un menú.</p>
-
-<div class="note">
-<p>Tanto este ejemplo como cualquier otro que haga referencia a fuentes de datos RDF internas únicamente funcionará si se lo carga desde una URL chrome, ya que por razones de seguridad Mozilla no permite el acceso a ellas desde otras procedencias.</p>
-</div>
-
-<p>Para ver este ejemplo se necesitará crear un paquete chrome y cargar el archivo desde allí, (se puede hacer fácilmente mirando en <a href="es/Tutorial_de_XUL/Archivos_Manifest">archivos de manifiesto</a>) entonces se podrá ingresar la URL chrome en la barra de direcciones del navegador.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
- &lt;button uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-
-<p><img alt="Image:templates1.jpg"></p>
-
-<p>Aquí se ha creado una caja vertical que contiene una columna de botones, uno por cada marcador de primer nivel. Puede verse que la plantilla contiene un solo <code><a href="es/XUL/Elementos/button">botón</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_button.html">en</a>), éste es utilizado como base para todos los botones que serán creados. En la imagen se observa que se creó un conjunto de botones, uno por cada marcador.</p>
-
-<p>Intente añadir un nuevo marcador en el navegador manteniendo la ventana de ejemplo abierta. Notará que los botones del ejemplo son inmediatamente actualizados, puede ser necesario enfocar la ventana para que se produzca este cambio.</p>
-
-<h4 id="Contenedor_y_fuentes_de_dato" name="Contenedor_y_fuentes_de_dato">Contenedor y fuentes de dato</h4>
-
-<p>La plantilla es colocada dentro de la caja vertical, la caja posee dos atributos especiales que le permiten ser utilizada para plantillas, los cuales se emplean para especificar el origen de los datos. El primer atributo de la caja es <code>datasources</code>, el cual se usa para declarar la fuente de datos RDF que proveerá los datos para crear los elementos, en éste caso <code>rdf:bookmarks</code>. Se habrá adivinado que esto significa que se utilizará la fuente de datos de marcadores, esta fuente es proveída por Mozilla. Para utilizar un origen de datos propio, en el atributo <code>datasources</code> debe especificarse la URL de un archivo RDF, tal como se indica en el siguiente ejemplo:</p>
-
-<pre>&lt;box datasources="chrome://zoo/contenidos/animales.rdf"
- ref="http://www.algun-zoo-ficticio.com/todos-los-animales"&gt;
-</pre>
-
-<p>Incluso pueden especificarse múltiples fuentes de datos al mismo tiempo separándolas con un espacio en el valor del atributo. Esto puede aprovecharse para mostrar datos desde varios orígenes.</p>
-
-<p>El atributo <code>ref</code> indica la parte de la fuente de datos desde donde se quiere obtener los datos. En el ejemplo de los marcadores, el valor <code>NC:BookmarksRoot</code> es utilizado para indicar la raíz de la jerarquía de marcadores. Otros valores posibles dependerán del origen de datos utilizado, si se utiliza un archivo RDF propio como origen de datos, el valor corresponderá al valor de un atributo <code>about</code> en un elemento <code>Bag</code> RDF, un elemento <code>Seq</code> o un elemento <code>Alt</code>.</p>
-
-<h4 id="Dentro_de_la_plantilla" name="Dentro_de_la_plantilla">Dentro de la plantilla</h4>
-
-<p>Al añadir estos dos atributos a la caja de arriba se permitirá la generación de elementos utilizando la plantilla. Sin embargo, los elementos dentro de la plantilla necesitan ser declarados de otra forma. En el ejemplo anterior puede observarse que el botón posee un atributo <code>uri</code> y un valor inusual para el atributo <code>label</code>.</p>
-
-<p>El valor de un atributo dentro de la plantilla que comience con 'rdf:' indica que el valor debe ser obtenido de la fuente de datos, éste es el caso del atributo <code>label</code> en el ejemplo anterior. El resto del valor hace referencia a la propiedad name en la fuente de datos. Esto se construye tomando la URL del área de denominación utilizada por la fuente de datos y agregando la propiedad name. Si no puede comprender esto intente volver a leer la última parte de la <a href="es/Tutorial_de_XUL/Introducci%c3%b3n_a_RDF">sección anterior</a>, la cual explica cómo se pueden referenciar los recursos en RDF. Aquí usamos únicamente el nombre del marcador pero hay muchos otros campos disponibles.</p>
-
-<p>La etiqueta de los botones es fijada a esta URI especial ya que queremos que las etiquetas en los botones contengan los nombres de los marcadores. Podríamos haber puesto una URI en cualquiera de los atributos del botón, o de cualquier otro elemento. Los valores de estos atributos son reemplazados con datos alimentados por la fuente de datos la cual es, en éste caso, la de marcadores. Por ello terminamos con las etiquetas de los botones conteniendo los nombres de los marcadores.</p>
-
-<p>El siguiente ejemplo muestra cómo podríamos establecer otros atributos de un botón empleando una fuente de datos. Naturalmente, esto asume que la fuente de datos provee los recursos apropiados. Si un recurso en particular no puede ser encontrado el valor del atributo será una cadena de texto vacía.</p>
-
-<pre>&lt;button class="rdf:http://www.ejemplo.com/rdf#clase"
- uri="rdf:*"
- label="rdf:http://www.ejemplo.com/rdf#name"/&gt;
- crop="rdf:http://www.ejemplo.com/rdf#crop"/&gt;
-</pre>
-
-<p>Como puede verse, es posible generar listas de elementos dinámicamente con los atributos proporcionados por un origen de datos diferente. El atributo uri es empleado para especificar el elemento a partir del cual se iniciará la generación de contenido. El primer contenido se generará una vez mientras que el contenido en el interior será generado para cada recurso. Veremos más de esto al crear <a href="es/Tutorial_de_XUL/%c3%81rboles_y_plantillas">plantillas para árboles</a>.</p>
-
-<h4 id="M.C3.A1s_ejemplos" name="M.C3.A1s_ejemplos">Más ejemplos</h4>
-
-<p>Al agregar estas características en el contenedor dentro del cual se encuentra la plantilla, que es en este caso una caja, y a los elementos dentro de la plantilla, podremos generar listas de contenido interesantes a partir de datos externos. Claro que podemos poner más de un elemento dentro de una plantilla y añadir las referencias RDF especiales a los atributos en cualquiera de estos elementos. El siguiente ejemplo lo demuestra.</p>
-
-<p><strong>Ejemplo 2</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_2.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
- &lt;vbox uri="rdf:*"&gt;
- &lt;button label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;label value="rdf:http://home.netscape.com/NC-rdf#URL"/&gt;
- &lt;/vbox&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-
-<p>Esto crea una caja vertical con un botón y una etiqueta por cada marcador. El botón tendrá el nombre del marcador y la etiqueta su URL.</p>
-
-<p>Los elementos que son creados no son funcionalmente diferentes a aquellos insertados directamente en el archivo XUL. Para cada elemento creado a través de una plantilla se añadirá el atributo id, el cual tendrá un valor que identifica el recurso. Esto puede emplearse para identificar el recurso creado.</p>
-
-<p>También es posible especificar en el mismo atributo múltiples valores de recurso separándolos con un espacio, igual que en ejemplo debajo y en <a class="external" href="http://www.xulplanet.com/tutorials/xultu/templateex.html">más acerca de la sintaxis de recursos</a> (XULPlanet).</p>
-
-<p><strong>Ejemplo 3</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_3.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot"
- flex="1"&gt;
- &lt;template&gt;
- &lt;label uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name rdf:http://home.netscape.com/NC-rdf#URL"/&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-
-<h3 id="C.C3.B3mo_son_construidas_las_plantillas" name="C.C3.B3mo_son_construidas_las_plantillas">Cómo son construidas las plantillas</h3>
-
-<p>Cuando un elemento posee el atributo <code>datasources</code> se está indicando que se espera que el elemento sea construido a partir de una plantilla. Note que el rótulo <code>template</code> no es el que determina si el contenido se construirá, es el atributo <code>datasources</code>. Si este atributo está presente, un objeto llamado Builder (constructor) se añadirá al elemento. Este objeto es el responsable de construir el contenido a partir de la plantilla. En JavaScript puede accederse al objeto constructor mediante la propiedad <code>builder</code>, aunque normalmente esto será necesario solo si se desea que el constructor regenere el contenido en situaciones donde esto no se haga automáticamente.</p>
-
-<p>Existen dos tipos diferentes de constructores. El primero es un constructor de contenidos y se utiliza en la mayoría de los casos, y el otro es un constructor de árboles que se usa únicamente para árboles.</p>
-
-<p>El constructor de contenidos toma el contenido dentro del elemento template y lo duplica por cada fila. Por ejemplo, si en el ejemplo anterior el usuario tenía diez marcadores, diez elementos <code><a href="es/XUL/Elementos/label">label</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_label.html">en</a>) serán creados y añadidos al elemento <code><a href="es/XUL/Elementos/vbox">vbox</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_vbox.html">en</a>). Si se utilizaran funciones DOM para recorrer el árbol, podrán encontrarse estos elementos y ver sus propiedades. Los elementos serán visibles pero no la plantilla, aunque aún existe en el documento árbol. Además, la <code>id</code> de cada una de las etiquetas se establecerá con el recurso RDF para esa fila.</p>
-
-<p>Este constructor siempre comienza en el lugar donde se ha especificado uri=“rdf:*�?. Si el atributo <code>uri</code> en un elemento posterior al elemento árbol, los elementos fuera se crearán una sola vez. En el siguiente ejemplo se creará una caja horizontal (<code><a href="es/XUL/Elementos/hbox">hbox</a></code>), la cual será llenada con una etiqueta por cada ítem.</p>
-
-<pre>&lt;template&gt;
- &lt;hbox&gt;
- &lt;label uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/hbox&gt;
-&lt;/template&gt;
-</pre>
-
-<p>Si hubiera otros contenidos dentro del elemento con el atributo <code>datasources</code> pero fuera de la plantilla, ésos contenidos también aparecerán. Así puede mezclarse contenidos estáticos y contenidos dinámicos de una plantilla.</p>
-
-<h4 id="Constructor_de_.C3.A1rbol" name="Constructor_de_.C3.A1rbol">Constructor de árbol</h4>
-
-<p>El constructor de árboles, por otro lado, no genera los elementos DOM para las filas. En cambio, obtendrá la información directamente de la fuente de datos RDF cuando la necesite. Ya que usualmente se espera que los árboles muestren miles de filas de datos, este método es mucho más eficiente. Crear un elemento por cada celda sería muy costoso. Sin embargo, el trueque es que los árboles únicamente pueden mostrar texto y, como no se crean elementos, no podrán utilizarse propiedades CSS para diseñar celdas de árboles.</p>
-
-<p>El constructor de árboles se utiliza solamente con árboles. Los otros elementos utilizan el constructor de contenido. Esto no causa problema alguno, ya que no se prevé que otros elementos -como los menús- contengan demasiados ítems. También es posible utilizar el constructor de contenido con los árboles, y por cada fila se crearán un elemento <code><a href="es/XUL/Elementos/treeitem">treeitem</a></code> y sus elementos relacionados.</p>
-
-<h3 id="Reglas.2C_l.C3.ADneas_o_delineaci.C3.B3n" name="Reglas.2C_l.C3.ADneas_o_delineaci.C3.B3n">Reglas, líneas o delineación</h3>
-
-<p>En la imagen del anterior ejemplo se habrá notado que el tercer botón es simplemente un botón con un guión adentro, éste es un separador en la lista de marcadores. De la manera en que la venimos usando, la fuente de datos RDF de marcadores suministra los separadores como si fueran comunes marcadores. Lo que realmente querríamos lograr es mostrar un pequeño espacio en lugar de un botón para los separadores, esto significa que queremos crear dos tipos diferentes de contenido, uno para los marcadores regulares y otro para los separadores.</p>
-
-<p>Podemos hacer esto empleando el elemento <code><a href="es/XUL/Elementos/rule">rule</a></code> (<a class="external" href="http://www.xulplanet.com/references/elemref/ref_rule.html">en</a>). Definimos una regla/línea por cada variación en los elementos que queremos crear. En nuestro caso, necesitaremos un delineación para los marcadores y otro para los separadores. Los atributos puestos en el elemento <code>rule</code> determinan cuales reglas se aplican a qué recurso RDF.</p>
-
-<p>Al buscarse qué delineación aplican a los datos, cada regla es revisada en secuencia buscando coincidencias. Esto significa que el orden en que se definen las delineación es importante, ya que los primeros tendrán precedencia sobre los posteriores.</p>
-
-<p>El siguiente ejemplo demuestra el ejemplo anterior con dos reglas:</p>
-
-<p><strong>Ejemplo 4</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_templates_4.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;window id="ventana-ejemplo
- title="Lista de marcadores"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
-
- &lt;rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator"&gt;
- &lt;spacer uri="rdf:*" height="16"/&gt;
- &lt;/rule&gt;
-
- &lt;rule&gt;
- &lt;button uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/rule&gt;
-
- &lt;/template&gt;
- &lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
-
-<p><img alt="Image:templates2.jpg"></p>
-
-<p>Al utilizar dos delineaciones hemos permitido que el contenido de la plantilla sea generado selectivamente. En la primer regla se seleccionan separadores de marcadores, como puede observarse en el atributo <code>rdf:type</code>. La segunda delineación no posee atributos, por lo que todos los datos corresponden.</p>
-
-<p>Todos los atributos puestos en el rótulo tag se usan como criterio de correspondencia. En este caso, la fuente de datos <code>bookmarks</code> provee una propiedad <code>rdf:type</code> para distinguir separadores. Este atributo es fijado en un valor especial para los separadores en la fuente de datos RDF de marcadores, así es como podemos distinguirlos de los marcadores que no son separadores. Una técnica similar puede ser utilizada para cualquier atributo que pudiera existir en un elemento RDF <code>Description</code>.</p>
-
-<p>El valor URL específico dado al primer lineamiento en el ejemplo de arriba se utiliza para separadores. Esto significa que los separadores seguirán la regla uno y generarán un elemento <code><a href="es/XUL/Elementos/spacer">spacer</a></code>, el que mostrará un hueco de 16 píxeles. Los elementos que no sean separadores no coincidirán con la regla uno y caerán en la regla dos, la cual no posee atributos por lo que cualquier dato coincide. Esto es, por supuesto, lo que queremos que le suceda al resto de la información.</p>
-
-<p>Se habrá notado también que como quisimos obtener un atributo del área de denominación RDF (<code>rdf:type</code>) tuvimos que añadir una declaración del área de denominación al rótulo <code><a href="es/XUL/Elementos/window">window</a></code>. Si no hubiéramos hecho esto el atributo (type) se habría buscado en el área de denominación XUL, y como éste atributo no existe en ella la regla no tendría correspondencias. Si se utilizan atributos en un área de denominación propia se deberá añadir una declaración a la misma para corresponderlos.</p>
-
-<p>Debería adivinarse qué sucedería si se eliminara la segunda delineación. Como resultado se vería un solo espacio y ningún marcador ya que los mismos no coincidirían con ninguna de las reglas.</p>
-
-<p>Puesto de manera simple, una delineación corresponde si todos los atributos puestos en el elemento <code>rule</code> coinciden los atributos correspondientes en el recurso RDF. En el caso de un archivo RDF, los recursos serían los elementos <code>Description</code>.</p>
-
-<p>Sin embargo hay pequeñas excepciones. No puede haber correspondencias basadas en los atributos id, <code>rdf:property</code> o <code>rdf:instanceOf</code>, aunque ya que pueden utilizarse atributos propios de áreas de denominación propias esto no debe importar mucho.</p>
-
-<p>Note que una plantilla sin reglas en ella, como en el primer ejemplo, en realidad es funcionalmente un equivalente a una plantilla con un solo lineamiento sin atributos en él.</p>
-
-<p>A continuación veremos cómo utilizar plantillas con los árboles.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Introducción_a_RDF" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Árboles_y_plantillas">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/posicionamiento_de_elementos_de_la_ventana/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/posicionamiento_de_elementos_de_la_ventana/index.html
deleted file mode 100644
index 8777a6f90c..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/posicionamiento_de_elementos_de_la_ventana/index.html
+++ /dev/null
@@ -1,229 +0,0 @@
----
-title: Posicionamiento de elementos de la ventana
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Posicionamiento_de_elementos_de_la_ventana
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
----
-<p>Aquí veremos cómo controlar la posición y tamaño de un elemento.</p>
-<h3 id="Posicionamiento_de_elementos_de_la_caja" name="Posicionamiento_de_elementos_de_la_caja">Posicionamiento de elementos de la caja</h3>
-<p>Hasta ahora sabemos cómo posicionar vertical u horizontalmente los elementos en el interior de una caja. A menudo necesitaremos mayor control sobre la posición y tamaño de los elementos dentro de la caja, para esto primero necesitamos echar un vistazo a cómo trabaja una caja.</p>
-<p>La posición de un elemento es determinada por el estilo de esquema de su contenedor. Por ejemplo, la posición de un botón en una caja horizontal es a la derecha del botón anterior, si es que hay alguno. El tamaño de un elemento es determinado por dos factores, el tamaño que el elemento necesita poseer y el tamaño que uno especifique. El tamaño que un elemento requiere es determinado por el tipo de elemento. Por ejemplo, el ancho de un botón es determinado por la cantidad de texto en el botón.</p>
-<p>Un elemento será generalmente tan amplio como éste necesite para soportar su contenido, y no mayor. Algunos elementos, como las cajas de texto, tienen un tamaño predeterminado. Una caja será suficientemente amplia como para contener los elementos dentro de ella. Una caja horizontal con tres botones en ella será tan ancha como los tres botones, más un pequeño espacio de relleno.</p>
-<p>En la imagen de abajo, a los primeros dos botones se les ha dado un tamaño adecuado como para contener su texto. El tercer botón es mayor porque tiene más contenido. El ancho de la caja que contiene los botones es el ancho total de los botones más el espacio entre ellos. El alto de los botones es de un tamaño apropiado para contener el texto.</p>
-<p><img alt="posicionamiento_img01.jpg" class="internal default" src="/@api/deki/files/4787/=posicionamiento_img01.jpg"></p>
-<p>Podría necesitarse tener mayor control sobre el tamaño de un elemento en una ventana. Hay para ello un número de características que permiten controlar el tamaño de un elemento. La forma rápida es simplemente agregar a un elemento los atributos width (ancho) y height (alto), muy parecido a lo que puede hacerse en un rótulo HTML img. Un ejemplo se demuestra abajo:</p>
-<h4 id="Ejemplo_atributos_height_y_width" name="Ejemplo:_atributos_height_y_width">Ejemplo: atributos height y width</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul">Ver en funcionamiento</a></p>
-<pre>&lt;button label="Aceptar" width="100" height="40"/&gt;
-</pre>
-<p>Sin embargo, no se recomienda hacer esto, ya que no es muy portable y podría no adaptarse a algunos temas. Una mejor forma es utilizar propiedades de estilo, que funcionan de manera similar a las hojas de estilo en HTML. Pueden utilizarse las siguientes propiedades CSS:</p>
-<dl>
- <dt>
- width </dt>
- <dd>
- Esto especifica el ancho del elemento.</dd>
- <dt>
- height </dt>
- <dd>
- Especifica el alto del elemento.</dd>
-</dl>
-<p>Fijando cualquiera de estas propiedades, el elemento será creado con ese ancho y/o largo. Si se especifica solo una propiedad de tamaño, la otra se calculará de acuerdo a lo requerido. El tamaño de estas propiedades de estilo deben especificarse como un número seguido de una unidad de medida.</p>
-<p>Los tamaños son bastante fáciles de calcular para elementos no flexibles. Estos simplemente obedecen sus anchos y altos especificados, y si el tamaño no fuera especificado, el tamaño predeterminado del elemento será lo suficientemente amplio como para acomodar su contenido. Para elementos flexibles, el cálculo es ligeramente más difícil.</p>
-<p>Elementos flexibles son aquellos que poseen el atributo flex establecido en un valor mayor que 0. Debe recordarse que los elementos flexibles aumentan y disminuyen su tamaño para acomodarse al espacio disponible. Su tamaño predeterminado aún se calcula igual que el de los elementos no flexibles. El siguiente ejemplo lo demuestra:</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul">Ver en funcionamiento</a></p>
-<pre>&lt;window orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;hbox&gt;
- &lt;button label="Sí" flex="1"/&gt;
- &lt;button label="No"/&gt;
- &lt;button label="Realmente no sé si uno u otro."/&gt;
-&lt;/hbox&gt;
-
-&lt;/window&gt;
-</pre>
-<p>La ventana aparecerá inicialmente como la imagen anterior. Los primeros dos botones serán dimensionados a un adecuado ancho predeterminado y el tercer botón será mayor porque tiene una etiqueta más larga. El primer botón fue hecho flexible y los tres elementos han sido puestos dentro de una caja. El ancho de la caja se fijará al ancho total inicial de los tres botones (en la imagen cerca de 430 píxeles).</p>
-<p>Si se incrementa el ancho de la ventana, los elementos son comprobados para ver si son flexibles y así rellenar el espacio en blanco que aparecerá. El botón es el único elemento flexible, pero no aumentará su ancho porque la caja dentro de la que encuentra no es flexible. Un elemento no flexible nunca cambia su tamaño aún cuando haya espacio disponible, por lo que el botón no podrá crecer. Esto es, el botón no se hará más ancho.</p>
-<p>La solución es también hacer flexible a la caja. Entonces, cuando se haga más ancha la ventana, habrá espacio extra disponible, por lo que la caja crecerá para ocupar el espacio extra. Como la caja es mayor, también se creará espacio extra dentro de ella, y el botón flexible que contiene crecerá para ajustarse al espacio disponible. Este proceso se repetirá por cada caja anidada existente.</p>
-<h3 id="Estableciendo_tama.C3.B1os_m.C3.ADnimos_y_m.C3.A1ximos" name="Estableciendo_tama.C3.B1os_m.C3.ADnimos_y_m.C3.A1ximos">Estableciendo tamaños mínimos y máximos</h3>
-<p>Puede ser necesario permitir que un elemento sea flexible, pero restringir su tamaño para que no pueda superar cierta dimensión; o puede necesitarse especificar un tamaño mínimo. Esto puede establecerse utilizando cuatro atributos.</p>
-<dl>
- <dt>
- minwidth </dt>
- <dd>
- Especifica el ancho mínimo del elemento.</dd>
- <dt>
- minheight </dt>
- <dd>
- Especifica la altura mínima del elemento.</dd>
- <dt>
- maxwidth </dt>
- <dd>
- Especifica el ancho máximo del elemento.</dd>
- <dt>
- maxheight </dt>
- <dd>
- Especifica la altura máxima del elemento.</dd>
-</dl>
-<p>Estos valores se miden siempre en píxeles. También pueden utilizarse las correspondientes propiedades CSS, <code>min-width</code>, <code>min-height</code>, <code>max-width</code> y <code>max-height</code>.</p>
-<p>Estas propiedades son aprovechables únicamente por elementos flexibles. Especificando una altura máxima, por ejemplo, un botón flexible podrá crecer solamente hasta esa altura. Aún podrá redimensionarse la ventana más allá de ese punto pero el botón dejará de crecer. Asimismo, la caja en la que se encuentre el botón podrá continuar agrandándose, a menos que también se le fije una altura máxima.</p>
-<p>Si dos botones son igualmente flexibles, normalmente ambos compartirán el espacio extra. Si un botón tiene un ancho máximo, el segundo continuará creciendo y ocupará todo el espacio restante.</p>
-<p>Si una caja posee un ancho o alto máximos, los hijos no podrán crecer más allá de ese tamaño máximo. Si una caja tiene un ancho o alto mínimos, los hijos no podrán achicarse menos que ese tamaño mínimo. Aquí hay algunos ejemplos del establecimiento de anchos y altos:</p>
-<pre>&lt;button label="1" style="width: 100px;"/&gt;
-&lt;button label="2" style="width: 100em; height: 10px;"/&gt;
-&lt;button label="3" flex="1" style="min-width: 50px;"/&gt;
-&lt;button label="4" flex="1" style="min-height: 2ex; max-height: 100px"/&gt;
-&lt;textbox flex="1" style="max-width: 10em;"/&gt;
-&lt;description style="max-width: 50px"&gt;Este es un aburrido pero simple texto desplegable.&lt;/description&gt;
-</pre>
-<dl>
- <dt>
- Ejemplo 1 </dt>
- <dd>
- el primer botón será mostrado con un ancho de 100 píxeles (px significa píxeles). Debe agregarse la unidad de medida o el ancho será ignorado.</dd>
- <dt>
- Ejemplo 2 </dt>
- <dd>
- el segundo botón se mostrará con un alto de diez píxeles y un ancho de 100 ems (un em es la medida de un carácter en el tipo de letra utilizado).</dd>
- <dt>
- Ejemplo 3 </dt>
- <dd>
- el tercer botón es flexible, por lo que crecerá basado en el tamaño de la caja en la que se encuentre. Sin embargo, el botón nunca se reducirá a menos de 50 píxeles. Otros componentes flexibles como los espaciadores absorberán el espacio remanente, rompiendo el cociente flex.</dd>
- <dt>
- Ejemplo 4 </dt>
- <dd>
- el cuarto botón es flexible y nunca tendrá una altura que sea menor a 2 ex (un ex es normalmente la altura de la letra x en el tipo de letra utilizado) o mayor que 100 píxeles.</dd>
- <dt>
- Ejemplo 5 </dt>
- <dd>
- la entrada de texto es flexible pero nunca crecerá más de 10 ems. A menudo se querrá utilizar ems al especificar tamaños de elementos con texto en ellos. Esta unidad de medida es útil para cajas de texto, así el tipo de letra podrá cambiar y las cajas de texto siempre poseerán un tamaño adecuado, aún si el tipo de letra es muy grande.</dd>
- <dt>
- Ejemplo 6 </dt>
- <dd>
- el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_description.html">description</a></code> está restringido a poseer un ancho máximo de 50 píxeles. El texto contenido se desplegará hasta la siguiente línea, luego de cincuenta píxeles.</dd>
-</dl>
-<div class="highlight">
- <p>Agreguemos alguno de estos estilos a la ventana de diálogo "buscar archivos". Lo haremos de tal manera que la caja de texto se redimensione para ocupar toda la ventana.</p>
- <p>&lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;</p>
- <p>Aquí, la entrada de texto se ha hecho flexible, de esta manera crecerá si el usuario cambia el tamaño de la ventana. Esto es útil si el usuario desea ingresar una cadena de texto muy larga. También, un ancho mínimo de 15 ems fue fijado para que la caja de texto siempre muestre al menos 15 caracteres. Si el usuario achica el tamaño de la ventana, la entrada de texto no se reducirá pasados los 15 ems. Se dibujará como si se extendiera sobrepasando el borde de la ventana. Nótese en la imagen de abajo que la entrada de texto a crecido para extenderse por el tamaño total de la ventana.</p>
-</div>
-<h3 id="Empaque_de_cajas" name="Empaque_de_cajas">Empaque de cajas</h3>
-<p>Digamos que se tiene una caja con dos elementos hijos, de los cuales ninguno es flexible, pero la caja sí lo es. Por ejemplo:</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul">Ver en funcionamiento</a></p>
-<pre>&lt;box flex="1"&gt;
- &lt;button label="Alegre"/&gt;
- &lt;button label="Triste"/&gt;
-&lt;/box&gt;
-</pre>
-<p>Si se redimensiona la ventana, la caja se expandirá para adaptarse al tamaño de la ventana. Los botones no son flexibles, por lo que sus longitudes no cambiarán. El resultado es espacio extra que aparecerá en el lado derecho de la ventana, dentro de la caja. Puede desearse, sin embargo, que el espacio extra aparezca del lado izquierdo, así los botones se mantendrán alineados a la derecha en la ventana.</p>
-<p>Esto puede lograrse colocando un espaciador dentro de la caja, pero se volverá confuso cuando haya que realizarlo muchas veces. Una mejor solución es utilizar en la caja un atributo adicional: pack (empaquetar). Este atributo indica cómo empaquetar los elementos hijos dentro de la caja. Para cajas orientadas horizontalmente, controla el posicionamiento horizontal de los hijos. En cajas verticales, controla el posicionamiento vertical. Pueden utilizarse los siguientes valores:</p>
-<dl>
- <dt>
- start </dt>
- <dd>
- Posiciona los elementos en el extremo izquierdo para cajas horizontales y en el extremo superior para cajas verticales. Este es el valor predeterminado.</dd>
- <dt>
- center </dt>
- <dd>
- Centra los elementos hijos en la caja.</dd>
- <dt>
- end </dt>
- <dd>
- Posiciona los elementos al extremo derecho en cajas horizontales y al extremo inferior en cajas verticales.</dd>
-</dl>
-<p>El atributo <code>pack</code> se aplica a la caja contenedora de los elementos a ser empaquetados, no a los elementos en sí mismos.</p>
-<p>Podemos cambiar el ejemplo anterior para centrar los elementos, de esta manera:</p>
-<h4 id="Ejemplo_3" name="Ejemplo_3">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul">Ver en funcionamiento</a></p>
-<pre>&lt;box flex="1" pack="center"&gt;
- &lt;button label="Alegre"/&gt;
- &lt;button label="Triste"/&gt;
-&lt;/box&gt;
-</pre>
-<p>Ahora, cuando la ventana sea redimensionada, los botones se centrarán horizontalmente. Compare este comportamiento con el del ejemplo anterior.</p>
-<h3 id="Alineaci.C3.B3n_de_cajas" name="Alineaci.C3.B3n_de_cajas">Alineación de cajas</h3>
-<p>Si la ventana en el ejemplo Alegre/Triste se redimensiona horizontalmente, el ancho de la caja crecerá. Si no obstante se redimensiona la caja verticalmente, notará que la altura de los botones aumenta. Esto sucede porque la flexibilidad en la otra dirección se asume predeterminadamente.</p>
-<p>Puede regularse este comportamiento con el atributo <code>align</code> (alineación). Para cajas horizontales, éste controla verticalmente la posición de los hijos. En cajas verticales, controla la posición horizontal de los hijos. Los valores posibles son similares a los de <code>pack</code>..</p>
-<dl>
- <dt>
- start </dt>
- <dd>
- Alinea los elementos a lo largo del extremo superior para cajas horizontales y a lo largo del borde izquierdo para cajas verticales.</dd>
- <dt>
- center </dt>
- <dd>
- Centra los elementos hijos en la caja.</dd>
- <dt>
- end </dt>
- <dd>
- Alinea los elementos a lo largo del extremo inferior en cajas horizontales y a lo largo del borde derecho en cajas verticales.</dd>
- <dt>
- baseline </dt>
- <dd>
- Alinea los elementos para que el texto quede alineado. Esto es útil en cajas horizontales únicamente.</dd>
- <dt>
- stretch </dt>
- <dd>
- Este valor, el predeterminado, causa que los elementos crezcan hasta ocupar el tamaño de la caja, muy parecido a un elemento flexible, pero en la dirección opuesta.</dd>
-</dl>
-<p>Similar al atributo <code>pack</code>., el atributo <code>align</code> es aplicable únicamente a la caja cuyos elementos deben ser alineados, no a los elementos en sí.</p>
-<p>Por ejemplo, la primera caja de abajo tendrá a sus hijos expandidos, porque ése es el valor predeterminado. La segunda caja posee un atributo <code>align</code>, por lo que sus hijos se ubicarán centrados.</p>
-<h4 id="Ejemplo_4" name="Ejemplo_4">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul">Ver en funcionamiento</a></p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="sino" title="Pregunta" orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;hbox&gt;
- &lt;button label="Sí"/&gt;
- &lt;button label="No"/&gt;
- &lt;/hbox&gt;
- &lt;hbox align="center"&gt;
- &lt;button label="Tal vez"/&gt;
- &lt;button label="Quizás"/&gt;
- &lt;/hbox&gt;
-
-&lt;/window&gt;
-</pre>
-<p><img alt="Image:boxstyle2-b.jpg"></p>
-<p>También pueden utilizarse las propiedades de estilo <code>-moz-box-pack</code> y <code>-moz-box-align</code> en lugar de especificar estos atributos.</p>
-<div class="note">
- El ejemplo "Alineador de cajas" podría resultar útil para probar las distintas propiedades de la caja..</div>
-<h3 id="Recorte_de_texto_y_botones" name="Recorte_de_texto_y_botones">Recorte de texto y botones</h3>
-<p>Podría llegar a crearse un elemento button que contuviera una etiqueta cuyo ancho sea mayor que el ancho máximo del botón. Por supuesto, una solución sería incrementar el tamaño del botón; sin embargo, los botones (y otros elementos con una etiqueta) tienen un atributo especial llamado <code>crop</code> (recortar) que permite especificar cómo el texto será recortado si este es demasiado largo.</p>
-<p>Si el texto es recortado, puntos suspensivos (…) aparecerán en el botón de donde el texto fue recortado. Existen cuatro valores posibles:</p>
-<dl>
- <dt>
- left </dt>
- <dd>
- El texto es recortado por su lado izquierdo.</dd>
- <dt>
- right </dt>
- <dd>
- El texto es recortado por su lado derecho.</dd>
- <dt>
- center </dt>
- <dd>
- El texto es recortado en ambos extremos.</dd>
- <dt>
- none </dt>
- <dd>
- El texto no será recortado, este es el valor predeterminado.</dd>
-</dl>
-<p>En realidad, este atributo es útil únicamente cuando una ventana de diálogo es diseñada para ser utilizable en cualquier tamaño. El atributo <code>crop</code> también puede ser usado con el elemento <code>description</code> y otros elementos que utilicen el atributo <code>label</code> para etiquetas. Lo siguiente muestra este atributo en uso:</p>
-<h4 id="Ejemplo_5" name="Ejemplo_5">Ejemplo</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul">Ver en funcionamiento</a></p>
-<pre>&lt;button label="¡Presióname por favor!" crop="right" flex="1"/&gt;
-</pre>
-<p><img alt="Image:boxstyle2.jpg"></p>
-<p>Nótese como al texto en el botón se le recortará su lado derecho luego de que la ventana sea achicada.</p>
-<h3 id="Ejemplo_.22Buscar_archivos.22_hasta_ahora" name="Ejemplo_.22Buscar_archivos.22_hasta_ahora">Ejemplo "Buscar archivos" hasta ahora</h3>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul">Ver en funcionamiento</a></p>
-<p>(Siguiente) A continuación, un resumen y algunos detalles adicionales del modelo de caja.</p>
-<p>Ejemplos: 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6</p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/rejillas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/rejillas/index.html
deleted file mode 100644
index 13b7abab12..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/rejillas/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Rejillas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Rejillas
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Grids
----
-<p> </p>
-<p>XUL posee un conjunto de elementos para crear rejilla tabulares.</p>
-<h3 id="Dise.C3.B1o_tabular_en_XUL" name="Dise.C3.B1o_tabular_en_XUL">Diseño tabular en XUL</h3>
-<p>Típicamente las páginas HTML utilizan tablas para diseñar o exhibir una rejillas de datos, XUL posee un conjunto de elementos para realizar este tipo de cosas. El elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_grid.html">grid</a></code> (rejilla) se utiliza para declarar una rejilla de datos, y posee algunas similitudes con el rótulo HTML <code>table</code>.</p>
-<p>Una rejilla (<code>grid</code>) contiene elementos que son alineados en filas al igual que tablas. Dentro de la rejillaa se declaran dos cosas: las columnas y las filas que serán utilizadas. Tal como con las tablas HTML, dentro de las filas se inserta el contenido como ser etiquetas y botones. No se puede agregar contenido dentro de las columnas, pero pueden utilizarse para especificar el tamaño y apariencia de las mismas en la rejilla. Alternativamente, puede colocarse contenido dentro de las columnas y utilizarse las filas para especificar la apariencia. Primero veremos el método de organizar elementos por fila.</p>
-<p>Para declarar un conjunto de filas se utiliza el rótulo <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_rows.html">rows</a></code> (filas), el cual debe ser un elemento hijo del <code>grid</code>. Dentro de él añadiremos elementos <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_row.html">row</a></code> (fila), utilizados para especificar cada fila. Dentro de cada elemento row se agregará el contenido que se desee tener en esa fila.</p>
-<p>Análogamente, las columnas se declaran con el elemento <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_columns.html">columns</a></code> (columnas), que debe ser insertado como un elemento hijo de <code>grid</code> (la rejilla). Dentro de éste irán los elementos <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_column.html">column</a></code> (columna), uno por cada columna que se necesite en la rejilla. Esto debe ser fácil de entender con un ejemplo.</p>
-<h4 id="Ejemplo" name="Ejemplo">Ejemplo</h4>
-<pre>&lt;grid flex="1"&gt;
- &lt;columns&gt;
- &lt;column flex="2"/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;button label="Conejo"/&gt;
- &lt;button label="Elefante"/&gt;
- &lt;/row&gt;
- &lt;row&gt;
- &lt;button label="Koala"/&gt;
- &lt;button label="Gorila"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p><img alt="Image:grids1.jpg"></p>
-<p>A una rejilla se le han añadido dos filas y dos columnas, cada columna es declarada con el rótulo <code>column</code> y se la ha dado el atributo <code>flex</code>. Cada fila contiene dos elementos, ambos botones. El primer hijo de cada elemento <code>row</code> es puesto en la primer columna de la rejilla y el segundo hijo se coloca en la segunda columna. Nótese que no se necesita un elemento para declarar una celda, o sea que no hay un equivalente al elemento <code>td</code>de HTML. En lugar de esto, los contenidos de cada celda se ponen directamente en los elementos <code>row</code>.</p>
-<p>Obviamente, además de un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_button.html">button</a></code> (botón) puede agregarse cualquier tipo de elemento. Si se necesita que una celda en particular contenga múltiples elementos puede utilizarse un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_hbox.html">hbox</a></code> (caja anidada) u otro elemento de caja. La <code>hbox</code> es un solo elemento pero dentro de ella pueden colocarse todos los elementos que se quiera. Por ejemplo:</p>
-<h4 id="Ejemplo_2" name="Ejemplo_2">Ejemplo</h4>
-<pre>&lt;grid flex="1"&gt;
- &lt;columns&gt;
- &lt;column/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;label control="titulodoc" value="Título del documento:"/&gt;
- &lt;textbox id="titulodoc" flex="1"/&gt;
- &lt;/row&gt;
- &lt;row&gt;
- &lt;label control="rutadoc" value="Ubicación:"/&gt;
- &lt;box flex="1"&gt;
- &lt;textbox id="rutadoc" flex="1"/&gt;
- &lt;button label="Revisar..."/&gt;
- &lt;/box&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p><img alt="Image:grids2.jpg"></p>
-<p>Note en la imagen de abajo cómo en la primer columna de elementos que contienen las etiquetas hay un solo elemento en cada fila. La segunda fila de la segunda columna contiene una caja, que a su vez contiene dos elementos, una <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_textbox.html">textbox</a></code> (caja de texto )y un <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_button.html">button</a></code> (botón). Dentro de una celda podrían insertarse cajas anidadas adicionales o incluso otra rejilla.</p>
-<p>Si se redimensiona la ventana del ejemplo anterior se verá que las cajas de texto cambian su tamaño, pero los demás elementos no. Esto es porque se añadieron atributos code&gt;flex&lt;/code&gt; a las cajas de texto y a la segunda columna. La primer columna no necesita ser flexible porque las etiquetas no requieren cambiar de tamaño.</p>
-<p>El ancho inicial de una columna es determinado por el elemento más grande en esa columna. Similarmente, la altura de una fila se determina por el tamaño de sus elementos. Para definir los tamaños pueden utilizarse las propiedades CSS <code>minwidth</code> y <code>maxwidth</code>, entre otras.</p>
-<p>También pueden colocarse los elementos dentro de las <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_column.html">column</a></code> en lugar de las filas. Si se hace esto, las filas serán declaradas únicamente para especificar cuántas filas existen.</p>
-<h4 id="Ejemplo_3" name="Ejemplo_3">Ejemplo</h4>
-<pre>&lt;grid&gt;
- &lt;rows&gt;
- &lt;row/&gt;
- &lt;row/&gt;
- &lt;row/&gt;
- &lt;/rows&gt;
-
- &lt;columns&gt;
- &lt;column&gt;
- &lt;label control="primero" value="Primer Nombre:"/&gt;
- &lt;label control="segundo" value="Segundo Nombre:"/&gt;
- &lt;label control="apellido" value="Apellido:"/&gt;
- &lt;/column&gt;
- &lt;column&gt;
- &lt;textbox id="primero"/&gt;
- &lt;textbox id="segundo"/&gt;
- &lt;textbox id="apellido"/&gt;
- &lt;/column&gt;
- &lt;/columns&gt;
-
-&lt;/grid&gt;
-</pre>
-<p>Esta rejilla posee tres filas y dos columnas, los elementos <code>row</code> son solamente marcadores de posición para especificar cuántas hay. Puede añadirse el atributo <code>flex</code> a alguna fila para volverla flexible. El contenido es puesto dentro de cada <code>column</code>, el primer elemento dentro de cada elemento column es ubicado en la primer fila, el segundo en la segunda fila y el tercero en la tercer fila.</p>
-<p>Si se agrega contenido tanto en filas como en columnas, un contenido se superpondrá con el otro, aunque ambos se alinearán correctamente en la rejilla. Esto crea un efecto muy parecido a una rejilla de elementos <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_stack.html">stack</a></code> (pila).</p>
-<p>El orden de los elementos en la <code>grid</code> determina cuál se presentará encima y cuál será ubicado debajo. Si el elemento <code>rows</code> es puesto después del elemento columns, el contenido de las <code>rows</code> será mostrado por encima del contenido de las <code>columns</code>; si se ubica primero el elemento columns, su contenido se verá primero. Análogamente, los eventos como presiones en las teclas del ratón o del teclado se enviarán únicamente al grupo que se encuentre encima. Esta es la razón por la cual en el ejemplo anterior las columnas fueron declaradas después que las filas. Si las columnas se hubieran puesto primero, las filas recibirían los eventos y no podría escribirse en los campos correspondientes.</p>
-<p>Una de las principales ventajas que tienen las rejilla sobre las cajas anidadas es que pueden crearse celdas que son flexibles tanto horizontal como verticalmente. Esto puede lograrse fijando el atributo <code>flex</code> tanto en el elemento row como en el elemento column correspondientes. El siguiente ejemplo lo demuestra:</p>
-<h4 id="Ejemplo_4" name="Ejemplo_4">Ejemplo</h4>
-<pre>&lt;grid flex="1"&gt;
- &lt;columns&gt;
- &lt;column flex="5"/&gt;
- &lt;column/&gt;
- &lt;column/&gt;
- &lt;/columns&gt;
- &lt;rows&gt;
- &lt;row flex="10"&gt;
- &lt;button label="Cereza"/&gt;
- &lt;button label="Limón"/&gt;
- &lt;button label="Uva"/&gt;
- &lt;/row&gt;
- &lt;row flex="1"&gt;
- &lt;button label="Frutilla"/&gt;
- &lt;button label="Frambuesa"/&gt;
- &lt;button label="Durazno"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p>La primer columna y ambas filas fueron hechas flexibles, esto produce que cada celda de la primer columna sea flexible horizontalmente. Además, cada celda será flexible verticalmente porque ambas filas son flexibles, pero la primer fila es bastante más. La celda en la primer fila y columna (el botón "Cereza"?) será flexible horizontalmente por un factor de 5 y verticalmente por un factor de 10. La siguiente celda (Limón) sólo será flexible verticalmente. El atributo flex también fue añadido al elemento grid por lo que la rejilla completa será flexible, de lo contrario crecería en una sola dirección.</p>
-<p>The flex attribute has also been added to the <code>grid</code> element so that the entire grid is flexible, otherwise it would only grow in one direction.</p>
-<h3 id="Column_Spanning" name="Column_Spanning">Column Spanning</h3>
-<p>There is no means of making a cell span a particular number of multiple columns or rows (See <a> Discussion</a> for a way of achieving the same effect). However, it is possible to make a row or column that spans the entire width or height of the grid. To do this, just add an element inside the <code>rows</code> element that isn't inside a <code>row</code> element. You can use a box type for example, and put other elements inside it if you want to use several elements. Here is a simple example:</p>
-<h4 id="Example" name="Example">Example</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_5.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_5.xul">Ver en funcionamiento</a></p>
-<pre>&lt;grid&gt;
- &lt;columns&gt;
- &lt;column flex="1"/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;label value="Northwest"/&gt;
- &lt;label value="Northeast"/&gt;
- &lt;/row&gt;
- &lt;button label="Equator"/&gt;
- &lt;row&gt;
- &lt;label value="Southwest"/&gt;
- &lt;label value="Southeast"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p>The button will stretch to fit the entire width of the grid as it is not inside a grid row. You can use a similar technique to add an element in-between two columns. It would stretch to fit the height of the grid. You could also do both if that is desired.</p>
-<p>(Siguiente) A continuación veremos características adicionales de las cajas de lista.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/selección_en_un_árbol/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/selección_en_un_árbol/index.html
deleted file mode 100644
index e9d0cbe0a0..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/selección_en_un_árbol/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: Selección en un árbol
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Selección_en_un_árbol
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Tree_Selection
----
-<p>Esta sección describe como obtener y definir los elementos seleccionados en un arbol.</p>
-
-<h3 id="Obteniendo_los_elementos_seleccionados" name="Obteniendo_los_elementos_seleccionados">Obteniendo los elementos seleccionados</h3>
-
-<p>Cada elemento en un árbol (que corresponde al elemento <code><a href="es/XUL/Elementos/treeitem">treeitem</a></code> -<code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_treeitem.html">en)</a></code>- si se usa la vista del contenido del árbol ) puede ser seleccionado individualmente. Si añades el atributo <code><a href="es/XUL/Atributos/seltype">seltype</a></code> a un árbol y tiene el valor múltiple, el usuario puede seleccionar diversos elementos del árbol al mismo tiempo. La selección no tiene porque ser continua. El árbol provee un número de funciones que nos ayudan a determinar que elementos están seleccionados.</p>
-
-<h4 id="Gesti.C3.B3n_del_evento_de_selecci.C3.B3n" name="Gesti.C3.B3n_del_evento_de_selecci.C3.B3n">Gestión del evento de selección</h4>
-
-<p>Primero veamos como podemos determinar si un elemento esta seleccionado. El gestor de eventos <code><a href="es/XUL/Atributos/tree.onselect">onselect()</a></code> puede incluirse en el elemento <code><a href="es/XUL/Elementos/tree">tree</a></code> -(<code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_tree.html">en)</a></code>)-. Cuando el usuario selecciona un elemento del árbol, el gestor de eventos es llamado. El usuario puede también cambiar la selección usando las teclas del cursor. Si el usuario mantiene pulsadas las teclas del cursor para rápidamente desplazarse por los elementos, el gestor de eventos no es llamado hasta que el usuario deja de presionarlas. Esto ofrece una mayor rapidez y también implica que los elementos se mostrarán como seleccionados aunque nunca se llame al evento select para ellos.</p>
-
-<p>La sintaxis para el gestor de eventos <code>onselect</code> es la siguiente.</p>
-
-<pre>&lt;tree id="treeset" onselect="alert('Has seleccionado algo!');"&gt;
-</pre>
-
-<h4 id=".C3.8Dndices_del_.C3.A1rbol" name=".C3.8Dndices_del_.C3.A1rbol">Índices del árbol</h4>
-
-<p>El árbol expone la propiedad <code><a href="es/XUL/Propiedades/currentIndex">currentIndex</a></code> que podemos usar para obtener el elemento actualmente seleccionado, siendo el índice del primero 0. Puedes cambiar el elemento seleccionado si le asignas un nuevo valor a esta propiedad.</p>
-
-<p>Los elementos hijos son incluidos en el contador justo después de sus padres. Esto significa que si hay tres elementos en la raíz y cada uno tiene 2 hijos, habrá un total de nueve elementos. El primer elemento (índice 0) será el primer elemento raíz, el siguiente (índice 1) será el primer hijo, el segundo hijo estará en el índice 2 y el segundo elemento raíz en el índice 3 y así sucesivamente.</p>
-
-<p><img alt="Image:seltree1.jpg"></p>
-
-<p>En la imagen vemos ocho filas, de las cuales dos están seleccionadas. La primera fila seleccionada tiene el índice 4 y la segunda el índice 7. Las filas que no se muestran no se incluyen en el contador de índices.</p>
-
-<h4 id="Selecci.C3.B3n_m.C3.BAltiple" name="Selecci.C3.B3n_m.C3.BAltiple">Selección múltiple</h4>
-
-<p>Para los árboles que permiten selecciones múltiples, obtener la lista de filas seleccionadas es algo más complicado. El elemento árbol tiene la propiedad <code>view</code>, la cual tiene la propiedad <code>selection</code> que a su vez contiene propiedades y métodos relacionados con la selección actual del árbol. Puedes usar esos métodos para obtener un conjunto de elementos seleccionados o modificar la selección.</p>
-
-<p>Ya que los elementos seleccionados en un árbol no tienen porque estar contiguos, puedes obtener distintos grupos de elementos seleccionados que sí lo están, usando las funciones <code>getRangeCount()</code> y <code>getRangeAt()</code>. La primera devuelve el número de rangos de selecciones que hay actualmente. Si solo hay un valor seleccionado, este valor será 1. Deberás utilizar un bucle para recorrer el número de rangos, llamando <code>getRangeAt()</code> en cada uno para obtener los índices del comienzo y fin del rango.</p>
-
-<p>La función <code>getRangeAt()</code> toma tres parámetros.</p>
-
-<ul>
- <li>El primero es el índice del rango.</li>
- <li>El segundo es un objeto que será rellenado por la función con el índice del primer elemento seleccionado.</li>
- <li>El tercero es un objeto que será rellenado con el índice del último elemento seleccionado.</li>
-</ul>
-
-<h5 id="Ejemplo_con_getRangeAt" name="Ejemplo_con_getRangeAt">Ejemplo con <code>getRangeAt</code></h5>
-
-<pre>var start = new Object();
-var end = new Object();
-var numRanges = tree.view.selection.getRangeCount();
-
-for (var t=0; t&lt;numRanges; t++){
- tree.view.selection.getRangeAt(t,start,end);
- for (var v=start.value; v&lt;=end.value; v++){
- alert("El elemento "+v+" está seleccionado.");
- }
-}
-</pre>
-
-<p>Hemos creado dos objetos llamados ‘start’ y ‘end’. Después hemos recorrido los rangos, el número de los cuales nos lo ha proporcionado la función <code>getRangeCount()</code>. Llamamos a la función <code>getRangeAt()</code> pasándole el índice del rango y los objetos ‘start’ y ‘end’. Estos objetos son devueltos con la propiedad 'value' rellenada. Así que si el primer rango es desde el tercer elemento hasta el séptimo, ‘start.value’ será 2 (recuerda que los índices cuentan desde 0) y ‘end.value’ será 6. Un dialogo de alerta se mostrará para cada índice seleccionado.</p>
-
-<p>If you just want to find out if a specific row is selected, use can use the <code>isSelected()</code> function. It takes a row index as an argument and returns true if that row is selected.</p>
-
-<pre>alert(tree.view.selection.isSelected(3));
-</pre>
-
-<h3 id="Modificando_la_selecci.C3.B3n_del_.C3.A1rbol" name="Modificando_la_selecci.C3.B3n_del_.C3.A1rbol">Modificando la selección del árbol</h3>
-
-<p>The selection object has a number of functions which may be used to change the selection. The simplest function is the <code><a href="es/XUL/M%c3%a9todos/select">select()</a></code> function, which deselects any rows that are currently selected and selects one specific row. For example, the following code will select the row at index 5:</p>
-
-<pre>tree.view.selection.select(5);
-</pre>
-
-<p>Note that you should not just change the tree's <code><a href="es/XUL/Propiedades/currentIndex">currentIndex</a></code> property to change the selection. Instead, you should use the selection's select function as in the example above. You can select all rows with the <code><a href="es/XUL/M%c3%a9todos/selectAll">selectAll()</a></code> function. Note that rows nested inside containers that are not open will not be selected. Naturally, this will only have any effect for trees that use multiple selection. There is also a <code><a href="es/XUL/M%c3%a9todos/clearSelection">clearSelection()</a></code> function to clear the selection, and an <code><a href="es/XUL/M%c3%a9todos/invertSelection">invertSelection</a></code> function to reverse the selection, that is, deselect all selected rows and select all unselected rows.</p>
-
-<p>To select specific rows, use the <code>rangedSelect()</code> function which selects all rows in between two indices. Here is an example which selects rows between index 2 and 7. Note that rows 2 and 7 will also be selected.</p>
-
-<pre>tree.view.selection.rangedSelect(2,7,true);
-</pre>
-
-<p>The last argument indicates whether to add to the current selection or not. If true, the range will be added to the existing selection. If false, all existing selected rows will be deselected first. Finally, the <code>clearRange()</code> function may be used to deselect a range of rows, leaving rows outside the range unaffected.</p>
-
-<pre>tree.view.selection.clearRange(2,7);
-</pre>
-
-<p>Seguimos con como crear los <a href="es/Tutorial_de_XUL/Detalles_de_Vistas_de_un_%c3%a1rbol">detalles de vistas de un árbol</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Más_características_de_los_árboles" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Detalles_de_Vistas_de_un_árbol">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/usando_espaciadores/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/usando_espaciadores/index.html
deleted file mode 100644
index 37bd1c2052..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/usando_espaciadores/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Usando espaciadores
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Usando_espaciadores
-tags:
- - Tutorial_de_XUL
- - XUL
-translation_of: Archive/Mozilla/XUL/Tutorial/Using_Spacers
----
-<p>En esta sección, averiguaremos como añadir algún espaciado en medio los elementos que hemos creado.</p>
-<h3 id="Adici.C3.B3n_de_Espaciadores" name="Adici.C3.B3n_de_Espaciadores">Adición de Espaciadores</h3>
-<p>Uno de los problemas con interfaces de usuario que se desarrollan es que cada usuario tiene una demostración diferente. Algunos usuarios pueden tener demostraciones más grandes con resoluciones más altas y los otros pueden tener resoluciones inferiores. Además, plataformas diferentes pueden tener exigencias especiales sobre el interfaz de usuario. Añadiendo el apoyo a múltiples lenguas, el texto para una lengua puede requerir más espacio(cuarto) que el otro.</p>
-<p>Los usos que tienen que apoyar múltiples plataformas y lenguas por lo general tienen sus ventanas presentadas con mucho espacio para tener esto en cuenta. Algunas plataformas y juegos de herramientas de interfaz de usuario proporcionan los componentes con capacidad para autoajustar sus dimensiones y establecer su nueva posición por sí mismos para adaptarse a las necesidades del usuario. (por ejemplo: Java usa a administradores de disposición.)</p>
-<p>XUL dota a los elementos con capacidad para ajustar la posición y redimensionarse automáticamente. Como hemos visto, en el ejemplo, la ventana de archivos del buscador ha cambiado su tamaño de modo que los elementos quepan correctamente dentro de ella. Cada vez agregamos algo, la ventana ha crecido.</p>
-<p>XUL usa un sistema de disposición (capas) llamado <strong>'Modelo de Cajas' </strong>que permite dividir las ventanas en conjuntos de 'cajas', anidables, para albergar los elementos. Hablaremos más de esto en la siguiente sección. Las cajas pueden ser ubicadas y redimensionadas asignando valores a sus propiedades directamente o mediante hojas de estilo. Por ahora, basta saber que el elemento de <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_window.html">ventana</a></code> es un tipo de caja.</p>
-<p>Antes de entrar en el detalle sobre las cajas, introduciremos otro elemento XUL que es útil para controlar la disposición, el <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_spacer.html">espaciador</a></code>. Un espaciador es muy simple y sólo requiere un atributo, que será explicado en un momento. El espaciador más simple se parece a lo siguiente:</p>
-<pre class="eval">&lt;spacer flex= "1" /&gt;
-</pre>
-<p>Un espaciador es usado para insertar un espacio vacío entre dos grupos de elementos que se encuentran dentro de un mismo contenedor (ventana o caja). Su función es crecer o encogerse cuando el usuario redimensiona la ventana, de modo que los elementos situados a su derecha, o debajo, sean empujados hacia los bordes (derecho o inferior, según sea el caso) y se mantenjan 'justificados'. Esto equivale a forzar a un grupo de elementos a mantenerse pegados al borde (derecho o inferior) de su contenedor (ventana) con independencia del tamaño adoptado por el mismo. Como veremos, es posible usar espaciadores para crear variados efectos de disposición.</p>
-<p>En la sintaxis, mostrada arriba, el espaciador tiene un atributo llamado <code>flex</code>. Se usa para establecer la flexibilidad del espaciador. En el caso mostrado, el espaciador tiene un <code>flex </code>de 1. Este valor hace que el elemento espaciador sea elástico; y al insertarlo directamente dentro de una ventana, crecerá hasta copar el espacio disponible dentro de la misma (se descuenta el empleado por otros elementos). Si la ventana cambia su tamaño, el espaciador se ajustará para mentener copado el espacio disponible dentro de la misma. En breve añadiremos un espaciador a nuestro diálogo de búsqueda. Pero antes demos un vistazo a la ventana de diálogo cuando es redimensionada (para comparar, luego, con el efecto logrado al usar el espaciador).</p>
-<div class="highlight">
- <p> <img alt="find-dlg-nospacer.jpg" class="internal default" src="/@api/deki/files/4784/=find-dlg-nospacer.jpg"></p>
- <p>Como se puede observar, todos los elementos han mantenido sus posiciones al cambiar el tamaño de la ventana; a pesar de que el espacio ofrecido por la misma para alijarlos el más grande. Veamos lo que ocurre al insertar un espaciador entre la caja de texto (textbox) y el botón buscar (Find).</p>
- <p><img alt="find-dlg-wthspacer.jpg" class="internal default" src="/@api/deki/files/4785/=find-dlg-wthspacer.jpg"></p>
- <p>Al agregar el espaciador y redimensinar la ventana, podemos ver que se expande para copar el vacío y los botones son empujados hacia la derecha.  El código para insertar el espaciador en el ejemplo es el siguiente: (insértelo inmediatamente antes del botón buscar - 'find-button')</p>
- <pre class="eval"><span class="highlightred">&lt;spacer flex="1"/&gt;</span>
-
-&lt;button id="find-button" label="Find"/&gt;
-</pre>
-</div>
-<h3 id="More_About_Flexibility" name="More_About_Flexibility">Más acerca de la Flexibilidad</h3>
-<p>XUL dispone los elementos en una ventana calculando dimensiones (ancho y alto) adecuadas para los elementos que contiene y luego agrega espacio, si hace falta, dónde sean flexibles. Salvo, aquellos elementos cuyas dimensiones hayan sido especificadas esplícitamente. El tamaño por defecto de un elemento es determinado por su contenido. Nótese, por ejemplo, que los botones 'find', 'cancel' tiene dimensiones ligeramente distintas de modo que ofrecen suficiente espacio para el texto en su interior. Si se crea un botón con una etiqueta muy larga su tamaño por defecto será el necesario para poder mostrar la etiqueta completa. Otros elementos, tales como las cajas de texto 'textbox' tienen un tamaño por defecto ajustado a su propósito.</p>
-<p>El atributo <code>flex</code> se emplea para establecer si un elemento puede autoajustar sus dimensiones para copar la 'caja' que lo contiene. (en este caso, la ventana). El atributo <code>flex </code>no sólo aplica para los espaciadores; puede ser establecido para cualquier elemento. Por ejemplo, podríamos querer que se reajustase el botón buscar (find-button) en lugar de empujarlo, sin necesidad de que se autoajuste el espaciador.</p>
-<p><img alt="find-dlg-flexbttn.jpg" class="internal default" src="/@api/deki/files/4786/=find-dlg-flexbttn.jpg"></p>
-<p>Como se puede ver en la imagen, el establecer el atributo <code>flex </code>en el botón buscar, éste último se reajusta cuando la ventana lo hace. Un espaciador, en realidad, no es nada especial. Puede ser considerado como un botón oculto: opera sobre el espacio pero sin dibujarse en la pantalla.</p>
-<p>Si se observa con cuidado la imagen arriba, se puede notar que no sólo creció el tamaño del votón buscar (find); también aparece un espacio vacío entre él y la etiqueta de texto. Desde luego, es consecuencia de que allí se encuentra el espaciador que ubicamos más arriba. El también se ha reajustado en tamaño. Una observación atenta evidenciará que el espacio disponible fue dividido entre los dos elementos que tienen establecido el atributo flex: el espaciador y el botón buscar. Cada uno de ellos recibió la mitad del espacio libre, disponible, para ajustar su tamaño.</p>
-<h4 id="Proporcionalidad_de_la_flexibilidad_(del_atributo_flex)">Proporcionalidad de la flexibilidad (del atributo flex)</h4>
-<p>La razón por la que observamos el efecto anotado es la siguiente: tanto el espaciador como el botón tienen establecido su su atributo <code>flex </code>a 1. (<code>flex="1"</code>); ésto hace que se repartan de modo equivalente el espacio disponible. Pero, tambien es posible lograr un reparto del espacio sujeto a otras condiciones de proporcionalidad:</p>
-<p>¿Qué pasaría en caso de desear que un elemento tome dos veces más espacio libre que otro? ¿Cómo lograrlo? -  Se puede usar números mayores que 1 como varores del atributo <code>flex</code>. Los valores de este atributo establecen una razón de proporcionalidad. Determinan cuántas partes del espacio disponible serán entragadas a cada uno de los elementos que lo tengan establecido. Si un elemento tiene su <code>flex </code>en 1 y otro tiene un <code>flex </code>de 2, el espacio libre será dividido en tres partes y se entregará 1 al primero y 2 al segundo; de modo que la razón de crecimiento, entre ellos, será  1:2; el segundo crecerá dos veces más que el primero.</p>
-<p>The <code>flex</code> attribute isn't used to specify an actual size. Instead, it specifies how empty space it divided among the children of a container box. We'll look at boxes in the next section. Once the default sizes of the children of a box are determined, the flexibility values are used to divide up the remaining empty space in the box. For example, if a box is 200 pixels wide and contains two flexible buttons, the first 50 pixels and the other 90 pixels, there will be 60 pixels of space left over. If both buttons have a flex value of 1, the space will be divided evenly with 30 extra pixels of width going to each button. If the second button's flexibility was increased to 2, the first button would receive 20 pixels of the extra space and the second button would receive 40 pixels of extra space instead.</p>
-<p>The <code>flex</code> attribute can be placed on any element, however it only has any meaning when placed on an element directly inside a XUL box. This means that even though you can place a <code>flex</code> on an HTML element, it will have no effect if that element is inside a non-box element.</p>
-<p>Let's look at some examples:</p>
-<pre class="eval">Example 1:
- &lt;button label="Find" flex="1"/&gt;
- &lt;button label="Cancel" flex="1"/&gt;
-
-Example 2:
- &lt;button label="Find" flex="1"/&gt;
- &lt;button label="Cancel" flex="10"/&gt;
-
-Example 3:
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace"/&gt;
- &lt;button label="Cancel" flex="4"/&gt;
-
-Example 4:
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace" flex="2"/&gt;
- &lt;button label="Cancel" flex="3"/&gt;
-
-Example 5:
- &lt;html:div&gt;
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace" flex="2"/&gt;
- &lt;/html:div&gt;
-
-Example 6:
- &lt;button label="Find" flex="145"/&gt;
- &lt;button label="Replace" flex="145"/&gt;
-</pre>
-<dl>
- <dt>
- Example 1 </dt>
- <dd>
- in this case the flexibility is divided up evenly between both buttons. Both buttons will change size evenly.</dd>
- <dt>
- Example 2 </dt>
- <dd>
- here, both buttons will grow, but the Find button will grow ten times as much as the Cancel button, because it has a flex value that is 10 times the flex value of the Find button. Available space will be divided into one part for the Find button and 10 parts for the Cancel button.</dd>
- <dt>
- Example 3 </dt>
- <dd>
- only two of the buttons are marked as flexible here. The Replace button will never change size but the other two will. The Cancel button will always resize twice as large as the Find button because its flex value is twice as large.</dd>
- <dt>
- Example 4 </dt>
- <dd>
- in this case, all three buttons are flexible. Both the Find and Replace buttons will be the same size but the Cancel button will be somewhat larger (50% larger to be exact).</dd>
- <dt>
- Example 5 </dt>
- <dd>
- here, the two buttons are placed inside a <code>div</code> element. Flexibility is meaningless here as the buttons are not directly in a box. The effect would be the same if the <code>flex</code> attributes were left out.</dd>
- <dt>
- Example 6 </dt>
- <dd>
- because the flex values are the same on both buttons, their will flex equally. This would work just as well with flex values of one instead of 145. There's no difference in this case. It is recommended that you use lower numbers for readability.</dd>
-</dl>
-<p>Note that other factors such as the button labels and button minimum sizes will affect the actual sizes of the buttons. For instance, a button won't shrink less than the space needed to fit its label.</p>
-<p>Specifying a flex value of 0 has the same effect as leaving the <code>flex</code> attribute out entirely. It means that the element is not flexible at all. You may also sometimes see a flex value specified as a percentage. This has no special meaning and is treated as if the percent sign was not there.</p>
-<p>You may have noticed that when you resize the find file dialog vertically, the buttons resize themselves to fit the height of the window. This is because all of the buttons have an implied vertical flex given to them by the window. In the next section we'll learn how to change this.</p>
-<h3 id="Find_files_example_so_far" name="Find_files_example_so_far">Find files example so far</h3>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-springs.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-springs.xul">Ver en funcionamiento</a></p>
-<p>Next, we'll learn some additional features of buttons.</p>
-<p><span class="comment">Categorías</span></p>
-<p><span class="comment">links interwikis</span></p>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/árboles/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/árboles/index.html
deleted file mode 100644
index 509017990e..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/árboles/index.html
+++ /dev/null
@@ -1,194 +0,0 @@
----
-title: Árboles
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Árboles
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Trees
----
-<p>XUL provides a way to create tabular or hierarchical lists using a tree.</p>
-
-<h3 id="El_.C3.A1rbol" name="El_.C3.A1rbol">El árbol</h3>
-
-<p>One of the more complex elements in XUL is the <a href="/es/XUL/tree" title="es/XUL/tree">árbol</a>. A tree may be used to display rows of text in columns. It can be used with rows either in a flat list or arranged into a hierarchy. A tree also allows the user to rearrange, resize and hide individual columns. Some examples of trees include the list of messages in a mail application, or the Bookmarks window in Mozilla.</p>
-
-<p>In some ways, a tree has some similarities with the <code><a href="/es/XUL/listbox" title="es/XUL/listbox">listbox</a></code>. Both can be used to create tables of data with multiple rows and columns, and both may contain column headers. The tree also supports nested rows, whereas the listbox does not. However, listboxes may contain any type of content, whereas trees may only contain text and images. (Using advanced features, progress meters or checkboxes also can be added to the tree)</p>
-
-<p>A tree consists of two parts, the set of columns, and the tree body.</p>
-
-<ul>
- <li>The set of columns is defined by a number of <code><a href="/es/XUL/treecol" title="es/XUL/treecol">treecol</a></code> elements, one for each column. Each column will appear as a header at the top of the tree.</li>
- <li>The second part, the tree body, contains the data to appear in the tree and is created with a <code><a href="/es/XUL/treechildren" title="es/XUL/treechildren">treechildren</a></code> tag.</li>
-</ul>
-
-<p>The tree is unique in that the body of the tree consists only of a single widget which draws all of the data in the tree. This contrasts with the listbox, where individual <code><a href="/es/XUL/listitem" title="es/XUL/listitem">listitem</a></code> and <code><a href="/es/XUL/listcell" title="es/XUL/listcell">listcell</a></code> tags are used to specify the rows in the listbox. In a tree, all of the data to be displayed is supplied by a separate object, called a tree view. When it comes time to display a cell, the tree widget will call out to this tree view to determine what to display, which in turn will be drawn by the tree. The tree is smart enough to only ask for information from the view for those rows that need to be displayed. This allows the view to be optimized such that it only needs to load the data for displayed content. For instance, a tree might have thousands of rows, yet most of them will be scrolled off the border of the tree, hidden from view. This means that the tree is scalable to any number of rows without any performance problems. Of course, this is independant of the performance of the view object itself.</p>
-
-<p>A tree view is an object which implements the <a href="/es/NsITreeView" title="es/NsITreeView">nsITreeView</a> interface. This interface contains thirty properties and functions which you may implement. These functions will be called by the tree as necessary to retrieve data and state about the tree. For instance, the <code>getCellText()</code> function will be called to get the label for a particular cell in the tree.</p>
-
-<p>An advantage of using a tree view is that it allows the view to store the data in a manner which is more suitable for the data, or to load the data on demand as rows are displayed. This allows more flexibility when using trees.</p>
-
-<p>Naturally, having to implement a tree view with thirty or so properties and methods for every tree can be very cumbersome, especially for simple trees. Fortunately, XUL provides a couple of built-in view implementations which do most of the hard work for you. For most trees, especially when you first start to use trees, you will use one of these built-in types. However, you can create a view entirely from scratch if necessary. If you do, you might store the data in an <a href="/en/A_re-introduction_to_JavaScript#Arrays">array</a> or JavaScript data structure, or load the data from an XML file.</p>
-
-<p>Since the entire body of the tree is a single widget, you can't change the style of individual rows or cells in the normal way. This is because there are no elements that display the individual cells, like there is with the <a href="/es/Tutorial_de_XUL/Controles_de_listas#Cajas_de_lista_multi-columna" title="es/Tutorial_de_XUL/Controles_de_listas#Cajas_de_lista_multi-columna">caja de lista</a>. Instead, all drawing is done by the tree body using data supplied by the view. This is an important point and many XUL developers have trouble understanding this aspect. To modify the appearance of a tree cell, the view must instead associate a set of keywords for a row and cell. A special CSS syntax is used which styles components of the tree body with those keywords. In a sense, it is somewhat like using CSS classes. La estilización de un árbol es discutida con más detalles en una <a href="/es/Tutorial_de_XUL/Estilizando_un_árbol" title="es/Tutorial_de_XUL/Estilizando_un_árbol">sección posterior</a>.</p>
-
-<h3 id="Elementos_del_.C3.A1rbol" name="Elementos_del_.C3.A1rbol">Elementos del árbol</h3>
-
-<p>Trees can be created with the <code><a href="/es/XUL/Elementos/tree" title="es/XUL/Elementos/tree">tree</a></code> element, which is described in the following sections. There are also two elements used to define the columns to be displayed in the tree.</p>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/tree" title="es/XUL/Elementos/tree">tree</a></dt>
- <dd>This is the outer element of a tree.</dd>
-</dl>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treecols" title="es/XUL/Elementos/treecols">treecols</a></dt>
- <dd>This element is a placeholder for a set of <code><a href="/es/XUL/Elementos/treecol" title="es/XUL/Elementos/treecol">treecol</a></code> elements.</dd>
-</dl>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treecol" title="es/XUL/Elementos/treecol">treecol</a></dt>
- <dd>This is used to declare a column of the tree. By using this element, you can specify additional information about how the data in the columns are sorted and if the user can resize the columns. You should always place an <code><a href="/es/XUL/Atributos/id" title="es/XUL/Atributos/id">id</a></code> attribute on a column, as Mozilla uses the ids to identify the columns when rearranging and hiding them. This is no longer required in Mozilla 1.8 and later, but it is still a good idea to use ids on columns.</dd>
-</dl>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treechildren" title="es/XUL/Elementos/treechildren">treechildren</a></dt>
- <dd>This contains the main body of the tree where the individual rows of data will be displayed.</dd>
-</dl>
-
-<h5 id="Ejemplo_de_.C3.A1rbol_con_dos_columnas" name="Ejemplo_de_.C3.A1rbol_con_dos_columnas">Ejemplo de árbol con dos columnas</h5>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;tree flex="1"&gt;
-
- &lt;treecols&gt;
- &lt;treecol id="nameColumn" label="Nombre" flex="1"/&gt;
- &lt;treecol id="addressColumn" label="Dirección" flex="2"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren/&gt;
-
-&lt;/tree&gt;
-</pre>
-
-<p>First, the entire table is surrounded with a <code><a href="/es/XUL/Elementos/tree" title="es/XUL/Elementos/tree">tree</a></code> element. This declares an element that is used as a table or tree. As with HTML tables, the data in a tree is always organized into rows. The columns are specified using the <code><a href="/es/XUL/Elementos/treecols" title="es/XUL/Elementos/treecols">treecols</a></code> tag.</p>
-
-<p>You may place as many columns as you wish in a tree. As with <a href="/es/Tutorial_de_XUL/Controles_de_listas" title="es/Tutorial_de_XUL/Controles_de_listas">listboxes</a>, a header row will appear with column labels. A drop-down menu will appear in the upper-right corner of the tree, which the user may use to show and hide individual columns. Each column is created with a <code><a href="/es/XUL/Elementos/treecol" title="es/XUL/Elementos/treecol">treecol</a></code> element. You can set the header label using the <code>label</code> attribute. You may also want to make the columns flexible if your tree is flexible, so that the columns stretch as the tree does. In this example, the second column will be approximately twice as wide as the first column. All of the columns should be placed directly inside a <code><a href="/es/XUL/Elementos/treecols" title="es/XUL/Elementos/treecols">treecols</a></code> element.</p>
-
-<p>In this case we haven't specified a view to supply the tree's data, so we'll only see column headers and an empty tree body. You may have to resize the window to see anything since there isn't any data to display. Since the tree has been marked as flexible, the body will stretch to fit the available space. Making a tree flexible is quite commonly done, as it is often the case that the data in the tree is the most significant information displayed, so it makes sense to make the tree grow to fit. However, you may specify a specific number of rows to appear in a tree by setting the <code><a href="/es/XUL/Atributos/rows" title="es/XUL/Atributos/rows">rows</a></code> attribute on the <code><a href="/es/XUL/Elementos/tree" title="es/XUL/Elementos/tree">tree</a></code> element. This attribute specifies how many rows are displayed in the user interface, not how many rows of data there are. The total number of rows is supplied by the tree view. If there are more rows of data in the tree, a scrollbar will appear to allow the user to see the rest of them. If you don't specify the <code><a href="/es/XUL/Atributos/rows" title="es/XUL/Atributos/rows">rows</a></code> attribute, the default value is 0, which means that none of the rows will appear. In this case, you would make the tree flexible. If your tree is flexible, it doesn't need a <code><a href="/es/XUL/Atributos/rows" title="es/XUL/Atributos/rows">rows</a></code> attribute since it will grow to fit the available space.</p>
-
-<h3 id="Vista_del_contenido_del_.C3.A1rbol" name="Vista_del_contenido_del_.C3.A1rbol">Vista del contenido del árbol</h3>
-
-<p>Having said that the data to be displayed in a tree comes from a view and not from XUL tags, there happens to be a built-in tree view which gets its data from XUL tags. This may be a bit confusing, but essentially, one of the built-in tree views uses a set of tags which can be used to specify information about the data in the tree. The following tags are used:</p>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></dt>
- <dd>This contains a single parent row and all its descendants. This element also serves as the item which can be selected by the user. The treeitem tag would go around the entire row so that it is selectable as a whole.</dd>
-</dl>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treerow" title="es/XUL/Elementos/treerow">treerow</a></dt>
- <dd>A single row in the tree, which should be placed inside a <code><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></code> tag.</dd>
-</dl>
-
-<dl>
- <dt><a href="/es/XUL/Elementos/treecell" title="es/XUL/Elementos/treecell">treecell</a></dt>
- <dd>A single cell in a tree. This element would go inside a treerow element.</dd>
-</dl>
-
-<p>Conveniently, these tags may be placed directly inside the <code><a href="/es/XUL/Elementos/treechildren" title="es/XUL/Elementos/treechildren">treechildren</a></code> tag, nested in the order above. The tags define the data to be displayed in the tree body. In this case, the tree uses the built-in tree view, called a content tree view, which uses the labels and values specified on these elements as the data for the tree. When the tree needs to display a row, the tree asks the content tree view for a cell's label by calling the view's getCellText function, which in turn gets the data from the label of the appropriate <code><a href="/es/XUL/Elementos/treecell" title="es/XUL/Elementos/treecell">treecell</a></code>.</p>
-
-<p>However, the three elements listed above are not displayed directly. They are used only as the source for the data for the view. Thus, only a handful of attributes apply to the <code><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></code> and related elements. For instance, you cannot change the appearance of the tree rows using the <code><a href="/es/XUL/Atributos/style" title="es/XUL/Atributos/style">style</a></code> attribute or with other CSS properties and the box related features such as flexibility and orientation cannot be used.</p>
-
-<p>In fact, apart from some tree specific attributes, the only attributes that will have any effect will be the <code><a href="/es/XUL/Atributos/label" title="es/XUL/Atributos/label">label</a></code> attribute to set a text label for a cell and the <code><a href="/es/XUL/Atributos/src" title="es/XUL/Atributos/src">src</a></code> attribute to set an image. However, there are special ways of styling the tree and setting other features which we will see in later sections.</p>
-
-<p>Also, events do not get sent to <code><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></code> element and their children; instead they get sent to the <code><a href="/es/XUL/Elementos/treechildren" title="es/XUL/Elementos/treechildren">treechildren</a></code> element.</p>
-
-<p>That the treeitems are unlike other XUL elements is a common source of confusion for XUL developers. Essentially, the tree content view is a view where the data for the cells is supplied from tags placed inside the tree. Naturally, if you are using a different kind of view, the data will be supplied from another source, and there won't be any <code><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></code> elements at all.</p>
-
-<p>Let's start by looking at how to create a simple tree with multiple columns using the tree content view. This could be used to create a list of mail messages. There might be multiple columns, such as the sender and the subject.</p>
-
-<h4 id="Ejemplo_de_.C3.A1rbol_con_treechildren" name="Ejemplo_de_.C3.A1rbol_con_treechildren">Ejemplo de árbol con <code>treechildren</code></h4>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_2.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_2.xul">Ver en funcionamiento</a></p>
-
-<div class="float-right"><img alt="Image:trees1.png"></div>
-
-<pre>&lt;tree flex="1"&gt;
-
- &lt;treecols&gt;
- &lt;treecol id="sender" label="Sender" flex="1"/&gt;
- &lt;treecol id="subject" label="Subject" flex="2"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="joe@somewhere.com"/&gt;
- &lt;treecell label="Top secret plans"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="mel@whereever.com"/&gt;
- &lt;treecell label="Let's do lunch"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-
-&lt;/tree&gt;
-</pre>
-
-<p>As can be seen in the image, the tree has been created with two rows of data.</p>
-
-<p>This tree has two columns, the second of which will take up more space than the first. You will usually make the columns flexible. You can also supply widths with the <code><a href="/es/XUL/Atributos/width" title="es/XUL/Atributos/width">width</a></code> attribute. You should include the same number of <code><a href="/es/XUL/Elementos/treecol" title="es/XUL/Elementos/treecol">treecol</a></code> elements as there are columns in the tree. Otherwise strange things might happen.</p>
-
-<p>The header row is created automatically. The button in the upper right corner can be used to hide and show the columns. You can place a <code><a href="/es/XUL/Atributos/hidecolumnpicker" title="es/XUL/Atributos/hidecolumnpicker">hidecolumnpicker</a></code> attribute on the tree and set it to <code>true</code> if you would like to hide this button. If this button is hidden, the user will not be able to hide columns.</p>
-
-<p>Make sure that you set an <code><a href="/es/XUL/Atributos/id" title="es/XUL/Atributos/id">id</a></code> attribute on each column or the hiding and showing of columns will not work in all versions of Mozilla.</p>
-
-<p>The <code>treechildren</code> element surrounds all of the rows. Inside the body are individual rows, which may in turn contain other rows. For a simpler tree, each row is created with the <code><a href="/es/XUL/Elementos/treeitem" title="es/XUL/Elementos/treeitem">treeitem</a></code> and <code><a href="/es/XUL/Elementos/treerow" title="es/XUL/Elementos/treerow">treerow</a></code> elements. The <code>treerow</code> element surrounds all of the cells in a single row, while a <code>treeitem</code> element would surround a row and all of its children. Trees with nested rows are described in the next section.</p>
-
-<p>Inside the rows, you will put individual tree cells. These are created using the <code><a href="/es/XUL/Elementos/treecell" title="es/XUL/Elementos/treecell">treecell</a></code> element. You can set the text for the cell using the <code>label</code> attribute. The first <code><a href="/es/XUL/Elementos/treecell" title="es/XUL/Elementos/treecell">treecell</a></code> in a row determines the content that will appear in the first column, the second <code><a href="/es/XUL/Elementos/treecell" title="es/XUL/Elementos/treecell">treecell</a></code> determines the content that will appear in the second column, and so on.</p>
-
-<p>The user can select the treeitems by clicking on them with the mouse, or by highlighting them with the keyboard. The user can select multiple items by holding down the Shift or Control keys and clicking additional rows. To disable multiple selection, place a <code><a href="/es/XUL/Atributos/seltype" title="es/XUL/Atributos/seltype">seltype</a></code> attribute on the tree, set to the value <code>single</code>. With this, the user may only select a single row at a time.</p>
-
-<div class="highlight">
-<h4 id="Add_a_tree_to_out_find_files_example" name="Add_a_tree_to_out_find_files_example">Add a tree to out find files example</h4>
-
-<p>Let's add a tree to the find files window where the results of the search would be displayed. The tree will use a content tree view. The following code should be added in place of the <a href="/es/Tutorial_de_XUL/Paneles_de_contenidos#Ejemplo:_Usando_iframe" title="es/Tutorial_de_XUL/Paneles_de_contenidos#Ejemplo:_Usando_iframe">iframe</a>.</p>
-
-<pre class="eval"><span class="highlightred">&lt;tree flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="name" label="Filename" flex="1"/&gt;
- &lt;treecol id="location" label="Location" flex="2"/&gt;
- &lt;treecol id="size" label="Size" flex="1"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="mozilla"/&gt;
- &lt;treecell label="/usr/local"/&gt;
- &lt;treecell label="2520 bytes"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;</span>
-
-&lt;splitter collapse="before" resizeafter="grow"/&gt;
-</pre>
-
-<p>We've added a tree with three columns for the filename, the location and the file size. The second column will appear twice as wide due to the larger flexibility. A single row has been added to demonstrate what the table would look like with a row. In a real implementation, the rows would be added by a script as the search was performed, or a custom view would be created to hold the data.</p>
-
-<p>Ejemplo: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-trees.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-trees.xul">Ver en funcionamiento</a></p>
-</div>
-
-<p><br>
- Seguimos con como crear <a href="/es/Tutorial_de_XUL/Más_características_de_los_árboles" title="es/Tutorial_de_XUL/Más_características_de_los_árboles">árboles más avanzados</a>.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Ejemplos_XPCOM" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Más_características_de_los_árboles">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/tutorial_de_xul/árboles_y_plantillas/index.html b/files/es/archive/mozilla/xul/tutorial_de_xul/árboles_y_plantillas/index.html
deleted file mode 100644
index 7c5277063b..0000000000
--- a/files/es/archive/mozilla/xul/tutorial_de_xul/árboles_y_plantillas/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Árboles y plantillas
-slug: Archive/Mozilla/XUL/Tutorial_de_XUL/Árboles_y_plantillas
-tags:
- - Todas_las_Categorías
- - Tutorial_de_XUL
- - XUL
- - páginas_a_traducir
-translation_of: Archive/Mozilla/XUL/Tutorial/Trees_and_Templates
----
-<p>Lo siguiente describe como usar una plantilla con un árbol.</p>
-
-<h3 id="A.C3.B1adiendo_fuentes_de_datos_a_.C3.A1rboles" name="A.C3.B1adiendo_fuentes_de_datos_a_.C3.A1rboles">Añadiendo fuentes de datos a árboles</h3>
-
-<p>When using a tree, you will often use a template to build its content, to handle a large amount of hierarchial data. Using a template with a tree uses very much the same syntax as with other elements. You need to add a <code><a href="es/XUL/Atributos/datasources">datasources</a></code> and a <code><a href="es/XUL/Atributos/ref">ref</a></code> attribute to the <code><a href="es/XUL/Elementos/tree">tree</a></code> element, which specify the datasource and root node to display. Multiple rules can be used to indicate different content for different types of data.</p>
-
-<p>El ejemplo siguiente usa el historial de fuentes de datos:</p>
-
-<pre>&lt;tree datasources="rdf:history" ref="NC:HistoryByDate"
- flags="dont-build-content"&gt;
-</pre>
-
-<p>As described in the previous section, the tree may use a tree builder for template generation instead of the normal content builder. This means that elements will not be created for every row in the tree, making it more efficient. The <code>[[XUL:Atributos:flgs|flags</code> attribute set to the value <code>dont-build-content</code>, as used in the example above, indicates that the tree builder should be used. If you leave the attribute out, the content builder will be used. You can see the difference by using Mozilla's DOM Inspector on a tree with and without the flag.</p>
-
-<p>If you do use a content builder instead, note that the content won't generally get built until it is needed. With hierarchical trees, the children don't get generated until the parent nodes have been opened by the user.</p>
-
-<p>In the template, there will be one <code><a href="es/XUL/Elementos/treecell">treecell</a></code> for each column in the tree. The cells should have a <code><a href="es/XUL/Atributos/label">label</a></code> attribute to set the label for the cell. This would normally be set to an RDF property so that the label is pulled from the datasource.</p>
-
-<h4 id="Plantilla_constructora_de_.C3.A1rbol" name="Plantilla_constructora_de_.C3.A1rbol">Plantilla constructora de árbol</h4>
-
-<p>The following example demonstrates a template-built tree, in this case for the file system.</p>
-
-<p><strong>Ejemplo 1</strong>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treetempl_1.xul.txt">Código</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_treetempl_1.xul">Ver en funcionamiento</a></p>
-
-<pre>&lt;tree id="my-tree" flex="1"
- datasources="rdf:files" ref="file:///" flags="dont-build-content"&gt;
- &lt;treecols&gt;
- &lt;treecol id="Name" label="Name" primary="true" flex="1"/&gt;
- &lt;splitter/&gt;
- &lt;treecol id="Date" label="Date" flex="1"/&gt;
- &lt;/treecols&gt;
-
- &lt;template&gt;
- &lt;rule&gt;
- &lt;treechildren&gt;
- &lt;treeitem uri="rdf:*"&gt;
- &lt;treerow&gt;
- &lt;treecell label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;treecell label="rdf:http://home.netscape.com/WEB-rdf#LastModifiedDate"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
- &lt;/rule&gt;
- &lt;/template&gt;
-&lt;/tree&gt;
-</pre>
-
-<p>Aquí, un árbol es creado con dos columnas, para el nombre y la fecha de un archivo. The tree should display a list of the files in the root directory. Only one rule is used, but you may add others if needed. Like with other templates, the uri attribute on an element indicates where to start generating content. The two cells grab the name and date from the datasource and place the values in the cell labels.</p>
-
-<p>This example shows why the uri attribute becomes useful. Notice how it has been placed on the treeitem in the example, even though it is not a direct descendant of the rule element. We need to put this attribute on only those elements that we want repeated for each resource. Because we don't want multiple <code><a href="es/XUL/Elementos/treechildren">treechildren</a></code> elements, we don't put it there. Instead we put the <code><a href="es/XUL/Atributos/uri">uri</a></code> attributes on the <code><a href="es/XUL/Elementos/treeitem">treeitem</a></code> elements. Effectively, the elements outside (or above) the element with the <code><a href="es/XUL/Atributos/uri">uri</a></code> attribute are not duplicated whereas the element with the <code><a href="es/XUL/Atributos/uri">uri</a></code> attribute and the elements inside it are duplicated for each resource.</p>
-
-<p>As the tree builder is used and not the content builder, the structure of the elements in the above example must be as shown, with the <code><a href="es/XUL/Elementos/treechildren">treechildren</a></code> element inside the rule. Although the tree builder doesn't build these elements, it does require this structure in order to determine what to generate correctly.</p>
-
-<div class="float-right"><img alt="Image:rdfoutl1.jpg"></div>
-
-<p>Note in the image that additional child elements below the top-level elements have been added automatically. XUL knows how to add child elements when the templates or rules contain tree elements or menu elements. It will generate tree elements as nested as necessary based on the available RDF data.</p>
-
-<p>An interesting part of RDF datasources is that the resource values are only determined when the data is needed. This means that values that are deeper in the resource hierarchy are not determined until the user navigates to that node in the tree. This becomes useful for certain datasources where the data is determined dynamically.</p>
-
-<h3 id="Ordenando_las_columnas" name="Ordenando_las_columnas">Ordenando las columnas</h3>
-
-<p>If you try the previous example, you might note that the list of files is not sorted. Trees which generate their data from a datasource have the optional ability to sort their data. You can sort either ascending or descending on any column. The user may change the sort column and direction by clicking the column headers. This sorting feature is not available for trees with static content, although you can write a script to sort the data.</p>
-
-<p>Sorting involves three attributes, which should be placed on the columns. The first attribute, sort, should be set to an RDF property that is used as the sort key. Usually, this would be the same as that used in the label of the cell in that column. If you set this on a column, the data will be sorted in that column. The user can change the sort direction by clicking the column header. If you do not set the sort attribute on a column, the data cannot be sorted by that column.</p>
-
-<p>El atributo <code>sortDirection</code> (note la mezcla) es usado para definir el orden por defecto de la columna. Tres valores son posibles:</p>
-
-<dl>
- <dt>ascending</dt>
- <dd>los datos aparecerán en orden ascendente (por ejemplo: de la A a la Z.</dd>
- <dt>descending</dt>
- <dd>los datos aparecerán en orden descendente (Z-A).</dd>
- <dt>natural</dt>
- <dd>los datos aparecerán en el mismo orden en el cual están guardados en la fuente de datos RDF.</dd>
-</dl>
-
-<p>The final attribute, <code>sortActive</code> should be set to <code>true</code> for one column, the one that you would like to be sorted by default.</p>
-
-<p>Although the sorting will function correctly with only those attributes, you may also use the style class <code>sortDirectionIndicator</code> on a column that can be sorted. This will cause a small triangle to appear on the column header that indicates the direction of the sort. If you don't do this, the user may still sort the columns but will have no indication as to which column is currently sorted.</p>
-
-<p>The following example changes the columns in the earlier example to incorporate the extra features:</p>
-
-<pre>&lt;treecols&gt;
- &lt;treecol id="Name" label="Name" flex="1" primary="true"
- class="sortDirectionIndicator" sortActive="true"
- sortDirection="ascending"
- sort="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;splitter/&gt;
- &lt;treecol id="Date" label="Date" flex="1" class="sortDirectionIndicator"
- sort="rdf:http://home.netscape.com/WEB-rdf#LastModifiedDate"/&gt;
-&lt;/treecols&gt;
-</pre>
-
-<h3 id="Persistencia_del_estado_de_la_columna" name="Persistencia_del_estado_de_la_columna">Persistencia del estado de la columna</h3>
-
-<p>One additional thing you might want to do is persist which column is currently sorted, so that it is remembered between sessions. To do this, we use the <code><a href="es/XUL/Atributos/persist">persist</a></code> attribute on each <code><a href="es/XUL/Elementos/treecol">treecol</a></code> element. There are five attributes of columns that need to be persisted, to save the column width, the column order, whether the column is visible, which column is currently sorted and the sort direction. The following example shows a sample column:</p>
-
-<pre>&lt;treecol id="Date" label="Date" flex="1"
- class="sortDirectionIndicator"
- persist="width ordinal hidden sortActive sortDirection"
- sort="rdf:http://home.netscape.com/WEB-rdf#LastModifiedDate"/&gt;
-</pre>
-
-<p>Más detalles sobre el atributo More details about the <code><a href="es/XUL/Atributos/persist">persist</a></code> son descritos en <a href="es/Tutorial_de_XUL/Datos_persistentes">la sección próxima</a>.</p>
-
-<h3 id="Reglas_adicionales" name="Reglas_adicionales">Reglas adicionales</h3>
-
-<p>There are two additional attributes that can be added to the <code>rule</code> element that allow it to match in certain special circumstances. Both are boolean attributes.</p>
-
-<dl>
- <dt>iscontainer</dt>
- <dd>If this attribute is set to <code>true</code>, then the rule will match all resources that have children. For example, we could use this rule to match bookmark folders. This is convenient as the RDF datasource does not need to include any special attributes to indicate this.</dd>
-</dl>
-
-<dl>
- <dt>isempty</dt>
- <dd>If this attribute is set to <code>true</code>, then the rule will match all resources that have no children.</dd>
-</dl>
-
-<p>A resource might be a container and be an empty one as well. However, this is different from a resource that is not a container. For example, a bookmark folder is a container but it might or might not have children. However a single bookmark or separator is not a container.</p>
-
-<p>You can combine these two elements with other attribute matches for more specific rules.</p>
-
-<p>Seguimos con las fuentes de datos proporcionadas por Mozilla.</p>
-
-<div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Tutorial_de_XUL:Plantillas" style="float: left;">« Anterior</a><a href="/es/docs/Tutorial_de_XUL:Fuentes_de_datos_RDF">Siguiente »</a></p>
-</div>
diff --git a/files/es/archive/mozilla/xul/xul_reference/index.html b/files/es/archive/mozilla/xul/xul_reference/index.html
deleted file mode 100644
index 9e3468106c..0000000000
--- a/files/es/archive/mozilla/xul/xul_reference/index.html
+++ /dev/null
@@ -1,318 +0,0 @@
----
-title: XUL Reference
-slug: Archive/Mozilla/XUL/XUL_Reference
-translation_of: Archive/Mozilla/XUL/XUL_Reference
----
-<p>« <a href="/es/docs/XUL" title="es/XUL">Referencia de XUL</a> «</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th colspan="3">Todos los elementos XUL (ordenados alfabéticamente)</th>
- </tr>
- <tr>
- <td>
- <p><a href="/es/docs/XUL/action" title="es/XUL/action">action</a><br>
- <a href="/es/docs/XUL/Arrowscrollbox" title="Es/XUL/Arrowscrollbox">arrowscrollbox</a><br>
- <a href="/es/docs/XUL/Assign" title="es/XUL/Assign">assign</a><br>
- <a href="/es/docs/XUL/Bbox" title="es/XUL/bbox">bbox</a><br>
- <a href="/es/docs/XUL/binding" title="es/XUL/binding">binding</a><br>
- <a href="/es/docs/XUL/bindings" title="es/XUL/bindings">bindings</a><br>
- <a href="/es/docs/XUL/box" title="es/XUL/box">box</a><br>
- <a href="/es/docs/XUL/broadcaster" title="es/XUL/broadcaster">broadcaster</a><br>
- <a href="/es/docs/XUL/broadcasterset" title="es/XUL/broadcasterset">broadcasterset</a><br>
- <a href="/es/docs/XUL/button" title="es/XUL/button">button</a><br>
- <a href="/es/docs/XUL/browser" title="es/XUL/browser">browser</a><br>
- <a href="/es/docs/XUL/checkbox" title="es/XUL/checkbox">checkbox</a><br>
- <a href="/es/docs/XUL/caption" title="es/XUL/caption">caption</a><br>
- <a href="/es/docs/XUL/colorpicker" title="es/XUL/colorpicker">colorpicker</a><br>
- <a href="/es/docs/XUL/column" title="es/XUL/column">column</a><br>
- <a href="/es/docs/XUL/columns" title="es/XUL/columns">columns</a><br>
- <a href="/es/docs/XUL/commandset" title="es/XUL/commandset">commandset</a><br>
- <a href="/es/docs/XUL/command" title="es/XUL/command">command</a><br>
- <a href="/es/docs/XUL/conditions" title="es/XUL/conditions">conditions</a><br>
- <a href="/es/docs/XUL/content" title="es/XUL/content">content</a><br>
- <a href="/es/docs/XUL/datepicker" title="es/XUL/datepicker">datepicker</a><br>
- <a href="/es/docs/XUL/deck" title="es/XUL/deck">deck</a><br>
- <a href="/es/docs/XUL/description" title="es/XUL/description">description</a><br>
- <a href="/es/docs/XUL/Dialog" title="es/XUL/dialog">dialog</a><br>
- <a href="/es/docs/XUL/dialogheader" title="es/XUL/dialogheader">dialogheader</a><br>
- <a href="/es/docs/XUL/dropmarker" title="es/XUL/dropmarker">dropmarker</a><br>
- <a href="/es/docs/XUL/editor" title="es/XUL/editor">editor</a><br>
- <a href="/es/docs/XUL/grid" title="es/XUL/grid">grid</a><br>
- <a href="/es/docs/XUL/grippy" title="es/XUL/grippy">grippy</a><br>
- <a href="/es/docs/XUL/groupbox" title="es/XUL/groupbox">groupbox</a><br>
- <a href="/es/docs/XUL/hbox" title="es/XUL/hbox">hbox</a><br>
- <a href="/es/docs/XUL/iframe" title="es/XUL/iframe">iframe</a><br>
- <a href="/es/docs/XUL/image" title="es/XUL/image">image</a><br>
- <a href="/es/docs/XUL/key" title="es/XUL/key">key</a><br>
- <a href="/es/docs/XUL/keyset" title="es/XUL/keyset">keyset</a><br>
- <a href="/es/docs/XUL/label" title="es/XUL/label">label</a><br>
- <a href="/es/docs/XUL/listbox" title="es/XUL/listbox">listbox</a><br>
- <a href="/es/docs/XUL/listcell" title="es/XUL/listcell">listcell</a><br>
- <a href="/es/docs/XUL/listcol" title="es/XUL/listcol">listcol</a><br>
- <a href="/es/docs/XUL/listcols" title="es/XUL/listcols">listcols</a><br>
- <a href="/es/docs/XUL/listhead" title="es/XUL/listhead">listhead</a><br>
- <a href="/es/docs/XUL/listheader" title="es/XUL/listheader">listheader</a><br>
- <a href="/es/docs/XUL/listitem" title="es/XUL/listitem">listitem</a></p>
- </td>
- <td>
- <p><a href="/es/docs/XUL/member" title="es/XUL/member">member</a><br>
- <a href="/es/docs/XUL/menu" title="es/XUL/menu">menu</a><br>
- <a href="/es/docs/XUL/menubar" title="es/XUL/menubar">menubar</a><br>
- <a href="/es/docs/XUL/menuitem" title="es/XUL/menuitem">menuitem</a><br>
- <a href="/es/docs/XUL/menulist" title="es/XUL/menulist">menulist</a><br>
- <a href="/es/docs/XUL/menupopup" title="es/XUL/menupopup">menupopup</a><br>
- <a href="/es/docs/XUL/menuseparator" title="es/XUL/menuseparator">menuseparator</a><br>
- <a href="/es/docs/XUL/notification" title="es/XUL/notification">notification</a><br>
- <a href="/es/docs/XUL/notificationbox" title="es/XUL/notificationbox">notificationbox</a><br>
- <a href="/es/docs/XUL/observes" title="es/XUL/observes">observes</a><br>
- <a href="/es/docs/XUL/overlay" title="es/XUL/overlay">overlay</a><br>
- <a href="/es/docs/XUL/page" title="es/XUL/page">page</a><br>
- <a href="/es/docs/XUL/panel" title="es/XUL/panel">panel</a><br>
- <a href="/es/docs/XUL/param" title="es/XUL/param">param</a><br>
- <a href="/es/docs/XUL/popupset" title="es/XUL/popupset">popupset</a><br>
- <a href="/es/docs/XUL/preference" title="es/XUL/preference">preference</a><br>
- <a href="/es/docs/XUL/preferences" title="es/XUL/preferences">preferences</a><br>
- <a href="/es/docs/XUL/prefpane" title="es/XUL/prefpane">prefpane</a><br>
- <a href="/es/docs/XUL/prefwindow" title="es/XUL/prefwindow">prefwindow</a><br>
- <a href="/es/docs/XUL/progressmeter" title="es/XUL/progressmeter">progressmeter</a><br>
- <a href="/es/docs/XUL/query" title="es/XUL/query">query</a><br>
- <a href="/es/docs/XUL/queryset" title="es/XUL/queryset">queryset</a><br>
- <a href="/es/docs/XUL/radio" title="es/XUL/radio">radio</a><br>
- <a href="/es/docs/XUL/radiogroup" title="es/XUL/radiogroup">radiogroup</a><br>
- <a href="/es/docs/XUL/resizer" title="es/XUL/resizer">resizer</a><br>
- <a href="/es/docs/XUL/richlistbox" title="es/XUL/richlistbox">richlistbox</a><br>
- <a href="/es/docs/XUL/richlistitem" title="es/XUL/richlistitem">richlistitem</a><br>
- <a href="/es/docs/XUL/row" title="es/XUL/row">row</a><br>
- <a href="/es/docs/XUL/rows" title="es/XUL/rows">rows</a><br>
- <a href="/es/docs/XUL/rule" title="es/XUL/rule">rule</a><br>
- <a href="/es/docs/XUL/scale" title="es/XUL/scale">scale</a><br>
- <a href="/es/docs/XUL/script" title="es/XUL/script">script</a><br>
- <a href="/es/docs/XUL/scrollbar" title="es/XUL/scrollbar">scrollbar</a><br>
- <a href="/es/docs/XUL/scrollbox" title="es/XUL/scrollbox">scrollbox</a><br>
- <a href="/es/docs/XUL/scrollcorner" title="es/XUL/scrollcorner">scrollcorner</a><br>
- <a href="/es/docs/XUL/separator" title="es/XUL/separator">separator</a><br>
- <a href="/es/docs/XUL/spacer" title="es/XUL/spacer">spacer</a><br>
- <a href="/es/docs/XUL/spinbuttons" title="es/XUL/spinbuttons">spinbuttons</a><br>
- <a href="/es/docs/XUL/splitter" title="es/XUL/splitter">splitter</a><br>
- <a href="/es/docs/XUL/stack" title="es/XUL/stack">stack</a><br>
- <a href="/es/docs/XUL/Statusbar" title="es/XUL/statusbar">statusbar</a></p>
- </td>
- <td>
- <p><a href="/es/docs/XUL/statusbarpanel" title="es/XUL/statusbarpanel">statusbarpanel</a><br>
- <a href="/es/docs/XUL/stringbundle" title="es/XUL/stringbundle">stringbundle</a><br>
- <a href="/es/docs/XUL/stringbundleset" title="es/XUL/stringbundleset">stringbundleset</a><br>
- <a href="/es/docs/XUL/tab" title="es/XUL/tab">tab</a><br>
- <a href="/es/docs/XUL/tabbrowser" title="es/XUL/tabbrowser">tabbrowser</a> (Firefox-a partir de<br>
- Firefox 3/Gecko 1.9)<br>
- <a href="/es/docs/XUL/tabbox" title="es/XUL/tabbox">tabbox</a><br>
- <a href="/es/docs/XUL/tabpanel" title="es/XUL/tabpanel">tabpanel</a><br>
- <a href="/es/docs/XUL/tabpanels" title="es/XUL/tabpanels">tabpanels</a><br>
- <a href="/es/docs/XUL/tabs" title="es/XUL/tabs">tabs</a><br>
- <a href="/es/docs/XUL/template" title="es/XUL/template">template</a><br>
- <a href="/es/docs/XUL/textnode" title="es/XUL/textnode">textnode</a><br>
- <a href="/es/docs/XUL/textbox" title="es/XUL/textbox">textbox</a><br>
- <a href="/es/docs/XUL/textbox_(Firefox_autocomplete)" title="es/XUL/textbox (Firefox autocomplete)">textbox (Firefox autocomplete)</a><br>
- <a href="/es/docs/XUL/textbox_(Mozilla_autocomplete)" title="es/XUL/textbox (Mozilla autocomplete)">textbox (Mozilla autocomplete)</a><br>
- <a href="/es/docs/XUL/timepicker" title="es/XUL/timepicker">timepicker</a><br>
- <a href="/es/docs/XUL/titlebar" title="es/XUL/titlebar">titlebar</a><br>
- <a href="/es/docs/XUL/toolbar" title="es/XUL/toolbar">toolbar</a><br>
- <a href="/es/docs/XUL/toolbarbutton" title="es/XUL/toolbarbutton">toolbarbutton</a><br>
- <a href="/es/docs/XUL/toolbargrippy" title="es/XUL/toolbargrippy">toolbargrippy</a><br>
- <a href="/es/docs/XUL/toolbaritem" title="es/XUL/toolbaritem">toolbaritem</a><br>
- <a href="/es/docs/XUL/toolbarpalette" title="es/XUL/toolbarpalette">toolbarpalette</a><br>
- <a href="/es/docs/XUL/toolbarseparator" title="es/XUL/toolbarseparator">toolbarseparator</a><br>
- <a href="/es/docs/XUL/toolbarset" title="es/XUL/toolbarset">toolbarset</a><br>
- <a href="/es/docs/XUL/toolbarspacer" title="es/XUL/toolbarspacer">toolbarspacer</a><br>
- <a href="/es/docs/XUL/toolbarspring" title="es/XUL/toolbarspring">toolbarspring</a><br>
- <a href="/es/docs/XUL/toolbox" title="es/XUL/toolbox">toolbox</a><br>
- <a href="/es/docs/XUL/tooltip" title="es/XUL/tooltip">tooltip</a><br>
- <a href="/es/docs/XUL/tree" title="es/XUL/tree">tree</a><br>
- <a href="/es/docs/XUL/treecell" title="es/XUL/treecell">treecell</a><br>
- <a href="/es/docs/XUL/treechildren" title="es/XUL/treechildren">treechildren</a><br>
- <a href="/es/docs/XUL/treecol" title="es/XUL/treecol">treecol</a><br>
- <a href="/es/docs/XUL/treecols" title="es/XUL/treecols">treecols</a><br>
- <a href="/es/docs/XUL/treeitem" title="es/XUL/treeitem">treeitem</a><br>
- <a href="/es/docs/XUL/treerow" title="es/XUL/treerow">treerow</a><br>
- <a href="/es/docs/XUL/treeseparator" title="es/XUL/treeseparator">treeseparator</a><br>
- <a href="/es/docs/XUL/triple" title="es/XUL/triple">triple</a><br>
- <a href="/es/docs/XUL/vbox" title="es/XUL/vbox">vbox</a><br>
- <a href="/es/docs/XUL/where" title="es/XUL/where">where</a><br>
- <a href="/es/docs/XUL/window" title="es/XUL/window">window</a><br>
- <a href="/es/docs/XUL/wizard" title="es/XUL/wizard">wizard</a><br>
- <a href="/es/docs/XUL/wizardpage" title="es/XUL/wizardpage">wizardpage</a></p>
- </td>
- </tr>
- </tbody>
-</table>
-<h1 id="Referencia_de_XUL">Referencia de XUL</h1>
-<p>« <a href="/es/docs/XUL" title="es/XUL">Referencia de XUL</a> «</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th colspan="3">Elementos XUL por categoría</th>
- </tr>
- <tr>
- <td>
- <p><u><strong>VENTANAS</strong></u></p>
- <p><a href="/en-US/docs/XUL/dialog" title="XUL/dialog">dialog</a><br>
- <a href="/en-US/docs/XUL/overlay" title="XUL/overlay">overlay</a><br>
- <a href="/en-US/docs/XUL/page" title="XUL/page">page</a><br>
- <a href="/en-US/docs/XUL/window" title="XUL/window">window</a><br>
- <a href="/en-US/docs/XUL/wizard" title="XUL/wizard">wizard</a><br>
- <a href="/en-US/docs/XUL/wizardpage" title="XUL/wizardpage">wizardpage</a><br>
- <a href="/en-US/docs/XUL/preference" title="XUL/preference">preference</a><br>
- <a href="/en-US/docs/XUL/preferences" title="XUL/preferences">preferences</a><br>
- <a href="/en-US/docs/XUL/prefpane" title="XUL/prefpane">prefpane</a><br>
- <a href="/en-US/docs/XUL/prefwindow" title="XUL/prefwindow">prefwindow</a></p>
- <p><u><strong>ESTRUCTURA<br>
- DE VENTANAS</strong></u></p>
- <p><a href="/en-US/docs/XUL/browser" title="XUL/browser">browser</a><br>
- <a href="/en-US/docs/XUL/tabbrowser" title="XUL/tabbrowser">tabbrowser</a><br>
- <a href="/en-US/docs/XUL/editor" title="XUL/editor">editor</a><br>
- <a href="/en-US/docs/XUL/iframe" title="XUL/iframe">iframe</a><br>
- <a href="/en-US/docs/XUL/titlebar" title="XUL/titlebar">titlebar</a><br>
- <a href="/en-US/docs/XUL/resizer" title="XUL/resizer">resizer</a><br>
- <a href="/en-US/docs/XUL/statusbar" title="XUL/statusbar">statusbar</a><br>
- <a href="/en-US/docs/XUL/statusbarpanel" title="XUL/statusbarpanel">statusbarpanel</a><br>
- <a href="/en-US/docs/XUL/dialogheader" title="XUL/dialogheader">dialogheader</a><br>
- <a href="/en-US/docs/XUL/notification" title="XUL/notification">notification</a><br>
- <a href="/en-US/docs/XUL/notificationbox" title="XUL/notificationbox">notificationbox</a></p>
- <p><u><strong>MENUS Y VENTANAS<br>
- EMERGENTES</strong></u></p>
- <p><a href="/en-US/docs/XUL/menubar" title="XUL/menubar">menubar</a><br>
- <a href="/en-US/docs/XUL/menu" title="XUL/menu">menu</a><br>
- <a href="/en-US/docs/XUL/menuitem" title="XUL/menuitem">menuitem</a><br>
- <a href="/en-US/docs/XUL/menuseparator" title="XUL/menuseparator">menuseparator</a><br>
- <a href="/en-US/docs/XUL/menupopup" title="XUL/menupopup">menupopup</a><br>
- <a href="/en-US/docs/XUL/panel" title="XUL/panel">panel</a><br>
- <a href="/en-US/docs/XUL/tooltip" title="XUL/tooltip">tooltip</a><br>
- <a href="/en-US/docs/XUL/popupset" title="XUL/popupset">popupset</a></p>
- <p><u><strong>BARRAS DE<br>
- HERRAMIENTAS</strong></u></p>
- <p><a href="/en-US/docs/XUL/toolbar" title="XUL/toolbar">toolbar</a><br>
- <a href="/en-US/docs/XUL/toolbarbutton" title="XUL/toolbarbutton">toolbarbutton</a><br>
- <a href="/en-US/docs/XUL/toolbargrippy" title="XUL/toolbargrippy">toolbargrippy</a><br>
- <a href="/en-US/docs/XUL/toolbaritem" title="XUL/toolbaritem">toolbaritem</a><br>
- <a href="/en-US/docs/XUL/toolbarpalette" title="XUL/toolbarpalette">toolbarpalette</a><br>
- <a href="/en-US/docs/XUL/toolbarseparator" title="XUL/toolbarseparator">toolbarseparator</a><br>
- <a href="/en-US/docs/XUL/toolbarset" title="XUL/toolbarset">toolbarset</a><br>
- <a href="/en-US/docs/XUL/toolbarspacer" title="XUL/toolbarspacer">toolbarspacer</a><br>
- <a href="/en-US/docs/XUL/toolbarspring" title="XUL/toolbarspring">toolbarspring</a><br>
- <a href="/en-US/docs/XUL/toolbox" title="XUL/toolbox">toolbox</a></p>
- <p><u><strong>PESTAÑAS Y<br>
- AGRUPAMIENTO</strong></u></p>
- <p><a href="/en-US/docs/XUL/tabbox" title="XUL/tabbox">tabbox</a><br>
- <a href="/en-US/docs/XUL/tabs" title="XUL/tabs">tabs</a><br>
- <a href="/en-US/docs/XUL/tab" title="XUL/tab">tab</a><br>
- <a href="/en-US/docs/XUL/tabpanels" title="XUL/tabpanels">tabpanels</a><br>
- <a href="/en-US/docs/XUL/tabpanel" title="XUL/tabpanel">tabpanel</a><br>
- <a href="/en-US/docs/XUL/groupbox" title="XUL/groupbox">groupbox</a><br>
- <a href="/en-US/docs/XUL/caption" title="XUL/caption">caption</a><br>
- <a href="/en-US/docs/XUL/separator" title="XUL/separator">separator</a><br>
- <a href="/en-US/docs/XUL/spacer" title="XUL/spacer">spacer</a></p>
- </td>
- <td>
- <p><u><strong>CONTROLES</strong></u></p>
- <p><a href="/en-US/docs/XUL/button" title="XUL/button">button</a><br>
- <a href="/en-US/docs/XUL/checkbox" title="XUL/checkbox">checkbox</a><br>
- <a href="/en-US/docs/XUL/colorpicker" title="XUL/colorpicker">colorpicker</a><br>
- <a href="/en-US/docs/XUL/datepicker" title="XUL/datepicker">datepicker</a><br>
- <a href="/en-US/docs/XUL/menulist" title="XUL/menulist">menulist</a><br>
- <a href="/en-US/docs/XUL/progressmeter" title="XUL/progressmeter">progressmeter</a><br>
- <a href="/en-US/docs/XUL/radio" title="XUL/radio">radio</a><br>
- <a href="/en-US/docs/XUL/radiogroup" title="XUL/radiogroup">radiogroup</a><br>
- <a href="/en-US/docs/XUL/scale" title="XUL/scale">scale</a><br>
- <a href="/en-US/docs/XUL/splitter" title="XUL/splitter">splitter</a><br>
- <a href="/en-US/docs/XUL/textbox" title="XUL/textbox">textbox</a><br>
- <a href="/en-US/docs/XUL/Textbox_(Toolkit_autocomplete)" title="XUL/textbox_(Firefox_autocomplete)">textbox (Firefox autocomplete)</a><br>
- <a href="/en-US/docs/XUL/Textbox_(XPFE_autocomplete)" title="XUL/textbox_(Mozilla_autocomplete)">textbox (Mozilla autocomplete)</a><br>
- <a href="/en-US/docs/XUL/timepicker" title="XUL/timepicker">timepicker</a></p>
- <p><u><strong>TEXTO E<br>
- IMAGENES</strong></u></p>
- <p><a href="/en-US/docs/XUL/description" title="XUL/description">description</a><br>
- <a href="/en-US/docs/XUL/label" title="XUL/label">label</a><br>
- <a href="/en-US/docs/XUL/image" title="XUL/image">image</a></p>
- <p><u><strong>LISTAS</strong></u></p>
- <p><a href="/en-US/docs/XUL/listbox" title="XUL/listbox">listbox</a><br>
- <a href="/en-US/docs/XUL/listitem" title="XUL/listitem">listitem</a><br>
- <a href="/en-US/docs/XUL/listcell" title="XUL/listcell">listcell</a><br>
- <a href="/en-US/docs/XUL/listcol" title="XUL/listcol">listcol</a><br>
- <a href="/en-US/docs/XUL/listcols" title="XUL/listcols">listcols</a><br>
- <a href="/en-US/docs/XUL/listhead" title="XUL/listhead">listhead</a><br>
- <a href="/en-US/docs/XUL/listheader" title="XUL/listheader">listheader</a><br>
- <a href="/en-US/docs/XUL/richlistbox" title="XUL/richlistbox">richlistbox</a><br>
- <a href="/en-US/docs/XUL/richlistitem" title="XUL/richlistitem">richlistitem</a></p>
- <p><u><strong>ARBOLES</strong></u></p>
- <p><a href="/en-US/docs/XUL/tree" title="XUL/tree">tree</a><br>
- <a href="/en-US/docs/XUL/treecell" title="XUL/treecell">treecell</a><br>
- <a href="/en-US/docs/XUL/treechildren" title="XUL/treechildren">treechildren</a><br>
- <a href="/en-US/docs/XUL/treecol" title="XUL/treecol">treecol</a><br>
- <a href="/en-US/docs/XUL/treecols" title="XUL/treecols">treecols</a><br>
- <a href="/en-US/docs/XUL/treeitem" title="XUL/treeitem">treeitem</a><br>
- <a href="/en-US/docs/XUL/treerow" title="XUL/treerow">treerow</a><br>
- <a href="/en-US/docs/XUL/treeseparator" title="XUL/treeseparator">treeseparator</a></p>
- </td>
- <td>
- <p><u><strong>DISPOSICION</strong></u></p>
- <p><a href="/en-US/docs/XUL/box" title="XUL/box">box</a><br>
- <a href="/en-US/docs/XUL/hbox" title="XUL/hbox">hbox</a><br>
- <a href="/en-US/docs/XUL/vbox" title="XUL/vbox">vbox</a><br>
- <a href="/en-US/docs/XUL/bbox" title="XUL/bbox">bbox</a><br>
- <a href="/en-US/docs/XUL/deck" title="XUL/deck">deck</a><br>
- <a href="/en-US/docs/XUL/stack" title="XUL/stack">stack</a><br>
- <a href="/en-US/docs/XUL/grid" title="XUL/grid">grid</a><br>
- <a href="/en-US/docs/XUL/columns" title="XUL/columns">columns</a><br>
- <a href="/en-US/docs/XUL/column" title="XUL/column">column</a><br>
- <a href="/en-US/docs/XUL/rows" title="XUL/rows">rows</a><br>
- <a href="/en-US/docs/XUL/row" title="XUL/row">row</a><br>
- <a href="/en-US/docs/XUL/scrollbox" title="XUL/scrollbox">scrollbox</a></p>
- <p><u><strong>PLANTILLAS</strong></u></p>
- <p><a href="/en-US/docs/XUL/action" title="XUL/action">action</a><br>
- <a href="/en-US/docs/XUL/assign" title="XUL/assign">assign</a><br>
- <a href="/en-US/docs/XUL/binding" title="XUL/binding">binding</a><br>
- <a href="/en-US/docs/XUL/bindings" title="XUL/bindings">bindings</a><br>
- <a href="/en-US/docs/XUL/conditions" title="XUL/conditions">conditions</a><br>
- <a href="/en-US/docs/XUL/content" title="XUL/content">content</a><br>
- <a href="/en-US/docs/XUL/member" title="XUL/member">member</a><br>
- <a href="/en-US/docs/XUL/param" title="XUL/param">param</a><br>
- <a href="/en-US/docs/XUL/query" title="XUL/query">query</a><br>
- <a href="/en-US/docs/XUL/queryset" title="XUL/queryset">queryset</a><br>
- <a href="/en-US/docs/XUL/rule" title="XUL/rule">rule</a><br>
- <a href="/en-US/docs/XUL/template" title="XUL/template">template</a><br>
- <a href="/en-US/docs/XUL/textnode" title="XUL/textnode">textnode</a><br>
- <a href="/en-US/docs/XUL/triple" title="XUL/triple">triple</a><br>
- <a href="/en-US/docs/XUL/where" title="XUL/where">where</a></p>
- <p><u><strong>SCRIPTING</strong></u></p>
- <p><a href="/en-US/docs/XUL/script" title="XUL/script">script</a><br>
- <a href="/en-US/docs/XUL/commandset" title="XUL/commandset">commandset</a><br>
- <a href="/en-US/docs/XUL/command" title="XUL/command">command</a><br>
- <a href="/en-US/docs/XUL/broadcaster" title="XUL/broadcaster">broadcaster</a><br>
- <a href="/en-US/docs/XUL/broadcasterset" title="XUL/broadcasterset">broadcasterset</a><br>
- <a href="/en-US/docs/XUL/observes" title="XUL/observes">observes</a><br>
- <a href="/en-US/docs/XUL/key" title="XUL/key">key</a><br>
- <a href="/en-US/docs/XUL/keyset" title="XUL/keyset">keyset</a><br>
- <a href="/en-US/docs/XUL/stringbundle" title="XUL/stringbundle">stringbundle</a><br>
- <a href="/en-US/docs/XUL/stringbundleset" title="XUL/stringbundleset">stringbundleset</a></p>
- <p><u><strong>ELEMENTOS<br>
- DE AYUDA</strong></u></p>
- <p><a href="/en-US/docs/XUL/scrollbar" title="XUL/scrollbar">arrowscrollbox</a><br>
- <a href="/en-US/docs/XUL/dropmarker" title="XUL/dropmarker">dropmarker</a><br>
- <a href="/en-US/docs/XUL/grippy" title="XUL/grippy">grippy</a><br>
- <a href="/en-US/docs/XUL/scrollbar" title="XUL/scrollbar">scrollbar</a><br>
- <a href="/en-US/docs/XUL/scrollcorner" title="XUL/scrollcorner">scrollcorner</a><br>
- <a href="/en-US/docs/XUL/spinbuttons" title="XUL/spinbuttons">spinbuttons</a></p>
- </td>
- </tr>
- </tbody>
-</table>
-<h3 id="Other_XUL_lists" name="Other_XUL_lists">Otras listas de XUL</h3>
-<ul>
- <li><a href="/en-US/docs/XUL/Attribute" title="XUL/Attribute">Todos los atributos</a></li>
- <li><a href="/en-US/docs/XUL/Property" title="XUL/Property">Todas las propiedades</a></li>
- <li><a href="/en-US/docs/XUL/Method" title="XUL/Method">Todos los métodos</a></li>
- <li><a href="/en-US/docs/XUL_element_attributes" title="XUL_element_attributes">Atributos definidos para todos los elementos de XUL</a></li>
- <li><a href="/en-US/docs/XUL/Style" title="XUL/Style">Clases de estilo</a></li>
- <li><a href="/en-US/docs/XUL/Events" title="XUL/Events">Manipuladores de eventos</a></li>
- <li><a href="/en-US/docs/XUL/Deprecated//Defunct_Markup" title="XUL/Deprecated//Defunct_Markup">Obsoletos/Marcado extinto</a></li>
-</ul>
diff --git a/files/es/archive/mozilla/xul/xul_reference/xul_element_attributes/index.html b/files/es/archive/mozilla/xul/xul_reference/xul_element_attributes/index.html
deleted file mode 100644
index 38b3c37f9a..0000000000
--- a/files/es/archive/mozilla/xul/xul_reference/xul_element_attributes/index.html
+++ /dev/null
@@ -1,551 +0,0 @@
----
-title: Atributos de los elementos XUL
-slug: Archive/Mozilla/XUL/XUL_Reference/XUL_element_attributes
-translation_of: Archive/Mozilla/XUL/XUL_Reference/XUL_element_attributes
----
-<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/es/docs/XUL/Elementos">Referencia de XUL</a></span> Los siguientes atributos son comunes a todos los elementos XUL:</div>
-
-<div id="a-align">
-
-<dl>
- <dt>
- <code id="a-align"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></dt>
- <dd>
- Type: <em>one of the values below</em></dd>
- <dd>
- The align attribute specifies how child elements of the box are aligned, when the size of the box is larger than the total size of the children.
- <ul>
- <li>For boxes that have horizontal orientation, it specifies how its children will be aligned vertically.</li>
- <li>For boxes that have vertical orientation, it specifies how its children will be aligned horizontally.</li>
- </ul>
- </dd>
- <dd>
- <dl>
- <dt>
- <code>start</code></dt>
- <dd>
- Child elements are aligned starting from the left or top edge of the box. If the box is larger than the total size of the children, the extra space is placed on the right or bottom side.</dd>
- <dt>
- <code>center</code></dt>
- <dd>
- Extra space is split equally along each side of the child elements, resulting in the children being placed in the center of the box.</dd>
- <dt>
- <code>end</code></dt>
- <dd>
- Child elements are placed on the right or bottom edge of the box. If the box is larger than the total size of the children, the extra space is placed on the left or top side.</dd>
- <dt>
- <code>baseline</code></dt>
- <dd>
- This value applies to horizontally oriented boxes only. It causes the child elements to be aligned so that their text labels are lined up.</dd>
- <dt>
- <code>stretch</code></dt>
- <dd>
- <em>This is the default value.</em> The child elements are stretched to fit the size of the box. For a horizontal box, the children are stretched to be the height of the box. For a vertical box, the children are stretched to be the width of the box. If the size of the box changes, the children stretch to fit. Use the flex attribute to create elements that stretch in the opposite direction.</dd>
- <dt>
- <code>left</code> <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></dt>
- <dd>
- The elements are aligned on their left edges.</dd>
- <dt>
- <code>center</code> <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></dt>
- <dd>
- The elements are centered horizontally.</dd>
- <dt>
- <code>right</code> <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></dt>
- <dd>
- The elements are aligned on their right edges.</dd>
- </dl>
- </dd>
- <dd>
- The <a href="/en-US/docs/XUL/Attribute/pack" title="XUL/Attribute/pack">pack</a> attribute is related to the alignment but is used to specify the position in the opposite direction. You can also specify the value of align using the style property <a href="/en-US/docs/Web/CSS/-moz-box-align" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-box-align</code></a>.</dd>
-</dl>
-</div> <div id="a-allowevents">
-
-<dl>
- <dt><code id="a-allowevents"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If true, events are passed to children of the element. Otherwise, events are passed to the element only.</dd>
-</dl>
-
-
-
-
-</div> <div id="a-allownegativeassertions">
-
-
-<dl>
- <dt><code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Valid on any element that has a <code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code> attribute. When multiple datasources are used, one may override an assertion from another. This attribute, if <code>true</code>, which is the default, allows a datasource to negate an earlier assertion.</dd>
-</dl>
-</div> <div id="a-class">
-
-
-<dl>
- <dt><code id="a-class"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The style class of the element. Multiple classes may be specified by separating them with spaces.</dd>
-</dl>
-</div> <div id="a-coalesceduplicatearcs">
-
-
-<dl>
- <dt><code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Valid on any element that has a <code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code> attribute. When multiple datasources are used, one may override an assertion from another. This attribute, if <code>true</code>, which is the default, allows a datasource to negate an earlier assertion.</dd>
-</dl>
-</div> <div id="a-collapsed">
-
-
-<dl>
- <dt><code id="a-collapsed"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If <code>true</code>, then the element is collapsed and does not appear. It is equivalent to setting the CSS <a href="/en-US/docs/CSS/visibility" title="/en-US/docs/CSS/visibility">visibility</a> property to <code>collapse</code>.</dd>
-</dl>
-
-
-</div> <div id="a-container">
-
-
-<dl>
- <dt><code id="a-container"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Set to true if the element is to act as a container which can have child elements. This would be used for folders. This will be set by the template builder as needed.</dd>
-</dl>
-</div> <div id="a-containment">
-
-
-<dl>
- <dt><code id="a-containment"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code></dt>
- <dd>Type: <em>URI</em></dd>
- <dd>This attribute specifies RDF properties (an RDF predicate) that indicate that a resource is a container. When generating content from a template this is used to determine which resources from the datasource are containers and thus can have child nodes and which ones are not containers.</dd>
- <dd>This attribute should be placed on the same element that the <code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code> and the <code id="a-ref"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code> attribute is on. It may be set to a space-separated list of RDF properties or resources.</dd>
-</dl>
-</div> <div id="a-context">
-
-
-<dl>
- <dt><code id="a-context"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Should be set to the value of the id of the popup element that should appear when the user context-clicks on the element. A context-click varies on each platform. Usually it will be a right click. You can use the special value '_child' to indicate the first <code><a href="/en-US/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> child of the element.</dd>
-</dl>
-</div> <div id="a-contextmenu">
-
-
-<dl>
- <dt><code id="a-contextmenu"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Alternate name for the <code id="a-context"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code> attribute, but also has a corresponding script property <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/contextMenu">contextMenu</a></span></code>.</dd>
-</dl>
-</div> <div id="a-datasources">
-
-
-<dl>
- <dt><code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code></dt>
- <dd>Type: <em>space separated list of datasource URIs</em></dd>
- <dd>A space-separated list of datasources that an element's template will use for content generation. These can be either internal datasources such as rdf:bookmarks or a URL. The datasources attribute may be placed on most elements, although it will usually be found on trees and menu related elements. The element should have a <code><a href="/en-US/docs/Mozilla/Tech/XUL/template" title="template">template</a></code> element as a child.</dd>
- <dd>For RDF templates, the specified datasources are combined into a single composite datasource which holds the data from all of the datasources. This composite datasource is accesssible via a script through the database property.</dd>
- <dd>For XML datasources, only one source is used, either the URL of an XML file or an anchor reference to another element within the same document. For instance, the reference '#data' refers to an element with the id 'data'.</dd>
- <dd>If you plan on adding a datasource to an element but don't want one to be added right away, set this attribute to 'rdf:null'. This will make the element so that its contents can be generated from a datasource. Otherwise, you cannot add one later.</dd>
- <dd>When the XUL document is contained on a remote web site, the datasources may only be loaded from the same domain as the document.</dd>
-</dl>
-</div> <div id="a-dir">
-
-
-<dl>
- <dt><code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>The direction in which the child elements of the element are placed.
- <dl>
- <dt><code>normal</code></dt>
- <dd>For scales, the scale's values are ordered from left to right (for horizontal scales) or from top to bottom (for vertical scales)  For other elements, the elements are placed left to right or top to bottom in the order they appear in the XUL code.</dd>
- <dt><code>reverse</code></dt>
- <dd>For scales, the scale's values are ordered from right to left (for horizontal scales) or from bottom to top (for vertical scales). For other elements, they are placed right to left or bottom to top. This is reverse of the order in which they appear in the XUL code.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-empty">
-
-
-<dl>
- <dt><code id="a-empty"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Set to true if the element is a container that contains no children. This will be set by the template builder as needed.</dd>
-</dl>
-</div> <div id="a-equalsize">
-
-
-<dl>
- <dt><code id="a-equalsize"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>This attribute can be used to make the children of the element equal in size.
- <dl>
- <dt><code>always</code></dt>
- <dd>For a horizontally oriented element, this will make all of its children have the width of the widest child. For a vertically oriented element, this will make its children all have the height of the tallest child.</dd>
- <dt><code>never</code></dt>
- <dd>All of the children are displayed at the size required by the content or as specified by the <code id="a-width"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> and <code id="a-height"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code> attributes or the CSS <a href="/en-US/docs/Web/CSS/width" title="The width CSS property sets an element's width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area."><code>width</code></a> and <a href="/en-US/docs/Web/CSS/height" title="The height CSS property specifies the height of an element. By default, the property defines the height of the content area. If box-sizing is set to border-box, however, it instead determines the height of the border area."><code>height</code></a> properties.</dd>
- </dl>
- </dd>
-</dl>
-</div> <div id="a-flags">
-
-
-<dl>
- <dt><code id="a-flags"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code></dt>
- <dd>Type: <em>space-separated list of the values below</em></dd>
- <dd>A set of flags used for miscellaneous purposes. Two flags are defined, which may be the value of this attribute.
- <ul>
- <li><code>dont-test-empty</code>: For template generated content, the builder will not check that a container is empty.</li>
- <li><code>dont-build-content</code>: This flag may be used on a tree to indicate that content elements should not be generated. This results in a performance enhancement, but you will not be able to use the DOM functions to retrieve the tree rows.</li>
- </ul>
- </dd>
-</dl>
-</div> <div id="a-flex">
-
-
-<dl>
- <dt><code id="a-flex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>Indicates the flexibility of the element, which indicates how an element's container distributes remaining empty space among its children. Flexible elements grow and shrink to fit their given space. Elements with larger flex values will be made larger than elements with lower flex values, at the ratio determined by the two elements. The actual value is not relevant unless there are other flexible elements within the same container. Once the default sizes of elements in a box are calculated, the remaining space in the box is divided among the flexible elements, according to their flex ratios. Specifying a flex value of 0 has the same effect as leaving the flex attribute out entirely.</dd>
-</dl>
-</div> <div id="a-height">
-
-
-<dl>
- <dt><code id="a-height"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The preferred height of the element in pixels. The actual displayed height may be different if the element or its contents have a minimum or maximum height. The CSS height property may also be used.</dd>
-</dl>
-</div> <div id="a-hidden">
-
-
-<dl>
- <dt><code id="a-hidden"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If set to true, the element is not displayed. This is similar to setting the CSS display property to 'none'.</dd>
-</dl>
-
-
-</div> <div id="a-id">
-
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt>
- <dd>Type: <em>unique id</em></dd>
- <dd>A unique identifier so that you can identify the element with. You can use this as a parameter to <code><a href="/en-US/docs/DOM/document.getElementById" title="/en-US/docs/DOM/document.getElementById">getElementById()</a></code> and other DOM functions and to reference the element in style sheets.</dd>
-</dl>
-
-
-</div> <div id="a-insertafter">
-
-
-<dl>
- <dt><code id="a-insertafter"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>When an element is in an <code><a href="/en-US/docs/Mozilla/Tech/XUL/overlay" title="overlay">overlay</a></code>, the insertafter attribute specifies the <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of the element in the base window that the element should appear after. This attribute overrides the <code id="a-insertbefore"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code> attribute. This value may be a comma-separated list of ids, which are scanned and the first one found in the window is used.</dd>
-</dl>
-</div> <div id="a-insertbefore">
-
-
-<dl>
- <dt><code id="a-insertbefore"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>When an element is in an <code><a href="/en-US/docs/Mozilla/Tech/XUL/overlay" title="overlay">overlay</a></code>, the insertbefore attribute specifies the <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of the element in the base window that the element should appear before. This value may be a comma-separated list of ids, which are scanned and the first one found in the window is used.</dd>
-</dl>
-</div> <div id="a-left">
-
-
-<dl>
- <dt><code id="a-left"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>For elements placed directly within a <code><a href="/en-US/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code>, specifies the pixel position of the left edge of the element relative to the left edge of the stack.</dd>
-</dl>
-</div> <div id="a-maxheight">
-
-
-<dl>
- <dt><code id="a-maxheight"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The maximum height of the element. This corresponds to the max-height CSS property.</dd>
-</dl>
-</div> <div id="a-maxwidth">
-
-
-<dl>
- <dt><code id="a-maxwidth"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The maximum width of the element. This corresponds to the max-width CSS property.</dd>
-</dl>
-</div> <div id="a-menu">
-
-
-<dl>
- <dt><code id="a-menu"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Alternate name for the <code><code id="a-popup"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code></code> attribute, but also has a corresponding script property 'menu'.</dd>
-</dl>
-</div> <div id="a-minheight">
-
-
-<dl>
- <dt><code id="a-minheight"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The minimum height of the element. This corresponds to the min-height CSS property.</dd>
-</dl>
-</div> <div id="a-minwidth">
-
-
-<dl>
- <dt><code id="a-minwidth"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The minimum width of the element. This corresponds to the min-width CSS property.</dd>
-</dl>
-</div> <div id="a-mousethrough">
-
-
-<dl>
- <dt><code id="a-mousethrough"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>Determines whether mouse events are passed to the element or not. If this attribute is not specified, the value is inherited from the parent of the element. If no ancestor has the mousethrough attribute set, the default value is <code>never</code>.
- <dl>
- <dt><code>always</code></dt>
- <dd>Mouse events are transparent to the element. This means that the element will not receive any mouse events due to either clicking or movement. Child elements may override this if they specify mousethrough="never".</dd>
- <dt><code>never</code></dt>
- <dd>Mouse events are passed to the element as normal.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-observes">
-
-
-<dl>
- <dt><code id="a-observes"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Set to an id of a <code><a href="/en-US/docs/Mozilla/Tech/XUL/broadcaster" title="broadcaster">broadcaster</a></code> element that is being observed by the element. If an attribute changes in the broadcaster it is also changed in the observer.</dd>
-</dl>
-</div> <div id="a-ordinal">
-
-
-<dl>
- <dt><code id="a-ordinal"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>An integer which specifies the position of the element within its parent. By default, elements appear in the order they appear in the XUL code. The ordinal attribute can be used to change the order. Note the default ordinal for elements is 1. You can retrieve the displayed order by using the properties of the <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/boxObject">boxObject</a></span></code> of the container.</dd>
-</dl>
-</div> <div id="a-orient">
-
-
-<dl>
- <dt><code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>Used to specify whether the children of the element are oriented horizontally or vertically. The default value depends on the element. You can also use the <a href="/en-US/docs/Web/CSS/-moz-box-orient" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-box-orient</code></a> style property.
- <dl>
- <dt><code>horizontal</code></dt>
- <dd>Child elements of the element are placed next to each other in a row in the order that they appear in the XUL source.</dd>
- <dt><code>vertical</code></dt>
- <dd>Child elements of the element are placed under each other in a column in the order that they appear in the XUL source.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-pack">
-
-
-<dl>
- <dt><code id="a-pack"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>The pack attribute specifies where child elements of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/box" title="box">box</a></code> are placed when the box is larger that the size of the children. For boxes with horizontal orientation, it is used to indicate the position of children horizontally. For boxes with vertical orientation, it is used to indicate the position of children vertically. The <code id="a-align"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code> attribute is used to specify the position in the opposite direction. You can also specify the value of pack using the style property <a href="/en-US/docs/Web/CSS/-moz-box-pack" title="The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box. See Flexbox for more about the properties of flexbox elements."><code>-moz-box-pack</code></a>.
- <dl>
- <dt><code>start</code></dt>
- <dd>Child elements are placed starting from the left or top edge of the box. If the box is larger than the total size of the children, the extra space is placed on the right or bottom side.</dd>
- <dt><code>center</code></dt>
- <dd>Extra space is split equally along each side of the child elements, resulting the children being placed in the center of the box.</dd>
- <dt><code>end</code></dt>
- <dd>Child elements are placed on the right or bottom edge of the box. If the box is larger than the total size of the children, the extra space is placed on the left or top side.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-persist">
-
-
-<dl>
- <dt><code id="a-persist"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code></dt>
- <dd>Type: <em>space-separated list of attribute names</em></dd>
- <dd>A space-separated list of attributes that are maintained when the window is closed. When the window is re-opened, the values of persistent attributes are restored. In Mozilla, persistent attributes are stored in the per-profile file <code>xulstore.json</code>. Persistence can also be stored using the <code>document.persist</code> function. In order for persistence to work, the element must also have an <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>. Persistence will not remember the <em>absence</em> of an attribute, so for boolean attributes like <code id="a-checked"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checked">checked</a></code> where absence means <code>false</code>, you will need to explicitly set the attribute to false before the window closes (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=15232">bug 15232</a>).</dd>
-</dl>
-</div> <div id="a-popup">
-
-
-<dl>
- <dt><code id="a-popup"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Should be set to the value of the <code><code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> of the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/popup" title="popup">popup</a></code></code> element that should appear when the user clicks on the element.</dd>
-</dl>
-
-
-</div> <div id="a-position">
-
-
-<dl>
- <dt><code id="a-position"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>When an element is in an <code><a href="/en-US/docs/Mozilla/Tech/XUL/overlay" title="overlay">overlay</a></code>, the position is an index where the child is inserted. The position is one-based, so use a value of 1 to place the element at the beginning. This attribute is ignored if either an <code id="a-insertbefore"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code> or <code id="a-insertafter"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code> attribute matches an element.</dd>
-</dl>
-</div> <div id="a-preference-editable">
-
-
-<dl>
- <dt><code id="a-preference-editable"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code></dt>
- <dd><strong><span class="highlightgreen">Mozilla 1.8</span></strong></dd>
- <dd>Type: <em>boolean</em></dd>
- <dd>If <code>true</code>, the element may be used as one that modifies a preference in a <code><a href="/en-US/docs/Mozilla/Tech/XUL/prefwindow" title="prefwindow">prefwindow</a></code>. The <code id="a-preference"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/preference">preference</a></code> attribute may be used to connect to a <code><a href="/en-US/docs/Mozilla/Tech/XUL/preference" title="preference">preference</a></code> element. This is useful for custom elements implemented in XBL. The element should fire <code>change</code>, <code>command</code>, or <code>input</code> event when the value is changed so that the preference will update accordingly.<br>
- <br>
- See the <a href="/en/Preferences_System/New_attributes" title="en/Preferences System/New attributes">pref system documentation</a> for more information.</dd>
-</dl>
-</div> <div id="a-querytype">
-
-
-<dl>
- <dt><code id="a-querytype"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Indicates the type of datasource used in a template. Firefox 3 provides 3 built-in datasources: 'rdf', default, 'xml' and 'storage'. Extensions may provide support for additional datasources.</dd>
-</dl>
-</div> <div id="a-ref">
-
-
-<dl>
- <dt><code id="a-ref"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code></dt>
- <dd>Type: <em>URI</em></dd>
- <dd>For template-generated elements, this attribute is used to specify the root RDF node where content generation begins. This will correspond to the value of an about attribute on an RDF container. This attribute should be placed alongside the datasources attribute.</dd>
-</dl>
-</div> <div id="a-removeelement">
-
-
-<dl>
- <dt><code id="a-removeelement"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>When placed on an element in an <code><a href="/en-US/docs/Mozilla/Tech/XUL/overlay" title="overlay">overlay</a></code>, it indicates that the element in the base file should be removed from the window.</dd>
-</dl>
-</div> <div id="a-sortDirection">
-
-
-<dl>
- <dt><code id="a-sortDirection"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>Set this attribute to set the direction that template-generated content is sorted. Use the <code id="a-sortResource"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code> attribute to specify the sort key.
- <dl>
- <dt><code>ascending</code></dt>
- <dd>The data is sorted in ascending order.</dd>
- <dt><code>descending</code></dt>
- <dd>The data is sorted in descending order.</dd>
- <dt><code>natural</code></dt>
- <dd>The data is sorted in natural order, which means the order that it is stored in.</dd>
- </dl>
- </dd>
-</dl>
-</div> <div id="a-sortResource">
-
-
-<dl>
- <dt><code id="a-sortResource"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code></dt>
- <dd>Type: <em>URI</em></dd>
- <dd>For template-generated content, this specifies the sort key, if you would like the content to be sorted. The key should be the full URI of the RDF resource to sort by, for example '<code><span class="nowiki">http://home.netscape.com/NC-rdf#Name</span></code>'. Place this attribute on the same element as the <code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code> attribute. Use <code id="a-sortResource2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code> to specify a secondary sort key.</dd>
-</dl>
-</div> <div id="a-sortResource2">
-
-
-<dl>
- <dt><code id="a-sortResource2"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code></dt>
- <dd>Type: <em>URI</em></dd>
- <dd>The value of this attribute is the URI of an RDF predicate that serves as a secondary key for sorted content.</dd>
-</dl>
-</div> <div id="a-statustext">
-
-
-<dl>
- <dt><code id="a-statustext"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Used to set the text that appears on the status bar when the user moves the mouse over the element. Mozilla doesn't adjust the status bar automatically however. This attribute serves only as a place to keep the text. In Firefox, this text is automatically placed in the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/statusbar" title="statusbar">statusbar</a></code></code> for menuitems on the menu bar.</dd>
-</dl>
-
-
-</div> <div id="a-style">
-
-
-<dl>
- <dt><code id="a-style"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code></dt>
- <dd>Type: <em>CSS inline style</em></dd>
- <dd>CSS style rules to be applied to the element. Syntax is as in the HTML style attribute. It is preferred to put style rules in style sheets.</dd>
-</dl>
-</div> <div id="a-template">
-
-
-<dl>
- <dt><code id="a-template"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>For template generated elements, this attribute may optionally be placed on the root node (the element with the <code id="a-datasources"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code> attribute) to refer to a template that exists elsewhere in the XUL code. This template attribute should be set to the <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/template" title="template">template</a></code> element. This might be used to share a single template between multiple trees or menus. If this attribute is not specified, there should be a template element directly inside the node.</dd>
-</dl>
-</div> <div id="a-tooltip">
-
-
-<dl>
- <dt><code id="a-tooltip"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Should be set to the value of the <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tooltip" title="tooltip">tooltip</a></code> or <code><a href="/en-US/docs/Mozilla/Tech/XUL/panel" title="panel">panel</a></code> element that should be used as a tooltip window when the mouse hovers over the element for a moment. The tooltip will automatically disappear when the mouse is moved. If this attribute is set to '_child', the first <code><a href="/en-US/docs/Mozilla/Tech/XUL/tooltip" title="tooltip">tooltip</a></code> child element inside the element is used.</dd>
-</dl>
-</div> <div id="a-tooltiptext">
-
-
-<dl>
- <dt><code id="a-tooltiptext"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Used to set the text which appears in the tooltip when the user moves the mouse over the element. This can be used instead of setting the tooltip to a popup for the common case where it contains only text. The tooltip is displayed in a default tooltip which displays only a label, however the default tooltip may be changed by setting the default attribute on a <code><a href="/en-US/docs/Mozilla/Tech/XUL/tooltip" title="tooltip">tooltip</a></code> element.</dd>
-</dl>
-</div> <div id="a-top">
-
-
-<dl>
- <dt><code id="a-top"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>For elements placed directly within a <code><a href="/en-US/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code>, specifies the pixel position of the top edge of the element relative to the top edge of the stack.</dd>
-</dl>
-</div> <div id="a-uri">
-
-
-<dl>
- <dt><code id="a-uri"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>For template-generated content, the attribute should be placed on the element where content generation should begin. Thus, it should be placed on an element that is a descendant of a template. The value should be set to <code>rdf:*</code>.</dd>
-</dl>
-
-<dl>
- <dd>Elements that appear inside the element with the attribute will be repeated for each node in the RDF datasource. Elements outside will appear only once.</dd>
-</dl>
-</div> <div id="a-wait-cursor">
-
-
-<dl>
- <dt>
- <code id="a-wait-cursor"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code></dt>
- <dd>
- Type: <em>boolean</em></dd>
- <dd>
- Set this attribute to true to have the cursor switch to a waiting cursor while the mouse is hovering over the element. Usually, you would only use this on the <code><a href="/en-US/docs/Mozilla/Tech/XUL/window" title="window">window</a></code> element or other top-level elements. In order to revert to the normal cursor state call the method <code>removeAttribute("wait-cursor")</code> when the process effectively has ended otherwise the wait cursor might never disappear.</dd>
-</dl>
-
-</div> <div id="a-width">
-
-
-<dl>
- <dt><code id="a-width"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code></dt>
- <dd>Type: <em>string</em> (representing an integer)</dd>
- <dd>The preferred width of the element. The value should not include a unit as all values are in pixels. The actual displayed width may be different if the element or its contents have a minimum or maximum width, or the size is adjusted by the flexibility or alignment of its parent. The CSS width property may also be used.</dd>
-</dl>
-
-
-</div>
diff --git a/files/es/archive/mozilla/xulrunner/componentes/index.html b/files/es/archive/mozilla/xulrunner/componentes/index.html
deleted file mode 100644
index 43a9d08d67..0000000000
--- a/files/es/archive/mozilla/xulrunner/componentes/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: Componentes
-slug: Archive/Mozilla/XULRunner/Componentes
-tags:
- - Componentes
- - Todas_las_Categorías
-translation_of: Archive/Mozilla/XULRunner/Components
----
-<p> </p>
-<h3 id="Componentes.2C_Listado_alfab.C3.A9tico_.28Incompleto.29" name="Componentes.2C_Listado_alfab.C3.A9tico_.28Incompleto.29">Componentes, Listado alfabético (Incompleto)</h3>
-<ul>
- <li><a href="es/NsDirectoryService">nsDirectoryService</a></li>
- <li><a href="es/NsObserverService">nsObserverService</a></li>
- <li><a href="es/NsScriptableInputStream">nsScriptableInputStream</a></li>
-</ul>
-<p><span class="comment">categorías</span></p>
diff --git a/files/es/archive/mozilla/xulrunner/index.html b/files/es/archive/mozilla/xulrunner/index.html
deleted file mode 100644
index 74f6b6313a..0000000000
--- a/files/es/archive/mozilla/xulrunner/index.html
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: XULRunner
-slug: Archive/Mozilla/XULRunner
-tags:
- - Todas_las_Categorías
- - XUL
- - 'XUL:Herramientas'
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner
----
-<div style="text-align: justify;">
-<div class="callout-box">
- <strong><a href="/en-US/docs/Getting_started_with_XULRunner" title="Getting_started_with_XULRunner">Primeros pasos con XULRunner</a> (en inglés)</strong><br>
- Una pequeña introducción a XULRunner.</div>
-<div>
- <strong>XULRunner</strong> es un paquete de ejecución de Mozilla que puede ser usado para crear aplicaciones <a href="/es/docs/XUL" title="XUL">XUL</a>+<a href="/es/docs/XPCOM" title="XPCOM">XPCOM</a> tan valiosas como Firefox y Thunderbird. Ofrecerá mecanismos para instalar, actualizar y desinstalar esas aplicaciones. XULRunner ofrecerá también libxul, una solución que permite la integración de las tecnologías de Mozilla en otros proyectos y productos.</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 id="Versiones" name="Versiones">Versiones</h2>
- <div class="note" style="text-align: justify;">
- <p>XULRunner 20.0 ha sido liberado y puede ser <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/" title="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/">descargado desde ftp.mozilla.org</a>. Por favor leer las <a class="internal" href="/en-US/docs/XULRunner_1.9.2_Release_Notes" title="XULRunner 1.9.2 Release Notes">notas de versión (en inglés)</a> para instalación, desinstalación, y otras informaciones.</p>
- <p>Firefox 3 y posteriores son entregados con un paquete propio de XULRunner, el cual puede ejecutar cualquier aplicación compatible de XULRunner usando el interruptor <code>-app</code>.</p>
- <p><a href="/en-US/docs/XULRunner/Old_Releases" title="XULRunner/Old_Releases">Versiones anteriores</a> (en inglés) que están también disponibles.</p>
- </div>
- <h2 id="Generalidades" name="Generalidades">Generalidades</h2>
- <ul>
- <li><a class="wikimo" href="https://wiki.mozilla.org/XULRunner" title="Development Plan">Development Plan</a> Plan de desarrollo (en inglés)</li>
- <li><a href="/en-US/docs/XULRunner/What_XULRunner_Provides" title="XULRunner/What_XULRunner_Provides">Que ofrece XULRunner</a> (en inglés)</li>
- <li><a href="/en-US/docs/XULRunner_FAQ" title="XULRunner_FAQ">XULRunner FAQ</a> (en inglés)</li>
- <li>Versiones periódicas (Nightly builds): <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">rama-inestable</a></li>
- </ul>
- <h2 class="Documentacion" id="Documentacion" name="Documentacion">Documentación</h2>
- <dl style="text-align: justify;">
- <dt>
- <a href="/en-US/docs/Getting_started_with_XULRunner" title="Getting_started_with_XULRunner">Primeros pasos con XULRunner</a> (en inglés)</dt>
- <dd>
- Un pequeño tutorial sobre como construir aplicaciones de escritorio con XULRunner.</dd>
- <dt>
- <a href="/es/docs/Tutorial_de_XUL" title="Tutorial de XUL">Tutorial de XUL</a></dt>
- <dd>
- Una vez que tenga trabajando una aplicación XULRunner, use el tutorial XUL para expandir capacidades y convertirla en una fantastica aplicación XUL.</dd>
- <dt>
- <a href="/en-US/docs/XULRunner_tips" title="XULRunner_tips">Consejos y trucos para XULRunner</a> (en inglés)</dt>
- <dd>
- Una colección de consejos y trucos para trabajar con XULRunner.</dd>
- <dt>
- <a href="/en-US/docs/XULRunner/Deploying_XULRunner_1.8" title="XULRunner/Deploying_XULRunner_1.8">Implementar de XULRunner</a> (en inglés)</dt>
- <dd>
- Una introducción de como empaquetar tus aplicaciones con XULRunner.</dd>
- <dt>
- <a href="/en-US/docs/XULRunner_Hall_of_Fame" title="XULRunner_Hall_of_Fame">Salón de la Fama XULRunner</a> (en inglés)</dt>
- <dd>
- Lista todas las aplicaciones publicadas basadas en XULRunner.</dd>
- <dt>
- <a href="/es/docs/Documentación_para_la_compilación" title="Documentación_para_la_compilación">Documentación para la compilación</a></dt>
- <dd>
- Aprender como conseguir el código fuente y compilarlo.</dd>
- <dt>
- <a href="/en-US/docs/Debugging_a_XULRunner_Application" title="Debugging_a_XULRunner_Application">Documentación sobre depuración</a> (en inglés)</dt>
- <dd>
- Pasos para configurar Venkman para depurar la aplicación</dd>
- <dt>
- <a class="external" href="http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide">Guía de XULRunner</a> (en inglés)</dt>
- <dd>
- Un material bastante completo, pero desactualizado, introducción y tutorial para XULRunner que reúne gran parte de la documentación se encuentran aquí.</dd>
- </dl>
- <p><span class="alllinks"><a href="/es/docs/tag/XULRunner" title="tag/XULRunner">Ver todo...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Comunidad" name="Comunidad">Comunidad</h2>
- <ul>
- <li>Ver foros de Mozilla... <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-platform"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.platform"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.platform/feeds"> como RSS</a></li>
-</ul></li>
- <li><a class="link-irc" href="irc://irc.mozilla.org/#xulrunner">Sala de charla #xulrunner en irc.mozilla.org</a> (en inglés)</li>
- <li><a href="/en-US/docs/XULRunner/Community" title="XULRunner/Community">Enlaces a otras comunidades...</a> (en inglés)</li>
- </ul>
- <h2 class="Related_Topics" id="Temas_relacionados" name="Temas_relacionados">Temas relacionados</h2>
- <ul>
- <li><a href="/es/docs/XUL" title="XUL">XUL</a></li>
- </ul>
- <h2 id="Ver_tambien" name="Ver_tambien">Ver también</h2>
- <ul>
- <li><a class="external" href="http://www.kodewerx.org/wiki/A_Brief_Introduction_To_XULRunner:_Part_1" title="http://www.kodewerx.org/wiki/A_Brief_Introduction_To_XULRunner:_Part_1">Pequeña introducción a XULRunner</a> (en inglés)</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
diff --git a/files/es/archive/mozilla/xulrunner/primeros_pasos_con_xulrunner/index.html b/files/es/archive/mozilla/xulrunner/primeros_pasos_con_xulrunner/index.html
deleted file mode 100644
index f03a183d27..0000000000
--- a/files/es/archive/mozilla/xulrunner/primeros_pasos_con_xulrunner/index.html
+++ /dev/null
@@ -1,280 +0,0 @@
----
-title: Primeros pasos con XULRunner
-slug: Archive/Mozilla/XULRunner/Primeros_pasos_con_XULRunner
-translation_of: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Windows_and_menus_in_XULRunner">Siguiente »</a></p>
-</div><p></p>
-
-<p><span id="result_box" lang="es"><span class="hps">Este artículo explora</span> <a href="https://developer.mozilla.org/es/docs/La_plataforma_Mozilla" title="https://developer.mozilla.org/en-US/docs/The_Mozilla_platform"><span class="hps">la plataforma</span> <span class="hps">Mozilla</span></a> <span class="hps">mediante la construcción de</span> <span class="hps">una aplicación de escritorio</span> <span class="hps">básico utilizando</span> <a href="https://developer.mozilla.org/es/docs/XULRunner" title="https://developer.mozilla.org/es/docs/XULRunner"><span class="hps">XULRunner</span></a><span>.</span> <span class="hps">Dado que</span> <span class="hps">Firefox</span><span>, Thunderbird</span> <span class="hps">y</span> <span class="hps">otras múltiples</span> <span class="hps">aplicaciones</span> <span class="hps">se escriben utilizando</span> <span class="hps">la plataforma</span><span>, es</span> <span class="hps">una apuesta segura que</span> <span class="hps">se puede utilizar</span> <span class="hps">para crear una aplicación</span> <span class="hps">básica.</span> <span class="hps">Hay un artículo</span> <span class="hps">con un</span> <span class="hps">enfoque más</span> <span class="hps">complicado de</span> <span class="hps">construir aplicaciones</span> <span class="hps">XULRunner</span> <span class="hps">en</span> <a href="https://developer.mozilla.org/en-US/docs/Creating_XULRunner_Apps_with_the_Mozilla_Build_System" title="https://developer.mozilla.org/en-US/docs/Creating_XULRunner_Apps_with_the_Mozilla_Build_System"><span class="hps">Creación de</span> <span class="hps">aplicaciones</span> <span class="hps">XULRunner</span> <span class="hps">con el Sistema de</span> <span class="hps">Mozilla</span> <span class="hps">Build</span></a><span>.</span> <span class="hps">Si</span> <span class="hps">necesita cambiar</span> <span class="hps">la propia</span> <span class="hps">XULRunner</span> <span class="hps">o</span> <span class="hps">integrarlo con</span> <span class="hps">código binario externo</span> <span class="hps">puede que tenga que</span> <span class="hps">leer</span> <span class="hps">este artículo.</span></span></p>
-
-<h2 id="Step_1:_Download_XULRunner" name="Step_1:_Download_XULRunner">Paso 1: Descargar XULRunner</h2>
-
-<p><span id="result_box" lang="es"><span class="hps">Usted puede encontrar</span> <span class="hps">un enlace de descarga</span> <span class="hps">en la página principal</span> <a href="https://developer.mozilla.org/es/docs/XULRunner" title="https://developer.mozilla.org/es/docs/XULRunner"><span class="hps">XULRunner</span></a> <span class="hps">aquí en</span> <span class="hps">MDC</span><span>.</span> <span class="hps">Dado que</span> <span class="hps">no estamos creando</span> <span class="hps">ningún componente</span> <span class="hps">XPCOM</span> <span class="hps">binarios</span><span>,</span> <span class="hps">sólo tenemos que</span> <span class="hps">descargar e instalar el</span> <span class="hps">paquete de</span> <span class="hps">tiempo de ejecución</span> <span class="hps">XULRunner</span><span>, no el</span> <span class="hps"><a href="https://developer.mozilla.org/es/docs/Gecko_SDK" title="https://developer.mozilla.org/es/docs/Gecko_SDK">SDK</a>.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">La descarga</span> de <span class="hps">XULRunner</span> <span class="hps">para Windows es</span> <span class="hps">un archivo</span> <em><span class="hps">.zip</span></em><span>, no un</span> <span class="hps">archivo ejecutable</span><span class="hps">.</span> <span class="hps">Como desarrollador</span><span>, me gusta</span> <span class="hps">la idea de que</span> <span class="hps">XULRunner</span> <span class="hps">sólo necesita ser</span> <span class="hps">descomprimido</span> <span class="hps">en mi</span> <span class="hps">máquina.</span> <span class="hps">Supongo que</span> <span class="hps">no es necesario</span> <span class="hps">conectar</span> <span class="hps">a mi</span> <span class="hps">sistema de Windows</span> <span class="hps">y eso es una</span> <span class="hps">buena cosa.</span> <span class="hps">También significa</span> <span class="hps">que el</span> <span class="hps">XULRunner</span> <span class="hps">es portátil</span><span>, así que si</span> <span class="hps">usted desarrolla</span> <span class="hps">sus aplicaciones</span> <span class="hps">para ser portátil</span> <span class="hps">se puede</span> <span class="hps">llevar a todas partes</span> <span class="hps">en una unidad</span> <span class="hps">flash o</span> <span class="hps">sincronizarlos</span> <span class="hps">en la nube.</span></span></p>
-
-<p><span id="result_box" lang="es"><span class="hps">La</span> <span class="hps">versión para Mac de</span> <span class="hps">XULRunner</span> <span class="hps">se distribuye</span> <span class="hps">como un archivo</span> <em><span class="hps">tar.bz2</span></em><span>.</span> <span class="hps">Puede</span> <span class="hps">extraer</span> <span class="hps">este</span> <span class="hps">a cualquier lugar</span> <span class="hps">que quieras,</span> <span class="hps">pero hay</span> <span class="hps">muchos lugares en</span> <span class="hps">la documentación</span> <span class="hps">que</span> <span class="hps">se supone que tiene</span> <span class="hps">esta</span> <span class="hps">instalado en</span></span> <code>/Library/Frameworks</code>.</p>
-
-<p><span id="result_box" lang="es"><span class="hps">En el</span> <span class="hps">escritorio de Ubuntu</span> <span class="atn hps">y sus derivados (</span><span>Xubuntu</span><span>,</span> <span class="hps">Kubuntu</span><span>, ...)</span><span>, a partir de</span> <span class="hps">la versión</span> <span class="atn hps">11.10 (</span><span>Ocelot</span> <span class="hps">onírico</span><span>)</span><span>,</span> <span class="hps">XULRunner</span> <span class="hps">no está</span> <span class="hps">más</span> <span class="hps">cuidada y</span> <span class="hps">no existe en el</span> <span class="hps">repositorio de</span> <span class="hps">Ubuntu.</span> <span class="hps">Por lo tanto</span><span>, ya sea</span> <span class="hps">que usted necesita</span> <span class="hps">para compilar</span> <span class="hps">XULRunner</span> <span class="hps">manual o</span> <span class="hps">descargar una versión</span> <span class="hps">binaria</span> <span class="hps">del</span> <span class="hps">servidor</span> <span class="hps">FTP</span> <span class="hps">de Mozilla.</span> <span class="hps">Una forma de</span> <span class="hps">archieve</span> <span class="hps">esto es ejecutar</span> <span class="hps">la siguiente</span> <span class="hps">secuencia de comandos</span> <span class="hps">cada vez que</span> <span class="hps">se desea instalar</span> <span class="hps">una nueva versión</span><span>:</span></span></p>
-
-<div class="note"><code>FIREFOX_VERSION=`grep -Po  "\d{2}\.\d+" /usr/lib/firefox/platform.ini`<br>
-ARCH=`uname -p`<br>
-XURL=https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$FIREFOX_VERSION/runtimes/xulrunner-$FIREFOX_VERSION.en-US.linux-$ARCH.tar.bz2<br>
-cd /opt<br>
-sudo sh -c "wget -O- $XURL | tar -xj"<br>
-sudo ln -s /opt/xulrunner/xulrunner /usr/bin/xulrunner<br>
-sudo ln -s /opt/xulrunner/xpcshell /usr/bin/xpcshell </code></div>
-
-<p>You could also save this script to a file for convenience.  Note: If you are using Firefox build from Ubuntuzilla repository, replace <code>/usr/lib/firefox/platform.ini</code> with <code>/opt/firefox/platform.ini</code>.</p>
-
-<h2 id="Step_2:__Install_XULRunner" name="Step_2:__Install_XULRunner">Step 2: Install XULRunner</h2>
-
-<p>On Windows, unzip the archive someplace reasonable. I unzipped it to a new <code>C:\program files\xulrunner</code> folder.</p>
-
-<p>On the Mac, extract the tar.bz2 archive, which contains XULRunner as <code>XUL.Framework.</code>  Copy this to the <code>/Library/Frameworks</code> directory, or another location of your choice.</p>
-
-<p>On Linux, you only need to unpack the archive if you are using a pre-release XULRunner.</p>
-
-<div class="note">
-<p>Optionally, if you've downloaded the compressed archive of XULRunner and would like to install it on your system you can do so by running</p>
-
-<p><code>xulrunner --register-global</code></p>
-
-<p>as an administrator to register XULRunner for all users on the machine. To register XULRunner for a single user run</p>
-
-<p><code>xulrunner --register-user</code></p>
-
-<p><code>XULRunner will work whether you install it or not. This is purely for convenience.</code></p>
-</div>
-
-<div class="note">
-<p><span style="color: rgb(93, 86, 54); font-size: 14px; line-height: 1.5em;">In all systems you should unzip the </span><a href="/en-US/docs/Mozilla/About_omni.ja_(formerly_omni.jar)" style="line-height: 1.5em; font-size: 14px;" title="/en-US/docs/Mozilla/About_omni.ja_(formerly_omni.jar)">omni.ja</a><span style="color: rgb(93, 86, 54); font-size: 14px; line-height: 1.5em;"> file into some example directory and take a look at all the awesome! First change the file extension to zip and then use your normal filesystem's decompression tool to open it up. The contents of omni.ja are available to XULRunner applications and are what make it possible to build amazing applications easily!</span></p>
-</div>
-
-<h2 id="Step_3:_Create_the_application_folder_structure" name="Step_3:_Create_the_application_folder_structure">Step 3: Create the application folder structure</h2>
-
-<p>Time to start a simple, bare bones application shell. Call it a XUL “Hello World” if you want. All of what you see below can be found in the <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> documentation here on MDC in much more detail.</p>
-
-<div class="note">
-<p><strong>Hint:</strong> Skip ahead and download the sample application, you can experiment with it while following this tutorial. You can download the sample application from <a href="https://github.com/matthewkastor/XULRunner-Examples" title="https://github.com/matthewkastor/XULRunner-Examples">https://github.com/matthewkastor/XULRunner-Examples</a>. Please continue reading to learn the "what", "why" and "how" parts of building a XULRunner application.</p>
-</div>
-
-<p>On Windows, I created the root in a new <code>c:\program files\myapp</code> folder, but you can create it wherever you like, using whatever OS you like. The same application structure is used on Windows, Mac and Linux. Here is the subfolder structure:</p>
-
-<pre>+ myapp/
-|
-+-+ chrome/
-| |
-| +-+ content/
-| | |
-| | +-- main.xul
-| | |
-| | +-- main.js
-| |
-| +-- chrome.manifest
-|
-+-+ defaults/
-| |
-| +-+ preferences/
-| |
-| +-- prefs.js
-|
-+-- application.ini
-|
-+-- chrome.manifest
-</pre>
-
-<p>Notice that there are 5 files in the folder structure: <code>application.ini</code>, <code>chrome.manifest (2)</code>, <code>prefs.js</code>, and <code>main.xul</code>. The <code>/chrome/chrome.manifest</code> file is optional, but might be useful for backward compatibility. See the note below.</p>
-
-<div class="note">
-<p>For more details on the structure of installable bundles in general see: <a href="/en-US/docs/Bundles" title="/en-US/docs/Bundles">Structure of an installable bundle</a>.</p>
-</div>
-
-<div class="note"><strong>Note:</strong> In XULRunner 2.0, the chrome.manifest is now used to register XPCOM components in addition to its previous uses. Part of this change means the <code>/chrome/chrome.manifest</code> is no longer considered the "root" manifest. XULRunner will not check that folder location for a root-level <code>chrome.manifest</code>. You need to move your existing chrome.manifest to the application root folder, remembering to update the relative paths within the file. You could also just create a new application root-level manifest that includes the <code>/chrome/chrome.manifest</code>, which is what this tutorial will do.</div>
-
-<h2 id="Step_4:_Set_up_application.ini" name="Step_4:_Set_up_application.ini">Step 4: <code>Set up application.ini</code></h2>
-
-<p>The<code> <a href="/en-US/docs/XUL_Application_Packaging" title="/en-US/docs/XUL_Application_Packaging">application.ini</a> </code>file acts as the XULRunner entry point for your application. It specifies how your application intends to use the XULRunner platform as well as configure some information that XULRunner uses to run your application. Here is mine:</p>
-
-<pre>[App]
-Vendor=XULTest
-Name=myapp
-Version=1.0
-BuildID=20100901
-ID=xulapp@xultest.org
-
-[Gecko]
-MinVersion=1.8
-MaxVersion=200.*
-</pre>
-
-<div class="note"><strong>Note:</strong> The <code>MinVersion</code> and <code>MaxVersion</code> fields indicate the range of Gecko versions your application is compatible with; make sure that you set them so that the version of XULRunner you're using is in that range, or your application won't work.</div>
-
-<div class="note"><strong>Note</strong>: Make sure your application name is lowercase and longer than 3 characters</div>
-
-<h2 id="Step_5:_Set_up_the_chrome_manifest" name="Step_5:_Set_up_the_chrome_manifest">Step 5: Set up the chrome manifest</h2>
-
-<p>The <a href="/en-US/docs/Chrome_Registration" title="/en-US/docs/Chrome_Registration">chrome manifest</a> file is used by XULRunner to define specific URIs which in turn are used to locate application resources. This will become clearer when we see how the “chrome://” URI is used. Application chrome can be in a single or a few JAR files or uncompressed as folders and files. I am using the uncompressed method for now. Here is the <code>chrome/chrome.manifest</code>:</p>
-
-<pre class="eval"> content myapp content/
-</pre>
-
-<p>As mentioned in Step 3, the default location of the <code>chrome.manifest</code> has changed in XULRunner 2.0, so we also need a simple <code>chrome.manifest</code> in the <strong>application</strong> root which will include the the manifest in our <strong>chrome</strong> root. Here is the application root <code>chrome.manifest</code>:</p>
-
-<pre>manifest chrome/chrome.manifest</pre>
-
-<h2 id="Step_6:_Set_up_preferences" name="Step_6:_Set_up_preferences">Step 6: Set up preferences</h2>
-
-<p>The <a href="/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences" title="/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences">prefs.js</a> file tells XULRunner the name of the XUL file to use as the main window. Here is mine:</p>
-
-<pre class="eval">pref("toolkit.defaultChromeURI", "<span class="external">chrome://myapp/content/main.xul</span>");
-
-/* debugging prefs, disable these before you deploy your application! */
-pref("browser.dom.window.dump.enabled", true);
-pref("javascript.options.showInConsole", true);
-pref("javascript.options.strict", true);
-pref("nglayout.debug.disable_xul_cache", true);
-pref("nglayout.debug.disable_xul_fastload", true);
-</pre>
-
-<p>XULRunner specific preferences include:</p>
-
-<dl>
- <dt><code><a href="/en-US/docs/toolkit.defaultChromeURI" title="/en-US/docs/toolkit.defaultChromeURI">toolkit.defaultChromeURI</a></code></dt>
- <dd>Specifies the default window to open when the application is launched.</dd>
- <dt><code><a href="/en-US/docs/toolkit.defaultChromeFeatures" title="/en-US/docs/toolkit.defaultChromeFeatures">toolkit.defaultChromeFeatures</a></code></dt>
- <dd>Specifies the features passed to <code><a href="/en-US/docs/DOM:window.open" title="/en-US/docs/DOM:window.open">window.open()</a></code> when the main application window is opened.</dd>
- <dt><code><a href="/en-US/docs/toolkit.singletonWindowType" title="/en-US/docs/toolkit.singletonWindowType">toolkit.singletonWindowType</a></code></dt>
- <dd>Allows configuring the application to allow only one instance at a time.</dd>
-</dl>
-
-<div class="note">
-<p>The toolkit preferences are described in further detail in <a href="/en-US/docs/XULRunner/Specifying_Startup_Chrome_Window" title="/en-US/docs/XULRunner/Specifying_Startup_Chrome_Window">XULRunner:Specifying Startup Chrome Window</a>.</p>
-
-<p>The debugging preferences are discussed in <a href="/en-US/docs/Debugging_a_XULRunner_Application" title="/en-US/docs/Debugging_a_XULRunner_Application">Debugging a XULRunner Application</a></p>
-</div>
-
-<h2 id="Step_7:_Create_some_XUL" name="Step_7:_Create_some_XUL">Step 7: Create some XUL</h2>
-
-<p>Finally, we need to create a simple <a href="/en-US/docs/XUL/window" title="/en-US/docs/XUL/window">XUL window</a>, which is described in the file <code>main.xul</code>. Nothing fancy here, just the minimum we need to make a window. No menus or anything.</p>
-
-<p>main.xul:</p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="main" title="My App" width="300" height="300" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;script type="application/javascript" src="chrome://myapp/content/main.js"/&gt;
-
- &lt;caption label="Hello World"/&gt;
- &lt;separator/&gt;
- &lt;button label="More &gt;&gt;" oncommand="showMore();"/&gt;
- &lt;separator/&gt;
- &lt;description id="more-text" hidden="true"&gt;This is a simple XULRunner application. XUL is simple to use and quite powerful and can even be used on mobile devices.&lt;/description&gt;
-
-&lt;/window&gt;
-</pre>
-
-<div class="note"><strong>Note:</strong> Make sure there is no extra whitespace at the beginning of the XML/XUL file</div>
-
-<p>The application also has a JavaScript file. Most XUL applications will include some external JavaScript, so the sample application does too, just to show how to include it into the XUL file.</p>
-
-<p>main.js:</p>
-
-<pre>function showMore() {
- document.getElementById("more-text").hidden = false;
-}
-</pre>
-
-<div class="note">
-<p>For more information about XUL see: <a href="/en-US/docs/XUL" title="/en-US/docs/XUL">XUL</a>.</p>
-
-<p>For information about mixing HTML elements into your XUL read <a href="/en-US/docs/XUL/Tutorial/Adding_HTML_Elements" title="/en-US/docs/XUL/Tutorial/Adding_HTML_Elements">Adding HTML Elements</a>.</p>
-</div>
-
-<h2 id="Step_8:_Run_the_application" name="Step_8:_Run_the_application">Step 8: Run the application</h2>
-
-<p>The moment of truth. We need to get XULRunner to launch the bare-bones application.</p>
-
-<h3 id="Windows">Windows</h3>
-
-<p>From a Windows command prompt opened to the <code>myapp</code> folder, we should be able to execute this:</p>
-
-<pre class="eval"> C:\path\to\xulrunner.exe application.ini
-</pre>
-
-<p>Of course, if you opted to install xulrunner then you could simply do</p>
-
-<pre>​<span style="font-family: courier new,andale mono,monospace; line-height: normal;">%ProgramFiles%\xulrunner.exe application.ini</span></pre>
-
-<p><span style="font-size: 14px; line-height: 1.572;">or on 64 bit systems</span></p>
-
-<pre>​<span style="font-family: courier new,andale mono,monospace; line-height: normal;">%ProgramFiles(x86)%\xulrunner.exe application.ini</span></pre>
-
-<div class="note">
-<p><span style="font-size: 14px; line-height: 1.572;"><strong>Note</strong>: you can also install your application when you're finished debugging it. See <a href="/en-US/docs/XUL_Application_Packaging" title="/en-US/docs/XUL_Application_Packaging">XUL Application Packaging</a> for details.</span></p>
-</div>
-
-<h3 id="Mac">Mac</h3>
-
-<p>On the Mac, before you can run a XULRunner application with everything intact, you must install it using the <code>--install-app</code> xulrunner commandline flag. Installing the application creates an OS X application bundle:</p>
-
-<pre class="eval"> /Library/Frameworks/XUL.framework/xulrunner-bin --install-app /&lt;path&gt;/&lt;to&gt;/myapp.zip
-</pre>
-
-<p>Once installed, you can run the application:</p>
-
-<pre class="eval"> /Library/Frameworks/XUL.framework/xulrunner-bin "/Applications/Finkle/TestApp.app/Contents/Resources/application.ini"
-</pre>
-
-<p>You may run it without installing (but with the menu bar and dock icon missing) in OS X by typing:</p>
-
-<pre>/Library/Frameworks/XUL.framework/xulrunner-bin "/&lt;full path&gt;/TestApp/application.ini"
-</pre>
-
-<div class="note">
-<p>Note: The full path is required or a "Error: couldn't parse application.ini."-message will be returned.</p>
-</div>
-
-<p>This might also be simplified using a very simple shell script (i call mine "run.sh"):</p>
-
-<pre>#!/bin/sh
-/Library/Frameworks/XUL.framework/xulrunner-bin `pwd`/application.ini
-</pre>
-
-<h3 id="Linux">Linux</h3>
-
-<p>On Ubuntu, you can run the application from a terminal. First change into the <code>\myapp</code> folder, then start the application by:</p>
-
-<pre class="eval"> xulrunner application.ini
-</pre>
-
-<p>You should now see a window that looks something like this. This particular screenshot is from Ubuntu 10.</p>
-
-<p><img alt="myapp-screenshot.png" class="default internal" src="/@api/deki/files/4679/=myapp-screenshot.png"></p>
-
-<h3 id="Alternative:_Use_Firefox3_-app_to_run_XUL_apps" name="Alternative:_Use_Firefox3_-app_to_run_XUL_apps">Alternative: Run XUL apps with Firefox</h3>
-
-<p>With Firefox 3 and later, you can tell the Firefox executable to run a XUL application from the command line. The XUL application will run instead of the Firefox browser that normally starts. This is similar to starting a XUL app using XULRunner. See <a href="/en/XULRunner_tips#Using_Firefox_to_run_XULRunner_applications" title="en/XULRunner_tips#Using_Firefox_to_run_XULRunner_applications">Using Firefox to run XULRunner applications</a>. This does not work if Firefox itself was installed as a XUL app - you need to use the installed XULRunner directly.</p>
-
-<h2 id="Further_Reading">Further Reading:</h2>
-
-<p>There are many things you can do with XULRunner. Before you get too far into things you might want to read the <a href="/en-US/docs/XULRunner_tips" title="/en-US/docs/XULRunner_tips">XULRunner tips</a> article. Also, throughout this tutorial you've been introduced to various bits of the <a href="/en-US/docs/Toolkit_API" title="/en-US/docs/Toolkit_API">Toolkit API</a> and it may help you to get familiar with it. Once you've got an application that's ready for the world you'll love our article titled <a href="/en-US/docs/XULRunner/Deploying_XULRunner_1.8" title="/en-US/docs/XULRunner/Deploying_XULRunner_1.8">Deploying XULRunner</a>.</p>
-
-<p>For now, click the "next" link to learn about windows and menus in XULRunner!</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/es/docs/Windows_and_menus_in_XULRunner">Siguiente »</a></p>
-</div><p></p>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
-
-<ul>
- <li>Author: Mark Finkle, October 2, 2006</li>
-</ul>
-</div>
diff --git a/files/es/archive/rss/index.html b/files/es/archive/rss/index.html
deleted file mode 100644
index 9c9e5988eb..0000000000
--- a/files/es/archive/rss/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: RSS
-slug: Archive/RSS
-tags:
- - RSS
- - Todas_las_Categorías
-translation_of: Archive/RSS
----
-<p>
-</p>
-<div class="callout-box"><b><a href="es/RSS/Primeros_pasos">RSS:Primeros pasos</a></b><br>
-Tutorial guiado que te ayudará en tu iniciación a RSS.</div>
-<p><b>Sindicación Realmente Simple (RSS)</b> es un formato de datos basado en el lenguaje <a href="es/XML">XML</a> creado para la sindicación de contenidos. RSS tiene una escabrosa historia con multitud de diferentes <a href="es/RSS/Versiones">versiones</a> incompatibles, algunas basadas en <a href="es/RDF">RDF</a>, pero la mayoría basadas solamente en <a href="es/XML">XML</a>. A pesar de esto, RSS es un formato altamente popular, se usa para la distribución de noticias, artículos de blogs, radio y televisión por internet, con una increíble velocidad.
-</p>
-<table class="topicpage-table"> <tbody><tr> <td>
-<h4 id="Documentaci.C3.B3n" name="Documentaci.C3.B3n"> <a>Documentación</a> </h4>
-<dl><dt> <a class="external" href="http://es.geocities.com/rss_guia_facil/">Guía fácil del RSS</a>
-</dt><dd> <small>Una guía que da respuesta a las preguntas básicas: qué, cómo, para qué.</small>
-</dd></dl>
-<dl><dt> <a href="es/RSS/Versiones">Las Versiones de RSS</a>
-</dt><dd> <small>Es tal la diversidad que resulta fácil liarse, diferentes grupos han creado especificaciones de forma unilateral que han llamado RSS. Intentaremos poner un poco de orden.</small>
-</dd></dl>
-<dl><dt> <a href="es/A%c3%b1adir_lectores_de_canales_a_Firefox">Añadir lectores de canales a Firefox</a>
-</dt><dd> <small>Firefox puede seleccionar diferentes lectores de RSS o canales Atom. Este artículo provee información acerca de como añadir soporte para lectores adicionales no soportados por defecto.</small>
-</dd></dl>
-<dl><dt> <a href="es/API_de_acceso_a_canales">API de acceso a canales</a>
-</dt><dd> <small>Firefox 2 y Thunderbird 2 introducen una serie de interfaces que la hacen más sencillo que los autores de extensiones accedan a los canales RSS y Atom.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification <small>(en)</small></a>
-</dt><dd> <small>This is version 2.0.8 of the RSS 2.0 specification, published by the RSS Advisory Board on Aug. 12, 2006.</small>
-</dd></dl>
-<p><span class="alllinks"><a>Ver más</a></span> </p>
-</td> <td>
-<h4 id="Comunidad" name="Comunidad"> Comunidad </h4>
-<ul><li> Foros sobre XML en la comunidad Mozilla en inglés
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xml"> como lista de correo</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml"> como grupo de noticias</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml/feeds"> como RSS</a></li>
-</ul>
-<p></p><p><span class="alllinks"><a href="es/RSS/Comunidad">Ver más</a></span> </p>
-<h4 id="Herramientas" name="Herramientas"> Herramientas </h4>
-<ul><li> <a class="external" href="http://validator.w3.org/feed/check.cgi">Sevicio Web de validación del W3C</a> </li><li> <a class="link-https" href="https://addons.mozilla.org/firefox/2294/">RSS validator</a> extensión para Firefox
-</li></ul>
-<p><span class="alllinks"><a>Ver más</a></span> </p>
-<h4 id="Temas_relacionados" name="Temas_relacionados"> Temas relacionados </h4>
-<dl><dd> <a href="es/RDF">RDF</a>, <a href="es/XML">XML</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><br>
-</p>
diff --git a/files/es/archive/rss/primeros_pasos/index.html b/files/es/archive/rss/primeros_pasos/index.html
deleted file mode 100644
index 17441f6534..0000000000
--- a/files/es/archive/rss/primeros_pasos/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: Primeros pasos
-slug: Archive/RSS/Primeros_pasos
-tags:
- - RSS
- - 'RSS:Primeros_pasos'
- - Todas_las_Categorías
-translation_of: Archive/RSS/Getting_Started
----
-<p>
-</p>
-<h3 id="Introducci.C3.B3n" name="Introducci.C3.B3n"> Introducción </h3>
-<p>Este tutorial es una introducción a la <b>Sindicación Realmente simple</b> (RSS).
-</p><p>Le guiará, paso a paso por los fundamentos de RSS y le mostrará ejemplos funcionales. Este tutorial sigue el mantra que dice: <i>el mejor modo de aprender es hacer</i>. Por ello, usted creará sus propios archivos RSS a mano.
-</p>
-<h4 id=".C2.BFQui.C3.A9n_deber.C3.ADa_usar_este_tutorial.3F" name=".C2.BFQui.C3.A9n_deber.C3.ADa_usar_este_tutorial.3F"> ¿Quién debería usar este tutorial? </h4>
-<p>En principio, este tutorial está destinado a los principiantes en RSS (es decir, aquellos con poca o ninguna experiencia previa en RSS). Sin embargo, los experimentados en RSS también pueden encontrarlo útil como guia de refresco.
-</p><p>Este tutorial asume que usted tiene un mínimo de experiencia con <a href="es/HTML">HTML</a> (o <a href="es/XML">XML</a>) y que usted conoce los fundamentos del marcado. En otras palabras, que un código como este no le asusta:
-</p>
-<pre class="eval"> &lt;p&gt;Esto es un párrafo marcado con etiquetas&lt;/p&gt;
-</pre>
-<p>Si usted entiende esto, no debería tener ningún problema aprendiendo RSS.
-</p>
-<div class="note">
-<p><b>NOTA</b>: Si usted no es un desarrollador web y ni quiere serlo, entonces este tutorial no es para usted. Usted tiene que estár cómodo escribiendo código para poder usar con eficacia este tutorial.
-</p>
-</div>
-<h4 id=".C2.BFQu.C3.A9_necesita_usted_antes_de_empezar.3F" name=".C2.BFQu.C3.A9_necesita_usted_antes_de_empezar.3F"> ¿Qué necesita usted antes de empezar? </h4>
-<p>Para aprobechar al máximo este tutorial, usted necesitará un editor de textos y un lector RSS. Además, usted también necesitaría saber usarlos.
-</p>
-<div class="note">
-<p><b>NOTE</b>: A word processor is not a text editor. If a word processor is used, you MUST make sure to save your RSS files in a (pure and plain) text format.
-</p>
-</div>
-<p>Usted no está obligado a crear archivos RSS siguiendo este tutorial (usted puede leerlo sin más), pero este sería un método de aprendizaje poco eficaz. Entenderá las cosas y retendrá la información mucho mejor si crea los archivos RSS usted mismo.
-</p><p><br>
-</p>
-<h4 id=".C2.BFC.C3.B3mo_usar_este_manual.3F" name=".C2.BFC.C3.B3mo_usar_este_manual.3F"> ¿Cómo usar este manual? </h4>
-<p>Aunque cada página de este tutorial ha sido escrita de modo que pueda actuar como un tutorial independiente, cuando usted lee una página se asume que ya posee los conocimientos esplicados en las páginas anteriores. Usted puede consultar cualquier punto del tutorial cuando desee, pero sugerimos a los principiantes en RSS que lean este tutorial de manera ordenada.
-</p>
-<h3 id="Tutorial" name="Tutorial"> Tutorial </h3>
-<ol><li><b><a href="es/RSS/Getting_Started/Qu%c3%a9_es_RSS">¿Qué es RSS?</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Por_qu%c3%a9_usar_RSS">¿Por qué usar RSS?</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/C%c3%b3mo_funciona_RSS">¿Cómo funciona RSS?</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Hola_mundo">Hola mundo</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Sindicaci%c3%b3n">Sindicación</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Blogs">Blogs</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Broadcatching">Broadcatching</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Microformatos">Microformatos</a></b>
-</li><li><b><a href="es/RSS/Getting_Started/Broadcatching_avanzado">Broadcatching avanzado</a></b>
-</li></ol>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/rss/versiones/index.html b/files/es/archive/rss/versiones/index.html
deleted file mode 100644
index 5b3af37cf7..0000000000
--- a/files/es/archive/rss/versiones/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: Versiones
-slug: Archive/RSS/Versiones
-tags:
- - RSS
-translation_of: Archive/RSS/Version
----
-<h2 id="Versiones_de_RSS" name="Versiones_de_RSS">Versiones de RSS</h2>
-
-<p>La historia de RSS ha sido agitada. Personas y grupos dispares han ido creado, prácticamente de modo independiente, especificaciones a las que llamaron RSS. Algunos formatos de RSS están basados en <a href="es/XML">XML</a> y otros lo están en <a href="es/RDF">RDF</a>.</p>
-
-<p>La lista mostrada a continuación muestra todas las versiones de RSS conocidas. Están listadas cronológicamente según su fecha de publicación.</p>
-
-<div class="note">
-<p><strong>NOTA</strong>: En la siguiente lista, aunque parezca que RSS 1.0 está fuera de lugar, cronológicamente está en el puesto que le corresponde.</p>
-</div>
-
-<div class="note">
-<p><strong>NOTA</strong>: Hay 3 versiones diferentes de <a href="es/RSS/Versiones/0.91">RSS 0.91</a>: RSS 0.91 (Revisión 1) de Netscape, RSS 0.91 (Revisión 3) de Netscape y RSS 0.91 de Userland. Estrictamente hablando, la versión de Userland RSS 0.91 es un subconjunto de la versión de Netscape RSS 0.91.</p>
-</div>
-
-<div class="note">
-<p><strong>NOTA</strong>: RSS 0.93 y RSS 0.94 sólo se publicaron como borrador (<em>draft</em>) y nunca vieron su versión final, aunque esto no significa que no se utilicen.</p>
-</div>
-
-<p> </p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th>Nombre</th>
- <th>Estado</th>
- <th>Fecha de publicación</th>
- <th>Basado en</th>
- <th>Autor</th>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.90">RSS 0.90</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">Marzo de 1999</td>
- <td><a href="es/RDF">RDF</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.91/Netscape/Revision_1">Netscape's RSS 0.91 (Revision 1)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">?</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.91/Netscape/Revision_3">Netscape's RSS 0.91 Revision 3</a></td>
- <td><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span></td>
- <td class="small">10 de Julio de 1999</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.91/Userland">Userland's RSS 0.91</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">4 de Junio de 2000</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/1.0">RSS 1.0</a></td>
- <td>Estándar</td>
- <td class="small">9 de Diciembre de 2000</td>
- <td><a href="es/RDF">RDF</a></td>
- <td class="small">RSS-DEV Working Group</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.92">RSS 0.92</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">25 de Diciembre de 2000</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.93">RSS 0.93</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">20 de Abril de 2001</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/0.94">RSS 0.94</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">19 de Agosto de 2002</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/2.0">RSS 2.0</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">Septiembre de 2002</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/2.0/2002-11-11">RSS 2.0 (post 2002-11-11)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">11 de Noviembre de 2002</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="es/RSS/Version/2.0/2003-01-21">RSS 2.0 (post 2003-01-21)</a></td>
- <td>Estándar</td>
- <td class="small">21 de Enero de 2003</td>
- <td><a href="es/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- </tbody>
-</table>
diff --git a/files/es/archive/security/encriptación_y_desencriptación/index.html b/files/es/archive/security/encriptación_y_desencriptación/index.html
deleted file mode 100644
index 960149aca3..0000000000
--- a/files/es/archive/security/encriptación_y_desencriptación/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: Encriptación y Desencriptación
-slug: Archive/Security/Encriptación_y_Desencriptación
-tags:
- - Seguridad
- - Tutorial
-translation_of: Archive/Security/Encryption_and_Decryption
----
-<p><span class="seoSummary">La encriptación es el proceso de transformar información para hacerla ilegible a cualquiera excepto al receptor del mensaje. La desencriptación es el proceso de transformar información encriptada para que sea legible de nuevo.</span> Un algoritmo criptográfico es una función matemática usada for encriptar o desencriptar. En la mayoría de los casos se utilizan dos funciones relacionadas, una para encriptar y otra para desencriptar.</p>
-
-<p>En la criptografía moderna, la habilidad para mantener secreta la información encriptada no está basada en el algoritmo criptográfico, si no que es ampliamente conocido, sino en un número llamado clave que debe ser usado con el algoritmo para producir un reultado encriptado o para desencriptar información previamente encriptada. La desencriptación con la clave correcta es sencilla. La desencriptación sin la clave correcta es muy compleja, y en algunos casos imposible para cualquier caso práctico.</p>
-
-<p>Las siguientes secciones introducen el uso de claves para encriptar y desencriptar.</p>
-
-<ul>
- <li><a href="#Simetrica">Encriptación de clave simétrica</a></li>
- <li><a href="#Publica">Encriptación de clave pública</a></li>
- <li><a href="#Longitud">Longitud de la clave y fuerza de la encriptación</a></li>
-</ul>
-
-<h3 id="Symmetric-Key_Encryption" name="Symmetric-Key_Encryption"><a href="#" id="Simetrica" name="Simetrica">Encriptación de clave simétrica </a></h3>
-
-<p>Con la encriptación de clave simétrica, la clave de encriptación puede ser calculada a partir de la clave de desencriptación y viceversa. En la mayoría de los algoritmos simétricos, se utiliza la misma clave para encriptar y para desencriptar, como se muestra en la Figura 1.</p>
-
-<p><img alt="Figure 1. Symmetric-Key Encryption" class="internal" src="https://mdn.mozillademos.org/files/10303/05scrypt2.png" style="height: 125px; width: 443px;"></p>
-
-<p>Las implementaciones de la encriptación de clave simétrica pueden ser muy eficientes, con el fin de que los usuarios no tengan que esperar como resultado de una encriptación o una desencriptación. La encriptación de clave simétrica también provee cierto grado de autenticación, ya que la información encriptada no puede ser desencriptada con ninguna otra clave simétrica. Así, mientras que la clave simétrica se mantiene secreta entre las dos partes usándola para encriptar comunicaciones, cada parte puede estar segura que se está comunicando con la otra mientras que los mensajes desencriptados tengan sentido.</p>
-
-<p>La encriptación de clave simétrica sólo es efectiva si la clave simétrica se mantiene en secreto por ambas partes. Si cualquier otro descubre la clave, afecta tanto a la confidencialidad como a la autenticación. Una persona con una clave simétrica no autorizada puede no sólo desencriptar mensajes enviados con esa clave, sino que además puede encriptar nuevos mensajes y enviarlos como si viniese de una de las dos partes que orginalmente sabían la clave.</p>
-
-<p>La encriptación de clave simétrica juega un papel importante en el protocolo SSL, que es muy usado en autenticación y en encriptación sobre redes TCP/IP. SSL también usa técnicas de encriptación de clave pública, descrita en la siguiente sección.</p>
-
-<h3 id="Public-Key_Encryption" name="Public-Key_Encryption"><a name="Publica">Encriptación de clave pública</a></h3>
-
-<p>Las implementaciones más usadas de encriptación de clave pública están basadas en algoritmos patentados por Seguridad de datos RSA. Por lo tanto, esta sección describe el enfoque de RSA a la encriptación de clave pública.</p>
-
-<p>La encriptación de clave pública (también llamada encriptación asimétrica) involucra un par de claves --una clave pública y una clave privada-- asociadas a una entidad que necesita autenticar su identidad electrónicamente o firmar información encriptada. Cada clave pública es publicada, y la correspondiente clave privada se mantiene secreta. La información encriptada con la clave pública sólo puede ser desencriptada con la clave privada. La Figura 2 muestra un esquema simplificado de cómo funciona una encriptación de clave pública.</p>
-
-<p><img alt="Figure 2. Public-Key Encryption" class="internal" src="https://mdn.mozillademos.org/files/15760/06pcrypt-corrected.png" style="height: 125px; width: 443px;"></p>
-
-<p>El esquema mostrado en la Figura 2 permite distribuir libremente una clave pública, y sólo tú serás capaz de leer información encriptada usando esta clave. En general, para enviar informació encriptada a alguien, encriptas la información con la clave pública de esa persona, y la persona que recibe la información encriptada la desencripta utilizando su correspondiente clave privada.</p>
-
-<p>Comparada con la encriptación de clave simétrica, la encriptación de clave pública requiere más tiempo de cómputo y por lo tanto no es apropiada para   grandes cantidades de datos. Sin embargo, es posible usar encriptación de clave pública para enviar una clave simétrica, que puede entonces ser usada para encriptar información adicional. Este el el enfoque utilizado por el protocolo SSL.</p>
-
-<p>Como es lógico, el inverso del esquema mostrado en la Figura 2 también funciona: la información encriptada con tu clave privada puede ser desecnriptada sólo con tu clave pública. Sin embargo, esta no sería una forma deseable de encriptar datos confidenciales, ya que significa que cualquier persona con tu clave pública, que por definición está publicada, podría descifrar los datos. A pesar de esto, la encriptación de clave privada es útil, porque significa que puedes usar tu clave privada para firmar datos con tu firma digital --un requisito importante para el comercio electrónico y otras aplicación comerciales de criptografía--. Clientes como Firefox pueden entonces usar tu clave pública para confirmar que el mensaje fue firmado con tu clave priivada y que no ha sido manipulado desde que se firmó. Las "<a href="https://developer.mozilla.org/en-US/docs/Archive/Security/Digital_Signatures">Firmas Digitales</a>" describen como funciona este proceso de confirmación.</p>
-
-<h3 id="Key_Length_and_Encryption_Strength" name="Key_Length_and_Encryption_Strength"><a name="Longitud">Longitud de la clave y resistencia del cifrado</a></h3>
-
-<p>Romper un algoritmo de encriptación consiste básicamente en encontrar la clave para acceder a la información encriptada en texto plano. Para los algoritmos simétricos, romper el algoritmo normalmente significa intentar determinar la clave usada para encriptar el texto. Para un algoritmo de clave pública, romper el algoritmo normalmente significa obtener la información secreta compartida entre las dos partes.</p>
-
-<p>Un método para romper un algoritmo de clave simétrica es simplemente probar cada clave hasta que se encuentre la clave correcta.Para algoritmos de clave pública, ya que la mitad del par de claves es conocida públicamente, la otra mitad (clave privada) puede ser derivada utilizando la publicada a partir de complejos cálculos matemáticos. Encontrar la clave manualmente para romper un algoritmo se denomina ataque de fuerza bruta.</p>
-
-<p>Romper un algoritmo introduce el riesgo de interceptar, o incluso hacerse pasar por otra persona y ver fraudulentamente información privada.</p>
-
-<p>La fuerza de un algoritmo es determinada encontrando el método más rápido para romperlo y comparándolo con un ataque de fuerza bruta.</p>
-
-<p>Para claves simétricas, la fuerza de la encriptación es a menudo descrita en función del tamaño o longitud de las claves usadas para realizar la encriptación: en general, las claves más largas proporcionan una encriptación más fuerte. La longitud de la clave se mide en bits. Por ejemplo, las claves de 128 bits usadas con la clave simétrica de RC4 soportadas por SSL brindan una protección criptográfica significativamente mejor que las claves de 40 bits utilizadas con el mismo algoritmo. La encriptación RC4 de 128 bits es aproximadamente 3 x  <math><semantics><msup><mn>10</mn><mn>26</mn></msup><annotation encoding="TeX">10^26</annotation></semantics></math>veces más fuerte que la encriptación RC4 de 40 bits.<math><semantics><msup><mn>26</mn></msup><annotation encoding="TeX">10^26</annotation></semantics></math></p>
-
-<p>Algoritmos criptográficos diferentes pueden requerir claves de diferente longitud para lograr la misma fuerza de encriptación. El algoritmo RSA usado para encriptación de clave pública, por ejemplo, puede únicamente utilizar un subconjunto de todos los posibles valores para una clave de una longitud específica, debido a la naturaleza del problema matemático en el que está basado. Otros algoritmos, como los usados para encriptación dde clave simétrica, puede utilizar todos los posibles valores para una clave de una longitud específica, en lugar de un subconjunto.</p>
-
-<p>Ya que es relativamente trivial romper un algoritmo RSA, un algoritmo de encriptación de clave pública RSA debe tener una clave muy larga, al menos de 1024 bits, para ser considerada criptográficamente fuerte. Por otro lado, los algoritmos de clave simétrica pueden lograr aproximadamente el mismo nivel de fuerza con una clave de 80 bits para la mayoría de los algoritmos.</p>
-
-<p> </p>
-
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information">Información del documento original</h3>
-
-<ul>
- <li>Autor(es): Ella Deon Lackey</li>
- <li>ültima actualización: 2012</li>
- <li>Información de Copyright: © 2012 Red Hat, Inc.</li>
- <li>Enlace: <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Certificate_System_Common_Criteria_Certification/8.1/html/Deploy_and_Install_Guide/index.html">Red Hat Certificate System Common Criteria Certification 8.1: Deployment, Planning, and Installation</a></li>
-</ul>
-</div>
-
-<p> </p>
-
-<p> </p>
diff --git a/files/es/archive/security/index.html b/files/es/archive/security/index.html
deleted file mode 100644
index 82879db250..0000000000
--- a/files/es/archive/security/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Security
-slug: Archive/Security
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Security
----
-<p><strong><span class="seoSummary">Relying on these obsolete security articles is highly discouraged. Doing so may put your systems at risk.</span></strong></p>
-
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Digital_Signatures">Digital Signatures</a></dt><dd class="landingPageList">Encryption and decryption address the problem of eavesdropping, one of the three Internet security issues mentioned at the beginning of this document. But encryption and decryption, by themselves, do not address another problem: tampering.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Encryption_and_Decryption">Encryption and Decryption</a></dt><dd class="landingPageList">Encryption is the process of transforming information so it is unintelligible to anyone but the intended recipient. Decryption is the process of transforming encrypted information so that it is intelligible again.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_Public-Key_Cryptography">Introduction to Public-Key Cryptography</a></dt><dd class="landingPageList">Public-key cryptography and related standards and techniques underlie the security features of many products such as signed and encrypted email, single sign-on, and Secure Sockets Layer (SSL) communications. This document introduces the basic concepts of public-key cryptography. For an overview of SSL, see "<a href="/en/Introduction_to_SSL" title="en/Introduction_to_SSL">Introduction to SSL</a>." For an overview of encryption and decryption, see "<a href="/en-US/docs/Encryption_and_Decryption">Encryption and Decryption</a>." Information on digital signatures is available from "<a href="/en-US/docs/Digital_Signatures">Digital Signatures</a>."</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_SSL">Introduction to SSL</a></dt><dd class="landingPageList">This document introduces the Secure Sockets Layer (SSL) protocol. SSL has been universally accepted on the World Wide Web for authenticated and encrypted communication between clients and servers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/NSPR_engineering_guide">NSPR Release Engineering Guide</a></dt><dd class="landingPageList">This paper is for engineers performing formal release for the NetScape Portable Runtime (NSPR) across all platforms.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/SSL_and_TLS">SSL and TLS</a></dt><dd class="landingPageList">The Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers. Both client and server authentication occur over SSL/TLS.</dd></dl></div>
- </div><p></p>
diff --git a/files/es/archive/themes/create_your_own_firefox_background_theme/index.html b/files/es/archive/themes/create_your_own_firefox_background_theme/index.html
deleted file mode 100644
index 9f99e57df7..0000000000
--- a/files/es/archive/themes/create_your_own_firefox_background_theme/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Crea tu propio Tema de Fondo para Firefox
-slug: Archive/Themes/Create_Your_Own_Firefox_Background_Theme
-translation_of: Archive/Themes/Create_Your_Own_Firefox_Background_Theme
----
-<h2 id="Como_crear_tu_propio_Tema_de_Fondo">Como crear tu propio Tema de Fondo</h2>
-
-<div class="primary auto" id="getting-started">
-<p>Los temas están basados en una imagen "encabezado", la cual adorna el fondo de la Interfaz Gráfica de Firefox.</p>
-
-<p>Acabaste tu diseño? Puedes <a href="https://addons.mozilla.org/developers/theme/submit">Enviarlo ahora mismo!</a></p>
-
-<h3 id="Creando_una_imagen_de_Encabezado_para_el_Tema">Creando una imagen de Encabezado para el Tema</h3>
-
-<p>La imagen de encabezadp es mostrada como el fondo del título de la ventana de Firefox, anidándose tras las barras de herramientas, barra de direcciones, barra de búsqueda y la barra de pestañas. Será <strong>anclada a la esquina superior derecha</strong> de la ventana del explorador.</p>
-
-<p class="screenshot"><img alt="" src="https://mdn.mozillademos.org/files/9929/header-step.jpg" style="height: 215px; width: 1059px;"></p>
-
-<ul>
- <li><a href="https://addons.cdn.mozilla.net/static/img/docs/themes/header.jpg">Ver un encabezado de prueba aquí.</a></li>
-</ul>
-
-<h4 id="Requerimientos_de_la_imagen">Requerimientos de la imagen</h4>
-
-<ul>
- <li>Las dimensiones deben ser <strong>3000px de ancho × 200px de alto</strong></li>
- <li>Formatos PNG o JPG serán aceptados</li>
- <li>La Imagen no debe exceder los 300 KB de tamaño de archivo</li>
-</ul>
-
-<h4 id="Trucos">Trucos</h4>
-
-<ul>
- <li>Las imágenes sutiles y de colores más suaves funcionan mejor. La interfaz del buscador puede interferir en imágenes más complejas.</li>
- <li>Firefox may reveal more of the lower portion of the image if another toolbar or other UI element is added to the top of the window.</li>
- <li>The upper right-hand side of the image should have the most important information—as a user increases the width of the browser window, the browser reveals more of the left-hand side of the image.</li>
-</ul>
-
-<h4 id="Online_Image_Editor_Resources">Online Image Editor Resources</h4>
-
-<ul>
- <li><a href="http://www.pixlr.com">Pixlr</a> — Pixlr offers professional and easy-to-use tools for creating and editing images within a browser.</li>
- <li><a href="http://www.photoshop.com">Photoshop</a> — Tweak, rotate and touch up photos with Photoshop® Express, a free online photo editor.</li>
-</ul>
-
-<h3 id="Creating_a_Theme_Footer_Image">Creating a Theme Footer Image</h3>
-
-<p>In older versions of Firefox, or newer versions with certain add-ons installed, the footer image is displayed as the background of the bottom of the browser window, behind the add-on and find bars. It will be anchored to the bottom-left corner of the browser window. Footer images are optional.</p>
-
-<p class="screenshot"><img alt="" src="https://mdn.mozillademos.org/files/9935/footer-step.jpg" style="height: 56px; width: 1249px;"></p>
-
-<ul>
- <li><a href="https://addons.cdn.mozilla.net/static/img/docs/themes/footer.jpg">View a sample Theme Footer here.</a></li>
-</ul>
-
-<h4 id="Image_Requirements">Image Requirements</h4>
-
-<ul>
- <li>Dimensions should be <strong>3000px wide × 100px high</strong></li>
- <li>PNG or JPG file format</li>
- <li>Image must be no larger than 300 KB in file size</li>
-</ul>
-
-<h4 id="Tips">Tips</h4>
-
-<ul>
- <li>Subtle, soft contrast images and gradients work best; highly detailed images will compete with the browser UI.</li>
- <li>Firefox may reveal more of the upper portion of the image if the find bar is open or if an extension adds more height to the bottom of the window.</li>
- <li>The left-hand side of the image should have the most important information—as a user increases the width of the browser window, the browser reveals more of the right-hand side of the image.</li>
-</ul>
-
-<h3 id="Submitting_your_Theme_Images">Submitting your Theme Images</h3>
-
-<p>To get started submitting your images, go to the Theme Submission page:</p>
-
-<ol class="itemized">
- <li><strong>Name your theme</strong> — pick a unique name for your theme. Duplicate names are not allowed, so you may need to try a few times to find a unique name.</li>
- <li><strong>Pick a category and tags</strong> — select a category and enter some tags that best describe your theme. Keep in mind that a reviewer may reject your theme if it is obvious that your category and/or tags are unrelated to your theme.</li>
- <li><strong>Describe your theme</strong> — write a short description of your theme. Keep in mind that a reviewer may reject your theme if your description is not an accurate representation of your theme.</li>
- <li><strong>Select a license for your theme</strong> — decide on a copyright license for your work. <a href="http://creativecommons.org/licenses/">Read more about the types of Creative Common licenses.</a>
- <ul>
- <li><strong>Important:</strong> Please be sure you have the rights to use the image in your theme!</li>
- </ul>
- </li>
- <li><strong>Upload your images</strong> — make sure they are under 300 KB in size and JPG or PNG format!</li>
- <li><strong>Select text and tab colors</strong> — you can choose the tab ("background") color and foreground text color that work best with your header image.</li>
- <li><strong>Preview your theme</strong> — you're ready to preview your theme! Simply mouse over the image above the Submit Theme button, and see how it looks instantly.</li>
- <li><strong>Submit your theme</strong> — if everything looks right, click the Submit Theme button, and you're done! You can see all the themes you've authored on your profile page.
- <ul>
- <li><strong>Tip:</strong> to ensure that your theme is approved for the gallery, be sure it complies with the content guidelines and terms of service!</li>
- </ul>
- </li>
-</ol>
-
-<p class="screenshot"><img alt="" src="https://mdn.mozillademos.org/files/9933/submission-step.jpg" style="height: 1800px; width: 785px;"></p>
-
-<p class="call-to-submit"><a class="button prominent" href="https://addons.mozilla.org/en-US/developers/theme/submit">Submit Your Theme Now</a></p>
-
-<h2 class="call-to-submit" id="More_Tutorials">More Tutorials</h2>
-
-<p><a href="http://vanillaorchidstutorials.blogspot.com/2015/11/mozilla-themes-focal-point-sizing.html">Mozilla Themes Focal Point on Sizing</a> - A tutorial on theming with a focus on sizing, by VanillaOrchids.</p>
-</div>
diff --git a/files/es/archive/themes/index.html b/files/es/archive/themes/index.html
deleted file mode 100644
index aff151946d..0000000000
--- a/files/es/archive/themes/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Themes
-slug: Archive/Themes
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Themes
----
-<p>Archived theme documentation.</p>
-
-<p></p><ul><li><a href="/en-US/docs/Archive/Themes/Building_a_Theme">Building a Theme</a></li><li><a href="/en-US/docs/Archive/Themes/Common_Firefox_theme_issues_and_solutions">Common Firefox theme issues and solutions</a></li><li><a href="/en-US/docs/Archive/Themes/Creating_a_Skin_for_Firefox">Creating a Skin for Firefox</a><ul><li><a href="/en-US/docs/Archive/Themes/Creating_a_Skin_for_Firefox/UUID">UUID</a></li><li><a href="/en-US/docs/Archive/Themes/Creating_a_Skin_for_Firefox/contents.rdf">contents.rdf</a></li><li><a href="/en-US/docs/Archive/Themes/Creating_a_Skin_for_Firefox/install.rdf">install.rdf</a></li></ul></li><li><a href="/en-US/docs/Archive/Themes/Making_sure_your_theme_works_with_RTL_locales">Making sure your theme works with RTL locales</a></li><li><a href="/en-US/docs/Archive/Themes/Theme_changes_in_Firefox_2">Theme changes in Firefox 2</a></li><li><a href="/en-US/docs/Archive/Themes/Theme_changes_in_Firefox_3">Theme changes in Firefox 3</a></li><li><a href="/en-US/docs/Archive/Themes/Theme_changes_in_Firefox_3.5">Theme changes in Firefox 3.5</a></li><li><a href="/en-US/docs/Archive/Themes/Theme_changes_in_Firefox_4">Theme changes in Firefox 4</a></li></ul><p></p>
diff --git a/files/es/archive/tutoriales-para-principiantes/index.html b/files/es/archive/tutoriales-para-principiantes/index.html
deleted file mode 100644
index 45477336ba..0000000000
--- a/files/es/archive/tutoriales-para-principiantes/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Tutoriales para principiantes
-slug: Archive/Tutoriales-para-principiantes
-translation_of: Archive/Beginner_tutorials
----
-<p class="summary">Esta página incluye tutoriales archivados para principiantes, de diferentes sitios alrededor de MDN.</p>
-
-<p></p>
diff --git a/files/es/archive/web/index.html b/files/es/archive/web/index.html
deleted file mode 100644
index 8ca15839ca..0000000000
--- a/files/es/archive/web/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Archived open Web documentation
-slug: Archive/Web
-tags:
- - Archived
- - NeedsTranslation
- - TopicStub
- - Web
-translation_of: Archive/Web
----
-<p>The documentation listed below is archived, obsolete material about open Web topics.</p>
-<p></p><dl><dt class="landingPageList"><a href="/es/docs/E4X">E4X</a></dt><dd class="landingPageList"><strong>ECMAScript for XML</strong> (<strong>E4X</strong>) es una extensión del lenguaje de programación que añade la implementación de XML nativo a <a href="/es/JavaScript" title="es/JavaScript">JavaScript</a>. Esto proporciona el acceso al documento de XML de manera que sea natural para los programadores de ECMAScript. El objetivo es proporcionar una alternativa, una sintaxis más simple para tener acceso a documentos XML a través de las interfaces <a href="/es/DOM" title="es/DOM">DOM</a>.</dd><dt class="landingPageList"><a href="/es/docs/Archive/Web/LiveConnect">LiveConnect</a></dt><dd class="landingPageList"></dd></dl><p></p>
diff --git a/files/es/archive/web/javascript/index.html b/files/es/archive/web/javascript/index.html
deleted file mode 100644
index 4687b7bf23..0000000000
--- a/files/es/archive/web/javascript/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: JavaScript
-slug: Archive/Web/JavaScript
-translation_of: Archive/Web/JavaScript
----
-<div class="hidden">{{JSRef}}</div>
-
-<p>{{Obsolete_Header}}</p>
-
-<p class="summary">Obsolete JavaScript features and unmaintained docs</p>
-
-<p>{{SubpagesWithSummaries}}</p>
diff --git a/files/es/archive/web/javascript/legacy_generator_function_statement/index.html b/files/es/archive/web/javascript/legacy_generator_function_statement/index.html
deleted file mode 100644
index 75efe9f447..0000000000
--- a/files/es/archive/web/javascript/legacy_generator_function_statement/index.html
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: Función generadora de legado
-slug: Archive/Web/JavaScript/Legacy_generator_function_statement
-tags:
- - Iterador Legado
- - JavaScript
- - Referencia
-translation_of: Archive/Web/JavaScript/Legacy_generator_function_statement
----
-<div class="warning">La función generadora de legado es una característica específica de SpiderMonkey, y será eliminida en Firefox 58+. Para futuros usos, considera usar {{jsxref("Statements/function*", "function*")}}.</div>
-
-<div>{{jsSidebar("Statements")}}</div>
-
-<p>La <strong>sentencia de función generadora de legado</strong> declara funciones generadoras con unos parámetros específicos.</p>
-
-<p>También se pueden definir funciones usando el constructor {{jsxref("Function")}} con <code>functionBody</code> y al menos una expresión {{jsxref("Operadores/yield", "yield")}}, y una función {{jsxref("Operators/Legacy_generator_function", "legacy generator function expression", "", 1)}}.</p>
-
-<h2 id="Sintaxis">Sintaxis</h2>
-
-<pre class="syntaxbox">function <em>nombre</em>([<em>parámetro</em>,[, <em>parámetro</em>,[..., <em>parámetro</em>]]]) {
- [<em>sentencias</em>]
-}
-</pre>
-
-<dl>
- <dt><code>nombre</code></dt>
- <dd>Nombre de la función.</dd>
-</dl>
-
-<dl>
- <dt><code>parámetro</code></dt>
- <dd>El nombre de un argumento pasado a la función. Una función puede tener hasta 255 argumentos.</dd>
-</dl>
-
-<dl>
- <dt><font face="Consolas, Liberation Mono, Courier, monospace">sentencias</font></dt>
- <dd>Las sentencias que componen el cuerpo de la función. Debe contener al menos una expresion {{jsxref("Operadores/yield", "yield")}}.</dd>
-</dl>
-
-<h2 id="Descripción">Descripción</h2>
-
-<p>Una introducción de su uso está disponible en la página de <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators" title="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iteradores y Generadores</a>.</p>
-
-<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2>
-
-<p>Supported nowhere.</p>
-
-<h2 id="Vea_también">Vea también</h2>
-
-<ul>
- <li>{{jsxref("Generator")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Legacy_generator_function">La expresión de función generadora de legado</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">El protocolo del Iterador legado</a></li>
- <li>{{jsxref("Operadores/yield", "yield")}}</li>
- <li><a href="/es/docs/Web/JavaScript/Referencia/Funciones" title="JavaScript/Referencia/Funciones_y_alcance_de_funciones">Funciones y alcance de funciones</a></li>
- <li>{{jsxref("Sentencias/function", "function")}}</li>
- <li>{{jsxref("Operadores/function", "function expression")}}</li>
- <li>{{jsxref("Function")}}</li>
- <li>{{jsxref("Sentencias/function*", "function*")}}</li>
- <li>{{jsxref("Operadores/function*", "function* expression")}}</li>
- <li>{{jsxref("GeneratorFunction")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">El protocolo Iterator</a></li>
-</ul>
diff --git a/files/es/archive/web/javascript/proximo_soporte_de_ecmascript_en_mozilla/index.html b/files/es/archive/web/javascript/proximo_soporte_de_ecmascript_en_mozilla/index.html
deleted file mode 100644
index 763fb63dfa..0000000000
--- a/files/es/archive/web/javascript/proximo_soporte_de_ecmascript_en_mozilla/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Próximo soporte de ECMAScript en Mozilla
-slug: Archive/Web/JavaScript/Proximo_soporte_de_ECMAScript_en_Mozilla
-tags:
- - ECMAScript
- - JavaScript
-translation_of: Archive/Web/JavaScript/ECMAScript_Next_support_in_Mozilla
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>Próximo ECMAScript hace referencia a las nuevas características del estándar ECMA-262 (comúnmente llamado JavaScript) introducido después de ECMAScript 2015. Las nuevas versiones de las especificaciones de ECMAScript serán liberadas anualmente. Este año, la especificación ES2016 será liberada y ES2017 es la actual especificación en borrador.</p>
-
-<p>Puedes ver la última propuesta en el repositorio de GitHub <a href="https://github.com/tc39/ecma262">tc39/ecma262</a>.</p>
-
-<p>Un canal de retroalimentación para los estándares de ECMAScript es <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>.</p>
-
-<h2 id="ECMAScript_2016">ECMAScript 2016</h2>
-
-<p>Estas características de ES2016 están implementadas:</p>
-
-<ul>
- <li>{{jsxref("Array.prototype.includes()")}} (Firefox 43)</li>
- <li>{{jsxref("TypedArray.prototype.includes()")}} (Firefox 43)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/function*">Generadores</a> y <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions">métodos de generador</a>  ya no son construibles (Firefox 43)</li>
- <li>Se ha removido el manejador de <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/enumerate">enumerador</a> de Proxy (Firefox 47)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation">Operador de exponenciación</a> (Firefox 52)</li>
- <li>{{jsxref("Functions/rest_parameters", "Parámetro de desestructuración Rest", "#Destructuring_rest_parameters", 1)}} (Firefox 52)</li>
-</ul>
-
-<h2 id="ECMAScript_2017">ECMAScript 2017</h2>
-
-<p>Estas características de ES2017 están implementadas:</p>
-
-<ul>
- <li>{{jsxref("Object.values()")}} y {{jsxref("Object.entries()")}} (Firefox 47)</li>
- <li>{{jsxref("String.prototype.padEnd()")}} (Firefox 48)</li>
- <li>{{jsxref("String.prototype.padStart()")}} (Firefox 48)</li>
- <li>{{jsxref("Object.getOwnPropertyDescriptors()")}} (Firefox 50)</li>
- <li>Funciones asíncronas
- <ul>
- <li>{{jsxref("Statements/async_function", "async function")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/async_function", "async function expression")}} (Firefox 52)</li>
- <li>{{jsxref("AsyncFunction")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/await", "await")}} (Firefox 52)</li>
- </ul>
- </li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Trailing_commas">Arrastre de comas en la lista de parámetros de una función</a> (Firefox 52)</li>
-</ul>
-
-<h2 id="Nuevas_características_experimentales">Nuevas características experimentales</h2>
-
-<p>Las siguientes características ya están implementadas, pero sólo disponibles en el <a href="http://nightly.mozilla.org/">Canal Firefox Nightly</a> y aún no incluidas en la edición de borrador de alguna especificación ECMAScript.</p>
-
-<h3 id="Adiciones_al_objeto_ArrayBuffer">Adiciones al objeto <code>ArrayBuffer</code></h3>
-
-<ul>
- <li>{{jsxref("ArrayBuffer.transfer()")}} (<a href="https://gist.github.com/lukewagner/2735af7eea411e18cf20">spec</a>)</li>
-</ul>
-
-<h3 id="Nuevos_objetos_TypedObject">Nuevos objetos TypedObject</h3>
-
-<ul>
- <li><a href="https://github.com/dslomov-chromium/typed-objects-es7">Borrador de Objetos Tipados</a></li>
-</ul>
-
-<h3 id="Nuevos_objetos_SIMD">Nuevos objetos SIMD</h3>
-
-<ul>
- <li><a href="https://github.com/johnmccutchan/ecmascript_simd">Borrador de especificación SIMD y polyfill</a></li>
-</ul>
-
-<h3 id="Nuevos_objetos_de_Memoria_Compartida">Nuevos objetos de Memoria Compartida</h3>
-
-<ul>
- <li>{{jsxref("SharedArrayBuffer")}}</li>
- <li>{{jsxref("Atomics")}}</li>
-</ul>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="http://www.ecmascript.org/">Sitio web de ECMAScript</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021376">Mozilla ES2016 tracking bug</a></li>
- <li><a href="http://kangax.github.io/compat-table/esnext/">ECMAScript next support across browsers</a></li>
-</ul>
diff --git a/files/es/archive/web/liveconnect/index.html b/files/es/archive/web/liveconnect/index.html
deleted file mode 100644
index 328b6d2678..0000000000
--- a/files/es/archive/web/liveconnect/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: LiveConnect
-slug: Archive/Web/LiveConnect
-tags:
- - AJAX
- - Guía_de_JavaScript_1.5
- - JavaScript
- - Referencia_de_JavaScript_1.5
- - Todas_las_Categorías
-translation_of: Archive/Web/LiveConnect/LiveConnect_Reference
----
-<p>
-</p><p>This section documents the Java classes used for <a href="es/LiveConnect">LiveConnect</a>, along with their constructors and methods. These classes allow a Java object to access JavaScript code.
-</p><p><a href="es/Referencia_de_JavaScript_1.5/LiveConnect/JSException">JSException</a>
-</p>
-<dl><dd> The public class <code>JSException</code> extends <code>RuntimeException</code>, and is thrown when JavaScript returns an error.
-</dd></dl>
-<p><a href="es/Referencia_de_JavaScript_1.5/LiveConnect/JSObject">JSObject</a>
-</p>
-<dl><dd> The public class <code>JSObject</code> extends <code>Object</code>. JavaScript objects are wrapped in an instance of the class <code>JSObject</code> and passed to Java, allowing Java to manipulate JavaScript objects.
-</dd></dl>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/java/index.html b/files/es/archive/web/liveconnect/java/index.html
deleted file mode 100644
index 46df56223d..0000000000
--- a/files/es/archive/web/liveconnect/java/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: java
-slug: Archive/Web/LiveConnect/java
-translation_of: Archive/Web/LiveConnect_Reference/java
----
-<p>Resumen</p>
-<p><strong>Objeto Global</strong></p>
-<p>Un objeto de alto nivel utilizado para acceder a cualquier clase Java del paquete <code>java.*</code>.</p>
-<h3 id="Created_by" name="Created_by">Creado por</h3>
-<p>El objeto <code>java</code> es un objeto Javascript predefinido de alto nivel. Puedes acceder a él de forma automática sin utilizar un constructor o sin llamar a un método.</p>
-<h3 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h3>
-<p>El objeto <code>java</code> es un buen sinónimo de la propiedad <code>Packages.java</code>.</p>
-<h3 id="Ver_tambi.C3.A9n" name="Ver_tambi.C3.A9n">Ver también</h3>
-<p><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#Paquetes" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#Paquetes">Paquetes</a>, <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#Paquetes:java" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#Paquetes:java">Packages.java</a></p>
-<p></p>
diff --git a/files/es/archive/web/liveconnect/javaarray/index.html b/files/es/archive/web/liveconnect/javaarray/index.html
deleted file mode 100644
index 1ec785bfc5..0000000000
--- a/files/es/archive/web/liveconnect/javaarray/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: JavaArray
-slug: Archive/Web/LiveConnect/JavaArray
-translation_of: Archive/Web/LiveConnect_Reference/JavaArray
----
-<p>
-</p>
-<h3 id="Summary" name="Summary"> Summary </h3>
-<p><b>Core Object</b>
-</p><p>A wrapped Java array accessed from within JavaScript code is a member of the type <code>JavaArray</code>.
-</p>
-<h3 id="Created_by" name="Created_by"> Created by </h3>
-<p>Any Java method which returns an array. In addition, you can create a <code>JavaArray</code> with an arbitrary data type using the <code>newInstance</code> method of the <code>Array</code> class:
-</p>
-<pre class="eval">public static Object newInstance(Class componentType,
- int length)
- throws NegativeArraySizeException
-</pre>
-<h3 id="Description" name="Description"> Description </h3>
-<p>The <code>JavaArray</code> object is an instance of a Java array that is created in or passed to JavaScript. <code>JavaArray</code> is a wrapper for the instance; all references to the array instance are made through the <code>JavaArray</code>.
-</p><p>In JavaScript 1.4 and later, the <code>componentType</code> parameter is either a <code>JavaClass</code> object representing the type of the array or class object, such as one returned by <code>java.lang.Class.forName</code>. In JavaScript 1.3 and earlier, <code>componentType</code> must be a class object.
-</p><p>Use zero-based indexes to access the elements in a <code>JavaArray</code> object, just as you do to access elements in an array in Java. For example:
-</p>
-<pre class="eval">var javaString = new java.lang.String("Hello world!");
-var byteArray = javaString.getBytes();
-byteArray[0] // returns 72
-byteArray[1] // returns 101
-</pre>
-<p>Any Java data brought into JavaScript is converted to JavaScript data types. When the <code>JavaArray</code> is passed back to Java, the array is unwrapped and can be used by Java code. See the <a href="es/Core_JavaScript_1.5_Guide">Core JavaScript 1.5 Guide</a> for more information about data type conversions.
-</p><p>In JavaScript 1.4 and later, the methods of <code>java.lang.Object</code> are inherited by <code>JavaArray</code>.
-</p>
-<h3 id="Backward_compatibility" name="Backward_compatibility"> Backward compatibility </h3>
-<h4 id="JavaScript_1.3_and_earlier" name="JavaScript_1.3_and_earlier"> JavaScript 1.3 and earlier </h4>
-<p>The methods of <code>java.lang.Object</code> are not inherited by <code>JavaArray</code>. In addition, the <code>toString</code> method is inherited from the <code>Object</code> object and returns the following value:
-</p>
-<pre class="eval">[object JavaArray]
-</pre>
-<p>You must specify a class object, such as one returned by <code>java.lang.Object.forName</code>, for the <code>componentType</code> parameter of <code>newInstance</code> when you use this method to create an array. You cannot use a <code>JavaClass</code> object for the <code>componentType</code> parameter.
-</p>
-<h3 id="Properties" name="Properties"> Properties </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray/length">length</a>: The number of elements in the Java array represented by <code>JavaArray</code>.
-</p>
-<h3 id="Methods" name="Methods"> Methods </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray/toString">toString</a>: In JavaScript 1.4, this method is overridden by the inherited method <code>java.lang.Object.toString</code>. in JavaScript 1.3 and earlier, this method returns a string identifying the object as a <code>JavaArray</code>.
-</p><p>In JavaScript 1.4 and later, <code>JavaArray</code> also inherits methods from the Java array superclass, <code>java.lang.Object</code>.
-</p>
-<h3 id="Examples" name="Examples"> Examples </h3>
-<h4 id="Example:_Instantiating_a_JavaArray_in_JavaScript" name="Example:_Instantiating_a_JavaArray_in_JavaScript"> Example: Instantiating a <code>JavaArray</code> in JavaScript </h4>
-<p>In this example, the <code>JavaArray</code> <code>byteArray</code> is created by the <code>java.lang.String.getBytes</code> method, which returns an array.
-</p>
-<pre class="eval">var javaString = new java.lang.String("Hello world!");
-var byteArray = javaString.getBytes();
-</pre>
-<h4 id="Example:_Instantiating_a_JavaArray_in_JavaScript_with_the_newInstance_method" name="Example:_Instantiating_a_JavaArray_in_JavaScript_with_the_newInstance_method"> Example: Instantiating a <code>JavaArray</code> in JavaScript with the <code>newInstance</code> method </h4>
-<p>In JavaScript 1.4, you can use a <code>JavaClass</code> object as the argument for the <code>newInstance</code> method which creates the array, as shown in the following code:
-</p>
-<pre class="eval">var dogs = java.lang.reflect.Array.newInstance(java.lang.String, 5);
-</pre>
-<p>In JavaScript 1.1, use a class object returned by <code>java.lang.Class.forName</code> as the argument for the newInstance method, as shown in the following code:
-</p>
-<pre class="eval">var dataType = java.lang.Class.forName("java.lang.String");
-var dogs = java.lang.reflect.Array.newInstance(dataType, 5);
-</pre>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/javaclass/index.html b/files/es/archive/web/liveconnect/javaclass/index.html
deleted file mode 100644
index 75ebf01604..0000000000
--- a/files/es/archive/web/liveconnect/javaclass/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: JavaClass
-slug: Archive/Web/LiveConnect/JavaClass
-tags:
- - páginas_a_traducir
-translation_of: Archive/Web/LiveConnect_Reference/JavaClass
----
-<h3 id="Resumen" name="Resumen">Resumen</h3>
-
-<p><strong>Objeto Global</strong></p>
-
-<p>Una referencia JavaScript de una clase Java.</p>
-
-<h3 id="Created_by" name="Created_by">Creado por</h3>
-
-<p>Una referencia del nombre de clase utilizada en el objeto <code>Packages</code>:</p>
-
-<pre class="eval">Packages.<em>JavaClass</em>
-</pre>
-
-<p><em>JavaClass</em> es el nombre completo de la clase Java. Los objetos LiveConnect <code>java</code>, <code>sun</code>, y <code>netscape</code> ofrecen accesos directos para los paquetes Java más utilizados, además de crear objetos <code>JavaClass</code>.</p>
-
-<h3 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h3>
-
-<p>Un objeto <code>JavaClass</code> es una referencia a una de las clases de un paquete Java, como <code>netscape.javascript.JSObject</code>. Un objeto <code>JavaPackage</code> es una referencia a un paquete Java, como <code>netscape.javascript</code>. En JavaScript, las jerarquías <code>JavaPackage</code> y <code>JavaClass</code> reflejan el paquete Java y la jeraquía de clases.</p>
-
-<p>Puedes pasar un objeto <code>JavaClass</code> a un método Java que requiera un argumento de tipo <code>java.lang.Class</code>.</p>
-
-<h3 id="Backward_compatibility" name="Backward_compatibility">Compatibilidad hacia atrás</h3>
-
-<h4 id="JavaScript_1.3_y_earlier" name="JavaScript_1.3_y_earlier">JavaScript 1.3 y anteriores</h4>
-
-<p>Debes crear un contenedor y meter dentro una instancia de <code>java.lang.Class</code> antes de pasarlo como parámetro a un método Java -- los objetos <code>JavaClass</code> no se convierten de forma automática a instancias de <code>java.lang.Class</code>.</p>
-
-<h3 id="Propiedades" name="Propiedades">Propiedades</h3>
-
-<p>Las propiedades de un objeto <code>JavaClass</code> son los campos estáticos de la clase Java.</p>
-
-<h3 id="M.C3.A9todos" name="M.C3.A9todos">Métodos</h3>
-
-<p>Los métodos de un objeto <code>JavaClass</code> son los métodos estáticos de la clase Java.</p>
-
-<h3 id="Ejemplos" name="Ejemplos">Ejemplos</h3>
-
-<h4 id="Ejemplos:_Utilizando_JavaClass" name="Ejemplos:_Utilizando_JavaClass">Ejemplos: Utilizando <code>JavaClass</code></h4>
-
-<p>En el siguiente ejemplo, <code>x</code> es un objeto JavaClass que hace referencia a java.awt.Font. Debido a que BOLD es un campo estático de la clase Font, también es una propiedad del objeto JavaClass.</p>
-
-<pre class="eval">x = java.awt.Font;
-myFont = x("helv", x.BOLD, 10); // crea un objeto Font
-</pre>
-
-<p>El ejemplo anterior omite <code>Packages</code> y utiliza el sinónimo <code>java</code> debido a que la clase <code>Font</code> está en el paquete <code>java</code>.</p>
-
-<h4 id="Ejemplos_2" name="Ejemplos_2">Ejemplos</h4>
-
-<p>En el siguiente ejemplo, el objeto <code>java.lang.String </code>de <code>JavaClass</code> se pasa como un argumento al método <code>newInstance</code> creando un array:</p>
-
-<pre class="eval">var cars = java.lang.reflect.Array.newInstance(java.lang.String, 15);
-</pre>
-
-<h3 id="Ver_tambi.C3.A9n" name="Ver_tambi.C3.A9n">Ver también</h3>
-
-<p><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaArray" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaArray">JavaArray</a>, <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaObject" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaObject">Objeto Java</a>, <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaPackage" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#JavaPackage">Empaquetado Java</a>, <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales#Packages" title="es/Referencia_de_JavaScript_1.5/Objetos_globales#Packages">Paquetes</a></p>
diff --git a/files/es/archive/web/liveconnect/javaobject/index.html b/files/es/archive/web/liveconnect/javaobject/index.html
deleted file mode 100644
index 7248cef567..0000000000
--- a/files/es/archive/web/liveconnect/javaobject/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: JavaObject
-slug: Archive/Web/LiveConnect/JavaObject
-translation_of: Archive/Web/LiveConnect_Reference/JavaObject
----
-<p>
-</p>
-<h3 id="Summary" name="Summary"> Summary </h3>
-<p><b>Core Object</b>
-</p><p>The type of a wrapped Java object accessed from within JavaScript code.
-</p>
-<h3 id="Created_by" name="Created_by"> Created by </h3>
-<p>Any Java method which returns an object type. In addition, you can explicitly construct a <code>JavaObject</code> using the object's Java constructor with the <code>Packages</code> keyword:
-</p>
-<pre class="eval">new Packages.<i>JavaClass</i>(<i>parameterList</i>)
-</pre>
-<p><i>JavaClass</i> is the fully-specified name of the object's Java class.
-</p>
-<h3 id="Parameters" name="Parameters"> Parameters </h3>
-<dl><dt> <code>parameterList</code> </dt><dd> An optional list of parameters, specified by the constructor of the Java class.
-</dd></dl>
-<h3 id="Description" name="Description"> Description </h3>
-<p>The <code>JavaObject</code> object is an instance of a Java class that is created in or passed to JavaScript. <code>JavaObject</code> is a wrapper for the instance; all references to the class instance are made through the <code>JavaObject</code>.
-</p><p>Any Java data brought into JavaScript is converted to JavaScript data types. When the <code>JavaObject</code> is passed back to Java, it is unwrapped and can be used by Java code. See the <a href="es/Core_JavaScript_1.5_Guide">Core JavaScript 1.5 Guide</a> for more information about data type conversions.
-</p>
-<h3 id="Properties" name="Properties"> Properties </h3>
-<p>Inherits public data members from the Java class of which it is an instance as properties. It also inherits public data members from any superclass as properties.
-</p>
-<h3 id="Methods" name="Methods"> Methods </h3>
-<p>Inherits public methods from the Java class of which it is an instance. The <code>JavaObject</code> also inherits methods from <code>java.lang.Object</code> and any other superclass.
-</p>
-<h3 id="Examples" name="Examples"> Examples </h3>
-<h4 id="Example:_Instantiating_a_Java_Object_in_JavaScript" name="Example:_Instantiating_a_Java_Object_in_JavaScript"> Example: Instantiating a Java Object in JavaScript </h4>
-<p>The following code creates the <code>JavaObject</code> <code>theString</code>, which is an instance of the class <code>java.lang.String</code>:
-</p>
-<pre class="eval">var theString = new Packages.java.lang.String("Hello, world");
-</pre>
-<p>Because the <code>String</code> class is in the <code>java</code> package, you can also use the java synonym and omit the <code>Packages</code> keyword when you instantiate the class:
-</p>
-<pre class="eval">var theString = new java.lang.String("Hello, world");
-</pre>
-<h4 id="Example:_Accessing_methods_of_a_Java_object" name="Example:_Accessing_methods_of_a_Java_object"> Example: Accessing methods of a Java object </h4>
-<p>Because the <code>JavaObject</code> <code>theString</code> is an instance of <code>java.lang.String</code>, it inherits all the public methods of <code>java.lang.String</code>. The following example uses the <code>startsWith</code> method to check whether <code>theString</code> begins with "Hello".
-</p>
-<pre class="eval">var theString = new java.lang.String("Hello, world");
-theString.startsWith("Hello"); // returns true
-</pre>
-<h4 id="Example:_Accessing_inherited_methods" name="Example:_Accessing_inherited_methods"> Example: Accessing inherited methods </h4>
-<p>Because <code>getClass</code> is a method of <code>Object</code>, and <code>java.lang.String</code> extends <code>Object</code>, the <code>String</code> class inherits the <code>getClass</code> method. Consequently, <code>getClass</code> is also a method of the <code>JavaObject</code> which instantiates <code>String</code> in JavaScript.
-</p>
-<pre class="eval">var theString = new java.lang.String("Hello, world");
-theString.getClass(); // returns java.lang.String
-</pre>
-<h3 id="See_also" name="See_also"> See also </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray">JavaArray</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass">JavaClass</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage">JavaPackage</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages">Packages</a>
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/javapackage/index.html b/files/es/archive/web/liveconnect/javapackage/index.html
deleted file mode 100644
index 091300cd5e..0000000000
--- a/files/es/archive/web/liveconnect/javapackage/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: JavaPackage
-slug: Archive/Web/LiveConnect/JavaPackage
-translation_of: Archive/Web/LiveConnect_Reference/JavaPackage
----
-<p>
-</p>
-<h3 id="Summary" name="Summary"> Summary </h3>
-<p><b>Core Object</b>
-</p><p>A JavaScript reference to a Java package.
-</p>
-<h3 id="Created_by" name="Created_by"> Created by </h3>
-<p>A reference to the package name used with the <code>Packages</code> keyword:
-</p>
-<pre class="eval">Packages.<i>JavaPackage</i>
-</pre>
-<p><i>JavaPackage</i> is the name of the object's Java package. If the package is in the <code>java</code>, <code>netscape</code>, or <code>sun</code> packages, the <code>Packages</code> keyword is optional.
-</p>
-<h3 id="Description" name="Description"> Description </h3>
-<p>In Java, a package is a collection of Java classes or other Java packages. For example, the <code>netscape</code> package contains the package <code>netscape.javascript</code>; the <code>netscape.javascript</code> package contains the classes <code>JSObject</code> and <code>JSException</code>.
-</p><p>In JavaScript, a <code>JavaPackage</code> is a reference to a Java package. For example, a reference to <code>netscape</code> is a <code>JavaPackage</code>. <code>netscape.javascript</code> is both a <code>JavaPackage</code> and a property of the <code>netscape</code> JavaPackage.
-</p><p>A <code>JavaClass</code> object is a reference to one of the classes in a package, such as <code>netscape.javascript.JSObject</code>. The <code>JavaPackage</code> and <code>JavaClass</code> hierarchy reflect the Java package and class hierarchy.
-</p><p>Although the packages and classes contained in a <code>JavaPackage</code> are its properties, you cannot use a <code>for...in</code> statement to enumerate them as you can enumerate the properties of other objects. </p>
-<h3 id="Properties" name="Properties"> Properties </h3>
-<p>The properties of a <code>JavaPackage</code> are the <code>JavaClass</code> objects and any other <code>JavaPackage</code> objects it contains.
-</p>
-<h3 id="Examples" name="Examples"> Examples </h3>
-<p>Suppose the Redwood corporation uses the Java <code>redwood</code> package to contain various Java classes that it implements. The following code creates the <code>JavaPackage</code> red:
-</p>
-<pre class="eval">var red = Packages.redwood;
-</pre>
-<h3 id="See_also" name="See_also"> See also </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray">JavaArray</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass">JavaClass</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject">JavaObject</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages">Packages</a>
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/netscape/index.html b/files/es/archive/web/liveconnect/netscape/index.html
deleted file mode 100644
index 85d8eabb95..0000000000
--- a/files/es/archive/web/liveconnect/netscape/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: netscape
-slug: Archive/Web/LiveConnect/netscape
-translation_of: Archive/Web/LiveConnect_Reference/netscape
----
-<p>
-</p>
-<h3 id="Summary" name="Summary"> Summary </h3>
-<p><b>Core Object</b>
-</p><p>A top-level object used to access any Java class in the package <code>netscape.*</code>.
-</p>
-<h3 id="Created_by" name="Created_by"> Created by </h3>
-<p>The <code>netscape</code> object is a top-level, predefined JavaScript object. You can automatically access it without using a constructor or calling a method.
-</p>
-<h3 id="Description" name="Description"> Description </h3>
-<p>The <code>netscape</code> object is a convenient synonym for the property <code>Packages.netscape</code>.
-</p>
-<h3 id="See_Also" name="See_Also"> See Also </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages">Packages</a>,
-<a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/netscape">Packages.netscape</a>
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/packages/index.html b/files/es/archive/web/liveconnect/packages/index.html
deleted file mode 100644
index c66265507d..0000000000
--- a/files/es/archive/web/liveconnect/packages/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Packages
-slug: Archive/Web/LiveConnect/Packages
-translation_of: Archive/Web/LiveConnect_Reference/Packages
----
-<p>
-</p>
-<h3 id="Summary" name="Summary"> Summary </h3>
-<p><b>Core Object</b>
-</p><p>A top-level object used to access Java classes from within JavaScript code.
-</p>
-<h3 id="Created_by" name="Created_by"> Created by </h3>
-<p>The <code>Packages</code> object is a top-level, predefined JavaScript object. You can automatically access it without using a constructor or calling a method.
-</p>
-<h3 id="Description" name="Description"> Description </h3>
-<p>The <code>Packages</code> object lets you access the public methods and fields of an arbitrary Java class from within JavaScript. The <code>java</code>, <code>netscape</code>, and <code>sun</code> properties represent the packages <code>java.*</code>, <code>netscape.*</code>, and <code>sun.*</code> respectively. Use standard Java dot notation to access the classes, methods, and fields in these packages. For example, you can access a constructor of the <code>Frame</code> class as follows:
-</p>
-<pre class="eval">var theFrame = new Packages.java.awt.Frame();
-</pre>
-<p>For convenience, JavaScript provides the top-level <code>netscape</code>, <code>sun</code>, and <code>java</code> objects that are synonyms for the Packages properties with the same names. Consequently, you can access Java classes in these packages without the Packages keyword, as follows:
-</p>
-<pre class="eval">var theFrame = new java.awt.Frame();
-</pre>
-<p>The <code>className</code> property represents the fully qualified path name of any other Java class that is available to JavaScript. You must use the <code>Packages</code> object to access classes outside the <code>netscape</code>, <code>sun</code>, and <code>java</code> packages.
-</p>
-<h3 id="Properties" name="Properties"> Properties </h3>
-<p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/className">className</a>: The fully qualified name of a Java class in a package other than netscape, java, or sun that is available to JavaScript. </p><p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/java">java</a>: Any class in the Java package java.*. </p><p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/netscape">netscape</a>: Any class in the Java package netscape.*. </p><p><a href="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/sun">sun</a>: Any class in the Java package sun.*.
-</p>
-<h3 id="Examples" name="Examples"> Examples </h3>
-<h4 id="Example:_JavaScript_function_to_create_a_Java_dialog_box" name="Example:_JavaScript_function_to_create_a_Java_dialog_box"> Example: JavaScript function to create a Java dialog box </h4>
-<p>The following JavaScript function creates a Java dialog box:
-</p>
-<pre class="eval">function createWindow() {
- var theOwner = new Packages.java.awt.Frame();
- var theWindow = new Packages.java.awt.Dialog(theOwner);
- theWindow.setSize(350, 200);
- theWindow.setTitle("Hello, World");
- theWindow.setVisible(true);
-}
-</pre>
-<p>In the previous example, the function instantiates <code>theWindow</code> as a new <code>Packages</code> object. The <code>setSize</code>, <code>setTitle</code>, and <code>setVisible</code> methods are all available to JavaScript as public methods of <code>java.awt.Dialog</code>.
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/es/archive/web/liveconnect/sun/index.html b/files/es/archive/web/liveconnect/sun/index.html
deleted file mode 100644
index 2ded558161..0000000000
--- a/files/es/archive/web/liveconnect/sun/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: sun
-slug: Archive/Web/LiveConnect/sun
-translation_of: Archive/Web/LiveConnect_Reference/sun
----
-<p> </p>
-<h3 id="Summary" name="Summary">Sumario</h3>
-<p><strong>Objeto Core</strong></p>
-<p>Objeto de nivel superior usado para acceder a cualquier clase Java en el paquete <code>sun.*</code>.</p>
-<h3 id="Created_by" name="Created_by">Creado por</h3>
-<p>El objeto <code>sun</code> es un objeto Javascript predefinido de nivel superior. Puede acceder a él automáticamente sin necesidad de utilizar un constructor o llamar a un método.</p>
-<h3 id="Description" name="Description">Descripción</h3>
-<p>El objeto <code>sun</code> es un sinónimo de conveniencia de la propiedad <code>Packages.sun</code>.</p>
-<h3 id="See_also" name="See_also">Ver también</h3>
-<p><a href="/es/Core_JavaScript_1.5_Reference/Global_Objects/Packages" title="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages">Packages</a>, <a href="/es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/sun" title="es/Core_JavaScript_1.5_Reference/Global_Objects/Packages/sun">Packages.sun</a></p>
-
-<p></p>