+==========+
| Sinonimi |
+==========+
1. Introduction
---------------
Sinonimi is an opensource tool to search synonyms in different language, based on PHP language.
It is designed to be integrated in a web portal, based on PHP 5.2 or later.
2. Installation
---------------
1) Unpack the zip file in the web site main directory. Nothing more to do if you need only italian thesaurus!
2) You can add english, french, german and spanish dictionaries by downloading the file dict.zip and unpacking it in the directory 'dict'.
3) Browse the index.php page to check the correct installation
Other dictionaries can be included by downloading them from the website http://extensions.services.openoffice.org/dictionary, dictionaries shall be stored in directory 'dict'.
The filename of a dictionary is like: th_lc_CC.dat, where lc_CC is the language code. The filename of an index is like: th_lc_CC.idx.
This software supports dictionaries encoded in ISO8859-1 and UTF-8.
The index file of an UTF-8 dictionary shall be provide byte offset. You can download dictionaries with proper index file from: https://sourceforge.net/projects/sinonimi/files/dictionaries/dictutf8.zip/download
Note that a language is coded as lc_CC, where lc (language code) is defined by ISO 639-1 and CC (Country Code) is defined by ISO 3166.
3. Features
-----------
The search engine included in Sinonimi supports the following languages: italian, english, french, deutsch and español.
The user has to specify the word and the language, then press the search button to get all the synonyms related to a word.
The scripts supports also an automatic update of the web page, if no specific word was set.
When no word is specified, the page is refreshed every six seconds by an AJAX based feature. Javascript has to be enabled in order to run this additional feature.
The scripts generate the following log files, for statistic and trouble shooting:
- access.log
- error.log
- words_lc_CC.log, where lc_CC is the language code.
4. Services
-----------
4.1 End User
------------
Some examples of http queries handled for user interaction:
http://domainname/sinonimi/index.php
http://domainname/sinonimi/index.php?parola=paese
http://domainname/sinonimi/index.php?parola=paese&language=it_IT
http://domainname/sinonimi/index.php?parola=paese&language=it_IT&lang=en
optional parameters:
- parola, the word to look-up
- language, the language of the thesaurus to use
- lang, the language used in the user interface
4.2 Applications
----------------
The script service.php handles requests from remote applications, here some examples:
http://domainname/sinonimi/service.php?word=abbaglio&language=it_IT&output=xml
http://domainname/sinonimi/service.php?word=city&language=en_US&output=json
http://domainname/sinonimi/service.php?word=abbaglio&language=it_IT
http://domainname/sinonimi/service.php?word=perch%E9&language=it_IT
http://domainname/sinonimi/service.php?word=bagel&language=de_DE&output=json
mandatory parameters for the synonym request:
word (urlencoded string)
language it_IT, fr_FR, en_US, es_ES, de_DE (other values may be allowed depending on dictionaries stored in directory 'dict')
optional parameters:
output xml or json; (default: xml)
response schema: synonymResponse.xsd
Errors returned:
400 Bad Request Wrong/Missing parameter
404 Not Found No match found for given word
405 Method Not Allowed Methods PUT,DELETE,POST,... are rejected. Only GET is allowed
5. Licensing
------------
This software is released under the GPL license, please refer to: http://www.gnu.org/licenses/gpl-2.0.html
6. Versioning
-------------
11-10-2008, version 0.5: Alpha release
25-10-2008, version 0.6: Beta release, support multiple languages
10-10-2009, version 0.62: Beta, removed usage of short tags->portability issue solved!
version 0.63, 04-01-2010, new script service.php supports RESTful requests sent from remote applications
version 0.64, 07-02-2010, minor changes to prepare utf-8 support
version 0.65, 14-02-2010, added support for utf-8 dictionaries/indexes, enhanced support for multiple languages including arabic language
7. Todo
-------
- write a script that checks the consistency of each dictionary
- add user defined synonyms (similar to wiki)
- add other languages...
8. Acknowlegments
-----------------
This software uses the dictionaries developed in the OpenOffice project, according to GPL/LGPL license. For further details please visit http://www.openoffice.org
This software uses the Ajax Agent framework available in http://ajaxagent.org/, according to GPL/LGPL license.
=============
project initiator: javalc6@gmail.com
other contributors: taha.zerrouki@gmail.com (support for arabic language)
=============