Fixes Bug3, also allows active crawl to be set in Settings screen and adds more documentation

Chris Pollett [2010-07-21 04:Jul:st]
Fixes Bug3, also allows active crawl to be set in Settings screen and adds more documentation
Filename
bin/fetcher.php
bin/queue_server.php
bot.php
configs/default_crawl.ini
controllers/admin_controller.php
controllers/archive_controller.php
controllers/search_controller.php
controllers/settings_controller.php
index.php
lib/phrase_parser.php
lib/processors/doc_processor.php
lib/utility.php
locale/en-US/configure.ini
locale/en-US/statistics.txt
locale/fr-FR/configure.ini
locale/ko/configure.ini
locale/rn-US/configure.ini
locale/vi-VN/configure.ini
locale/vn-US/configure.ini
tests/index.php
views/elements/signin_element.php
views/search_view.php
views/settings_view.php
diff --git a/bin/fetcher.php b/bin/fetcher.php
index bdae4bbb5..cfb5ba4bb 100755
--- a/bin/fetcher.php
+++ b/bin/fetcher.php
@@ -58,7 +58,7 @@ foreach(glob(BASE_DIR."/lib/processors/*_processor.php") as $filename) {
     require_once $filename;
 }

-/** */
+/** To support English language stemming of words (jumps, jumping --> jump)*/
 require_once BASE_DIR."/lib/porter_stemmer.php";
 /** */
 require_once BASE_DIR."/lib/url_parser.php";
@@ -106,20 +106,61 @@ mb_regex_encoding("UTF-8");
  */
 class Fetcher implements CrawlConstants
 {
+    /**
+     * @var object
+     */
     var $db;
-
+    /**
+     * @var object
+     */
     var $queue_server;
+    /**
+     * @var array
+     */
     var $indexed_file_types;
+    /**
+     * @var array
+     */
     var $page_processors;
+    /**
+     * @var object
+     */
     var $web_archive;
+    /**
+     * @var int
+     */
     var $crawl_time;
+    /**
+     * @var array
+     */
     var $to_crawl;
+    /**
+     * @var array
+     */
     var $found_sites;
+    /**
+     * @var int
+     */
     var $schedule_time;
+    /**
+     * @var int
+     */
     var $sum_seen_site_description_length;
+    /**
+     * @var int
+     */
     var $sum_seen_title_length;
+    /**
+     * @var int
+     */
     var $sum_seen_site_link_length;
+    /**
+     * @var int
+     */
     var $num_seen_sites;
+    /**
+     * @var string
+     */
     var $crawl_order;


@@ -960,7 +1001,9 @@ class Fetcher implements CrawlConstants
     }

     /**
+     * Computes a sum of the values of an associative array of key-value pairs
      *
+     * @param array the associative array to compute the sum of
      */
     function sumCountArray(&$arr)
     {
@@ -973,8 +1016,8 @@ class Fetcher implements CrawlConstants
     }
 }

-/**
- *
+/*
+ *  Instantiate and runs the Fetcher
  */
 $fetcher =  new Fetcher($INDEXED_FILE_TYPES, $PAGE_PROCESSORS, QUEUE_SERVER);
 $fetcher->start();
diff --git a/bin/queue_server.php b/bin/queue_server.php
index 9b76ad89d..b0e3e5a10 100755
--- a/bin/queue_server.php
+++ b/bin/queue_server.php
@@ -83,19 +83,51 @@ mb_regex_encoding("UTF-8");
  */
 class QueueServer implements CrawlConstants
 {
+    /**
+     * @var object
+     */
     var $db;
+    /**
+     * @var array
+     */
     var $allowed_sites;
+    /**
+     * @var array
+     */
     var $disallowed_sites;
+    /**
+     * @var string
+     */
     var $crawl_order;
-    var $search_depth;
+    /**
+     * @var bool
+     */
     var $restrict_sites_by_url;
+    /**
+     * @var array
+     */
     var $indexed_file_types;
+    /**
+     * @var object
+     */
     var $web_queue;
+    /**
+     * @var object
+     */
     var $index_archive;
+    /**
+     * @var int
+     */
     var $crawl_time;
+    /**
+     * @var array
+     */
     var $waiting_hosts;
+    /**
+     * @var string
+     */
     var $most_recent_fetcher;
-    var $crawl_daemon;
+

     /**
      *
@@ -109,7 +141,6 @@ class QueueServer implements CrawlConstants

         //the next values be set for real in startCrawl
         $this->crawl_order = self::PAGE_IMPORTANCE;
-        $this->search_depth = 1;
         $this->restrict_sites_by_url = true;
         $this->allowed_sites = array();
         $this->disallowed_sites = array();
@@ -812,7 +843,7 @@ class QueueServer implements CrawlConstants
                         $delete_urls[$i] = $url;
                             //want to remove from queue since robots forbid it
                         $this->web_queue->addSeenUrlFilter($url);
-                            /* at this point we might miss some sites by marking
+                            /* at this point we might miss some sites by marking
                                them seen: the robot url might change in 24 hours
                              */
                         break;
@@ -1011,8 +1042,8 @@ class QueueServer implements CrawlConstants
     }
 }

-/**
- *
+/*
+ *  Instantiate and runs the QueueSever
  */
 $queue_server =  new QueueServer($INDEXED_FILE_TYPES);
 $queue_server->start();
diff --git a/bot.php b/bot.php
index 0398ed170..0d96fac8a 100755
--- a/bot.php
+++ b/bot.php
@@ -39,6 +39,8 @@ define("BASE_DIR", substr($_SERVER['DOCUMENT_ROOT'].$_SERVER['PWD'].
     $_SERVER["SCRIPT_NAME"], 0,
     -strlen("bot.php")));

+header("X-FRAME-OPTIONS: DENY"); //prevent click jacking
+
 /** Load search engine wide configuration file */
 require_once BASE_DIR.'/configs/config.php';

diff --git a/configs/default_crawl.ini b/configs/default_crawl.ini
index dcc742998..376a56763 100644
--- a/configs/default_crawl.ini
+++ b/configs/default_crawl.ini
@@ -37,6 +37,7 @@ url[] = 'http://www.google.com/';

 [disallowed_sites]
 url[] = 'domain:arxiv.org';
+url[] = 'domain:ask.com';

 [seed_sites]
 url[] = 'http://www.ucanbuyart.com/';
