Files
gf-core/examples/phrasebook/phrasebook.html
2010-03-30 20:10:36 +00:00

190 lines
6.0 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>MOLTO Multilingual Phrasebook</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>MOLTO Multilingual Phrasebook</H1>
<FONT SIZE="4">
<I>Aarne Ranta</I><BR>
</FONT></CENTER>
<P>
<HR>
<font size=-1>
</P>
<P>
History
</P>
<UL>
<LI>26 March 2010. Version 0.1: Eng, Fin, Fre, Ron; dedicated minibar UI.
<LI>28 March. Version 0.2: Swe, Ita; cat Action; small phrases.
<LI>30 March. Version 0.3: disambiguation grammar for English
</UL>
<P>
<A HREF="missing.txt">Missing constructs</A>
</P>
<P>
<A HREF="http://tournesol.cs.chalmers.se/~aarne/phrasebook/phrasebook.html">Back to phrasebook</A>
</P>
<P>
</font>
<HR>
</P>
<H1>Purpose</H1>
<P>
This phrasebook is a programme for translating touristic phrases
between the 15 European languages included in the <A HREF="http://www.molto-project.eu">MOLTO</A> project
(Multilingual On-Line Translation):
</P>
<UL>
<LI>Bulgarian, Catalan, Danish, Dutch, English,
Finnish, French, German, Italian, Norwegian,
Polish, Romanian, Russian, Spanish, Swedish
</UL>
<P>
It is implemented by using the GF programming language
(<A HREF="http://grammaticalframework.org">Grammatical Framework</A>).
It is the first demo for the MOLTO project, released in the third month but to be
updated in the course of the project.
</P>
<P>
The phrasebook has the following requirements:
</P>
<UL>
<LI>high quality: reliable translations
<LI>translation from any language to any other ones
<LI>runnable in web browsers
<LI>runnable on mobile phones (also off-line: forthcoming for Android phones)
<LI>easily extensible by new words (forthcoming: semi-automatic extensions by users)
</UL>
<P>
The phrasebook is available as open-source software, licensed under GNU LGPL.
The source code resides in
<A HREF="http://code.haskell.org/gf/examples/phrasebook/"><CODE>code.haskell.org/gf/examples/phrasebook/</CODE></A>
</P>
<P>
Current status (28 March 2010):
</P>
<UL>
<LI>available in English, Finnish, French, Italian, Romanian, Swedish
<LI>very small coverage
<LI>works on web browsers calling a server
<LI>web service not yet released, but preliminarily available in
<A HREF="http://tournesol.cs.chalmers.se/~aarne/phrasebook/phrasebook.html"><CODE>http://tournesol.cs.chalmers.se/~aarne/phrasebook/phrasebook.html</CODE></A>
</UL>
<H1>Points illustrated</H1>
<P>
The use of resource grammars and functors.
</P>
<P>
Compile-time transfer: especially, in Action in Words.
</P>
<P>
Quasi-incremental translation: many basic types are also used as phrases.
</P>
<P>
Disambiguation, esp. by the parameters in Roles.
</P>
<H1>Files</H1>
<P>
<CODE>Sentences</CODE>: general syntactic structures implementable in a uniform way.
Concrete syntax via the functor <CODE>SencencesI</CODE>.
</P>
<P>
<CODE>Words</CODE>: words and predicates, typically language-dependent.
Separate concrete syntaxes.
</P>
<P>
<CODE>Greetings</CODE>: idiomatic phrases, string-based.
Separate concrete syntaxes.
</P>
<P>
<CODE>Phrasebook</CODE>: the top module putting everything together.
Separate concrete syntaxes.
</P>
<P>
<CODE>DiffPhrasebook</CODE>: the (so far small) interface for <CODE>Sentences</CODE>.
</P>
<P>
<CODE>DisambPhrasebook</CODE>: disambiguation grammars generating feedback phrases if
the input language is ambiguous.
</P>
<H1>To Do</H1>
<P>
Text-based translation interface.
</P>
<P>
The remaining 10 languages
</P>
<P>
Disambiguation grammars for other languages than English.
</P>
<P>
Extract/construct lexica for
</P>
<UL>
<LI>food stuff
<LI>languages
<LI>places
</UL>
<P>
Connection to Google translate, for fall-back and for comparison
</P>
<P>
Feedback facility in the UI
</P>
<H1>How to contribute</H1>
<P>
The basic things "everyone" can do is
</P>
<UL>
<LI>complete <A HREF="missing.txt">missing words</A> in concrete syntaxes
<LI>add new abstract words in <CODE>Words</CODE> and greetings in <CODE>Greetings</CODE>
</UL>
<P>
The missing concrete syntax entries are added to the <CODE>Words</CODE><I>L</I><CODE>.gf</CODE>
files for each language <I>L</I>. The
<A HREF="http://www.grammaticalframework.org/lib/doc/synopsis.html#toc78">morphological paradigms</A>
of the GF resource library should be used. Actions (prefixed with <CODE>A</CODE>, as <CODE>AWant</CODE>) are
a little more demanding, since they also require syntax constructors. Greetings (prefixed
with <CODE>G</CODE>) are pure strings.
</P>
<P>
Here are the steps to follow for contributors:
</P>
<OL>
<LI>Make sure you have the latest sources
from <A HREF="http://www.grammaticalframework.org/doc/gf-developers.html">GF Darcs</A>, using <CODE>darcs pull</CODE>.
<LI>Also make sure that you have compiled the library by <CODE>make present</CODE> in <CODE>gf/lib/src/</CODE>.
<LI>Work in the directory <A HREF="http://code.haskell.org/gf/examples/phrasebook/"><CODE>gf/examples/phrasebook/</CODE></A>.
<LI>After you've finished your contribution, recompile the phrasebook by <CODE>make</CODE>.
<LI>Save your changes in <CODE>darcs record .</CODE> (in the <CODE>phrasebook</CODE> subdirectory).
<LI>Make a patch file with <CODE>darcs send -o my_phrasebook_patch</CODE>, which you can send to GF maintainers.
<LI>(Recommended:) Test the phrasebook on your local server:
<OL>
<LI>Go to <CODE>gf/src/server/</CODE> and follow the instructions in the
<A HREF="http://code.google.com/p/grammatical-framework/wiki/LaunchWebDemos">project Wiki</A>.
<LI>Make sure that <CODE>Phrasebook.pgf</CODE> is available to you GF server (see project wiki).
<LI>Launch <CODE>lighttpd</CODE> (see project wiki).
<LI>How you can open <CODE>gf/examples/phrasebook/www/phrasebook.html</CODE> and use your phrasebook!
</OL>
</OL>
<OL>
<LI>Don't delete anything! But you are free to correct incorrect forms.
<LI>Don't change the module structure! But you are free to add a new language.
<LI>Don't compromise quality to gain coverage: <I>non multa sed multum!</I>
</OL>
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml phrasebook.txt -->
</BODY></HTML>