Mageia é distribuído através de imagens ISO. Esta página ajudará você a
+escolher qual imagem melhor atende às suas necessidades.
Existem três tipos de mídia de instalação:
Instalador Clássico: A inicialização com
+esta mídia fornece a máxima flexibilidade ao escolher o que instalar e para
+configurar seu sistema. Em particular, você pode escolher qual ambiente
+Desktop instalar.
Mídia LIVE: Esta opção permite que você
+experimente a Mageia sem precisar instalá-la ou fazer alterações no seu
+computador. No entanto, a mídia Live também inclui um instalador, que pode
+ser iniciado durante a inicialização da mídia ou após a inicialização no
+próprio sistema operacional rodando no modo Live.
Nota
O Live Installer é mais simples comparado ao Instalador Clássico - mas você
+tem menos opções de configuração
Importante
As ISOs gerados só podem ser usados para instalações “limpas”,
+eles não podem ser usados para atualizar versões da Mageia instaladas
+anteriormente.
Net Install: Estes são ISO's mínimos
+contendo não mais do que o necessário para iniciar o instalador do DrakX e
+encontrar o DrakX-installer-stage2 e outros pacotes que
+são necessários para continuar e completar a instalação. Esses pacotes podem
+estar no disco rígido do PC, em uma unidade local, em uma rede local ou na
+Internet.
Essas mídias são muito leves (menos de 100 MB) e são convenientes se a
+largura de banda for pequena para baixar um DVD completo, ou se você tiver
+um PC sem uma unidade de DVD ou não puder inicializar um boot a partir de um
+dispositivo USB.
Mais detalhes são fornecidos nas próximas seções.
Mídia
Definição
Aqui, um meio (plural: mídia) é um arquivo de imagem ISO que permite
+instalar e/ou atualizar Mageia e, por extensão, qualquer meio físico (DVD,
+pen drive, ...) para o qual o arquivo ISO é copiado.
Essas ISOs usam o instalador Clássico chamado DrakX
Eles são usados para executar instalações limpas ou para atualizar uma
+versão instalada anteriormente da Mageia
Mídia diferente para arquiteturas de 32 e 64-bit
Algumas ferramentas estão disponíveis na tela de “boas-vindas”
+do instalador: Resgate de Sistema, Teste de Memória e
+Ferramenta de Detecção de Hardware
Cada DVD contém muitos ambientes de área de trabalho e idiomas disponíveis
Você terá a opção durante a instalação para adicionar software não-livre
Mídia Live
Características comuns
Pode ser usado para visualizar o sistema operacional Mageia sem precisar
+instalá-lo
A mídia Live também inclui um instalador.
Cada ISO Live contém apenas um ambiente de área de trabalho (Plasma, GNOME
+ou Xfce)
Mídia diferente para arquiteturas de 32 e 64-bit
Eles contêm software non-free
Live DVD Plasma
Somente ambiente de área de trabalho Plasma
Todos os idiomas disponíveis estão presentes
Somente arquitetura 64-bit
Live DVD GNOME
Somente ambiente de área de trabalho GNOME
Todos os idiomas disponíveis estão presentes
Somente arquitetura 64-bit
Live DVD Xfce
Somente ambiente de área de trabalho XFCE
Todos os idiomas disponíveis estão presentes
Arquiteturas 32 ou 64-bit
Mídia de instalação de rede
Características comuns
Mídia diferente para arquiteturas de 32 e 64-bit
Os primeiros passos são apenas em inglês
netinstall.iso
Contém apenas software livre, para aqueles que preferem não usar software
+não-livre
netinstall-nonfree.iso
Contém software não-livre (principalmente drivers, codecs ...) para quem
+precisa
Baixando e checando Mídia
Baixando
Depois de ter escolhido o seu arquivo ISO, você pode baixá-lo usando http ou
+BitTorrent. Em ambos os casos, você recebe algumas informações, como o
+espelho em uso e uma opção alternativa se a largura de banda for muito
+baixa.
Se http for escolhido, você também verá algumas informações sobre checksums.
md5sum, sha1sum e
+sha512sum (o mais seguro) são ferramentas para verificar
+a integridade ISO. Copie uma das somas de verificação (sequência de
+caracteres alfanuméricos) para uso na próxima seção.
Enquanto isso, uma janela para baixar o ISO atual será aberta:
Clique em Salvar arquivo e clique em
+OK.
Verificar a integridade da mídia baixada
As somas de verificação mencionadas anteriormente são impressões digitais
+geradas por um algoritmo do arquivo a ser baixado. Você pode comparar a soma
+de verificação do seu ISO baixado com o da ISO da fonte original. Se as
+somas de verificação não coincidirem, isso significa que os dados atuais no
+ISO não coincidem, e se for esse o caso, você deve tentar novamente o
+download ou tentar um reparo usando o BitTorrent.
Para gerar a soma de verificação para o seu arquivo ISO baixado, abra um
+terminal (não é necessário ser "root") e:
Para usar o md5sum, digite: md5sum
+path/to/the/image/file.iso
Para verificar o sha1sum digite: sha1sum
+path/to/the/image/file.iso
Para verificar o sha512sum digite: sha512sum
+path/to/the/image/file.iso
Exemplo:
Então compare o resultado (você pode ter que esperar um pouco) com o
+checksum ISO fornecido pela Mageia.
Queimar ou despejar a ISO
O ISO verificado agora pode ser gravado em um CD / DVD ou
+“descarregado” em um pendrive. Esta não é uma operação de cópia
+padrão, pois uma mídia inicializável será criada.
Gravando a ISO para o CD/DVD
Qualquer que seja o software usado, verifique se a opção para gravar uma
+imagem é usada. Gravar dados ou
+arquivos NÃO está correto. Veja a wiki da
+Mageia para mais informações.
Despejar a ISO para um pendrive USB
Todos os ISOs Mageia são híbridos, o que significa que você pode gravar em
+um pendrive e usá-los para da um boot de inicializar e instalar o sistema.
Atenção
Gravar uma imagem em um dispositivo flash destrói qualquer sistema de
+arquivos anterior no dispositivo e todos os dados existentes serão perdidos.
Nota
Além disso, a única partição no dispositivo flash será a partição ISO da
+Mageia.
Portanto, se uma ISO de cerca de 4 GB for gravado em um pendrive de 8 GB, o
+pendrive só aparecerá como 4 GB. Isso ocorre porque os 4 GB restantes não
+estão mais formatados - portanto, não estão disponíveis atualmente para
+uso. Para recuperar a capacidade original, você deve reformatar e
+reparticionar o pendrive.
Usando uma ferramenta gráfica do Mageia
Você pode usar uma ferramenta gráfica como IsoDumper
Usando a linha de comando dentro de um sistema GNU / Linux
Atenção
É potencialmente "perigoso" fazer isso manualmente. Você corre o risco de
+substituir dados existentes, possivelmente valiosos, se você especificar o
+dispositivo de destino errado.
Abra um console
Torne-se um usuário root (Administrador) com o comando
+su -(não esqueça o -)
Conecte seu pendrive na USB - mas não o monte (isso também significa não
+abrir nenhum aplicativo ou gerenciador de arquivos que possa acessá-lo ou
+lê-lo)
Digite o comando fdisk -l
Encontre o caminho do dispositivo pendrive (por seu tamanho ), por exemplo,
+/dev/sdb na imagem acima, é um pen drive de 8GB.
Alternativamente, você pode encontrar o nome do dispositivo com o comando
+dmesg. Próximo ao final do exemplo a seguir, você pode
+ver o nome do dispositivo começando com sd e, nesse
+caso, sdd é o dispositivo real. Você também pode ver
+que seu tamanho é de 2 GB:
[72594.604531] usb 1-1: new high-speed USB device number 27 using xhci_hcd
+[72594.770528] usb 1-1: New USB device found, idVendor=8564, idProduct=1000
+[72594.770533] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
+[72594.770536] usb 1-1: Product: Mass Storage Device
+[72594.770537] usb 1-1: Manufacturer: JetFlash
+[72594.770539] usb 1-1: SerialNumber: 18MJTWLMPUCC3SSB
+[72594.770713] usb 1-1: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
+[72594.770719] usb 1-1: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
+[72594.771122] usb-storage 1-1:1.0: USB Mass Storage device detected
+[72594.772447] scsi host8: usb-storage 1-1:1.0
+[72595.963238] scsi 8:0:0:0: Direct-Access JetFlash Transcend 2GB 1100 PQ: 0 ANSI: 4
+[72595.963626] sd 8:0:0:0: [sdd] 4194304 512-byte logical blocks: (2.14 GB/2.00 GiB)
+[72595.964104] sd 8:0:0:0: [sdd] Write Protect is off
+[72595.964108] sd 8:0:0:0: [sdd] Mode Sense: 43 00 00 00
+[72595.965025] sd 8:0:0:0: [sdd] No Caching mode page found
+[72595.965031] sd 8:0:0:0: [sdd] Assuming drive cache: write through
+[72595.967251] sdd: sdd1
+[72595.969446] sd 8:0:0:0: [sdd] Attached SCSI removable disk
Digite o comando: dd if=path/to/the/ISO/nomedoarquivo of=/dev/sd
+X bs = 1M
Onde X = nome do seu dispositivo, por
+exemplo:/dev/sdd
É aconselhável que todas as instalações da Mageia definam uma senha de
+superusuário (Administrador), geralmente chamada de senha
+root no Linux. À medida que você digita uma senha na
+caixa superior, um escudo muda de vermelho-para-amarelo-para-verde,
+dependendo da força da senha. Um escudo verde mostra que você está usando
+uma senha forte. Você precisa repetir a mesma senha na caixa abaixo, para
+verificar se a primeira entrada não foi digitada incorretamente.
Nota
Todas as senhas diferenciam maiúsculas de minúsculas. É melhor usar uma
+mistura de letras (maiúsculas e minúsculas), números e outros caracteres em
+uma senha.
Digite um usuário
Adicione um usuário aqui. Um usuário comum tem menos privilégios do que o
+superusuario (root), mas o suficiente para usar a
+Internet, aplicativos de escritório ou jogos e qualquer outra coisa que o
+usuário comum possa usar um computador.
Ícone
Clique neste botão se você deseja mudar o ícone do usuário.
Nome Real
Insira o nome real do usuário nesta caixa de texto
Nome de Login
Digite o nome de login do usuário ou deixe que o DrakX use uma versão do
+nome real do usuário. O nome de login é sensível a
+maiúsculas e minúsculas
Cuidado
O login digitado aqui deve ser diferente de qualquer login atualmente em uso
+para o seu diretório /home. Alguns parâmetros do
+usuário serão gravados no espaço do usuário e alguns podem sobrescrever
+dados reais, como dados do Firefox, Thunderbird ou Kmail ...
Senha
Digite a senha do usuário. Há um escudo no final da caixa de texto que
+indica a força da senha. (Veja também Nota)
Senha (novamente): Redigite a senha do
+usuário. O DrakX irá verificar se você não digitou a senha incorretamente.
Nota
Todos os usuários adicionados durante a instalação do Mageia terão um
+diretório inicial que seja lido e protegido por gravação (umask = 0027)
Você pode adicionar qualquer usuário extra necessário na etapa
+Configuração - Resumo durante a instalação. Escolha
+Gerenciamento de usuários.
As permissões de acesso também podem ser modificadas depois de instalar.
diff --git a/draklive/7/pt_br/content/ar01s02.html b/draklive/7/pt_br/content/ar01s02.html
new file mode 100644
index 00000000..7ac6dba9
--- /dev/null
+++ b/draklive/7/pt_br/content/ar01s02.html
@@ -0,0 +1,58 @@
+
+
+
+
+ Boot para Mageia com sistema Live
Você pode dar boot diretamente de um Live DVD ou USB. Normalmente, você só
+precisa conectar o dispositivo USB ou colocar o DVD na unidade e reiniciar o
+computador.
Se o computador não inicializar boot automaticamente a partir do USB ou DVD,
+talvez seja necessário reconfigurar a prioridade do disco de boot
+inicialização da BIOS. Como alternativa, você pode tentar acessar o menu do
+dispositivo de boot inicialização para selecionar um dispositivo a partir do
+qual o computador será inicializado.
Dica
Para acessar o BIOS ou o menu de inicialização do boot quando o computador
+estiver iniciando, você pode tentar pressionar F2,
+Del ou Esc para a BIOS ou
+Esc, F8, F10 ou
+F11 para o menu do dispositivo de inicialização do
+boot. Essas chaves (bastante comuns) são apenas uma seleção de opções
+possíveis.
Nota
A tela atual que você verá primeiro ao inicializar a partir da mídia Live
+dependerá se a placa-mãe do computador é do tipo Legacy (BIOS) ou UEFI.
No modo BIOS/CSM/Legacy
Primeira tela durante a inicialização no modo BIOS
Menu
Inicializar Mageia
Esta opção inicializará o sistema Mageia Live a partir da mídia DVD / USB
+conectada (espere um sistema muito lento comparado a um SO instalado).
Quando terminar a inicialização, você poderá prosseguir com a instalação.
+ use "drivers" de video "non-free" (inicialização
+mais lenta)
Inicializar o sistema Mageia Live usando drivers de vídeo non-free
Instalar Mageia
Esta opção irá instalar o Mageia no disco rígido.
+ use "drivers" de video "non-free" (inicialização
+mais lenta)
Instalar Mageia usando drivers de vídeo non-free
Teste de Memória
Teste a memória RAM instalada executando várias operações de leitura e
+gravação. Reinicie para parar o teste.
F2 Idioma
Pressione F2para usar um instalador com um idioma
+especifico durante a instalação. Use as teclas direcionais para selecionar o
+idioma então pressione Enter.
No modo UEFI
Primeira tela durante inicialização no modo UEFI
Menu
Inicializar Mageia
Esta opção inicializará o Mageia Live a partir da mídia DVD / USB conectada
+(espere um sistema muito lento comparado a um SO instalado). Uma vez que a
+inicialização é feita, você pode prosseguir para a instalação
Instalar Mageia
Esta opção irá instalar o Mageia no disco rígido.
F2 Idioma
Pressione F2para usar um instalador com um idioma
+especifico durante a instalação. Use as teclas direcionais para selecionar o
+idioma então pressione Enter.
Nota
Se você inicializou a partir de um pendrive, verá as opções de menu acima
+duplicadas e, nesse caso, deverá escolher no duplicado com o sufixo "USB".
Escolha seu fuso horário escolhendo seu país, ou uma cidade próxima para
+você usar o mesmo fuso horário.
Na próxima tela, você pode optar por definir o relógio do seu hardware para
+a hora local ou para o GMT, também conhecido como UTC.
Nota
Se você tiver mais de um sistema operacional em seu computador,
+certifique-se que eles estão todos configurados para a hora local, ou todos
+para a UTC/GMT.
Nesta tela você pode ver o conteúdo do seu disco rígido(s) juntamente com as
+propostas de particionamento do DrakX para onde instalar o Mageia.
As opções atuais disponíveis mostradas abaixo irão variar de acordo com o
+layout e o conteúdo de seu disco rígido(s) específico.
Opções Principais
Usar Partições Existentes
Se esta opção estiver disponível, então partições existentes compatíveis com
+o Linux foram encontrados e podem ser utilizadas para a instalação.
Usar Espaço Livre
Se você tiver espaço não utilizado em seu disco rígido, então esta opção irá
+usá-lo para a sua nova instalação da Mageia.
Usar espaço livre de uma Partição do Windows
+
Se você tiver espaço não utilizado em uma partição existente do Windows, o
+instalador poderá se oferecer para usá-lo. Esta pode ser uma maneira útil de
+criar espaço para a sua nova instalação do Mageia, mas é uma operação
+arriscada, portanto, certifique-se de ter feito backup de todos os arquivos
+importantes!
Com essa opção, o instalador exibe a partição restante do Windows em azul
+claro e a partição Mageia proposta em azul escuro com os tamanhos
+pretendidos. Você tem a opção de modificar esses tamanhos clicando e
+arrastando a lacuna entre as duas partições. Veja a seguinte imagem:
Apagar e usar o disco inteiro
Está opção usará todo do espaço para a instalação Mageia
Atenção
Isso apagará TODOS os dados no HD selecionado. Cuidado! Se você pretende
+usar parte do disco para outra coisa, ou se já tem dados na unidade que não
+estão salvos em backup, não use essa opção.
Importante
Note que isto envolve a redução do tamanho da partição do Windows. A
+partição deve ser "limpa", o que significa que o Windows deve ter fechado
+corretamente na última vez que foi usado. Deve também ter sido
+desfragmentado, embora isto não seja uma garantia de que todos os arquivos
+da partição foram movidos para fora da área que está prestes a ser usada. É
+altamente recomendável fazer backup de seus arquivos pessoais.
Particionamento de disco personalizado
Isso lhe dará total controle sobre o local da instalação em seu(s) disco(s)
+rígido(s).
Se você não estiver usando a opção de particionamento de disco
+personalizado , o instalador alocará o espaço disponível de
+acordo com as seguintes regras:
Se o espaço total disponível for menor que 50 GB, apenas uma partição será
+criada. Esta será a partição / (root).
Se o espaço total disponível for maior que 50 GB, então três partições serão
+criadas
6/19 do espaço total disponível é alocado para partição
+/ raiz com um máximo de 50 GB
1/19 é alocado para partição swap com um máximo de 4
+GB
o restante (pelo menos 12/19) é atribuído a partição /home
+
Isso significa que, a partir de 160 GB ou mais de espaço disponível, o
+instalador criará três partições:
50 GB para /
4 GB para swap
e o restante para /home
Nota
Se você estiver usando um sistema UEFI, o ESP (EFI System Partition) será
+automaticamente detectado - ou criado, se ainda não existir - e montado em
+/boot/EFI . A opção de particionamento de
+disco personalizado é a única que permite verificar se foi feito
+corretamente.
Se você estiver usando o sistema Legacy (também conhecido como BIOS) com um
+disco particionado GPT, será necessário criar uma partição de boot de
+inicialização da BIOS, se ela ainda não existir. Deve ter cerca de 1 MiB sem
+ponto de montagem. Ele pode ser criado com o instalador, sob o
+particionamento de disco personalizado, como qualquer
+outra partição. Certifique-se de selecionar a “partição de
+inicialização da BIOS” para o tipo de sistema de arquivos.
Veja DiskDrakepara obter informações sobre como proceder.
Importante
Algumas unidades de armazenamento mais recentes agora usam setores lógicos
+de 4096 bytes, em vez do padrão anterior de 512. Devido à falta de hardware
+disponível, a ferramenta de particionamento usada no instalador não foi
+testada com essa unidade.
Alguns dispositivos SSD agora usam um tamanho de bloco de escrita acima de 1
+MB. Se você tiver um dispositivo desse tipo, sugerimos que você particione a
+unidade com antecedência, usando uma ferramenta de particionamento
+alternativa, como gparted, e use as seguintes configurações:
Alinhar para = MiB
Espaço livre anterior (MiB) = 2
Certifique-se também de que todas as partições sejam criadas usando um
+número par de megabytes.
Escolha os pontos de montagem
Aqui você vê as partições do Linux que foram encontradas no seu
+computador. Se você não concordar com as sugestões do DrakX, você mesmo pode
+alterar os pontos de montagem.
À esquerda do menu, há uma lista de partições disponíveis. Por exemplo:
+sdaé um disco rígido e 5é o
+número da partição, seguido por (capacidade,
+ponto de montagem, tipo de sistema de arquivos) da partição.
Se você tem inúmeras partições, você consegue escolher diferentes
+pontos de montagem do menu, como
+/, /home e
+/var. Você consegue inclusive criar seus próprios
+pontos de montagem, por exemplo /video para uma
+partição onde você deseja armazenar seus filmes, ou talvez
+/Dados para todos os seus arquivos de dados.
Para quaisquer partições que você não precise usar, você pode deixar o campo
+de ponto de montagem em branco.
Atenção
Se você fizer qualquer alteração aqui, verifique que você tem uma partição
+/ (raiz).
Dica
Se você não está certo o que escolher, clique
+Voltarpara voltar e então marque
+Particionamento customizado do disco , onde você
+consegue clicar sobre uma partição para visualizar seus tipos e tamanhos.
Se você está certo que os pontos de montagem estão corretos, clique em
+Próximo , e escolha se você deseja apenas formatar a
+partição sugerida pelo DrakX ou mais.
Confirme o disco rígido para ser formatado
Clique em anterior se não tiver certeza da sua escolha
Clique em Avançar, para continuar, se tiver certeza de
+que todas as partições, todos os sistemas operacionais e todos os dados gravados no disco rígido podem ser
+apagados.
Particionamento de disco personalizado com DiskDrake
Modifique o layout de seu disco(s) aqui. Você pode remover ou criar
+partições, alterar o sistema de arquivos ou o tamanho de uma partição e até
+mesmo visualizar os detalhes antes de começar.
Há uma guia na parte superior para cada disco rígido detectado (ou outro
+dispositivo de armazenamento, como uma disco USB). Na imagem acima, há dois
+dispositivos disponíveis: sda e
+sdb.
Para todas as outras ações: clique na partição desejada primeiro. Em
+seguida, visualize-o ou escolha um sistema de arquivos e um ponto de
+montagem, redimensione-o ou limpe-o. Modo Expert
+fornece mais opções, como rotular (nome) para uma partição ou escolher um
+tipo de partição.
Continue até ajustar tudo de acordo com suas necessidades, e em seguida,
+clique em Pronto quando estiver pronto.
Atenção
Tome cuidado com a opção Limpar tudo , use-a somente
+se tiver certeza de que deseja limpar todas as partições no dispositivo de
+armazenamento selecionado.
Se você deseja usar criptografia em sua partição / ,
+você deve ter uma partição /boot separada. A opção de
+criptografia para a partição /boot NÃO deve ser
+definida, caso contrário, o sistema não será inicializado.
Importante
Se você estiver instalando o Mageia em um sistema UEFI, verifique se um ESP
+(Sistema de partição EFI) está presente e montado corretamente em
+/boot/EFI. Veja a Figura 1 abaixo.
Se você estiver instalando o Mageia em um sistema Legacy/GPT, verifique se
+há uma partição de inicialização da BIOS e do tipo correto. Veja a Figura 2
+abaixo.
Figura 1. Partição de Sistema EFI
Figura 2. Partição de inicialização do BIOS (binary IO ystem)
Formatação
Aqui você pode escolher quais partições deseja formatar. Quaisquer dados, em
+partições não marcadas para formatação, serão preservados.
Normalmente, pelo menos as partições selecionadas pelo DrakX precisam ser
+formatadas.
Clique em Avançado para escolher as partições que você
+procura analisar por bad blocks
Dica
Se você não tiver certeza de ter feito a escolha certa, clique em
+Anterior, novamente em Anterior e,
+em seguida, em Personalizar para voltar à tela
+principal, onde poderá optar por visualizar os detalhes de suas partições.
Quando tiver certeza sobre as seleções, clique em
+Avançar para continuar.
Ninguém vai ver todas as telas do instalador mostradas neste manual. As
+telas que você verá dependem de seu hardware e as escolhas que você faz
+durante a instalação.
Finalmente, você chegará à tela de login da área de trabalho.
Digite seu nome de usuário e senha de usuário, em alguns segundos, você se
+encontrará com a área de trabalho do KDE Plasma ou GNOME carregada,
+dependendo da mídia de instalação que você usou. Agora você pode começar a
+usar e aproveitar sua instalação da Mageia.
Uma vez que o bootloader tenha sido instalado, você será solicitado a parar
+o seu computador, remover o DVD / Pendrive e reiniciar o computador.
Importante
Certifique-se de seguir as instruções nessas etapas de encerramento e
+reiniciar na mesma ordem
Quando estiver pronto, pressione Concluir.
Quando você reiniciar, verá uma sucessão de barras de progresso de
+download. Eles indicam que as listas de mídia de software estão sendo
+baixadas (consulte Gerenciamento de software).
" + "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/draklive/7/pt_br/content/search/punctuation.props b/draklive/7/pt_br/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/draklive/7/pt_br/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/draklive/7/pt_br/content/search/stemmers/de_stemmer.js b/draklive/7/pt_br/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/draklive/7/pt_br/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/draklive/7/pt_br/content/search/stemmers/en_stemmer.js b/draklive/7/pt_br/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/draklive/7/pt_br/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/draklive/7/pt_br/content/search/stemmers/fr_stemmer.js b/draklive/7/pt_br/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/draklive/7/pt_br/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
+
+
+
+ Selecione o teclado
Selecione seu idioma preferido. A Mageia utilizará esta seleção durante a
+instalação e para o seu sistema instalado.
A Mageia usa o suporte a UTF-8 (Unicode) por padrão. Isso pode ser
+desativado na tela Múltiplos idiomas, se você souber
+que é inadequado para o seu idioma. Desativar o UTF-8 aplica-se a todos os
+idiomas instalados.
Você pode alterar o idioma do sistema pós-instalação na localização do
+sistema no Centro de Controle
+Mageia → Sistema → localização
+para seu sistema
O GRUB2 (com ou sem menu gráfico) será usado exclusivamente como o
+"bootloader" para um sistema "Legacy"/MBR ou "Legacy"/GPT.
Por padrão, um novo "bootloader" será gravado no MBR (Master Boot Record) do
+seu primeiro disco rígido ou na partição "boot" de inicialização do BIOS.
Grub2-efi nos sistemas UEFI
O GRUB2-efi será usado, exclusivamente, como o "bootloader" para um sistema
+UEFI.
Por padrão, um novo bootloader (Grub2-efi) será gravado no ESP (EFI System
+Partition).
Se já houver sistemas operacionais baseados em UEFI instalados em seu
+computador (Windows 8, por exemplo), o instalador Mageia detectará a ESP
+existente criado pelo Windows e adicionará o grub2-efi a ele. Se não houver
+ESP, será criada uma. Embora seja possível ter várias ESPs, apenas uma é
+necessária, para qualquer que seja o número de sistemas operacionais que
+você possui.
Configuração "Bootloader"
Principais Opções do Gerenciador de Inicialização
Para usar Bootloader
Este recurso está disponível apenas para sistemas "Legacy" MBR/BIOS. Os
+usuários de sistemas UEFI não verão essa opção aqui.
dispositivo de inicialização de boot
Não mude isso, a menos que você realmente saiba o que está fazendo
Atraso antes de inicializar a imagem padrão
Essa caixa de diálogo permite definir um atraso, em segundos, antes que o
+sistema operacional padrão seja inicializado.
Segurança
Isso permite que você defina uma senha para o gerenciador de
+inicialização. Significa que um nome de usuário e senha serão solicitados
+durante a inicialização, para escolher uma entrada de inicialização ou
+alterar as configurações. Isso é opcional, e a maioria das pessoas
+provavelmente não precisará disso. O nome de usuário é root
+e a senha é a escolhida daqui em diante.
Senha
Escolha uma senha para o "bootloader" (opcional)
Senha (novamente)
Repita a senha e o DrakX verificará se corresponde ao que foi definido acima
Avançado
Ativar ACPI
ACPI (Advanced Configuration e Power Interface) é um padrão para
+gerenciamento de energia. Pode poupar energia parando os dispositivos não
+utilizados. A desmarcação pode ser útil se, por exemplo, seu computador não
+suportar o ACPI ou se você achar que a implementação da ACPI pode causar
+alguns problemas (por exemplo, reinicializações aleatórias ou travamentos do
+sistema).
Ativar SMP
Esta opção ativa/desativa o multiprocessamento simétrico para processadores
+"multi-core"
Ativar APIC
Habilitar APIC dá ao sistema operacional acesso ao "Advanced Programmable
+Interrupt Controller". Os dispositivos APIC permitem modelos de prioridade
+mais complexos e gerenciamento avançado de IRQ (solicitação de interrupção).
Ativar APIC local
Aqui você pode definir o APIC Local, que gerencia todas as interrupções
+externas para um processador específico em um sistema SMP
Configuração do Gerenciador de Inicialização
Padrão
O sistema operacional a ser iniciado por padrão.
Acrescentar
Esta opção permite que você passe informações para o "kernel' ou diga ao
+"kernel" para lhe dar mais informações ao inicializar.
Examinar sistema estrangeiro OS
Se você já tem outros sistemas operacionais instalados, a Mageia tenta
+adicioná-los ao seu novo menu de inicialização de boot Mageia. Se você não
+quiser esse comportamento, desmarque a opção "Examinar sistema estrangeiro"
+Probe Foreign OS.
Avançado
Modo de vídeo
Isso define o tamanho da tela e a profundidade de cor a serem usadas pelo
+menu de inicialização de boot. Se você clicar no triângulo abaixo, terá
+outras opções de tamanho e profundidade de cor.
Não toque em ESP ou MBR
Selecione essa opção se você não quiser a inicialização da Mageia, mas sim,
+seu carregamento em cadeia a partir de outro sistema operacional. Você
+receberá um aviso de que o "bootloader" está faltando. Clique em
+Ok se tiver certeza de que compreende as implicações e
+deseja prosseguir.
Outras Opções
Usando um Gerenciador de Inicialização existente
O procedimento exato para adicionar a Mageia a um gerenciador de
+inicialização existente está além do escopo desta documentação. No entanto,
+na maioria dos casos, isso envolverá a execução do programa de instalação do
+carregador de inicialização relevante, que deve detectar a Mageia e incluir,
+automaticamente, uma entrada para ela no menu do carregador de
+inicialização. Consulte a documentação do sistema operacional relevante.
Instalando sem um gerenciador de inicialização
Embora você possa optar por instalar o Mageia sem um "bootloader" (consulte
+a seção 2.1 Avançado), isso não é recomendado, a menos que você saiba
+absolutamente o que está fazendo, pois, sem algum tipo de "bootloader", o
+sistema operacional não poderá ser iniciado.
Adicionando ou Modificando uma Entrada do Menu de Inicialização
Para fazer isso, você precisa editar manualmente o arquivo
+"/boot/grub2/custom.cfg" ou usar o programa grub-customizer (disponível nos repositórios da
+Mageia).
diff --git a/draklive/7/pt_br/content/testing.html b/draklive/7/pt_br/content/testing.html
new file mode 100644
index 00000000..f25f84fd
--- /dev/null
+++ b/draklive/7/pt_br/content/testing.html
@@ -0,0 +1,41 @@
+
+
+
+
+ Teste Mageia com o sistema Live
Esta é a tela que você verá se você selecionou a opção Boot Mageia no menu "Live media".
Hardware de teste
Um dos objetivos de usar o modo Live é testar se o seu hardware é gerenciado
+corretamente pela Mageia. Você pode verificar se todos os dispositivos têm
+um "driver" na seção "Hardware" do "Centro de Controle Mageia"
interface de rede: configurar com net_applet
placa gráfica: se você ver a tela anterior, já está confirmado
som: um jingle já foi reproduzido
impressora: configure sua impressora/s e imprima uma página de teste
scanner: digitalizar um documento de ...
Se todo "hardware" estiver reconhecido, você pode prosseguir com a
+instalação. Se não, você pode usar o botão Sair para
+sair.
Nota
As definições de configuração aplicadas aqui são transferidas se você
+decidir continuar com a instalação.
Iniciar a instalação
Para iniciar a instalação do Live DVD em um disco rígido ou unidade SSD,
+basta clicar no ícone Instalar no Disco Rígido, na área
+de trabalho. Você verá essa tela, seguida pela etapa de particionamento.
Se a Mageia não te convencer ou você não pode instalá-lo corretamente, ou
+seja, você quer se livrar dele, que é o seu direito, a Mageia também lhe dá
+a possibilidade de desinstalar. Isso não é verdade para todos os sistemas
+operacionais.
Depois de fazer o "backup" dos dados, reinicie o DVD de instalação da
+Mageia, selecione Rescue system e, em seguida,
+Restore Windows boot loader. Na próxima inicialização
+do boot, você terá apenas o Windows, sem a opção de escolher o sistema
+operacional Mageia.
No Windows, para recuperar o espaço usado pelas partições Mageia: clique em
+Iniciar → Painel de
+Controle → Ferramentas Administrativas
+ → Gerenciamento do
+Computador → Armazenamento → Gerenciamento
+do Disco. Você reconhecerá uma partição Mageia
+porque ela é rotulada como Desconhecida e também por seu
+tamanho e posição no disco. Clique com o botão direito do mouse em cada uma
+dessas partições e selecione Excluir para liberar o
+espaço.
Se você estiver usando o Windows XP, poderá criar uma nova partição e
+formatá-la (FAT32 ou NTFS). Em seguida, ele receberá uma letra de partição.
Se tiver o Windows Vista ou o 7, existe mais uma possibilidade: você pode
+estender a partição existente que está à esquerda do espaço
+liberado. Existem outras ferramentas de particionamento que podem ser
+usadas, como o gparted, disponíveis para
+Windows e Linux. Como sempre, ao mudar de partições, tenha muito cuidado
+para fazer "backup" de algo importante para você.