aboutsummaryrefslogtreecommitdiffstats
path: root/draklive/9/ru/content/search
diff options
context:
space:
mode:
Diffstat (limited to 'draklive/9/ru/content/search')
-rw-r--r--draklive/9/ru/content/search/default.props1
-rw-r--r--draklive/9/ru/content/search/en-us.props45
-rw-r--r--draklive/9/ru/content/search/es-es.props179
-rw-r--r--draklive/9/ru/content/search/htmlFileInfoList.js17
-rw-r--r--draklive/9/ru/content/search/htmlFileList.js18
-rw-r--r--draklive/9/ru/content/search/index-1.js585
-rw-r--r--draklive/9/ru/content/search/index-2.js584
-rw-r--r--draklive/9/ru/content/search/index-3.js582
-rw-r--r--draklive/9/ru/content/search/ja-jp.props1
-rw-r--r--draklive/9/ru/content/search/nwSearchFnt.js513
-rw-r--r--draklive/9/ru/content/search/punctuation.props31
-rw-r--r--draklive/9/ru/content/search/stemmers/de_stemmer.js247
-rw-r--r--draklive/9/ru/content/search/stemmers/en_stemmer.js187
-rw-r--r--draklive/9/ru/content/search/stemmers/fr_stemmer.js299
14 files changed, 3289 insertions, 0 deletions
diff --git a/draklive/9/ru/content/search/default.props b/draklive/9/ru/content/search/default.props
new file mode 100644
index 00000000..22edf439
--- /dev/null
+++ b/draklive/9/ru/content/search/default.props
@@ -0,0 +1 @@
+DEF01=a \ No newline at end of file
diff --git a/draklive/9/ru/content/search/en-us.props b/draklive/9/ru/content/search/en-us.props
new file mode 100644
index 00000000..da284ce5
--- /dev/null
+++ b/draklive/9/ru/content/search/en-us.props
@@ -0,0 +1,45 @@
+DEF01=this
+DEF02=is
+DEF03=the
+DEF04=in
+DEF05=i
+DEF06=on
+DEF07=a
+DEF08=about
+DEF09=an
+DEF10=are
+DEF11=as
+DEF12=at
+DEF13=be
+DEF14=by
+DEF15=com
+DEF16=de
+DEF17=en
+DEF18=for
+DEF19=from
+DEF20=how
+DEF21=it
+DEF22=la
+DEF23=of
+DEF24=on
+DEF25=or
+DEF26=that
+DEF27=to
+DEF28=was
+DEF29=what
+DEF30=when
+DEF31=where
+DEF32=who
+DEF33=will
+DEF34=with
+DEF35=und
+DEF36=Next
+DEF37=Prev
+DEF38=Home
+DEF39=Motive
+DEF40=Inc
+DEF41=Copyright
+DEF42=All
+DEF43=rights
+DEF44=reserved
+DEF45=Up \ No newline at end of file
diff --git a/draklive/9/ru/content/search/es-es.props b/draklive/9/ru/content/search/es-es.props
new file mode 100644
index 00000000..fb73bdcc
--- /dev/null
+++ b/draklive/9/ru/content/search/es-es.props
@@ -0,0 +1,179 @@
+DEF01=un
+DEF02=una
+DEF03=unas
+DEF04=unos
+DEF05=uno
+DEF06=sobre
+DEF07=todo
+DEF08=tambin
+DEF09=tras
+DEF10=otro
+DEF11=algn
+DEF12=alguno
+DEF13=alguna
+DEF14=algunos
+DEF15=algunas
+DEF16=ser
+DEF17=es
+DEF18=soy
+DEF19=eres
+DEF20=somos
+DEF21=sois
+DEF22=estoy
+DEF23=esta
+DEF24=estamos
+DEF25=estais
+DEF26=estan
+DEF27=como
+DEF28=en
+DEF29=para
+DEF30=atras
+DEF31=porque
+DEF32=por
+DEF33=estado
+DEF34=estaba
+DEF35=ante
+DEF36=antes
+DEF37=siendo
+DEF38=ambos
+DEF39=pero
+DEF40=por
+DEF41=poder
+DEF42=puede
+DEF43=puedo
+DEF44=podemos
+DEF45=podeis
+DEF46=pueden
+DEF47=fui
+DEF48=fue
+DEF49=fuimos
+DEF50=fueron
+DEF51=hacer
+DEF52=hago
+DEF53=hace
+DEF54=hacemos
+DEF55=haceis
+DEF56=hacen
+DEF57=cada
+DEF58=fin
+DEF59=incluso
+DEF60=primero
+DEF61=desde
+DEF62=conseguir
+DEF63=consigo
+DEF64=consigue
+DEF65=consigues
+DEF66=conseguimos
+DEF67=consiguen
+DEF68=ir
+DEF69=voy
+DEF70=va
+DEF71=vamos
+DEF72=vais
+DEF73=van
+DEF74=vaya
+DEF75=gueno
+DEF76=ha
+DEF77=tener
+DEF78=tengo
+DEF79=tiene
+DEF80=tenemos
+DEF81=teneis
+DEF82=tienen
+DEF83=el
+DEF84=la
+DEF85=lo
+DEF86=las
+DEF87=los
+DEF88=su
+DEF89=aqui
+DEF90=mio
+DEF91=tuyo
+DEF92=ellos
+DEF93=ellas
+DEF94=nos
+DEF95=nosotros
+DEF96=vosotros
+DEF97=vosotras
+DEF98=si
+DEF99=dentro
+DEF100=solo
+DEF101=solamente
+DEF102=saber
+DEF103=sabes
+DEF104=sabe
+DEF105=sabemos
+DEF106=sabeis
+DEF107=saben
+DEF108=ultimo
+DEF109=largo
+DEF110=bastante
+DEF111=haces
+DEF112=muchos
+DEF113=aquellos
+DEF114=aquellas
+DEF115=sus
+DEF116=entonces
+DEF117=tiempo
+DEF118=verdad
+DEF119=verdadero
+DEF120=verdadera
+DEF121=cierto
+DEF122=ciertos
+DEF123=cierta
+DEF124=ciertas
+DEF125=intentar
+DEF126=intento
+DEF127=intenta
+DEF128=intentas
+DEF129=intentamos
+DEF130=intentais
+DEF131=intentan
+DEF132=dos
+DEF133=bajo
+DEF134=arriba
+DEF135=encima
+DEF136=usar
+DEF137=uso
+DEF138=usas
+DEF139=usa
+DEF140=usamos
+DEF141=usais
+DEF142=usan
+DEF143=emplear
+DEF144=empleo
+DEF145=empleas
+DEF146=emplean
+DEF147=ampleamos
+DEF148=empleais
+DEF149=valor
+DEF150=muy
+DEF151=era
+DEF152=eras
+DEF153=eramos
+DEF154=eran
+DEF155=modo
+DEF156=bien
+DEF157=cual
+DEF158=cuando
+DEF159=donde
+DEF160=mientras
+DEF161=quien
+DEF162=con
+DEF163=entre
+DEF164=sin
+DEF165=trabajo
+DEF166=trabajar
+DEF167=trabajas
+DEF168=trabaja
+DEF169=trabajamos
+DEF170=trabajais
+DEF171=trabajan
+DEF172=podria
+DEF173=podrias
+DEF174=podriamos
+DEF175=podrian
+DEF176=podriais
+DEF177=yo
+DEF178=aquel
+DEF179=qu \ No newline at end of file
diff --git a/draklive/9/ru/content/search/htmlFileInfoList.js b/draklive/9/ru/content/search/htmlFileInfoList.js
new file mode 100644
index 00000000..a42f414c
--- /dev/null
+++ b/draklive/9/ru/content/search/htmlFileInfoList.js
@@ -0,0 +1,17 @@
+fil = new Array();
+fil["0"]= "configureTimezoneUTC.html@@@Настройка часового пояса@@@null";
+fil["1"]= "ar01s02.html@@@Загрузка Mageia как Live системы@@@null";
+fil["2"]= "selectKeyboardLive.html@@@Выбор клавиатуры@@@null";
+fil["3"]= "login.html@@@Окно логина@@@null";
+fil["4"]= "diskPartitioning.html@@@Разметка диска@@@null";
+fil["5"]= "selectLanguage.html@@@Выберите, пожалуйста, язык@@@null";
+fil["6"]= "Select-and-use-ISOs.html@@@Выбор и использование образов ISO@@@null";
+fil["7"]= "acceptLicense.html@@@Лицензия и примечания к выпуску@@@null";
+fil["8"]= "bestTime.html@@@Настройки часов@@@null";
+fil["9"]= "installUpdates.html@@@Обновления@@@null";
+fil["10"]= "addUser.html@@@Управление пользователями@@@null";
+fil["11"]= "reboot.html@@@Перезагрузка@@@null";
+fil["12"]= "unused.html@@@Сохранить или удалить неиспользованный материал@@@null";
+fil["13"]= "uninstall-Mageia.html@@@Удаление Mageia@@@null";
+fil["14"]= "setupBootloader.html@@@Начальный загрузчик@@@null";
+fil["15"]= "testing.html@@@Тестирование Mageia как Live системы@@@null";
diff --git a/draklive/9/ru/content/search/htmlFileList.js b/draklive/9/ru/content/search/htmlFileList.js
new file mode 100644
index 00000000..bd9a535a
--- /dev/null
+++ b/draklive/9/ru/content/search/htmlFileList.js
@@ -0,0 +1,18 @@
+//List of files which are indexed.
+fl = new Array();
+fl["0"]= "configureTimezoneUTC.html";
+fl["1"]= "ar01s02.html";
+fl["2"]= "selectKeyboardLive.html";
+fl["3"]= "login.html";
+fl["4"]= "diskPartitioning.html";
+fl["5"]= "selectLanguage.html";
+fl["6"]= "Select-and-use-ISOs.html";
+fl["7"]= "acceptLicense.html";
+fl["8"]= "bestTime.html";
+fl["9"]= "installUpdates.html";
+fl["10"]= "addUser.html";
+fl["11"]= "reboot.html";
+fl["12"]= "unused.html";
+fl["13"]= "uninstall-Mageia.html";
+fl["14"]= "setupBootloader.html";
+fl["15"]= "testing.html";
diff --git a/draklive/9/ru/content/search/index-1.js b/draklive/9/ru/content/search/index-1.js
new file mode 100644
index 00000000..3adcf2c9
--- /dev/null
+++ b/draklive/9/ru/content/search/index-1.js
@@ -0,0 +1,585 @@
+var indexerLanguage="en";
+//Auto generated index for searching.
+w["-"]="4,6,10,14";
+w["-l"]="6";
+w["-sa"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["0"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["00"]="6";
+w["0027"]="10";
+w["0x2"]="6";
+w["0x81"]="6";
+w["1"]="4,6,14";
+w["1-1"]="6";
+w["100"]="6";
+w["1000"]="6";
+w["1100"]="6";
+w["12"]="4";
+w["128"]="6";
+w["14"]="6";
+w["160"]="4";
+w["18mjtwlmpucc3ssb"]="6";
+w["19"]="4";
+w["1m"]="6";
+w["2"]="4,6,14";
+w["255"]="6";
+w["27"]="6";
+w["2gb"]="6";
+w["3"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["32-битная"]="6";
+w["32-битной"]="6";
+w["32-битный"]="14";
+w["4"]="4,6";
+w["4096"]="4";
+w["4194304"]="6";
+w["43"]="6";
+w["5"]="4";
+w["50"]="4";
+w["512"]="4";
+w["512-byte"]="6";
+w["6"]="4";
+w["604531"]="6";
+w["64-битная"]="6";
+w["64-битной"]="6,14";
+w["7"]="13";
+w["72594"]="6";
+w["72595"]="6";
+w["770528"]="6";
+w["770533"]="6";
+w["770536"]="6";
+w["770537"]="6";
+w["770539"]="6";
+w["770713"]="6";
+w["770719"]="6";
+w["771122"]="6";
+w["772447"]="6";
+w["8"]="6,14";
+w["8564"]="6";
+w["963238"]="6";
+w["963626"]="6";
+w["964104"]="6";
+w["964108"]="6";
+w["965025"]="6";
+w["965031"]="6";
+w["967251"]="6";
+w["969446"]="6";
+w["acpi"]="14";
+w["advanc"]="14";
+w["ansi"]="6";
+w["apic"]="14";
+w["apm"]="14";
+w["assum"]="6";
+w["attach"]="6";
+w["bio"]="1,4,14";
+w["bios»»"]="4";
+w["bittorr"]="6";
+w["block"]="6";
+w["boot"]="4,13,14";
+w["bs"]="6";
+w["c"]="4";
+w["cach"]="6";
+w["cc"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["cd"]="6";
+w["cfg"]="14";
+w["com"]="14";
+w["configur"]="14";
+w["control"]="14";
+w["csm"]="1";
+w["custom"]="14";
+w["data"]="4";
+w["dd"]="6";
+w["del"]="1";
+w["desc"]="6";
+w["detect"]="6";
+w["dev"]="6";
+w["devic"]="6";
+w["direct-access"]="6";
+w["disk"]="6";
+w["diskdrak"]="4";
+w["dmesg"]="6";
+w["download"]="6";
+w["drakx"]="4,6,10,14";
+w["drakx-installer-stage2"]="6";
+w["drive"]="6";
+w["dvd"]="1,6,11,13";
+w["efi"]="4,14";
+w["en"]="14";
+w["enter"]="1";
+w["ep"]="6";
+w["esc"]="1";
+w["esp"]="4,14";
+w["f10"]="1";
+w["f11"]="1";
+w["f2"]="1";
+w["f8"]="1";
+w["fat32"]="13";
+w["fdisk"]="6";
+w["file"]="6";
+w["firefox"]="10";
+w["found"]="6";
+w["gb"]="6";
+w["gib"]="6";
+w["gmt"]="0";
+w["gnome"]="3,6";
+w["gnu"]="6";
+w["gpart"]="4,13";
+w["gpt"]="4,14";
+w["grub"]="14";
+w["grub-custom"]="14";
+w["grub2"]="14";
+w["grub2-efi"]="14";
+w["grub2-efi_and_mageia"]="14";
+w["high-spe"]="6";
+w["home"]="4,6,10";
+w["host8"]="6";
+w["http"]="6,14";
+w["https"]="14";
+w["idproduct"]="6";
+w["idvendor"]="6";
+w["if"]="6";
+w["imag"]="6";
+w["image»"]="6";
+w["input"]="6";
+w["interfac"]="14";
+w["interrupt"]="14";
+w["interv"]="6";
+w["irq"]="14";
+w["iso"]="6";
+w["iso-образы"]="6";
+w["isodump"]="6";
+w["jetflash"]="6";
+w["kde"]="3";
+w["kmail"]="10";
+w["legaci"]="1,14";
+w["lilo"]="14";
+w["linux"]="4,6,10,13";
+w["live"]="1,3,6,15";
+w["live-системы"]="6";
+w["loader"]="13";
+w["logic"]="6";
+w["mageia"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["mageia-6-x86_64-dvd"]="6";
+w["manufactur"]="6";
+w["mass"]="6";
+w["master"]="14";
+w["mbr"]="14";
+w["md5sum"]="6";
+w["mfr"]="6";
+w["microfram"]="6";
+w["mode"]="6";
+w["net_applet"]="15";
+w["netinstal"]="6";
+w["netinstall-nonfre"]="6";
+w["new"]="6";
+w["no"]="6";
+w["ntfs"]="13";
+w["ntp"]="8";
+w["number"]="6";
+w["off"]="6";
+w["org"]="14";
+w["output"]="6";
+w["page"]="6";
+w["partit"]="4";
+w["plasma"]="3,6";
+w["power"]="14";
+w["pq"]="6";
+w["product"]="6";
+w["programm"]="14";
+w["protect"]="6";
+w["record"]="14";
+w["refind"]="14";
+w["remov"]="6";
+w["rodsbook"]="14";
+w["root"]="6,10,14";
+w["round"]="6";
+w["rufus"]="6";
+w["say"]="6";
+w["scsi"]="6";
+w["sd"]="6";
+w["sda"]="4";
+w["sda1"]="14";
+w["sdb"]="4,6";
+w["sdc"]="4";
+w["sdd"]="6";
+w["sdd1"]="6";
+w["sddm"]="3";
+w["sens"]="6";
+w["serialnumb"]="6";
+w["sha1sum"]="6";
+w["sha512sum"]="6";
+w["smp"]="14";
+w["ssd"]="4,15";
+w["storag"]="6";
+w["string"]="6";
+w["su"]="6";
+w["sync"]="6";
+w["system"]="4,13";
+w["through"]="6";
+w["thunderbird"]="10";
+w["transcend"]="6";
+w["uefi"]="1,4,14";
+w["umask"]="10";
+w["unicod"]="5";
+w["usb"]="1,4,6,14";
+w["usb-storag"]="6";
+w["use"]="6";
+w["user"]="6";
+w["utc"]="0,8";
+w["utf-8"]="5";
+w["var"]="4";
+w["video"]="4";
+w["vista"]="13";
+w["wiki"]="14";
+w["win32"]="6";
+w["window"]="4,6,13,14";
+w["windows»"]="13";
+w["write"]="6";
+w["www"]="14";
+w["x"]="6";
+w["xfce"]="6";
+w["xhci_hcd"]="6";
+w["xp"]="13";
+w[" "]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["©"]="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["«"]="4,6";
+w["«iso"]="6";
+w["«iso-образ»"]="6";
+w["«rescu"]="13";
+w["«restor"]="13";
+w["«usb»"]="1";
+w["«зависания»"]="14";
+w["«записи»"]="6";
+w["«очищен»"]="4";
+w["«разбивка"]="15";
+w["«раздел"]="4";
+w["«с"]="6";
+w["«управление"]="11";
+w["а"]="4,6,7,10,13,14,15";
+w["автоматически"]="1,4,14";
+w["автоматическом"]="14";
+w["автоматическую"]="8";
+w["администратора"]="6,10";
+w["администрирования"]="13";
+w["актуальный"]="4";
+w["алгоритма"]="6";
+w["альтернативной"]="4";
+w["альтернативный"]="14";
+w["альтернативу"]="6";
+w["английском"]="6";
+w["аппаратного"]="15";
+w["аппаратное"]="15";
+w["аппаратных"]="0";
+w["архитектур"]="6";
+w["архитектуре"]="14";
+w["архитектуры"]="6";
+w["б"]="14";
+w["багов"]="14";
+w["байт"]="4";
+w["без"]="6,10,13,14";
+w["безопасность"]="14";
+w["благодарны"]="7";
+w["блока"]="4";
+w["блоки"]="4";
+w["более"]="4,10,14";
+w["больше"]="3,14";
+w["больших"]="10";
+w["будем"]="7";
+w["будет"]="1,2,4,5,6,7,9,12,13,14,15";
+w["будете"]="12,14";
+w["будут"]="4,6,8,10,14,15";
+w["будущий"]="4";
+w["будущих"]="10";
+w["будущую"]="6";
+w["будьте"]="4";
+w["букв"]="6,10";
+w["букву"]="13";
+w["бы"]="6";
+w["был"]="0,10";
+w["была"]="12,13";
+w["были"]="4,6";
+w["было"]="4,13";
+w["быть"]="4,6,9,12,13,14";
+w["в"]="0,1,2,3,4,5,6,10,11,12,13,14,15";
+w["важно"]="4,6,11";
+w["важной"]="7";
+w["важные"]="4";
+w["важных"]="4,13";
+w["вам"]="1,3,4,5,6,7,8,10,12,14";
+w["вами"]="2,5,6,14,15";
+w["вариант"]="4,6,13,14";
+w["варианта"]="4";
+w["вариантов"]="1,6,14";
+w["вариантом"]="4,10,14";
+w["варианты"]="14";
+w["вас"]="6,11,13,14";
+w["ваш"]="0,6,7,9";
+w["ваше"]="13";
+w["вашего"]="1,6,10,14";
+w["вашей"]="4,14";
+w["вашем"]="1,4,14";
+w["вашему"]="14";
+w["ваши"]="4,14";
+w["вашим"]="0,5,6,13";
+w["вашими"]="4";
+w["ваших"]="14";
+w["вашу"]="0,3,6,14";
+w["введение"]="6";
+w["введите"]="3,6,10";
+w["введённое"]="10";
+w["введённый"]="10,14";
+w["вверху"]="4";
+w["ввести"]="10";
+w["ввод"]="10,14";
+w["ввода"]="14";
+w["вводе"]="10";
+w["вводить"]="14";
+w["вернуться"]="4";
+w["вероятно"]="1";
+w["версии"]="9";
+w["версию"]="10";
+w["версия"]="14";
+w["весь"]="4";
+w["видео"]="1";
+w["видеодрайверами"]="1";
+w["видеодрайверов"]="1";
+w["видеорежим"]="14";
+w["видеофайлы"]="4";
+w["видеть"]="12";
+w["видите"]="15";
+w["вики"]="3,6,14";
+w["вкладка"]="4";
+w["вкладки"]="8";
+w["включает"]="4";
+w["включен"]="6";
+w["включить"]="8,14";
+w["вместимость"]="4";
+w["вместо"]="4";
+w["внесение"]="14";
+w["внесении"]="13";
+w["внесения"]="4,6";
+w["внесёте"]="4";
+w["внешними"]="14";
+w["вниз"]="14";
+w["внимание"]="4,6,7,14";
+w["вносите"]="14";
+w["внутренние"]="8";
+w["внутри"]="6";
+w["во"]="0,1,4,10,14";
+w["возможно"]="6";
+w["возможности"]="6,14";
+w["возможность"]="6,10,13,14";
+w["возможностям"]="4";
+w["возможный"]="13";
+w["возможных"]="1";
+w["возникнуть"]="13";
+w["вообще"]="4";
+w["воспользовались"]="4";
+w["воспользоваться"]="4,6,13,14";
+w["воспользуйтесь"]="6,13";
+w["восстановить"]="6,13";
+w["восстановление"]="10";
+w["восстановления"]="6";
+w["впоследствии"]="4";
+w["впрочем"]="6,14";
+w["времени"]="0,8,9";
+w["время"]="0,1,4,6,8,10,12,14";
+w["вручную"]="14";
+w["все"]="4,6,10,15";
+w["всегда"]="13";
+w["всего"]="7";
+w["всеми"]="14";
+w["всемирное"]="0,8";
+w["всех"]="0,4,5,6,10";
+w["вставить"]="1";
+w["всяких"]="13";
+w["всё"]="4,11";
+w["входной"]="6";
+w["вы"]="0,1,2,3,4,6,7,9,10,11,12,13,14,15";
+w["выберете"]="4,15";
+w["выберите"]="0,5,9,10,13,14";
+w["выбор"]="2,6,9";
+w["выбора"]="1,4,5,13,14";
+w["выборе"]="4";
+w["выбору"]="4";
+w["выбрав"]="4";
+w["выбрали"]="14";
+w["выбран"]="1,4,6";
+w["выбрана"]="2";
+w["выбранном"]="4";
+w["выбранный"]="5";
+w["выбранных"]="4";
+w["выбрано"]="6,11";
+w["выбрать"]="0,1,4,6,14";
+w["выведенных"]="6";
+w["выделяется"]="4";
+w["выйти"]="7";
+w["выключая"]="14";
+w["выключение"]="5";
+w["выключения"]="11";
+w["выключить"]="14";
+w["вынуть"]="11";
+w["выпадающем"]="4";
+w["выполнения"]="1";
+w["выполнено"]="4";
+w["выполнит"]="12";
+w["выполните"]="6";
+w["выполнить"]="1,4,13";
+w["выполнялась"]="1";
+w["выполнялось"]="4";
+w["выполнять"]="11";
+w["выполняются"]="10";
+w["выпуска"]="9";
+w["выпуске"]="7";
+w["выпусков"]="6";
+w["выпуску"]="7";
+w["выровнять"]="4";
+w["выход"]="15";
+w["выходной"]="6";
+w["вычислены"]="6";
+w["вычислить"]="6";
+w["выше"]="6,10";
+w["выявление"]="4";
+w["гарантирует"]="4";
+w["гб"]="4,6";
+w["где"]="6,14";
+w["гибкости"]="6";
+w["гибридными"]="6";
+w["глубину"]="14";
+w["глубины"]="14";
+w["голубым"]="4";
+w["город"]="0";
+w["готово"]="4,11";
+w["графическая"]="15";
+w["графический"]="14";
+w["графическим"]="6,14";
+w["графического"]="6";
+w["гринвичу"]="0";
+w["д"]="4,6";
+w["да"]="9";
+w["даже"]="4";
+w["далее"]="4,7,9,12,13";
+w["дальнейшего"]="6";
+w["дальнейших"]="4";
+w["данные"]="4,6,10,11,14";
+w["данными"]="4";
+w["данных"]="1,4,6,11,13";
+w["даст"]="6";
+w["дают"]="14";
+w["действие"]="4,6";
+w["действий"]="1";
+w["действительно"]="4";
+w["действия"]="4";
+w["действиях"]="4";
+w["делаете"]="14";
+w["делать"]="9";
+w["делить"]="6";
+w["дефрагментация"]="4";
+w["дефрагментирован"]="4";
+w["диск"]="1,4,6,12,15";
+w["диска"]="4,6,13,14";
+w["дисками"]="13";
+w["дисках"]="4";
+w["диске"]="4,6,13";
+w["дисков"]="1,4";
+w["диском"]="4";
+w["дистрибутив"]="7";
+w["дистрибутива"]="6,7,13";
+w["дистрибутивом"]="6";
+w["для"]="0,1,4,6,10,14";
+w["до"]="4,6,14";
+w["добавит"]="14";
+w["добавить"]="6,10,14";
+w["добавление"]="4,14";
+w["добавления"]="14";
+w["документ"]="15";
+w["документации"]="14";
+w["должен"]="4,6,14";
+w["должна"]="4,13,14";
+w["должно"]="10";
+w["должны"]="14";
+w["должным"]="4,13";
+w["домашним"]="10";
+w["домашних"]="10";
+w["дополнительно"]="4,8,12,14";
+w["дополнительные"]="4";
+w["дополнительным"]="4";
+w["достаточно"]="0,1,10,14";
+w["достаточного"]="4";
+w["достаточное"]="4";
+w["доступ"]="4,6,14";
+w["доступа"]="1,4,10,14";
+w["доступен"]="13,14";
+w["доступна"]="14";
+w["доступно"]="3";
+w["доступного"]="4";
+w["доступное"]="4";
+w["доступные"]="6,14";
+w["доступным"]="14";
+w["доступных"]="4";
+w["драйвера"]="1,15";
+w["драйверов"]="12";
+w["драйверы"]="6";
+w["другие"]="14";
+w["другим"]="14";
+w["другими"]="13";
+w["других"]="6,10";
+w["другого"]="4";
+w["другое"]="4,6";
+w["другой"]="4,14";
+w["дублирование"]="1";
+w["е"]="6";
+w["его"]="4,6,10,13,14,15";
+w["единственным"]="4,6,14";
+w["ему"]="13";
+w["если"]="0,1,4,5,6,7,9,11,12,13,14,15";
+w["есть"]="4,6,14,15";
+w["ещё"]="3,4,10,13,14";
+w["ею"]="6";
+w["её"]="4";
+w["же"]="0,6,10";
+w["желтый"]="10";
+w["жесткого"]="4";
+w["жёсткий"]="1,6,12,15";
+w["жёсткого"]="4";
+w["жёстком"]="6";
+w["за"]="7,10";
+w["заблагорассудится"]="3";
+w["забудьте"]="4,6,11";
+w["завершена"]="1,4";
+w["завершения"]="1,10";
+w["завершив"]="1";
+w["завершить"]="6";
+w["зависеть"]="1,4";
+w["зависимости"]="3,10";
+w["загружаемая"]="14";
+w["загружает"]="1";
+w["загружается"]="1";
+w["загружать"]="1,6";
+w["загруженным"]="3";
+w["загрузится"]="13";
+w["загрузить"]="1,9,14,15";
+w["загрузиться"]="14";
+w["загрузка"]="1,4,6,14";
+w["загрузке"]="1,6,13,14";
+w["загрузки"]="1,4,6,14";
+w["загрузкой"]="14";
+w["загрузку"]="6";
+w["загрузочное"]="14";
+w["загрузочной"]="6";
+w["загрузочный"]="4,14";
+w["загрузчик"]="13,14";
+w["загрузчика"]="11,14";
+w["загрузчики"]="14";
+w["загрузчику"]="14";
+w["задать"]="10";
+w["задач"]="10";
+w["задержку"]="14";
+w["займёт"]="12";
+w["закрытыми"]="1";
+w["закрытых"]="1";
+w["заменить"]="4";
+w["замечание"]="0,1,4,6,10,14,15";
+w["занято"]="13";
+w["записан"]="6,14";
+w["записанный"]="14";
+w["записаны"]="10";
+
diff --git a/draklive/9/ru/content/search/index-2.js b/draklive/9/ru/content/search/index-2.js
new file mode 100644
index 00000000..eacd726a
--- /dev/null
+++ b/draklive/9/ru/content/search/index-2.js
@@ -0,0 +1,584 @@
+//Auto generated index for searching.
+w["записать"]="6,14";
+w["записать»"]="6";
+w["записи"]="1,6,10,14";
+w["записывать"]="6";
+w["запись"]="6";
+w["записями"]="10";
+w["запросами"]="14";
+w["запуск"]="15";
+w["запуска"]="6";
+w["запуске"]="1";
+w["запуском"]="14";
+w["запустить"]="14";
+w["заранее"]="5";
+w["затем"]="4,6,7,10,15";
+w["захотите"]="15";
+w["защищены"]="10";
+w["защищённая"]="6";
+w["звонок"]="15";
+w["звук"]="15";
+w["здесь"]="2,4,6,10,11";
+w["зелёный"]="10";
+w["знать"]="6";
+w["значение"]="6";
+w["значений"]="4";
+w["значок"]="10,15";
+w["и"]="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
+w["игр"]="10";
+w["идентификатор"]="6";
+w["из"]="1,6,10,11,15";
+w["из-за"]="14";
+w["известно"]="5";
+w["известного"]="0";
+w["известной"]="4";
+w["изменений"]="4,6,13,14";
+w["изменения"]="4,14";
+w["измените"]="4";
+w["изменить"]="1,4,5,6,10,12,14";
+w["изъяты"]="4";
+w["или"]="0,1,3,4,6,8,9,10,11,12,13,14,15";
+w["им"]="4,14";
+w["имеет"]="10,14";
+w["именем"]="14";
+w["имени"]="6,10";
+w["иметь"]="4";
+w["имеют"]="15";
+w["имеющиеся"]="14";
+w["ими"]="6";
+w["имя"]="3,10";
+w["имён"]="10";
+w["иначе"]="4,7";
+w["инсталлятор"]="4,6,12,14";
+w["инсталлятора"]="1,4,6";
+w["инсталлятором"]="4";
+w["инструмент"]="6";
+w["инструмента"]="6";
+w["инструментами"]="13";
+w["инструментов"]="6";
+w["инструментом"]="6,14";
+w["интернета"]="10";
+w["интернете"]="6";
+w["интернету"]="9";
+w["интерфейс"]="15";
+w["интерфейса"]="5,12";
+w["интерфейсом"]="6";
+w["информацией"]="7";
+w["информации"]="3,14";
+w["информацию"]="4,11";
+w["информация"]="6";
+w["исключительно"]="14";
+w["использовали"]="3,10,14";
+w["использован"]="4";
+w["использована"]="4";
+w["использование"]="0,6,14";
+w["использованием"]="1,4";
+w["использовании"]="4,14";
+w["использования"]="1,6,14";
+w["использовано"]="4";
+w["использовать"]="1,3,4,5,10,14";
+w["использоваться"]="14";
+w["используете"]="14";
+w["используется"]="0,4,5,6";
+w["используйте"]="1";
+w["используются"]="4,14";
+w["источника"]="6";
+w["источники"]="6";
+w["итак"]="6";
+w["их"]="6,14";
+w["к"]="1,4,6,7,9,10,14";
+w["каждого"]="4";
+w["каждой"]="10,13";
+w["каждый"]="6,10";
+w["как"]="0,1,3,4,6,9,13,14,15";
+w["какие"]="4";
+w["какие-то"]="4,14";
+w["каких-то"]="4";
+w["какой"]="3,6";
+w["какой-то"]="0";
+w["каком"]="12";
+w["канал"]="6";
+w["карта"]="15";
+w["касается"]="5";
+w["касаются"]="7";
+w["каталог"]="4,14";
+w["каталога"]="10";
+w["каталогам"]="10";
+w["каталогов"]="10";
+w["качестве"]="14";
+w["клавиатуры"]="2";
+w["клавиши"]="1";
+w["клавишу"]="1";
+w["классический"]="6";
+w["классического"]="6";
+w["кнопки"]="7,10,15";
+w["кнопкой"]="13";
+w["кнопку"]="4,7,9,11,12,14";
+w["когда"]="4,14";
+w["когда-то"]="13";
+w["кодеки"]="6";
+w["кодировка"]="5";
+w["кодировку"]="5";
+w["количества"]="14";
+w["командной"]="6";
+w["команду"]="6";
+w["команды"]="6";
+w["компакт-диск"]="6";
+w["комплектации"]="4";
+w["компонентах"]="6";
+w["компоненты"]="6";
+w["компоновки"]="4";
+w["компьютер"]="1,7,9,11,14";
+w["компьютера"]="0,1,4,6,8,11,14";
+w["компьютерах"]="6";
+w["компьютере"]="0,1,4,13,14";
+w["компьютером"]="1,6,10,13,14";
+w["конец"]="6";
+w["конечно"]="1,10,12";
+w["конкретном"]="7";
+w["консоли"]="6";
+w["консоль"]="6";
+w["контроллеру"]="14";
+w["контрольную"]="6";
+w["контрольных"]="6";
+w["конфигурации"]="6,14";
+w["конфигурировать"]="15";
+w["конце"]="6,12,14";
+w["копии"]="4,13";
+w["копирование"]="12";
+w["копированием"]="6";
+w["корень"]="4";
+w["корневой"]="4";
+w["которая"]="12,14,15";
+w["которого"]="1,6";
+w["которое"]="4,6,13";
+w["которой"]="2,6";
+w["котором"]="4";
+w["которому"]="4";
+w["которые"]="4,6,10,12,14";
+w["который"]="1,4,6,13,14";
+w["которым"]="4,6";
+w["которыми"]="4,14";
+w["которых"]="6,10";
+w["крайней"]="4";
+w["красного"]="10";
+w["кроме"]="1,4,6,14";
+w["кто"]="6";
+w["куда"]="13";
+w["ли"]="4,8,10,14,15";
+w["лицензионного"]="7";
+w["лицензионное"]="7";
+w["лицензирования"]="7";
+w["лицензия"]="7";
+w["лишние"]="12";
+w["лишь"]="1,6,14";
+w["логин"]="10";
+w["логина"]="3";
+w["логические"]="4";
+w["ложный"]="6";
+w["локализации"]="12";
+w["локализацию"]="5";
+w["локальной"]="6";
+w["локальном"]="6";
+w["локальный"]="14";
+w["лотка"]="11";
+w["лучше"]="10";
+w["любое"]="4";
+w["любой"]="4,6";
+w["любым"]="6";
+w["любых"]="10";
+w["максимальные"]="6";
+w["максимумом"]="4";
+w["мала"]="6";
+w["маленькие"]="6";
+w["маленьким"]="14";
+w["малых"]="6,10";
+w["манёвр"]="14";
+w["мастера"]="4";
+w["материал"]="12";
+w["машине"]="14";
+w["мб"]="4,6";
+w["мегабайтах"]="4";
+w["медленнее"]="1";
+w["медленной"]="1";
+w["между"]="4,6";
+w["менее"]="6";
+w["меньше"]="4,6";
+w["меню"]="1,4,13,14,15";
+w["менять"]="4";
+w["меняться"]="10";
+w["мере"]="4";
+w["места"]="4,13";
+w["месте"]="4";
+w["местного"]="0";
+w["местное"]="0,8";
+w["место"]="4,13";
+w["местом"]="0,13";
+w["метке"]="13";
+w["метки"]="4";
+w["метод"]="14";
+w["микропрограммы"]="1";
+w["минут"]="12";
+w["многие"]="6";
+w["много"]="4";
+w["многопроцессорность"]="14";
+w["многопроцессорных"]="14";
+w["многоядерный"]="14";
+w["могли"]="9";
+w["могут"]="6,12,14";
+w["модели"]="14";
+w["может"]="4,13,14";
+w["можете"]="0,1,2,3,4,6,10,13,14,15";
+w["можно"]="1,4,5,6,8,10,13,14,15";
+w["монтирования"]="4";
+w["монтированния"]="4";
+w["монтируйте"]="6";
+w["мы"]="6,7";
+w["мыши"]="4,13";
+w["на"]="0,1,2,3,4,6,7,8,10,11,12,13,14,15";
+w["набор"]="14";
+w["надлежащего"]="4";
+w["надлежащее"]="4";
+w["надлежащим"]="6";
+w["нажатия"]="7";
+w["нажать"]="1,4";
+w["нажмите"]="1,4,6,7,9,11,14";
+w["нажмёте"]="12,14";
+w["назад"]="4";
+w["название"]="4,6";
+w["названием"]="6";
+w["называем"]="6";
+w["называемые"]="4";
+w["называется"]="10";
+w["найти"]="4,6,13";
+w["наконец"]="3";
+w["напечатать"]="15";
+w["например"]="4,6,13,14";
+w["настоящего"]="10";
+w["настоящее"]="10";
+w["настроек"]="1,6";
+w["настроить"]="5,6,15";
+w["настройка"]="0,10,14";
+w["настройки"]="8,15";
+w["находится"]="14";
+w["начального"]="14";
+w["начальную"]="6";
+w["начальные"]="14";
+w["начальный"]="14";
+w["начата"]="6";
+w["начать"]="3,15";
+w["начинаться"]="6";
+w["начнётся"]="1";
+w["наш"]="7";
+w["нашей"]="14";
+w["нашем"]="6";
+w["не"]="1,4,6,7,9,11,12,13,14";
+w["невозможна"]="7";
+w["невозможной"]="4";
+w["него"]="14";
+w["недостаточно"]="6";
+w["недоступной"]="6";
+w["неизвестный"]="13";
+w["неиспользованный"]="12";
+w["неиспользованных"]="12";
+w["ней"]="6";
+w["некоторые"]="9,10";
+w["некоторым"]="6";
+w["некоторыми"]="1";
+w["некоторых"]="4";
+w["нельзя"]="14";
+w["ненадёжным"]="14";
+w["необходимо"]="6";
+w["необходимые"]="6";
+w["неожиданные"]="14";
+w["непосредственно"]="1";
+w["непосредственной"]="15";
+w["непригодны"]="6";
+w["несвободного"]="6";
+w["несвободное"]="6";
+w["несвободные"]="1";
+w["несвободными"]="6";
+w["нескольких"]="5";
+w["несколько"]="0,3,12,14";
+w["несовместим"]="5";
+w["нет"]="4,9,14";
+w["неудачу"]="14";
+w["неформатированною"]="6";
+w["ниже"]="4,10,14";
+w["ними"]="4";
+w["них"]="4";
+w["но"]="4,6,10";
+w["новой"]="4";
+w["новому"]="14";
+w["новый"]="13,14";
+w["новых"]="4";
+w["номер"]="4";
+w["нормально"]="12";
+w["носителе"]="4";
+w["носителей"]="6";
+w["носителем"]="6";
+w["носители"]="6";
+w["носитель"]="3,6,14";
+w["носителя"]="1,6,15";
+w["нуждается"]="6";
+w["нужна"]="14";
+w["нужно"]="4,14";
+w["нужного"]="6";
+w["нужные"]="4,10";
+w["нужный"]="5,6";
+w["нужных"]="4";
+w["нуля»"]="6";
+w["нуля»»"]="6";
+w["о"]="4,6,7,11,14";
+w["об"]="6";
+w["оба"]="6";
+w["обеспечение"]="6,15";
+w["обеспечением"]="11";
+w["обеспечением»"]="11";
+w["обеспечения"]="6,12,15";
+w["область"]="4";
+w["обнаружен"]="4";
+w["обнаружения"]="6";
+w["обнаруженного"]="4";
+w["обнаружены"]="4";
+w["обнаруживает"]="14";
+w["обнаружит"]="14";
+w["обнаружить"]="14";
+w["обновить"]="6,14";
+w["обновления"]="6,9";
+w["обновлены"]="9";
+w["обозначен"]="2";
+w["обозначение"]="14";
+w["обозначены"]="4";
+w["обозначьте"]="4";
+w["обоих"]="6";
+w["оборудовании"]="12";
+w["оборудованию"]="4";
+w["оборудования"]="6,12,15";
+w["образ"]="6";
+w["образа"]="6";
+w["образами"]="6";
+w["образах"]="6";
+w["образов"]="6";
+w["образом"]="4,6,13";
+w["образу"]="6";
+w["образы"]="6";
+w["обратили"]="7";
+w["обратите"]="14";
+w["обходной"]="14";
+w["общего"]="4";
+w["обычно"]="1,4,10";
+w["обычного"]="6";
+w["обычным"]="10";
+w["обязательно"]="4";
+w["обязательным"]="14";
+w["ограничиться"]="14";
+w["один"]="4,13";
+w["одним"]="14";
+w["одного"]="4";
+w["одной"]="15";
+w["одну"]="6";
+w["ожидайте"]="1";
+w["ознакомиться"]="4,7";
+w["ознакомления"]="6";
+w["ознакомьтесь"]="7,14";
+w["означает"]="4,6";
+w["означать"]="6,14";
+w["ок"]="6,14";
+w["окажетесь"]="3";
+w["окне"]="4,5,6";
+w["окно"]="3,6,15";
+w["окон"]="13";
+w["он"]="4";
+w["она"]="12,14";
+w["они"]="6";
+w["оно"]="6";
+w["опасным"]="6";
+w["оперативной"]="1";
+w["операцией"]="4";
+w["операционной"]="4,13,14";
+w["операционную"]="1,14";
+w["операционные"]="4,14";
+w["операционных"]="0,14";
+w["определение"]="6";
+w["определены"]="4";
+w["определитесь"]="4";
+w["определить"]="4,6,8,13";
+w["определиться"]="4";
+w["определять"]="14";
+w["определённая"]="6";
+w["определённого"]="6,14";
+w["определённое"]="6,12";
+w["определённую"]="10";
+w["определённые"]="6";
+w["определённый"]="1";
+w["определённых"]="14";
+w["опций"]="14";
+w["опционально"]="14";
+w["опцию"]="14";
+w["опция"]="1,14";
+w["ос"]="1,14";
+w["освободившегося"]="13";
+w["освобождено"]="13";
+w["основе"]="2,6";
+w["основной"]="4,14";
+w["основном"]="6,14";
+w["основные"]="4,14";
+w["остальная"]="6";
+w["остальное"]="4";
+w["остальные"]="4";
+w["останется"]="6";
+w["осторожны"]="4";
+w["осторожным"]="13";
+w["острием"]="14";
+w["осуществляться"]="4";
+w["от"]="1,3,4,6,10,11,12,13";
+w["отведена"]="4";
+w["ответ"]="4,13,15";
+w["отдано"]="4";
+w["отдельная"]="14";
+w["отдельного"]="4";
+w["отдельном"]="4";
+w["отключать"]="6";
+w["отключить"]="5";
+w["откроется"]="4";
+w["откройте"]="6";
+w["открывайте"]="6";
+w["открыта"]="13";
+w["открытия"]="1";
+w["открыто"]="6,15";
+w["открыть"]="1";
+w["отличаться"]="10";
+w["отличном"]="12";
+w["отметки"]="10,14";
+w["отметку"]="14";
+w["отметьте"]="7";
+w["относительно"]="6";
+w["отношении"]="14";
+w["отображаться"]="14";
+w["отсканировать"]="15";
+w["отсоединить"]="11";
+w["отсоединён"]="14";
+w["офисными"]="10";
+w["очень"]="1,6,13";
+w["очертаний"]="4";
+w["очистить"]="4";
+w["ошибками"]="6";
+w["ошибок"]="10";
+w["пакетами"]="6";
+w["пакетов"]="6,12";
+w["пакеты"]="6,9,12";
+w["памяти"]="1,4,6";
+w["панели"]="10";
+w["панель"]="13";
+w["параметр"]="14";
+w["параметра"]="14";
+w["параметров"]="4,10,14";
+w["параметры"]="4,14,15";
+w["парными"]="4";
+w["пароле"]="10";
+w["пароли"]="10";
+w["пароль"]="3,10,14";
+w["пароля"]="10,14";
+w["паролям"]="10";
+w["пару"]="1";
+w["пауза"]="14";
+w["первого"]="14";
+w["первой"]="1";
+w["первоначальным"]="10,14";
+w["первые"]="6";
+w["первый"]="1";
+w["переводов"]="12";
+w["переводы"]="6";
+w["перед"]="4,7,14";
+w["передать"]="14";
+w["передвижения"]="4";
+w["перезагружен"]="7";
+w["перезагрузите"]="13";
+w["перезагрузить"]="1,11";
+w["перезагрузка"]="11";
+w["перезагрузки"]="11,14";
+w["перезапишут"]="10";
+w["перезапуска"]="11";
+w["перейдите"]="14";
+w["перейти"]="1";
+w["переносной"]="14";
+w["перетаскиванием"]="4";
+w["перечень"]="4";
+w["пикселях"]="14";
+w["пиктограмма"]="10";
+w["питанием"]="14";
+w["планируете"]="12";
+w["по"]="0,1,4,5,6,13,14";
+w["повредить"]="6";
+w["повреждённые"]="4";
+w["повторите"]="10,14";
+w["повторить"]="6,10";
+w["повторно"]="6,10,14";
+w["повторного"]="1";
+w["повторяйте"]="4";
+w["под"]="4,6";
+w["поддерживается"]="14";
+w["поддержки"]="14";
+w["подключен"]="9";
+w["подключенного"]="1";
+w["подробнее"]="6";
+w["подробности"]="6";
+w["подсказка"]="1,4,6";
+w["подтверждение"]="4";
+w["пожалуйста"]="5,14";
+w["позволит"]="14";
+w["поиск"]="12";
+w["поиска"]="6";
+w["пока"]="4";
+w["покажет"]="4,12,14";
+w["показана"]="6,15";
+w["показанные"]="14";
+w["показано"]="15";
+w["показаны"]="14";
+w["показывает"]="8";
+w["показывать"]="6";
+w["поле"]="10,14";
+w["полезно"]="14";
+w["полезным"]="4,6";
+w["полного"]="4";
+w["полноценного"]="6";
+w["полный"]="4,14";
+w["полос"]="11";
+w["полосе"]="11";
+w["получен"]="6";
+w["получении"]="11";
+w["получения"]="1,4,6,11";
+w["полученного"]="6";
+w["полученное"]="6";
+w["полученных"]="6";
+w["получено"]="6";
+w["получившуюся"]="14";
+w["получите"]="6";
+w["получить"]="4,6";
+w["пользовались"]="4";
+w["пользования"]="10";
+w["пользователей"]="6,10";
+w["пользователем"]="10";
+w["пользователь"]="10";
+w["пользователя"]="3,6,10,14";
+w["пользователями"]="10";
+w["пользоваться"]="2,6,14";
+w["пользуетесь"]="4";
+w["пользуйтесь"]="4";
+w["поля"]="14";
+w["помня"]="10";
+w["помочь"]="14";
+w["помощью"]="0,1,4,5,6,8,10,13,14,15";
+w["понадобится"]="6";
+w["попадёте"]="3";
+w["попробовать"]="1,6";
+w["попросит"]="11";
+w["попросите"]="6";
+w["попытается"]="14";
+w["попытаться"]="6";
+w["попытке"]="14";
+w["портативной"]="1,6,15";
+w["портативную"]="6";
+w["портативный"]="14";
+
diff --git a/draklive/9/ru/content/search/index-3.js b/draklive/9/ru/content/search/index-3.js
new file mode 100644
index 00000000..07ccd619
--- /dev/null
+++ b/draklive/9/ru/content/search/index-3.js
@@ -0,0 +1,582 @@
+//Auto generated index for searching.
+w["портативных"]="6";
+w["порядке"]="11";
+w["поскольку"]="14";
+w["после"]="1,5,6,7,10,11,13";
+w["последнего"]="4";
+w["последствиях"]="14";
+w["последующим"]="6";
+w["посмотрите"]="4";
+w["потенциально"]="6";
+w["потерпеть"]="14";
+w["потребность"]="13";
+w["потребностям"]="6,13";
+w["поэтому"]="4";
+w["появления"]="14";
+w["пояс"]="0";
+w["пояса"]="0,2";
+w["поясе"]="0";
+w["пояснения"]="14";
+w["прав"]="10";
+w["права"]="6,10";
+w["правилам"]="4";
+w["правильно"]="4,11,15";
+w["правильности"]="4";
+w["право"]="13";
+w["правой"]="13";
+w["пребывания"]="0";
+w["предлагаемая"]="2";
+w["предлагаемое"]="4";
+w["предложен"]="14";
+w["предложению"]="4";
+w["предложениями"]="4";
+w["предложено"]="12";
+w["предложить"]="4";
+w["предметом"]="14";
+w["предназначен"]="6";
+w["предназначенный"]="14";
+w["предназначено"]="6";
+w["предоставит"]="6,13";
+w["предоставить"]="10,14";
+w["предоставлена"]="6";
+w["предоставляет"]="14";
+w["предостережение"]="10";
+w["предпочтениями"]="4";
+w["представлены"]="14";
+w["предупреждение"]="4";
+w["предупреждены"]="14";
+w["предусмотрена"]="13";
+w["предусмотрено"]="14";
+w["предыдущего"]="4";
+w["предыдущем"]="14";
+w["предыдущий"]="15";
+w["предыдущих"]="6";
+w["прервать"]="11,15";
+w["прерываний"]="14";
+w["прерываниями"]="14";
+w["при"]="1,4,5,6,10,13,14,15";
+w["приведенный"]="4";
+w["приведены"]="6,14";
+w["приведён"]="4";
+w["приведённое"]="15";
+w["приведённом"]="4,6";
+w["приветствия»"]="6";
+w["пригодны"]="6";
+w["пригодным"]="4";
+w["придётся"]="4,6,14";
+w["пример"]="4,6";
+w["примерно"]="4";
+w["примечание"]="14";
+w["примечании"]="10";
+w["примечания"]="7";
+w["принтер"]="15";
+w["принять"]="7";
+w["приобретёт"]="4";
+w["приоритет"]="1";
+w["приоритетностью"]="14";
+w["присоединить"]="14";
+w["причиной"]="6";
+w["приятный"]="14";
+w["проблемы"]="14,15";
+w["проверенный"]="6";
+w["проверит"]="10,14";
+w["проверить"]="4,15";
+w["проверка"]="6,14,15";
+w["проверки"]="6,15";
+w["программ"]="10";
+w["программа"]="11,12,14";
+w["программами"]="6,10";
+w["программе"]="6";
+w["программируемому"]="14";
+w["программного"]="6";
+w["программное"]="6";
+w["программным"]="11,14";
+w["программой"]="4,9";
+w["программу"]="6";
+w["программы"]="4,14";
+w["прогресса"]="11";
+w["продолжением"]="4";
+w["продолжить"]="4,6,9,14,15";
+w["проиграл"]="15";
+w["произвольного"]="14";
+w["произойдёт"]="12";
+w["происходит"]="6";
+w["пройдены"]="15";
+w["просматривать"]="4";
+w["просмотра"]="10";
+w["просмотреть"]="4";
+w["просто"]="4,6,15";
+w["пространства"]="4";
+w["пространство"]="4,10";
+w["простым"]="6";
+w["противном"]="14";
+w["протокола"]="6";
+w["процедура"]="1,6,12";
+w["процедуры"]="6,12";
+w["процессов"]="14";
+w["процессор"]="14";
+w["процессоров"]="14";
+w["процессу"]="11";
+w["проще"]="6";
+w["пункт"]="1,2,4,7,13,14,15";
+w["пункта"]="1,4,6,13,14";
+w["пунктов"]="1,4";
+w["пунктом"]="4,13";
+w["пункты"]="14";
+w["пуск"]="13";
+w["пустой"]="12";
+w["путь"]="6";
+w["путём"]="1";
+w["работа"]="4";
+w["работает"]="1";
+w["работать"]="12";
+w["работе"]="14";
+w["работу"]="4,9,11";
+w["работы"]="0,12";
+w["рабочая"]="6";
+w["рабочем"]="15";
+w["рабочие"]="6";
+w["рабочим"]="3";
+w["рабочую"]="6";
+w["равен"]="4";
+w["раз"]="4,10,14";
+w["разбиение"]="4";
+w["раздел"]="4,6,13,14";
+w["раздела"]="0,4,14";
+w["разделами"]="13";
+w["разделах"]="4,6";
+w["разделе"]="4,13,14,15";
+w["разделение"]="4";
+w["разделения"]="4";
+w["разделов"]="4";
+w["разделом"]="6,14";
+w["разделу"]="4";
+w["разделы"]="4,6,13,14";
+w["разделы»"]="15";
+w["различные"]="4,6";
+w["размер"]="4,6";
+w["размера"]="4";
+w["размерами"]="4";
+w["размером"]="6";
+w["размеру"]="4,6,13";
+w["размеры"]="4";
+w["разметка"]="4";
+w["разработчиков"]="4";
+w["разрешение"]="14";
+w["разрешений"]="14";
+w["раскладка"]="2";
+w["раскладку"]="2";
+w["раскрывающихся"]="4";
+w["распознан"]="14";
+w["расположен"]="0";
+w["расположению"]="4,13";
+w["расположенного"]="13";
+w["распределит"]="4";
+w["распространение"]="6";
+w["расхождение"]="6";
+w["расширенному"]="14";
+w["расширенными"]="14";
+w["расширить"]="13";
+w["реализация"]="14";
+w["регистра"]="10";
+w["регистрационное"]="10";
+w["регистру"]="10";
+w["режим"]="0,4,15";
+w["режима"]="14,15";
+w["режиме"]="1,4,14";
+w["резервной"]="4,13";
+w["резервные"]="4,13";
+w["результатах"]="14";
+w["результате"]="6";
+w["рекомендуем"]="14";
+w["репозиториев"]="11";
+w["репозиториях"]="14";
+w["риск"]="14";
+w["риски"]="4";
+w["рискованной"]="4";
+w["рисунок"]="4";
+w["ручная"]="4";
+w["рядом"]="0";
+w["с"]="0,1,3,4,5,6,7,8,9,10,11,13,14,15";
+w["самая"]="6";
+w["самого"]="6";
+w["самостоятельно"]="4";
+w["сведения"]="4,6";
+w["свободного"]="4";
+w["свободное"]="4,6";
+w["сводка"]="10";
+w["своего"]="4";
+w["своем"]="4";
+w["свой"]="14";
+w["своп"]="4";
+w["свопа"]="4";
+w["связаны"]="14";
+w["связи"]="6";
+w["сделан"]="9";
+w["сделанном"]="4";
+w["сеанса"]="4";
+w["себя"]="4";
+w["сейчас"]="9";
+w["сектор"]="14";
+w["сектора"]="4";
+w["секунд"]="3";
+w["секундах"]="14";
+w["семейства"]="6";
+w["сервер"]="8";
+w["сетевой"]="15";
+w["сети"]="6";
+w["символов"]="10";
+w["симметричную"]="14";
+w["синхронизацию"]="8";
+w["систем"]="0,6,14";
+w["система"]="1,5,6,13,14";
+w["системами"]="14";
+w["системах"]="0,14";
+w["системе"]="4,5,13,14,15";
+w["системном"]="14";
+w["системный"]="14";
+w["системой"]="1,4";
+w["систему"]="1,4,6,12,13,14,15";
+w["системы"]="1,4,5,6,10,11,12,13,14,15";
+w["системы»"]="13";
+w["сканер"]="15";
+w["скачаны"]="6";
+w["скачать"]="6";
+w["скопируйте"]="6";
+w["скорость"]="6";
+w["слева"]="4,13";
+w["следовательно"]="4,6";
+w["следует"]="1,4,6,7,8,10,11,13,14";
+w["следующего"]="0";
+w["следующей"]="13";
+w["следующем"]="12,14";
+w["следующему"]="14";
+w["следующим"]="4";
+w["следующих"]="6";
+w["следующую"]="6";
+w["слишком"]="6";
+w["сложности"]="10";
+w["сложные"]="14";
+w["сложным"]="10";
+w["случае"]="1,6,14";
+w["случаях"]="6";
+w["см"]="4,11,14";
+w["смесь"]="10";
+w["смогли"]="13";
+w["сможете"]="1,4,6";
+w["смонтирован"]="4";
+w["смотрите"]="14";
+w["сначала"]="4";
+w["снимите"]="14";
+w["снимке"]="6,14";
+w["снимку"]="14";
+w["снимок"]="4";
+w["снова"]="6";
+w["снятие"]="14";
+w["со"]="1,9";
+w["собственные"]="4";
+w["советуем"]="4";
+w["советы"]="10";
+w["совместимые"]="4";
+w["совпадает"]="10,14";
+w["согласиться"]="7,12";
+w["согласно"]="4";
+w["согласны"]="4,7";
+w["соглашение"]="7";
+w["соглашения"]="7";
+w["содержание"]="10";
+w["содержания"]="4";
+w["содержат"]="6";
+w["содержимое"]="1,4,6";
+w["содержит"]="6";
+w["соедините"]="6";
+w["соединить"]="1";
+w["соединён"]="14";
+w["создавать"]="4,13";
+w["создали"]="4";
+w["создан"]="4,14";
+w["создания"]="6,13";
+w["созданные"]="14";
+w["создано"]="4";
+w["созданы"]="4,10";
+w["создать"]="4,12,13";
+w["создаёт"]="14";
+w["сообщить"]="14";
+w["соответствии"]="4";
+w["соответствовать"]="14";
+w["соответствует"]="6,10";
+w["соответствуют"]="11";
+w["соответствующего"]="4";
+w["соответствующей"]="14";
+w["соответствующему"]="4";
+w["соответствующие"]="14";
+w["соответствующих"]="4";
+w["соответствующую"]="6,13";
+w["составляет"]="6";
+w["состоящая"]="6";
+w["сотрите"]="4";
+w["сохранены"]="4,15";
+w["сохранить"]="6,12";
+w["спасение"]="13";
+w["специализированной"]="4";
+w["специальный"]="4";
+w["списка"]="14";
+w["списке"]="4";
+w["список"]="4,12,14";
+w["способ"]="6";
+w["справки"]="6";
+w["справочной"]="14";
+w["сравнению"]="1";
+w["сравните"]="6";
+w["среда"]="6";
+w["средства"]="6,13";
+w["средство"]="4,6";
+w["среду"]="6";
+w["среды"]="6";
+w["стандарта"]="4";
+w["стандартом"]="14";
+w["станет"]="4";
+w["становится"]="14";
+w["стереть"]="4";
+w["стоит"]="12,14";
+w["столе"]="15";
+w["столом"]="3";
+w["сторонней"]="14";
+w["страница"]="15";
+w["странице"]="4,6";
+w["страницей"]="14";
+w["страницу"]="13,15";
+w["страницы"]="4,6,14";
+w["страну"]="0";
+w["страх"]="14";
+w["стрелками"]="1";
+w["строка"]="6";
+w["строки"]="6";
+w["стёрты"]="4";
+w["сумм"]="6";
+w["суммах"]="6";
+w["сумму"]="6";
+w["суперпользователь"]="10";
+w["суперпользователя"]="10";
+w["суффиксом"]="1";
+w["существовало"]="4";
+w["существует"]="4,6,14";
+w["существующие"]="4";
+w["существующий"]="13";
+w["считаете"]="11,14";
+w["считается"]="14";
+w["т"]="4,6";
+w["так"]="0,4,14";
+w["также"]="0,4,6,13";
+w["такие"]="4,6,14";
+w["таким"]="14";
+w["таких"]="4,6";
+w["такого"]="4";
+w["такое"]="12";
+w["такой"]="4,10,14";
+w["таком"]="13";
+w["такую"]="13";
+w["там"]="4,14";
+w["твёрдый"]="4";
+w["текста"]="14";
+w["текстовым"]="14";
+w["тем"]="4,6";
+w["теоретически"]="14";
+w["теперь"]="3,6";
+w["тест"]="6";
+w["тестирование"]="1,4,15";
+w["тестовую"]="15";
+w["тех"]="6";
+w["тип"]="4";
+w["типа"]="4";
+w["типичные"]="6";
+w["типичный"]="14";
+w["типовые"]="1";
+w["типу"]="4";
+w["то"]="4,6,7,14,15";
+w["того"]="1,3,4,6,12,14";
+w["только"]="1,4,6,9,13,14";
+w["том"]="0,4,14";
+w["точка"]="4";
+w["точки"]="4";
+w["точку"]="4";
+w["традиционное"]="6";
+w["треугольником"]="14";
+w["три"]="4,6";
+w["трогайте"]="14";
+w["тёмно-синим"]="4";
+w["у"]="4,6,13,14";
+w["убедитесь"]="0,4";
+w["убедиться"]="4";
+w["уверены"]="4,14";
+w["увидеть"]="6";
+w["увидите"]="1,6,11";
+w["удаление"]="12,13";
+w["удалении"]="13";
+w["удаления"]="13";
+w["удалены"]="12";
+w["удалить"]="12,13";
+w["удалять"]="4";
+w["удобно"]="6";
+w["удовлетворяет"]="13";
+w["удостовериться"]="10";
+w["уже"]="4,5,6,14,15";
+w["узкие"]="10";
+w["узкий"]="6";
+w["узнать"]="6,14";
+w["укажете"]="6";
+w["указан"]="10";
+w["указанного"]="2";
+w["указанном"]="11";
+w["указанные"]="15";
+w["указанным"]="6";
+w["указано"]="4,6,14";
+w["указаны"]="4";
+w["указателя"]="4";
+w["указать"]="0,2,8,10,14";
+w["указывать"]="4,10";
+w["улучшены"]="9";
+w["уменьшение"]="4";
+w["умолчанию"]="5,14";
+w["уничтожены"]="6";
+w["управление"]="10,13,14";
+w["управления"]="5,6,10,13,14,15";
+w["управляется"]="15";
+w["условия"]="7";
+w["условиями"]="7";
+w["успешно"]="15";
+w["устанавливает"]="14";
+w["устанавливаете"]="4";
+w["устанавливается"]="14";
+w["установить"]="1,6,9,13,14,15";
+w["установка"]="6,7,14,15";
+w["установке"]="1,5,6,10,14,15";
+w["установки"]="1,4,5,6,10,11,14,15";
+w["установкой"]="7";
+w["установку"]="3,6,14,15";
+w["установлен"]="14";
+w["установлена"]="12,13";
+w["установленного"]="14";
+w["установленной"]="1,4,5,15";
+w["установленную"]="6";
+w["установленные"]="14";
+w["установленный"]="14";
+w["установленных"]="5,14";
+w["установлено"]="0";
+w["установлены"]="14";
+w["установщик"]="14";
+w["устаревшей"]="1,4";
+w["устаревшие"]="14";
+w["устаревших"]="14";
+w["устройств"]="1";
+w["устройства"]="4,6,14,15";
+w["устройство"]="1,6,14";
+w["устройством"]="6";
+w["устройству"]="1";
+w["учётом"]="10";
+w["файл"]="6";
+w["файла"]="6";
+w["файлами"]="6";
+w["файлов"]="4,12";
+w["файловой"]="4,6";
+w["файловую"]="4";
+w["файловые"]="4";
+w["файлу"]="6";
+w["файлы"]="6";
+w["физический"]="6";
+w["флешек"]="4";
+w["флешка"]="6";
+w["флешке"]="6";
+w["флешки"]="1,6";
+w["флешку"]="6,11";
+w["флэш-диска"]="6";
+w["флэш-накопитель"]="14";
+w["форматирование"]="4,13";
+w["форматирования"]="4";
+w["форматировать"]="4,6";
+w["фрагментом"]="6";
+w["ходе"]="6";
+w["хорошо"]="15";
+w["хотели"]="6";
+w["хотите"]="2,4,9,14";
+w["хотя"]="4,14";
+w["хотят"]="6";
+w["хранения"]="4";
+w["хранилища"]="13";
+w["хранится"]="14";
+w["хранить"]="4";
+w["храниться"]="4,6";
+w["хранятся"]="4,6";
+w["хранящиеся"]="4";
+w["цвет"]="10";
+w["цветов"]="14";
+w["цветом"]="4";
+w["целей"]="15";
+w["цели"]="14";
+w["целом"]="4";
+w["целостности"]="6";
+w["центра"]="5,15";
+w["цепная"]="14";
+w["цепной"]="14";
+w["цифр"]="6,10";
+w["часов"]="0,8";
+w["часового"]="0,2";
+w["часовой"]="0";
+w["часовом"]="0";
+w["частности"]="4,6,10";
+w["часть"]="4";
+w["часы"]="8";
+w["чем"]="10";
+w["через"]="3,14";
+w["числа"]="6";
+w["числе"]="4";
+w["число"]="6";
+w["числовое"]="6";
+w["числом"]="6";
+w["чтению"]="1";
+w["чтения"]="1,6,10";
+w["что"]="0,1,4,5,6,7,10,11,14,15";
+w["что-либо"]="14";
+w["чтобы"]="0,1,4,6,7,9,10,13,14,15";
+w["чувствительно"]="10";
+w["шага"]="15";
+w["шаге"]="12";
+w["шаги"]="6,14";
+w["шагов"]="14";
+w["шестнадцатеричное"]="6";
+w["шестнадцатеричных"]="6";
+w["шифрованием"]="4";
+w["шифровать"]="4";
+w["штатном"]="4";
+w["щита"]="10";
+w["щёлкните"]="13,15";
+w["экономить"]="14";
+w["экран"]="1,3,12,15";
+w["экрана"]="1,4,14";
+w["экране"]="6";
+w["эксперта"]="4";
+w["энергию"]="14";
+w["эта"]="1,12";
+w["этапе"]="8,10,14";
+w["эти"]="1,4,7,9,11,14";
+w["этим"]="4";
+w["этих"]="0,6,11";
+w["это"]="4,6,12,13,14,15";
+w["этого"]="0,1,4,6,9,13,14";
+w["этой"]="4,6,9,10,14";
+w["этом"]="1,4,6,8,10,12,14";
+w["этот"]="0,1,4,6,14";
+w["эту"]="5,14";
+w["является"]="4,6,14,15";
+w["являются"]="1,6";
+w["ядру"]="14";
+w["язык"]="1,5,12";
+w["языка"]="1,2";
+w["языках"]="6";
+w["языке"]="6";
+w["языки"]="6";
+w["языков"]="5";
+w["языком"]="5";
+w["ёмкость"]="6";
+w["ёмкостью"]="6";
+
diff --git a/draklive/9/ru/content/search/ja-jp.props b/draklive/9/ru/content/search/ja-jp.props
new file mode 100644
index 00000000..27568054
--- /dev/null
+++ b/draklive/9/ru/content/search/ja-jp.props
@@ -0,0 +1 @@
+J01=\\u306B \ No newline at end of file
diff --git a/draklive/9/ru/content/search/nwSearchFnt.js b/draklive/9/ru/content/search/nwSearchFnt.js
new file mode 100644
index 00000000..0111559c
--- /dev/null
+++ b/draklive/9/ru/content/search/nwSearchFnt.js
@@ -0,0 +1,513 @@
+/*----------------------------------------------------------------------------
+ * JavaScript for webhelp search
+ *----------------------------------------------------------------------------
+ This file is part of the webhelpsearch plugin for DocBook WebHelp
+ Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved.
+ www.nexwave.biz Nadege Quaine
+ http://kasunbg.blogspot.com/ Kasun Gajasinghe
+ */
+
+//string initialization
+var htmlfileList = "htmlFileList.js";
+var htmlfileinfoList = "htmlFileInfoList.js";
+var useCJKTokenizing = false;
+
+/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */
+function Verifie(ditaSearch_Form) {
+
+ // Check browser compatibitily
+ if (navigator.userAgent.indexOf("Konquerer") > -1) {
+
+ alert(txt_browser_not_supported);
+ return;
+ }
+
+
+ var expressionInput = document.ditaSearch_Form.textToSearch.value;
+ //Set a cookie to store the searched keywords
+ $.cookie('textToSearch', expressionInput);
+
+
+ if (expressionInput.length < 1) {
+
+ // expression is invalid
+ alert(txt_enter_at_least_1_char);
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+ else {
+
+ // Effectuer la recherche
+ Effectuer_recherche(expressionInput);
+
+ // reactive la fenetre de search (utile car cadres)
+ document.ditaSearch_Form.textToSearch.focus();
+ }
+}
+
+var stemQueryMap = new Array(); // A hashtable which maps stems to query words
+
+/* This function parses the search expression, loads the indices and displays the results*/
+function Effectuer_recherche(expressionInput) {
+
+ /* Display a waiting message */
+ //DisplayWaitingMessage();
+
+ /*data initialisation*/
+ var searchFor = ""; // expression en lowercase et sans les caracte res speciaux
+ //w = new Object(); // hashtable, key=word, value = list of the index of the html files
+ scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for
+ var wordsList = new Array(); // Array with the words to look for
+ var finalWordsList = new Array(); // Array with the words to look for after removing spaces
+ var linkTab = new Array();
+ var fileAndWordList = new Array();
+ var txt_wordsnotfound = "";
+
+
+ /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/
+ searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "</").replace(/_di_/g, "%24_");
+
+ searchFor = searchFor.replace(/ +/g, " ");
+ searchFor = searchFor.replace(/ $/, "").replace(/^ /, "");
+
+ wordsList = searchFor.split(" ");
+ wordsList.sort();
+
+ //set the tokenizing method
+ if(typeof indexerLanguage != "undefined" && (indexerLanguage=="zh" || indexerLanguage=="ja" ||indexerLanguage=="ko")){
+ useCJKTokenizing=true;
+ } else {
+ useCJKTokenizing=false;
+ }
+ //If Lucene CJKTokenizer was used as the indexer, then useCJKTokenizing will be true. Else, do normal tokenizing.
+ // 2-gram tokenizinghappens in CJKTokenizing,
+ if(useCJKTokenizing){
+ finalWordsList = cjkTokenize(wordsList);
+ } else {
+ finalWordsList = tokenize(wordsList);
+ }
+
+ //load the scripts with the indices: the following lines do not work on the server. To be corrected
+ /*if (IEBrowser) {
+ scriptsarray = loadTheIndexScripts (scriptLetterTab);
+ } */
+
+ /**
+ * Compare with the indexed words (in the w[] array), and push words that are in it to tempTab.
+ */
+ var tempTab = new Array();
+ for (var t in finalWordsList) {
+ if (w[finalWordsList[t].toString()] == undefined) {
+ txt_wordsnotfound += finalWordsList[t] + " ";
+ } else {
+ tempTab.push(finalWordsList[t]);
+ }
+ }
+ finalWordsList = tempTab;
+
+ if (finalWordsList.length) {
+
+ //search 'and' and 'or' one time
+ fileAndWordList = SortResults(finalWordsList);
+
+ var cpt = fileAndWordList.length;
+ for (var i = cpt - 1; i >= 0; i--) {
+ if (fileAndWordList[i] != undefined) {
+ linkTab.push("<p>" + txt_results_for + " " + "<span class=\"searchExpression\">" + fileAndWordList[i][0].motslisteDisplay + "</span>" + "</p>");
+
+ linkTab.push("<ul class='searchresult'>");
+ for (t in fileAndWordList[i]) {
+ //DEBUG: alert(": "+ fileAndWordList[i][t].filenb+" " +fileAndWordList[i][t].motsliste);
+ //linkTab.push("<li><a href=\"../"+fl[fileAndWordList[i][t].filenb]+"\">"+fl[fileAndWordList[i][t].filenb]+"</a></li>");
+ var tempInfo = fil[fileAndWordList[i][t].filenb];
+ var pos1 = tempInfo.indexOf("@@@");
+ var pos2 = tempInfo.lastIndexOf("@@@");
+ var tempPath = tempInfo.substring(0, pos1);
+ var tempTitle = tempInfo.substring(pos1 + 3, pos2);
+ var tempShortdesc = tempInfo.substring(pos2 + 3, tempInfo.length);
+
+ //file:///home/kasun/docbook/WEBHELP/webhelp-draft-output-format-idea/src/main/resources/web/webhelp/installation.html
+ var linkString = "<li><a href=" + tempPath + ">" + tempTitle + "</a>";
+ // var linkString = "<li><a href=\"installation.html\">" + tempTitle + "</a>";
+ if ((tempShortdesc != "null")) {
+ linkString += "\n<div class=\"shortdesclink\">" + tempShortdesc + "</div>";
+ }
+ linkString += "</li>";
+ linkTab.push(linkString);
+ }
+ linkTab.push("</ul>");
+ }
+ }
+ }
+
+ var results = "";
+ if (linkTab.length > 0) {
+ /*writeln ("<p>" + txt_results_for + " " + "<span class=\"searchExpression\">" + cleanwordsList + "</span>" + "<br/>"+"</p>");*/
+ results = "<p>";
+ //write("<ul class='searchresult'>");
+ for (t in linkTab) {
+ results += linkTab[t].toString();
+ }
+ results += "</p>";
+ } else {
+ results = "<p>" + "Your search returned no results for " + "<span class=\"searchExpression\">" + txt_wordsnotfound + "</span>" + "</p>";
+ }
+ //alert(results);
+ document.getElementById('searchResults').innerHTML = results;
+}
+
+function tokenize(wordsList){
+ var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces
+ var cleanwordsList = new Array(); // Array with the words to look for
+ for(var j in wordsList){
+ var word = wordsList[j];
+ if(typeof stemmer != "undefined" ){
+ stemQueryMap[stemmer(word)] = word;
+ } else {
+ stemQueryMap[word] = word;
+ }
+ }
+ //stemmedWordsList is the stemmed list of words separated by spaces.
+ for (var t in wordsList) {
+ wordsList[t] = wordsList[t].replace(/(%22)|^-/g, "");
+ if (wordsList[t] != "%20") {
+ scriptLetterTab.add(wordsList[t].charAt(0));
+ cleanwordsList.push(wordsList[t]);
+ }
+ }
+
+ if(typeof stemmer != "undefined" ){
+ //Do the stemming using Porter's stemming algorithm
+ for (var i = 0; i < cleanwordsList.length; i++) {
+ var stemWord = stemmer(cleanwordsList[i]);
+ stemmedWordsList.push(stemWord);
+ }
+ } else {
+ stemmedWordsList = cleanwordsList;
+ }
+ return stemmedWordsList;
+}
+
+//Invoker of CJKTokenizer class methods.
+function cjkTokenize(wordsList){
+ var allTokens= new Array();
+ var notCJKTokens= new Array();
+ var j=0;
+ for(j=0;j<wordsList.length;j++){
+ var word = wordsList[j];
+ if(getAvgAsciiValue(word) < 127){
+ notCJKTokens.push(word);
+ } else {
+ var tokenizer = new CJKTokenizer(word);
+ var tokensTmp = tokenizer.getAllTokens();
+ allTokens = allTokens.concat(tokensTmp);
+ }
+ }
+ allTokens = allTokens.concat(tokenize(notCJKTokens));
+ return allTokens;
+}
+
+//A simple way to determine whether the query is in english or not.
+function getAvgAsciiValue(word){
+ var tmp = 0;
+ var num = word.length < 5 ? word.length:5;
+ for(var i=0;i<num;i++){
+ if(i==5) break;
+ tmp += word.charCodeAt(i);
+ }
+ return tmp/num;
+}
+
+//CJKTokenizer
+function CJKTokenizer(input){
+ this.input = input;
+ this.offset=-1;
+ this.tokens = new Array();
+ this.incrementToken = incrementToken;
+ this.tokenize = tokenize;
+ this.getAllTokens = getAllTokens;
+ this.unique = unique;
+
+ function incrementToken(){
+ if(this.input.length - 2 <= this.offset){
+ // console.log("false "+offset);
+ return false;
+ }
+ else {
+ this.offset+=1;
+ return true;
+ }
+ }
+
+ function tokenize(){
+ //document.getElementById("content").innerHTML += x.substring(offset,offset+2)+"<br>";
+ return this.input.substring(this.offset,this.offset+2);
+ }
+
+ function getAllTokens(){
+ while(this.incrementToken()){
+ var tmp = this.tokenize();
+ this.tokens.push(tmp);
+ }
+ return this.unique(this.tokens);
+// document.getElementById("content").innerHTML += tokens+" ";
+// document.getElementById("content").innerHTML += "<br>dada"+sortedTokens+" ";
+// console.log(tokens.length+"dsdsds");
+ /*for(i=0;i<tokens.length;i++){
+ console.log(tokens[i]);
+ var ss = tokens[i] == sortedTokens[i];
+
+// document.getElementById("content").innerHTML += "<br>dada"+un[i]+"- "+stems[i]+"&nbsp;&nbsp;&nbsp;"+ ss;
+ document.getElementById("content").innerHTML += "<br>"+sortedTokens[i];
+ }*/
+ }
+
+ function unique(a)
+ {
+ var r = new Array();
+ o:for(var i = 0, n = a.length; i < n; i++)
+ {
+ for(var x = 0, y = r.length; x < y; x++)
+ {
+ if(r[x]==a[i]) continue o;
+ }
+ r[r.length] = a[i];
+ }
+ return r;
+ }
+}
+
+
+/* Scriptfirstchar: to gather the first letter of index js files to upload */
+function Scriptfirstchar() {
+ this.strLetters = "";
+ this.add = addLettre;
+}
+
+function addLettre(caract) {
+
+ if (this.strLetters == 'undefined') {
+ this.strLetters = caract;
+ } else if (this.strLetters.indexOf(caract) < 0) {
+ this.strLetters += caract;
+ }
+
+ return 0;
+}
+/* end of scriptfirstchar */
+
+/*main loader function*/
+/*tab contains the first letters of each word looked for*/
+function loadTheIndexScripts(tab) {
+
+ //alert (tab.strLetters);
+ var scriptsarray = new Array();
+
+ for (var i = 0; i < tab.strLetters.length; i++) {
+
+ scriptsarray[i] = "..\/search" + "\/" + tab.strLetters.charAt(i) + ".js";
+ }
+ // add the list of html files
+ i++;
+ scriptsarray[i] = "..\/search" + "\/" + htmlfileList;
+
+ //debug
+ for (var t in scriptsarray) {
+ //alert (scriptsarray[t]);
+ }
+
+ tab = new ScriptLoader();
+ for (t in scriptsarray) {
+ tab.add(scriptsarray[t]);
+ }
+ tab.load();
+ //alert ("scripts loaded");
+ return (scriptsarray);
+}
+
+/* ScriptLoader: to load the scripts and wait that it's finished */
+function ScriptLoader() {
+ this.cpt = 0;
+ this.scriptTab = new Array();
+ this.add = addAScriptInTheList;
+ this.load = loadTheScripts;
+ this.onScriptLoaded = onScriptLoadedFunc;
+}
+
+function addAScriptInTheList(scriptPath) {
+ this.scriptTab.push(scriptPath);
+}
+
+function loadTheScripts() {
+ var script;
+ var head;
+
+ head = document.getElementsByTagName('head').item(0);
+
+ //script = document.createElement('script');
+
+ for (var el in this.scriptTab) {
+ //alert (el+this.scriptTab[el]);
+ script = document.createElement('script');
+ script.src = this.scriptTab[el];
+ script.type = 'text/javascript';
+ script.defer = false;
+
+ head.appendChild(script);
+ }
+
+}
+
+function onScriptLoadedFunc(e) {
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ var isComplete = true;
+ if (typeof target.readyState != undefined) {
+
+ isComplete = (target.readyState == "complete" || target.readyState == "loaded");
+ }
+ if (isComplete) {
+ ScriptLoader.cpt++;
+ if (ScriptLoader.cpt == ScriptLoader.scripts.length) {
+ ScriptLoader.onLoadComplete();
+ }
+ }
+}
+
+/*
+function onLoadComplete() {
+ alert("loaded !!");
+} */
+
+/* End of scriptloader functions */
+
+// Array.unique( strict ) - Remove duplicate values
+function unique(tab) {
+ var a = new Array();
+ var i;
+ var l = tab.length;
+
+ if (tab[0] != undefined) {
+ a[0] = tab[0];
+ }
+ else {
+ return -1
+ }
+
+ for (i = 1; i < l; i++) {
+ if (indexof(a, tab[i], 0) < 0) {
+ a.push(tab[i]);
+ }
+ }
+ return a;
+}
+function indexof(tab, element, begin) {
+ for (var i = begin; i < tab.length; i++) {
+ if (tab[i] == element) {
+ return i;
+ }
+ }
+ return -1;
+
+}
+/* end of Array functions */
+
+
+/*
+ Param: mots= list of words to look for.
+ This function creates an hashtable:
+ - The key is the index of a html file which contains a word to look for.
+ - The value is the list of all words contained in the html file.
+
+ Return value: the hashtable fileAndWordList
+ */
+function SortResults(mots) {
+
+ var fileAndWordList = new Object();
+ if (mots.length == 0) {
+ return null;
+ }
+
+ for (var t in mots) {
+ // get the list of the indices of the files.
+ var listNumerosDesFicStr = w[mots[t].toString()];
+ //alert ("listNumerosDesFicStr "+listNumerosDesFicStr);
+ var tab = listNumerosDesFicStr.split(",");
+
+ //for each file (file's index):
+ for (var t2 in tab) {
+ var temp = tab[t2].toString();
+ if (fileAndWordList[temp] == undefined) {
+
+ fileAndWordList[temp] = "" + mots[t];
+ } else {
+
+ fileAndWordList[temp] += "," + mots[t];
+ }
+ }
+ }
+
+ var fileAndWordListValuesOnly = new Array();
+
+ // sort results according to values
+ var temptab = new Array();
+ for (t in fileAndWordList) {
+ tab = fileAndWordList[t].split(',');
+
+ var tempDisplay = new Array();
+ for (var x in tab) {
+ if(stemQueryMap[tab[x]] != undefined){
+ tempDisplay.push(stemQueryMap[tab[x]]); //get the original word from the stem word.
+ } else {
+ tempDisplay.push(tab[x]); //no stem is available. (probably a CJK language)
+ }
+ }
+ var tempDispString = tempDisplay.join(", ");
+
+ temptab.push(new resultPerFile(t, fileAndWordList[t], tab.length, tempDispString));
+ fileAndWordListValuesOnly.push(fileAndWordList[t]);
+ }
+
+
+ //alert("t"+fileAndWordListValuesOnly.toString());
+
+ fileAndWordListValuesOnly = unique(fileAndWordListValuesOnly);
+ fileAndWordListValuesOnly = fileAndWordListValuesOnly.sort(compare_nbMots);
+ //alert("t: "+fileAndWordListValuesOnly.join(';'));
+
+ var listToOutput = new Array();
+
+ for (var j in fileAndWordListValuesOnly) {
+ for (t in temptab) {
+ if (temptab[t].motsliste == fileAndWordListValuesOnly[j]) {
+ if (listToOutput[j] == undefined) {
+ listToOutput[j] = new Array(temptab[t]);
+ } else {
+ listToOutput[j].push(temptab[t]);
+ }
+ }
+ }
+ }
+ return listToOutput;
+}
+
+function resultPerFile(filenb, motsliste, motsnb, motslisteDisplay) {
+ this.filenb = filenb;
+ this.motsliste = motsliste;
+ this.motsnb = motsnb;
+ this.motslisteDisplay= motslisteDisplay;
+}
+
+function compare_nbMots(s1, s2) {
+ var t1 = s1.split(',');
+ var t2 = s2.split(',');
+ //alert ("s1:"+t1.length + " " +t2.length)
+ if (t1.length == t2.length) {
+ return 0;
+ } else if (t1.length > t2.length) {
+ return 1;
+ } else {
+ return -1;
+ }
+ //return t1.length - t2.length);
+} \ No newline at end of file
diff --git a/draklive/9/ru/content/search/punctuation.props b/draklive/9/ru/content/search/punctuation.props
new file mode 100644
index 00000000..d3e3fcd2
--- /dev/null
+++ b/draklive/9/ru/content/search/punctuation.props
@@ -0,0 +1,31 @@
+Punct01=\\u3002
+Punct02=\\u3003
+Punct03=\\u300C
+Punct04=\\u300D
+Punct05=\\u300E
+Punct06=\\u300F
+Punct07=\\u301D
+Punct08=\\u301E
+Punct09=\\u301F
+Punct10=\\u309B
+Punct11=\\u2018
+Punct12=\\u2019
+Punct13=\\u201A
+Punct14=\\u201C
+Punct15=\\u201D
+Punct16=\\u201E
+Punct17=\\u2032
+Punct18=\\u2033
+Punct19=\\u2035
+Punct20=\\u2039
+Punct21=\\u203A
+Punct22=\\u201E
+Punct23=\\u00BB
+Punct24=\\u00AB
+Punct25=
+Punct26=
+Punct27=\\u00A0
+Punct28=\\u2014
+
+
+
diff --git a/draklive/9/ru/content/search/stemmers/de_stemmer.js b/draklive/9/ru/content/search/stemmers/de_stemmer.js
new file mode 100644
index 00000000..7ff3822a
--- /dev/null
+++ b/draklive/9/ru/content/search/stemmers/de_stemmer.js
@@ -0,0 +1,247 @@
+/*
+ * Author: Joder Illi
+ *
+ * Copyright (c) 2010, FormBlitz AG
+ * All rights reserved.
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/german/stemmer.html
+ * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php
+ *
+ * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.
+ *
+ */
+
+//var stemmer = function Stemmer() {
+ /*
+ German includes the following accented forms,
+ ä ö ü
+ and a special letter, ß, equivalent to double s.
+ The following letters are vowels:
+ a e i o u y ä ö ü
+ */
+
+ var stemmer = function(word) {
+ /*
+ Put u and y between vowels into upper case
+ */
+ word = word.replace(/([aeiouyäöü])u([aeiouyäöü])/g, '$1U$2');
+ word = word.replace(/([aeiouyäöü])y([aeiouyäöü])/g, '$1Y$2');
+
+ /*
+ and then do the following mappings,
+ (a) replace ß with ss,
+ (a) replace ae with ä, Not doing these, have trouble with diphtongs
+ (a) replace oe with ö, Not doing these, have trouble with diphtongs
+ (a) replace ue with ü unless preceded by q. Not doing these, have trouble with diphtongs
+ So in quelle, ue is not mapped to ü because it follows q, and in feuer it is not mapped because the first part of the rule changes it to feUer, so the u is not found.
+ */
+ word = word.replace(/ß/g, 'ss');
+ //word = word.replace(/ae/g, 'ä');
+ //word = word.replace(/oe/g, 'ö');
+ //word = word.replace(/([^q])ue/g, '$1ü');
+
+ /*
+ R1 and R2 are first set up in the standard way (see the note on R1 and R2), but then R1 is adjusted so that the region before it contains at least 3 letters.
+ R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel.
+ R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel.
+ */
+
+ var r1Index = word.search(/[aeiouyäöü][^aeiouyäöü]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+
+ if (r1Index != -1) {
+ var r2Index = r1.search(/[aeiouyäöü][^aeiouyäöü]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ }
+ }
+
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t.
+ Define a valid st-ending as the same list, excluding letter r.
+ */
+
+ /*
+ Do each of steps 1, 2 and 3.
+ */
+
+ /*
+ Step 1:
+ Search for the longest among the following suffixes,
+ (a) em ern er
+ (b) e en es
+ (c) s (preceded by a valid s-ending)
+ */
+ var a1Index = word.search(/(em|ern|er)$/g);
+ var b1Index = word.search(/(e|en|es)$/g);
+ var c1Index = word.search(/([bdfghklmnrt]s)$/g);
+ if (c1Index != -1) {
+ c1Index++;
+ }
+ var index1 = 10000;
+ var optionUsed1 = '';
+ if (a1Index != -1 && a1Index < index1) {
+ optionUsed1 = 'a';
+ index1 = a1Index;
+ }
+ if (b1Index != -1 && b1Index < index1) {
+ optionUsed1 = 'b';
+ index1 = b1Index;
+ }
+ if (c1Index != -1 && c1Index < index1) {
+ optionUsed1 = 'c';
+ index1 = c1Index;
+ }
+
+ /*
+ and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1.) If an ending of group (b) is deleted, and the ending is preceded by niss, delete the final s.
+ (For example, äckern -> äck, ackers -> acker, armes -> arm, bedürfnissen -> bedürfnis)
+ */
+
+ if (index1 != 10000 && r1Index != -1) {
+ if (index1 >= r1Index) {
+ word = word.substring(0, index1);
+ if (optionUsed1 == 'b') {
+ if (word.search(/niss$/) != -1) {
+ word = word.substring(0, word.length -1);
+ }
+ }
+ }
+ }
+ /*
+ Step 2:
+ Search for the longest among the following suffixes,
+ (a) en er est
+ (b) st (preceded by a valid st-ending, itself preceded by at least 3 letters)
+ */
+
+ var a2Index = word.search(/(en|er|est)$/g);
+ var b2Index = word.search(/(.{3}[bdfghklmnt]st)$/g);
+ if (b2Index != -1) {
+ b2Index += 4;
+ }
+
+ var index2 = 10000;
+ var optionUsed2 = '';
+ if (a2Index != -1 && a2Index < index2) {
+ optionUsed2 = 'a';
+ index2 = a2Index;
+ }
+ if (b2Index != -1 && b2Index < index2) {
+ optionUsed2 = 'b';
+ index2 = b2Index;
+ }
+
+ /*
+ and delete if in R1.
+ (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, since b is a valid st-ending, and is preceded by just 3 letters)
+ */
+
+ if (index2 != 10000 && r1Index != -1) {
+ if (index2 >= r1Index) {
+ word = word.substring(0, index2);
+ }
+ }
+
+ /*
+ Step 3: d-suffixes (*)
+ Search for the longest among the following suffixes, and perform the action indicated.
+ end ung
+ delete if in R2
+ if preceded by ig, delete if in R2 and not preceded by e
+ ig ik isch
+ delete if in R2 and not preceded by e
+ lich heit
+ delete if in R2
+ if preceded by er or en, delete if in R1
+ keit
+ delete if in R2
+ if preceded by lich or ig, delete if in R2
+ */
+
+ var a3Index = word.search(/(end|ung)$/g);
+ var b3Index = word.search(/[^e](ig|ik|isch)$/g);
+ var c3Index = word.search(/(lich|heit)$/g);
+ var d3Index = word.search(/(keit)$/g);
+ if (b3Index != -1) {
+ b3Index ++;
+ }
+
+ var index3 = 10000;
+ var optionUsed3 = '';
+ if (a3Index != -1 && a3Index < index3) {
+ optionUsed3 = 'a';
+ index3 = a3Index;
+ }
+ if (b3Index != -1 && b3Index < index3) {
+ optionUsed3 = 'b';
+ index3 = b3Index;
+ }
+ if (c3Index != -1 && c3Index < index3) {
+ optionUsed3 = 'c';
+ index3 = c3Index;
+ }
+ if (d3Index != -1 && d3Index < index3) {
+ optionUsed3 = 'd';
+ index3 = d3Index;
+ }
+
+ if (index3 != 10000 && r2Index != -1) {
+ if (index3 >= r2Index) {
+ word = word.substring(0, index3);
+ var optionIndex = -1;
+ var optionSubsrt = '';
+ if (optionUsed3 == 'a') {
+ optionIndex = word.search(/[^e](ig)$/);
+ if (optionIndex != -1) {
+ optionIndex++;
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'c') {
+ optionIndex = word.search(/(er|en)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r1Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ } else if (optionUsed3 == 'd') {
+ optionIndex = word.search(/(lich|ig)$/);
+ if (optionIndex != -1) {
+ if (optionIndex >= r2Index) {
+ word = word.substring(0, optionIndex);
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ Finally,
+ turn U and Y back into lower case, and remove the umlaut accent from a, o and u.
+ */
+ word = word.replace(/U/g, 'u');
+ word = word.replace(/Y/g, 'y');
+ word = word.replace(/ä/g, 'a');
+ word = word.replace(/ö/g, 'o');
+ word = word.replace(/ü/g, 'u');
+
+ return word;
+ };
+//} \ No newline at end of file
diff --git a/draklive/9/ru/content/search/stemmers/en_stemmer.js b/draklive/9/ru/content/search/stemmers/en_stemmer.js
new file mode 100644
index 00000000..f58012f2
--- /dev/null
+++ b/draklive/9/ru/content/search/stemmers/en_stemmer.js
@@ -0,0 +1,187 @@
+// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original
+// paper, in
+//
+// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
+// no. 3, pp 130-137,
+//
+// see also http://www.tartarus.org/~martin/PorterStemmer
+
+// Release 1 be 'andargor', Jul 2004
+// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009
+
+
+var stemmer = (function(){
+ var step2list = {
+ "ational" : "ate",
+ "tional" : "tion",
+ "enci" : "ence",
+ "anci" : "ance",
+ "izer" : "ize",
+ "bli" : "ble",
+ "alli" : "al",
+ "entli" : "ent",
+ "eli" : "e",
+ "ousli" : "ous",
+ "ization" : "ize",
+ "ation" : "ate",
+ "ator" : "ate",
+ "alism" : "al",
+ "iveness" : "ive",
+ "fulness" : "ful",
+ "ousness" : "ous",
+ "aliti" : "al",
+ "iviti" : "ive",
+ "biliti" : "ble",
+ "logi" : "log"
+ },
+
+ step3list = {
+ "icate" : "ic",
+ "ative" : "",
+ "alize" : "al",
+ "iciti" : "ic",
+ "ical" : "ic",
+ "ful" : "",
+ "ness" : ""
+ },
+
+ c = "[^aeiou]", // consonant
+ v = "[aeiouy]", // vowel
+ C = c + "[^aeiouy]*", // consonant sequence
+ V = v + "[aeiou]*", // vowel sequence
+
+ mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
+ meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
+ mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
+ s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ return function (w) {
+ var stem,
+ suffix,
+ firstch,
+ re,
+ re2,
+ re3,
+ re4,
+ origword = w;
+
+ if (w.length < 3) { return w; }
+
+ firstch = w.substr(0,1);
+ if (firstch == "y") {
+ w = firstch.toUpperCase() + w.substr(1);
+ }
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w)) { w = w.replace(re,"$1$2"); }
+ else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w)) { w = w + "e"; }
+ else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); }
+ else if (re4.test(w)) { w = w + "e"; }
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem)) { w = stem + "i"; }
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step2list[suffix];
+ }
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem)) {
+ w = stem + step3list[suffix];
+ }
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem)) {
+ w = stem;
+ }
+ } else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem)) {
+ w = stem;
+ }
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
+ w = stem;
+ }
+ }
+
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+
+ if (firstch == "y") {
+ w = firstch.toLowerCase() + w.substr(1);
+ }
+
+ return w;
+ }
+})(); \ No newline at end of file
diff --git a/draklive/9/ru/content/search/stemmers/fr_stemmer.js b/draklive/9/ru/content/search/stemmers/fr_stemmer.js
new file mode 100644
index 00000000..34f97431
--- /dev/null
+++ b/draklive/9/ru/content/search/stemmers/fr_stemmer.js
@@ -0,0 +1,299 @@
+/*
+ * Author: Kasun Gajasinghe
+ * E-Mail: kasunbg AT gmail DOT com
+ * Date: 09.08.2010
+ *
+ * usage: stemmer(word);
+ * ex: var stem = stemmer(foobar);
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/french/stemmer.html
+ *
+ * LICENSE:
+ *
+ * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+var stemmer = function(word){
+// Letters in French include the following accented forms,
+// â à ç ë é ê è ï î ô û ù
+// The following letters are vowels:
+// a e i o u y â à ë é ê è ï î ô û ù
+
+ word = word.toLowerCase();
+ var oriWord = word;
+ word = word.replace(/qu/g, 'qU'); //have to perform first, as after the operation, capital U is not treated as a vowel
+ word = word.replace(/([aeiouyâàëéêèïîôûù])u([aeiouyâàëéêèïîôûù])/g, '$1U$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])i([aeiouyâàëéêèïîôûù])/g, '$1I$2');
+ word = word.replace(/([aeiouyâàëéêèïîôûù])y/g, '$1Y');
+ word = word.replace(/y([aeiouyâàëéêèïîôûù])/g, 'Y$1');
+
+ var rv='';
+ var rvIndex = -1;
+ if(word.search(/^(par|col|tap)/) != -1 || word.search(/^[aeiouyâàëéêèïîôûù]{2}/) != -1){
+ rv = word.substring(3);
+ rvIndex = 3;
+ } else {
+ rvIndex = word.substring(1).search(/[aeiouyâàëéêèïîôûù]/);
+ if(rvIndex != -1){
+ rvIndex +=2; //+2 is to supplement the substring(1) used to find rvIndex
+ rv = word.substring(rvIndex);
+ } else {
+ rvIndex = word.length;
+ }
+ }
+
+// R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel.
+// R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel
+ var r1Index = word.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ var r1 = '';
+ if (r1Index != -1) {
+ r1Index += 2;
+ r1 = word.substring(r1Index);
+ } else {
+ r1Index = word.length;
+ }
+
+ var r2Index = -1;
+ var r2 = '';
+ if (r1Index != -1) {
+ r2Index = r1.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/);
+ if (r2Index != -1) {
+ r2Index += 2;
+ r2 = r1.substring(r2Index);
+ r2Index += r1Index;
+ } else {
+ r2 = '';
+ r2Index = word.length;
+ }
+ }
+ if (r1Index != -1 && r1Index < 3) {
+ r1Index = 3;
+ r1 = word.substring(r1Index);
+ }
+
+ /*
+ Step 1: Standard suffix removal
+ */
+ var a1Index = word.search(/(ance|iqUe|isme|able|iste|eux|ances|iqUes|ismes|ables|istes)$/);
+ var a2Index = word.search(/(atrice|ateur|ation|atrices|ateurs|ations)$/);
+ var a3Index = word.search(/(logie|logies)$/);
+ var a4Index = word.search(/(usion|ution|usions|utions)$/);
+ var a5Index = word.search(/(ence|ences)$/);
+ var a6Index = word.search(/(ement|ements)$/);
+ var a7Index = word.search(/(ité|ités)$/);
+ var a8Index = word.search(/(if|ive|ifs|ives)$/);
+ var a9Index = word.search(/(eaux)$/);
+ var a10Index = word.search(/(aux)$/);
+ var a11Index = word.search(/(euse|euses)$/);
+ var a12Index = word.search(/[^aeiouyâàëéêèïîôûù](issement|issements)$/);
+ var a13Index = word.search(/(amment)$/);
+ var a14Index = word.search(/(emment)$/);
+ var a15Index = word.search(/[aeiouyâàëéêèïîôûù](ment|ments)$/);
+
+ if(a1Index != -1 && a1Index >= r2Index){
+ word = word.substring(0,a1Index);
+ } else if(a2Index != -1 && a2Index >= r2Index){
+ word = word.substring(0,a2Index);
+ var a2Index2 = word.search(/(ic)$/);
+ if(a2Index2 != -1 && a2Index2 >= r2Index){
+ word = word.substring(0, a2Index2); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(a3Index != -1 && a3Index >= r2Index){
+ word = word.replace(/(logie|logies)$/,'log'); //replace with log if in R2
+ } else if(a4Index != -1 && a4Index >= r2Index){
+ word = word.replace(/(usion|ution|usions|utions)$/,'u'); //replace with u if in R2
+ } else if(a5Index != -1 && a5Index >= r2Index){
+ word = word.replace(/(ence|ences)$/,'ent'); //replace with ent if in R2
+ } else if(a6Index != -1 && a6Index >= rvIndex){
+ word = word.substring(0,a6Index);
+ if(word.search(/(iv)$/) >= r2Index){
+ word = word.replace(/(iv)$/, '');
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ }
+ } else if(word.search(/(eus)$/) != -1){
+ var a6Index2 = word.search(/(eus)$/);
+ if(a6Index2 >=r2Index){
+ word = word.substring(0, a6Index2);
+ } else if(a6Index2 >= r1Index){
+ word = word.substring(0,a6Index2)+"eux";
+ }
+ } else if(word.search(/(abl|iqU)$/) >= r2Index){
+ word = word.replace(/(abl|iqU)$/,''); //if preceded by abl or iqU, delete if in R2,
+ } else if(word.search(/(ièr|Ièr)$/) >= rvIndex){
+ word = word.replace(/(ièr|Ièr)$/,'i'); //if preceded by abl or iqU, delete if in R2,
+ }
+ } else if(a7Index != -1 && a7Index >= r2Index){
+ word = word.substring(0,a7Index); //delete if in R2
+ if(word.search(/(abil)$/) != -1){ //if preceded by abil, delete if in R2, else replace by abl, otherwise,
+ var a7Index2 = word.search(/(abil)$/);
+ if(a7Index2 >=r2Index){
+ word = word.substring(0, a7Index2);
+ } else {
+ word = word.substring(0,a7Index2)+"abl";
+ }
+ } else if(word.search(/(ic)$/) != -1){
+ var a7Index3 = word.search(/(ic)$/);
+ if(a7Index3 != -1 && a7Index3 >= r2Index){
+ word = word.substring(0, a7Index3); //if preceded by ic, delete if in R2,
+ } else { //else replace by iqU
+ word = word.replace(/(ic)$/,'iqU');
+ }
+ } else if(word.search(/(iv)$/) != r2Index){
+ word = word.replace(/(iv)$/,'');
+ }
+ } else if(a8Index != -1 && a8Index >= r2Index){
+ word = word.substring(0,a8Index);
+ if(word.search(/(at)$/) >= r2Index){
+ word = word.replace(/(at)$/, '');
+ if(word.search(/(ic)$/) >= r2Index){
+ word = word.replace(/(ic)$/, '');
+ } else { word = word.replace(/(ic)$/, 'iqU'); }
+ }
+ } else if(a9Index != -1){ word = word.replace(/(eaux)/,'eau')
+ } else if(a10Index >= r1Index){ word = word.replace(/(aux)/,'al')
+ } else if(a11Index != -1 ){
+ var a11Index2 = word.search(/(euse|euses)$/);
+ if(a11Index2 >=r2Index){
+ word = word.substring(0, a11Index2);
+ } else if(a11Index2 >= r1Index){
+ word = word.substring(0, a11Index2)+"eux";
+ }
+ } else if(a12Index!=-1 && a12Index>=r1Index){
+ word = word.substring(0,a12Index+1); //+1- amendment to non-vowel
+ } else if(a13Index!=-1 && a13Index>=rvIndex){
+ word = word.replace(/(amment)$/,'ant');
+ } else if(a14Index!=-1 && a14Index>=rvIndex){
+ word = word.replace(/(emment)$/,'ent');
+ } else if(a15Index!=-1 && a15Index>=rvIndex){
+ word = word.substring(0,a15Index+1);
+ }
+
+ /* Step 2a: Verb suffixes beginning i*/
+ var wordStep1 = word;
+ var step2aDone = false;
+ if(oriWord == word.toLowerCase() || oriWord.search(/(amment|emment|ment|ments)$/) != -1){
+ step2aDone = true;
+ var b1Regex = /([^aeiouyâàëéêèïîôûù])(îmes|ît|îtes|i|ie|ies|ir|ira|irai|iraIent|irais|irait|iras|irent|irez|iriez|irions|irons|iront|is|issaIent|issais|issait|issant|issante|issantes|issants|isse|issent|isses|issez|issiez|issions|issons|it)$/i;
+ if(word.search(b1Regex) >= rvIndex){
+ word = word.replace(b1Regex,'$1');
+ }
+ }
+
+ /* Step 2b: Other verb suffixes*/
+ if (step2aDone && wordStep1 == word) {
+ if (word.search(/(ions)$/) >= r2Index) {
+ word = word.replace(/(ions)$/, '');
+ } else {
+ var b2Regex = /(é|ée|ées|és|èrent|er|era|erai|eraIent|erais|erait|eras|erez|eriez|erions|erons|eront|ez|iez)$/i;
+ if (word.search(b2Regex) >= rvIndex) {
+ word = word.replace(b2Regex, '');
+ } else {
+ var b3Regex = /e(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex) >= rvIndex) {
+ word = word.replace(b3Regex, '');
+ } else {
+ var b3Regex2 = /(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i;
+ if (word.search(b3Regex2) >= rvIndex) {
+ word = word.replace(b3Regex2, '');
+ }
+ }
+ }
+ }
+ }
+
+ if(oriWord != word.toLowerCase()){
+ /* Step 3 */
+ var rep = '';
+ if(word.search(/Y$/) != -1) {
+ word = word.replace(/Y$/, 'i');
+ } else if(word.search(/ç$/) != -1){
+ word = word.replace(/ç$/, 'c');
+ }
+ } else {
+ /* Step 4 */
+ //If the word ends s, not preceded by a, i, o, u, è or s, delete it.
+ if (word.search(/([^aiouès])s$/) >= rvIndex) {
+ word = word.replace(/([^aiouès])s$/, '$1');
+ }
+ var e1Index = word.search(/ion$/);
+ if (e1Index >= r2Index && word.search(/[st]ion$/) >= rvIndex) {
+ word = word.substring(0, e1Index);
+ } else {
+ var e2Index = word.search(/(ier|ière|Ier|Ière)$/);
+ if (e2Index != -1 && e2Index >= rvIndex) {
+ word = word.substring(0, e2Index) + "i";
+ } else {
+ if (word.search(/e$/) >= rvIndex) {
+ word = word.replace(/e$/, ''); //delete last e
+ } else if (word.search(/guë$/) >= rvIndex) {
+ word = word.replace(/guë$/, 'gu');
+ }
+ }
+ }
+ }
+
+ /* Step 5: Undouble */
+ //word = word.replace(/(en|on|et|el|eil)(n|t|l)$/,'$1');
+ word = word.replace(/(en|on)(n)$/,'$1');
+ word = word.replace(/(ett)$/,'et');
+ word = word.replace(/(el|eil)(l)$/,'$1');
+
+ /* Step 6: Un-accent */
+ word = word.replace(/[éè]([^aeiouyâàëéêèïîôûù]+)$/,'e$1');
+ word = word.toLowerCase();
+ return word;
+};
+
+var eqOut = new Array();
+var noteqOut = new Array();
+var eqCount = 0;
+/*
+To test the stemming, create two arrays named "voc" and "COut" which are for vocabualary and the stemmed output.
+Then add the vocabulary strings and output strings. This method will generate the stemmed output for "voc" and will
+compare the output with COut.
+ (I used porter's voc and out files and did a regex to convert them to js objects. regex: /");\nvoc.push("/g . This
+ will add strings to voc array such that output would look like: voc.push("foobar"); ) drop me an email for any help.
+ */
+function testFr(){
+ var start = new Date().getTime(); //execution time
+ eqCount = 0;
+ eqOut = new Array();
+ noteqOut = new Array();
+ for(var k=0;k<voc.length;k++){
+ if(COut[k]==stemmer(voc[k])){
+ eqCount++;
+ eqOut.push("v: "+voc[k]+" c: "+COut[k]);
+ } else {
+ noteqOut.push(voc[k]+", c: "+COut[k]+" s:"+stemmer(voc[k]));
+ }
+ }
+ var end = new Date().getTime(); //execution time
+ var time = end-start;
+ alert("equal count= "+eqCount+" out of "+voc.length+" words. time= "+time+" ms");
+ //console.log("equal count= "+eqCount+" out of "+voc.length+" words. time= "+time+" ms");
+}
+
+