aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-05-08 14:26:32 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2014-05-08 14:26:32 +0300
commit24abd7afb6530620c4a80c14fdce96eead280ef7 (patch)
treee24267cc7747d94d9a38c424bdce7190a7c10673
parent750e7ae3bafe9eec88887eb22b7250719028f6d6 (diff)
downloadellinika-24abd7afb6530620c4a80c14fdce96eead280ef7.tar.gz
ellinika-24abd7afb6530620c4a80c14fdce96eead280ef7.tar.bz2
Use Sphinx for searches.
* sphinx/index.php: New file. * sphinx/xmlindex: New file. * xml/lingua.conf.in: Use own search instead of Google. (install-srch): New macro. * xml/pl/ellinika.xml: Call (install-srch). Build search page template. * xml/ru/ellinika.xml: Likewise. * xml/uk/ellinika.xml: Likewise. * po/pl.po: Update. * po/ru.po: Update. * po/uk.po: Update.
-rw-r--r--po/pl.po10
-rw-r--r--po/ru.po14
-rw-r--r--po/uk.po14
-rw-r--r--sphinx/index.php158
-rwxr-xr-xsphinx/xmlindex296
-rw-r--r--xml/lingua.conf.in22
-rw-r--r--xml/pl/ellinika.xml9
-rw-r--r--xml/ru/ellinika.xml9
-rw-r--r--xml/uk/ellinika.xml9
9 files changed, 512 insertions, 29 deletions
diff --git a/po/pl.po b/po/pl.po
index f5b9957..7aa9079 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,14 +7,14 @@ msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: Ellinika 1.0\n" 8"Project-Id-Version: Ellinika 1.0\n"
9"Report-Msgid-Bugs-To: gray@gnu.org\n" 9"Report-Msgid-Bugs-To: gray@gnu.org\n"
10"POT-Creation-Date: 2011-06-20 13:02+0300\n" 10"POT-Creation-Date: 2014-05-04 10:23+0300\n"
11"PO-Revision-Date: 2011-06-20 13:04+0300\n" 11"PO-Revision-Date: 2011-06-20 13:04+0300\n"
12"Last-Translator: Sergey Poznyakoff <gray@gnu.org.ua>\n" 12"Last-Translator: Sergey Poznyakoff <gray@gnu.org.ua>\n"
13"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" 13"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
14"Language: pl\n"
14"MIME-Version: 1.0\n" 15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
17"Language: pl\n"
18"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " 18"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
19"|| n%100>=20) ? 1 : 2;\n" 19"|| n%100>=20) ? 1 : 2;\n"
20 20
@@ -119,7 +119,7 @@ msgstr ""
119msgid "Μη έγκυρη είσοδος" 119msgid "Μη έγκυρη είσοδος"
120msgstr "Niepoprawne wejście" 120msgstr "Niepoprawne wejście"
121 121
122#: src/cgi-bin/conj.scm4:334 122#: src/cgi-bin/conj.scm4:336
123msgid "" 123msgid ""
124"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " 124"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά "
125"τα ρήματα:" 125"τα ρήματα:"
@@ -127,12 +127,12 @@ msgstr ""
127"W tym słowie brak akcentów. Czy chodziło Ci o jeden z następujących\n" 127"W tym słowie brak akcentów. Czy chodziło Ci o jeden z następujących\n"
128"rzeczowników:" 128"rzeczowników:"
129 129
130#: src/cgi-bin/conj.scm4:367 130#: src/cgi-bin/conj.scm4:369
131msgid "" 131msgid ""
132"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " 132"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του "
133"ενεστώτα." 133"ενεστώτα."
134msgstr "Podane słowo nie jest rzeczownikiem w formie 1.os. liczby pojedynczej." 134msgstr "Podane słowo nie jest rzeczownikiem w formie 1.os. liczby pojedynczej."
135 135
136#: src/cgi-bin/conj.scm4:387 136#: src/cgi-bin/conj.scm4:389
137msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" 137msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων"
138msgstr "" 138msgstr ""
diff --git a/po/ru.po b/po/ru.po
index d6517cd..be9d470 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,16 +7,16 @@ msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: Ellinika 1.0\n" 8"Project-Id-Version: Ellinika 1.0\n"
9"Report-Msgid-Bugs-To: gray@gnu.org\n" 9"Report-Msgid-Bugs-To: gray@gnu.org\n"
10"POT-Creation-Date: 2011-06-20 13:02+0300\n" 10"POT-Creation-Date: 2014-05-04 10:23+0300\n"
11"PO-Revision-Date: 2006-03-17 21:42+0200\n" 11"PO-Revision-Date: 2006-03-17 21:42+0200\n"
12"Last-Translator: Sergey Poznyakoff <gray@gnu.org>, 2004.\n" 12"Last-Translator: Sergey Poznyakoff <gray@gnu.org>, 2004.\n"
13"Language-Team: Russian <ru@li.org>\n" 13"Language-Team: Russian <ru@li.org>\n"
14"Language: ru\n"
14"MIME-Version: 1.0\n" 15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
17"Language: ru\n" 18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" 19"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20"\n" 20"\n"
21 21
22#: src/cgi-bin/dict.scm4:40 src/cgi-bin/conj.scm4:43 22#: src/cgi-bin/dict.scm4:40 src/cgi-bin/conj.scm4:43
@@ -122,18 +122,18 @@ msgstr ""
122msgid "Μη έγκυρη είσοδος" 122msgid "Μη έγκυρη είσοδος"
123msgstr "" 123msgstr ""
124 124
125#: src/cgi-bin/conj.scm4:334 125#: src/cgi-bin/conj.scm4:336
126msgid "" 126msgid ""
127"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " 127"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά "
128"τα ρήματα:" 128"τα ρήματα:"
129msgstr "" 129msgstr ""
130 130
131#: src/cgi-bin/conj.scm4:367 131#: src/cgi-bin/conj.scm4:369
132msgid "" 132msgid ""
133"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " 133"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του "
134"ενεστώτα." 134"ενεστώτα."
135msgstr "" 135msgstr ""
136 136
137#: src/cgi-bin/conj.scm4:387 137#: src/cgi-bin/conj.scm4:389
138msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" 138msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων"
139msgstr "" 139msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 3bd8d08..3f31d4d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,16 +7,16 @@ msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: Ellinika 1.0\n" 8"Project-Id-Version: Ellinika 1.0\n"
9"Report-Msgid-Bugs-To: gray@gnu.org\n" 9"Report-Msgid-Bugs-To: gray@gnu.org\n"
10"POT-Creation-Date: 2011-06-20 13:02+0300\n" 10"POT-Creation-Date: 2014-05-04 10:23+0300\n"
11"PO-Revision-Date: 2006-03-24 19:25+0200\n" 11"PO-Revision-Date: 2006-03-24 19:25+0200\n"
12"Last-Translator: Sergey Poznyakoff <gray@gnu.org.ua>\n" 12"Last-Translator: Sergey Poznyakoff <gray@gnu.org.ua>\n"
13"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" 13"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
14"Language: uk\n"
14"MIME-Version: 1.0\n" 15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
17"Language: uk\n" 18"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" 19"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20 20
21#: src/cgi-bin/dict.scm4:40 src/cgi-bin/conj.scm4:43 21#: src/cgi-bin/dict.scm4:40 src/cgi-bin/conj.scm4:43
22msgid "ΣΦΆΛΜΑ: σύνδεση με το λέξικο απέτυχε." 22msgid "ΣΦΆΛΜΑ: σύνδεση με το λέξικο απέτυχε."
@@ -121,18 +121,18 @@ msgstr ""
121msgid "Μη έγκυρη είσοδος" 121msgid "Μη έγκυρη είσοδος"
122msgstr "" 122msgstr ""
123 123
124#: src/cgi-bin/conj.scm4:334 124#: src/cgi-bin/conj.scm4:336
125msgid "" 125msgid ""
126"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " 126"Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά "
127"τα ρήματα:" 127"τα ρήματα:"
128msgstr "" 128msgstr ""
129 129
130#: src/cgi-bin/conj.scm4:367 130#: src/cgi-bin/conj.scm4:369
131msgid "" 131msgid ""
132"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " 132"Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του "
133"ενεστώτα." 133"ενεστώτα."
134msgstr "" 134msgstr ""
135 135
136#: src/cgi-bin/conj.scm4:387 136#: src/cgi-bin/conj.scm4:389
137msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" 137msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων"
138msgstr "" 138msgstr ""
diff --git a/sphinx/index.php b/sphinx/index.php
new file mode 100644
index 0000000..dbe5014
--- /dev/null
+++ b/sphinx/index.php
@@ -0,0 +1,158 @@
1<?php
2/* Web search for Ellinika
3 Copyright (C) 2014 Sergey Poznyakoff
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19require ("sphinxapi.php");
20
21function read_config($file) {
22 global $config;
23
24 $fp = fopen($file, "r");
25 if (!$fp)
26 die("can't open config file $file");
27 while (!feof($fp)) {
28 $line = fgets($fp);
29 $line = preg_replace('/(^\s+)|(\s+$)|(#.*)/', '', $line);
30 if ($line == '') continue;
31 if (preg_match('/(.+?)\s*=\s*(.*)/', $line, $m)) {
32 $config[$m[1]] = $m[2];
33 }
34 }
35 fclose($fp);
36}
37
38$cfg = getenv('ELLINIKA_INDEX_CONFIG');
39if (isset($cfg))
40 read_config($cfg);
41else
42 die("configuration file not set");
43
44$base_url = $config['base-url'];
45$base_dir = $config['base-directory'];
46$index = $config['index'];
47
48if (isset($config['id-directory'])) {
49 $iddir = $config['id-directory'];
50} else {
51 $iddir = "$base_dir/sphinx/var";
52}
53
54if ($_REQUEST['l']) {