Mageia distribueras via ISO-avbilder. Den här sidan kommer att hjälpa dig
+att välja den avbild som passar dina behov bäst.
Det finns två media-familjer:
Klassisk installation: Efter att du startat från mediet kommer du att gå
+igenom ett process där du kan välja vad som ska installeras och hur du
+konfigurerar ditt system. Detta ger dig maximal flexibilitet för en
+skräddarsydd installation, speciellt vad gäller vilken skrivbordsmiljö som
+du vill installera.
LIVE media: Du kan starta mediet i ett äkta Mageia-system utan att
+installera det för att se hur det ser ut efter installation. Installationen
+är sedan lättare men du har färre val.
Detaljer följer i nästkommande avsnitt.
Media
Definition
Här är ett medium (plural: media) en ISO-avbild som du kan använda för att
+installera och/eller uppgradera Mageia till den fysiska hårdvaran som
+ISO-filen kopieras till.
De här ISO-filerna använder den traditionella installeraren, drakx.
De kan utföra en ren installation eller uppgradera från en tidigare version.
Olika media för 32 eller 64-bitars arkitekturer.
Vissa verktyg är tillgängliga från välkomstskärmen: Räddningssystem,
+minnestest och identifiering av hårdvara.
Varje DVD innehåller många skrivbordsmiljöer och språk.
Du kommer under installationen att få välja att lägga till icke-fri
+programvara.
Live media
Vanliga funktioner
Kan användas för att förhandsgranska distributionen utan att installera den
+på en hårddisk, och eventuellt installera den.
Each ISO contains only one desktop environment (Plasma, GNOME or Xfce).
Olika media för 32 eller 64-bitars arkitekturer.
Live ISO-filer kan endast användas för en ren
+installation, de kan inte användas för att uppgradera från en tidigare
+version.
De innehåller icke-fri mjukvara.
Live DVD Plasma
Endast skrivbordsmiljön Plasma.
Alla språk finns med.
Endast 64-bitars plattform.
Live DVD GNOME
Endast skrivbordsmiljön GNOME.
Alla språk finns med.
Endast 64-bitars plattform.
Live DVD Xfce
Endast skrivbordsmiljön Xfce.
Alla språk finns med.
32 eller 64-bitars plattform.
Endast bootbar CD-media
Vanliga funktioner
Var och en är en liten avbild som endast innehåller det som behövs för att
+starta drakx-installeraren och att hitta drakx-installer-stage2 och andra
+paket som behövs för att fortsätta och slutföra installationen. Dessa paket
+kan ligga på datorns hårddisk, på ett nätverk eller Internet.
Dessa media är väldigt små (mindre än 100MB) och är användbara när
+bandbredden är för låg för att ladda ner en hel DVD, en PC utan DVD-spelare
+eller en PC som inte kan starta från ett USB-minne.
Olika media för 32 eller 64-bitars arkitekturer.
Endast på engelska.
netinstall.iso
Innehåller endast fri mjukvara, för de som föredrar att inte använda
+mjukvara som inte är gratis.
netinstall-nonfree.iso
Innehåller icke-fri mjukvara (för det mesta drivrutiner och codecs) för de
+som behöver det.
Laddar ner och kontrollerar media
Hämtar
Efter att du valt din ISO-fil så kan du ladda ner den via antingen http
+eller BitTorrent. I båda fallen visas ett fönster med information som
+t. ex. vilken spegel som kommer att användas, och möjlighet att ändra den om
+bandbredden är låg. Om du väljer http kan du även se någonting som det här
md5sum och sha1sum är verktyg som används för att kontrollera ISO-filens
+integritet. Använd bara en av dom, och behåll den för framtida bruk. Sedan visas ett fönster som
+liknar det här:
Markera knappen Spara fil.
Kontrollerar integriteten på nerladdad media
Båda kontrollsummorna är hexadecimala nummer som räknas ut av en algoritm
+från filen som ska laddas ner. När du räknar om dessa från numret från din
+nerladdade fil så kommer du att få samma nummer och då är filen felfri,
+eller så får du ett annat nummer och då är den korrupt. I så fall bör du
+ladda ner den igen eller göra en kontroll via BitTorrent.
Öppna en konsol, behöver inte vara root, och:
- För att använda md5sum, skriv: [sam@localhost]$ md5sum
+sökväg/till/avbilden/fil.iso.
- För att använda sha1sum, skriv: [sam@localhost]$ sha1sum
+sökväg/till/avbilden/fil.iso.
och jämför erhållet nummer från din dator (du kanske måste vänta ett tag)
+med det nummer som Mageia har försett. Exempel:
Bränn eller dumpa ISO-filen.
Den kontrollerade ISOn kan nu brännas på en CD eller DVD, eller dumpas på
+ett USB-minne. Det är inte en vanlig kopiering utan ämnar att skapa ett
+startbart media.
Att bränna ISO-filen till en CD/DVD
Använd vilken brännare du vill men se till att den är inställd att bränna
+en avbild, att bränna data eller filer är
+inte rätt. Det finns mer information på Mageias
+wiki.
Dumpa ISOn till ett USB-minne
Alla Mageias ISO-filer är hybrider, dvs. du kan "dumpa" dem på ett USB-minne
+och sedan använda det för att starta och installera systemet.
Varning
Att "dumpa" en avbild på ett USB-minne förstör det filsystem som finns på
+enheten. All data kommer att gå förlorad och partitionens storlek blir
+reducerad till avbildens storlek.
För att återfå den ursprungliga kapaciteten måste du partitionera och
+formatera om USB-enheten.
Använda ett grafiskt verktyg i Mageia
Du kan använda ett grafiskt verktyg som t. ex. IsoDumper
Det är klokt att ange ett administratörslösenord för alla
+Mageiainstallationer, vanligtvis kallat
+root-lösenord i Linux. När du börjar skriva lösenordet
+i fältet kommer skölden att ändra färg från röd till gul och grön, beroende
+på lösenordets styrka. Med en grön sköld använder du ett starkt lösenord. Du
+måste repetera lösenordet i fältet under och en kontroll utförs genom att
+jämföra dem så att du inte har skrivit fel.
Notera
Alla lösenord skiljer på stora och små bokstäver. Det bästa är att använda
+en blandning av bokstäver (stora och små), nummer och andra karaktärer i ett
+lösenord.
Lägg till en användare
Lägg till en användare här. En användare har färre rättigheter än en
+administratör (root), men tillräckligt för att surfa på nätet, använda
+kontorsapplikationer, spela spel och allt annat som en vanlig användare gör
+med sin dator.
Ikon: om du klickar på den här knappen så kommer
+användarens ikon att ändras.
Verkligt namn: Skriv in användarens verkliga namn i det
+här fältet.
Inloggningsnamn: Här kan du skriva in användarens
+inloggningsnamn eller låta drakx använda en version av användarens riktiga
+namn. Inloggningsnamnet känner av stora och små
+bokstäver.
Lösenord: I det här textfältet skriver du in
+användarens lösenord. Det finns en sköld i slutet av fältet som indikerar
+lösenordets styrka. (Se även Notera)
Lösenord (igen): Skriv lösenordet för användaren igen i
+det här textfältet. Drakx kontrollerar att du har angivit samma lösenord i
+båda fälten.
Notera
De användare som du lägger till när du installerar Mageia kommer att ha en
+hemkatalog med läs och skrivrättigheter (umask=0027).
Du kan lägga till fler användare i
+konfigureringsöversikten under installationen. Välj
+Användarhantering.
Rättigheterna för åtkomst kan också ändras efter installationen.
Här ser du de Linux-partitioner som har hittats i din dator. Om du inte är
+nöjd med vad DrakX föreslår så kan du ändra
+monteringspunkterna.
Notera
Om du ändrar något så var noga med att du fortfarande har en
+/ (root)-partition.
Varje partition visas enligt följande: "Enhet" ("Kapacitet",
+"Monteringspunkt", "Typ").
"Enhet" består av: "hårddisk", ["hårddisknummer "(bokstav)],
+"partitionsnummer" (exampelvis, "sda5").
Om du har många partitioner så kan du välja mellan olika monteringspunkter i
+menyn, som t. ex. /, /home och
+/var. Du kan även skapa egna monteringspunkter,
+exempelvis /video för en partition där du vill lagra dina
+filmer, eller /cauldron-home för
+/home-partition för en Cauldron-installation.
För partitioner som du inte behöver tillgång till kan du lämna fältet för
+monteringspunkt tomt.
Varning
Välj Tillbaka om du inte är säker på vad du ska
+välja, och kryssa i Anpassad diskpartitionering. I
+nästa steg så kan du sedan klicka på en partition för att se dess typ och
+storlek.
Om du är säker på att monteringspunkterna är korrekta så klickar du på
+Nästa där du väljer om du vill formatera
+partitonenerna som DrakX föreslår eller mer.
Du kan starta direkt från de media du använde för att bränna din avbildning
+(CD-ROM, DVD-ROM...). Vanligtvis räcker det med att du sätter i skivan i din
+CD/DVD för att starthanteraren automatiskt ska starta
+installationsprogrammet efter omstart. Om det inte fungerar måste du ändra
+inställningarna i ditt BIOS eller trycka på den tangent som gör att du kan
+välja startmedia.
Beroende på vilken hårdvara du har och hur den är konfigurerad kan du få en
+av följande två skärmar nedan.
Från en USB-enhet
Du kan starta från din USB-enhet där du dumpat din ISO-avbildning. Beroende
+på hur ditt BIOS är inställt kan datorn starta direkt från USB-enheten om
+den redan är inkopplad i en USB-port. Om den inte gör det måste du
+eventuellt ändra i dina BIOS-inställningar, eller trycka på den tangent som
+gör att du kan välja startmedia.
I BIOS/CSM/Legacy-läge
Den första skärmen när du startar i BIOS-läge
I den mittersta menyn så kan du välja mellan tre handlingar:
Starta Mageia: Detta gör att Mageia 5 kommer att starta från det media som
+är anslutet (CD/DVD eller USB) utan att skriva något till hårddisken, så var
+beredd på ett väldigt långsamt system. När uppstarten är klar kan du
+fortsätta och installera på hårddisken.
Installera Mageia: Det här valet kommer att installera Mageia direkt på en
+hårddisk.
Uppstart från hårddisk: Det här valet tillåter dig att starta upp som
+vanligt från en hårddisk när inget media (CD/DVD eller USB-minne) är
+anslutet. (fungerar inte med Mageia 5).
I menyn längst ner finns startalternativen:
F1 - Hjälp. Förklara valen "splash", "apm", "acpi" och "idle"
F2 - Språk. Välj skärmens visningsspråk.
F3 - Skärmupplösning. Välj mellan text, 640x400, 800x600, 1024x728
F4 - CD-Rom. CD-Rom eller annat. Normalt sätt genomförs installationen från
+det media som är anslutet. Du kan även välja andra källor så som en FTP
+eller NFS-server. Om installationen genomförs över nätverk med en SLP-server
+så kan du välja installationskällor på servern med det här alternativet.
F5 - Drivrutin. Ja eller Nej. Systemet är medvetet om närvaron av en
+alternativ disk med en drivrutinsuppdatering och kommer att kräva att den
+sätts in under installationsprocessen.
F6 - Kernel-alternativ: Här kan du specificera alternativ beroende på din
+hårdvara och vilka drivrutiner som ska användas.
I UEFI-läge
Första skärmen när du startar ett UEFI-system från disk
Du kan enbart köra Mageia i liveläge. (första alternativet) eller att
+bearbeta installationen (andra alternativet).
Om du har startat från en USB-enhet har du två extra rader som är identiska
+men har "USB" på slutet. Du måste välja dem.
I alla fall så kommer de första stegen att vara samma för att välja språk,
+tidszon och tangentbord. Sedan skiljer sig stegen med extra steg för liveläge.
Om du vill använda kryptering på din /-partition så måste
+du se till att ha en separat
+/boot-partition. Krypteringsalternativet för din
+/boot-partition ska INTE ställas in, annars kommer detta
+göra ditt system omöjligt att boota.
Här kan du justera layouten på dina hårddiskar. Du kan radera eller skapa
+partitioner, ändra filsystem och storlek. Du kan även titta vad som finns på
+dem innan du startar.
Det finns en flik för varje hårddisk eller annan lagringsenhet som har
+hittats, t. ex ett USB-minne. Det finns sda, sdb och sdc om där är tre
+stycken.
Tryck på Rensa allt för att tömma alla partitioner på
+den valda lagringsenheten
For all other actions: click on the desired partition first. Then view it,
+or choose a filesystem and a mount point, resize it or wipe
+it. Toggle to expert mode (or Expert
+mode) gives some more tools like to add a label or to choose a
+partition type.
Fortsätt tills du har justerat allt enligt dina önskemål.
Klicka på Klar när du är redo.
Notera
Om du installerar Mageia på ett UEFI-system, kontrollera att en ESP (EFI
+-systempartition) är närvarande och korrekt monterad på /boot/EFI (se nedan)
Notera
Kontrollera att det finns en BIOS startpartition om du installerar Mageia på
+ett Legacy/GPT-system
På den här sidan ser du innehållet på dina hårddiskar och hur
+partitionsguiden i DrakX har hittat förslag på var
+Mageia kan installeras.
Alternativen som är tillgängliga i listan nedan varierar beroende på
+layouten och innehållet på din(a) hårddisk(ar).
Använd existerande partitioner
Om det här alternativet är tillgängligt så har kompatibla Linux-partitioner
+hittats och kan användas för installation.
Använd ledigt utrymme
Om du har ledigt utrymme på din hårddisk kommer det här alternativet att
+använda det för att installera Mageia.
Använd ledigt utrymme på en Windows-partition
Om du har ledigt utrymme på din befintliga Windows-partition så kan DrakX ge
+dig möjlighet att använda det.
Det kan vara ett användbart för att göra plats för din nya
+Mageia-installation, men är en riskfylld operation. Därför bör du se till
+att du har säkerhetskopierat alla viktiga filer!
Observera att det innebär att storleken på Windows-partitionen
+krymps. Partitionen måste vara "ren", dvs. att Windows måste ha stängts av
+korrekt när det användes sist. Den måste också ha defragmenterats, även om
+det inte är någon garanti för att filerna har flyttats bort ifrån ytan som
+kommer att användas. Du rekommenderas starkt att säkerhetskopiera dina
+personliga filer.
Med det här alternativet visar installationsprogrammet den resterande
+Windows-partitionen i ljusblått och den framtida Mageia-partitionen i
+mörkblått, med deras tilltänkta storlek undertill. Du kan ändra storlekarna
+genom att klicka och dra i mellanrummet mellan partitionerna. Se skärmdumpen
+nedan.
Radera och använd hela hårddisken.
Det här alternativet kommer att använda hela disken för Mageia.
Tänk på att detta kommer att ta radera ALL data på den valda hårddisken. Var
+försiktig!
Om du har för avsikt att använda en del av hårddisken för någonting annat
+eller om du redan har data på disken som du inte är beredd att förlora så
+ska du inte använda detta alternativ.
Anpassad diskpartitionering
Detta ger dig fullständig kontroll över placeringen av installationen på
+din/a disk/ar.
Hantera partitionsstorlek:
Installationsprogrammet kommer att dela på tillgängligt utrymme enligt
+följande regler:
Om det totala lediga utrymmet är under 50GB så kommer endast en partition
+att skapas för /. Det finns ingen separat partition för /home.
Om det totala utrymmet är mer än 50GB så kommer tre partitioner att skapas
6/19 av det totala lediga utrymmet fördelas till / med ett maximum av 50GB
1/19 är allokerat till swap med en gräns på 4 GB
resten (minst 12/19) förledas till /home
Det betyder att från 160GB och uppåt med ledigt utrymme kommer
+installationsprogrammet att skapa tre partitioner: 50GB för /, 4GB för swap
+och resten till /home.
Notera
If you are using an UEFI system, the ESP (EFI System Partition) will be
+automatically detected, or created if it does not exist yet, and mounted on
+/boot/EFI. The "Custom disk partitioning" option is the only one that allows
+to check it has been correctly done
Notera
If you are using a Legacy (as known as CSM or BIOS) system with a GPT disk,
+you need to create a Bios boot partition if not already existing. It is an
+about 1 MiB partition with no mount point. Choose ”Anpassad diskpartionering med DiskDrake” to be able to create it with the Installer like any
+other partition, just select BIOS boot partition as filesystem type.
Varning
En del nyare diskar använder nu 4096 bytes logiska sektorer istället för den
+föregående standarden med 512 bytes. På grund av brist på tillgänglig
+hårdvara har partitionsverktyget inte testats på en sådan disk. En del
+SSD-diskar använder nu även en raderingsblockstorlek på över 1 MB. Vi
+föreslår att för-partitionera disken genom att använda ett alternativt
+partitioneringsverktyg som t. ex. gparted, om du har en sådan enhet med
+följande inställningar:
"Rikta mot" "MiB"
"Ledigt utrymme före (MiB)" "2"
Se också till att alla partitioner skapas med ett jämnt antal megabyte.
Här kan du välja vilken/a partition/er som du vill formatera. All data på
+partitionerna som inteär markerat för formatering
+kommer att sparas.
Vanligtvis behöver i alla fall de partitioner som DrakX har valt att
+formateras.
Klicka på Avancerat för att välja vilka partitioner
+som du vill kontrollera efter så kallade dåliga block
Tips
Om du är osäker på om du valt rätt så kan du klicka på
+Föregående, och på Föregående
+igen och sedan på Anpassad för att komma tillbaka
+till huvudsidan. Där kan du välja och se vad som finns på dina partitioner.
När du är säker på ditt val, klicka på Nästa för att
+fortsätta.
Ingen kommer att se alla installerarens skärmbilder som du ser i den här
+handboken. Vilka skärmbilder som just du kommer att se beror på din hårdvara
+och vilka val du gör under installationen.
Skriv in ditt användarnamn och lösenord och efter ett par sekunder befinner
+du dig i KDEs eller GNOMEs skrivbordsmiljö beroende på vilket
+installationsmedia du har använt. Du kan nu börja använda din installation
+av Mageia.
När starthanteraren är installerad kommer du bli ombedd att ta bort LiveCDn
+och starta om datorn. Klicka på Klar och gör som du blir
+ombedd i den ordningen.
When you restart, you will see a succession of download progress bars. These
+indicate that the software media lists are being downloaded (see Software
+management).
" + "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/6/sv/content/search/punctuation.props b/draklive/6/sv/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/draklive/6/sv/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/6/sv/content/search/stemmers/de_stemmer.js b/draklive/6/sv/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/draklive/6/sv/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/6/sv/content/search/stemmers/en_stemmer.js b/draklive/6/sv/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/draklive/6/sv/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/6/sv/content/search/stemmers/fr_stemmer.js b/draklive/6/sv/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/draklive/6/sv/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
+
+
+
+ Välj tangentbord
Grub2 (med eller utan grafisk meny) för ett Legacy/MBR eller
+Legacy/GPT-system.
Grub2-efi för ett UEFI-system.
Tips
Mageias grafiska menyer är fina :)
Grub2 för ett Legacy/MBR eller Legacy/GPT-system.
Ändra inte din "startenhet" om du inte verkligen vet vad du gör.
Grub2-efi för ett UEFI-system.
På ett UEFI-system är användargränssnittet lite annorlunda eftersom du inte
+kan välja mellan text eller grafisk meny.
If Mageia is the only system installed on your computer, the installer
+created an ESP (EFI System Partition) to receive the bootloader
+(Grub2-efi). If there are already UEFI operating systems installed on your
+computer (Windows 8 for example), the Mageia installer detects the existing
+ESP created by Windows and adds grub2-efi. Although it is possible to have
+several ESPs, only one is advised and enough whatever the number of
+operating systems you have.
Ändra inte din "startenhet" om du inte verkligen vet vad du gör.
Använder en startshanterare från Mageia
Som standard baserat på ditt system så kommer Mageia att skriva en ny:
En GRUB2 starthanterare på antingen MBR (Master Boot Record) på din första
+hårddisk, eller på BIOS boot-partitionen.
En Grub2-efi starthanterare på ESP
If you already have other operating systems installed, Mageia attempts to
+add them to your new Mageia boot menu. If you don't want this behaviour,
+click on Next and then uncheck the box
+Probe Foreign OS
Använder en befintlig startshanterare
Den exakta proceduren för att lägga till ditt Mageia-system i en befintlig
+starthanterare är utanför ramen av denna hjälp. I de felsta fall innebär det
+att köra installationsprogrammet för starthanteraren som bör hitta och lägga
+till det automatiskt. Se dokumentationen för operativsystemet i fråga.
Använder kedjeladdning
If you don't want a bootable Mageia, but to chain load it from another OS,
+click on Next, then on
+Advanced and Check the box Do not touch ESP
+or MBR.
You will get a warning that the bootloader is missing, ignore it by clicking
+OK.
Alternativ
Första sidan
Delay before booting the default image: This text box
+lets you set a delay in seconds before the default operating system is
+started up.
Security: This allows you to set a password for the
+bootloader. This means a username and password will be asked at the boot
+time to select a booting entry or change settings. The username is "root"
+and the password is the one chosen here after.
Lösenord: Här anger du ditt verkliga lösenord
Lösenord (igen): Upprepa lösenordet, sedan kommer Drakx
+att kontrollera så att det matchar med ovanstående.
Avancerat
Enable ACPI: ACPI (Advanced Configuration and Power
+Interface) is a standard for the power management. It can save energy by
+stopping unused devices, this was the method used before APM. Unchecking it
+could be useful if, for example, your computer does not support ACPI or if
+you think the ACPI implementation might cause some problems (for instance
+random reboots or system lockups).
Aktivera SMP: Det här alternativet aktiverar /
+avaktiverar symmetrisk multiprocessering för flerkärniga processorer.
Aktivera APIC: Genom att aktivera/avaktivera detta så
+får operativsystemet tillgång till Advanced Programmable Interrupt
+Controller. APIC-enheter tillåter mer komplexa prioritetsmodeller, och
+avancerad IRQ (Interrupt Request)-hantering
Aktivera APIC: Här kan du ställa in likal APIC som
+hanterar externa avbrott för en specifik processor i ett SMP-system.
Nästa sida
Standard: Operativsystemet som startar som standard
Tillägg: Med det här valet kan du ändra eller lägga
+till information till kärnan när du startar upp.
Video mode: This sets the screen size and colour depth
+the boot menu will use. If you click the down triangle you will be offered
+other size and colour depth options.
diff --git a/draklive/6/sv/content/setupBootloaderAddEntry.html b/draklive/6/sv/content/setupBootloaderAddEntry.html
new file mode 100644
index 00000000..ff478da2
--- /dev/null
+++ b/draklive/6/sv/content/setupBootloaderAddEntry.html
@@ -0,0 +1,35 @@
+
+
+
+
+ Lägg till eller ändra en post i bootmenyn
Du ser den här skärmen om du valde "Starta Mageia". Om inte så kommer du
+till steget för Hårddiskpartitionering
Testar hårdvara
Ett av målen med Liveläge är att testa så att all hårdvara hanteras korrekt
+av Mageia. Du kan kontrollera så att alla enheter har en drivrutin i
+hårdvarusektionen i Mageias kontrollcentral. Du kan testa de mest aktuella
+enheterna:
nätverksgränssnitt: konfigurera det med net_applet
grafik-kort: om du ser den föregående skärmen så är det redan OK.
webbkamera:
ljud: en jingel har redan spelats upp
skrivare: konfigurera den och skriv ut en test-sida
skanner: skanna ett dokument från ...
Om allt är OK för dig så kan du fortsätta till installationen. Om inte så
+kan du lämna med Avsluta-knappen.
Konfigurationsinställningarna som du gör här sparas inför installationen.
Påbörja installationen
Du kan starta installationen till hårddisken från en LiveCD elelr LiveDVD
+genom att klicka på ikonen "Installera på hårddisken". Du kommer då att se
+det här fönstret och Partitionering-steget" som en direkt
+fortsättning av installationen.
Om Mageia inte lyckats övertyga dig eller om du inte kan installera det
+ordentligt, kort och gott så vill du ta bort det. Det är så klart din rätt
+och Mageia ger dig även möjlighet att avinstallera. Något som inte kan sägas
+för alla operativsystem.
Säkerhetskopiera din data och starta datorn med Mageias DVD och välj Rescue
+system, välj sedan att återställa Windows boot loader. Efter nästa omstart
+har du bara kvar Windows utan möjlighet att välja operativsystem.
För att få tillbaka utrymme som användes av Mageia i Windows, klicka på
+Start -> Kontrollpanelen -> Administrationsverktyg -> Datorhantering
+-> Lagring -> Diskhantering för att komma åt
+partitionshanteringen. Du känner igen Mageias partitioner eftersom de är
+märkta som Okänd, samt dess storlek och placering på
+disken. Högerklicka på alla de partitionerna och välj Ta bort
+volym. Utrymmet kommer att frigöras.
Om du använder Windows XP kan du skapa en ny partition och formatera den
+(FAT32 eller NTFS). Den blir tilldelad en enhetsbokstav.
Om du har Vista eller 7 har du ytterligare ett val där du kan utvidga
+existerande partition som finns till vänster om det lediga utrymmet. Det
+finns även andra partitioneringsverktyg som t. ex. gparted, som finns för
+både Windows och Linux. Som alltid när man ändrar partitioner måste du vara
+väldigt försiktig. Se till att all viktig information har
+säkerhetskopierats.
I det här steget letar installationsprogrammet efter oanvända språk och
+hårdvarupaket, sedan föreslås att du raderar dem. Det är en bra idé att
+acceptera detta om du inte tänker förbereda en installation som ska köras på
+annan hårdvara.
I nästa steg kopieras filerna till hårddisken. Det kan ta lite tid och du
+kommer att få en blank skärm i slutet vilket är normalt.