Innan du installerar Mageia, var god läs
+licensvillkoren och förutsättningar noggrannt.
Dessa villkor och förutsättningar gäller för hela
+Mageia-distributionen och måste accepteras innan
+du kan fortsätta.
För att acceptera trycker du på Acceptera och sedan på
+Nästa.
Om du väljer att inte acceptera dessa förutsättningar, så tackar vi dig för
+att du kollade. Genom att klicka på Avsluta så kommer
+din dator att starta om.
Noteringar för utgåva
För att se vad som är nytt i denna release av
+Mageia, klicka på Noteringar för
+utgåva-knappen.
Alla lösenord är skifteslägeskänsliga, det bästa är att använda en blandning
+av bokstäver (stora och små), nummer och andra karaktärer i ett lösenord.
Ange 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 eller spela spel och allting annat som den generella
+användaren gör med sin dator
Ikon: om du klickar på den här knappen så kommer det
+att ändra användarens ikon.
Riktigt namn: Skriv in användarens riktiga namn i detta
+fält.
Inloggningsnamn: Här kan du skriva in användarens
+inloggningsnamn eller låta drakx använda en version av användarens riktiga
+namn. Inloggningsnamnet är skifteslägeskänsligt
Lösenord: I detta textfält skriver du lösenordet för
+din användare. Det finns en sköld vid slutet av textfältet som indikerar
+styrkan av lösenordet. (Se också Notera)
Lösenord (igen): Skriv lösenordet för användaren igen i
+detta textfält och drakx kontrollerar att du har angivit samma lösenord i
+varje textfält.
Notera
Alla användare som du lägger till under installationen av Mageia kommer att
+ha en värdsligt läsbar (men skrivskyddad) hem-mapp.
Hur som helst, när du använder din nya installation så kommer alla användare
+som du lägger till i MCC - System - Hantera användare i
+systemet att ha en Hem-mapp som är både läs och skrivskyddad.
If you don't want a world readable home directory for anyone, it is advised
+to only add a temporary user now and to add the real one(s) after reboot.
If you prefer world readable home directories, you might want to add all
+extra needed users in the Configuration - Summary step
+during the install. Choose User management.
Rättigheterna för åtkomst kan också ändras efter installationen.
Avancerad hantering av användare
Om avancerat-knappen är klickad på så blir du
+erbjuden en ruta om tillter i
Varning
Allt som en gäst med ett standard rbashgästkonto sparar
+till sin /hem-katalog kommer att raderas när han loggar ut. Gästen borde
+spara sina viktiga filer till ett USB-minne
Enable guest account: Here you can enable or disable a
+guest account. The guest account allows a guest to log into and use the PC,
+but he has more restricted access than normal users.
Shell: This drop down list allows you to change the
+shell used by the user you are adding in the previous screen, options are
+Bash, Dash and Sh
User ID: Here you can set the user ID for the user you
+are adding in the previous screen. This is a number. Leave it blank unless
+you know what you are doing.
Group ID: This lets you set the group ID. Also a
+number, usually the same one as for the user. Leave it blank unless you know
+what you are doing.
Val av medier (Konfigurera kompletterande installationsmedier)
Val av medier (Konfigurera kompletterande installationsmedier)
Denna ruta ger dig en lista över redan upptäckta förvaringsplatser. Du kan
+lägga till andra källor för paket, till exempel en optisk skiva eller en
+fjärrstyrd källa. Valet av källa avgör vilka paket som kommer att göras
+tillgängliga för val under nästa steg.
För en nätverkskälla så finns det två steg att följa:
Val och aktivering av nätverket om det inte redan är uppe.
Väljer en spegel eller specificera en URL (allra första posten). Genom att
+välja en spegel så har du tillgång till urvalet av alla förvaringsplatser
+som hanteras av Mageia, till exempel nonfree, tainted och uppdateringarna
+som de ger. Med denna URL så kan du utse en specifik förvaringsplats eller
+din egen NFS-installation.
Här ser du de Linux-partitioner som har hittats i din dator. Om du inte
+håller 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 som följande: "Enhet" ("Kapacitet", "Monteringspunkt",
+"Typ").
"Enhet" kommer från: "hårddisk", ["hårddisk-nummer "(bokstav)],
+"partitionsnummer" (exampelvis, "sda5").
Om du har många partitioner så kan du välja mellan olika monteringspunkter i
+rullgardinsmenyn, så som /, /home och
+/var. Du kan även göra dina egna monteringspunkter,
+exempelvis /video för en partition som du vill lagra dina
+filmer, eller /cauldron-home för /home-partitionen av din
+Cauldron-installation.
För partitioner som du inte behöver tillgång till så kan du lämna fältet för
+monteringspunkten blank.
Varning
Välj Förra om du inte är säker på vad du ska välja,
+och bocka sedan för Anpassad disk-partitionering. I
+skärmen som följer så kan du 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 och väljer om du antingen vill formatera
+partitonen(rna) som DrakX föreslår eller fler.
Beroende på dina val här, så kan det finnas flera fönster för att finjustera
+ditt val.
Efter dom olika valen kommer du att se ett bildspel under paket
+installationen. Bildspelet får du fram genom att klicka på
+Detaljer knappen
Välj antingen KDE eller
+Gnome skrivbordsmiljö beroenda av vad du tycker
+om. Bägge kommer med användbara verktyg och applikationer. Bocka för
+Custom om du inte vill använda någon av dessa eller
+båda, eller om du vill annat än dessa standard programmen för dessa
+skrivbordsmiljöerna. LXDE skrivbordsmiljö är
+lättare än dom två tidigare, Med mindre ögongodis och färre programpaket
+installerade som standard.
Packages have been sorted into groups, to make choosing what you need on
+your system a lot easier. The groups are fairly self explanatory, however
+more information about the content of each is available in tool-tips which
+become visible as the mouse is hovered over them.
Arbetsstation.
Server.
Grafisk miljö.
Individuellt paketval: Du kan använda detta alternativ för att manuellt
+lägga till eller ta bort paket.
Här kan du lägga till eller ta bort några extra paket för att anpassa din
+installation.
Efter att du har gjort ditt val så kan du klicka på
+diskett-ikonen längst ner på sidan för att spara dina
+paket-val (att spara till ett USB-minne fungerar också). Du kan sedan
+använda denna fil för att installera samma paket på ett annat system genom
+att trycka på samma knapp under installationen och välja att ladda den.
DrakX har en väldigt omfattande databas av grafikkort och kommer oftast att
+identifiera ditt nuvarande grafikkort rätt.
Om installationen inte har korrekt upptäckt ditt grafikkort och du vet
+vilket du har så kan du välja det från trädet genom:
tillverkare
sedan namnet på ditt kort
och typ av kort
Om du inte kan hitta ditt kort i listan över tillverkare (för att det ännu
+inte finns i databasen eller att det är ett äldre kort) så kan du hitta en
+passande drivrutin i Xorg-kategorin
Xorg-listan erbjuder mer än 40 vanliga och grafikkortsdrivrutiner med öppen
+källkod. Om du fortfarande inte kan hitta en namngiven drivrutin för ditt
+kort så finns det valet att använda vesa-drivrutinen som tillhandahåller
+grundläggande kapaciteter.
Var medveten om att om du väljer en drivrutin som inte passar så kan du
+enbart ha tillgång till kommandorad-gränssnittet.
En del grafikkortstillverkare tillhandahåller drivrutiner för Linux vilket
+enbart finns tillgängligt i NonFree-medierna och i vissa fall enbart från
+kortets tillverkares hemsida.
Nonfree-medierna behöver vara aktiverade för att få tillgång till dem, du
+borde göra detta efter din första omstart.
Ställa in X, grafikkort och konfiguration av monitor
Ställa in X, grafikkort och konfiguration av monitor
Oberoende vilken grafisk miljö (också känt som skrivbordsmiljö) som du
+väljer för denna installation av Mageia, så
+baseras alla på ett grafiskt användargränssnittssytem kallat
+X-Windows, eller enbart X. För att
+KDE, Gnome, LXDE
+och någon annan grafisk miljö ska fungera väl så behöver följande
+X-inställningar vara korrekta. Välj de korrekta
+inställningarna om du ser att DrakX inte gjorde
+något val, eller om du tror att valet är inkorrekt.
Grafikkort: Välj ditt kort från
+listan om det behövs.
Skärm: Du kan välja
+Plug'n Play när det passar, eller välj din skärm från
+listorna Tillverkare eller
+Allmänna. Välj Anpassad om du
+föredrar att manuellt ange de horisontella och vertikala
+uppdateringsfrekvenserna för din skärm.
Varning
Inkorrekta uppdateringsfrekvenser kan skada din skärm
Upplösning: Ange önskad
+upplösning och färgdjup för din skärm här.
Test: Test-knappen visas inte
+alltid under installationen. Om knappen finns där så kan du kontrollera dina
+inställningar genom att trycka på den. Om du ser en fråga om dina
+inställningar är korrekta så kan du svara "ja", och inställningarna kommer
+att behållas. Om du inte ser någonting så kommer du tillbaka till
+konfigurationsskärmen och ha möjlighet att konfigurera allt igen tills
+testet är bra. Var säker på att dina inställningar är på den säkra
+sidan om test-knappen inte finns tillgänglig
Val: Här kan du välja att
+aktivera eller inaktivera olika val.
DrakX har en väldigt omfattande databas av grafikkort och kommer oftast att
+identifiera ditt nuvarande grafikkort rätt.
Varning
Selecting a monitor with different characteristics could damage
+your monitor or video hardware. Please don't try something without knowing
+what you are doing. If in doubt you should consult your monitor
+documentation
Anpassad
This option allows you to set two critical parameters, the vertical refresh
+rate and the horizontal sync rate. Vertical refresh determines how often the
+screen is refreshed and horizontal sync is the rate at which scan lines are
+displayed.
It is VERY IMPORTANT that you do not specify a monitor
+type with a sync range that is beyond the capabilities of your monitor: you
+may damage your monitor. If in doubt, choose a conservative setting and
+consult your monitor documentation.
Plug 'n Play
Detta är standard-alternativet och försöker avgöra typ av skärm från
+databasen över skärmar.
Tillverkare
Om installationen inte har upptäckt ditt rätta grafikkort och du vet vilket
+du har så kan du välja det från trädet genom att välja:
tillverkare
namnet på tillverkare av skärmen
beskrivning av skärmen
Standard
selecting this group displays nearly 30 display configurations such as
+1024x768 @ 60Hz and includes Flat panel displays as used in laptops. This is
+often a good monitor selection group if you need to use the Vesa card driver
+when your video hardware cannot be determined automatically. Once again it
+may be wise to be conservative in your selections.
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
+att göra ditt system omöjligt att boota.
Justera layouten av din(a) disk(ar) här. Du kan avlägsna eller skapa
+partitioner, ändra filsystemet för en partition eller ändra dess storlek och
+även titta vad om finns i dem innan du startar.
+
Det finns en flik för varje hårddisk som är upptäckt eller annan
+lagringsenhet, exempelvis ett USB-minne. Det finns sda, sdb och sdc om det
+är tre stycken.
+
Tryck på Rensa alla för att tömma alla partitioner på
+den valda lagringsenheten
För alla andra åtgärder: klicka på den valda partitionen först. Titta sedan
+på den eller välj filsystem och en monteringspunkt, ändra storlek på den
+eller töm den.
Fortsätt tills du har justerat allt enligt dina önskemål.
In this screen you can see the content of your hard drive(s) and see the
+solutions the DrakX partitioning wizard found for where to install
+Mageia.
The options available from the list below will vary depending on your
+particular hard drive(s) layout and content.
Använd existerande partitioner
Om det här alternativet är tillgängligt så har kompatibla Linux-partitioner
+blivit hittade och får användas för installation.
Använd fritt utrymme
If you have unused space on your hard drive then this option will use it for
+your new Mageia installation.
Använd fritt utrymmer på en Windows-partition
If you have unused space on an existing Windows partition, the installer may
+offer to use it.
This can be a useful way of making room for your new Mageia installation,
+but is a risky operation so you should make sure you have backed up all
+important files!
Note that this involves shrinking the size of the Windows partition. The
+partition must be "clean", meaning that Windows must have closed down
+correctly the last time it was used. It must also have been defragmented,
+although this is not a guarantee that all files in the partition have been
+moved out of the area that is about to be used. It is highly recommended to
+back up your personal files.
Radera och använd hela hårddisken.
Detta alternativ kommer att använda hela disken för Mageia.
Notera! Detta kommer att ta bort ALL data på den valda hårddisken. Vidta
+försiktighet!
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
Detta ger dig fullständig kontroll över placeringen av installationen på
+din/a disk/ar.
Varning
Some newer drives are now using 4096 byte logical sectors, instead of the
+previous standard of 512 byte logical sectors. Due to lack of available
+hardware, the partitioning tool used in the installer has not been tested
+with such a drive. Also some ssd drives now use an erase block size over 1
+MB. We suggest to pre-partition the drive, using an alternative partitioning
+tool like gparted, if you own such a device, and to use the following
+settings:
"Rikta mot" "MiB"
"Free space preceding (MiB)" "2"
Also make sure all partitions are created with an even number of megabytes.
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.
Usually at least the partitions DrakX selected, need to be formatted
Click on Advanced to choose partitions you want to
+check for so called bad blocks
Tips
If you're not sure you have made the right choice, you can click on
+Previous, again on Previous
+and then on Custom to get back to the main screen.
+In that screen you can choose to view what is in your partitions.
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ärm bilder som du ser i denna
+handbok. Vilka skärm bilder du kommer att se, beror på din hårdvara och val
+du gör under installationen.
Whether you are new to GNU-Linux or an experienced user, the Mageia
+Installer is designed to help make your installation or upgrade as easy as
+possible.
The initial menu screen has various options, however the default one will
+start the installer, which will normally be all that you will need.
Figur 1. Välkomstskärm till installationen
If there are problems during install, then it may be necessary to use
+special installation options, see ”Installationsalternativ”.
Installationsstegen
Installationsprocessen är indelad i ett antal steg som kan följas i
+sidopanelen på skärmen.
Each step has one or more screens which may also have
+Advanced buttons with extra, less commonly required,
+options.
De flesta rutor har Hjälp-knappar som ger ytterligare
+information om det nuvarande steget.
Notera
If somewhere during install you decide to stop the installation, it is
+possible to reboot, but please think twice before you do this. Once a
+partition has been formatted or updates have started to be installed, your
+computer is no longer in the same state and rebooting it could very well
+leave you with an unusable system. If in spite of this you are very sure
+rebooting is what you want, go to a text terminal by pressing the three keys
+Alt Ctrl F2 at the same time. After that, press
+Alt Ctrl Delete simultaneously to reboot.
Installationsalternativ
If the installation fails then it may be necessary to try again by using one
+of the extra options available by hitting the F1
+(Help) key see Figur 1, ”Välkomstskärm till installationen”
Detta kommer att öppna följande text-baserad hjälp.
Figur 2. Hjälpskärm för installation
Problem vid installation och möjliga lösningar
Inget grafiskt gränssnitt
After the initial screen you did not reach the language selection
+screen. This can happen with some graphic cards and older systems. Try using
+low resolution by typing vgalo at the prompt.
If the hardware is very old, a graphical installation may not be
+possible. In this case it is worth trying a text mode installation. To use
+this hit ESC at the first welcome screen and confirm with ENTER. You will be
+presented with a black screen with the word "boot:". Type "text" and hit
+ENTER. Now continue with the installation in text mode.
Installationen hänger sig
If the system appeared to freeze during the installation, this may be a
+problem with hardware detection. In this case the automatic detection of
+hardware may be bypassed and dealt with later. To try this, type
+noauto at the prompt. This option may also be combined with
+other options as necessary.
Alternativ för kärna
These will rarely be needed, but in some cases the hardware may report the
+available RAM incorrectly. To specify this manually, you can use the
+mem=xxxM parameter, where xxx is the correct amount of
+RAM. e.g. mem=256M would specify 256MB of RAM.
Here you have the list of available repositories. Not all repositories are
+available, according to which media you use for installing. The repositories
+selection determines which packages will be available for selection during
+the next steps.
Core-paketförrådet kan inte inaktiveras eftersom att
+det innehåller basen för distributionen.
The Nonfree repository includes packages that are
+free-of-charge, i.e. Mageia may redistribute them, but they contain
+closed-source software (hence the name - Nonfree). For example this
+repository includes nVidia and ATI graphics card proprietary drivers,
+firmware for various WiFi cards, etc.
Tainted-förvaringsplatsen inkluderar paket som är
+släppt under en Fri licens. Huvudsakliga kriterier för att placera paket i
+denna förvaringsplats är att de kan motverka patent och kopierinsskyddslagar
+i några länder, exempelvis multimedia-
You can choose a Minimal Installation by de-selecting everything in the
+Package Group Selection screen, see ”Val av paketgrupp”.
Minimal Installation is intended for those with specific uses in mind for
+their Mageia, such as a server or a specialised
+workstation. You will probably use this option combined with Manual Package
+Selection, see ”Välj individuella paket”.
Om du väljer denna installationsklass kommer relaterad ruta att erbjuda dig
+ett fåtal extra-paket att installera så som dokumentation och X.
DrakX gjorde smarta val för konfigurationen av ditt system beroende på de
+val som du gjorde och på hårdvaran som DrakX upptäckte. Du kan kolla
+inställningarna här och ändra dem om du vill efteråt genom att trycka
+Konfigurera.
Systemparametrar
Tidszon
DrakX valde en tidszon för dig, beroende på ditt föredragna språk. Du kan
+ändra det om det behövs. Läs också ”Ställ in din tidszon”
Land / Region
Om du inte är i det valda landet så är det väldigt viktigt att du rättar
+till inställningen. Läs ”Välj ditt land / region”
Uppstartsladdare
DrakX har gjort bra val för hur startladdaren är inställd.
Ändra inget om du nu inte vet hur du konfigurerar Grub och/eller Lilo
Du kan lägga till extra användare här. De kommer att få varsin
+/hem-mapp.
Tjänster:
Systemtjänster refererar till de små programmen som kör
+bakgrundsdemonerna. Detta verktyg tillåter dig att aktivera eller inaktivera
+vissa arbetsuppgifter.
Du borde kolla försiktigt innan du ändrar något här - ett misstag kan
+förhindra din dator från att fungera korrekt.
Det är här som du ställer in eller ändrar din tangetbordslayout som baseras
+på var du befinner dig, språk eller typ av tangentbord.
Mus:
Här kan du lägga till eller konfigurera andra pekdon, pekplattor, styrkulor
+etc.
Ljudkort:
The installer uses the default driver, if there is a default one. The option
+to select a different driver is only given when there is more than one
+driver for your card, but none of them is the default one.
Grafiskt gränssnitt:
Denna sektion tillåter dig att konfigurera dina grafikkort och skärmar.
Du kan konfigurera ditt nätverk här, men för nätverkskort med drivrutiner
+som inte är gratis så är det bättre att göra detta efter omstart, i
+Mageia Control Center, efter att ha aktiverat
+Nonfree-medierna.
Varning
När du lägger till ett nätverkskort, glöm inte att ställa in din brandvägg
+att kolla detta gränssnitt också.
Proxy-servrar:
En proxyserver agerar som en förmedlare mellan din dator och nätet. Denna
+sektion tillåter dig att konfigurera din dator för att utnyttja en
+proxytjänst.
Du kan behöva konsultera din systemadministratör för att få parametrarna som
+du behöver ange här
Säkerhet
Säkerhetsnivå:
Här ställer du in säkerhetsnivån för din dator, i de flesta fallen så är
+standardinställningen (Standard) adekvat för generell användning.
Kolla vilket val som passar din användning bäst.
Brandvägg:
En brandvägg är till för att vara en barriär mellan din viktiga data och
+rackare ute på nätet som skulle ta över eller stjäla det.
Välj tjänsterna som du önskar ska få tillgång till ditt system. Dina val är
+beroende på vad du använder din dator till.
Varning
Ha i åtanke att om du tillåter allt (ingen brandvägg) så tar du en stor
+risk.
diff --git a/installer/4/sv/content/nwSearchFnt.js b/installer/4/sv/content/nwSearchFnt.js
new file mode 100644
index 00000000..fc12d113
--- /dev/null
+++ b/installer/4/sv/content/nwSearchFnt.js
@@ -0,0 +1,513 @@
+/*----------------------------------------------------------------------------
+ * JavaScript for webhelp search
+ *----------------------------------------------------------------------------
+ This file is part of the webhelpsearch plugin for DocBook WebHelp
+ Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved.
+ www.nexwave.biz Nadege Quaine
+ http://kasunbg.blogspot.com/ Kasun Gajasinghe
+ */
+
+//string initialization
+var htmlfileList = "htmlFileList.js";
+var htmlfileinfoList = "htmlFileInfoList.js";
+var useCJKTokenizing = false;
+
+/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */
+function Verifie(ditaSearch_Form) {
+
+ // Check browser compatibitily
+ if (navigator.userAgent.indexOf("Konquerer") > -1) {
+
+ alert(txt_browser_not_supported);
+ return;
+ }
+
+
+ var expressionInput = document.ditaSearch_Form.textToSearch.value;
+ //Set a cookie to store the searched keywords
+ $.cookie('textToSearch', expressionInput);
+
+
+ if (expressionInput.length < 1) {
+
+ // expression is invalid
+ alert(txt_enter_at_least_1_char);
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+ else {
+
+ // Effectuer la recherche
+ Effectuer_recherche(expressionInput);
+
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+}
+
+var stemQueryMap = new Array(); // A hashtable which maps stems to query words
+
+/* This function parses the search expression, loads the indices and displays the results*/
+function Effectuer_recherche(expressionInput) {
+
+ /* Display a waiting message */
+ //DisplayWaitingMessage();
+
+ /*data initialisation*/
+ var searchFor = ""; // expression en lowercase et sans les caracte res speciaux
+ //w = new Object(); // hashtable, key=word, value = list of the index of the html files
+ scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for
+ var wordsList = new Array(); // Array with the words to look for
+ var finalWordsList = new Array(); // Array with the words to look for after removing spaces
+ var linkTab = new Array();
+ var fileAndWordList = new Array();
+ var txt_wordsnotfound = "";
+
+
+ /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/
+ searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "").replace(/_di_/g, "%24_");
+
+ searchFor = searchFor.replace(/ +/g, " ");
+ searchFor = searchFor.replace(/ $/, "").replace(/^ /, "");
+
+ wordsList = searchFor.split(" ");
+ wordsList.sort();
+
+ //set the tokenizing method
+ if(typeof indexerLanguage != "undefined" && (indexerLanguage=="zh" || indexerLanguage=="ja" ||indexerLanguage=="ko")){
+ useCJKTokenizing=true;
+ } else {
+ useCJKTokenizing=false;
+ }
+ //If Lucene CJKTokenizer was used as the indexer, then useCJKTokenizing will be true. Else, do normal tokenizing.
+ // 2-gram tokenizinghappens in CJKTokenizing,
+ if(useCJKTokenizing){
+ finalWordsList = cjkTokenize(wordsList);
+ } else {
+ finalWordsList = tokenize(wordsList);
+ }
+
+ //load the scripts with the indices: the following lines do not work on the server. To be corrected
+ /*if (IEBrowser) {
+ scriptsarray = loadTheIndexScripts (scriptLetterTab);
+ } */
+
+ /**
+ * Compare with the indexed words (in the w[] array), and push words that are in it to tempTab.
+ */
+ var tempTab = new Array();
+ for (var t in finalWordsList) {
+ if (w[finalWordsList[t].toString()] == undefined) {
+ txt_wordsnotfound += finalWordsList[t] + " ";
+ } else {
+ tempTab.push(finalWordsList[t]);
+ }
+ }
+ finalWordsList = tempTab;
+
+ if (finalWordsList.length) {
+
+ //search 'and' and 'or' one time
+ fileAndWordList = SortResults(finalWordsList);
+
+ var cpt = fileAndWordList.length;
+ for (var i = cpt - 1; i >= 0; i--) {
+ if (fileAndWordList[i] != undefined) {
+ linkTab.push("
" + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "
";
+ }
+ //alert(results);
+ document.getElementById('searchResults').innerHTML = results;
+}
+
+function tokenize(wordsList){
+ var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces
+ var cleanwordsList = new Array(); // Array with the words to look for
+ for(var j in wordsList){
+ var word = wordsList[j];
+ if(typeof stemmer != "undefined" ){
+ stemQueryMap[stemmer(word)] = word;
+ } else {
+ stemQueryMap[word] = word;
+ }
+ }
+ //stemmedWordsList is the stemmed list of words separated by spaces.
+ for (var t in wordsList) {
+ wordsList[t] = wordsList[t].replace(/(%22)|^-/g, "");
+ if (wordsList[t] != "%20") {
+ scriptLetterTab.add(wordsList[t].charAt(0));
+ cleanwordsList.push(wordsList[t]);
+ }
+ }
+
+ if(typeof stemmer != "undefined" ){
+ //Do the stemming using Porter's stemming algorithm
+ for (var i = 0; i < cleanwordsList.length; i++) {
+ var stemWord = stemmer(cleanwordsList[i]);
+ stemmedWordsList.push(stemWord);
+ }
+ } else {
+ stemmedWordsList = cleanwordsList;
+ }
+ return stemmedWordsList;
+}
+
+//Invoker of CJKTokenizer class methods.
+function cjkTokenize(wordsList){
+ var allTokens= new Array();
+ var notCJKTokens= new Array();
+ var j=0;
+ for(j=0;j";
+ return this.input.substring(this.offset,this.offset+2);
+ }
+
+ function getAllTokens(){
+ while(this.incrementToken()){
+ var tmp = this.tokenize();
+ this.tokens.push(tmp);
+ }
+ return this.unique(this.tokens);
+// document.getElementById("content").innerHTML += tokens+" ";
+// document.getElementById("content").innerHTML += " dada"+sortedTokens+" ";
+// console.log(tokens.length+"dsdsds");
+ /*for(i=0;idada"+un[i]+"- "+stems[i]+" "+ ss;
+ document.getElementById("content").innerHTML += " "+sortedTokens[i];
+ }*/
+ }
+
+ function unique(a)
+ {
+ var r = new Array();
+ o:for(var i = 0, n = a.length; i < n; i++)
+ {
+ for(var x = 0, y = r.length; x < y; x++)
+ {
+ if(r[x]==a[i]) continue o;
+ }
+ r[r.length] = a[i];
+ }
+ return r;
+ }
+}
+
+
+/* Scriptfirstchar: to gather the first letter of index js files to upload */
+function Scriptfirstchar() {
+ this.strLetters = "";
+ this.add = addLettre;
+}
+
+function addLettre(caract) {
+
+ if (this.strLetters == 'undefined') {
+ this.strLetters = caract;
+ } else if (this.strLetters.indexOf(caract) < 0) {
+ this.strLetters += caract;
+ }
+
+ return 0;
+}
+/* end of scriptfirstchar */
+
+/*main loader function*/
+/*tab contains the first letters of each word looked for*/
+function loadTheIndexScripts(tab) {
+
+ //alert (tab.strLetters);
+ var scriptsarray = new Array();
+
+ for (var i = 0; i < tab.strLetters.length; i++) {
+
+ scriptsarray[i] = "..\/search" + "\/" + tab.strLetters.charAt(i) + ".js";
+ }
+ // add the list of html files
+ i++;
+ scriptsarray[i] = "..\/search" + "\/" + htmlfileList;
+
+ //debug
+ for (var t in scriptsarray) {
+ //alert (scriptsarray[t]);
+ }
+
+ tab = new ScriptLoader();
+ for (t in scriptsarray) {
+ tab.add(scriptsarray[t]);
+ }
+ tab.load();
+ //alert ("scripts loaded");
+ return (scriptsarray);
+}
+
+/* ScriptLoader: to load the scripts and wait that it's finished */
+function ScriptLoader() {
+ this.cpt = 0;
+ this.scriptTab = new Array();
+ this.add = addAScriptInTheList;
+ this.load = loadTheScripts;
+ this.onScriptLoaded = onScriptLoadedFunc;
+}
+
+function addAScriptInTheList(scriptPath) {
+ this.scriptTab.push(scriptPath);
+}
+
+function loadTheScripts() {
+ var script;
+ var head;
+
+ head = document.getElementsByTagName('head').item(0);
+
+ //script = document.createElement('script');
+
+ for (var el in this.scriptTab) {
+ //alert (el+this.scriptTab[el]);
+ script = document.createElement('script');
+ script.src = this.scriptTab[el];
+ script.type = 'text/javascript';
+ script.defer = false;
+
+ head.appendChild(script);
+ }
+
+}
+
+function onScriptLoadedFunc(e) {
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ var isComplete = true;
+ if (typeof target.readyState != undefined) {
+
+ isComplete = (target.readyState == "complete" || target.readyState == "loaded");
+ }
+ if (isComplete) {
+ ScriptLoader.cpt++;
+ if (ScriptLoader.cpt == ScriptLoader.scripts.length) {
+ ScriptLoader.onLoadComplete();
+ }
+ }
+}
+
+/*
+function onLoadComplete() {
+ alert("loaded !!");
+} */
+
+/* End of scriptloader functions */
+
+// Array.unique( strict ) - Remove duplicate values
+function unique(tab) {
+ var a = new Array();
+ var i;
+ var l = tab.length;
+
+ if (tab[0] != undefined) {
+ a[0] = tab[0];
+ }
+ else {
+ return -1
+ }
+
+ for (i = 1; i < l; i++) {
+ if (indexof(a, tab[i], 0) < 0) {
+ a.push(tab[i]);
+ }
+ }
+ return a;
+}
+function indexof(tab, element, begin) {
+ for (var i = begin; i < tab.length; i++) {
+ if (tab[i] == element) {
+ return i;
+ }
+ }
+ return -1;
+
+}
+/* end of Array functions */
+
+
+/*
+ Param: mots= list of words to look for.
+ This function creates an hashtable:
+ - The key is the index of a html file which contains a word to look for.
+ - The value is the list of all words contained in the html file.
+
+ Return value: the hashtable fileAndWordList
+ */
+function SortResults(mots) {
+
+ var fileAndWordList = new Object();
+ if (mots.length == 0) {
+ return null;
+ }
+
+ for (var t in mots) {
+ // get the list of the indices of the files.
+ var listNumerosDesFicStr = w[mots[t].toString()];
+ //alert ("listNumerosDesFicStr "+listNumerosDesFicStr);
+ var tab = listNumerosDesFicStr.split(",");
+
+ //for each file (file's index):
+ for (var t2 in tab) {
+ var temp = tab[t2].toString();
+ if (fileAndWordList[temp] == undefined) {
+
+ fileAndWordList[temp] = "" + mots[t];
+ } else {
+
+ fileAndWordList[temp] += "," + mots[t];
+ }
+ }
+ }
+
+ var fileAndWordListValuesOnly = new Array();
+
+ // sort results according to values
+ var temptab = new Array();
+ for (t in fileAndWordList) {
+ tab = fileAndWordList[t].split(',');
+
+ var tempDisplay = new Array();
+ for (var x in tab) {
+ if(stemQueryMap[tab[x]] != undefined){
+ tempDisplay.push(stemQueryMap[tab[x]]); //get the original word from the stem word.
+ } else {
+ tempDisplay.push(tab[x]); //no stem is available. (probably a CJK language)
+ }
+ }
+ var tempDispString = tempDisplay.join(", ");
+
+ temptab.push(new resultPerFile(t, fileAndWordList[t], tab.length, tempDispString));
+ fileAndWordListValuesOnly.push(fileAndWordList[t]);
+ }
+
+
+ //alert("t"+fileAndWordListValuesOnly.toString());
+
+ fileAndWordListValuesOnly = unique(fileAndWordListValuesOnly);
+ fileAndWordListValuesOnly = fileAndWordListValuesOnly.sort(compare_nbMots);
+ //alert("t: "+fileAndWordListValuesOnly.join(';'));
+
+ var listToOutput = new Array();
+
+ for (var j in fileAndWordListValuesOnly) {
+ for (t in temptab) {
+ if (temptab[t].motsliste == fileAndWordListValuesOnly[j]) {
+ if (listToOutput[j] == undefined) {
+ listToOutput[j] = new Array(temptab[t]);
+ } else {
+ listToOutput[j].push(temptab[t]);
+ }
+ }
+ }
+ }
+ return listToOutput;
+}
+
+function resultPerFile(filenb, motsliste, motsnb, motslisteDisplay) {
+ this.filenb = filenb;
+ this.motsliste = motsliste;
+ this.motsnb = motsnb;
+ this.motslisteDisplay= motslisteDisplay;
+}
+
+function compare_nbMots(s1, s2) {
+ var t1 = s1.split(',');
+ var t2 = s2.split(',');
+ //alert ("s1:"+t1.length + " " +t2.length)
+ if (t1.length == t2.length) {
+ return 0;
+ } else if (t1.length > t2.length) {
+ return 1;
+ } else {
+ return -1;
+ }
+ //return t1.length - t2.length);
+}
\ No newline at end of file
diff --git a/installer/4/sv/content/search/punctuation.props b/installer/4/sv/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/installer/4/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/installer/4/sv/content/search/stemmers/de_stemmer.js b/installer/4/sv/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/installer/4/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/installer/4/sv/content/search/stemmers/en_stemmer.js b/installer/4/sv/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/installer/4/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/installer/4/sv/content/search/stemmers/fr_stemmer.js b/installer/4/sv/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/installer/4/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
+
+
+
+ Säkerhetsnivå
Välj ditt land eller region. Det är viktigt för alla typer av
+inställningar, så som valutan och trådlös regulär domän. Att ställa in fel
+land kan leda till att en trådlös nätverksanslutning inte fungerar.
Om ditt land inte finns i listan så klicka på Andra
+länder-knappen och välj ditt land / region där.
Notera
Om ditt land enbart finns i listan över Andra länder
+efter att du har klickat på OK så kan det verka som
+att ett land från första listan har valts. DrakX kommer att följa ditt
+riktiga val så ignorera detta..
Inmatningsmetod
I Andra länder-fönstret så kan du också välja en
+inmatningsmetod (på botten av bistan). Inmatningsmetoder tillåter användare
+att mata in flerspråkiga karaktärer (Kinesiska, Japanska, Koreanska,
+osv). IBus är den huvudsakliga inmatningsmetoden i Mageia's DVD:er,
+Afrika/Indien och Asien/icke-Indien Live CD-skivor. För Asiatiska och
+Afrikanska språkversioner, IBus kommer att anges som huvudsaklig
+inmatningsmetod så användare borde inte behöva konfigurera detta
+manuellt. Andra inmatningsmetoder (SCIM, GCIN, HIME, osv) erbjuder också
+liknander funktioner och kan installeras om du la till HTTP/FTP-medier innan
+val av paket.
Notera
Om du missade att ställa in inmatningsmetoden under installationen så kan du
+få tillgång till det efter det att du startade ditt installerade system via
+"Konfigurera din Dator" -> "System", eller genom att köra localedrake som
+root.
Välj detta alternativ för en fräsch
+Mageia-installation.
Upgrade
If you have one or more Mageia installations on
+your system, the installer will allow you to upgrade one of them to the
+latest release.
Varning
Only upgrading from a previous Mageia version that was still
+supported when this installer's version was released, has been
+thoroughly tested. If you want to upgrade a Mageia version that had already
+reached its End Of Life when this one was released, then it is better to do
+a clean install while preserving your /home partition.
Notera
If during install you decide to stop the installation, it is possible to
+reboot, but please think twice before you do this. Once a partition has been
+formatted or updates have started to be installed, your computer isn't in
+the same state anymore and rebooting it could very well leave you with an
+unusable system. If in spite of that you are very sure rebooting is what you
+want, go to a text terminal by pressing the three keys Alt Ctrl
+F2 at the same time. After that, press Alt Ctrl
+Delete simultaneously to reboot.
Tips
If you have discovered that you forgot to select an additional language, you
+can return from the "Install or Upgrade" screen to the language choice
+screen by pressing Alt Ctrl Home. Do
+not do this later in the install.
DrakX väljer ett passande tangentbord för ditt språk. Om inget passande
+tangentbord är funnet så kommer det att välja ett tangentbord med amerikansk
+layout.
Make sure that the selection is correct or choose another keyboard
+layout. If you don't know which layout your keyboard has, look in the
+specifications that came with your system, or ask the computer vendor. There
+may even be a label on the keyboard that identifies the layout. You can also
+look here: en.wikipedia.org/wiki/Keyboard_layout
Om ditt tangentbord inte finns i nedanstående lista, klicka på
+Fler för att få en fullständig lista och välj ditt
+tangentbord där.
Varning
After choosing a keyboard from the More dialog,
+you'll return to the first keyboard choice dialog and it will seem as though
+a keyboard from that screen was chosen. You can safely ignore this anomaly
+and continue the installation: Your keyboard is the one you chose from the
+full list.
Om du väljer ett tangentbord som baseras på icke-Latinska tecken så kommer
+du att se en extra dialogruta som frågar dig hur du föredrar att byta mellan
+Latin och icke-Latinsk tangentbordslayout
diff --git a/installer/4/sv/content/selectLanguage.html b/installer/4/sv/content/selectLanguage.html
new file mode 100644
index 00000000..2a4c83a1
--- /dev/null
+++ b/installer/4/sv/content/selectLanguage.html
@@ -0,0 +1,46 @@
+
+
+
+
+ Var vänlig välj språk att använda
Välj ditt föredragna språk, genom att först expandera listan över din
+kontinent. Mageia kommer att använda detta val
+under installationen och för ditt installerade system.
Om det troligt att du kommer att behöva ett flertal språk installerade i
+ditt system, antingen för dig själv eller andra användare så borde du
+använda knappen för Fler språk för att lägga till dem
+nu. Det kommer att vara svårt att lägga till extra språkstöd efter
+installationen.
Varning
Även om du väljer mer än ett språk så måste du välja en av dessa som
+föredraget språk en den första språk-rutan. Det kommer också att bli märkt
+som vald i rutan för flertalet språk.
Om ditt tangetbordspråk inte är samma som ditt föredragna språk så är det
+rådande att också installera språket för ditt tangetbord.
Mageia använder UTF-8 (Unicode) stöd som standard. Detta kan inaktiveras i
+rutan för "flera språk" om du vet att det är olämpligt för ditt
+språk. Inaktivering av UTF-8 gäller för alla installerade språk.
Du kan ändra systemets språk efter installationen via Mageia Control Center
+-> System -> Ändra språk för ditt system.
Om du föredrar andra inställningar för uppstartsladdaren för de som är
+automatiskt valda av installationen så kan du ändra dessa här.
You may already have another operating system on your machine, in which case
+you need to decide whether to add Mageia to your existing bootloader, or
+allow Mageia to create a new one.
Tips
The Mageia graphical menus are nice :)
Använder en Mageia-uppstartshanterare
By default, Mageia writes a new GRUB (legacy) bootloader into the MBR
+(Master Boot Record) of your first hard drive. If you already have other
+operating systems installed, Mageia attempts to add them to your new Mageia
+boot menu.
Mageia now also offers GRUB2 as an optional bootloader in addition to GRUB
+legacy and Lilo.
Varning
Linux systems which use the GRUB2 bootloader are not currently supported by
+GRUB (legacy) and will not be recognised if the default GRUB bootloader is
+used.
The best solution here is to use the GRUB2 bootloader which is available at
+the Summary page during installation.
Använder en existerande uppstartshanterare
If you decide to use an existing bootloader then you will need to remember
+to STOP at the summary page during the installation and click the Bootloader
+Configure button, which will allow you to change the
+bootloader install location.
Do not select a device e.g."sda", or you will overwrite your existing
+MBR. You must select the root partition that you chose during the
+partitioning phase earlier, e.g. sda7.
To be clear, sda is a device, sda7 is a partition on that device.
Tips
Go to tty2 with Ctrl+Alt+F2 and type df to check where
+your / (root) partition is. Ctrl+Alt+F7 takes you back to
+the installer screen.
The exact procedure for adding your Mageia system to an existing bootloader
+is beyond the scope of this help, however in most cases it will involve
+running the relevant bootloader installation program which should detect and
+add it automatically. See the documentation for the operating system in
+question.
Bootloader advanced option
If you have very limited disk space for the / partition
+that contains /tmp, click on
+Advanced and check the box for Clean /tmp
+at each boot. This helps to maintain some free space.
diff --git a/installer/4/sv/content/setupBootloaderAddEntry.html b/installer/4/sv/content/setupBootloaderAddEntry.html
new file mode 100644
index 00000000..1988f9c0
--- /dev/null
+++ b/installer/4/sv/content/setupBootloaderAddEntry.html
@@ -0,0 +1,40 @@
+
+
+
+
+ Lägg till eller modifiera en post för uppstartsmenyn
Lägg till eller modifiera en post för uppstartsmenyn
Lägg till eller modifiera en post för uppstartsmenyn
You can add an entry or modify the one you select first, by pressing the
+relevant button in the Bootloader Configuration screen
+and editing the screen that pops up on top of it.
Some things that can be done without any risk, are changing the label of an
+entry and ticking the box to make an entry the default one.
Du kan lägga till ett korrekt versionsnummer för en post eller döpa om det
+helt.
Den huvudsakliga posten är det som systemet startar till om du inte gör ett
+val vid uppstart.
Varning
Editing other things can leave you with an unbootable system. Please don't
+just try something without knowing what you are doing.
DrakX usually detects hard disks correctly. With some older SCSI controllers
+it may be unable to determine the correct drivers to use and subsequently
+fail to recognise the drive.
If this happens, you will need to manually tell Drakx which SCSI drive(s)
+you have.
DrakX should then be able to configure the drive(s) correctly.
In this screen the name of the driver that the installer chose for your
+sound card is given, which will be the default driver if we have a default
+one.
+
The default driver should work without problems. However, if after install
+you do encounter problems, then run draksound or start
+this tool via MCC (Mageia Control Center), by choosing the
+Hardware tab and clicking on Sound
+Configuration at the top right of the screen.
+
Then, in the draksound or "Sound Configuration" tool screen, click on
+Advanced and then on
+Troubleshooting to find very useful advice about how
+to solve the problem.
+
Advanced
Clicking Advanced in this screen, during install, is
+useful if there is no default driver and there are several drivers
+available, but you think the installer selected the wrong one.
+
In that case you can select a different driver after clicking on
+Let me pick any driver.
+
diff --git a/installer/4/sv/content/t-mageia-2011.png b/installer/4/sv/content/t-mageia-2011.png
new file mode 100644
index 00000000..b8260f33
Binary files /dev/null and b/installer/4/sv/content/t-mageia-2011.png differ
diff --git a/installer/4/sv/content/takeOverHdConfirm.html b/installer/4/sv/content/takeOverHdConfirm.html
new file mode 100644
index 00000000..452fd4b4
--- /dev/null
+++ b/installer/4/sv/content/takeOverHdConfirm.html
@@ -0,0 +1,35 @@
+
+
+
+
+ Confirm hard disk to be formatted