diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-05-08 14:26:32 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-05-08 14:26:32 +0300 |
commit | 24abd7afb6530620c4a80c14fdce96eead280ef7 (patch) | |
tree | e24267cc7747d94d9a38c424bdce7190a7c10673 | |
parent | 750e7ae3bafe9eec88887eb22b7250719028f6d6 (diff) | |
download | ellinika-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.po | 10 | ||||
-rw-r--r-- | po/ru.po | 14 | ||||
-rw-r--r-- | po/uk.po | 14 | ||||
-rw-r--r-- | sphinx/index.php | 158 | ||||
-rwxr-xr-x | sphinx/xmlindex | 296 | ||||
-rw-r--r-- | xml/lingua.conf.in | 22 | ||||
-rw-r--r-- | xml/pl/ellinika.xml | 9 | ||||
-rw-r--r-- | xml/ru/ellinika.xml | 9 | ||||
-rw-r--r-- | xml/uk/ellinika.xml | 9 |
9 files changed, 512 insertions, 29 deletions
@@ -7,14 +7,14 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
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 "" | |||
119 | msgid "Μη έγκυρη είσοδος" | 119 | msgid "Μη έγκυρη είσοδος" |
120 | msgstr "Niepoprawne wejście" | 120 | msgstr "Niepoprawne wejście" |
121 | 121 | ||
122 | #: src/cgi-bin/conj.scm4:334 | 122 | #: src/cgi-bin/conj.scm4:336 |
123 | msgid "" | 123 | msgid "" |
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 |
131 | msgid "" | 131 | msgid "" |
132 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " | 132 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " |
133 | "ενεστώτα." | 133 | "ενεστώτα." |
134 | msgstr "Podane słowo nie jest rzeczownikiem w formie 1.os. liczby pojedynczej." | 134 | msgstr "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 |
137 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" | 137 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" |
138 | msgstr "" | 138 | msgstr "" |
@@ -7,16 +7,16 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
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 "" | |||
122 | msgid "Μη έγκυρη είσοδος" | 122 | msgid "Μη έγκυρη είσοδος" |
123 | msgstr "" | 123 | msgstr "" |
124 | 124 | ||
125 | #: src/cgi-bin/conj.scm4:334 | 125 | #: src/cgi-bin/conj.scm4:336 |
126 | msgid "" | 126 | msgid "" |
127 | "Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " | 127 | "Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " |
128 | "τα ρήματα:" | 128 | "τα ρήματα:" |
129 | msgstr "" | 129 | msgstr "" |
130 | 130 | ||
131 | #: src/cgi-bin/conj.scm4:367 | 131 | #: src/cgi-bin/conj.scm4:369 |
132 | msgid "" | 132 | msgid "" |
133 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " | 133 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " |
134 | "ενεστώτα." | 134 | "ενεστώτα." |
135 | msgstr "" | 135 | msgstr "" |
136 | 136 | ||
137 | #: src/cgi-bin/conj.scm4:387 | 137 | #: src/cgi-bin/conj.scm4:389 |
138 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" | 138 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" |
139 | msgstr "" | 139 | msgstr "" |
@@ -7,16 +7,16 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
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 |
22 | msgid "ΣΦΆΛΜΑ: σύνδεση με το λέξικο απέτυχε." | 22 | msgid "ΣΦΆΛΜΑ: σύνδεση με το λέξικο απέτυχε." |
@@ -121,18 +121,18 @@ msgstr "" | |||
121 | msgid "Μη έγκυρη είσοδος" | 121 | msgid "Μη έγκυρη είσοδος" |
122 | msgstr "" | 122 | msgstr "" |
123 | 123 | ||
124 | #: src/cgi-bin/conj.scm4:334 | 124 | #: src/cgi-bin/conj.scm4:336 |
125 | msgid "" | 125 | msgid "" |
126 | "Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " | 126 | "Στην λέξη εισαγωγής δεν υπάρχει τόνος. Μήπος θέλατε να κλίσετε ένα απ'αυτά " |
127 | "τα ρήματα:" | 127 | "τα ρήματα:" |
128 | msgstr "" | 128 | msgstr "" |
129 | 129 | ||
130 | #: src/cgi-bin/conj.scm4:367 | 130 | #: src/cgi-bin/conj.scm4:369 |
131 | msgid "" | 131 | msgid "" |
132 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " | 132 | "Αυτή η λέξη δεν είναι ρήμα στο πρώτο ενικό πρόσωπο της οριστικής του " |
133 | "ενεστώτα." | 133 | "ενεστώτα." |
134 | msgstr "" | 134 | msgstr "" |
135 | 135 | ||
136 | #: src/cgi-bin/conj.scm4:387 | 136 | #: src/cgi-bin/conj.scm4:389 |
137 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" | 137 | msgid "Το θέμα αυτού του χρόνου δεν επιβεβαιώνεται από τη βάση δεδοµένων" |
138 | msgstr "" | 138 | msgstr "" |
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 | |||
19 | require ("sphinxapi.php"); | ||
20 | |||
21 | function 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'); | ||
39 | if (isset($cfg)) | ||
40 | read_config($cfg); | ||
41 | else | ||
42 | die("configuration file not set"); | ||
43 | |||
44 | $base_url = $config['base-url']; | ||
45 | $base_dir = $config['base-directory']; | ||
46 | $index = $config['index']; | ||
47 | |||
48 | if (isset($config['id-directory'])) { | ||
49 | $iddir = $config['id-directory']; | ||
50 | } else { | ||
51 | $iddir = "$base_dir/sphinx/var"; | ||
52 | } | ||
53 | |||
54 | if ($_REQUEST['l']) { | ||