Es recomendable que configure una contraseña de administrador/súper usuario,
+conocida como contraseña de root en Linux, para todas
+las instalaciones de Mageia. Conforme vaya
+escribiendo una contraseña en el recuadro, el color del escudo irá cambiando
+desde rojo a amarillo hasta verde, dependiendo del nivel de seguridad de la
+contraseña. Un escudo verde muestra un alto grado de seguridad.Necesita
+repetir la misma en el recuadro de abajo, para comprobar que no ha cometido
+ningún error en la primera contraseña,comparándolas.
Nota
Todas las contraseñas son sensibles a las mayúsculas. Para tener una
+contraseña segura, se recomienda usar una mezcla de letras (mayúsculas y
+minúsculas), números y otros símbolos.
Introduzca un usuario
Aquí puede añadir un usuario. Un usuario tiene menos permisos que el
+administrador, pero suficientes para navegar en Internet, usar aplicaciones
+ofimáticas, jugar y cualquier cosa que un usuario medio hace con su
+ordenador.
Icono: Si hace click en este botón cambiará el icono
+del usuario.
Nombre y Apellidos: Introduzca el nombre real del
+usuario en este recuadro.
Nombre de conexión: Aquí puede introducir el nombre de
+conexión del usuario o dejar a Drakx que cree un nombre de usuario a partir
+del nombre real del usuario. El nombre de conexión es sensible a
+las mayúsculas.
Contraseña: En este recuadro debe de escribir la
+contraseña del usuario. Hay un escudo al final del espacio que muestra el
+nivel de seguridad de la contraseña. (Vea también Nota)
Contraseña (de nuevo): Vuelva a escribir la contraseña
+en este recuadro y Drakx comprobará que ha escrito la misma que en el
+recuadro anterior.
Nota
Todo usario que se añada en la instación de Mageia tendrá un directorio
+personal home legiblepor todos (pero protegido contra escritura).
Sin embargo, cuando use su nueva instalación, todo usuario que añada en
+MCC - Sistema - Administrar usuarios del sistema tendrá
+un directorio personal home protegido contra lectura y escritura.
Si no quiere directorios home legibles por todo el mundo, se recomienda
+añadir ahora un usuario temporal y añadir los usuarios reales tras reiniciar
+el ordenador.
Si prefiere directorios legibles por todo el mundo, puede añadir todos los
+usuarios necesarios en Configuración - Resumen durante
+la instación. Elija Administrar usuarios.
Los permisos de acceso se pueden cambiar también tras la instación.
Configuración avanzada de usuario
Si hace click en el botón avanzado, aparecerá una
+pantalla que le permite editar la configuración del usuario que está
+añadiendo. También puede habilitar o inhabilitar la cuenta de invitado.
Aviso
Cualquier cosa que un usuario invitado (con rbash)
+guarde en su directorio home será borrado cuando cierre sesión. El invitado
+debe de guardar sus archivos importantes en una unidad USB.
Habilitar cuenta de invitado: Aquí puede habilitar o
+inhabilitar la cuenta de invitado. La cuenta de invitado permite a un
+usuario ocasional acceder y usar el PC, pero tiene un acceso más restringido
+que los usuarios normales.
Shell: Esta pestaña permite cambiar el shell usado por
+el usuario que está añadiendo. Las opciones son Bash, Dash y Sh.
ID de usuario: Aquí puede configurar el número de
+identificación del usuario que está añadiendo. Es un número. Déjelo vació
+salvo que sepa lo que está haciendo.
ID de grupo: Aquí puede configurar el número de
+identificación del grupo. También es un número, normalmente el mismo que
+para el usuario. Déjelo vacío salvo que sepa lo que está haciendo.
Selección de repositorios (Configurar repositorios de instalación
+suplementarios)
Selección de repositorios (Configurar repositorios de instalación
+suplementarios)
Esta pantalla muestra la lista de repositorios ya reconocidos. Puede agregar
+otras fuentes de paquetes como un disco óptico o una fuente remota. La
+selección de fuentes determina qué paquetes pueden ser elegidos en los
+siguientes pasos.
Para un repositorio por red, hay dos pasos a seguir:
Elección y activación de la red, si es que no está activada ya.
Seleccionar un servidor espejo o especificar una URL (la primera
+entrada). Al seleccionar un servidor espejo tendrá acceso a la selección de
+todos los repositorios administrados por Mageia, tales como los repositorios
+nonfree, tainted y updates. Con la URL, puede designar un repositorio
+específico o su propia instalación NFS.
Aquí puede ver las particiones de Linux que se han encontrado en su
+ordenador. Si no está de acuerdo con la sugerencia de
+DrakX, puede cambiar los puntos de montaje.
Nota
Si cambia algo, asegúrese de que conserva una partición /
+(root).
Cada partición se muestra así: "Dispositivo" ("Capacidad", "Punto de
+montaje", "Tipo").
"Dispositivo", está compuesto por: "disco duro", ["número del disco
+duro"(letra)], "número de partición" (por ejemplo, "sda5").
Si tiene varias particiones, puede elegir diferentes puntos de montaje
+desplegando la lista, como /, /home y
+/var. También puede hacer sus propios puntos de montaje,
+por ejemplo /video para nombrar una partición donde
+quiere guardar sus películas, o /cauldron-home para la
+partición /home de una instalación Cauldron.
Para las particiones a las que no necesite acceso, puede dejar el punto de
+montaje vacío.
Aviso
Elija Anterior si no está seguro de qué elegir y
+luego marque Particionamiento personalizado. En la
+siguiente pantalla, puede hacer click en una partición para ver su tipo y
+tamaño.
Si está seguro de que los puntos de montaje son correctos, haga click en
+Siguiente, y elija si quiere formatear o bien
+solamentelas particiones que DrakX sugiere o bien alguna más.
Dependiendo de su selección aquí, pueden aparecer otras ventanas para
+ajustar su elección de manera más precisa.
Después de los pasos de selección, verá una presentación durante la
+instalación de los paquetes. Esta presentación puede desactivarse pulsando
+Detalles.
Elija el entorno de escritorio que prefiera, KDE
+o Gnome. Ambos incluyen un juego completo de
+útiles aplicaciones y herramientas. Marque
+Personalizada si no quiere usar ninguno o ambos, o si
+quiere algo más que el software elegido por defecto para cada entorno de
+escritorio. El escritorio LXDE es más ligero que
+los otros dos anteriores, con una apariencia menos llamativa y menos
+paquetes instalados por defecto.
Los paquetes han sido agrupados para hacer mucho más sencilla la elección de
+lo que necesite. Los grupos se definen intuitivamente. Sin embargo, si
+necesita más información, simplemente pasando el ratón por encima de cada
+grupo se muestra más información sobre ellos.
Estación de trabajo.
Servidor.
Entorno gráfico.
Selección individual de paquetes: Puede usar esta opción para añadir o
+eliminar manualmente los paquetes.
Lea “Instalación mínima.” para instrucciónes sobre como
+hacer una instalación minima.
Aquí puede añadir o eliminar cualquier paquete extra para personalizar su
+instalación.
Después de elegir, puede hacer click en el icono del
+disquete al final de la página para guardar su elección de
+paquetes (también puede guardarlas en una unidad USB). Puede usar este
+archivo para instalar los mismos paquetes en otro sistema, pulsando el mismo
+botón durante la instalación para cargarlo.
Escoja un servidor X (Configurando su tarjeta gráfica)
Escoja un servidor X (Configurando su tarjeta gráfica)
DrakX tiene una base de datos de tarjetas gráficas bastante amplia y
+usualmente puede identificar su tarjeta correctamente.
Si el instalador no ha dectectado su tarjeta grafica correctamente y usted
+sabe cuál es, puede escogerla del árbol:
fabricante
el nombre de su tarjeta
y el tipo de tarjeta
Si no puede encontrar su tarjeta en la lista de frabicantes (porque todavía
+no se ha incluido en la base de datos o la tarjeta es vieja) puede encontrar
+un controlador apropiado en la categoría de Xorg.
El listado de Xorg provee más de 40 controladores genéricos y de código
+abierto para su tarjeta de vídeo. Si todavía no puede encontrar un
+controlador adecuado para su tarjeta, tiene la opción de usar el controlador
+vesa. Este controlador provee una capacidad básica a su tarjeta de vídeo.
Sea consciente que si escoge el controlador equivocado, podria tener acceso
+solamente al interfaz de la línea de comandos.
Algunos fabricantes de tarjetas de vídeo proveen controladores propietarios
+para Linux que se encuentran solamente en los repositorios Nonfree. En
+algunos casos, solo se encuentran en el sitio web del fabricante.
Los repositorios Nonfree tienen que ser activados explícitamente para poder
+acceder a ellos. Esto se debe hacer después de reiniciar su sistema.
Independientemente del entorno gráfico (también conocido como entorno de
+escritorio) que usted elija para esta instalación de
+Mageia, todos están basados en el sistema de
+interfaz gráfico de usuario llamado Sistema X Window, o
+simplemente X. Así, para que KDE,
+Gnome, LXDE o cualquier otro entorno
+gráfico funcione bien, la siguiente configuración de X
+debe ser correcta. Elija la configuración adecuada si ve que
+DrakX no eligió nada o no eligió correctamente.
Tarjeta gráfica: Elija su
+tarjeta de la lista si es necesario.
Monitor: Puede elegir
+Plug'n Play cuando sea posible, o escoger su monitor de
+la lista Frabricantes o
+genérico. Escoja personalizado si
+prefiere fijar manualmente las tasas de refresco horizontal y vertical de su
+monitor.
Aviso
Tasas de refresco incorrectas pueden dañar su monitor
Resolución: Fije la resolución
+deseada y la profundidad de color de su monitor aquí.
Prueba: El botón de prueba no
+siempre aparece durante la instalación. Si el botón está, puede controlar su
+configuración pulsándolo. Si aparece una pregunta acerca de si la
+configuración es correcta, puede responder "sí", y la configuración se
+guardará. Si no ve nada, regresará a la pantalla de configuración y podrá
+reconfigurar todo hasta que la prueba sea válido. Asegúrese de que
+la configuración está en el lado seguro si el botón de prueba no está
+disponible.
Opciones: Aquí puede escoger el
+activar o desactivar varias opciones.
DrakX tiene un base de datos de monitores bastante amplia y usualmente puede
+identificar su monitor correctamente.
Aviso
Escogiendo un monitor con características diferentes puede dañar
+su pantalla o componentes de vídeo. Por favor, no intente hacer algo sin
+saber lo que hace. Si tiene dudas, debe consultar la
+documentacion de su monitor.
Personalizado
Esta opción deja cambiar dos parámetros críticos, la tasa de refresco
+vertical y la sincronizacion horizontal. La tasa de refresco vertical
+determina cada cuánto se actualiza la pantalla y la sincronizacion
+horizontal es la tasa por lo cual las lineas de escaneo se pueden ver.
Es MUY IMPORTANTE que no escoja un tipo de monitor con
+un tasa de refresco superior a la capacidad de su monitor real, puesto que
+puede dañarlo. Si tiene duda, escoja un configuración conservadora y
+consulte la documentacion de su monitor.
Plug 'n Play
Esta es la opción predeterminada y trata de identificar el tipo de monitor
+que tiene usando la base de datos de monitores.
Vendedor
Si el instalador no pudo identificar su monitor correctamente y usted sabe
+cuál es, lo puede escoger del árbol:
fabricante
el nombre del fabricante del monitor
la descripción del monitor
Genérico
escogiendo este grupo, se muestra casi 30 configuraciones de pantalla como
+1024x768 @ 60Hz y encluye pantallas planas como las que se usan en
+portátiles. Usualmente, este es un buen grupo para elegir monitores si
+necesita usar el controlador de tarjetas Vesa cuando su hardware de vídeo no
+se puede determinar automáticamente. De nuevo, es mejor realizar una
+selección conservadora.
Si desea encriptar su partición /, debe asegurarse de que
+tiene una partición /boot separada. La opción de
+encriptación para la partición /boot NO DEBE USARSE, de
+lo contrario, su sistema no arrancará.
Ajuste la estructura de su(s) disco(s) aquí. Se pueden añadir y quitar
+particiones, cambiar el sistema de archivos de una partición o cambiar su
+tamaño, e incluso echar un vistazo antes de empezar.
+
Hay una pestaña para cada disco duro o sistema de almacenaje detectados,
+como una unidad USB. Por ejemplo, sda, sdb y sdc si se encuentran tres.
+
Pulse Quitar todo para eliminar todas las particiones
+del disco de almacenaje seleccionado.
Para cada una de las restantes acciones: haga primero click en la partición
+escogida. Entonces, véala, escoja un sistema de ficheros y un punto de
+montaje, cambie el tamaño o elimínela.
En esta pantalla puede ver el contenido de su(s) disco(s) duro(s) y ver el
+sitio que el asistente de particionado de DrakX ha encontrado para instalar
+Mageia.
Las opciones disponibles en la lista de abajo pueden variar dependiendo del
+contenido de su(s) disco(s) duro(s).
Usar la partición existente
Si esta opción está disponible significa que se han encontrado particiones
+compatibles con Linux que pueden ser usadas para la instalación.
Usar el espacio libre
Si tiene espacio sin usar en su disco duro, esta opción lo usará para su
+nueva instalación de Mageia.
Usar espacio libre en una partición de Windows
Si tiene espacio libre en una partición existente de Windows, el instalador
+puede ofrecer usarlo.
¡Esta puede ser una manera útil de hacer espacio para su nueva instalación
+de Mageia, pero es una operación peligrosa, así que debería hacer una copia
+de seguridad de todos sus archivos importantes!
Sea consciente de que esta operación implica una reducción del tamaño de la
+partición de Windows. Esta partición debe de estar "limpia", es decir,
+Windows debe de haberse cerrado correctamente la última vez que fue
+usado. También debe de haber sido desfragmentada, aunque esto no garantiza
+que todos los archivos de la partición hayan sido movidos fuera del área que
+se va a usar. Por ello, es altamente recomendable hacer una copia de
+seguridad de sus archivos personales.
Borrar y usar el disco entero
Esta opción usará el disco completo para Mageia.
¡Aviso! Esto borrara TODA la información en el disco duro
+seleccionado. ¡Tenga cuidado!
Si pretende usar una parte del disco para otra cosa o ya tiene información
+en la unidad que no quiere perder, no use esta opción.
Particionamiento personalizado
Esta opción le ofrece el control completo sobre donde colocar su instalación
+en su(s) disco(s) duro(s).
Aviso
Algunos discros duros recientes usan sectores lógicos de 4096 bytes, en vez
+de la versión estándar de 512 bytes. Debido a la falta de hardware
+disponiblela herramienta de particionado no se ha comprobado en tales
+discos. Además, algunos discos ssd usarn un bloque de borrado de más de
+1MB.Sugerimos que previamente se use otra herramienta de particionado como
+gparted,en caso de que posea un disco de estos tipos, y que use las
+siguientes configuraciones:
"Alinear a" "MiB"
"Espacio libre que precede a (MiB)" "2"
Asegúrese de que todas las particiones se han creado con un número par de
+megabytes.
Aquí puede elegir qué partición(es) quiere formatear. Se guardará cualquier
+información en las particiones no marcadas para
+formatear.
Normalmente, por lo menos las particiones seleccionadas por DrakX, necesitan
+formatearse.
Haga click en Avanzado para elegir particiones que
+quiera comprobar los bloques defectuosos.
Sugerencia
Si no está seguro de haber hecho la elección correcta, puede hacer click en
+Anterior, de nuevo en Anterior
+y luego en Personalizado para volver a la pantalla
+principal. En esta pantalla puede comprobar lo que haya en sus particiones.
Cuando esté seguro de su elección, haga click en
+Siguiente para continuar.
Nadie verá las imágenes que puede ver en este manual. Las imágenes que verá
+dependerán de su hardware y las decisiones que tomó durante la instalación.
Seas nuevo en GNU-Linux o un usuario avanzado, el instalador de Mageia está
+diseñado para ayudarle a hacer su instalación o actualización lo más fácil
+posible.
El menú inicial tiene varias opciones, aunque la elegida por defecto
+iniciará el instalador, que normalmente será todo lo que necesite.
Figura 1. Pantalla de bienvenida del Instalador
Si tiene problemas durante la instalación, puede que sea necesario usar
+opciones especiales de instalación, vea “Opciones de instalación”.
Los pasos de la instalación
El proceso de instalación está dividido en un número de pasos que pueden ser
+seguidos en el panel lateral de la pantalla.
Cada paso tiene una o varias pantallas que pueden tener botones
+Avanzados con opciones extra, normalmente poco
+usadas.
La mayoría de las pantallas tiene botones de Ayuda
+que le darán explicaciones sobre el paso en cuestión.
Nota
Si en cualquier momento durante la instalación decide parar el proceso, es
+posible reiniciar, pero piénselo dos veces. Una vez que una partición ha
+sido formateada o cuando las actualizaciones han empezado a instalarse, su
+ordenador no estará en el mismo estado y un reinicio puede dejarle con un
+sistema inutilizable. No obstante, si decide reiniciar, acceda a la terminal
+pulsando al mismo tiempo Alt Ctrl F2. Después, pulse
+Alt Ctrl Delete simultáneamente para reiniciar.
Esto abrirá la siguiente página de ayuda en texto.
Figura 2. Pantalla de Ayuda de la Instalación
Problemas en la Instalación y Posibles Soluciones.
No hay Interfaz Gráfica
Después de la pantalla inicial, no carga la pantalla de selección del
+idioma. Esto puede ocurrir con algunas tarjetas gráficas y sistemas
+antiguos. Intente usando una resolución más baja, escribiendo
+vgalo en la terminal.
Si el hardware es muy antiguo, puede que no sea posible hacer una
+instalación gráfica. En este caso merece la pena intentar una instalación en
+modo texto. Para usarla, pulse ESC en la primera pantalla de bienvenida y
+confirme con INTRO. Le aparecerá una pantalla negra con la palabra "boot:"
+Escriba "text" y presione INTRO. Ahora continúe con la instalación en modo
+texto.
La Instalación se congela
Si el sistema parece congelarse durante la instalación, puede ser un
+problema con la detección de hardware. En este caso, la detección automática
+de hardware se puede desactivar y configurarse después. Para probar esto,
+escriba noauto en la terminal. Esta opción puede ser combinada
+con otras si es necesario.
Opciones del Kernel
Es raro que lo necesite, pero en algunos casos, el hardware puede informar
+erróneamente de la cantidad de RAM disponible. Para especificarla
+manualmente, puede usar el parámetro mem=xxxM, donde xxx es la
+cantidad correcta de RAM, por ejemplo: mem=256M significaría
+256MB de RAM.
Aquí tiene una lista de los repositorios disponibles. No todos los
+repositorios están disponibles, dependiendo de qué medio utilice para la
+instalación. La selección de repositorios determina qué paquetes podrán ser
+elegidos en los próximos pasos.
El repositorio Core no puede ser deshabilitado ya que
+contiene la base de la distribución.
El repositorio Nonfree incluye paquetes que son gratis,
+es decir, Mageia puede redistribuirlos, pero que contienen software de
+código cerrado, de aquí el nombre Nonfree. Por ejemplo, este repositorio
+incluye controladores propietarios de tarjetas gráficas nVidia y ATI,
+firmware para diversas tarjetas WiFi, etc.
El repositorio Tainted incluye paquetes liberados bajo
+una licencia libre. El criterio principal para poner paquetes en este
+repositorio es que pueden infringir patentes y leyes de derechos de autor en
+algunos países, como por ejemplo codecs multimedia necesarios para
+reproducir ciertos archivos de audio/vídeo, paquetes necesarios para
+reproducir DVD de video comercial, etc.
Puede elegir la instalación mínima deseleccionando todo en la pantalla de
+Selección de Grupos de Paquetes, vea “Selección de Grupo de Paquetes”.
La instalación mínima está dirigida a aquellos que tienen en mente usos
+específicos para su Mageia, como un servidor o
+una estación de trabajo especializada. Probablemente usará esta opción junto
+con la seleccion de paquetes manual, vea “Elegir paquetes detalladamente”.
Si selecciona este tipo de instalación, la siguiente pantalla le ofrecerá
+algunos extras útiles para instalar, como documentación y las X.
DrakX elige inteligentemente la configuración para su sistema dependiendo
+del hardware que ha detectado. Puede comprobar la configuración aquí y
+cambiarla si quiere pulsando Configurar.
Configuraciones del sistema
Huso horario:
DrakX le elige un huso horario dependiendo del idioma seleccionado. Puede
+cambiarlo si lo necesita, Vea también “Configure su huso horario”
Aquí puede añadir más usuarios. Cada uno tendrá su propio directorio
+/home.
Servicios:
Los Servicios del sistema se refieren a esos pequeños programas que
+funcionan en segundo plano (conocidos como "demonios"). Esta herramienta le
+permite activar o desactivar algunos de ellos.
Debe de pensar con mucho cuidado antes de cambiar nada aquí, una
+equivocación puede hacer que su ordenador no funcione correctamente.
Aquí es donde puede configurar o cambiar la disposición de su teclado, que
+dependerá de su localización, lenguaje o tipo de teclado.
Ratón:
Aquí puede añadir o configurar otros dispositivos señaladores, tablets,
+trackballs, etc.
Tarjeta de sonido:
El instalador usa el driver por defecto, si hay alguno. La opción de escoger
+uno diferente aparece solamente cuando hay más de un driver para su tarjeta
+pero ninguno es el que viene por defecto.
Interfaz gráfica:
Esta sección le permite configurar sus tarjeta(s) gráficas y pantallas.
Puede configurar su red aquí, pero para tarjetas de red sin controladores
+libres (nonfree), es mejor hacerlo después de reiniciar, en el
+Centro de Control de Mageia, después de tener
+activados los repositorios non-free.
Aviso
Cuando añada una tarjeta de red, no olvide configurar el cortafuegos para
+que también la controle.
Servidores proxy:
Un servidor proxy actúa como un intermediario entre su ordenador e
+Internet. Esta sección le permite configurar su ordenador para usar un
+servicio de proxy.
Puede que necesite consultar a su administrador de sistemas para obtener los
+parámetros que debe poner aquí.
Seguridad
Nivel de seguridad:
Aquí puede configurar el nivel de seguridad que desee para su ordenador, en
+la mayoría de los casos, la configuración por defecto (Estándar) es adecuada
+para un uso general.
Marque la opción que se ajuste mejor al uso que le dé a su ordenador.
Cortafuegos:
El propósito de un cortafuegos es ser una barrera entre sus archivos
+importantes y la gente malintencionada que pulula por Internet, quienes
+pueden intentar robar o comprometer sus archivos.
Seleccione los servicios a los que quiere tener acceso en su sistema. Su
+selección dependerá del uso que haga de su ordenador.
Aviso
¡Tenga en cuenta de que permitiendo todo (sin cortafuegos) puede ser muy
+peligroso!
diff --git a/installer/4/es/content/nwSearchFnt.js b/installer/4/es/content/nwSearchFnt.js
new file mode 100644
index 00000000..fc12d113
--- /dev/null
+++ b/installer/4/es/content/nwSearchFnt.js
@@ -0,0 +1,513 @@
+/*----------------------------------------------------------------------------
+ * JavaScript for webhelp search
+ *----------------------------------------------------------------------------
+ This file is part of the webhelpsearch plugin for DocBook WebHelp
+ Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved.
+ www.nexwave.biz Nadege Quaine
+ http://kasunbg.blogspot.com/ Kasun Gajasinghe
+ */
+
+//string initialization
+var htmlfileList = "htmlFileList.js";
+var htmlfileinfoList = "htmlFileInfoList.js";
+var useCJKTokenizing = false;
+
+/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */
+function Verifie(ditaSearch_Form) {
+
+ // Check browser compatibitily
+ if (navigator.userAgent.indexOf("Konquerer") > -1) {
+
+ alert(txt_browser_not_supported);
+ return;
+ }
+
+
+ var expressionInput = document.ditaSearch_Form.textToSearch.value;
+ //Set a cookie to store the searched keywords
+ $.cookie('textToSearch', expressionInput);
+
+
+ if (expressionInput.length < 1) {
+
+ // expression is invalid
+ alert(txt_enter_at_least_1_char);
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+ else {
+
+ // Effectuer la recherche
+ Effectuer_recherche(expressionInput);
+
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+}
+
+var stemQueryMap = new Array(); // A hashtable which maps stems to query words
+
+/* This function parses the search expression, loads the indices and displays the results*/
+function Effectuer_recherche(expressionInput) {
+
+ /* Display a waiting message */
+ //DisplayWaitingMessage();
+
+ /*data initialisation*/
+ var searchFor = ""; // expression en lowercase et sans les caracte res speciaux
+ //w = new Object(); // hashtable, key=word, value = list of the index of the html files
+ scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for
+ var wordsList = new Array(); // Array with the words to look for
+ var finalWordsList = new Array(); // Array with the words to look for after removing spaces
+ var linkTab = new Array();
+ var fileAndWordList = new Array();
+ var txt_wordsnotfound = "";
+
+
+ /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/
+ searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "").replace(/_di_/g, "%24_");
+
+ searchFor = searchFor.replace(/ +/g, " ");
+ searchFor = searchFor.replace(/ $/, "").replace(/^ /, "");
+
+ wordsList = searchFor.split(" ");
+ wordsList.sort();
+
+ //set the tokenizing method
+ if(typeof indexerLanguage != "undefined" && (indexerLanguage=="zh" || indexerLanguage=="ja" ||indexerLanguage=="ko")){
+ useCJKTokenizing=true;
+ } else {
+ useCJKTokenizing=false;
+ }
+ //If Lucene CJKTokenizer was used as the indexer, then useCJKTokenizing will be true. Else, do normal tokenizing.
+ // 2-gram tokenizinghappens in CJKTokenizing,
+ if(useCJKTokenizing){
+ finalWordsList = cjkTokenize(wordsList);
+ } else {
+ finalWordsList = tokenize(wordsList);
+ }
+
+ //load the scripts with the indices: the following lines do not work on the server. To be corrected
+ /*if (IEBrowser) {
+ scriptsarray = loadTheIndexScripts (scriptLetterTab);
+ } */
+
+ /**
+ * Compare with the indexed words (in the w[] array), and push words that are in it to tempTab.
+ */
+ var tempTab = new Array();
+ for (var t in finalWordsList) {
+ if (w[finalWordsList[t].toString()] == undefined) {
+ txt_wordsnotfound += finalWordsList[t] + " ";
+ } else {
+ tempTab.push(finalWordsList[t]);
+ }
+ }
+ finalWordsList = tempTab;
+
+ if (finalWordsList.length) {
+
+ //search 'and' and 'or' one time
+ fileAndWordList = SortResults(finalWordsList);
+
+ var cpt = fileAndWordList.length;
+ for (var i = cpt - 1; i >= 0; i--) {
+ if (fileAndWordList[i] != undefined) {
+ linkTab.push("
" + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "
";
+ }
+ //alert(results);
+ document.getElementById('searchResults').innerHTML = results;
+}
+
+function tokenize(wordsList){
+ var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces
+ var cleanwordsList = new Array(); // Array with the words to look for
+ for(var j in wordsList){
+ var word = wordsList[j];
+ if(typeof stemmer != "undefined" ){
+ stemQueryMap[stemmer(word)] = word;
+ } else {
+ stemQueryMap[word] = word;
+ }
+ }
+ //stemmedWordsList is the stemmed list of words separated by spaces.
+ for (var t in wordsList) {
+ wordsList[t] = wordsList[t].replace(/(%22)|^-/g, "");
+ if (wordsList[t] != "%20") {
+ scriptLetterTab.add(wordsList[t].charAt(0));
+ cleanwordsList.push(wordsList[t]);
+ }
+ }
+
+ if(typeof stemmer != "undefined" ){
+ //Do the stemming using Porter's stemming algorithm
+ for (var i = 0; i < cleanwordsList.length; i++) {
+ var stemWord = stemmer(cleanwordsList[i]);
+ stemmedWordsList.push(stemWord);
+ }
+ } else {
+ stemmedWordsList = cleanwordsList;
+ }
+ return stemmedWordsList;
+}
+
+//Invoker of CJKTokenizer class methods.
+function cjkTokenize(wordsList){
+ var allTokens= new Array();
+ var notCJKTokens= new Array();
+ var j=0;
+ for(j=0;j";
+ return this.input.substring(this.offset,this.offset+2);
+ }
+
+ function getAllTokens(){
+ while(this.incrementToken()){
+ var tmp = this.tokenize();
+ this.tokens.push(tmp);
+ }
+ return this.unique(this.tokens);
+// document.getElementById("content").innerHTML += tokens+" ";
+// document.getElementById("content").innerHTML += " dada"+sortedTokens+" ";
+// console.log(tokens.length+"dsdsds");
+ /*for(i=0;idada"+un[i]+"- "+stems[i]+" "+ ss;
+ document.getElementById("content").innerHTML += " "+sortedTokens[i];
+ }*/
+ }
+
+ function unique(a)
+ {
+ var r = new Array();
+ o:for(var i = 0, n = a.length; i < n; i++)
+ {
+ for(var x = 0, y = r.length; x < y; x++)
+ {
+ if(r[x]==a[i]) continue o;
+ }
+ r[r.length] = a[i];
+ }
+ return r;
+ }
+}
+
+
+/* Scriptfirstchar: to gather the first letter of index js files to upload */
+function Scriptfirstchar() {
+ this.strLetters = "";
+ this.add = addLettre;
+}
+
+function addLettre(caract) {
+
+ if (this.strLetters == 'undefined') {
+ this.strLetters = caract;
+ } else if (this.strLetters.indexOf(caract) < 0) {
+ this.strLetters += caract;
+ }
+
+ return 0;
+}
+/* end of scriptfirstchar */
+
+/*main loader function*/
+/*tab contains the first letters of each word looked for*/
+function loadTheIndexScripts(tab) {
+
+ //alert (tab.strLetters);
+ var scriptsarray = new Array();
+
+ for (var i = 0; i < tab.strLetters.length; i++) {
+
+ scriptsarray[i] = "..\/search" + "\/" + tab.strLetters.charAt(i) + ".js";
+ }
+ // add the list of html files
+ i++;
+ scriptsarray[i] = "..\/search" + "\/" + htmlfileList;
+
+ //debug
+ for (var t in scriptsarray) {
+ //alert (scriptsarray[t]);
+ }
+
+ tab = new ScriptLoader();
+ for (t in scriptsarray) {
+ tab.add(scriptsarray[t]);
+ }
+ tab.load();
+ //alert ("scripts loaded");
+ return (scriptsarray);
+}
+
+/* ScriptLoader: to load the scripts and wait that it's finished */
+function ScriptLoader() {
+ this.cpt = 0;
+ this.scriptTab = new Array();
+ this.add = addAScriptInTheList;
+ this.load = loadTheScripts;
+ this.onScriptLoaded = onScriptLoadedFunc;
+}
+
+function addAScriptInTheList(scriptPath) {
+ this.scriptTab.push(scriptPath);
+}
+
+function loadTheScripts() {
+ var script;
+ var head;
+
+ head = document.getElementsByTagName('head').item(0);
+
+ //script = document.createElement('script');
+
+ for (var el in this.scriptTab) {
+ //alert (el+this.scriptTab[el]);
+ script = document.createElement('script');
+ script.src = this.scriptTab[el];
+ script.type = 'text/javascript';
+ script.defer = false;
+
+ head.appendChild(script);
+ }
+
+}
+
+function onScriptLoadedFunc(e) {
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ var isComplete = true;
+ if (typeof target.readyState != undefined) {
+
+ isComplete = (target.readyState == "complete" || target.readyState == "loaded");
+ }
+ if (isComplete) {
+ ScriptLoader.cpt++;
+ if (ScriptLoader.cpt == ScriptLoader.scripts.length) {
+ ScriptLoader.onLoadComplete();
+ }
+ }
+}
+
+/*
+function onLoadComplete() {
+ alert("loaded !!");
+} */
+
+/* End of scriptloader functions */
+
+// Array.unique( strict ) - Remove duplicate values
+function unique(tab) {
+ var a = new Array();
+ var i;
+ var l = tab.length;
+
+ if (tab[0] != undefined) {
+ a[0] = tab[0];
+ }
+ else {
+ return -1
+ }
+
+ for (i = 1; i < l; i++) {
+ if (indexof(a, tab[i], 0) < 0) {
+ a.push(tab[i]);
+ }
+ }
+ return a;
+}
+function indexof(tab, element, begin) {
+ for (var i = begin; i < tab.length; i++) {
+ if (tab[i] == element) {
+ return i;
+ }
+ }
+ return -1;
+
+}
+/* end of Array functions */
+
+
+/*
+ Param: mots= list of words to look for.
+ This function creates an hashtable:
+ - The key is the index of a html file which contains a word to look for.
+ - The value is the list of all words contained in the html file.
+
+ Return value: the hashtable fileAndWordList
+ */
+function SortResults(mots) {
+
+ var fileAndWordList = new Object();
+ if (mots.length == 0) {
+ return null;
+ }
+
+ for (var t in mots) {
+ // get the list of the indices of the files.
+ var listNumerosDesFicStr = w[mots[t].toString()];
+ //alert ("listNumerosDesFicStr "+listNumerosDesFicStr);
+ var tab = listNumerosDesFicStr.split(",");
+
+ //for each file (file's index):
+ for (var t2 in tab) {
+ var temp = tab[t2].toString();
+ if (fileAndWordList[temp] == undefined) {
+
+ fileAndWordList[temp] = "" + mots[t];
+ } else {
+
+ fileAndWordList[temp] += "," + mots[t];
+ }
+ }
+ }
+
+ var fileAndWordListValuesOnly = new Array();
+
+ // sort results according to values
+ var temptab = new Array();
+ for (t in fileAndWordList) {
+ tab = fileAndWordList[t].split(',');
+
+ var tempDisplay = new Array();
+ for (var x in tab) {
+ if(stemQueryMap[tab[x]] != undefined){
+ tempDisplay.push(stemQueryMap[tab[x]]); //get the original word from the stem word.
+ } else {
+ tempDisplay.push(tab[x]); //no stem is available. (probably a CJK language)
+ }
+ }
+ var tempDispString = tempDisplay.join(", ");
+
+ temptab.push(new resultPerFile(t, fileAndWordList[t], tab.length, tempDispString));
+ fileAndWordListValuesOnly.push(fileAndWordList[t]);
+ }
+
+
+ //alert("t"+fileAndWordListValuesOnly.toString());
+
+ fileAndWordListValuesOnly = unique(fileAndWordListValuesOnly);
+ fileAndWordListValuesOnly = fileAndWordListValuesOnly.sort(compare_nbMots);
+ //alert("t: "+fileAndWordListValuesOnly.join(';'));
+
+ var listToOutput = new Array();
+
+ for (var j in fileAndWordListValuesOnly) {
+ for (t in temptab) {
+ if (temptab[t].motsliste == fileAndWordListValuesOnly[j]) {
+ if (listToOutput[j] == undefined) {
+ listToOutput[j] = new Array(temptab[t]);
+ } else {
+ listToOutput[j].push(temptab[t]);
+ }
+ }
+ }
+ }
+ return listToOutput;
+}
+
+function resultPerFile(filenb, motsliste, motsnb, motslisteDisplay) {
+ this.filenb = filenb;
+ this.motsliste = motsliste;
+ this.motsnb = motsnb;
+ this.motslisteDisplay= motslisteDisplay;
+}
+
+function compare_nbMots(s1, s2) {
+ var t1 = s1.split(',');
+ var t2 = s2.split(',');
+ //alert ("s1:"+t1.length + " " +t2.length)
+ if (t1.length == t2.length) {
+ return 0;
+ } else if (t1.length > t2.length) {
+ return 1;
+ } else {
+ return -1;
+ }
+ //return t1.length - t2.length);
+}
\ No newline at end of file
diff --git a/installer/4/es/content/search/punctuation.props b/installer/4/es/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/installer/4/es/content/search/punctuation.props
@@ -0,0 +1,31 @@
+Punct01=\\u3002
+Punct02=\\u3003
+Punct03=\\u300C
+Punct04=\\u300D
+Punct05=\\u300E
+Punct06=\\u300F
+Punct07=\\u301D
+Punct08=\\u301E
+Punct09=\\u301F
+Punct10=\\u309B
+Punct11=\\u2018
+Punct12=\\u2019
+Punct13=\\u201A
+Punct14=\\u201C
+Punct15=\\u201D
+Punct16=\\u201E
+Punct17=\\u2032
+Punct18=\\u2033
+Punct19=\\u2035
+Punct20=\\u2039
+Punct21=\\u203A
+Punct22=\\u201E
+Punct23=\\u00BB
+Punct24=\\u00AB
+Punct25=
+Punct26=
+Punct27=\\u00A0
+Punct28=\\u2014
+
+
+
diff --git a/installer/4/es/content/search/stemmers/de_stemmer.js b/installer/4/es/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/installer/4/es/content/search/stemmers/de_stemmer.js
@@ -0,0 +1,247 @@
+/*
+ * Author: Joder Illi
+ *
+ * Copyright (c) 2010, FormBlitz AG
+ * All rights reserved.
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/german/stemmer.html
+ * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php
+ *
+ * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.
+ *
+ */
+
+//var stemmer = function Stemmer() {
+ /*
+ German includes the following accented forms,
+ ä ö ü
+ and a special letter, ß, equivalent to double s.
+ The following letters are vowels:
+ a e i o u y ä ö ü
+ */
+
+ var stemmer = function(word) {
+ /*
+ Put u and y between vowels into upper case
+ */
+ word = word.replace(/([aeiouyäöü])u([aeiouyäöü])/g, '$1U$2');
+ word = word.replace(/([aeiouyäöü])y([aeiouyäöü])/g, '$1Y$2');
+
+ /*
+ and then do the following mappings,
+ (a) replace ß with ss,
+ (a) replace ae with ä, Not doing these, have trouble with diphtongs
+ (a) replace oe with ö, Not doing these, have trouble with diphtongs
+ (a) replace ue with ü unless preceded by q. Not doing these, have trouble with diphtongs
+ So in quelle, ue is not mapped to ü because it follows q, and in feuer it is not mapped because the first part of the rule changes it to feUer, so the u is not found.
+ */
+ word = word.replace(/ß/g, 'ss');
+ //word = word.replace(/ae/g, 'ä');
+ //word = word.replace(/oe/g, 'ö');
+ //word = word.replace(/([^q])ue/g, '$1ü');
+
+ /*
+ R1 and R2 are first set up in the standard way (see the note on R1 and R2), but then R1 is adjusted so that the region before it contains at least 3 letters.
+ R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel.
+ R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel.
+ */
+
+ var r1Index = word.search(/[aeiouyäöü][^aeiouyäöü]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+
+ if (r1Index != -1) {
+ var r2Index = r1.search(/[aeiouyäöü][^aeiouyäöü]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ }
+ }
+
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t.
+ Define a valid st-ending as the same list, excluding letter r.
+ */
+
+ /*
+ Do each of steps 1, 2 and 3.
+ */
+
+ /*
+ Step 1:
+ Search for the longest among the following suffixes,
+ (a) em ern er
+ (b) e en es
+ (c) s (preceded by a valid s-ending)
+ */
+ var a1Index = word.search(/(em|ern|er)$/g);
+ var b1Index = word.search(/(e|en|es)$/g);
+ var c1Index = word.search(/([bdfghklmnrt]s)$/g);
+ if (c1Index != -1) {
+ c1Index++;
+ }
+ var index1 = 10000;
+ var optionUsed1 = '';
+ if (a1Index != -1 && a1Index < index1) {
+ optionUsed1 = 'a';
+ index1 = a1Index;
+ }
+ if (b1Index != -1 && b1Index < index1) {
+ optionUsed1 = 'b';
+ index1 = b1Index;
+ }
+ if (c1Index != -1 && c1Index < index1) {
+ optionUsed1 = 'c';
+ index1 = c1Index;
+ }
+
+ /*
+ and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1.) If an ending of group (b) is deleted, and the ending is preceded by niss, delete the final s.
+ (For example, äckern -> äck, ackers -> acker, armes -> arm, bedürfnissen -> bedürfnis)
+ */
+
+ if (index1 != 10000 && r1Index != -1) {
+ if (index1 >= r1Index) {
+ word = word.substring(0, index1);
+ if (optionUsed1 == 'b') {
+ if (word.search(/niss$/) != -1) {
+ word = word.substring(0, word.length -1);
+ }
+ }
+ }
+ }
+ /*
+ Step 2:
+ Search for the longest among the following suffixes,
+ (a) en er est
+ (b) st (preceded by a valid st-ending, itself preceded by at least 3 letters)
+ */
+
+ var a2Index = word.search(/(en|er|est)$/g);
+ var b2Index = word.search(/(.{3}[bdfghklmnt]st)$/g);
+ if (b2Index != -1) {
+ b2Index += 4;
+ }
+
+ var index2 = 10000;
+ var optionUsed2 = '';
+ if (a2Index != -1 && a2Index < index2) {
+ optionUsed2 = 'a';
+ index2 = a2Index;
+ }
+ if (b2Index != -1 && b2Index < index2) {
+ optionUsed2 = 'b';
+ index2 = b2Index;
+ }
+
+ /*
+ and delete if in R1.
+ (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, since b is a valid st-ending, and is preceded by just 3 letters)
+ */
+
+ if (index2 != 10000 && r1Index != -1) {
+ if (index2 >= r1Index) {
+ word = word.substring(0, index2);
+ }
+ }
+
+ /*
+ Step 3: d-suffixes (*)
+ Search for the longest among the following suffixes, and perform the action indicated.
+ end ung
+ delete if in R2
+ if preceded by ig, delete if in R2 and not preceded by e
+ ig ik isch
+ delete if in R2 and not preceded by e
+ lich heit
+ delete if in R2
+ if preceded by er or en, delete if in R1
+ keit
+ delete if in R2
+ if preceded by lich or ig, delete if in R2
+ */
+
+ var a3Index = word.search(/(end|ung)$/g);
+ var b3Index = word.search(/[^e](ig|ik|isch)$/g);
+ var c3Index = word.search(/(lich|heit)$/g);
+ var d3Index = word.search(/(keit)$/g);
+ if (b3Index != -1) {
+ b3Index ++;
+ }
+
+ var index3 = 10000;
+ var optionUsed3 = '';
+ if (a3Index != -1 && a3Index < index3) {
+ optionUsed3 = 'a';
+ index3 = a3Index;
+ }
+ if (b3Index != -1 && b3Index < index3) {
+ optionUsed3 = 'b';
+ index3 = b3Index;
+ }
+ if (c3Index != -1 && c3Index < index3) {
+ optionUsed3 = 'c';
+ index3 = c3Index;
+ }
+ if (d3Index != -1 && d3Index < index3) {
+ optionUsed3 = 'd';
+ index3 = d3Index;
+ }
+
+ if (index3 != 10000 && r2Index != -1) {
+ if (index3 >= r2Index) {
+ word = word.substring(0, index3);
+ var optionIndex = -1;
+ var optionSubsrt = '';
+ if (optionUsed3 == 'a') {
+ optionIndex = word.search(/[^e](ig)$/);
+ if (optionIndex != -1) {
+ optionIndex++;
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'c') {
+ optionIndex = word.search(/(er|en)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r1Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'd') {
+ optionIndex = word.search(/(lich|ig)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ Finally,
+ turn U and Y back into lower case, and remove the umlaut accent from a, o and u.
+ */
+ word = word.replace(/U/g, 'u');
+ word = word.replace(/Y/g, 'y');
+ word = word.replace(/ä/g, 'a');
+ word = word.replace(/ö/g, 'o');
+ word = word.replace(/ü/g, 'u');
+
+ return word;
+ };
+//}
\ No newline at end of file
diff --git a/installer/4/es/content/search/stemmers/en_stemmer.js b/installer/4/es/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/installer/4/es/content/search/stemmers/en_stemmer.js
@@ -0,0 +1,187 @@
+// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original
+// paper, in
+//
+// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
+// no. 3, pp 130-137,
+//
+// see also http://www.tartarus.org/~martin/PorterStemmer
+
+// Release 1 be 'andargor', Jul 2004
+// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009
+
+
+var stemmer = (function(){
+ var step2list = {
+ "ational" : "ate",
+ "tional" : "tion",
+ "enci" : "ence",
+ "anci" : "ance",
+ "izer" : "ize",
+ "bli" : "ble",
+ "alli" : "al",
+ "entli" : "ent",
+ "eli" : "e",
+ "ousli" : "ous",
+ "ization" : "ize",
+ "ation" : "ate",
+ "ator" : "ate",
+ "alism" : "al",
+ "iveness" : "ive",
+ "fulness" : "ful",
+ "ousness" : "ous",
+ "aliti" : "al",
+ "iviti" : "ive",
+ "biliti" : "ble",
+ "logi" : "log"
+ },
+
+ step3list = {
+ "icate" : "ic",
+ "ative" : "",
+ "alize" : "al",
+ "iciti" : "ic",
+ "ical" : "ic",
+ "ful" : "",
+ "ness" : ""
+ },
+
+ c = "[^aeiou]", // consonant
+ v = "[aeiouy]", // vowel
+ C = c + "[^aeiouy]*", // consonant sequence
+ V = v + "[aeiou]*", // vowel sequence
+
+ mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
+ meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
+ mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
+ s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ return function (w) {
+ var stem,
+ suffix,
+ firstch,
+ re,
+ re2,
+ re3,
+ re4,
+ origword = w;
+
+ if (w.length < 3) { return w; }
+
+ firstch = w.substr(0,1);
+ if (firstch == "y") {
+ w = firstch.toUpperCase() + w.substr(1);
+ }
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w)) { w = w.replace(re,"$1$2"); }
+ else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w)) { w = w + "e"; }
+ else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); }
+ else if (re4.test(w)) { w = w + "e"; }
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem)) { w = stem + "i"; }
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step2list[suffix];
+ }
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step3list[suffix];
+ }
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem)) {
+ w = stem;
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem)) {
+ w = stem;
+ }
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
+ w = stem;
+ }
+ }
+
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+
+ if (firstch == "y") {
+ w = firstch.toLowerCase() + w.substr(1);
+ }
+
+ return w;
+ }
+})();
\ No newline at end of file
diff --git a/installer/4/es/content/search/stemmers/fr_stemmer.js b/installer/4/es/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/installer/4/es/content/search/stemmers/fr_stemmer.js
@@ -0,0 +1,299 @@
+/*
+ * Author: Kasun Gajasinghe
+ * E-Mail: kasunbg AT gmail DOT com
+ * Date: 09.08.2010
+ *
+ * usage: stemmer(word);
+ * ex: var stem = stemmer(foobar);
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/french/stemmer.html
+ *
+ * LICENSE:
+ *
+ * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+var stemmer = function(word){
+// Letters in French include the following accented forms,
+// â à ç ë é ê è ï î ô û ù
+// The following letters are vowels:
+// a e i o u y â à ë é ê è ï î ô û ù
+
+ word = word.toLowerCase();
+ var oriWord = word;
+ word = word.replace(/qu/g, 'qU'); //have to perform first, as after the operation, capital U is not treated as a vowel
+ word = word.replace(/([aeiouyâàëéêèïîôûù])u([aeiouyâàëéêèïîôûù])/g, '$1U$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])i([aeiouyâàëéêèïîôûù])/g, '$1I$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])y/g, '$1Y');
+ word = word.replace(/y([aeiouyâàëéêèïîôûù])/g, 'Y$1');
+
+ var rv='';
+ var rvIndex = -1;
+ if(word.search(/^(par|col|tap)/) != -1 || word.search(/^[aeiouyâàëéêèïîôûù]{2}/) != -1){
+ rv = word.substring(3);
+ rvIndex = 3;
+ } else {
+ rvIndex = word.substring(1).search(/[aeiouyâàëéêèïîôûù]/);
+ if(rvIndex != -1){
+ rvIndex +=2; //+2 is to supplement the substring(1) used to find rvIndex
+ rv = word.substring(rvIndex);
+ } else {
+ rvIndex = word.length;
+ }
+ }
+
+// R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel.
+// R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel
+ var r1Index = word.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ } else {
+ r1Index = word.length;
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+ if (r1Index != -1) {
+ r2Index = r1.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ r2Index = word.length;
+ }
+ }
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Step 1: Standard suffix removal
+ */
+ var a1Index = word.search(/(ance|iqUe|isme|able|iste|eux|ances|iqUes|ismes|ables|istes)$/);
+ var a2Index = word.search(/(atrice|ateur|ation|atrices|ateurs|ations)$/);
+ var a3Index = word.search(/(logie|logies)$/);
+ var a4Index = word.search(/(usion|ution|usions|utions)$/);
+ var a5Index = word.search(/(ence|ences)$/);
+ var a6Index = word.search(/(ement|ements)$/);
+ var a7Index = word.search(/(ité|ités)$/);
+ var a8Index = word.search(/(if|ive|ifs|ives)$/);
+ var a9Index = word.search(/(eaux)$/);
+ var a10Index = word.search(/(aux)$/);
+ var a11Index = word.search(/(euse|euses)$/);
+ var a12Index = word.search(/[^aeiouyâàëéêèïîôûù](issement|issements)$/);
+ var a13Index = word.search(/(amment)$/);
+ var a14Index = word.search(/(emment)$/);
+ var a15Index = word.search(/[aeiouyâàëéêèïîôûù](ment|ments)$/);
+
+ if(a1Index != -1 && a1Index >= r2Index){
+ word = word.substring(0,a1Index);
+ } else if(a2Index != -1 && a2Index >= r2Index){
+ word = word.substring(0,a2Index);
+ var a2Index2 = word.search(/(ic)$/);
+ if(a2Index2 != -1 && a2Index2 >= r2Index){
+ word = word.substring(0, a2Index2); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(a3Index != -1 && a3Index >= r2Index){
+ word = word.replace(/(logie|logies)$/,'log'); //replace with log if in R2
+ } else if(a4Index != -1 && a4Index >= r2Index){
+ word = word.replace(/(usion|ution|usions|utions)$/,'u'); //replace with u if in R2
+ } else if(a5Index != -1 && a5Index >= r2Index){
+ word = word.replace(/(ence|ences)$/,'ent'); //replace with ent if in R2
+ } else if(a6Index != -1 && a6Index >= rvIndex){
+ word = word.substring(0,a6Index);
+ if(word.search(/(iv)$/) >= r2Index){
+ word = word.replace(/(iv)$/, '');
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ }
+ } else if(word.search(/(eus)$/) != -1){
+ var a6Index2 = word.search(/(eus)$/);
+ if(a6Index2 >=r2Index){
+ word = word.substring(0, a6Index2);
+ } else if(a6Index2 >= r1Index){
+ word = word.substring(0,a6Index2)+"eux";
+ }
+ } else if(word.search(/(abl|iqU)$/) >= r2Index){
+ word = word.replace(/(abl|iqU)$/,''); //if preceded by abl or iqU, delete if in R2,
+ } else if(word.search(/(ièr|Ièr)$/) >= rvIndex){
+ word = word.replace(/(ièr|Ièr)$/,'i'); //if preceded by abl or iqU, delete if in R2,
+ }
+ } else if(a7Index != -1 && a7Index >= r2Index){
+ word = word.substring(0,a7Index); //delete if in R2
+ if(word.search(/(abil)$/) != -1){ //if preceded by abil, delete if in R2, else replace by abl, otherwise,
+ var a7Index2 = word.search(/(abil)$/);
+ if(a7Index2 >=r2Index){
+ word = word.substring(0, a7Index2);
+ } else {
+ word = word.substring(0,a7Index2)+"abl";
+ }
+ } else if(word.search(/(ic)$/) != -1){
+ var a7Index3 = word.search(/(ic)$/);
+ if(a7Index3 != -1 && a7Index3 >= r2Index){
+ word = word.substring(0, a7Index3); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(word.search(/(iv)$/) != r2Index){
+ word = word.replace(/(iv)$/,'');
+ }
+ } else if(a8Index != -1 && a8Index >= r2Index){
+ word = word.substring(0,a8Index);
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ if(word.search(/(ic)$/) >= r2Index){
+ word = word.replace(/(ic)$/, '');
+ } else { word = word.replace(/(ic)$/, 'iqU'); }
+ }
+ } else if(a9Index != -1){ word = word.replace(/(eaux)/,'eau')
+ } else if(a10Index >= r1Index){ word = word.replace(/(aux)/,'al')
+ } else if(a11Index != -1 ){
+ var a11Index2 = word.search(/(euse|euses)$/);
+ if(a11Index2 >=r2Index){
+ word = word.substring(0, a11Index2);
+ } else if(a11Index2 >= r1Index){
+ word = word.substring(0, a11Index2)+"eux";
+ }
+ } else if(a12Index!=-1 && a12Index>=r1Index){
+ word = word.substring(0,a12Index+1); //+1- amendment to non-vowel
+ } else if(a13Index!=-1 && a13Index>=rvIndex){
+ word = word.replace(/(amment)$/,'ant');
+ } else if(a14Index!=-1 && a14Index>=rvIndex){
+ word = word.replace(/(emment)$/,'ent');
+ } else if(a15Index!=-1 && a15Index>=rvIndex){
+ word = word.substring(0,a15Index+1);
+ }
+
+ /* Step 2a: Verb suffixes beginning i*/
+ var wordStep1 = word;
+ var step2aDone = false;
+ if(oriWord == word.toLowerCase() || oriWord.search(/(amment|emment|ment|ments)$/) != -1){
+ step2aDone = true;
+ var b1Regex = /([^aeiouyâàëéêèïîôûù])(îmes|ît|îtes|i|ie|ies|ir|ira|irai|iraIent|irais|irait|iras|irent|irez|iriez|irions|irons|iront|is|issaIent|issais|issait|issant|issante|issantes|issants|isse|issent|isses|issez|issiez|issions|issons|it)$/i;
+ if(word.search(b1Regex) >= rvIndex){
+ word = word.replace(b1Regex,'$1');
+ }
+ }
+
+ /* Step 2b: Other verb suffixes*/
+ if (step2aDone && wordStep1 == word) {
+ if (word.search(/(ions)$/) >= r2Index) {
+ word = word.replace(/(ions)$/, '');
+ } else {
+ var b2Regex = /(é|ée|ées|és|èrent|er|era|erai|eraIent|erais|erait|eras|erez|eriez|erions|erons|eront|ez|iez)$/i;
+ if (word.search(b2Regex) >= rvIndex) {
+ word = word.replace(b2Regex, '');
+ } else {
+ var b3Regex = /e(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex) >= rvIndex) {
+ word = word.replace(b3Regex, '');
+ } else {
+ var b3Regex2 = /(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex2) >= rvIndex) {
+ word = word.replace(b3Regex2, '');
+ }
+ }
+ }
+ }
+ }
+
+ if(oriWord != word.toLowerCase()){
+ /* Step 3 */
+ var rep = '';
+ if(word.search(/Y$/) != -1) {
+ word = word.replace(/Y$/, 'i');
+ } else if(word.search(/ç$/) != -1){
+ word = word.replace(/ç$/, 'c');
+ }
+ } else {
+ /* Step 4 */
+ //If the word ends s, not preceded by a, i, o, u, è or s, delete it.
+ if (word.search(/([^aiouès])s$/) >= rvIndex) {
+ word = word.replace(/([^aiouès])s$/, '$1');
+ }
+ var e1Index = word.search(/ion$/);
+ if (e1Index >= r2Index && word.search(/[st]ion$/) >= rvIndex) {
+ word = word.substring(0, e1Index);
+ } else {
+ var e2Index = word.search(/(ier|ière|Ier|Ière)$/);
+ if (e2Index != -1 && e2Index >= rvIndex) {
+ word = word.substring(0, e2Index) + "i";
+ } else {
+ if (word.search(/e$/) >= rvIndex) {
+ word = word.replace(/e$/, ''); //delete last e
+ } else if (word.search(/guë$/) >= rvIndex) {
+ word = word.replace(/guë$/, 'gu');
+ }
+ }
+ }
+ }
+
+ /* Step 5: Undouble */
+ //word = word.replace(/(en|on|et|el|eil)(n|t|l)$/,'$1');
+ word = word.replace(/(en|on)(n)$/,'$1');
+ word = word.replace(/(ett)$/,'et');
+ word = word.replace(/(el|eil)(l)$/,'$1');
+
+ /* Step 6: Un-accent */
+ word = word.replace(/[éè]([^aeiouyâàëéêèïîôûù]+)$/,'e$1');
+ word = word.toLowerCase();
+ return word;
+};
+
+var eqOut = new Array();
+var noteqOut = new Array();
+var eqCount = 0;
+/*
+To test the stemming, create two arrays named "voc" and "COut" which are for vocabualary and the stemmed output.
+Then add the vocabulary strings and output strings. This method will generate the stemmed output for "voc" and will
+compare the output with COut.
+ (I used porter's voc and out files and did a regex to convert them to js objects. regex: /");\nvoc.push("/g . This
+ will add strings to voc array such that output would look like: voc.push("foobar"); ) drop me an email for any help.
+ */
+function testFr(){
+ var start = new Date().getTime(); //execution time
+ eqCount = 0;
+ eqOut = new Array();
+ noteqOut = new Array();
+ for(var k=0;k
+
+
+
+ Nivel de seguridad
Seleccione su país o región. Es importante para todos los ajustes, como la
+moneda y la regulación inalámbrica. Si configura un país erróneo puede que
+no pueda usar la conexión inalámbrica.
Si su país no se encuentra en la lista, haga click en Otros
+Países y elija su país / región allí.
Nota
Si su país está únicamente en la lista de Otros Países,
+después de pulsar OK puede aparecer otro país de la
+primera lista como si lo hubiera elegido. Por favor, ignore esto, DrakX
+seguirá su elección real.
Método de entrada
En la pantalla de Otros Países también puede
+seleccionar un método de entrada (al final de la lista). Los métodos de
+entrada permiten a los usuarios introducir carácteres de múltiples lenguas
+(Chino, Japonés, Coreano, etc.). IBus es el método por defecto en los DVDs
+de Mageia, África/India y Asia/no-India Live-CDs. Para las localizaciones
+asiáticas y africanas, IBus se configurará como método de entrada por lo que
+los usuarios no deberán de configurarlo manualmente. Otros métodos de
+entrada (SCIM, GCIN, HIME, etc) también proveen funciones similares y pueden
+instalarse si añadió medios HTTP/FTP antes de la selección de paquetes.
Nota
Si durante la instalación olvidó configurar el método de entrada, puede
+hacerlo cuando su sistema esté instalado, entrando en "Configure su
+computador" -> "Sistema" o ejecutando localdrake como root.
Use esta opción para una nueva instalación de
+Mageia.
Actualización
Si tiene una o más versiones de Mageia instaladas
+en su sistema, el instalador le permitirá actualizar una de ellas a la
+última versión.
Aviso
Solamente se ha testado la actualización desde una versión de Mageia
+anterior que todavía está soportada cuando esta versión
+del instalador se lanzó. Si quiere actualizar una versión de Mageia que ya
+ha alcanzado su fin de soporte, entonces es mejor hacer una instalación
+limpia preservando su partición /home.
Nota
Si en cualquier momento durante la instalación decide parar el proceso, es
+posible reiniciar, pero piénselo dos veces. Una vez que una partición ha
+sido formateada o cuando las actualizaciones han empezado a instalarse, su
+ordenador no estará en el mismo estado y un reinicio puede dejarle con un
+sistema inutilizable. No obstante, si decide reiniciar, acceda a la terminal
+pulsando al mismo tiempo Alt Ctrl F2. Después, pulse
+Alt Ctrl Delete simultáneamente para reiniciar
Sugerencia
Si ha descubierto que se le olvidó seleccionar un idioma adicional, puede
+volver desde la pantalla de "Instalar o Actualizar" a la de selección de
+Idioma pulsando Alt Ctrl Inicio.
+NO haga esto durante la instalación.
DrakX selecciona el teclado apropiado a su idioma. Si no encuentra ningún
+teclado compatible, elegirá el teclado estadounidense.
Asegúrese de que la selección es la correcta o escoja otra distribución del
+teclado. Si no conoce cuál es la distribución correcta para su teclado, mire
+en las especificaciones que venían con su sistema o pregunte a su vendedor.
+Incluso puede haber una etiqueta en su teclado que la identifique.También
+puede mirarlo aquí: es.wikipedia.org/wiki/Distribución_del_teclado
Si su teclado no está en la lista que aparece, haga click en
+Más para mostrar una lista completa y seleccionar ahí
+su teclado.
Aviso
Después de seleccionar un teclado desde la ventana de
+Más, el instalador volverá a la primera ventana de
+selección de teclado, y parecerá que ha elegido un teclado de la
+lista. Puede ignorar esta anomalía y continuar la instalación, su teclado es
+el que eligió en la lista completa.
Si selecciona un teclado basado en carácteres no latinos, aparecerá una
+pantalla extra preguntando como prefiere cambiar entre disposiciones latinas
+y no latinas.
Elija su idioma preferido extendiendo la lista de su continente.
+Mageia usará esta selección durante la
+instalación y para su sistema instalado.
Si necesitara tener varios idiomas instalados para usted u otros usuarios,
+usa el botón de Múltiples idiomas para añadirlos
+ahora. Puede ser más difícil añadir soporte en otros idiomas después de la
+instalación.
Aviso
Aunque elija más de un idioma, primero debe elegir su idioma preferido en la
+primera pantalla. También se marcará como elegido en la pantalla de elección
+de múltiples idiomas.
Si su teclado no es de su idioma preferido, es recomendable que instale
+también el idioma de su teclado.
Mageia usa el soporte UTF-8 (Unicode) por defecto. Puede ser desactivado en
+la pantalla de "multiples idiomas" si sabe que no funciona con su idioma. Si
+lo desactiva, no estará disponible para ningún idioma instalado.
Puede cambiar el idioma de su sistema después de la instalación en el Centro
+de Control de Mageia --> Sistema --> Administrar la localización de su
+sistema.
Si prefiere una configuración distinta de la elegida automáticamente por
+elinstalador del cargador de arranque, aquí puede cambiarla.
Puede que tenga otro sistema operativo en su ordenador. En ese caso,
+necesita decidir si desea añadir Mageia al cargador de arranque existente o
+permitir a Mageia crear uno nuevo.
Sugerencia
Los menús gráficos de Mageia son buenos y bonitos :)
Usando el cargador de arranque de Mageia
Por defecto, Mageia escribe un nuevo cargador GRUB en el MBR (Master Boot
+Record) de su primer disco duro. Si ya tiene otros sistemas operativos,
+Mageia intentará añadirlos al nuevo menú de arranque.
Mageia ahora también ofrece GRUB2 como administrador de arranque
+opcionalademás del tradicional GRUB y de Lilo.
Aviso
Los sistemas Linux que usan el cargador de arranque GRUB2 actualmente no son
+soportados por GRUB y no se reconocerán si se usa el cargador GRUB por
+defecto.
La mejor solución es usar el cargador de arranque GRUB2 que está disponible
+en la página de resumen durante la instación.
Usando un cargador de arranque existente
Si decide usar un cargador de arranque existente, tendrá que acordarse de
+PARAR en la página del resumen durante la instalación y pulsar el botón de
+Configuración del Cargador de Arranque, que le
+permitirá cambiar el lugar de instalación del cargador de arranque.
No elija un dispositivo como "sda", o sobrescribirá el MBR existente. Debe
+de elegir la partición root que eligió durante la fase de particionado, como
+por ejemplo sda7.
Para ser claro, sda es un dispositivo, sda7 es una partición.
Sugerencia
Vaya a tty2 con Ctrl+Alt+F2 y escriba df para comprobar
+donde está su partición / (root). Ctrl+Alt+F7 le devuelve
+al instalador.
El proceso exacto para añadir su sistema operativo Mageia al cargador de
+arranque existente están fuera del alcance de este manual, pero normalmente
+consiste en ejecutar el programa de instalación del cargador de arranque que
+debería detectarlo y añadirlo automáticamente. Vea la documentación del
+sistema operativo en cuestión.
Opción avanzada del cargador de arranque
Si tiene el espacio del disco muy limitado para la partición
+/ que contiene /tmp, haga click en
+Avanzado y marque la casilla para Limpiar
+/tmp en cada arranque. Esto ayuda a mantener algo de espacio
+libre.
diff --git a/installer/4/es/content/setupBootloaderAddEntry.html b/installer/4/es/content/setupBootloaderAddEntry.html
new file mode 100644
index 00000000..ef70ca79
--- /dev/null
+++ b/installer/4/es/content/setupBootloaderAddEntry.html
@@ -0,0 +1,41 @@
+
+
+
+
+ Agregando o modificando una entrada en el menú de arranque
Agregando o modificando una entrada en el menú de arranque
Agregando o modificando una entrada en el menú de arranque
Puede agregar una entrada o modificar la que escogió primero, pulsando el
+boton necesario en la ventana Configuración de arranque
+y modificando los opciones en la ventana que aparece encima.
Unas cosas que se pueden hacer sin peligro son cambiar la etiqueta de una
+entrada y marcar una como la predeterminada.
Puede anadir el número de versión adecuado a una entrada o la puede
+renombrar completamente.
La entrada predeterminada es la que usará su sistema para arrancar a menos
+que seleccione otra.
Aviso
Modificando otras cosas puede hacer que su sistema no arranque. Por favor,
+no haga nada sin saber lo que está haciendo.
DrakX suele detectar correctamente los discos duros. Con algunos
+controladores SCSI antiguos puede que no sea capaz de detectar los
+controladores correctos a usar y puede fallar al intentar reconocer el disco
+duro.
Si pasa esto, necesitará "mostrarle" manualmente el disco duro SCSI que
+tenga.
Después DrakX debería de poder configurar el(los) disco(s) correctamente.
En esta pantalla aparece el nombre del driver que el instalador ha escogido
+para su tarjeta de sonido, que será el dado por defecto si es que hay
+alguno.
+
El driver por defecto debería funcionar sin problemas. Sin embargo, si tras
+la instalación hay problemas, ejecute draksound o inicie
+esta herramienta vía MCC (Centro de Control de Mageia), escogiendo la
+etiqueta Hardware y haciendo click en
+Configurar Sonido en la esquina superior derecha de la
+pantalla.
+
Entonces, en la pantalla de la herramienta de "Configurar sonido" de
+draksound, haga click en Avanzado y en
+Solución de problemas para encontrar un consejo útil
+sobre cómo resolver el problema.
+
Avanzado
Hacer click en Avanzado en esta pantalla, durante la
+instalación, es útil si no hay un driver por defecto y hay varios
+disponibles, o si cree que el instalador escogió el driver equivocado.
+
In ese caso, puede seleccionar un driver diferente tras hacer click en
+Escoger un driver.
+
diff --git a/installer/4/es/content/t-mageia-2011.png b/installer/4/es/content/t-mageia-2011.png
new file mode 100644
index 00000000..b8260f33
Binary files /dev/null and b/installer/4/es/content/t-mageia-2011.png differ
diff --git a/installer/4/es/content/takeOverHdConfirm.html b/installer/4/es/content/takeOverHdConfirm.html
new file mode 100644
index 00000000..0f874bcd
--- /dev/null
+++ b/installer/4/es/content/takeOverHdConfirm.html
@@ -0,0 +1,37 @@
+
+
+
+
+ Confirme el disco que va a formatear