diff --git a/controllers/admin_controller.php b/controllers/admin_controller.php
index 03d73efa4..4b58245d3 100755
--- a/controllers/admin_controller.php
+++ b/controllers/admin_controller.php
@@ -50,18 +50,21 @@ require_once BASE_DIR."/lib/crawl_constants.php";
 class AdminController extends Controller implements CrawlConstants
 {
     /**
-     *
+     * Says which models to load for this controller
+     * admin is the main one, sighin has the login screen crawlstatus
+     * is used to see how many pages crawled by the current crawl
      * @var array
      */
     var $views = array("admin", "signin", "crawlstatus");
     /**
-     *
+     * Says which views to load for this controller.
      * @var array
      */
     var $models = array(
         "signin", "user", "activity", "crawl", "role", "locale", "profile");
     /**
-     *
+     * Says which activities (roughly methods invoke from the web) this
+     * controller will respond to
      * @var array
      */
     var $activities = array("signin", "manageAccount",
@@ -69,7 +72,12 @@ class AdminController extends Controller implements CrawlConstants
         "manageLocales", "crawlStatus", "configure");

     /**
+     * This is the main entry point for handling requests to administer the
+     * Yioop/SeekQuarry site
      *
+     * ProcessRequest determines the type of request (signin , manageAccount,
+     * etc) is being made.  It then calls the appropriate method to handle the
+     * given activity.Finally, it draws the relevant admin screen
      */
     function processRequest()
     {
@@ -117,7 +125,10 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
-     *
+     * If there is no profile/work directory set up then this method
+     * get called to by pass any login and go to the configure screen.
+     * The configure screen is only displayed if the user is connected
+     * from localhost in this case
      */
     function configureRequest()
     {
@@ -127,7 +138,10 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Checks whether the user name and password sent presumably by the signin
+     * form match a user in the database
      *
+     * @return bool whether they do or not
      */
     function checkSignin()
     {
@@ -138,7 +152,13 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Determines the user's current allowed activities and current activity,
+     * then calls the method for the latter.
      *
+     * This is called from {@link processRequest()} once a user is logged in.
+     *
+     * @return array $data the results of doing the activity for display in the
+     *      view
      */
     function processSession()
     {
@@ -183,7 +203,10 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * This method is data to signin a user and initialize the data to be
+     * display in a view
      *
+     * @return array empty array of data to show so far in view
      */
     function signin()
     {
@@ -194,7 +217,12 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Used to handle crawlStatus REST activities requesting the status of the
+     * current web crawl
      *
+     * @return array $data contains crawl status of current crawl as well as
+     *      info about prior crawls and which crawl is being used for default
+     *      search results
      */
     function crawlStatus()
     {
@@ -236,7 +264,9 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Used to handle the change current user password admin activity
      *
+     * @return array $data SCRIPT field contains success or failure message
      */
     function manageAccount()
     {
@@ -279,7 +309,13 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Used to handle the manage user activity.
+     *
+     * This activity allows new users to be added, old users to be
+     * deleted and allows roles to be added to/deleted from a user
      *
+     * @return array $data infomation about users of the system, roles, etc.
+     *      as well as status messages on performing a given sub activity
      */
     function manageUsers()
     {
@@ -443,6 +479,13 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Used to handle the manage role activity.
+     *
+     * This activity allows new roles to be added, old roles to be
+     * deleted and allows activities to be added to/deleted from a role
+     *
+     * @return array $data infomation about roles in the system, activities,etc.
+     *      as well as status messages on performing a given sub activity
      *
      */
     function manageRoles()
@@ -610,7 +653,16 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Used to handle the manage crawl activity.
+     *
+     * This activity allows new crawls to be started, statistics about old
+     * crawls to be seen. It allows a user to stop the current crawl or
+     * restart an old crawl. It also allows a user to configure the options
+     * by which a crawl is conducted
      *
+     * @return array $data information and statistics about crawls in the system
+     *      as well as status messages on performing a given sub activity
+
      */
     function manageCrawl()
     {
@@ -794,7 +846,12 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Cleans a potentially tainted set of user input which are presented as
+     * an array of lines. This is used to handle data from the crawl options
+     * textareas.
      *
+     * @param array $arr the array of lines to be cleaned
+     * @return string a concatenated string of cleaned lines
      */
     function convertArrayCleanLines($arr)
     {
@@ -806,7 +863,11 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Cleans a string consisting of lines of urls into an array of urls. This
+     * is used in handling data from the crawl options text areas.
      *
+     * @param string $str contains the url data
+     * @return $url an array of urls
      */
     function convertStringCleanUrlsArray($str)
     {
@@ -822,7 +883,15 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Handles admin request related to the manage locale activity
      *
+     * The manage locale activity allows a user to add/delete locales, view
+     * statistics about a locale as well as edit the string for that locale
+     *
+     * @return array $data info about current locales, statistics for each
+     *      locale as well as potentially the currently set string of a
+     *      locale and any messages about the success or failure of a
+     *      sub activity.
      */
     function manageLocales()
     {
@@ -928,7 +997,15 @@ class AdminController extends Controller implements CrawlConstants
     }

     /**
+     * Responsible for handling admin request related to the configure activity
+     *
+     * The configure activity allows a user to set the work directory for
+     * storing data local to this SeekQuarry/Yioop instance. It also allows one
+     * to set the default language of the installation, dbms info, robot info,
+     * test info, as well as which machine acts as the queue server.
      *
+     * @return array $data fields for available language, dbms, etc as well as
+     *      results of processing sub activity if any
      */
     function configure()
     {
diff --git a/controllers/archive_controller.php b/controllers/archive_controller.php
index c6746dded..de00247aa 100755
--- a/controllers/archive_controller.php
+++ b/controllers/archive_controller.php
@@ -81,7 +81,7 @@ class ArchiveController extends Controller implements CrawlConstants

         /* do a quick test to see if this is a request seems like from a
            legitimate machine
-         */s
+         */
         if(!$this->checkRequest()) {return; }

         $activity = $_REQUEST['a'];
diff --git a/controllers/search_controller.php b/controllers/search_controller.php
index a27838574..05d182552 100755
--- a/controllers/search_controller.php
+++ b/controllers/search_controller.php
@@ -131,7 +131,13 @@ class SearchController extends Controller implements CrawlConstants
         } else {
             $activity = "query";
         }
-
+        if(isset($_REQUEST['its']) || isset($_SESSION['its'])) {
+            $its = (isset($_REQUEST['its'])) ? $_REQUEST['its'] :
+                $_SESSION['its'];
+            $index_time_stamp = $this->clean($its, "int");
+        } else {
+            $index_time_stamp = 0; //use the default crawl index
+        }
         if(isset($_REQUEST['q']) || $activity != "query") {
             if($activity == "query") {
                 $activity_array = $this->extractActivityQuery();
@@ -144,9 +150,15 @@ class SearchController extends Controller implements CrawlConstants
                 if(!isset($query)) {
                     $query = NULL;
                 }
+                if(isset($_REQUEST['limit'])) {
+                    $limit = $this->clean($_REQUEST['limit'], "int");
+                } else {
+                    $limit = 0;
+                }
                 $data =
                     $this->processQuery(
-                        $query, $activity, $arg, $results_per_page);
+                        $query, $activity, $arg,
+                        $results_per_page, $limit, $index_time_stamp);
                         // calculate the results of a search if there is one
             } else {
                 $highlight = true;
@@ -155,10 +167,13 @@ class SearchController extends Controller implements CrawlConstants
                     list(,$query_activity,) = $this->extractActivityQuery();
                     if($query_activity != "query") {$highlight = false;}
                 }
-                $this->cacheRequest($query, $arg, $highlight);
+                $summary_offset = $this->clean($_REQUEST['so'], "int");
+                $this->cacheRequest($query, $arg, $summary_offset, $highlight,
+                    $index_time_stamp);
             }
         }

+        $data['its'] = (isset($index_time_stamp)) ? $index_time_stamp : 0;

         $data['YIOOP_TOKEN'] = $this->generateCSRFToken($user);

@@ -181,18 +196,21 @@ class SearchController extends Controller implements CrawlConstants
      *      the url of the site with which to perform the related search.
      * @param int $results_per_page the maixmum number of search results
      *      that can occur on a page
+     * @param int $limit the first page of all the pages with the query terms
+     *      to return. For instance, if 10 then the tenth highest ranking page
+     *      for those query terms will be return, then the eleventh, etc.
+     * @param int $index_name the timestamp of an index to use, if 0 then
+     *      default used
      * @return array an array of at most results_per_page many search results
      */
-    function processQuery($query, $activity, $arg, $results_per_page)
+    function processQuery($query, $activity, $arg, $results_per_page,
+        $limit = 0, $index_name = 0)
     {
-        if(isset($_REQUEST['limit'])) {
-            $limit = $this->clean($_REQUEST['limit'], "int");
-        } else {
-            $limit = 0;
+
+        if($index_name == 0) {
+            $index_name = $this->crawlModel->getCurrentIndexDatabaseName();
         }
-
-        $index_name = $this->crawlModel->getCurrentIndexDatabaseName();
-
+
         $this->phraseModel->index_name = $index_name;
         $this->crawlModel->index_name = $index_name;

@@ -279,18 +297,25 @@ class SearchController extends Controller implements CrawlConstants
     }

     /**
-     *  Used to get and render a cached web page
+     * Used to get and render a cached web page
      *
-     *  @param string $query
-     *  @param string $url
-     *  @param bool $highlight
+     * @param string $query the list of query terms
+     * @param string $url the url of the page to find the cached version of
+     * @param bool $highlight whether or not to highlight the query terms in
+     *      the cached page
+     * @param int $crawl_time the timestamp of the crawl to look up the cached
+     *      page in
      */
-    function cacheRequest($query, $url, $highlight=true)
+    function cacheRequest($query, $url, $summary_offset,
+        $highlight=true, $crawl_time = 0)
     {
-        $crawl_time = $this->crawlModel->getCurrentIndexDatabaseName();
+
+        if($crawl_time == 0) {
+            $crawl_time = $this->crawlModel->getCurrentIndexDatabaseName();
+        }
+
         $this->crawlModel->index_name = $crawl_time;

-        $summary_offset = $this->clean($_REQUEST['so'], "int");
         if(!$crawl_item = $this->crawlModel->getCrawlItem(crawlHash($url),
             $summary_offset)) {

diff --git a/controllers/settings_controller.php b/controllers/settings_controller.php
index 6eca6d7c3..189d46934 100755
--- a/controllers/settings_controller.php
+++ b/controllers/settings_controller.php
@@ -55,10 +55,11 @@ class SettingsController extends Controller
      */
     var $views = array("settings");
     /**
-     * LocaleModel used to get the available languages/locales
+     * LocaleModel used to get the available languages/locales, CrawlModel
+     * is used to get a list of available crawls
      * @var array
      */
-    var $models = array("locale");
+    var $models = array("locale", "crawl");

     /**
      *  Sets up the available perpage language options.
@@ -105,11 +106,29 @@ class SettingsController extends Controller
         }

         if(isset($_SESSION['MAX_PAGES_TO_SHOW'])){
-            $data['PER_PAGE_SELECTED']    = $_SESSION['MAX_PAGES_TO_SHOW'];
+            $data['PER_PAGE_SELECTED'] = $_SESSION['MAX_PAGES_TO_SHOW'];
         } else {
-            $data['PER_PAGE_SELECTED']    = NUM_RESULTS_PER_PAGE;
+            $data['PER_PAGE_SELECTED'] = NUM_RESULTS_PER_PAGE;
         }

+        $crawls = $this->crawlModel->getCrawlList();
+        $data['CRAWLS'] = array();
+        foreach($crawls as $crawl) {
+            $data['CRAWLS'][$crawl['CRAWL_TIME']] = $crawl['DESCRIPTION'];
+        }
+        $crawl_stamps = array_keys($data['CRAWLS']);
+        if($token_okay && isset($_REQUEST['index_ts']) &&
+            in_array($_REQUEST['index_ts'], $crawl_stamps)) {
+            $_SESSION['its'] = $_REQUEST['index_ts'];
+            $data['its'] = $_REQUEST['index_ts'];
+            $changed_settings_flag = true;
+        } else if(isset($_REQUEST['its']) &&
+            in_array($_REQUEST['its'],$crawl_stamps)){
+            $data['its'] = $_REQUEST['its'];
+        }else {
+            $data['its'] = $this->crawlModel->getCurrentIndexDatabaseName();
+        }
+
         if($changed_settings_flag) {
             $data['SCRIPT'] = "doMessage('<h1 class=\"red\" >".
                 tl('settings_controller_settings_saved')."</h1>')";
diff --git a/index.php b/index.php
index f2e6e3093..d7ff56c54 100755
--- a/index.php
+++ b/index.php
@@ -45,6 +45,7 @@ define("BASE_DIR", substr($_SERVER['DOCUMENT_ROOT'].$_SERVER['PWD'].
 require_once(BASE_DIR.'configs/config.php');

 ini_set("memory_limit","200M");
+header("X-FRAME-OPTIONS: DENY"); //prevent click jacking
 session_name(SESSION_NAME);
 session_start();

@@ -91,7 +92,7 @@ if(!PROFILE ) {

 //the request variable l is used to determine the locale
 if(isset($_SESSION['l']) ||isset($_REQUEST['l'])) {
-    $l = (isset($_SESSION['l'])) ? $_SESSION['l'] :$_REQUEST['l'];
+    $l = (isset($_REQUEST['l'])) ? $_REQUEST['l'] : $_SESSION['l'];
     if(strlen($l) < 10) {
         $l= addslashes($l);
         if(is_dir(LOCALE_DIR."/$l")) {
diff --git a/lib/phrase_parser.php b/lib/phrase_parser.php
index 7cc49d41f..37343e4ae 100755
--- a/lib/phrase_parser.php
+++ b/lib/phrase_parser.php
@@ -50,7 +50,7 @@ require_once BASE_DIR."/lib/crawl_constants.php";
  * @author Chris Pollett
  *
  * @package seek_quarry
- * @subpackage librarys
+ * @subpackage library
  */
 class PhraseParser
 {
diff --git a/lib/processors/doc_processor.php b/lib/processors/doc_processor.php
index a9a46415e..1260db9e9 100755
--- a/lib/processors/doc_processor.php
+++ b/lib/processors/doc_processor.php
@@ -118,7 +118,12 @@ class DocProcessor extends TextProcessor
     }

     /**
+     * Scans document starting at given position and looking forward eight
+     * character to see if these are ASCII printable or not.
      *
+     * @param string $doc document to scan
+     * @param int $pos position to start scanning
+     * @return whether the eight next characters were ASCII printable
      */
     static function checkPageForText($doc, $pos) {;
         $is_text = true;
@@ -136,7 +141,12 @@ class DocProcessor extends TextProcessor
     }

     /**
+     * Scans document starting at given position and looking forward eight
+     * character to see if these are all \0 or not.
      *
+     * @param string $doc document to scan
+     * @param int $pos position to start scanning
+     * @return whether the eight next characters were \0
      */
     static function checkAllZeros($doc, $pos) {
         $is_zero = true;
@@ -153,7 +163,12 @@ class DocProcessor extends TextProcessor
     }

     /**
+     * Scans document starting at given position forward eight
+     * character returning those characters which are ASCII printable
      *
+     * @param string $doc document to scan
+     * @param int $pos position to start scanning
+     * @return substring of ASCII printable characters
      */
     static function cleanTextBlock($doc, $pos) {
         $text = "";
diff --git a/lib/utility.php b/lib/utility.php
index 851f0a2f1..55294e4a4 100755
--- a/lib/utility.php
+++ b/lib/utility.php
@@ -185,6 +185,13 @@ function deleteFileOrDir($file_or_dir)
     }
 }

+/**
+ * This is a callback function used in the process of recursively chmoding to
+ * 777 all files in a folder
+ *
+ * @param string $file the filename or directory name to be chmod
+ * @see DatasourceManager::etWorldPermissionsRecursive()
+ */
 function setWorldPermissions($file)
 {
     chmod($file, 0777);
diff --git a/locale/en-US/configure.ini b/locale/en-US/configure.ini
index fb6114752..5dccc69e4 100755
--- a/locale/en-US/configure.ini
+++ b/locale/en-US/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = "Login Successful!!"
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = "Username or Password Incorrect!"
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = "Current password incorrect."
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = "Password change successful!!"
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = "Select Username"
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = "Cannot Create User As Username Exists"
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = "User Created"
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = "User Deleted"
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = "Select Activity"
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = "Role Name Exists"
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = "Activity Added"
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = "Activity Deleted"
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = "Starting New Crawl!"
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = "No Description for Crawl"
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = "Stopping crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = "Resuming crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = "Deleting Crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = "Delete Crawl Failed!!"
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = "Setting Crawl To Use as Index"
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = "Breadth First"
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = "Page Importance"
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = "Updating Seed Site Info!"
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = "Select Locale"
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = "Locale Added!"
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = "Locale Does Not Exist!"
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = "Locale Deleted"
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = "Locale Strings Updated!"
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = "Work Directory Set! You may need to re-login!"
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = "Please Name Your robot"
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = "Working Directory and Profile Created!"
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = "Unable to Update config.php File!"
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = "Unable to Create Profile!"
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = "Problem Updating Database!"
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = "Profile Updated!"
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = "There was a Problem Updating Profile!"
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = "Please Describe Your Robot"
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = "Logout Successful!!"
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = "This cached version of %s was obtained by the Yioop crawler on %s."
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = "Settings Saved!"
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = "Admin"
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = "Auto-logout in One Minute!!"
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = "No Previous Crawls"
 ; activity_element.php line: 57
 activity_element_activities = "Activities"
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = "Search Engine Work Directory"
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = "Load or Create"
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = "Profile Settings"
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = "Default Language:"
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = "Debug Display"
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = "Error Info"
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = "Query Info"
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = "Test Info"
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = "Database Set-up"
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = "System:"
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = "Name:"
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = "Url:"
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = "User:"
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = "Password:"
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = "Queue Server Set-up"
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = "Server Key:"
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = "Server URL:"
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = "Crawl Robot Set-up"
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = "Robot Name:"
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = "Robot Description:"
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = "Submit"
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = "Allowed To Crawl Sites"
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = "Disallowed Sites"
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = "Seed Sites"
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = "Save Options"
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = "Back"
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = "Edit Locale: %s"
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = "Submit"
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "Change Account Password"
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = "Old Password: "
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = "New Password: "
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = "Retype Password: "
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = "Save"
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = "Create a Crawl"
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = "Description"
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = "Start New Crawl"
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = "Options"
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = "Awaiting Crawl Status"
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = "Crawl Status No Longer Updating"
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = "Add Locale"
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = "Locale Name:"
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = "Locale Tag:"
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = "Writing Mode:"
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = "Submit"
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = "Delete Locale"
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = "Locale Name:"
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = "Submit"
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = "Locale List"
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = "Locale Name"
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = "Locale Tag"
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = "Writing Mode"
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = "Percent Translated"
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = "Add Role: "
 ; manageusers_element.php line: 140
 manageusers_element_submit = "Submit"
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = "Settings"
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = "Sign In"
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = "Admin"
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = "Sign Out"
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = "Time: %s seconds."
 ; nocache_view.php line: 65
 nocache_view_no_cache = "Did not have cache of requested item."
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = "Enter the terms you would like to search the web for"
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = "Type what you are looking for"
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = "Search"
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = "Developed at SeekQuarry"
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = "Query Results:"
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = "Calculated in %s seconds."
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = "Showing results %s - %s of %s"
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = "Rank: %s "
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = "Rel: %s "
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = "Score %s"
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = "Cached"
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = "View&nbsp;as&nbsp;text"
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = "Similar"
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = "Settings"
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = "Results per Page:"
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = "Language:"
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = "Search Index:"
+;
+; settings_view.php line: 97
 settings_view_return_yioop = "Return to Yioop!"
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = "Save Settings"
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = "Install Yioop! Open Search Plugin"
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = "Signin"
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = "Username"
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = "Password"
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = "Login"
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = "Return to Yioop"
\ No newline at end of file
diff --git a/locale/en-US/statistics.txt b/locale/en-US/statistics.txt
index 5a165df53..b6bef56f0 100755
--- a/locale/en-US/statistics.txt
+++ b/locale/en-US/statistics.txt
@@ -1 +1 @@
-d:100;
\ No newline at end of file
+d:99;
\ No newline at end of file
diff --git a/locale/fr-FR/configure.ini b/locale/fr-FR/configure.ini
index 53125d072..3aefc20b4 100755
--- a/locale/fr-FR/configure.ini
+++ b/locale/fr-FR/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = ""
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = ""
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = ""
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = ""
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = ""
 ; activity_element.php line: 57
 activity_element_activities = ""
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = ""
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = ""
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = ""
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = ""
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = ""
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = ""
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = ""
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = ""
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = ""
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = ""
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = ""
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = ""
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = ""
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = ""
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = ""
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = ""
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = ""
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = ""
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = ""
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = ""
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = ""
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = ""
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = ""
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = ""
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = ""
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = ""
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = ""
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = ""
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = ""
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = ""
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = ""
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = ""
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = ""
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = ""
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = ""
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = ""
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = ""
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = ""
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = ""
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = ""
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = ""
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = ""
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = ""
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = ""
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = ""
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = ""
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = ""
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = ""
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = ""
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = ""
 ; manageusers_element.php line: 140
 manageusers_element_submit = ""
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = ""
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = ""
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = ""
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = ""
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = ""
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = ""
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = "Rechercher"
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = ""
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = "R&eacute;sultats:"
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = "Trouver en %s secondes."
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = "Affichage de %s - %s sur %s r&eacute;sultats"
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = "Rang:"
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = "Pertinence:"
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = ""
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = "En&nbsp;Cache"
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = "Version&nbsp;texte"
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = "Pages&nbsp;similaires"
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = "Pr&eacute;f&eacute;rences"
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = ""
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = ""
+;
+; settings_view.php line: 97
 settings_view_return_yioop = "Retourner &agrave; Yioop"
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = "Enregistrer les pr&eacute;f&eacute;rences"
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = ""
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = ""
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = ""
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = ""
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = ""
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = ""
\ No newline at end of file
diff --git a/locale/ko/configure.ini b/locale/ko/configure.ini
index b4038bc85..8a41679af 100755
--- a/locale/ko/configure.ini
+++ b/locale/ko/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = ""
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = ""
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = ""
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = ""
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = ""
 ; activity_element.php line: 57
 activity_element_activities = ""
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = ""
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = ""
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = ""
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = ""
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = ""
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = ""
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = ""
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = ""
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = ""
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = ""
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = ""
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = ""
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = ""
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = ""
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = ""
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = ""
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = ""
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = ""
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = ""
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = ""
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = ""
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = ""
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = ""
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = ""
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = ""
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = ""
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = ""
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = ""
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = ""
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = ""
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = ""
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = ""
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = ""
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = ""
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = ""
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = ""
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = ""
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = ""
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = ""
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = ""
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = ""
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = ""
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = ""
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = ""
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = ""
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = ""
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = ""
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = ""
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = ""
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = ""
 ; manageusers_element.php line: 140
 manageusers_element_submit = ""
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = ""
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = ""
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = ""
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = ""
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = ""
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = ""
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = ""
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = ""
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = ""
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = ""
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = ""
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = ""
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = ""
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = ""
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = ""
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = ""
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = ""
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = ""
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = ""
+;
+; settings_view.php line: 97
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = ""
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = ""
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = ""
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = ""
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = ""
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = ""
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = ""
\ No newline at end of file
diff --git a/locale/rn-US/configure.ini b/locale/rn-US/configure.ini
index a413eda27..3090d7715 100755
--- a/locale/rn-US/configure.ini
+++ b/locale/rn-US/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = ""
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = "Logout Successful!"
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = ""
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = ""
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = ""
 ; activity_element.php line: 57
 activity_element_activities = ""
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = ""
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = ""
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = ""
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = ""
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = ""
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = ""
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = ""
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = ""
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = ""
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = ""
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = ""
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = ""
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = ""
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = ""
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = ""
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = ""
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = ""
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = ""
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = ""
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = ""
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = ""
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = ""
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = ""
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = ""
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = ""
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = ""
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = ""
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = ""
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = ""
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = ""
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = ""
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = ""
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = ""
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = ""
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = ""
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = ""
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = ""
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = ""
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = ""
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = ""
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = ""
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = ""
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = ""
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = ""
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = ""
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = ""
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = ""
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = ""
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = ""
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = ""
 ; manageusers_element.php line: 140
 manageusers_element_submit = ""
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = ""
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = ""
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = ""
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = ""
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = ""
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = ""
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = "Search"
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = ""
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = ""
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = ""
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = ""
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = ""
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = ""
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = ""
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = ""
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = ""
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = ""
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = ""
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = ""
+;
+; settings_view.php line: 97
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = ""
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = ""
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = ""
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = ""
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = ""
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = ""
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = ""
\ No newline at end of file
diff --git a/locale/vi-VN/configure.ini b/locale/vi-VN/configure.ini
index a03825825..c12055675 100755
--- a/locale/vi-VN/configure.ini
+++ b/locale/vi-VN/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = ""
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = ""
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = "Trang gốc này: %s đã tìm được bởi công cụ tìm kiẽm Yioop vào ngày %s."
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = ""
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = ""
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = ""
 ; activity_element.php line: 57
 activity_element_activities = ""
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = ""
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = ""
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = ""
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = ""
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = ""
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = ""
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = ""
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = ""
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = ""
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = ""
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = ""
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = ""
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = ""
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = ""
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = ""
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = ""
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = ""
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = ""
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = ""
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = ""
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = ""
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = ""
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = ""
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = ""
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = ""
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = ""
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = ""
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = ""
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = ""
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = ""
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = ""
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = ""
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = ""
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = ""
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = ""
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = ""
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = ""
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = ""
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = ""
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = ""
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = ""
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = ""
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = ""
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = ""
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = ""
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = ""
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = ""
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = ""
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = ""
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = ""
 ; manageusers_element.php line: 140
 manageusers_element_submit = ""
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = ""
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = ""
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = ""
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = ""
 ; nocache_view.php line: 65
 nocache_view_no_cache = "Không tìm thấy trang gốc mà bạn muốn tìm kiếm."
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = ""
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = ""
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = "Tìm Kiếm"
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = ""
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = "Kết Quả:"
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = "Đã tính toán trong %s giây."
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = "Cho kết quả tứ %s - %s của %s"
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = "Thứ Tự:"
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = "Thích hợp:"
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = ""
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = "Trang&nbsp;gốc"
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = "Trang&nbsp;Web&nbsp;Bắng Chữ"
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = "Tương&nbsp;Tự"
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = "Sự sắp đặt"
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = ""
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = ""
+;
+; settings_view.php line: 97
 settings_view_return_yioop = "Trở lại trang Yioop"
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = "Giữ sự sắp đặt"
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = ""
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = "Đăng nhâp"
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = "Tài khoản"
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = "Mật khẩu"
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = "Tài khoản"
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = "Trở lại trang Yioop"
\ No newline at end of file
diff --git a/locale/vn-US/configure.ini b/locale/vn-US/configure.ini
index 955fab387..8a5019195 100755
--- a/locale/vn-US/configure.ini
+++ b/locale/vn-US/configure.ini
@@ -28,189 +28,189 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 106
+; admin_controller.php line: 114
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 111
+; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 255
+; admin_controller.php line: 266
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 265
+; admin_controller.php line: 276
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 272
+; admin_controller.php line: 283
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 297
+; admin_controller.php line: 308
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 334
+; admin_controller.php line: 345
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 360
+; admin_controller.php line: 371
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 367
+; admin_controller.php line: 378
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 374
+; admin_controller.php line: 385
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 383
+; admin_controller.php line: 394
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 390
+; admin_controller.php line: 401
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 397
+; admin_controller.php line: 408
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 403
+; admin_controller.php line: 414
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 409
+; admin_controller.php line: 420
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 431
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 426
+; admin_controller.php line: 437
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 436
+; admin_controller.php line: 447
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 459
+; admin_controller.php line: 470
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 494
+; admin_controller.php line: 505
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 527
+; admin_controller.php line: 538
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 537
+; admin_controller.php line: 548
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 559
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 556
+; admin_controller.php line: 567
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 562
+; admin_controller.php line: 573
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 568
+; admin_controller.php line: 579
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 578
+; admin_controller.php line: 589
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 584
+; admin_controller.php line: 595
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 591
+; admin_controller.php line: 602
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 603
+; admin_controller.php line: 614
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 628
+; admin_controller.php line: 639
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 648
+; admin_controller.php line: 659
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 673
+; admin_controller.php line: 684
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 686
+; admin_controller.php line: 697
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 717
+; admin_controller.php line: 728
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 733
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 729
+; admin_controller.php line: 740
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 742
+; admin_controller.php line: 753
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 744
+; admin_controller.php line: 755
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 783
+; admin_controller.php line: 794
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 834
+; admin_controller.php line: 845
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 877
+; admin_controller.php line: 888
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 884
+; admin_controller.php line: 895
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 893
+; admin_controller.php line: 904
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 913
+; admin_controller.php line: 924
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 983
+; admin_controller.php line: 994
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 995
+; admin_controller.php line: 1006
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1004
+; admin_controller.php line: 1015
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1010
+; admin_controller.php line: 1021
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1032
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1030
+; admin_controller.php line: 1041
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1052
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1101
+; admin_controller.php line: 1112
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1115
+; admin_controller.php line: 1126
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1129
+; admin_controller.php line: 1140
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1163
+; admin_controller.php line: 1174
 admin_controller_describe_robot = ""
 ;
-; search_controller.php line: 114
+; search_controller.php line: 119
 search_controller_logout_successful = ""
 ;
-; search_controller.php line: 334
+; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 114
+; settings_controller.php line: 132
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
 ;
-; admin_view.php line: 76
+; admin_view.php line: 77
 admin_view_admin = ""
 ;
-; admin_view.php line: 96
+; admin_view.php line: 97
 adminview_auto_logout_one_minute = ""
 ;
 ; crawlstatus_view.php line: 60
@@ -281,67 +281,67 @@ crawlstatus_view_no_previous_crawl = ""
 ; activity_element.php line: 57
 activity_element_activities = ""
 ;
-; configure_element.php line: 77
+; configure_element.php line: 82
 configure_element_work_directory = ""
 ;
-; configure_element.php line: 80
+; configure_element.php line: 88
 configure_element_load_or_create = ""
 ;
-; configure_element.php line: 91
+; configure_element.php line: 101
 configure_element_profile_settings = ""
 ;
-; configure_element.php line: 92
+; configure_element.php line: 103
 configure_element_default_language = ""
 ;
-; configure_element.php line: 97
+; configure_element.php line: 109
 configure_element_debug_display = ""
 ;
-; configure_element.php line: 100
+; configure_element.php line: 114
 configure_element_error_info = ""
 ;
-; configure_element.php line: 102
+; configure_element.php line: 119
 configure_element_query_info = ""
 ;
-; configure_element.php line: 104
+; configure_element.php line: 124
 configure_element_test_info = ""
 ;
-; configure_element.php line: 108
+; configure_element.php line: 129
 configure_element_database_setup = ""
 ;
-; configure_element.php line: 109
+; configure_element.php line: 131
 configure_element_database_system = ""
 ;
-; configure_element.php line: 112
+; configure_element.php line: 137
 configure_element_databasename = ""
 ;
-; configure_element.php line: 116
+; configure_element.php line: 144
 configure_element_databaseurl = ""
 ;
-; configure_element.php line: 119
+; configure_element.php line: 150
 configure_element_databaseuser = ""
 ;
-; configure_element.php line: 122
+; configure_element.php line: 157
 configure_element_databasepassword = ""
 ;
-; configure_element.php line: 128
+; configure_element.php line: 166
 configure_element_queue_server = ""
 ;
-; configure_element.php line: 129
+; configure_element.php line: 168
 configure_element_queue_server_key = ""
 ;
-; configure_element.php line: 132
+; configure_element.php line: 174
 configure_element_queue_server_url = ""
 ;
-; configure_element.php line: 137
+; configure_element.php line: 182
 configure_element_crawl_robot = ""
 ;
-; configure_element.php line: 138
+; configure_element.php line: 184
 configure_element_robot_name = ""
 ;
-; configure_element.php line: 141
+; configure_element.php line: 191
 configure_element_robot_description = ""
 ;
-; configure_element.php line: 148
+; configure_element.php line: 200
 configure_element_submit = ""
 ;
 ; crawloptions_element.php line: 62
@@ -362,85 +362,91 @@ crawloptions_element_allowed_to_crawl = ""
 ; crawloptions_element.php line: 91
 crawloptions_element_disallowed_to_crawl = ""
 ;
-; crawloptions_element.php line: 96
+; crawloptions_element.php line: 97
 crawloptions_element_seed_sites = ""
 ;
-; crawloptions_element.php line: 101
+; crawloptions_element.php line: 102
 crawloptions_element_save_options = ""
 ;
-; editlocales_element.php line: 60
+; editlocales_element.php line: 62
 editlocales_element_back_to_manage = ""
 ;
-; editlocales_element.php line: 62
+; editlocales_element.php line: 64
 editlocales_element_edit_locale = ""
 ;
-; editlocales_element.php line: 81
+; editlocales_element.php line: 95
 editlocales_element_submit = ""
 ;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
-; manageaccount_element.php line: 64
+; manageaccount_element.php line: 66
 manageaccount_element_old_password = ""
 ;
-; manageaccount_element.php line: 66
+; manageaccount_element.php line: 71
 manageaccount_element_new_password = ""
 ;
-; manageaccount_element.php line: 68
+; manageaccount_element.php line: 76
 manageaccount_element_retype_password = ""
 ;
-; manageaccount_element.php line: 71
+; manageaccount_element.php line: 82
 manageaccount_element_save = ""
 ;
-; managecrawl_element.php line: 55
+; managecrawl_element.php line: 56
 managecrawl_element_create_crawl = ""
 ;
-; managecrawl_element.php line: 62
+; managecrawl_element.php line: 65
 managecrawl_element_description = ""
 ;
-; managecrawl_element.php line: 63
+; managecrawl_element.php line: 71
 managecrawl_element_start_new_crawl = ""
+;
+; managecrawl_element.php line: 74
 managecrawl_element_options = ""
 ;
-; managecrawl_element.php line: 66
+; managecrawl_element.php line: 77
 managecrawl_element_awaiting_status = ""
 ;
-; managecrawl_element.php line: 81
+; managecrawl_element.php line: 94
 managecrawl_element_up_longer_update = ""
 ;
-; managelocales_element.php line: 58
+; managelocales_element.php line: 59
 managelocales_element_add_locale = ""
 ;
-; managelocales_element.php line: 66
+; managelocales_element.php line: 69
 managelocales_element_localenamelabel = ""
 ;
-; managelocales_element.php line: 69
+; managelocales_element.php line: 75
 managelocales_element_localetaglabel = ""
 ;
-; managelocales_element.php line: 72
+; managelocales_element.php line: 79
 managelocales_element_writingmodelabel = ""
 ;
-; managelocales_element.php line: 79
+; managelocales_element.php line: 92
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 84
+; managelocales_element.php line: 98
 managelocales_element_delete_locale = ""
 ;
-; managelocales_element.php line: 92
+; managelocales_element.php line: 108
 managelocales_element_delete_localelabel = ""
 ;
-; managelocales_element.php line: 93
+; managelocales_element.php line: 112
 managelocales_element_submit = ""
 ;
-; managelocales_element.php line: 98
+; managelocales_element.php line: 117
 managelocales_element_locale_list = ""
 ;
-; managelocales_element.php line: 100
+; managelocales_element.php line: 120
 managelocales_element_localename = ""
+;
+; managelocales_element.php line: 121
 managelocales_element_localetag = ""
 ;
-; managelocales_element.php line: 101
+; managelocales_element.php line: 122
 managelocales_element_writingmode = ""
+;
+; managelocales_element.php line: 124
 managelocales_element_percenttranslated = ""
 ;
 ; manageroles_element.php line: 57
@@ -509,16 +515,16 @@ manageusers_element_add_role = ""
 ; manageusers_element.php line: 140
 manageusers_element_submit = ""
 ;
-; signin_element.php line: 57
+; signin_element.php line: 61
 signin_element_settings = ""
 ;
-; signin_element.php line: 61
+; signin_element.php line: 65
 signin_element_signin = ""
 ;
-; signin_element.php line: 67
+; signin_element.php line: 71
 signin_element_admin = ""
 ;
-; signin_element.php line: 69
+; signin_element.php line: 73
 signin_element_signout = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/helpers
@@ -546,74 +552,77 @@ web_layout_query_time = ""
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
-; search_view.php line: 85
+; search_view.php line: 87
 search_view_input_label = ""
 ;
-; search_view.php line: 88
+; search_view.php line: 90
 search_view_input_placeholder = ""
 ;
-; search_view.php line: 90
+; search_view.php line: 92
 search_view_search = ""
 ;
-; search_view.php line: 99
+; search_view.php line: 101
 search_view_developed_seek_quarry = ""
 ;
-; search_view.php line: 103
+; search_view.php line: 105
 search_view_query_results = ""
 ;
-; search_view.php line: 104
+; search_view.php line: 106
 search_view_calculated = ""
 ;
-; search_view.php line: 105
+; search_view.php line: 107
 search_view_results = ""
 ;
-; search_view.php line: 126
+; search_view.php line: 128
 search_view_rank = ""
 ;
-; search_view.php line: 128
+; search_view.php line: 130
 search_view_relevancy = ""
 ;
-; search_view.php line: 131
+; search_view.php line: 133
 search_view_score = ""
 ;
-; search_view.php line: 140
+; search_view.php line: 142
 search_view_cache = ""
 ;
-; search_view.php line: 143
+; search_view.php line: 145
 search_view_as_text = ""
 ;
-; search_view.php line: 148
+; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 74
+; settings_view.php line: 75
 settings_view_settings = ""
 ;
-; settings_view.php line: 80
+; settings_view.php line: 81
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 85
+; settings_view.php line: 86
 settings_view_language_label = ""
 ;
-; settings_view.php line: 91
+; settings_view.php line: 90
+settings_view_search_index = ""
+;
+; settings_view.php line: 97
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 94
+; settings_view.php line: 100
 settings_view_save = ""
 ;
-; settings_view.php line: 102
+; settings_view.php line: 108
 setting_install_search_plugin = ""
 ;
-; signin_view.php line: 62
+; signin_view.php line: 63
 signin_view_signin = ""
 ;
-; signin_view.php line: 68
+; signin_view.php line: 69
 signin_view_username = ""
 ;
-; signin_view.php line: 74
+; signin_view.php line: 75
 signin_view_password = ""
 ;
-; signin_view.php line: 83
+; signin_view.php line: 84
 signin_view_login = ""
 ;
-; signin_view.php line: 90
+; signin_view.php line: 91
 signin_view_return_yioop = ""
\ No newline at end of file
diff --git a/tests/index.php b/tests/index.php
index f6546c77f..a0120f590 100644
--- a/tests/index.php
+++ b/tests/index.php
@@ -39,6 +39,8 @@ define("BASE_DIR", substr($_SERVER['DOCUMENT_ROOT'].$_SERVER['PWD'].
     $_SERVER["SCRIPT_NAME"], 0,
     -strlen("tests/index.php")));

+header("X-FRAME-OPTIONS: DENY"); //prevent click jacking
+
 /** Load search engine wide configuration file */
 require_once BASE_DIR.'/configs/config.php';

diff --git a/views/elements/signin_element.php b/views/elements/signin_element.php
index ae5a0a840..e7f10a4c3 100755
--- a/views/elements/signin_element.php
+++ b/views/elements/signin_element.php
@@ -55,7 +55,10 @@ class SigninElement extends Element
         <div class="userNav" >
         <ul>
         <li><a href="?c=settings&amp;YIOOP_TOKEN=<?php
-                e($data['YIOOP_TOKEN'])?>"><?php
+                e($data['YIOOP_TOKEN'])?>&amp;l=<?php
+                e(getLocaleTag());
+                e((isset($data['its'])) ? '&amp;its='.$data['its'] : '');
+                ?>"><?php
             e(tl('signin_element_settings')); ?></a></li>
         <?php
         if(!isset($_SESSION['USER_ID'])) { ?>
diff --git a/views/search_view.php b/views/search_view.php
index 8be7bdadf..885eef536 100755
--- a/views/search_view.php
+++ b/views/search_view.php
@@ -84,6 +84,7 @@ class SearchView extends View implements CrawlConstants
         <div class="searchbox">
         <form id="searchForm" method="get" action=''>
         <p>
+        <input type="hidden" name="its" value="<?php e($data['its']); ?>" />
         <input type="text" title="<?php e(tl('search_view_input_label')); ?>"
             id="search-name" name="q" value="<?php if(isset($data['QUERY'])) {
             e(urldecode($data['QUERY']));} ?>"
@@ -134,8 +135,8 @@ class SearchView extends View implements CrawlConstants
                 <a href="?c=search&amp;a=cache&amp;q=<?php
                     e($data['QUERY']); ?>&amp;arg=<?php
                     e(urlencode($page[self::URL]));
-                    ?>&amp;so=<?php
-                    e(urlencode($page[self::SUMMARY_OFFSET])); ?>" >
+                    ?>&amp;so=<?php  e($page[self::SUMMARY_OFFSET]);
+                    ?>&amp;its=<?php e($data['its']); ?>" >
                 <?php
                 if($page[self::TYPE] == "text/html" ||
                     stristr($page[self::TYPE], "image")) {
@@ -146,7 +147,8 @@ class SearchView extends View implements CrawlConstants
                 }
                 ?></a>. <a href="?c=search&amp;a=related&amp;arg=<?php
                     e(urlencode($page[self::URL])); ?>&amp;so=<?php
-                    e(urlencode($page[self::SUMMARY_OFFSET])); ?>" ><?php
+                    e($page[self::SUMMARY_OFFSET]);
+                    ?>&amp;its=<?php e($data['its']); ?>" ><?php
                     e(tl('search_view_similar')); ?></a>.</p>
                 </div>

diff --git a/views/settings_view.php b/views/settings_view.php
index a7bca819d..26cc71937 100755
--- a/views/settings_view.php
+++ b/views/settings_view.php
@@ -71,7 +71,8 @@ class SettingsView extends View
 ?>
 <div class="landing">
 <h1 class="logo"><a href="./?YIOOP_TOKEN=<?php
-    e($data['YIOOP_TOKEN'])?>"><img
+    e($data['YIOOP_TOKEN'])?>&amp;its=<?php
+    e($data['its'])?>"><img
     src="resources/yioop.png" alt="Yioop!" /></a><span> - <?php
     e(tl('settings_view_settings')); ?></span></h1>
 <div class="settings">
@@ -87,8 +88,14 @@ class SettingsView extends View
     e(tl('settings_view_language_label')); ?></b></label></td><td
     class="table-input"><?php $this->languageElement->render($data); ?>
 </td></tr>
+<td class="table-label"><label for="index-ts"><b><?php
+    e(tl('settings_view_search_index')); ?></b></label></td><td
+    class="table-input"><?php $this->optionsHelper->render(
+    "index-ts", "index_ts", $data['CRAWLS'], $data['its']); ?>
+</td></tr>
 <tr><td><input type="hidden" name="YIOOP_TOKEN" value="<?php
-    e($data['YIOOP_TOKEN']); ?>" /><button
+    e($data['YIOOP_TOKEN']); ?>" /><input type="hidden"
+    name="its" value="<?php e($data['its']); ?>" /><button
     class="topmargin" type="submit" name="c" value="search"><?php
     e(tl('settings_view_return_yioop'));
     ?></button></td><td class="table-input">
ViewGit